├── .gitignore
├── LICENSE
├── README.md
├── optimization_tutorial
├── __init__.py
├── _images
│ └── optimizer_table.png
├── app.py
├── optimizers
│ ├── __init__.py
│ ├── bayesian_optimization
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── bayesian_optimization_0.gif
│ │ │ ├── bayesian_optimization_1.gif
│ │ │ ├── bayesian_optimization_2.gif
│ │ │ ├── bayesian_optimization_3.gif
│ │ │ ├── bayesian_optimization_4.gif
│ │ │ ├── bayesian_optimization_5.gif
│ │ │ ├── xi_0.gif
│ │ │ ├── xi_1.gif
│ │ │ ├── xi_2.gif
│ │ │ ├── xi_3.gif
│ │ │ ├── xi_4.gif
│ │ │ └── xi_5.gif
│ │ └── bayesian_optimization_app.py
│ ├── downhill_simplex
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── alpha_0.gif
│ │ │ ├── alpha_1.gif
│ │ │ ├── alpha_2.gif
│ │ │ ├── alpha_3.gif
│ │ │ ├── alpha_4.gif
│ │ │ ├── alpha_5.gif
│ │ │ ├── beta_0.gif
│ │ │ ├── beta_1.gif
│ │ │ ├── beta_2.gif
│ │ │ ├── beta_3.gif
│ │ │ ├── beta_4.gif
│ │ │ ├── beta_5.gif
│ │ │ ├── downhill_simplex_0.gif
│ │ │ ├── downhill_simplex_1.gif
│ │ │ ├── downhill_simplex_2.gif
│ │ │ ├── downhill_simplex_3.gif
│ │ │ ├── downhill_simplex_4.gif
│ │ │ ├── downhill_simplex_5.gif
│ │ │ ├── gamma_0.gif
│ │ │ ├── gamma_1.gif
│ │ │ ├── gamma_2.gif
│ │ │ ├── gamma_3.gif
│ │ │ ├── gamma_4.gif
│ │ │ ├── gamma_5.gif
│ │ │ ├── sigma_0.gif
│ │ │ ├── sigma_1.gif
│ │ │ ├── sigma_2.gif
│ │ │ ├── sigma_3.gif
│ │ │ ├── sigma_4.gif
│ │ │ └── sigma_5.gif
│ │ └── downhill_simplex_app.py
│ ├── evolution_strategy
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── crossover_rate_0.gif
│ │ │ ├── crossover_rate_1.gif
│ │ │ ├── crossover_rate_2.gif
│ │ │ ├── crossover_rate_3.gif
│ │ │ ├── crossover_rate_4.gif
│ │ │ ├── crossover_rate_5.gif
│ │ │ ├── evolution_strategy_0.gif
│ │ │ ├── evolution_strategy_1.gif
│ │ │ ├── evolution_strategy_2.gif
│ │ │ ├── evolution_strategy_3.gif
│ │ │ ├── evolution_strategy_4.gif
│ │ │ ├── evolution_strategy_5.gif
│ │ │ ├── mutation_rate_0.gif
│ │ │ ├── mutation_rate_1.gif
│ │ │ ├── mutation_rate_2.gif
│ │ │ ├── mutation_rate_3.gif
│ │ │ ├── mutation_rate_4.gif
│ │ │ ├── mutation_rate_5.gif
│ │ │ ├── population_0.gif
│ │ │ ├── population_1.gif
│ │ │ ├── population_2.gif
│ │ │ ├── population_3.gif
│ │ │ ├── population_4.gif
│ │ │ └── population_5.gif
│ │ └── evolution_strategy_app.py
│ ├── forest_optimization
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── forest_optimization_0.gif
│ │ │ ├── forest_optimization_1.gif
│ │ │ ├── forest_optimization_2.gif
│ │ │ ├── forest_optimization_3.gif
│ │ │ ├── forest_optimization_4.gif
│ │ │ ├── forest_optimization_5.gif
│ │ │ ├── xi_0.gif
│ │ │ ├── xi_1.gif
│ │ │ ├── xi_2.gif
│ │ │ ├── xi_3.gif
│ │ │ ├── xi_4.gif
│ │ │ └── xi_5.gif
│ │ └── forest_optimization_app.py
│ ├── generate_basic_gifs.py
│ ├── grid_search
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── grid_search_0.gif
│ │ │ ├── grid_search_1.gif
│ │ │ ├── grid_search_2.gif
│ │ │ ├── grid_search_3.gif
│ │ │ ├── grid_search_4.gif
│ │ │ ├── grid_search_5.gif
│ │ │ ├── step_size_0.gif
│ │ │ ├── step_size_1.gif
│ │ │ ├── step_size_2.gif
│ │ │ ├── step_size_3.gif
│ │ │ ├── step_size_4.gif
│ │ │ └── step_size_5.gif
│ │ └── grid_search_app.py
│ ├── hill_climbing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── hill_climbing_0.gif
│ │ │ ├── hill_climbing_1.gif
│ │ │ ├── hill_climbing_2.gif
│ │ │ ├── hill_climbing_3.gif
│ │ │ ├── hill_climbing_4.gif
│ │ │ ├── hill_climbing_5.gif
│ │ │ ├── hill_climbing_distribution_0.gif
│ │ │ ├── hill_climbing_distribution_1.gif
│ │ │ ├── hill_climbing_distribution_10.gif
│ │ │ ├── hill_climbing_distribution_11.gif
│ │ │ ├── hill_climbing_distribution_12.gif
│ │ │ ├── hill_climbing_distribution_13.gif
│ │ │ ├── hill_climbing_distribution_2.gif
│ │ │ ├── hill_climbing_distribution_3.gif
│ │ │ ├── hill_climbing_epsilon_0.gif
│ │ │ ├── hill_climbing_epsilon_1.gif
│ │ │ ├── hill_climbing_epsilon_10.gif
│ │ │ ├── hill_climbing_epsilon_11.gif
│ │ │ ├── hill_climbing_epsilon_12.gif
│ │ │ ├── hill_climbing_epsilon_2.gif
│ │ │ ├── hill_climbing_n_neighbours_0.gif
│ │ │ ├── hill_climbing_n_neighbours_1.gif
│ │ │ ├── hill_climbing_n_neighbours_10.gif
│ │ │ ├── hill_climbing_n_neighbours_11.gif
│ │ │ ├── hill_climbing_n_neighbours_12.gif
│ │ │ ├── hill_climbing_n_neighbours_2.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ └── n_neighbours_5.gif
│ │ └── hill_climbing_app.py
│ ├── optimizer_template.py
│ ├── overview_parameters_template.py
│ ├── parallel_random_annealing
│ │ ├── _images
│ │ │ ├── parallel_random_annealing_0.gif
│ │ │ ├── parallel_random_annealing_1.gif
│ │ │ ├── parallel_random_annealing_2.gif
│ │ │ ├── parallel_random_annealing_3.gif
│ │ │ ├── parallel_random_annealing_4.gif
│ │ │ └── parallel_random_annealing_5.gif
│ │ └── parallel_random_annealing_app.py
│ ├── parallel_tempering
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── n_iter_swap_0.gif
│ │ │ ├── n_iter_swap_1.gif
│ │ │ ├── n_iter_swap_2.gif
│ │ │ ├── n_iter_swap_3.gif
│ │ │ ├── n_iter_swap_4.gif
│ │ │ ├── n_iter_swap_5.gif
│ │ │ ├── parallel_tempering_0.gif
│ │ │ ├── parallel_tempering_1.gif
│ │ │ ├── parallel_tempering_2.gif
│ │ │ ├── parallel_tempering_3.gif
│ │ │ ├── parallel_tempering_4.gif
│ │ │ ├── parallel_tempering_5.gif
│ │ │ ├── population_0.gif
│ │ │ ├── population_1.gif
│ │ │ ├── population_2.gif
│ │ │ ├── population_3.gif
│ │ │ ├── population_4.gif
│ │ │ └── population_5.gif
│ │ └── parallel_tempering_app.py
│ ├── parameters_dicts.py
│ ├── parameters_info.py
│ ├── particle_swarm_optimization
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── cognitive_weight_0.gif
│ │ │ ├── cognitive_weight_1.gif
│ │ │ ├── cognitive_weight_2.gif
│ │ │ ├── cognitive_weight_3.gif
│ │ │ ├── cognitive_weight_4.gif
│ │ │ ├── cognitive_weight_5.gif
│ │ │ ├── inertia_0.gif
│ │ │ ├── inertia_1.gif
│ │ │ ├── inertia_2.gif
│ │ │ ├── inertia_3.gif
│ │ │ ├── inertia_4.gif
│ │ │ ├── inertia_5.gif
│ │ │ ├── particle_swarm_optimization_0.gif
│ │ │ ├── particle_swarm_optimization_1.gif
│ │ │ ├── particle_swarm_optimization_2.gif
│ │ │ ├── particle_swarm_optimization_3.gif
│ │ │ ├── particle_swarm_optimization_4.gif
│ │ │ ├── particle_swarm_optimization_5.gif
│ │ │ ├── population_0.gif
│ │ │ ├── population_1.gif
│ │ │ ├── population_2.gif
│ │ │ ├── population_3.gif
│ │ │ ├── population_4.gif
│ │ │ ├── population_5.gif
│ │ │ ├── social_weight_0.gif
│ │ │ ├── social_weight_1.gif
│ │ │ ├── social_weight_2.gif
│ │ │ ├── social_weight_3.gif
│ │ │ ├── social_weight_4.gif
│ │ │ └── social_weight_5.gif
│ │ └── particle_swarm_optimization_app.py
│ ├── pattern_search
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── n_positions_0.gif
│ │ │ ├── n_positions_1.gif
│ │ │ ├── n_positions_2.gif
│ │ │ ├── n_positions_3.gif
│ │ │ ├── n_positions_4.gif
│ │ │ ├── n_positions_5.gif
│ │ │ ├── pattern_search_0.gif
│ │ │ ├── pattern_search_1.gif
│ │ │ ├── pattern_search_2.gif
│ │ │ ├── pattern_search_3.gif
│ │ │ ├── pattern_search_4.gif
│ │ │ ├── pattern_search_5.gif
│ │ │ ├── pattern_size_0.gif
│ │ │ ├── pattern_size_1.gif
│ │ │ ├── pattern_size_2.gif
│ │ │ ├── pattern_size_3.gif
│ │ │ ├── pattern_size_4.gif
│ │ │ ├── pattern_size_5.gif
│ │ │ ├── reduction_0.gif
│ │ │ ├── reduction_1.gif
│ │ │ ├── reduction_2.gif
│ │ │ ├── reduction_3.gif
│ │ │ ├── reduction_4.gif
│ │ │ └── reduction_5.gif
│ │ └── pattern_search_app.py
│ ├── powells_method
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── iters_p_dim_0.gif
│ │ │ ├── iters_p_dim_1.gif
│ │ │ ├── iters_p_dim_2.gif
│ │ │ ├── iters_p_dim_3.gif
│ │ │ ├── iters_p_dim_4.gif
│ │ │ ├── iters_p_dim_5.gif
│ │ │ ├── powells_method_0.gif
│ │ │ ├── powells_method_1.gif
│ │ │ ├── powells_method_2.gif
│ │ │ ├── powells_method_3.gif
│ │ │ ├── powells_method_4.gif
│ │ │ └── powells_method_5.gif
│ │ └── powells_method_app.py
│ ├── random_annealing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── annealing_rate_0.gif
│ │ │ ├── annealing_rate_1.gif
│ │ │ ├── annealing_rate_2.gif
│ │ │ ├── annealing_rate_3.gif
│ │ │ ├── annealing_rate_4.gif
│ │ │ ├── annealing_rate_5.gif
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ ├── n_neighbours_5.gif
│ │ │ ├── random_annealing_0.gif
│ │ │ ├── random_annealing_1.gif
│ │ │ ├── random_annealing_2.gif
│ │ │ ├── random_annealing_3.gif
│ │ │ ├── random_annealing_4.gif
│ │ │ ├── random_annealing_5.gif
│ │ │ ├── start_temp_0.gif
│ │ │ ├── start_temp_1.gif
│ │ │ ├── start_temp_2.gif
│ │ │ ├── start_temp_3.gif
│ │ │ ├── start_temp_4.gif
│ │ │ └── start_temp_5.gif
│ │ └── random_annealing_app.py
│ ├── random_restart_hill_climbing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── n_iter_restart_0.gif
│ │ │ ├── n_iter_restart_1.gif
│ │ │ ├── n_iter_restart_2.gif
│ │ │ ├── n_iter_restart_3.gif
│ │ │ ├── n_iter_restart_4.gif
│ │ │ ├── n_iter_restart_5.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ ├── n_neighbours_5.gif
│ │ │ ├── random_restart_hill_climbing_0.gif
│ │ │ ├── random_restart_hill_climbing_1.gif
│ │ │ ├── random_restart_hill_climbing_2.gif
│ │ │ ├── random_restart_hill_climbing_3.gif
│ │ │ ├── random_restart_hill_climbing_4.gif
│ │ │ └── random_restart_hill_climbing_5.gif
│ │ └── random_restart_hill_climbing_app.py
│ ├── random_search
│ │ ├── _images
│ │ │ ├── random_search_0.gif
│ │ │ ├── random_search_1.gif
│ │ │ ├── random_search_2.gif
│ │ │ ├── random_search_3.gif
│ │ │ ├── random_search_4.gif
│ │ │ └── random_search_5.gif
│ │ └── random_search_app.py
│ ├── repulsing_hill_climbing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ ├── n_neighbours_5.gif
│ │ │ ├── repulsing_hill_climbing_0.gif
│ │ │ ├── repulsing_hill_climbing_1.gif
│ │ │ ├── repulsing_hill_climbing_2.gif
│ │ │ ├── repulsing_hill_climbing_3.gif
│ │ │ ├── repulsing_hill_climbing_4.gif
│ │ │ ├── repulsing_hill_climbing_5.gif
│ │ │ ├── repulsion_factor_0.gif
│ │ │ ├── repulsion_factor_1.gif
│ │ │ ├── repulsion_factor_2.gif
│ │ │ ├── repulsion_factor_3.gif
│ │ │ ├── repulsion_factor_4.gif
│ │ │ └── repulsion_factor_5.gif
│ │ └── repulsing_hill_climbing_app.py
│ ├── simulated_annealing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── annealing_rate_0.gif
│ │ │ ├── annealing_rate_1.gif
│ │ │ ├── annealing_rate_2.gif
│ │ │ ├── annealing_rate_3.gif
│ │ │ ├── annealing_rate_4.gif
│ │ │ ├── annealing_rate_5.gif
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ ├── n_neighbours_5.gif
│ │ │ ├── simulated_annealing_0.gif
│ │ │ ├── simulated_annealing_1.gif
│ │ │ ├── simulated_annealing_2.gif
│ │ │ ├── simulated_annealing_3.gif
│ │ │ ├── simulated_annealing_4.gif
│ │ │ ├── simulated_annealing_5.gif
│ │ │ ├── start_temp_0.gif
│ │ │ ├── start_temp_1.gif
│ │ │ ├── start_temp_2.gif
│ │ │ ├── start_temp_3.gif
│ │ │ ├── start_temp_4.gif
│ │ │ └── start_temp_5.gif
│ │ └── simulated_annealing_app.py
│ ├── stochastic_hill_climbing
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ │ ├── distribution_0.gif
│ │ │ ├── distribution_1.gif
│ │ │ ├── distribution_2.gif
│ │ │ ├── distribution_3.gif
│ │ │ ├── distribution_4.gif
│ │ │ ├── distribution_5.gif
│ │ │ ├── epsilon_0.gif
│ │ │ ├── epsilon_1.gif
│ │ │ ├── epsilon_2.gif
│ │ │ ├── epsilon_3.gif
│ │ │ ├── epsilon_4.gif
│ │ │ ├── epsilon_5.gif
│ │ │ ├── n_neighbours_0.gif
│ │ │ ├── n_neighbours_1.gif
│ │ │ ├── n_neighbours_2.gif
│ │ │ ├── n_neighbours_3.gif
│ │ │ ├── n_neighbours_4.gif
│ │ │ ├── n_neighbours_5.gif
│ │ │ ├── p_accept_0.gif
│ │ │ ├── p_accept_1.gif
│ │ │ ├── p_accept_2.gif
│ │ │ ├── p_accept_3.gif
│ │ │ ├── p_accept_4.gif
│ │ │ ├── p_accept_5.gif
│ │ │ ├── stochastic_hill_climbing_0.gif
│ │ │ ├── stochastic_hill_climbing_1.gif
│ │ │ ├── stochastic_hill_climbing_2.gif
│ │ │ ├── stochastic_hill_climbing_3.gif
│ │ │ ├── stochastic_hill_climbing_4.gif
│ │ │ └── stochastic_hill_climbing_5.gif
│ │ └── stochastic_hill_climbing_app.py
│ └── tree_structured_parzen_estimators
│ │ ├── _generate_parameter_gifs.py
│ │ ├── _images
│ │ ├── gamma_tpe_0.gif
│ │ ├── gamma_tpe_1.gif
│ │ ├── gamma_tpe_2.gif
│ │ ├── gamma_tpe_3.gif
│ │ ├── gamma_tpe_4.gif
│ │ ├── gamma_tpe_5.gif
│ │ ├── tree_structured_parzen_estimators_0.gif
│ │ ├── tree_structured_parzen_estimators_1.gif
│ │ ├── tree_structured_parzen_estimators_2.gif
│ │ ├── tree_structured_parzen_estimators_3.gif
│ │ ├── tree_structured_parzen_estimators_4.gif
│ │ └── tree_structured_parzen_estimators_5.gif
│ │ └── tree_structured_parzen_estimators_app.py
└── overview_app.py
├── optimization_tutorial_new
└── mkdocs_pages
│ ├── docs
│ ├── css
│ │ └── extra.css
│ ├── index.md
│ └── optimizers
│ │ └── hill_climbing
│ │ ├── assets
│ │ ├── ackley_function.gif
│ │ └── sphere_function.gif
│ │ └── page.md
│ └── mkdocs.yml
├── requirements.txt
└── scripts
├── __init__.py
└── search_path_gif
├── __init__.py
└── search_path_gif.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 | **/_plots/
30 | **/_data/
31 | **/_gifs/
32 |
33 |
34 | # PyInstaller
35 | # Usually these files are written by a python script from a template
36 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
37 | *.manifest
38 | *.spec
39 |
40 | # Installer logs
41 | pip-log.txt
42 | pip-delete-this-directory.txt
43 |
44 | # Unit test / coverage reports
45 | htmlcov/
46 | .tox/
47 | .nox/
48 | .coverage
49 | .coverage.*
50 | .cache
51 | nosetests.xml
52 | coverage.xml
53 | *.cover
54 | *.py,cover
55 | .hypothesis/
56 | .pytest_cache/
57 |
58 | # Translations
59 | *.mo
60 | *.pot
61 |
62 | # Django stuff:
63 | *.log
64 | local_settings.py
65 | db.sqlite3
66 | db.sqlite3-journal
67 |
68 | # Flask stuff:
69 | instance/
70 | .webassets-cache
71 |
72 | # Scrapy stuff:
73 | .scrapy
74 |
75 | # Sphinx documentation
76 | docs/_build/
77 |
78 | # PyBuilder
79 | target/
80 |
81 | # Jupyter Notebook
82 | .ipynb_checkpoints
83 |
84 | # IPython
85 | profile_default/
86 | ipython_config.py
87 |
88 | # pyenv
89 | .python-version
90 |
91 | # pipenv
92 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
94 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
95 | # install all needed dependencies.
96 | #Pipfile.lock
97 |
98 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
99 | __pypackages__/
100 |
101 | # Celery stuff
102 | celerybeat-schedule
103 | celerybeat.pid
104 |
105 | # SageMath parsed files
106 | *.sage.py
107 |
108 | # Environments
109 | .env
110 | .venv
111 | env/
112 | venv/
113 | ENV/
114 | env.bak/
115 | venv.bak/
116 |
117 | # Spyder project settings
118 | .spyderproject
119 | .spyproject
120 |
121 | # Rope project settings
122 | .ropeproject
123 |
124 | # mkdocs documentation
125 | /site
126 |
127 | # mypy
128 | .mypy_cache/
129 | .dmypy.json
130 | dmypy.json
131 |
132 | # Pyre type checker
133 | .pyre/
134 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Simon Blanke
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/optimization_tutorial/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/__init__.py
--------------------------------------------------------------------------------
/optimization_tutorial/_images/optimizer_table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/_images/optimizer_table.png
--------------------------------------------------------------------------------
/optimization_tutorial/app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import streamlit as st
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, "overview_app.py"))
8 |
9 |
10 | st.set_page_config(page_title="Optimization Tutorial", layout="wide")
11 |
12 | st.markdown(
13 | """
14 |
28 | """,
29 | unsafe_allow_html=True,
30 | )
31 |
32 |
33 | from overview_app import overview_app
34 | from optimizers import (
35 | hill_climbing_app,
36 | stochastic_hill_climbing_app,
37 | repulsing_hill_climbing_app,
38 | simulated_annealing_app,
39 | downhill_simplex_app,
40 | random_search_app,
41 | grid_search_app,
42 | random_restart_hill_climbing_app,
43 | powells_method_app,
44 | pattern_search_app,
45 | random_annealing_app,
46 | parallel_tempering_app,
47 | parallel_random_annealing_app,
48 | particle_swarm_optimization_app,
49 | evolution_strategy_app,
50 | bayesian_optimization_app,
51 | tree_structured_parzen_estimators_app,
52 | forest_optimization_app,
53 | )
54 |
55 |
56 | app_d = {
57 | "Hill Climbing Optimizer": hill_climbing_app,
58 | "Stochastic Hill Climbing Optimizer": stochastic_hill_climbing_app,
59 | "Repulsing Hill Climbing Optimizer": repulsing_hill_climbing_app,
60 | "Simulated Annealing Optimizer": simulated_annealing_app,
61 | "Downhill Simplex Optimizer": downhill_simplex_app,
62 | "Random Search Optimizer": random_search_app,
63 | "GridSearch Optimizer": grid_search_app,
64 | "Random Restart Hill Climbing Optimizer": random_restart_hill_climbing_app,
65 | "Powell's Method": powells_method_app,
66 | "Pattern Search": pattern_search_app,
67 | # "Random Annealing Optimizer": random_annealing_app,
68 | "Parallel Tempering Optimizer": parallel_tempering_app,
69 | # "Parallel Annealing Optimizer": parallel_random_annealing_app,
70 | "Particle Swarm Optimizer": particle_swarm_optimization_app,
71 | "Evolution Strategy Optimizer": evolution_strategy_app,
72 | "Bayesian Optimizer": bayesian_optimization_app,
73 | "Tree Structured Parzen Estimators": tree_structured_parzen_estimators_app,
74 | "Forest Optimizer": forest_optimization_app,
75 | }
76 |
77 |
78 | choice_0 = st.sidebar.radio(
79 | " ", options=("Overview", "Optimization Algorithms"), index=0
80 | )
81 |
82 | gfo_versions = ["1.0"]
83 | gfo_version = st.sidebar.selectbox(
84 | "Gradient-Free-Optimizers Version:",
85 | options=["1.0"],
86 | index=int(len(gfo_versions) - 1),
87 | )
88 |
89 | if choice_0 == "Overview":
90 | overview_app()
91 | elif choice_0 == "Optimization Algorithms":
92 | st.sidebar.write("")
93 | choice_opt = st.sidebar.radio("Optimization Algorithms:", options=app_d, index=0)
94 | app_d[choice_opt](gfo_version)
95 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/__init__.py:
--------------------------------------------------------------------------------
1 | from .hill_climbing.hill_climbing_app import hill_climbing_app
2 | from .stochastic_hill_climbing.stochastic_hill_climbing_app import (
3 | stochastic_hill_climbing_app,
4 | )
5 | from .repulsing_hill_climbing.repulsing_hill_climbing_app import (
6 | repulsing_hill_climbing_app,
7 | )
8 | from .simulated_annealing.simulated_annealing_app import simulated_annealing_app
9 | from .downhill_simplex.downhill_simplex_app import downhill_simplex_app
10 | from .random_search.random_search_app import random_search_app
11 | from .grid_search.grid_search_app import grid_search_app
12 | from .random_restart_hill_climbing.random_restart_hill_climbing_app import (
13 | random_restart_hill_climbing_app,
14 | )
15 | from .powells_method.powells_method_app import powells_method_app
16 | from .pattern_search.pattern_search_app import pattern_search_app
17 | from .random_annealing.random_annealing_app import random_annealing_app
18 | from .parallel_tempering.parallel_tempering_app import parallel_tempering_app
19 | from .parallel_random_annealing.parallel_random_annealing_app import (
20 | parallel_random_annealing_app,
21 | )
22 | from .particle_swarm_optimization.particle_swarm_optimization_app import (
23 | particle_swarm_optimization_app,
24 | )
25 | from .evolution_strategy.evolution_strategy_app import evolution_strategy_app
26 | from .bayesian_optimization.bayesian_optimization_app import bayesian_optimization_app
27 | from .tree_structured_parzen_estimators.tree_structured_parzen_estimators_app import (
28 | tree_structured_parzen_estimators_app,
29 | )
30 | from .forest_optimization.forest_optimization_app import forest_optimization_app
31 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_generate_parameter_gifs.py:
--------------------------------------------------------------------------------
1 | def warn(*args, **kwargs):
2 | pass
3 |
4 |
5 | import os
6 | import copy
7 | import warnings
8 |
9 | warnings.warn = warn
10 |
11 |
12 | from gradient_free_optimizers import BayesianOptimizer
13 |
14 |
15 | from surfaces.test_functions import SphereFunction, AckleyFunction
16 | from gradient_free_optimization_plots import search_path_gif
17 |
18 |
19 | n_iter = 150
20 | random_state = 0
21 | optimizer_class = BayesianOptimizer
22 |
23 | sphere_function = SphereFunction(n_dim=2)
24 | ackley_function = AckleyFunction()
25 |
26 |
27 | hill_climbing_sphere_function_template_d = {
28 | "path": "_images",
29 | "optimizer": optimizer_class,
30 | "n_iter": n_iter,
31 | "objective_function": sphere_function,
32 | "search_space": sphere_function.search_space(min=-5, max=10),
33 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
34 | "random_state": random_state,
35 | }
36 |
37 | hill_climbing_ackley_function_template_d = {
38 | "path": "_images",
39 | "optimizer": optimizer_class,
40 | "n_iter": n_iter,
41 | "objective_function": ackley_function,
42 | "search_space": ackley_function.search_space(min=-5, max=10),
43 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
44 | "random_state": random_state,
45 | }
46 |
47 |
48 | def generate_gifs_xi_():
49 | xi_0_d = copy.copy(hill_climbing_sphere_function_template_d)
50 | xi_1_d = copy.copy(hill_climbing_sphere_function_template_d)
51 | xi_2_d = copy.copy(hill_climbing_sphere_function_template_d)
52 |
53 | xi_10_d = copy.copy(hill_climbing_ackley_function_template_d)
54 | xi_11_d = copy.copy(hill_climbing_ackley_function_template_d)
55 | xi_12_d = copy.copy(hill_climbing_ackley_function_template_d)
56 |
57 | para1 = 0.1
58 | para2 = 0.5
59 | para3 = 0.9
60 |
61 | xi_0_d["opt_para"] = {"xi": para1}
62 | xi_0_d["name"] = "xi_0.gif"
63 |
64 | xi_1_d["opt_para"] = {"xi": para2}
65 | xi_1_d["name"] = "xi_1.gif"
66 |
67 | xi_2_d["opt_para"] = {"xi": para3}
68 | xi_2_d["name"] = "xi_2.gif"
69 |
70 | xi_10_d["opt_para"] = {"xi": para1}
71 | xi_10_d["name"] = "xi_3.gif"
72 |
73 | xi_11_d["opt_para"] = {"xi": para2}
74 | xi_11_d["name"] = "xi_4.gif"
75 |
76 | xi_12_d["opt_para"] = {"xi": para3}
77 | xi_12_d["name"] = "xi_5.gif"
78 |
79 | search_path_gif(**xi_0_d)
80 | search_path_gif(**xi_1_d)
81 | search_path_gif(**xi_2_d)
82 |
83 | search_path_gif(**xi_10_d)
84 | search_path_gif(**xi_11_d)
85 | search_path_gif(**xi_12_d)
86 |
87 |
88 | generate_gifs_xi_()
89 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/bayesian_optimization_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/bayesian_optimization/_images/xi_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/alpha_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/beta_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/beta_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/downhill_simplex_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/gamma_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/downhill_simplex/_images/sigma_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/crossover_rate_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/evolution_strategy_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/mutation_rate_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/_images/population_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/evolution_strategy/_images/population_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/evolution_strategy/evolution_strategy_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | population_intro_,
13 | mutation_rate_intro_,
14 | crossover_rate_intro_,
15 | )
16 | from parameters_dicts import (
17 | population_parallel_temp_d,
18 | mutation_rate_d,
19 | crossover_rate_d,
20 | )
21 |
22 | explanation_ = """
23 | Evolution strategy mutates and combines the best individuals of a population across a
24 | number of generations without transforming them into an array of bits
25 | (like genetic algorithms) but uses the real values of the positions.
26 | """
27 |
28 | para_d = dict()
29 | para_d.update(population_parallel_temp_d)
30 | para_d.update(mutation_rate_d)
31 | para_d.update(crossover_rate_d)
32 |
33 |
34 | para_df = pd.DataFrame.from_dict(
35 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
36 | )
37 |
38 |
39 | good_ = """
40 | - Expect good results for convex and nonconvex optimization problems.
41 | """
42 | bad_ = """
43 | - Algorithm performance can worsen in case of bad initial positions.
44 | - Population based optimizers generally need a higher minimum number of iterations
45 | to find a good solution (compared to non-population-based algorithms).
46 | """
47 | info_ = """
48 | - If `mutation_rate`/`crossover_rate` is high the algorithm behaves like a population
49 | of hill climbers
50 | - If `crossover_rate`/`mutation_rate` is high the exploration of the search space will worsen.
51 | """
52 |
53 |
54 | implementation_ = """
55 | The mutation part of the evolution strategy optimizer is a regular hill climbing algorithm.
56 | The crossover works by combining the best positions to get new ones. The worst positions
57 | are removed to preserve the number of individuals in the population.
58 | """
59 |
60 | overview_app_args_d = {
61 | "title": "Evolution Strategy",
62 | "_name_": "evolution_strategy",
63 | "explanation_": explanation_,
64 | "here_": here_,
65 | "implementation_": implementation_,
66 | "good_": good_,
67 | "bad_": bad_,
68 | "info_": info_,
69 | "para_df": para_df,
70 | }
71 | population_args_d = {
72 | "title": "population",
73 | "_name_": "population",
74 | "explanation_": population_intro_,
75 | "here_": here_,
76 | }
77 | mutation_rate_args_d = {
78 | "title": "mutation_rate",
79 | "_name_": "mutation_rate",
80 | "explanation_": mutation_rate_intro_,
81 | "here_": here_,
82 | }
83 | crossover_rate_args_d = {
84 | "title": "crossover_rate",
85 | "_name_": "crossover_rate",
86 | "explanation_": crossover_rate_intro_,
87 | "here_": here_,
88 | }
89 |
90 | app_d = {
91 | "Overview": (overview_app, overview_app_args_d),
92 | "population": (parameter_app, population_args_d),
93 | "mutation_rate": (parameter_app, mutation_rate_args_d),
94 | "crossover_rate": (parameter_app, crossover_rate_args_d),
95 | }
96 |
97 |
98 | def evolution_strategy_app(gfo_version):
99 | optimizer_app(app_d)
100 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_generate_parameter_gifs.py:
--------------------------------------------------------------------------------
1 | def warn(*args, **kwargs):
2 | pass
3 |
4 |
5 | import os
6 | import copy
7 | import warnings
8 |
9 | warnings.warn = warn
10 |
11 |
12 | from gradient_free_optimizers import ForestOptimizer
13 |
14 |
15 | from surfaces.test_functions import SphereFunction, AckleyFunction
16 | from gradient_free_optimization_plots import search_path_gif
17 |
18 |
19 | n_iter = 150
20 | random_state = 0
21 | optimizer_class = ForestOptimizer
22 |
23 | sphere_function = SphereFunction(n_dim=2)
24 | ackley_function = AckleyFunction()
25 |
26 |
27 | hill_climbing_sphere_function_template_d = {
28 | "path": "_images",
29 | "optimizer": optimizer_class,
30 | "n_iter": n_iter,
31 | "objective_function": sphere_function,
32 | "search_space": sphere_function.search_space(min=-5, max=10),
33 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
34 | "random_state": random_state,
35 | }
36 |
37 | hill_climbing_ackley_function_template_d = {
38 | "path": "_images",
39 | "optimizer": optimizer_class,
40 | "n_iter": n_iter,
41 | "objective_function": ackley_function,
42 | "search_space": ackley_function.search_space(min=-5, max=10),
43 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
44 | "random_state": random_state,
45 | }
46 |
47 |
48 | def generate_gifs_xi_():
49 | xi_0_d = copy.copy(hill_climbing_sphere_function_template_d)
50 | xi_1_d = copy.copy(hill_climbing_sphere_function_template_d)
51 | xi_2_d = copy.copy(hill_climbing_sphere_function_template_d)
52 |
53 | xi_10_d = copy.copy(hill_climbing_ackley_function_template_d)
54 | xi_11_d = copy.copy(hill_climbing_ackley_function_template_d)
55 | xi_12_d = copy.copy(hill_climbing_ackley_function_template_d)
56 |
57 | para1 = 0.1
58 | para2 = 0.5
59 | para3 = 0.9
60 |
61 | xi_0_d["opt_para"] = {"xi": para1}
62 | xi_0_d["name"] = "xi_0.gif"
63 |
64 | xi_1_d["opt_para"] = {"xi": para2}
65 | xi_1_d["name"] = "xi_1.gif"
66 |
67 | xi_2_d["opt_para"] = {"xi": para3}
68 | xi_2_d["name"] = "xi_2.gif"
69 |
70 | xi_10_d["opt_para"] = {"xi": para1}
71 | xi_10_d["name"] = "xi_3.gif"
72 |
73 | xi_11_d["opt_para"] = {"xi": para2}
74 | xi_11_d["name"] = "xi_4.gif"
75 |
76 | xi_12_d["opt_para"] = {"xi": para3}
77 | xi_12_d["name"] = "xi_5.gif"
78 |
79 | search_path_gif(**xi_0_d)
80 | search_path_gif(**xi_1_d)
81 | search_path_gif(**xi_2_d)
82 |
83 | search_path_gif(**xi_10_d)
84 | search_path_gif(**xi_11_d)
85 | search_path_gif(**xi_12_d)
86 |
87 |
88 | generate_gifs_xi_()
89 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/forest_optimization_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/_images/xi_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/forest_optimization/_images/xi_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/forest_optimization/forest_optimization_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | tree_regressor_intro_,
13 | xi_intro_,
14 | warm_start_smbo_intro_,
15 | )
16 | from parameters_dicts import (
17 | tree_regressor_d,
18 | xi_forest_opt_d,
19 | warm_start_smbo_d,
20 | )
21 |
22 | explanation_ = """
23 | The forest-optimizer calculates the expected improvement of the position space with a
24 | tree-based model. This optimization technique is very similar to bayesian-optimization
25 | in every part, except its model.
26 | """
27 |
28 | para_d = dict()
29 | para_d.update(tree_regressor_d)
30 | para_d.update(xi_forest_opt_d)
31 | para_d.update(warm_start_smbo_d)
32 |
33 |
34 | para_df = pd.DataFrame.from_dict(
35 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
36 | )
37 |
38 |
39 | good_ = """
40 | - Very good performance
41 | """
42 | bad_ = """
43 | - High computational load compared to non-smb-optimizers.
44 | - Should only be used for
45 | computationally expensive objective-functions.
46 | - A large search space forces random sampling of the position space, which
47 | decreases optimizer performance.
48 | """
49 | info_ = """
50 | - High values of `xi` improves the exploration of the search space.
51 | """
52 |
53 |
54 | implementation_ = """
55 | The forest-optimizer shares most of its code base with the bayesian-optimizer. Only its model, to
56 | calculate the expected score and its standard deviation is different. Tree based models do not
57 | calculate the standard deviation by them self. A modification is necessary to determine the
58 | standard deviation from the impurity of the trees in the ensemble.
59 | """
60 |
61 | overview_app_args_d = {
62 | "title": "Forest Optimization",
63 | "_name_": "forest_optimization",
64 | "explanation_": explanation_,
65 | "here_": here_,
66 | "implementation_": implementation_,
67 | "good_": good_,
68 | "bad_": bad_,
69 | "info_": info_,
70 | "para_df": para_df,
71 | }
72 | tree_regressor_args_d = {
73 | "title": "tree_regressor",
74 | "_name_": "tree_regressor",
75 | "explanation_": tree_regressor_intro_,
76 | "here_": here_,
77 | }
78 | xi_args_d = {
79 | "title": "xi",
80 | "_name_": "xi",
81 | "explanation_": xi_intro_,
82 | "here_": here_,
83 | }
84 | warm_start_smbo_args_d = {
85 | "title": "warm_start_smbo",
86 | "_name_": "warm_start_smbo",
87 | "explanation_": warm_start_smbo_intro_,
88 | "here_": here_,
89 | }
90 |
91 | app_d = {
92 | "Overview": (overview_app, overview_app_args_d),
93 | # "tree_regressor": (parameter_app, tree_regressor_args_d),
94 | "xi": (parameter_app, xi_args_d),
95 | # "warm_start_smbo": (parameter_app, warm_start_smbo_args_d),
96 | }
97 |
98 |
99 | def forest_optimization_app(gfo_version):
100 | optimizer_app(app_d)
101 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_generate_parameter_gifs.py:
--------------------------------------------------------------------------------
1 | def warn(*args, **kwargs):
2 | pass
3 |
4 |
5 | import os
6 | import copy
7 | import warnings
8 |
9 | warnings.warn = warn
10 |
11 |
12 | from gradient_free_optimizers import GridSearchOptimizer
13 |
14 |
15 | from surfaces.test_functions import SphereFunction, AckleyFunction
16 | from gradient_free_optimization_plots import search_path_gif
17 |
18 |
19 | n_iter = 150
20 | random_state = 0
21 | optimizer_class = GridSearchOptimizer
22 |
23 | sphere_function = SphereFunction(n_dim=2)
24 | ackley_function = AckleyFunction()
25 |
26 |
27 | hill_climbing_sphere_function_template_d = {
28 | "path": "_images",
29 | "optimizer": optimizer_class,
30 | "n_iter": n_iter,
31 | "objective_function": sphere_function,
32 | "search_space": sphere_function.search_space(min=-5, max=10),
33 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
34 | "random_state": random_state,
35 | }
36 |
37 | hill_climbing_ackley_function_template_d = {
38 | "path": "_images",
39 | "optimizer": optimizer_class,
40 | "n_iter": n_iter,
41 | "objective_function": ackley_function,
42 | "search_space": ackley_function.search_space(min=-5, max=10),
43 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
44 | "random_state": random_state,
45 | }
46 |
47 |
48 | def generate_gifs_step_size_():
49 | step_size_0_d = copy.copy(hill_climbing_sphere_function_template_d)
50 | step_size_1_d = copy.copy(hill_climbing_sphere_function_template_d)
51 | step_size_2_d = copy.copy(hill_climbing_sphere_function_template_d)
52 |
53 | step_size_10_d = copy.copy(hill_climbing_ackley_function_template_d)
54 | step_size_11_d = copy.copy(hill_climbing_ackley_function_template_d)
55 | step_size_12_d = copy.copy(hill_climbing_ackley_function_template_d)
56 |
57 | para1 = 3
58 | para2 = 25
59 | para3 = 120
60 |
61 | step_size_0_d["opt_para"] = {"step_size": para1}
62 | step_size_0_d["name"] = "step_size_0.gif"
63 |
64 | step_size_1_d["opt_para"] = {"step_size": para2}
65 | step_size_1_d["name"] = "step_size_1.gif"
66 |
67 | step_size_2_d["opt_para"] = {"step_size": para3}
68 | step_size_2_d["name"] = "step_size_2.gif"
69 |
70 | step_size_10_d["opt_para"] = {"step_size": para1}
71 | step_size_10_d["name"] = "step_size_3.gif"
72 |
73 | step_size_11_d["opt_para"] = {"step_size": para2}
74 | step_size_11_d["name"] = "step_size_4.gif"
75 |
76 | step_size_12_d["opt_para"] = {"step_size": para3}
77 | step_size_12_d["name"] = "step_size_5.gif"
78 |
79 | search_path_gif(**step_size_0_d)
80 | search_path_gif(**step_size_1_d)
81 | search_path_gif(**step_size_2_d)
82 |
83 | search_path_gif(**step_size_10_d)
84 | search_path_gif(**step_size_11_d)
85 | search_path_gif(**step_size_12_d)
86 |
87 |
88 | generate_gifs_step_size_()
89 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/grid_search_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/grid_search_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/_images/step_size_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/grid_search/_images/step_size_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/grid_search/grid_search_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | step_size_intro_,
13 | )
14 | from parameters_dicts import (
15 | step_size_d,
16 | )
17 |
18 | explanation_ = """
19 | The grid search explores the search space by starting from a corner and progressing `step_size`-steps
20 | per iteration. Increasing the `step_size` enables a more uniform exploration of the search space.
21 | """
22 |
23 | para_d = dict()
24 | para_d.update(step_size_d)
25 |
26 |
27 | para_df = pd.DataFrame.from_dict(
28 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
29 | )
30 |
31 |
32 | good_ = """
33 | - Best method for exploring the search space completly
34 | """
35 | bad_ = """
36 | - Does not adapt its behaviour to the optimization problem.
37 | """
38 | info_ = """
39 | - Increasing the `step_size` is advised for better exploration.
40 | """
41 |
42 |
43 | implementation_ = """
44 | The implementation of this grid-search was realized by
45 | [Thomas Gak-Deluen](https://github.com/tgdn) and his team. The algorithm
46 | works by choosing a direction in the beginning and moving through the search space
47 | one 2-dimensional-plane at a time.
48 | """
49 |
50 | overview_app_args_d = {
51 | "title": "Grid Search",
52 | "_name_": "grid_search",
53 | "explanation_": explanation_,
54 | "here_": here_,
55 | "implementation_": implementation_,
56 | "good_": good_,
57 | "bad_": bad_,
58 | "info_": info_,
59 | "para_df": para_df,
60 | }
61 | step_size_args_d = {
62 | "title": "step_size",
63 | "_name_": "step_size",
64 | "explanation_": step_size_intro_,
65 | "here_": here_,
66 | }
67 |
68 |
69 | app_d = {
70 | "Overview": (overview_app, overview_app_args_d),
71 | "step_size": (parameter_app, step_size_args_d),
72 | }
73 |
74 |
75 | def grid_search_app(gfo_version):
76 | optimizer_app(app_d)
77 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_10.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_11.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_12.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_13.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_13.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_10.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_11.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_12.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_10.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_11.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_12.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/hill_climbing_n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/hill_climbing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/optimizer_template.py:
--------------------------------------------------------------------------------
1 | import streamlit as st
2 |
3 |
4 | def optimizer_app(app_d):
5 | st.sidebar.write("")
6 | radio_select = st.sidebar.radio("Algorithm details:", options=list(app_d.keys()))
7 |
8 | _app_, args_d = app_d[radio_select]
9 | _app_(args_d)
10 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/overview_parameters_template.py:
--------------------------------------------------------------------------------
1 | import os
2 | import streamlit as st
3 |
4 |
5 | def overview_app(argument_d):
6 | title = argument_d["title"]
7 | _name_ = argument_d["_name_"]
8 | explanation_ = argument_d["explanation_"]
9 | here_ = argument_d["here_"]
10 | implementation_ = argument_d["implementation_"]
11 | good_ = argument_d["good_"]
12 | bad_ = argument_d["bad_"]
13 | info_ = argument_d["info_"]
14 | para_df = argument_d["para_df"]
15 |
16 | st.title(title)
17 | st.components.v1.html(
18 | """
""",
19 | height=10,
20 | )
21 | st.write("")
22 | col1, col2, col3 = st.columns((2, 1, 1))
23 |
24 | col1.header("Introduction")
25 | col1.markdown(explanation_)
26 |
27 | col2.image(os.path.join(here_, "_images/" + _name_ + "_0.gif"))
28 | col3.image(os.path.join(here_, "_images/" + _name_ + "_1.gif"))
29 | col2.image(os.path.join(here_, "_images/" + _name_ + "_2.gif"))
30 | col3.image(os.path.join(here_, "_images/" + _name_ + "_3.gif"))
31 | col2.image(os.path.join(here_, "_images/" + _name_ + "_4.gif"))
32 | col3.image(os.path.join(here_, "_images/" + _name_ + "_5.gif"))
33 |
34 | col1.header("About the implementation")
35 | col1.markdown(implementation_)
36 |
37 | col1.header("Characteristics")
38 | col1.success(good_)
39 | col1.error(bad_)
40 | col1.info(info_)
41 |
42 | col1.header("Parameters")
43 | col1.table(para_df)
44 |
45 |
46 | def parameter_app(argument_d):
47 | title = argument_d["title"]
48 | _name_ = argument_d["_name_"]
49 | explanation_ = argument_d["explanation_"]
50 | here_ = argument_d["here_"]
51 |
52 | st.title(title)
53 | st.components.v1.html(
54 | """
""",
55 | height=10,
56 | )
57 | st.write("")
58 | col1, col2, col3, col4 = st.columns((1, 1, 1, 1))
59 |
60 | col1.write("")
61 | col1.markdown(explanation_)
62 |
63 | col2.image(os.path.join(here_, "_images", _name_ + "_0.gif"))
64 | col3.image(os.path.join(here_, "_images", _name_ + "_1.gif"))
65 | col4.image(os.path.join(here_, "_images", _name_ + "_2.gif"))
66 | col2.image(os.path.join(here_, "_images", _name_ + "_3.gif"))
67 | col3.image(os.path.join(here_, "_images", _name_ + "_4.gif"))
68 | col4.image(os.path.join(here_, "_images", _name_ + "_5.gif"))
69 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_random_annealing/_images/parallel_random_annealing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_random_annealing/parallel_random_annealing_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import pandas as pd
3 | import streamlit as st
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 |
8 | explanation_ = """
9 | """
10 |
11 | para_d = {
12 | "Parameter": ["epsilon", "distribution", "n_neighbours"],
13 | "Type": ["float", "string", "int"],
14 | "default": ["0.03", "normal", "3"],
15 | "typical range / possible values": [
16 | "0.01 ... 0.3",
17 | "normal, laplace, logistic, gumbel",
18 | "1 ... 10",
19 | ],
20 | }
21 | para_df = pd.DataFrame(para_d)
22 |
23 |
24 | properties_ = """
25 | - ...
26 | """
27 |
28 |
29 | implementation_ = """
30 | """
31 |
32 |
33 | def parallel_random_annealing_app(gfo_version):
34 | st.title("Parallel Random Annealing")
35 | st.components.v1.html(
36 | """
""",
37 | height=10,
38 | )
39 | st.write("")
40 | col1, col2, col3 = st.columns((2, 1, 1))
41 |
42 | col1.markdown(explanation_)
43 |
44 | col2.image(os.path.join(here_, "_images/parallel_random_annealing_0.gif"))
45 | col3.image(os.path.join(here_, "_images/parallel_random_annealing_1.gif"))
46 | col2.image(os.path.join(here_, "_images/parallel_random_annealing_2.gif"))
47 | col3.image(os.path.join(here_, "_images/parallel_random_annealing_3.gif"))
48 |
49 | col1.subheader("About the implementation")
50 | col1.markdown(implementation_)
51 |
52 | col1.subheader("Available parameters")
53 | col1.table(para_df)
54 |
55 | col1.subheader("Use case")
56 | col1.markdown(properties_)
57 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/n_iter_swap_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/parallel_tempering_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/_images/population_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/parallel_tempering/_images/population_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parallel_tempering/parallel_tempering_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | n_iter_swap_intro_,
13 | population_intro_,
14 | )
15 | from parameters_dicts import (
16 | n_iter_swap_parallel_temp_d,
17 | population_parallel_temp_d,
18 | )
19 |
20 | explanation_ = """
21 | Parallel Tempering initializes multiple simulated annealing searches with different
22 | temperatures and chooses to swap those temperatures with a probability based on
23 | its temperature and difference of current scores.
24 | """
25 |
26 | para_d = dict()
27 | para_d.update(population_parallel_temp_d)
28 | para_d.update(n_iter_swap_parallel_temp_d)
29 |
30 |
31 | para_df = pd.DataFrame.from_dict(
32 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
33 | )
34 |
35 |
36 | good_ = """
37 | - Not as dependend of a good initial position as simulated annealing
38 | - Similar computational load to regular simulated annealing
39 | """
40 | bad_ = """
41 | - Population based optimizers generally need a higher minimum number of iterations
42 | to find a good solution (compared to non-population-based algorithms).
43 | """
44 | info_ = """
45 | - The parameter `n_iter_swap` should be increased if `population` is increased.
46 | """
47 |
48 |
49 | implementation_ = """
50 | The population of the parallel tempering optimizer consists of multiple initializations
51 | of the simulated annealing optimizer class. Each of those receives a random starting temperature.
52 | The algorithm calculates the probability of swapping temperatures
53 | for every combination of annealer instances.
54 | """
55 |
56 | overview_app_args_d = {
57 | "title": "Parallel Tempering",
58 | "_name_": "parallel_tempering",
59 | "explanation_": explanation_,
60 | "here_": here_,
61 | "implementation_": implementation_,
62 | "good_": good_,
63 | "bad_": bad_,
64 | "info_": info_,
65 | "para_df": para_df,
66 | }
67 | population_args_d = {
68 | "title": "population",
69 | "_name_": "population",
70 | "explanation_": population_intro_,
71 | "here_": here_,
72 | }
73 | n_iter_swap_args_d = {
74 | "title": "n_iter_swap",
75 | "_name_": "n_iter_swap",
76 | "explanation_": n_iter_swap_intro_,
77 | "here_": here_,
78 | }
79 |
80 |
81 | app_d = {
82 | "Overview": (overview_app, overview_app_args_d),
83 | "population": (parameter_app, population_args_d),
84 | "n_iter_swap": (parameter_app, n_iter_swap_args_d),
85 | }
86 |
87 |
88 | def parallel_tempering_app(gfo_version):
89 | optimizer_app(app_d)
90 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/parameters_dicts.py:
--------------------------------------------------------------------------------
1 | epsilon_d_ = {
2 | "epsilon": ["float", "0.03", "0.01 ... 0.3"],
3 | }
4 | distribution_d_ = {
5 | "distribution": ["string", "normal", "normal, laplace, logistic, gumbel"],
6 | }
7 | n_neighbours_d_ = {
8 | "n_neighbours": ["int", "3", "1 ... 10"],
9 | }
10 | p_accept_d_ = {
11 | "p_accept": ["float", "0.1", "0.01 ... 10"],
12 | }
13 | repulsion_factor_d = {
14 | "repulsion_factor": ["float", "5", "2 ... 10"],
15 | }
16 | annealing_rate_d = {
17 | "annealing_rate": ["float", "0.97", "0.9 ... 0.99"],
18 | }
19 | start_temp_d = {
20 | "start_temp": ["float", "1", "0.5 ... 1.5"],
21 | }
22 | alpha_d = {
23 | "alpha": ["float", "1", "0.5 ... 2"],
24 | }
25 | gamma_d = {
26 | "gamma": ["float", "2", "0.5 ... 5"],
27 | }
28 | beta_d = {
29 | "beta": ["float", "0.5", "0.25 ... 3"],
30 | }
31 | sigma_d = {
32 | "sigma": ["float", "0.5", "0.25 ... 3"],
33 | }
34 | step_size_d = {
35 | "step_size": ["int", "1", "1 ... 1000"],
36 | }
37 | n_iter_restart_d = {
38 | "n_iter_restart": ["int", "10", "5 ... 20"],
39 | }
40 | iters_p_dim_d = {
41 | "iters_p_dim": ["int", "10", "5 ... 15"],
42 | }
43 | n_positions_d = {
44 | "n_positions": ["int", "4", "2 ... 8"],
45 | }
46 | pattern_size_d = {
47 | "pattern_size": ["float", "0.25", "0.1 ... 0.5"],
48 | }
49 | reduction_d = {
50 | "reduction": ["float", "0.9", "0.75 ... 0.99"],
51 | }
52 | population_parallel_temp_d = {
53 | "population": ["int", "5", "3 ... 15"],
54 | }
55 | n_iter_swap_parallel_temp_d = {
56 | "n_iter_swap": ["int", "10", "5 ... 50"],
57 | }
58 | population_pso_d = {
59 | "population": ["int", "10", "4 ... 15"],
60 | }
61 | inertia_d = {
62 | "inertia": ["float", "0.5", "0.25 ... 0.75"],
63 | }
64 | cognitive_weight_d = {
65 | "cognitive_weight": ["float", "0.5", "0.25 ... 0.75"],
66 | }
67 | social_weight_d = {
68 | "social_weight": ["float", "0.5", "0.25 ... 0.75"],
69 | }
70 | temp_weight_d = {
71 | "temp_weight": ["float", "0.2", "0.05 ... 0.3"],
72 | }
73 | population_evo_strat_d = {
74 | "population": ["int", "10", "4 ... 15"],
75 | }
76 | mutation_rate_d = {
77 | "mutation_rate": ["float", "0.7", "0.1 ... 0.9"],
78 | }
79 | crossover_rate_d = {
80 | "crossover_rate": ["float", "0.3", "0.1 ... 0.9"],
81 | }
82 | gpr_bayes_opt_d = {
83 | "gpr": ["class", "0.3", "-"],
84 | }
85 | xi_bayes_opt_d = {
86 | "xi": ["float", "0.3", "0.1 ... 0.9"],
87 | }
88 | warm_start_smbo_d = {
89 | "warm_start_smbo": ["pandas dataframe", "None", "-"],
90 | }
91 | max_sample_size_d = {
92 | "max_sample_size": ["int", "10000000", "-"],
93 | }
94 | sampling_d = {
95 | "sampling": ["dict", "{'random': 1000000}", "-"],
96 | }
97 | gamma_tpe_d = {
98 | "gamma_tpe": ["float", "0.2", "0.05 ... 0.75"],
99 | }
100 | tree_regressor_d = {
101 | "tree_regressor": [
102 | "string",
103 | "extra_tree",
104 | "extra_tree, random_forest, gradient_boost",
105 | ],
106 | }
107 | tree_para_d = {
108 | "tree_para": ["dict", "{'n_estimators': 100}", "-"],
109 | }
110 | xi_forest_opt_d = {
111 | "xi": ["float", "0.03", "0.001 ... 0.1"],
112 | }
113 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/cognitive_weight_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/inertia_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/particle_swarm_optimization_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/population_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/particle_swarm_optimization/_images/social_weight_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/n_positions_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/n_positions_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_search_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/pattern_size_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/_images/reduction_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/pattern_search/_images/reduction_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/pattern_search/pattern_search_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | n_positions_intro_,
13 | pattern_size_intro_,
14 | reduction_intro_,
15 | )
16 | from parameters_dicts import (
17 | n_positions_d,
18 | pattern_size_d,
19 | reduction_d,
20 | )
21 |
22 | explanation_ = """
23 | The pattern search works by initializing a cross-shaped collection of positions in the
24 | search space. When all positions in the cross are evaluated the center of the cross moves
25 | to the best position. This leads to new positions inside the cross that have not been
26 | evaluated. If non of the positions have a better score than the center position the cross
27 | shrinks by the `reduction`-factor creating new positions inside the cross.
28 | """
29 |
30 | para_d = dict()
31 | para_d.update(n_positions_d)
32 | para_d.update(pattern_size_d)
33 | para_d.update(reduction_d)
34 |
35 |
36 | para_df = pd.DataFrame.from_dict(
37 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
38 | )
39 |
40 |
41 | good_ = """
42 | - Expect good results for convex and nonconvex optimization problems.
43 | """
44 | bad_ = """
45 | - After converging to a solution the algorithm will not continue to explore
46 | the search space.
47 | """
48 | info_ = """
49 | - The `n_positions` should be increased for high number of search space dimensions.
50 | """
51 |
52 |
53 | implementation_ = """
54 | Similar to a population based optimization algorithm the pattern search has a list of information
55 | about the positions and their scores to form the pattern.
56 | As the pattern moves through the search space this information gets updated.
57 | """
58 |
59 | overview_app_args_d = {
60 | "title": "Pattern Search",
61 | "_name_": "pattern_search",
62 | "explanation_": explanation_,
63 | "here_": here_,
64 | "implementation_": implementation_,
65 | "good_": good_,
66 | "bad_": bad_,
67 | "info_": info_,
68 | "para_df": para_df,
69 | }
70 | n_positions_args_d = {
71 | "title": "n_positions",
72 | "_name_": "n_positions",
73 | "explanation_": n_positions_intro_,
74 | "here_": here_,
75 | }
76 | pattern_size_args_d = {
77 | "title": "pattern_size",
78 | "_name_": "pattern_size",
79 | "explanation_": pattern_size_intro_,
80 | "here_": here_,
81 | }
82 | reduction_args_d = {
83 | "title": "reduction",
84 | "_name_": "reduction",
85 | "explanation_": reduction_intro_,
86 | "here_": here_,
87 | }
88 |
89 |
90 | app_d = {
91 | "Overview": (overview_app, overview_app_args_d),
92 | "n_positions": (parameter_app, n_positions_args_d),
93 | "pattern_size": (parameter_app, pattern_size_args_d),
94 | "reduction": (parameter_app, reduction_args_d),
95 | }
96 |
97 |
98 | def pattern_search_app(gfo_version):
99 | optimizer_app(app_d)
100 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_generate_parameter_gifs.py:
--------------------------------------------------------------------------------
1 | def warn(*args, **kwargs):
2 | pass
3 |
4 |
5 | import os
6 | import copy
7 | import warnings
8 |
9 | warnings.warn = warn
10 |
11 |
12 | from gradient_free_optimizers import PowellsMethod
13 |
14 |
15 | from surfaces.test_functions import SphereFunction, AckleyFunction
16 | from gradient_free_optimization_plots import search_path_gif
17 |
18 |
19 | n_iter = 150
20 | random_state = 0
21 | optimizer_class = PowellsMethod
22 |
23 | sphere_function = SphereFunction(n_dim=2)
24 | ackley_function = AckleyFunction()
25 |
26 |
27 | hill_climbing_sphere_function_template_d = {
28 | "path": "_images",
29 | "optimizer": optimizer_class,
30 | "n_iter": n_iter,
31 | "objective_function": sphere_function,
32 | "search_space": sphere_function.search_space(min=-5, max=10),
33 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
34 | "random_state": random_state,
35 | }
36 |
37 | hill_climbing_ackley_function_template_d = {
38 | "path": "_images",
39 | "optimizer": optimizer_class,
40 | "n_iter": n_iter,
41 | "objective_function": ackley_function,
42 | "search_space": ackley_function.search_space(min=-5, max=10),
43 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
44 | "random_state": random_state,
45 | }
46 |
47 |
48 | def generate_gifs_iters_p_dim_():
49 | iters_p_dim_0_d = copy.copy(hill_climbing_sphere_function_template_d)
50 | iters_p_dim_1_d = copy.copy(hill_climbing_sphere_function_template_d)
51 | iters_p_dim_2_d = copy.copy(hill_climbing_sphere_function_template_d)
52 |
53 | iters_p_dim_10_d = copy.copy(hill_climbing_ackley_function_template_d)
54 | iters_p_dim_11_d = copy.copy(hill_climbing_ackley_function_template_d)
55 | iters_p_dim_12_d = copy.copy(hill_climbing_ackley_function_template_d)
56 |
57 | para1 = 5
58 | para2 = 8
59 | para3 = 15
60 |
61 | iters_p_dim_0_d["opt_para"] = {"iters_p_dim": para1}
62 | iters_p_dim_0_d["name"] = "iters_p_dim_0.gif"
63 |
64 | iters_p_dim_1_d["opt_para"] = {"iters_p_dim": para2}
65 | iters_p_dim_1_d["name"] = "iters_p_dim_1.gif"
66 |
67 | iters_p_dim_2_d["opt_para"] = {"iters_p_dim": para3}
68 | iters_p_dim_2_d["name"] = "iters_p_dim_2.gif"
69 |
70 | iters_p_dim_10_d["opt_para"] = {"iters_p_dim": para1}
71 | iters_p_dim_10_d["name"] = "iters_p_dim_3.gif"
72 |
73 | iters_p_dim_11_d["opt_para"] = {"iters_p_dim": para2}
74 | iters_p_dim_11_d["name"] = "iters_p_dim_4.gif"
75 |
76 | iters_p_dim_12_d["opt_para"] = {"iters_p_dim": para3}
77 | iters_p_dim_12_d["name"] = "iters_p_dim_5.gif"
78 |
79 | search_path_gif(**iters_p_dim_0_d)
80 | search_path_gif(**iters_p_dim_1_d)
81 | search_path_gif(**iters_p_dim_2_d)
82 |
83 | search_path_gif(**iters_p_dim_10_d)
84 | search_path_gif(**iters_p_dim_11_d)
85 | search_path_gif(**iters_p_dim_12_d)
86 |
87 |
88 | generate_gifs_iters_p_dim_()
89 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/iters_p_dim_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/_images/powells_method_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/powells_method/_images/powells_method_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/powells_method/powells_method_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | iters_p_dim_intro_,
13 | )
14 | from parameters_dicts import (
15 | iters_p_dim_d,
16 | )
17 |
18 | explanation_ = """
19 | This powell's method implementation works by optimizing each search space dimension at a
20 | time with a hill climbing algorithm. This works by setting the
21 | search space range for all dimensions except one to a single value. The hill climbing
22 | algorithms searches the best position within this dimension.
23 | After `iters_p_dim` iterations the next dimension is searched, while the
24 | search space range from the previously searched dimension is set to the best position,
25 | This way the algorithm finds new best positions one dimension at a time.
26 | """
27 |
28 | para_d = dict()
29 | para_d.update(iters_p_dim_d)
30 |
31 |
32 | para_df = pd.DataFrame.from_dict(
33 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
34 | )
35 |
36 |
37 | good_ = """
38 | - Expect good results for convex and nonconvex optimization problems.
39 | """
40 | bad_ = """
41 | - After converging to a solution the algorithm will not continue to explore
42 | the search space.
43 | """
44 | info_ = """
45 | - The first few iterations in each dimension are random initialization
46 | steps.
47 | """
48 |
49 |
50 | implementation_ = """
51 | The powell's method implemented in Gradient-Free-Optimizers does only see one dimension at a time.
52 | This differs from the original idea of creating (and searching through)
53 | one search-vector at a time, that spans through multiple dimensions.
54 | """
55 |
56 | overview_app_args_d = {
57 | "title": "Powell's Method",
58 | "_name_": "powells_method",
59 | "explanation_": explanation_,
60 | "here_": here_,
61 | "implementation_": implementation_,
62 | "good_": good_,
63 | "bad_": bad_,
64 | "info_": info_,
65 | "para_df": para_df,
66 | }
67 | iters_p_dim_args_d = {
68 | "title": "iters_p_dim",
69 | "_name_": "iters_p_dim",
70 | "explanation_": iters_p_dim_intro_,
71 | "here_": here_,
72 | }
73 |
74 |
75 | app_d = {
76 | "Overview": (overview_app, overview_app_args_d),
77 | "iters_p_dim": (parameter_app, iters_p_dim_args_d),
78 | }
79 |
80 |
81 | def powells_method_app(gfo_version):
82 | optimizer_app(app_d)
83 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/annealing_rate_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/random_annealing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_annealing/_images/start_temp_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_annealing/_images/start_temp_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_iter_restart_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_restart_hill_climbing/_images/random_restart_hill_climbing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_restart_hill_climbing/random_restart_hill_climbing_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | epsilon_intro_,
13 | distribution_intro_,
14 | n_neighbours_intro_,
15 | n_iter_restart_intro_,
16 | )
17 | from parameters_dicts import (
18 | epsilon_d_,
19 | distribution_d_,
20 | n_neighbours_d_,
21 | n_iter_restart_d,
22 | )
23 |
24 | explanation_ = """
25 | Random restart hill climbing works by starting a hill climbing search and jumping to a random
26 | new position after `n_iter_restart` iterations.
27 | Those restarts should prevent the algorithm getting stuck in local optima.
28 | """
29 |
30 | para_d = dict()
31 | para_d.update(epsilon_d_)
32 | para_d.update(distribution_d_)
33 | para_d.update(n_neighbours_d_)
34 | para_d.update(n_iter_restart_d)
35 |
36 |
37 | para_df = pd.DataFrame.from_dict(
38 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
39 | )
40 |
41 |
42 | good_ = """
43 | - Expect good results for convex and nonconvex optimization problems.
44 | """
45 | bad_ = """
46 | - Worse than regular hill climbing algorithm for convex optimization
47 | - Does not intelligently decide when to restart
48 | """
49 | info_ = """
50 | - Similar to random search for low values of `n_iter_restart`
51 | """
52 |
53 |
54 | implementation_ = """
55 | The random restart hill climbing inherits its behaviour from the regular hill climbing and
56 | expands it by jumping to a random position during the iteration step.
57 | """
58 |
59 | overview_app_args_d = {
60 | "title": "Random Restart Hill Climbing Optimizer",
61 | "_name_": "random_restart_hill_climbing",
62 | "explanation_": explanation_,
63 | "here_": here_,
64 | "implementation_": implementation_,
65 | "good_": good_,
66 | "bad_": bad_,
67 | "info_": info_,
68 | "para_df": para_df,
69 | }
70 | epsilon_args_d = {
71 | "title": "epsilon",
72 | "_name_": "epsilon",
73 | "explanation_": epsilon_intro_,
74 | "here_": here_,
75 | }
76 | distribution_args_d = {
77 | "title": "distribution",
78 | "_name_": "distribution",
79 | "explanation_": distribution_intro_,
80 | "here_": here_,
81 | }
82 | n_neighbours_args_d = {
83 | "title": "n_neighbours",
84 | "_name_": "n_neighbours",
85 | "explanation_": n_neighbours_intro_,
86 | "here_": here_,
87 | }
88 | n_iter_restart_args_d = {
89 | "title": "n_iter_restart",
90 | "_name_": "n_iter_restart",
91 | "explanation_": n_iter_restart_intro_,
92 | "here_": here_,
93 | }
94 |
95 |
96 | app_d = {
97 | "Overview": (overview_app, overview_app_args_d),
98 | "epsilon": (parameter_app, epsilon_args_d),
99 | "distribution": (parameter_app, distribution_args_d),
100 | "n_neighbours": (parameter_app, n_neighbours_args_d),
101 | "n_iter_restart": (parameter_app, n_iter_restart_args_d),
102 | }
103 |
104 |
105 | def random_restart_hill_climbing_app(gfo_version):
106 | optimizer_app(app_d)
107 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/_images/random_search_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/random_search/_images/random_search_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/random_search/random_search_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 |
12 |
13 | explanation_ = """
14 | The random search explores by choosing a new position at random after each iteration.
15 | Some random search implementations choose a new position within a large hypersphere around
16 | the current position. The implementation in hyperactive is purely random across the
17 | search space in each step.
18 | """
19 |
20 | para_d = dict()
21 | para_d.update({})
22 |
23 |
24 | para_df = pd.DataFrame.from_dict(
25 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
26 | )
27 |
28 |
29 | good_ = """
30 | - Very good as a first method of optimization or to start exploring the search space
31 | - For a short optimization run to get an acceptable solution
32 | """
33 | bad_ = """
34 | - Does not adapt its behaviour to the optimization problem.
35 | """
36 | info_ = """
37 | - This algorithm is often selected if we do not have much information about the
38 | optimization problem.
39 | - It is often used as a reference to compare its results to more sophisticated algorithms
40 | (like bayesian optimization).
41 | """
42 |
43 |
44 | implementation_ = """
45 | The random search is a very simple algorithm that has no parameters to change its behaviour.
46 | In each iteration the random position is selected via random.choice
47 | from a list of possible positions.
48 | """
49 |
50 | overview_app_args_d = {
51 | "title": "Random Search",
52 | "_name_": "random_search",
53 | "explanation_": explanation_,
54 | "here_": here_,
55 | "implementation_": implementation_,
56 | "good_": good_,
57 | "bad_": bad_,
58 | "info_": info_,
59 | "para_df": para_df,
60 | }
61 |
62 |
63 | app_d = {
64 | "Overview": (overview_app, overview_app_args_d),
65 | }
66 |
67 |
68 | def random_search_app(gfo_version):
69 | optimizer_app(app_d)
70 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsing_hill_climbing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/repulsing_hill_climbing/_images/repulsion_factor_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/annealing_rate_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/simulated_annealing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/simulated_annealing/_images/start_temp_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/distribution_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/epsilon_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/n_neighbours_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/p_accept_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/stochastic_hill_climbing/_images/stochastic_hill_climbing_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_generate_parameter_gifs.py:
--------------------------------------------------------------------------------
1 | def warn(*args, **kwargs):
2 | pass
3 |
4 |
5 | import os
6 | import copy
7 | import warnings
8 |
9 | warnings.warn = warn
10 |
11 |
12 | from gradient_free_optimizers import TreeStructuredParzenEstimators
13 |
14 |
15 | from surfaces.test_functions import SphereFunction, AckleyFunction
16 | from gradient_free_optimization_plots import search_path_gif
17 |
18 |
19 | n_iter = 150
20 | random_state = 0
21 | optimizer_class = TreeStructuredParzenEstimators
22 |
23 | sphere_function = SphereFunction(n_dim=2)
24 | ackley_function = AckleyFunction()
25 |
26 |
27 | hill_climbing_sphere_function_template_d = {
28 | "path": "_images",
29 | "optimizer": optimizer_class,
30 | "n_iter": n_iter,
31 | "objective_function": sphere_function,
32 | "search_space": sphere_function.search_space(min=-5, max=10),
33 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
34 | "random_state": random_state,
35 | }
36 |
37 | hill_climbing_ackley_function_template_d = {
38 | "path": "_images",
39 | "optimizer": optimizer_class,
40 | "n_iter": n_iter,
41 | "objective_function": ackley_function,
42 | "search_space": ackley_function.search_space(min=-5, max=10),
43 | "initialize": {"warm_start": [{"x0": 8, "x1": 8}], "vertices": 4},
44 | "random_state": random_state,
45 | }
46 |
47 |
48 | def generate_gifs_gamma_tpe_():
49 | gamma_tpe_0_d = copy.copy(hill_climbing_sphere_function_template_d)
50 | gamma_tpe_1_d = copy.copy(hill_climbing_sphere_function_template_d)
51 | gamma_tpe_2_d = copy.copy(hill_climbing_sphere_function_template_d)
52 |
53 | gamma_tpe_10_d = copy.copy(hill_climbing_ackley_function_template_d)
54 | gamma_tpe_11_d = copy.copy(hill_climbing_ackley_function_template_d)
55 | gamma_tpe_12_d = copy.copy(hill_climbing_ackley_function_template_d)
56 |
57 | para1 = 0.05
58 | para2 = 0.1
59 | para3 = 0.75
60 |
61 | gamma_tpe_0_d["opt_para"] = {"gamma_tpe": para1}
62 | gamma_tpe_0_d["name"] = "gamma_tpe_0.gif"
63 |
64 | gamma_tpe_1_d["opt_para"] = {"gamma_tpe": para2}
65 | gamma_tpe_1_d["name"] = "gamma_tpe_1.gif"
66 |
67 | gamma_tpe_2_d["opt_para"] = {"gamma_tpe": para3}
68 | gamma_tpe_2_d["name"] = "gamma_tpe_2.gif"
69 |
70 | gamma_tpe_10_d["opt_para"] = {"gamma_tpe": para1}
71 | gamma_tpe_10_d["name"] = "gamma_tpe_3.gif"
72 |
73 | gamma_tpe_11_d["opt_para"] = {"gamma_tpe": para2}
74 | gamma_tpe_11_d["name"] = "gamma_tpe_4.gif"
75 |
76 | gamma_tpe_12_d["opt_para"] = {"gamma_tpe": para3}
77 | gamma_tpe_12_d["name"] = "gamma_tpe_5.gif"
78 |
79 | search_path_gif(**gamma_tpe_0_d)
80 | search_path_gif(**gamma_tpe_1_d)
81 | search_path_gif(**gamma_tpe_2_d)
82 |
83 | search_path_gif(**gamma_tpe_10_d)
84 | search_path_gif(**gamma_tpe_11_d)
85 | search_path_gif(**gamma_tpe_12_d)
86 |
87 |
88 | generate_gifs_gamma_tpe_()
89 |
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/gamma_tpe_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_0.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_1.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_2.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_3.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_4.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial/optimizers/tree_structured_parzen_estimators/_images/tree_structured_parzen_estimators_5.gif
--------------------------------------------------------------------------------
/optimization_tutorial/optimizers/tree_structured_parzen_estimators/tree_structured_parzen_estimators_app.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 | import pandas as pd
4 |
5 | here_ = os.path.dirname(os.path.realpath(__file__))
6 |
7 | sys.path.append(os.path.join(here_, ".."))
8 |
9 | from optimizer_template import optimizer_app
10 | from overview_parameters_template import overview_app, parameter_app
11 | from parameters_info import (
12 | gamma_tpe_intro_,
13 | warm_start_smbo_intro_,
14 | )
15 | from parameters_dicts import (
16 | gamma_tpe_d,
17 | warm_start_smbo_d,
18 | )
19 |
20 | explanation_ = """
21 | Tree of Parzen Estimators also chooses new positions by calculating the expected improvement.
22 | It does so by calculating the ratio of probability being among the best positions and
23 | the worst positions. Those probabilities are determined with a kernel density estimator,
24 | that is trained on alrady evaluated positions.
25 | """
26 |
27 | para_d = dict()
28 | para_d.update(gamma_tpe_d)
29 | para_d.update(warm_start_smbo_d)
30 |
31 |
32 | para_df = pd.DataFrame.from_dict(
33 | para_d, orient="index", columns=("type", "default", "typical range/possible values")
34 | )
35 |
36 |
37 | good_ = """
38 | - Very good performance
39 | """
40 | bad_ = """
41 | - High computational load compared to non-smb-optimizers.
42 | - Should only be used for
43 | computationally expensive objective-functions.
44 | - A large search space forces random sampling of the position space, which
45 | decreases optimizer performance.
46 | """
47 | info_ = """
48 | - High values of `xi` improves the exploration of the search space.
49 | """
50 |
51 |
52 | implementation_ = """
53 | Similar to other sequence-model-based optimization algorithms the positions and scores
54 | of previous evaluations are saved as features and targets to train a machine learning algorithm.
55 | For the tree structured parzen estimators we use two kernel density estimators that get
56 | the training data from the best and worst positions to calculate the expected improvement.
57 | """
58 |
59 | overview_app_args_d = {
60 | "title": "Tree Structured Parzen Estimators",
61 | "_name_": "tree_structured_parzen_estimators",
62 | "explanation_": explanation_,
63 | "here_": here_,
64 | "implementation_": implementation_,
65 | "good_": good_,
66 | "bad_": bad_,
67 | "info_": info_,
68 | "para_df": para_df,
69 | }
70 | gamma_tpe_args_d = {
71 | "title": "gamma_tpe",
72 | "_name_": "gamma_tpe",
73 | "explanation_": gamma_tpe_intro_,
74 | "here_": here_,
75 | }
76 | warm_start_smbo_args_d = {
77 | "title": "warm_start_smbo",
78 | "_name_": "warm_start_smbo",
79 | "explanation_": warm_start_smbo_intro_,
80 | "here_": here_,
81 | }
82 |
83 | app_d = {
84 | "Overview": (overview_app, overview_app_args_d),
85 | "gamma_tpe": (parameter_app, gamma_tpe_args_d),
86 | # "warm_start_smbo": (parameter_app, warm_start_smbo_args_d),
87 | }
88 |
89 |
90 | def tree_structured_parzen_estimators_app(gfo_version):
91 | optimizer_app(app_d)
92 |
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/docs/css/extra.css:
--------------------------------------------------------------------------------
1 | h1 {
2 | font-size: 60px !important;
3 | margin: 0rem 0rem 2rem 0rem !important;
4 | /* border-bottom: solid 1px rgb(0, 0, 0, 0.15); */
5 | }
6 |
7 | h2 {
8 | padding: 0px 0px 3px 0px !important;
9 | margin: 3rem 0rem 1rem 0rem !important;
10 | border-bottom: solid 3px rgb(70, 150, 236);
11 | }
12 |
13 | h3 {
14 | padding: 0px 0px 0px 3px !important;
15 | margin: 2rem 0rem 0rem 0rem !important;
16 | border-left: solid 3px rgb(70, 150, 236);
17 | }
18 |
19 |
20 |
21 | @media only screen and (min-width: 76.25em) {
22 | .md-main__inner {
23 | max-width: 80%;
24 | }
25 |
26 | .md-sidebar--primary {
27 | left: 1;
28 |
29 | }
30 |
31 | .md-sidebar--secondary {
32 | right: 5;
33 | margin-left: 5;
34 | -webkit-transform: none;
35 | transform: none;
36 | }
37 |
38 |
39 | }
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/docs/index.md:
--------------------------------------------------------------------------------
1 | # Optimization Tutorial
2 |
3 |
4 | ## About
5 |
6 |
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/docs/optimizers/hill_climbing/assets/ackley_function.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial_new/mkdocs_pages/docs/optimizers/hill_climbing/assets/ackley_function.gif
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/docs/optimizers/hill_climbing/assets/sphere_function.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/optimization_tutorial_new/mkdocs_pages/docs/optimizers/hill_climbing/assets/sphere_function.gif
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/docs/optimizers/hill_climbing/page.md:
--------------------------------------------------------------------------------
1 | # Hill Climbing
2 |
3 | ## Introduction
4 |
5 |
6 | {: style="height:32vh" align="right"} Hill climbing is a heuristic search algorithm used for mathematical optimization problems. It belongs to the family of local search algorithms and is used for finding a solution that maximizes or minimizes a particular objective function.
7 |
8 |
9 | ## Explanation
10 |
11 |
12 | ### Pseudo Code
13 |
14 |
15 |
16 | ## Parameters
17 |
18 | ### Epsilon
19 |
20 | ### N-Neighbours
21 |
22 | ### Distribution
23 |
24 |
25 | ## Visualization
26 |
27 | {: style="height:42vh"}
28 | {: style="height:42vh"}
29 |
--------------------------------------------------------------------------------
/optimization_tutorial_new/mkdocs_pages/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: Optimization Tutorial
2 | repo_url: https://github.com/SimonBlanke/optimization-tutorial
3 |
4 | markdown_extensions:
5 | - attr_list
6 | - md_in_html
7 | - pymdownx.highlight:
8 | anchor_linenums: true
9 | - pymdownx.inlinehilite
10 | - pymdownx.snippets
11 | - pymdownx.superfences
12 | - pymdownx.arithmatex:
13 | generic: true
14 | - admonition
15 | - pymdownx.details
16 | - toc:
17 | title: On this page
18 |
19 | plugins:
20 | - glightbox
21 | - macros
22 |
23 | theme:
24 | name: material
25 |
26 | icon:
27 | repo: fontawesome/brands/square-github
28 |
29 | palette:
30 | # Palette toggle for light mode
31 | - scheme: default
32 | primary: blue grey
33 | accent: deep purple
34 | toggle:
35 | icon: material/brightness-5
36 | name: Switch to dark mode
37 |
38 | # Palette toggle for dark mode
39 | - scheme: slate
40 | primary: blue grey
41 | accent: deep purple
42 | toggle:
43 | icon: material/brightness-3
44 | name: Switch to light mode
45 |
46 | features:
47 | - navigation.indexes
48 |
49 | extra_css:
50 | - css/extra.css
51 |
52 | extra_javascript:
53 | - javascripts/mathjax.js
54 | - https://polyfill.io/v3/polyfill.min.js?features=es6
55 | - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
56 |
57 | extra:
58 | social:
59 | - icon: fontawesome/brands/twitter
60 | link: https://twitter.com/blanke_simon
61 | - icon: fontawesome/brands/github
62 | link: https://github.com/SimonBlanke/
63 | - icon: fontawesome/brands/linkedin
64 | link: https://www.linkedin.com/in/simon-blanke/
65 |
66 | nav:
67 | - Home:
68 | - Optimization Tutorial: index.md
69 |
70 | - Optimization Algorithms:
71 | - Optimization Template: optimizers/hill_climbing/page.md
72 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | numpy
2 | pandas
3 | streamlit==1.29.0
4 |
--------------------------------------------------------------------------------
/scripts/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/scripts/__init__.py
--------------------------------------------------------------------------------
/scripts/search_path_gif/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SimonBlanke/optimization-tutorial/19b77c29b87f6db52bccd0316e32b6e809078db9/scripts/search_path_gif/__init__.py
--------------------------------------------------------------------------------