* New tree configuration of the project:

.../
   ...           + -- EO
   |             |
   |             |
   +-- src ----- + -- EDO
   |             |
   |             |
   +-- test      + -- MO
   |             |
   |             |
   +-- tutorial  + -- MOEO
   |             |
   |             |
   +-- doc       + -- SMP
   |             |
   |             |
   ...           + -- EOMPI
                 |
                 |
                 + -- EOSERIAL

Question for current maintainers: ./README: new release?

Also:

* Moving out eompi & eoserial modules (issue #2).

* Correction of the errors when executing "make doc" command.

* Adding a solution for the conflicting headers problem (see the two CMake Cache
 Values: PROJECT_TAG & PROJECT_HRS_INSTALL_SUBPATH) (issue #1)

* Header inclusions:
        ** src: changing absolute paths into relative paths ('#include <...>' -> '#include "..."')
        ** test, tutorial: changing relative paths into absolute paths ('#include "..."' -> '#include <...>')

* Moving out some scripts from EDO -> to the root

* Add a new script for compilation and installation (see build_gcc_linux_install)

* Compilation with uBLAS library or EDO module: now ok

* Minor modifications on README & INSTALL files

* Comment eompi failed tests with no end

*** TODO: CPack (debian (DEB) & RedHat (RPM) packages) (issues #6 & #7) ***
This commit is contained in:
Adèle Harrissart 2014-08-04 13:40:28 +02:00
commit 490e837f7a
2359 changed files with 7688 additions and 16329 deletions

40
doc/edo/CMakeLists.txt Executable file
View file

@ -0,0 +1,40 @@
######################################################################################
### 0) Documentation
######################################################################################
if(DOXYGEN_FOUND)
# Directory where the generation will be launched
set(EDO_DOC_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "Documentation directory" FORCE)
# Name of the doxygene configuration file
set(EDO_DOC_CONFIG_FILE "edo.doxyfile" CACHE INTERNAL "Documentation configuration file")
if(DOXYGEN_EXECUTABLE)
# Creating the custom target
if(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE})
add_custom_target(doc-edo
COMMAND ${DOXYGEN_EXECUTABLE} ${EDO_DOC_CONFIG_FILE} 2> /dev/null > /dev/null
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
else(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE})
add_custom_target(doc-edo
COMMAND ${DOXYGEN_EXECUTABLE} ${EDO_DOC_CONFIG_FILE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE})
endif(DOXYGEN_EXECUTABLE)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${EDO_DOC_CONFIG_FILE}.cmake"
"${EDO_DOC_DIR}/${EDO_DOC_CONFIG_FILE}")
install(
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DESTINATION share/${PROJECT_TAG}/doc COMPONENT doc
PATTERN "CMakeFiles" EXCLUDE
PATTERN "cmake_install.cmake" EXCLUDE
PATTERN "CTestTestfile.cmake" EXCLUDE
PATTERN "Makefile" EXCLUDE
PATTERN "edo.cfg" EXCLUDE
PATTERN "edo.doxytag" EXCLUDE
)
else(DOXYGEN_FOUND)
message(STATUS "Unable to generate the documentation, Doxygen package not found")
endif(DOXYGEN_FOUND)

1564
doc/edo/edo.doxyfile.cmake Executable file

File diff suppressed because it is too large Load diff

2689
doc/edo/edo_design.svg Executable file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 158 KiB

2885
doc/edo/edo_distrib.svg Executable file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 133 KiB

39
doc/edo/index.h Executable file
View file

@ -0,0 +1,39 @@
/** @mainpage Welcome to Evolving Distribution Objects
@section shortcuts In one word
%EDO is an extension of %EO oriented toward Estimation-of-Distribution-like
Algorithms.
You can search for advanced features by browsing the <a
href="modules.html">modules</a> page.
@section intro Introduction
%EDO is an extension of %EO, that facilitate the design and implementation of
stochastic search metaheuristics. It is based on the assumption that those
algorithms are updating a probability distribution, that is used to generate
a sample (a population, in %EO) of solutions (individuals, in %EO).
Basically, EDO decompose the <em>variation</em> operators of %EO in a set of
sub-operators that are binded by a <em>distribution</em>. Thus, most of the
representation-independent operators of %EO can be used in %EDO algorithms.
Apart from choosing which distribution he want to use as a model, the user is
not supposed to directly manipulate it. Using the same approach than within %EO,
the user has just to indicate what he want to use, without having to bother how
he want to use it.
On the designer side, it is still possible to implement specific operators
without having to change other ones.
<img src="edo_design.png" />
The two main operators are the <em>Estimators</em>, that builds a given
distribution according to a population and the <em>Samplers</em> that builds a
population according to a distribution. There is also <em>Modifiers</em> that
are here to change arbitrarily the parameters of a distribution, if necessary.
<img src="edo_distrib.png" />
*/