394 Peter Rossmanith
row contains 11 tile pairs and each column contains 7. There are 8 rows and
12 columns making altogether 11 · 8+7· 12 = 172.
Throughout this chapter we will continue to consider this tiling game as a
typical example that is similar to many problems in combinatorial optimiza-
tion. Some of the optimization problems mentioned in this book can be solved
quite efficiently (Chaps. 32, 33, 34,and35), while we can exactly solve others
only for relatively small input sizes (Chaps. 39 and 40). Here we are interested
more in the latter kind, in particular problems that can neither be solved by
trying out all possibilities nor with the help of backtracking. One method that
works well in many of those cases is simulated annealing, which is the topic
of this chapter.
What Is Simulated Annealing?
Simulated Annealing means simulating a process that involves first heating
and then slowly cooling some material. There are several technological pro-
cesses based on a similar principle. For example, cooling red hot iron in met-
alworking quickly or slowly leads to materials with quite different properties.
So why do that? Let us think about what happens to the particles (atoms) of
the metal:
The atoms are bound in a rigid crystal structure. When we start to heat
the metal they start to break free from their bonds and move about. If we
let the metal cool again, the particles will find new bonds. Interestingly, often
their new distribution will be more regular than before. Doing it the right way
leads to metal that is softer, more flexible, and contains fewer irregularities.
To better understand the effects of slowly cooling, we can think of the
particles as small balls. If you just throw them into a vessel, they will lie
around higgledy-piggledy. What can we do to put them into order? Shake
them! At first their disorder increases and the balls fly about, but soon they
get into order all by themselves. If we, however, stop shaking too suddenly,
the balls will not be packed very closely.
This is also an important principle in the manufac-
turing of silicon semiconductors, of which computers’
processors and memory chips consist. In that case we
require very pure silicon crystals that do not contain
any defects. Usually silicon is polycrystalline: similarly
to grains of sand, many small monocrystals are placed
close to each other. Each monocrystal itself consists of
very many small elementary cubes that are flawlessly
stacked next to each other. On the left side you can
see such a silicon elementary cube. On the outside eight silicon atoms form a
cube in whose interior ten more silicon atoms reside. In semiconductor pro-
duction we need relatively large monocrystals. To this end a monocrystalline
“pillar” is slowly drawn out of a bath of molten silicon. Consequently, with