Passed
Push — master ( 23cc6a...a392e7 )
by Simon
04:42 queued 12s
created

opt_strat_early_stop.objective_function()   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
import numpy as np
2
3
from hyperactive import Hyperactive
4
5
6
from hyperactive.optimizers.strategies import CustomOptimizationStrategy
7
from hyperactive.optimizers import (
8
    HillClimbingOptimizer,
9
    RandomSearchOptimizer,
10
    BayesianOptimizer,
11
)
12
13
14
opt_strat = CustomOptimizationStrategy()
15
opt_strat.add_optimizer(
16
    RandomSearchOptimizer(), duration=0.5, early_stopping={"n_iter_no_change": 10}
17
)
18
opt_strat.add_optimizer(
19
    HillClimbingOptimizer(), duration=0.5, early_stopping={"n_iter_no_change": 10}
20
)
21
22
23
def objective_function(opt):
24
    score = -opt["x1"] * opt["x1"]
25
    return score, {"additional stuff": 1}
26
27
28
search_space = {"x1": list(np.arange(-100, 101, 1))}
29
n_iter = 100
30
optimizer = opt_strat
31
32
hyper = Hyperactive()
33
hyper.add_search(
34
    objective_function,
35
    search_space,
36
    n_iter=n_iter,
37
    n_jobs=1,
38
    optimizer=optimizer,
39
)
40
hyper.run()
41