CompaSS is an open source block-packer that handles a wide range of block-packing problems. On the small-scale, it produces optimal slicing packings that consist of hard or soft blocks. On the large-scale, it can pack 10, 100, 1000, 10000 or 100000's of blocks hierarchically. The packings returned by CompaSS outperform the state-of-the-art. While its predecessor, BloBB, produces reasonable packings very quickly, CompaSS takes extra time to pack the blocks more tightly.
The page of utilities and benchmarks is completed. New utilities are added.
May 10, 2004:
CompaSS 1.1 is now available! The final slicing packing can now be compacted via B*-Tree.
Compaction is enabled by default. It is disabled by the option --no_compact.
It automatically tunes key parameters based on the number of blocks in the input, except for the parameters specified in the command-line.
Source code of CompaSS and BloBB only (C++)
(last updated - March 15, 2005)
New option --compact compacts the final slicing packing to a non-slicing packing via B*-Tree.
New options --HIER_OUTLINE_AR and --HIER_OUTLINE_DEADSPACE guide CompaSS to find a packing close to the desired outline. For example --HIER_OUTLINE_AR 2 encourages CompaSS to find packing with aspect ratio at most 2. --HIER_OUTLINE_AR 2 --HIER_OUTLINE_DEADSPACE 10 guide CompaSS encourages CompaSS to find a packing that has aspect ratio at most 2 and dead-space at most 10%. (Note that using --HIER_OUTLINE_DEADSPACE alone has no effects).
Source code of CompaSS only (C++)
(last updated - May 10, 2004)
Source code of CompaSS only (C++)
(last updated - Feb 07, 2004)
(~ 12 blocks with random dimensions) supported supported supported
(up to ~100K blocks with random dimensions) supported supported supported
Last updated - March 15, 2005