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)
예제 #2
0
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)