• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H03-May-2022-5,1452,335

AUTHORSH A D22-Nov-200546 21

COPYINGH A D14-Jul-200834.3 KiB675553

INSTALLH A D14-Jul-2008883 3822

MakefileH A D03-May-2022241 128

READMEH A D14-Jul-20082.7 KiB7950

README

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