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
Ejemplo n.º 2
0
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':