Evoptool: Evolutionary Optimization Tool

From AIRWiki
Revision as of 22:18, 22 May 2009 by GabrieleValentini (Talk | contribs) (Algorthms)

Jump to: navigation, search

Project profile

Project name

evoptool: Evolutive Optimization Tool

Combining Estimation of Distribution Algorithms and other Evolutionary techniques for combinatorial optimization

Project short description

The project will focus on the study, implementation, comparison and analysis of different algorithms for combinatorial optimization using techniques and algorithms proposed in Evolutionary Computation. In particular we are interested in the study of Estimation of Distribution Algorithms, a recent meta-heuristic, often presented as an evolution of Genetic Algorithms, where classical crossover and mutation operators, used in genetic algorithms, are replaced with operators that come from statistics, such as sampling and estimation. The focus will be on the implementation of new hybrid algorithms able to combine estimation of distribution algorithms with different approaches available in the evolutionary computation literature, such as genetic algorithms and evolutionary strategies, together with other local search techniques.

Dates

Start date: 2009/04/01

End date: till end

People involved

Project head(s)

M. Matteucci - User:MatteoMatteucci

L. Malagò - User:LuigiMalago

Students currently working on the project

G. Valentini - User:GabrieleValentini

User Manual

Algorthms

In this tool there are several bla bla bla..

  • GA
    • GB

Objective Functions

Graphic User Interface

Command Line

Documentation

Evoptool is a software with the purpose to compare the performance of several different algorithms from the Evolutive family and, for obvious reasons, with some algorithms from the classical Operation Research family. Evoptool is written in C++ for the GNU/Linux platform and it exploit the Gtk libraries (in this case gtkmm libraries) and GNUplot utility. Inside this tool there are several implemented algorithms and some wrapped ones from already existing applications.

Evoptool running on Ubuntu 9.04.

Software Modules

Evoptool is made up of several different modules (or libraries). This architecture make easy to organize files and better understanding how the application work.

  • common - It contains commons classes and ancestors for the algorithm modules and for the optimization function module.
  • ga - It contains the implementation of several Genetic Algorithms.
  • eda - It contains the implementation of several Estimation Distribution Algorithms.
  • geda - It contains the implementation of several gEDAs.
  • or - It contains the implementation of some algorithms from the classical Operation Research.
  • opt-pbl - It contains the implementation of several objective functions (fitness), that represents different problem instances.
  • gui - This module is the main one, it contains all the classes for manage GUI (algorithm decorators). From the other side it implements the multithread mechanism under the GUI, and last but not list it contains the wrapped applications and take care about wrapping.
  • misc - It contains general utility classes such rondom seed geerator.
  • shared -

Hierarchies

Algorithms Hierarchy

Decorators Hierarchy

Objective Functions Hierarchy

HowToDo

How to Add an Algorithm

How to Add an Objective Function