Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations 1 Basic Concepts Allows moves to inferior solutions in order not to get stuck in a poor local optimum. c = F(Snew) - F(Sold) F has to be minimised inferior solution (c > 0) still accepted if U e c t U is a random number from (0, 1) interval t is a cooling parameter: t is initially high - many moves are accepted t is decreasing - inferior moves are nearly always rejected • As the temperature decreases, the probability of accepting worse moves decreases. c > 0 inferior solution -c < 0 t c t c e t 2 Algorithm Step 1. k=1 Select an initial schedule S1 using some heuristic and set Sbest = S1 Select an initial temperature t0 > 0 Select a temperature reduction function (t) Step 2. Select ScN(Sk) If F(Sbest) < F(Sc) If F(Sc) < F(Sk) then Sk+1 = Sc else generate a random uniform number Uk F ( Sc ) F ( S k ) t If Uk < e else Sk+1 = Sk else Sbest = Sc Sk+1 = Sc then Sk+1 = Sc 3 Step 3. tk = (t) k = k+1 ; If stopping condition = true then STOP else go to Step 2 4 Exercise. Consider the following scheduling problem for minimizing the total Weighted tardiness (tardiness is amount a job exceeds deadline) . jobs pj (processing time) dj (deadline) wj (weight) 1 9 10 14 2 9 8 12 3 12 5 1 4 3 28 12 Apply the simulated annealing to the problem starting out with the 3, 1, 4, 2 as an initial sequence. Neighbourhood: all schedules that can be obtained through adjacent pairwise interchanges. Select neighbours within the neigbourhood at random. Choose (t) = 0.9 * t t0 = 0.9 Use the following numbers as random numbers: 0.17, 0.91, ... 5 Sbest = S1 = 3, 1, 4, 2 F(S1) = wjTj = 1·7 + 14·11 + 12·0+ 12 ·25 = 461 = F(Sbest) t0 = 0.9 Sc = 1, 3, 4, 2 F(Sc) = 316 < F(Sbest) Sbest = 1, 3, 4, 2 F(Sbest) = 316 S2 = 1, 3, 4, 2 t = 0.9 · 0.9 = 0.81 Sc = 1, 3, 2, 4 F(Sc) = 340 > F(Sbest) U1 = 0.17 > e S3= 1, 3, 4, 2 t = 0.729 340316 0.81 = 1.35*10-13 6 Sc = 1, 4, 3, 2 F(Sc) = 319 > F(Sbest) U3 = 0.91 > e 319316 0.729 = 0.016 S4= S4 = 1, 3, 4, 2 t = 0.6561 ... 7 Practical considerations Initial temperature • must be "high" • acceptance rate: 40%-60% seems to give good results in many situations Cooling schedule • a number of moves at each temperature • one move at each temperature t = ·t is typically in the interval [0.9, 0.99] t t 1 t is typically close to 0 Stopping condition • given number of iterations • no improvement has been obtained for a given number of iteration 8