diff --git a/website/200px-Graph_betweenness.svg.png b/website/200px-Graph_betweenness.svg.png new file mode 100644 index 00000000..4b9e02f8 Binary files /dev/null and b/website/200px-Graph_betweenness.svg.png differ diff --git a/website/BatchGantt1.png b/website/BatchGantt1.png new file mode 100644 index 00000000..b35c6dd9 Binary files /dev/null and b/website/BatchGantt1.png differ diff --git a/website/Evolutionary_algorithm.png b/website/Evolutionary_algorithm.png new file mode 100644 index 00000000..fdf88c93 Binary files /dev/null and b/website/Evolutionary_algorithm.png differ diff --git a/website/Evolutionary_algorithm.svg b/website/Evolutionary_algorithm.svg new file mode 100644 index 00000000..489f4424 --- /dev/null +++ b/website/Evolutionary_algorithm.svg @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Evolutionary Computation + 2007-04-02 + + + Johann "nojhan" Dréo + + + i: initialization, f(X): evaluation, ?: stopping criterion, Se: selection, Cr: cross-over, Mu: mutation, Re: replacement, X*: optimu + + + + + + + + + + + + + + + + + Best solution + + + Variation + + + + Stop. criteria? + + + + Initialization + + + + Evaluation + + + + Replacement + + + + Selection + + Parents + Genitors + Offsprings + + diff --git a/website/Gallagher_Gaussian_BBOB_f21.png b/website/Gallagher_Gaussian_BBOB_f21.png new file mode 100644 index 00000000..97cca748 Binary files /dev/null and b/website/Gallagher_Gaussian_BBOB_f21.png differ diff --git a/website/Graph_betweenness.svg b/website/Graph_betweenness.svg new file mode 100644 index 00000000..662cb69b --- /dev/null +++ b/website/Graph_betweenness.svg @@ -0,0 +1,501 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/eo_ico.png b/website/eo_ico.png new file mode 100644 index 00000000..92db090f Binary files /dev/null and b/website/eo_ico.png differ diff --git a/website/eo_logo.png b/website/eo_logo.png new file mode 100644 index 00000000..257f1b08 Binary files /dev/null and b/website/eo_logo.png differ diff --git a/website/eo_logo.svg b/website/eo_logo.svg new file mode 100644 index 00000000..207a2219 --- /dev/null +++ b/website/eo_logo.svg @@ -0,0 +1,423 @@ + + + + + EO logo + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + EO logo + 2010-07-30 + + + nojhan + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Evolving Objects + + diff --git a/website/eo_logo_fronde.svg b/website/eo_logo_fronde.svg new file mode 100644 index 00000000..a7e3dfab --- /dev/null +++ b/website/eo_logo_fronde.svg @@ -0,0 +1,391 @@ + + + + + EO logo + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + EO logo + + 2010-07-30 + + + nojhan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website/fronde.png b/website/fronde.png new file mode 100644 index 00000000..c463d8df Binary files /dev/null and b/website/fronde.png differ diff --git a/website/index.html b/website/index.html new file mode 100644 index 00000000..39d74515 --- /dev/null +++ b/website/index.html @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + Evolving Objects (EO): Evolutionary Computation Framework + + + + + + + +
+ Evolving Objects logo + +
+ +
+ + +

Evolving Objects (EO): an Evolutionary Computation Framework

+

EO is a template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast.

+ +
We have lost all the mailing-list subscriptions in a crash, please subscribe again on the eodev-main subscription page.
+ +

Evolutionary algorithms forms a family of algorithms inspired by the theory of evolution, that solve various problems. + They evolve a set of solutions to a given problem, in order to produce the best results. + These are stochastic algorithms, because they iteratively use random processes. + The vast majority of these methods are used to solve optimization problems, and may be also called "metaheuristics". + They are also ranked among computational intelligence methods, a domain close to artificial intelligence. +

+ +

+ + + +

+ +

With the help of EO, you can easily design evolutionary algorithms that will find solutions to virtually all kind of hard optimization problems, from continuous to combinatorial ones.

+ +

Features

+ +

Component-based framework

+ +

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.

+

+ + +

Main Features

+ + + +

Portability

+

EO should work on Windows and any Un*x-like operating system with a + standard-conforming C++ development system.

+ +

Recent versions of EO have been tested on the following platforms: +

+ + + +

Recent versions of EO uses the CMake portable build system, that permits to easily generate a build chain for your environment.

+ +

If you have tested EO on a system not listed here, please let + us know.

+ +

If you are working on a system with an older C++ compiler there + is a good chance that eo-0.9.3z.1 works. It is tested on Linux + with gcc-2.9x and several systems (IRIX, Solaris) with egcs.

+ + +

Presentations

+ +

A functional and "philosophical" overview of EO was presented at EA'01 conference. + You can download the paper + or the + slides.

+ +

A PowerPoint presentation shows the EO philosophy, and + it includes a Visual Basic macro for evolving objects in Visual Basic + for Applications.

+ +

EO is described in the following scientific article:
+ M. Keijzer, J.J. Merelo, G. Romero, G., M. Schoenauer, + "Evolving + objects: A general purpose evolutionary computation + library", Artificial Evolution, 2310, 829--888 (2002).

+ +

+ +@Article{Keijzer2001,
+  title =     "Evolving Objects: A General Purpose Evolutionary Computation Library ",
+  author =    "Maarten Keijzer and J. J. Merelo and G. Romero and M. Schoenauer",
+  journal =   "Artificial Evolution",
+  year =      "2002",
+  volume =    "2310",
+  pages =     "829--888",
+  keywords =  "genetic algorithms, genetic programming, evolutionary computation, metaheuristic, computational intelligence, optimization",
+  URL =       "http://www.lri.fr/~marc/EO/EO-EA01.ps.gz",
+  size =      "12 pages",
+  abstract =  "This paper presents the evolving objects library
+                 (EOlib), an object-oriented framework for evolutionary
+                 computation (EC) that aims to provide a flexible set of
+                 classes to build EC applications. EOlib design
+                 objective is to be able to evolve any object in which
+                 fitness makes sense.",
+}
+
+
+

+ + + + + +

Code

+ +

License

+ +

EO is distributed under the + + GNU Lesser General Public License.

+ +

Note that this license places copyleft restrictions on a program created with EO, but does not apply these restrictions to other software that would links with the program.

+ +

Download

+ +

The current stable release is EO 1.0. + It supports any standard-compliant C++ compiler.

+ +

You can obtain the latest version directly via GIT + or browse the repository online. + +

+ +

All releases can be obtained from the SourceForge download + area.

+ + +

Documentation

+ +

The tutorial demonstrates that writing an evolutionary algorithm + evolving your own structures is now easy, using ready-to-use + template files. Although the tutorial has not been upgraded for some + time now and refers to version 0.9.2 of EO, it nevertheless remains the + best way to dive into EO. You can start by trying it on-line at LRI + or SourceForge, + before downloading it. The + tutorial is also included in the released + sources.

+ +

The latest tutorial + release. +

+ +

The complete code is also well documented and you can look at the + generated interface + documentation.

+ +

The easiest way to create a complete new EO-project, even for new + genomes, is to use the script provided in tutorial/Templates/; see + the README in that directory and lesson 5 of the tutorial for + detail.

+ +

Facts

+ +

Those statistics are automatically generated by ohloh.net, directly from the EO source code.

+ + + + + + + + + + +
+ + + +

Development

+ +

Mailing-lists

+ +

EO is an open development effort; that is why we have + created mailing lists to discuss future developments, solve technical + problems, announce releases, publish patches, and discuss evolutionary + computation in general. Browse the archives or join the EO mailing lists.

+ + +

Get involved

+ +

The following resources are available, thanks to sourceforge

+ + +

Related software

+ +

ParadisEO provides EO extensions for + the flexible design of single solution-based metaheuristics, + metaheuristics for multi objective optimization as well as hybrid, parallel and distributed + metaheuristics.

+ +

DegaX is an ActiveX control which embeds EO 0.8.4. +

+ + +

Authors

+ +

EO was started by the Geneura + Team at the University of Granada, headed by Juan Julián Merelo. The original Web site is also the only place where you + will find old releases of EO (up to 0.8.7), but beware that it is not + compatible at all with the current version.

+ +

The developement team has then been reinforced by Maarten Keijzer, the C++ + wizzard, and Marc Schoenauer. + Later came Jeroen + Eggermont, who, among other things, did a lot of work on GP, + INRIA Dolphin Team, Olivier König, who did a + lot of useful additions and cleaning of the code and Jochen Küpper, working on + infrastructure maintenance.

+ + +

Links

+ + + +
+ + + + + + + + + diff --git a/website/lightblue.css b/website/lightblue.css new file mode 100644 index 00000000..6a6f6111 --- /dev/null +++ b/website/lightblue.css @@ -0,0 +1,253 @@ +/*************************************************************************** +* * +* contented3 - An open source xhtml/css website template by Contented * +* Designs. You're free to modify it and use it for any purpose without * +* cost or obligation. We'd prefer that you leave the link to our website * +* in the footer but it's not required. * +* * +* If you have comments or questions, please contact us at * +* http://www.ContentedDesigns.com. Thanks! * +* * +***************************************************************************/ + +* { + padding:0px; + margin:0px; +} + +html { +} + +body { + color: #333333; + font-family:Arial, sans-serif; + font-size:0.83em; + + background-image:url("fronde.png"); + background-repeat:no-repeat; + background-position:bottom left; +} + +#alt { + float:left; + width:20%; + text-align:center; + margin-right:2%; +} + +ul.shortcuts { + text-align:left; +} + +ul.badges { + list-style-type:none; +} + +ul.badges li { + margin-left:0px; + margin-top:0.1em; +} + +#menu { + padding:0.5em; +} + +#main { + float:right; + width:78%; +} + +h1, h2, h3, h4, h5, h6, p, pre, blockquote, label, ul, ol, dl, +fieldset, address { margin:0.75em 0;} + +h1 { + font-size:1.67em; + border-bottom:thin solid lightgray; + margin-top:2em; +} + +h2 {font-size:1.39em;} + +h3 {font-size:1.2em;} + +h4 {font-size:1em;} + +li, dd { + margin-left:2em; +} + +table > caption { + font-weight:bold; +} + +table { + padding:0.5em; + border:thin solid lightgray; + border-left:0.2em solid #3366CC; +} + +a { + color: #3366CC; + /*background-color: #FFFFFF;*/ + font-weight: normal; + text-decoration: none; + outline:none; +} + +a:hover { + color: #0033CC; + /*background-color: #FFFFFF;*/ + font-weight: normal; + text-decoration: underline; +} + + +#appendix { + background:url("Purine_Nucleoside_Phosphorylase_small.jpg"); + background-repeat:no-repeat; + background-position:top right; +} + +#title { + color:#3366CC; + /*background-color:#FFFFFF;*/ + font-size:3em; + font-weight:bold; + margin:0px 0px 10px 0px; + float:left; +} + +#slogan { + color: #88f; + /*background-color:#FFFFFF;*/ + font-size:small; + font-weight:normal; + font-style:italic; + padding:18px 0px 0px 50px; + float:left; + margin:0px 0px 10px 0px; +} + +ul#login { + margin:0px; + padding:0px; + list-style: none; + position:absolute; + top:0px; + right:1em; +} + +ul#login li { + display:inline; +} + +ul#menu { + clear:both; + margin: 0; + padding: 0; + list-style: none; + /*width:650px;*/ +} + +ul#menu li { + margin: 0; + padding:0; + float: left; + width:16.5%; + text-align: center; +} + +ul#menu li a { + display: block; + font-size: small; + color: #FFFFFF; + font-weight: bold; + text-decoration: none; + background: #5588CC; + padding: 2px 0px 2px 0px; + padding: 0em 1em 0em 1em; +} + +ul#menu li a:hover { background: #3366CC; color: #FFFFFF; } +ul#menu a.selected:link { background: #3366CC; color: #FFFFFF; } +ul#menu a.selected:visited { background: #3366CC; color: #FFFFFF; } + +#page { + font-size:1.0em; + padding:1em; + margin:1em; + /*width:650px; + float:left;*/ + clear:left; +} + + +#foot { + color:#000000; + background-color:#FFFFFF; + border-top:1px solid #0033CC; + font-size:80%; + /*line-height:1.5em;*/ + /*width: 650px;*/ + clear:both; +} + +#foot a { + color:#3366CC; + background-color:#FFFFFF; + text-decoration: none; +} + +#foot a:hover { + color:#0033CC; + background-color:#FFFFFF; + font-weight: normal; + text-decoration: underline; +} + +#copyright { + color:#000000; + background-color:#FFFFFF; + padding:5px 20px 5px 0px; + float:left; +} + +#contact { + color:#0033CC; + background-color:#FFFFFF; + padding:5px 0px 5px 0px; + float:right; +} + + +.table_form_title { + font-weight:bold; +} + + .table_form_label { + text-align:right; + padding-right:1em; + } + +.table_form_submit { + text-align:center; +} + +.figure { + float:right; + text-align:center; + margin:1em; + padding:5px; + border:thin solid #eee; +} + +.legend { + font-style:italic; + font-size:80%; +} + +#ohloh_stats { + text-align:left; + font-weight:normal; + font-style:italic; +}