Passed
Push — master ( e7c03a...75b792 )
by Simon
05:35
created

hyperactive.optimizers.optimizers   A

Complexity

Total Complexity 23

Size/Duplication

Total Lines 171
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 118
dl 0
loc 171
rs 10
c 0
b 0
f 0
wmc 23

23 Methods

Rating   Name   Duplication   Size   Complexity  
A HillClimbingOptimizer.__init__() 0 3 1
A PowellsMethod.__init__() 0 3 1
A GridSearchOptimizer.__init__() 0 3 1
A ParallelTemperingOptimizer.__init__() 0 3 1
A RandomRestartHillClimbingOptimizer.__init__() 0 3 1
A StochasticHillClimbingOptimizer.__init__() 0 3 1
A RandomAnnealingOptimizer.__init__() 0 3 1
A RepulsingHillClimbingOptimizer.__init__() 0 3 1
A RandomSearchOptimizer.__init__() 0 3 1
A ParticleSwarmOptimizer.__init__() 0 3 1
A SimulatedAnnealingOptimizer.__init__() 0 3 1
A PatternSearch.__init__() 0 3 1
A DownhillSimplexOptimizer.__init__() 0 3 1
A GeneticAlgorithmOptimizer.__init__() 0 3 1
A BayesianOptimizer.__init__() 0 3 1
A EnsembleOptimizer.__init__() 0 3 1
A ForestOptimizer.__init__() 0 3 1
A SpiralOptimization.__init__() 0 3 1
A EvolutionStrategyOptimizer.__init__() 0 3 1
A TreeStructuredParzenEstimators.__init__() 0 3 1
A DifferentialEvolutionOptimizer.__init__() 0 3 1
A LipschitzOptimizer.__init__() 0 3 1
A DirectAlgorithm.__init__() 0 3 1
1
# Author: Simon Blanke
2
# Email: [email protected]
3
# License: MIT License
4
5
6
from .hyper_optimizer import HyperOptimizer
7
8
from gradient_free_optimizers import (
9
    HillClimbingOptimizer as _HillClimbingOptimizer,
10
    StochasticHillClimbingOptimizer as _StochasticHillClimbingOptimizer,
11
    RepulsingHillClimbingOptimizer as _RepulsingHillClimbingOptimizer,
12
    SimulatedAnnealingOptimizer as _SimulatedAnnealingOptimizer,
13
    DownhillSimplexOptimizer as _DownhillSimplexOptimizer,
14
    RandomSearchOptimizer as _RandomSearchOptimizer,
15
    GridSearchOptimizer as _GridSearchOptimizer,
16
    RandomRestartHillClimbingOptimizer as _RandomRestartHillClimbingOptimizer,
17
    RandomAnnealingOptimizer as _RandomAnnealingOptimizer,
18
    PowellsMethod as _PowellsMethod,
19
    PatternSearch as _PatternSearch,
20
    ParallelTemperingOptimizer as _ParallelTemperingOptimizer,
21
    ParticleSwarmOptimizer as _ParticleSwarmOptimizer,
22
    SpiralOptimization as _SpiralOptimization_,
23
    GeneticAlgorithmOptimizer as _GeneticAlgorithmOptimizer,
24
    EvolutionStrategyOptimizer as _EvolutionStrategyOptimizer,
25
    DifferentialEvolutionOptimizer as _DifferentialEvolutionOptimizer,
26
    BayesianOptimizer as _BayesianOptimizer,
27
    LipschitzOptimizer as _LipschitzOptimizer_,
28
    DirectAlgorithm as _DirectAlgorithm_,
29
    TreeStructuredParzenEstimators as _TreeStructuredParzenEstimators,
30
    ForestOptimizer as _ForestOptimizer,
31
    EnsembleOptimizer as _EnsembleOptimizer,
32
)
33
34
35
class HillClimbingOptimizer(HyperOptimizer):
36
    def __init__(self, **opt_params):
37
        super().__init__(**opt_params)
38
        self.optimizer_class = _HillClimbingOptimizer
39
40
41
class StochasticHillClimbingOptimizer(HyperOptimizer):
42
    def __init__(self, **opt_params):
43
        super().__init__(**opt_params)
44
        self.optimizer_class = _StochasticHillClimbingOptimizer
45
46
47
class RepulsingHillClimbingOptimizer(HyperOptimizer):
48
    def __init__(self, **opt_params):
49
        super().__init__(**opt_params)
50
        self.optimizer_class = _RepulsingHillClimbingOptimizer
51
52
53
class SimulatedAnnealingOptimizer(HyperOptimizer):
54
    def __init__(self, **opt_params):
55
        super().__init__(**opt_params)
56
        self.optimizer_class = _SimulatedAnnealingOptimizer
57
58
59
class DownhillSimplexOptimizer(HyperOptimizer):
60
    def __init__(self, **opt_params):
61
        super().__init__(**opt_params)
62
        self.optimizer_class = _DownhillSimplexOptimizer
63
64
65
class RandomSearchOptimizer(HyperOptimizer):
66
    def __init__(self, **opt_params):
67
        super().__init__(**opt_params)
68
        self.optimizer_class = _RandomSearchOptimizer
69
70
71
class GridSearchOptimizer(HyperOptimizer):
72
    def __init__(self, **opt_params):
73
        super().__init__(**opt_params)
74
        self.optimizer_class = _GridSearchOptimizer
75
76
77
class RandomRestartHillClimbingOptimizer(HyperOptimizer):
78
    def __init__(self, **opt_params):
79
        super().__init__(**opt_params)
80
        self.optimizer_class = _RandomRestartHillClimbingOptimizer
81
82
83
class RandomAnnealingOptimizer(HyperOptimizer):
84
    def __init__(self, **opt_params):
85
        super().__init__(**opt_params)
86
        self.optimizer_class = _RandomAnnealingOptimizer
87
88
89
class PowellsMethod(HyperOptimizer):
90
    def __init__(self, **opt_params):
91
        super().__init__(**opt_params)
92
        self.optimizer_class = _PowellsMethod
93
94
95
class PatternSearch(HyperOptimizer):
96
    def __init__(self, **opt_params):
97
        super().__init__(**opt_params)
98
        self.optimizer_class = _PatternSearch
99
100
101
class ParallelTemperingOptimizer(HyperOptimizer):
102
    def __init__(self, **opt_params):
103
        super().__init__(**opt_params)
104
        self.optimizer_class = _ParallelTemperingOptimizer
105
106
107
class ParticleSwarmOptimizer(HyperOptimizer):
108
    def __init__(self, **opt_params):
109
        super().__init__(**opt_params)
110
        self.optimizer_class = _ParticleSwarmOptimizer
111
112
113
class SpiralOptimization(HyperOptimizer):
114
    def __init__(self, **opt_params):
115
        super().__init__(**opt_params)
116
        self.optimizer_class = _SpiralOptimization_
117
118
119
class GeneticAlgorithmOptimizer(HyperOptimizer):
120
    def __init__(self, **opt_params):
121
        super().__init__(**opt_params)
122
        self.optimizer_class = _GeneticAlgorithmOptimizer
123
124
125
class EvolutionStrategyOptimizer(HyperOptimizer):
126
    def __init__(self, **opt_params):
127
        super().__init__(**opt_params)
128
        self.optimizer_class = _EvolutionStrategyOptimizer
129
130
131
class DifferentialEvolutionOptimizer(HyperOptimizer):
132
    def __init__(self, **opt_params):
133
        super().__init__(**opt_params)
134
        self.optimizer_class = _DifferentialEvolutionOptimizer
135
136
137
class BayesianOptimizer(HyperOptimizer):
138
    def __init__(self, **opt_params):
139
        super().__init__(**opt_params)
140
        self.optimizer_class = _BayesianOptimizer
141
142
143
class LipschitzOptimizer(HyperOptimizer):
144
    def __init__(self, **opt_params):
145
        super().__init__(**opt_params)
146
        self.optimizer_class = _LipschitzOptimizer_
147
148
149
class DirectAlgorithm(HyperOptimizer):
150
    def __init__(self, **opt_params):
151
        super().__init__(**opt_params)
152
        self.optimizer_class = _DirectAlgorithm_
153
154
155
class TreeStructuredParzenEstimators(HyperOptimizer):
156
    def __init__(self, **opt_params):
157
        super().__init__(**opt_params)
158
        self.optimizer_class = _TreeStructuredParzenEstimators
159
160
161
class ForestOptimizer(HyperOptimizer):
162
    def __init__(self, **opt_params):
163
        super().__init__(**opt_params)
164
        self.optimizer_class = _ForestOptimizer
165
166
167
class EnsembleOptimizer(HyperOptimizer):
168
    def __init__(self, **opt_params):
169
        super().__init__(**opt_params)
170
        self.optimizer_class = _EnsembleOptimizer
171