7.5 Multiobjective simulated annealing methodology
7.5.1 The notion of archiving
Because the method of simulated annealing only generates a single solution during each iteration of the search process, an external set, known as the archive, is employed to record all non- dominated solutions uncovered during the course of the search process. All solutions generated during the course of the search are candidates for archiving, and are each tested for dominance in respect of every solution in the archive. The archiving process is illustrated in Figure 7.9 for a bi-objective minimisation problem with objective functions f1 and f2.
f1
f2
Solutions not archived
Existing solutions in the archive New solution added to the archive Archived solution removed
Figure 7.9: The archiving process for a bi-objective minimisation problem.
If the true Pareto front P were available a priori, it would be possible to express the energy (i.e. the performance of a solution in objective space) of a solution x as some measure of the portion of the front that dominates x. To this effect, letPx be the portion of P that dominates x (i.e. Px = {y ∈ P | y x}), and define the energy of x as E(x) = M(Px), where M is a measurable function defined on P. If P is continuous, M may be configured as the Lebesgue measure; otherwise M may simply be configured as the cardinality of Px (i.e. the number of solutions in P that dominate x). Of course, E(x) = 0 for all x ∈ P.
As the true Pareto front is typically unavailable during the course of the search, however, the energy of a solution is instead measured based on the current estimate of the true Pareto front, which corresponds to the set of non-dominated solutions uncovered thus far during the search (that is, the solutions in the archive). The energy difference between two solutions is measured as the quotient of the difference in their respective energies and the size of the archive. According to Smith et al. [131], a simulated annealer that uses this energy measure encourages both convergence to and coverage of the Pareto front in logarithmic computational time.
7.5.2 Algorithm outline
Suppose that the set of non-dominated solutions uncovered up to any point during the solution search process is captured in an archive A. The algorithm is initialised with a random feasible initial solution, which is initially placed inA. During any iteration, let ˜A be the set A∪{x}∪{x0},
where x0 is a neighbouring solution generated by performing a transformation of the current solution x, and define ˜Ax = {y ∈ ˜A | y x}.
The estimated energy difference between the solutions x and x0 is then calculated as ∆E(x0, x) = | ˜Ax
0| − | ˜Ax| | ˜A| ,
where division by| ˜A| provides robustness against fluctuations in the number of solutions in the archive. The reason for including both the current and neighbouring solutions in ˜A is motivated by the idea that ∆E(x0, x) < 0 whenever x0 x. Besides its simplicity and efficiency in
promoting the storage of non-dominated solutions uncovered during the search process, another benefit of this energy measure is that it encourages exploration along the non-dominated front, regardless of the portion of the true Pareto front dominating a solution. This principle is demonstrated in Figure 7.10 for a bi-objective minimisation problem with objective functions f1 and f2. Although it appears as if M(Px0) > M(Px) in the figure, it can be seen that | ˜Ax0| = 1 < 3 = | ˜Ax|, hence moving the search closer to a large unexplored region of the non-dominated front when transitioning from x to x0.
f1 f2 x0 x Solutions in P Solutions inA
Figure 7.10: Energy measure of current and neighbouring solutions for a bi-objective minimisation problem with objective functionsf1andf2.
The acceptance probability function of a neighbouring solution x0 of the current solution (similar to the Metropolis acceptance rule in standard simulated annealing algorithms) is taken as
P (x0) = min 1, exp −∆E(x0, x) T ,
7.5. Multiobjective simulated annealing methodology 149
where T is the current temperature. A neighbouring solution that is dominated by fewer solu- tions inA therefore has a lower energy and is consequently automatically accepted as the next current solution as it is considered, by definition, to embody an improving move. On the other hand, if there is a large positive difference between the energies of the neighbouring and current solutions, and the temperature is low, then the move has a low probability of being accepted. This acceptance probability function therefore does not depend upon pre-determined objective function weights and is not affected by rescaling of the objectives, which results in relatively low computational complexity. If the move is accepted, then the neighbouring solution is taken as the new current solution and the archive is updated accordingly, as described in the previous section.
A flowchart of the dominance-based method of archived multiobjective simulated annealing is presented in Figure 7.11 for a minimisation problem. In addition, a pseudo-code description of the basic steps of the algorithm is given in Algorithm 7.2. Without loss of generality, the cooling schedule in this pseudo-code is represented by a sequence of temperatures T1, . . . , TC,
where Tc> Tc+1 for all c∈ (1, . . . , C − 1), with associated cooling epoch durations L1, . . . , LC
(i.e. the number of iterations performed at each corresponding temperature level). The stopping criterion of the algorithm is therefore based on a maximum number of iterations Imax=PCc=1Lc.
Algorithm 7.2: Dominance-based method of archived multiobjective simulated annealing Input : A multiobjective minimisation problem with sets of variables, constraints and
objective functions, a cooling schedule (T1, . . . , TC) with corresponding epoch
durations (L1, . . . , LC), and a maximum number of iterations Imax.
Output: A non-dominated set of solutions ˜P in decision space and the corresponding set of performance vectors ˜F in objective space.
Generate initial feasible solution x
1
Initialise archive A = {x}
2
Initialise cooling schedule epoch c← 1 with L0 = 0 3
Initialise iteration counter t← 1
4 while t≤ Imax do 5 while t≤Pc a=1La−1+ Lc do 6
Generate neighbour solution x0 from current solution x
7
while x0 is infeasible do
8
Generate neighbour solution x0 from current solution x
9
Assess ∆E(x0, x) 10
Generate random number r∈ (0, 1)
11 if r < minn1, exp−∆E(x0,x) Tc o then 12 x← x0 13 if |A|x = 0 then 14 A ← A ∪ {x} 15 forall y∈ A do 16 if x y then 17 A ← A\{y} 18 t← t + 1 19 c← c + 1 20 P ≈ ˜P = A 21
Generate initial solution x
Create archiveA
Set initial temperature
Generate neighbour solution x0 ∆E(x0, x) ≤ 0 ? Accept move True Accept move with probabil- ity e{−∆E(x 0,x) Tc } False Move accepted? False True Set x = x0 x dominated inA? Add x to the archive False True
Remove solutions dominated by x from the archive
Epoch completion?
False
True
t > Imax? True non-dominated setReport
Lower temperature according to cooling schedule
False
Figure 7.11: Flow of events in the dominance-based, archived multiobjective simulated annealing algo- rithm of Smithet al. [131].
7.5. Multiobjective simulated annealing methodology 151