26
2012-03-27 1 Optimization Techniques for Design Space Exploration Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University 2 Prof. Z. Peng, ESLAB/LiTH, Sweden Prof. Z. Peng, ESLAB/LiTH, Sweden Outline Simulated annealing Heuristic techniques Optimization problems in ERT system design Tabu search

Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

1

Optimization Techniques

for Design Space Exploration

Optimization Techniques

for Design Space Exploration

Zebo PengEmbedded Systems Laboratory (ESLAB)

Linköping University

Zebo PengEmbedded Systems Laboratory (ESLAB)

Linköping University

22Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Outline

Simulated annealing

Heuristic techniques

Optimization problems in ERT system design

Tabu search

Page 2: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

2

33Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Design Space of ERT Systems Very large due to many solution parameters:

architectures and components

hardware/software partitioning

mapping and scheduling

operating systems and global control

communication synthesis

Source: S3

Hardware Software

Embeddedmemory

DSP

Network

High-speed electronicsSensor

Analogcircuit

ASIC

Microprocessor

44Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden3 3

3,915

17

19

21

23

25

27

Design Space of ERT Systems Very bumpy due to the interdependence between the different

parameters and the many design constraints (time, power, partial structure, ...).

Many embedded RT systems have a very complex design space.

Page 3: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

3

55Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Design Space ExplorationWhat are needed in order to explore the complex design space to find a good solution:

Design space exploration should be formulated as optimization problems and powerful optimization techniques are needed!

Exploration in the higher level of abstractions.

Development of high-level analysis and estimation techniques.

Employment of very fast exploration algorithms.

Memory-less algorithms.

Each solution needs a huge data structure to store, so we can’t afford to keep track of all visited solutions.

66Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The Optimization Problem

The majority of design space exploration tasks can be viewed as optimization problems:

To find- the architecture (type and number of processors, memory

modules, and communication mechanism, as well as their interconnections),

- the mapping of functionality onto the architecture components, and

- the schedules of basic functions and communications,

such that a cost function (in terms of implementation cost, performance, power, etc.) is minimized and a set of constraints is satisfied.

Page 4: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

4

77Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Mathematical Optimization The design optimization problems can be formulated as to

Minimize f(x)Subject to gi(x) bi; i = 1, 2, ..., m;

wherex is a vector of decision variables (x 0);f is the cost (objective) function;gi’s are a set of constraints.

If f and gi are linear functions, we have a linear programming (LP) problem.

LP can be solved by the simplex algorithm, which is an exact method. It will always identify the optimal solution if it exists.

88Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Combinational Optimization (CO) In many design problems, the decision variables are

restricted to integer values. The solution is a set, or a sequence, of integers or other discrete

objects.

We have an Integer Linear Programming (ILP) problem, which turns out to be more difficult to solve than the LP problems.

Ex. System partitioning can be formulated as: Given a graph with costs on its edges, partition the nodes into k

subsets no larger than a given maximum size, to minimize the total cost of the cut edges.

A feasible solution (with n nodes) is represented as

xi = j; j {1, 2, ..., k}, i = 1, 2, ..., n.

They are called combinatorial optimization problems.

Page 5: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

5

99Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Features of CO Problems Most CO problems, e.g., system partitioning with constraints,

for ERT system designs are NP-compete.

The time needed to solve an NP-compete problem grows exponentially with respect to the problem size n.

Approaches for solving such problems are usually based on implicit enumeration of the feasible solutions.

For example, to enumerate all feasible solutions for a scheduling problem (all possible permutation), we have: 20 tasks in 1 hour (assumption);

21 tasks in 20 hour;

22 tasks in 17.5 days;

...

25 tasks in 6 centuries.

1010Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Outline

Simulated annealing

Heuristic techniques

Optimization problems in ERT system design

Tabu search

Page 6: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

6

1111Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Heuristics

A heuristic seeks near-optimal solutions at a reasonable computational cost without being able to guarantee either feasibility or optimality.

Motivations: Many exact algorithms require a huge computation effort.

The decision variables have complicated interdependencies.

We have often nonlinear cost functions and constraints, even no mathematical functions.• Ex. The cost function f can, for example, be defined by a

computer program (e.g., for power estimation).

Approximation of the model for optimization.• A near optimal solution is usually good enough and could be

even better than the theoretical optimum.

1212Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Heuristic Approaches to COProblem specific Generic methods

• List scheduling• Left-edge algorithm• Clustering

• Divide and conquer• Branch and bound

Con

stru

ctiv

eTr

ansf

orm

atio

nal

Iter

ativ

e im

pro

vem

ent

• Kernighan-Lin algorithm for graph partitioning

• Neighborhood search• Simulated annealing• Tabu search• Genetic algorithms

Page 7: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

7

1313Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Clustering for System Partitioning Each node initially belongs to its own cluster, and clusters

are gradually merged until the desired partitioning is found.

Merge operations are selected based on local information (closeness metrics), rather than global view of the system.

v3

v5

v1

v2

6

0

v4

2

3

4

5 3

2

7 v3v5

v1

v26

0

v4

3

4

5

3

1

v3

v5

v1

4

5

v4

v2

4

4v4

v2

v3

v5

v1v4

v2

v3

v5

v1

v1 v5 v3 v2 v4

1414Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Branch-and-Bound

Traverse an implicit tree to find the best leaf (solution).

4-City TSP

0 1 2 3

0 3 6 41

0 40 5

0 4

0

0

1

2

3

3

40

4

41

0

1

23

Total cost of this solution = 88

Page 8: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

8

1515Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Branch-and-Bound Ex0 1 2 3

0 3 6 41

0 40 5

0 4

0

0

1

2

3{0}

{0,1}

{0,1,2}

{0,1,2,3}L = 88

L 0

L 3

L 43{0,1,3}

{0,1,3,2}

L 8

L = 18

{0,2}L 6

{0,2,1}L 46

{0,2,1,3}L = 92

{0,3}L 41

{0,2,3}

{0,2,3,1}

L 10

L = 18

{0,3,1} {0,3,2}

{0,3,1,2} {0,3,2,1}

L 46 L 45

L = 92 L = 88

Low-bound on the cost function.

Search strategy

1616Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Neighborhood Search Method Step 1 (Initialization)

(A) Select a starting solution xnow X.(B) xbest = xnow, best_cost = c(xbest).

Step 2 (Choice and termination)Choose a solution xnext N(xnow), in the neighborhood of xnow.If no solution can be selected, or the terminating criteria apply,

then the algorithm terminates.

Step 3 (Update)Re-set xnow = xnext.If c(xnow) < best_cost, perform Step 1(B). Goto Step 2.

Page 9: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

9

1717Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Neighborhood Search Method Very attractive for many CO problems as they have a natural

neighborhood structure, which can be easily defined and evaluated. Ex. Graph partitioning: swapping two nodes.

5

8

35

2

3

45

5

4

35

5

6

5665

24

20

40

67

15

23

5

8

35

2

3

45

5

435

5

6

5665

24

20

40

67

15

23

Cost =209

Cost =38

1818Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The Descent Method

Step 1 (Initialization)

Step 2 (Choice and termination)Choose xnext N(xnow) such that c(xnext) < c(xnow), and terminate

if no such xnext can be found.

Step 3 (Update)

Cost

Solutions

The descent method can easily be stuck at a local optimum.

Page 10: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

10

1919Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Dealing with Local Optimality

Enlarge the neighborhood.

Cost

Solutions

Start with different initial solutions.

X

To allow “uphill moves”: Simulated annealing

Tabu search

2020Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Outline

Simulated annealing

Heuristic techniques

Optimization problems in ERT system design

Tabu search

Page 11: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

11

2121Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Annealing Annealing is the slow cooling of metallic material

after heating:

A solid material is heated pass its melting point.

Cooling is then slowly done.

When cooling stops, the material settles usually into a low energy state (e.g., a stable structure).

In this way, the properties of the materials are improved.

2222Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Annealing

The annealing process can be viewed intuitively as: At high temperature, the atoms are randomly oriented due to

their high energy caused by heat.

When the temperature reduces, the atoms tend to line up with their neighbors, but different regions may have different directions.

If cooling is done slowly, the final frozen state will have a near-minimal energy state.

Page 12: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

12

2323Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Simulated Annealing

Annealing can be simulated using computer simulation:

Generate a random perturbation of the atom orientations and calculates the resulting energy change.

If the energy has decreased, the system moves to this new state.

If energy has increased, the new state is accepted according to the laws of thermodynamics:

At temperature t, the probability of an increase in energy of magnitude E is given by

eEp

tkE )(

1)(

where k is called the Boltzmann’s constant.

2424Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Probability of Accepting Higher-Energy States

E

p(E)

00,1

0,20,3

0,40,50,6

0,70,8

0,91

0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3 3,2 3,4 3,6 3,8

00,1

0,20,3

0,40,50,6

0,70,8

0,91

0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3 3,2 3,4 3,6 3,8

eEp

tkE )(

1)(

Page 13: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

13

2525Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Simulated Annealing for CO

The SA algorithm could be applied to combinatorial optimization:

Thermodynamic simulation

Combinatorial optimization

System states Feasible solutions

Energy Cost

Change of state Moving to a neighboring solution

Temperature “Control parameter”

Frozen state Final solution

2626Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Select an initial solution xnow X;

Select an initial temperature t > 0;

Select a temperature reduction function ;

Repeat

Repeat

Randomly select xnext N(xnow);

= cost(xnext) - cost(xnow);

If < 0 then xnow = xnext

else generate randomly p in the range (0, 1) uniformly;

If p < exp(-/t) then xnow = xnext;

Until iteration_count = nrep;

Set t = (t);

Until stopping condition = true.

Return xnow as the approximation to the optimal solution.

The SA Algorithm

Page 14: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

14

2727Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The SA Algorithm

Simulated annealing is really an optimization strategy rather than an algorithm a meta heuristic.

To have a working algorithm, the following must be done:

Selection of generic parameters.

Problem-specific decisions must also be made.

2828Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

A HW/SW Partitioning Example

35000

40000

45000

50000

55000

60000

65000

70000

75000

0 200 400 600 800 1000 1200 1400

Number of iterations

Cos

t fu

nct

ion

val

ue

optimum at itera tion 1006

Page 15: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

15

2929Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The Cooling Schedule I

Initial temperature (IT):

IT must be "hot" enough to allow an almost free exchange of neighborhood solutions, if the final solution is to be independent of the starting one.

Simulating the heating process:

• A system can be first heated rapidly until the proportion of accepted moves to rejected moves reaches a given value;

e.g., when 80% of moves leading to higher costs will be accepted.

• Cooling will then start.

3030Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The Cooling Schedule II

Temperature reduction scheme: A large number of iterations at few temperatures or a small

number of iterations at many temperatures.

Typically (t) = a x t, where a < 1;

a should be large, usually between 0.8 and 0.99.

For better results, the reduction rate should be slower in middle temperature ranges.

Stopping conditions: Zero temperature - the theoretical requirement.

A number of iterations or temperatures has passed without any acceptance of moves.

A given total number of iterations have been completed (or a fixed amount of execution time).

Page 16: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

16

3131Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Problem-Specific Decisions

The neighborhood structure should be defined such that: All solutions should be reachable from each other.

Easy to generate randomly a neighboring feasible solution.

Penalty for infeasible solutions, if the solution space is strongly constrained.

The cost difference between s and s0 should be able to be efficiently calculated.

The size of the neighborhood should be kept reasonably small.

Many decision parameters must be fine-tuned based on experimentation on typical data.

3232Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Outline

Simulated annealing

Heuristic techniques

Optimization problems in ERT system design

Tabu search

Page 17: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

17

3333Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Introduction to Tabu Search

Tabu search (TS) is a neighborhood search method which employs "intelligent" search and flexible memories to avoid being trapped at local optimum.

To de-emphasize randomization.

Moves are selected intelligently in each iteration (the best admissible move is selected).

Use tabus to restrict the search space and avoid cyclic behavior (dead loop).

The classification of tabus is based on the history of the search.

Taking advantage of history.

It emulates human problem solving process.

3434Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

An Illustrative Example

A set of tests is to be scheduled to check the correctness and other features of a given system.

To find an ordering of the tests that maximizes the test performance (fault coverage, time, and power):

A feasible solution can be simply represented by a permutation of the given set of tests.

A neighborhood move can be defined by swapping two tests.

The best move will be selected in each step.

To avoid repeating or reversing swaps done recently, we classify as tabu all most recent swaps.

Page 18: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

18

3535Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

TS Example

21 moves are possible in each iteration in this example

2 3 4 5 6 7

2

1

3

4

5

6

2 6 7 3 4 5 1

2 5 7 3 4 6 1

3636Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

TS Example Let a paired test tabu to be valid only for three iterations (tabu

tenure):

2 3 4 5 6 7

2

1

3

4

5

6

2 5 7 3 4 6 1

2 6 7 3 4 5 1

3

1

2

When a tabu move would result in a solution better than any visited so far, its tabu classification may be overridden (an aspiration criterion).

Page 19: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

19

3737Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

2 4 7 3 5 6 1

A TS Process

3

2 5 7 3 4 6 1

Current solution

Performance = 10

2 3 4 5 6 7

2

1

3

4

5

6

Tabu structure

5, 4 67, 4 43, 6 22, 3 04, 1 -1

Top 5candidates

Swap Value

2 4 7 3 5 6 1

Performance = 16

2 3 4 5 6 7

2

1

3

4

5

6

3, 1 22, 3 13, 6 -17, 1 -26, 1 -4

Swap Value

3838Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

2 4 7 1 5 6 3

A TS Process

2 4 7 1 5 6 3

Performance = 18

2 3 4 5 6 7

2

1

3

4

5

6

1, 3 -22, 4 -47, 6 -64, 5 -75, 3 -9

Swap Value

3, 1 22, 3 13, 6 -17, 1 -26, 1 -4

2

3

Top 5candidates

Swap Value

3

2 4 7 3 5 6 1

Current solution

Performance = 16

2 3 4 5 6 7

2

1

3

4

5

6

Tabu structure

Page 20: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

20

3939Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

A TS Process

4 2 7 1 5 6 3

Performance = 14

2 3 4 5 6 7

2

1

3

4

5

6

4, 5 65, 3 27, 1 01, 3 -32, 6 -6

Swap Value

1, 3 -22, 4 -47, 6 -64, 5 -75, 3 -9

1

2

2 4 7 1 5 6 3

Current solution

Performance = 18

2 3 4 5 6 7

2

1

3

4

5

6

Tabu structure Top 5candidates

Swap Value

2

3

3

4 2 7 1 5 6 3

Uphill moves are allowed!

Aspiration criterion applies!

4040Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

5 2 7 1 4 6 3

A TS Process

5 2 7 1 4 6 3

Performance = 20 7, 1 04, 3 -36, 3 -55, 4 -62, 6 -8

Swap Value

4 2 7 1 5 6 3

Current solution

Performance = 16

2 3 4 5 6 7

2

1

3

4

5

6

Tabu structure Top 5candidates

Swap Value

1

23 4, 5 6

5, 3 27, 1 01, 3 -32, 6 -6

2 3 4 5 6 7

2

1

3

4

5

6

3

12

Best so far!

Page 21: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

21

4141Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Tabu Memory

The paired test tabu makes use of recency-based memory (short-term memory).

It should be complemented by frequency-based memory (long-term memory) to diversify the search into new regions.

Diversification is restricted to operate only on particular occasions.

For example, we can select those occasions where no admissible improving moves exist.

4242Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Tabu Memory Structure

3

1

2

2 3 4 5 6 7

2

1

3

4

5

6

(Recency-based)

1

2

3

4

5

6

7

1

(Frequency-based)

1 3 6 2 7 5 4

Iteration 26

Current solution

Performance = 12

1,4 3 2

2,4 -1 -6

3,7 -3 -3

1,6 -5 -5

6,5 -4 -6

Top 5candidates

Swap ValuePenalizedValue

P.V. = Value – Frequency_count

3

1

2

5

4

1

4

3

2

Page 22: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

22

4343Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Effects of Random Diversifications

1.9 5e+ 0 6

2e+ 0 6

2.0 5e+ 0 6

2 .1e+ 0 6

2.1 5e+ 0 6

2 .2e+ 0 6

2.2 5e+ 0 6

2 .3e+ 0 6

2.3 5e+ 0 6

2 .4e+ 0 6

2.4 5e+ 0 6

0 5 00 10 00 1 50 0 2 00 0 2 50 0 3 00 0N um b er o f ite ration s

Cos

t fun

ctio

n v

alu

e

op tim u m at i ter at io n 1 941

1 .9 9e + 0 6

1. 99 2e + 0 6

1. 99 4e + 0 6

1. 99 6e + 0 6

1. 99 8e + 0 6

2e + 0 6

2. 00 2e + 0 6

2. 00 4e + 0 6

0 5 00 1 00 0 1 50 0 25 00 3 00 020 00

N um be r o f i t era t ion s

Cos

t fu

nct

ion

val

ue

o p t im u m at i t er at io n 1 9 4 1

4444Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

The Basic TS Algorithm

Step 1 (Initialization)(A) Select a starting solution xnow X.

(B) xbest = xnow, best_cost = c(xbest).

(C) Set the history record H empty.

Step 2 (Choice and termination)Determine Candidate_N(xnow) as a subset of N(H, xnow).

Select xnext from Candidate_N(xnow) to minimize c(H, x).

Terminate by a chosen iteration cut-off rule.

Step 3 (Update)Re-set xnow = xnext.

If c(xnow) < best_cost, perform Step 1(B).

Update the history record H.

Return to Step 2.

Page 23: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

23

4545Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Tabu and Tabu Status

A tabu is usually specified by some attributes of the moves.

Typically when a move is performed that contains an attribute , a record is maintained for its reverse attribute.

=> Preventing reversals or repetitions!

A tabu restriction is typically activated only under certain condition: Recency-based restriction: its attributes occurred within a limited

number of iterations prior to the present iteration;

Frequency-based restriction: occurred with a certain frequency over a longer span of iterations.

The tabu restrictions and tenure should be selected to achieve cycle prevention and induce vigor into the search.

4646Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Tabu Tenure Decision

The tabu tenure, t, must be carefully selected: For highly restrictive tabus, t should be smaller than for lesser

restrictive tabus.

It should be long enough to prevent cycling, but short enough to avoid driving the search away from the global optimum.

t can be determined using static rules or dynamic rules:

Static rule choose a value for t that remains fixed: t = constant (typically between 7 and 20).

t = f(n), where n is the problem size (typically between 0.5 n1/2 and 2 n1/2.

Experimentation must be carried out to choose the best tenure!

Page 24: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

24

4747Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Aspiration Criteria (AC) Used to determine when tabu restrictions can be overridden.

They contribute significantly to the quality of the algorithm.

Examples of Aspiration Criteria:

Aspiration by Default: If all available moves are classified as tabu, and are not rendered admissible by some other AC, then a "least tabu" move is selected. This is always implemented, e.g., by selecting the tabu with the

shortest time to become inactive.

Aspiration by Objective: c(xtrial) < best_cost.

Subdivide the search space into regions R R, and let best_cost(R) denote the minimum c(x) for x found in R. If c(xtrial) < best_cost(R), a move aspiration is satisfied.

4848Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Stopping ConditionsTS does not converge naturally.

1.95e+06

2e+06

2.05e+06

2.1e+06

2.15e+06

2.2e+06

2.25e+06

2.3e+06

2.35e+06

2.4e+06

2.45e+06

0 500 1000 1500 2000 2500 3000Number of iterations

Cos

t fun

ctio

n v

alu

e

optimum at iteration 1941

A fixed number of iterations has elapsed in total. A fixed number of iterations has elapsed since the last best solution

was found. A given amount of CPU time has been used.

A fixed number of iterations has elapsed in total. A fixed number of iterations has elapsed since the last best solution

was found. A given amount of CPU time has been used.

Page 25: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

25

4949Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

TS vs. SA

Neighborhood space exploration: TS emphasizes complete neighborhood evaluation to identify moves

of high quality.

SA samples the neighborhood solutions randomly.

Move evaluation: TS evaluates the relative attractiveness of moves in relation not only

to objective function change, but also to factors of influence.

SA evaluates moves only in terms of their objective function change.

5050Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

TS vs. SA (Cont’d)

Search guidance: TS uses multiple thresholds, reflected in the tabu tenures and

aspiration criteria, which varies also non-monotonically.

SA is based on a single threshold implicit in the temperature parameter that only changes monotonically.

Use of memory: SA is memoryless.

TS makes heavily and intelligently use of both short-term and long-term memory.

TS can also use the mid-term memory for intensification.

Page 26: Optimization Techniques for Design Space Explorationzebpe83/teaching/rtes/lectures/optimization.pdf · Design space exploration should be formulated as optimization problems and powerful

2012-03-27

26

5151Prof. Z. Peng, ESLAB/LiTH, SwedenProf. Z. Peng, ESLAB/LiTH, Sweden

Summary

Design space exploration is basically an optimization problem.

Due to the complexity of the optimization problem, heuristic algorithms are widely used.

Many general heuristics are based on neighborhood search principles.

SA is applicable to almost any combinatorial optimization problem, and very simple to implement.

TS has a natural rationale: it emulates intelligent uses of memory.

When properly implemented, TS often outperforms SA (the execution time is often one order of magnitude smaller).