Draft

submitted

for

publication

A

Two-Stage

Simulated

Annealing

Methodology

James

M.

Varanelli

and

James

P.

Cohoon

Department

of

Computer

Science

University

of

Virginia

Charlottesville

VA

USA

Corresponding

Author

James

P.

Cohoon

Department

of

Computer

Science

Thornton

Hall

University

of

Virginia

Charlottesville

VA

E-mail

cohoon@cs.virginia.edu

Phone

-LRB-804-RRB- 982-2210

Fax

-LRB-804-RRB- 982-2214

Abstract

We

propose

a

two-stage

simulated

annealing

method

While

most

previous

work

has

focused

on

ad

hoc

experimentally-derived

constant

starting

temperatures

for

the

low

temperature

annealing

phase

this

paper

instead

presents

a

more

formal

method

for

generalized

starting

temperature

determination

in

two-stage

simulated

annealing

systems

We

have

tested

our

method

on

three

NP-hard

optimization

problems

using

both

classic

and

logarithmic

cooling

schedules

The

experimental

results

have

been

consistently

very

good?on

average

the

running

time

is

halved

when

using

a

logarithmic

cooling

schedule

and

reduced

by

a

third

in

the

case

of

the

classic

schedule?with

no

loss

in

solution

quality

We

also

present

results

for

an

alternative

stop

criterion

used

with

the

classic

schedule

that

further

reduces

the

two-stage

running

time

by

an

additional

five

to

ten

percent

in

our

problem

suite

Draft

submitted

for

publication

INTRODUCTION

The

simulated

annealing

-LRB-

SA

-RRB-

algorithm

has

proven

to

be

an

effective

optimization

tool

in

such

diverse

fields

as

VLSI

computer-aided

design

image

processing

and

operations

research

-LSB-

-RSB-

This

stems

from

both

its

general

applicability

to

a

wide

range

of

NP-hard

combinatorial

optimization

problems

and

that

it

consistently

produces

high

quality

approximate

solutions

for

these

problems

SA

has

only

one

significant

disadvantage?its

typically

very

long

computation

time

There

has

been

considerable

effort

aimed

at

speeding

up

SA

Most

of

this

work

has

concentrated

on

the

development

of

faster

cooling

schedules

-LSB-

-RSB-

Another

approach

is

two-stage

simulated

annealing

-LRB-

TSSA

-RRB-

-LSB-

-RSB-

For

TSSA

a

faster

heuristic

algorithm

is

used

to

replace

the

SA

actions

occurring

at

the

highest

temperatures

in

the

cooling

schedule

The

heuristic

is

then

followed

by

a

conventional

SA

approach

initiated

at

a

lower

temperature

in

an

attempt

to

improve

the

heuristic

solution

The

principal

consideration

in

the

design

of

a

TSSA

system

is

the

determination

of

the

starting

temperature

for

the

SA

phase

If

the

chosen

temperature

is

too

low

TSSA

will

become

prematurely

trapped

in

some

local

optimum

resulting

in

lower

solution

quality

than

standard

SA

If

the

chosen

temperature

is

too

high

some

of

the

structure

of

the

solution

generated

by

the

first-stage

heuristic

may

be

wasted

because

of

too

much

algorithmic

hill-climbing

Earlier

TSSA

approaches

-LSB-

-RSB-

are

based

on

finding

a

reasonable

constant

starting

temperature

for

the

SA

phase

This

requires

a

significant

amount

of

experimentation

with

both

the

chosen

heuristic

and

the

specific

SA

implementation

being

used

The

primary

advantage

of

a

constant

starting

temperature

is

that

once

the

temperature

has

been

determined

and

incorporated

into

the

TSSA

system

computational

cost

is

very

low

The

obvious

disadvantage

is

that

if

any

of

the

heuristic

the

SA

implementation

or

the

problem

itself

changes

a

new

starting

temperature

must

be

found

Rose

Klebsch

and

Wolf

-LSB-

-RSB-

present

a

more

generalized

method

for

determining

the

starting

temperature

Their

method

is

based

on

Markov

equilibrium

dynamics

An

approximate

probability

distribution

for

the

change

in

cost

function

is

found

by

generating

a

large

number

of

random

moves

from

the

first-stage

heuristic

solution

This

approximation

is

then

used

in

a

binary-search

procedure

to

locate

the

corresponding

SA

temperature

At

each

trial

temperature

the

approximate

distribution

is

used

to

calculate

the

total

expected

cost

of

all

uphill

moves

and

the

total

expected

cost

of

all

downhill

moves

When

the

magnitudes

of

the

two

values

are

found

to

be

equal

the

corresponding

temperature

is

returned

as

the

starting

temperature

for

the

SA

phase

The

method

is

shown

to

pro-

Draft

submitted

for

publication

duce

good

results

for

the

standard

cell

placement

problem

However

there

is

no

attempt

to

apply

the

method

to

other

problems

Additionally

there

are

both

problem

and

formulation-dependent

constraints

on

the

choice

of

first-stage

heuristic

and

a

high

computational

cost

that

have

discouraged

its

widespread

adoption

Analysis

of

these

previous

methods

for

starting

temperature

determination

does

offer

insight

into

desirable

properties

for

a

new

method

The

method

should

be

generally

applicable

with

respect

to

problems

and

SA

implementations

it

should

be

relatively

insensitive

to

the

given

starting

solution

so

as

to

avoid

constraints

on

the

choice

of

the

first-stage

heuristic

and

it

should

be

as

computationally

inexpensive

as

possible

This

paper

presents

a

method

for

starting

temperature

determination

in

TSSA

systems

that

meets

these

goals

Background

information

is

given

in

Section

Section

presents

the

derivation

of

the

method

Section

gives

our

experimental

results

and

Section

describes

our

results

for

an

alternative

stop

criterion

used

with

the

classic

schedule

The

new

stop

criterion

was

formulated

due

to

the

observation

that

a

significant

amount

of

computation

was

being

performed

after

the

classic

schedule

had

already

converged

to

its

final

solution

BACKGROUND

INFORMATION

In

this

section

we

first

describe

the

SA

algorithm

We

then

present

behavior

characteristics

of

the

SA

algorithm

that

will

be

used

in

the

derivation

of

our

method

of

starting

temperature

determination

for

TSSA

systems

given

in

Section

The

SA

Algorithm

The

SA

algorithm

was

first

introduced

by

Kirkpatrick

Gelatt

and

Vecchi

-LSB-

-RSB-

and

independently

by

Cerny

-LSB-

-RSB-

as

a

problem-independent

combinatorial

optimization

technique

It

is

a

generalization

of

the

Metropolis

Monte

Carlo

simulation

-LSB-

-RSB-

It

combines

the

advantages

of

iterative

improvement

techniques

with

randomizing

techniques

to

yield

a

powerful

optimization

engine

The

SA

process

typically

starts

with

a

random

solution

to

the

optimization

problem

in

question

and

a

high

initial

temperature

Through

the

use

of

some

generation

mechanism

a

copy

of

the

current

solution

is

randomly

perturbed

to

form

a

new

solution

The

new

solution

is

subjected

to

the

Metropolis

acceptance

criterion

-LSB-

-RSB-

The

Metropolis

criterion

always

accepts

the

perturbed

solution

as

the

next

current

solution

if

its

cost?as

defined

by

the

given

problem?s

cost

function?is

lower

than

that

of

the

current

solution

-LRB-

assuming

minimization

-RRB-

It

also

allows

for

the

probabilistic

acceptance

of

higher-cost

perturbed

solutions

as

the

next

solution

enabling

the

SA

algorithm

to

Draft

submitted

for

publication

climb

out

of

local

optima

This

probabilistic

acceptance

is

a

function

of

the

current

temperature

and

the

difference

in

cost

of

the

current

and

perturbed

solutions

The

sequence

of

solutions

generated

at

a

fixed

temperature

can

be

mathematically

modelled

as

a

Markov

chain

due

to

the

fact

that

the

outcome

of

any

given

Metropolis

trial

depends

only

upon

the

outcome

of

the

previous

Metropolis

trial

-LSB-

-RSB-

After

a

large

number

of

Metropolis

trials

the

distribution

of

the

solutions

will

approach

the

stationary

distribution

for

the

current

Markov

chain

known

as

the

Boltzmann

distribution

At

this

point

called

quasi-equilibrium

the

temperature

is

lowered

according

to

some

decrement

rule

This

process

continues

until

some

stop

criterion

is

met

at

which

point

the

algorithm

is

terminated

Pseudo-code

for

the

SA

algorithm

using

the

Metropolis

acceptance

criterion

is

given

in

Figure

More

in-depth

analyses

of

the

SA

algorithm

are

available

in

the

literature

-LSB-

-RSB-

There

are

five

items

that

must

be

specified

for

any

SA

implementation?the

initial

temperature

value

the

acceptance

function

the

length

of

the

Markov

chain

at

each

temperature

the

temperature

decrement

rule

and

the

stopping

conditions

Collectively

these

implementation

parameters

are

known

as

the

cooling

schedule

-LSB-

-RSB-

There

are

many

proposed

cooling

schedules

present

in

the

literature

-LSB-

-RSB-

For

the

purpose

of

this

paper

we

concern

ourselves

with

traditional

cooling

schedules

that

conform

to

the

Markov

chain

model

described

above

The

reason

-LRB-

-RRB-

-LCB-

initialize

-LRB-

i

t

-RRB-

ibest

i

do

-LCB-

do

-LCB-

j

perturb

-LRB-

i

-RRB-

Dcij

c

-LRB-

j

-RRB-

c

-LRB-

i

-RRB-

if

-LRB-

-LRB-

Dcij

-RRB-

-LRB-

random

-LRB-

-RRB-

exp

-LRB-

Dcij/t

-RRB-

-RRB-

-RRB-

-LCB-

i

newstate

-LRB-

j

-RRB-

if

-LRB-

c

-LRB-

i

-RRB-

c

-LRB-

ibest

-RRB-

-RRB-

ibest

i

-RCB-

-RCB-

while

-LRB-

equilibrium

has

not

been

reached

-RRB-

decrement

-LRB-

t

-RRB-

-RCB-

while

-LRB-

stop

criterion

has

not

been

met

-RRB-

return

-LRB-

ibest

-RRB-

-RCB-

Figure

Pseudo-code

for

the

SA

algorithm

using

the

Metropolis

acceptance

criterion

Draft

submitted

for

publication

for

this

lies

in

the

fact

that

only

the

Markov-based

SA

model

has

been

shown

to

converge

asymptotically

to

the

global

optimum

-LSB-

-RSB-

implying

good

heuristic

approximations

for

most

NP-hard

problems

when

given

a

reasonable

SA

implementation

In

addition

the

model

is

relatively

problem-independent

However

the

Markov-based

SA

paradigm

is

computationally

expensive

Traditional

SA

cooling

schedules

tend

to

fall

into

one

of

two

classes

depending

upon

the

employed

decrement

rule?exponential

or

logarithmic

Exponential

schedules

have

decrement

rules

of

the

form

-LRB-

-RRB-

where

a

with

a

usually

in

the

range

Logarithmic

schedules

have

decrement

rules

of

the

form

-LRB-

-RRB-

where

is

some

function

of

one

or

more

of

the

aggregate

statistics

from

the

Markov

chain

The

seminal

papers

-LSB-

-RSB-

introduced

exponential

schedules

so

we

tend

to

refer

to

this

type

of

schedule

as

the

classic

schedule

Logarithmic

schedules

tend

to

produce

better

solutions

than

do

classic

schedules

at

the

expense

of

increased

computation

time

The

majority

of

SA

applications

present

in

the

literature

use

some

variation

of

the

classic

schedule

For

the

purpose

of

testing

our

proposed

TSSA

method

we

chose

to

implement

one

classic

and

one

logarithmic

schedule

for

each

of

the

problems

in

our

test

suite

The

classic

schedule

is

the

one

proposed

by

Kirkpatrick

Gelatt

and

Vecchi

-LSB-

-RSB-

The

logarithmic

schedule

is

that

of

Aarts

and

van

Laarhoven

-LSB-

-RSB-

Results

for

the

six

problem/schedule

combinations

are

presented

in

Section

in

an

attempt

to

show

that

our

proposed

method

of

starting

temperature

determination

for

TSSA

systems

is

problem

and

formulation-insensitive

assuming

the

chosen

SA

cooling

schedule

conforms

to

the

basic

Markov

chain

model

Section

presents

SA

behavior

characteristics

used

in

the

derivation

of

our

TSSA

method

Characteristic

Behavior

of

SA

One

way

of

ensuring

general

applicability

of

the

proposed

TSSA

methodology

is

to

base

the

determination

of

the

starting

temperature

on

some

characteristic

behavior

of

the

SA

algorithm

We

choose

the

behavior

of

the

cost

c

-LRB-

ibest

-RRB-

of

the

variate

best-seen

solution

so

far

ibest

to

serve

as

the

basis

for

our

method

The

reason

for

this

choice

lies

in

the

fact

that

the

cost

of

the

solution

returned

tk

ak

tk

tk

Gk

log

-LRB-

-RRB-

Draft

submitted

for

publication

by

the

heuristic

i.e.

the

best-seen

solution

is

the

only

piece

of

information

available

at

the

beginning

of

the

SA

phase

in

a

TSSA

system

Since

both

absolute

cost

and

temperature

are

problem-dependent

a

normalization

scheme

is

required

for

consistency

across

different

problems

Let

E

and

s

respectively

represent

the

expected

cost

and

the

standard

deviation

of

the

cost

over

all

solutions

in

the

state

space

We

can

normalize

the

cost

cnorm

-LRB-

i

-RRB-

of

a

solution

i

by

measuring

it

in

standard

deviation

units

s

away

from

the

expected

cost

E

We

can

normalize

the

temperature

tnorm

by

dividing

it

with

respect

to

initial

SA

temperature

Explicitly

this

leads

to

the

following

normalizations

-LRB-

-RRB-

and

-LRB-

-RRB-

where

c

-LRB-

i

-RRB-

is

the

cost

of

the

current

solution

i

and

tk

is

the

kth

temperature

value

Figure

illustrates

the

characteristic

SA

solution

curve

that

results

from

plotting

normalized

best-seen

cost

against

normalized

temperature

Plots

from

actual

SA

runs

can

be

seen

in

Figures

and

Given

the

above

normalizations

we

can

use

a

well-known

behavior

of

the

expected

cost

Ek

and

standard

deviation

sk

with

respect

to

temperature

tk

can

serve

as

the

basis

for

a

starting

temperature

determination

scheme

In

particular

large-scale

numerical

studies

have

been

conducted

for

differ

cnorm

i

-LRB-

-RRB-

E

c

i

-LRB-

-RRB-

-LRB-

-RRB-

s

tnorm

tk

t

Figure

Normalized

SA

best-seen

cost

cnorm

-LRB-

ibest

-RRB-

vs.

normalized

SA

temperature

tnorm

tnorm

cnorm

-LRB-

ibest

-RRB-

Draft

submitted

for

publication

ent

pseudo-random

combinatorial

problems

examining

solution

densities

at

varying

SA

temperatures

by

three

different

sets

of

authors

-LSB-

-RSB-

All

three

independently

present

evidence

that

supports

a

typical

behavior

of

the

expected

cost

and

standard

deviation

with

respect

to

temperature

given

a

traditional

Markov-based

SA

cooling

schedule

Specifically

the

investigations

conclude

that

at

all

temperatures

except

those

very

close

to

the

temperature

corresponding

to

the

optimal

value

of

the

cost

function

the

following

behaviors

can

be

noted

-LRB-

-RRB-

and

-LRB-

-RRB-

Additionally

the

investigations

independently

show

that

for

this

same

range

of

temperatures

the

probability

distribution

of

the

cost

values

can

be

closely

approximated

by

a

normal

distribution

These

observations

are

used

in

the

derivation

of

the

proposed

method

for

starting

temperature

determination

presented

in

the

next

section

DERIVATIONS

Given

the

background

information

in

the

previous

section

we

now

present

the

following

two

propositions

that

describe

the

derivation

our

methodology

Proposition

Given

a

solution

i

for

some

combinatorial

optimization

problem

the

following

function

can

be

used

to

closely

approximate

the

SA

temperature

tk

-LRB-

i

-RRB-

at

which

i

would

be

found

as

the

best-seen

solution

-LRB-

-RRB-

Proof

It

should

be

clear

that

the

absolute

cost

c

-LRB-

ibest

-RRB-

of

the

best-seen

solution

ibest

is

proportional

to

SA

temperature

tk?the

best-seen

cost

decreases

as

the

temperature

is

decreased

This

along

with

Equation

implies

that

normalized

best-seen

cost

is

inversely

proportional

to

normalized

temperature

-LRB-

-RRB-

As

the

temperature

decreases

the

difference

between

the

best-seen

cost

and

the

expected

cost

over

Ek

E

s

t

k

sk

s

tk

i

-LRB-

-RRB-

s

E

c

i

-LRB-

-RRB-

g?s

t

norm

i

best

-LRB-

-RRB-

s

E

c

ibes

t

-LRB-

-RRB-

Draft

submitted

for

publication

all

solutions

-LRB-

E

c

-LRB-

ibest

-RRB-

-RRB-

becomes

greater

This

relation

can

be

seen

graphically

in

Figures

and

If

is

set

equal

to

s

as

proposed

by

White

-LSB-

-RSB-

replacing

tnorm

with

Equation

leads

to

the

following

proportionality

relation

for

absolute

temperature

tk

-LRB-

-RRB-

We

now

convert

this

proportion

into

a

usable

function

Solving

Equation

with

respect

to

absolute

temperature

tk

gives

-LRB-

-RRB-

This

relation

is

quite

similar

to

Equation

A

function

relating

Ek

and

c

-LRB-

ibest

-RRB-

would

nearly

complete

the

proof

If

ikmin

is

the

minimum-cost

solution

found

during

the

kth

Markov

chain

executing

at

temperature

tk

then

we

know

that

the

following

relation

holds

-LRB-

-RRB-

This

implies

that

the

expected

cost

at

temperature

tk

is

some

number

of

standard

deviation

units

sk

greater

than

the

minimum-cost

solution

over

the

kth

Markov

chain

ikmin

We

call

this

number

the

offset

and

denote

it

by

the

symbol

g

In

this

context

Equation

can

be

expressed

as

-LRB-

-RRB-

If

we

replace

the

sk

term

in

Equation

with

Equation

and

approximate

ikmin

with

the

global

best-seen

solution

ibest

we

get

-LRB-

-RRB-

Using

the

behavior

of

the

standard

deviation

sk

described

by

Equation

combined

with

the

assumption

that

the

configuration

density

is

nearly

normally

distributed

we

expect

the

offset

gk

to

remain

approximately

constant

at

the

higher

temperatures

while

converging

quickly

towards

zero

close

to

the

temperature

corresponding

to

the

optimal

value

of

the

cost

function

Our

experimental

evidence

indeed

supports

this

behavior

This

can

be

seen

graphically

in

Figures

and

showing

the

evolution

of

the

offset

over

the

course

of

the

SA

algorithm

for

a

number

of

runs

This

behavior

allows

us

to

closely

approximate

the

gk

term

in

Equation

with

g

Also

replacing

the

Ek

term

in

Equation

by

Equation

gives

us

the

following

tk

i

best

-LRB-

-RRB-

s

E

c

ibes

t

-LRB-

-RRB-

tk

s

E

Ek

Ek

c

i

km

i

n

-LRB-

-RRB-

Ek

c

i

km

i

n

-LRB-

-RRB-

gksk

Ek

c

ibes

t

-LRB-

-RRB-

gks

Draft

submitted

for

publication

-LRB-

-RRB-

Finally

instantiating

Equation

with

the

first-stage

heuristic

solution

i

for

ibest

gives

Equation

n

Equation

serves

as

the

basis

for

our

proposed

method

of

starting

temperature

determination

However

the

offset

g

is

still

an

unknown

It

is

important

to

note

that

without

the

offset

term

Equation

generates

temperature

approximations

that

are

too

low

resulting

in

TSSA

solution

quality

less

than

that

of

standard

SA

The

following

proposition

describes

the

calculation

of

g

Proposition

Given

a

SA

formulation

for

some

combinatorial

optimization

problem

with

Markov

chain

length

LM

the

offset

g

can

be

calculated

probabilistically

with

the

equation

-LRB-

-RRB-

Proof

As

discussed

in

the

previous

section

we

make

use

of

the

observation

that

we

can

use

a

normal

distribution

to

closely

approximate

the

probability

distribution

of

the

cost

values

over

each

Markov

chain

Using

this

assumption

the

cost

values

seen

over

the

course

of

a

Markov

chain

can

be

represented

by

a

normally

distributed

random

variable

X

with

probability

distribution

function

tk

i

best

-LRB-

-RRB-

s

E

c

i

bes

t

-LRB-

-RRB-

g?s

offset

simulated

annealing

offset

Figure

Evolution

of

the

offset

gk

for

the

RSMT

instance

P

E

g?s

X

E

g?s

-LSB-

-RSB-

LM

Draft

submitted

for

publication

-LRB-

-RRB-

A

simple

change

in

variable

leads

to

the

following

cumulative

distribution

function

-LRB-

CDF

-RRB-

-LRB-

-RRB-

where

t

-LRB-

x

m

-RRB-

s

and

dx

s

dt

This

CDF

can

then

be

used

in

such

a

way

as

to

determine

the

probability

of

generating

a

solution

with

a

given

cost

Explicitly

this

can

be

written

as

-LRB-

-RRB-

If

we

let

z

-LRB-

x

m

-RRB-

s

the

term

determines

the

percentile

r

of

the

normal

distribution

F

-LRB-

-RRB-

r

to

which

X

x

is

likely

to

belong

For

our

purposes

it

is

useful

to

consider

these

normal

probabilities

in

terms

of

standard

deviation

units

away

from

the

mean

In

this

context

can

be

used

in

the

following

manner

-LRB-

-RRB-

It

should

be

clear

that

the

term

in

the

above

equation

corresponds

to

the

offset

g

used

in

our

starting

temperature

determination

method

The

problem

remains

to

calculate

appropriate

r

values

and

their

corresponding

values

to

be

used

in

determining

the

expected

value

for

g

Using

the

behavior

characteristics

presented

in

Section

we

can

use

the

offset

value

for

the

first

Markov

chain

to

obtain

a

reasonable

approximation

for

g

We

need

now

only

determine

the

expected

offset

for

the

first

Markov

chain

Since

virtually

all

LM

transitions

will

be

accepted

during

the

first

Markov

chain

of

the

SA

cooling

schedule

the

stationary

distribution

of

this

chain

is

uniform

over

the

state

space

-LSB-

-RSB-

This

implies

that

the

mean

and

standard

deviation

of

the

cost

values

seen

over

the

first

Markov

chain

will

approach

E

and

s

respectively

Using

this

fact

we

can

assume

that

each

generated

solution

has

a

probability

very

close

to

LM

of

having

the

minimum

cost

value

seen

over

the

course

of

the

first

Markov

chain

This

will

serve

as

the

value

for

r.

Conversely

each

generated

solution

will

have

a

probability

very

close

to

r

of

having

a

cost

greater

than

that

of

the

minimum

cost

value

seen

over

the

course

of

the

first

Markov

chain

Using

these

values

we

can

now

determine

and

hence

our

offset

g

Since

we

are

considering

the

first

Markov

chain

we

can

substi

f

x

m

s

;-LRB-

-RRB-

s

e

x

m

s

F

z

-LRB-

-RRB-

e

dt

z

P

X

x

-LSB-

-RSB-

F

x

m

s

P

m

zr

s

X

m

zr

s

-LSB-

-RSB-

r

Draft

submitted

for

publication

tute

E

for

m

and

s

for

s

in

Equation

giving

us

Equation

n

Given

the

appropriate

value

for

r

the

corresponding

value

can

be

calculated

via

numerical

methods

or

by

a

table

lookup

If

both

of

these

methods

are

infeasible

for

the

given

TSSA

system

cells

LM

r

computed

g

observed

Table

Experimental

results

for

approximating

the

offset

for

several

VLSI-NPP

instances

terminals

LM

r

computed

g

observed

Table

Experimental

results

for

approximating

the

offset

for

several

RSMT

instances

cities

LM

r

computed

g

observed

Table

Experimental

results

for

approximating

the

offset

for

several

TSP

instances

Draft

submitted

for

publication

another

g

approximation

method

can

be

employed

at

the

expense

of

increased

computation

time

A

single

Markov

chain

can

be

executed

from

a

randomly

generated

solution

such

that

all

LM

transitions

are

accepted

The

observed

m

and

s

for

the

chain

will

approximate

E

and

s

If

c

-LRB-

imin

-RRB-

is

the

minimum-cost

value

seen

over

the

course

of

the

Markov

chain

g

can

be

approximated

by

-LRB-

-RRB-

Tables

show

results

for

approximating

the

offset

of

each

problem

instance

in

our

test

suite

using

table

values

-LSB-

-RSB-

Results

for

each

instance

are

averaged

over

runs

As

can

be

seen

in

the

table

computed

values

match

very

closely

with

observed

offsets

The

variance

seen

in

the

offset

values

generated

for

any

particular

problem

instance

is

generally

quite

high

However

in

practice

this

did

not

affect

the

ability

of

the

TSSA

systems

to

converge

to

the

same

quality

solutions

as

the

corresponding

standard

SA

algorithms

for

the

same

problem

This

can

be

seen

in

the

TSSA

results

presented

in

Section

Based

on

the

above

discussion

our

method

can

be

summarized

in

the

following

steps

Execute

the

heuristic

to

obtain

c

-LRB-

ibest

-RRB-

Obtain

values

for

E

s

and

g.

Use

c

-LRB-

ibest

-RRB-

E

s

and

g

in

Equation

to

obtain

the

starting

temperature

approximation

tapp

Set

t

tapp

and

begin

the

SA

phase

As

can

be

seen

in

Figures

and

our

method

produces

approximations

that

are

quite

close

to

actual

SA

temperatures

associated

with

the

best-seen

solution

for

different

problem/schedule

combinations

Figure

shows

our

approximation

curve

plotted

against

actual

SA

solution

curves

for

the

VLSI-NPP

instance

Figure

shows

our

approximation

curve

plotted

against

actual

SA

solution

curves

for

the

TSP

instance

For

both

figures

plots

-LRB-

a

-RRB-

and

-LRB-

b

-RRB-

concern

respectively

the

logarithmic

and

classic

schedules

The

experimental

results

presented

in

the

next

section

indicate

that

in

practice

there

is

a

significant

time

reduction

seen

for

TSSA

systems

incorporating

the

above

methodology

over

standard

SA

with

no

loss

in

solution

quality

TSSA

EXPERIMENTAL

RESULTS

Results

are

presented

for

three

different

NP-hard

combinatorial

optimization

problems

namely

the

VLSI

network

partitioning

-LRB-

VLSI-NPP

-RRB-

rectilinear

Steiner

minimal

tree

-LRB-

RSMT

-RRB-

and

traveling

salesperson

-LRB-

TSP

-RRB-

problems

A

short

description

of

each

problem

is

given

in

the

corresponding

g

mcha

in

c

i

m

in

-LRB-

-RRB-

scha

in

Draft

submitted

for

publication

subsection

Each

problem

is

solved

with

two

different

cooling

schedules?a

classic

schedule

-LSB-

-RSB-

and

a

logarithmic

schedule

-LSB-

-RSB-

All

TSSA

systems

discussed

here

are

implemented

in

the

C/C

programming

language

using

the

Gnu

g

compiler

All

test

runs

were

executed

on

a

Sun

SparcServer

operating

under

SunOS

-LRB-

UNIX

-RRB-

with

MB

of

RAM

All

results

are

averaged

over

runs

VLSI

Network

Partitioning

Problem

The

VLSI-NPP

is

a

graph

partitioning

problem

-LRB-

GPP

-RRB-

-LSB-

-RSB-

The

input

to

the

VLSI-NPP

consists

of

a

set

of

VLSI

circuit

elements

or

cells

connected

by

a

set

of

nets

Each

cell

has

an

associated

positive-valued

area

A

net

is

a

set

of

at

least

two

cells

that

is

to

be

electrically

interconnected

The

goal

of

the

VLSI-NPP

is

to

divide

the

cells

into

two

blocks

so

as

to

minimize

the

number

of

nets

that

have

cells

in

both

blocks

under

the

constraint

that

the

sums

of

the

areas

of

the

cells

in

each

block

are

approximately

equal

The

difference

in

area

between

the

two

blocks

is

used

as

a

penalty

term

Hence

the

objective

function

to

be

minimized

for

the

VLSI-NPP

is

-LRB-

-RRB-

Figure

Starting

temperature

approximation

curve

vs.

actual

SA

runs

for

VLSI-NPP

instance

concerning

-LRB-

a

-RRB-

the

logarithmic

schedule

and

-LRB-

b

-RRB-

the

classic

schedule

-LRB-

a

-RRB-

std

deviations

simulated

annealing

solution

starting

temperature

approximation

curve

-LRB-

b

-RRB-

std

deviations

simulated

annealing

solution

starting

temperature

approximation

curve

c

i

-LRB-

-RRB-

Ecu

t

l

area

a

i

-LRB-

-RRB-

ai

A

area

b

i

-LRB-

-RRB-

bi

B

Draft

submitted

for

publication

where

Ecut

is

the

number

of

nets

with

cells

in

both

blocks

and

l

is

a

weighting

constant

For

our

VLSI-NPP

implementation

l

The

TSSA

VLSI-NPP

system

incorporates

the

Fiduccia

and

Mattheyses

-LRB-

F-M

-RRB-

heuristic

-LSB-

-RSB-

The

F-M

heuristic

is

a

generalization

of

the

Kernighan-Lin

graph

bipartitioning

heuristic

-LSB-

-RSB-

The

heuristic

was

selected

due

to

its

fast

running

times

and

quality

of

solution

The

complexity

of

the

algorithm

is

linear

in

the

total

number

of

pins

where

a

pin

is

an

interconnection

point

on

a

cell

for

a

particular

net

We

chose

to

only

use

one

pass

of

the

algorithm

since

the

majority

of

improvement

takes

place

during

the

first

pass

Experimental

results

show

that

SA

improves

solutions

generated

by

one

pass

of

F-M

by

an

average

of

relative

to

E

in

terms

of

standard

deviation

units

s

Experimental

data

used

for

evaluating

the

TSSA

VLSI-NPP

system

is

made

up

of

SIGDA

standard

cell

benchmark

circuits

-LRB-

cells

nets

-RRB-

and

-LRB-

cells

nets

-RRB-

-LSB-

-RSB-

as

well

as

four

randomly

generated

networks

with

average

edge

degrees

similar

to

the

benchmark

circuits

The

randomly

generated

networks

range

in

size

from

nets

with

cells

to

nets

with

cells

The

results

are

given

in

Tables

and

respectively

for

the

logarithmic

and

classic

schedules

As

can

be

seen

from

the

tables

significant

speedup

is

observed

in

the

TSSA

systems

incorporating

our

method

of

starting

temperature

determination

over

standard

SA

with

a

minimal

difference

in

solution

quality

The

average

speed-up

was

approximately

and

Figure

Starting

temperature

approximation

curve

vs.

actual

SA

runs

for

TSP

instance

concerning

-LRB-

a

-RRB-

the

logarithmic

schedule

and

-LRB-

b

-RRB-

the

classic

schedule

-LRB-

a

-RRB-

std

deviations

simulated

annealing

solution

starting

temperature

approximation

curve

-LRB-

b

-RRB-

std

deviations

simulated

annealing

solution

starting

temperature

approximation

curve

Draft

submitted

for

publication

respectively

for

the

logarithmic

and

classic

schedules

Rectilinear

Steiner

Minimal

Tree

Problem

The

input

to

the

RSMT

problem

consists

of

a

set

of

n

points

in

a

plane

called

terminals

The

goal

of

the

RSMT

problem

is

to

connect

the

terminals

with

horizontal

and

vertical

line

segments

such

that

the

sum

of

the

lengths

of

the

segments

is

minimized

The

connected

terminals

should

form

an

acyclic

tree

such

that

all

of

the

terminals

serve

as

endpoints

to

various

segments

Additional

points

called

Steiner

points

can

also

be

used

to

connect

the

terminals

Using

a

result

of

Hanan

-LSB-

-RSB-

we

can

restrict

a

search

for

an

optimal

solution

to

Steiner

point

locations

that

lie

on

a

grid

imposed

by

the

terminals

This

grid

defines

at

most

O

-LRB-

-RRB-

possible

Steiner

locations

Hanan?s

result

also

allows

us

to

limit

the

actual

number

of

Steiner

points

to

at

most

The

objective

function

is

simply

-LRB-

-RRB-

Data

instance

-LRB-

cells

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

nets

cut

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

nets

cut

CPU

time

decrease

Table

Results

for

the

TSSA

VLSI-NPP

system

using

a

logarithmic

schedule

Data

instance

-LRB-

cells

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

tour

length

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

tour

length

CPU

time

decrease

Table

Results

for

a

TSSA

VLSI-NPP

system

using

a

classic

schedule

c

i

-LRB-

-RRB-

l

ength

e

i

-LRB-

-RRB-

e

i

E

Draft

submitted

for

publication

where

E

is

the

set

of

all

edges

in

the

tree

The

heuristic

chosen

for

the

first

phase

of

the

TSSA

RSMT

system

is

based

on

Kruskal?s

minimum-spanning

tree

algorithm

-LSB-

-RSB-

Kruskal?s

algorithm

is

first

run

to

obtain

the

minimum-spanning

tree

for

the

n

terminals

using

no

Steiner

points

Then

up

to

n

Steiner

points

are

added

in

a

greedy

fashion

from

the

set

of

possible

Steiner

locations

to

form

the

initial

solution

for

the

SA

phase

SA

improves

solutions

produced

by

our

variation

of

Kruskal?s

algorithm

by

an

average

of

relative

to

E

in

terms

of

standard

deviation

units

s

A

graphical

example

of

the

evolution

-LRB-

a

-RRB-

temperature

cost

-LRB-

b

-RRB-

temperature

cost

-LRB-

c

-RRB-

temperature

cost

Figure

Evolution

of

TSSA

best-seen

solution

for

RSMT

instance

-LRB-

a

-RRB-

random

initial

solution

-LRB-

b

-RRB-

solution

after

first-stage

heuristic

and

-LRB-

c

-RRB-

solution

after

SA

phase

Draft

submitted

for

publication

of

a

best-seen

solution

for

the

TSSA

RSMT

system

is

shown

in

Figure

Experimental

data

used

for

evaluating

the

TSSA

RSMT

system

consists

of

four

of

the

larger

nets

from

the

SIGDA

benchmark

circuits

as

well

as

randomly

generated

and

terminal

networks

The

nets

taken

from

range

in

size

from

terminals

to

terminals

The

placements

of

the

nets

from

are

intermediate

solutions

generated

by

a

local

placement

and

routing

package

The

results

are

shown

in

Tables

and

As

is

the

case

with

the

previous

two

problems

significant

speedup

is

noted

for

the

TSSA

RSMT

system

over

standard

SA

with

no

loss

in

solution

quality

The

average

speedup

was

approximately

and

respectively

for

the

logarithmic

and

classic

schedules

Traveling

Salesperson

Problem

The

input

to

the

TSP

consists

of

a

symmetric

n

n

distance

matrix

d

representing

distances

between

n

cities

The

goal

is

to

find

a

minimum-length

tour

that

visits

each

city

exactly

once

while

Data

instance

-LRB-

terminals

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

tree

length

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

tree

length

CPU

time

decrease

Table

Results

for

a

TSSA

RSMT

system

using

a

logarithmic

schedule

Data

instance

-LRB-

terminals

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

tree

length

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

tree

length

CPU

time

decrease

Table

Results

for

a

TSSA

RSMT

system

using

a

classic

schedule

Draft

submitted

for

publication

terminating

at

the

city

of

origin

The

objective

function

to

be

minimized

is

-LRB-

-RRB-

For

the

heuristic

phase

of

the

TSSA

TSP

system

the

Croes

heuristic

-LSB-

-RSB-

is

used

Our

experimental

results

show

that

solutions

produced

by

our

variation

of

the

Croes

algorithm

are

on

average

closer

to

E

in

terms

of

standard

deviation

units

s

than

final

SA

solutions

Experimental

data

used

for

evaluating

the

TSSA

TSP

system

consists

of

the

following

instances

the

city

problem

of

Croes

-LSB-

-RSB-

the

city

problem

of

Dantzig

Fulkerson

and

Johnson

-LSB-

-RSB-

a

randomly

generated

city

problem

the

city

problem

of

Karg

and

Thompson

-LSB-

-RSB-

a

randomly

generated

city

problem

and

the

city

problem

of

Lin

and

Kernighan

-LSB-

-RSB-

The

results

are

given

in

Tables

and

Again

significant

speedup

is

noted

over

standard

SA

with

no

loss

in

solution

quality

The

average

speedup

was

approximately

and

respectively

for

the

c

i

-LRB-

-RRB-

dj

j

j

n

dn

Data

instance

-LRB-

cities

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

tour

length

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

tour

length

CPU

time

decrease

Table

Results

for

the

TSSA

TSP

system

using

a

logarithmic

schedule

Data

instance

-LRB-

cities

-RRB-

SA

CPU

time

-LRB-

sec

-RRB-

SA

tour

length

TSSA

CPU

time

-LRB-

sec

-RRB-

TSSA

tour

length

CPU

time

decrease

Table

Results

for

a

TSSA

TSP

system

using

a

classic

schedule

Draft

submitted

for

publication

logarithmic

and

classic

schedules

In

summary

the

average

running

time

speedup

for

TSSA

over

SA

for

all

problem

instances

in

the

test

suite

is

approximately

when

using

a

logarithmic

cooling

schedule

and

approximately

when

using

a

classic

cooling

schedule

Both

figures

are

clearly

significant

AN

ALTERNATIVE

STOP

CRITERION

During

the

initial

testing

of

our

methodology

it

became

apparent

that

the

classic

schedule

was

performing

a

significant

percentage

of

its

total

Boltzmann

trials

after

the

algorithm

had

already

converged

to

its

final

solution

However

this

proved

not

to

be

the

case

for

the

logarithmic

schedule

This

prompted

the

examination

of

possible

new

stop

criteria

for

the

classic

schedule

The

standard

stop

criterion

for

the

classic

schedule

specifies

to

terminate

the

algorithm

when

three

consecutive

Markov

chains

end

in

the

same

value

for

the

cost

function

Since

this

stop

criterion

presents

little

overhead

to

the

algorithm

one

of

the

goals

for

any

new

stop

criterion

was

to

similarly

keep

any

additional

overhead

to

a

minimum

We

chose

to

focus

on

the

behavior

of

the

offset

as

specified

by

Equation

to

serve

as

the

basis

for

a

new

stop

criterion

As

discussed

in

Section

the

offset

remains

essentially

constant

over

the

majority

of

the

algorithm

converging

quickly

to

zero

at

temperatures

close

to

that

which

corresponds

to

the

optimal

value

for

the

cost

function

This

behavior

is

shown

graphically

in

Figure

The

figure

shows

the

evolution

of

the

offset

for

a

number

of

SA

runs

on

the

TSP

instance

The

above

mentioned

offset

simulated

annealing

offset

Figure

Evolution

of

the

offset

gk

for

the

TSP

instance

Draft

submitted

for

publication

behavior

is

clearly

exhibited

This

behavior

remains

consistent

across

all

problem/formulation

combinations

in

our

test

suite

Incorporating

the

offset

into

a

new

stop

criterion

introduces

very

little

overhead

The

average

cost

over

each

Markov

chain

as

well

as

the

minimum-cost

value

seen

over

each

Markov

chain

must

be

tracked

This

adds

a

single

assignment

statement

and

a

single

conditional

statement

to

the

inner

loop

of

the

SA

algorithm

We

chose

a

parameterized

approach?specifically

the

new

stop

criterion

dictates

that

the

algorithm

be

terminated

at

some

temperature

tk

when

the

following

relation

holds

-LRB-

-RRB-

where

Q

is

a

small

user-defined

constant

Q

can

be

optimized

for

the

problem

being

solved

However

for

our

tests

we

chose

a

value

that

worked

well

for

all

three

problems

specifically

Q

Results

for

the

classic

schedule

incorporating

the

new

stop

criterion

are

given

in

Tables

As

can

be

seen

in

the

tables

there

is

generally

a

significant

reduction

in

the

number

of

Boltzmann

trials

performed

after

the

final

solution

is

found

for

all

three

of

the

test

problems

This

translated

into

an

average

further

reduction

in

computation

time

as

compared

to

TSSA

using

the

original

stop

criterion

The

length

of

the

Markov

chains

at

each

temperature

and

the

computational

cost

of

each

Boltzmann

trial

determine

the

absolute

reduction

in

CPU

time

The

VLSI-NPP

system

showed

the

least

improvement

due

to

its

having

by

far

the

least

computationally

expensive

Boltzmann

trials

The

RSMT

system

showed

the

greatest

improvement

due

to

its

very

computationally

expensive

Boltzmann

trials

despite

the

fact

that

it

has

the

shortest

Markov

chain

length

CONCLUSIONS

We

propose

a

TSSA

method

with

a

more

formal

basis

for

determining

the

temperature

at

which

to

begin

the

low

temperature

SA

phase

We

have

tested

our

method

on

three

important

optimization

problems

using

both

classic

and

logarithmic

schedules

The

results

have

been

consistently

very

good

On

average

for

a

SA

algorithm

using

a

logarithmic

cooling

schedule

the

running

time

is

cut

in

half

while

for

a

SA

algorithm

using

a

classic

schedule

the

running

time

is

reduced

by

one-third

Equally

important

is

that

there

is

on

average

no

loss

in

solution

quality

An

alternative

stop

criterion

for

the

classic

schedule

is

also

presented

that

further

decreases

the

running

times

by

another

ACKNOWLEDGEMENTS

The

authors

work

has

been

supported

in

part

through

National

Science

Foundation

grants

mk

c

ikm

in

-LRB-

-RRB-

sk

Q

Draft

submitted

for

publication

cells

old

s.c.

trials

final

solution

trial

new

s.c.

trials

final

solution

trial

waste

reduced

time

reduced

100 4060 1456 2920

1500 170025

3014 346305

Table

Comparison

of

classic

and

newly

proposed

stop

criteria

for

VLSI-NPP

TSSA

system

terminals

old

s.c.

trials

final

solution

trial

new

s.c.

trials

final

solution

trial

waste

reduced

time

reduced

3229 2233 2751 2087

11 5548 2240 5167

13 2094 1230 1470

16 3872 1943 3013

Table

Comparison

of

classic

and

newly

proposed

stop

criteria

for

RSMT

TSSA

system

cities

old

s.c.

trials

final

solution

trial

new

s.c.

trials

final

solution

trial

waste

reduced

time

reduced

57 131890

100 398475

318 5611534

Table

Comparison

of

classic

and

newly

proposed

stop

criteria

for

RSMT

TSSA

system

Draft

submitted

for

publication

and

Their

support

is

greatly

appreciated

REFERENCES

-LSB-

-RSB-

E.H.L.

Aarts

J.H.M.

Korst

and

P.J.M.

van

Laarhoven

Solving

Traveling

Salesman

Problems

by

Simulated

Annealing

J.

Stat

Phys.

vol

-LSB-

-RSB-

E.H.L.

Aarts

and

P.J.M.

van

Laarhoven

A

New

Polynomial-Time

Cooling

Schedule

Proc

IEEE

Santa

Clara

CA

-LSB-

-RSB-

W.H.

Beyer

Ed.

CRC

Standard

Mathematical

Tables

and

Formulae

CRC

Press

Boca

Raton

FL

-LSB-

-RSB-

V.

Cerny

Thermodynamical

Approach

to

the

Traveling

Salesman

Problem

An

Efficient

Simulation

Algorithm

J.

Optimization

Thry

and

Appl.

vol

-LSB-

-RSB-

G.A.

Croes

A

Method

for

Solving

Traveling-Salesman

Problems

Operations

Research

vol

-LSB-

-RSB-

G.B.

Dantzig

D.R.

Fulkerson

and

S.M.

Johnson

Solution

of

a

Large

Scale

Traveling-Salesman

Problem

Operations

Research

vol

-LSB-

-RSB-

C.M.

Fiduccia

and

R.M.

Mattheyses

A

Linear-Time

Heuristic

for

Improving

Network

Partitions

Proc

ACM/IEEE

DAC

Las

Vegas

NV

-LSB-

-RSB-

J.W.

Greene

and

K.J.

Supowit

Simulated

Annealing

Without

Rejected

Moves

IEEE

Trans

CADICS

vol

-LSB-

-RSB-

L.K.

Grover

A

New

Simulated

Annealing

Algorithm

for

Standard

Cell

Placement

Proc

IEEE

Santa

Clara

CA

-LSB-

-RSB-

L.K.

Grover

Standard

Cell

Placement

Using

Simulated

Sintering

Proc

ACM/IEEE

DAC

Miami

Beach

FL

-LSB-

-RSB-

B.

Hajek

A

Tutorial

Survey

of

Theory

and

Applications

of

Simulated

Annealing

Proc

IEEE

Conf

Decision

and

Control

Ft.

Lauderdale

FL

-LSB-

-RSB-

M.

Hanan

On

Steiner?s

Problem

With

Rectilinear

Distance

SIAM

J.

Appl

Math.

vol

-LSB-

-RSB-

M.D.

Huang

F.

Romeo

and

A.

Sangiovanni-Vincentelli

An

Efficient

General

Cooling

Schedule

for

Simulated

Annealing

Proc

IEEE

Santa

Clara

CA

-LSB-

-RSB-

D.S.

Johnson

C.R.

Aragon

L.A.

McGeoch

and

C.

Schevon

Optimization

by

Simulated

Annealing

An

Experimental

Evaluation

Part

Graph

Partitioning

Operations

Research

Draft

submitted

for

publication

vol

no.

-LSB-

-RSB-

R.L.

Karg

and

G.L.

Thompson

A

Heuristic

Approach

to

Solving

Traveling-Salesman

Problems

Management

Science

vol

-LSB-

-RSB-

B.W.

Kernighan

and

S.

Lin

An

Efficient

Heuristic

Procedure

for

Partitioning

Graphs

Bell

Sys.

Tech

J.

vol

-LSB-

-RSB-

S.

Kirkpatrick

C.D.

Gelatt

and

M.P.

Vecchi

Optimization

by

Simulated

Annealing

Science

vol

-LSB-

-RSB-

J.B.

Kruskal

On

the

Shortest

Spanning

Subtree

of

a

Graph

and

the

Traveling

Salesman

Problem

Proc

American

Math

Soc.

vol

-LSB-

-RSB-

P.J.M.

van

Laarhoven

and

E.H.L.

Aarts

Simulated

Annealing

Theory

and

Applications

Reidel

Publishing

Dordrecht

Netherlands

-LSB-

-RSB-

J.

Lam

and

J.-M

Delosme

Performance

of

a

New

Annealing

Schedule

Proc

ACM/IEEE

DAC

Anaheim

CA

-LSB-

-RSB-

J.

Lam

and

J.-M

Delosme

Simulated

Annealing

A

Fast

Heuristic

for

Some

Generic

Layout

Problems

Proc

IEEE

Santa

Clara

CA

-LSB-

-RSB-

S.

Lin

and

B.W.

Kernighan

An

Effective

Heuristic

Algorithm

for

the

Traveling

Salesman

Problem

Operations

Research

vol

-LSB-

-RSB-

N.

Metropolis

A.

Rosenbluth

M.

Rosenbluth

A.

Teller

and

E.

Teller

Equation

of

State

Calculations

by

Fast

Computing

Machines

J.

Chem

Phys.

vol

-LSB-

-RSB-

R.H.J.M.

Otten

and

L.P.P.P.

van

Ginneken

Stop

Criterion

in

Simulated

Annealing

Proc

IEEE

ICCD

Rye

Brook

NY

-LSB-

-RSB-

R.H.J.M.

Otten

and

L.P.P.P.

van

Ginneken

The

Annealing

Algorithm

Kluwer

Academic

Publishers

Boston

MA

-LSB-

-RSB-

B.

Preas

Benchmarks

for

Cell-Based

Layout

Systems

Proc

ACM/IEEE

DAC

Miami

Beach

FL

-LSB-

-RSB-

F.

Romeo

and

A.

Sangiovanni-Vincentelli

Probabilistic

Hill

Climbing

Algorithms

Properties

and

Algorithms

Proc

Chapel

Hill

Conf

on

VLSI

Chapel

Hill

NC

-LSB-

-RSB-

J.S.

Rose

W.M.

Snelgrove

and

Z.G.

Vranesic

Parallel

Standard

Cell

Placement

Algorithms

with

Quality

Equivalent

to

Simulated

Annealing

IEEE

Trans

CADICS

vol

-LSB-

-RSB-

J.S.

Rose

W.

Klebsch

and

J.

Wolf

Temperature

Measurement

and

Equilibrium

Dynamics

Draft

submitted

for

publication

of

Simulated

Annealing

Placements

IEEE

Trans

CADICS

vol

-LSB-

-RSB-

C.

Sechen

and

A.

Sangiovanni-Vincentelli

The

TimberWolf

Placement

and

Routing

Package

IEEE

J.

Solid-State

Circuits

vol

-LSB-

-RSB-

S.R.

White

Concepts

of

Scale

in

Simulated

Annealing

Proc

IEEE

ICCD

Port

Chester

NY

-LSB-

-RSB-

D.F.

Wong

H.W.

Leong

and

C.L.

Liu

Simulated

Annealing

for

VLSI

Design

Kluwer

Academic

Publishers

Boston

MA

O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O

combinatorial optimization
operations research
simulated annealing

two-stage simulated annealing
vlsi design automation