def main(): problema = rosenbrock.Rosenbrock() problema_nombre = "rosenbrock" cantidadParticulas = 50 iteraciones = 2000 dimensiones = 2 for dim in range(4): for i in range(5): de = DifferentialEvolution.DE(iteraciones, cantidadParticulas, dimensiones, problema, problema_nombre, i) de.run() dimensiones = dimensiones * 2
def main(): ros = rosenbrock.Rosenbrock() individuos = 32 dimensiones = [2, 4, 8, 16] intervalos = 8 a = 1 Q = 20 evaporacion = 0.9 t0 = 0.00001 generaciones = 2000 for dim in dimensiones: for i in range(5): aco = ACO.ACO(i, individuos, dim, intervalos, a, Q, evaporacion, t0, ros, generaciones) aco.run()
def main(): ros = rosenbrock.Rosenbrock() sph = sphere.Sphere() qua = quartic.Quartic() ras = rastrigin.Rastrigin() aux = np.array([]) graph = np.array([]) ejecuciones = 1 draw = drawer.Drawer() individuos = 32 dimensiones = 16 intervalos = 8 a = 1 Q = 20 evaporacion = 0.9 t0 = 0.00001 generaciones = 100 bestFitnessPos = 100 graphName = "Quartic" + str(dimensiones) + "D" aco = ACO.ACO(individuos, dimensiones, intervalos, a, Q, evaporacion, t0, ras, generaciones, bestFitnessPos) for i in range(ejecuciones): aux = aco.run() if i == 0: graph = aux else: #Sumamos el resto de las ejecuciones. for a in range(len(aux)): graph[a] = graph[a] + aux[a] for x in range(len(graph)): graph[x] = graph[ x] / ejecuciones #Obtenemos el promedio de cada posicion draw.drawIndividual(graph, graphName) file = open(graphName + ".txt", "w") for y in range(len(graph)): file.write(str(graph[y]) + "\n") file.close()
def main(): problema = rosenbrock.Rosenbrock() problema_nombre = "rosenbrock" cantidadParticulas = 50 tamanioVecindario = 16 iteraciones = 2000 dimensiones = 2 cognitionLearningRate = 1.4944 socialLearningRate = 1.4944 for dim in range(4): for i in range(5): spo = SwarmParticleOptimization.SPO(iteraciones, cantidadParticulas, tamanioVecindario, dimensiones, cognitionLearningRate, socialLearningRate, problema, problema_nombre, i) spo.run() dimensiones = dimensiones * 2
def main(): sphere_problem = sphere.Sphere() rastrigin_problem = rastrigin.Rastrigin() quartic_problem = quartic.Quartic() rosenbrock_problem = rosenbrock.Rosenbrock() population_size = 16 generations = 2000 mutation_rate = 0.1 for dimentions in [2, 4, 8]: raw_sets = [] for i in range(5): ag = PSAlgorithm.ParticleSwarmAlgorithm(population_size, dimentions, generations, mutation_rate, quartic_problem) raw_sets.append(ag.run()) print(zip_average(raw_sets), dimentions) plt.plot(range(100, generations+100, 100), zip_average(raw_sets), label = str(dimentions)) # plt.legend(['2', '4', '8']) plt.legend() plt.show()
def main(): rosen = rosenbrock.Rosenbrock() rango = rosen.MAX_VALUE - rosen.MIN_VALUE cantidad_individuos = 30