7.4Simulated annealing
SA model runs were performed at cooling rates of 0.9, 0.7, and 0.5. The number of iterations at each temperature was 10, 30 and 50. Each test started with a heuristically selected initial solution that had the smallest total net benefit based on the base-case enumeration results. For each iteration, SA randomly selected the next solution from the neighbourhood of the current solution, which was ±50 policy number from the current solution. A random jump was included every 30 iterations to allow better escaping from local optima and exploring other areas of the solution space. Initial temperature was 1, and the stopping temperature was 1e-8. If a policy consistently remained as the best policy until 80% percent of the allowed iterations at each temperature were searched, the algorithm stopped searching at the current temperature and moved to the next temperature.
Each test was repeated 20 times to evaluate the average performance of SA using 1) the probability to find the optima and 2) the average penalty rate. The probability to find the optima shows what percentage of the separate simulation runs of SA finds the global optimum or the policies, which were not significantly different with the global optimum. The average penalty rate, which represents the difference in the value of the objective function between the global optimum and the heuristic solution, was also calculated using the following equation[202]:
Average penalty rate = Equation 7.1.
where is the optimal solution identified in enumeration and is the solution from SA.
Table 7. shows that SA is capable of finding good solutions in a much shorter computational time than enumeration. The algorithm repeated the evaluation of the objective function (each evaluation includes 100 Monte Carlo simulation replications) from a minimum 280 times to a maximum 2,220 times, compared to 4,128 times using enumeration. Total computational time ranges from a minimum 0.73 hours to a maximum 6.22 hours, compared to 12.20 hours using enumeration. Depending on the selected parameter, 5.04-32.85% of the search space was examined. Nevertheless, most SA experiments implemented by the combinations of cooling rate and maximum number of iterations allowed at the same temperature found the optimal solution or the statistically equivalent solutions.
Better solutions were obtained where the cooling rate yielded slower sequences of temperature decreases (i.e., where the cooling rate was 0.9 and the maximum number of iterations within a temperature was 50) (see Table 7.). Regardless of what the other parameters were used, the quality of solution was consistently good where the cooling rate was 0.9 and the maximum number of iterations within a temperature was 50 (see Figure 7.). The probability to find the global optimum was also higher when using a slower cooling rate than when using a faster cooling rate; and when allowing a larger number of iterations within the same temperature than when the maximum number of iterations within the same temperature was 10 or 30 (see Table 7.). The average penalty rate was reduced where a slower cooling rate and a larger number of iterations within the same temperature were allowed. Figure 7. also shows the potential risk of premature convergence where a fast cooling rate was employed. Search rates were higher as the cooling rates were increased; however, it was not always increased as the maximum number of iterations with a temperature increased (see Figure 7.).
Figure 7.. Maximum total net benefit depending on the cooling rate and the number of iterations within a temperature
Table 7.. Computational results from SA depending on cooling rate and the maximum number of iterations within the same temperature
|
Cooling rate
|
Maximum number of iterations within the same temperature
|
Maximum number of success within the same temperature
|
Total iteration number1)
|
Time (h)
|
Time per iteration (s)
|
Solution number2)
|
Total net benefit of the solution (£)
|
Search rate (%)3)
|
1
|
0.5
|
10
|
8
|
280
|
0.73
|
9.41
|
1656
|
328,610
|
5.04
|
2
|
0.5
|
30
|
24
|
840
|
2.26
|
9.69
|
3719*
|
330,030
|
17.61
|
3
|
0.5
|
50
|
40
|
1400
|
3.69
|
9.50
|
624*
|
330,130
|
19.91
|
4
|
0.7
|
10
|
8
|
530
|
1.37
|
9.32
|
2051
|
329,310
|
9.74
|
5
|
0.7
|
30
|
24
|
1590
|
4.11
|
9.31
|
624*
|
330,070
|
30.98
|
6
|
0.7
|
50
|
40
|
2100
|
5.49
|
9.41
|
3721*
|
330,130
|
19.60
|
7
|
0.9
|
10
|
8
|
1250
|
3.72
|
10.71
|
3721*
|
330,060
|
17.34
|
8
|
0.9
|
30
|
24
|
2220
|
4.56
|
7.39
|
3720*
|
330,060
|
32.85
|
9
|
0.9
|
50
|
40
|
1900
|
6.22
|
11.79
|
3721*
|
330,130
|
22.87
|
1) Iteration number means the evaluation of the objective function including 100 Monte Carlo simulations.2) The solution numbers with * are included in the top eight policies identified from the enumeration in Table 7..
3) Search rate = (The number of policies evaluated by SA / Total number of possible policies (= 4,128)) x 100.
4) The base-case is in grey.
Table 7.. The average performance of SA from 20 repeated runs
|
C0.5xR10
|
C0.5xR30
|
C0.5xR50
|
C0.7xR10
|
C0.7xR30
|
C0.7xR50
|
C0.9xR10
|
C0.9xR30
|
C0.9xR50
|
1
|
0.00
|
0.00
|
0.00
|
0.00
|
3.60
|
0.00
|
0.00
|
0.00
|
0.00
|
2
|
14.33
|
0.90
|
0.00
|
8.86
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
3
|
30.69
|
0.00
|
0.00
|
0.00
|
0.00
|
5.96
|
0.00
|
0.00
|
0.00
|
4
|
8.08
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
5
|
0.00
|
0.00
|
0.00
|
27.58
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
6
|
0.59
|
0.00
|
0.00
|
18.12
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
7
|
21.33
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
8
|
14.48
|
0.00
|
0.00
|
0.60
|
0.00
|
4.61
|
0.00
|
0.00
|
0.00
|
9
|
0.00
|
0.00
|
0.00
|
32.82
|
0.66
|
0.00
|
0.00
|
0.00
|
0.00
|
10
|
0.00
|
6.19
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
11
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
12
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
13
|
17.13
|
4.10
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
14
|
8.18
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
15
|
9.90
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
16
|
0.00
|
0.00
|
0.00
|
2.84
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
17
|
12.42
|
0.00
|
0.00
|
4.53
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
18
|
8.30
|
0.81
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
19
|
0.00
|
0.00
|
0.00
|
11.48
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
20
|
0.00
|
1.55
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
0.00
|
Average penalty rate (%)
|
13.22
|
2.71
|
0.00
|
13.35
|
2.13
|
5.28
|
0.00
|
0.00
|
0.00
|
Probability to find the optima (%)
|
45.00
|
75.00
|
100.00
|
60.00
|
90.00
|
90.00
|
100.00
|
100.00
|
100.00
|
1) C stands for the cooling rate and R stands for the maximum number of iterations within the same temperature.
1) C stands for the cooling rate and R stands for the maximum number of iterations within the same temperature.
Figure 7.. Convergence of SA depending on the cooling rate and the maximum number of iterations
1) X-axis represents the policy numbers; Y-axis represents the number of times that each policy was searched during the optimisation procedure.
2) C stands for the cooling rate and R stands for the maximum number of iterations within the same temperature.
Figure 7.. Search rate of SA depending on the cooling rate and the maximum number of iterations
Dostları ilə paylaş: |