git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@1406 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
37cff602fb
commit
e0ce1567f5
2 changed files with 37 additions and 62 deletions
|
|
@ -13,7 +13,8 @@ INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src)
|
||||||
INCLUDE_DIRECTORIES(${PARADISEO_MO_SRC_DIR}/src)
|
INCLUDE_DIRECTORIES(${PARADISEO_MO_SRC_DIR}/src)
|
||||||
INCLUDE_DIRECTORIES(${PARADISEO_MOEO_SRC_DIR}/src)
|
INCLUDE_DIRECTORIES(${PARADISEO_MOEO_SRC_DIR}/src)
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
INCLUDE_DIRECTORIES(${SOURCES_DIR})
|
INCLUDE_DIRECTORIES(${FLOWSHOP_SRC_DIR}/src)
|
||||||
|
INCLUDE_DIRECTORIES(${SOURCES_DIR}/src)
|
||||||
|
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
@ -23,7 +24,7 @@ INCLUDE_DIRECTORIES(${SOURCES_DIR})
|
||||||
### 2) Specify where CMake can find the libraries
|
### 2) Specify where CMake can find the libraries
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib ${PARADISEO_MOEO_BIN_DIR}/lib)
|
LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib ${PARADISEO_MOEO_BIN_DIR}/lib ${FLOWSHOP_LIB_OUTPUT_PATH})
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
||||||
|
|
@ -48,7 +49,7 @@ ENDFOREACH (test)
|
||||||
|
|
||||||
# Link the librairies
|
# Link the librairies
|
||||||
FOREACH (test ${TEST_LIST})
|
FOREACH (test ${TEST_LIST})
|
||||||
TARGET_LINK_LIBRARIES(${test} moeo ga es eoutils eo)
|
TARGET_LINK_LIBRARIES(${test} moeo flowshop ga es eoutils eo)
|
||||||
ENDFOREACH (test)
|
ENDFOREACH (test)
|
||||||
|
|
||||||
######################################################################################
|
######################################################################################
|
||||||
|
|
|
||||||
|
|
@ -1,70 +1,44 @@
|
||||||
#include <eo>
|
#include <eo>
|
||||||
#include <moeo>
|
#include <moeo>
|
||||||
#include <moeoPopNeighborhoodExplorer.h>
|
#include <moeoPopNeighborhoodExplorer.h>
|
||||||
|
#include <moeoAllSolAllNeighborsExpl.h>
|
||||||
#include <moeoPopLS.h>
|
#include <moeoPopLS.h>
|
||||||
#include <moeoUnifiedDominanceBasedLS.h>
|
#include <moeoUnifiedDominanceBasedLS.h>
|
||||||
#include <moMove.h>
|
#include <moMove.h>
|
||||||
|
#include <FlowShop.h>
|
||||||
|
#include <exchange_move.h>
|
||||||
|
#include <exchange_move_init.h>
|
||||||
|
#include <exchange_move_next.h>
|
||||||
|
#include <FlowShopEval.h>
|
||||||
|
|
||||||
|
// for the creation of an evaluator
|
||||||
|
#include <make_eval_FlowShop.h>
|
||||||
|
// for the creation of an initializer
|
||||||
|
#include <make_genotype_FlowShop.h>
|
||||||
|
// for the creation of the variation operators
|
||||||
|
#include <make_op_FlowShop.h>
|
||||||
|
// how to initialize the population
|
||||||
|
#include <do/make_pop.h>
|
||||||
|
|
||||||
|
|
||||||
class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
public:
|
eoParser parser(argc, argv); // for user-parameter reading
|
||||||
static bool minimizing (int i)
|
eoState state; // to keep all things allocated
|
||||||
{
|
ExchangeMoveNext moveNext;
|
||||||
return true;
|
ExchangeMoveInit moveInit;
|
||||||
}
|
ExchangeMove move;
|
||||||
static bool maximizing (int i)
|
eoEvalFuncCounter<FlowShop>& eval = do_make_eval(parser, state);
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
static unsigned int nObjectives ()
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
|
|
||||||
|
|
||||||
class Solution : public moeoRealVector < ObjectiveVector, double, double >
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Solution() : moeoRealVector < ObjectiveVector, double, double > (1) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
class dummyMove : public moMove < Solution >
|
|
||||||
{
|
|
||||||
public :
|
|
||||||
void operator () (Solution & _solution){}
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
|
|
||||||
// objective vectors
|
|
||||||
ObjectiveVector obj0, obj1, obj2, obj3, obj4, obj5, obj6;
|
|
||||||
obj0[0] = 2;
|
|
||||||
obj0[1] = 5;
|
|
||||||
obj1[0] = 3;
|
|
||||||
obj1[1] = 3;
|
|
||||||
obj2[0] = 4;
|
|
||||||
obj2[1] = 1;
|
|
||||||
obj3[0] = 5;
|
|
||||||
obj3[1] = 5;
|
|
||||||
|
|
||||||
// population
|
// population
|
||||||
eoPop < Solution > pop;
|
eoPop < FlowShop > pop;
|
||||||
pop.resize(4);
|
eoTimeContinue < FlowShop > continuator(5);
|
||||||
pop[0].objectiveVector(obj0); // class 1
|
moeoAllSolAllNeighborsExpl < ExchangeMove > explorer(moveInit,moveNext, eval);
|
||||||
pop[1].objectiveVector(obj1); // class 1
|
//
|
||||||
pop[2].objectiveVector(obj2); // class 1
|
moeoUnifiedDominanceBasedLS < ExchangeMove > algo(continuator, explorer);
|
||||||
pop[3].objectiveVector(obj3); // class 3
|
|
||||||
|
|
||||||
eoTimeContinue < Solution > continuator(5);
|
//
|
||||||
|
// algo(pop);
|
||||||
moeoUnifiedDominanceBasedLS < dummyMove > algo(continuator);
|
|
||||||
|
|
||||||
algo(pop);
|
|
||||||
|
|
||||||
std::cout << "OK c'est bon" << std::endl;
|
std::cout << "OK c'est bon" << std::endl;
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue