Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GAFFITTER(1)			 User Commands			  GAFFITTER(1)

NAME
       gaffitter - Genetic Algorithm File Fitter

SYNOPSIS
       gaffitter -t target[unit] [options...] <files>

       command | gaffitter - -t	target[unit] [options...] [files]

       the unit	suffixes 'k', 'm', 'g' or 't' can be used, where:

       k = KB/KiB, m = MB/MiB, g = GB/GiB and t	= TB/TiB [default = bytes]

DESCRIPTION
       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	 prob-
       lem  for	which no deterministic polynomial-time algorithm is known. Us-
       ing heuristics, such as GAs, it is usually possible to  approximate  --
       and  often  reach -- the	best solution for the problem within a reason-
       able time.

   General options:

       -t <f>[unit], --target <f>[unit]

	      target size (mandatory), f>0.0

       --si

	      use powers of 1000 (not 1024) for	target,	min,  max  and	output
	      sizes

       --bins <n>, --vols <n>

	      maximum number of	bins (volumes) [default	= "unlimited"]

       -v, --verbose

	      verbose

       --min <f>[unit],	--min-size <f>[unit]

	      minimum file size	[default = none]

       --max <f>[unit],	--max-size <f>[unit]

	      maximum file size	[default = none]

       -B <n>, --block-size <n>

	      the smallest amount of bytes a file can occupy [default =	1]

       --ss, --show-size

	      print the	size of	each file

       --sb, --show-bytes

	      also print the sizes in bytes

       --hi, --hide-items

	      don't print the selected items

       --hs, --hide-summary

	      hide  summary  line containing sum, difference and number	of se-
	      lected items

       -s, --sort-by-size

	      sort the output by size, not by name

       -n, --no-case

	      use case-insensitive sorting

       -r, --sort-reverse

	      sort the output in reverse order

       -z, --null-data

	      assume NULL (\0) as the  delimiter  of  input  files  via	 stdin
	      (pipe)

       -Z, --null

	      same as --dw '\0'. See also the -0 and --hs options

       -0, --null-bins

	      same as --bs '\0'. See also the -Z and --hs options

       --bs <char>, --bins-separator <char>

	      separate bins (vols) with	"char" [default	= newline]

       --ew <char>, --enclose-with <char>

	      enclose file names with "char" [default =	none]

       --dw <char>, --delimit-with <char>

	      delimit file names (lines) with "char" [default =	newline]

       --version

	      print GAFFitter version and exit

       -h, --help

	      print this help and exit

   Direct Input	options:

       --di, --direct-input

	      switch  to  direct input mode, i.e., read	directly "size identi-
	      fier" pairs instead of file names

       --di-b, --di-bytes

	      assume input sizes as bytes

       --di-k, --di-kb

	      assume input sizes as kibi bytes (KiB); KB if --di-si

       --di-m, --di-mb

	      assume input sizes as mebi bytes (MiB); MB if --di-si

       --di-g, --di-gb

	      assume input sizes as gibi bytes (GiB); GB if --di-si

       --di-t, --di-tb

	      assume input sizes as tebi bytes (TiB); TB if --di-si

       --di-si

	      use powers of 1000 (not 1024) for	input sizes

   Genetic Algorithm options:

       --ga-s <n>, --ga-seed <n>

	      GA initialization	seed, n>=0 [default = 1]; 0 = random

       --ga-rs,	--ga-random-seed

	      use random GA seed (same as --ga-seed 0)

       --ga-ng <n>, --ga-num-generations <n>

	      maximum number of	generations, n>0 [default = auto]

       --ga-ps <n>, --ga-pop-size <n>

	      number of	individuals, n>tournament_size [default	= auto]

       --ga-cp <f>, --ga-cross-prob <f>

	      crossover	probability, 0.0<=f<=1.0 [default = 0.95]

       --ga-mp <f>, --ga-mutation-prob <f>

	      mutation probability, 0.0<=f<=1.0	[default = 0.10]

       --ga-sp <n>, --ga-sel-pressure <n>

	      selection	pressure (tournament size), 2<=n<pop_size  [default  =
	      2]

       --ga-theo [n], --ga-theoretical [n]

	      stop  if the theoretical minimum number of bins is reached. If n
	      is given,	it is assumed to be the	theoretical minimum number  of
	      bins.

       Other search methods

       --ap, --approximate

	      local  approximation using Best Fit search (non-optimal but very
	      fast)

       --sp, --split

	      just split the input when	 target	 size  is  reached  (preserves
	      original order while splitting)

LICENSE
       This  is	 free  software.  You  may redistribute	copies of it under the
       terms  of  the  GNU  General  Public  License   <http://www.gnu.org/li-
       censes/gpl.html>.   There  is  NO  WARRANTY, to the extent permitted by
       law.

AUTHOR
       Written by Douglas Adriano Augusto (daaugusto).

gaffitter 0.6.0			  August 2008			  GAFFITTER(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gaffitter&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help