Passed
Push — master ( 0f0b8d...36e873 )
by Simon
01:29
created

tests.test_optimizers.test_opt_algos_simple   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 62
dl 0
loc 73
rs 10
c 0
b 0
f 0
wmc 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A test_opt_algos_0() 0 8 1
1
from gradient_free_optimizers.optimizers import search_tracker
2
import pytest
3
4
from gradient_free_optimizers import (
5
    HillClimbingOptimizer,
6
    StochasticHillClimbingOptimizer,
7
    RepulsingHillClimbingOptimizer,
8
    SimulatedAnnealingOptimizer,
9
    DownhillSimplexOptimizer,
10
    RandomSearchOptimizer,
11
    GridSearchOptimizer,
12
    RandomRestartHillClimbingOptimizer,
13
    PowellsMethod,
14
    PatternSearch,
15
    RandomAnnealingOptimizer,
16
    ParallelTemperingOptimizer,
17
    ParticleSwarmOptimizer,
18
    EvolutionStrategyOptimizer,
19
    BayesianOptimizer,
20
    TreeStructuredParzenEstimators,
21
    ForestOptimizer,
22
    OneDimensionalBayesianOptimization,
23
    ParallelAnnealingOptimizer,
24
    EnsembleOptimizer,
25
    LocalBayesianOptimizer,
26
    VariableResolutionBayesianOptimizer,
27
    EvoSubSpaceBayesianOptimizer,
28
)
29
30
from surfaces.test_functions import SphereFunction
31
32
optimizers = (
33
    "Optimizer",
34
    [
35
        (HillClimbingOptimizer),
36
        (StochasticHillClimbingOptimizer),
37
        (RepulsingHillClimbingOptimizer),
38
        (SimulatedAnnealingOptimizer),
39
        (DownhillSimplexOptimizer),
40
        (RandomSearchOptimizer),
41
        (GridSearchOptimizer),
42
        (RandomRestartHillClimbingOptimizer),
43
        (PowellsMethod),
44
        (PatternSearch),
45
        (RandomAnnealingOptimizer),
46
        (ParallelTemperingOptimizer),
47
        (ParticleSwarmOptimizer),
48
        (EvolutionStrategyOptimizer),
49
        (BayesianOptimizer),
50
        (TreeStructuredParzenEstimators),
51
        (ForestOptimizer),
52
        (OneDimensionalBayesianOptimization),
53
        (ParallelAnnealingOptimizer),
54
        (EnsembleOptimizer),
55
        (LocalBayesianOptimizer),
56
        (VariableResolutionBayesianOptimizer),
57
        (EvoSubSpaceBayesianOptimizer),
58
    ],
59
)
60
61
62
sphere_function = SphereFunction(n_dim=2, metric="score")
63
64
65
@pytest.mark.parametrize(*optimizers)
66
def test_opt_algos_0(Optimizer):
67
    opt = Optimizer(sphere_function.search_space())
68
    opt.search(sphere_function, n_iter=15)
69
70
    _ = opt.best_para
71
    _ = opt.best_score
72
    _ = opt.search_data
73