Esempio n. 1
0
def solve_sim(problem, problem_name):
    start = timer()
    best_state, best_fitness, fitness_curve = simulated_annealing(problem,
                                                                  curve=True)
    end = timer()
    plot = plot_curve(problem_name + "-Simulated Annealing", "Iterations",
                      "Fitness", range(fitness_curve.size),
                      fitness_curve).show()
    time = end - start
    num_iters = fitness_curve.size
    return best_fitness, time, num_iters, plot
    print(end - start)
    print(len(c))
    times_ga.append(end - start)
    fitns_ga.append(best_fitness)
# ________________________________________________________________________________________________________________________
# Define decay schedule
schedule = mlrose.ExpDecay()
times_sa = []
fitns_sa = []
# Solve problem using simulated annealing
for i in iterations:
    start = time.time()
    best_state, best_fitness, c = mlrose.simulated_annealing(problem_fit,
                                                             schedule=schedule,
                                                             max_attempts=10,
                                                             max_iters=i,
                                                             init_state=None,
                                                             curve=True,
                                                             random_state=3)
    end = time.time()
    print('sa algorithm @ {} iterations'.format(i))
    print(best_fitness)
    print(end - start)
    print(len(c))
    times_sa.append(end - start)
    fitns_sa.append(best_fitness)
# ________________________________________________________________________________________________________________________
# Solve problem using random hill climb
times_rhc = []
fitns_rhc = []
for i in iterations: