Evoptool: Evolutionary Optimization Tool

From AIRWiki
Revision as of 20:22, 21 October 2011 by LuigiMalago (Talk | contribs) (Running)

Jump to: navigation, search

Evoptool Team

  • Cucci Davide - cucci [AT] elet.polimi.it

Formerly involved

  • Emanuele Corsano

Description

Evolutionary Optimization Tool (Evoptool) is an open source optimization tool, distributed under GNU General Public License, implementing meta-heuristics based on the Evolutionary Algorithms paradigm, that aims to provide a common platform for the development and test of new algorithms, in order to facilitate the performance comparison activity. Evoptool offers a wide set of benchmark problems, from classical toy samples to more complex tasks, and a collection of algorithm implementations from Genetic Algorithms and Estimation of Distribution Algorithms paradigms. Evoptool is flexible, easy to extend, also with algorithms based on other approaches other from EAs.

Mailing List

http://groups.google.com/group/evoptool

Download

svn checkout https://svn.ws.dei.polimi.it/evoptool/

Installation

Follow these steps in order to compile evoptool

1. Download source code from svn https://svn.ws.dei.polimi.it/evoptool/

User:
Password:

Refer to trunk for the lastest (instable) version of evoptool

2. First you need to manually compile the l1_logreg-0.8.2 package, http://www.stanford.edu/~boyd/l1_logreg/ whose source are already included in the evoptool repository. In order to do that follow the instrunctions in README.evoptool in the l1_logreg-0.8.2 directory

Next, compile <id_dist/code> following the instructions in <code>README.evoptool<code> in the <code><id_dist/code> folder

3. Then you need to compile a module at a time. Each module is included in a different folder. To compile a module, from go to the module source folder and do make lib. For instance, for the module named <code>common

cd common/src
make lib
cd ..

Compile modules in the following order

common
functions
ga
eda
stochastic

To clean a module, do

make clean

from the module source directory

4. Go to core module and type

make exe

Binary files will be copied in the bin directory in the root as well as the bin directory of the core module

Required packages

  • Libraries
  • Software
    • gnuplot

Running

Right now evoptool only runs as a script. GUI is not maintained in the latest version. The evoptool binary file is supposed to be run in the bin directory in the root, this is because right now the script looks for some configuration files, for the instances of the problems, and temp directories. If you want to run the script from other directories, you just need to copy in that directory the evoptool-file directory that you find in the bin directory. Link such directory insetead of copying it is not safe if you run multiple scripts at the same time, since output file will be shared.

To run the algorithm you need to enter as input an xml file. For instance you can run

./evoptool evoptool-file/examples/unitTestOneMax.xml

The evoptool-file/example directory contains a set of xml files for different benchmarks and different algorithms. Take a loot at the example.xml file for the documentation on hoe to set the parameters for an each execution of evoptool

Each execution of evoptool produces a set of files as output. You can find all files in evoptool-file/temp directory. Plus a tar.gz file containing such files can be produced at the end of the execution of <evoptool>. See the xml file for details.

evoptool-file/temp/datacontains the raw data of the statistics according to the xml file
evoptool-file/temp/gnuplotcontains the gnuplot files to produce images of the statistics
evoptool-file/temp/imagecontains images of the statistics produced according to the xml file
evoptool-file/temp/support/code>contains logs