Code Duplication    Length = 64-69 lines in 2 locations

tests/test_parameters/test_simulated_annealing.py 2 locations

@@ 21-89 (lines=69) @@
18
n_iter = 1000
19
20
21
def test_start_temp_0():
22
    n_initialize = 1
23
24
    start_temp_0 = 0
25
    start_temp_1 = 0.1
26
    start_temp_10 = 1
27
    start_temp_100 = 100
28
    start_temp_inf = np.inf
29
30
    epsilon = 1 / np.inf
31
32
    opt = SimulatedAnnealingOptimizer(
33
        search_space,
34
        start_temp=start_temp_0,
35
        epsilon=epsilon,
36
        initialize={"random": n_initialize},
37
    )
38
    opt.search(objective_function, n_iter=n_iter)
39
    n_transitions_0 = opt.n_transitions
40
41
    opt = SimulatedAnnealingOptimizer(
42
        search_space,
43
        start_temp=start_temp_1,
44
        epsilon=epsilon,
45
        initialize={"random": n_initialize},
46
    )
47
    opt.search(objective_function, n_iter=n_iter)
48
    n_transitions_1 = opt.n_transitions
49
50
    opt = SimulatedAnnealingOptimizer(
51
        search_space,
52
        start_temp=start_temp_10,
53
        epsilon=epsilon,
54
        initialize={"random": n_initialize},
55
    )
56
    opt.search(objective_function, n_iter=n_iter)
57
    n_transitions_10 = opt.n_transitions
58
59
    opt = SimulatedAnnealingOptimizer(
60
        search_space,
61
        start_temp=start_temp_100,
62
        epsilon=epsilon,
63
        initialize={"random": n_initialize},
64
    )
65
    opt.search(objective_function, n_iter=n_iter)
66
    n_transitions_100 = opt.n_transitions
67
68
    opt = SimulatedAnnealingOptimizer(
69
        search_space,
70
        start_temp=start_temp_inf,
71
        epsilon=epsilon,
72
        initialize={"random": n_initialize},
73
    )
74
    opt.search(objective_function, n_iter=n_iter)
75
    n_transitions_inf = opt.n_transitions
76
77
    print("\n n_transitions_0", n_transitions_0)
78
    print("\n n_transitions_1", n_transitions_1)
79
    print("\n n_transitions_10", n_transitions_10)
80
    print("\n n_transitions_100", n_transitions_100)
81
    print("\n n_transitions_inf", n_transitions_inf)
82
83
    assert n_transitions_0 == start_temp_0
84
    assert (
85
        n_transitions_1
86
        == n_transitions_10
87
        == n_transitions_100
88
        == n_transitions_inf
89
        == n_iter - n_initialize
90
    )
91
92
@@ 93-156 (lines=64) @@
90
    )
91
92
93
def test_start_temp_1():
94
    n_initialize = 1
95
96
    start_temp_0 = 0
97
    start_temp_1 = 0.1
98
    start_temp_10 = 1
99
    start_temp_100 = 100
100
    start_temp_inf = np.inf
101
102
    epsilon = 0.03
103
104
    opt = SimulatedAnnealingOptimizer(
105
        search_space,
106
        start_temp=start_temp_0,
107
        epsilon=epsilon,
108
        initialize={"random": n_initialize},
109
    )
110
    opt.search(objective_function, n_iter=n_iter)
111
    n_transitions_0 = opt.n_transitions
112
113
    opt = SimulatedAnnealingOptimizer(
114
        search_space,
115
        start_temp=start_temp_1,
116
        epsilon=epsilon,
117
        initialize={"random": n_initialize},
118
    )
119
    opt.search(objective_function, n_iter=n_iter)
120
    n_transitions_1 = opt.n_transitions
121
122
    opt = SimulatedAnnealingOptimizer(
123
        search_space,
124
        start_temp=start_temp_10,
125
        epsilon=epsilon,
126
        initialize={"random": n_initialize},
127
    )
128
    opt.search(objective_function, n_iter=n_iter)
129
    n_transitions_10 = opt.n_transitions
130
131
    opt = SimulatedAnnealingOptimizer(
132
        search_space,
133
        start_temp=start_temp_100,
134
        epsilon=epsilon,
135
        initialize={"random": n_initialize},
136
    )
137
    opt.search(objective_function, n_iter=n_iter)
138
    n_transitions_100 = opt.n_transitions
139
140
    opt = SimulatedAnnealingOptimizer(
141
        search_space,
142
        start_temp=start_temp_inf,
143
        epsilon=epsilon,
144
        initialize={"random": n_initialize},
145
    )
146
    opt.search(objective_function, n_iter=n_iter)
147
    n_transitions_inf = opt.n_transitions
148
149
    print("\n n_transitions_0", n_transitions_0)
150
    print("\n n_transitions_1", n_transitions_1)
151
    print("\n n_transitions_10", n_transitions_10)
152
    print("\n n_transitions_100", n_transitions_100)
153
    print("\n n_transitions_inf", n_transitions_inf)
154
155
    assert n_transitions_0 == start_temp_0
156
    assert n_transitions_1 < n_transitions_10 < n_transitions_100 < n_transitions_inf
157
158
159
def test_annealing_rate_0():