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.

Tags Scientific/Engineering Artificial Intelligence Archiving Desktop Environment File Managers
Licenses GPL
Operating Systems POSIX
Implementation C++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  16 Aug 2008 17:43
  • Rrelease-after

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

  • Rrelease-mid
  •  04 Jun 2008 11:51
  • Rrelease-after

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.

  • Rrelease-mid
  •  28 Mar 2007 04:24
  • Rrelease-after

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

  • Rrelease-mid
  •  28 Aug 2006 13:54
  • Rrelease-after

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.

  • Rrelease-mid
  •  02 Aug 2006 04:51
  • Rrelease-after

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

D6a9857ffb4bd4e5e234e51fd96d211f_thumb

Project Spotlight

adx

A minimalistic addressbook in a Web browser.

No-screenshot

Project Spotlight

jmemcached

A distributed network available thread-safe cache implemented in Java.