Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)

Similar presentations


Presentation on theme: "1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)"— Presentation transcript:

1 1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)

2 2 1. Modern Heuristic Techniques for Combinatorial Problems, (Ed) C.Reeves 1995, McGraw-Hill. Chapter 3. 2. Scheduling, Theory, Algorithms, and Systems, Second Addition, Michael Pinedo, Prentice Hall, 2002, Chapter 14.4 3. Simulated Annealing:Theory and Applications, P.J.M. van Laarhoven and E.H.L. Aarts, Kluwer Academic Publishers, 1988. Literature

3 3 Basic Concepts 1.Allows moves to inferior solutions in order not to get stuck in a poor local optimum. △ c = F(S new ) - F(S old )F is to be minimized. inferior solution ( △ c >0) still accepted if U < 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. 2. As the temperature decreases, the probability of accepting worse moves decreases.

4 4 △ c > 0 inferior solution - △ c <0

5 5 Algorithm Step 1. k=1. Select an initial schedule S 1 using some heuristic and set S best = S 1 Select an initial temperature t 0 > 0 Select a temperature reduction function  (t) Step 2. Select S c ∈ N(S k ). If F(S best ) < F(S c ) If F(S c ) < F(S k ) then S k+1 = S c else generate a random uniform number U k ∈  If U k < then S k+1 = S c (where △ c = F(S c ) - F(S k ) ) else S k+1 = S k else S best = S c S k+1 = S c 

6 6 Step 3. t k =  (t) k = k+1 ; If stopping condition = true then STOP else go to Step 2.

7 7 Example Consider the following scheduling problem 1 | | ∑ w j T j. j 1 2 3 4 p j 9 9 12 3 d j 10 8 5 28 w j 14 12 1 12 Apply the simulated annealing to the problem starting out with the 3, 1, 4, 2 as an initial sequence. Neighborhood: all schedules that can be obtained through adjacent pairwise interchanges. (Connectivity)

8 8 Select neighbors within neighborhood at random. Choose  (t) = 0.9 * t t 0 = 0.9 Use the following numbers as random numbers: 0.17, 0.91,... S best = S 1 = 3, 1, 4, 2 F(S 1 ) = ∑ w j T j = 1· 7 + 14·11 + 12·0+ 12 ·25 = 461 = F(S best ) t 0 = 0.9 S c = 1, 3, 4, 2 F(S c ) = 316 < F(S best )

9 9 S best = 1, 3, 4, 2 F(S best ) = 316 S 2 = 1, 3, 4, 2 t = 0.9 · 0.9 = 0.81 S c = 1, 3, 2, 4 F(S c ) = 340 > F(S best ) U 1 = 0.17 > (= 1.35*10 -13) S 3 = 1, 3, 4, 2 t = 0.81 · 0.9 = 0.729

10 10 S c = 1, 4, 3, 2 F(S c ) = 319 > F(S best ) U 3 = 0.91 > (= 0.016) S 4 = 1, 3, 4, 2 t = 0.729 · 0.9 = 0.6561...

11 11 Practical considerations Initial temperature: must be "high" acceptance rate: 40%-60% seems to give good results in many situations Cooling schedule: single or multiple moves at each temperature t =  · t  is typically in the interval [0.9, 0.99] t =  is typically close to 0

12 12 Stopping condition: given number of iterations given minimum temperature no improvement has been obtained for a given number of iterations Note: SA often returns high quality solutions, in spite of its slow convergence. Threshold Accepting: - t = threshold value - if F(S c )<F(S k )+t, then S k+1 =S c.


Download ppt "1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)"

Similar presentations


Ads by Google