Merge branch 'master' of ssh://eodev.git.sourceforge.net/gitroot/eodev/eodev
This commit is contained in:
commit
f8202d238a
496 changed files with 8734 additions and 8186 deletions
|
|
@ -1,6 +1,5 @@
|
||||||
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,14 @@
|
||||||
|
############################################################################
|
||||||
|
##########
|
||||||
|
### 1) If you want to set your own variables in install.cmake and avoid the cmd line
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 1) Set the application properties
|
|
||||||
|
INCLUDE(install.cmake OPTIONAL)
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
### 2) Project properties
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
# Checks cmake version compatibility
|
# Checks cmake version compatibility
|
||||||
|
|
@ -16,15 +25,12 @@ SET(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 2) Include useful features
|
### 3) Include useful features
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
INCLUDE(FindDoxygen)
|
INCLUDE(FindDoxygen)
|
||||||
INCLUDE(FindPkgConfig)
|
INCLUDE(FindPkgConfig)
|
||||||
|
|
||||||
PKG_CHECK_MODULES(EO eo REQUIRED)
|
|
||||||
PKG_CHECK_MODULES(MO mo REQUIRED)
|
|
||||||
|
|
||||||
FIND_PACKAGE(Boost 1.33.0)
|
FIND_PACKAGE(Boost 1.33.0)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
|
|
@ -34,11 +40,16 @@ INCLUDE_DIRECTORIES(
|
||||||
# /Dev/ometah-0.3/common
|
# /Dev/ometah-0.3/common
|
||||||
)
|
)
|
||||||
|
|
||||||
|
LINK_DIRECTORIES(
|
||||||
|
${EO_LIBRARY_DIRS}
|
||||||
|
${MO_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 3) Include header files path
|
### 4) Include header files path
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
|
|
@ -49,7 +60,7 @@ INCLUDE_DIRECTORIES(
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 4) Set compiler definitions
|
### 5) Set compiler definitions
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
|
@ -63,7 +74,7 @@ ENDIF()
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 5) Prepare some variables for CMAKE usage
|
### 6) Prepare some variables for CMAKE usage
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
SET(SAMPLE_SRCS)
|
SET(SAMPLE_SRCS)
|
||||||
|
|
@ -72,7 +83,7 @@ SET(SAMPLE_SRCS)
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 6) Now where we go ?
|
### 7) Now where we go ?
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(src)
|
ADD_SUBDIRECTORY(src)
|
||||||
|
|
@ -85,7 +96,7 @@ ADD_SUBDIRECTORY(doc)
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 7) Create executable, link libraries and prepare target
|
### 8) Create executable, link libraries and prepare target
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
|
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
|
||||||
|
|
@ -99,7 +110,7 @@ INSTALL(TARGETS edo ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 8) Install pkg-config config file for EO
|
### 9) Install pkg-config config file for EO
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
INSTALL(FILES edo.pc DESTINATION lib/pkgconfig COMPONENT headers)
|
INSTALL(FILES edo.pc DESTINATION lib/pkgconfig COMPONENT headers)
|
||||||
|
|
@ -108,7 +119,7 @@ INSTALL(FILES edo.pc DESTINATION lib/pkgconfig COMPONENT headers)
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
### 9) Include packaging
|
### 10) Include packaging
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
INCLUDE(Packaging.cmake)
|
INCLUDE(Packaging.cmake)
|
||||||
|
|
|
||||||
14
edo/COPYING
14
edo/COPYING
|
|
@ -1,5 +1,5 @@
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
Version 2.1, February 1999
|
Version 2.1, February 1999
|
||||||
|
|
||||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
as the successor of the GNU Library Public License, version 2, hence
|
as the successor of the GNU Library Public License, version 2, hence
|
||||||
the version number 2.1.]
|
the version number 2.1.]
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
|
@ -112,7 +112,7 @@ modification follow. Pay close attention to the difference between a
|
||||||
former contains code derived from the library, whereas the latter must
|
former contains code derived from the library, whereas the latter must
|
||||||
be combined with the library in order to run.
|
be combined with the library in order to run.
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License Agreement applies to any software library or other
|
0. This License Agreement applies to any software library or other
|
||||||
|
|
@ -432,7 +432,7 @@ decision will be guided by the two goals of preserving the free status
|
||||||
of all derivatives of our free software and of promoting the sharing
|
of all derivatives of our free software and of promoting the sharing
|
||||||
and reuse of software generally.
|
and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||||
|
|
@ -455,9 +455,9 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
DAMAGES.
|
DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
How to Apply These Terms to Your New Libraries
|
||||||
|
|
||||||
If you develop a new library, and you want it to be of the greatest
|
If you develop a new library, and you want it to be of the greatest
|
||||||
possible use to the public, we recommend making it free software that
|
possible use to the public, we recommend making it free software that
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,6 @@ FOREACH(file ${RESOURCES})
|
||||||
EXECUTE_PROCESS(
|
EXECUTE_PROCESS(
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
${CMAKE_CURRENT_SOURCE_DIR}/${file}
|
||||||
${DO_BINARY_DIR}/${file}
|
${EDO_BINARY_DIR}/${file}
|
||||||
)
|
)
|
||||||
ENDFOREACH(file)
|
ENDFOREACH(file)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
20
edo/install.cmake-dist
Normal file
20
edo/install.cmake-dist
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Variables to set
|
||||||
|
|
||||||
|
# directory we need to build project
|
||||||
|
SET(EO_DIR "<<PATH_TO_EO>>" CACHE PATH "EO directory" FORCE)
|
||||||
|
SET(MO_DIR "<<PATH_TO_MO>>" CACHE PATH "MO directory" FORCE)
|
||||||
|
|
||||||
|
# automagically set parameters, do not edit
|
||||||
|
|
||||||
|
SET(EO_INCLUDE_DIRS "${EO_DIR}/src" CACHE PATH "EO include directory" FORCE)
|
||||||
|
SET(EO_LIBRARY_DIRS "${EO_DIR}/release/lib" CACHE PATH "EO library directory" FORCE)
|
||||||
|
SET(EO_LIBRARIES "eoutils eo es ga cma gcov")
|
||||||
|
|
||||||
|
SET(MO_INCLUDE_DIRS "${MO_DIR}/src" CACHE PATH "MO include directory" FORCE)
|
||||||
|
SET(MO_LIBRARY_DIRS "${MO_DIR}/release/lib" CACHE PATH "MO library directory" FORCE)
|
||||||
|
SET(MO_LIBRARIES "mo")
|
||||||
|
|
||||||
|
# ... or rather use pkg-config (dont forget to comment the code above)
|
||||||
|
|
||||||
|
#PKG_CHECK_MODULES(EO eo REQUIRED)
|
||||||
|
#PKG_CHECK_MODULES(MO mo REQUIRED)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -25,4 +25,3 @@ Authors:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "edo"
|
#include "edo"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -60,4 +60,3 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // !_edoBounderRng_h
|
#endif // !_edoBounderRng_h
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -39,16 +39,16 @@ public:
|
||||||
|
|
||||||
void operator()( EOT& sol )
|
void operator()( EOT& sol )
|
||||||
{
|
{
|
||||||
unsigned int size = sol.size();
|
unsigned int size = sol.size();
|
||||||
assert(size > 0);
|
assert(size > 0);
|
||||||
|
|
||||||
for (unsigned int d = 0; d < size; ++d) {
|
for (unsigned int d = 0; d < size; ++d) {
|
||||||
|
|
||||||
if ( sol[d] < this->min()[d] || sol[d] > this->max()[d]) {
|
if ( sol[d] < this->min()[d] || sol[d] > this->max()[d]) {
|
||||||
// use EO's global "rng"
|
// use EO's global "rng"
|
||||||
sol[d] = rng.uniform( this->min()[d], this->max()[d] );
|
sol[d] = rng.uniform( this->min()[d], this->max()[d] );
|
||||||
}
|
}
|
||||||
} // for d in size
|
} // for d in size
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -108,7 +108,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void operator ()(eoPop< EOT > & pop)
|
void operator ()(eoPop< EOT > & pop)
|
||||||
{
|
{
|
||||||
assert(pop.size() > 0);
|
assert(pop.size() > 0);
|
||||||
|
|
||||||
//double temperature = _initial_temperature;
|
//double temperature = _initial_temperature;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -108,7 +108,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void operator ()(eoPop< EOT > & pop)
|
void operator ()(eoPop< EOT > & pop)
|
||||||
{
|
{
|
||||||
assert(pop.size() > 0);
|
assert(pop.size() > 0);
|
||||||
|
|
||||||
double temperature = _initial_temperature;
|
double temperature = _initial_temperature;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
The Evolving Distribution Objects framework (EDO) is a template-based,
|
The Evolving Distribution Objects framework (EDO) is a template-based,
|
||||||
ANSI-C++ evolutionary computation library which helps you to write your
|
ANSI-C++ evolutionary computation library which helps you to write your
|
||||||
own estimation of distribution algorithms.
|
own estimation of distribution algorithms.
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue