The Algorithm Design Manual Second Edition



Download 5,51 Mb.
Pdf ko'rish
bet202/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   198   199   200   201   202   203   204   205   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

7.5.3

Simulated Annealing

Simulated annealing is a heuristic search procedure that allows occasional transi-

tions leading to more expensive (and hence inferior) solutions. This may not sound

like progress, but it helps keep our search from getting stuck in local optima. That

poor fellow trapped on the top floor of a ski lodge would do better to break the

glass and jump out the window if he really wanted to reach the top of the mountain.

The inspiration for simulated annealing comes from the physical process of cool-

ing molten materials down to the solid state. In thermodynamic theory, the energy

state of a system is described by the energy state of each particle constituting it.

A particle’s energy state jumps about randomly, with such transitions governed by

the temperature of the system. In particular, the transition probability (e

i

, e

j

, T )

from energy e



i

to e



j

at temperature is given by



(e

i

, e

j

, T ) = e

(

e



i

−e

j

)

/(k



B

)

where k



B

is a constant—called Boltzmann’s constant.

What does this formula mean? Consider the value of the exponent under dif-

ferent conditions. The probability of moving from a high-energy state to a lower-

energy state is very high. But, there is still a nonzero probability of accepting a



7 . 5

H E U R I S T I C S E A R C H M E T H O D S



255

transition into a high-energy state, with such small jumps much more likely than

big ones. The higher the temperature, the more likely energy jumps will occur.

Simulated-Annealing()

Create initial solution S

Initialize temperature t

repeat

for = 1 to iteration-length do



Generate a random transition from to S

i

If (C(S)



≥ C(S

i

)) then S



i

else if (e

(

C(S)

−C(S

i

))

/(k



·t)

> random[01)) then S

i

Reduce temperature t

until (no change in C(S))

Return S

What relevance does this have for combinatorial optimization? A physical sys-

tem, as it cools, seeks to reach a minimum-energy state. Minimizing the total energy

is a combinatorial optimization problem for any set of discrete particles. Through

random transitions generated according to the given probability distribution, we

can mimic the physics to solve arbitrary combinatorial optimization problems.

Take-Home Lesson: Forget about this molten metal business. Simulated an-

nealing is effective because it spends much more of its time working on good

elements of the solution space than on bad ones, and because it avoids getting

trapped repeatedly in the same local optima.

As with a local search, the problem representation includes both a representa-

tion of the solution space and an easily computable cost function C(s) measuring

the quality of a given solution. The new component is the cooling schedule, whose

parameters govern how likely we are to accept a bad transition as a function of

time.

At the beginning of the search, we are eager to use randomness to explore the



search space widely, so the probability of accepting a negative transition should

be high. As the search progresses, we seek to limit transitions to local improve-

ments and optimizations. The cooling schedule can be regulated by the following

parameters:



• Initial system temperature – Typically t

1

= 1.



• Temperature decrement function – Typically t

k

α



· t

k

1

, where 0.8



≤ α ≤

0.99. This implies an exponential decay in the temperature, as opposed to a

linear decay.

• Number of iterations between temperature change – Typically, 100 to 1,000

iterations might be permitted before lowering the temperature.




256

7 .


C O M B I N A T O R I A L S E A R C H A N D H E U R I S T I C M E T H O D S

0

20000



40000

60000


80000

100000


120000

140000


160000

180000


200000

0

200000



400000

600000


800000

1e+06


1.2e+06

1.4e+06


1.6e+06

Length of Tour

Number of Iterations

Performance of Simulated Annealing for TSP

Simulated Annealing

Figure 7.10: Search time/quality tradeoffs for TSP using simulated annealing



• Acceptance criteria – A typical criterion is to accept any transition from s

i

to

s



i+1

when C(s



i+1

< C(s



i

), and also accept a negative transition whenever



e

(C(si)−C(si+1))



k·ti

≥ r,

where is a random number 0



≤ r < 1. The constant normalizes this cost

function so that almost all transitions are accepted at the starting tempera-

ture.

• Stop criteria – Typically, when the value of the current solution has not

changed or improved within the last iteration or so, the search is terminated

and the current solution reported.

Creating the proper cooling schedule is somewhat of a trial-and-error process of

mucking with constants and seeing what happens. It probably pays to start from

an existing implementation of simulated annealing, so check out my full imple-

mentation (at http://www.algorist.com ) as well as others provided in Section

13.5


(page

407


).

Compare the search/time execution profiles of our three heuristics. The cloud of

points corresponding to random sampling is significantly worse than the solutions



7 . 5

H E U R I S T I C S E A R C H M E T H O D S



257

encountered by the other heuristics. The scores of the short streaks corresponding

to runs of hill-climbing solutions are clearly much better.

But best of all are the profiles of the three simulated annealing runs in Figure

7.10.

All three runs lead to much better solutions than the best hill-climbing result.



Further, it takes relatively few iterations to score most of the improvement, as

shown by the three rapid plunges toward optimum we see with simulated annealing.

Using the same 1,500,000 iterations as the other methods, simulated annealing

gave us a solution of cost 36,617.4—only 9.2% over the optimum. Even better

solutions are available to those willing to wait a few minutes. Letting it run for

5,000,000 iterations got the score down to 34,254.9, or 2.2% over the optimum.

There were no further improvements after I cranked it up to 10,000,000 iterations.

In expert hands, the best problem-specific heuristics for TSP can slightly

outperform simulated annealing. But the simulated annealing solution works ad-

mirably. It is my heuristic method of choice.




Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   198   199   200   201   202   203   204   205   ...   488




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish