Projects / Genetic Algorithm File Fitter

Genetic Algorithm File Fitter

Genetic Algorithm File Fitter, GAFFitter for short, is a tool based on a genetic algorithm (GA) that tries to fit a collection of items into as few as possible volumes of a specific size. For example, the items might be files/directories and the volumes might be CDs or DVDs. The task of arranging items in such manner that the number of required bins is minimized is called Bin Packing, a NP-hard combinatorial problem for which no deterministic polynomial-time algorithm is known. Using heuristics, such as GAs, it is usually possible to approximate -- and often reach -- the best solution for the problem within a reasonable time.

Operating Systems

RSS Recent releases

  •  16 Aug 2008 17:43

Release Notes: This release features major changes. The genetic algorithm search was completely rewritten, and now adopts a more suitable approach able to perform better optimizations. Some options were modified/added in order to improve GAFFitter as a filter, making integration with other tools easier and more reliable. Python scripts were added, including scripts for ISO 9660 image creation and integration of GAFFitter with CD/DVD burning applications (like K3B and Brasero).

  •  04 Jun 2008 11:51

Release Notes: This release was essentially a maintenance release. The license was upgraded to the GNU GPLv3. The Brute Force search was improved and now accepts any number of input files. An incompatibility (compilation error) with GCC-4.3 was fixed.

  •  28 Mar 2007 04:24

Release Notes: This release fixes a bug regarding an uninitialized variable and changes the default behavior of GAFFitter, which now extracts the volumes as much as possible (with unlimited iterations).

  •  28 Aug 2006 13:54

Release Notes: This release features an entirely new command line parser and implements the Split "search" method. Two new formatting options have been introduced. There are also code cleanups, a fix for a compilation error on Solaris, and other minor changes.

  •  02 Aug 2006 04:51

Release Notes: This release fixes compilation errors on some architectures. A case-insensitive sorting option was added, and other minor changes were also made.


Project Spotlight


A shell library intended for Unix sysadmins.


Project Spotlight


A PHP class for modifying Zip archives without extensions or temporary files.