Code Duplication    Length = 32-33 lines in 5 locations

tests/_local_test_optimization_strategies/_test_strategy_combinations.py 3 locations

@@ 92-124 (lines=33) @@
89
    assert optimizer1.best_score <= optimizer2.best_score
90
91
92
@pytest.mark.parametrize(*optimizers)
93
@pytest.mark.parametrize(*optimizers_strat)
94
def test_strategy_combinations_2(Optimizer, Optimizer_strat):
95
    optimizer1 = Optimizer()
96
    optimizer2 = Optimizer_strat()
97
98
    opt_strat = CustomOptimizationStrategy()
99
    opt_strat.add_optimizer(optimizer1, duration=0.9)
100
    opt_strat.add_optimizer(optimizer2, duration=0.1)
101
102
    n_iter = 10
103
104
    hyper = Hyperactive()
105
    hyper.add_search(
106
        objective_function,
107
        search_space,
108
        optimizer=opt_strat,
109
        n_iter=n_iter,
110
        memory=False,
111
    )
112
    hyper.run()
113
114
    search_data = hyper.search_data(objective_function)
115
116
    optimizer1 = hyper.opt_pros[0].optimizer_setup_l[0]["optimizer"]
117
    optimizer2 = hyper.opt_pros[0].optimizer_setup_l[1]["optimizer"]
118
119
    assert len(search_data) == n_iter
120
121
    assert len(optimizer1.search_data) == 9
122
    assert len(optimizer2.search_data) == 1
123
124
    assert optimizer1.best_score <= optimizer2.best_score
125
126
127
@pytest.mark.parametrize(*optimizers)
@@ 57-89 (lines=33) @@
54
    assert optimizer1.best_score <= optimizer2.best_score
55
56
57
@pytest.mark.parametrize(*optimizers)
58
@pytest.mark.parametrize(*optimizers_strat)
59
def test_strategy_combinations_1(Optimizer, Optimizer_strat):
60
    optimizer1 = Optimizer()
61
    optimizer2 = Optimizer_strat()
62
63
    opt_strat = CustomOptimizationStrategy()
64
    opt_strat.add_optimizer(optimizer1, duration=0.1)
65
    opt_strat.add_optimizer(optimizer2, duration=0.9)
66
67
    n_iter = 10
68
69
    hyper = Hyperactive()
70
    hyper.add_search(
71
        objective_function,
72
        search_space,
73
        optimizer=opt_strat,
74
        n_iter=n_iter,
75
        memory=False,
76
    )
77
    hyper.run()
78
79
    search_data = hyper.search_data(objective_function)
80
81
    optimizer1 = hyper.opt_pros[0].optimizer_setup_l[0]["optimizer"]
82
    optimizer2 = hyper.opt_pros[0].optimizer_setup_l[1]["optimizer"]
83
84
    assert len(search_data) == n_iter
85
86
    assert len(optimizer1.search_data) == 1
87
    assert len(optimizer2.search_data) == 9
88
89
    assert optimizer1.best_score <= optimizer2.best_score
90
91
92
@pytest.mark.parametrize(*optimizers)
@@ 22-54 (lines=33) @@
19
}
20
21
22
@pytest.mark.parametrize(*optimizers)
23
@pytest.mark.parametrize(*optimizers_strat)
24
def test_strategy_combinations_0(Optimizer, Optimizer_strat):
25
    optimizer1 = Optimizer()
26
    optimizer2 = Optimizer_strat()
27
28
    opt_strat = CustomOptimizationStrategy()
29
    opt_strat.add_optimizer(optimizer1, duration=0.5)
30
    opt_strat.add_optimizer(optimizer2, duration=0.5)
31
32
    n_iter = 30
33
34
    hyper = Hyperactive()
35
    hyper.add_search(
36
        objective_function,
37
        search_space,
38
        optimizer=opt_strat,
39
        n_iter=n_iter,
40
        memory=False,
41
    )
42
    hyper.run()
43
44
    search_data = hyper.search_data(objective_function)
45
46
    optimizer1 = hyper.opt_pros[0].optimizer_setup_l[0]["optimizer"]
47
    optimizer2 = hyper.opt_pros[0].optimizer_setup_l[1]["optimizer"]
48
49
    assert len(search_data) == n_iter
50
51
    assert len(optimizer1.search_data) == 15
52
    assert len(optimizer2.search_data) == 15
53
54
    assert optimizer1.best_score <= optimizer2.best_score
55
56
57
@pytest.mark.parametrize(*optimizers)

tests/test_optimizers/test_optimization_strategies.py 1 location

@@ 23-55 (lines=33) @@
20
}
21
22
23
@pytest.mark.parametrize(*optimizers)
24
def test_strategy_combinations_0(Optimizer):
25
    optimizer1 = Optimizer()
26
    optimizer2 = HillClimbingOptimizer()
27
28
    opt_strat = CustomOptimizationStrategy()
29
    opt_strat.add_optimizer(optimizer1, duration=0.5)
30
    opt_strat.add_optimizer(optimizer2, duration=0.5)
31
32
    n_iter = 4
33
34
    hyper = Hyperactive()
35
    hyper.add_search(
36
        objective_function,
37
        search_space,
38
        optimizer=opt_strat,
39
        n_iter=n_iter,
40
        memory=False,
41
        initialize={"random": 1},
42
    )
43
    hyper.run()
44
45
    search_data = hyper.search_data(objective_function)
46
47
    optimizer1 = hyper.opt_pros[0].optimizer_setup_l[0]["optimizer"]
48
    optimizer2 = hyper.opt_pros[0].optimizer_setup_l[1]["optimizer"]
49
50
    assert len(search_data) == n_iter
51
52
    assert len(optimizer1.search_data) == 2
53
    assert len(optimizer2.search_data) == 2
54
55
    assert optimizer1.best_score <= optimizer2.best_score
56

tests/_local_test_optimization_strategies/_test_memory_warm_start_smbo.py 1 location

@@ 24-55 (lines=32) @@
21
}
22
23
24
@pytest.mark.parametrize(*optimizers_smbo)
25
def test_memory_Warm_start_smbo_0(Optimizer_smbo):
26
    optimizer1 = GridSearchOptimizer()
27
    optimizer2 = Optimizer_smbo()
28
29
    opt_strat = CustomOptimizationStrategy()
30
    opt_strat.add_optimizer(optimizer1, duration=0.8)
31
    opt_strat.add_optimizer(optimizer2, duration=0.2)
32
33
    n_iter = 100
34
35
    hyper = Hyperactive()
36
    hyper.add_search(
37
        objective_function,
38
        search_space,
39
        optimizer=opt_strat,
40
        n_iter=n_iter,
41
        memory=True,
42
    )
43
    hyper.run()
44
45
    search_data = hyper.search_data(objective_function)
46
47
    optimizer1 = hyper.opt_pros[0].optimizer_setup_l[0]["optimizer"]
48
    optimizer2 = hyper.opt_pros[0].optimizer_setup_l[1]["optimizer"]
49
50
    assert len(search_data) == n_iter
51
52
    assert len(optimizer1.search_data) == 80
53
    assert len(optimizer2.search_data) == 20
54
55
    assert optimizer1.best_score <= optimizer2.best_score
56