def run1(self):
     timeStep = 1
     while timeStep <= self.timeSteps:
         self.paramsGA1["simulator"].clear()
         self.paramsGA1["timeSteps"] = timeStep
         ga1 = GA1(self.paramsGA1)
         bestIndividuals = ga1.run()
         newPopulation = self.addTimeStep(bestIndividuals)
         self.paramsGA1["populationGA1"] = newPopulation
         if timeStep <= self.timeSteps//2:
             timeStep *= 2
         elif timeStep < self.timeSteps and timeStep > self.timeSteps//2:
             timeStep = self.timeSteps
         elif timeStep == self.timeSteps:
             break
     bestIndividual = newPopulation[0][0:self.params["crossroads"]]
     self.params["simulator"].clear()
     self.params["simulator"].setState(bestIndividual)
     fitness = 0
     for timeStep in range(self.params["timeSteps"]):
         population = []
         for individual in newPopulation:
             population.append(
                 individual[timeStep*self.params["crossroads"]:(timeStep+1)*self.params["crossroads"]])
         print("Timtestep: " + str(timeStep))
         self.paramsGA2["densities"] = None
         self.paramsGA2["population"] = population
         ga2 = GA2(self.paramsGA2)
         best, bestIndividual = ga2.run()
         fitness += best
         self.params["simulator"].setState(bestIndividual)
     print(fitness)
     self.params["simulator"].exit()
     return fitness
 def run1(self):
     newPopulation = self.params["populationGA2"]
     if newPopulation is not None:
         bestIndividual = newPopulation[0][0:self.params["crossroads"]]
     
     
     fitness = 0
     for timeStep in range(self.params["timeSteps"]):
         if newPopulation is not None:
             population = []
             for individual in newPopulation:
                 population.append(individual[timeStep*self.params["crossroads"]:(timeStep+1)*self.params["crossroads"]])
         else:
             population = None
         print("Timtestep: " + str(timeStep))
         self.paramsGA2["population"] = population
         ga2 = GA2(self.paramsGA2)
         best, bestIndividual = ga2.run()
         fitness+=best
         self.positions[timeStep] = self.params["simulator"].getPositions(bestIndividual[0], True)
         self.params["simulator"].setState(bestIndividual)
         print(self.positions)
     print(fitness)
     self.params["simulator"].exit()
     return fitness
示例#3
0
 def run2(self):
     fitness = 0
     for timeStep in range(self.params["timeSteps"]):
         self.paramsGA2["densities"] = None
         self.paramsGA2["population"] = None
         ga2 = GA2(self.paramsGA2)
         fitness += ga2.run()
     self.params["simulator"].exit()
     return fitness
 def run2(self):
     self.params["simulator"].clear()
     fitness = 0
     for timeStep in range(self.params["timeSteps"]):
         print("Timtestep: " + str(timeStep))
         self.paramsGA2["densities"] = None
         self.paramsGA2["population"] = None
         ga2 = GA2(self.paramsGA2)
         best, improvement, population = ga2.run()
         fitness += best
         self.params["simulator"].setState(population)
         print(fitness)
     self.params["simulator"].clear()
     return 0
示例#5
0
 def run2(self):
     self.ga1.run()
     self.params["simulator"].changeRoutes()
     print("\n\n\nGA2:")
     print("*"*40)
     for timeStep in range(self.timeSteps):
         print("*"*40)
         print("Time step: " + str(timeStep+1))
         self.paramsGA2["densities"] = self.ga1.getDensities(timeStep)
         self.paramsGA2["population"] = self.ga1.getTimings(timeStep)
         ga2 = GA2(self.paramsGA2)
         ga2.run()
         print("*"*40)
     self.params["simulator"].exit()
    def run(self, timeStep):
        newPopulation = self.params["populationGA2"]
        if newPopulation is None:
            population = None
        elif any(isinstance(i, list) for i in newPopulation):
            population = []
            for individual in newPopulation:
                population.append(individual[timeStep*self.params["crossroads"]:(timeStep+1)*self.params["crossroads"]])
        else:
            population = []
            population.append(newPopulation[timeStep*self.params["crossroads"]:(timeStep+1)*self.params["crossroads"]])

        self.paramsGA2["population"] = population
        ga2 = GA2(self.paramsGA2)
        fitness, improvement, bestIndividual = ga2.run()
        positions = self.params["simulator"].getPositions(bestIndividual)
        self.params["simulator"].setState(bestIndividual)
        return improvement, bestIndividual[0], positions
 def run2(self):
     timings = []
     self.params["simulator"].clear()
     fitness = 0
     for timeStep in range(self.params["timeSteps"]):
         print("Timtestep: " + str(timeStep))
         self.paramsGA2["densities"] = None
         self.paramsGA2["population"] = None
         ga2 = GA2(self.paramsGA2)
         best, improvement, population = ga2.run()
         timings.append(population[0])
         fitness+=best
         self.params["simulator"].setState(population)
         print(fitness)
         print(timings)
     print(fitness)
     print(timings)
     self.params["simulator"].exit()
     return ((worstFitness-bestFitness)/worstFitness)*100