Passed
Push — master ( 530393...1bac85 )
by Simon
01:30
created

create_search_path_gifs.warn()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
def warn(*args, **kwargs):
2
    pass
3
4
5
import warnings
6
7
warnings.warn = warn
8
9
import os
10
import numpy as np
11
12
13
from gradient_free_optimizers import (
14
    HillClimbingOptimizer,
15
    StochasticHillClimbingOptimizer,
16
    RepulsingHillClimbingOptimizer,
17
    SimulatedAnnealingOptimizer,
18
    DownhillSimplexOptimizer,
19
    RandomSearchOptimizer,
20
    GridSearchOptimizer,
21
    RandomRestartHillClimbingOptimizer,
22
    PowellsMethod,
23
    PatternSearch,
24
    LipschitzOptimizer,
25
    DirectAlgorithm,
26
    RandomAnnealingOptimizer,
27
    ParallelTemperingOptimizer,
28
    ParticleSwarmOptimizer,
29
    SpiralOptimization,
30
    EvolutionStrategyOptimizer,
31
    BayesianOptimizer,
32
    TreeStructuredParzenEstimators,
33
    ForestOptimizer,
34
)
35
from surfaces.test_functions import SphereFunction, AckleyFunction
36
37
from search_path_gif import search_path_gif
38
39
here = os.path.dirname(os.path.abspath(__file__))
40
41
search_space = {
42
    "x0": np.arange(-2, 8, 0.1),
43
    "x1": np.arange(-2, 8, 0.1),
44
}
45
46
initialize_1 = {
47
    "warm_start": [{"x0": 7, "x1": 7}],
48
}
49
initialize_pop = {"vertices": 4}
50
random_state = 23
51
52
sphere_function = SphereFunction(n_dim=2)
53
ackley_function = AckleyFunction()
54
55
objective_function_l = [sphere_function, ackley_function]
56
57
optimizer_l = [
58
    HillClimbingOptimizer,
59
    StochasticHillClimbingOptimizer,
60
    RepulsingHillClimbingOptimizer,
61
    SimulatedAnnealingOptimizer,
62
    DownhillSimplexOptimizer,
63
    RandomSearchOptimizer,
64
    GridSearchOptimizer,
65
    RandomRestartHillClimbingOptimizer,
66
    PowellsMethod,
67
    PatternSearch,
68
    LipschitzOptimizer,
69
    DirectAlgorithm,
70
    RandomAnnealingOptimizer,
71
    ParallelTemperingOptimizer,
72
    ParticleSwarmOptimizer,
73
    SpiralOptimization,
74
    EvolutionStrategyOptimizer,
75
    BayesianOptimizer,
76
    TreeStructuredParzenEstimators,
77
    ForestOptimizer,
78
]
79
"""
80
81
"""
82
83
for objective_function in objective_function_l:
84
    for optimizer in optimizer_l:
85
        if optimizer.computationally_expensive:
86
            n_iter = 50
87
        else:
88
            n_iter = 150
89
90
        if optimizer.optimizer_type == "population":
91
            initialize = initialize_pop
92
        else:
93
            initialize = initialize_1
94
95
        para_dict = {
96
            "path": os.path.join(here, "gifs"),
97
            "optimizer": optimizer,
98
            "opt_para": {},
99
            "name": optimizer._name_ + "_" + objective_function._name_ + "_" + ".gif",
100
            "n_iter": n_iter,
101
            "objective_function": objective_function,
102
            "search_space": search_space,
103
            "initialize": initialize,
104
            "random_state": random_state,
105
        }
106
        search_path_gif(**para_dict)
107