ACOr.set_cost( optimization_utilities.define_cost( L, H, Q, Fs, "./signals_and_systems/infinite_order_train.csv")) ACOr.set_parameters(m, k, q, xi, function_evals) ACOr.define_variables(initial_ranges, is_bounded) best_solution = ACOr.optimize() print(best_solution) # SA # Total # of function evaluations: global_iter * local_iter + 1 print("SA") SA_local_iterations = 50 T0 = 100.0 decay_constant = 0.99 step_size = 1e-2 SA = simulated_annealing.SA() SA.set_verbosity(False) SA.set_cost( optimization_utilities.define_cost( L, H, Q, Fs, "./signals_and_systems/infinite_order_train.csv")) SA.set_parameters(T0, decay_constant, step_size, SA_local_iterations, function_evals) SA.define_variables(initial_ranges, is_bounded) best_solution = SA.optimize() print(best_solution) # PSO # Total # of function evaluations: population_size * num_iterations print("PSO") swarm_size = 20 accel_p = 2
MAX_TEMP = 10000 NUMBER_OF_DISTRICTS = 16 comm = MPI.COMM_WORLD rank = comm.Get_rank() size = comm.Get_size() data = None if rank == 0: data = [None for i in range(size)] OUTPUT_FILE_24_24 = ( "./experiments_output/region_24_24/output_{0}_sa_{1}_run_{2}_rank{3}.csv". format(REGION_ID, SA_VERSION, TEST_ID_NUMBER, rank)) sa = simulated_annealing.SA(REGION_DATA_FILE_PATH_24_24, OUTPUT_FILE_24_24, MAX_ITERATIONS, MAX_TEMP, NUMBER_OF_DISTRICTS) best_state, best_energy = sa.run_instance(rank) data = comm.gather((rank, best_energy), root=0) if rank == 0: end = time.time() data.sort(key=lambda x: x[1], reverse=False) print(data) running_time = end - start print("TEST_ID_NUMBER {0}; REGION_ID {1}".format(TEST_ID_NUMBER, REGION_ID)) print( "start time {0} seconds; end time {1} seconds; running time {2} seconds" .format(start, end, running_time))
# Parameters used for BAACOr k = 50 m = 10 q_min = 1e-2; q_max = 1.0 xi_min = 0.1; xi_max = 0.93 # Configure metaheuristic = ant_colony_for_continuous_domains.BAACOr() metaheuristic.set_verbosity(False) metaheuristic.set_parameters(m, k, q_min, q_max, xi_min, xi_max, 'exp', 'sig', function_evals) elif metaheuristic_name == 'sa': print('SA') # Parameters to be used for SA initial_temperature = 10.0; cooling_constant = 0.99; step_size = 1e-2; local_iterations = 100 metaheuristic = simulated_annealing.SA() metaheuristic.set_parameters(initial_temperature, cooling_constant, step_size, local_iterations, function_evals) elif metaheuristic_name == 'acfsa': print('ACFSA') # Parameters to be used for ACFSA local_iterations = 100 initial_temperature = 10 cooling_constant = 0.99 # Configure metaheuristic = simulated_annealing.ACFSA() metaheuristic.set_verbosity(False) metaheuristic.set_parameters(initial_temperature, cooling_constant, local_iterations, function_evals) elif metaheuristic_name == 'pso':