Code Duplication    Length = 55-55 lines in 2 locations

tests/test_early_stop.py 2 locations

@@ 203-257 (lines=55) @@
200
    assert n_performed_iter == (n_iter_no_change + 1)
201
202
203
def test_early_stop_6():
204
    def objective_function(para):
205
        return para["x1"]
206
207
    search_space = {
208
        "x1": np.arange(0, 100, 0.01),
209
    }
210
211
    n_iter_no_change = 5
212
    early_stopping = {
213
        "n_iter_no_change": 5,
214
        "tol_abs": None,
215
        "tol_rel": 10,
216
    }
217
218
    start1 = {"x1": 1}
219
    start2 = {"x1": 1.1}
220
    start3 = {"x1": 1.22}
221
    start4 = {"x1": 1.35}
222
    start5 = {"x1": 1.48}
223
224
    warm_start_l = [
225
        start1,
226
        start1,
227
        start1,
228
        start1,
229
        start1,
230
        start2,
231
        start2,
232
        start2,
233
        start3,
234
        start3,
235
        start3,
236
        start4,
237
        start4,
238
        start4,
239
        start5,
240
        start5,
241
        start5,
242
    ]
243
    n_iter = len(warm_start_l)
244
245
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
246
    opt.search(
247
        objective_function,
248
        n_iter=n_iter,
249
        early_stopping=early_stopping,
250
    )
251
    search_data = opt.results
252
    n_performed_iter = len(search_data)
253
254
    print("\n n_performed_iter \n", n_performed_iter)
255
    print("\n n_iter_no_change \n", n_iter_no_change)
256
257
    assert n_performed_iter == n_iter
258
259
260
def test_early_stop_7():
@@ 97-151 (lines=55) @@
94
    assert n_performed_iter == (n_iter_no_change + 1)
95
96
97
def test_early_stop_4():
98
    def objective_function(para):
99
        return para["x1"]
100
101
    search_space = {
102
        "x1": np.arange(0, 100, 0.1),
103
    }
104
105
    n_iter_no_change = 5
106
    early_stopping = {
107
        "n_iter_no_change": 5,
108
        "tol_abs": 0.1,
109
        "tol_rel": None,
110
    }
111
112
    start1 = {"x1": 0}
113
    start2 = {"x1": 0.1}
114
    start3 = {"x1": 0.2}
115
    start4 = {"x1": 0.3}
116
    start5 = {"x1": 0.4}
117
118
    warm_start_l = [
119
        start1,
120
        start1,
121
        start1,
122
        start1,
123
        start1,
124
        start2,
125
        start2,
126
        start2,
127
        start3,
128
        start3,
129
        start3,
130
        start4,
131
        start4,
132
        start4,
133
        start5,
134
        start5,
135
        start5,
136
    ]
137
    n_iter = len(warm_start_l)
138
139
    opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l})
140
    opt.search(
141
        objective_function,
142
        n_iter=n_iter,
143
        early_stopping=early_stopping,
144
    )
145
    search_data = opt.results
146
    n_performed_iter = len(search_data)
147
148
    print("\n n_performed_iter \n", n_performed_iter)
149
    print("\n n_iter_no_change \n", n_iter_no_change)
150
151
    assert n_performed_iter == n_iter
152
153
154
def test_early_stop_5():