more explanations in doc main page, remove HTML markup, remove deprecated link pages
This commit is contained in:
parent
044d1223bb
commit
91c1697701
1 changed files with 40 additions and 69 deletions
109
eo/doc/index.h
109
eo/doc/index.h
|
|
@ -2,87 +2,58 @@
|
|||
|
||||
@section intro Introduction
|
||||
|
||||
EO is a templates-based, ANSI-C++ compliant evolutionary computation library. It
|
||||
contains classes for almost any kind of evolutionary computation you might come
|
||||
%EO is a template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast.
|
||||
|
||||
It contains classes for almost any kind of evolutionary computation you might come
|
||||
up to - at least for the ones we could think of. It is component-based, so that
|
||||
if you don't find the class you need in it, it is very easy to subclass existing
|
||||
abstract or concrete classes.
|
||||
|
||||
Designing an algorithm with %EO consists in choosing what components you want to use for your specific needs, just as building a structure with Lego blocks.
|
||||
|
||||
If you have a classical problem for which available code exists (for example if you have a black-box problem with real-valued variables), you will just choose components to form an algorithm and connect it to your fitness function (which computes the quality of a given solution).
|
||||
|
||||
If your problem is a bit more exotic, you will have to code a class that represents how your individuals (a solution to your problem) are represented, and perhaps some variations operators, but most of the other operators (selection, replacement, stopping criteria, command-line interface, etc.) are already available in %EO.
|
||||
|
||||
|
||||
@section tutorial Tutorial
|
||||
|
||||
The best place to learn about the features and approaches of EO is to look at
|
||||
The best place to learn about the features and approaches of %EO is to look at
|
||||
the <a href="../../tutorial/html/eoTutorial.html">tutorial</a>.
|
||||
|
||||
|
||||
|
||||
@section install Installation
|
||||
|
||||
The installation procedure of the package is detailed in the <a
|
||||
href="../../README">README</a> file in the top-directory of the source-tree.
|
||||
|
||||
|
||||
|
||||
@section design Overall Design
|
||||
|
||||
For an introduction to the design of EO you can look at the <a
|
||||
href="http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf">slides</a> from a talk
|
||||
at EA 2001 or the corresponding <a
|
||||
href="http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf">article</a> in <a
|
||||
href="http://portal.acm.org/citation.cfm?id=727742"><em>Lecture Notes In
|
||||
Computer Science</em> <b>2310</b>, <em>Selected Papers from the 5th European
|
||||
Conference on Artificial Evolution</em></a>.
|
||||
%EO is a framework. It is oriented toward facilitating the design of adhoc evolutionary algorithms.
|
||||
It is not (at the moment) a complete library of algorithms ready to use on canonical problems.
|
||||
|
||||
If you have a well-known problem and want to solve it as soon as possible, try another software.
|
||||
If you have a real problem and want to build the best evolutionary algorithm to solve it, you've made
|
||||
the good choice.
|
||||
|
||||
Bascially, %EO manipulate "individuals" with a "fitness", that is objects
|
||||
encoding a solution to a given optimization problem, associated with
|
||||
the quality of this solution. The fitness is defined in the %EO class,
|
||||
but the representation of a solution cannot be as generic. Thus, %EO
|
||||
massively use templates, so that you will not be limited by interfaces
|
||||
when using your own representation.
|
||||
|
||||
Once you have a representation, you will build your own evolutionary algorithm
|
||||
by assembling @ref Operators in @ref Algorithms.
|
||||
In %EO, most of the objects are functors, that is classes with an operator(), that you
|
||||
can call just as if they were classical functions. For example, an algorithm is a
|
||||
functor, that manipulate a population of individuals, it will be implemented as a functor,
|
||||
with a member like: operator()(eoPop<EOT>). Once called on a given population, it will
|
||||
search for the optimum of a given problem.
|
||||
|
||||
Generally, operators are instanciated once and then binded in an algorithm by reference.
|
||||
Thus, you can easily build you own algorithm by trying several combination of operators.
|
||||
|
||||
For an more detailled introduction to the design of %EO you can look at the
|
||||
slides from a talk at EA 2001 or at the corresponding
|
||||
article in Lecture Notes In Computer Science, 2310, Selected Papers from the 5th European Conference on Artificial Evolution:
|
||||
- http://portal.acm.org/citation.cfm?id=727742
|
||||
- http://eodev.sourceforge.net/eo/doc/LeCreusot.pdf
|
||||
- http://eodev.sourceforge.net/eo/doc/EO_EA2001.pdf
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/** @page webpages Related webpages
|
||||
|
||||
- EO <a href="http://eodev.sourceforge.net">homepage</a>
|
||||
- EO <a href="../../tutorial/html/eoTutorial.html">Tutorial</a>.
|
||||
- SourceForge <a href="https://sourceforge.net/projects/eodev">project page</a>
|
||||
- <a href="../../README">README</a>
|
||||
- <a href="../../NEWS">NEWS</a>
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/** @page Related Projects
|
||||
|
||||
<h1>ParadisEO</h1>
|
||||
|
||||
<a href="http://paradiseo.gforge.inria.fr">ParadisEO</a> is a project that
|
||||
extends EO for the flexible design of single solution-based metaheuristics,
|
||||
metaheuristics for multi objective optimization as well as hybrid, parallel and distributed
|
||||
metaheuristics.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/** An old TODO list for EO, this could be updated...
|
||||
|
||||
@todo (old) Provide a way to easily manipulate the algorithm in runtime, be it from
|
||||
grafically or text; expand command-line capabities?
|
||||
|
||||
@todo (old) Provide a graphical interface for Windows, in VC++ or BBuilder.
|
||||
|
||||
@todo (old) Create more examples of the objects of which there is only one instance:
|
||||
algorithms, evaluators. Try to adapt most well-know algorithms to EO
|
||||
|
||||
@todo (old) Integrate the gTK interface seamlessly in the library.
|
||||
|
||||
@todo Complete documentation.
|
||||
|
||||
@todo (for release 1.1) Update README, INSTALL, ... for cmake based build system.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// Local Variables:
|
||||
// coding: iso-8859-1
|
||||
// mode: C++
|
||||
// c-file-offsets: ((c . 0))
|
||||
// c-file-style: "Stroustrup"
|
||||
// fill-column: 80
|
||||
// End:
|
||||
|
|
|
|||
Reference in a new issue