def genetic_algorithm(args): minmax = (args.min, args.max) N = args.N gens = args.gens solution = common.initialize(N,minmax) best_fitness = common.fitness(solution[0]) for gen in range(1, gens): if gen % 10 == 0: print("Generation :#%d" % gen) mutated = mutation.ga_mutation(solution, minmax) fitness = common.fitness(mutated[0]) if fitness <= best_fitness: best_fitness = fitness solution = mutated common.write_data(gen, fitness, 'ga.dat') if fitness == 0: break print("#########################") print("# Strategy : Genetic Algorithms") print("# Generations : " + str(gens)) print("# Best Solution Fitness : %.3f" % best_fitness) print("# Log File : ./ga.dat") print("# Graph : Genetic_Algorithm_Ackleys_Function.png") print("#########################") common.plot('Genetic Algorithm: Ackleys Function', 'ga.dat')
def genetic_algorithm(args): minmax = (args.min, args.max) N = args.N gens = args.gens solution = common.initialize(N,minmax) best_fitness = common.fitness(solution[0]) for gen in range(1, gens): if gen % 10 == 0: print("Generation :#%d" % gen) mutated = mutation.ga_mutation(solution, minmax) fitness = common.fitness(mutated[0]) if fitness >= best_fitness: best_fitness = fitness solution = mutated common.write_data(gen, fitness, 'ga.dat') print("#########################") print("# Strategy : Genetic Algorithms") print("# Generations : " + str(gens)) print("# Best Solution Fitness : %.3f" % best_fitness) print("# Log File : ./ga.dat") print("# Graph : Genetic_Algorithm_Ackleys_Function.png") print("#########################") common.plot('Genetic Algorithm: Ackleys Function', 'ga.dat')
def evolutionary_strategies(args): minmax = (args.min, args.max) N = args.N gens = args.gens solution = common.initialize(N, minmax) best_fitness = common.fitness(solution[0]) p = 1.5 for gen in range(1, gens): if gen % 10 == 0: print("Generation :#%d" % gen) mutated = mutation.es_mutation(solution, minmax, p) #print(solution[0]) #print(mutated[0]) #print(list(map(operator.sub, mutated[0], solution[0]))) fitness = common.fitness(mutated[0]) if fitness <= best_fitness: best_fitness = fitness solution = mutated p = 1.5 common.write_data(gen, fitness, 'es.dat') #elif fitness == best_fitness: # p = 1 else: p = 1.5**(-1 / 4) if fitness == 0: break print("#########################") print("# Strategy : Evolutionary Strategies") print("# Generations : " + str(gens)) print("# Best Solution Fitness : %.3f" % best_fitness) print("# Log File : ./es.dat") print( "# Graph : Evolutionary_Strategies_Ackleys_Function.png" ) print("#########################") common.plot('Evolutionary Strategies: Ackleys Function', 'es.dat')
def evolutionary_strategies(args): minmax = (args.min, args.max) N = args.N gens = args.gens solution = common.initialize(N,minmax) best_fitness = common.fitness(solution[0]) p = 1.5 for gen in range(1, gens): if gen % 10 == 0: print("Generation :#%d" % gen) mutated = mutation.es_mutation(solution, minmax, p) #print(solution[0]) #print(mutated[0]) #print(list(map(operator.sub, mutated[0], solution[0]))) fitness = common.fitness(mutated[0]) if fitness <= best_fitness: best_fitness = fitness solution = mutated p = 1.5 common.write_data(gen, fitness, 'es.dat') #elif fitness == best_fitness: # p = 1 else: p = 1.5 ** (-1/4) if fitness == 0: break print("#########################") print("# Strategy : Evolutionary Strategies") print("# Generations : " + str(gens)) print("# Best Solution Fitness : %.3f" % best_fitness) print("# Log File : ./es.dat") print("# Graph : Evolutionary_Strategies_Ackleys_Function.png") print("#########################") common.plot('Evolutionary Strategies: Ackleys Function', 'es.dat')
#!/bin/env python3 import common # Function 2 and 3 f2 = open('f2.dat', 'w') f3 = open('f3.dat', 'w') for x in range(0,20000): fitness_f2 = common.fitness(x * 0.001, 'f2') fitness_f3 = common.fitness(x * 0.001, 'f3') f2.write("%d, %.3f\n" % (x, fitness_f2)) f3.write("%d, %.3f\n" % (x, fitness_f3)) f2.close() f3.close() common.plot('F2', 'f2.dat') common.plot('F3', 'f3.dat') # Function 5 f5 = open('f5.dat', 'w') for x in range(0,1000): fitness_f5 = common.fitness(x * 0.001, 'f5') f5.write("%d, %f \n" % (x, fitness_f5)) f5.close() common.plot('F5', 'f5.dat')
parser = argparse.ArgumentParser() parser.add_argument('-n', help="N value for Ackley Function", dest='N', type=int) parser.add_argument("--min", help="Minimal value", type=int) parser.add_argument("--max", help="Maximum value", type=int) parser.add_argument('-g', "--generations", help="Number of Generations", dest='gens', type=int) args = parser.parse_args() minmax = (args.min, args.max) N = args.N gens = args.gens solution = common.initialize(N,minmax) best_fitness = common.fitness(solution[0]) p = 1.5 for gen in range(1, gens): mutated = mutation.es_mutation(solution, minmax, p) fitness = common.fitness(mutated[0]) if fitness <= best_fitness: best_fitness = fitness solution = mutated p = 1.5 common.write_data(gen, fitness, 'data.dat') else: p = 1.5 ** (-1/4)
#!/bin/env python3 import common # Function 2 and 3 f2 = open('f2.dat', 'w') f3 = open('f3.dat', 'w') for x in range(0, 20000): fitness_f2 = common.fitness(x * 0.001, 'f2') fitness_f3 = common.fitness(x * 0.001, 'f3') f2.write("%d, %.3f\n" % (x, fitness_f2)) f3.write("%d, %.3f\n" % (x, fitness_f3)) f2.close() f3.close() common.plot('F2', 'f2.dat') common.plot('F3', 'f3.dat') # Function 5 f5 = open('f5.dat', 'w') for x in range(0, 1000): fitness_f5 = common.fitness(x * 0.001, 'f5') f5.write("%d, %f \n" % (x, fitness_f5)) f5.close() common.plot('F5', 'f5.dat')