more explanations in doc main page, remove HTML markup, remove deprecated link pages

This commit is contained in:
Johann Dreo 2010-11-01 22:08:37 +01:00
commit 91c1697701

View file

@ -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: