def main_10_cities(): # Create the TSP tsp = create_tsp_problem(length=200, width=200, cities=10) plot_tsp_grid(tsp, "Genetic_Algorithm") # Random Hillclimbing rhc_run_stats, rhc_run_curves = hillclimbing.solve_with_hillclimbing( tsp, "RHC_TSP") rhc_data_strings = { 'title': 'RHC - 10 Cities', 'Parameters': ['Restarts'], 'limit_time': 0, 'limit_iterations': 0 } graphs.generate_graphs(rhc_run_stats, rhc_run_curves, rhc_data_strings) # Mimic mimic_run_stats, mimic_run_curves = mimic.solve_with_mimic( tsp, "MIMIC_TSP") mimic_data_strings = { 'title': 'MIMIC - 10 Cities', 'Parameters': ['Population Size', 'Keep Percent'], 'limit_time': 5, 'limit_iterations': 100 } graphs.generate_graphs(mimic_run_stats, mimic_run_curves, mimic_data_strings) # Solve with Genetic Algorithm ga_run_stats, ga_run_curves = genetic_algorithm.solve_with_ga( tsp, "GA_TSP") ga_data_strings = { 'title': 'Genetic Algorithms - 10 Cities', 'Parameters': ['Mutation Rate', 'Population Size'], 'limit_time': 1, 'limit_iterations': 800 } graphs.generate_graphs(ga_run_stats, ga_run_curves, ga_data_strings) # Simulated Annealing sa_run_stats, sa_run_curves = simulated_annealing.solve_with_sim_annealing( tsp, "SA_TSP") sa_data_strings = { 'title': 'Simulated Annealing - 10 Cities', 'Parameters': ['Temperature'], 'limit_time': 0.4, 'limit_iterations': 1000 } graphs.generate_graphs(sa_run_stats, sa_run_curves, sa_data_strings)
def main_20_items(): t_pct = 0.1 knapsack = create_knapsack_problem(20) # Random Hillclimbing rhc_run_stats, rhc_run_curves = hillclimbing.solve_with_hillclimbing( knapsack, "RHC_Knapsack") rhc_data_strings = { 'title': 'RHC - Knapsack', 'Parameters': ['Restarts'], 'limit_time': 0, 'limit_iterations': 0 } graphs.generate_graphs(rhc_run_stats, rhc_run_curves, rhc_data_strings) # Mimic mimic_run_stats, mimic_run_curves = mimic.solve_with_mimic( knapsack, "MIMIC_Knapsack") mimic_data_strings = { 'title': 'MIMIC - Knapsack', 'Parameters': ['Population Size', 'Keep Percent'], 'limit_time': 10, 'limit_iterations': 50 } graphs.generate_graphs(mimic_run_stats, mimic_run_curves, mimic_data_strings) # Solve with Genetic Algorithm ga_run_stats, ga_run_curves = genetic_algorithm.solve_with_ga( knapsack, "GA_Knapsack") ga_data_strings = { 'title': 'Genetic Algorithms - Knapsack', 'Parameters': ['Mutation Rate', 'Population Size'], 'limit_time': 11, 'limit_iterations': 800 } graphs.generate_graphs(ga_run_stats, ga_run_curves, ga_data_strings) # Simulated Annealing sa_run_stats, sa_run_curves = simulated_annealing.solve_with_sim_annealing( knapsack, "SA_Knapsack") sa_data_strings = { 'title': 'Simulated Annealing - Knapsack', 'Parameters': ['Temperature'], 'limit_time': 0.5, 'limit_iterations': 1500 } graphs.generate_graphs(sa_run_stats, sa_run_curves, sa_data_strings)
def main_20_items(): t_pct = 0.1 six_peaks = create_six_peeks_problem(20, 0.1) # Random Hillclimbing rhc_run_stats, rhc_run_curves = hillclimbing.solve_with_hillclimbing(six_peaks, "RHC_6P") rhc_data_strings = { 'title': 'RHC - 6 Peaks', 'Parameters': ['Restarts'], 'limit_time': 0, 'limit_iterations': 0 } graphs.generate_graphs(rhc_run_stats, rhc_run_curves, rhc_data_strings) # Mimic mimic_run_stats, mimic_run_curves = mimic.solve_with_mimic(six_peaks, "MIMIC_6P") mimic_data_strings = { 'title': 'MIMIC - 6 Peaks', 'Parameters': ['Population Size', 'Keep Percent'], 'limit_time': 10, 'limit_iterations': 100 } graphs.generate_graphs(mimic_run_stats, mimic_run_curves, mimic_data_strings) # Solve with Genetic Algorithm ga_run_stats, ga_run_curves = genetic_algorithm.solve_with_ga(six_peaks, "GA_6P") ga_data_strings = { 'title': 'Genetic Algorithms - 6 Peaks', 'Parameters': ['Mutation Rate', 'Population Size'], 'limit_time': 0.35, 'limit_iterations': 100 } graphs.generate_graphs(ga_run_stats, ga_run_curves, ga_data_strings) # Simulated Annealing sa_run_stats, sa_run_curves = simulated_annealing.solve_with_sim_annealing(six_peaks, "SA_6P") sa_data_strings = { 'title': 'Simulated Annealing - 6 Peaks', 'Parameters': ['Temperature'], 'limit_time': 0.3, 'limit_iterations': 1500 } graphs.generate_graphs(sa_run_stats, sa_run_curves, sa_data_strings)