18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Circuit Board Placement<br />

Next: Neural Networks Up: Simulated Annealing Previous: Independent Set<br />

Circuit Board Placement<br />

In designing printed circuit boards, we are faced with the problem of positioning modules (typically<br />

integrated circuits) on the board. Desired criteria in a layout include (1) minimizing the area or aspect<br />

ratio of the board, so that it properly fits within the allotted space, and (2) minimizing the total or longest<br />

wire length in connecting the components. Circuit board placement is an example of the kind of messy,<br />

multicriterion optimization problems for which simulated annealing is ideally suited.<br />

Formally, we are given a collection of a rectangular modules , each with associated dimensions<br />

. Further, for each pair of modules , we are given the number of wires that must connect<br />

the two modules. We seek a placement of the rectangles that minimizes area and wire-length, subject to<br />

the constraint that no two rectangles overlap each other.<br />

<strong>The</strong> state space for this problem must describe the positions of each rectangle. To provide a discrete<br />

representation, the rectangles can be restricted to lie on vertices of an integer grid. Reasonable transition<br />

mechanisms including moving one rectangle to a different location, or swapping the position of two<br />

rectangles. A natural cost function would be<br />

where , , and are constants governing the impact of these components on the cost<br />

function. Presumably, should be an inverse function of temperature, so after gross placement it<br />

adjusts the rectangle positions so they are distinct.<br />

Simulated annealing performs well on such module placement problems. Indeed, a similar application<br />

appeared in the original paper on simulated annealing [KGV83]. More details on these and other<br />

applications appear in [AK89].<br />

<strong>Algorithm</strong>s<br />

Mon Jun 2 23:33:50 EDT 1997<br />

file:///E|/BOOK/BOOK3/NODE96.HTM [19/1/2003 1:29:37]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!