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.
| Tags | Scientific/Engineering Artificial Intelligence Archiving Desktop Environment File Managers |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX |
| Implementation | C++ |
Recent releases


Changes: 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).


Changes: 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.


Changes: 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).


Changes: 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.


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