Open Channel Foundation
Not Logged In |  | 
Open Channel Foundation


Quick Application Search:


SPLICER
Get this title!
¤ 
Get SPLICER


Basic information
¤ 
Contributors


Foundation :: Optimization :: SPLICER

SPLICER

A Genetic Algorithm Tool for Search and Optimization, Version 1.0

Splice Moderators:
Adopt This Application!

source code available SOURCE CODE AVAILABLE

SPLICER is a genetic algorithm tool which can be used to solve search and optimization problems. Genetic algorithms are adaptive search procedures (i.e. problem solving methods) based loosely on the processes of natural selection and Darwinian "survival of the fittest."

SPLICER provides the underlying framework and structure for building a genetic algorithm application. These algorithms apply genetically-inspired operators to populations of potential solutions in an iterative fashion, creating new populations while searching for an optimal or near-optimal solution to the problem at hand.

SPLICER 1.0 was created using a modular architecture that includes a Genetic Algorithm Kernel, interchangeable Representation Libraries, Fitness Modules and User Interface Libraries, and well-defined interfaces between these components. The architecture supports portability, flexibility, and extensibility.

SPLICER comes with all source code and several examples. For instance, a "traveling salesperson" example searches for the minimum distance through a number of cities visiting each city only once. Stand-alone SPLICER applications can be used without any programming knowledge. However, to fully utilize SPLICER within new problem domains, familiarity with C language programming is essential.

SPLICER's genetic algorithm (GA) kernel was developed independent of representation (i.e. problem encoding), fitness function or user interface type. The GA kernel comprises all functions necessary for the manipulation of populations. These functions include
  • the creation of populations and population members,
  • the iterative population model,
  • fitness scaling,
  • parent selection and sampling,
  • and the generation of population statistics.
In addition, miscellaneous functions are included in the kernel (e.g., random number generators).

Different problem-encoding schemes and functions are defined and stored in interchangeable representation libraries. This allows the GA kernel to be used with any representation scheme.

The SPLICER tool provides representation libraries for binary strings and for permutations. These libraries contain functions for the definition, creation, and decoding of genetic strings, as well as multiple crossover and mutation operators. Furthermore, the SPLICER tool defines the appropriate interfaces to allow users to create new representation libraries.

Fitness modules are the only component of the SPLICER system a user will normally need to create or alter to solve a particular problem. Fitness functions are defined and stored in interchangeable fitness modules which must be created using C language.

Within a fitness module, a user can create a fitness (or scoring) function, set the initial values for various SPLICER control parameters (e.g., population size), create a function which graphically displays the best solutions as they are found, and provide descriptive information about the problem. The tool comes with several example fitness modules, while the process of developing a fitness module is fully discussed in the accompanying documentation.

The user interface is event-driven and provides graphic output in windows.
SPLICER carries the NASA case number MSC-21904 for the Macintosh version, and MSC-22009 for the SUN version. It was originally released as part of the NASA COSMIC collection.
   More software from National Technology Transfer Center


Open Channel Software runs entirely on Open Source Software. We return value to the Software community in the form of services and original software. Most of our content is currently available as source code, with the copyright owned by the original author, All Rights Reserved. Everything else is Copyright ©2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Open Channel Software.

View our privacy statement.
Contact webmaster at openchannelsoftware dot org with questions.