|Origin Developer's Guide
Origin® is a Java-based software development platform for developing distributed evolutionary computation and genetic programming applications. It's based on ECJ, a research evolutionary computation framework developed by Dr. Sean Luke of George Mason University, and the Parabon Frontier® Grid Platform. Like ECJ, most of Origin's behavior is dynamically configured at runtime by parameter files, and most Origin classes can be easily subclassed or replaced to extend Origin's operation.
Evolutionary computation is a problem-solving method inspired by biological evolutionary processes. A random population of individuals - possible solutions to a problem - are generated and executed, and those individuals that produce better results are favored to breed additional solutions, while poorly performing individuals are eventually eliminated. Evolutionary computation is attractive for problems where the range of possible solutions (the "solution space") is too large to exhaustively test all possible solutions, and where the goal is to determine a "pretty good" solution rather than the best possible one.
If you're unfamiliar with evolutionary computation the Association for the Advancement of Artificial Intelligence (AAAI) has a good overview of evolutionary computation, while more in-depth introductions to genetic algorithms and genetic programming can be found at those links. You should also study the Origin sample applications that demonstrate how to solve some common evolutionary computation problems using Origin.
To get started developing with Origin you should:
Running Origin requires the following software:
gcj. Enter the following command to check the JVM version and type:
java -versionIf your java version is earlier than 1.5 or the output refers to "GNU libgcj" you must install a newer Java runtime.
The Origin directory structure looks like this:
Origin includes several grid-enabled EC sample applications, along with most of the ECJ sample programs and the ECJ
tutorials. You can run these programs using the
origin shell script or
origin.bat batch file in the directory origin/bin. These files
are described in more detail in Running Origin.
The main sample programs are shown below.
If you use the
-remote flag with a grid-enabled Origin sample
program the program will use the Frontier grid for execution instead of simulating a grid on your local machine.
Most of the samples write evolutionary statistics to a file named
out.stat in the current directory, and output log messages to the file origin.log.