def run_effect_of_change_in_threshold(all_data): for data in all_data: print( '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++' ) n, m, p_ij = get_matrix(data) for i in range(3): rec = genetic_algorithm(n, m, p_ij, 2, 30, 1, 0.8, threshold[i]) print("Makespan Values for threshold ", threshold[i], "is: ", rec) print('++++++++++++++++++++ End of product', data[0], '++++++++++++++++++++++') recs = [] recs.append(data[0]) recs.append(rec) writefile_for_GAparam_change_effects( recs, 'Effect_of_change_in_threshold.csv') return
def run_effect_of_change_in_pop_size(all_data): for data in all_data: print( '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++' ) n, m, p_ij = get_matrix(data) for i in range(5): rec = genetic_algorithm(n, m, p_ij, 2, pop_size[i], 1, 0.8, 0.95) print("Makespan Values for pop-size ", pop_size[i], "is: ", rec) print('++++++++++++++++++++ End of product', data[0], '++++++++++++++++++++++') recs = [] recs.append(data[0]) recs.append(rec) writefile_for_GAparam_change_effects( recs, 'Effect_of_change_in_PopSize.csv') return
def run_effect_of_change_in_p_mutation_init(all_data): for data in all_data: print( '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++' ) n, m, p_ij = get_matrix(data) for i in range(4): rec = genetic_algorithm(n, m, p_ij, 2, 30, 1, p_mutation_initial[i], 0.95) print("Makespan Values for p_mutation ", p_mutation_initial[i], "is: ", rec) print('++++++++++++++++++++ End of product', data[0], '++++++++++++++++++++++') recs = [] recs.append(data[0]) recs.append(rec) writefile_for_GAparam_change_effects( recs, 'Effect_of_change_in_p_mutation_init.csv') return
def printAveragePerformance(test_number, n_var): # average performance gradient_descent_average = 0.0 hill_climbing_average = 0.0 simulated_annealing_average = 0.0 mu_lambda_evoulution_strategy_average = 0.0 genetic_algorithm_average = 0.0 # get performance results for trial in range(N_TRIAL): print "**** TRIAL " + str(trial + 1) + " ****" gd_x, gd_y = gradient_descent(test_number) hc_x, hc_y = hill_climbing(test_number) sa_x, sa_y = simulated_annealing(test_number) ml_x, ml_y = mu_lambda_evoulution_strategy(test_number, n_var) ga_x, ga_y = genetic_algorithm(test_number, n_var) print "\n" # sum up the performance result for each algorithm gradient_descent_average += gd_y hill_climbing_average += hc_y simulated_annealing_average += sa_y mu_lambda_evoulution_strategy_average += ml_y genetic_algorithm_average += ga_y # calculate average performance gradient_descent_average /= N_TRIAL hill_climbing_average /= N_TRIAL simulated_annealing_average /= N_TRIAL mu_lambda_evoulution_strategy_average /= N_TRIAL genetic_algorithm_average /= N_TRIAL # print average performance return "**** Average Performance ****\n" +\ print_test_function(test_number) +\ "gDe: " + str(gradient_descent_average) + "\n" +\ "hCl: " + str(hill_climbing_average) + "\n" +\ "sAn: " + str(simulated_annealing_average) + "\n" +\ "mLa: " + str(mu_lambda_evoulution_strategy_average) + "\n" +\ "gAl: " + str(genetic_algorithm_average) + "\n\n"
#output result: # trueValue_list: [7.223909178994591, 3.3564175141717083, 3.216203431727842, 7.856451846709035, 7.85686383715696, \ # 7.707036644261507, 7.707311304560124, 7.856589176858344, 7.854254564320101, 7.7861388102631395, \ # 7.15352747747404, 7.821295328486087, 5.606434680440372, 8.980636448947516, 7.611317530193559,\ # 7.847800047302607, 7.646474048416507, 7.811407557735883, 7.852812597752362, 8.840834356951575,\ # 7.852057281931167, 5.46580860754858, 5.606846670888297, 7.750982292040192, 6.696630070725027, \ # 7.847662717153298, 8.911422053696088, 7.874030105820509, 2.196664403262354, 3.3564175141717083,\ # 7.85686383715696, 7.856726507007652, 8.911422053696088, 3.3564175141717083, 7.847662717153298, \ # 7.874579426417743, 7.575474361224069, 7.289552990364001, 7.713903151726926, 7.855284540439913, \ # 7.787100121308298, 7.680669255594296, 8.99903868895484, 7.857001167306269, 7.874442096268434, \ # 5.325182534656789, 7.845740095062981, 7.854254564320101, 7.641530163041405, 8.981460429843366] # population_fitness: [-13.130756343263652, -6.4993141373862064, -6.4557443155254042, -0.82820595361850735, \ # -0.08149369394510142, 0.75373067993153864, 1.6649633951382325, 1.9609555452097673, \ # 2.8952076308005399, 4.1829737370587372, 6.9817053581434454, 7.0030787586723378, \ # 7.6600841771213606, 12.446336796162273, 14.905831466616666, 15.560045704514094, \ # 15.576112015919843, 19.085717250867759, 21.189712135666174, 21.342093645044649, \ # 21.381375500076206, 21.391165432178916, 21.394426025390665, 21.417212098801389, \ # 21.426957141025483, 23.967025687405357, 24.366677892589081, 24.633535307418349, \ # 24.801332862690341, 24.803875877377529, 24.805537231467085, 24.841325344981826, \ # 24.851839356315253, 24.854474950800874, 24.854581644756458, 24.854860763917888, \ # 24.855012707963798, 24.855137343926927, 24.855347406062741] genetic_algorithm(key1=lambda p: p + 10 * sin(5 * p) + 7 * cos(4 * p), maxIterate_times=50, isEliteSelect=1) #0-9上求解最大值结果 # k=5 # Change not enough! 0.0 # x = 7.857619152978156 # max value = 24.8552243021