1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
$Id: README 192 2008-07-14 20:24:37Z daaugusto $
------------------------------------------
Genetic Algorithm File Fitter -- gaffitter
------------------------------------------
http://gaffitter.sourceforge.net/ (home page)
http://sourceforge.net/projects/gaffitter/ (project page)
2005-2008 - Douglas A. Augusto (daaugusto@gmail.com)
== About ==
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 and the volumes might be CDs or DVDs. This is called the Bin
Packing Problem, 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.
GAFFitter was created with the intent to minimize the number of CDs or
DVDs used to store a set of files whose total size is greater than the
medium capacity. It was further extended to work directly with any set
of items, whether it is composed of files/directories or not.
GAFFitter is written in C++ and is currently available as a command-line
program for POSIX-compliant systems (GNU/Linux, BSD derivatives and so
on).
== Features ==
GAFFitter is characterized by five main features, namely:
- The global search based on a genetic algorithm.
- The filter-oriented design, that is, a versatile interface suitable
for integration with other tools and front-ends.
- The possibility to bypass filenames as the input and to directly
read a list of items and their sizes.
- The great flexibility provided by the input arguments, which
controls the behaviour of GAFFitter, including many genetic
algorithm parameters.
- The fact that it is a Free Software, which ensures the freedom for
the users to study, change and redistribute GAFFitter.
=== Usage ===
The simplest way to run GAFFitter is as follows:
gaffitter -t 700m *
This command will arrange the files and subdirectories of the current
directory into sets of at most 700 megabytes (a typical CD), in such a
way that the number of sets is minimized. In other words, GAFFitter will
try to fit the given files and directories into as few as possible
volumes of 700MB.
=== More information ===
A comprehensive description of GAFFitter's options and parameters,
several usage examples, and instructions on how to get its source code
can be found on GAFFitter's website at http://gaffitter.sf.net
== License ==
GNU General Public License (GPL) version 3 (or later)
http://www.gnu.org/licenses/gpl.txt
|