home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!hacgate!lyra!root
- From: root@lyra.scg.hac.com (Dave Fisher)
- Newsgroups: comp.sys.mac.programmer
- Subject: Re: Packing Rects into the smallest possible container
- Summary: Check out VLSI journals
- Message-ID: <23118@hacgate.SCG.HAC.COM>
- Date: 1 Sep 92 23:10:02 GMT
- Sender: news@hacgate.SCG.HAC.COM
- Reply-To: fisher@lyra.hac.com (Dave Fisher)
- Organization: Hughes Aircraft Co., Carlsbad, CA
- Lines: 23
-
- The "knapsack" problem is close; but a perfect fit of your problem
- is the VLSI problem called "2-D placement" or "bin packing".
-
- Many algorithms have been published. There are approaches that
- use optimization techniques, such as "greedy algorithms", "genetic
- algorithms", "spin-glass" (this one looked excellent but difficult),
- "simulated annealing", etc. There have also been heuristic rule-based
- systems, straight algorithms, etc.
-
- The best source for info is probably the conference proceedings for
- the "Design Automation Conference" (DAC), published annually. Also try
- the journal called "VLSI". Or ask a local VLSI CAD expert for some
- good references.
-
- If you end up writing your own algorithm, here are a couple of tips:
- 1. Place larger blocks first
- 2. Try to find groups of 2 or more blocks which have a common width
- or length and line them up -- this is very efficient.
- 3. Allow for switching things around randomly, to try different possibilities.
- 4. Watch out for getting stuck in "local minima" if using #3.
-
- Good luck!
- Dave
-