moved utilities and contribution in branchez
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2183 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
6c3383d718
commit
8280cf082b
1346 changed files with 0 additions and 0 deletions
11
branches/contribution/branches/MOLS/.project
Normal file
11
branches/contribution/branches/MOLS/.project
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>MOLS</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
124
branches/contribution/branches/MOLS/CMakeLists.txt
Normal file
124
branches/contribution/branches/MOLS/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
######################################################################################
|
||||
### CMake basic configuration
|
||||
######################################################################################
|
||||
|
||||
# check cmake version compatibility
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||
|
||||
# regular expression checking
|
||||
INCLUDE_REGULAR_EXPRESSION("^.*$" "^$")
|
||||
|
||||
# set a language for the entire project.
|
||||
ENABLE_LANGUAGE(CXX)
|
||||
ENABLE_LANGUAGE(C)
|
||||
|
||||
#####################################################################################
|
||||
### Include required modules & utilities
|
||||
#####################################################################################
|
||||
INCLUDE(CMakeBackwardCompatibilityCXX)
|
||||
|
||||
INCLUDE(FindDoxygen)
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
|
||||
INCLUDE(Dart OPTIONAL)
|
||||
|
||||
# Set a special flag if the environment is windows (should do the same in a config.g file)
|
||||
IF (WIN32)
|
||||
ADD_DEFINITIONS(-D_WINDOWS=1)
|
||||
ENDIF (WIN32)
|
||||
######################################################################################
|
||||
|
||||
|
||||
#####################################################################################
|
||||
### Manage the build type
|
||||
#####################################################################################
|
||||
|
||||
# the user should choose the build type on windows environments,excepted under cygwin (default=none)
|
||||
SET(CMAKE_DEFAULT_BUILD_TYPE "Debug" CACHE STRING "Variable that stores the default CMake build type" FORCE)
|
||||
|
||||
FIND_PROGRAM(MEMORYCHECK_COMMAND
|
||||
NAMES purify valgrind
|
||||
PATHS
|
||||
"/usr/local/bin /usr/bin [HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
|
||||
DOC "Path to the memory checking command, used for memory error detection.")
|
||||
|
||||
IF(NOT CMAKE_BUILD_TYPE)
|
||||
SET( CMAKE_BUILD_TYPE
|
||||
${CMAKE_DEFAULT_BUILD_TYPE} CACHE STRING
|
||||
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
|
||||
FORCE)
|
||||
ENDIF(NOT CMAKE_BUILD_TYPE)
|
||||
|
||||
IF(WIN32 AND NOT CYGWIN)
|
||||
IF(CMAKE_CXX_COMPILER MATCHES cl)
|
||||
IF(NOT WITH_SHARED_LIBS)
|
||||
IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008")
|
||||
SET(CMAKE_CXX_FLAGS "/nologo /Gy")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "/W3 /MTd /Z7 /Od")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "/w /MT /O2 /wd4530")
|
||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
|
||||
ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008")
|
||||
ENDIF(NOT WITH_SHARED_LIBS)
|
||||
ENDIF(CMAKE_CXX_COMPILER MATCHES cl)
|
||||
ELSE(WIN32 AND NOT CYGWIN)
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -fprofile-arcs -ftest-coverage -Wall -Wextra -Wno-unused-parameter")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
|
||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O6")
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
ENDIF(WIN32 AND NOT CYGWIN)
|
||||
|
||||
IF(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
ADD_DEFINITIONS(-DCMAKE_VERBOSE_MAKEFILE=ON)
|
||||
ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
|
||||
#####################################################################################
|
||||
|
||||
######################################################################################
|
||||
### compilation of examples?
|
||||
######################################################################################
|
||||
|
||||
SET(ENABLE_CMAKE_EXAMPLE TRUE CACHE BOOL "Enable copy of benchs and parameters file?")
|
||||
|
||||
#######################################################################################
|
||||
### Paths to EO, MO and MOEO must be specified above.
|
||||
#######################################################################################
|
||||
|
||||
SET(PARADISEO_DIR "/home/humeau/Bureau/paradiseo-1.2.1" CACHE PATH "ParadisEO directory" FORCE)
|
||||
|
||||
SET(EO_SRC_DIR "${PARADISEO_DIR}/paradiseo-eo" CACHE PATH "ParadisEO-EO source directory" FORCE)
|
||||
SET(EO_BIN_DIR "${PARADISEO_DIR}/paradiseo-eo/build" CACHE PATH "ParadisEO-EO binary directory" FORCE)
|
||||
|
||||
SET(MO_SRC_DIR "${PARADISEO_DIR}/paradiseo-mo" CACHE PATH "ParadisMO-MO source directory" FORCE)
|
||||
SET(MO_BIN_DIR "${PARADISEO_DIR}/paradiseo-mo/build" CACHE PATH "ParadisMO-MO binary directory" FORCE)
|
||||
|
||||
SET(MOEO_SRC_DIR "${PARADISEO_DIR}/paradiseo-moeo" CACHE PATH "ParadisMOEO-MOEO source directory" FORCE)
|
||||
SET(MOEO_BIN_DIR "${PARADISEO_DIR}/paradiseo-moeo/build" CACHE PATH "ParadisMOEO-MOEO binary directory" FORCE)
|
||||
|
||||
######################################################################################
|
||||
### 1) Include the sources
|
||||
######################################################################################
|
||||
|
||||
INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES(/home/humeau/workspace/MOLS/src2)
|
||||
INCLUDE_DIRECTORIES(/home/humeau/workspace/MOLS/test)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
######################################################################################
|
||||
### 2) Specify where CMake can find the libraries
|
||||
######################################################################################
|
||||
|
||||
LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${MOEO_BIN_DIR}/lib)
|
||||
|
||||
######################################################################################
|
||||
### 3) Define your targets and link the librairies
|
||||
######################################################################################
|
||||
|
||||
ADD_SUBDIRECTORY(src2)
|
||||
ADD_SUBDIRECTORY(test)
|
||||
ADD_SUBDIRECTORY(doc)
|
||||
318
branches/contribution/branches/MOLS/COSEARCH/fspEA.cpp
Executable file
318
branches/contribution/branches/MOLS/COSEARCH/fspEA.cpp
Executable file
|
|
@ -0,0 +1,318 @@
|
|||
//eo
|
||||
#include <eo>
|
||||
#include <eoSwapMutation.h>
|
||||
|
||||
//general
|
||||
#include <string>
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
#include <unistd.h>
|
||||
|
||||
// moeo
|
||||
#include <moeo>
|
||||
#include <do/make_continue_moeo.h>
|
||||
#include <do/make_checkpoint_moeo.h>
|
||||
|
||||
// fsp
|
||||
#include <fsp>
|
||||
|
||||
//peo
|
||||
#include <peo>
|
||||
#include <peoAsyncDataTransfer.h>
|
||||
#include <peoSyncDataTransfer.h>
|
||||
#include <core/star_topo.h>
|
||||
#include <peoParallelAlgorithmWrapper.h>
|
||||
#include <core/eoVector_mesg.h>
|
||||
|
||||
//DMLS
|
||||
|
||||
|
||||
#include <moeoTransfer.h>
|
||||
|
||||
void make_help(eoParser & _parser);
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
try{
|
||||
|
||||
eoParser parser(argc, argv); // for user-parameter reading
|
||||
eoState state; // to keep all things allocated
|
||||
|
||||
/*** number of objectives ***/
|
||||
fspObjectiveVectorTraits::nObj = 2;
|
||||
|
||||
/*** parameters ***/
|
||||
eoValueParam<uint32_t>& _seedParam = parser.createParam(uint32_t(0), "seed", "Random number seed", 'S');
|
||||
std::string _file = parser.createParam(std::string(), "file", "", '\0', "Representation", true).value();
|
||||
double _crossRate = parser.createParam((double) 0.05, "crossRate", "Rate for 2-PT crossover", 0, "Variation Operators").value();
|
||||
double _mutRate = parser.createParam((double) 1.0, "mutRate", "Rate for shift mutation", 0, "Variation Operators").value();
|
||||
unsigned int _popSize = parser.createParam((unsigned int)(100), "popSize", "Population Size", 'P', "Evolution Engine").value();
|
||||
std::string _strategy = parser.createParam(std::string(), "explorer", "OneOne - OneAll - AllOne - AllAll - OneFirst - AllFirst - OneND - AllND", '\0', "Evolution Engine", true).value();
|
||||
unsigned int _nbKick = parser.createParam((unsigned int)(10), "nbKick", "Number of kick", 'K', "Evolution Engine").value();
|
||||
|
||||
// seed
|
||||
if (_seedParam.value() == 0)
|
||||
_seedParam.value() = time(0);
|
||||
rng.reseed(_seedParam.value());
|
||||
|
||||
/*** the representation-dependent things ***/
|
||||
|
||||
// load data
|
||||
fspData data(_file);
|
||||
// size
|
||||
unsigned int size = data.getN(); // nb jobs
|
||||
// init
|
||||
fspInit init(size, 0);
|
||||
// eval
|
||||
fspEval simpleEval(data.getM(), data.getN(), data.getP(), data.getD());
|
||||
eoEvalFuncCounter<FSP> eval(simpleEval);
|
||||
// cross
|
||||
fspCross cross;
|
||||
// mut
|
||||
fspMut mut;
|
||||
// op
|
||||
eoSGAGenOp<FSP> op(cross, _crossRate, mut, _mutRate);
|
||||
|
||||
/*** the representation-independent things ***/
|
||||
|
||||
// move init
|
||||
fspMoveInit moveInit;
|
||||
// move next
|
||||
fspMoveNext moveNext;
|
||||
// move incr eval
|
||||
fspMoveIncrEval moveIncrEval(data.getM(), data.getN(), data.getP(), data.getD());
|
||||
|
||||
|
||||
bool multiply=true;
|
||||
moeoPopNeighborhoodExplorer<fspMove> * explorer;
|
||||
moeoUnvisitedSelect<FSP> * selector;
|
||||
if (_strategy == std::string("OneOne"))
|
||||
{
|
||||
selector = new moeoNumberUnvisitedSelect<FSP> (1);
|
||||
explorer = new moeoSimpleSubNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval, 1);
|
||||
}
|
||||
else if (_strategy == std::string("OneAll"))
|
||||
{
|
||||
selector = new moeoNumberUnvisitedSelect<FSP> (1);
|
||||
explorer = new moeoExhaustiveNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
}
|
||||
else if (_strategy == std::string("AllOne"))
|
||||
{
|
||||
selector = new moeoExhaustiveUnvisitedSelect<FSP>;
|
||||
explorer = new moeoSimpleSubNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval, 1);
|
||||
multiply=false;
|
||||
}
|
||||
else if (_strategy == std::string("AllAll"))
|
||||
{
|
||||
selector = new moeoExhaustiveUnvisitedSelect<FSP>;
|
||||
explorer = new moeoExhaustiveNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
}
|
||||
else if (_strategy == std::string("OneFirst"))
|
||||
{
|
||||
selector = new moeoNumberUnvisitedSelect<FSP> (1);
|
||||
explorer = new moeoFirstImprovingNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
}
|
||||
else if (_strategy == std::string("AllFirst"))
|
||||
{
|
||||
selector = new moeoExhaustiveUnvisitedSelect<FSP>;
|
||||
explorer = new moeoFirstImprovingNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
}
|
||||
else if (_strategy == std::string("OneND"))
|
||||
{
|
||||
selector = new moeoNumberUnvisitedSelect<FSP> (1);
|
||||
explorer = new moeoNoDesimprovingNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
}
|
||||
else if (_strategy == std::string("AllND"))
|
||||
{
|
||||
selector = new moeoExhaustiveUnvisitedSelect<FSP>;
|
||||
explorer = new moeoNoDesimprovingNeighborhoodExplorer<fspMove> (moveInit, moveNext, moveIncrEval);
|
||||
multiply=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string stmp = std::string("Invalid explorer strategy: ") + _strategy;
|
||||
throw std::runtime_error(stmp.c_str());
|
||||
}
|
||||
state.storeFunctor(selector);
|
||||
state.storeFunctor(explorer);
|
||||
|
||||
//peo :: init (argc, argv);
|
||||
|
||||
eoPop<FSP> popIBEA;
|
||||
eoPop<FSP> popLS;
|
||||
eoPop<FSP> popCentral;
|
||||
eoPop<FSP> popCentral2;
|
||||
popCentral.resize(0);
|
||||
popCentral2.resize(0);
|
||||
// initialization of the population
|
||||
popIBEA.append(_popSize, init);
|
||||
popLS.append(1, init);
|
||||
// definition of an unbounded archive
|
||||
moeoNewBoundedArchive<FSP> archCentral(100);
|
||||
moeoNewBoundedArchive<FSP> archCentral2(100);
|
||||
moeoNewBoundedArchive<FSP> archLS(100);
|
||||
moeoUnboundedArchive<FSP> archIBEA;
|
||||
|
||||
// stopping criteria
|
||||
eoContinue<FSP> & stop = do_make_continue_moeo(parser, state, eval);
|
||||
|
||||
eoGenContinue<FSP> stop1(5000000);
|
||||
eoGenContinue<FSP> stop2(5000000);
|
||||
eoGenContinue<FSP> stop3(5000000);
|
||||
|
||||
// checkpointing
|
||||
eoCheckPoint<FSP> & checkpoint1 = do_make_checkpoint_moeo(parser, state, eval, stop1, popIBEA, archIBEA);
|
||||
eoCheckPoint<FSP> & checkpoint2 = do_make_checkpoint_moeo(parser, state, eval, stop2, popLS, archLS);
|
||||
eoCheckPoint<FSP> & checkpoint3 = do_make_checkpoint_moeo(parser, state, eval, stop3, popCentral, archCentral);
|
||||
|
||||
moeoArchiveObjectiveVectorSavingUpdater < FSP > * save_updater1 = new moeoArchiveObjectiveVectorSavingUpdater < FSP > (archIBEA, "archIBEA");
|
||||
state.storeFunctor(save_updater1);
|
||||
checkpoint1.add(*save_updater1);
|
||||
|
||||
moeoArchiveObjectiveVectorSavingUpdater < FSP > * save_updater2 = new moeoArchiveObjectiveVectorSavingUpdater < FSP > (archLS, "archLS");
|
||||
state.storeFunctor(save_updater2);
|
||||
checkpoint2.add(*save_updater2);
|
||||
|
||||
moeoArchiveObjectiveVectorSavingUpdater < FSP > * save_updater3 = new moeoArchiveObjectiveVectorSavingUpdater < FSP > (archCentral, "archCentral");
|
||||
state.storeFunctor(save_updater3);
|
||||
checkpoint3.add(*save_updater3);
|
||||
|
||||
// metric
|
||||
moeoAdditiveEpsilonBinaryMetric<fspObjectiveVector> metric;
|
||||
// algorithms
|
||||
moeoIBEA<FSP> algo1 (checkpoint1, eval, op, metric);
|
||||
//moeoSEEA<FSP> algo1 (checkpoint1, eval, op, arch1);
|
||||
moeoUnifiedDominanceBasedLS <fspMove> algo2(checkpoint2, eval, archLS, *explorer, *selector);
|
||||
|
||||
//moeoUnifiedDominanceBasedLS <tspMove> algo3(checkpoint3, eval, arch3, *explorer, *selector);
|
||||
//moeoSEEA<FSP> algo3 (checkpoint3, eval, op, arch3);
|
||||
//moeoSEEA<FSP> algo4 (checkpoint4, eval, op, arch4);
|
||||
//moeoIBEA<FSP> algo3 (checkpoint3, eval, op, metric);
|
||||
//moeoNSGAII<FSP> algo3 (checkpoint3, eval, op);
|
||||
|
||||
//PEO:initialisation
|
||||
|
||||
|
||||
|
||||
//Topolgy
|
||||
RingTopology ring1, ring2;
|
||||
StarTopology star;
|
||||
|
||||
|
||||
|
||||
|
||||
eoSwapMutation <FSP> swap;
|
||||
|
||||
|
||||
|
||||
CentralAggregation<FSP> test;
|
||||
IBEAAggregation<FSP> test2;
|
||||
LSAggregation<FSP> test3(swap, eval, _nbKick);
|
||||
ArchToArchAggregation<FSP> test4;
|
||||
|
||||
apply<FSP>(eval, popIBEA);
|
||||
popIBEA.sort();
|
||||
apply<FSP>(eval, popLS);
|
||||
popLS.sort();
|
||||
|
||||
|
||||
|
||||
/* peoSyncDataTransfer transfer1(archCentral, ring1, test);
|
||||
centralArchive<FSP> centre1(archCentral, popCentral, transfer1, checkpoint3);
|
||||
|
||||
|
||||
peoSyncDataTransfer transfer2(archCentral, ring2, test);
|
||||
centralArchive<FSP> centre2(archCentral, popCentral, transfer2, checkpoint3);
|
||||
|
||||
|
||||
|
||||
|
||||
peoSyncDataTransfer transfer3(popIBEA, ring1, test2);
|
||||
eoGenContinue <FSP> cont2(500);
|
||||
|
||||
gestionTransfer<FSP> gest2(cont2, transfer3, archIBEA);
|
||||
//centralArchive centre1(arch1, pop1, transfer1);
|
||||
checkpoint1.add(gest2);
|
||||
|
||||
|
||||
|
||||
|
||||
peoSyncDataTransfer transfer4(archLS, ring2, test3);
|
||||
eoAmeliorationContinue <FSP> cont(archLS, 1, false);
|
||||
//eoGenContinue <FSP> cont(10000);
|
||||
gestionTransfer2<FSP> gest(cont, transfer4, archLS);
|
||||
checkpoint2.add(gest);*/
|
||||
|
||||
|
||||
// std::vector<peoSyncDataTransfer> vect;
|
||||
|
||||
|
||||
// initDebugging();
|
||||
//setDebugMode(true);
|
||||
|
||||
testPEO<FSP> hop(argc, argv, algo1, algo2, popIBEA, popLS, archCentral, test, test, test2, test3, checkpoint1, checkpoint2, checkpoint3);
|
||||
|
||||
|
||||
hop();
|
||||
|
||||
|
||||
|
||||
// Start the parallel EA
|
||||
/*eoPop<FSP> dummyPop;
|
||||
dummyPop.resize(0);
|
||||
|
||||
eoPop<FSP> dummyPop2;
|
||||
dummyPop2.resize(0);*/
|
||||
|
||||
//Wrapp algorithms
|
||||
|
||||
/* peoParallelAlgorithmWrapper parallelEA_1(centre1, dummyPop);
|
||||
transfer1.setOwner( parallelEA_1 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_2(algo1, popIBEA);
|
||||
transfer3.setOwner( parallelEA_2 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_3(centre2, dummyPop2);
|
||||
transfer2.setOwner( parallelEA_3 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_4(algo2, popLS);
|
||||
transfer4.setOwner( parallelEA_4 );*/
|
||||
|
||||
|
||||
/* if (getNodeRank()==1)
|
||||
{
|
||||
|
||||
cout << "Initial Population IBEA\n" << popIBEA << endl;
|
||||
}
|
||||
|
||||
if (getNodeRank()==2)
|
||||
{
|
||||
|
||||
cout << "Initial Population LS\n" << popLS << endl;
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//run
|
||||
//peo :: run( );
|
||||
//peo :: finalize( );
|
||||
//endDebugging();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
catch (exception& e){
|
||||
cout << e.what() << endl;
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
388
branches/contribution/branches/MOLS/COSEARCH/moeoTransfer.h
Normal file
388
branches/contribution/branches/MOLS/COSEARCH/moeoTransfer.h
Normal file
|
|
@ -0,0 +1,388 @@
|
|||
//eo
|
||||
#include <eo>
|
||||
|
||||
// moeo
|
||||
#include <moeo>
|
||||
|
||||
//general
|
||||
#include <string>
|
||||
#include <stdlib.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
|
||||
//peo
|
||||
#include <peo>
|
||||
#include <peoAsyncDataTransfer.h>
|
||||
#include <peoSyncDataTransfer.h>
|
||||
|
||||
#include <dmls.h>
|
||||
|
||||
|
||||
template <class A1, class A2, class R>
|
||||
class generalAggregation: public eoBF<A1, A2, R>{};
|
||||
|
||||
template <class EOT, class A, class R>
|
||||
class AbstractEntityToPopAggregation: public generalAggregation<eoPop<EOT>&, A, R>{};
|
||||
|
||||
template <class EOT, class A, class R>
|
||||
class AbstractEntityToArchiveAggregation: public generalAggregation<moeoArchive<EOT>&, A, R>{};
|
||||
|
||||
template <class EOT>
|
||||
class PopToPopAggregation: public AbstractEntityToPopAggregation<EOT, eoPop<EOT>&, void>{};
|
||||
|
||||
template <class EOT>
|
||||
class ArchiveToPopAggregation: public AbstractEntityToPopAggregation<EOT, moeoArchive<EOT>&, void>{};
|
||||
|
||||
template <class EOT>
|
||||
class PopToArchiveAggregation: public AbstractEntityToArchiveAggregation<EOT, eoPop<EOT>&, void>{};
|
||||
|
||||
template <class EOT>
|
||||
class ArchiveToArchiveAggregation: public AbstractEntityToArchiveAggregation<EOT, moeoArchive<EOT>&, void>{};
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
template <class EOT>
|
||||
class gestionTransfer: public eoUpdater{
|
||||
|
||||
public:
|
||||
gestionTransfer(eoGenContinue < EOT > & _continuator,
|
||||
peoDataTransfer & _asyncDataTransfer,
|
||||
moeoArchive<EOT>& _archive):continuator(_continuator), asyncDataTransfer(_asyncDataTransfer), archive(_archive){}
|
||||
|
||||
void operator()(){
|
||||
if(!continuator(archive)){
|
||||
asyncDataTransfer();
|
||||
continuator.totalGenerations(continuator.totalGenerations());
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
eoGenContinue < EOT > & continuator;
|
||||
peoDataTransfer& asyncDataTransfer;
|
||||
moeoArchive<EOT>& archive;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
template <class EOT>
|
||||
class gestionTransfer2: public eoUpdater{
|
||||
|
||||
public:
|
||||
gestionTransfer2(eoContinue < EOT > & _continuator,
|
||||
peoSyncDataTransfer & _asyncDataTransfer,
|
||||
moeoArchive<EOT>& _archive):continuator(_continuator), asyncDataTransfer(_asyncDataTransfer), archive(_archive){}
|
||||
|
||||
void operator()(){
|
||||
if(!continuator(archive)){
|
||||
asyncDataTransfer();
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
eoContinue < EOT > & continuator;
|
||||
peoSyncDataTransfer& asyncDataTransfer;
|
||||
moeoArchive<EOT>& archive;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
/*template <class EOT>
|
||||
class IBEAAggregationRnd: public ArchiveToPopAggregation<EOT>{
|
||||
|
||||
public:
|
||||
void operator()(eoPop< EOT >& _pop, moeoArchive< EOT >& _archive) {
|
||||
UF_random_generator<unsigned int> rndGen;
|
||||
std::vector<unsigned int> tab;
|
||||
unsigned int resizeValue;
|
||||
unsigned int popCorrectSize= _pop.size();
|
||||
|
||||
if (_pop.size() - _archive.size()>0){
|
||||
resizeValue=_pop.size() - _archive.size();
|
||||
_pop.shuffle();
|
||||
}
|
||||
else
|
||||
resizeValue=0;
|
||||
|
||||
for(unsigned int i=0; i<_archive.size(); i++)
|
||||
tab.push_back(i);
|
||||
std::random_shuffle(tab.begin(), tab.end(), rndGen);
|
||||
|
||||
_pop.resize(resizeValue);
|
||||
|
||||
for (unsigned int i=0; i<(popCorrectSize-resizeValue); i++)
|
||||
{
|
||||
_pop.push_back(_archive[tab[i]]);
|
||||
}
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
_pop[i].fitness(0.0);
|
||||
_pop[i].diversity(0.0);
|
||||
}
|
||||
}
|
||||
};*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
template <class EOT>
|
||||
class IBEAAggregation: public ArchiveToPopAggregation<EOT>{
|
||||
public:
|
||||
void operator()(eoPop< EOT >& _pop, moeoArchive< EOT >& _archive) {
|
||||
unsigned int popSize= _pop.size();
|
||||
_pop.reserve(popSize + _archive.size());
|
||||
for (unsigned int i=0; i<_archive.size(); i++)
|
||||
{
|
||||
_pop.push_back(_archive[i]);
|
||||
_pop[i+popSize].fitness(0.0);
|
||||
//_pop[i].diversity(0.0);
|
||||
}
|
||||
diversityAssignment(_pop);
|
||||
std::sort(_pop.begin(), _pop.end(), cmp);
|
||||
_pop.resize(popSize);
|
||||
}
|
||||
|
||||
private:
|
||||
moeoCrowdingDiversityAssignment<EOT> diversityAssignment;
|
||||
moeoDiversityThenFitnessComparator<EOT> cmp;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
/*template <class EOT>
|
||||
class IBEAAggregationQuiMarchePas{
|
||||
public:
|
||||
void operator()(eoPop< EOT >& _pop, moeoArchive< EOT >& _archive) {
|
||||
UF_random_generator<unsigned int> rndGen;
|
||||
std::vector<unsigned int> tab;
|
||||
unsigned int resizeValue;
|
||||
unsigned int popCorrectSize= _pop.size();
|
||||
|
||||
|
||||
if (_pop.size() <= _archive.size())
|
||||
_pop.resize(0);
|
||||
|
||||
for (unsigned int i=0; i<_archive.size(); i++)
|
||||
{
|
||||
_pop.push_back(_archive[i]);
|
||||
_pop[i].fitness(0.0);
|
||||
_pop[i].diversity(0.0);
|
||||
}
|
||||
|
||||
}
|
||||
};*/
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
*/
|
||||
template <class EOT>
|
||||
class LSAggregation: public ArchiveToArchiveAggregation<EOT>{
|
||||
public:
|
||||
|
||||
LSAggregation(eoMonOp <EOT> & _op, eoEvalFunc<EOT>& _eval, unsigned int _nbKick): ArchiveToArchiveAggregation<EOT>(),op(_op), eval(_eval), nbKick(_nbKick){}
|
||||
|
||||
void operator()(moeoArchive< EOT >& _archive1, moeoArchive <EOT >& _archive2) {
|
||||
unsigned int archSize=_archive2.size();
|
||||
if(archSize>0){
|
||||
_archive1.resize(0);
|
||||
_archive1.push_back(_archive2[rng.random(archSize)]);
|
||||
// std::cout << "kick : " << nbKick << std::endl;
|
||||
//si la solution n'a pas encore été visité
|
||||
if(_archive1[0].flag()==1){
|
||||
std::cout << "kick pour du vrai" << std::endl;
|
||||
//on la kick
|
||||
for(unsigned int i=0; i<nbKick; i++){
|
||||
//std::cout << _archive1[0] << std::endl;
|
||||
op(_archive1[0]);
|
||||
}
|
||||
eval(_archive1[0]);
|
||||
_archive1[0].flag(0);
|
||||
}
|
||||
for (unsigned int i=0; i<_archive1.size(); i++)
|
||||
{
|
||||
|
||||
_archive1[i].fitness(0.0);
|
||||
_archive1[i].diversity(0.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
eoMonOp<EOT> & op;
|
||||
eoEvalFunc<EOT> & eval;
|
||||
unsigned int nbKick;
|
||||
|
||||
};
|
||||
|
||||
|
||||
//Aggregation pour archiver une pop
|
||||
template <class EOT>
|
||||
class CentralAggregation: public PopToArchiveAggregation<EOT>{
|
||||
public:
|
||||
void operator()(moeoArchive< EOT >& _archive, eoPop< EOT >& _pop) {
|
||||
_archive(_pop);
|
||||
}
|
||||
};
|
||||
|
||||
//aggregation pour archiver une archive
|
||||
template <class EOT>
|
||||
class ArchToArchAggregation{
|
||||
public:
|
||||
void operator()(moeoArchive< EOT >& _archive1, moeoArchive< EOT >& _archive2) {
|
||||
_archive1(_archive2);
|
||||
}
|
||||
};
|
||||
|
||||
template <class EOT>
|
||||
class gestArchive{
|
||||
|
||||
public:
|
||||
gestArchive(moeoArchive <EOT>& _archive,
|
||||
eoPop <EOT>& _pop,
|
||||
peoSyncDataTransfer & _syncDataTransfer,
|
||||
eoContinue <EOT>& _cont):
|
||||
archive(_archive), pop(_pop), syncDataTransfer(_syncDataTransfer), cont(_cont){}
|
||||
|
||||
void operator()(eoPop <EOT>& population) {
|
||||
while(true){
|
||||
// pop.resize(0);
|
||||
//for(unsigned int i=0; i<archive.size(); i++)
|
||||
// pop.push_back(archive[i]);
|
||||
syncDataTransfer();//appel pour faire l'echange
|
||||
// archive(pop);
|
||||
// pop.resize(0);
|
||||
// for(unsigned int i=0; i<archive.size(); i++)
|
||||
// pop.push_back(archive[i]);
|
||||
cont(archive);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
moeoArchive <EOT>& archive;
|
||||
eoPop <EOT>& pop;
|
||||
peoSyncDataTransfer& syncDataTransfer;
|
||||
eoContinue <EOT>& cont;
|
||||
};
|
||||
|
||||
|
||||
template <class EOT>
|
||||
class testPEO{
|
||||
|
||||
public:
|
||||
testPEO(int _argc,
|
||||
char** _argv,
|
||||
moeoPopAlgo<EOT> & _algo1,
|
||||
moeoPopAlgo<EOT> & _algo2,
|
||||
eoPop<EOT> & _pop1,
|
||||
eoPop<EOT> & _pop2,
|
||||
moeoNewBoundedArchive<EOT> & _centralArchive,
|
||||
AbstractEntityToArchiveAggregation<EOT, eoPop<EOT> &, void>& _algo1ToArchive,
|
||||
AbstractEntityToArchiveAggregation<EOT, eoPop<EOT> &, void>& _algo2ToArchive,
|
||||
generalAggregation <eoPop<EOT> &, moeoArchive<EOT> &, void>& _archiveToAlgo1,
|
||||
generalAggregation <moeoArchive<EOT> &, moeoArchive<EOT> &, void>& _archiveToAlgo2,
|
||||
eoCheckPoint<EOT> & _checkAlgo1,
|
||||
eoCheckPoint<EOT> & _checkAlgo2,
|
||||
eoCheckPoint<EOT> & _checkArchive):
|
||||
argc(_argc),
|
||||
argv(_argv),
|
||||
algo1(_algo1),
|
||||
algo2(_algo2),
|
||||
pop1(_pop1),
|
||||
pop2(_pop2),
|
||||
centralArchive(_centralArchive),
|
||||
algo1ToArchive(_algo1ToArchive),
|
||||
algo2ToArchive(_algo2ToArchive),
|
||||
archiveToAlgo1(_archiveToAlgo1),
|
||||
archiveToAlgo2(_archiveToAlgo2),
|
||||
checkAlgo1(_checkAlgo1),
|
||||
checkAlgo2(_checkAlgo2),
|
||||
checkArchive(_checkArchive){}
|
||||
|
||||
void operator()(){
|
||||
|
||||
//PEO Initialization
|
||||
peo :: init (argc, argv);
|
||||
|
||||
//Two RingTopolgy
|
||||
RingTopology ring1, ring2;
|
||||
|
||||
|
||||
//DataTransfer for the fisrt ring
|
||||
peoSyncDataTransfer transfer1(centralArchive, ring1, algo1ToArchive);
|
||||
peoSyncDataTransfer transfer2(pop1, ring1, archiveToAlgo1);
|
||||
|
||||
//DataTransfer for the second ring
|
||||
peoSyncDataTransfer transfer3(centralArchive, ring2, algo2ToArchive);
|
||||
peoSyncDataTransfer transfer4(pop2, ring2, archiveToAlgo2);
|
||||
|
||||
//Transfer Algo1 -> archiveCentral (Ring1)
|
||||
gestArchive<EOT> toCenter1(centralArchive, pop1, transfer1, checkArchive);
|
||||
|
||||
//Transfer archiveCentral -> Algo1 (Ring1)
|
||||
eoGenContinue <EOT> genContinuator1(100);
|
||||
gestionTransfer<EOT> exitCenter1(genContinuator1, transfer2, centralArchive);
|
||||
checkAlgo1.add(exitCenter1);
|
||||
|
||||
//Transfer Algo2 -> archiveCentral (Ring2)
|
||||
gestArchive<EOT> toCenter2(centralArchive, pop2, transfer3, checkArchive);
|
||||
|
||||
//Transfer archiveCentral -> Algo2 (Ring2)
|
||||
eoGenContinue <EOT> genContinuator2(200);
|
||||
gestionTransfer<EOT> exitCenter2(genContinuator2, transfer4, centralArchive);
|
||||
checkAlgo2.add(exitCenter2);
|
||||
|
||||
//dummyPop
|
||||
eoPop<EOT> dummyPop;
|
||||
|
||||
//Wrapping of algotithm
|
||||
peoParallelAlgorithmWrapper parallelEA_1(toCenter1, dummyPop);
|
||||
transfer1.setOwner( parallelEA_1 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_2(algo1, pop1);
|
||||
transfer2.setOwner( parallelEA_2 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_3(toCenter2, dummyPop);
|
||||
transfer3.setOwner( parallelEA_3 );
|
||||
|
||||
|
||||
peoParallelAlgorithmWrapper parallelEA_4(algo2, pop2);
|
||||
transfer4.setOwner( parallelEA_4 );
|
||||
|
||||
|
||||
//run
|
||||
peo :: run( );
|
||||
peo :: finalize( );
|
||||
endDebugging();
|
||||
}
|
||||
|
||||
private:
|
||||
int argc;
|
||||
char** argv;
|
||||
moeoPopAlgo<EOT> & algo1;
|
||||
moeoPopAlgo<EOT> & algo2;
|
||||
eoPop<EOT> & pop1;
|
||||
eoPop<EOT> & pop2;
|
||||
moeoNewBoundedArchive <EOT> & centralArchive;
|
||||
AbstractEntityToArchiveAggregation<EOT, eoPop<EOT> &, void> & algo1ToArchive;
|
||||
AbstractEntityToArchiveAggregation<EOT, eoPop<EOT> &, void> & algo2ToArchive;
|
||||
generalAggregation <eoPop<EOT> &, moeoArchive<EOT> &, void> & archiveToAlgo1;
|
||||
generalAggregation <moeoArchive<EOT> &, moeoArchive<EOT> &, void> & archiveToAlgo2;
|
||||
eoCheckPoint<EOT> & checkAlgo1;
|
||||
eoCheckPoint<EOT> & checkAlgo2;
|
||||
eoCheckPoint<EOT> & checkArchive;
|
||||
|
||||
|
||||
};
|
||||
7
branches/contribution/branches/MOLS/CTestConfig.cmake
Normal file
7
branches/contribution/branches/MOLS/CTestConfig.cmake
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
set(CTEST_PROJECT_NAME "ParadisEO")
|
||||
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
|
||||
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "cdash.inria.fr")
|
||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ParadisEO")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
||||
26
branches/contribution/branches/MOLS/doc/CMakeLists.txt
Normal file
26
branches/contribution/branches/MOLS/doc/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
##########################################################################################
|
||||
### MOEO Doc generation using Doxygen
|
||||
##########################################################################################
|
||||
|
||||
IF (DOXYGEN_FOUND)
|
||||
|
||||
SET(DOC_DIR ${CMAKE_BINARY_DIR}/doc CACHE PATH "MOEO documentation directory")
|
||||
SET(MOEO_DOC_CONFIG_FILE "moeo.doxyfile" CACHE PATH "MOEO documentation configuration file")
|
||||
# define the doc target
|
||||
IF (DOXYGEN_EXECUTABLE)
|
||||
ADD_CUSTOM_TARGET(doc
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${MOEO_DOC_CONFIG_FILE}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
ENDIF (DOXYGEN_EXECUTABLE)
|
||||
|
||||
# configure doxyfile file
|
||||
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/doc/${MOEO_DOC_CONFIG_FILE}.cmake"
|
||||
"${CMAKE_BINARY_DIR}/doc/${MOEO_DOC_CONFIG_FILE}")
|
||||
|
||||
ELSE (DOXYGEN_FOUND)
|
||||
MESSAGE(STATUS "Unable to generate the documentation, Doxygen package not found")
|
||||
ENDIF (DOXYGEN_FOUND)
|
||||
|
||||
##########################################################################################
|
||||
57
branches/contribution/branches/MOLS/doc/index.h
Normal file
57
branches/contribution/branches/MOLS/doc/index.h
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/** @mainpage Welcome to the DMLS plug-in for ParadisEO 1.2
|
||||
|
||||
@section Introduction
|
||||
|
||||
This plug-in provides classes for the flexible design of Dominance-based Multi-objective Local Search (DMLS) algorithms under ParadisEO. The implementation is based on a fine-grained decomposition following the unified model proposed in the corresponding paper ("A Preliminary Investigation to unify Dominance-based Local Search Approaches for Multiobjective Combinatorial Optimization").
|
||||
|
||||
@section Authors
|
||||
Arnaud Liefooghe, Jérémie Humeau
|
||||
|
||||
@section Installation
|
||||
|
||||
The installation procedure of the package is detailed in the "README.txt" file located in the top-directory of the source-tree.
|
||||
|
||||
|
||||
@section Design
|
||||
|
||||
For an introduction to the design of ParadisEO,
|
||||
you can look at the <a href="http://paradiseo.gforge.inria.fr">ParadisEO website</a>.
|
||||
|
||||
|
||||
@section LICENSE
|
||||
|
||||
This software is governed by the CeCILL license under French law and
|
||||
abiding by the rules of distribution of free software. You can use,
|
||||
modify and/ or redistribute the software under the terms of the CeCILL
|
||||
license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
"http://www.cecill.info".
|
||||
|
||||
As a counterpart to the access to the source code and rights to copy,
|
||||
modify and redistribute granted by the license, users are provided only
|
||||
with a limited warranty and the software's author, the holder of the
|
||||
economic rights, and the successive licensors have only limited liability.
|
||||
|
||||
In this respect, the user's attention is drawn to the risks associated
|
||||
with loading, using, modifying and/or developing or reproducing the
|
||||
software by the user in light of its specific status of free software,
|
||||
that may mean that it is complicated to manipulate, and that also
|
||||
therefore means that it is reserved for developers and experienced
|
||||
professionals having in-depth computer knowledge. Users are therefore
|
||||
encouraged to load and test the software's suitability as regards their
|
||||
requirements in conditions enabling the security of their systems and/or
|
||||
data to be ensured and, more generally, to use and operate it in the
|
||||
same conditions as regards security.
|
||||
The fact that you are presently reading this means that you have had
|
||||
knowledge of the CeCILL license and that you accept its terms.
|
||||
|
||||
ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
|
||||
*/
|
||||
|
||||
/** @page webpages Related webpages
|
||||
|
||||
- ParadisEO <a href="http://paradiseo.gforge.inria.fr">homepage</a>
|
||||
- INRIA GForge <a href="http://gforge.inria.fr/projects/paradiseo/">project page</a>
|
||||
- Fore any questions, please contact paradiseo-help@lists.gforge.inria.fr
|
||||
*/
|
||||
237
branches/contribution/branches/MOLS/doc/moeo.doxyfile.cmake
Normal file
237
branches/contribution/branches/MOLS/doc/moeo.doxyfile.cmake
Normal file
|
|
@ -0,0 +1,237 @@
|
|||
# Doxyfile 1.5.1
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = @PACKAGE_NAME@
|
||||
PROJECT_NUMBER = @PACKAGE_VERSION@
|
||||
OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/doc
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = YES
|
||||
HIDE_UNDOC_CLASSES = YES
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = NO
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = NO
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = YES
|
||||
WARNINGS = NO
|
||||
WARN_IF_UNDOCUMENTED = NO
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = @CMAKE_SOURCE_DIR@
|
||||
FILE_PATTERNS = *.cpp \
|
||||
*.h \
|
||||
NEWS README
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 3
|
||||
IGNORE_PREFIX = moeo
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = YES
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = YES
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = YES
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES = @EO_BIN_DIR@/doc/eo.doxytag=http://eodev.sourceforge.net/eo/doc/html
|
||||
GENERATE_TAGFILE = @CMAKE_BINARY_DIR@/doc/moeo.doxytag
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = YES
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* <moeoCombinedLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOCOMBINEDLS_H_
|
||||
#define MOEOCOMBINEDLS_H_
|
||||
|
||||
#include <vector>
|
||||
#include <algo/moeoLS.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
/**
|
||||
* This class allows to embed a set of local searches that are sequentially applied,
|
||||
* and so working and updating the same archive of non-dominated solutions.
|
||||
*/
|
||||
template < class MOEOT, class Type >
|
||||
class moeoCombinedLS : public moeoLS < MOEOT, Type >
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _first_mols the first multi-objective local search to add
|
||||
*/
|
||||
moeoCombinedLS(moeoLS < MOEOT, Type > & _first_mols)
|
||||
{
|
||||
combinedLS.push_back (& _first_mols);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a new local search to combine
|
||||
* @param _mols the multi-objective local search to add
|
||||
*/
|
||||
void add(moeoLS < MOEOT, Type > & _mols)
|
||||
{
|
||||
combinedLS.push_back(& _mols);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gives a new solution in order to explore the neigborhood.
|
||||
* The new non-dominated solutions are added to the archive
|
||||
* @param _type the object to apply the local search to
|
||||
* @param _arch the archive of non-dominated solutions
|
||||
*/
|
||||
void operator () (Type _type, moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
for (unsigned int i=0; i<combinedLS.size(); i++)
|
||||
combinedLS[i] -> operator()(_type, _arch);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the vector that contains the combined LS */
|
||||
std::vector< moeoLS < MOEOT, Type > * > combinedLS;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOCOMBINEDLS_H_*/
|
||||
101
branches/contribution/branches/MOLS/src/IBMOLS/moeoHybridLS.h
Normal file
101
branches/contribution/branches/MOLS/src/IBMOLS/moeoHybridLS.h
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* <moeoHybridLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOHYBRIDLS_H_
|
||||
#define MOEOHYBRIDLS_H_
|
||||
|
||||
#include <eoContinue.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoSelect.h>
|
||||
#include <utils/eoUpdater.h>
|
||||
#include <algo/moeoLS.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
/**
|
||||
* This class allows to apply a multi-objective local search to a number of selected individuals contained in the archive
|
||||
* at every generation until a stopping criteria is verified.
|
||||
*/
|
||||
template < class MOEOT >
|
||||
class moeoHybridLS : public eoUpdater
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _term stopping criteria
|
||||
* @param _select selector
|
||||
* @param _mols a multi-objective local search
|
||||
* @param _arch the archive
|
||||
*/
|
||||
moeoHybridLS (eoContinue < MOEOT > & _term, eoSelect < MOEOT > & _select, moeoLS < MOEOT, MOEOT > & _mols, moeoArchive < MOEOT > & _arch) :
|
||||
term(_term), select(_select), mols(_mols), arch(_arch)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Applies the multi-objective local search to selected individuals contained in the archive if the stopping criteria is not verified
|
||||
*/
|
||||
void operator () ()
|
||||
{
|
||||
if (! term (arch))
|
||||
{
|
||||
// selection of solutions
|
||||
eoPop < MOEOT > selectedSolutions;
|
||||
select(arch, selectedSolutions);
|
||||
// apply the local search to every selected solution
|
||||
for (unsigned int i=0; i<selectedSolutions.size(); i++)
|
||||
{
|
||||
mols(selectedSolutions[i], arch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** stopping criteria */
|
||||
eoContinue < MOEOT > & term;
|
||||
/** selector */
|
||||
eoSelect < MOEOT > & select;
|
||||
/** multi-objective local search */
|
||||
moeoLS < MOEOT, MOEOT > & mols;
|
||||
/** archive */
|
||||
moeoArchive < MOEOT > & arch;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOHYBRIDLS_H_*/
|
||||
523
branches/contribution/branches/MOLS/src/IBMOLS/moeoIBMOLS.h
Executable file
523
branches/contribution/branches/MOLS/src/IBMOLS/moeoIBMOLS.h
Executable file
|
|
@ -0,0 +1,523 @@
|
|||
/*
|
||||
* <moeoIBMOLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOIBMOLS_H_
|
||||
#define MOEOIBMOLS_H_
|
||||
|
||||
#include <math.h>
|
||||
#include <eoContinue.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoPop.h>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moeoPopLS.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
#include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
/**
|
||||
* Indicator-Based Multi-Objective Local Search (IBMOLS) as described in
|
||||
* Basseur M., Burke K. : "Indicator-Based Multi-Objective Local Search" (2007).
|
||||
*/
|
||||
template < class MOEOT, class Move >
|
||||
class moeoIBMOLS : public moeoPopLS < Move>
|
||||
{
|
||||
public:
|
||||
|
||||
/** The type of objective vector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Ctor.
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove the neighborhood explorer
|
||||
* @param _eval the full evaluation
|
||||
* @param _moveIncrEval the incremental evaluation
|
||||
* @param _fitnessAssignment the fitness assignment strategy
|
||||
* @param _continuator the stopping criteria
|
||||
* @param _arch the archive
|
||||
*/
|
||||
moeoIBMOLS(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moMoveIncrEval < Move , ObjectiveVector > & _moveIncrEval,
|
||||
moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & _fitnessAssignment,
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
moeoArchive < MOEOT > & _arch
|
||||
) :
|
||||
moveInit(_moveInit),
|
||||
nextMove(_nextMove),
|
||||
eval(_eval),
|
||||
moveIncrEval(_moveIncrEval),
|
||||
fitnessAssignment (_fitnessAssignment),
|
||||
continuator (_continuator),
|
||||
arch(_arch)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Apply the local search until a local archive does not change or
|
||||
* another stopping criteria is met and update the archive _arch with new non-dominated solutions.
|
||||
* @param _pop the initial population
|
||||
*/
|
||||
void operator() (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// evaluation of the objective values
|
||||
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
eval(_pop[i]);
|
||||
}
|
||||
|
||||
// fitness assignment for the whole population
|
||||
fitnessAssignment(_pop);
|
||||
// creation of a local archive
|
||||
moeoUnboundedArchive < MOEOT > archive;
|
||||
// creation of another local archive (for the stopping criteria)
|
||||
moeoUnboundedArchive < MOEOT > previousArchive;
|
||||
// update the archive with the initial population
|
||||
archive(_pop);
|
||||
do
|
||||
{
|
||||
previousArchive(archive);
|
||||
oneStep(_pop);
|
||||
archive(_pop);
|
||||
}
|
||||
while ( (! archive.equals(previousArchive)) && (continuator(arch)) );
|
||||
arch(archive);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the full evaluation */
|
||||
eoEvalFunc < MOEOT > & eval;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & moveIncrEval;
|
||||
/** the fitness assignment strategy */
|
||||
moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & fitnessAssignment;
|
||||
/** the stopping criteria */
|
||||
eoContinue < MOEOT > & continuator;
|
||||
/** archive */
|
||||
moeoArchive < MOEOT > & arch;
|
||||
|
||||
/**
|
||||
* Apply one step of the local search to the population _pop
|
||||
* @param _pop the population
|
||||
*/
|
||||
void oneStep (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// the move
|
||||
Move move;
|
||||
// the objective vector and the fitness of the current solution
|
||||
ObjectiveVector x_objVec;
|
||||
double x_fitness;
|
||||
// the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
|
||||
int worst_idx;
|
||||
ObjectiveVector worst_objVec;
|
||||
double worst_fitness;
|
||||
////////////////////////////////////////////
|
||||
// the indexes and the objective vectors of the extreme non-dominated points
|
||||
int ext_0_idx, ext_1_idx;
|
||||
ObjectiveVector ext_0_objVec, ext_1_objVec;
|
||||
unsigned int ind;
|
||||
////////////////////////////////////////////
|
||||
// the index of the current solution to be explored
|
||||
unsigned int i=0;
|
||||
// initilization of the move for the first individual
|
||||
moveInit(move, _pop[i]);
|
||||
while (i<_pop.size() && continuator(_pop))
|
||||
{
|
||||
// x = one neigbour of pop[i]
|
||||
// evaluate x in the objective space
|
||||
x_objVec = moveIncrEval(move, _pop[i]);
|
||||
// update every fitness values to take x into account and compute the fitness of x
|
||||
x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// extreme solutions (min only!)
|
||||
// ext_0_idx = -1;
|
||||
// ext_0_objVec = x_objVec;
|
||||
// ext_1_idx = -1;
|
||||
// ext_1_objVec = x_objVec;
|
||||
// for (unsigned int k=0; k<_pop.size(); k++)
|
||||
// {
|
||||
// // ext_0
|
||||
// if (_pop[k].objectiveVector()[0] < ext_0_objVec[0])
|
||||
// {
|
||||
// ext_0_idx = k;
|
||||
// ext_0_objVec = _pop[k].objectiveVector();
|
||||
// }
|
||||
// else if ( (_pop[k].objectiveVector()[0] == ext_0_objVec[0]) && (_pop[k].objectiveVector()[1] < ext_0_objVec[1]) )
|
||||
// {
|
||||
// ext_0_idx = k;
|
||||
// ext_0_objVec = _pop[k].objectiveVector();
|
||||
// }
|
||||
// // ext_1
|
||||
// else if (_pop[k].objectiveVector()[1] < ext_1_objVec[1])
|
||||
// {
|
||||
// ext_1_idx = k;
|
||||
// ext_1_objVec = _pop[k].objectiveVector();
|
||||
// }
|
||||
// else if ( (_pop[k].objectiveVector()[1] == ext_1_objVec[1]) && (_pop[k].objectiveVector()[0] < ext_1_objVec[0]) )
|
||||
// {
|
||||
// ext_1_idx = k;
|
||||
// ext_1_objVec = _pop[k].objectiveVector();
|
||||
// }
|
||||
// }
|
||||
// // worst init
|
||||
// if (ext_0_idx == -1)
|
||||
// {
|
||||
// ind = 0;
|
||||
// while (ind == ext_1_idx)
|
||||
// {
|
||||
// ind++;
|
||||
// }
|
||||
// worst_idx = ind;
|
||||
// worst_objVec = _pop[ind].objectiveVector();
|
||||
// worst_fitness = _pop[ind].fitness();
|
||||
// }
|
||||
// else if (ext_1_idx == -1)
|
||||
// {
|
||||
// ind = 0;
|
||||
// while (ind == ext_0_idx)
|
||||
// {
|
||||
// ind++;
|
||||
// }
|
||||
// worst_idx = ind;
|
||||
// worst_objVec = _pop[ind].objectiveVector();
|
||||
// worst_fitness = _pop[ind].fitness();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// worst_idx = -1;
|
||||
// worst_objVec = x_objVec;
|
||||
// worst_fitness = x_fitness;
|
||||
// }
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// who is the worst ?
|
||||
for (unsigned int j=0; j<_pop.size(); j++)
|
||||
{
|
||||
if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
|
||||
{
|
||||
if (_pop[j].fitness() < worst_fitness)
|
||||
{
|
||||
worst_idx = j;
|
||||
worst_objVec = _pop[j].objectiveVector();
|
||||
worst_fitness = _pop[j].fitness();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is the new one
|
||||
if (worst_idx == -1)
|
||||
{
|
||||
// if all its neighbours have been explored,
|
||||
// let's explore the neighborhoud of the next individual
|
||||
if (! nextMove(move, _pop[i]))
|
||||
{
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is located before _pop[i]
|
||||
else if (worst_idx <= i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[worst_idx]
|
||||
_pop[worst_idx] = _pop[i];
|
||||
move(_pop[worst_idx]);
|
||||
_pop[worst_idx].objectiveVector(x_objVec);
|
||||
_pop[worst_idx].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the next individual
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// if the worst solution is located after _pop[i]
|
||||
else if (worst_idx > i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
|
||||
_pop[worst_idx] = _pop[i+1];
|
||||
_pop[i+1] = _pop[i];
|
||||
move(_pop[i+1]);
|
||||
_pop[i+1].objectiveVector(x_objVec);
|
||||
_pop[i+1].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the individual _pop[i+2]
|
||||
i += 2;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// update fitness values
|
||||
fitnessAssignment.updateByDeleting(_pop, worst_objVec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// INUTILE !!!!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Apply one step of the local search to the population _pop
|
||||
* @param _pop the population
|
||||
*/
|
||||
void new_oneStep (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// the move
|
||||
Move move;
|
||||
// the objective vector and the fitness of the current solution
|
||||
ObjectiveVector x_objVec;
|
||||
double x_fitness;
|
||||
// the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
|
||||
int worst_idx;
|
||||
ObjectiveVector worst_objVec;
|
||||
double worst_fitness;
|
||||
////////////////////////////////////////////
|
||||
// the index of the extreme non-dominated points
|
||||
int ext_0_idx, ext_1_idx;
|
||||
unsigned int ind;
|
||||
////////////////////////////////////////////
|
||||
// the index current of the current solution to be explored
|
||||
unsigned int i=0;
|
||||
// initilization of the move for the first individual
|
||||
moveInit(move, _pop[i]);
|
||||
while (i<_pop.size() && continuator(_pop))
|
||||
{
|
||||
// x = one neigbour of pop[i]
|
||||
// evaluate x in the objective space
|
||||
x_objVec = moveIncrEval(move, _pop[i]);
|
||||
// update every fitness values to take x into account and compute the fitness of x
|
||||
x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// extremes solutions
|
||||
OneObjectiveComparator comp0(0);
|
||||
ext_0_idx = std::min_element(_pop.begin(), _pop.end(), comp0) - _pop.begin();
|
||||
OneObjectiveComparator comp1(1);
|
||||
ext_1_idx = std::min_element(_pop.begin(), _pop.end(), comp1) - _pop.begin();
|
||||
// new = extreme ?
|
||||
if (x_objVec[0] < _pop[ext_0_idx].objectiveVector()[0])
|
||||
{
|
||||
ext_0_idx = -1;
|
||||
}
|
||||
else if ( (x_objVec[0] == _pop[ext_0_idx].objectiveVector()[0]) && (x_objVec[1] < _pop[ext_0_idx].objectiveVector()[1]) )
|
||||
{
|
||||
ext_0_idx = -1;
|
||||
}
|
||||
else if (x_objVec[1] < _pop[ext_1_idx].objectiveVector()[1])
|
||||
{
|
||||
ext_1_idx = -1;
|
||||
}
|
||||
else if ( (x_objVec[1] == _pop[ext_1_idx].objectiveVector()[1]) && (x_objVec[0] < _pop[ext_1_idx].objectiveVector()[0]) )
|
||||
{
|
||||
ext_1_idx = -1;
|
||||
}
|
||||
// worst init
|
||||
if (ext_0_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_1_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else if (ext_1_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_0_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else
|
||||
{
|
||||
worst_idx = -1;
|
||||
worst_objVec = x_objVec;
|
||||
worst_fitness = x_fitness;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// who is the worst ?
|
||||
for (unsigned int j=0; j<_pop.size(); j++)
|
||||
{
|
||||
if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
|
||||
{
|
||||
if (_pop[j].fitness() < worst_fitness)
|
||||
{
|
||||
worst_idx = j;
|
||||
worst_objVec = _pop[j].objectiveVector();
|
||||
worst_fitness = _pop[j].fitness();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is the new one
|
||||
if (worst_idx == -1)
|
||||
{
|
||||
// if all its neighbours have been explored,
|
||||
// let's explore the neighborhoud of the next individual
|
||||
if (! nextMove(move, _pop[i]))
|
||||
{
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is located before _pop[i]
|
||||
else if (worst_idx <= i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[worst_idx]
|
||||
_pop[worst_idx] = _pop[i];
|
||||
move(_pop[worst_idx]);
|
||||
_pop[worst_idx].objectiveVector(x_objVec);
|
||||
_pop[worst_idx].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the next individual
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// if the worst solution is located after _pop[i]
|
||||
else if (worst_idx > i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
|
||||
_pop[worst_idx] = _pop[i+1];
|
||||
_pop[i+1] = _pop[i];
|
||||
move(_pop[i+1]);
|
||||
_pop[i+1].objectiveVector(x_objVec);
|
||||
_pop[i+1].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the individual _pop[i+2]
|
||||
i += 2;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// update fitness values
|
||||
fitnessAssignment.updateByDeleting(_pop, worst_objVec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
class OneObjectiveComparator : public moeoComparator < MOEOT >
|
||||
{
|
||||
public:
|
||||
OneObjectiveComparator(unsigned int _obj) : obj(_obj)
|
||||
{
|
||||
if (obj > MOEOT::ObjectiveVector::nObjectives())
|
||||
{
|
||||
throw std::runtime_error("Problem with the index of objective in OneObjectiveComparator");
|
||||
}
|
||||
}
|
||||
const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
|
||||
{
|
||||
if (_moeo1.objectiveVector()[obj] < _moeo2.objectiveVector()[obj])
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (_moeo1.objectiveVector()[obj] == _moeo2.objectiveVector()[obj]) && (_moeo1.objectiveVector()[(obj+1)%2] < _moeo2.objectiveVector()[(obj+1)%2]);
|
||||
}
|
||||
}
|
||||
private:
|
||||
unsigned int obj;
|
||||
};
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOIBMOLS_H_*/
|
||||
519
branches/contribution/branches/MOLS/src/IBMOLS/moeoIBMOLSsave.h
Executable file
519
branches/contribution/branches/MOLS/src/IBMOLS/moeoIBMOLSsave.h
Executable file
|
|
@ -0,0 +1,519 @@
|
|||
/*
|
||||
* <moeoIBMOLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOIBMOLS_H_
|
||||
#define MOEOIBMOLS_H_
|
||||
|
||||
#include <math.h>
|
||||
#include <eoContinue.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoPop.h>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <algo/moeoLS.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
|
||||
#include <move/moeoMoveIncrEval.h>
|
||||
|
||||
/**
|
||||
* Indicator-Based Multi-Objective Local Search (IBMOLS) as described in
|
||||
* Basseur M., Burke K. : "Indicator-Based Multi-Objective Local Search" (2007).
|
||||
*/
|
||||
template < class MOEOT, class Move >
|
||||
class moeoIBMOLS : public moeoLS < MOEOT, eoPop < MOEOT > & >
|
||||
{
|
||||
public:
|
||||
|
||||
/** The type of objective vector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Ctor.
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove the neighborhood explorer
|
||||
* @param _eval the full evaluation
|
||||
* @param _moveIncrEval the incremental evaluation
|
||||
* @param _fitnessAssignment the fitness assignment strategy
|
||||
* @param _continuator the stopping criteria
|
||||
*/
|
||||
moeoIBMOLS(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moeoMoveIncrEval < Move > & _moveIncrEval,
|
||||
moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & _fitnessAssignment,
|
||||
eoContinue < MOEOT > & _continuator
|
||||
) :
|
||||
moveInit(_moveInit),
|
||||
nextMove(_nextMove),
|
||||
eval(_eval),
|
||||
moveIncrEval(_moveIncrEval),
|
||||
fitnessAssignment (_fitnessAssignment),
|
||||
continuator (_continuator)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Apply the local search until a local archive does not change or
|
||||
* another stopping criteria is met and update the archive _arch with new non-dominated solutions.
|
||||
* @param _pop the initial population
|
||||
* @param _arch the (updated) archive
|
||||
*/
|
||||
void operator() (eoPop < MOEOT > & _pop, moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
// evaluation of the objective values
|
||||
/*
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
eval(_pop[i]);
|
||||
}
|
||||
*/
|
||||
// fitness assignment for the whole population
|
||||
fitnessAssignment(_pop);
|
||||
// creation of a local archive
|
||||
moeoArchive < MOEOT > archive;
|
||||
// creation of another local archive (for the stopping criteria)
|
||||
moeoArchive < MOEOT > previousArchive;
|
||||
// update the archive with the initial population
|
||||
archive.update(_pop);
|
||||
do
|
||||
{
|
||||
previousArchive.update(archive);
|
||||
oneStep(_pop);
|
||||
archive.update(_pop);
|
||||
}
|
||||
while ( (! archive.equals(previousArchive)) && (continuator(_arch)) );
|
||||
_arch.update(archive);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the full evaluation */
|
||||
eoEvalFunc < MOEOT > & eval;
|
||||
/** the incremental evaluation */
|
||||
moeoMoveIncrEval < Move > & moveIncrEval;
|
||||
/** the fitness assignment strategy */
|
||||
moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & fitnessAssignment;
|
||||
/** the stopping criteria */
|
||||
eoContinue < MOEOT > & continuator;
|
||||
|
||||
|
||||
/**
|
||||
* Apply one step of the local search to the population _pop
|
||||
* @param _pop the population
|
||||
*/
|
||||
void oneStep (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// the move
|
||||
Move move;
|
||||
// the objective vector and the fitness of the current solution
|
||||
ObjectiveVector x_objVec;
|
||||
double x_fitness;
|
||||
// the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
|
||||
int worst_idx;
|
||||
ObjectiveVector worst_objVec;
|
||||
double worst_fitness;
|
||||
////////////////////////////////////////////
|
||||
// the indexes and the objective vectors of the extreme non-dominated points
|
||||
int ext_0_idx, ext_1_idx;
|
||||
ObjectiveVector ext_0_objVec, ext_1_objVec;
|
||||
unsigned int ind;
|
||||
////////////////////////////////////////////
|
||||
// the index of the current solution to be explored
|
||||
unsigned int i=0;
|
||||
// initilization of the move for the first individual
|
||||
moveInit(move, _pop[i]);
|
||||
while (i<_pop.size() && continuator(_pop))
|
||||
{
|
||||
// x = one neigbour of pop[i]
|
||||
// evaluate x in the objective space
|
||||
x_objVec = moveIncrEval(move, _pop[i]);
|
||||
// update every fitness values to take x into account and compute the fitness of x
|
||||
x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// extreme solutions (min only!)
|
||||
ext_0_idx = -1;
|
||||
ext_0_objVec = x_objVec;
|
||||
ext_1_idx = -1;
|
||||
ext_1_objVec = x_objVec;
|
||||
for (unsigned int k=0; k<_pop.size(); k++)
|
||||
{
|
||||
// ext_0
|
||||
if (_pop[k].objectiveVector()[0] < ext_0_objVec[0])
|
||||
{
|
||||
ext_0_idx = k;
|
||||
ext_0_objVec = _pop[k].objectiveVector();
|
||||
}
|
||||
else if ( (_pop[k].objectiveVector()[0] == ext_0_objVec[0]) && (_pop[k].objectiveVector()[1] < ext_0_objVec[1]) )
|
||||
{
|
||||
ext_0_idx = k;
|
||||
ext_0_objVec = _pop[k].objectiveVector();
|
||||
}
|
||||
// ext_1
|
||||
else if (_pop[k].objectiveVector()[1] < ext_1_objVec[1])
|
||||
{
|
||||
ext_1_idx = k;
|
||||
ext_1_objVec = _pop[k].objectiveVector();
|
||||
}
|
||||
else if ( (_pop[k].objectiveVector()[1] == ext_1_objVec[1]) && (_pop[k].objectiveVector()[0] < ext_1_objVec[0]) )
|
||||
{
|
||||
ext_1_idx = k;
|
||||
ext_1_objVec = _pop[k].objectiveVector();
|
||||
}
|
||||
}
|
||||
// worst init
|
||||
if (ext_0_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_1_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else if (ext_1_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_0_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else
|
||||
{
|
||||
worst_idx = -1;
|
||||
worst_objVec = x_objVec;
|
||||
worst_fitness = x_fitness;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// who is the worst ?
|
||||
for (unsigned int j=0; j<_pop.size(); j++)
|
||||
{
|
||||
if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
|
||||
{
|
||||
if (_pop[j].fitness() < worst_fitness)
|
||||
{
|
||||
worst_idx = j;
|
||||
worst_objVec = _pop[j].objectiveVector();
|
||||
worst_fitness = _pop[j].fitness();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is the new one
|
||||
if (worst_idx == -1)
|
||||
{
|
||||
// if all its neighbours have been explored,
|
||||
// let's explore the neighborhoud of the next individual
|
||||
if (! nextMove(move, _pop[i]))
|
||||
{
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is located before _pop[i]
|
||||
else if (worst_idx <= i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[worst_idx]
|
||||
_pop[worst_idx] = _pop[i];
|
||||
move(_pop[worst_idx]);
|
||||
_pop[worst_idx].objectiveVector(x_objVec);
|
||||
_pop[worst_idx].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the next individual
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// if the worst solution is located after _pop[i]
|
||||
else if (worst_idx > i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
|
||||
_pop[worst_idx] = _pop[i+1];
|
||||
_pop[i+1] = _pop[i];
|
||||
move(_pop[i+1]);
|
||||
_pop[i+1].objectiveVector(x_objVec);
|
||||
_pop[i+1].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the individual _pop[i+2]
|
||||
i += 2;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// update fitness values
|
||||
fitnessAssignment.updateByDeleting(_pop, worst_objVec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// INUTILE !!!!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Apply one step of the local search to the population _pop
|
||||
* @param _pop the population
|
||||
*/
|
||||
void new_oneStep (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// the move
|
||||
Move move;
|
||||
// the objective vector and the fitness of the current solution
|
||||
ObjectiveVector x_objVec;
|
||||
double x_fitness;
|
||||
// the index, the objective vector and the fitness of the worst solution in the population (-1 implies that the worst is the newly created one)
|
||||
int worst_idx;
|
||||
ObjectiveVector worst_objVec;
|
||||
double worst_fitness;
|
||||
////////////////////////////////////////////
|
||||
// the index of the extreme non-dominated points
|
||||
int ext_0_idx, ext_1_idx;
|
||||
unsigned int ind;
|
||||
////////////////////////////////////////////
|
||||
// the index current of the current solution to be explored
|
||||
unsigned int i=0;
|
||||
// initilization of the move for the first individual
|
||||
moveInit(move, _pop[i]);
|
||||
while (i<_pop.size() && continuator(_pop))
|
||||
{
|
||||
// x = one neigbour of pop[i]
|
||||
// evaluate x in the objective space
|
||||
x_objVec = moveIncrEval(move, _pop[i]);
|
||||
// update every fitness values to take x into account and compute the fitness of x
|
||||
x_fitness = fitnessAssignment.updateByAdding(_pop, x_objVec);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// extremes solutions
|
||||
OneObjectiveComparator comp0(0);
|
||||
ext_0_idx = std::min_element(_pop.begin(), _pop.end(), comp0) - _pop.begin();
|
||||
OneObjectiveComparator comp1(1);
|
||||
ext_1_idx = std::min_element(_pop.begin(), _pop.end(), comp1) - _pop.begin();
|
||||
// new = extreme ?
|
||||
if (x_objVec[0] < _pop[ext_0_idx].objectiveVector()[0])
|
||||
{
|
||||
ext_0_idx = -1;
|
||||
}
|
||||
else if ( (x_objVec[0] == _pop[ext_0_idx].objectiveVector()[0]) && (x_objVec[1] < _pop[ext_0_idx].objectiveVector()[1]) )
|
||||
{
|
||||
ext_0_idx = -1;
|
||||
}
|
||||
else if (x_objVec[1] < _pop[ext_1_idx].objectiveVector()[1])
|
||||
{
|
||||
ext_1_idx = -1;
|
||||
}
|
||||
else if ( (x_objVec[1] == _pop[ext_1_idx].objectiveVector()[1]) && (x_objVec[0] < _pop[ext_1_idx].objectiveVector()[0]) )
|
||||
{
|
||||
ext_1_idx = -1;
|
||||
}
|
||||
// worst init
|
||||
if (ext_0_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_1_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else if (ext_1_idx == -1)
|
||||
{
|
||||
ind = 0;
|
||||
while (ind == ext_0_idx)
|
||||
{
|
||||
ind++;
|
||||
}
|
||||
worst_idx = ind;
|
||||
worst_objVec = _pop[ind].objectiveVector();
|
||||
worst_fitness = _pop[ind].fitness();
|
||||
}
|
||||
else
|
||||
{
|
||||
worst_idx = -1;
|
||||
worst_objVec = x_objVec;
|
||||
worst_fitness = x_fitness;
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// who is the worst ?
|
||||
for (unsigned int j=0; j<_pop.size(); j++)
|
||||
{
|
||||
if ( (j!=ext_0_idx) && (j!=ext_1_idx) )
|
||||
{
|
||||
if (_pop[j].fitness() < worst_fitness)
|
||||
{
|
||||
worst_idx = j;
|
||||
worst_objVec = _pop[j].objectiveVector();
|
||||
worst_fitness = _pop[j].fitness();
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is the new one
|
||||
if (worst_idx == -1)
|
||||
{
|
||||
// if all its neighbours have been explored,
|
||||
// let's explore the neighborhoud of the next individual
|
||||
if (! nextMove(move, _pop[i]))
|
||||
{
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if the worst solution is located before _pop[i]
|
||||
else if (worst_idx <= i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[worst_idx]
|
||||
_pop[worst_idx] = _pop[i];
|
||||
move(_pop[worst_idx]);
|
||||
_pop[worst_idx].objectiveVector(x_objVec);
|
||||
_pop[worst_idx].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the next individual
|
||||
i++;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// if the worst solution is located after _pop[i]
|
||||
else if (worst_idx > i)
|
||||
{
|
||||
// the new solution takes place insteed of _pop[i+1] and _pop[worst_idx] is deleted
|
||||
_pop[worst_idx] = _pop[i+1];
|
||||
_pop[i+1] = _pop[i];
|
||||
move(_pop[i+1]);
|
||||
_pop[i+1].objectiveVector(x_objVec);
|
||||
_pop[i+1].fitness(x_fitness);
|
||||
// let's explore the neighborhoud of the individual _pop[i+2]
|
||||
i += 2;
|
||||
if (i<_pop.size())
|
||||
{
|
||||
// initilization of the move for the next individual
|
||||
moveInit(move, _pop[i]);
|
||||
}
|
||||
}
|
||||
// update fitness values
|
||||
fitnessAssignment.updateByDeleting(_pop, worst_objVec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
class OneObjectiveComparator : public moeoComparator < MOEOT >
|
||||
{
|
||||
public:
|
||||
OneObjectiveComparator(unsigned int _obj) : obj(_obj)
|
||||
{
|
||||
if (obj > MOEOT::ObjectiveVector::nObjectives())
|
||||
{
|
||||
throw std::runtime_error("Problem with the index of objective in OneObjectiveComparator");
|
||||
}
|
||||
}
|
||||
const bool operator()(const MOEOT & _moeo1, const MOEOT & _moeo2)
|
||||
{
|
||||
if (_moeo1.objectiveVector()[obj] < _moeo2.objectiveVector()[obj])
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (_moeo1.objectiveVector()[obj] == _moeo2.objectiveVector()[obj]) && (_moeo1.objectiveVector()[(obj+1)%2] < _moeo2.objectiveVector()[(obj+1)%2]);
|
||||
}
|
||||
}
|
||||
private:
|
||||
unsigned int obj;
|
||||
};
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOIBMOLS_H_*/
|
||||
246
branches/contribution/branches/MOLS/src/IBMOLS/moeoIteratedIBMOLS.h
Executable file
246
branches/contribution/branches/MOLS/src/IBMOLS/moeoIteratedIBMOLS.h
Executable file
|
|
@ -0,0 +1,246 @@
|
|||
/*
|
||||
* <moeoIteratedIBMOLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOITERATEDIBMOLS_H_
|
||||
#define MOEOITERATEDIBMOLS_H_
|
||||
|
||||
#include <eoContinue.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoOp.h>
|
||||
#include <eoPop.h>
|
||||
#include <utils/rnd_generators.h>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moeoIBMOLS.h>
|
||||
#include <moeoPopLS.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <fitness/moeoBinaryIndicatorBasedFitnessAssignment.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
|
||||
|
||||
//#include <rsCrossQuad.h>
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Iterated version of IBMOLS as described in
|
||||
* Basseur M., Burke K. : "Indicator-Based Multi-Objective Local Search" (2007).
|
||||
*/
|
||||
template < class MOEOT, class Move >
|
||||
class moeoIteratedIBMOLS : public moeoPopLS < Move>
|
||||
{
|
||||
public:
|
||||
|
||||
/** The type of objective vector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Ctor.
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove the neighborhood explorer
|
||||
* @param _eval the full evaluation
|
||||
* @param _moveIncrEval the incremental evaluation
|
||||
* @param _fitnessAssignment the fitness assignment strategy
|
||||
* @param _continuator the stopping criteria
|
||||
* @param _arch the archive
|
||||
* @param _monOp the monary operator
|
||||
* @param _randomMonOp the random monary operator (or random initializer)
|
||||
* @param _nNoiseIterations the number of iterations to apply the random noise
|
||||
*/
|
||||
moeoIteratedIBMOLS(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _moveIncrEval,
|
||||
moeoBinaryIndicatorBasedFitnessAssignment < MOEOT > & _fitnessAssignment,
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
moeoArchive < MOEOT > & _arch,
|
||||
eoMonOp < MOEOT > & _monOp,
|
||||
eoMonOp < MOEOT > & _randomMonOp,
|
||||
unsigned int _nNoiseIterations=1
|
||||
) :
|
||||
ibmols(_moveInit, _nextMove, _eval, _moveIncrEval, _fitnessAssignment, _continuator, _arch),
|
||||
eval(_eval),
|
||||
continuator(_continuator),
|
||||
arch(_arch),
|
||||
monOp(_monOp),
|
||||
randomMonOp(_randomMonOp),
|
||||
nNoiseIterations(_nNoiseIterations)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Apply the local search iteratively until the stopping criteria is met.
|
||||
* @param _pop the initial population
|
||||
*/
|
||||
void operator() (eoPop < MOEOT > & _pop)
|
||||
{
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
eval(_pop[i]);
|
||||
}
|
||||
|
||||
arch(_pop);
|
||||
ibmols(_pop);
|
||||
while (continuator(arch))
|
||||
{
|
||||
// generate new solutions from the archive
|
||||
generateNewSolutions(_pop);
|
||||
// apply the local search (the global archive is updated in the sub-function)
|
||||
ibmols(_pop);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the local search to iterate */
|
||||
moeoIBMOLS < MOEOT, Move > ibmols;
|
||||
/** the full evaluation */
|
||||
eoEvalFunc < MOEOT > & eval;
|
||||
/** the stopping criteria */
|
||||
eoContinue < MOEOT > & continuator;
|
||||
/** archive */
|
||||
moeoArchive < MOEOT > & arch;
|
||||
/** the monary operator */
|
||||
eoMonOp < MOEOT > & monOp;
|
||||
/** the random monary operator (or random initializer) */
|
||||
eoMonOp < MOEOT > & randomMonOp;
|
||||
/** the number of iterations to apply the random noise */
|
||||
unsigned int nNoiseIterations;
|
||||
|
||||
|
||||
/**
|
||||
* Creates new population randomly initialized and/or initialized from the archive _arch.
|
||||
* @param _pop the output population
|
||||
*/
|
||||
void generateNewSolutions(eoPop < MOEOT > & _pop)
|
||||
{
|
||||
// shuffle vector for the random selection of individuals
|
||||
std::vector<unsigned int> shuffle;
|
||||
shuffle.resize(std::max(_pop.size(), arch.size()));
|
||||
// init shuffle
|
||||
for (unsigned int i=0; i<shuffle.size(); i++)
|
||||
{
|
||||
shuffle[i] = i;
|
||||
}
|
||||
// randomize shuffle
|
||||
UF_random_generator <unsigned int> gen;
|
||||
std::random_shuffle(shuffle.begin(), shuffle.end(), gen);
|
||||
// start the creation of new solutions
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
if (shuffle[i] < arch.size()) // the given archive contains the individual i
|
||||
{
|
||||
// add it to the resulting pop
|
||||
_pop[i] = arch[shuffle[i]];
|
||||
// apply noise
|
||||
for (unsigned int j=0; j<nNoiseIterations; j++)
|
||||
{
|
||||
monOp(_pop[i]);
|
||||
}
|
||||
}
|
||||
else // a random solution needs to be added
|
||||
{
|
||||
// random initialization
|
||||
randomMonOp(_pop[i]);
|
||||
}
|
||||
// evaluation of the new individual
|
||||
_pop[i].invalidate();
|
||||
eval(_pop[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// A DEVELOPPER RAPIDEMENT POUR TESTER AVEC CROSSOVER //
|
||||
/*
|
||||
void generateNewSolutions2(eoPop < MOEOT > & _pop, const moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
// here, we must have a QuadOp !
|
||||
//eoQuadOp < MOEOT > quadOp;
|
||||
rsCrossQuad quadOp;
|
||||
// shuffle vector for the random selection of individuals
|
||||
vector<unsigned int> shuffle;
|
||||
shuffle.resize(_arch.size());
|
||||
// init shuffle
|
||||
for (unsigned int i=0; i<shuffle.size(); i++)
|
||||
{
|
||||
shuffle[i] = i;
|
||||
}
|
||||
// randomize shuffle
|
||||
UF_random_generator <unsigned int int> gen;
|
||||
std::random_shuffle(shuffle.begin(), shuffle.end(), gen);
|
||||
// start the creation of new solutions
|
||||
unsigned int i=0;
|
||||
while ((i<_pop.size()-1) && (i<_arch.size()-1))
|
||||
{
|
||||
_pop[i] = _arch[shuffle[i]];
|
||||
_pop[i+1] = _arch[shuffle[i+1]];
|
||||
// then, apply the operator nIterationsNoise times
|
||||
for (unsigned int j=0; j<nNoiseIterations; j++)
|
||||
{
|
||||
quadOp(_pop[i], _pop[i+1]);
|
||||
}
|
||||
eval(_pop[i]);
|
||||
eval(_pop[i+1]);
|
||||
i=i+2;
|
||||
}
|
||||
// do we have to add some random solutions ?
|
||||
while (i<_pop.size())
|
||||
{
|
||||
randomMonOp(_pop[i]);
|
||||
eval(_pop[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOITERATEDIBMOLS_H_*/
|
||||
53
branches/contribution/branches/MOLS/src/IBMOLS/moeoLS.h
Normal file
53
branches/contribution/branches/MOLS/src/IBMOLS/moeoLS.h
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* <moeoLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOLS_H_
|
||||
#define MOEOLS_H_
|
||||
|
||||
#include <eoFunctor.h>
|
||||
#include <algo/moeoAlgo.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
/**
|
||||
* Abstract class for local searches applied to multi-objective optimization.
|
||||
* Starting from a Type (i.e.: an individual, a pop, an archive...), it produces a set of new non-dominated solutions.
|
||||
*/
|
||||
template < class MOEOT, class Type >
|
||||
class moeoLS: public moeoAlgo, public eoBF < Type, moeoArchive < MOEOT > &, void >
|
||||
{};
|
||||
|
||||
#endif /*MOEOLS_H_*/
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* <moeoMoveIncrEval.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
// -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
|
||||
|
||||
#ifndef _MOEOMOVEINCREVAL_H
|
||||
#define _MOEOMOVEINCREVAL_H
|
||||
|
||||
#include <eoFunctor.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoMoveIncrEval : public eoBF < const Move &, const typename Move::EOType &, typename Move::EOType::ObjectiveVector >
|
||||
{};
|
||||
|
||||
#endif
|
||||
51
branches/contribution/branches/MOLS/src/IBMOLS/moeoPopLS.h
Executable file
51
branches/contribution/branches/MOLS/src/IBMOLS/moeoPopLS.h
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* <moeoPopLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOPOPLS_H_
|
||||
#define MOEOPOPLS_H_
|
||||
|
||||
#include <algo/moeoPopAlgo.h>
|
||||
|
||||
/**
|
||||
* Abstract class for Population based multi-objective local search.
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPopLS : public moeoPopAlgo < typename Move::EOType >
|
||||
{};
|
||||
|
||||
#endif /*MOEOPOPLS_H_*/
|
||||
98
branches/contribution/branches/MOLS/src/eoTenTimeContinue.h
Executable file
98
branches/contribution/branches/MOLS/src/eoTenTimeContinue.h
Executable file
|
|
@ -0,0 +1,98 @@
|
|||
#ifndef _eoTenTimeContinue_h
|
||||
#define _eoTenTimeContinue_h
|
||||
|
||||
#include <time.h>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
#include <eoContinue.h>
|
||||
|
||||
template< class EOT>
|
||||
class eoTenTimeContinue: public eoContinue<EOT>
|
||||
{
|
||||
public:
|
||||
|
||||
eoTenTimeContinue(unsigned int _maxTime, std::string _fileName, moeoArchive<EOT> & _arch) :
|
||||
start(time(0)), maxTime(_maxTime), id(1), fileName(_fileName), arch(_arch) {}
|
||||
|
||||
|
||||
// _pop must be an archive
|
||||
virtual bool operator() (const eoPop<EOT> & _pop)
|
||||
{
|
||||
unsigned int diff = (unsigned int) difftime(time(0), start);
|
||||
if (diff >= (id * maxTime/10) )
|
||||
{
|
||||
time_t begin=time(0);
|
||||
save(_pop);
|
||||
id++;
|
||||
start= start - (time(0)-begin);
|
||||
//operator()(_pop);
|
||||
}
|
||||
if (diff >= maxTime)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
virtual std::string className(void) const
|
||||
{
|
||||
return "eoTenTimeContinue";
|
||||
}
|
||||
|
||||
|
||||
void readFrom (std :: istream & __is)
|
||||
{
|
||||
|
||||
__is >> start;
|
||||
}
|
||||
|
||||
|
||||
void printOn (std :: ostream & __os) const
|
||||
{
|
||||
|
||||
__os << start << ' ' << std :: endl;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
time_t start;
|
||||
unsigned int maxTime;
|
||||
unsigned int id;
|
||||
std::string fileName;
|
||||
moeoArchive<EOT> & arch;
|
||||
|
||||
|
||||
void save(const eoPop<EOT> & _pop)
|
||||
{
|
||||
// update the archive
|
||||
arch(_pop);
|
||||
// save the archive contents in a file
|
||||
std::string tmp = fileName;
|
||||
std::ostringstream os;
|
||||
os << id;
|
||||
tmp += '.';
|
||||
tmp += os.str();
|
||||
std::ofstream outfile(tmp.c_str());
|
||||
// std::cout << "save " << tmp << " - " << difftime(time(0), start) << std::endl;
|
||||
unsigned int nObj = EOT::ObjectiveVector::nObjectives();
|
||||
for (unsigned int i=0; i<arch.size(); i++)
|
||||
{
|
||||
for (unsigned int j=0; j<nObj; j++)
|
||||
{
|
||||
outfile << arch[i].objectiveVector()[j];
|
||||
if (j != nObj -1)
|
||||
{
|
||||
outfile << ' ';
|
||||
}
|
||||
}
|
||||
outfile << std::endl;
|
||||
}
|
||||
outfile.close();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
107
branches/contribution/branches/MOLS/src/moeoAllSolAllNeighborsExpl.h
Executable file
107
branches/contribution/branches/MOLS/src/moeoAllSolAllNeighborsExpl.h
Executable file
|
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
* <moeoAllSolAllNeighborsExpl.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOALLSOLALLNEIGHBORSEXPL_H
|
||||
#define _MOEOALLSOLALLNEIGHBORSEXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoAllSolAllNeighborsExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoAllSolAllNeighborsExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
Move move;
|
||||
ObjectiveVector objVec;
|
||||
for (unsigned int i=0; i<_src.size(); i++)
|
||||
{
|
||||
if (_src[i].flag() == 0)
|
||||
{
|
||||
moveInit(move, _src[i]);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src[i]);
|
||||
if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
{
|
||||
if (objVec != _src[i].objectiveVector())
|
||||
{
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
while (nextMove(move, _src[i]));
|
||||
_src[i].flag(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
/** comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOALLSOLALLNEIGHBORSEXPL_H_*/
|
||||
167
branches/contribution/branches/MOLS/src/moeoAllSolOneNeighborExpl.h
Executable file
167
branches/contribution/branches/MOLS/src/moeoAllSolOneNeighborExpl.h
Executable file
|
|
@ -0,0 +1,167 @@
|
|||
/*
|
||||
* <moeoAllSolOneNeighborExpl.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOALLSOLONENEIGHBOREXPL_H
|
||||
#define _MOEOALLSOLONENEIGHBOREXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
#include <queue>
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoAllSolOneNeighborExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoAllSolOneNeighborExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
|
||||
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
int id=0;
|
||||
for (unsigned int i=0; i<_src.size(); i++)
|
||||
{
|
||||
//solution without move
|
||||
if (_src[i].flag() == 0 )
|
||||
{
|
||||
//No move are available -> create a new Move
|
||||
if (availableMove.empty())
|
||||
{
|
||||
//create a new move
|
||||
Move newMove;
|
||||
//add it to moveVector
|
||||
moveVector.push_back(newMove);
|
||||
//get the moveVector size
|
||||
id = moveVector.size();
|
||||
//add a flag to _src
|
||||
_src[i].flag(-id);
|
||||
//Init the move
|
||||
moveInit(moveVector[id-1], _src[i]);
|
||||
// Apply move or not
|
||||
m(_src, _dest, i, moveVector[id-1]);
|
||||
//If it the last move set solution as visited (flag >0) and set the move as available
|
||||
if (!nextMove(moveVector[id-1], _src[i]))
|
||||
{
|
||||
_src[i].flag(1);
|
||||
availableMove.push(id-1);
|
||||
}
|
||||
}
|
||||
//A move is available -> get it
|
||||
else
|
||||
{
|
||||
//get the id of an available move
|
||||
id = availableMove.back();
|
||||
//remove it from available move
|
||||
availableMove.pop();
|
||||
//add a flag to _src
|
||||
_src[i].flag(-1 * (id+1));
|
||||
//Init the move
|
||||
moveInit(moveVector[id], _src[i]);
|
||||
// Apply move or not
|
||||
m(_src, _dest, i, moveVector[id]);
|
||||
if (!nextMove(moveVector[id], _src[i]))
|
||||
{
|
||||
_src[i].flag(1);
|
||||
availableMove.push(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
//solution which have already a move -> do next move
|
||||
else if (_src[i].flag() < 0)
|
||||
{
|
||||
id= (_src[i].flag() + 1) * -1;
|
||||
m(_src, _dest, i, moveVector[id]);
|
||||
if (!nextMove(moveVector[id], _src[i]))
|
||||
{
|
||||
_src[i].flag(1);
|
||||
availableMove.push(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void m(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest, unsigned int i, Move & move)
|
||||
{
|
||||
ObjectiveVector objVec = incrEval(move, _src[i]);
|
||||
// add the moved sol ?
|
||||
if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
{
|
||||
if (objVec != _src[i].objectiveVector())
|
||||
{
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** queue of available move */
|
||||
std::queue < unsigned int > availableMove;
|
||||
/** the move vector*/
|
||||
std::vector < Move > moveVector;
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
/** comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOALLSOLONENEIGHBOREXPL_H_*/
|
||||
226
branches/contribution/branches/MOLS/src/moeoNewArchive.h
Executable file
226
branches/contribution/branches/MOLS/src/moeoNewArchive.h
Executable file
|
|
@ -0,0 +1,226 @@
|
|||
/*
|
||||
* <moeoArchive.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEONEWARCHIVE_H_
|
||||
#define MOEONEWARCHIVE_H_
|
||||
|
||||
#include <comparator/moeoObjectiveVectorComparator.h>
|
||||
#include <comparator/moeoParetoObjectiveVectorComparator.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
template < class MOEOT >
|
||||
class moeoNewArchive : public moeoArchive < MOEOT >
|
||||
{
|
||||
public:
|
||||
|
||||
using moeoArchive < MOEOT > :: size;
|
||||
using moeoArchive < MOEOT > :: operator[];
|
||||
using moeoArchive < MOEOT > :: back;
|
||||
using moeoArchive < MOEOT > :: pop_back;
|
||||
|
||||
|
||||
/**
|
||||
* The type of an objective vector for a solution
|
||||
*/
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Default ctor.
|
||||
* The moeoObjectiveVectorComparator used to compare solutions is based on Pareto dominance
|
||||
*/
|
||||
moeoNewArchive() : moeoArchive < MOEOT >(), comparator(paretoComparator)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _comparator the moeoObjectiveVectorComparator used to compare solutions
|
||||
*/
|
||||
moeoNewArchive(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator) : eoPop < MOEOT >(), comparator(_comparator)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive dominates _objectiveVector according to the moeoObjectiveVectorComparator given in the constructor
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool dominates (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
// if _objectiveVector is dominated by the ith individual of the archive...
|
||||
if ( comparator(_objectiveVector, operator[](i).objectiveVector()) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive already contains a solution with the same objective values than _objectiveVector
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool contains (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
if (operator[](i).objectiveVector() == _objectiveVector)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo
|
||||
* @param _moeo the given individual
|
||||
* @return true if _moeo is added to the archive
|
||||
*/
|
||||
bool operator()(const MOEOT & _moeo)
|
||||
{
|
||||
return update(_moeo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given population _pop
|
||||
* @param _pop the given population
|
||||
* @return true if a _pop[i] is added to the archive
|
||||
*/
|
||||
bool operator()(const eoPop < MOEOT > & _pop)
|
||||
{
|
||||
bool res = false;
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
res = (*this).update(_pop[i]) || res;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive contains the same objective vectors than the given archive _arch
|
||||
* @param _arch the given archive
|
||||
*/
|
||||
bool equals (const moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
for (unsigned int i=0; i<size(); i++)
|
||||
{
|
||||
if (! _arch.contains(operator[](i).objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0; i<_arch.size() ; i++)
|
||||
{
|
||||
if (! contains(_arch[i].objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** The moeoObjectiveVectorComparator used to compare solutions */
|
||||
moeoObjectiveVectorComparator < ObjectiveVector > & comparator;
|
||||
/** A moeoObjectiveVectorComparator based on Pareto dominance (used as default) */
|
||||
moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo *** NEW ***
|
||||
* @param _moeo the given individual
|
||||
*/
|
||||
bool update(const MOEOT & _moeo)
|
||||
{
|
||||
// first step: removing the dominated solutions from the archive
|
||||
for (unsigned int j=0; j<size();)
|
||||
{
|
||||
// if the jth solution contained in the archive is dominated by _moeo
|
||||
if ( comparator(operator[](j).objectiveVector(), _moeo.objectiveVector()) )
|
||||
{
|
||||
operator[](j) = back();
|
||||
pop_back();
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// else if (_moeo.objectiveVector() == operator[](j).objectiveVector())
|
||||
// {
|
||||
// operator[](j) = back();
|
||||
// pop_back();
|
||||
// }
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else
|
||||
{
|
||||
j++;
|
||||
}
|
||||
}
|
||||
// second step: is _moeo dominated?
|
||||
bool dom = false;
|
||||
for (unsigned int j=0; j<size(); j++)
|
||||
{
|
||||
// if _moeo is dominated by the jth solution contained in the archive
|
||||
if ( comparator(_moeo.objectiveVector(), operator[](j).objectiveVector()) )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else if ( _moeo.objectiveVector() == operator[](j).objectiveVector() )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
if (!dom)
|
||||
{
|
||||
push_back(_moeo);
|
||||
}
|
||||
return !dom;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEONEWARCHIVE_H_ */
|
||||
230
branches/contribution/branches/MOLS/src/moeoNewBoundedArchive.h
Normal file
230
branches/contribution/branches/MOLS/src/moeoNewBoundedArchive.h
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
/*
|
||||
* <moeoArchive.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEONEWBOUNDEDARCHIVE_H_
|
||||
#define MOEONEWBOUNDEDARCHIVE_H_
|
||||
|
||||
#include <comparator/moeoObjectiveVectorComparator.h>
|
||||
#include <comparator/moeoParetoObjectiveVectorComparator.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
template < class MOEOT >
|
||||
class moeoNewBoundedArchive : public moeoArchive < MOEOT >
|
||||
{
|
||||
public:
|
||||
|
||||
using moeoArchive < MOEOT > :: size;
|
||||
using moeoArchive < MOEOT > :: operator[];
|
||||
using moeoArchive < MOEOT > :: back;
|
||||
using moeoArchive < MOEOT > :: pop_back;
|
||||
|
||||
|
||||
/**
|
||||
* The type of an objective vector for a solution
|
||||
*/
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Default ctor.
|
||||
* The moeoObjectiveVectorComparator used to compare solutions is based on Pareto dominance
|
||||
*/
|
||||
moeoNewBoundedArchive(unsigned int _maxSize=100) : moeoArchive < MOEOT >(), comparator(paretoComparator), maxSize(_maxSize)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _comparator the moeoObjectiveVectorComparator used to compare solutions
|
||||
*/
|
||||
moeoNewBoundedArchive(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator, unsigned int _maxSize=100) : eoPop < MOEOT >(), comparator(_comparator), maxSize(_maxSize)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive dominates _objectiveVector according to the moeoObjectiveVectorComparator given in the constructor
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool dominates (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
// if _objectiveVector is dominated by the ith individual of the archive...
|
||||
if ( comparator(_objectiveVector, operator[](i).objectiveVector()) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive already contains a solution with the same objective values than _objectiveVector
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool contains (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
if (operator[](i).objectiveVector() == _objectiveVector)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo
|
||||
* @param _moeo the given individual
|
||||
* @return true if _moeo is added to the archive
|
||||
*/
|
||||
bool operator()(const MOEOT & _moeo)
|
||||
{
|
||||
return update(_moeo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given population _pop
|
||||
* @param _pop the given population
|
||||
* @return true if a _pop[i] is added to the archive
|
||||
*/
|
||||
bool operator()(const eoPop < MOEOT > & _pop)
|
||||
{
|
||||
bool res = false;
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
res = (*this).update(_pop[i]) || res;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive contains the same objective vectors than the given archive _arch
|
||||
* @param _arch the given archive
|
||||
*/
|
||||
bool equals (const moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
for (unsigned int i=0; i<size(); i++)
|
||||
{
|
||||
if (! _arch.contains(operator[](i).objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0; i<_arch.size() ; i++)
|
||||
{
|
||||
if (! contains(_arch[i].objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** The moeoObjectiveVectorComparator used to compare solutions */
|
||||
moeoObjectiveVectorComparator < ObjectiveVector > & comparator;
|
||||
/** A moeoObjectiveVectorComparator based on Pareto dominance (used as default) */
|
||||
moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
|
||||
/** Max size of archive*/
|
||||
unsigned int maxSize;
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo *** NEW ***
|
||||
* @param _moeo the given individual
|
||||
*/
|
||||
bool update(const MOEOT & _moeo)
|
||||
{
|
||||
// first step: removing the dominated solutions from the archive
|
||||
for (unsigned int j=0; j<size();)
|
||||
{
|
||||
// if the jth solution contained in the archive is dominated by _moeo
|
||||
if ( comparator(operator[](j).objectiveVector(), _moeo.objectiveVector()) )
|
||||
{
|
||||
operator[](j) = back();
|
||||
pop_back();
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// else if (_moeo.objectiveVector() == operator[](j).objectiveVector())
|
||||
// {
|
||||
// operator[](j) = back();
|
||||
// pop_back();
|
||||
// }
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else
|
||||
{
|
||||
j++;
|
||||
}
|
||||
}
|
||||
// second step: is _moeo dominated?
|
||||
bool dom = false;
|
||||
for (unsigned int j=0; j<size(); j++)
|
||||
{
|
||||
// if _moeo is dominated by the jth solution contained in the archive
|
||||
if ( comparator(_moeo.objectiveVector(), operator[](j).objectiveVector()) )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else if ( _moeo.objectiveVector() == operator[](j).objectiveVector() )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
if (!dom)
|
||||
{
|
||||
//if(size()<maxSize)
|
||||
push_back(_moeo);
|
||||
//else
|
||||
//dom=!dom;
|
||||
}
|
||||
return !dom;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEONEWBOUNDEDARCHIVE_H_ */
|
||||
104
branches/contribution/branches/MOLS/src/moeoOneSolAllNeighborsExpl.h
Executable file
104
branches/contribution/branches/MOLS/src/moeoOneSolAllNeighborsExpl.h
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* <moeoOneSolAllNeighborsExpl.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOONESOLALLNEIGHBORSEXPL_H
|
||||
#define _MOEOONESOLALLNEIGHBORSEXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoOneSolAllNeighborsExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoOneSolAllNeighborsExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
Move move;
|
||||
ObjectiveVector objVec;
|
||||
unsigned int i = 0;
|
||||
while (_src[i].flag() != 0)
|
||||
i++;
|
||||
moveInit(move, _src[i]);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src[i]);
|
||||
if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
{
|
||||
if (objVec != _src[i].objectiveVector())
|
||||
{
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
while (nextMove(move, _src[i]));
|
||||
_src[i].flag(1);
|
||||
}
|
||||
|
||||
private:
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
/** comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOONESOLALLNEIGHBORSEXPL_H_*/
|
||||
190
branches/contribution/branches/MOLS/src/moeoOneSolOneNeighborExpl.h
Executable file
190
branches/contribution/branches/MOLS/src/moeoOneSolOneNeighborExpl.h
Executable file
|
|
@ -0,0 +1,190 @@
|
|||
/*
|
||||
* <moeoOneSolOneNeighborExpl.h>
|
||||
* Copyright (C) DOLPHIN project-team, LIFL, INRIA Lille, 2009
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOONESOLONENEIGHBOREXPL_H
|
||||
#define _MOEOONESOLONENEIGHBOREXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoOneSolOneNeighborExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoOneSolOneNeighborExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval) {}
|
||||
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
// init
|
||||
Move move;
|
||||
ObjectiveVector objVec;
|
||||
unsigned int i = eo::rng.random(_src.size()); // "-1" ???
|
||||
moveInit(move, _src[i]);
|
||||
// ttt
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src[i]);
|
||||
if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
{
|
||||
if (objVec != _src[i].objectiveVector())
|
||||
{
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
}
|
||||
} while ( (_dest.size()==0) && nextMove(move,_src[i]) );
|
||||
// si tous les voisins sont dominés (ie "! nextMove(move,_src[i])"), mettre le flag à ZERO !!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
/** comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* la même solution est utilisée iteration après iteration (qd c'est possible) */
|
||||
// void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
// {
|
||||
// ObjectiveVector objVec;
|
||||
// unsigned int i = 0;
|
||||
// // setting _src[i]
|
||||
// if (!start)
|
||||
// {
|
||||
// while (_src[i].flag() != 0)
|
||||
// i++;
|
||||
// moveInit(move, _src[i]);
|
||||
// _src[i].flag(-1);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// while ( (i < _src.size()) && (_src[i].flag() != -1) )
|
||||
// i++;
|
||||
// if (_src[i].flag() != -1)
|
||||
// {
|
||||
// i=0;
|
||||
// while (_src[i].flag() != 0)
|
||||
// i++;
|
||||
// moveInit(move, _src[i]);
|
||||
// _src[i].flag(-1);
|
||||
// }
|
||||
// }
|
||||
// // ttt
|
||||
// objVec = incrEval(move, _src[i]);
|
||||
// if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
// {
|
||||
// if (objVec != _src[i].objectiveVector())
|
||||
// {
|
||||
// _dest.push_back(_src[i]);
|
||||
// move(_dest.back());
|
||||
// _dest.back().objectiveVector(objVec);
|
||||
// _dest.back().flag(0);
|
||||
// }
|
||||
// }
|
||||
// // preparing the next iteration
|
||||
// if (nextMove(move, _src[i]))
|
||||
// {
|
||||
// start=true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* version 1 */
|
||||
// if(!start){
|
||||
// moveInit(move, _src[i]);
|
||||
// _dest.push_back(_src[i]);
|
||||
// sol = & _dest.back();
|
||||
// move(*sol);
|
||||
// sol->invalidate();
|
||||
// eval(*sol);
|
||||
// if(nextMove(move, _src[i]))
|
||||
// start=true;
|
||||
// else{
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
// else{
|
||||
// _dest.push_back(_src[i]);
|
||||
// sol = & _dest.back();
|
||||
// //objVec = moveIncrEval(move, *sol);
|
||||
// move(*sol);
|
||||
// sol->invalidate();
|
||||
// eval(*sol);
|
||||
// //sol->objectiveVector(objVec);
|
||||
// //if (comparator(sol, _src[i]))
|
||||
// if(!nextMove(move, _src[i])){
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOONESOLONENEIGHBOREXPL_H_*/
|
||||
51
branches/contribution/branches/MOLS/src/moeoPopLS.h
Executable file
51
branches/contribution/branches/MOLS/src/moeoPopLS.h
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* <moeoPopLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOPOPLS_H_
|
||||
#define MOEOPOPLS_H_
|
||||
|
||||
#include <algo/moeoPopAlgo.h>
|
||||
|
||||
/**
|
||||
* Abstract class for Population based multi-objective local search.
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPopLS : public moeoPopAlgo < typename Move::EOType >
|
||||
{};
|
||||
|
||||
#endif /*MOEOPOPLS_H_*/
|
||||
51
branches/contribution/branches/MOLS/src/moeoPopNeighborhoodExplorer.h
Executable file
51
branches/contribution/branches/MOLS/src/moeoPopNeighborhoodExplorer.h
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* <moeoPopNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOPOPNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOPOPNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPopNeighborhoodExplorer{};
|
||||
|
||||
#endif /*MOEONEIGHBORHOODEXPLORER_H_*/
|
||||
112
branches/contribution/branches/MOLS/src/moeoRestartLS.h
Executable file
112
branches/contribution/branches/MOLS/src/moeoRestartLS.h
Executable file
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* <moeoRestartLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEORESTARTLS_H
|
||||
#define _MOEORESTARTLS_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moeoPopLS.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <moeoNewArchive.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoRestartLS : public moeoPopLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
moeoRestartLS(
|
||||
eoInit < MOEOT > & _init,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoArchive < MOEOT > & _globalArchive,
|
||||
std::string _fileName) :
|
||||
init(_init), eval(_eval), continuator(_continuator), ls(continuator, _eval, internalArchive, _explorer), globalArchive(_globalArchive), fileName(_fileName), count(0) {}
|
||||
|
||||
|
||||
virtual void operator()(eoPop<MOEOT> & _pop)
|
||||
{
|
||||
do
|
||||
{
|
||||
internalArchive.resize(0);
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
init(_pop[i]);
|
||||
_pop[i].invalidateObjectiveVector();
|
||||
eval(_pop[i]);
|
||||
}
|
||||
ls(_pop);
|
||||
count++;
|
||||
globalArchive(internalArchive);
|
||||
} while (continuator(globalArchive));
|
||||
save();
|
||||
// std::cout << "Final archive\n";
|
||||
// globalArchive.sortedPrintOn(std::cout);
|
||||
// std::cout << std::endl;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
eoInit < MOEOT > & init;
|
||||
eoEvalFunc < MOEOT > & eval;
|
||||
eoContinue < MOEOT > & continuator;
|
||||
moeoNewArchive < MOEOT > internalArchive;
|
||||
moeoUnifiedDominanceBasedLS < Move > ls;
|
||||
moeoArchive < MOEOT > & globalArchive;
|
||||
std::string & fileName;
|
||||
unsigned int count;
|
||||
|
||||
|
||||
void save()
|
||||
{
|
||||
// save count in a file
|
||||
std::string tmp = fileName;
|
||||
tmp += ".stat";
|
||||
std::ofstream outfile(tmp.c_str());
|
||||
outfile << count << std::endl;
|
||||
outfile.close();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEORESTARTLS_H*/
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* <moeoSimpleAllSolOneNeighborExpl.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOSIMPLEALLSOLONENEIGHBOREXPL_H
|
||||
#define _MOEOSIMPLEALLSOLONENEIGHBOREXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
#include <queue>
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoSimpleAllSolOneNeighborExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoSimpleAllSolOneNeighborExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
|
||||
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
for (unsigned int i=0; i<_src.size(); i++)
|
||||
{
|
||||
moveInit(move, _src[i]);
|
||||
// Apply move or not
|
||||
|
||||
ObjectiveVector objVec = incrEval(move, _src[i]);
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
//_dest.back().flag(0);
|
||||
//m(_src, _dest, i, move);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
private:
|
||||
|
||||
/** queue of available move */
|
||||
//std::queue < unsigned int > availableMove;
|
||||
/** the move vector*/
|
||||
Move move;
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOSIMPLEALLSOLONENEIGHBOREXPL_H_*/
|
||||
|
|
@ -0,0 +1,176 @@
|
|||
/*
|
||||
* <moeoOneSolOneNeighborExpl.h>
|
||||
* Copyright (C) DOLPHIN project-team, LIFL, INRIA Lille, 2009
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOSIMPLEONESOLONENEIGHBOREXPL_H
|
||||
#define _MOEOSIMPLEONESOLONENEIGHBOREXPL_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoSimpleOneSolOneNeighborExpl : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
moeoSimpleOneSolOneNeighborExpl(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval) {}
|
||||
|
||||
|
||||
void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
// init
|
||||
Move move;
|
||||
ObjectiveVector objVec;
|
||||
unsigned int i = eo::rng.random(_src.size()); // "-1" ???
|
||||
moveInit(move, _src[i]);
|
||||
// ttt
|
||||
objVec = incrEval(move, _src[i]);
|
||||
_dest.push_back(_src[i]);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
//_dest.back().flag(0);
|
||||
// si tous les voisins sont dominés (ie "! nextMove(move,_src[i])"), mettre le flag à ZERO !!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the neighborhood explorer */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
|
||||
|
||||
/* la même solution est utilisée iteration après iteration (qd c'est possible) */
|
||||
// void operator()(eoPop < MOEOT > & _src, eoPop < MOEOT > & _dest)
|
||||
// {
|
||||
// ObjectiveVector objVec;
|
||||
// unsigned int i = 0;
|
||||
// // setting _src[i]
|
||||
// if (!start)
|
||||
// {
|
||||
// while (_src[i].flag() != 0)
|
||||
// i++;
|
||||
// moveInit(move, _src[i]);
|
||||
// _src[i].flag(-1);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// while ( (i < _src.size()) && (_src[i].flag() != -1) )
|
||||
// i++;
|
||||
// if (_src[i].flag() != -1)
|
||||
// {
|
||||
// i=0;
|
||||
// while (_src[i].flag() != 0)
|
||||
// i++;
|
||||
// moveInit(move, _src[i]);
|
||||
// _src[i].flag(-1);
|
||||
// }
|
||||
// }
|
||||
// // ttt
|
||||
// objVec = incrEval(move, _src[i]);
|
||||
// if (! comparator (objVec, _src[i].objectiveVector()))
|
||||
// {
|
||||
// if (objVec != _src[i].objectiveVector())
|
||||
// {
|
||||
// _dest.push_back(_src[i]);
|
||||
// move(_dest.back());
|
||||
// _dest.back().objectiveVector(objVec);
|
||||
// _dest.back().flag(0);
|
||||
// }
|
||||
// }
|
||||
// // preparing the next iteration
|
||||
// if (nextMove(move, _src[i]))
|
||||
// {
|
||||
// start=true;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* version 1 */
|
||||
// if(!start){
|
||||
// moveInit(move, _src[i]);
|
||||
// _dest.push_back(_src[i]);
|
||||
// sol = & _dest.back();
|
||||
// move(*sol);
|
||||
// sol->invalidate();
|
||||
// eval(*sol);
|
||||
// if(nextMove(move, _src[i]))
|
||||
// start=true;
|
||||
// else{
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
// else{
|
||||
// _dest.push_back(_src[i]);
|
||||
// sol = & _dest.back();
|
||||
// //objVec = moveIncrEval(move, *sol);
|
||||
// move(*sol);
|
||||
// sol->invalidate();
|
||||
// eval(*sol);
|
||||
// //sol->objectiveVector(objVec);
|
||||
// //if (comparator(sol, _src[i]))
|
||||
// if(!nextMove(move, _src[i])){
|
||||
// start=false;
|
||||
// _src[i].flag(1);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOSIMPLEONESOLONENEIGHBOREXPL_H_*/
|
||||
114
branches/contribution/branches/MOLS/src/moeoUnifiedDominanceBasedLS.h
Executable file
114
branches/contribution/branches/MOLS/src/moeoUnifiedDominanceBasedLS.h
Executable file
|
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
* <moeoUnifiedDominanceBasedLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOUNIFIEDDOMINANCEBASEDLS_H
|
||||
#define _MOEOUNIFIEDDOMINANCEBASEDLS_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moeoPopLS.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoUnifiedDominanceBasedLS : public moeoPopLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
|
||||
moeoUnifiedDominanceBasedLS(
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _archive,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer) :
|
||||
continuator(_continuator), loopEval(_eval), popEval(loopEval), archive(_archive), explorer(_explorer) {}
|
||||
|
||||
|
||||
/**
|
||||
* Applies a few generation of evolution to the population _pop.
|
||||
* @param _pop the population
|
||||
*/
|
||||
virtual void operator()(eoPop < MOEOT > & _pop)
|
||||
{
|
||||
eoPop < MOEOT > tmp_pop;
|
||||
popEval(tmp_pop, _pop);
|
||||
archive(_pop);
|
||||
do{
|
||||
tmp_pop.resize(0);
|
||||
//"perturber" la population
|
||||
explorer(archive, tmp_pop);
|
||||
//mise à jour de la pop ou archive
|
||||
archive(tmp_pop);
|
||||
}
|
||||
while (continuator(archive) && naturalContinuator(archive));
|
||||
// std::cout << "Final archive\n";
|
||||
// archive.sortedPrintOn(std::cout);
|
||||
// std::cout << std::endl;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
eoContinue < MOEOT > & continuator;
|
||||
eoPopLoopEval < MOEOT > loopEval;
|
||||
eoPopEvalFunc < MOEOT > & popEval;
|
||||
moeoArchive < MOEOT > & archive;
|
||||
moeoPopNeighborhoodExplorer < Move > & explorer;
|
||||
|
||||
class moeoContinue : public eoUF < eoPop < MOEOT > &, bool >
|
||||
{
|
||||
public:
|
||||
|
||||
moeoContinue(){}
|
||||
|
||||
virtual bool operator()(eoPop < MOEOT > & _pop)
|
||||
{
|
||||
bool res = false;
|
||||
unsigned int i=0;
|
||||
while (!res && i < _pop.size()){
|
||||
res = (_pop[i].flag() != 1);
|
||||
i++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
} naturalContinuator;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOUNIFIEDDOMINANCEBASEDLS_H_*/
|
||||
1
branches/contribution/branches/MOLS/src2/CMakeLists.txt
Normal file
1
branches/contribution/branches/MOLS/src2/CMakeLists.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
#Dummy file
|
||||
21
branches/contribution/branches/MOLS/src2/dmls.h
Normal file
21
branches/contribution/branches/MOLS/src2/dmls.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#include "eoAmeliorationContinue.h"
|
||||
#include "eoTenTimeContinue.h"
|
||||
#include "moeoExhaustiveNeighborhoodExplorer.h"
|
||||
#include "moeoExhaustiveUnvisitedSelect.h"
|
||||
#include "moeoFirstImprovingNeighborhoodExplorer.h"
|
||||
#include "moeoNewArchive.h"
|
||||
#include "moeoNewBoundedArchive.h"
|
||||
#include "moeoDMLSArchive.h"
|
||||
#include "moeoNoDesimprovingNeighborhoodExplorer.h"
|
||||
#include "moeoNumberUnvisitedSelect.h"
|
||||
#include "moeoPopLS.h"
|
||||
#include "moeoPopNeighborhoodExplorer.h"
|
||||
#include "moeoRestartLS.h"
|
||||
#include "moeoSimpleSubNeighborhoodExplorer.h"
|
||||
#include "moeoUnifiedDominanceBasedLS.h"
|
||||
#include "moeoUnvisitedSelect.h"
|
||||
#include "moeoPLS1.h"
|
||||
#include "moeoPLS2.h"
|
||||
#include "moeoDMLSGenUpdater.h"
|
||||
#include "moeoDMLSMonOp.h"
|
||||
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
#ifndef _eoAmeliorationContinue_h
|
||||
#define _eoAmeliorationContinue_h
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
#include <eoContinue.h>
|
||||
#include <moeoDMLSArchive.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
template< class EOT>
|
||||
class eoAmeliorationContinue: public eoContinue<EOT>
|
||||
{
|
||||
public:
|
||||
|
||||
eoAmeliorationContinue(moeoDMLSArchive<EOT> & _arch, unsigned int _neighborhoodSize, bool _multiply) : arch(_arch),maxGen(_neighborhoodSize), neighborhoodSize(_neighborhoodSize), counter(0){
|
||||
if(_multiply)
|
||||
multiply=1;
|
||||
else
|
||||
multiply=0;
|
||||
}
|
||||
|
||||
// _pop must be an archive
|
||||
virtual bool operator() (const eoPop<EOT> & _pop)
|
||||
{
|
||||
bool res;
|
||||
maxGen=((arch.size()-1) * multiply +1) * neighborhoodSize;
|
||||
if(arch.modified())
|
||||
counter=0;
|
||||
else
|
||||
counter++;
|
||||
//std::cout << counter << " " << maxGen << std::endl;
|
||||
|
||||
res = (counter < maxGen);
|
||||
if(!res)
|
||||
counter=0;
|
||||
return res;
|
||||
}
|
||||
|
||||
virtual std::string className(void) const
|
||||
{
|
||||
return "eoAmeliorationContinue";
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
moeoDMLSArchive <EOT> & arch;
|
||||
unsigned int maxGen;
|
||||
unsigned int neighborhoodSize;
|
||||
unsigned int counter;
|
||||
unsigned int multiply;
|
||||
};
|
||||
|
||||
#endif
|
||||
99
branches/contribution/branches/MOLS/src2/eoTenTimeContinue.h
Executable file
99
branches/contribution/branches/MOLS/src2/eoTenTimeContinue.h
Executable file
|
|
@ -0,0 +1,99 @@
|
|||
#ifndef _eoTenTimeContinue_h
|
||||
#define _eoTenTimeContinue_h
|
||||
|
||||
#include <time.h>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
#include <eoContinue.h>
|
||||
|
||||
template< class EOT>
|
||||
class eoTenTimeContinue: public eoContinue<EOT>
|
||||
{
|
||||
public:
|
||||
|
||||
eoTenTimeContinue(unsigned int _maxTime, unsigned int _cut, std::string _fileName, moeoArchive<EOT> & _arch) :
|
||||
start(time(0)), maxTime(_maxTime), cut(_cut), id(1), fileName(_fileName), arch(_arch) {}
|
||||
|
||||
|
||||
// _pop must be an archive
|
||||
virtual bool operator() (const eoPop<EOT> & _pop)
|
||||
{
|
||||
unsigned int diff = (unsigned int) difftime(time(0), start);
|
||||
if (diff >= (id * maxTime/cut) )
|
||||
{
|
||||
time_t begin=time(0);
|
||||
save(_pop);
|
||||
id++;
|
||||
start= start - (time(0)-begin);
|
||||
operator()(_pop);
|
||||
}
|
||||
if (diff >= maxTime)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
virtual std::string className(void) const
|
||||
{
|
||||
return "eoTenTimeContinue";
|
||||
}
|
||||
|
||||
|
||||
void readFrom (std :: istream & __is)
|
||||
{
|
||||
|
||||
__is >> start;
|
||||
}
|
||||
|
||||
|
||||
void printOn (std :: ostream & __os) const
|
||||
{
|
||||
|
||||
__os << start << ' ' << std :: endl;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
||||
time_t start;
|
||||
unsigned int maxTime;
|
||||
unsigned int id;
|
||||
unsigned int cut;
|
||||
std::string fileName;
|
||||
moeoArchive<EOT> & arch;
|
||||
|
||||
|
||||
void save(const eoPop<EOT> & _pop)
|
||||
{
|
||||
// update the archive
|
||||
arch(_pop);
|
||||
// save the archive contents in a file
|
||||
std::string tmp = fileName;
|
||||
std::ostringstream os;
|
||||
os << id;
|
||||
tmp += '.';
|
||||
tmp += os.str();
|
||||
std::ofstream outfile(tmp.c_str());
|
||||
// std::cout << "save " << tmp << " - " << difftime(time(0), start) << std::endl;
|
||||
unsigned int nObj = EOT::ObjectiveVector::nObjectives();
|
||||
for (unsigned int i=0; i<arch.size(); i++)
|
||||
{
|
||||
for (unsigned int j=0; j<nObj; j++)
|
||||
{
|
||||
outfile << arch[i].objectiveVector()[j];
|
||||
if (j != nObj -1)
|
||||
{
|
||||
outfile << ' ';
|
||||
}
|
||||
}
|
||||
outfile << std::endl;
|
||||
}
|
||||
outfile.close();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
189
branches/contribution/branches/MOLS/src2/moeoDMLSArchive.h
Normal file
189
branches/contribution/branches/MOLS/src2/moeoDMLSArchive.h
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
/*
|
||||
* <moeoDMLSArchive.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEODMLSARCHIVE_H_
|
||||
#define MOEODMLSARCHIVE_H_
|
||||
|
||||
#include <comparator/moeoObjectiveVectorComparator.h>
|
||||
#include <comparator/moeoParetoObjectiveVectorComparator.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
|
||||
template < class MOEOT >
|
||||
class moeoDMLSArchive : public moeoArchive < MOEOT >
|
||||
{
|
||||
public:
|
||||
|
||||
using moeoArchive < MOEOT > :: size;
|
||||
using moeoArchive < MOEOT > :: operator[];
|
||||
using moeoArchive < MOEOT > :: back;
|
||||
using moeoArchive < MOEOT > :: pop_back;
|
||||
|
||||
|
||||
/**
|
||||
* The type of an objective vector for a solution
|
||||
*/
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Default ctor.
|
||||
* The moeoObjectiveVectorComparator used to compare solutions is based on Pareto dominance
|
||||
*/
|
||||
moeoDMLSArchive() : moeoArchive < MOEOT >(), comparator(paretoComparator), isModified(false)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _comparator the moeoObjectiveVectorComparator used to compare solutions
|
||||
*/
|
||||
moeoDMLSArchive(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator) : moeoArchive < MOEOT >(), comparator(_comparator), isModified(false)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive dominates _objectiveVector according to the moeoObjectiveVectorComparator given in the constructor
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool dominates (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
// if _objectiveVector is dominated by the ith individual of the archive...
|
||||
if ( comparator(_objectiveVector, operator[](i).objectiveVector()) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive already contains a solution with the same objective values than _objectiveVector
|
||||
* @param _objectiveVector the objective vector to compare with the current archive
|
||||
*/
|
||||
bool contains (const ObjectiveVector & _objectiveVector) const
|
||||
{
|
||||
for (unsigned int i = 0; i<size(); i++)
|
||||
{
|
||||
if (operator[](i).objectiveVector() == _objectiveVector)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo
|
||||
* @param _moeo the given individual
|
||||
* @return true if _moeo is added to the archive
|
||||
*/
|
||||
bool operator()(const MOEOT & _moeo)
|
||||
{
|
||||
return update(_moeo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given population _pop
|
||||
* @param _pop the given population
|
||||
* @return true if a _pop[i] is added to the archive
|
||||
*/
|
||||
bool operator()(const eoPop < MOEOT > & _pop)
|
||||
{
|
||||
bool res = false;
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
res = (*this).update(_pop[i]) || res;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the current archive contains the same objective vectors than the given archive _arch
|
||||
* @param _arch the given archive
|
||||
*/
|
||||
bool equals (const moeoArchive < MOEOT > & _arch)
|
||||
{
|
||||
for (unsigned int i=0; i<size(); i++)
|
||||
{
|
||||
if (! _arch.contains(operator[](i).objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0; i<_arch.size() ; i++)
|
||||
{
|
||||
if (! contains(_arch[i].objectiveVector()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool modified(){
|
||||
bool tmp = isModified;
|
||||
isModified = false;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
protected:
|
||||
/** bool*/
|
||||
bool isModified;
|
||||
|
||||
private:
|
||||
|
||||
/** The moeoObjectiveVectorComparator used to compare solutions */
|
||||
moeoObjectiveVectorComparator < ObjectiveVector > & comparator;
|
||||
/** A moeoObjectiveVectorComparator based on Pareto dominance (used as default) */
|
||||
moeoParetoObjectiveVectorComparator < ObjectiveVector > paretoComparator;
|
||||
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo *** NEW ***
|
||||
* @param _moeo the given individual
|
||||
*/
|
||||
virtual bool update(const MOEOT & _moeo) = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEODMLSARCHIVE_H_ */
|
||||
106
branches/contribution/branches/MOLS/src2/moeoDMLSGenUpdater.h
Normal file
106
branches/contribution/branches/MOLS/src2/moeoDMLSGenUpdater.h
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
#include <eoGenContinue.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
|
||||
/** updater allowing hybridization with a dmls at checkpointing*/
|
||||
template < class Move >
|
||||
class moeoDMLSGenUpdater : public eoUpdater
|
||||
{
|
||||
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
public :
|
||||
/** Ctor with a dmls.
|
||||
* @param _dmls the dmls use for the hybridization (!!! Special care is needed when choosing the continuator of the dmls !!!)
|
||||
* @param _dmlsArchive an archive (used to instantiate the dmls)
|
||||
* @param _globalArchive the same archive used in the other algorithm
|
||||
* @param _continuator is a Generational Continuator which allow to run dmls on the global archive each X generation(s)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSGenUpdater(moeoUnifiedDominanceBasedLS <Move> & _dmls,
|
||||
moeoArchive < MOEOT > & _dmlsArchive,
|
||||
moeoArchive < MOEOT > & _globalArchive,
|
||||
eoGenContinue < MOEOT > & _continuator,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(0), dmlsArchive(_dmlsArchive), dmls(_dmls), globalArchive(_globalArchive), continuator(_continuator), verbose(_verbose){}
|
||||
|
||||
/** Ctor with a dmls.
|
||||
* @param _eval a evaluation function (used to instantiate the dmls)
|
||||
* @param _explorer a neighborhood explorer (used to instantiate the dmls)
|
||||
* @param _select a selector of unvisited individuals of a population (used to instantiate the dmls)
|
||||
* @param _globalArchive the same archive used in the other algorithm
|
||||
* @param _continuator is a Generational Continuator which allow to run dmls on the global archive each X generation(s)
|
||||
* @param _step (default=1) is the number of Generation of dmls (used to instantiate the defaultContinuator for the dmls)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSGenUpdater(eoEvalFunc < MOEOT > & _eval,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select,
|
||||
moeoArchive < MOEOT > & _globalArchive,
|
||||
eoGenContinue < MOEOT > & _continuator,
|
||||
unsigned int _step=1,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(_step), dmlsArchive(defaultArchive), dmls(defaultContinuator, _eval, defaultArchive, _explorer, _select), globalArchive(_globalArchive), continuator(_continuator), verbose(_verbose){}
|
||||
|
||||
/** Ctor with a dmls.
|
||||
* @param _eval a evaluation function (used to instantiate the dmls)
|
||||
* @param _dmlsArchive an archive (used to instantiate the dmls)
|
||||
* @param _explorer a neighborhood explorer (used to instantiate the dmls)
|
||||
* @param _select a selector of unvisited individuals of a population (used to instantiate the dmls)
|
||||
* @param _globalArchive the same archive used in the other algorithm
|
||||
* @param _continuator is a Generational Continuator which allow to run dmls on the global archive each X generation(s)
|
||||
* @param _step (default=1) is the number of Generation of dmls (used to instantiate the defaultContinuator for the dmls)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSGenUpdater(eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _dmlsArchive,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select,
|
||||
moeoArchive < MOEOT > & _globalArchive,
|
||||
eoGenContinue < MOEOT > & _continuator,
|
||||
unsigned int _step=1,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(_step), dmlsArchive(_dmlsArchive), dmls(defaultContinuator, _eval, _dmlsArchive, _explorer, _select), globalArchive(_globalArchive), continuator(_continuator), verbose(_verbose){}
|
||||
|
||||
/** functor which allow to run the dmls*/
|
||||
virtual void operator()()
|
||||
{
|
||||
if(!continuator(globalArchive)){
|
||||
if(verbose)
|
||||
std::cout << std::endl << "moeoDMLSGenUpdater: dmls start" << std::endl;
|
||||
dmls(globalArchive);
|
||||
globalArchive(dmlsArchive);
|
||||
if(verbose)
|
||||
std::cout << "moeoDMLSGenUpdater: dmls stop" << std::endl;
|
||||
defaultContinuator.totalGenerations(defaultContinuator.totalGenerations());
|
||||
if(verbose)
|
||||
std::cout << "the other algorithm restart for " << continuator.totalGenerations() << " generation(s)" << std::endl << std::endl;
|
||||
continuator.totalGenerations(continuator.totalGenerations());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the class name
|
||||
*/
|
||||
virtual std::string className(void) const { return "moeoDMLSGenUpdater"; }
|
||||
|
||||
private:
|
||||
/** defaultContinuator used for the dmls */
|
||||
eoGenContinue < MOEOT > defaultContinuator;
|
||||
/** dmls archive */
|
||||
moeoArchive < MOEOT > & dmlsArchive;
|
||||
/** default archive used for the dmls */
|
||||
moeoUnboundedArchive < MOEOT > defaultArchive;
|
||||
/** the dmls */
|
||||
moeoUnifiedDominanceBasedLS <Move> dmls;
|
||||
/** the global archive */
|
||||
moeoArchive < MOEOT > & globalArchive;
|
||||
/** continuator used to run the dmls each X generation(s) */
|
||||
eoGenContinue < MOEOT > & continuator;
|
||||
/** verbose mode */
|
||||
bool verbose;
|
||||
};
|
||||
91
branches/contribution/branches/MOLS/src2/moeoDMLSMonOp.h
Normal file
91
branches/contribution/branches/MOLS/src2/moeoDMLSMonOp.h
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
#include <eoGenContinue.h>
|
||||
#include <utils/eoRNG.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
|
||||
/** eoMonOp allowing hybridization with a dmls at mutation */
|
||||
template < class Move >
|
||||
class moeoDMLSMonOp : public eoMonOp < typename Move::EOType >
|
||||
{
|
||||
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
public :
|
||||
/** Ctor with a dmls.
|
||||
* @param _dmls the dmls use for the hybridization (!!! Special care is needed when choosing the continuator of the dmls !!!)
|
||||
* @param _dmlsArchive an archive (used to instantiate the dmls)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSMonOp(moeoUnifiedDominanceBasedLS <Move> & _dmls,
|
||||
moeoArchive < MOEOT > & _dmlsArchive,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(0), dmlsArchive(_dmlsArchive), dmls(_dmls), verbose(_verbose) {}
|
||||
|
||||
/** Ctor with a dmls.
|
||||
* @param _eval a evaluation function (used to instantiate the dmls)
|
||||
* @param _explorer a neighborhood explorer (used to instantiate the dmls)
|
||||
* @param _select a selector of unvisited individuals of a population (used to instantiate the dmls)
|
||||
* @param _step (default=1) is the number of Generation of dmls (used to instantiate the defaultContinuator for the dmls)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSMonOp(eoEvalFunc < MOEOT > & _eval,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select,
|
||||
unsigned int _step=1,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(_step), dmlsArchive(defaultArchive), dmls(defaultContinuator, _eval, defaultArchive, _explorer, _select), verbose(_verbose){}
|
||||
|
||||
/** Ctor with a dmls.
|
||||
* @param _eval a evaluation function (used to instantiate the dmls)
|
||||
* @param _dmlsArchive an archive (used to instantiate the dmls)
|
||||
* @param _explorer a neighborhood explorer (used to instantiate the dmls)
|
||||
* @param _select a selector of unvisited individuals of a population (used to instantiate the dmls)
|
||||
* @param _step (default=1) is the number of Generation of dmls (used to instantiate the defaultContinuator for the dmls)
|
||||
* @param _verbose verbose mode
|
||||
*/
|
||||
moeoDMLSMonOp(eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _dmlsArchive,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select,
|
||||
unsigned int _step=1,
|
||||
bool _verbose = true):
|
||||
defaultContinuator(_step), dmlsArchive(_dmlsArchive), dmls(defaultContinuator, _eval, _dmlsArchive, _explorer, _select), verbose(_verbose){}
|
||||
|
||||
/** functor which allow to run the dmls on a MOEOT and return one of the resulting archive*/
|
||||
bool operator()( MOEOT & _moeo)
|
||||
{
|
||||
if(verbose)
|
||||
std::cout << std::endl << "moeoDMLSMonOp: dmls start" << std::endl;
|
||||
unsigned int tmp;
|
||||
eoPop < MOEOT> pop;
|
||||
pop.push_back(_moeo);
|
||||
dmls(pop);
|
||||
tmp = rng.random(dmlsArchive.size());
|
||||
_moeo = dmlsArchive[tmp];
|
||||
defaultContinuator.totalGenerations(defaultContinuator.totalGenerations());
|
||||
if(verbose)
|
||||
std::cout << "moeoDMLSMonOp: dmls stop" << std::endl << std::endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the class name
|
||||
*/
|
||||
virtual std::string className(void) const { return "moeoDMLSMonOp"; }
|
||||
|
||||
private:
|
||||
/** defaultContinuator used for the dmls */
|
||||
eoGenContinue < MOEOT > defaultContinuator;
|
||||
/** dmls archive */
|
||||
moeoArchive < MOEOT > & dmlsArchive;
|
||||
/** default archive used for the dmls */
|
||||
moeoUnboundedArchive < MOEOT > defaultArchive;
|
||||
/** the dmls */
|
||||
moeoUnifiedDominanceBasedLS <Move> dmls;
|
||||
/** verbose mode */
|
||||
bool verbose;
|
||||
};
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOEXHAUSTIVENEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOEXHAUSTIVENEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <eoPop.h>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* Explorer which explore all the neighborhood
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoExhaustiveNeighborhoodExplorer : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
/** Alias for the objeciveVector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
*/
|
||||
moeoExhaustiveNeighborhoodExplorer(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval){}
|
||||
|
||||
/**
|
||||
* functor to explore the neighborhood
|
||||
* @param _src the population to explore
|
||||
* @param _select contains index of individuals from the population to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void operator()(eoPop < MOEOT > & _src, std::vector < unsigned int> _select, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
for(unsigned int i=0; i<_select.size(); i++)
|
||||
explore(_src[_select[i]], _dest);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* explorer of one individual
|
||||
* @param _src the individual to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void explore(MOEOT & _src , eoPop < MOEOT > & _dest)
|
||||
{
|
||||
moveInit(move, _src);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src);
|
||||
_dest.push_back(_src);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
while (nextMove(move, _src));
|
||||
_src.flag(1);
|
||||
}
|
||||
|
||||
/** Move */
|
||||
Move move;
|
||||
/** ObjectiveVector */
|
||||
ObjectiveVector objVec;
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the entity which allow to do a move */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOEXHAUSTIVENEIGHBORHOODEXPLORER_H_*/
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
/*
|
||||
* <moeoExhaustiveUnvisitedSelect.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOEXHAUSTIVEUNVISITEDSELECT_H
|
||||
#define _MOEOEXHAUSTIVEUNVISITEDSELECT_H
|
||||
|
||||
#include <eoPop.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
|
||||
/**
|
||||
* Selector which select all unvisited individuals of a population
|
||||
*/
|
||||
template < class MOEOT >
|
||||
class moeoExhaustiveUnvisitedSelect : public moeoUnvisitedSelect < MOEOT >
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Default ctor
|
||||
*/
|
||||
moeoExhaustiveUnvisitedSelect(){}
|
||||
|
||||
/**
|
||||
* functor which return index of selected individuals of a population
|
||||
* @param _src the population
|
||||
* @return the vector contains index of all unvisited individuals of the population
|
||||
*/
|
||||
std::vector <unsigned int> operator()(eoPop < MOEOT > & _src)
|
||||
{
|
||||
std::vector <unsigned int> res;
|
||||
res.resize(0);
|
||||
for (unsigned int i=0; i<_src.size(); i++)
|
||||
{
|
||||
if (_src[i].flag() == 0)
|
||||
res.push_back(i);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOEXHAUSTIVEUNVISITEDSELECT_H_*/
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
/*
|
||||
* <moeoFirstImprovingNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOFIRSTIMPROVINGNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOFIRSTIMPROVINGNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <moeoSubNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* Explorer which explore a part of the neighborhood
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoFirstImprovingNeighborhoodExplorer : public moeoSubNeighborhoodExplorer < Move >
|
||||
{
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
/** Alias for the objeciveVector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
using moeoSubNeighborhoodExplorer<Move>::move;
|
||||
using moeoSubNeighborhoodExplorer<Move>::objVec;
|
||||
using moeoSubNeighborhoodExplorer<Move>::number;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
*/
|
||||
moeoFirstImprovingNeighborhoodExplorer(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moeoSubNeighborhoodExplorer< Move >(_moveInit, _nextMove, _incrEval, 0){}
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* explorer of one individual
|
||||
* @param _src the individual to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void explore(MOEOT & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
moveInit(move, _src);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src);
|
||||
if(!comparator(objVec, _src.objectiveVector())){
|
||||
_dest.push_back(_src);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
}
|
||||
}
|
||||
while (nextMove(move, _src) && (!comparator( _src.objectiveVector(),objVec)));
|
||||
if(!nextMove(move, _src))
|
||||
_src.flag(1);
|
||||
}
|
||||
|
||||
/** Objective Vector Pareto Comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
};
|
||||
|
||||
#endif /*_MOEOFIRSTIMPROVINGNEIGHBORHOODEXPLORER_H_*/
|
||||
113
branches/contribution/branches/MOLS/src2/moeoNewArchive.h
Executable file
113
branches/contribution/branches/MOLS/src2/moeoNewArchive.h
Executable file
|
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
* <moeoArchive.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEONEWARCHIVE_H_
|
||||
#define MOEONEWARCHIVE_H_
|
||||
|
||||
#include <comparator/moeoObjectiveVectorComparator.h>
|
||||
#include <comparator/moeoParetoObjectiveVectorComparator.h>
|
||||
#include <moeoDMLSArchive.h>
|
||||
|
||||
template < class MOEOT >
|
||||
class moeoNewArchive : public moeoDMLSArchive < MOEOT >
|
||||
{
|
||||
public:
|
||||
|
||||
using moeoArchive < MOEOT > :: size;
|
||||
using moeoArchive < MOEOT > :: operator[];
|
||||
using moeoArchive < MOEOT > :: back;
|
||||
using moeoArchive < MOEOT > :: pop_back;
|
||||
using moeoDMLSArchive < MOEOT > :: isModified;
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo *** NEW ***
|
||||
* @param _moeo the given individual
|
||||
*/
|
||||
bool update(const MOEOT & _moeo)
|
||||
{
|
||||
// first step: removing the dominated solutions from the archive
|
||||
for (unsigned int j=0; j<size();)
|
||||
{
|
||||
// if the jth solution contained in the archive is dominated by _moeo
|
||||
if ( comparator(operator[](j).objectiveVector(), _moeo.objectiveVector()) )
|
||||
{
|
||||
operator[](j) = back();
|
||||
pop_back();
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// else if (_moeo.objectiveVector() == operator[](j).objectiveVector())
|
||||
// {
|
||||
// operator[](j) = back();
|
||||
// pop_back();
|
||||
// }
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else
|
||||
{
|
||||
j++;
|
||||
}
|
||||
}
|
||||
// second step: is _moeo dominated?
|
||||
bool dom = false;
|
||||
for (unsigned int j=0; j<size(); j++)
|
||||
{
|
||||
// if _moeo is dominated by the jth solution contained in the archive
|
||||
if ( comparator(_moeo.objectiveVector(), operator[](j).objectiveVector()) )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else if ( _moeo.objectiveVector() == operator[](j).objectiveVector() )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
if (!dom)
|
||||
{
|
||||
push_back(_moeo);
|
||||
isModified=true;
|
||||
}
|
||||
return !dom;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEONEWARCHIVE_H_ */
|
||||
150
branches/contribution/branches/MOLS/src2/moeoNewBoundedArchive.h
Normal file
150
branches/contribution/branches/MOLS/src2/moeoNewBoundedArchive.h
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
/*
|
||||
* <moeoNewBoundedArchive.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEONEWBOUNDEDARCHIVE_H_
|
||||
#define MOEONEWBOUNDEDARCHIVE_H_
|
||||
|
||||
#include <comparator/moeoObjectiveVectorComparator.h>
|
||||
#include <comparator/moeoParetoObjectiveVectorComparator.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <moeoDMLSArchive.h>
|
||||
|
||||
template < class MOEOT >
|
||||
class moeoNewBoundedArchive : public moeoDMLSArchive < MOEOT >
|
||||
{
|
||||
public:
|
||||
|
||||
using moeoArchive < MOEOT > :: size;
|
||||
using moeoArchive < MOEOT > :: operator[];
|
||||
using moeoArchive < MOEOT > :: back;
|
||||
using moeoArchive < MOEOT > :: pop_back;
|
||||
using moeoDMLSArchive < MOEOT > :: isModified;
|
||||
|
||||
|
||||
/**
|
||||
* The type of an objective vector for a solution
|
||||
*/
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
|
||||
/**
|
||||
* Default ctor.
|
||||
* The moeoObjectiveVectorComparator used to compare solutions is based on Pareto dominance
|
||||
*/
|
||||
moeoNewBoundedArchive(unsigned int _maxSize=100) : moeoDMLSArchive < MOEOT >(), maxSize(_maxSize)
|
||||
{}
|
||||
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _comparator the moeoObjectiveVectorComparator used to compare solutions
|
||||
*/
|
||||
moeoNewBoundedArchive(moeoObjectiveVectorComparator < ObjectiveVector > & _comparator, unsigned int _maxSize=100) : moeoDMLSArchive < MOEOT >(_comparator), maxSize(_maxSize)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** Max size of archive*/
|
||||
unsigned int maxSize;
|
||||
|
||||
bool update(const eoPop < MOEOT > & _pop){
|
||||
std::cout << "enter here\n\n";
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the archive with a given individual _moeo *** NEW ***
|
||||
* @param _moeo the given individual
|
||||
*/
|
||||
bool update(const MOEOT & _moeo)
|
||||
{
|
||||
// first step: removing the dominated solutions from the archive
|
||||
for (unsigned int j=0; j<size();)
|
||||
{
|
||||
// if the jth solution contained in the archive is dominated by _moeo
|
||||
if ( comparator(operator[](j).objectiveVector(), _moeo.objectiveVector()) )
|
||||
{
|
||||
operator[](j) = back();
|
||||
pop_back();
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// else if (_moeo.objectiveVector() == operator[](j).objectiveVector())
|
||||
// {
|
||||
// operator[](j) = back();
|
||||
// pop_back();
|
||||
// }
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else
|
||||
{
|
||||
j++;
|
||||
}
|
||||
}
|
||||
// second step: is _moeo dominated?
|
||||
bool dom = false;
|
||||
for (unsigned int j=0; j<size(); j++)
|
||||
{
|
||||
// if _moeo is dominated by the jth solution contained in the archive
|
||||
if ( comparator(_moeo.objectiveVector(), operator[](j).objectiveVector()) )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
else if ( _moeo.objectiveVector() == operator[](j).objectiveVector() )
|
||||
{
|
||||
dom = true;
|
||||
break;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
}
|
||||
if (!dom)
|
||||
{
|
||||
if(size()<maxSize){
|
||||
push_back(_moeo);
|
||||
isModified=true;
|
||||
}
|
||||
else
|
||||
dom=!dom;
|
||||
}
|
||||
return !dom;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEONEWBOUNDEDARCHIVE_H_ */
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* <moeoNoDesimprovingNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEONODESIMPROVINGNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEONODESIMPROVINGNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <moeoSubNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* Explorer which explore a part of the neighborhood
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoNoDesimprovingNeighborhoodExplorer : public moeoSubNeighborhoodExplorer < Move >
|
||||
{
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
/** Alias for the objeciveVector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
using moeoSubNeighborhoodExplorer<Move>::move;
|
||||
using moeoSubNeighborhoodExplorer<Move>::objVec;
|
||||
using moeoSubNeighborhoodExplorer<Move>::number;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
*/
|
||||
moeoNoDesimprovingNeighborhoodExplorer(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval)
|
||||
: moeoSubNeighborhoodExplorer< Move >(_moveInit, _nextMove, _incrEval, 0){}
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* explorer of one individual
|
||||
* @param _src the individual to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void explore(MOEOT & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
bool tmp=true;
|
||||
moveInit(move, _src);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src);
|
||||
if(!comparator(objVec, _src.objectiveVector())){
|
||||
_dest.push_back(_src);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
tmp=false;
|
||||
}
|
||||
}
|
||||
while (nextMove(move, _src) && tmp);
|
||||
if(!nextMove(move, _src))
|
||||
_src.flag(1);
|
||||
}
|
||||
|
||||
/** Objective Vector Pareto Comparator */
|
||||
moeoParetoObjectiveVectorComparator<ObjectiveVector> comparator;
|
||||
};
|
||||
|
||||
#endif /*_MOEONODESIMPROVINGNEIGHBORHOODEXPLORER_H_*/
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* <moeoNumberUnvisitedSelect.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEONUMBERUNVISITEDSELECT_H
|
||||
#define _MOEONUMBERUNVISITEDSELECT_H
|
||||
|
||||
#include <eoPop.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
|
||||
/**
|
||||
* Selector which select a part of unvisited individuals of a population
|
||||
*/
|
||||
template < class MOEOT >
|
||||
class moeoNumberUnvisitedSelect : public moeoUnvisitedSelect < MOEOT >
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _number the number of individuals to select
|
||||
*/
|
||||
moeoNumberUnvisitedSelect(unsigned int _number): number(_number){}
|
||||
|
||||
/**
|
||||
* functor which return index of selected individuals of a population
|
||||
* @param _src the population
|
||||
* @return the vector contains index of the part of unvisited individuals of the population
|
||||
*/
|
||||
std::vector <unsigned int> operator()(eoPop < MOEOT > & _src)
|
||||
{
|
||||
std::vector <unsigned int> res;
|
||||
res.resize(0);
|
||||
for (unsigned int i=0; i<_src.size(); i++)
|
||||
{
|
||||
if (_src[i].flag() == 0)
|
||||
res.push_back(i);
|
||||
}
|
||||
if(number < res.size()){
|
||||
UF_random_generator<unsigned int> rndGen;
|
||||
std::random_shuffle(res.begin(), res.end(), rndGen);
|
||||
res.resize(number);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
private:
|
||||
/** number of individuals to select */
|
||||
unsigned int number;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEONUMBERUNVISITEDSELECT_H_*/
|
||||
88
branches/contribution/branches/MOLS/src2/moeoPLS1.h
Normal file
88
branches/contribution/branches/MOLS/src2/moeoPLS1.h
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* <moeoPLS1.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOPLS1_H
|
||||
#define _MOEOPLS1_H
|
||||
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <moeoNumberUnvisitedSelect.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* PLS1 algorithm
|
||||
*
|
||||
* Paquete L, Chiarandini M, St ̈ tzle T (2004) Pareto local optimum sets in the biobjective
|
||||
* traveling salesman problem: An experimental study. In: Metaheuristics for Multiobjective
|
||||
* Optimisation, Lecture Notes in Economics and Mathematical Systems, vol 535, Springer-
|
||||
* Verlag, Berlin, Germany, chap 7, pp 177–199
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPLS1 : public moeoUnifiedDominanceBasedLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
/**
|
||||
* Ctor
|
||||
* @param _continuator a stop creterion
|
||||
* @param _eval a evaluation function
|
||||
* @param _archive a archive to store no-dominated individuals
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
*/
|
||||
moeoPLS1(
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _archive,
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval):
|
||||
moeoUnifiedDominanceBasedLS<Move>(
|
||||
_continuator,
|
||||
_eval,
|
||||
_archive,
|
||||
*(new moeoExhaustiveNeighborhoodExplorer<Move>(_moveInit, _nextMove, _incrEval)),
|
||||
*(new moeoNumberUnvisitedSelect<MOEOT>(1))
|
||||
){}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOPLS1_H_*/
|
||||
97
branches/contribution/branches/MOLS/src2/moeoPLS2.h
Normal file
97
branches/contribution/branches/MOLS/src2/moeoPLS2.h
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
* <moeoPLS2.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOPLS2_H
|
||||
#define _MOEOPLS2_H
|
||||
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* PLS2 algorithm
|
||||
*
|
||||
* Talbi EG, Rahoual M, Mabed MH, Dhaenens C (2001) A hybrid evolutionary approach for
|
||||
* multicriteria optimization problems : Application to the fow shop. In: First International
|
||||
* Conference on Evolutionary Multi-criterion Optimization (EMO 2001), Springer-Verlag,
|
||||
* Zurich, Switzerland, Lecture Notes in Computer Science, vol 1993, pp 416–428
|
||||
*
|
||||
* Basseur M, Seynhaeve F, Talbi E (2003) Adaptive mechanisms for multiobjective evolution-
|
||||
* ary algorithms. In: Congress on Engineering in System Application (CESA 2003), Lille,
|
||||
* France, pp 72–86
|
||||
*
|
||||
* Angel E, Bampis E, Gourv ́ s L (2004) A dynasearch neighbohood for the bicriteria travel-
|
||||
* ing salesman problem. In: Metaheuristics for Multiobjective Optimisation, Lecture Notes
|
||||
* in Economics and Mathematical Systems, vol 535, Springer-Verlag, Berlin, Germany,
|
||||
* chap 6, pp 153–176
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPLS2 : public moeoUnifiedDominanceBasedLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
/**
|
||||
* Ctor
|
||||
* @param _continuator a stop creterion
|
||||
* @param _eval a evaluation function
|
||||
* @param _archive a archive to store no-dominated individuals
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
*/
|
||||
moeoPLS2(
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _archive,
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval):
|
||||
moeoUnifiedDominanceBasedLS<Move>(
|
||||
_continuator,
|
||||
_eval,
|
||||
_archive,
|
||||
*(new moeoExhaustiveNeighborhoodExplorer<Move>(_moveInit, _nextMove, _incrEval)),
|
||||
*(new moeoExhaustiveUnvisitedSelect<MOEOT>())
|
||||
){}
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOPLS2_H_*/
|
||||
50
branches/contribution/branches/MOLS/src2/moeoPopLS.h
Executable file
50
branches/contribution/branches/MOLS/src2/moeoPopLS.h
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* <moeoPopLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007
|
||||
* (C) OPAC Team, LIFL, 2002-2007
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef MOEOPOPLS_H_
|
||||
#define MOEOPOPLS_H_
|
||||
|
||||
#include <algo/moeoPopAlgo.h>
|
||||
|
||||
/**
|
||||
* Abstract class for Population based multi-objective local search.
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPopLS : public moeoPopAlgo < typename Move::EOType > {};
|
||||
|
||||
#endif /*MOEOPOPLS_H_*/
|
||||
58
branches/contribution/branches/MOLS/src2/moeoPopNeighborhoodExplorer.h
Executable file
58
branches/contribution/branches/MOLS/src2/moeoPopNeighborhoodExplorer.h
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* <moeoPopNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOPOPNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOPOPNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <eoPop.h>
|
||||
|
||||
/**
|
||||
* Abstract class for multi-objective local search neighborhood exploration
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoPopNeighborhoodExplorer: public eoFunctorBase{
|
||||
|
||||
public:
|
||||
/**
|
||||
* abstract functor which realise exploration
|
||||
*/
|
||||
virtual void operator()(eoPop < typename Move::EOType > &, std::vector <unsigned int>, eoPop < typename Move::EOType > &) = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEONEIGHBORHOODEXPLORER_H_*/
|
||||
116
branches/contribution/branches/MOLS/src2/moeoRestartLS.h
Executable file
116
branches/contribution/branches/MOLS/src2/moeoRestartLS.h
Executable file
|
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* <moeoRestartLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEORESTARTLS_H
|
||||
#define _MOEORESTARTLS_H
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <moeoPopLS.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <moeoNewArchive.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
|
||||
template < class Move >
|
||||
class moeoRestartLS : public moeoPopLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
moeoRestartLS(
|
||||
eoInit < MOEOT > & _init,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
eoContinue < MOEOT > & _continuator1,
|
||||
eoContinue < MOEOT > & _continuator2,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select,
|
||||
moeoArchive < MOEOT > & _internalArchive,
|
||||
moeoArchive < MOEOT > & _globalArchive,
|
||||
std::string _fileName) :
|
||||
init(_init), eval(_eval), continuator(_continuator1), internalArchive(_internalArchive), ls(_continuator2, _eval, _internalArchive, _explorer, _select), globalArchive(_globalArchive), fileName(_fileName), count(0) {}
|
||||
|
||||
|
||||
virtual void operator()(eoPop<MOEOT> & _pop)
|
||||
{
|
||||
do
|
||||
{
|
||||
internalArchive.resize(0);
|
||||
for (unsigned int i=0; i<_pop.size(); i++)
|
||||
{
|
||||
init(_pop[i]);
|
||||
_pop[i].invalidateObjectiveVector();
|
||||
eval(_pop[i]);
|
||||
}
|
||||
ls(_pop);
|
||||
count++;
|
||||
globalArchive(internalArchive);
|
||||
} while (continuator(globalArchive));
|
||||
save();
|
||||
// std::cout << "Final archive\n";
|
||||
// globalArchive.sortedPrintOn(std::cout);
|
||||
// std::cout << std::endl;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
eoInit < MOEOT > & init;
|
||||
eoEvalFunc < MOEOT > & eval;
|
||||
eoContinue < MOEOT > & continuator;
|
||||
moeoArchive < MOEOT > & internalArchive;
|
||||
moeoUnifiedDominanceBasedLS < Move > ls;
|
||||
moeoArchive < MOEOT > & globalArchive;
|
||||
std::string & fileName;
|
||||
unsigned int count;
|
||||
|
||||
|
||||
void save()
|
||||
{
|
||||
// save count in a file
|
||||
std::string tmp = fileName;
|
||||
tmp += ".stat";
|
||||
std::ofstream outfile(tmp.c_str());
|
||||
outfile << count << std::endl;
|
||||
outfile.close();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEORESTARTLS_H*/
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* <moeoSubNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOSIMPLESUBNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOSIMPLESUBNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <moeoSubNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* Explorer which explore a part of the neighborhood
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoSimpleSubNeighborhoodExplorer : public moeoSubNeighborhoodExplorer < Move >
|
||||
{
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
/** Alias for the objeciveVector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
using moeoSubNeighborhoodExplorer<Move>::move;
|
||||
using moeoSubNeighborhoodExplorer<Move>::objVec;
|
||||
using moeoSubNeighborhoodExplorer<Move>::number;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
* @param _number the number of neighbor to explore
|
||||
*/
|
||||
moeoSimpleSubNeighborhoodExplorer(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval,
|
||||
unsigned int _number)
|
||||
: moeoSubNeighborhoodExplorer< Move >(_moveInit, _nextMove, _incrEval, _number){}
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* explorer of one individual
|
||||
* @param _src the individual to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void explore(MOEOT & _src, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
unsigned int tmp = number;
|
||||
moveInit(move, _src);
|
||||
do
|
||||
{
|
||||
objVec = incrEval(move, _src);
|
||||
_dest.push_back(_src);
|
||||
move(_dest.back());
|
||||
_dest.back().objectiveVector(objVec);
|
||||
_dest.back().flag(0);
|
||||
tmp--;
|
||||
}
|
||||
while (nextMove(move, _src) && (tmp > 0));
|
||||
if(!nextMove(move, _src))
|
||||
_src.flag(1);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /*_MOEOSIMPLESUBNEIGHBORHOODEXPLORER_H_*/
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* <moeoSubNeighborhoodExplorer.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOSUBNEIGHBORHOODEXPLORER_H
|
||||
#define _MOEOSUBNEIGHBORHOODEXPLORER_H
|
||||
|
||||
#include <eoPop.h>
|
||||
#include <moMove.h>
|
||||
#include <moMoveInit.h>
|
||||
#include <moNextMove.h>
|
||||
#include <moMoveIncrEval.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
|
||||
/**
|
||||
* Explorer which explore a part of the neighborhood
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoSubNeighborhoodExplorer : public moeoPopNeighborhoodExplorer < Move >
|
||||
{
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
/** Alias for the objeciveVector */
|
||||
typedef typename MOEOT::ObjectiveVector ObjectiveVector;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _moveInit the move initializer
|
||||
* @param _nextMove allow to do or not a move
|
||||
* @param _incrEval a (generally) efficient evaluation fonction
|
||||
* @param _number the number of neighbor to explore
|
||||
*/
|
||||
moeoSubNeighborhoodExplorer(
|
||||
moMoveInit < Move > & _moveInit,
|
||||
moNextMove < Move > & _nextMove,
|
||||
moMoveIncrEval < Move, ObjectiveVector > & _incrEval,
|
||||
unsigned int _number)
|
||||
: moveInit(_moveInit), nextMove(_nextMove), incrEval(_incrEval), number(_number){}
|
||||
|
||||
/**
|
||||
* functor to explore the neighborhood
|
||||
* @param _src the population to explore
|
||||
* @param _select contains index of individuals from the population to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
void operator()(eoPop < MOEOT > & _src, std::vector <unsigned int> _select, eoPop < MOEOT > & _dest)
|
||||
{
|
||||
for(unsigned int i=0; i<_select.size(); i++)
|
||||
explore(_src[_select[i]], _dest);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* explorer of one individual
|
||||
* @param _src the individual to explore
|
||||
* @param _dest contains new generated individuals
|
||||
*/
|
||||
virtual void explore(MOEOT & _src, eoPop < MOEOT > & _dest) = 0;
|
||||
|
||||
/** Move */
|
||||
Move move;
|
||||
/** ObjectiveVector */
|
||||
ObjectiveVector objVec;
|
||||
/** the move initializer */
|
||||
moMoveInit < Move > & moveInit;
|
||||
/** the entity which allow to do a move */
|
||||
moNextMove < Move > & nextMove;
|
||||
/** the incremental evaluation */
|
||||
moMoveIncrEval < Move, ObjectiveVector > & incrEval;
|
||||
/** number of neighbor to explore for each selected individual*/
|
||||
unsigned int number;
|
||||
|
||||
};
|
||||
|
||||
#endif /*_MOEOSUBNEIGHBORHOODEXPLORER_H_*/
|
||||
147
branches/contribution/branches/MOLS/src2/moeoUnifiedDominanceBasedLS.h
Executable file
147
branches/contribution/branches/MOLS/src2/moeoUnifiedDominanceBasedLS.h
Executable file
|
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* <moeoUnifiedDominanceBasedLS.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOUNIFIEDDOMINANCEBASEDLS_H
|
||||
#define _MOEOUNIFIEDDOMINANCEBASEDLS_H
|
||||
|
||||
#include <eoPop.h>
|
||||
#include <eoContinue.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoPopEvalFunc.h>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <moeoPopLS.h>
|
||||
#include <moeoPopNeighborhoodExplorer.h>
|
||||
#include <moeoUnvisitedSelect.h>
|
||||
|
||||
/**
|
||||
* A class to design dominance based local searches
|
||||
*/
|
||||
template < class Move >
|
||||
class moeoUnifiedDominanceBasedLS : public moeoPopLS < Move >
|
||||
{
|
||||
public:
|
||||
|
||||
/** Alias for the type */
|
||||
typedef typename Move::EOType MOEOT;
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
* @param _continuator a stop creterion
|
||||
* @param _eval a evaluation function
|
||||
* @param _archive a archive to store no-dominated individuals
|
||||
* @param _explorer a neighborhood explorer
|
||||
* @param _select a selector of unvisited individuals of a population
|
||||
*/
|
||||
moeoUnifiedDominanceBasedLS(
|
||||
eoContinue < MOEOT > & _continuator,
|
||||
eoEvalFunc < MOEOT > & _eval,
|
||||
moeoArchive < MOEOT > & _archive,
|
||||
moeoPopNeighborhoodExplorer < Move > & _explorer,
|
||||
moeoUnvisitedSelect < MOEOT > & _select) :
|
||||
continuator(_continuator), loopEval(_eval), popEval(loopEval), archive(_archive), explorer(_explorer), select(_select) {}
|
||||
|
||||
/**
|
||||
* Applies a few generation of evolution to the population _pop.
|
||||
* @param _pop the population
|
||||
*/
|
||||
virtual void operator()(eoPop < MOEOT > & _pop)
|
||||
{
|
||||
std::vector < unsigned int> selectionVector;
|
||||
eoPop < MOEOT > tmp_pop;
|
||||
popEval(tmp_pop, _pop);
|
||||
archive(_pop);
|
||||
do{
|
||||
tmp_pop.resize(0);
|
||||
//selection
|
||||
selectionVector = select(archive);
|
||||
//exploration
|
||||
explorer(archive, selectionVector, tmp_pop);
|
||||
//archivage
|
||||
archive(tmp_pop);
|
||||
}
|
||||
while (continuator(archive) && naturalContinuator(archive));
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
/** continuator */
|
||||
eoContinue < MOEOT > & continuator;
|
||||
/** loopEval */
|
||||
eoPopLoopEval < MOEOT > loopEval;
|
||||
/** popEval */
|
||||
eoPopEvalFunc < MOEOT > & popEval;
|
||||
/** archive */
|
||||
moeoArchive < MOEOT > & archive;
|
||||
/** explorer */
|
||||
moeoPopNeighborhoodExplorer < Move > & explorer;
|
||||
/** selector */
|
||||
moeoUnvisitedSelect < MOEOT > & select;
|
||||
|
||||
/**
|
||||
* Natural Continuator (Stop when all individuals of the population are visited)
|
||||
*/
|
||||
class moeoContinue : public eoUF < eoPop < MOEOT > &, bool >
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* Ctor
|
||||
*/
|
||||
moeoContinue(){}
|
||||
|
||||
/**
|
||||
* functor which evaluate if the algorithm continue or not
|
||||
* @param _pop the population
|
||||
* @return true if the algorithm continue, else return false
|
||||
*/
|
||||
virtual bool operator()(eoPop < MOEOT > & _pop)
|
||||
{
|
||||
bool res = false;
|
||||
unsigned int i=0;
|
||||
while (!res && i < _pop.size()){
|
||||
res = (_pop[i].flag() != 1);
|
||||
i++;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
} naturalContinuator;
|
||||
|
||||
};
|
||||
|
||||
#endif /*MOEOUNIFIEDDOMINANCEBASEDLS_H_*/
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* <moeoUnvisitedSelect.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jérémie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _MOEOUNVISITEDSELECT_H
|
||||
#define _MOEOUNVISITEDSELECT_H
|
||||
|
||||
#include <eoPop.h>
|
||||
|
||||
/**
|
||||
* Abstract Selector
|
||||
*/
|
||||
template < class MOEOT >
|
||||
class moeoUnvisitedSelect: public eoUF < eoPop < MOEOT > &, std::vector< unsigned int > >{};
|
||||
|
||||
#endif /*MOEOUNVISITEDSELECT_H_*/
|
||||
31
branches/contribution/branches/MOLS/test/CMakeLists.txt
Normal file
31
branches/contribution/branches/MOLS/test/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
SET (TEST_LIST
|
||||
t-moeoExhaustiveUnvisitedSelect
|
||||
t-moeoNumberUnvisitedSelect
|
||||
t-moeoExhaustiveNeighborhoodExplorer
|
||||
t-moeoSimpleSubNeighborhoodExplorer
|
||||
t-moeoFirstImprovingNeighborhoodExplorer
|
||||
t-moeoRecursiveFirstImprovingNeighborhoodExplorer
|
||||
t-moeoUnifiedDominanceBasedLS
|
||||
t-moeoDMLSGenUpdater
|
||||
t-moeoDMLSMonOp
|
||||
t-moeoPLS1
|
||||
t-moeoPLS2
|
||||
)
|
||||
|
||||
FOREACH (test ${TEST_LIST})
|
||||
SET ("T_${test}_SOURCES" "${test}.cpp")
|
||||
ENDFOREACH (test)
|
||||
|
||||
|
||||
FOREACH (test ${TEST_LIST})
|
||||
ADD_EXECUTABLE(${test} ${T_${test}_SOURCES})
|
||||
ADD_TEST(${test} ${test})
|
||||
ENDFOREACH (test)
|
||||
|
||||
# Link the librairies
|
||||
FOREACH (test ${TEST_LIST})
|
||||
TARGET_LINK_LIBRARIES(${test} moeo ga es eoutils eo)
|
||||
ENDFOREACH (test)
|
||||
|
||||
######################################################################################
|
||||
|
||||
170
branches/contribution/branches/MOLS/test/moeoTestClass.h
Normal file
170
branches/contribution/branches/MOLS/test/moeoTestClass.h
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
#include <eo>
|
||||
#include <mo>
|
||||
#include <moeo>
|
||||
|
||||
|
||||
class ObjectiveVectorTraits : public moeoObjectiveVectorTraits
|
||||
{
|
||||
public:
|
||||
static bool minimizing (int i)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
static bool maximizing (int i)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
static unsigned int nObjectives ()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
};
|
||||
|
||||
typedef moeoRealObjectiveVector < ObjectiveVectorTraits > ObjectiveVector;
|
||||
|
||||
typedef MOEO < ObjectiveVector, double, double > Solution;
|
||||
|
||||
class testEval : public eoEvalFunc<Solution>
|
||||
{
|
||||
public:
|
||||
void operator()(Solution & _solution){
|
||||
ObjectiveVector objVec;
|
||||
objVec[0]=500;
|
||||
objVec[1]=0;
|
||||
_solution.objectiveVector(objVec);
|
||||
}
|
||||
};
|
||||
|
||||
class testMove : public moMove < Solution >
|
||||
{
|
||||
public :
|
||||
|
||||
void operator () (Solution & _solution)
|
||||
{
|
||||
Solution sol=_solution;
|
||||
counter++;
|
||||
}
|
||||
|
||||
void setCounter(unsigned int i){
|
||||
counter=i;
|
||||
}
|
||||
|
||||
unsigned int getCounter(){
|
||||
return counter;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned int counter;
|
||||
|
||||
} ;
|
||||
|
||||
class testMoveInit : public moMoveInit <testMove>
|
||||
{
|
||||
public :
|
||||
void operator () (testMove & _move, const Solution & _solution)
|
||||
{
|
||||
_move.setCounter(0);
|
||||
const Solution sol(_solution);
|
||||
}
|
||||
} ;
|
||||
|
||||
class testMoveNext : public moNextMove <testMove>
|
||||
{
|
||||
public :
|
||||
|
||||
testMoveNext(unsigned int _counter=0):counter(_counter){};
|
||||
|
||||
bool operator () (testMove & _move, const Solution & _solution)
|
||||
{
|
||||
testMove move(_move);
|
||||
const Solution sol(_solution);
|
||||
return _move.getCounter() < 5;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned int counter;
|
||||
} ;
|
||||
|
||||
class testMoveIncrEval : public moMoveIncrEval <testMove, ObjectiveVector>
|
||||
{
|
||||
public :
|
||||
ObjectiveVector operator () (const testMove & _move, const Solution & _solution)
|
||||
{
|
||||
ObjectiveVector objVec= _solution.objectiveVector();
|
||||
objVec[0]+=2;
|
||||
objVec[1]+=2;
|
||||
return objVec;
|
||||
}
|
||||
} ;
|
||||
|
||||
class testMoveIncrEval2 : public moMoveIncrEval <testMove, ObjectiveVector>
|
||||
{
|
||||
public :
|
||||
|
||||
testMoveIncrEval2(unsigned int _counter=1):counter(_counter){};
|
||||
|
||||
ObjectiveVector operator () (const testMove & _move, const Solution & _solution)
|
||||
{
|
||||
ObjectiveVector objVec= _solution.objectiveVector();
|
||||
objVec[0]+=counter;
|
||||
objVec[1]+=counter;
|
||||
counter++;
|
||||
return objVec;
|
||||
}
|
||||
private:
|
||||
unsigned int counter;
|
||||
} ;
|
||||
|
||||
class testMoveIncrEval3 : public moMoveIncrEval <testMove, ObjectiveVector>
|
||||
{
|
||||
public :
|
||||
ObjectiveVector operator () (const testMove & _move, const Solution & _solution)
|
||||
{
|
||||
ObjectiveVector objVec= _solution.objectiveVector();
|
||||
if(objVec[0]>0)
|
||||
objVec[0]--;
|
||||
else
|
||||
objVec[0]=500;
|
||||
if(objVec[1]<500)
|
||||
objVec[1]++;
|
||||
else
|
||||
objVec[1]=500;
|
||||
return objVec;
|
||||
}
|
||||
} ;
|
||||
|
||||
class testMoveIncrEval4 : public moMoveIncrEval <testMove, ObjectiveVector>
|
||||
{
|
||||
public :
|
||||
|
||||
testMoveIncrEval4(unsigned int _counter=0):counter(_counter){};
|
||||
|
||||
ObjectiveVector operator () (const testMove & _move, const Solution & _solution)
|
||||
{
|
||||
ObjectiveVector objVec= _solution.objectiveVector();
|
||||
switch (counter){
|
||||
case 0:
|
||||
objVec[0]++;
|
||||
objVec[1]++;
|
||||
break;
|
||||
case 1:
|
||||
objVec[0]++;
|
||||
objVec[1]--;
|
||||
break;
|
||||
case 2:
|
||||
objVec[0]--;
|
||||
objVec[1]++;
|
||||
break;
|
||||
default:
|
||||
if(objVec[0]>0){
|
||||
objVec[0]--;
|
||||
objVec[1]--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
counter++;
|
||||
return objVec;
|
||||
}
|
||||
private:
|
||||
unsigned int counter;
|
||||
} ;
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* <t-moeoDMLSGenUpdater.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoDMLSGenUpdater.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <eoTenTimeContinue.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
#include <moeoDMLSGenUpdater.h>
|
||||
#include <eoGenContinue.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoDMLSGenUpdater] => ";
|
||||
|
||||
|
||||
|
||||
moeoExhaustiveUnvisitedSelect < Solution > select;
|
||||
|
||||
testEval eval;
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval2 incr;
|
||||
testMoveIncrEval3 incr2;
|
||||
moeoExhaustiveNeighborhoodExplorer < testMove > explorer(init, next, incr);
|
||||
|
||||
moeoUnboundedArchive <Solution> arch;
|
||||
moeoUnboundedArchive <Solution> arch2;
|
||||
eoGenContinue <Solution> cont(10);
|
||||
moeoUnifiedDominanceBasedLS <testMove> algo(cont, eval, arch, explorer, select);
|
||||
|
||||
eoGenContinue < Solution > cont2(10);
|
||||
|
||||
|
||||
moeoDMLSGenUpdater < testMove > updater(algo, arch, arch2, cont2);
|
||||
|
||||
moeoDMLSGenUpdater < testMove > updater2(eval, explorer, select, arch2, cont2);
|
||||
|
||||
moeoDMLSGenUpdater < testMove > updater3(eval, arch, explorer, select, arch2, cont2, 10, true);
|
||||
|
||||
// objective vectors
|
||||
eoPop<Solution> pop;
|
||||
for(unsigned int i=0;i<9; i++){
|
||||
updater();
|
||||
assert(cont2.value()==i+1);
|
||||
}
|
||||
updater();
|
||||
updater();
|
||||
std::cout << cont2.value();
|
||||
assert(cont2.value()==1);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
92
branches/contribution/branches/MOLS/test/t-moeoDMLSMonOp.cpp
Normal file
92
branches/contribution/branches/MOLS/test/t-moeoDMLSMonOp.cpp
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* <t-moeoDMLSMonOp.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoDMLSMonOp.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <eoTenTimeContinue.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
#include <moeoDMLSMonOp.h>
|
||||
#include <eoGenContinue.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoDMLSMonOp] => ";
|
||||
|
||||
moeoExhaustiveUnvisitedSelect < Solution > select;
|
||||
|
||||
testEval eval;
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval2 incr;
|
||||
testMoveIncrEval3 incr2;
|
||||
moeoExhaustiveNeighborhoodExplorer < testMove > explorer(init, next, incr);
|
||||
|
||||
moeoUnboundedArchive <Solution> arch;
|
||||
eoGenContinue <Solution> cont(10);
|
||||
moeoUnifiedDominanceBasedLS <testMove> algo(cont, eval, arch, explorer, select);
|
||||
|
||||
moeoDMLSMonOp < testMove > updater(algo, arch);
|
||||
|
||||
moeoDMLSMonOp < testMove > updater2(eval, explorer, select);
|
||||
|
||||
moeoDMLSMonOp < testMove > updater3(eval, arch, explorer, select, 10, true);
|
||||
|
||||
// objective vectors
|
||||
Solution moeo;
|
||||
ObjectiveVector obj;
|
||||
obj[0]=500;
|
||||
obj[1]=500;
|
||||
moeo.objectiveVector(obj);
|
||||
updater(moeo);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* <t-moeoExhaustiveNeighborhoodExplorer.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoExhaustiveNeighborhoodExplorer.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <mo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
#include <moeoTestClass.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoExhaustiveNeighborhoodExplorer]\n\n";
|
||||
|
||||
// objective vectors
|
||||
ObjectiveVector obj0, obj1;
|
||||
obj0[0]=0;
|
||||
obj0[1]=1;
|
||||
obj1[0]=10;
|
||||
obj1[1]=11;
|
||||
eoPop < Solution > src;
|
||||
eoPop < Solution > dest;
|
||||
std::vector < unsigned int > select;
|
||||
src.resize(5);
|
||||
src[2].objectiveVector(obj0);
|
||||
src[4].objectiveVector(obj1);
|
||||
src[0].flag(0);
|
||||
src[1].flag(0);
|
||||
src[2].flag(0);
|
||||
src[3].flag(0);
|
||||
src[4].flag(0);
|
||||
dest.resize(0);
|
||||
select.resize(2);
|
||||
select[0]=2;
|
||||
select[1]=4;
|
||||
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval incr;
|
||||
|
||||
moeoExhaustiveNeighborhoodExplorer < testMove > explorer(init, next, incr);
|
||||
|
||||
explorer(src, select, dest);
|
||||
assert(dest.size()==10);
|
||||
assert(src[0].flag()==0);
|
||||
assert(src[1].flag()==0);
|
||||
assert(src[2].flag()==1);
|
||||
assert(src[3].flag()==0);
|
||||
assert(src[4].flag()==1);
|
||||
for(int i=0 ; i< 10 ; i++)
|
||||
assert(dest[i].flag()==0);
|
||||
assert(dest[0].objectiveVector()[0]==2);
|
||||
assert(dest[1].objectiveVector()[1]==3);
|
||||
assert(dest[2].objectiveVector()[0]==2);
|
||||
assert(dest[3].objectiveVector()[1]==3);
|
||||
assert(dest[4].objectiveVector()[0]==2);
|
||||
|
||||
assert(dest[5].objectiveVector()[0]==12);
|
||||
assert(dest[6].objectiveVector()[1]==13);
|
||||
assert(dest[7].objectiveVector()[0]==12);
|
||||
assert(dest[8].objectiveVector()[1]==13);
|
||||
assert(dest[9].objectiveVector()[0]==12);
|
||||
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* <t-moeoExhaustiveUnvisitedSelect.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoExhaustiveUnvisitedSelect.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoExhaustiveUnvisitedSelect]\n\n";
|
||||
|
||||
// objective vectors
|
||||
eoPop < Solution > pop;
|
||||
pop.resize(5);
|
||||
pop[0].flag(1);
|
||||
pop[1].flag(0);
|
||||
pop[2].flag(0);
|
||||
pop[3].flag(1);
|
||||
pop[4].flag(0);
|
||||
|
||||
moeoExhaustiveUnvisitedSelect < Solution > select;
|
||||
|
||||
std::vector <unsigned int> res;
|
||||
|
||||
res=select(pop);
|
||||
assert(res.size()==3);
|
||||
assert(res[0]==1);
|
||||
assert(res[1]==2);
|
||||
assert(res[2]==4);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* <t-moeoFirstImprovingNeighborhoodExplorer.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoFirstImprovingNeighborhoodExplorer.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <mo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <iostream>
|
||||
#include <moeoFirstImprovingNeighborhoodExplorer.h>
|
||||
#include <moeoTestClass.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoFirstImprovingNeighborhoodExplorer] => ";
|
||||
|
||||
// objective vectors
|
||||
ObjectiveVector obj0;
|
||||
obj0[0]=10;
|
||||
obj0[1]=10;
|
||||
eoPop < Solution > src;
|
||||
eoPop < Solution > dest;
|
||||
std::vector < unsigned int > select;
|
||||
src.resize(1);
|
||||
src[0].objectiveVector(obj0);
|
||||
src[0].flag(0);
|
||||
dest.resize(0);
|
||||
select.resize(1);
|
||||
select[0]=0;
|
||||
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval4 incr;
|
||||
testMoveIncrEval3 incr2;
|
||||
|
||||
moeoFirstImprovingNeighborhoodExplorer < testMove > explorer(init, next, incr);
|
||||
|
||||
explorer(src, select, dest);
|
||||
|
||||
assert(dest.size()==3);
|
||||
assert(src[0].flag()==0);
|
||||
for(int i=0 ; i< 3 ; i++)
|
||||
assert(dest[i].flag()==0);
|
||||
assert(dest[0].objectiveVector()[0]==11);
|
||||
assert(dest[0].objectiveVector()[1]==9);
|
||||
assert(dest[1].objectiveVector()[0]==9);
|
||||
assert(dest[1].objectiveVector()[1]==11);
|
||||
assert(dest[2].objectiveVector()[0]==9);
|
||||
assert(dest[2].objectiveVector()[1]==9);
|
||||
|
||||
moeoFirstImprovingNeighborhoodExplorer < testMove > explorer2(init, next, incr2);
|
||||
dest.resize(0);
|
||||
explorer2(src, select, dest);
|
||||
assert(dest.size()==5);
|
||||
assert(src[0].flag()==1);
|
||||
for(int i=0 ; i< 5 ; i++){
|
||||
assert(dest[i].flag()==0);
|
||||
assert(dest[i].objectiveVector()[0]==9);
|
||||
assert(dest[i].objectiveVector()[1]==11);
|
||||
}
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
* <t-moeoNumberUnvisitedSelect.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoNumberUnvisitedSelect.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoNumberUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoNumberUnvisitedSelect]\n\n";
|
||||
|
||||
// objective vectors
|
||||
eoPop < Solution > pop;
|
||||
pop.resize(5);
|
||||
pop[0].flag(1);
|
||||
pop[1].flag(0);
|
||||
pop[2].flag(0);
|
||||
pop[3].flag(1);
|
||||
pop[4].flag(0);
|
||||
|
||||
moeoNumberUnvisitedSelect < Solution > select(2);
|
||||
|
||||
std::vector <unsigned int> res;
|
||||
|
||||
//test general
|
||||
res=select(pop);
|
||||
assert(res.size()==2);
|
||||
assert(res[0]==1 || res[0]==2 || res[0]==4);
|
||||
assert(res[1]==1 || res[1]==2 || res[1]==4);
|
||||
assert(res[0] != res[1]);
|
||||
|
||||
//test au bornes
|
||||
moeoNumberUnvisitedSelect < Solution > select2(6);
|
||||
res.resize(0);
|
||||
res=select2(pop);
|
||||
assert(res.size()==3);
|
||||
assert(res[0]==1 || res[0]==2 || res[0]==4);
|
||||
assert(res[1]==1 || res[1]==2 || res[1]==4);
|
||||
assert(res[2]==1 || res[2]==2 || res[2]==4);
|
||||
assert(res[0] != res[1]);
|
||||
assert(res[0] != res[2]);
|
||||
assert(res[1] != res[2]);
|
||||
|
||||
moeoNumberUnvisitedSelect < Solution > select3(0);
|
||||
res.resize(0);
|
||||
res=select3(pop);
|
||||
assert(res.size()==0);
|
||||
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
83
branches/contribution/branches/MOLS/test/t-moeoPLS1.cpp
Normal file
83
branches/contribution/branches/MOLS/test/t-moeoPLS1.cpp
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* <t-moeoPLS1.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoPLS1.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
#include <moeoPLS1.h>
|
||||
#include <eoTenTimeContinue.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoPLS1] => ";
|
||||
|
||||
testEval eval;
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval2 incr;
|
||||
|
||||
moeoUnboundedArchive <Solution> arch;
|
||||
eoCtrlCContinue <Solution> cont;
|
||||
moeoPLS1 <testMove> algo(cont, eval, arch, init, next, incr);
|
||||
|
||||
// objective vectors
|
||||
eoPop < Solution > pop;
|
||||
pop.resize(2);
|
||||
pop[0].flag(0);
|
||||
pop[1].flag(0);
|
||||
|
||||
algo(pop);
|
||||
|
||||
assert(arch.size()==1);
|
||||
assert(arch[0].flag()==1);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
83
branches/contribution/branches/MOLS/test/t-moeoPLS2.cpp
Normal file
83
branches/contribution/branches/MOLS/test/t-moeoPLS2.cpp
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* <t-moeoPLS2.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoPLS2.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
#include <moeoPLS2.h>
|
||||
#include <eoTenTimeContinue.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoPLS2] => ";
|
||||
|
||||
testEval eval;
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval2 incr;
|
||||
|
||||
moeoUnboundedArchive <Solution> arch;
|
||||
eoCtrlCContinue <Solution> cont;
|
||||
moeoPLS2 <testMove> algo(cont, eval, arch, init, next, incr);
|
||||
|
||||
// objective vectors
|
||||
eoPop < Solution > pop;
|
||||
pop.resize(2);
|
||||
pop[0].flag(0);
|
||||
pop[1].flag(0);
|
||||
|
||||
algo(pop);
|
||||
|
||||
assert(arch.size()==1);
|
||||
assert(arch[0].flag()==1);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
/*
|
||||
* <t-moeoSubNeighborhoodExplorer.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoSubNeighborhoodExplorer.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <mo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoSimpleSubNeighborhoodExplorer.h>
|
||||
#include <moeoTestClass.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoSimpleSubNeighborhoodExplorer]\n\n";
|
||||
|
||||
// objective vectors
|
||||
ObjectiveVector obj0, obj1;
|
||||
obj0[0]=0;
|
||||
obj0[1]=1;
|
||||
obj1[0]=10;
|
||||
obj1[1]=11;
|
||||
eoPop < Solution > src;
|
||||
eoPop < Solution > dest;
|
||||
std::vector < unsigned int > select;
|
||||
src.resize(5);
|
||||
src[2].objectiveVector(obj0);
|
||||
src[4].objectiveVector(obj1);
|
||||
src[0].flag(0);
|
||||
src[1].flag(0);
|
||||
src[2].flag(0);
|
||||
src[3].flag(0);
|
||||
src[4].flag(0);
|
||||
dest.resize(0);
|
||||
select.resize(2);
|
||||
select[0]=2;
|
||||
select[1]=4;
|
||||
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval incr;
|
||||
|
||||
moeoSimpleSubNeighborhoodExplorer < testMove > explorer(init, next, incr, 6);
|
||||
|
||||
explorer(src, select, dest);
|
||||
assert(dest.size()==10);
|
||||
assert(src[0].flag()==0);
|
||||
assert(src[1].flag()==0);
|
||||
assert(src[2].flag()==1);
|
||||
assert(src[3].flag()==0);
|
||||
assert(src[4].flag()==1);
|
||||
for(int i=0 ; i< 10 ; i++)
|
||||
assert(dest[i].flag()==0);
|
||||
assert(dest[0].objectiveVector()[0]==2);
|
||||
assert(dest[1].objectiveVector()[1]==3);
|
||||
assert(dest[2].objectiveVector()[0]==2);
|
||||
assert(dest[3].objectiveVector()[1]==3);
|
||||
assert(dest[4].objectiveVector()[0]==2);
|
||||
|
||||
assert(dest[5].objectiveVector()[0]==12);
|
||||
assert(dest[6].objectiveVector()[1]==13);
|
||||
assert(dest[7].objectiveVector()[0]==12);
|
||||
assert(dest[8].objectiveVector()[1]==13);
|
||||
assert(dest[9].objectiveVector()[0]==12);
|
||||
|
||||
src[2].flag(0);
|
||||
src[4].flag(0);
|
||||
dest.resize(0);
|
||||
|
||||
moeoSimpleSubNeighborhoodExplorer < testMove > explorer2(init, next, incr, 3);
|
||||
|
||||
explorer2(src, select, dest);
|
||||
assert(dest.size()==6);
|
||||
assert(src[0].flag()==0);
|
||||
assert(src[1].flag()==0);
|
||||
assert(src[2].flag()==0);
|
||||
assert(src[3].flag()==0);
|
||||
assert(src[4].flag()==0);
|
||||
for(int i=0 ; i< 6 ; i++)
|
||||
assert(dest[i].flag()==0);
|
||||
assert(dest[0].objectiveVector()[0]==2);
|
||||
assert(dest[1].objectiveVector()[1]==3);
|
||||
assert(dest[2].objectiveVector()[0]==2);
|
||||
|
||||
assert(dest[3].objectiveVector()[0]==12);
|
||||
assert(dest[4].objectiveVector()[1]==13);
|
||||
assert(dest[5].objectiveVector()[0]==12);
|
||||
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
* <t-moeoUnifiedDominanceBasedLS.cpp>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Lille-Nord Europe, 2006-2008
|
||||
* (C) OPAC Team, LIFL, 2002-2008
|
||||
*
|
||||
* Arnaud Liefooghe
|
||||
* Jeremie Humeau
|
||||
*
|
||||
* This software is governed by the CeCILL license under French law and
|
||||
* abiding by the rules of distribution of free software. You can use,
|
||||
* modify and/ or redistribute the software under the terms of the CeCILL
|
||||
* license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
* "http://www.cecill.info".
|
||||
*
|
||||
* As a counterpart to the access to the source code and rights to copy,
|
||||
* modify and redistribute granted by the license, users are provided only
|
||||
* with a limited warranty and the software's author, the holder of the
|
||||
* economic rights, and the successive licensors have only limited liability.
|
||||
*
|
||||
* In this respect, the user's attention is drawn to the risks associated
|
||||
* with loading, using, modifying and/or developing or reproducing the
|
||||
* software by the user in light of its specific status of free software,
|
||||
* that may mean that it is complicated to manipulate, and that also
|
||||
* therefore means that it is reserved for developers and experienced
|
||||
* professionals having in-depth computer knowledge. Users are therefore
|
||||
* encouraged to load and test the software's suitability as regards their
|
||||
* requirements in conditions enabling the security of their systems and/or
|
||||
* data to be ensured and, more generally, to use and operate it in the
|
||||
* same conditions as regards security.
|
||||
* The fact that you are presently reading this means that you have had
|
||||
* knowledge of the CeCILL license and that you accept its terms.
|
||||
*
|
||||
* ParadisEO WebSite : http://paradiseo.gforge.inria.fr
|
||||
* Contact: paradiseo-help@lists.gforge.inria.fr
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
// t-moeoUnifiedDominanceBasedLS.cpp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <assert.h>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <moeoExhaustiveUnvisitedSelect.h>
|
||||
#include <moeoTestClass.h>
|
||||
#include <moeoUnifiedDominanceBasedLS.h>
|
||||
#include <eoTenTimeContinue.h>
|
||||
#include <moeoExhaustiveNeighborhoodExplorer.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "[moeoUnifiedDominanceBasedLS] => ";
|
||||
|
||||
|
||||
|
||||
moeoExhaustiveUnvisitedSelect < Solution > select;
|
||||
|
||||
testEval eval;
|
||||
testMoveInit init;
|
||||
testMoveNext next;
|
||||
testMoveIncrEval2 incr;
|
||||
testMoveIncrEval3 incr2;
|
||||
moeoExhaustiveNeighborhoodExplorer < testMove > explorer(init, next, incr);
|
||||
|
||||
moeoUnboundedArchive <Solution> arch;
|
||||
eoCtrlCContinue <Solution> cont;
|
||||
moeoUnifiedDominanceBasedLS <testMove> algo(cont, eval, arch, explorer, select);
|
||||
|
||||
// objective vectors
|
||||
eoPop < Solution > pop;
|
||||
pop.resize(2);
|
||||
pop[0].flag(0);
|
||||
pop[1].flag(0);
|
||||
|
||||
algo(pop);
|
||||
|
||||
assert(arch.size()==1);
|
||||
assert(arch[0].flag()==1);
|
||||
|
||||
arch.resize(0);
|
||||
moeoExhaustiveNeighborhoodExplorer < testMove > explorer2(init, next, incr2);
|
||||
moeoUnifiedDominanceBasedLS <testMove> algo2(cont, eval, arch, explorer2, select);
|
||||
algo2(pop);
|
||||
assert(arch.size()==501);
|
||||
assert(arch[0].objectiveVector()[0]==500);
|
||||
assert(arch[0].objectiveVector()[1]==0);
|
||||
assert(arch[500].objectiveVector()[1]==500);
|
||||
assert(arch[500].objectiveVector()[0]==0);
|
||||
|
||||
std::cout << "OK" << std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
56
branches/contribution/branches/MOLS/utils/count/count.cpp
Normal file
56
branches/contribution/branches/MOLS/utils/count/count.cpp
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <assert.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
unsigned int i, j;
|
||||
assert(argc ==4);
|
||||
string s,sub;
|
||||
ifstream infile(argv[1], std::ios::in);
|
||||
double p_value = atof(argv[2]);
|
||||
FILE* fp = fopen(argv[3], "wb");
|
||||
int tab[8];
|
||||
double tmp;
|
||||
for(unsigned int w=0; w<8; w++)
|
||||
tab[w]=0;
|
||||
// Ouvre le fichier de données :
|
||||
i=0;
|
||||
j=0;
|
||||
if (infile.is_open()){
|
||||
double tmp=0.0;
|
||||
//lit le fichier ligne par ligne
|
||||
while (std::getline (infile, s)){
|
||||
if (s.length()>0){
|
||||
sub=s.substr(35);
|
||||
std::cout << "atof: " << atof(sub.c_str()) << endl;
|
||||
tmp=atof(sub.c_str());
|
||||
std::cout << "tmp: " << tmp << endl;
|
||||
if( tmp < p_value)
|
||||
tab[i]++;
|
||||
j++;
|
||||
if(j>6){
|
||||
i++;
|
||||
j=0;
|
||||
}
|
||||
std::cout << i << " " << j << endl;
|
||||
}
|
||||
}
|
||||
std::cout << "hop" << endl;
|
||||
//ferme le fichier
|
||||
infile.close();
|
||||
}
|
||||
fprintf(fp, "OneOne: %d\n", tab[7]);
|
||||
fprintf(fp, "OneND: %d\n", tab[6]);
|
||||
fprintf(fp, "OneFirst: %d\n", tab[5]);
|
||||
fprintf(fp, "OneAll: %d\n", tab[4]);
|
||||
fprintf(fp, "AllOne: %d\n", tab[3]);
|
||||
fprintf(fp, "AllND: %d\n", tab[2]);
|
||||
fprintf(fp, "AllFirst: %d\n", tab[1]);
|
||||
fprintf(fp, "AllAll: %d\n", tab[0]);
|
||||
return 0;
|
||||
fclose(fp);
|
||||
}
|
||||
82
branches/contribution/branches/MOLS/utils/fig/fig.sh
Normal file
82
branches/contribution/branches/MOLS/utils/fig/fig.sh
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
plotOne()
|
||||
{
|
||||
OUTPUT=$1
|
||||
BENCH=$2
|
||||
METRIC=$3
|
||||
# echo "set term postscript eps enhanced" >> temp
|
||||
echo "set term epslatex colour" >> temp
|
||||
echo "set output \"$OUTPUT\"" >> temp
|
||||
echo "set nokey" >> temp
|
||||
echo "set size 0.6,0.6" >> temp
|
||||
echo "set bmargin 1" >> temp
|
||||
echo "set tmargin 1" >> temp
|
||||
echo "set lmargin 2" >> temp
|
||||
echo "set rmargin 1" >> temp
|
||||
echo "set xrange [0:31]" >> temp
|
||||
echo "set yrange [0:0.15]" >> temp
|
||||
echo "plot 'fsp2.results/${BENCH}_OneOne_${METRIC}' title 'DMLS \$(1 \cdot 1)\$' with lines lt 1 lw 2, 'fsp2.results/${BENCH}_OneND_${METRIC}' title 'DMLS \$(1 \cdot 1_{\not\prec})\$' with lines lt 2 lw 2, 'fsp2.results/${BENCH}_OneFirst_${METRIC}' title 'DMLS \$(1 \cdot 1_{\succ})\$' with lines lt 3 lw 2, 'fsp2.results/${BENCH}_OneAll_${METRIC}' title 'DMLS \$(1 \cdot \star)\$' with lines lt 4 lw 2, 'fsp2.results/${BENCH}_AllOne_${METRIC}' title 'DMLS \$(\star \cdot 1)\$' with lines lt 5 lw 2, 'fsp2.results/${BENCH}_AllND_${METRIC}' title 'DMLS \$(\star \cdot 1_{\not\prec})\$' with lines lt 9 lw 2,'fsp2.results/${BENCH}_AllFirst_${METRIC}' title 'DMLS \$(\star \cdot 1_{\succ})\$' with lines lt 6 lw 2,'fsp2.results/${BENCH}_AllAll_${METRIC}' title 'DMLS \$(\star \cdot \star)\$' with lines lt 8 lw 2" >> temp
|
||||
echo "set out" >> temp
|
||||
gnuplot temp
|
||||
rm temp
|
||||
}
|
||||
|
||||
|
||||
plottest()
|
||||
{
|
||||
OUTPUT=$1
|
||||
# echo "set term postscript eps enhanced" >> temp
|
||||
echo "set term epslatex" >> temp
|
||||
echo "set output \"$OUTPUT\"" >> temp
|
||||
echo "set key reverse left center" >> temp
|
||||
echo "set noborder" >> temp
|
||||
echo "set noxtics" >> temp
|
||||
echo "set noytics" >> temp
|
||||
echo "set size 0.5,0.5" >> temp
|
||||
# echo "set bmargin 1" >> temp
|
||||
# echo "set tmargin 1" >> temp
|
||||
# echo "set lmargin 2" >> temp
|
||||
#s echo "set rmargin 1" >> temp
|
||||
echo "set xrange [0:31]" >> temp
|
||||
echo "set yrange [0:1]" >> temp
|
||||
echo "plot 2 title 'DMLS \$(1 \cdot 1)\$' with lines lt 1 lw 2, 2 title 'DMLS \$(1 \cdot 1_{\not\prec})\$' with lines lt 2 lw 2, 2 title 'DMLS \$(1 \cdot 1_{\succ})\$' with lines lt 3 lw 2, 2 title 'DMLS \$(1 \cdot \star)\$' with lines lt 4 lw 2, 2 title 'DMLS \$(\star \cdot 1)\$' with lines lt 5 lw 2, 2 title 'DMLS \$(\star \cdot 1_{\not\prec})\$' with lines lt 9 lw 2, 2 title 'DMLS \$(\star \cdot 1_{\succ})\$' with lines lt 6 lw 2, 2 title 'DMLS \$(\star \cdot \star)\$' with lines lt 8 lw 2" >> temp
|
||||
echo "set out" >> temp
|
||||
gnuplot temp
|
||||
rm temp
|
||||
}
|
||||
|
||||
plotOneBis()
|
||||
{
|
||||
OUTPUT=$1
|
||||
BENCH=$2
|
||||
METRIC=$3
|
||||
echo "set term postscript eps enhanced" >> temp
|
||||
echo "set output \"$OUTPUT\"" >> temp
|
||||
echo "set size 0.7,0.7" >> temp
|
||||
echo "set xrange [0:21]" >> temp
|
||||
echo "plot 'fsp2.results/${BENCH}_OneAll_${METRIC}' title 'DMLS (1 . *)' with lines lt 2 lw 5, 'fsp2.results/${BENCH}_AllOne_${METRIC}' title 'DMLS (* . 1)' with lines lt 3 lw 5, 'fsp2.results/${BENCH}_AllAll_${METRIC}' title 'DMLS (* . *)' with lines lt 5 lw 5" >> temp
|
||||
gnuplot temp
|
||||
rm temp
|
||||
}
|
||||
|
||||
plot()
|
||||
{
|
||||
BENCH=$1
|
||||
plotOne fsp2.fig.test/$BENCH\_eps.eps $BENCH eps
|
||||
plotOne fsp2.fig.test/$BENCH\_hyp.eps $BENCH hyp
|
||||
#plotOneBis fsp2.fig/$BENCH\_eps_bis.eps $BENCH eps
|
||||
#plotOneBis fsp2.fig/$BENCH\_hyp_bis.eps $BENCH hyp
|
||||
}
|
||||
|
||||
#plot 0200501
|
||||
#plot 0201001
|
||||
#plot 0202001
|
||||
#plot 0500501
|
||||
#plot 0501001
|
||||
#plot 0502001
|
||||
plot 1001001
|
||||
plot 1002001
|
||||
|
||||
#plottest fsp2.fig/legende.eps
|
||||
|
||||
cd fsp2.fig
|
||||
sed -i -e 's/-1287/2450/g' *.tex
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
######################################################################################
|
||||
### 0) Include the install configuration file where are defined the main variables
|
||||
######################################################################################
|
||||
|
||||
INCLUDE(${CMAKE_SOURCE_DIR}/install.cmake)
|
||||
|
||||
|
||||
FIND_PROGRAM(XML2_CONFIG_PROGRAM NAMES xml2-config PATHS /usr/local/bin /usr/bin DOC "The libxml2 (www.xmlsoft.org) configuration tool")
|
||||
|
||||
IF(NOT XML2_CONFIG_PROGRAM)
|
||||
#MESSAGE(FATAL_ERROR "Libxml2 cannot be found on your system. Libxml2 is required for ParadisEO-PEO install")
|
||||
ENDIF(NOT XML2_CONFIG_PROGRAM)
|
||||
|
||||
# set libxml2 cflags in XML2_CFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${XML2_CONFIG_PROGRAM} --cflags OUTPUT_VARIABLE XML2_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# set libxml2 libs in XML2_LIBS
|
||||
EXECUTE_PROCESS(COMMAND ${XML2_CONFIG_PROGRAM} --libs OUTPUT_VARIABLE XML2_LIBS)
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### Set your application properties
|
||||
######################################################################################
|
||||
|
||||
# Define your project name
|
||||
PROJECT(PEOPSODVRP)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
SUBDIRS ( src application )
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
82
branches/contribution/branches/PSO-DVRP/MultiSwarm/README
Normal file
82
branches/contribution/branches/PSO-DVRP/MultiSwarm/README
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
==========================================================================================
|
||||
INFORMATION
|
||||
==========================================================================================
|
||||
|
||||
PARADISEO (PARallel and DIStributed Evolving Objects) is a white-box object-oriented
|
||||
framework dedicated to the flexible design of metaheursitics.
|
||||
|
||||
This package is especially designed to help anyone who uses ParadisEO to build his
|
||||
own application.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
RELEASE
|
||||
==========================================================================================
|
||||
|
||||
The current release of the "mySimpleApplication" package is 1.0.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
WEBSITE
|
||||
==========================================================================================
|
||||
|
||||
Please visit our website at http://paradiseo.gforge.inria.fr.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
BUGS
|
||||
==========================================================================================
|
||||
|
||||
You can find the ParadisEO's bug tracker at:
|
||||
|
||||
http://gforge.inria.fr/tracker/?atid=663&group_id=145&func=browse
|
||||
|
||||
|
||||
==========================================================================================
|
||||
CONTACT
|
||||
==========================================================================================
|
||||
|
||||
For any question or for help, please write us at: paradiseo-help@lists.gforge.inria.fr.
|
||||
|
||||
|
||||
==========================================================================================
|
||||
DEPENDENCIES
|
||||
==========================================================================================
|
||||
|
||||
ParadisEO uses EO, a templates-based, ANSI-C++ compliant evolutionary computation library.
|
||||
It contains classes for almost any kind of evolutionary computation you might come up to - at
|
||||
least for the ones we could think of.
|
||||
EO Website:
|
||||
http://eodev.sourceforge.net/.
|
||||
EO is distributed under the GNU Lesser General Public License:
|
||||
http://www.gnu.org/copyleft/lesser.html
|
||||
|
||||
|
||||
==========================================================================================
|
||||
LICENSE
|
||||
==========================================================================================
|
||||
|
||||
ParadisEO is governed by the CeCILL license under French law and
|
||||
abiding by the rules of distribution of free software. You can use,
|
||||
modify and/ or redistribute the software under the terms of the CeCILL
|
||||
license as circulated by CEA, CNRS and INRIA at the following URL
|
||||
"http://www.cecill.info".
|
||||
|
||||
As a counterpart to the access to the source code and rights to copy,
|
||||
modify and redistribute granted by the license, users are provided only
|
||||
with a limited warranty and the software's author, the holder of the
|
||||
economic rights, and the successive licensors have only limited liability.
|
||||
|
||||
In this respect, the user's attention is drawn to the risks associated
|
||||
with loading, using, modifying and/or developing or reproducing the
|
||||
software by the user in light of its specific status of free software,
|
||||
that may mean that it is complicated to manipulate, and that also
|
||||
therefore means that it is reserved for developers and experienced
|
||||
professionals having in-depth computer knowledge. Users are therefore
|
||||
encouraged to load and test the software's suitability as regards their
|
||||
requirements in conditions enabling the security of their systems and/or
|
||||
data to be ensured and, more generally, to use and operate it in the
|
||||
same conditions as regards security.
|
||||
The fact that you are presently reading this means that you have had
|
||||
knowledge of the CeCILL license and that you accept its terms.
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[Dolphin]
|
||||
Timestamp=2009,1,14,23,22,41
|
||||
ViewMode=1
|
||||
Binary file not shown.
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c100 by convert2vt
|
||||
COMMENT: Best known objective: 826.14
|
||||
NAME: c100
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 10
|
||||
2 7
|
||||
3 13
|
||||
4 19
|
||||
5 26
|
||||
6 3
|
||||
7 5
|
||||
8 9
|
||||
9 16
|
||||
10 16
|
||||
11 12
|
||||
12 19
|
||||
13 23
|
||||
14 20
|
||||
15 8
|
||||
16 19
|
||||
17 2
|
||||
18 12
|
||||
19 17
|
||||
20 9
|
||||
21 11
|
||||
22 18
|
||||
23 29
|
||||
24 3
|
||||
25 6
|
||||
26 17
|
||||
27 16
|
||||
28 16
|
||||
29 9
|
||||
30 21
|
||||
31 27
|
||||
32 23
|
||||
33 11
|
||||
34 14
|
||||
35 8
|
||||
36 5
|
||||
37 8
|
||||
38 16
|
||||
39 31
|
||||
40 9
|
||||
41 5
|
||||
42 5
|
||||
43 7
|
||||
44 18
|
||||
45 16
|
||||
46 1
|
||||
47 27
|
||||
48 36
|
||||
49 30
|
||||
50 13
|
||||
51 10
|
||||
52 9
|
||||
53 14
|
||||
54 18
|
||||
55 2
|
||||
56 6
|
||||
57 7
|
||||
58 18
|
||||
59 28
|
||||
60 3
|
||||
61 13
|
||||
62 19
|
||||
63 10
|
||||
64 9
|
||||
65 20
|
||||
66 25
|
||||
67 25
|
||||
68 36
|
||||
69 6
|
||||
70 5
|
||||
71 15
|
||||
72 25
|
||||
73 9
|
||||
74 8
|
||||
75 18
|
||||
76 13
|
||||
77 14
|
||||
78 3
|
||||
79 23
|
||||
80 6
|
||||
81 26
|
||||
82 16
|
||||
83 11
|
||||
84 7
|
||||
85 41
|
||||
86 35
|
||||
87 26
|
||||
88 9
|
||||
89 15
|
||||
90 3
|
||||
91 1
|
||||
92 2
|
||||
93 22
|
||||
94 27
|
||||
95 20
|
||||
96 11
|
||||
97 12
|
||||
98 10
|
||||
99 9
|
||||
100 17
|
||||
LOCATION_COORD_SECTION
|
||||
0 35 35
|
||||
1 41 49
|
||||
2 35 17
|
||||
3 55 45
|
||||
4 55 20
|
||||
5 15 30
|
||||
6 25 30
|
||||
7 20 50
|
||||
8 10 43
|
||||
9 55 60
|
||||
10 30 60
|
||||
11 20 65
|
||||
12 50 35
|
||||
13 30 25
|
||||
14 15 10
|
||||
15 30 5
|
||||
16 10 20
|
||||
17 5 30
|
||||
18 20 40
|
||||
19 15 60
|
||||
20 45 65
|
||||
21 45 20
|
||||
22 45 10
|
||||
23 55 5
|
||||
24 65 35
|
||||
25 65 20
|
||||
26 45 30
|
||||
27 35 40
|
||||
28 41 37
|
||||
29 64 42
|
||||
30 40 60
|
||||
31 31 52
|
||||
32 35 69
|
||||
33 53 52
|
||||
34 65 55
|
||||
35 63 65
|
||||
36 2 60
|
||||
37 20 20
|
||||
38 5 5
|
||||
39 60 12
|
||||
40 40 25
|
||||
41 42 7
|
||||
42 24 12
|
||||
43 23 3
|
||||
44 11 14
|
||||
45 6 38
|
||||
46 2 48
|
||||
47 8 56
|
||||
48 13 52
|
||||
49 6 68
|
||||
50 47 47
|
||||
51 49 58
|
||||
52 27 43
|
||||
53 37 31
|
||||
54 57 29
|
||||
55 63 23
|
||||
56 53 12
|
||||
57 32 12
|
||||
58 36 26
|
||||
59 21 24
|
||||
60 17 34
|
||||
61 12 24
|
||||
62 24 58
|
||||
63 27 69
|
||||
64 15 77
|
||||
65 62 77
|
||||
66 49 73
|
||||
67 67 5
|
||||
68 56 39
|
||||
69 37 47
|
||||
70 37 56
|
||||
71 57 68
|
||||
72 47 16
|
||||
73 44 17
|
||||
74 46 13
|
||||
75 49 11
|
||||
76 49 42
|
||||
77 53 43
|
||||
78 61 52
|
||||
79 57 48
|
||||
80 56 37
|
||||
81 55 54
|
||||
82 15 47
|
||||
83 14 37
|
||||
84 11 31
|
||||
85 16 22
|
||||
86 4 18
|
||||
87 28 18
|
||||
88 26 52
|
||||
89 26 35
|
||||
90 31 67
|
||||
91 15 19
|
||||
92 22 22
|
||||
93 18 24
|
||||
94 26 27
|
||||
95 25 24
|
||||
96 22 27
|
||||
97 25 21
|
||||
98 19 21
|
||||
99 20 26
|
||||
100 18 18
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 12
|
||||
2 12
|
||||
3 12
|
||||
4 12
|
||||
5 12
|
||||
6 12
|
||||
7 12
|
||||
8 12
|
||||
9 12
|
||||
10 12
|
||||
11 12
|
||||
12 12
|
||||
13 12
|
||||
14 12
|
||||
15 12
|
||||
16 12
|
||||
17 12
|
||||
18 12
|
||||
19 12
|
||||
20 12
|
||||
21 12
|
||||
22 12
|
||||
23 12
|
||||
24 12
|
||||
25 12
|
||||
26 12
|
||||
27 12
|
||||
28 12
|
||||
29 12
|
||||
30 12
|
||||
31 12
|
||||
32 12
|
||||
33 12
|
||||
34 12
|
||||
35 12
|
||||
36 12
|
||||
37 12
|
||||
38 12
|
||||
39 12
|
||||
40 12
|
||||
41 12
|
||||
42 12
|
||||
43 12
|
||||
44 12
|
||||
45 12
|
||||
46 12
|
||||
47 12
|
||||
48 12
|
||||
49 12
|
||||
50 12
|
||||
51 12
|
||||
52 12
|
||||
53 12
|
||||
54 12
|
||||
55 12
|
||||
56 12
|
||||
57 12
|
||||
58 12
|
||||
59 12
|
||||
60 12
|
||||
61 12
|
||||
62 12
|
||||
63 12
|
||||
64 12
|
||||
65 12
|
||||
66 12
|
||||
67 12
|
||||
68 12
|
||||
69 12
|
||||
70 12
|
||||
71 12
|
||||
72 12
|
||||
73 12
|
||||
74 12
|
||||
75 12
|
||||
76 12
|
||||
77 12
|
||||
78 12
|
||||
79 12
|
||||
80 12
|
||||
81 12
|
||||
82 12
|
||||
83 12
|
||||
84 12
|
||||
85 12
|
||||
86 12
|
||||
87 12
|
||||
88 12
|
||||
89 12
|
||||
90 12
|
||||
91 12
|
||||
92 12
|
||||
93 12
|
||||
94 12
|
||||
95 12
|
||||
96 12
|
||||
97 12
|
||||
98 12
|
||||
99 12
|
||||
100 12
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 399
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 9
|
||||
2 17
|
||||
3 19
|
||||
4 22
|
||||
5 22
|
||||
6 22
|
||||
7 26
|
||||
8 27
|
||||
9 30
|
||||
10 33
|
||||
11 39
|
||||
12 44
|
||||
13 45
|
||||
14 49
|
||||
15 49
|
||||
16 59
|
||||
17 67
|
||||
18 70
|
||||
19 72
|
||||
20 77
|
||||
21 77
|
||||
22 85
|
||||
23 96
|
||||
24 105
|
||||
25 106
|
||||
26 107
|
||||
27 119
|
||||
28 120
|
||||
29 123
|
||||
30 127
|
||||
31 135
|
||||
32 143
|
||||
33 144
|
||||
34 148
|
||||
35 148
|
||||
36 153
|
||||
37 156
|
||||
38 157
|
||||
39 159
|
||||
40 161
|
||||
41 168
|
||||
42 168
|
||||
43 172
|
||||
44 172
|
||||
45 173
|
||||
46 176
|
||||
47 178
|
||||
48 178
|
||||
49 180
|
||||
50 195
|
||||
51 200
|
||||
52 204
|
||||
53 215
|
||||
54 218
|
||||
55 220
|
||||
56 224
|
||||
57 225
|
||||
58 238
|
||||
59 240
|
||||
60 243
|
||||
61 246
|
||||
62 248
|
||||
63 249
|
||||
64 250
|
||||
65 253
|
||||
66 265
|
||||
67 265
|
||||
68 266
|
||||
69 271
|
||||
70 271
|
||||
71 274
|
||||
72 277
|
||||
73 278
|
||||
74 282
|
||||
75 282
|
||||
76 298
|
||||
77 307
|
||||
78 316
|
||||
79 329
|
||||
80 331
|
||||
81 331
|
||||
82 332
|
||||
83 342
|
||||
84 344
|
||||
85 349
|
||||
86 349
|
||||
87 349
|
||||
88 357
|
||||
89 357
|
||||
90 358
|
||||
91 365
|
||||
92 365
|
||||
93 374
|
||||
94 380
|
||||
95 387
|
||||
96 389
|
||||
97 390
|
||||
98 393
|
||||
99 393
|
||||
100 395
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c100 by convert2vt
|
||||
COMMENT: Best known objective: 826.14
|
||||
NAME: c100
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -10
|
||||
2 -7
|
||||
3 -13
|
||||
4 -19
|
||||
5 -26
|
||||
6 -3
|
||||
7 -5
|
||||
8 -9
|
||||
9 -16
|
||||
10 -16
|
||||
11 -12
|
||||
12 -19
|
||||
13 -23
|
||||
14 -20
|
||||
15 -8
|
||||
16 -19
|
||||
17 -2
|
||||
18 -12
|
||||
19 -17
|
||||
20 -9
|
||||
21 -11
|
||||
22 -18
|
||||
23 -29
|
||||
24 -3
|
||||
25 -6
|
||||
26 -17
|
||||
27 -16
|
||||
28 -16
|
||||
29 -9
|
||||
30 -21
|
||||
31 -27
|
||||
32 -23
|
||||
33 -11
|
||||
34 -14
|
||||
35 -8
|
||||
36 -5
|
||||
37 -8
|
||||
38 -16
|
||||
39 -31
|
||||
40 -9
|
||||
41 -5
|
||||
42 -5
|
||||
43 -7
|
||||
44 -18
|
||||
45 -16
|
||||
46 -1
|
||||
47 -27
|
||||
48 -36
|
||||
49 -30
|
||||
50 -13
|
||||
51 -10
|
||||
52 -9
|
||||
53 -14
|
||||
54 -18
|
||||
55 -2
|
||||
56 -6
|
||||
57 -7
|
||||
58 -18
|
||||
59 -28
|
||||
60 -3
|
||||
61 -13
|
||||
62 -19
|
||||
63 -10
|
||||
64 -9
|
||||
65 -20
|
||||
66 -25
|
||||
67 -25
|
||||
68 -36
|
||||
69 -6
|
||||
70 -5
|
||||
71 -15
|
||||
72 -25
|
||||
73 -9
|
||||
74 -8
|
||||
75 -18
|
||||
76 -13
|
||||
77 -14
|
||||
78 -3
|
||||
79 -23
|
||||
80 -6
|
||||
81 -26
|
||||
82 -16
|
||||
83 -11
|
||||
84 -7
|
||||
85 -41
|
||||
86 -35
|
||||
87 -26
|
||||
88 -9
|
||||
89 -15
|
||||
90 -3
|
||||
91 -1
|
||||
92 -2
|
||||
93 -22
|
||||
94 -27
|
||||
95 -20
|
||||
96 -11
|
||||
97 -12
|
||||
98 -10
|
||||
99 -9
|
||||
100 -17
|
||||
LOCATION_COORD_SECTION
|
||||
0 35 35
|
||||
1 41 49
|
||||
2 35 17
|
||||
3 55 45
|
||||
4 55 20
|
||||
5 15 30
|
||||
6 25 30
|
||||
7 20 50
|
||||
8 10 43
|
||||
9 55 60
|
||||
10 30 60
|
||||
11 20 65
|
||||
12 50 35
|
||||
13 30 25
|
||||
14 15 10
|
||||
15 30 5
|
||||
16 10 20
|
||||
17 5 30
|
||||
18 20 40
|
||||
19 15 60
|
||||
20 45 65
|
||||
21 45 20
|
||||
22 45 10
|
||||
23 55 5
|
||||
24 65 35
|
||||
25 65 20
|
||||
26 45 30
|
||||
27 35 40
|
||||
28 41 37
|
||||
29 64 42
|
||||
30 40 60
|
||||
31 31 52
|
||||
32 35 69
|
||||
33 53 52
|
||||
34 65 55
|
||||
35 63 65
|
||||
36 2 60
|
||||
37 20 20
|
||||
38 5 5
|
||||
39 60 12
|
||||
40 40 25
|
||||
41 42 7
|
||||
42 24 12
|
||||
43 23 3
|
||||
44 11 14
|
||||
45 6 38
|
||||
46 2 48
|
||||
47 8 56
|
||||
48 13 52
|
||||
49 6 68
|
||||
50 47 47
|
||||
51 49 58
|
||||
52 27 43
|
||||
53 37 31
|
||||
54 57 29
|
||||
55 63 23
|
||||
56 53 12
|
||||
57 32 12
|
||||
58 36 26
|
||||
59 21 24
|
||||
60 17 34
|
||||
61 12 24
|
||||
62 24 58
|
||||
63 27 69
|
||||
64 15 77
|
||||
65 62 77
|
||||
66 49 73
|
||||
67 67 5
|
||||
68 56 39
|
||||
69 37 47
|
||||
70 37 56
|
||||
71 57 68
|
||||
72 47 16
|
||||
73 44 17
|
||||
74 46 13
|
||||
75 49 11
|
||||
76 49 42
|
||||
77 53 43
|
||||
78 61 52
|
||||
79 57 48
|
||||
80 56 37
|
||||
81 55 54
|
||||
82 15 47
|
||||
83 14 37
|
||||
84 11 31
|
||||
85 16 22
|
||||
86 4 18
|
||||
87 28 18
|
||||
88 26 52
|
||||
89 26 35
|
||||
90 31 67
|
||||
91 15 19
|
||||
92 22 22
|
||||
93 18 24
|
||||
94 26 27
|
||||
95 25 24
|
||||
96 22 27
|
||||
97 25 21
|
||||
98 19 21
|
||||
99 20 26
|
||||
100 18 18
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 12
|
||||
2 12
|
||||
3 12
|
||||
4 12
|
||||
5 12
|
||||
6 12
|
||||
7 12
|
||||
8 12
|
||||
9 12
|
||||
10 12
|
||||
11 12
|
||||
12 12
|
||||
13 12
|
||||
14 12
|
||||
15 12
|
||||
16 12
|
||||
17 12
|
||||
18 12
|
||||
19 12
|
||||
20 12
|
||||
21 12
|
||||
22 12
|
||||
23 12
|
||||
24 12
|
||||
25 12
|
||||
26 12
|
||||
27 12
|
||||
28 12
|
||||
29 12
|
||||
30 12
|
||||
31 12
|
||||
32 12
|
||||
33 12
|
||||
34 12
|
||||
35 12
|
||||
36 12
|
||||
37 12
|
||||
38 12
|
||||
39 12
|
||||
40 12
|
||||
41 12
|
||||
42 12
|
||||
43 12
|
||||
44 12
|
||||
45 12
|
||||
46 12
|
||||
47 12
|
||||
48 12
|
||||
49 12
|
||||
50 12
|
||||
51 12
|
||||
52 12
|
||||
53 12
|
||||
54 12
|
||||
55 12
|
||||
56 12
|
||||
57 12
|
||||
58 12
|
||||
59 12
|
||||
60 12
|
||||
61 12
|
||||
62 12
|
||||
63 12
|
||||
64 12
|
||||
65 12
|
||||
66 12
|
||||
67 12
|
||||
68 12
|
||||
69 12
|
||||
70 12
|
||||
71 12
|
||||
72 12
|
||||
73 12
|
||||
74 12
|
||||
75 12
|
||||
76 12
|
||||
77 12
|
||||
78 12
|
||||
79 12
|
||||
80 12
|
||||
81 12
|
||||
82 12
|
||||
83 12
|
||||
84 12
|
||||
85 12
|
||||
86 12
|
||||
87 12
|
||||
88 12
|
||||
89 12
|
||||
90 12
|
||||
91 12
|
||||
92 12
|
||||
93 12
|
||||
94 12
|
||||
95 12
|
||||
96 12
|
||||
97 12
|
||||
98 12
|
||||
99 12
|
||||
100 12
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 399
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 2
|
||||
2 9
|
||||
3 9
|
||||
4 16
|
||||
5 17
|
||||
6 22
|
||||
7 28
|
||||
8 35
|
||||
9 41
|
||||
10 47
|
||||
11 48
|
||||
12 49
|
||||
13 57
|
||||
14 57
|
||||
15 59
|
||||
16 59
|
||||
17 60
|
||||
18 64
|
||||
19 64
|
||||
20 73
|
||||
21 75
|
||||
22 75
|
||||
23 82
|
||||
24 83
|
||||
25 83
|
||||
26 86
|
||||
27 89
|
||||
28 94
|
||||
29 94
|
||||
30 97
|
||||
31 102
|
||||
32 105
|
||||
33 106
|
||||
34 108
|
||||
35 111
|
||||
36 114
|
||||
37 119
|
||||
38 124
|
||||
39 126
|
||||
40 141
|
||||
41 146
|
||||
42 147
|
||||
43 149
|
||||
44 149
|
||||
45 153
|
||||
46 159
|
||||
47 160
|
||||
48 161
|
||||
49 163
|
||||
50 167
|
||||
51 167
|
||||
52 167
|
||||
53 169
|
||||
54 171
|
||||
55 174
|
||||
56 175
|
||||
57 176
|
||||
58 177
|
||||
59 185
|
||||
60 207
|
||||
61 216
|
||||
62 216
|
||||
63 218
|
||||
64 226
|
||||
65 227
|
||||
66 231
|
||||
67 243
|
||||
68 251
|
||||
69 252
|
||||
70 259
|
||||
71 260
|
||||
72 264
|
||||
73 268
|
||||
74 270
|
||||
75 274
|
||||
76 279
|
||||
77 286
|
||||
78 287
|
||||
79 288
|
||||
80 291
|
||||
81 294
|
||||
82 296
|
||||
83 297
|
||||
84 299
|
||||
85 307
|
||||
86 310
|
||||
87 316
|
||||
88 319
|
||||
89 322
|
||||
90 326
|
||||
91 328
|
||||
92 329
|
||||
93 349
|
||||
94 359
|
||||
95 359
|
||||
96 360
|
||||
97 362
|
||||
98 370
|
||||
99 374
|
||||
100 374
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c100b by convert2vt
|
||||
COMMENT: Best known objective: 819.56
|
||||
NAME: c100b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 10
|
||||
2 30
|
||||
3 10
|
||||
4 10
|
||||
5 10
|
||||
6 20
|
||||
7 20
|
||||
8 20
|
||||
9 10
|
||||
10 10
|
||||
11 10
|
||||
12 20
|
||||
13 30
|
||||
14 10
|
||||
15 40
|
||||
16 40
|
||||
17 20
|
||||
18 20
|
||||
19 10
|
||||
20 10
|
||||
21 20
|
||||
22 20
|
||||
23 10
|
||||
24 10
|
||||
25 40
|
||||
26 10
|
||||
27 10
|
||||
28 20
|
||||
29 10
|
||||
30 10
|
||||
31 20
|
||||
32 30
|
||||
33 40
|
||||
34 20
|
||||
35 10
|
||||
36 10
|
||||
37 20
|
||||
38 30
|
||||
39 20
|
||||
40 10
|
||||
41 10
|
||||
42 20
|
||||
43 10
|
||||
44 10
|
||||
45 10
|
||||
46 30
|
||||
47 10
|
||||
48 10
|
||||
49 10
|
||||
50 10
|
||||
51 10
|
||||
52 10
|
||||
53 20
|
||||
54 40
|
||||
55 10
|
||||
56 30
|
||||
57 40
|
||||
58 30
|
||||
59 10
|
||||
60 20
|
||||
61 10
|
||||
62 20
|
||||
63 50
|
||||
64 10
|
||||
65 10
|
||||
66 10
|
||||
67 10
|
||||
68 10
|
||||
69 10
|
||||
70 30
|
||||
71 20
|
||||
72 10
|
||||
73 10
|
||||
74 50
|
||||
75 20
|
||||
76 10
|
||||
77 10
|
||||
78 20
|
||||
79 10
|
||||
80 10
|
||||
81 30
|
||||
82 20
|
||||
83 10
|
||||
84 20
|
||||
85 30
|
||||
86 10
|
||||
87 20
|
||||
88 30
|
||||
89 10
|
||||
90 10
|
||||
91 10
|
||||
92 20
|
||||
93 40
|
||||
94 10
|
||||
95 30
|
||||
96 10
|
||||
97 30
|
||||
98 20
|
||||
99 10
|
||||
100 20
|
||||
LOCATION_COORD_SECTION
|
||||
0 40 50
|
||||
1 45 68
|
||||
2 45 70
|
||||
3 42 66
|
||||
4 42 68
|
||||
5 42 65
|
||||
6 40 69
|
||||
7 40 66
|
||||
8 38 68
|
||||
9 38 70
|
||||
10 35 66
|
||||
11 35 69
|
||||
12 25 85
|
||||
13 22 75
|
||||
14 22 85
|
||||
15 20 80
|
||||
16 20 85
|
||||
17 18 75
|
||||
18 15 75
|
||||
19 15 80
|
||||
20 30 50
|
||||
21 30 52
|
||||
22 28 52
|
||||
23 28 55
|
||||
24 25 50
|
||||
25 25 52
|
||||
26 25 55
|
||||
27 23 52
|
||||
28 23 55
|
||||
29 20 50
|
||||
30 20 55
|
||||
31 10 35
|
||||
32 10 40
|
||||
33 8 40
|
||||
34 8 45
|
||||
35 5 35
|
||||
36 5 45
|
||||
37 2 40
|
||||
38 0 40
|
||||
39 0 45
|
||||
40 35 30
|
||||
41 35 32
|
||||
42 33 32
|
||||
43 33 35
|
||||
44 32 30
|
||||
45 30 30
|
||||
46 30 32
|
||||
47 30 35
|
||||
48 28 30
|
||||
49 28 35
|
||||
50 26 32
|
||||
51 25 30
|
||||
52 25 35
|
||||
53 44 5
|
||||
54 42 10
|
||||
55 42 15
|
||||
56 40 5
|
||||
57 40 15
|
||||
58 38 5
|
||||
59 38 15
|
||||
60 35 5
|
||||
61 50 30
|
||||
62 50 35
|
||||
63 50 40
|
||||
64 48 30
|
||||
65 48 40
|
||||
66 47 35
|
||||
67 47 40
|
||||
68 45 30
|
||||
69 45 35
|
||||
70 95 30
|
||||
71 95 35
|
||||
72 53 30
|
||||
73 92 30
|
||||
74 53 35
|
||||
75 45 65
|
||||
76 90 35
|
||||
77 88 30
|
||||
78 88 35
|
||||
79 87 30
|
||||
80 85 25
|
||||
81 85 35
|
||||
82 75 55
|
||||
83 72 55
|
||||
84 70 58
|
||||
85 68 60
|
||||
86 66 55
|
||||
87 65 55
|
||||
88 65 60
|
||||
89 63 58
|
||||
90 60 55
|
||||
91 60 60
|
||||
92 67 85
|
||||
93 65 85
|
||||
94 65 82
|
||||
95 62 80
|
||||
96 60 80
|
||||
97 60 85
|
||||
98 58 75
|
||||
99 55 80
|
||||
100 55 85
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 12
|
||||
2 12
|
||||
3 12
|
||||
4 12
|
||||
5 12
|
||||
6 12
|
||||
7 12
|
||||
8 12
|
||||
9 12
|
||||
10 12
|
||||
11 12
|
||||
12 12
|
||||
13 12
|
||||
14 12
|
||||
15 12
|
||||
16 12
|
||||
17 12
|
||||
18 12
|
||||
19 12
|
||||
20 12
|
||||
21 12
|
||||
22 12
|
||||
23 12
|
||||
24 12
|
||||
25 12
|
||||
26 12
|
||||
27 12
|
||||
28 12
|
||||
29 12
|
||||
30 12
|
||||
31 12
|
||||
32 12
|
||||
33 12
|
||||
34 12
|
||||
35 12
|
||||
36 12
|
||||
37 12
|
||||
38 12
|
||||
39 12
|
||||
40 12
|
||||
41 12
|
||||
42 12
|
||||
43 12
|
||||
44 12
|
||||
45 12
|
||||
46 12
|
||||
47 12
|
||||
48 12
|
||||
49 12
|
||||
50 12
|
||||
51 12
|
||||
52 12
|
||||
53 12
|
||||
54 12
|
||||
55 12
|
||||
56 12
|
||||
57 12
|
||||
58 12
|
||||
59 12
|
||||
60 12
|
||||
61 12
|
||||
62 12
|
||||
63 12
|
||||
64 12
|
||||
65 12
|
||||
66 12
|
||||
67 12
|
||||
68 12
|
||||
69 12
|
||||
70 12
|
||||
71 12
|
||||
72 12
|
||||
73 12
|
||||
74 12
|
||||
75 12
|
||||
76 12
|
||||
77 12
|
||||
78 12
|
||||
79 12
|
||||
80 12
|
||||
81 12
|
||||
82 12
|
||||
83 12
|
||||
84 12
|
||||
85 12
|
||||
86 12
|
||||
87 12
|
||||
88 12
|
||||
89 12
|
||||
90 12
|
||||
91 12
|
||||
92 12
|
||||
93 12
|
||||
94 12
|
||||
95 12
|
||||
96 12
|
||||
97 12
|
||||
98 12
|
||||
99 12
|
||||
100 12
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 468
|
||||
COMMENT: TIMESTEP: 9
|
||||
TIME_AVAIL_SECTION
|
||||
1 2
|
||||
2 11
|
||||
3 11
|
||||
4 18
|
||||
5 20
|
||||
6 25
|
||||
7 33
|
||||
8 42
|
||||
9 48
|
||||
10 56
|
||||
11 56
|
||||
12 58
|
||||
13 67
|
||||
14 67
|
||||
15 69
|
||||
16 69
|
||||
17 70
|
||||
18 75
|
||||
19 75
|
||||
20 86
|
||||
21 88
|
||||
22 88
|
||||
23 97
|
||||
24 97
|
||||
25 98
|
||||
26 100
|
||||
27 105
|
||||
28 110
|
||||
29 110
|
||||
30 114
|
||||
31 120
|
||||
32 124
|
||||
33 124
|
||||
34 127
|
||||
35 130
|
||||
36 134
|
||||
37 140
|
||||
38 145
|
||||
39 148
|
||||
40 165
|
||||
41 172
|
||||
42 173
|
||||
43 174
|
||||
44 174
|
||||
45 180
|
||||
46 187
|
||||
47 188
|
||||
48 189
|
||||
49 191
|
||||
50 196
|
||||
51 196
|
||||
52 196
|
||||
53 199
|
||||
54 201
|
||||
55 205
|
||||
56 205
|
||||
57 206
|
||||
58 207
|
||||
59 217
|
||||
60 243
|
||||
61 253
|
||||
62 254
|
||||
63 256
|
||||
64 265
|
||||
65 267
|
||||
66 271
|
||||
67 285
|
||||
68 294
|
||||
69 295
|
||||
70 304
|
||||
71 305
|
||||
72 310
|
||||
73 314
|
||||
74 317
|
||||
75 322
|
||||
76 327
|
||||
77 336
|
||||
78 336
|
||||
79 337
|
||||
80 341
|
||||
81 345
|
||||
82 347
|
||||
83 349
|
||||
84 351
|
||||
85 360
|
||||
86 363
|
||||
87 371
|
||||
88 374
|
||||
89 378
|
||||
90 382
|
||||
91 385
|
||||
92 386
|
||||
93 410
|
||||
94 421
|
||||
95 421
|
||||
96 423
|
||||
97 424
|
||||
98 434
|
||||
99 438
|
||||
100 439
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c100b by convert2vt
|
||||
COMMENT: Best known objective: 819.56
|
||||
NAME: c100b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -10
|
||||
2 -30
|
||||
3 -10
|
||||
4 -10
|
||||
5 -10
|
||||
6 -20
|
||||
7 -20
|
||||
8 -20
|
||||
9 -10
|
||||
10 -10
|
||||
11 -10
|
||||
12 -20
|
||||
13 -30
|
||||
14 -10
|
||||
15 -40
|
||||
16 -40
|
||||
17 -20
|
||||
18 -20
|
||||
19 -10
|
||||
20 -10
|
||||
21 -20
|
||||
22 -20
|
||||
23 -10
|
||||
24 -10
|
||||
25 -40
|
||||
26 -10
|
||||
27 -10
|
||||
28 -20
|
||||
29 -10
|
||||
30 -10
|
||||
31 -20
|
||||
32 -30
|
||||
33 -40
|
||||
34 -20
|
||||
35 -10
|
||||
36 -10
|
||||
37 -20
|
||||
38 -30
|
||||
39 -20
|
||||
40 -10
|
||||
41 -10
|
||||
42 -20
|
||||
43 -10
|
||||
44 -10
|
||||
45 -10
|
||||
46 -30
|
||||
47 -10
|
||||
48 -10
|
||||
49 -10
|
||||
50 -10
|
||||
51 -10
|
||||
52 -10
|
||||
53 -20
|
||||
54 -40
|
||||
55 -10
|
||||
56 -30
|
||||
57 -40
|
||||
58 -30
|
||||
59 -10
|
||||
60 -20
|
||||
61 -10
|
||||
62 -20
|
||||
63 -50
|
||||
64 -10
|
||||
65 -10
|
||||
66 -10
|
||||
67 -10
|
||||
68 -10
|
||||
69 -10
|
||||
70 -30
|
||||
71 -20
|
||||
72 -10
|
||||
73 -10
|
||||
74 -50
|
||||
75 -20
|
||||
76 -10
|
||||
77 -10
|
||||
78 -20
|
||||
79 -10
|
||||
80 -10
|
||||
81 -30
|
||||
82 -20
|
||||
83 -10
|
||||
84 -20
|
||||
85 -30
|
||||
86 -10
|
||||
87 -20
|
||||
88 -30
|
||||
89 -10
|
||||
90 -10
|
||||
91 -10
|
||||
92 -20
|
||||
93 -40
|
||||
94 -10
|
||||
95 -30
|
||||
96 -10
|
||||
97 -30
|
||||
98 -20
|
||||
99 -10
|
||||
100 -20
|
||||
LOCATION_COORD_SECTION
|
||||
0 40 50
|
||||
1 45 68
|
||||
2 45 70
|
||||
3 42 66
|
||||
4 42 68
|
||||
5 42 65
|
||||
6 40 69
|
||||
7 40 66
|
||||
8 38 68
|
||||
9 38 70
|
||||
10 35 66
|
||||
11 35 69
|
||||
12 25 85
|
||||
13 22 75
|
||||
14 22 85
|
||||
15 20 80
|
||||
16 20 85
|
||||
17 18 75
|
||||
18 15 75
|
||||
19 15 80
|
||||
20 30 50
|
||||
21 30 52
|
||||
22 28 52
|
||||
23 28 55
|
||||
24 25 50
|
||||
25 25 52
|
||||
26 25 55
|
||||
27 23 52
|
||||
28 23 55
|
||||
29 20 50
|
||||
30 20 55
|
||||
31 10 35
|
||||
32 10 40
|
||||
33 8 40
|
||||
34 8 45
|
||||
35 5 35
|
||||
36 5 45
|
||||
37 2 40
|
||||
38 0 40
|
||||
39 0 45
|
||||
40 35 30
|
||||
41 35 32
|
||||
42 33 32
|
||||
43 33 35
|
||||
44 32 30
|
||||
45 30 30
|
||||
46 30 32
|
||||
47 30 35
|
||||
48 28 30
|
||||
49 28 35
|
||||
50 26 32
|
||||
51 25 30
|
||||
52 25 35
|
||||
53 44 5
|
||||
54 42 10
|
||||
55 42 15
|
||||
56 40 5
|
||||
57 40 15
|
||||
58 38 5
|
||||
59 38 15
|
||||
60 35 5
|
||||
61 50 30
|
||||
62 50 35
|
||||
63 50 40
|
||||
64 48 30
|
||||
65 48 40
|
||||
66 47 35
|
||||
67 47 40
|
||||
68 45 30
|
||||
69 45 35
|
||||
70 95 30
|
||||
71 95 35
|
||||
72 53 30
|
||||
73 92 30
|
||||
74 53 35
|
||||
75 45 65
|
||||
76 90 35
|
||||
77 88 30
|
||||
78 88 35
|
||||
79 87 30
|
||||
80 85 25
|
||||
81 85 35
|
||||
82 75 55
|
||||
83 72 55
|
||||
84 70 58
|
||||
85 68 60
|
||||
86 66 55
|
||||
87 65 55
|
||||
88 65 60
|
||||
89 63 58
|
||||
90 60 55
|
||||
91 60 60
|
||||
92 67 85
|
||||
93 65 85
|
||||
94 65 82
|
||||
95 62 80
|
||||
96 60 80
|
||||
97 60 85
|
||||
98 58 75
|
||||
99 55 80
|
||||
100 55 85
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 12
|
||||
2 12
|
||||
3 12
|
||||
4 12
|
||||
5 12
|
||||
6 12
|
||||
7 12
|
||||
8 12
|
||||
9 12
|
||||
10 12
|
||||
11 12
|
||||
12 12
|
||||
13 12
|
||||
14 12
|
||||
15 12
|
||||
16 12
|
||||
17 12
|
||||
18 12
|
||||
19 12
|
||||
20 12
|
||||
21 12
|
||||
22 12
|
||||
23 12
|
||||
24 12
|
||||
25 12
|
||||
26 12
|
||||
27 12
|
||||
28 12
|
||||
29 12
|
||||
30 12
|
||||
31 12
|
||||
32 12
|
||||
33 12
|
||||
34 12
|
||||
35 12
|
||||
36 12
|
||||
37 12
|
||||
38 12
|
||||
39 12
|
||||
40 12
|
||||
41 12
|
||||
42 12
|
||||
43 12
|
||||
44 12
|
||||
45 12
|
||||
46 12
|
||||
47 12
|
||||
48 12
|
||||
49 12
|
||||
50 12
|
||||
51 12
|
||||
52 12
|
||||
53 12
|
||||
54 12
|
||||
55 12
|
||||
56 12
|
||||
57 12
|
||||
58 12
|
||||
59 12
|
||||
60 12
|
||||
61 12
|
||||
62 12
|
||||
63 12
|
||||
64 12
|
||||
65 12
|
||||
66 12
|
||||
67 12
|
||||
68 12
|
||||
69 12
|
||||
70 12
|
||||
71 12
|
||||
72 12
|
||||
73 12
|
||||
74 12
|
||||
75 12
|
||||
76 12
|
||||
77 12
|
||||
78 12
|
||||
79 12
|
||||
80 12
|
||||
81 12
|
||||
82 12
|
||||
83 12
|
||||
84 12
|
||||
85 12
|
||||
86 12
|
||||
87 12
|
||||
88 12
|
||||
89 12
|
||||
90 12
|
||||
91 12
|
||||
92 12
|
||||
93 12
|
||||
94 12
|
||||
95 12
|
||||
96 12
|
||||
97 12
|
||||
98 12
|
||||
99 12
|
||||
100 12
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 468
|
||||
COMMENT: TIMESTEP: 9
|
||||
TIME_AVAIL_SECTION
|
||||
1 2
|
||||
2 11
|
||||
3 11
|
||||
4 18
|
||||
5 20
|
||||
6 25
|
||||
7 33
|
||||
8 42
|
||||
9 48
|
||||
10 56
|
||||
11 56
|
||||
12 58
|
||||
13 67
|
||||
14 67
|
||||
15 69
|
||||
16 69
|
||||
17 70
|
||||
18 75
|
||||
19 75
|
||||
20 86
|
||||
21 88
|
||||
22 88
|
||||
23 97
|
||||
24 97
|
||||
25 98
|
||||
26 100
|
||||
27 105
|
||||
28 110
|
||||
29 110
|
||||
30 114
|
||||
31 120
|
||||
32 124
|
||||
33 124
|
||||
34 127
|
||||
35 130
|
||||
36 134
|
||||
37 140
|
||||
38 145
|
||||
39 148
|
||||
40 165
|
||||
41 172
|
||||
42 173
|
||||
43 174
|
||||
44 174
|
||||
45 180
|
||||
46 187
|
||||
47 188
|
||||
48 189
|
||||
49 191
|
||||
50 196
|
||||
51 196
|
||||
52 196
|
||||
53 199
|
||||
54 201
|
||||
55 205
|
||||
56 205
|
||||
57 206
|
||||
58 207
|
||||
59 217
|
||||
60 243
|
||||
61 253
|
||||
62 254
|
||||
63 256
|
||||
64 265
|
||||
65 267
|
||||
66 271
|
||||
67 285
|
||||
68 294
|
||||
69 295
|
||||
70 304
|
||||
71 305
|
||||
72 310
|
||||
73 314
|
||||
74 317
|
||||
75 322
|
||||
76 327
|
||||
77 336
|
||||
78 336
|
||||
79 337
|
||||
80 341
|
||||
81 345
|
||||
82 347
|
||||
83 349
|
||||
84 351
|
||||
85 360
|
||||
86 363
|
||||
87 371
|
||||
88 374
|
||||
89 378
|
||||
90 382
|
||||
91 385
|
||||
92 386
|
||||
93 410
|
||||
94 421
|
||||
95 421
|
||||
96 423
|
||||
97 424
|
||||
98 434
|
||||
99 438
|
||||
100 439
|
||||
EOF
|
||||
|
|
@ -0,0 +1,625 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c120 by convert2vt
|
||||
COMMENT: Best known objective: 1042.11
|
||||
NAME: c120
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 120
|
||||
NUM_LOCATIONS: 121
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 25
|
||||
2 7
|
||||
3 13
|
||||
4 6
|
||||
5 14
|
||||
6 5
|
||||
7 11
|
||||
8 19
|
||||
9 5
|
||||
10 15
|
||||
11 15
|
||||
12 17
|
||||
13 13
|
||||
14 12
|
||||
15 18
|
||||
16 13
|
||||
17 18
|
||||
18 12
|
||||
19 17
|
||||
20 4
|
||||
21 7
|
||||
22 12
|
||||
23 13
|
||||
24 8
|
||||
25 16
|
||||
26 15
|
||||
27 6
|
||||
28 5
|
||||
29 9
|
||||
30 11
|
||||
31 10
|
||||
32 3
|
||||
33 7
|
||||
34 2
|
||||
35 4
|
||||
36 4
|
||||
37 18
|
||||
38 14
|
||||
39 12
|
||||
40 17
|
||||
41 20
|
||||
42 14
|
||||
43 16
|
||||
44 10
|
||||
45 9
|
||||
46 11
|
||||
47 7
|
||||
48 13
|
||||
49 5
|
||||
50 4
|
||||
51 21
|
||||
52 13
|
||||
53 11
|
||||
54 12
|
||||
55 14
|
||||
56 10
|
||||
57 8
|
||||
58 16
|
||||
59 19
|
||||
60 5
|
||||
61 17
|
||||
62 7
|
||||
63 16
|
||||
64 14
|
||||
65 17
|
||||
66 13
|
||||
67 17
|
||||
68 13
|
||||
69 14
|
||||
70 16
|
||||
71 7
|
||||
72 13
|
||||
73 9
|
||||
74 11
|
||||
75 35
|
||||
76 5
|
||||
77 28
|
||||
78 7
|
||||
79 3
|
||||
80 10
|
||||
81 7
|
||||
82 12
|
||||
83 11
|
||||
84 10
|
||||
85 8
|
||||
86 11
|
||||
87 21
|
||||
88 4
|
||||
89 15
|
||||
90 16
|
||||
91 4
|
||||
92 16
|
||||
93 7
|
||||
94 10
|
||||
95 9
|
||||
96 11
|
||||
97 17
|
||||
98 12
|
||||
99 11
|
||||
100 7
|
||||
101 9
|
||||
102 11
|
||||
103 12
|
||||
104 7
|
||||
105 8
|
||||
106 6
|
||||
107 5
|
||||
108 12
|
||||
109 13
|
||||
110 7
|
||||
111 7
|
||||
112 8
|
||||
113 11
|
||||
114 13
|
||||
115 11
|
||||
116 10
|
||||
117 7
|
||||
118 4
|
||||
119 20
|
||||
120 13
|
||||
LOCATION_COORD_SECTION
|
||||
0 10 45
|
||||
1 25 1
|
||||
2 25 3
|
||||
3 31 5
|
||||
4 32 5
|
||||
5 31 7
|
||||
6 32 9
|
||||
7 34 9
|
||||
8 46 9
|
||||
9 35 7
|
||||
10 34 6
|
||||
11 35 5
|
||||
12 47 6
|
||||
13 40 5
|
||||
14 39 3
|
||||
15 36 3
|
||||
16 73 6
|
||||
17 73 8
|
||||
18 24 36
|
||||
19 76 6
|
||||
20 76 10
|
||||
21 76 13
|
||||
22 78 3
|
||||
23 78 9
|
||||
24 79 3
|
||||
25 79 5
|
||||
26 79 11
|
||||
27 82 3
|
||||
28 82 7
|
||||
29 90 15
|
||||
30 84 3
|
||||
31 84 5
|
||||
32 84 9
|
||||
33 85 1
|
||||
34 87 5
|
||||
35 85 8
|
||||
36 87 7
|
||||
37 86 41
|
||||
38 86 44
|
||||
39 86 46
|
||||
40 85 55
|
||||
41 89 43
|
||||
42 89 46
|
||||
43 89 52
|
||||
44 92 42
|
||||
45 92 52
|
||||
46 94 42
|
||||
47 94 44
|
||||
48 94 48
|
||||
49 96 42
|
||||
50 99 46
|
||||
51 99 50
|
||||
52 83 80
|
||||
53 83 83
|
||||
54 85 81
|
||||
55 85 85
|
||||
56 85 89
|
||||
57 87 80
|
||||
58 87 86
|
||||
59 90 77
|
||||
60 90 88
|
||||
61 93 82
|
||||
62 93 84
|
||||
63 93 89
|
||||
64 94 86
|
||||
65 95 80
|
||||
66 99 89
|
||||
67 37 83
|
||||
68 50 80
|
||||
69 35 85
|
||||
70 35 87
|
||||
71 44 86
|
||||
72 46 89
|
||||
73 46 83
|
||||
74 46 87
|
||||
75 46 89
|
||||
76 48 83
|
||||
77 50 85
|
||||
78 50 88
|
||||
79 54 86
|
||||
80 54 90
|
||||
81 10 35
|
||||
82 10 40
|
||||
83 18 30
|
||||
84 17 35
|
||||
85 16 38
|
||||
86 14 40
|
||||
87 15 42
|
||||
88 11 42
|
||||
89 18 40
|
||||
90 21 39
|
||||
91 20 40
|
||||
92 18 41
|
||||
93 20 44
|
||||
94 22 44
|
||||
95 16 45
|
||||
96 20 45
|
||||
97 25 45
|
||||
98 30 55
|
||||
99 20 50
|
||||
100 22 51
|
||||
101 18 49
|
||||
102 16 48
|
||||
103 20 55
|
||||
104 18 53
|
||||
105 14 50
|
||||
106 15 51
|
||||
107 16 54
|
||||
108 28 33
|
||||
109 33 38
|
||||
110 30 50
|
||||
111 13 40
|
||||
112 15 36
|
||||
113 18 31
|
||||
114 25 37
|
||||
115 30 46
|
||||
116 25 52
|
||||
117 16 33
|
||||
118 25 35
|
||||
119 5 40
|
||||
120 5 50
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
DURATION_SECTION
|
||||
1 13
|
||||
2 13
|
||||
3 13
|
||||
4 13
|
||||
5 13
|
||||
6 13
|
||||
7 13
|
||||
8 13
|
||||
9 13
|
||||
10 13
|
||||
11 13
|
||||
12 13
|
||||
13 13
|
||||
14 13
|
||||
15 13
|
||||
16 13
|
||||
17 13
|
||||
18 13
|
||||
19 13
|
||||
20 13
|
||||
21 13
|
||||
22 13
|
||||
23 13
|
||||
24 13
|
||||
25 13
|
||||
26 13
|
||||
27 13
|
||||
28 13
|
||||
29 13
|
||||
30 13
|
||||
31 13
|
||||
32 13
|
||||
33 13
|
||||
34 13
|
||||
35 13
|
||||
36 13
|
||||
37 13
|
||||
38 13
|
||||
39 13
|
||||
40 13
|
||||
41 13
|
||||
42 13
|
||||
43 13
|
||||
44 13
|
||||
45 13
|
||||
46 13
|
||||
47 13
|
||||
48 13
|
||||
49 13
|
||||
50 13
|
||||
51 13
|
||||
52 13
|
||||
53 13
|
||||
54 13
|
||||
55 13
|
||||
56 13
|
||||
57 13
|
||||
58 13
|
||||
59 13
|
||||
60 13
|
||||
61 13
|
||||
62 13
|
||||
63 13
|
||||
64 13
|
||||
65 13
|
||||
66 13
|
||||
67 13
|
||||
68 13
|
||||
69 13
|
||||
70 13
|
||||
71 13
|
||||
72 13
|
||||
73 13
|
||||
74 13
|
||||
75 13
|
||||
76 13
|
||||
77 13
|
||||
78 13
|
||||
79 13
|
||||
80 13
|
||||
81 13
|
||||
82 13
|
||||
83 13
|
||||
84 13
|
||||
85 13
|
||||
86 13
|
||||
87 13
|
||||
88 13
|
||||
89 13
|
||||
90 13
|
||||
91 13
|
||||
92 13
|
||||
93 13
|
||||
94 13
|
||||
95 13
|
||||
96 13
|
||||
97 13
|
||||
98 13
|
||||
99 13
|
||||
100 13
|
||||
101 13
|
||||
102 13
|
||||
103 13
|
||||
104 13
|
||||
105 13
|
||||
106 13
|
||||
107 13
|
||||
108 13
|
||||
109 13
|
||||
110 13
|
||||
111 13
|
||||
112 13
|
||||
113 13
|
||||
114 13
|
||||
115 13
|
||||
116 13
|
||||
117 13
|
||||
118 13
|
||||
119 13
|
||||
120 13
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 794
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 14
|
||||
3 26
|
||||
4 27
|
||||
5 29
|
||||
6 34
|
||||
7 35
|
||||
8 38
|
||||
9 46
|
||||
10 62
|
||||
11 70
|
||||
12 70
|
||||
13 71
|
||||
14 89
|
||||
15 114
|
||||
16 122
|
||||
17 140
|
||||
18 152
|
||||
19 166
|
||||
20 172
|
||||
21 181
|
||||
22 188
|
||||
23 200
|
||||
24 206
|
||||
25 223
|
||||
26 223
|
||||
27 226
|
||||
28 234
|
||||
29 235
|
||||
30 251
|
||||
31 254
|
||||
32 273
|
||||
33 274
|
||||
34 276
|
||||
35 289
|
||||
36 292
|
||||
37 304
|
||||
38 324
|
||||
39 324
|
||||
40 324
|
||||
41 330
|
||||
42 330
|
||||
43 339
|
||||
44 346
|
||||
45 356
|
||||
46 358
|
||||
47 361
|
||||
48 377
|
||||
49 383
|
||||
50 396
|
||||
51 402
|
||||
52 406
|
||||
53 409
|
||||
54 412
|
||||
55 432
|
||||
56 435
|
||||
57 443
|
||||
58 445
|
||||
59 454
|
||||
60 469
|
||||
61 472
|
||||
62 476
|
||||
63 476
|
||||
64 485
|
||||
65 485
|
||||
66 488
|
||||
67 495
|
||||
68 498
|
||||
69 503
|
||||
70 506
|
||||
71 524
|
||||
72 527
|
||||
73 529
|
||||
74 533
|
||||
75 539
|
||||
76 539
|
||||
77 539
|
||||
78 546
|
||||
79 548
|
||||
80 554
|
||||
81 558
|
||||
82 573
|
||||
83 574
|
||||
84 576
|
||||
85 577
|
||||
86 581
|
||||
87 584
|
||||
88 620
|
||||
89 625
|
||||
90 625
|
||||
91 633
|
||||
92 639
|
||||
93 643
|
||||
94 646
|
||||
95 647
|
||||
96 657
|
||||
97 661
|
||||
98 673
|
||||
99 682
|
||||
100 682
|
||||
101 688
|
||||
102 691
|
||||
103 694
|
||||
104 704
|
||||
105 706
|
||||
106 707
|
||||
107 710
|
||||
108 722
|
||||
109 725
|
||||
110 732
|
||||
111 734
|
||||
112 752
|
||||
113 761
|
||||
114 766
|
||||
115 769
|
||||
116 780
|
||||
117 785
|
||||
118 785
|
||||
119 788
|
||||
120 792
|
||||
EOF
|
||||
|
|
@ -0,0 +1,625 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c120 by convert2vt
|
||||
COMMENT: Best known objective: 1042.11
|
||||
NAME: c120
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 120
|
||||
NUM_LOCATIONS: 121
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -25
|
||||
2 -7
|
||||
3 -13
|
||||
4 -6
|
||||
5 -14
|
||||
6 -5
|
||||
7 -11
|
||||
8 -19
|
||||
9 -5
|
||||
10 -15
|
||||
11 -15
|
||||
12 -17
|
||||
13 -13
|
||||
14 -12
|
||||
15 -18
|
||||
16 -13
|
||||
17 -18
|
||||
18 -12
|
||||
19 -17
|
||||
20 -4
|
||||
21 -7
|
||||
22 -12
|
||||
23 -13
|
||||
24 -8
|
||||
25 -16
|
||||
26 -15
|
||||
27 -6
|
||||
28 -5
|
||||
29 -9
|
||||
30 -11
|
||||
31 -10
|
||||
32 -3
|
||||
33 -7
|
||||
34 -2
|
||||
35 -4
|
||||
36 -4
|
||||
37 -18
|
||||
38 -14
|
||||
39 -12
|
||||
40 -17
|
||||
41 -20
|
||||
42 -14
|
||||
43 -16
|
||||
44 -10
|
||||
45 -9
|
||||
46 -11
|
||||
47 -7
|
||||
48 -13
|
||||
49 -5
|
||||
50 -4
|
||||
51 -21
|
||||
52 -13
|
||||
53 -11
|
||||
54 -12
|
||||
55 -14
|
||||
56 -10
|
||||
57 -8
|
||||
58 -16
|
||||
59 -19
|
||||
60 -5
|
||||
61 -17
|
||||
62 -7
|
||||
63 -16
|
||||
64 -14
|
||||
65 -17
|
||||
66 -13
|
||||
67 -17
|
||||
68 -13
|
||||
69 -14
|
||||
70 -16
|
||||
71 -7
|
||||
72 -13
|
||||
73 -9
|
||||
74 -11
|
||||
75 -35
|
||||
76 -5
|
||||
77 -28
|
||||
78 -7
|
||||
79 -3
|
||||
80 -10
|
||||
81 -7
|
||||
82 -12
|
||||
83 -11
|
||||
84 -10
|
||||
85 -8
|
||||
86 -11
|
||||
87 -21
|
||||
88 -4
|
||||
89 -15
|
||||
90 -16
|
||||
91 -4
|
||||
92 -16
|
||||
93 -7
|
||||
94 -10
|
||||
95 -9
|
||||
96 -11
|
||||
97 -17
|
||||
98 -12
|
||||
99 -11
|
||||
100 -7
|
||||
101 -9
|
||||
102 -11
|
||||
103 -12
|
||||
104 -7
|
||||
105 -8
|
||||
106 -6
|
||||
107 -5
|
||||
108 -12
|
||||
109 -13
|
||||
110 -7
|
||||
111 -7
|
||||
112 -8
|
||||
113 -11
|
||||
114 -13
|
||||
115 -11
|
||||
116 -10
|
||||
117 -7
|
||||
118 -4
|
||||
119 -20
|
||||
120 -13
|
||||
LOCATION_COORD_SECTION
|
||||
0 10 45
|
||||
1 25 1
|
||||
2 25 3
|
||||
3 31 5
|
||||
4 32 5
|
||||
5 31 7
|
||||
6 32 9
|
||||
7 34 9
|
||||
8 46 9
|
||||
9 35 7
|
||||
10 34 6
|
||||
11 35 5
|
||||
12 47 6
|
||||
13 40 5
|
||||
14 39 3
|
||||
15 36 3
|
||||
16 73 6
|
||||
17 73 8
|
||||
18 24 36
|
||||
19 76 6
|
||||
20 76 10
|
||||
21 76 13
|
||||
22 78 3
|
||||
23 78 9
|
||||
24 79 3
|
||||
25 79 5
|
||||
26 79 11
|
||||
27 82 3
|
||||
28 82 7
|
||||
29 90 15
|
||||
30 84 3
|
||||
31 84 5
|
||||
32 84 9
|
||||
33 85 1
|
||||
34 87 5
|
||||
35 85 8
|
||||
36 87 7
|
||||
37 86 41
|
||||
38 86 44
|
||||
39 86 46
|
||||
40 85 55
|
||||
41 89 43
|
||||
42 89 46
|
||||
43 89 52
|
||||
44 92 42
|
||||
45 92 52
|
||||
46 94 42
|
||||
47 94 44
|
||||
48 94 48
|
||||
49 96 42
|
||||
50 99 46
|
||||
51 99 50
|
||||
52 83 80
|
||||
53 83 83
|
||||
54 85 81
|
||||
55 85 85
|
||||
56 85 89
|
||||
57 87 80
|
||||
58 87 86
|
||||
59 90 77
|
||||
60 90 88
|
||||
61 93 82
|
||||
62 93 84
|
||||
63 93 89
|
||||
64 94 86
|
||||
65 95 80
|
||||
66 99 89
|
||||
67 37 83
|
||||
68 50 80
|
||||
69 35 85
|
||||
70 35 87
|
||||
71 44 86
|
||||
72 46 89
|
||||
73 46 83
|
||||
74 46 87
|
||||
75 46 89
|
||||
76 48 83
|
||||
77 50 85
|
||||
78 50 88
|
||||
79 54 86
|
||||
80 54 90
|
||||
81 10 35
|
||||
82 10 40
|
||||
83 18 30
|
||||
84 17 35
|
||||
85 16 38
|
||||
86 14 40
|
||||
87 15 42
|
||||
88 11 42
|
||||
89 18 40
|
||||
90 21 39
|
||||
91 20 40
|
||||
92 18 41
|
||||
93 20 44
|
||||
94 22 44
|
||||
95 16 45
|
||||
96 20 45
|
||||
97 25 45
|
||||
98 30 55
|
||||
99 20 50
|
||||
100 22 51
|
||||
101 18 49
|
||||
102 16 48
|
||||
103 20 55
|
||||
104 18 53
|
||||
105 14 50
|
||||
106 15 51
|
||||
107 16 54
|
||||
108 28 33
|
||||
109 33 38
|
||||
110 30 50
|
||||
111 13 40
|
||||
112 15 36
|
||||
113 18 31
|
||||
114 25 37
|
||||
115 30 46
|
||||
116 25 52
|
||||
117 16 33
|
||||
118 25 35
|
||||
119 5 40
|
||||
120 5 50
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
DURATION_SECTION
|
||||
1 13
|
||||
2 13
|
||||
3 13
|
||||
4 13
|
||||
5 13
|
||||
6 13
|
||||
7 13
|
||||
8 13
|
||||
9 13
|
||||
10 13
|
||||
11 13
|
||||
12 13
|
||||
13 13
|
||||
14 13
|
||||
15 13
|
||||
16 13
|
||||
17 13
|
||||
18 13
|
||||
19 13
|
||||
20 13
|
||||
21 13
|
||||
22 13
|
||||
23 13
|
||||
24 13
|
||||
25 13
|
||||
26 13
|
||||
27 13
|
||||
28 13
|
||||
29 13
|
||||
30 13
|
||||
31 13
|
||||
32 13
|
||||
33 13
|
||||
34 13
|
||||
35 13
|
||||
36 13
|
||||
37 13
|
||||
38 13
|
||||
39 13
|
||||
40 13
|
||||
41 13
|
||||
42 13
|
||||
43 13
|
||||
44 13
|
||||
45 13
|
||||
46 13
|
||||
47 13
|
||||
48 13
|
||||
49 13
|
||||
50 13
|
||||
51 13
|
||||
52 13
|
||||
53 13
|
||||
54 13
|
||||
55 13
|
||||
56 13
|
||||
57 13
|
||||
58 13
|
||||
59 13
|
||||
60 13
|
||||
61 13
|
||||
62 13
|
||||
63 13
|
||||
64 13
|
||||
65 13
|
||||
66 13
|
||||
67 13
|
||||
68 13
|
||||
69 13
|
||||
70 13
|
||||
71 13
|
||||
72 13
|
||||
73 13
|
||||
74 13
|
||||
75 13
|
||||
76 13
|
||||
77 13
|
||||
78 13
|
||||
79 13
|
||||
80 13
|
||||
81 13
|
||||
82 13
|
||||
83 13
|
||||
84 13
|
||||
85 13
|
||||
86 13
|
||||
87 13
|
||||
88 13
|
||||
89 13
|
||||
90 13
|
||||
91 13
|
||||
92 13
|
||||
93 13
|
||||
94 13
|
||||
95 13
|
||||
96 13
|
||||
97 13
|
||||
98 13
|
||||
99 13
|
||||
100 13
|
||||
101 13
|
||||
102 13
|
||||
103 13
|
||||
104 13
|
||||
105 13
|
||||
106 13
|
||||
107 13
|
||||
108 13
|
||||
109 13
|
||||
110 13
|
||||
111 13
|
||||
112 13
|
||||
113 13
|
||||
114 13
|
||||
115 13
|
||||
116 13
|
||||
117 13
|
||||
118 13
|
||||
119 13
|
||||
120 13
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 794
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 14
|
||||
3 26
|
||||
4 27
|
||||
5 29
|
||||
6 34
|
||||
7 35
|
||||
8 38
|
||||
9 46
|
||||
10 62
|
||||
11 70
|
||||
12 70
|
||||
13 71
|
||||
14 89
|
||||
15 114
|
||||
16 122
|
||||
17 140
|
||||
18 152
|
||||
19 166
|
||||
20 172
|
||||
21 181
|
||||
22 188
|
||||
23 200
|
||||
24 206
|
||||
25 223
|
||||
26 223
|
||||
27 226
|
||||
28 234
|
||||
29 235
|
||||
30 251
|
||||
31 254
|
||||
32 273
|
||||
33 274
|
||||
34 276
|
||||
35 289
|
||||
36 292
|
||||
37 304
|
||||
38 324
|
||||
39 324
|
||||
40 324
|
||||
41 330
|
||||
42 330
|
||||
43 339
|
||||
44 346
|
||||
45 356
|
||||
46 358
|
||||
47 361
|
||||
48 377
|
||||
49 383
|
||||
50 396
|
||||
51 402
|
||||
52 406
|
||||
53 409
|
||||
54 412
|
||||
55 432
|
||||
56 435
|
||||
57 443
|
||||
58 445
|
||||
59 454
|
||||
60 469
|
||||
61 472
|
||||
62 476
|
||||
63 476
|
||||
64 485
|
||||
65 485
|
||||
66 488
|
||||
67 495
|
||||
68 498
|
||||
69 503
|
||||
70 506
|
||||
71 524
|
||||
72 527
|
||||
73 529
|
||||
74 533
|
||||
75 539
|
||||
76 539
|
||||
77 539
|
||||
78 546
|
||||
79 548
|
||||
80 554
|
||||
81 558
|
||||
82 573
|
||||
83 574
|
||||
84 576
|
||||
85 577
|
||||
86 581
|
||||
87 584
|
||||
88 620
|
||||
89 625
|
||||
90 625
|
||||
91 633
|
||||
92 639
|
||||
93 643
|
||||
94 646
|
||||
95 647
|
||||
96 657
|
||||
97 661
|
||||
98 673
|
||||
99 682
|
||||
100 682
|
||||
101 688
|
||||
102 691
|
||||
103 694
|
||||
104 704
|
||||
105 706
|
||||
106 707
|
||||
107 710
|
||||
108 722
|
||||
109 725
|
||||
110 732
|
||||
111 734
|
||||
112 752
|
||||
113 761
|
||||
114 766
|
||||
115 769
|
||||
116 780
|
||||
117 785
|
||||
118 785
|
||||
119 788
|
||||
120 792
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c150 by convert2vt
|
||||
COMMENT: Best known objective: 1028.42
|
||||
NAME: c150
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 10
|
||||
2 7
|
||||
3 13
|
||||
4 19
|
||||
5 26
|
||||
6 3
|
||||
7 5
|
||||
8 9
|
||||
9 16
|
||||
10 16
|
||||
11 12
|
||||
12 19
|
||||
13 23
|
||||
14 20
|
||||
15 8
|
||||
16 19
|
||||
17 2
|
||||
18 12
|
||||
19 17
|
||||
20 9
|
||||
21 11
|
||||
22 18
|
||||
23 29
|
||||
24 3
|
||||
25 6
|
||||
26 17
|
||||
27 16
|
||||
28 16
|
||||
29 9
|
||||
30 21
|
||||
31 27
|
||||
32 23
|
||||
33 11
|
||||
34 14
|
||||
35 8
|
||||
36 5
|
||||
37 8
|
||||
38 16
|
||||
39 31
|
||||
40 9
|
||||
41 5
|
||||
42 5
|
||||
43 7
|
||||
44 18
|
||||
45 16
|
||||
46 1
|
||||
47 27
|
||||
48 36
|
||||
49 30
|
||||
50 13
|
||||
51 10
|
||||
52 9
|
||||
53 14
|
||||
54 18
|
||||
55 2
|
||||
56 6
|
||||
57 7
|
||||
58 18
|
||||
59 28
|
||||
60 3
|
||||
61 13
|
||||
62 19
|
||||
63 10
|
||||
64 9
|
||||
65 20
|
||||
66 25
|
||||
67 25
|
||||
68 36
|
||||
69 6
|
||||
70 5
|
||||
71 15
|
||||
72 25
|
||||
73 9
|
||||
74 8
|
||||
75 18
|
||||
76 13
|
||||
77 14
|
||||
78 3
|
||||
79 23
|
||||
80 6
|
||||
81 26
|
||||
82 16
|
||||
83 11
|
||||
84 7
|
||||
85 41
|
||||
86 35
|
||||
87 26
|
||||
88 9
|
||||
89 15
|
||||
90 3
|
||||
91 1
|
||||
92 2
|
||||
93 22
|
||||
94 27
|
||||
95 20
|
||||
96 11
|
||||
97 12
|
||||
98 10
|
||||
99 9
|
||||
100 17
|
||||
101 7
|
||||
102 30
|
||||
103 16
|
||||
104 9
|
||||
105 21
|
||||
106 15
|
||||
107 19
|
||||
108 23
|
||||
109 11
|
||||
110 5
|
||||
111 19
|
||||
112 29
|
||||
113 23
|
||||
114 21
|
||||
115 10
|
||||
116 15
|
||||
117 3
|
||||
118 41
|
||||
119 9
|
||||
120 28
|
||||
121 8
|
||||
122 8
|
||||
123 16
|
||||
124 10
|
||||
125 28
|
||||
126 7
|
||||
127 15
|
||||
128 14
|
||||
129 6
|
||||
130 19
|
||||
131 11
|
||||
132 12
|
||||
133 23
|
||||
134 26
|
||||
135 17
|
||||
136 6
|
||||
137 9
|
||||
138 15
|
||||
139 14
|
||||
140 7
|
||||
141 27
|
||||
142 13
|
||||
143 11
|
||||
144 16
|
||||
145 10
|
||||
146 5
|
||||
147 25
|
||||
148 17
|
||||
149 18
|
||||
150 10
|
||||
LOCATION_COORD_SECTION
|
||||
0 35 35
|
||||
1 41 49
|
||||
2 35 17
|
||||
3 55 45
|
||||
4 55 20
|
||||
5 15 30
|
||||
6 25 30
|
||||
7 20 50
|
||||
8 10 43
|
||||
9 55 60
|
||||
10 30 60
|
||||
11 20 65
|
||||
12 50 35
|
||||
13 30 25
|
||||
14 15 10
|
||||
15 30 5
|
||||
16 10 20
|
||||
17 5 30
|
||||
18 20 40
|
||||
19 15 60
|
||||
20 45 65
|
||||
21 45 20
|
||||
22 45 10
|
||||
23 55 5
|
||||
24 65 35
|
||||
25 65 20
|
||||
26 45 30
|
||||
27 35 40
|
||||
28 41 37
|
||||
29 64 42
|
||||
30 40 60
|
||||
31 31 52
|
||||
32 35 69
|
||||
33 53 52
|
||||
34 65 55
|
||||
35 63 65
|
||||
36 2 60
|
||||
37 20 20
|
||||
38 5 5
|
||||
39 60 12
|
||||
40 40 25
|
||||
41 42 7
|
||||
42 24 12
|
||||
43 23 3
|
||||
44 11 14
|
||||
45 6 38
|
||||
46 2 48
|
||||
47 8 56
|
||||
48 13 52
|
||||
49 6 68
|
||||
50 47 47
|
||||
51 49 58
|
||||
52 27 43
|
||||
53 37 31
|
||||
54 57 29
|
||||
55 63 23
|
||||
56 53 12
|
||||
57 32 12
|
||||
58 36 26
|
||||
59 21 24
|
||||
60 17 34
|
||||
61 12 24
|
||||
62 24 58
|
||||
63 27 69
|
||||
64 15 77
|
||||
65 62 77
|
||||
66 49 73
|
||||
67 67 5
|
||||
68 56 39
|
||||
69 37 47
|
||||
70 37 56
|
||||
71 57 68
|
||||
72 47 16
|
||||
73 44 17
|
||||
74 46 13
|
||||
75 49 11
|
||||
76 49 42
|
||||
77 53 43
|
||||
78 61 52
|
||||
79 57 48
|
||||
80 56 37
|
||||
81 55 54
|
||||
82 15 47
|
||||
83 14 37
|
||||
84 11 31
|
||||
85 16 22
|
||||
86 4 18
|
||||
87 28 18
|
||||
88 26 52
|
||||
89 26 35
|
||||
90 31 67
|
||||
91 15 19
|
||||
92 22 22
|
||||
93 18 24
|
||||
94 26 27
|
||||
95 25 24
|
||||
96 22 27
|
||||
97 25 21
|
||||
98 19 21
|
||||
99 20 26
|
||||
100 18 18
|
||||
101 37 52
|
||||
102 49 49
|
||||
103 52 64
|
||||
104 20 26
|
||||
105 40 30
|
||||
106 21 47
|
||||
107 17 63
|
||||
108 31 62
|
||||
109 52 33
|
||||
110 51 21
|
||||
111 42 41
|
||||
112 31 32
|
||||
113 5 25
|
||||
114 12 42
|
||||
115 36 16
|
||||
116 52 41
|
||||
117 27 23
|
||||
118 17 33
|
||||
119 13 13
|
||||
120 57 58
|
||||
121 62 42
|
||||
122 42 57
|
||||
123 16 57
|
||||
124 8 52
|
||||
125 7 38
|
||||
126 27 68
|
||||
127 30 48
|
||||
128 43 67
|
||||
129 58 48
|
||||
130 58 27
|
||||
131 37 69
|
||||
132 38 46
|
||||
133 46 10
|
||||
134 61 33
|
||||
135 62 63
|
||||
136 63 69
|
||||
137 32 22
|
||||
138 45 35
|
||||
139 59 15
|
||||
140 5 6
|
||||
141 10 17
|
||||
142 21 10
|
||||
143 5 64
|
||||
144 30 15
|
||||
145 39 10
|
||||
146 32 39
|
||||
147 25 32
|
||||
148 25 55
|
||||
149 48 28
|
||||
150 56 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 10
|
||||
2 10
|
||||
3 10
|
||||
4 10
|
||||
5 10
|
||||
6 10
|
||||
7 10
|
||||
8 10
|
||||
9 10
|
||||
10 10
|
||||
11 10
|
||||
12 10
|
||||
13 10
|
||||
14 10
|
||||
15 10
|
||||
16 10
|
||||
17 10
|
||||
18 10
|
||||
19 10
|
||||
20 10
|
||||
21 10
|
||||
22 10
|
||||
23 10
|
||||
24 10
|
||||
25 10
|
||||
26 10
|
||||
27 10
|
||||
28 10
|
||||
29 10
|
||||
30 10
|
||||
31 10
|
||||
32 10
|
||||
33 10
|
||||
34 10
|
||||
35 10
|
||||
36 10
|
||||
37 10
|
||||
38 10
|
||||
39 10
|
||||
40 10
|
||||
41 10
|
||||
42 10
|
||||
43 10
|
||||
44 10
|
||||
45 10
|
||||
46 10
|
||||
47 10
|
||||
48 10
|
||||
49 10
|
||||
50 10
|
||||
51 10
|
||||
52 10
|
||||
53 10
|
||||
54 10
|
||||
55 10
|
||||
56 10
|
||||
57 10
|
||||
58 10
|
||||
59 10
|
||||
60 10
|
||||
61 10
|
||||
62 10
|
||||
63 10
|
||||
64 10
|
||||
65 10
|
||||
66 10
|
||||
67 10
|
||||
68 10
|
||||
69 10
|
||||
70 10
|
||||
71 10
|
||||
72 10
|
||||
73 10
|
||||
74 10
|
||||
75 10
|
||||
76 10
|
||||
77 10
|
||||
78 10
|
||||
79 10
|
||||
80 10
|
||||
81 10
|
||||
82 10
|
||||
83 10
|
||||
84 10
|
||||
85 10
|
||||
86 10
|
||||
87 10
|
||||
88 10
|
||||
89 10
|
||||
90 10
|
||||
91 10
|
||||
92 10
|
||||
93 10
|
||||
94 10
|
||||
95 10
|
||||
96 10
|
||||
97 10
|
||||
98 10
|
||||
99 10
|
||||
100 10
|
||||
101 10
|
||||
102 10
|
||||
103 10
|
||||
104 10
|
||||
105 10
|
||||
106 10
|
||||
107 10
|
||||
108 10
|
||||
109 10
|
||||
110 10
|
||||
111 10
|
||||
112 10
|
||||
113 10
|
||||
114 10
|
||||
115 10
|
||||
116 10
|
||||
117 10
|
||||
118 10
|
||||
119 10
|
||||
120 10
|
||||
121 10
|
||||
122 10
|
||||
123 10
|
||||
124 10
|
||||
125 10
|
||||
126 10
|
||||
127 10
|
||||
128 10
|
||||
129 10
|
||||
130 10
|
||||
131 10
|
||||
132 10
|
||||
133 10
|
||||
134 10
|
||||
135 10
|
||||
136 10
|
||||
137 10
|
||||
138 10
|
||||
139 10
|
||||
140 10
|
||||
141 10
|
||||
142 10
|
||||
143 10
|
||||
144 10
|
||||
145 10
|
||||
146 10
|
||||
147 10
|
||||
148 10
|
||||
149 10
|
||||
150 10
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 399
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 0
|
||||
2 7
|
||||
3 13
|
||||
4 13
|
||||
5 14
|
||||
6 17
|
||||
7 17
|
||||
8 19
|
||||
9 23
|
||||
10 31
|
||||
11 32
|
||||
12 35
|
||||
13 35
|
||||
14 36
|
||||
15 44
|
||||
16 47
|
||||
17 55
|
||||
18 57
|
||||
19 61
|
||||
20 62
|
||||
21 67
|
||||
22 70
|
||||
23 71
|
||||
24 71
|
||||
25 71
|
||||
26 74
|
||||
27 76
|
||||
28 79
|
||||
29 83
|
||||
30 86
|
||||
31 91
|
||||
32 94
|
||||
33 100
|
||||
34 103
|
||||
35 112
|
||||
36 112
|
||||
37 113
|
||||
38 117
|
||||
39 118
|
||||
40 126
|
||||
41 127
|
||||
42 137
|
||||
43 137
|
||||
44 138
|
||||
45 138
|
||||
46 143
|
||||
47 143
|
||||
48 145
|
||||
49 146
|
||||
50 152
|
||||
51 163
|
||||
52 163
|
||||
53 163
|
||||
54 166
|
||||
55 166
|
||||
56 168
|
||||
57 170
|
||||
58 174
|
||||
59 179
|
||||
60 180
|
||||
61 181
|
||||
62 181
|
||||
63 189
|
||||
64 192
|
||||
65 199
|
||||
66 202
|
||||
67 202
|
||||
68 204
|
||||
69 205
|
||||
70 207
|
||||
71 217
|
||||
72 218
|
||||
73 222
|
||||
74 223
|
||||
75 224
|
||||
76 228
|
||||
77 229
|
||||
78 235
|
||||
79 235
|
||||
80 237
|
||||
81 239
|
||||
82 239
|
||||
83 243
|
||||
84 243
|
||||
85 245
|
||||
86 247
|
||||
87 249
|
||||
88 250
|
||||
89 252
|
||||
90 254
|
||||
91 254
|
||||
92 263
|
||||
93 265
|
||||
94 266
|
||||
95 268
|
||||
96 271
|
||||
97 271
|
||||
98 271
|
||||
99 274
|
||||
100 275
|
||||
101 278
|
||||
102 280
|
||||
103 288
|
||||
104 288
|
||||
105 289
|
||||
106 290
|
||||
107 292
|
||||
108 293
|
||||
109 310
|
||||
110 311
|
||||
111 314
|
||||
112 314
|
||||
113 316
|
||||
114 318
|
||||
115 321
|
||||
116 323
|
||||
117 324
|
||||
118 325
|
||||
119 330
|
||||
120 332
|
||||
121 334
|
||||
122 338
|
||||
123 343
|
||||
124 343
|
||||
125 346
|
||||
126 347
|
||||
127 348
|
||||
128 348
|
||||
129 354
|
||||
130 354
|
||||
131 355
|
||||
132 357
|
||||
133 359
|
||||
134 363
|
||||
135 363
|
||||
136 364
|
||||
137 368
|
||||
138 368
|
||||
139 373
|
||||
140 378
|
||||
141 382
|
||||
142 384
|
||||
143 386
|
||||
144 389
|
||||
145 392
|
||||
146 394
|
||||
147 394
|
||||
148 396
|
||||
149 396
|
||||
150 398
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c150 by convert2vt
|
||||
COMMENT: Best known objective: 1028.42
|
||||
NAME: c150
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 200
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -10
|
||||
2 -7
|
||||
3 -13
|
||||
4 -19
|
||||
5 -26
|
||||
6 -3
|
||||
7 -5
|
||||
8 -9
|
||||
9 -16
|
||||
10 -16
|
||||
11 -12
|
||||
12 -19
|
||||
13 -23
|
||||
14 -20
|
||||
15 -8
|
||||
16 -19
|
||||
17 -2
|
||||
18 -12
|
||||
19 -17
|
||||
20 -9
|
||||
21 -11
|
||||
22 -18
|
||||
23 -29
|
||||
24 -3
|
||||
25 -6
|
||||
26 -17
|
||||
27 -16
|
||||
28 -16
|
||||
29 -9
|
||||
30 -21
|
||||
31 -27
|
||||
32 -23
|
||||
33 -11
|
||||
34 -14
|
||||
35 -8
|
||||
36 -5
|
||||
37 -8
|
||||
38 -16
|
||||
39 -31
|
||||
40 -9
|
||||
41 -5
|
||||
42 -5
|
||||
43 -7
|
||||
44 -18
|
||||
45 -16
|
||||
46 -1
|
||||
47 -27
|
||||
48 -36
|
||||
49 -30
|
||||
50 -13
|
||||
51 -10
|
||||
52 -9
|
||||
53 -14
|
||||
54 -18
|
||||
55 -2
|
||||
56 -6
|
||||
57 -7
|
||||
58 -18
|
||||
59 -28
|
||||
60 -3
|
||||
61 -13
|
||||
62 -19
|
||||
63 -10
|
||||
64 -9
|
||||
65 -20
|
||||
66 -25
|
||||
67 -25
|
||||
68 -36
|
||||
69 -6
|
||||
70 -5
|
||||
71 -15
|
||||
72 -25
|
||||
73 -9
|
||||
74 -8
|
||||
75 -18
|
||||
76 -13
|
||||
77 -14
|
||||
78 -3
|
||||
79 -23
|
||||
80 -6
|
||||
81 -26
|
||||
82 -16
|
||||
83 -11
|
||||
84 -7
|
||||
85 -41
|
||||
86 -35
|
||||
87 -26
|
||||
88 -9
|
||||
89 -15
|
||||
90 -3
|
||||
91 -1
|
||||
92 -2
|
||||
93 -22
|
||||
94 -27
|
||||
95 -20
|
||||
96 -11
|
||||
97 -12
|
||||
98 -10
|
||||
99 -9
|
||||
100 -17
|
||||
101 -7
|
||||
102 -30
|
||||
103 -16
|
||||
104 -9
|
||||
105 -21
|
||||
106 -15
|
||||
107 -19
|
||||
108 -23
|
||||
109 -11
|
||||
110 -5
|
||||
111 -19
|
||||
112 -29
|
||||
113 -23
|
||||
114 -21
|
||||
115 -10
|
||||
116 -15
|
||||
117 -3
|
||||
118 -41
|
||||
119 -9
|
||||
120 -28
|
||||
121 -8
|
||||
122 -8
|
||||
123 -16
|
||||
124 -10
|
||||
125 -28
|
||||
126 -7
|
||||
127 -15
|
||||
128 -14
|
||||
129 -6
|
||||
130 -19
|
||||
131 -11
|
||||
132 -12
|
||||
133 -23
|
||||
134 -26
|
||||
135 -17
|
||||
136 -6
|
||||
137 -9
|
||||
138 -15
|
||||
139 -14
|
||||
140 -7
|
||||
141 -27
|
||||
142 -13
|
||||
143 -11
|
||||
144 -16
|
||||
145 -10
|
||||
146 -5
|
||||
147 -25
|
||||
148 -17
|
||||
149 -18
|
||||
150 -10
|
||||
LOCATION_COORD_SECTION
|
||||
0 35 35
|
||||
1 41 49
|
||||
2 35 17
|
||||
3 55 45
|
||||
4 55 20
|
||||
5 15 30
|
||||
6 25 30
|
||||
7 20 50
|
||||
8 10 43
|
||||
9 55 60
|
||||
10 30 60
|
||||
11 20 65
|
||||
12 50 35
|
||||
13 30 25
|
||||
14 15 10
|
||||
15 30 5
|
||||
16 10 20
|
||||
17 5 30
|
||||
18 20 40
|
||||
19 15 60
|
||||
20 45 65
|
||||
21 45 20
|
||||
22 45 10
|
||||
23 55 5
|
||||
24 65 35
|
||||
25 65 20
|
||||
26 45 30
|
||||
27 35 40
|
||||
28 41 37
|
||||
29 64 42
|
||||
30 40 60
|
||||
31 31 52
|
||||
32 35 69
|
||||
33 53 52
|
||||
34 65 55
|
||||
35 63 65
|
||||
36 2 60
|
||||
37 20 20
|
||||
38 5 5
|
||||
39 60 12
|
||||
40 40 25
|
||||
41 42 7
|
||||
42 24 12
|
||||
43 23 3
|
||||
44 11 14
|
||||
45 6 38
|
||||
46 2 48
|
||||
47 8 56
|
||||
48 13 52
|
||||
49 6 68
|
||||
50 47 47
|
||||
51 49 58
|
||||
52 27 43
|
||||
53 37 31
|
||||
54 57 29
|
||||
55 63 23
|
||||
56 53 12
|
||||
57 32 12
|
||||
58 36 26
|
||||
59 21 24
|
||||
60 17 34
|
||||
61 12 24
|
||||
62 24 58
|
||||
63 27 69
|
||||
64 15 77
|
||||
65 62 77
|
||||
66 49 73
|
||||
67 67 5
|
||||
68 56 39
|
||||
69 37 47
|
||||
70 37 56
|
||||
71 57 68
|
||||
72 47 16
|
||||
73 44 17
|
||||
74 46 13
|
||||
75 49 11
|
||||
76 49 42
|
||||
77 53 43
|
||||
78 61 52
|
||||
79 57 48
|
||||
80 56 37
|
||||
81 55 54
|
||||
82 15 47
|
||||
83 14 37
|
||||
84 11 31
|
||||
85 16 22
|
||||
86 4 18
|
||||
87 28 18
|
||||
88 26 52
|
||||
89 26 35
|
||||
90 31 67
|
||||
91 15 19
|
||||
92 22 22
|
||||
93 18 24
|
||||
94 26 27
|
||||
95 25 24
|
||||
96 22 27
|
||||
97 25 21
|
||||
98 19 21
|
||||
99 20 26
|
||||
100 18 18
|
||||
101 37 52
|
||||
102 49 49
|
||||
103 52 64
|
||||
104 20 26
|
||||
105 40 30
|
||||
106 21 47
|
||||
107 17 63
|
||||
108 31 62
|
||||
109 52 33
|
||||
110 51 21
|
||||
111 42 41
|
||||
112 31 32
|
||||
113 5 25
|
||||
114 12 42
|
||||
115 36 16
|
||||
116 52 41
|
||||
117 27 23
|
||||
118 17 33
|
||||
119 13 13
|
||||
120 57 58
|
||||
121 62 42
|
||||
122 42 57
|
||||
123 16 57
|
||||
124 8 52
|
||||
125 7 38
|
||||
126 27 68
|
||||
127 30 48
|
||||
128 43 67
|
||||
129 58 48
|
||||
130 58 27
|
||||
131 37 69
|
||||
132 38 46
|
||||
133 46 10
|
||||
134 61 33
|
||||
135 62 63
|
||||
136 63 69
|
||||
137 32 22
|
||||
138 45 35
|
||||
139 59 15
|
||||
140 5 6
|
||||
141 10 17
|
||||
142 21 10
|
||||
143 5 64
|
||||
144 30 15
|
||||
145 39 10
|
||||
146 32 39
|
||||
147 25 32
|
||||
148 25 55
|
||||
149 48 28
|
||||
150 56 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 10
|
||||
2 10
|
||||
3 10
|
||||
4 10
|
||||
5 10
|
||||
6 10
|
||||
7 10
|
||||
8 10
|
||||
9 10
|
||||
10 10
|
||||
11 10
|
||||
12 10
|
||||
13 10
|
||||
14 10
|
||||
15 10
|
||||
16 10
|
||||
17 10
|
||||
18 10
|
||||
19 10
|
||||
20 10
|
||||
21 10
|
||||
22 10
|
||||
23 10
|
||||
24 10
|
||||
25 10
|
||||
26 10
|
||||
27 10
|
||||
28 10
|
||||
29 10
|
||||
30 10
|
||||
31 10
|
||||
32 10
|
||||
33 10
|
||||
34 10
|
||||
35 10
|
||||
36 10
|
||||
37 10
|
||||
38 10
|
||||
39 10
|
||||
40 10
|
||||
41 10
|
||||
42 10
|
||||
43 10
|
||||
44 10
|
||||
45 10
|
||||
46 10
|
||||
47 10
|
||||
48 10
|
||||
49 10
|
||||
50 10
|
||||
51 10
|
||||
52 10
|
||||
53 10
|
||||
54 10
|
||||
55 10
|
||||
56 10
|
||||
57 10
|
||||
58 10
|
||||
59 10
|
||||
60 10
|
||||
61 10
|
||||
62 10
|
||||
63 10
|
||||
64 10
|
||||
65 10
|
||||
66 10
|
||||
67 10
|
||||
68 10
|
||||
69 10
|
||||
70 10
|
||||
71 10
|
||||
72 10
|
||||
73 10
|
||||
74 10
|
||||
75 10
|
||||
76 10
|
||||
77 10
|
||||
78 10
|
||||
79 10
|
||||
80 10
|
||||
81 10
|
||||
82 10
|
||||
83 10
|
||||
84 10
|
||||
85 10
|
||||
86 10
|
||||
87 10
|
||||
88 10
|
||||
89 10
|
||||
90 10
|
||||
91 10
|
||||
92 10
|
||||
93 10
|
||||
94 10
|
||||
95 10
|
||||
96 10
|
||||
97 10
|
||||
98 10
|
||||
99 10
|
||||
100 10
|
||||
101 10
|
||||
102 10
|
||||
103 10
|
||||
104 10
|
||||
105 10
|
||||
106 10
|
||||
107 10
|
||||
108 10
|
||||
109 10
|
||||
110 10
|
||||
111 10
|
||||
112 10
|
||||
113 10
|
||||
114 10
|
||||
115 10
|
||||
116 10
|
||||
117 10
|
||||
118 10
|
||||
119 10
|
||||
120 10
|
||||
121 10
|
||||
122 10
|
||||
123 10
|
||||
124 10
|
||||
125 10
|
||||
126 10
|
||||
127 10
|
||||
128 10
|
||||
129 10
|
||||
130 10
|
||||
131 10
|
||||
132 10
|
||||
133 10
|
||||
134 10
|
||||
135 10
|
||||
136 10
|
||||
137 10
|
||||
138 10
|
||||
139 10
|
||||
140 10
|
||||
141 10
|
||||
142 10
|
||||
143 10
|
||||
144 10
|
||||
145 10
|
||||
146 10
|
||||
147 10
|
||||
148 10
|
||||
149 10
|
||||
150 10
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 399
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 3
|
||||
2 4
|
||||
3 5
|
||||
4 7
|
||||
5 9
|
||||
6 11
|
||||
7 15
|
||||
8 20
|
||||
9 20
|
||||
10 22
|
||||
11 22
|
||||
12 25
|
||||
13 30
|
||||
14 33
|
||||
15 36
|
||||
16 41
|
||||
17 45
|
||||
18 45
|
||||
19 52
|
||||
20 53
|
||||
21 59
|
||||
22 61
|
||||
23 62
|
||||
24 63
|
||||
25 65
|
||||
26 67
|
||||
27 70
|
||||
28 71
|
||||
29 71
|
||||
30 75
|
||||
31 76
|
||||
32 80
|
||||
33 83
|
||||
34 83
|
||||
35 86
|
||||
36 89
|
||||
37 92
|
||||
38 95
|
||||
39 97
|
||||
40 99
|
||||
41 100
|
||||
42 103
|
||||
43 108
|
||||
44 109
|
||||
45 112
|
||||
46 117
|
||||
47 118
|
||||
48 118
|
||||
49 119
|
||||
50 122
|
||||
51 124
|
||||
52 127
|
||||
53 128
|
||||
54 130
|
||||
55 141
|
||||
56 141
|
||||
57 143
|
||||
58 150
|
||||
59 156
|
||||
60 169
|
||||
61 170
|
||||
62 174
|
||||
63 180
|
||||
64 180
|
||||
65 181
|
||||
66 185
|
||||
67 190
|
||||
68 192
|
||||
69 193
|
||||
70 197
|
||||
71 201
|
||||
72 201
|
||||
73 202
|
||||
74 205
|
||||
75 205
|
||||
76 210
|
||||
77 212
|
||||
78 216
|
||||
79 230
|
||||
80 233
|
||||
81 233
|
||||
82 234
|
||||
83 235
|
||||
84 243
|
||||
85 247
|
||||
86 255
|
||||
87 260
|
||||
88 261
|
||||
89 261
|
||||
90 263
|
||||
91 263
|
||||
92 264
|
||||
93 266
|
||||
94 273
|
||||
95 273
|
||||
96 277
|
||||
97 277
|
||||
98 278
|
||||
99 282
|
||||
100 282
|
||||
101 284
|
||||
102 287
|
||||
103 287
|
||||
104 287
|
||||
105 289
|
||||
106 293
|
||||
107 295
|
||||
108 295
|
||||
109 297
|
||||
110 298
|
||||
111 300
|
||||
112 300
|
||||
113 310
|
||||
114 320
|
||||
115 321
|
||||
116 325
|
||||
117 327
|
||||
118 329
|
||||
119 331
|
||||
120 335
|
||||
121 339
|
||||
122 341
|
||||
123 341
|
||||
124 343
|
||||
125 345
|
||||
126 345
|
||||
127 345
|
||||
128 346
|
||||
129 349
|
||||
130 350
|
||||
131 351
|
||||
132 352
|
||||
133 354
|
||||
134 358
|
||||
135 361
|
||||
136 362
|
||||
137 365
|
||||
138 366
|
||||
139 366
|
||||
140 371
|
||||
141 373
|
||||
142 373
|
||||
143 374
|
||||
144 377
|
||||
145 381
|
||||
146 384
|
||||
147 388
|
||||
148 390
|
||||
149 396
|
||||
150 397
|
||||
EOF
|
||||
1020
branches/contribution/branches/PSO-DVRP/MultiSwarm/application/Benchmarks/c199.vrp
Executable file
1020
branches/contribution/branches/PSO-DVRP/MultiSwarm/application/Benchmarks/c199.vrp
Executable file
File diff suppressed because it is too large
Load diff
1020
branches/contribution/branches/PSO-DVRP/MultiSwarm/application/Benchmarks/c199D.vrp
Executable file
1020
branches/contribution/branches/PSO-DVRP/MultiSwarm/application/Benchmarks/c199D.vrp
Executable file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,275 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c50 by convert2vt
|
||||
COMMENT: Best known objective: 524.61
|
||||
NAME: c50
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 50
|
||||
NUM_LOCATIONS: 51
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 160
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 7
|
||||
2 30
|
||||
3 16
|
||||
4 9
|
||||
5 21
|
||||
6 15
|
||||
7 19
|
||||
8 23
|
||||
9 11
|
||||
10 5
|
||||
11 19
|
||||
12 29
|
||||
13 23
|
||||
14 21
|
||||
15 10
|
||||
16 15
|
||||
17 3
|
||||
18 41
|
||||
19 9
|
||||
20 28
|
||||
21 8
|
||||
22 8
|
||||
23 16
|
||||
24 10
|
||||
25 28
|
||||
26 7
|
||||
27 15
|
||||
28 14
|
||||
29 6
|
||||
30 19
|
||||
31 11
|
||||
32 12
|
||||
33 23
|
||||
34 26
|
||||
35 17
|
||||
36 6
|
||||
37 9
|
||||
38 15
|
||||
39 14
|
||||
40 7
|
||||
41 27
|
||||
42 13
|
||||
43 11
|
||||
44 16
|
||||
45 10
|
||||
46 5
|
||||
47 25
|
||||
48 17
|
||||
49 18
|
||||
50 10
|
||||
LOCATION_COORD_SECTION
|
||||
0 30 40
|
||||
1 37 52
|
||||
2 49 49
|
||||
3 52 64
|
||||
4 20 26
|
||||
5 40 30
|
||||
6 21 47
|
||||
7 17 63
|
||||
8 31 62
|
||||
9 52 33
|
||||
10 51 21
|
||||
11 42 41
|
||||
12 31 32
|
||||
13 5 25
|
||||
14 12 42
|
||||
15 36 16
|
||||
16 52 41
|
||||
17 27 23
|
||||
18 17 33
|
||||
19 13 13
|
||||
20 57 58
|
||||
21 62 42
|
||||
22 42 57
|
||||
23 16 57
|
||||
24 8 52
|
||||
25 7 38
|
||||
26 27 68
|
||||
27 30 48
|
||||
28 43 67
|
||||
29 58 48
|
||||
30 58 27
|
||||
31 37 69
|
||||
32 38 46
|
||||
33 46 10
|
||||
34 61 33
|
||||
35 62 63
|
||||
36 63 69
|
||||
37 32 22
|
||||
38 45 35
|
||||
39 59 15
|
||||
40 5 6
|
||||
41 10 17
|
||||
42 21 10
|
||||
43 5 64
|
||||
44 30 15
|
||||
45 39 10
|
||||
46 32 39
|
||||
47 25 32
|
||||
48 25 55
|
||||
49 48 28
|
||||
50 56 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
DURATION_SECTION
|
||||
1 15
|
||||
2 15
|
||||
3 15
|
||||
4 15
|
||||
5 15
|
||||
6 15
|
||||
7 15
|
||||
8 15
|
||||
9 15
|
||||
10 15
|
||||
11 15
|
||||
12 15
|
||||
13 15
|
||||
14 15
|
||||
15 15
|
||||
16 15
|
||||
17 15
|
||||
18 15
|
||||
19 15
|
||||
20 15
|
||||
21 15
|
||||
22 15
|
||||
23 15
|
||||
24 15
|
||||
25 15
|
||||
26 15
|
||||
27 15
|
||||
28 15
|
||||
29 15
|
||||
30 15
|
||||
31 15
|
||||
32 15
|
||||
33 15
|
||||
34 15
|
||||
35 15
|
||||
36 15
|
||||
37 15
|
||||
38 15
|
||||
39 15
|
||||
40 15
|
||||
41 15
|
||||
42 15
|
||||
43 15
|
||||
44 15
|
||||
45 15
|
||||
46 15
|
||||
47 15
|
||||
48 15
|
||||
49 15
|
||||
50 15
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 351
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 4
|
||||
3 9
|
||||
4 12
|
||||
5 12
|
||||
6 16
|
||||
7 21
|
||||
8 34
|
||||
9 42
|
||||
10 44
|
||||
11 51
|
||||
12 58
|
||||
13 63
|
||||
14 79
|
||||
15 80
|
||||
16 80
|
||||
17 86
|
||||
18 100
|
||||
19 104
|
||||
20 116
|
||||
21 128
|
||||
22 138
|
||||
23 157
|
||||
24 184
|
||||
25 189
|
||||
26 204
|
||||
27 217
|
||||
28 224
|
||||
29 224
|
||||
30 226
|
||||
31 232
|
||||
32 241
|
||||
33 242
|
||||
34 245
|
||||
35 251
|
||||
36 255
|
||||
37 282
|
||||
38 283
|
||||
39 289
|
||||
40 290
|
||||
41 294
|
||||
42 294
|
||||
43 296
|
||||
44 298
|
||||
45 302
|
||||
46 305
|
||||
47 312
|
||||
48 314
|
||||
49 340
|
||||
50 345
|
||||
EOF
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c50 by convert2vt
|
||||
COMMENT: Best known objective: 524.61
|
||||
NAME: c50
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 50
|
||||
NUM_LOCATIONS: 51
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 160
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -7
|
||||
2 -30
|
||||
3 -16
|
||||
4 -9
|
||||
5 -21
|
||||
6 -15
|
||||
7 -19
|
||||
8 -23
|
||||
9 -11
|
||||
10 -5
|
||||
11 -19
|
||||
12 -29
|
||||
13 -23
|
||||
14 -21
|
||||
15 -10
|
||||
16 -15
|
||||
17 -3
|
||||
18 -41
|
||||
19 -9
|
||||
20 -28
|
||||
21 -8
|
||||
22 -8
|
||||
23 -16
|
||||
24 -10
|
||||
25 -28
|
||||
26 -7
|
||||
27 -15
|
||||
28 -14
|
||||
29 -6
|
||||
30 -19
|
||||
31 -11
|
||||
32 -12
|
||||
33 -23
|
||||
34 -26
|
||||
35 -17
|
||||
36 -6
|
||||
37 -9
|
||||
38 -15
|
||||
39 -14
|
||||
40 -7
|
||||
41 -27
|
||||
42 -13
|
||||
43 -11
|
||||
44 -16
|
||||
45 -10
|
||||
46 -5
|
||||
47 -25
|
||||
48 -17
|
||||
49 -18
|
||||
50 -10
|
||||
LOCATION_COORD_SECTION
|
||||
0 30 40
|
||||
1 37 52
|
||||
2 49 49
|
||||
3 52 64
|
||||
4 20 26
|
||||
5 40 30
|
||||
6 21 47
|
||||
7 17 63
|
||||
8 31 62
|
||||
9 52 33
|
||||
10 51 21
|
||||
11 42 41
|
||||
12 31 32
|
||||
13 5 25
|
||||
14 12 42
|
||||
15 36 16
|
||||
16 52 41
|
||||
17 27 23
|
||||
18 17 33
|
||||
19 13 13
|
||||
20 57 58
|
||||
21 62 42
|
||||
22 42 57
|
||||
23 16 57
|
||||
24 8 52
|
||||
25 7 38
|
||||
26 27 68
|
||||
27 30 48
|
||||
28 43 67
|
||||
29 58 48
|
||||
30 58 27
|
||||
31 37 69
|
||||
32 38 46
|
||||
33 46 10
|
||||
34 61 33
|
||||
35 62 63
|
||||
36 63 69
|
||||
37 32 22
|
||||
38 45 35
|
||||
39 59 15
|
||||
40 5 6
|
||||
41 10 17
|
||||
42 21 10
|
||||
43 5 64
|
||||
44 30 15
|
||||
45 39 10
|
||||
46 32 39
|
||||
47 25 32
|
||||
48 25 55
|
||||
49 48 28
|
||||
50 56 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
DURATION_SECTION
|
||||
1 15
|
||||
2 15
|
||||
3 15
|
||||
4 15
|
||||
5 15
|
||||
6 15
|
||||
7 15
|
||||
8 15
|
||||
9 15
|
||||
10 15
|
||||
11 15
|
||||
12 15
|
||||
13 15
|
||||
14 15
|
||||
15 15
|
||||
16 15
|
||||
17 15
|
||||
18 15
|
||||
19 15
|
||||
20 15
|
||||
21 15
|
||||
22 15
|
||||
23 15
|
||||
24 15
|
||||
25 15
|
||||
26 15
|
||||
27 15
|
||||
28 15
|
||||
29 15
|
||||
30 15
|
||||
31 15
|
||||
32 15
|
||||
33 15
|
||||
34 15
|
||||
35 15
|
||||
36 15
|
||||
37 15
|
||||
38 15
|
||||
39 15
|
||||
40 15
|
||||
41 15
|
||||
42 15
|
||||
43 15
|
||||
44 15
|
||||
45 15
|
||||
46 15
|
||||
47 15
|
||||
48 15
|
||||
49 15
|
||||
50 15
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 351
|
||||
COMMENT: TIMESTEP: 7
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 4
|
||||
3 9
|
||||
4 12
|
||||
5 12
|
||||
6 16
|
||||
7 21
|
||||
8 34
|
||||
9 42
|
||||
10 44
|
||||
11 51
|
||||
12 58
|
||||
13 63
|
||||
14 79
|
||||
15 80
|
||||
16 80
|
||||
17 86
|
||||
18 100
|
||||
19 104
|
||||
20 116
|
||||
21 128
|
||||
22 138
|
||||
23 157
|
||||
24 184
|
||||
25 189
|
||||
26 204
|
||||
27 217
|
||||
28 224
|
||||
29 224
|
||||
30 226
|
||||
31 232
|
||||
32 241
|
||||
33 242
|
||||
34 245
|
||||
35 251
|
||||
36 255
|
||||
37 282
|
||||
38 283
|
||||
39 289
|
||||
40 290
|
||||
41 294
|
||||
42 294
|
||||
43 296
|
||||
44 298
|
||||
45 302
|
||||
46 305
|
||||
47 312
|
||||
48 314
|
||||
49 340
|
||||
50 345
|
||||
EOF
|
||||
|
|
@ -0,0 +1,400 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c75 by convert2vt
|
||||
COMMENT: Best known objective: 835.26
|
||||
NAME: c75
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 75
|
||||
NUM_LOCATIONS: 76
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 140
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 18
|
||||
2 26
|
||||
3 11
|
||||
4 30
|
||||
5 21
|
||||
6 19
|
||||
7 15
|
||||
8 16
|
||||
9 29
|
||||
10 26
|
||||
11 37
|
||||
12 16
|
||||
13 12
|
||||
14 31
|
||||
15 8
|
||||
16 19
|
||||
17 20
|
||||
18 13
|
||||
19 15
|
||||
20 22
|
||||
21 28
|
||||
22 12
|
||||
23 6
|
||||
24 27
|
||||
25 14
|
||||
26 18
|
||||
27 17
|
||||
28 29
|
||||
29 13
|
||||
30 22
|
||||
31 25
|
||||
32 28
|
||||
33 27
|
||||
34 19
|
||||
35 10
|
||||
36 12
|
||||
37 14
|
||||
38 24
|
||||
39 16
|
||||
40 33
|
||||
41 15
|
||||
42 11
|
||||
43 18
|
||||
44 17
|
||||
45 21
|
||||
46 27
|
||||
47 19
|
||||
48 20
|
||||
49 5
|
||||
50 22
|
||||
51 12
|
||||
52 19
|
||||
53 22
|
||||
54 16
|
||||
55 7
|
||||
56 26
|
||||
57 14
|
||||
58 21
|
||||
59 24
|
||||
60 13
|
||||
61 15
|
||||
62 18
|
||||
63 11
|
||||
64 28
|
||||
65 9
|
||||
66 37
|
||||
67 30
|
||||
68 10
|
||||
69 8
|
||||
70 11
|
||||
71 3
|
||||
72 1
|
||||
73 6
|
||||
74 10
|
||||
75 20
|
||||
LOCATION_COORD_SECTION
|
||||
0 40 40
|
||||
1 22 22
|
||||
2 36 26
|
||||
3 21 45
|
||||
4 45 35
|
||||
5 55 20
|
||||
6 33 34
|
||||
7 50 50
|
||||
8 55 45
|
||||
9 26 59
|
||||
10 40 66
|
||||
11 55 65
|
||||
12 35 51
|
||||
13 62 35
|
||||
14 62 57
|
||||
15 62 24
|
||||
16 21 36
|
||||
17 33 44
|
||||
18 9 56
|
||||
19 62 48
|
||||
20 66 14
|
||||
21 44 13
|
||||
22 26 13
|
||||
23 11 28
|
||||
24 7 43
|
||||
25 17 64
|
||||
26 41 46
|
||||
27 55 34
|
||||
28 35 16
|
||||
29 52 26
|
||||
30 43 26
|
||||
31 31 76
|
||||
32 22 53
|
||||
33 26 29
|
||||
34 50 40
|
||||
35 55 50
|
||||
36 54 10
|
||||
37 60 15
|
||||
38 47 66
|
||||
39 30 60
|
||||
40 30 50
|
||||
41 12 17
|
||||
42 15 14
|
||||
43 16 19
|
||||
44 21 48
|
||||
45 50 30
|
||||
46 51 42
|
||||
47 50 15
|
||||
48 48 21
|
||||
49 12 38
|
||||
50 15 56
|
||||
51 29 39
|
||||
52 54 38
|
||||
53 55 57
|
||||
54 67 41
|
||||
55 10 70
|
||||
56 6 25
|
||||
57 65 27
|
||||
58 40 60
|
||||
59 70 64
|
||||
60 64 4
|
||||
61 36 6
|
||||
62 30 20
|
||||
63 20 30
|
||||
64 15 5
|
||||
65 50 70
|
||||
66 57 72
|
||||
67 45 42
|
||||
68 38 33
|
||||
69 50 4
|
||||
70 66 8
|
||||
71 59 5
|
||||
72 35 60
|
||||
73 27 24
|
||||
74 40 20
|
||||
75 40 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
DURATION_SECTION
|
||||
1 16
|
||||
2 16
|
||||
3 16
|
||||
4 16
|
||||
5 16
|
||||
6 16
|
||||
7 16
|
||||
8 16
|
||||
9 16
|
||||
10 16
|
||||
11 16
|
||||
12 16
|
||||
13 16
|
||||
14 16
|
||||
15 16
|
||||
16 16
|
||||
17 16
|
||||
18 16
|
||||
19 16
|
||||
20 16
|
||||
21 16
|
||||
22 16
|
||||
23 16
|
||||
24 16
|
||||
25 16
|
||||
26 16
|
||||
27 16
|
||||
28 16
|
||||
29 16
|
||||
30 16
|
||||
31 16
|
||||
32 16
|
||||
33 16
|
||||
34 16
|
||||
35 16
|
||||
36 16
|
||||
37 16
|
||||
38 16
|
||||
39 16
|
||||
40 16
|
||||
41 16
|
||||
42 16
|
||||
43 16
|
||||
44 16
|
||||
45 16
|
||||
46 16
|
||||
47 16
|
||||
48 16
|
||||
49 16
|
||||
50 16
|
||||
51 16
|
||||
52 16
|
||||
53 16
|
||||
54 16
|
||||
55 16
|
||||
56 16
|
||||
57 16
|
||||
58 16
|
||||
59 16
|
||||
60 16
|
||||
61 16
|
||||
62 16
|
||||
63 16
|
||||
64 16
|
||||
65 16
|
||||
66 16
|
||||
67 16
|
||||
68 16
|
||||
69 16
|
||||
70 16
|
||||
71 16
|
||||
72 16
|
||||
73 16
|
||||
74 16
|
||||
75 16
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 346
|
||||
COMMENT: TIMESTEP: 6
|
||||
TIME_AVAIL_SECTION
|
||||
1 3
|
||||
2 5
|
||||
3 8
|
||||
4 13
|
||||
5 17
|
||||
6 20
|
||||
7 20
|
||||
8 20
|
||||
9 22
|
||||
10 24
|
||||
11 25
|
||||
12 30
|
||||
13 32
|
||||
14 34
|
||||
15 42
|
||||
16 42
|
||||
17 47
|
||||
18 66
|
||||
19 71
|
||||
20 79
|
||||
21 84
|
||||
22 84
|
||||
23 85
|
||||
24 87
|
||||
25 101
|
||||
26 107
|
||||
27 108
|
||||
28 109
|
||||
29 112
|
||||
30 119
|
||||
31 121
|
||||
32 122
|
||||
33 128
|
||||
34 131
|
||||
35 135
|
||||
36 138
|
||||
37 150
|
||||
38 152
|
||||
39 152
|
||||
40 181
|
||||
41 182
|
||||
42 189
|
||||
43 196
|
||||
44 199
|
||||
45 203
|
||||
46 210
|
||||
47 216
|
||||
48 217
|
||||
49 231
|
||||
50 231
|
||||
51 235
|
||||
52 237
|
||||
53 237
|
||||
54 245
|
||||
55 251
|
||||
56 253
|
||||
57 254
|
||||
58 258
|
||||
59 258
|
||||
60 268
|
||||
61 284
|
||||
62 284
|
||||
63 300
|
||||
64 305
|
||||
65 313
|
||||
66 321
|
||||
67 322
|
||||
68 328
|
||||
69 333
|
||||
70 335
|
||||
71 336
|
||||
72 337
|
||||
73 338
|
||||
74 343
|
||||
75 345
|
||||
EOF
|
||||
|
|
@ -0,0 +1,400 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from c75 by convert2vt
|
||||
COMMENT: Best known objective: 835.26
|
||||
NAME: c75
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 75
|
||||
NUM_LOCATIONS: 76
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 140
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -18
|
||||
2 -26
|
||||
3 -11
|
||||
4 -30
|
||||
5 -21
|
||||
6 -19
|
||||
7 -15
|
||||
8 -16
|
||||
9 -29
|
||||
10 -26
|
||||
11 -37
|
||||
12 -16
|
||||
13 -12
|
||||
14 -31
|
||||
15 -8
|
||||
16 -19
|
||||
17 -20
|
||||
18 -13
|
||||
19 -15
|
||||
20 -22
|
||||
21 -28
|
||||
22 -12
|
||||
23 -6
|
||||
24 -27
|
||||
25 -14
|
||||
26 -18
|
||||
27 -17
|
||||
28 -29
|
||||
29 -13
|
||||
30 -22
|
||||
31 -25
|
||||
32 -28
|
||||
33 -27
|
||||
34 -19
|
||||
35 -10
|
||||
36 -12
|
||||
37 -14
|
||||
38 -24
|
||||
39 -16
|
||||
40 -33
|
||||
41 -15
|
||||
42 -11
|
||||
43 -18
|
||||
44 -17
|
||||
45 -21
|
||||
46 -27
|
||||
47 -19
|
||||
48 -20
|
||||
49 -5
|
||||
50 -22
|
||||
51 -12
|
||||
52 -19
|
||||
53 -22
|
||||
54 -16
|
||||
55 -7
|
||||
56 -26
|
||||
57 -14
|
||||
58 -21
|
||||
59 -24
|
||||
60 -13
|
||||
61 -15
|
||||
62 -18
|
||||
63 -11
|
||||
64 -28
|
||||
65 -9
|
||||
66 -37
|
||||
67 -30
|
||||
68 -10
|
||||
69 -8
|
||||
70 -11
|
||||
71 -3
|
||||
72 -1
|
||||
73 -6
|
||||
74 -10
|
||||
75 -20
|
||||
LOCATION_COORD_SECTION
|
||||
0 40 40
|
||||
1 22 22
|
||||
2 36 26
|
||||
3 21 45
|
||||
4 45 35
|
||||
5 55 20
|
||||
6 33 34
|
||||
7 50 50
|
||||
8 55 45
|
||||
9 26 59
|
||||
10 40 66
|
||||
11 55 65
|
||||
12 35 51
|
||||
13 62 35
|
||||
14 62 57
|
||||
15 62 24
|
||||
16 21 36
|
||||
17 33 44
|
||||
18 9 56
|
||||
19 62 48
|
||||
20 66 14
|
||||
21 44 13
|
||||
22 26 13
|
||||
23 11 28
|
||||
24 7 43
|
||||
25 17 64
|
||||
26 41 46
|
||||
27 55 34
|
||||
28 35 16
|
||||
29 52 26
|
||||
30 43 26
|
||||
31 31 76
|
||||
32 22 53
|
||||
33 26 29
|
||||
34 50 40
|
||||
35 55 50
|
||||
36 54 10
|
||||
37 60 15
|
||||
38 47 66
|
||||
39 30 60
|
||||
40 30 50
|
||||
41 12 17
|
||||
42 15 14
|
||||
43 16 19
|
||||
44 21 48
|
||||
45 50 30
|
||||
46 51 42
|
||||
47 50 15
|
||||
48 48 21
|
||||
49 12 38
|
||||
50 15 56
|
||||
51 29 39
|
||||
52 54 38
|
||||
53 55 57
|
||||
54 67 41
|
||||
55 10 70
|
||||
56 6 25
|
||||
57 65 27
|
||||
58 40 60
|
||||
59 70 64
|
||||
60 64 4
|
||||
61 36 6
|
||||
62 30 20
|
||||
63 20 30
|
||||
64 15 5
|
||||
65 50 70
|
||||
66 57 72
|
||||
67 45 42
|
||||
68 38 33
|
||||
69 50 4
|
||||
70 66 8
|
||||
71 59 5
|
||||
72 35 60
|
||||
73 27 24
|
||||
74 40 20
|
||||
75 40 37
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
DURATION_SECTION
|
||||
1 16
|
||||
2 16
|
||||
3 16
|
||||
4 16
|
||||
5 16
|
||||
6 16
|
||||
7 16
|
||||
8 16
|
||||
9 16
|
||||
10 16
|
||||
11 16
|
||||
12 16
|
||||
13 16
|
||||
14 16
|
||||
15 16
|
||||
16 16
|
||||
17 16
|
||||
18 16
|
||||
19 16
|
||||
20 16
|
||||
21 16
|
||||
22 16
|
||||
23 16
|
||||
24 16
|
||||
25 16
|
||||
26 16
|
||||
27 16
|
||||
28 16
|
||||
29 16
|
||||
30 16
|
||||
31 16
|
||||
32 16
|
||||
33 16
|
||||
34 16
|
||||
35 16
|
||||
36 16
|
||||
37 16
|
||||
38 16
|
||||
39 16
|
||||
40 16
|
||||
41 16
|
||||
42 16
|
||||
43 16
|
||||
44 16
|
||||
45 16
|
||||
46 16
|
||||
47 16
|
||||
48 16
|
||||
49 16
|
||||
50 16
|
||||
51 16
|
||||
52 16
|
||||
53 16
|
||||
54 16
|
||||
55 16
|
||||
56 16
|
||||
57 16
|
||||
58 16
|
||||
59 16
|
||||
60 16
|
||||
61 16
|
||||
62 16
|
||||
63 16
|
||||
64 16
|
||||
65 16
|
||||
66 16
|
||||
67 16
|
||||
68 16
|
||||
69 16
|
||||
70 16
|
||||
71 16
|
||||
72 16
|
||||
73 16
|
||||
74 16
|
||||
75 16
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 346
|
||||
COMMENT: TIMESTEP: 6
|
||||
TIME_AVAIL_SECTION
|
||||
1 3
|
||||
2 5
|
||||
3 8
|
||||
4 13
|
||||
5 17
|
||||
6 20
|
||||
7 20
|
||||
8 20
|
||||
9 22
|
||||
10 24
|
||||
11 25
|
||||
12 30
|
||||
13 32
|
||||
14 34
|
||||
15 42
|
||||
16 42
|
||||
17 47
|
||||
18 66
|
||||
19 71
|
||||
20 79
|
||||
21 84
|
||||
22 84
|
||||
23 85
|
||||
24 87
|
||||
25 101
|
||||
26 107
|
||||
27 108
|
||||
28 109
|
||||
29 112
|
||||
30 119
|
||||
31 121
|
||||
32 122
|
||||
33 128
|
||||
34 131
|
||||
35 135
|
||||
36 138
|
||||
37 150
|
||||
38 152
|
||||
39 152
|
||||
40 181
|
||||
41 182
|
||||
42 189
|
||||
43 196
|
||||
44 199
|
||||
45 203
|
||||
46 210
|
||||
47 216
|
||||
48 217
|
||||
49 231
|
||||
50 231
|
||||
51 235
|
||||
52 237
|
||||
53 237
|
||||
54 245
|
||||
55 251
|
||||
56 253
|
||||
57 254
|
||||
58 258
|
||||
59 258
|
||||
60 268
|
||||
61 284
|
||||
62 284
|
||||
63 300
|
||||
64 305
|
||||
65 313
|
||||
66 321
|
||||
67 322
|
||||
68 328
|
||||
69 333
|
||||
70 335
|
||||
71 336
|
||||
72 337
|
||||
73 338
|
||||
74 343
|
||||
75 345
|
||||
EOF
|
||||
|
|
@ -0,0 +1,695 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from f134 by convert2vt
|
||||
COMMENT: Best known objective: 1162.96
|
||||
NAME: f134
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 134
|
||||
NUM_LOCATIONS: 135
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 2210
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 30
|
||||
2 226
|
||||
3 37
|
||||
4 24
|
||||
5 36
|
||||
6 1
|
||||
7 31
|
||||
8 24
|
||||
9 30
|
||||
10 24
|
||||
11 24
|
||||
12 32
|
||||
13 24
|
||||
14 24
|
||||
15 19
|
||||
16 24
|
||||
17 18
|
||||
18 36
|
||||
19 115
|
||||
20 24
|
||||
21 24
|
||||
22 61
|
||||
23 71
|
||||
24 36
|
||||
25 18
|
||||
26 30
|
||||
27 31
|
||||
28 36
|
||||
29 18
|
||||
30 1004
|
||||
31 18
|
||||
32 34
|
||||
33 504
|
||||
34 18
|
||||
35 39
|
||||
36 24
|
||||
37 37
|
||||
38 24
|
||||
39 99
|
||||
40 24
|
||||
41 24
|
||||
42 36
|
||||
43 30
|
||||
44 25
|
||||
45 24
|
||||
46 122
|
||||
47 196
|
||||
48 229
|
||||
49 83
|
||||
50 18
|
||||
51 24
|
||||
52 306
|
||||
53 18
|
||||
54 20
|
||||
55 18
|
||||
56 24
|
||||
57 22
|
||||
58 24
|
||||
59 18
|
||||
60 18
|
||||
61 24
|
||||
62 24
|
||||
63 30
|
||||
64 24
|
||||
65 40
|
||||
66 166
|
||||
67 254
|
||||
68 187
|
||||
69 94
|
||||
70 17
|
||||
71 285
|
||||
72 24
|
||||
73 24
|
||||
74 205
|
||||
75 23
|
||||
76 28
|
||||
77 51
|
||||
78 49
|
||||
79 19
|
||||
80 262
|
||||
81 120
|
||||
82 266
|
||||
83 704
|
||||
84 38
|
||||
85 18
|
||||
86 30
|
||||
87 25
|
||||
88 12
|
||||
89 18
|
||||
90 25
|
||||
91 35
|
||||
92 18
|
||||
93 12
|
||||
94 20
|
||||
95 1126
|
||||
96 9
|
||||
97 36
|
||||
98 12
|
||||
99 31
|
||||
100 96
|
||||
101 27
|
||||
102 54
|
||||
103 137
|
||||
104 12
|
||||
105 58
|
||||
106 206
|
||||
107 178
|
||||
108 486
|
||||
109 36
|
||||
110 261
|
||||
111 135
|
||||
112 135
|
||||
113 373
|
||||
114 535
|
||||
115 42
|
||||
116 9
|
||||
117 110
|
||||
118 36
|
||||
119 18
|
||||
120 726
|
||||
121 187
|
||||
122 23
|
||||
123 134
|
||||
124 47
|
||||
125 51
|
||||
126 43
|
||||
127 79
|
||||
128 112
|
||||
129 91
|
||||
130 232
|
||||
131 483
|
||||
132 828
|
||||
133 11
|
||||
134 12
|
||||
LOCATION_COORD_SECTION
|
||||
0 -60 150
|
||||
1 32 51
|
||||
2 246 83
|
||||
3 233 13
|
||||
4 278 83
|
||||
5 290 80
|
||||
6 310 80
|
||||
7 335 105
|
||||
8 300 105
|
||||
9 290 100
|
||||
10 265 117
|
||||
11 283 143
|
||||
12 270 143
|
||||
13 235 190
|
||||
14 260 200
|
||||
15 250 200
|
||||
16 205 190
|
||||
17 -200 130
|
||||
18 -210 140
|
||||
19 -300 300
|
||||
20 -50 300
|
||||
21 13 178
|
||||
22 18 138
|
||||
23 18 131
|
||||
24 20 136
|
||||
25 48 170
|
||||
26 70 150
|
||||
27 98 166
|
||||
28 114 145
|
||||
29 144 113
|
||||
30 110 120
|
||||
31 93 107
|
||||
32 6 28
|
||||
33 -300 -100
|
||||
34 20 0
|
||||
35 145 10
|
||||
36 150 18
|
||||
37 172 24
|
||||
38 172 42
|
||||
39 182 44
|
||||
40 203 21
|
||||
41 228 31
|
||||
42 230 40
|
||||
43 208 40
|
||||
44 208 40
|
||||
45 185 64
|
||||
46 -140 160
|
||||
47 -5 69
|
||||
48 32 28
|
||||
49 56 18
|
||||
50 87 28
|
||||
51 90 33
|
||||
52 90 35
|
||||
53 112 33
|
||||
54 108 47
|
||||
55 115 46
|
||||
56 123 47
|
||||
57 123 55
|
||||
58 112 69
|
||||
59 65 97
|
||||
60 58 85
|
||||
61 72 60
|
||||
62 72 40
|
||||
63 -40 -40
|
||||
64 -30 12
|
||||
65 -400 490
|
||||
66 -150 100
|
||||
67 -110 -100
|
||||
68 -250 -200
|
||||
69 -250 -350
|
||||
70 -240 -350
|
||||
71 -180 100
|
||||
72 -20 100
|
||||
73 -40 80
|
||||
74 -30 50
|
||||
75 21 62
|
||||
76 -17 30
|
||||
77 -30 20
|
||||
78 -70 0
|
||||
79 -30 -60
|
||||
80 -300 -110
|
||||
81 -620 -100
|
||||
82 -80 300
|
||||
83 10 600
|
||||
84 100 520
|
||||
85 100 520
|
||||
86 100 510
|
||||
87 160 290
|
||||
88 260 210
|
||||
89 160 210
|
||||
90 155 192
|
||||
91 0 165
|
||||
92 172 143
|
||||
93 165 78
|
||||
94 169 77
|
||||
95 180 20
|
||||
96 162 40
|
||||
97 150 40
|
||||
98 150 30
|
||||
99 148 24
|
||||
100 145 30
|
||||
101 130 26
|
||||
102 118 30
|
||||
103 120 40
|
||||
104 128 36
|
||||
105 134 55
|
||||
106 -1500 80
|
||||
107 -1520 10
|
||||
108 -1520 0
|
||||
109 -1420 -310
|
||||
110 -780 -190
|
||||
111 -780 -180
|
||||
112 -780 -170
|
||||
113 -800 -140
|
||||
114 -1180 220
|
||||
115 -1070 300
|
||||
116 -850 140
|
||||
117 -780 150
|
||||
118 -150 160
|
||||
119 -620 320
|
||||
120 -1200 -200
|
||||
121 -900 -220
|
||||
122 -790 -190
|
||||
123 -790 -185
|
||||
124 -790 -180
|
||||
125 -780 -175
|
||||
126 -790 -170
|
||||
127 -800 -170
|
||||
128 -800 -160
|
||||
129 -800 -150
|
||||
130 -480 370
|
||||
131 -850 150
|
||||
132 -620 -90
|
||||
133 -150 -40
|
||||
134 -10 32
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
DURATION_SECTION
|
||||
1 13
|
||||
2 13
|
||||
3 13
|
||||
4 13
|
||||
5 13
|
||||
6 13
|
||||
7 13
|
||||
8 13
|
||||
9 13
|
||||
10 13
|
||||
11 13
|
||||
12 13
|
||||
13 13
|
||||
14 13
|
||||
15 13
|
||||
16 13
|
||||
17 13
|
||||
18 13
|
||||
19 13
|
||||
20 13
|
||||
21 13
|
||||
22 13
|
||||
23 13
|
||||
24 13
|
||||
25 13
|
||||
26 13
|
||||
27 13
|
||||
28 13
|
||||
29 13
|
||||
30 13
|
||||
31 13
|
||||
32 13
|
||||
33 13
|
||||
34 13
|
||||
35 13
|
||||
36 13
|
||||
37 13
|
||||
38 13
|
||||
39 13
|
||||
40 13
|
||||
41 13
|
||||
42 13
|
||||
43 13
|
||||
44 13
|
||||
45 13
|
||||
46 13
|
||||
47 13
|
||||
48 13
|
||||
49 13
|
||||
50 13
|
||||
51 13
|
||||
52 13
|
||||
53 13
|
||||
54 13
|
||||
55 13
|
||||
56 13
|
||||
57 13
|
||||
58 13
|
||||
59 13
|
||||
60 13
|
||||
61 13
|
||||
62 13
|
||||
63 13
|
||||
64 13
|
||||
65 13
|
||||
66 13
|
||||
67 13
|
||||
68 13
|
||||
69 13
|
||||
70 13
|
||||
71 13
|
||||
72 13
|
||||
73 13
|
||||
74 13
|
||||
75 13
|
||||
76 13
|
||||
77 13
|
||||
78 13
|
||||
79 13
|
||||
80 13
|
||||
81 13
|
||||
82 13
|
||||
83 13
|
||||
84 13
|
||||
85 13
|
||||
86 13
|
||||
87 13
|
||||
88 13
|
||||
89 13
|
||||
90 13
|
||||
91 13
|
||||
92 13
|
||||
93 13
|
||||
94 13
|
||||
95 13
|
||||
96 13
|
||||
97 13
|
||||
98 13
|
||||
99 13
|
||||
100 13
|
||||
101 13
|
||||
102 13
|
||||
103 13
|
||||
104 13
|
||||
105 13
|
||||
106 13
|
||||
107 13
|
||||
108 13
|
||||
109 13
|
||||
110 13
|
||||
111 13
|
||||
112 13
|
||||
113 13
|
||||
114 13
|
||||
115 13
|
||||
116 13
|
||||
117 13
|
||||
118 13
|
||||
119 13
|
||||
120 13
|
||||
121 13
|
||||
122 13
|
||||
123 13
|
||||
124 13
|
||||
125 13
|
||||
126 13
|
||||
127 13
|
||||
128 13
|
||||
129 13
|
||||
130 13
|
||||
131 13
|
||||
132 13
|
||||
133 13
|
||||
134 13
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 11741
|
||||
COMMENT: TIMESTEP: 234
|
||||
TIME_AVAIL_SECTION
|
||||
1 43
|
||||
2 174
|
||||
3 237
|
||||
4 301
|
||||
5 345
|
||||
6 369
|
||||
7 430
|
||||
8 516
|
||||
9 583
|
||||
10 605
|
||||
11 756
|
||||
12 778
|
||||
13 865
|
||||
14 1100
|
||||
15 1210
|
||||
16 1275
|
||||
17 1426
|
||||
18 1708
|
||||
19 1708
|
||||
20 1750
|
||||
21 1771
|
||||
22 1773
|
||||
23 2012
|
||||
24 2227
|
||||
25 2248
|
||||
26 2270
|
||||
27 2358
|
||||
28 2443
|
||||
29 2529
|
||||
30 2552
|
||||
31 2788
|
||||
32 2963
|
||||
33 3049
|
||||
34 3092
|
||||
35 3111
|
||||
36 3177
|
||||
37 3223
|
||||
38 3351
|
||||
39 3567
|
||||
40 3652
|
||||
41 3653
|
||||
42 3719
|
||||
43 3868
|
||||
44 3914
|
||||
45 4021
|
||||
46 4042
|
||||
47 4108
|
||||
48 4174
|
||||
49 4324
|
||||
50 4344
|
||||
51 4410
|
||||
52 4411
|
||||
53 4476
|
||||
54 4561
|
||||
55 4736
|
||||
56 4778
|
||||
57 4843
|
||||
58 4887
|
||||
59 5187
|
||||
60 5254
|
||||
61 5341
|
||||
62 5557
|
||||
63 5643
|
||||
64 5727
|
||||
65 5729
|
||||
66 5730
|
||||
67 5903
|
||||
68 5924
|
||||
69 6009
|
||||
70 6095
|
||||
71 6097
|
||||
72 6117
|
||||
73 6117
|
||||
74 6226
|
||||
75 6313
|
||||
76 6314
|
||||
77 6509
|
||||
78 6529
|
||||
79 6724
|
||||
80 7071
|
||||
81 7092
|
||||
82 7198
|
||||
83 7264
|
||||
84 7478
|
||||
85 7608
|
||||
86 7697
|
||||
87 7825
|
||||
88 7956
|
||||
89 8238
|
||||
90 8538
|
||||
91 8540
|
||||
92 8562
|
||||
93 8606
|
||||
94 8648
|
||||
95 8713
|
||||
96 8779
|
||||
97 8842
|
||||
98 9036
|
||||
99 9273
|
||||
100 9338
|
||||
101 9426
|
||||
102 9449
|
||||
103 9470
|
||||
104 9644
|
||||
105 9687
|
||||
106 9749
|
||||
107 9773
|
||||
108 9859
|
||||
109 9903
|
||||
110 9944
|
||||
111 9968
|
||||
112 9990
|
||||
113 10055
|
||||
114 10073
|
||||
115 10489
|
||||
116 10508
|
||||
117 10570
|
||||
118 10594
|
||||
119 10766
|
||||
120 10918
|
||||
121 10962
|
||||
122 11006
|
||||
123 11179
|
||||
124 11264
|
||||
125 11351
|
||||
126 11372
|
||||
127 11373
|
||||
128 11459
|
||||
129 11460
|
||||
130 11481
|
||||
131 11522
|
||||
132 11568
|
||||
133 11652
|
||||
134 11740
|
||||
EOF
|
||||
|
|
@ -0,0 +1,695 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from f134 by convert2vt
|
||||
COMMENT: Best known objective: 1162.96
|
||||
NAME: f134
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 134
|
||||
NUM_LOCATIONS: 135
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 2210
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -30
|
||||
2 -226
|
||||
3 -37
|
||||
4 -24
|
||||
5 -36
|
||||
6 -1
|
||||
7 -31
|
||||
8 -24
|
||||
9 -30
|
||||
10 -24
|
||||
11 -24
|
||||
12 -32
|
||||
13 -24
|
||||
14 -24
|
||||
15 -19
|
||||
16 -24
|
||||
17 -18
|
||||
18 -36
|
||||
19 -115
|
||||
20 -24
|
||||
21 -24
|
||||
22 -61
|
||||
23 -71
|
||||
24 -36
|
||||
25 -18
|
||||
26 -30
|
||||
27 -31
|
||||
28 -36
|
||||
29 -18
|
||||
30 -1004
|
||||
31 -18
|
||||
32 -34
|
||||
33 -504
|
||||
34 -18
|
||||
35 -39
|
||||
36 -24
|
||||
37 -37
|
||||
38 -24
|
||||
39 -99
|
||||
40 -24
|
||||
41 -24
|
||||
42 -36
|
||||
43 -30
|
||||
44 -25
|
||||
45 -24
|
||||
46 -122
|
||||
47 -196
|
||||
48 -229
|
||||
49 -83
|
||||
50 -18
|
||||
51 -24
|
||||
52 -306
|
||||
53 -18
|
||||
54 -20
|
||||
55 -18
|
||||
56 -24
|
||||
57 -22
|
||||
58 -24
|
||||
59 -18
|
||||
60 -18
|
||||
61 -24
|
||||
62 -24
|
||||
63 -30
|
||||
64 -24
|
||||
65 -40
|
||||
66 -166
|
||||
67 -254
|
||||
68 -187
|
||||
69 -94
|
||||
70 -17
|
||||
71 -285
|
||||
72 -24
|
||||
73 -24
|
||||
74 -205
|
||||
75 -23
|
||||
76 -28
|
||||
77 -51
|
||||
78 -49
|
||||
79 -19
|
||||
80 -262
|
||||
81 -120
|
||||
82 -266
|
||||
83 -704
|
||||
84 -38
|
||||
85 -18
|
||||
86 -30
|
||||
87 -25
|
||||
88 -12
|
||||
89 -18
|
||||
90 -25
|
||||
91 -35
|
||||
92 -18
|
||||
93 -12
|
||||
94 -20
|
||||
95 -1126
|
||||
96 -9
|
||||
97 -36
|
||||
98 -12
|
||||
99 -31
|
||||
100 -96
|
||||
101 -27
|
||||
102 -54
|
||||
103 -137
|
||||
104 -12
|
||||
105 -58
|
||||
106 -206
|
||||
107 -178
|
||||
108 -486
|
||||
109 -36
|
||||
110 -261
|
||||
111 -135
|
||||
112 -135
|
||||
113 -373
|
||||
114 -535
|
||||
115 -42
|
||||
116 -9
|
||||
117 -110
|
||||
118 -36
|
||||
119 -18
|
||||
120 -726
|
||||
121 -187
|
||||
122 -23
|
||||
123 -134
|
||||
124 -47
|
||||
125 -51
|
||||
126 -43
|
||||
127 -79
|
||||
128 -112
|
||||
129 -91
|
||||
130 -232
|
||||
131 -483
|
||||
132 -828
|
||||
133 -11
|
||||
134 -12
|
||||
LOCATION_COORD_SECTION
|
||||
0 -60 150
|
||||
1 32 51
|
||||
2 246 83
|
||||
3 233 13
|
||||
4 278 83
|
||||
5 290 80
|
||||
6 310 80
|
||||
7 335 105
|
||||
8 300 105
|
||||
9 290 100
|
||||
10 265 117
|
||||
11 283 143
|
||||
12 270 143
|
||||
13 235 190
|
||||
14 260 200
|
||||
15 250 200
|
||||
16 205 190
|
||||
17 -200 130
|
||||
18 -210 140
|
||||
19 -300 300
|
||||
20 -50 300
|
||||
21 13 178
|
||||
22 18 138
|
||||
23 18 131
|
||||
24 20 136
|
||||
25 48 170
|
||||
26 70 150
|
||||
27 98 166
|
||||
28 114 145
|
||||
29 144 113
|
||||
30 110 120
|
||||
31 93 107
|
||||
32 6 28
|
||||
33 -300 -100
|
||||
34 20 0
|
||||
35 145 10
|
||||
36 150 18
|
||||
37 172 24
|
||||
38 172 42
|
||||
39 182 44
|
||||
40 203 21
|
||||
41 228 31
|
||||
42 230 40
|
||||
43 208 40
|
||||
44 208 40
|
||||
45 185 64
|
||||
46 -140 160
|
||||
47 -5 69
|
||||
48 32 28
|
||||
49 56 18
|
||||
50 87 28
|
||||
51 90 33
|
||||
52 90 35
|
||||
53 112 33
|
||||
54 108 47
|
||||
55 115 46
|
||||
56 123 47
|
||||
57 123 55
|
||||
58 112 69
|
||||
59 65 97
|
||||
60 58 85
|
||||
61 72 60
|
||||
62 72 40
|
||||
63 -40 -40
|
||||
64 -30 12
|
||||
65 -400 490
|
||||
66 -150 100
|
||||
67 -110 -100
|
||||
68 -250 -200
|
||||
69 -250 -350
|
||||
70 -240 -350
|
||||
71 -180 100
|
||||
72 -20 100
|
||||
73 -40 80
|
||||
74 -30 50
|
||||
75 21 62
|
||||
76 -17 30
|
||||
77 -30 20
|
||||
78 -70 0
|
||||
79 -30 -60
|
||||
80 -300 -110
|
||||
81 -620 -100
|
||||
82 -80 300
|
||||
83 10 600
|
||||
84 100 520
|
||||
85 100 520
|
||||
86 100 510
|
||||
87 160 290
|
||||
88 260 210
|
||||
89 160 210
|
||||
90 155 192
|
||||
91 0 165
|
||||
92 172 143
|
||||
93 165 78
|
||||
94 169 77
|
||||
95 180 20
|
||||
96 162 40
|
||||
97 150 40
|
||||
98 150 30
|
||||
99 148 24
|
||||
100 145 30
|
||||
101 130 26
|
||||
102 118 30
|
||||
103 120 40
|
||||
104 128 36
|
||||
105 134 55
|
||||
106 -1500 80
|
||||
107 -1520 10
|
||||
108 -1520 0
|
||||
109 -1420 -310
|
||||
110 -780 -190
|
||||
111 -780 -180
|
||||
112 -780 -170
|
||||
113 -800 -140
|
||||
114 -1180 220
|
||||
115 -1070 300
|
||||
116 -850 140
|
||||
117 -780 150
|
||||
118 -150 160
|
||||
119 -620 320
|
||||
120 -1200 -200
|
||||
121 -900 -220
|
||||
122 -790 -190
|
||||
123 -790 -185
|
||||
124 -790 -180
|
||||
125 -780 -175
|
||||
126 -790 -170
|
||||
127 -800 -170
|
||||
128 -800 -160
|
||||
129 -800 -150
|
||||
130 -480 370
|
||||
131 -850 150
|
||||
132 -620 -90
|
||||
133 -150 -40
|
||||
134 -10 32
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
DURATION_SECTION
|
||||
1 13
|
||||
2 13
|
||||
3 13
|
||||
4 13
|
||||
5 13
|
||||
6 13
|
||||
7 13
|
||||
8 13
|
||||
9 13
|
||||
10 13
|
||||
11 13
|
||||
12 13
|
||||
13 13
|
||||
14 13
|
||||
15 13
|
||||
16 13
|
||||
17 13
|
||||
18 13
|
||||
19 13
|
||||
20 13
|
||||
21 13
|
||||
22 13
|
||||
23 13
|
||||
24 13
|
||||
25 13
|
||||
26 13
|
||||
27 13
|
||||
28 13
|
||||
29 13
|
||||
30 13
|
||||
31 13
|
||||
32 13
|
||||
33 13
|
||||
34 13
|
||||
35 13
|
||||
36 13
|
||||
37 13
|
||||
38 13
|
||||
39 13
|
||||
40 13
|
||||
41 13
|
||||
42 13
|
||||
43 13
|
||||
44 13
|
||||
45 13
|
||||
46 13
|
||||
47 13
|
||||
48 13
|
||||
49 13
|
||||
50 13
|
||||
51 13
|
||||
52 13
|
||||
53 13
|
||||
54 13
|
||||
55 13
|
||||
56 13
|
||||
57 13
|
||||
58 13
|
||||
59 13
|
||||
60 13
|
||||
61 13
|
||||
62 13
|
||||
63 13
|
||||
64 13
|
||||
65 13
|
||||
66 13
|
||||
67 13
|
||||
68 13
|
||||
69 13
|
||||
70 13
|
||||
71 13
|
||||
72 13
|
||||
73 13
|
||||
74 13
|
||||
75 13
|
||||
76 13
|
||||
77 13
|
||||
78 13
|
||||
79 13
|
||||
80 13
|
||||
81 13
|
||||
82 13
|
||||
83 13
|
||||
84 13
|
||||
85 13
|
||||
86 13
|
||||
87 13
|
||||
88 13
|
||||
89 13
|
||||
90 13
|
||||
91 13
|
||||
92 13
|
||||
93 13
|
||||
94 13
|
||||
95 13
|
||||
96 13
|
||||
97 13
|
||||
98 13
|
||||
99 13
|
||||
100 13
|
||||
101 13
|
||||
102 13
|
||||
103 13
|
||||
104 13
|
||||
105 13
|
||||
106 13
|
||||
107 13
|
||||
108 13
|
||||
109 13
|
||||
110 13
|
||||
111 13
|
||||
112 13
|
||||
113 13
|
||||
114 13
|
||||
115 13
|
||||
116 13
|
||||
117 13
|
||||
118 13
|
||||
119 13
|
||||
120 13
|
||||
121 13
|
||||
122 13
|
||||
123 13
|
||||
124 13
|
||||
125 13
|
||||
126 13
|
||||
127 13
|
||||
128 13
|
||||
129 13
|
||||
130 13
|
||||
131 13
|
||||
132 13
|
||||
133 13
|
||||
134 13
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 11741
|
||||
COMMENT: TIMESTEP: 234
|
||||
TIME_AVAIL_SECTION
|
||||
1 25
|
||||
2 111
|
||||
3 130
|
||||
4 259
|
||||
5 282
|
||||
6 345
|
||||
7 389
|
||||
8 453
|
||||
9 541
|
||||
10 587
|
||||
11 672
|
||||
12 716
|
||||
13 909
|
||||
14 953
|
||||
15 1039
|
||||
16 1040
|
||||
17 1171
|
||||
18 1234
|
||||
19 1278
|
||||
20 1278
|
||||
21 1430
|
||||
22 1492
|
||||
23 1495
|
||||
24 1666
|
||||
25 1754
|
||||
26 1819
|
||||
27 1967
|
||||
28 1969
|
||||
29 1969
|
||||
30 2096
|
||||
31 2098
|
||||
32 2142
|
||||
33 2164
|
||||
34 2273
|
||||
35 2399
|
||||
36 2488
|
||||
37 2509
|
||||
38 2550
|
||||
39 2598
|
||||
40 2702
|
||||
41 2702
|
||||
42 2898
|
||||
43 3006
|
||||
44 3030
|
||||
45 3049
|
||||
46 3073
|
||||
47 3203
|
||||
48 3265
|
||||
49 3354
|
||||
50 3547
|
||||
51 3632
|
||||
52 3700
|
||||
53 3719
|
||||
54 3762
|
||||
55 3828
|
||||
56 3874
|
||||
57 4043
|
||||
58 4066
|
||||
59 4066
|
||||
60 4155
|
||||
61 4194
|
||||
62 4281
|
||||
63 4326
|
||||
64 4327
|
||||
65 4479
|
||||
66 4543
|
||||
67 4648
|
||||
68 4650
|
||||
69 4975
|
||||
70 5063
|
||||
71 5319
|
||||
72 5386
|
||||
73 5538
|
||||
74 5603
|
||||
75 5729
|
||||
76 5751
|
||||
77 5817
|
||||
78 5902
|
||||
79 5968
|
||||
80 5989
|
||||
81 6076
|
||||
82 6077
|
||||
83 6079
|
||||
84 6143
|
||||
85 6358
|
||||
86 6487
|
||||
87 6554
|
||||
88 6619
|
||||
89 6639
|
||||
90 6790
|
||||
91 6857
|
||||
92 7093
|
||||
93 7331
|
||||
94 7396
|
||||
95 7633
|
||||
96 7745
|
||||
97 7849
|
||||
98 7873
|
||||
99 7937
|
||||
100 7980
|
||||
101 8068
|
||||
102 8087
|
||||
103 8174
|
||||
104 8391
|
||||
105 8477
|
||||
106 8648
|
||||
107 8932
|
||||
108 8972
|
||||
109 9081
|
||||
110 9149
|
||||
111 9170
|
||||
112 9191
|
||||
113 9212
|
||||
114 9298
|
||||
115 9323
|
||||
116 9429
|
||||
117 9859
|
||||
118 9925
|
||||
119 9993
|
||||
120 10011
|
||||
121 10140
|
||||
122 10210
|
||||
123 10317
|
||||
124 10531
|
||||
125 10576
|
||||
126 10598
|
||||
127 10921
|
||||
128 10941
|
||||
129 10963
|
||||
130 11202
|
||||
131 11222
|
||||
132 11571
|
||||
133 11612
|
||||
134 11700
|
||||
EOF
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from f71 by convert2vt
|
||||
COMMENT: Best known objective: 241.97
|
||||
NAME: f71
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 71
|
||||
NUM_LOCATIONS: 72
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 30000
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 7063
|
||||
2 51
|
||||
3 23
|
||||
4 3074
|
||||
5 349
|
||||
6 1047
|
||||
7 698
|
||||
8 3001
|
||||
9 31
|
||||
10 1135
|
||||
11 21611
|
||||
12 57
|
||||
13 51
|
||||
14 551
|
||||
15 179
|
||||
16 6
|
||||
17 528
|
||||
18 2832
|
||||
19 1514
|
||||
20 889
|
||||
21 2554
|
||||
22 1215
|
||||
23 1810
|
||||
24 3050
|
||||
25 4
|
||||
26 1563
|
||||
27 741
|
||||
28 1532
|
||||
29 709
|
||||
30 1022
|
||||
31 883
|
||||
32 1689
|
||||
33 10235
|
||||
34 29
|
||||
35 2894
|
||||
36 450
|
||||
37 411
|
||||
38 207
|
||||
39 496
|
||||
40 1021
|
||||
41 117
|
||||
42 46
|
||||
43 8
|
||||
44 18
|
||||
45 561
|
||||
46 1877
|
||||
47 3542
|
||||
48 801
|
||||
49 967
|
||||
50 62
|
||||
51 1366
|
||||
52 230
|
||||
53 4
|
||||
54 12
|
||||
55 145
|
||||
56 7149
|
||||
57 2250
|
||||
58 383
|
||||
59 134
|
||||
60 1947
|
||||
61 182
|
||||
62 3934
|
||||
63 468
|
||||
64 18
|
||||
65 133
|
||||
66 2340
|
||||
67 754
|
||||
68 1264
|
||||
69 806
|
||||
70 3665
|
||||
71 2452
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -12 -6
|
||||
2 -15 -5
|
||||
3 -1 -18
|
||||
4 2 -21
|
||||
5 -1 -17
|
||||
6 -9 -12
|
||||
7 2 -22
|
||||
8 1 -21
|
||||
9 7 -25
|
||||
10 -7 -17
|
||||
11 -11 -5
|
||||
12 -14 -9
|
||||
13 -14 -8
|
||||
14 -11 -2
|
||||
15 -14 -5
|
||||
16 -15 -9
|
||||
17 -15 -8
|
||||
18 -9 -6
|
||||
19 -14 -4
|
||||
20 3 6
|
||||
21 5 9
|
||||
22 5 10
|
||||
23 2 8
|
||||
24 1 9
|
||||
25 1 10
|
||||
26 2 9
|
||||
27 6 14
|
||||
28 5 12
|
||||
29 3 7
|
||||
30 4 8
|
||||
31 -6 1
|
||||
32 -6 2
|
||||
33 -8 -2
|
||||
34 -7 2
|
||||
35 -7 -3
|
||||
36 -7 -2
|
||||
37 -20 12
|
||||
38 -20 13
|
||||
39 -12 10
|
||||
40 -20 15
|
||||
41 -6 8
|
||||
42 2 21
|
||||
43 2 22
|
||||
44 1 21
|
||||
45 -1 24
|
||||
46 1 22
|
||||
47 -2 20
|
||||
48 -2 21
|
||||
49 -4 18
|
||||
50 -4 19
|
||||
51 -5 18
|
||||
52 -5 26
|
||||
53 1 23
|
||||
54 -6 5
|
||||
55 -6 6
|
||||
56 -9 6
|
||||
57 -9 7
|
||||
58 -12 5
|
||||
59 -12 6
|
||||
60 -11 3
|
||||
61 -11 4
|
||||
62 -14 4
|
||||
63 -14 5
|
||||
64 -15 4
|
||||
65 -15 5
|
||||
66 -16 7
|
||||
67 -16 8
|
||||
68 -15 10
|
||||
69 -20 10
|
||||
70 -5 19
|
||||
71 -9 -11
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
DURATION_SECTION
|
||||
1 5
|
||||
2 5
|
||||
3 5
|
||||
4 5
|
||||
5 5
|
||||
6 5
|
||||
7 5
|
||||
8 5
|
||||
9 5
|
||||
10 5
|
||||
11 5
|
||||
12 5
|
||||
13 5
|
||||
14 5
|
||||
15 5
|
||||
16 5
|
||||
17 5
|
||||
18 5
|
||||
19 5
|
||||
20 5
|
||||
21 5
|
||||
22 5
|
||||
23 5
|
||||
24 5
|
||||
25 5
|
||||
26 5
|
||||
27 5
|
||||
28 5
|
||||
29 5
|
||||
30 5
|
||||
31 5
|
||||
32 5
|
||||
33 5
|
||||
34 5
|
||||
35 5
|
||||
36 5
|
||||
37 5
|
||||
38 5
|
||||
39 5
|
||||
40 5
|
||||
41 5
|
||||
42 5
|
||||
43 5
|
||||
44 5
|
||||
45 5
|
||||
46 5
|
||||
47 5
|
||||
48 5
|
||||
49 5
|
||||
50 5
|
||||
51 5
|
||||
52 5
|
||||
53 5
|
||||
54 5
|
||||
55 5
|
||||
56 5
|
||||
57 5
|
||||
58 5
|
||||
59 5
|
||||
60 5
|
||||
61 5
|
||||
62 5
|
||||
63 5
|
||||
64 5
|
||||
65 5
|
||||
66 5
|
||||
67 5
|
||||
68 5
|
||||
69 5
|
||||
70 5
|
||||
71 5
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 211
|
||||
COMMENT: TIMESTEP: 4
|
||||
TIME_AVAIL_SECTION
|
||||
1 2
|
||||
2 4
|
||||
3 5
|
||||
4 6
|
||||
5 7
|
||||
6 8
|
||||
7 12
|
||||
8 16
|
||||
9 17
|
||||
10 18
|
||||
11 22
|
||||
12 26
|
||||
13 29
|
||||
14 35
|
||||
15 35
|
||||
16 37
|
||||
17 38
|
||||
18 38
|
||||
19 43
|
||||
20 45
|
||||
21 48
|
||||
22 48
|
||||
23 52
|
||||
24 54
|
||||
25 54
|
||||
26 58
|
||||
27 63
|
||||
28 65
|
||||
29 66
|
||||
30 67
|
||||
31 72
|
||||
32 73
|
||||
33 75
|
||||
34 76
|
||||
35 77
|
||||
36 80
|
||||
37 83
|
||||
38 83
|
||||
39 95
|
||||
40 102
|
||||
41 103
|
||||
42 104
|
||||
43 106
|
||||
44 107
|
||||
45 109
|
||||
46 109
|
||||
47 114
|
||||
48 116
|
||||
49 122
|
||||
50 127
|
||||
51 131
|
||||
52 132
|
||||
53 141
|
||||
54 142
|
||||
55 143
|
||||
56 144
|
||||
57 145
|
||||
58 155
|
||||
59 161
|
||||
60 163
|
||||
61 165
|
||||
62 165
|
||||
63 169
|
||||
64 177
|
||||
65 179
|
||||
66 182
|
||||
67 189
|
||||
68 196
|
||||
69 197
|
||||
70 201
|
||||
71 208
|
||||
EOF
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from f71 by convert2vt
|
||||
COMMENT: Best known objective: 241.97
|
||||
NAME: f71
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 71
|
||||
NUM_LOCATIONS: 72
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 30000
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -7063
|
||||
2 -51
|
||||
3 -23
|
||||
4 -3074
|
||||
5 -349
|
||||
6 -1047
|
||||
7 -698
|
||||
8 -3001
|
||||
9 -31
|
||||
10 -1135
|
||||
11 -21611
|
||||
12 -57
|
||||
13 -51
|
||||
14 -551
|
||||
15 -179
|
||||
16 -6
|
||||
17 -528
|
||||
18 -2832
|
||||
19 -1514
|
||||
20 -889
|
||||
21 -2554
|
||||
22 -1215
|
||||
23 -1810
|
||||
24 -3050
|
||||
25 -4
|
||||
26 -1563
|
||||
27 -741
|
||||
28 -1532
|
||||
29 -709
|
||||
30 -1022
|
||||
31 -883
|
||||
32 -1689
|
||||
33 -10235
|
||||
34 -29
|
||||
35 -2894
|
||||
36 -450
|
||||
37 -411
|
||||
38 -207
|
||||
39 -496
|
||||
40 -1021
|
||||
41 -117
|
||||
42 -46
|
||||
43 -8
|
||||
44 -18
|
||||
45 -561
|
||||
46 -1877
|
||||
47 -3542
|
||||
48 -801
|
||||
49 -967
|
||||
50 -62
|
||||
51 -1366
|
||||
52 -230
|
||||
53 -4
|
||||
54 -12
|
||||
55 -145
|
||||
56 -7149
|
||||
57 -2250
|
||||
58 -383
|
||||
59 -134
|
||||
60 -1947
|
||||
61 -182
|
||||
62 -3934
|
||||
63 -468
|
||||
64 -18
|
||||
65 -133
|
||||
66 -2340
|
||||
67 -754
|
||||
68 -1264
|
||||
69 -806
|
||||
70 -3665
|
||||
71 -2452
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -12 -6
|
||||
2 -15 -5
|
||||
3 -1 -18
|
||||
4 2 -21
|
||||
5 -1 -17
|
||||
6 -9 -12
|
||||
7 2 -22
|
||||
8 1 -21
|
||||
9 7 -25
|
||||
10 -7 -17
|
||||
11 -11 -5
|
||||
12 -14 -9
|
||||
13 -14 -8
|
||||
14 -11 -2
|
||||
15 -14 -5
|
||||
16 -15 -9
|
||||
17 -15 -8
|
||||
18 -9 -6
|
||||
19 -14 -4
|
||||
20 3 6
|
||||
21 5 9
|
||||
22 5 10
|
||||
23 2 8
|
||||
24 1 9
|
||||
25 1 10
|
||||
26 2 9
|
||||
27 6 14
|
||||
28 5 12
|
||||
29 3 7
|
||||
30 4 8
|
||||
31 -6 1
|
||||
32 -6 2
|
||||
33 -8 -2
|
||||
34 -7 2
|
||||
35 -7 -3
|
||||
36 -7 -2
|
||||
37 -20 12
|
||||
38 -20 13
|
||||
39 -12 10
|
||||
40 -20 15
|
||||
41 -6 8
|
||||
42 2 21
|
||||
43 2 22
|
||||
44 1 21
|
||||
45 -1 24
|
||||
46 1 22
|
||||
47 -2 20
|
||||
48 -2 21
|
||||
49 -4 18
|
||||
50 -4 19
|
||||
51 -5 18
|
||||
52 -5 26
|
||||
53 1 23
|
||||
54 -6 5
|
||||
55 -6 6
|
||||
56 -9 6
|
||||
57 -9 7
|
||||
58 -12 5
|
||||
59 -12 6
|
||||
60 -11 3
|
||||
61 -11 4
|
||||
62 -14 4
|
||||
63 -14 5
|
||||
64 -15 4
|
||||
65 -15 5
|
||||
66 -16 7
|
||||
67 -16 8
|
||||
68 -15 10
|
||||
69 -20 10
|
||||
70 -5 19
|
||||
71 -9 -11
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
DURATION_SECTION
|
||||
1 5
|
||||
2 5
|
||||
3 5
|
||||
4 5
|
||||
5 5
|
||||
6 5
|
||||
7 5
|
||||
8 5
|
||||
9 5
|
||||
10 5
|
||||
11 5
|
||||
12 5
|
||||
13 5
|
||||
14 5
|
||||
15 5
|
||||
16 5
|
||||
17 5
|
||||
18 5
|
||||
19 5
|
||||
20 5
|
||||
21 5
|
||||
22 5
|
||||
23 5
|
||||
24 5
|
||||
25 5
|
||||
26 5
|
||||
27 5
|
||||
28 5
|
||||
29 5
|
||||
30 5
|
||||
31 5
|
||||
32 5
|
||||
33 5
|
||||
34 5
|
||||
35 5
|
||||
36 5
|
||||
37 5
|
||||
38 5
|
||||
39 5
|
||||
40 5
|
||||
41 5
|
||||
42 5
|
||||
43 5
|
||||
44 5
|
||||
45 5
|
||||
46 5
|
||||
47 5
|
||||
48 5
|
||||
49 5
|
||||
50 5
|
||||
51 5
|
||||
52 5
|
||||
53 5
|
||||
54 5
|
||||
55 5
|
||||
56 5
|
||||
57 5
|
||||
58 5
|
||||
59 5
|
||||
60 5
|
||||
61 5
|
||||
62 5
|
||||
63 5
|
||||
64 5
|
||||
65 5
|
||||
66 5
|
||||
67 5
|
||||
68 5
|
||||
69 5
|
||||
70 5
|
||||
71 5
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 211
|
||||
COMMENT: TIMESTEP: 4
|
||||
TIME_AVAIL_SECTION
|
||||
1 2
|
||||
2 4
|
||||
3 5
|
||||
4 6
|
||||
5 7
|
||||
6 8
|
||||
7 12
|
||||
8 16
|
||||
9 17
|
||||
10 18
|
||||
11 22
|
||||
12 26
|
||||
13 29
|
||||
14 35
|
||||
15 35
|
||||
16 37
|
||||
17 38
|
||||
18 38
|
||||
19 43
|
||||
20 45
|
||||
21 48
|
||||
22 48
|
||||
23 52
|
||||
24 54
|
||||
25 54
|
||||
26 58
|
||||
27 63
|
||||
28 65
|
||||
29 66
|
||||
30 67
|
||||
31 72
|
||||
32 73
|
||||
33 75
|
||||
34 76
|
||||
35 77
|
||||
36 80
|
||||
37 83
|
||||
38 83
|
||||
39 95
|
||||
40 102
|
||||
41 103
|
||||
42 104
|
||||
43 106
|
||||
44 107
|
||||
45 109
|
||||
46 109
|
||||
47 114
|
||||
48 116
|
||||
49 122
|
||||
50 127
|
||||
51 131
|
||||
52 132
|
||||
53 141
|
||||
54 142
|
||||
55 143
|
||||
56 144
|
||||
57 145
|
||||
58 155
|
||||
59 161
|
||||
60 163
|
||||
61 165
|
||||
62 165
|
||||
63 169
|
||||
64 177
|
||||
65 179
|
||||
66 182
|
||||
67 189
|
||||
68 196
|
||||
69 197
|
||||
70 201
|
||||
71 208
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100a by convert2vt
|
||||
COMMENT: Best known objective: 2047.90
|
||||
NAME: tai100a
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1409
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 13
|
||||
2 122
|
||||
3 30
|
||||
4 3
|
||||
5 5
|
||||
6 422
|
||||
7 13
|
||||
8 22
|
||||
9 173
|
||||
10 41
|
||||
11 8
|
||||
12 8
|
||||
13 110
|
||||
14 198
|
||||
15 384
|
||||
16 193
|
||||
17 238
|
||||
18 265
|
||||
19 3
|
||||
20 469
|
||||
21 7
|
||||
22 6
|
||||
23 108
|
||||
24 10
|
||||
25 40
|
||||
26 635
|
||||
27 49
|
||||
28 149
|
||||
29 403
|
||||
30 42
|
||||
31 70
|
||||
32 201
|
||||
33 66
|
||||
34 526
|
||||
35 6
|
||||
36 279
|
||||
37 160
|
||||
38 3
|
||||
39 4
|
||||
40 105
|
||||
41 46
|
||||
42 474
|
||||
43 7
|
||||
44 7
|
||||
45 99
|
||||
46 126
|
||||
47 119
|
||||
48 46
|
||||
49 273
|
||||
50 91
|
||||
51 294
|
||||
52 4
|
||||
53 81
|
||||
54 285
|
||||
55 90
|
||||
56 462
|
||||
57 65
|
||||
58 6
|
||||
59 4
|
||||
60 529
|
||||
61 165
|
||||
62 4
|
||||
63 394
|
||||
64 3
|
||||
65 60
|
||||
66 899
|
||||
67 169
|
||||
68 10
|
||||
69 47
|
||||
70 37
|
||||
71 23
|
||||
72 25
|
||||
73 444
|
||||
74 3
|
||||
75 99
|
||||
76 58
|
||||
77 7
|
||||
78 11
|
||||
79 15
|
||||
80 381
|
||||
81 7
|
||||
82 39
|
||||
83 502
|
||||
84 115
|
||||
85 85
|
||||
86 3
|
||||
87 136
|
||||
88 111
|
||||
89 66
|
||||
90 50
|
||||
91 252
|
||||
92 4
|
||||
93 119
|
||||
94 746
|
||||
95 6
|
||||
96 51
|
||||
97 322
|
||||
98 1023
|
||||
99 5
|
||||
100 10
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -5 70
|
||||
2 -17 69
|
||||
3 -19 85
|
||||
4 9 99
|
||||
5 15 82
|
||||
6 -21 102
|
||||
7 -16 68
|
||||
8 15 72
|
||||
9 12 78
|
||||
10 1 102
|
||||
11 15 91
|
||||
12 9 83
|
||||
13 2 82
|
||||
14 -7 76
|
||||
15 -17 79
|
||||
16 12 70
|
||||
17 -18 99
|
||||
18 -9 104
|
||||
19 9 -24
|
||||
20 23 -34
|
||||
21 9 -44
|
||||
22 12 -30
|
||||
23 16 -36
|
||||
24 40 -21
|
||||
25 39 -15
|
||||
26 42 -6
|
||||
27 29 -43
|
||||
28 20 -8
|
||||
29 24 -38
|
||||
30 47 -15
|
||||
31 34 -28
|
||||
32 41 -39
|
||||
33 39 -30
|
||||
34 23 -34
|
||||
35 38 -8
|
||||
36 20 -40
|
||||
37 21 -9
|
||||
38 46 -13
|
||||
39 90 67
|
||||
40 70 39
|
||||
41 78 73
|
||||
42 49 47
|
||||
43 45 75
|
||||
44 86 61
|
||||
45 86 59
|
||||
46 54 65
|
||||
47 46 38
|
||||
48 63 68
|
||||
49 55 74
|
||||
50 62 69
|
||||
51 58 70
|
||||
52 25 17
|
||||
53 7 1
|
||||
54 8 6
|
||||
55 12 -2
|
||||
56 14 -7
|
||||
57 13 -1
|
||||
58 8 12
|
||||
59 25 13
|
||||
60 11 3
|
||||
61 15 -7
|
||||
62 4 -6
|
||||
63 18 -4
|
||||
64 10 -1
|
||||
65 16 -10
|
||||
66 96 5
|
||||
67 60 28
|
||||
68 75 -19
|
||||
69 107 5
|
||||
70 70 -4
|
||||
71 110 -2
|
||||
72 90 3
|
||||
73 80 -17
|
||||
74 59 -21
|
||||
75 83 14
|
||||
76 -56 62
|
||||
77 -39 71
|
||||
78 -40 72
|
||||
79 -41 77
|
||||
80 -37 78
|
||||
81 -31 70
|
||||
82 -52 81
|
||||
83 -50 81
|
||||
84 -41 77
|
||||
85 -35 85
|
||||
86 -41 71
|
||||
87 -57 72
|
||||
88 -47 74
|
||||
89 -56 70
|
||||
90 -32 82
|
||||
91 -50 69
|
||||
92 -57 86
|
||||
93 -33 79
|
||||
94 -64 71
|
||||
95 -58 56
|
||||
96 -74 69
|
||||
97 -65 57
|
||||
98 1 56
|
||||
99 12 41
|
||||
100 24 53
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 30
|
||||
2 30
|
||||
3 30
|
||||
4 30
|
||||
5 30
|
||||
6 30
|
||||
7 30
|
||||
8 30
|
||||
9 30
|
||||
10 30
|
||||
11 30
|
||||
12 30
|
||||
13 30
|
||||
14 30
|
||||
15 30
|
||||
16 30
|
||||
17 30
|
||||
18 30
|
||||
19 30
|
||||
20 30
|
||||
21 30
|
||||
22 30
|
||||
23 30
|
||||
24 30
|
||||
25 30
|
||||
26 30
|
||||
27 30
|
||||
28 30
|
||||
29 30
|
||||
30 30
|
||||
31 30
|
||||
32 30
|
||||
33 30
|
||||
34 30
|
||||
35 30
|
||||
36 30
|
||||
37 30
|
||||
38 30
|
||||
39 30
|
||||
40 30
|
||||
41 30
|
||||
42 30
|
||||
43 30
|
||||
44 30
|
||||
45 30
|
||||
46 30
|
||||
47 30
|
||||
48 30
|
||||
49 30
|
||||
50 30
|
||||
51 30
|
||||
52 30
|
||||
53 30
|
||||
54 30
|
||||
55 30
|
||||
56 30
|
||||
57 30
|
||||
58 30
|
||||
59 30
|
||||
60 30
|
||||
61 30
|
||||
62 30
|
||||
63 30
|
||||
64 30
|
||||
65 30
|
||||
66 30
|
||||
67 30
|
||||
68 30
|
||||
69 30
|
||||
70 30
|
||||
71 30
|
||||
72 30
|
||||
73 30
|
||||
74 30
|
||||
75 30
|
||||
76 30
|
||||
77 30
|
||||
78 30
|
||||
79 30
|
||||
80 30
|
||||
81 30
|
||||
82 30
|
||||
83 30
|
||||
84 30
|
||||
85 30
|
||||
86 30
|
||||
87 30
|
||||
88 30
|
||||
89 30
|
||||
90 30
|
||||
91 30
|
||||
92 30
|
||||
93 30
|
||||
94 30
|
||||
95 30
|
||||
96 30
|
||||
97 30
|
||||
98 30
|
||||
99 30
|
||||
100 30
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 897
|
||||
COMMENT: TIMESTEP: 17
|
||||
TIME_AVAIL_SECTION
|
||||
1 6
|
||||
2 10
|
||||
3 11
|
||||
4 11
|
||||
5 13
|
||||
6 21
|
||||
7 23
|
||||
8 29
|
||||
9 33
|
||||
10 56
|
||||
11 62
|
||||
12 79
|
||||
13 89
|
||||
14 92
|
||||
15 104
|
||||
16 105
|
||||
17 120
|
||||
18 135
|
||||
19 137
|
||||
20 137
|
||||
21 145
|
||||
22 152
|
||||
23 153
|
||||
24 166
|
||||
25 168
|
||||
26 195
|
||||
27 198
|
||||
28 209
|
||||
29 225
|
||||
30 239
|
||||
31 251
|
||||
32 254
|
||||
33 254
|
||||
34 274
|
||||
35 282
|
||||
36 299
|
||||
37 303
|
||||
38 313
|
||||
39 322
|
||||
40 322
|
||||
41 328
|
||||
42 338
|
||||
43 342
|
||||
44 345
|
||||
45 355
|
||||
46 360
|
||||
47 373
|
||||
48 380
|
||||
49 403
|
||||
50 408
|
||||
51 416
|
||||
52 474
|
||||
53 484
|
||||
54 485
|
||||
55 489
|
||||
56 498
|
||||
57 507
|
||||
58 508
|
||||
59 514
|
||||
60 538
|
||||
61 550
|
||||
62 590
|
||||
63 600
|
||||
64 603
|
||||
65 627
|
||||
66 644
|
||||
67 654
|
||||
68 662
|
||||
69 664
|
||||
70 683
|
||||
71 685
|
||||
72 690
|
||||
73 692
|
||||
74 693
|
||||
75 713
|
||||
76 716
|
||||
77 725
|
||||
78 728
|
||||
79 733
|
||||
80 741
|
||||
81 766
|
||||
82 769
|
||||
83 778
|
||||
84 788
|
||||
85 799
|
||||
86 806
|
||||
87 813
|
||||
88 821
|
||||
89 822
|
||||
90 825
|
||||
91 837
|
||||
92 847
|
||||
93 852
|
||||
94 864
|
||||
95 864
|
||||
96 867
|
||||
97 877
|
||||
98 883
|
||||
99 884
|
||||
100 895
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100a by convert2vt
|
||||
COMMENT: Best known objective: 2047.90
|
||||
NAME: tai100a
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1409
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -13
|
||||
2 -122
|
||||
3 -30
|
||||
4 -3
|
||||
5 -5
|
||||
6 -422
|
||||
7 -13
|
||||
8 -22
|
||||
9 -173
|
||||
10 -41
|
||||
11 -8
|
||||
12 -8
|
||||
13 -110
|
||||
14 -198
|
||||
15 -384
|
||||
16 -193
|
||||
17 -238
|
||||
18 -265
|
||||
19 -3
|
||||
20 -469
|
||||
21 -7
|
||||
22 -6
|
||||
23 -108
|
||||
24 -10
|
||||
25 -40
|
||||
26 -635
|
||||
27 -49
|
||||
28 -149
|
||||
29 -403
|
||||
30 -42
|
||||
31 -70
|
||||
32 -201
|
||||
33 -66
|
||||
34 -526
|
||||
35 -6
|
||||
36 -279
|
||||
37 -160
|
||||
38 -3
|
||||
39 -4
|
||||
40 -105
|
||||
41 -46
|
||||
42 -474
|
||||
43 -7
|
||||
44 -7
|
||||
45 -99
|
||||
46 -126
|
||||
47 -119
|
||||
48 -46
|
||||
49 -273
|
||||
50 -91
|
||||
51 -294
|
||||
52 -4
|
||||
53 -81
|
||||
54 -285
|
||||
55 -90
|
||||
56 -462
|
||||
57 -65
|
||||
58 -6
|
||||
59 -4
|
||||
60 -529
|
||||
61 -165
|
||||
62 -4
|
||||
63 -394
|
||||
64 -3
|
||||
65 -60
|
||||
66 -899
|
||||
67 -169
|
||||
68 -10
|
||||
69 -47
|
||||
70 -37
|
||||
71 -23
|
||||
72 -25
|
||||
73 -444
|
||||
74 -3
|
||||
75 -99
|
||||
76 -58
|
||||
77 -7
|
||||
78 -11
|
||||
79 -15
|
||||
80 -381
|
||||
81 -7
|
||||
82 -39
|
||||
83 -502
|
||||
84 -115
|
||||
85 -85
|
||||
86 -3
|
||||
87 -136
|
||||
88 -111
|
||||
89 -66
|
||||
90 -50
|
||||
91 -252
|
||||
92 -4
|
||||
93 -119
|
||||
94 -746
|
||||
95 -6
|
||||
96 -51
|
||||
97 -322
|
||||
98 -1023
|
||||
99 -5
|
||||
100 -10
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -5 70
|
||||
2 -17 69
|
||||
3 -19 85
|
||||
4 9 99
|
||||
5 15 82
|
||||
6 -21 102
|
||||
7 -16 68
|
||||
8 15 72
|
||||
9 12 78
|
||||
10 1 102
|
||||
11 15 91
|
||||
12 9 83
|
||||
13 2 82
|
||||
14 -7 76
|
||||
15 -17 79
|
||||
16 12 70
|
||||
17 -18 99
|
||||
18 -9 104
|
||||
19 9 -24
|
||||
20 23 -34
|
||||
21 9 -44
|
||||
22 12 -30
|
||||
23 16 -36
|
||||
24 40 -21
|
||||
25 39 -15
|
||||
26 42 -6
|
||||
27 29 -43
|
||||
28 20 -8
|
||||
29 24 -38
|
||||
30 47 -15
|
||||
31 34 -28
|
||||
32 41 -39
|
||||
33 39 -30
|
||||
34 23 -34
|
||||
35 38 -8
|
||||
36 20 -40
|
||||
37 21 -9
|
||||
38 46 -13
|
||||
39 90 67
|
||||
40 70 39
|
||||
41 78 73
|
||||
42 49 47
|
||||
43 45 75
|
||||
44 86 61
|
||||
45 86 59
|
||||
46 54 65
|
||||
47 46 38
|
||||
48 63 68
|
||||
49 55 74
|
||||
50 62 69
|
||||
51 58 70
|
||||
52 25 17
|
||||
53 7 1
|
||||
54 8 6
|
||||
55 12 -2
|
||||
56 14 -7
|
||||
57 13 -1
|
||||
58 8 12
|
||||
59 25 13
|
||||
60 11 3
|
||||
61 15 -7
|
||||
62 4 -6
|
||||
63 18 -4
|
||||
64 10 -1
|
||||
65 16 -10
|
||||
66 96 5
|
||||
67 60 28
|
||||
68 75 -19
|
||||
69 107 5
|
||||
70 70 -4
|
||||
71 110 -2
|
||||
72 90 3
|
||||
73 80 -17
|
||||
74 59 -21
|
||||
75 83 14
|
||||
76 -56 62
|
||||
77 -39 71
|
||||
78 -40 72
|
||||
79 -41 77
|
||||
80 -37 78
|
||||
81 -31 70
|
||||
82 -52 81
|
||||
83 -50 81
|
||||
84 -41 77
|
||||
85 -35 85
|
||||
86 -41 71
|
||||
87 -57 72
|
||||
88 -47 74
|
||||
89 -56 70
|
||||
90 -32 82
|
||||
91 -50 69
|
||||
92 -57 86
|
||||
93 -33 79
|
||||
94 -64 71
|
||||
95 -58 56
|
||||
96 -74 69
|
||||
97 -65 57
|
||||
98 1 56
|
||||
99 12 41
|
||||
100 24 53
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 30
|
||||
2 30
|
||||
3 30
|
||||
4 30
|
||||
5 30
|
||||
6 30
|
||||
7 30
|
||||
8 30
|
||||
9 30
|
||||
10 30
|
||||
11 30
|
||||
12 30
|
||||
13 30
|
||||
14 30
|
||||
15 30
|
||||
16 30
|
||||
17 30
|
||||
18 30
|
||||
19 30
|
||||
20 30
|
||||
21 30
|
||||
22 30
|
||||
23 30
|
||||
24 30
|
||||
25 30
|
||||
26 30
|
||||
27 30
|
||||
28 30
|
||||
29 30
|
||||
30 30
|
||||
31 30
|
||||
32 30
|
||||
33 30
|
||||
34 30
|
||||
35 30
|
||||
36 30
|
||||
37 30
|
||||
38 30
|
||||
39 30
|
||||
40 30
|
||||
41 30
|
||||
42 30
|
||||
43 30
|
||||
44 30
|
||||
45 30
|
||||
46 30
|
||||
47 30
|
||||
48 30
|
||||
49 30
|
||||
50 30
|
||||
51 30
|
||||
52 30
|
||||
53 30
|
||||
54 30
|
||||
55 30
|
||||
56 30
|
||||
57 30
|
||||
58 30
|
||||
59 30
|
||||
60 30
|
||||
61 30
|
||||
62 30
|
||||
63 30
|
||||
64 30
|
||||
65 30
|
||||
66 30
|
||||
67 30
|
||||
68 30
|
||||
69 30
|
||||
70 30
|
||||
71 30
|
||||
72 30
|
||||
73 30
|
||||
74 30
|
||||
75 30
|
||||
76 30
|
||||
77 30
|
||||
78 30
|
||||
79 30
|
||||
80 30
|
||||
81 30
|
||||
82 30
|
||||
83 30
|
||||
84 30
|
||||
85 30
|
||||
86 30
|
||||
87 30
|
||||
88 30
|
||||
89 30
|
||||
90 30
|
||||
91 30
|
||||
92 30
|
||||
93 30
|
||||
94 30
|
||||
95 30
|
||||
96 30
|
||||
97 30
|
||||
98 30
|
||||
99 30
|
||||
100 30
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 897
|
||||
COMMENT: TIMESTEP: 17
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 21
|
||||
3 21
|
||||
4 56
|
||||
5 70
|
||||
6 89
|
||||
7 90
|
||||
8 92
|
||||
9 94
|
||||
10 100
|
||||
11 105
|
||||
12 110
|
||||
13 110
|
||||
14 110
|
||||
15 123
|
||||
16 125
|
||||
17 128
|
||||
18 141
|
||||
19 152
|
||||
20 155
|
||||
21 156
|
||||
22 170
|
||||
23 203
|
||||
24 208
|
||||
25 209
|
||||
26 218
|
||||
27 229
|
||||
28 236
|
||||
29 242
|
||||
30 247
|
||||
31 249
|
||||
32 256
|
||||
33 267
|
||||
34 275
|
||||
35 293
|
||||
36 298
|
||||
37 300
|
||||
38 300
|
||||
39 317
|
||||
40 317
|
||||
41 322
|
||||
42 341
|
||||
43 342
|
||||
44 351
|
||||
45 353
|
||||
46 353
|
||||
47 358
|
||||
48 358
|
||||
49 374
|
||||
50 378
|
||||
51 379
|
||||
52 394
|
||||
53 406
|
||||
54 422
|
||||
55 437
|
||||
56 447
|
||||
57 451
|
||||
58 465
|
||||
59 465
|
||||
60 470
|
||||
61 482
|
||||
62 541
|
||||
63 543
|
||||
64 551
|
||||
65 569
|
||||
66 573
|
||||
67 576
|
||||
68 576
|
||||
69 597
|
||||
70 642
|
||||
71 645
|
||||
72 650
|
||||
73 659
|
||||
74 665
|
||||
75 672
|
||||
76 687
|
||||
77 693
|
||||
78 710
|
||||
79 715
|
||||
80 718
|
||||
81 721
|
||||
82 730
|
||||
83 736
|
||||
84 738
|
||||
85 740
|
||||
86 756
|
||||
87 766
|
||||
88 776
|
||||
89 781
|
||||
90 789
|
||||
91 801
|
||||
92 817
|
||||
93 819
|
||||
94 837
|
||||
95 837
|
||||
96 864
|
||||
97 872
|
||||
98 875
|
||||
99 893
|
||||
100 896
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100b by convert2vt
|
||||
COMMENT: Best known objective: 1940.61
|
||||
NAME: tai100b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1842
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 50
|
||||
2 50
|
||||
3 170
|
||||
4 297
|
||||
5 9
|
||||
6 630
|
||||
7 179
|
||||
8 179
|
||||
9 216
|
||||
10 4
|
||||
11 9
|
||||
12 154
|
||||
13 117
|
||||
14 63
|
||||
15 436
|
||||
16 905
|
||||
17 14
|
||||
18 3
|
||||
19 10
|
||||
20 166
|
||||
21 211
|
||||
22 8
|
||||
23 25
|
||||
24 139
|
||||
25 213
|
||||
26 758
|
||||
27 429
|
||||
28 5
|
||||
29 136
|
||||
30 501
|
||||
31 93
|
||||
32 21
|
||||
33 169
|
||||
34 22
|
||||
35 3
|
||||
36 271
|
||||
37 433
|
||||
38 3
|
||||
39 1079
|
||||
40 233
|
||||
41 11
|
||||
42 10
|
||||
43 78
|
||||
44 63
|
||||
45 4
|
||||
46 59
|
||||
47 8
|
||||
48 34
|
||||
49 234
|
||||
50 30
|
||||
51 40
|
||||
52 123
|
||||
53 7
|
||||
54 33
|
||||
55 369
|
||||
56 11
|
||||
57 23
|
||||
58 208
|
||||
59 4
|
||||
60 8
|
||||
61 36
|
||||
62 504
|
||||
63 16
|
||||
64 574
|
||||
65 19
|
||||
66 235
|
||||
67 445
|
||||
68 6
|
||||
69 43
|
||||
70 210
|
||||
71 268
|
||||
72 410
|
||||
73 124
|
||||
74 11
|
||||
75 1085
|
||||
76 5
|
||||
77 529
|
||||
78 107
|
||||
79 274
|
||||
80 23
|
||||
81 156
|
||||
82 32
|
||||
83 177
|
||||
84 16
|
||||
85 8
|
||||
86 19
|
||||
87 52
|
||||
88 47
|
||||
89 4
|
||||
90 372
|
||||
91 525
|
||||
92 101
|
||||
93 898
|
||||
94 40
|
||||
95 32
|
||||
96 1017
|
||||
97 103
|
||||
98 109
|
||||
99 76
|
||||
100 1025
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 35 -56
|
||||
2 72 -58
|
||||
3 70 -66
|
||||
4 45 -40
|
||||
5 39 -40
|
||||
6 60 -50
|
||||
7 42 -59
|
||||
8 31 -46
|
||||
9 44 -58
|
||||
10 45 -67
|
||||
11 69 -46
|
||||
12 24 0
|
||||
13 12 -4
|
||||
14 1 -21
|
||||
15 3 29
|
||||
16 19 -13
|
||||
17 13 -14
|
||||
18 25 11
|
||||
19 24 23
|
||||
20 3 7
|
||||
21 23 19
|
||||
22 2 -7
|
||||
23 5 23
|
||||
24 32 5
|
||||
25 14 25
|
||||
26 -16 -4
|
||||
27 24 17
|
||||
28 0 -7
|
||||
29 -74 -22
|
||||
30 -64 -24
|
||||
31 -71 -19
|
||||
32 -91 -15
|
||||
33 -65 -14
|
||||
34 -91 -26
|
||||
35 -76 -7
|
||||
36 -66 -4
|
||||
37 -87 -10
|
||||
38 -73 -8
|
||||
39 -81 -1
|
||||
40 -82 -24
|
||||
41 -87 -25
|
||||
42 -76 -25
|
||||
43 -75 -6
|
||||
44 -70 -3
|
||||
45 -64 -22
|
||||
46 -66 -5
|
||||
47 -72 -10
|
||||
48 -89 -3
|
||||
49 -86 -3
|
||||
50 -57 -9
|
||||
51 -22 -36
|
||||
52 -44 19
|
||||
53 -21 6
|
||||
54 -49 -4
|
||||
55 -68 -7
|
||||
56 -42 11
|
||||
57 -69 3
|
||||
58 -49 9
|
||||
59 -68 -19
|
||||
60 -57 -7
|
||||
61 -61 -34
|
||||
62 -36 16
|
||||
63 -56 2
|
||||
64 -67 0
|
||||
65 -17 -14
|
||||
66 -17 -20
|
||||
67 -28 -26
|
||||
68 -70 -21
|
||||
69 -46 -14
|
||||
70 -52 36
|
||||
71 -33 62
|
||||
72 -53 49
|
||||
73 -39 59
|
||||
74 33 73
|
||||
75 38 88
|
||||
76 43 77
|
||||
77 -60 19
|
||||
78 -61 27
|
||||
79 -66 23
|
||||
80 -61 20
|
||||
81 -55 19
|
||||
82 -5 -38
|
||||
83 -9 -41
|
||||
84 -12 -31
|
||||
85 -9 -45
|
||||
86 -6 -33
|
||||
87 -1 -49
|
||||
88 -14 -44
|
||||
89 85 -1
|
||||
90 67 -1
|
||||
91 60 30
|
||||
92 78 12
|
||||
93 57 31
|
||||
94 63 -1
|
||||
95 88 -3
|
||||
96 85 -13
|
||||
97 78 17
|
||||
98 56 4
|
||||
99 99 -14
|
||||
100 53 16
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 29
|
||||
2 29
|
||||
3 29
|
||||
4 29
|
||||
5 29
|
||||
6 29
|
||||
7 29
|
||||
8 29
|
||||
9 29
|
||||
10 29
|
||||
11 29
|
||||
12 29
|
||||
13 29
|
||||
14 29
|
||||
15 29
|
||||
16 29
|
||||
17 29
|
||||
18 29
|
||||
19 29
|
||||
20 29
|
||||
21 29
|
||||
22 29
|
||||
23 29
|
||||
24 29
|
||||
25 29
|
||||
26 29
|
||||
27 29
|
||||
28 29
|
||||
29 29
|
||||
30 29
|
||||
31 29
|
||||
32 29
|
||||
33 29
|
||||
34 29
|
||||
35 29
|
||||
36 29
|
||||
37 29
|
||||
38 29
|
||||
39 29
|
||||
40 29
|
||||
41 29
|
||||
42 29
|
||||
43 29
|
||||
44 29
|
||||
45 29
|
||||
46 29
|
||||
47 29
|
||||
48 29
|
||||
49 29
|
||||
50 29
|
||||
51 29
|
||||
52 29
|
||||
53 29
|
||||
54 29
|
||||
55 29
|
||||
56 29
|
||||
57 29
|
||||
58 29
|
||||
59 29
|
||||
60 29
|
||||
61 29
|
||||
62 29
|
||||
63 29
|
||||
64 29
|
||||
65 29
|
||||
66 29
|
||||
67 29
|
||||
68 29
|
||||
69 29
|
||||
70 29
|
||||
71 29
|
||||
72 29
|
||||
73 29
|
||||
74 29
|
||||
75 29
|
||||
76 29
|
||||
77 29
|
||||
78 29
|
||||
79 29
|
||||
80 29
|
||||
81 29
|
||||
82 29
|
||||
83 29
|
||||
84 29
|
||||
85 29
|
||||
86 29
|
||||
87 29
|
||||
88 29
|
||||
89 29
|
||||
90 29
|
||||
91 29
|
||||
92 29
|
||||
93 29
|
||||
94 29
|
||||
95 29
|
||||
96 29
|
||||
97 29
|
||||
98 29
|
||||
99 29
|
||||
100 29
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 799
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 19
|
||||
3 19
|
||||
4 50
|
||||
5 63
|
||||
6 79
|
||||
7 80
|
||||
8 82
|
||||
9 83
|
||||
10 89
|
||||
11 94
|
||||
12 98
|
||||
13 98
|
||||
14 98
|
||||
15 110
|
||||
16 111
|
||||
17 114
|
||||
18 126
|
||||
19 135
|
||||
20 138
|
||||
21 139
|
||||
22 151
|
||||
23 180
|
||||
24 185
|
||||
25 186
|
||||
26 194
|
||||
27 204
|
||||
28 210
|
||||
29 216
|
||||
30 220
|
||||
31 222
|
||||
32 228
|
||||
33 238
|
||||
34 245
|
||||
35 261
|
||||
36 266
|
||||
37 267
|
||||
38 267
|
||||
39 282
|
||||
40 282
|
||||
41 286
|
||||
42 304
|
||||
43 304
|
||||
44 313
|
||||
45 314
|
||||
46 314
|
||||
47 319
|
||||
48 319
|
||||
49 333
|
||||
50 336
|
||||
51 338
|
||||
52 351
|
||||
53 361
|
||||
54 376
|
||||
55 389
|
||||
56 398
|
||||
57 401
|
||||
58 414
|
||||
59 415
|
||||
60 419
|
||||
61 429
|
||||
62 482
|
||||
63 484
|
||||
64 491
|
||||
65 507
|
||||
66 510
|
||||
67 513
|
||||
68 513
|
||||
69 532
|
||||
70 572
|
||||
71 575
|
||||
72 579
|
||||
73 587
|
||||
74 593
|
||||
75 598
|
||||
76 612
|
||||
77 618
|
||||
78 632
|
||||
79 637
|
||||
80 640
|
||||
81 642
|
||||
82 650
|
||||
83 656
|
||||
84 657
|
||||
85 659
|
||||
86 673
|
||||
87 682
|
||||
88 691
|
||||
89 695
|
||||
90 703
|
||||
91 713
|
||||
92 728
|
||||
93 729
|
||||
94 746
|
||||
95 746
|
||||
96 769
|
||||
97 776
|
||||
98 779
|
||||
99 795
|
||||
100 798
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100b by convert2vt
|
||||
COMMENT: Best known objective: 1940.61
|
||||
NAME: tai100b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1842
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -50
|
||||
2 -50
|
||||
3 -170
|
||||
4 -297
|
||||
5 -9
|
||||
6 -630
|
||||
7 -179
|
||||
8 -179
|
||||
9 -216
|
||||
10 -4
|
||||
11 -9
|
||||
12 -154
|
||||
13 -117
|
||||
14 -63
|
||||
15 -436
|
||||
16 -905
|
||||
17 -14
|
||||
18 -3
|
||||
19 -10
|
||||
20 -166
|
||||
21 -211
|
||||
22 -8
|
||||
23 -25
|
||||
24 -139
|
||||
25 -213
|
||||
26 -758
|
||||
27 -429
|
||||
28 -5
|
||||
29 -136
|
||||
30 -501
|
||||
31 -93
|
||||
32 -21
|
||||
33 -169
|
||||
34 -22
|
||||
35 -3
|
||||
36 -271
|
||||
37 -433
|
||||
38 -3
|
||||
39 -1079
|
||||
40 -233
|
||||
41 -11
|
||||
42 -10
|
||||
43 -78
|
||||
44 -63
|
||||
45 -4
|
||||
46 -59
|
||||
47 -8
|
||||
48 -34
|
||||
49 -234
|
||||
50 -30
|
||||
51 -40
|
||||
52 -123
|
||||
53 -7
|
||||
54 -33
|
||||
55 -369
|
||||
56 -11
|
||||
57 -23
|
||||
58 -208
|
||||
59 -4
|
||||
60 -8
|
||||
61 -36
|
||||
62 -504
|
||||
63 -16
|
||||
64 -574
|
||||
65 -19
|
||||
66 -235
|
||||
67 -445
|
||||
68 -6
|
||||
69 -43
|
||||
70 -210
|
||||
71 -268
|
||||
72 -410
|
||||
73 -124
|
||||
74 -11
|
||||
75 -1085
|
||||
76 -5
|
||||
77 -529
|
||||
78 -107
|
||||
79 -274
|
||||
80 -23
|
||||
81 -156
|
||||
82 -32
|
||||
83 -177
|
||||
84 -16
|
||||
85 -8
|
||||
86 -19
|
||||
87 -52
|
||||
88 -47
|
||||
89 -4
|
||||
90 -372
|
||||
91 -525
|
||||
92 -101
|
||||
93 -898
|
||||
94 -40
|
||||
95 -32
|
||||
96 -1017
|
||||
97 -103
|
||||
98 -109
|
||||
99 -76
|
||||
100 -1025
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 35 -56
|
||||
2 72 -58
|
||||
3 70 -66
|
||||
4 45 -40
|
||||
5 39 -40
|
||||
6 60 -50
|
||||
7 42 -59
|
||||
8 31 -46
|
||||
9 44 -58
|
||||
10 45 -67
|
||||
11 69 -46
|
||||
12 24 0
|
||||
13 12 -4
|
||||
14 1 -21
|
||||
15 3 29
|
||||
16 19 -13
|
||||
17 13 -14
|
||||
18 25 11
|
||||
19 24 23
|
||||
20 3 7
|
||||
21 23 19
|
||||
22 2 -7
|
||||
23 5 23
|
||||
24 32 5
|
||||
25 14 25
|
||||
26 -16 -4
|
||||
27 24 17
|
||||
28 0 -7
|
||||
29 -74 -22
|
||||
30 -64 -24
|
||||
31 -71 -19
|
||||
32 -91 -15
|
||||
33 -65 -14
|
||||
34 -91 -26
|
||||
35 -76 -7
|
||||
36 -66 -4
|
||||
37 -87 -10
|
||||
38 -73 -8
|
||||
39 -81 -1
|
||||
40 -82 -24
|
||||
41 -87 -25
|
||||
42 -76 -25
|
||||
43 -75 -6
|
||||
44 -70 -3
|
||||
45 -64 -22
|
||||
46 -66 -5
|
||||
47 -72 -10
|
||||
48 -89 -3
|
||||
49 -86 -3
|
||||
50 -57 -9
|
||||
51 -22 -36
|
||||
52 -44 19
|
||||
53 -21 6
|
||||
54 -49 -4
|
||||
55 -68 -7
|
||||
56 -42 11
|
||||
57 -69 3
|
||||
58 -49 9
|
||||
59 -68 -19
|
||||
60 -57 -7
|
||||
61 -61 -34
|
||||
62 -36 16
|
||||
63 -56 2
|
||||
64 -67 0
|
||||
65 -17 -14
|
||||
66 -17 -20
|
||||
67 -28 -26
|
||||
68 -70 -21
|
||||
69 -46 -14
|
||||
70 -52 36
|
||||
71 -33 62
|
||||
72 -53 49
|
||||
73 -39 59
|
||||
74 33 73
|
||||
75 38 88
|
||||
76 43 77
|
||||
77 -60 19
|
||||
78 -61 27
|
||||
79 -66 23
|
||||
80 -61 20
|
||||
81 -55 19
|
||||
82 -5 -38
|
||||
83 -9 -41
|
||||
84 -12 -31
|
||||
85 -9 -45
|
||||
86 -6 -33
|
||||
87 -1 -49
|
||||
88 -14 -44
|
||||
89 85 -1
|
||||
90 67 -1
|
||||
91 60 30
|
||||
92 78 12
|
||||
93 57 31
|
||||
94 63 -1
|
||||
95 88 -3
|
||||
96 85 -13
|
||||
97 78 17
|
||||
98 56 4
|
||||
99 99 -14
|
||||
100 53 16
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 29
|
||||
2 29
|
||||
3 29
|
||||
4 29
|
||||
5 29
|
||||
6 29
|
||||
7 29
|
||||
8 29
|
||||
9 29
|
||||
10 29
|
||||
11 29
|
||||
12 29
|
||||
13 29
|
||||
14 29
|
||||
15 29
|
||||
16 29
|
||||
17 29
|
||||
18 29
|
||||
19 29
|
||||
20 29
|
||||
21 29
|
||||
22 29
|
||||
23 29
|
||||
24 29
|
||||
25 29
|
||||
26 29
|
||||
27 29
|
||||
28 29
|
||||
29 29
|
||||
30 29
|
||||
31 29
|
||||
32 29
|
||||
33 29
|
||||
34 29
|
||||
35 29
|
||||
36 29
|
||||
37 29
|
||||
38 29
|
||||
39 29
|
||||
40 29
|
||||
41 29
|
||||
42 29
|
||||
43 29
|
||||
44 29
|
||||
45 29
|
||||
46 29
|
||||
47 29
|
||||
48 29
|
||||
49 29
|
||||
50 29
|
||||
51 29
|
||||
52 29
|
||||
53 29
|
||||
54 29
|
||||
55 29
|
||||
56 29
|
||||
57 29
|
||||
58 29
|
||||
59 29
|
||||
60 29
|
||||
61 29
|
||||
62 29
|
||||
63 29
|
||||
64 29
|
||||
65 29
|
||||
66 29
|
||||
67 29
|
||||
68 29
|
||||
69 29
|
||||
70 29
|
||||
71 29
|
||||
72 29
|
||||
73 29
|
||||
74 29
|
||||
75 29
|
||||
76 29
|
||||
77 29
|
||||
78 29
|
||||
79 29
|
||||
80 29
|
||||
81 29
|
||||
82 29
|
||||
83 29
|
||||
84 29
|
||||
85 29
|
||||
86 29
|
||||
87 29
|
||||
88 29
|
||||
89 29
|
||||
90 29
|
||||
91 29
|
||||
92 29
|
||||
93 29
|
||||
94 29
|
||||
95 29
|
||||
96 29
|
||||
97 29
|
||||
98 29
|
||||
99 29
|
||||
100 29
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 799
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 1
|
||||
2 19
|
||||
3 19
|
||||
4 50
|
||||
5 63
|
||||
6 79
|
||||
7 80
|
||||
8 82
|
||||
9 83
|
||||
10 89
|
||||
11 94
|
||||
12 98
|
||||
13 98
|
||||
14 98
|
||||
15 110
|
||||
16 111
|
||||
17 114
|
||||
18 126
|
||||
19 135
|
||||
20 138
|
||||
21 139
|
||||
22 151
|
||||
23 180
|
||||
24 185
|
||||
25 186
|
||||
26 194
|
||||
27 204
|
||||
28 210
|
||||
29 216
|
||||
30 220
|
||||
31 222
|
||||
32 228
|
||||
33 238
|
||||
34 245
|
||||
35 261
|
||||
36 266
|
||||
37 267
|
||||
38 267
|
||||
39 282
|
||||
40 282
|
||||
41 286
|
||||
42 304
|
||||
43 304
|
||||
44 313
|
||||
45 314
|
||||
46 314
|
||||
47 319
|
||||
48 319
|
||||
49 333
|
||||
50 336
|
||||
51 338
|
||||
52 351
|
||||
53 361
|
||||
54 376
|
||||
55 389
|
||||
56 398
|
||||
57 401
|
||||
58 414
|
||||
59 415
|
||||
60 419
|
||||
61 429
|
||||
62 482
|
||||
63 484
|
||||
64 491
|
||||
65 507
|
||||
66 510
|
||||
67 513
|
||||
68 513
|
||||
69 532
|
||||
70 572
|
||||
71 575
|
||||
72 579
|
||||
73 587
|
||||
74 593
|
||||
75 598
|
||||
76 612
|
||||
77 618
|
||||
78 632
|
||||
79 637
|
||||
80 640
|
||||
81 642
|
||||
82 650
|
||||
83 656
|
||||
84 657
|
||||
85 659
|
||||
86 673
|
||||
87 682
|
||||
88 691
|
||||
89 695
|
||||
90 703
|
||||
91 713
|
||||
92 728
|
||||
93 729
|
||||
94 746
|
||||
95 746
|
||||
96 769
|
||||
97 776
|
||||
98 779
|
||||
99 795
|
||||
100 798
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100c by convert2vt
|
||||
COMMENT: Best known objective: 1407.44
|
||||
NAME: tai100c
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 2043
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 1066
|
||||
2 841
|
||||
3 74
|
||||
4 687
|
||||
5 175
|
||||
6 183
|
||||
7 124
|
||||
8 4
|
||||
9 81
|
||||
10 56
|
||||
11 29
|
||||
12 23
|
||||
13 4
|
||||
14 9
|
||||
15 7
|
||||
16 181
|
||||
17 54
|
||||
18 884
|
||||
19 822
|
||||
20 637
|
||||
21 59
|
||||
22 140
|
||||
23 531
|
||||
24 58
|
||||
25 15
|
||||
26 11
|
||||
27 185
|
||||
28 159
|
||||
29 285
|
||||
30 4
|
||||
31 10
|
||||
32 3
|
||||
33 4
|
||||
34 11
|
||||
35 45
|
||||
36 4
|
||||
37 225
|
||||
38 286
|
||||
39 262
|
||||
40 4
|
||||
41 391
|
||||
42 54
|
||||
43 518
|
||||
44 815
|
||||
45 25
|
||||
46 29
|
||||
47 18
|
||||
48 588
|
||||
49 68
|
||||
50 480
|
||||
51 5
|
||||
52 16
|
||||
53 34
|
||||
54 5
|
||||
55 9
|
||||
56 22
|
||||
57 120
|
||||
58 152
|
||||
59 21
|
||||
60 44
|
||||
61 676
|
||||
62 17
|
||||
63 764
|
||||
64 13
|
||||
65 6
|
||||
66 718
|
||||
67 52
|
||||
68 11
|
||||
69 93
|
||||
70 398
|
||||
71 48
|
||||
72 37
|
||||
73 3
|
||||
74 8
|
||||
75 406
|
||||
76 1086
|
||||
77 3
|
||||
78 52
|
||||
79 88
|
||||
80 28
|
||||
81 686
|
||||
82 25
|
||||
83 101
|
||||
84 4
|
||||
85 15
|
||||
86 445
|
||||
87 4
|
||||
88 593
|
||||
89 327
|
||||
90 92
|
||||
91 21
|
||||
92 12
|
||||
93 44
|
||||
94 773
|
||||
95 4
|
||||
96 14
|
||||
97 783
|
||||
98 3
|
||||
99 500
|
||||
100 390
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -2 -5
|
||||
2 3 -1
|
||||
3 -2 7
|
||||
4 3 0
|
||||
5 7 -3
|
||||
6 -5 -1
|
||||
7 -3 0
|
||||
8 0 -3
|
||||
9 4 1
|
||||
10 4 -5
|
||||
11 -2 -4
|
||||
12 5 -5
|
||||
13 -4 1
|
||||
14 -2 3
|
||||
15 7 2
|
||||
16 -13 80
|
||||
17 -6 88
|
||||
18 -16 83
|
||||
19 -14 77
|
||||
20 -26 88
|
||||
21 -24 79
|
||||
22 -25 78
|
||||
23 -11 80
|
||||
24 -5 88
|
||||
25 -21 90
|
||||
26 -5 82
|
||||
27 -20 80
|
||||
28 -6 91
|
||||
29 -25 89
|
||||
30 -25 74
|
||||
31 -8 88
|
||||
32 -21 74
|
||||
33 -23 74
|
||||
34 -5 87
|
||||
35 -8 91
|
||||
36 -3 -8
|
||||
37 -30 15
|
||||
38 -14 24
|
||||
39 -12 11
|
||||
40 -1 7
|
||||
41 2 14
|
||||
42 -26 15
|
||||
43 -36 2
|
||||
44 -29 7
|
||||
45 -1 28
|
||||
46 -7 17
|
||||
47 -10 31
|
||||
48 -20 -2
|
||||
49 -33 20
|
||||
50 -26 0
|
||||
51 -13 9
|
||||
52 -8 12
|
||||
53 -35 -8
|
||||
54 -33 23
|
||||
55 10 -70
|
||||
56 8 -95
|
||||
57 -12 -101
|
||||
58 6 -113
|
||||
59 -17 -76
|
||||
60 -23 -102
|
||||
61 11 -104
|
||||
62 -19 -96
|
||||
63 -13 -79
|
||||
64 -53 -32
|
||||
65 -78 -2
|
||||
66 -87 -61
|
||||
67 -60 -32
|
||||
68 -6 -12
|
||||
69 10 -16
|
||||
70 -7 -11
|
||||
71 0 3
|
||||
72 10 2
|
||||
73 -1 -15
|
||||
74 1 -3
|
||||
75 15 -2
|
||||
76 10 4
|
||||
77 8 3
|
||||
78 -58 32
|
||||
79 -88 38
|
||||
80 -76 34
|
||||
81 -83 50
|
||||
82 -67 43
|
||||
83 -75 34
|
||||
84 -91 44
|
||||
85 -24 1
|
||||
86 -20 4
|
||||
87 -17 -4
|
||||
88 -25 -1
|
||||
89 -17 2
|
||||
90 -24 2
|
||||
91 -12 -2
|
||||
92 -14 1
|
||||
93 -18 2
|
||||
94 -20 5
|
||||
95 -14 4
|
||||
96 -23 9
|
||||
97 -22 -3
|
||||
98 -22 -2
|
||||
99 17 1
|
||||
100 5 7
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 21
|
||||
2 21
|
||||
3 21
|
||||
4 21
|
||||
5 21
|
||||
6 21
|
||||
7 21
|
||||
8 21
|
||||
9 21
|
||||
10 21
|
||||
11 21
|
||||
12 21
|
||||
13 21
|
||||
14 21
|
||||
15 21
|
||||
16 21
|
||||
17 21
|
||||
18 21
|
||||
19 21
|
||||
20 21
|
||||
21 21
|
||||
22 21
|
||||
23 21
|
||||
24 21
|
||||
25 21
|
||||
26 21
|
||||
27 21
|
||||
28 21
|
||||
29 21
|
||||
30 21
|
||||
31 21
|
||||
32 21
|
||||
33 21
|
||||
34 21
|
||||
35 21
|
||||
36 21
|
||||
37 21
|
||||
38 21
|
||||
39 21
|
||||
40 21
|
||||
41 21
|
||||
42 21
|
||||
43 21
|
||||
44 21
|
||||
45 21
|
||||
46 21
|
||||
47 21
|
||||
48 21
|
||||
49 21
|
||||
50 21
|
||||
51 21
|
||||
52 21
|
||||
53 21
|
||||
54 21
|
||||
55 21
|
||||
56 21
|
||||
57 21
|
||||
58 21
|
||||
59 21
|
||||
60 21
|
||||
61 21
|
||||
62 21
|
||||
63 21
|
||||
64 21
|
||||
65 21
|
||||
66 21
|
||||
67 21
|
||||
68 21
|
||||
69 21
|
||||
70 21
|
||||
71 21
|
||||
72 21
|
||||
73 21
|
||||
74 21
|
||||
75 21
|
||||
76 21
|
||||
77 21
|
||||
78 21
|
||||
79 21
|
||||
80 21
|
||||
81 21
|
||||
82 21
|
||||
83 21
|
||||
84 21
|
||||
85 21
|
||||
86 21
|
||||
87 21
|
||||
88 21
|
||||
89 21
|
||||
90 21
|
||||
91 21
|
||||
92 21
|
||||
93 21
|
||||
94 21
|
||||
95 21
|
||||
96 21
|
||||
97 21
|
||||
98 21
|
||||
99 21
|
||||
100 21
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 905
|
||||
COMMENT: TIMESTEP: 18
|
||||
TIME_AVAIL_SECTION
|
||||
1 16
|
||||
2 21
|
||||
3 28
|
||||
4 33
|
||||
5 33
|
||||
6 40
|
||||
7 56
|
||||
8 61
|
||||
9 65
|
||||
10 96
|
||||
11 123
|
||||
12 123
|
||||
13 131
|
||||
14 140
|
||||
15 151
|
||||
16 151
|
||||
17 166
|
||||
18 170
|
||||
19 188
|
||||
20 188
|
||||
21 193
|
||||
22 198
|
||||
23 218
|
||||
24 233
|
||||
25 233
|
||||
26 285
|
||||
27 290
|
||||
28 303
|
||||
29 315
|
||||
30 326
|
||||
31 330
|
||||
32 351
|
||||
33 355
|
||||
34 360
|
||||
35 361
|
||||
36 368
|
||||
37 370
|
||||
38 391
|
||||
39 410
|
||||
40 413
|
||||
41 420
|
||||
42 425
|
||||
43 435
|
||||
44 440
|
||||
45 443
|
||||
46 450
|
||||
47 455
|
||||
48 456
|
||||
49 461
|
||||
50 473
|
||||
51 473
|
||||
52 475
|
||||
53 491
|
||||
54 491
|
||||
55 493
|
||||
56 496
|
||||
57 528
|
||||
58 538
|
||||
59 543
|
||||
60 546
|
||||
61 546
|
||||
62 556
|
||||
63 560
|
||||
64 575
|
||||
65 578
|
||||
66 578
|
||||
67 580
|
||||
68 583
|
||||
69 586
|
||||
70 610
|
||||
71 620
|
||||
72 623
|
||||
73 648
|
||||
74 650
|
||||
75 663
|
||||
76 663
|
||||
77 688
|
||||
78 693
|
||||
79 701
|
||||
80 735
|
||||
81 735
|
||||
82 746
|
||||
83 750
|
||||
84 753
|
||||
85 755
|
||||
86 800
|
||||
87 805
|
||||
88 825
|
||||
89 828
|
||||
90 830
|
||||
91 833
|
||||
92 836
|
||||
93 843
|
||||
94 854
|
||||
95 858
|
||||
96 860
|
||||
97 861
|
||||
98 868
|
||||
99 881
|
||||
100 900
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100c by convert2vt
|
||||
COMMENT: Best known objective: 1407.44
|
||||
NAME: tai100c
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 2043
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -1066
|
||||
2 -841
|
||||
3 -74
|
||||
4 -687
|
||||
5 -175
|
||||
6 -183
|
||||
7 -124
|
||||
8 -4
|
||||
9 -81
|
||||
10 -56
|
||||
11 -29
|
||||
12 -23
|
||||
13 -4
|
||||
14 -9
|
||||
15 -7
|
||||
16 -181
|
||||
17 -54
|
||||
18 -884
|
||||
19 -822
|
||||
20 -637
|
||||
21 -59
|
||||
22 -140
|
||||
23 -531
|
||||
24 -58
|
||||
25 -15
|
||||
26 -11
|
||||
27 -185
|
||||
28 -159
|
||||
29 -285
|
||||
30 -4
|
||||
31 -10
|
||||
32 -3
|
||||
33 -4
|
||||
34 -11
|
||||
35 -45
|
||||
36 -4
|
||||
37 -225
|
||||
38 -286
|
||||
39 -262
|
||||
40 -4
|
||||
41 -391
|
||||
42 -54
|
||||
43 -518
|
||||
44 -815
|
||||
45 -25
|
||||
46 -29
|
||||
47 -18
|
||||
48 -588
|
||||
49 -68
|
||||
50 -480
|
||||
51 -5
|
||||
52 -16
|
||||
53 -34
|
||||
54 -5
|
||||
55 -9
|
||||
56 -22
|
||||
57 -120
|
||||
58 -152
|
||||
59 -21
|
||||
60 -44
|
||||
61 -676
|
||||
62 -17
|
||||
63 -764
|
||||
64 -13
|
||||
65 -6
|
||||
66 -718
|
||||
67 -52
|
||||
68 -11
|
||||
69 -93
|
||||
70 -398
|
||||
71 -48
|
||||
72 -37
|
||||
73 -3
|
||||
74 -8
|
||||
75 -406
|
||||
76 -1086
|
||||
77 -3
|
||||
78 -52
|
||||
79 -88
|
||||
80 -28
|
||||
81 -686
|
||||
82 -25
|
||||
83 -101
|
||||
84 -4
|
||||
85 -15
|
||||
86 -445
|
||||
87 -4
|
||||
88 -593
|
||||
89 -327
|
||||
90 -92
|
||||
91 -21
|
||||
92 -12
|
||||
93 -44
|
||||
94 -773
|
||||
95 -4
|
||||
96 -14
|
||||
97 -783
|
||||
98 -3
|
||||
99 -500
|
||||
100 -390
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -2 -5
|
||||
2 3 -1
|
||||
3 -2 7
|
||||
4 3 0
|
||||
5 7 -3
|
||||
6 -5 -1
|
||||
7 -3 0
|
||||
8 0 -3
|
||||
9 4 1
|
||||
10 4 -5
|
||||
11 -2 -4
|
||||
12 5 -5
|
||||
13 -4 1
|
||||
14 -2 3
|
||||
15 7 2
|
||||
16 -13 80
|
||||
17 -6 88
|
||||
18 -16 83
|
||||
19 -14 77
|
||||
20 -26 88
|
||||
21 -24 79
|
||||
22 -25 78
|
||||
23 -11 80
|
||||
24 -5 88
|
||||
25 -21 90
|
||||
26 -5 82
|
||||
27 -20 80
|
||||
28 -6 91
|
||||
29 -25 89
|
||||
30 -25 74
|
||||
31 -8 88
|
||||
32 -21 74
|
||||
33 -23 74
|
||||
34 -5 87
|
||||
35 -8 91
|
||||
36 -3 -8
|
||||
37 -30 15
|
||||
38 -14 24
|
||||
39 -12 11
|
||||
40 -1 7
|
||||
41 2 14
|
||||
42 -26 15
|
||||
43 -36 2
|
||||
44 -29 7
|
||||
45 -1 28
|
||||
46 -7 17
|
||||
47 -10 31
|
||||
48 -20 -2
|
||||
49 -33 20
|
||||
50 -26 0
|
||||
51 -13 9
|
||||
52 -8 12
|
||||
53 -35 -8
|
||||
54 -33 23
|
||||
55 10 -70
|
||||
56 8 -95
|
||||
57 -12 -101
|
||||
58 6 -113
|
||||
59 -17 -76
|
||||
60 -23 -102
|
||||
61 11 -104
|
||||
62 -19 -96
|
||||
63 -13 -79
|
||||
64 -53 -32
|
||||
65 -78 -2
|
||||
66 -87 -61
|
||||
67 -60 -32
|
||||
68 -6 -12
|
||||
69 10 -16
|
||||
70 -7 -11
|
||||
71 0 3
|
||||
72 10 2
|
||||
73 -1 -15
|
||||
74 1 -3
|
||||
75 15 -2
|
||||
76 10 4
|
||||
77 8 3
|
||||
78 -58 32
|
||||
79 -88 38
|
||||
80 -76 34
|
||||
81 -83 50
|
||||
82 -67 43
|
||||
83 -75 34
|
||||
84 -91 44
|
||||
85 -24 1
|
||||
86 -20 4
|
||||
87 -17 -4
|
||||
88 -25 -1
|
||||
89 -17 2
|
||||
90 -24 2
|
||||
91 -12 -2
|
||||
92 -14 1
|
||||
93 -18 2
|
||||
94 -20 5
|
||||
95 -14 4
|
||||
96 -23 9
|
||||
97 -22 -3
|
||||
98 -22 -2
|
||||
99 17 1
|
||||
100 5 7
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 21
|
||||
2 21
|
||||
3 21
|
||||
4 21
|
||||
5 21
|
||||
6 21
|
||||
7 21
|
||||
8 21
|
||||
9 21
|
||||
10 21
|
||||
11 21
|
||||
12 21
|
||||
13 21
|
||||
14 21
|
||||
15 21
|
||||
16 21
|
||||
17 21
|
||||
18 21
|
||||
19 21
|
||||
20 21
|
||||
21 21
|
||||
22 21
|
||||
23 21
|
||||
24 21
|
||||
25 21
|
||||
26 21
|
||||
27 21
|
||||
28 21
|
||||
29 21
|
||||
30 21
|
||||
31 21
|
||||
32 21
|
||||
33 21
|
||||
34 21
|
||||
35 21
|
||||
36 21
|
||||
37 21
|
||||
38 21
|
||||
39 21
|
||||
40 21
|
||||
41 21
|
||||
42 21
|
||||
43 21
|
||||
44 21
|
||||
45 21
|
||||
46 21
|
||||
47 21
|
||||
48 21
|
||||
49 21
|
||||
50 21
|
||||
51 21
|
||||
52 21
|
||||
53 21
|
||||
54 21
|
||||
55 21
|
||||
56 21
|
||||
57 21
|
||||
58 21
|
||||
59 21
|
||||
60 21
|
||||
61 21
|
||||
62 21
|
||||
63 21
|
||||
64 21
|
||||
65 21
|
||||
66 21
|
||||
67 21
|
||||
68 21
|
||||
69 21
|
||||
70 21
|
||||
71 21
|
||||
72 21
|
||||
73 21
|
||||
74 21
|
||||
75 21
|
||||
76 21
|
||||
77 21
|
||||
78 21
|
||||
79 21
|
||||
80 21
|
||||
81 21
|
||||
82 21
|
||||
83 21
|
||||
84 21
|
||||
85 21
|
||||
86 21
|
||||
87 21
|
||||
88 21
|
||||
89 21
|
||||
90 21
|
||||
91 21
|
||||
92 21
|
||||
93 21
|
||||
94 21
|
||||
95 21
|
||||
96 21
|
||||
97 21
|
||||
98 21
|
||||
99 21
|
||||
100 21
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 905
|
||||
COMMENT: TIMESTEP: 18
|
||||
TIME_AVAIL_SECTION
|
||||
1 16
|
||||
2 21
|
||||
3 28
|
||||
4 33
|
||||
5 33
|
||||
6 40
|
||||
7 56
|
||||
8 61
|
||||
9 65
|
||||
10 96
|
||||
11 123
|
||||
12 123
|
||||
13 131
|
||||
14 140
|
||||
15 151
|
||||
16 151
|
||||
17 166
|
||||
18 170
|
||||
19 188
|
||||
20 188
|
||||
21 193
|
||||
22 198
|
||||
23 218
|
||||
24 233
|
||||
25 233
|
||||
26 285
|
||||
27 290
|
||||
28 303
|
||||
29 315
|
||||
30 326
|
||||
31 330
|
||||
32 351
|
||||
33 355
|
||||
34 360
|
||||
35 361
|
||||
36 368
|
||||
37 370
|
||||
38 391
|
||||
39 410
|
||||
40 413
|
||||
41 420
|
||||
42 425
|
||||
43 435
|
||||
44 440
|
||||
45 443
|
||||
46 450
|
||||
47 455
|
||||
48 456
|
||||
49 461
|
||||
50 473
|
||||
51 473
|
||||
52 475
|
||||
53 491
|
||||
54 491
|
||||
55 493
|
||||
56 496
|
||||
57 528
|
||||
58 538
|
||||
59 543
|
||||
60 546
|
||||
61 546
|
||||
62 556
|
||||
63 560
|
||||
64 575
|
||||
65 578
|
||||
66 578
|
||||
67 580
|
||||
68 583
|
||||
69 586
|
||||
70 610
|
||||
71 620
|
||||
72 623
|
||||
73 648
|
||||
74 650
|
||||
75 663
|
||||
76 663
|
||||
77 688
|
||||
78 693
|
||||
79 701
|
||||
80 735
|
||||
81 735
|
||||
82 746
|
||||
83 750
|
||||
84 753
|
||||
85 755
|
||||
86 800
|
||||
87 805
|
||||
88 825
|
||||
89 828
|
||||
90 830
|
||||
91 833
|
||||
92 836
|
||||
93 843
|
||||
94 854
|
||||
95 858
|
||||
96 860
|
||||
97 861
|
||||
98 868
|
||||
99 881
|
||||
100 900
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100d by convert2vt
|
||||
COMMENT: Best known objective: 1581.25
|
||||
NAME: tai100d
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1297
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 94
|
||||
2 12
|
||||
3 17
|
||||
4 619
|
||||
5 61
|
||||
6 3
|
||||
7 4
|
||||
8 13
|
||||
9 44
|
||||
10 12
|
||||
11 35
|
||||
12 114
|
||||
13 29
|
||||
14 76
|
||||
15 106
|
||||
16 157
|
||||
17 43
|
||||
18 4
|
||||
19 38
|
||||
20 212
|
||||
21 42
|
||||
22 10
|
||||
23 19
|
||||
24 856
|
||||
25 13
|
||||
26 67
|
||||
27 144
|
||||
28 310
|
||||
29 85
|
||||
30 1061
|
||||
31 344
|
||||
32 22
|
||||
33 15
|
||||
34 219
|
||||
35 44
|
||||
36 370
|
||||
37 74
|
||||
38 82
|
||||
39 3
|
||||
40 39
|
||||
41 54
|
||||
42 22
|
||||
43 171
|
||||
44 65
|
||||
45 405
|
||||
46 19
|
||||
47 7
|
||||
48 586
|
||||
49 15
|
||||
50 149
|
||||
51 141
|
||||
52 9
|
||||
53 261
|
||||
54 4
|
||||
55 5
|
||||
56 21
|
||||
57 25
|
||||
58 86
|
||||
59 86
|
||||
60 124
|
||||
61 123
|
||||
62 11
|
||||
63 41
|
||||
64 279
|
||||
65 149
|
||||
66 9
|
||||
67 65
|
||||
68 155
|
||||
69 6
|
||||
70 83
|
||||
71 11
|
||||
72 735
|
||||
73 4
|
||||
74 56
|
||||
75 26
|
||||
76 5
|
||||
77 34
|
||||
78 13
|
||||
79 1017
|
||||
80 85
|
||||
81 10
|
||||
82 7
|
||||
83 6
|
||||
84 524
|
||||
85 16
|
||||
86 15
|
||||
87 117
|
||||
88 48
|
||||
89 43
|
||||
90 64
|
||||
91 30
|
||||
92 3
|
||||
93 21
|
||||
94 514
|
||||
95 625
|
||||
96 7
|
||||
97 257
|
||||
98 603
|
||||
99 4
|
||||
100 4
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -7 9
|
||||
2 -7 8
|
||||
3 -15 16
|
||||
4 -2 13
|
||||
5 0 3
|
||||
6 -9 6
|
||||
7 2 5
|
||||
8 -13 9
|
||||
9 -15 10
|
||||
10 -14 2
|
||||
11 1 0
|
||||
12 -40 24
|
||||
13 -54 -15
|
||||
14 -43 10
|
||||
15 -73 -2
|
||||
16 -76 4
|
||||
17 -45 31
|
||||
18 -29 36
|
||||
19 -78 11
|
||||
20 -31 25
|
||||
21 -67 17
|
||||
22 -31 4
|
||||
23 -51 10
|
||||
24 -30 -9
|
||||
25 -51 24
|
||||
26 -80 -10
|
||||
27 -34 4
|
||||
28 -45 25
|
||||
29 73 32
|
||||
30 78 59
|
||||
31 58 53
|
||||
32 57 55
|
||||
33 20 85
|
||||
34 -12 81
|
||||
35 -8 86
|
||||
36 12 33
|
||||
37 19 86
|
||||
38 -11 44
|
||||
39 -2 67
|
||||
40 25 76
|
||||
41 -29 44
|
||||
42 4 80
|
||||
43 -2 84
|
||||
44 -8 54
|
||||
45 -16 34
|
||||
46 -14 80
|
||||
47 -17 32
|
||||
48 19 39
|
||||
49 -20 82
|
||||
50 17 42
|
||||
51 -4 5
|
||||
52 -20 25
|
||||
53 -12 14
|
||||
54 -11 11
|
||||
55 -12 4
|
||||
56 -1 21
|
||||
57 -1 1
|
||||
58 -9 21
|
||||
59 9 3
|
||||
60 5 14
|
||||
61 -9 27
|
||||
62 -20 11
|
||||
63 0 30
|
||||
64 -12 15
|
||||
65 -3 17
|
||||
66 -58 -60
|
||||
67 -71 -58
|
||||
68 -32 -34
|
||||
69 -59 -37
|
||||
70 -48 -19
|
||||
71 -71 -49
|
||||
72 22 -4
|
||||
73 13 -10
|
||||
74 22 -17
|
||||
75 13 12
|
||||
76 3 -5
|
||||
77 27 -4
|
||||
78 2 -3
|
||||
79 -2 -22
|
||||
80 30 1
|
||||
81 22 -6
|
||||
82 -27 62
|
||||
83 -20 64
|
||||
84 -26 69
|
||||
85 -20 66
|
||||
86 -29 67
|
||||
87 -84 -10
|
||||
88 -69 -22
|
||||
89 -79 -4
|
||||
90 -84 -19
|
||||
91 -63 -12
|
||||
92 -76 -14
|
||||
93 -70 -4
|
||||
94 30 39
|
||||
95 23 39
|
||||
96 30 48
|
||||
97 36 21
|
||||
98 32 16
|
||||
99 42 30
|
||||
100 62 16
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 23
|
||||
2 23
|
||||
3 23
|
||||
4 23
|
||||
5 23
|
||||
6 23
|
||||
7 23
|
||||
8 23
|
||||
9 23
|
||||
10 23
|
||||
11 23
|
||||
12 23
|
||||
13 23
|
||||
14 23
|
||||
15 23
|
||||
16 23
|
||||
17 23
|
||||
18 23
|
||||
19 23
|
||||
20 23
|
||||
21 23
|
||||
22 23
|
||||
23 23
|
||||
24 23
|
||||
25 23
|
||||
26 23
|
||||
27 23
|
||||
28 23
|
||||
29 23
|
||||
30 23
|
||||
31 23
|
||||
32 23
|
||||
33 23
|
||||
34 23
|
||||
35 23
|
||||
36 23
|
||||
37 23
|
||||
38 23
|
||||
39 23
|
||||
40 23
|
||||
41 23
|
||||
42 23
|
||||
43 23
|
||||
44 23
|
||||
45 23
|
||||
46 23
|
||||
47 23
|
||||
48 23
|
||||
49 23
|
||||
50 23
|
||||
51 23
|
||||
52 23
|
||||
53 23
|
||||
54 23
|
||||
55 23
|
||||
56 23
|
||||
57 23
|
||||
58 23
|
||||
59 23
|
||||
60 23
|
||||
61 23
|
||||
62 23
|
||||
63 23
|
||||
64 23
|
||||
65 23
|
||||
66 23
|
||||
67 23
|
||||
68 23
|
||||
69 23
|
||||
70 23
|
||||
71 23
|
||||
72 23
|
||||
73 23
|
||||
74 23
|
||||
75 23
|
||||
76 23
|
||||
77 23
|
||||
78 23
|
||||
79 23
|
||||
80 23
|
||||
81 23
|
||||
82 23
|
||||
83 23
|
||||
84 23
|
||||
85 23
|
||||
86 23
|
||||
87 23
|
||||
88 23
|
||||
89 23
|
||||
90 23
|
||||
91 23
|
||||
92 23
|
||||
93 23
|
||||
94 23
|
||||
95 23
|
||||
96 23
|
||||
97 23
|
||||
98 23
|
||||
99 23
|
||||
100 23
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 782
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 14
|
||||
2 18
|
||||
3 24
|
||||
4 28
|
||||
5 28
|
||||
6 34
|
||||
7 49
|
||||
8 53
|
||||
9 56
|
||||
10 83
|
||||
11 106
|
||||
12 106
|
||||
13 113
|
||||
14 121
|
||||
15 131
|
||||
16 131
|
||||
17 144
|
||||
18 146
|
||||
19 162
|
||||
20 162
|
||||
21 167
|
||||
22 171
|
||||
23 188
|
||||
24 201
|
||||
25 201
|
||||
26 246
|
||||
27 250
|
||||
28 262
|
||||
29 272
|
||||
30 282
|
||||
31 285
|
||||
32 303
|
||||
33 306
|
||||
34 311
|
||||
35 312
|
||||
36 318
|
||||
37 319
|
||||
38 338
|
||||
39 354
|
||||
40 357
|
||||
41 362
|
||||
42 367
|
||||
43 375
|
||||
44 380
|
||||
45 383
|
||||
46 388
|
||||
47 393
|
||||
48 394
|
||||
49 399
|
||||
50 408
|
||||
51 409
|
||||
52 410
|
||||
53 424
|
||||
54 424
|
||||
55 426
|
||||
56 429
|
||||
57 456
|
||||
58 465
|
||||
59 469
|
||||
60 472
|
||||
61 472
|
||||
62 481
|
||||
63 484
|
||||
64 496
|
||||
65 499
|
||||
66 499
|
||||
67 501
|
||||
68 504
|
||||
69 506
|
||||
70 527
|
||||
71 535
|
||||
72 538
|
||||
73 560
|
||||
74 561
|
||||
75 573
|
||||
76 573
|
||||
77 594
|
||||
78 599
|
||||
79 606
|
||||
80 635
|
||||
81 635
|
||||
82 645
|
||||
83 648
|
||||
84 650
|
||||
85 652
|
||||
86 691
|
||||
87 695
|
||||
88 712
|
||||
89 715
|
||||
90 717
|
||||
91 720
|
||||
92 723
|
||||
93 728
|
||||
94 738
|
||||
95 741
|
||||
96 743
|
||||
97 744
|
||||
98 750
|
||||
99 761
|
||||
100 777
|
||||
EOF
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai100d by convert2vt
|
||||
COMMENT: Best known objective: 1581.25
|
||||
NAME: tai100d
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 100
|
||||
NUM_LOCATIONS: 101
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1297
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -94
|
||||
2 -12
|
||||
3 -17
|
||||
4 -619
|
||||
5 -61
|
||||
6 -3
|
||||
7 -4
|
||||
8 -13
|
||||
9 -44
|
||||
10 -12
|
||||
11 -35
|
||||
12 -114
|
||||
13 -29
|
||||
14 -76
|
||||
15 -106
|
||||
16 -157
|
||||
17 -43
|
||||
18 -4
|
||||
19 -38
|
||||
20 -212
|
||||
21 -42
|
||||
22 -10
|
||||
23 -19
|
||||
24 -856
|
||||
25 -13
|
||||
26 -67
|
||||
27 -144
|
||||
28 -310
|
||||
29 -85
|
||||
30 -1061
|
||||
31 -344
|
||||
32 -22
|
||||
33 -15
|
||||
34 -219
|
||||
35 -44
|
||||
36 -370
|
||||
37 -74
|
||||
38 -82
|
||||
39 -3
|
||||
40 -39
|
||||
41 -54
|
||||
42 -22
|
||||
43 -171
|
||||
44 -65
|
||||
45 -405
|
||||
46 -19
|
||||
47 -7
|
||||
48 -586
|
||||
49 -15
|
||||
50 -149
|
||||
51 -141
|
||||
52 -9
|
||||
53 -261
|
||||
54 -4
|
||||
55 -5
|
||||
56 -21
|
||||
57 -25
|
||||
58 -86
|
||||
59 -86
|
||||
60 -124
|
||||
61 -123
|
||||
62 -11
|
||||
63 -41
|
||||
64 -279
|
||||
65 -149
|
||||
66 -9
|
||||
67 -65
|
||||
68 -155
|
||||
69 -6
|
||||
70 -83
|
||||
71 -11
|
||||
72 -735
|
||||
73 -4
|
||||
74 -56
|
||||
75 -26
|
||||
76 -5
|
||||
77 -34
|
||||
78 -13
|
||||
79 -1017
|
||||
80 -85
|
||||
81 -10
|
||||
82 -7
|
||||
83 -6
|
||||
84 -524
|
||||
85 -16
|
||||
86 -15
|
||||
87 -117
|
||||
88 -48
|
||||
89 -43
|
||||
90 -64
|
||||
91 -30
|
||||
92 -3
|
||||
93 -21
|
||||
94 -514
|
||||
95 -625
|
||||
96 -7
|
||||
97 -257
|
||||
98 -603
|
||||
99 -4
|
||||
100 -4
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -7 9
|
||||
2 -7 8
|
||||
3 -15 16
|
||||
4 -2 13
|
||||
5 0 3
|
||||
6 -9 6
|
||||
7 2 5
|
||||
8 -13 9
|
||||
9 -15 10
|
||||
10 -14 2
|
||||
11 1 0
|
||||
12 -40 24
|
||||
13 -54 -15
|
||||
14 -43 10
|
||||
15 -73 -2
|
||||
16 -76 4
|
||||
17 -45 31
|
||||
18 -29 36
|
||||
19 -78 11
|
||||
20 -31 25
|
||||
21 -67 17
|
||||
22 -31 4
|
||||
23 -51 10
|
||||
24 -30 -9
|
||||
25 -51 24
|
||||
26 -80 -10
|
||||
27 -34 4
|
||||
28 -45 25
|
||||
29 73 32
|
||||
30 78 59
|
||||
31 58 53
|
||||
32 57 55
|
||||
33 20 85
|
||||
34 -12 81
|
||||
35 -8 86
|
||||
36 12 33
|
||||
37 19 86
|
||||
38 -11 44
|
||||
39 -2 67
|
||||
40 25 76
|
||||
41 -29 44
|
||||
42 4 80
|
||||
43 -2 84
|
||||
44 -8 54
|
||||
45 -16 34
|
||||
46 -14 80
|
||||
47 -17 32
|
||||
48 19 39
|
||||
49 -20 82
|
||||
50 17 42
|
||||
51 -4 5
|
||||
52 -20 25
|
||||
53 -12 14
|
||||
54 -11 11
|
||||
55 -12 4
|
||||
56 -1 21
|
||||
57 -1 1
|
||||
58 -9 21
|
||||
59 9 3
|
||||
60 5 14
|
||||
61 -9 27
|
||||
62 -20 11
|
||||
63 0 30
|
||||
64 -12 15
|
||||
65 -3 17
|
||||
66 -58 -60
|
||||
67 -71 -58
|
||||
68 -32 -34
|
||||
69 -59 -37
|
||||
70 -48 -19
|
||||
71 -71 -49
|
||||
72 22 -4
|
||||
73 13 -10
|
||||
74 22 -17
|
||||
75 13 12
|
||||
76 3 -5
|
||||
77 27 -4
|
||||
78 2 -3
|
||||
79 -2 -22
|
||||
80 30 1
|
||||
81 22 -6
|
||||
82 -27 62
|
||||
83 -20 64
|
||||
84 -26 69
|
||||
85 -20 66
|
||||
86 -29 67
|
||||
87 -84 -10
|
||||
88 -69 -22
|
||||
89 -79 -4
|
||||
90 -84 -19
|
||||
91 -63 -12
|
||||
92 -76 -14
|
||||
93 -70 -4
|
||||
94 30 39
|
||||
95 23 39
|
||||
96 30 48
|
||||
97 36 21
|
||||
98 32 16
|
||||
99 42 30
|
||||
100 62 16
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
DURATION_SECTION
|
||||
1 23
|
||||
2 23
|
||||
3 23
|
||||
4 23
|
||||
5 23
|
||||
6 23
|
||||
7 23
|
||||
8 23
|
||||
9 23
|
||||
10 23
|
||||
11 23
|
||||
12 23
|
||||
13 23
|
||||
14 23
|
||||
15 23
|
||||
16 23
|
||||
17 23
|
||||
18 23
|
||||
19 23
|
||||
20 23
|
||||
21 23
|
||||
22 23
|
||||
23 23
|
||||
24 23
|
||||
25 23
|
||||
26 23
|
||||
27 23
|
||||
28 23
|
||||
29 23
|
||||
30 23
|
||||
31 23
|
||||
32 23
|
||||
33 23
|
||||
34 23
|
||||
35 23
|
||||
36 23
|
||||
37 23
|
||||
38 23
|
||||
39 23
|
||||
40 23
|
||||
41 23
|
||||
42 23
|
||||
43 23
|
||||
44 23
|
||||
45 23
|
||||
46 23
|
||||
47 23
|
||||
48 23
|
||||
49 23
|
||||
50 23
|
||||
51 23
|
||||
52 23
|
||||
53 23
|
||||
54 23
|
||||
55 23
|
||||
56 23
|
||||
57 23
|
||||
58 23
|
||||
59 23
|
||||
60 23
|
||||
61 23
|
||||
62 23
|
||||
63 23
|
||||
64 23
|
||||
65 23
|
||||
66 23
|
||||
67 23
|
||||
68 23
|
||||
69 23
|
||||
70 23
|
||||
71 23
|
||||
72 23
|
||||
73 23
|
||||
74 23
|
||||
75 23
|
||||
76 23
|
||||
77 23
|
||||
78 23
|
||||
79 23
|
||||
80 23
|
||||
81 23
|
||||
82 23
|
||||
83 23
|
||||
84 23
|
||||
85 23
|
||||
86 23
|
||||
87 23
|
||||
88 23
|
||||
89 23
|
||||
90 23
|
||||
91 23
|
||||
92 23
|
||||
93 23
|
||||
94 23
|
||||
95 23
|
||||
96 23
|
||||
97 23
|
||||
98 23
|
||||
99 23
|
||||
100 23
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 782
|
||||
COMMENT: TIMESTEP: 15
|
||||
TIME_AVAIL_SECTION
|
||||
1 7
|
||||
2 14
|
||||
3 23
|
||||
4 25
|
||||
5 27
|
||||
6 36
|
||||
7 39
|
||||
8 40
|
||||
9 50
|
||||
10 63
|
||||
11 73
|
||||
12 82
|
||||
13 82
|
||||
14 87
|
||||
15 89
|
||||
16 109
|
||||
17 111
|
||||
18 115
|
||||
19 128
|
||||
20 128
|
||||
21 128
|
||||
22 132
|
||||
23 138
|
||||
24 145
|
||||
25 156
|
||||
26 160
|
||||
27 174
|
||||
28 174
|
||||
29 175
|
||||
30 175
|
||||
31 183
|
||||
32 188
|
||||
33 204
|
||||
34 206
|
||||
35 210
|
||||
36 213
|
||||
37 213
|
||||
38 217
|
||||
39 233
|
||||
40 253
|
||||
41 255
|
||||
42 289
|
||||
43 295
|
||||
44 326
|
||||
45 327
|
||||
46 347
|
||||
47 354
|
||||
48 364
|
||||
49 378
|
||||
50 396
|
||||
51 403
|
||||
52 404
|
||||
53 411
|
||||
54 416
|
||||
55 420
|
||||
56 423
|
||||
57 426
|
||||
58 446
|
||||
59 455
|
||||
60 456
|
||||
61 456
|
||||
62 459
|
||||
63 460
|
||||
64 471
|
||||
65 475
|
||||
66 497
|
||||
67 501
|
||||
68 508
|
||||
69 511
|
||||
70 517
|
||||
71 534
|
||||
72 540
|
||||
73 554
|
||||
74 563
|
||||
75 570
|
||||
76 596
|
||||
77 597
|
||||
78 597
|
||||
79 599
|
||||
80 609
|
||||
81 620
|
||||
82 636
|
||||
83 642
|
||||
84 646
|
||||
85 646
|
||||
86 649
|
||||
87 666
|
||||
88 674
|
||||
89 691
|
||||
90 698
|
||||
91 702
|
||||
92 705
|
||||
93 727
|
||||
94 740
|
||||
95 743
|
||||
96 744
|
||||
97 750
|
||||
98 770
|
||||
99 772
|
||||
100 777
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai150a by convert2vt
|
||||
COMMENT: Best known objective: 3055.23
|
||||
NAME: tai150a
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1544
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 13
|
||||
2 122
|
||||
3 30
|
||||
4 3
|
||||
5 5
|
||||
6 422
|
||||
7 13
|
||||
8 22
|
||||
9 173
|
||||
10 41
|
||||
11 8
|
||||
12 8
|
||||
13 110
|
||||
14 198
|
||||
15 384
|
||||
16 193
|
||||
17 238
|
||||
18 265
|
||||
19 3
|
||||
20 469
|
||||
21 7
|
||||
22 6
|
||||
23 108
|
||||
24 10
|
||||
25 40
|
||||
26 635
|
||||
27 49
|
||||
28 149
|
||||
29 403
|
||||
30 42
|
||||
31 70
|
||||
32 201
|
||||
33 66
|
||||
34 526
|
||||
35 6
|
||||
36 279
|
||||
37 160
|
||||
38 3
|
||||
39 4
|
||||
40 105
|
||||
41 46
|
||||
42 474
|
||||
43 7
|
||||
44 7
|
||||
45 99
|
||||
46 126
|
||||
47 119
|
||||
48 46
|
||||
49 273
|
||||
50 91
|
||||
51 294
|
||||
52 4
|
||||
53 81
|
||||
54 285
|
||||
55 90
|
||||
56 462
|
||||
57 65
|
||||
58 6
|
||||
59 4
|
||||
60 529
|
||||
61 165
|
||||
62 4
|
||||
63 394
|
||||
64 3
|
||||
65 60
|
||||
66 899
|
||||
67 169
|
||||
68 10
|
||||
69 47
|
||||
70 37
|
||||
71 23
|
||||
72 25
|
||||
73 444
|
||||
74 3
|
||||
75 99
|
||||
76 58
|
||||
77 7
|
||||
78 11
|
||||
79 15
|
||||
80 381
|
||||
81 7
|
||||
82 39
|
||||
83 502
|
||||
84 115
|
||||
85 85
|
||||
86 3
|
||||
87 136
|
||||
88 111
|
||||
89 66
|
||||
90 50
|
||||
91 252
|
||||
92 4
|
||||
93 119
|
||||
94 746
|
||||
95 6
|
||||
96 51
|
||||
97 322
|
||||
98 1023
|
||||
99 5
|
||||
100 10
|
||||
101 153
|
||||
102 29
|
||||
103 13
|
||||
104 3
|
||||
105 4
|
||||
106 70
|
||||
107 9
|
||||
108 147
|
||||
109 3
|
||||
110 10
|
||||
111 4
|
||||
112 439
|
||||
113 14
|
||||
114 729
|
||||
115 29
|
||||
116 3
|
||||
117 98
|
||||
118 113
|
||||
119 122
|
||||
120 11
|
||||
121 90
|
||||
122 789
|
||||
123 6
|
||||
124 179
|
||||
125 3
|
||||
126 3
|
||||
127 21
|
||||
128 869
|
||||
129 246
|
||||
130 10
|
||||
131 36
|
||||
132 14
|
||||
133 134
|
||||
134 175
|
||||
135 32
|
||||
136 20
|
||||
137 212
|
||||
138 45
|
||||
139 173
|
||||
140 240
|
||||
141 16
|
||||
142 27
|
||||
143 61
|
||||
144 203
|
||||
145 5
|
||||
146 369
|
||||
147 81
|
||||
148 128
|
||||
149 406
|
||||
150 32
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -4 106
|
||||
2 -11 106
|
||||
3 -12 115
|
||||
4 4 123
|
||||
5 7 113
|
||||
6 -13 125
|
||||
7 -11 105
|
||||
8 8 107
|
||||
9 6 111
|
||||
10 0 125
|
||||
11 8 118
|
||||
12 4 114
|
||||
13 0 113
|
||||
14 -5 109
|
||||
15 -11 112
|
||||
16 6 106
|
||||
17 -11 123
|
||||
18 -6 126
|
||||
19 26 -33
|
||||
20 34 -38
|
||||
21 26 -44
|
||||
22 28 -36
|
||||
23 30 -39
|
||||
24 44 -31
|
||||
25 43 -27
|
||||
26 45 -22
|
||||
27 37 -44
|
||||
28 32 -23
|
||||
29 35 -41
|
||||
30 48 -27
|
||||
31 41 -35
|
||||
32 45 -41
|
||||
33 43 -36
|
||||
34 34 -38
|
||||
35 43 -23
|
||||
36 32 -41
|
||||
37 33 -24
|
||||
38 48 -26
|
||||
39 102 85
|
||||
40 90 69
|
||||
41 95 88
|
||||
42 79 74
|
||||
43 77 89
|
||||
44 99 81
|
||||
45 99 80
|
||||
46 81 84
|
||||
47 77 69
|
||||
48 86 85
|
||||
49 82 89
|
||||
50 86 86
|
||||
51 84 87
|
||||
52 23 14
|
||||
53 13 4
|
||||
54 13 7
|
||||
55 16 2
|
||||
56 17 -1
|
||||
57 16 3
|
||||
58 13 10
|
||||
59 23 11
|
||||
60 15 5
|
||||
61 17 -1
|
||||
62 11 0
|
||||
63 19 1
|
||||
64 14 3
|
||||
65 18 -3
|
||||
66 118 8
|
||||
67 99 21
|
||||
68 106 -5
|
||||
69 124 8
|
||||
70 104 3
|
||||
71 126 4
|
||||
72 115 7
|
||||
73 110 -3
|
||||
74 98 -6
|
||||
75 111 13
|
||||
76 -67 90
|
||||
77 -56 96
|
||||
78 -56 97
|
||||
79 -57 100
|
||||
80 -54 101
|
||||
81 -50 96
|
||||
82 -64 103
|
||||
83 -63 103
|
||||
84 -57 100
|
||||
85 -53 106
|
||||
86 -57 96
|
||||
87 -67 97
|
||||
88 -61 98
|
||||
89 -66 95
|
||||
90 -51 104
|
||||
91 -62 95
|
||||
92 -67 106
|
||||
93 -51 102
|
||||
94 -86 87
|
||||
95 -82 78
|
||||
96 -92 86
|
||||
97 -86 78
|
||||
98 6 67
|
||||
99 13 59
|
||||
100 21 66
|
||||
101 8 59
|
||||
102 20 70
|
||||
103 1 62
|
||||
104 19 57
|
||||
105 15 70
|
||||
106 20 55
|
||||
107 8 51
|
||||
108 3 54
|
||||
109 18 68
|
||||
110 12 53
|
||||
111 3 65
|
||||
112 4 62
|
||||
113 19 52
|
||||
114 92 -28
|
||||
115 92 -26
|
||||
116 80 -28
|
||||
117 91 -18
|
||||
118 93 -24
|
||||
119 76 -15
|
||||
120 88 -33
|
||||
121 83 -28
|
||||
122 86 -23
|
||||
123 92 -20
|
||||
124 82 -29
|
||||
125 88 -29
|
||||
126 82 -27
|
||||
127 88 -13
|
||||
128 83 -29
|
||||
129 90 -17
|
||||
130 49 -4
|
||||
131 58 -6
|
||||
132 64 -7
|
||||
133 54 -15
|
||||
134 66 -3
|
||||
135 65 -13
|
||||
136 57 -20
|
||||
137 38 -2
|
||||
138 -44 88
|
||||
139 -36 100
|
||||
140 -37 98
|
||||
141 -39 110
|
||||
142 -34 111
|
||||
143 -47 111
|
||||
144 -28 105
|
||||
145 -38 98
|
||||
146 -32 91
|
||||
147 -25 97
|
||||
148 -46 111
|
||||
149 -36 107
|
||||
150 -35 92
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 30
|
||||
2 30
|
||||
3 30
|
||||
4 30
|
||||
5 30
|
||||
6 30
|
||||
7 30
|
||||
8 30
|
||||
9 30
|
||||
10 30
|
||||
11 30
|
||||
12 30
|
||||
13 30
|
||||
14 30
|
||||
15 30
|
||||
16 30
|
||||
17 30
|
||||
18 30
|
||||
19 30
|
||||
20 30
|
||||
21 30
|
||||
22 30
|
||||
23 30
|
||||
24 30
|
||||
25 30
|
||||
26 30
|
||||
27 30
|
||||
28 30
|
||||
29 30
|
||||
30 30
|
||||
31 30
|
||||
32 30
|
||||
33 30
|
||||
34 30
|
||||
35 30
|
||||
36 30
|
||||
37 30
|
||||
38 30
|
||||
39 30
|
||||
40 30
|
||||
41 30
|
||||
42 30
|
||||
43 30
|
||||
44 30
|
||||
45 30
|
||||
46 30
|
||||
47 30
|
||||
48 30
|
||||
49 30
|
||||
50 30
|
||||
51 30
|
||||
52 30
|
||||
53 30
|
||||
54 30
|
||||
55 30
|
||||
56 30
|
||||
57 30
|
||||
58 30
|
||||
59 30
|
||||
60 30
|
||||
61 30
|
||||
62 30
|
||||
63 30
|
||||
64 30
|
||||
65 30
|
||||
66 30
|
||||
67 30
|
||||
68 30
|
||||
69 30
|
||||
70 30
|
||||
71 30
|
||||
72 30
|
||||
73 30
|
||||
74 30
|
||||
75 30
|
||||
76 30
|
||||
77 30
|
||||
78 30
|
||||
79 30
|
||||
80 30
|
||||
81 30
|
||||
82 30
|
||||
83 30
|
||||
84 30
|
||||
85 30
|
||||
86 30
|
||||
87 30
|
||||
88 30
|
||||
89 30
|
||||
90 30
|
||||
91 30
|
||||
92 30
|
||||
93 30
|
||||
94 30
|
||||
95 30
|
||||
96 30
|
||||
97 30
|
||||
98 30
|
||||
99 30
|
||||
100 30
|
||||
101 30
|
||||
102 30
|
||||
103 30
|
||||
104 30
|
||||
105 30
|
||||
106 30
|
||||
107 30
|
||||
108 30
|
||||
109 30
|
||||
110 30
|
||||
111 30
|
||||
112 30
|
||||
113 30
|
||||
114 30
|
||||
115 30
|
||||
116 30
|
||||
117 30
|
||||
118 30
|
||||
119 30
|
||||
120 30
|
||||
121 30
|
||||
122 30
|
||||
123 30
|
||||
124 30
|
||||
125 30
|
||||
126 30
|
||||
127 30
|
||||
128 30
|
||||
129 30
|
||||
130 30
|
||||
131 30
|
||||
132 30
|
||||
133 30
|
||||
134 30
|
||||
135 30
|
||||
136 30
|
||||
137 30
|
||||
138 30
|
||||
139 30
|
||||
140 30
|
||||
141 30
|
||||
142 30
|
||||
143 30
|
||||
144 30
|
||||
145 30
|
||||
146 30
|
||||
147 30
|
||||
148 30
|
||||
149 30
|
||||
150 30
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 1062
|
||||
COMMENT: TIMESTEP: 21
|
||||
TIME_AVAIL_SECTION
|
||||
1 10
|
||||
2 19
|
||||
3 21
|
||||
4 31
|
||||
5 33
|
||||
6 35
|
||||
7 37
|
||||
8 49
|
||||
9 52
|
||||
10 55
|
||||
11 62
|
||||
12 68
|
||||
13 86
|
||||
14 99
|
||||
15 101
|
||||
16 111
|
||||
17 111
|
||||
18 119
|
||||
19 121
|
||||
20 148
|
||||
21 150
|
||||
22 156
|
||||
23 164
|
||||
24 164
|
||||
25 168
|
||||
26 174
|
||||
27 174
|
||||
28 174
|
||||
29 180
|
||||
30 180
|
||||
31 188
|
||||
32 197
|
||||
33 201
|
||||
34 201
|
||||
35 205
|
||||
36 213
|
||||
37 217
|
||||
38 228
|
||||
39 236
|
||||
40 236
|
||||
41 238
|
||||
42 238
|
||||
43 240
|
||||
44 248
|
||||
45 252
|
||||
46 256
|
||||
47 277
|
||||
48 279
|
||||
49 285
|
||||
50 289
|
||||
51 289
|
||||
52 295
|
||||
53 305
|
||||
54 307
|
||||
55 317
|
||||
56 318
|
||||
57 320
|
||||
58 330
|
||||
59 344
|
||||
60 346
|
||||
61 354
|
||||
62 363
|
||||
63 393
|
||||
64 401
|
||||
65 443
|
||||
66 444
|
||||
67 453
|
||||
68 471
|
||||
69 481
|
||||
70 494
|
||||
71 495
|
||||
72 514
|
||||
73 516
|
||||
74 526
|
||||
75 537
|
||||
76 538
|
||||
77 541
|
||||
78 547
|
||||
79 549
|
||||
80 555
|
||||
81 559
|
||||
82 565
|
||||
83 571
|
||||
84 575
|
||||
85 579
|
||||
86 606
|
||||
87 618
|
||||
88 620
|
||||
89 620
|
||||
90 624
|
||||
91 625
|
||||
92 637
|
||||
93 639
|
||||
94 645
|
||||
95 645
|
||||
96 675
|
||||
97 678
|
||||
98 680
|
||||
99 682
|
||||
100 690
|
||||
101 694
|
||||
102 700
|
||||
103 702
|
||||
104 717
|
||||
105 725
|
||||
106 729
|
||||
107 733
|
||||
108 753
|
||||
109 764
|
||||
110 766
|
||||
111 774
|
||||
112 780
|
||||
113 807
|
||||
114 809
|
||||
115 811
|
||||
116 811
|
||||
117 813
|
||||
118 827
|
||||
119 835
|
||||
120 843
|
||||
121 843
|
||||
122 858
|
||||
123 864
|
||||
124 872
|
||||
125 878
|
||||
126 878
|
||||
127 882
|
||||
128 886
|
||||
129 905
|
||||
130 915
|
||||
131 921
|
||||
132 925
|
||||
133 931
|
||||
134 938
|
||||
135 939
|
||||
136 948
|
||||
137 954
|
||||
138 958
|
||||
139 987
|
||||
140 991
|
||||
141 1005
|
||||
142 1009
|
||||
143 1009
|
||||
144 1011
|
||||
145 1019
|
||||
146 1032
|
||||
147 1044
|
||||
148 1046
|
||||
149 1048
|
||||
150 1056
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai150a by convert2vt
|
||||
COMMENT: Best known objective: 3055.23
|
||||
NAME: tai150a
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1544
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -13
|
||||
2 -122
|
||||
3 -30
|
||||
4 -3
|
||||
5 -5
|
||||
6 -422
|
||||
7 -13
|
||||
8 -22
|
||||
9 -173
|
||||
10 -41
|
||||
11 -8
|
||||
12 -8
|
||||
13 -110
|
||||
14 -198
|
||||
15 -384
|
||||
16 -193
|
||||
17 -238
|
||||
18 -265
|
||||
19 -3
|
||||
20 -469
|
||||
21 -7
|
||||
22 -6
|
||||
23 -108
|
||||
24 -10
|
||||
25 -40
|
||||
26 -635
|
||||
27 -49
|
||||
28 -149
|
||||
29 -403
|
||||
30 -42
|
||||
31 -70
|
||||
32 -201
|
||||
33 -66
|
||||
34 -526
|
||||
35 -6
|
||||
36 -279
|
||||
37 -160
|
||||
38 -3
|
||||
39 -4
|
||||
40 -105
|
||||
41 -46
|
||||
42 -474
|
||||
43 -7
|
||||
44 -7
|
||||
45 -99
|
||||
46 -126
|
||||
47 -119
|
||||
48 -46
|
||||
49 -273
|
||||
50 -91
|
||||
51 -294
|
||||
52 -4
|
||||
53 -81
|
||||
54 -285
|
||||
55 -90
|
||||
56 -462
|
||||
57 -65
|
||||
58 -6
|
||||
59 -4
|
||||
60 -529
|
||||
61 -165
|
||||
62 -4
|
||||
63 -394
|
||||
64 -3
|
||||
65 -60
|
||||
66 -899
|
||||
67 -169
|
||||
68 -10
|
||||
69 -47
|
||||
70 -37
|
||||
71 -23
|
||||
72 -25
|
||||
73 -444
|
||||
74 -3
|
||||
75 -99
|
||||
76 -58
|
||||
77 -7
|
||||
78 -11
|
||||
79 -15
|
||||
80 -381
|
||||
81 -7
|
||||
82 -39
|
||||
83 -502
|
||||
84 -115
|
||||
85 -85
|
||||
86 -3
|
||||
87 -136
|
||||
88 -111
|
||||
89 -66
|
||||
90 -50
|
||||
91 -252
|
||||
92 -4
|
||||
93 -119
|
||||
94 -746
|
||||
95 -6
|
||||
96 -51
|
||||
97 -322
|
||||
98 -1023
|
||||
99 -5
|
||||
100 -10
|
||||
101 -153
|
||||
102 -29
|
||||
103 -13
|
||||
104 -3
|
||||
105 -4
|
||||
106 -70
|
||||
107 -9
|
||||
108 -147
|
||||
109 -3
|
||||
110 -10
|
||||
111 -4
|
||||
112 -439
|
||||
113 -14
|
||||
114 -729
|
||||
115 -29
|
||||
116 -3
|
||||
117 -98
|
||||
118 -113
|
||||
119 -122
|
||||
120 -11
|
||||
121 -90
|
||||
122 -789
|
||||
123 -6
|
||||
124 -179
|
||||
125 -3
|
||||
126 -3
|
||||
127 -21
|
||||
128 -869
|
||||
129 -246
|
||||
130 -10
|
||||
131 -36
|
||||
132 -14
|
||||
133 -134
|
||||
134 -175
|
||||
135 -32
|
||||
136 -20
|
||||
137 -212
|
||||
138 -45
|
||||
139 -173
|
||||
140 -240
|
||||
141 -16
|
||||
142 -27
|
||||
143 -61
|
||||
144 -203
|
||||
145 -5
|
||||
146 -369
|
||||
147 -81
|
||||
148 -128
|
||||
149 -406
|
||||
150 -32
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 -4 106
|
||||
2 -11 106
|
||||
3 -12 115
|
||||
4 4 123
|
||||
5 7 113
|
||||
6 -13 125
|
||||
7 -11 105
|
||||
8 8 107
|
||||
9 6 111
|
||||
10 0 125
|
||||
11 8 118
|
||||
12 4 114
|
||||
13 0 113
|
||||
14 -5 109
|
||||
15 -11 112
|
||||
16 6 106
|
||||
17 -11 123
|
||||
18 -6 126
|
||||
19 26 -33
|
||||
20 34 -38
|
||||
21 26 -44
|
||||
22 28 -36
|
||||
23 30 -39
|
||||
24 44 -31
|
||||
25 43 -27
|
||||
26 45 -22
|
||||
27 37 -44
|
||||
28 32 -23
|
||||
29 35 -41
|
||||
30 48 -27
|
||||
31 41 -35
|
||||
32 45 -41
|
||||
33 43 -36
|
||||
34 34 -38
|
||||
35 43 -23
|
||||
36 32 -41
|
||||
37 33 -24
|
||||
38 48 -26
|
||||
39 102 85
|
||||
40 90 69
|
||||
41 95 88
|
||||
42 79 74
|
||||
43 77 89
|
||||
44 99 81
|
||||
45 99 80
|
||||
46 81 84
|
||||
47 77 69
|
||||
48 86 85
|
||||
49 82 89
|
||||
50 86 86
|
||||
51 84 87
|
||||
52 23 14
|
||||
53 13 4
|
||||
54 13 7
|
||||
55 16 2
|
||||
56 17 -1
|
||||
57 16 3
|
||||
58 13 10
|
||||
59 23 11
|
||||
60 15 5
|
||||
61 17 -1
|
||||
62 11 0
|
||||
63 19 1
|
||||
64 14 3
|
||||
65 18 -3
|
||||
66 118 8
|
||||
67 99 21
|
||||
68 106 -5
|
||||
69 124 8
|
||||
70 104 3
|
||||
71 126 4
|
||||
72 115 7
|
||||
73 110 -3
|
||||
74 98 -6
|
||||
75 111 13
|
||||
76 -67 90
|
||||
77 -56 96
|
||||
78 -56 97
|
||||
79 -57 100
|
||||
80 -54 101
|
||||
81 -50 96
|
||||
82 -64 103
|
||||
83 -63 103
|
||||
84 -57 100
|
||||
85 -53 106
|
||||
86 -57 96
|
||||
87 -67 97
|
||||
88 -61 98
|
||||
89 -66 95
|
||||
90 -51 104
|
||||
91 -62 95
|
||||
92 -67 106
|
||||
93 -51 102
|
||||
94 -86 87
|
||||
95 -82 78
|
||||
96 -92 86
|
||||
97 -86 78
|
||||
98 6 67
|
||||
99 13 59
|
||||
100 21 66
|
||||
101 8 59
|
||||
102 20 70
|
||||
103 1 62
|
||||
104 19 57
|
||||
105 15 70
|
||||
106 20 55
|
||||
107 8 51
|
||||
108 3 54
|
||||
109 18 68
|
||||
110 12 53
|
||||
111 3 65
|
||||
112 4 62
|
||||
113 19 52
|
||||
114 92 -28
|
||||
115 92 -26
|
||||
116 80 -28
|
||||
117 91 -18
|
||||
118 93 -24
|
||||
119 76 -15
|
||||
120 88 -33
|
||||
121 83 -28
|
||||
122 86 -23
|
||||
123 92 -20
|
||||
124 82 -29
|
||||
125 88 -29
|
||||
126 82 -27
|
||||
127 88 -13
|
||||
128 83 -29
|
||||
129 90 -17
|
||||
130 49 -4
|
||||
131 58 -6
|
||||
132 64 -7
|
||||
133 54 -15
|
||||
134 66 -3
|
||||
135 65 -13
|
||||
136 57 -20
|
||||
137 38 -2
|
||||
138 -44 88
|
||||
139 -36 100
|
||||
140 -37 98
|
||||
141 -39 110
|
||||
142 -34 111
|
||||
143 -47 111
|
||||
144 -28 105
|
||||
145 -38 98
|
||||
146 -32 91
|
||||
147 -25 97
|
||||
148 -46 111
|
||||
149 -36 107
|
||||
150 -35 92
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 30
|
||||
2 30
|
||||
3 30
|
||||
4 30
|
||||
5 30
|
||||
6 30
|
||||
7 30
|
||||
8 30
|
||||
9 30
|
||||
10 30
|
||||
11 30
|
||||
12 30
|
||||
13 30
|
||||
14 30
|
||||
15 30
|
||||
16 30
|
||||
17 30
|
||||
18 30
|
||||
19 30
|
||||
20 30
|
||||
21 30
|
||||
22 30
|
||||
23 30
|
||||
24 30
|
||||
25 30
|
||||
26 30
|
||||
27 30
|
||||
28 30
|
||||
29 30
|
||||
30 30
|
||||
31 30
|
||||
32 30
|
||||
33 30
|
||||
34 30
|
||||
35 30
|
||||
36 30
|
||||
37 30
|
||||
38 30
|
||||
39 30
|
||||
40 30
|
||||
41 30
|
||||
42 30
|
||||
43 30
|
||||
44 30
|
||||
45 30
|
||||
46 30
|
||||
47 30
|
||||
48 30
|
||||
49 30
|
||||
50 30
|
||||
51 30
|
||||
52 30
|
||||
53 30
|
||||
54 30
|
||||
55 30
|
||||
56 30
|
||||
57 30
|
||||
58 30
|
||||
59 30
|
||||
60 30
|
||||
61 30
|
||||
62 30
|
||||
63 30
|
||||
64 30
|
||||
65 30
|
||||
66 30
|
||||
67 30
|
||||
68 30
|
||||
69 30
|
||||
70 30
|
||||
71 30
|
||||
72 30
|
||||
73 30
|
||||
74 30
|
||||
75 30
|
||||
76 30
|
||||
77 30
|
||||
78 30
|
||||
79 30
|
||||
80 30
|
||||
81 30
|
||||
82 30
|
||||
83 30
|
||||
84 30
|
||||
85 30
|
||||
86 30
|
||||
87 30
|
||||
88 30
|
||||
89 30
|
||||
90 30
|
||||
91 30
|
||||
92 30
|
||||
93 30
|
||||
94 30
|
||||
95 30
|
||||
96 30
|
||||
97 30
|
||||
98 30
|
||||
99 30
|
||||
100 30
|
||||
101 30
|
||||
102 30
|
||||
103 30
|
||||
104 30
|
||||
105 30
|
||||
106 30
|
||||
107 30
|
||||
108 30
|
||||
109 30
|
||||
110 30
|
||||
111 30
|
||||
112 30
|
||||
113 30
|
||||
114 30
|
||||
115 30
|
||||
116 30
|
||||
117 30
|
||||
118 30
|
||||
119 30
|
||||
120 30
|
||||
121 30
|
||||
122 30
|
||||
123 30
|
||||
124 30
|
||||
125 30
|
||||
126 30
|
||||
127 30
|
||||
128 30
|
||||
129 30
|
||||
130 30
|
||||
131 30
|
||||
132 30
|
||||
133 30
|
||||
134 30
|
||||
135 30
|
||||
136 30
|
||||
137 30
|
||||
138 30
|
||||
139 30
|
||||
140 30
|
||||
141 30
|
||||
142 30
|
||||
143 30
|
||||
144 30
|
||||
145 30
|
||||
146 30
|
||||
147 30
|
||||
148 30
|
||||
149 30
|
||||
150 30
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 1062
|
||||
COMMENT: TIMESTEP: 21
|
||||
TIME_AVAIL_SECTION
|
||||
1 4
|
||||
2 9
|
||||
3 11
|
||||
4 15
|
||||
5 33
|
||||
6 40
|
||||
7 42
|
||||
8 49
|
||||
9 62
|
||||
10 68
|
||||
11 70
|
||||
12 74
|
||||
13 76
|
||||
14 86
|
||||
15 91
|
||||
16 101
|
||||
17 105
|
||||
18 115
|
||||
19 119
|
||||
20 137
|
||||
21 138
|
||||
22 140
|
||||
23 142
|
||||
24 152
|
||||
25 152
|
||||
26 154
|
||||
27 175
|
||||
28 177
|
||||
29 185
|
||||
30 191
|
||||
31 203
|
||||
32 203
|
||||
33 205
|
||||
34 207
|
||||
35 222
|
||||
36 234
|
||||
37 240
|
||||
38 242
|
||||
39 265
|
||||
40 275
|
||||
41 275
|
||||
42 277
|
||||
43 287
|
||||
44 297
|
||||
45 322
|
||||
46 344
|
||||
47 347
|
||||
48 355
|
||||
49 365
|
||||
50 365
|
||||
51 367
|
||||
52 369
|
||||
53 369
|
||||
54 375
|
||||
55 381
|
||||
56 402
|
||||
57 426
|
||||
58 432
|
||||
59 438
|
||||
60 445
|
||||
61 467
|
||||
62 471
|
||||
63 471
|
||||
64 476
|
||||
65 484
|
||||
66 496
|
||||
67 498
|
||||
68 498
|
||||
69 508
|
||||
70 543
|
||||
71 549
|
||||
72 566
|
||||
73 578
|
||||
74 586
|
||||
75 594
|
||||
76 598
|
||||
77 600
|
||||
78 604
|
||||
79 611
|
||||
80 615
|
||||
81 621
|
||||
82 635
|
||||
83 635
|
||||
84 639
|
||||
85 639
|
||||
86 649
|
||||
87 649
|
||||
88 653
|
||||
89 662
|
||||
90 666
|
||||
91 666
|
||||
92 682
|
||||
93 692
|
||||
94 695
|
||||
95 700
|
||||
96 703
|
||||
97 710
|
||||
98 721
|
||||
99 723
|
||||
100 723
|
||||
101 729
|
||||
102 743
|
||||
103 747
|
||||
104 754
|
||||
105 768
|
||||
106 768
|
||||
107 772
|
||||
108 778
|
||||
109 788
|
||||
110 789
|
||||
111 791
|
||||
112 795
|
||||
113 796
|
||||
114 809
|
||||
115 811
|
||||
116 821
|
||||
117 821
|
||||
118 829
|
||||
119 833
|
||||
120 838
|
||||
121 840
|
||||
122 842
|
||||
123 848
|
||||
124 864
|
||||
125 866
|
||||
126 866
|
||||
127 872
|
||||
128 882
|
||||
129 891
|
||||
130 907
|
||||
131 915
|
||||
132 925
|
||||
133 930
|
||||
134 932
|
||||
135 938
|
||||
136 950
|
||||
137 950
|
||||
138 958
|
||||
139 967
|
||||
140 997
|
||||
141 1005
|
||||
142 1007
|
||||
143 1016
|
||||
144 1022
|
||||
145 1028
|
||||
146 1030
|
||||
147 1042
|
||||
148 1048
|
||||
149 1058
|
||||
150 1058
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai150b by convert2vt
|
||||
COMMENT: Best known objective: 2727.99
|
||||
NAME: tai150b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1918
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 50
|
||||
2 50
|
||||
3 170
|
||||
4 297
|
||||
5 9
|
||||
6 630
|
||||
7 179
|
||||
8 179
|
||||
9 216
|
||||
10 4
|
||||
11 9
|
||||
12 154
|
||||
13 117
|
||||
14 63
|
||||
15 436
|
||||
16 905
|
||||
17 14
|
||||
18 3
|
||||
19 10
|
||||
20 166
|
||||
21 211
|
||||
22 8
|
||||
23 25
|
||||
24 139
|
||||
25 213
|
||||
26 758
|
||||
27 429
|
||||
28 5
|
||||
29 136
|
||||
30 501
|
||||
31 93
|
||||
32 21
|
||||
33 169
|
||||
34 22
|
||||
35 3
|
||||
36 271
|
||||
37 433
|
||||
38 3
|
||||
39 1079
|
||||
40 233
|
||||
41 11
|
||||
42 10
|
||||
43 78
|
||||
44 63
|
||||
45 4
|
||||
46 59
|
||||
47 8
|
||||
48 34
|
||||
49 234
|
||||
50 30
|
||||
51 40
|
||||
52 123
|
||||
53 7
|
||||
54 33
|
||||
55 369
|
||||
56 11
|
||||
57 23
|
||||
58 208
|
||||
59 4
|
||||
60 8
|
||||
61 36
|
||||
62 504
|
||||
63 16
|
||||
64 574
|
||||
65 19
|
||||
66 235
|
||||
67 445
|
||||
68 6
|
||||
69 43
|
||||
70 210
|
||||
71 268
|
||||
72 410
|
||||
73 124
|
||||
74 11
|
||||
75 1085
|
||||
76 5
|
||||
77 529
|
||||
78 107
|
||||
79 274
|
||||
80 23
|
||||
81 156
|
||||
82 32
|
||||
83 177
|
||||
84 16
|
||||
85 8
|
||||
86 19
|
||||
87 52
|
||||
88 47
|
||||
89 4
|
||||
90 372
|
||||
91 525
|
||||
92 101
|
||||
93 898
|
||||
94 40
|
||||
95 32
|
||||
96 1017
|
||||
97 103
|
||||
98 109
|
||||
99 76
|
||||
100 1025
|
||||
101 53
|
||||
102 22
|
||||
103 991
|
||||
104 4
|
||||
105 147
|
||||
106 49
|
||||
107 276
|
||||
108 7
|
||||
109 78
|
||||
110 389
|
||||
111 4
|
||||
112 388
|
||||
113 135
|
||||
114 233
|
||||
115 74
|
||||
116 51
|
||||
117 4
|
||||
118 216
|
||||
119 85
|
||||
120 37
|
||||
121 6
|
||||
122 12
|
||||
123 12
|
||||
124 45
|
||||
125 3
|
||||
126 122
|
||||
127 46
|
||||
128 132
|
||||
129 464
|
||||
130 11
|
||||
131 11
|
||||
132 16
|
||||
133 119
|
||||
134 60
|
||||
135 14
|
||||
136 13
|
||||
137 90
|
||||
138 5
|
||||
139 458
|
||||
140 6
|
||||
141 3
|
||||
142 99
|
||||
143 73
|
||||
144 13
|
||||
145 10
|
||||
146 9
|
||||
147 417
|
||||
148 150
|
||||
149 49
|
||||
150 271
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 58 -75
|
||||
2 80 -76
|
||||
3 79 -80
|
||||
4 64 -66
|
||||
5 61 -65
|
||||
6 73 -71
|
||||
7 63 -76
|
||||
8 57 -69
|
||||
9 64 -76
|
||||
10 64 -81
|
||||
11 78 -69
|
||||
12 20 2
|
||||
13 14 0
|
||||
14 7 -9
|
||||
15 9 18
|
||||
16 17 -5
|
||||
17 14 -6
|
||||
18 20 8
|
||||
19 20 15
|
||||
20 9 6
|
||||
21 19 12
|
||||
22 8 -2
|
||||
23 9 15
|
||||
24 24 5
|
||||
25 14 16
|
||||
26 -2 0
|
||||
27 20 11
|
||||
28 7 -2
|
||||
29 -101 -25
|
||||
30 -94 -26
|
||||
31 -99 -22
|
||||
32 -112 -20
|
||||
33 -95 -19
|
||||
34 -112 -27
|
||||
35 -102 -15
|
||||
36 -96 -13
|
||||
37 -110 -17
|
||||
38 -101 -15
|
||||
39 -105 -10
|
||||
40 -106 -26
|
||||
41 -109 -26
|
||||
42 -102 -26
|
||||
43 -101 -14
|
||||
44 -99 -12
|
||||
45 -94 -24
|
||||
46 -96 -13
|
||||
47 -100 -16
|
||||
48 -111 -12
|
||||
49 -109 -12
|
||||
50 -66 -12
|
||||
51 -48 -27
|
||||
52 -59 3
|
||||
53 -47 -4
|
||||
54 -62 -10
|
||||
55 -72 -11
|
||||
56 -59 -1
|
||||
57 -73 -6
|
||||
58 -62 -3
|
||||
59 -72 -17
|
||||
60 -67 -11
|
||||
61 -69 -25
|
||||
62 -56 1
|
||||
63 -66 -6
|
||||
64 -72 -7
|
||||
65 -46 -15
|
||||
66 -45 -18
|
||||
67 -51 -21
|
||||
68 -73 -18
|
||||
69 -61 -15
|
||||
70 -57 60
|
||||
71 -46 74
|
||||
72 -57 67
|
||||
73 -49 72
|
||||
74 46 101
|
||||
75 50 113
|
||||
76 54 103
|
||||
77 -80 28
|
||||
78 -81 35
|
||||
79 -85 31
|
||||
80 -81 29
|
||||
81 -76 28
|
||||
82 -8 -53
|
||||
83 -11 -55
|
||||
84 -12 -48
|
||||
85 -10 -57
|
||||
86 -8 -49
|
||||
87 -5 -61
|
||||
88 -14 -57
|
||||
89 106 6
|
||||
90 96 6
|
||||
91 92 23
|
||||
92 102 13
|
||||
93 90 24
|
||||
94 94 6
|
||||
95 107 5
|
||||
96 106 -1
|
||||
97 102 16
|
||||
98 90 8
|
||||
99 113 -1
|
||||
100 88 15
|
||||
101 87 21
|
||||
102 100 2
|
||||
103 108 16
|
||||
104 114 18
|
||||
105 99 11
|
||||
106 87 4
|
||||
107 110 16
|
||||
108 102 25
|
||||
109 -8 108
|
||||
110 -9 102
|
||||
111 -10 108
|
||||
112 -4 108
|
||||
113 -8 104
|
||||
114 -9 100
|
||||
115 -7 111
|
||||
116 -4 102
|
||||
117 -12 101
|
||||
118 -14 112
|
||||
119 -10 105
|
||||
120 15 -4
|
||||
121 30 -7
|
||||
122 31 8
|
||||
123 15 1
|
||||
124 17 7
|
||||
125 19 -8
|
||||
126 19 -9
|
||||
127 14 -2
|
||||
128 21 -7
|
||||
129 24 -10
|
||||
130 26 10
|
||||
131 20 -6
|
||||
132 23 3
|
||||
133 27 -5
|
||||
134 25 3
|
||||
135 27 -2
|
||||
136 17 -4
|
||||
137 31 -10
|
||||
138 22 2
|
||||
139 28 -3
|
||||
140 -5 13
|
||||
141 1 18
|
||||
142 2 -2
|
||||
143 -9 10
|
||||
144 5 -4
|
||||
145 -1 1
|
||||
146 -11 19
|
||||
147 -12 3
|
||||
148 -3 -3
|
||||
149 -18 4
|
||||
150 -21 1
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 27
|
||||
2 27
|
||||
3 27
|
||||
4 27
|
||||
5 27
|
||||
6 27
|
||||
7 27
|
||||
8 27
|
||||
9 27
|
||||
10 27
|
||||
11 27
|
||||
12 27
|
||||
13 27
|
||||
14 27
|
||||
15 27
|
||||
16 27
|
||||
17 27
|
||||
18 27
|
||||
19 27
|
||||
20 27
|
||||
21 27
|
||||
22 27
|
||||
23 27
|
||||
24 27
|
||||
25 27
|
||||
26 27
|
||||
27 27
|
||||
28 27
|
||||
29 27
|
||||
30 27
|
||||
31 27
|
||||
32 27
|
||||
33 27
|
||||
34 27
|
||||
35 27
|
||||
36 27
|
||||
37 27
|
||||
38 27
|
||||
39 27
|
||||
40 27
|
||||
41 27
|
||||
42 27
|
||||
43 27
|
||||
44 27
|
||||
45 27
|
||||
46 27
|
||||
47 27
|
||||
48 27
|
||||
49 27
|
||||
50 27
|
||||
51 27
|
||||
52 27
|
||||
53 27
|
||||
54 27
|
||||
55 27
|
||||
56 27
|
||||
57 27
|
||||
58 27
|
||||
59 27
|
||||
60 27
|
||||
61 27
|
||||
62 27
|
||||
63 27
|
||||
64 27
|
||||
65 27
|
||||
66 27
|
||||
67 27
|
||||
68 27
|
||||
69 27
|
||||
70 27
|
||||
71 27
|
||||
72 27
|
||||
73 27
|
||||
74 27
|
||||
75 27
|
||||
76 27
|
||||
77 27
|
||||
78 27
|
||||
79 27
|
||||
80 27
|
||||
81 27
|
||||
82 27
|
||||
83 27
|
||||
84 27
|
||||
85 27
|
||||
86 27
|
||||
87 27
|
||||
88 27
|
||||
89 27
|
||||
90 27
|
||||
91 27
|
||||
92 27
|
||||
93 27
|
||||
94 27
|
||||
95 27
|
||||
96 27
|
||||
97 27
|
||||
98 27
|
||||
99 27
|
||||
100 27
|
||||
101 27
|
||||
102 27
|
||||
103 27
|
||||
104 27
|
||||
105 27
|
||||
106 27
|
||||
107 27
|
||||
108 27
|
||||
109 27
|
||||
110 27
|
||||
111 27
|
||||
112 27
|
||||
113 27
|
||||
114 27
|
||||
115 27
|
||||
116 27
|
||||
117 27
|
||||
118 27
|
||||
119 27
|
||||
120 27
|
||||
121 27
|
||||
122 27
|
||||
123 27
|
||||
124 27
|
||||
125 27
|
||||
126 27
|
||||
127 27
|
||||
128 27
|
||||
129 27
|
||||
130 27
|
||||
131 27
|
||||
132 27
|
||||
133 27
|
||||
134 27
|
||||
135 27
|
||||
136 27
|
||||
137 27
|
||||
138 27
|
||||
139 27
|
||||
140 27
|
||||
141 27
|
||||
142 27
|
||||
143 27
|
||||
144 27
|
||||
145 27
|
||||
146 27
|
||||
147 27
|
||||
148 27
|
||||
149 27
|
||||
150 27
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 988
|
||||
COMMENT: TIMESTEP: 19
|
||||
TIME_AVAIL_SECTION
|
||||
1 3
|
||||
2 8
|
||||
3 10
|
||||
4 14
|
||||
5 30
|
||||
6 38
|
||||
7 39
|
||||
8 45
|
||||
9 58
|
||||
10 63
|
||||
11 65
|
||||
12 69
|
||||
13 70
|
||||
14 80
|
||||
15 85
|
||||
16 94
|
||||
17 98
|
||||
18 107
|
||||
19 110
|
||||
20 127
|
||||
21 129
|
||||
22 130
|
||||
23 132
|
||||
24 141
|
||||
25 141
|
||||
26 143
|
||||
27 163
|
||||
28 165
|
||||
29 172
|
||||
30 178
|
||||
31 189
|
||||
32 189
|
||||
33 190
|
||||
34 192
|
||||
35 207
|
||||
36 218
|
||||
37 223
|
||||
38 225
|
||||
39 247
|
||||
40 256
|
||||
41 256
|
||||
42 258
|
||||
43 267
|
||||
44 276
|
||||
45 300
|
||||
46 320
|
||||
47 323
|
||||
48 331
|
||||
49 340
|
||||
50 340
|
||||
51 341
|
||||
52 343
|
||||
53 343
|
||||
54 349
|
||||
55 354
|
||||
56 374
|
||||
57 396
|
||||
58 401
|
||||
59 407
|
||||
60 414
|
||||
61 434
|
||||
62 438
|
||||
63 438
|
||||
64 443
|
||||
65 451
|
||||
66 462
|
||||
67 463
|
||||
68 463
|
||||
69 473
|
||||
70 505
|
||||
71 511
|
||||
72 527
|
||||
73 538
|
||||
74 545
|
||||
75 552
|
||||
76 556
|
||||
77 558
|
||||
78 562
|
||||
79 569
|
||||
80 572
|
||||
81 578
|
||||
82 591
|
||||
83 591
|
||||
84 594
|
||||
85 594
|
||||
86 603
|
||||
87 603
|
||||
88 607
|
||||
89 616
|
||||
90 620
|
||||
91 620
|
||||
92 634
|
||||
93 643
|
||||
94 647
|
||||
95 651
|
||||
96 654
|
||||
97 660
|
||||
98 671
|
||||
99 673
|
||||
100 673
|
||||
101 678
|
||||
102 691
|
||||
103 695
|
||||
104 702
|
||||
105 714
|
||||
106 714
|
||||
107 718
|
||||
108 724
|
||||
109 733
|
||||
110 734
|
||||
111 736
|
||||
112 740
|
||||
113 740
|
||||
114 753
|
||||
115 755
|
||||
116 764
|
||||
117 764
|
||||
118 771
|
||||
119 775
|
||||
120 780
|
||||
121 782
|
||||
122 784
|
||||
123 789
|
||||
124 804
|
||||
125 806
|
||||
126 806
|
||||
127 811
|
||||
128 820
|
||||
129 829
|
||||
130 844
|
||||
131 851
|
||||
132 860
|
||||
133 865
|
||||
134 867
|
||||
135 873
|
||||
136 884
|
||||
137 884
|
||||
138 891
|
||||
139 900
|
||||
140 927
|
||||
141 935
|
||||
142 936
|
||||
143 945
|
||||
144 951
|
||||
145 957
|
||||
146 958
|
||||
147 969
|
||||
148 975
|
||||
149 984
|
||||
150 984
|
||||
EOF
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
VRPTEST 1.0
|
||||
COMMENT: Converted from tai150b by convert2vt
|
||||
COMMENT: Best known objective: 2727.99
|
||||
NAME: tai150b
|
||||
NUM_DEPOTS: 1
|
||||
NUM_CAPACITIES: 1
|
||||
NUM_VISITS: 150
|
||||
NUM_LOCATIONS: 151
|
||||
NUM_VEHICLES: 50
|
||||
CAPACITIES: 1918
|
||||
DATA_SECTION
|
||||
DEPOTS
|
||||
0
|
||||
DEMAND_SECTION
|
||||
1 -50
|
||||
2 -50
|
||||
3 -170
|
||||
4 -297
|
||||
5 -9
|
||||
6 -630
|
||||
7 -179
|
||||
8 -179
|
||||
9 -216
|
||||
10 -4
|
||||
11 -9
|
||||
12 -154
|
||||
13 -117
|
||||
14 -63
|
||||
15 -436
|
||||
16 -905
|
||||
17 -14
|
||||
18 -3
|
||||
19 -10
|
||||
20 -166
|
||||
21 -211
|
||||
22 -8
|
||||
23 -25
|
||||
24 -139
|
||||
25 -213
|
||||
26 -758
|
||||
27 -429
|
||||
28 -5
|
||||
29 -136
|
||||
30 -501
|
||||
31 -93
|
||||
32 -21
|
||||
33 -169
|
||||
34 -22
|
||||
35 -3
|
||||
36 -271
|
||||
37 -433
|
||||
38 -3
|
||||
39 -1079
|
||||
40 -233
|
||||
41 -11
|
||||
42 -10
|
||||
43 -78
|
||||
44 -63
|
||||
45 -4
|
||||
46 -59
|
||||
47 -8
|
||||
48 -34
|
||||
49 -234
|
||||
50 -30
|
||||
51 -40
|
||||
52 -123
|
||||
53 -7
|
||||
54 -33
|
||||
55 -369
|
||||
56 -11
|
||||
57 -23
|
||||
58 -208
|
||||
59 -4
|
||||
60 -8
|
||||
61 -36
|
||||
62 -504
|
||||
63 -16
|
||||
64 -574
|
||||
65 -19
|
||||
66 -235
|
||||
67 -445
|
||||
68 -6
|
||||
69 -43
|
||||
70 -210
|
||||
71 -268
|
||||
72 -410
|
||||
73 -124
|
||||
74 -11
|
||||
75 -1085
|
||||
76 -5
|
||||
77 -529
|
||||
78 -107
|
||||
79 -274
|
||||
80 -23
|
||||
81 -156
|
||||
82 -32
|
||||
83 -177
|
||||
84 -16
|
||||
85 -8
|
||||
86 -19
|
||||
87 -52
|
||||
88 -47
|
||||
89 -4
|
||||
90 -372
|
||||
91 -525
|
||||
92 -101
|
||||
93 -898
|
||||
94 -40
|
||||
95 -32
|
||||
96 -1017
|
||||
97 -103
|
||||
98 -109
|
||||
99 -76
|
||||
100 -1025
|
||||
101 -53
|
||||
102 -22
|
||||
103 -991
|
||||
104 -4
|
||||
105 -147
|
||||
106 -49
|
||||
107 -276
|
||||
108 -7
|
||||
109 -78
|
||||
110 -389
|
||||
111 -4
|
||||
112 -388
|
||||
113 -135
|
||||
114 -233
|
||||
115 -74
|
||||
116 -51
|
||||
117 -4
|
||||
118 -216
|
||||
119 -85
|
||||
120 -37
|
||||
121 -6
|
||||
122 -12
|
||||
123 -12
|
||||
124 -45
|
||||
125 -3
|
||||
126 -122
|
||||
127 -46
|
||||
128 -132
|
||||
129 -464
|
||||
130 -11
|
||||
131 -11
|
||||
132 -16
|
||||
133 -119
|
||||
134 -60
|
||||
135 -14
|
||||
136 -13
|
||||
137 -90
|
||||
138 -5
|
||||
139 -458
|
||||
140 -6
|
||||
141 -3
|
||||
142 -99
|
||||
143 -73
|
||||
144 -13
|
||||
145 -10
|
||||
146 -9
|
||||
147 -417
|
||||
148 -150
|
||||
149 -49
|
||||
150 -271
|
||||
LOCATION_COORD_SECTION
|
||||
0 0 0
|
||||
1 58 -75
|
||||
2 80 -76
|
||||
3 79 -80
|
||||
4 64 -66
|
||||
5 61 -65
|
||||
6 73 -71
|
||||
7 63 -76
|
||||
8 57 -69
|
||||
9 64 -76
|
||||
10 64 -81
|
||||
11 78 -69
|
||||
12 20 2
|
||||
13 14 0
|
||||
14 7 -9
|
||||
15 9 18
|
||||
16 17 -5
|
||||
17 14 -6
|
||||
18 20 8
|
||||
19 20 15
|
||||
20 9 6
|
||||
21 19 12
|
||||
22 8 -2
|
||||
23 9 15
|
||||
24 24 5
|
||||
25 14 16
|
||||
26 -2 0
|
||||
27 20 11
|
||||
28 7 -2
|
||||
29 -101 -25
|
||||
30 -94 -26
|
||||
31 -99 -22
|
||||
32 -112 -20
|
||||
33 -95 -19
|
||||
34 -112 -27
|
||||
35 -102 -15
|
||||
36 -96 -13
|
||||
37 -110 -17
|
||||
38 -101 -15
|
||||
39 -105 -10
|
||||
40 -106 -26
|
||||
41 -109 -26
|
||||
42 -102 -26
|
||||
43 -101 -14
|
||||
44 -99 -12
|
||||
45 -94 -24
|
||||
46 -96 -13
|
||||
47 -100 -16
|
||||
48 -111 -12
|
||||
49 -109 -12
|
||||
50 -66 -12
|
||||
51 -48 -27
|
||||
52 -59 3
|
||||
53 -47 -4
|
||||
54 -62 -10
|
||||
55 -72 -11
|
||||
56 -59 -1
|
||||
57 -73 -6
|
||||
58 -62 -3
|
||||
59 -72 -17
|
||||
60 -67 -11
|
||||
61 -69 -25
|
||||
62 -56 1
|
||||
63 -66 -6
|
||||
64 -72 -7
|
||||
65 -46 -15
|
||||
66 -45 -18
|
||||
67 -51 -21
|
||||
68 -73 -18
|
||||
69 -61 -15
|
||||
70 -57 60
|
||||
71 -46 74
|
||||
72 -57 67
|
||||
73 -49 72
|
||||
74 46 101
|
||||
75 50 113
|
||||
76 54 103
|
||||
77 -80 28
|
||||
78 -81 35
|
||||
79 -85 31
|
||||
80 -81 29
|
||||
81 -76 28
|
||||
82 -8 -53
|
||||
83 -11 -55
|
||||
84 -12 -48
|
||||
85 -10 -57
|
||||
86 -8 -49
|
||||
87 -5 -61
|
||||
88 -14 -57
|
||||
89 106 6
|
||||
90 96 6
|
||||
91 92 23
|
||||
92 102 13
|
||||
93 90 24
|
||||
94 94 6
|
||||
95 107 5
|
||||
96 106 -1
|
||||
97 102 16
|
||||
98 90 8
|
||||
99 113 -1
|
||||
100 88 15
|
||||
101 87 21
|
||||
102 100 2
|
||||
103 108 16
|
||||
104 114 18
|
||||
105 99 11
|
||||
106 87 4
|
||||
107 110 16
|
||||
108 102 25
|
||||
109 -8 108
|
||||
110 -9 102
|
||||
111 -10 108
|
||||
112 -4 108
|
||||
113 -8 104
|
||||
114 -9 100
|
||||
115 -7 111
|
||||
116 -4 102
|
||||
117 -12 101
|
||||
118 -14 112
|
||||
119 -10 105
|
||||
120 15 -4
|
||||
121 30 -7
|
||||
122 31 8
|
||||
123 15 1
|
||||
124 17 7
|
||||
125 19 -8
|
||||
126 19 -9
|
||||
127 14 -2
|
||||
128 21 -7
|
||||
129 24 -10
|
||||
130 26 10
|
||||
131 20 -6
|
||||
132 23 3
|
||||
133 27 -5
|
||||
134 25 3
|
||||
135 27 -2
|
||||
136 17 -4
|
||||
137 31 -10
|
||||
138 22 2
|
||||
139 28 -3
|
||||
140 -5 13
|
||||
141 1 18
|
||||
142 2 -2
|
||||
143 -9 10
|
||||
144 5 -4
|
||||
145 -1 1
|
||||
146 -11 19
|
||||
147 -12 3
|
||||
148 -3 -3
|
||||
149 -18 4
|
||||
150 -21 1
|
||||
DEPOT_LOCATION_SECTION
|
||||
0 0
|
||||
VISIT_LOCATION_SECTION
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
32 32
|
||||
33 33
|
||||
34 34
|
||||
35 35
|
||||
36 36
|
||||
37 37
|
||||
38 38
|
||||
39 39
|
||||
40 40
|
||||
41 41
|
||||
42 42
|
||||
43 43
|
||||
44 44
|
||||
45 45
|
||||
46 46
|
||||
47 47
|
||||
48 48
|
||||
49 49
|
||||
50 50
|
||||
51 51
|
||||
52 52
|
||||
53 53
|
||||
54 54
|
||||
55 55
|
||||
56 56
|
||||
57 57
|
||||
58 58
|
||||
59 59
|
||||
60 60
|
||||
61 61
|
||||
62 62
|
||||
63 63
|
||||
64 64
|
||||
65 65
|
||||
66 66
|
||||
67 67
|
||||
68 68
|
||||
69 69
|
||||
70 70
|
||||
71 71
|
||||
72 72
|
||||
73 73
|
||||
74 74
|
||||
75 75
|
||||
76 76
|
||||
77 77
|
||||
78 78
|
||||
79 79
|
||||
80 80
|
||||
81 81
|
||||
82 82
|
||||
83 83
|
||||
84 84
|
||||
85 85
|
||||
86 86
|
||||
87 87
|
||||
88 88
|
||||
89 89
|
||||
90 90
|
||||
91 91
|
||||
92 92
|
||||
93 93
|
||||
94 94
|
||||
95 95
|
||||
96 96
|
||||
97 97
|
||||
98 98
|
||||
99 99
|
||||
100 100
|
||||
101 101
|
||||
102 102
|
||||
103 103
|
||||
104 104
|
||||
105 105
|
||||
106 106
|
||||
107 107
|
||||
108 108
|
||||
109 109
|
||||
110 110
|
||||
111 111
|
||||
112 112
|
||||
113 113
|
||||
114 114
|
||||
115 115
|
||||
116 116
|
||||
117 117
|
||||
118 118
|
||||
119 119
|
||||
120 120
|
||||
121 121
|
||||
122 122
|
||||
123 123
|
||||
124 124
|
||||
125 125
|
||||
126 126
|
||||
127 127
|
||||
128 128
|
||||
129 129
|
||||
130 130
|
||||
131 131
|
||||
132 132
|
||||
133 133
|
||||
134 134
|
||||
135 135
|
||||
136 136
|
||||
137 137
|
||||
138 138
|
||||
139 139
|
||||
140 140
|
||||
141 141
|
||||
142 142
|
||||
143 143
|
||||
144 144
|
||||
145 145
|
||||
146 146
|
||||
147 147
|
||||
148 148
|
||||
149 149
|
||||
150 150
|
||||
DURATION_SECTION
|
||||
1 27
|
||||
2 27
|
||||
3 27
|
||||
4 27
|
||||
5 27
|
||||
6 27
|
||||
7 27
|
||||
8 27
|
||||
9 27
|
||||
10 27
|
||||
11 27
|
||||
12 27
|
||||
13 27
|
||||
14 27
|
||||
15 27
|
||||
16 27
|
||||
17 27
|
||||
18 27
|
||||
19 27
|
||||
20 27
|
||||
21 27
|
||||
22 27
|
||||
23 27
|
||||
24 27
|
||||
25 27
|
||||
26 27
|
||||
27 27
|
||||
28 27
|
||||
29 27
|
||||
30 27
|
||||
31 27
|
||||
32 27
|
||||
33 27
|
||||
34 27
|
||||
35 27
|
||||
36 27
|
||||
37 27
|
||||
38 27
|
||||
39 27
|
||||
40 27
|
||||
41 27
|
||||
42 27
|
||||
43 27
|
||||
44 27
|
||||
45 27
|
||||
46 27
|
||||
47 27
|
||||
48 27
|
||||
49 27
|
||||
50 27
|
||||
51 27
|
||||
52 27
|
||||
53 27
|
||||
54 27
|
||||
55 27
|
||||
56 27
|
||||
57 27
|
||||
58 27
|
||||
59 27
|
||||
60 27
|
||||
61 27
|
||||
62 27
|
||||
63 27
|
||||
64 27
|
||||
65 27
|
||||
66 27
|
||||
67 27
|
||||
68 27
|
||||
69 27
|
||||
70 27
|
||||
71 27
|
||||
72 27
|
||||
73 27
|
||||
74 27
|
||||
75 27
|
||||
76 27
|
||||
77 27
|
||||
78 27
|
||||
79 27
|
||||
80 27
|
||||
81 27
|
||||
82 27
|
||||
83 27
|
||||
84 27
|
||||
85 27
|
||||
86 27
|
||||
87 27
|
||||
88 27
|
||||
89 27
|
||||
90 27
|
||||
91 27
|
||||
92 27
|
||||
93 27
|
||||
94 27
|
||||
95 27
|
||||
96 27
|
||||
97 27
|
||||
98 27
|
||||
99 27
|
||||
100 27
|
||||
101 27
|
||||
102 27
|
||||
103 27
|
||||
104 27
|
||||
105 27
|
||||
106 27
|
||||
107 27
|
||||
108 27
|
||||
109 27
|
||||
110 27
|
||||
111 27
|
||||
112 27
|
||||
113 27
|
||||
114 27
|
||||
115 27
|
||||
116 27
|
||||
117 27
|
||||
118 27
|
||||
119 27
|
||||
120 27
|
||||
121 27
|
||||
122 27
|
||||
123 27
|
||||
124 27
|
||||
125 27
|
||||
126 27
|
||||
127 27
|
||||
128 27
|
||||
129 27
|
||||
130 27
|
||||
131 27
|
||||
132 27
|
||||
133 27
|
||||
134 27
|
||||
135 27
|
||||
136 27
|
||||
137 27
|
||||
138 27
|
||||
139 27
|
||||
140 27
|
||||
141 27
|
||||
142 27
|
||||
143 27
|
||||
144 27
|
||||
145 27
|
||||
146 27
|
||||
147 27
|
||||
148 27
|
||||
149 27
|
||||
150 27
|
||||
DEPOT_TIME_WINDOW_SECTION
|
||||
0 0 988
|
||||
COMMENT: TIMESTEP: 19
|
||||
TIME_AVAIL_SECTION
|
||||
1 3
|
||||
2 5
|
||||
3 7
|
||||
4 18
|
||||
5 23
|
||||
6 31
|
||||
7 34
|
||||
8 45
|
||||
9 51
|
||||
10 74
|
||||
11 74
|
||||
12 85
|
||||
13 87
|
||||
14 96
|
||||
15 96
|
||||
16 100
|
||||
17 102
|
||||
18 102
|
||||
19 109
|
||||
20 114
|
||||
21 123
|
||||
22 131
|
||||
23 133
|
||||
24 136
|
||||
25 142
|
||||
26 142
|
||||
27 144
|
||||
28 149
|
||||
29 154
|
||||
30 165
|
||||
31 174
|
||||
32 180
|
||||
33 207
|
||||
34 207
|
||||
35 211
|
||||
36 213
|
||||
37 218
|
||||
38 222
|
||||
39 227
|
||||
40 244
|
||||
41 247
|
||||
42 258
|
||||
43 271
|
||||
44 280
|
||||
45 282
|
||||
46 293
|
||||
47 298
|
||||
48 300
|
||||
49 300
|
||||
50 302
|
||||
51 311
|
||||
52 320
|
||||
53 320
|
||||
54 320
|
||||
55 333
|
||||
56 338
|
||||
57 353
|
||||
58 355
|
||||
59 362
|
||||
60 365
|
||||
61 366
|
||||
62 371
|
||||
63 402
|
||||
64 407
|
||||
65 415
|
||||
66 426
|
||||
67 447
|
||||
68 453
|
||||
69 455
|
||||
70 460
|
||||
71 486
|
||||
72 487
|
||||
73 491
|
||||
74 496
|
||||
75 500
|
||||
76 506
|
||||
77 513
|
||||
78 513
|
||||
79 527
|
||||
80 527
|
||||
81 529
|
||||
82 546
|
||||
83 547
|
||||
84 558
|
||||
85 566
|
||||
86 566
|
||||
87 569
|
||||
88 571
|
||||
89 577
|
||||
90 584
|
||||
91 584
|
||||
92 591
|
||||
93 595
|
||||
94 628
|
||||
95 631
|
||||
96 640
|
||||
97 644
|
||||
98 649
|
||||
99 651
|
||||
100 651
|
||||
101 658
|
||||
102 676
|
||||
103 678
|
||||
104 680
|
||||
105 689
|
||||
106 702
|
||||
107 740
|
||||
108 742
|
||||
109 744
|
||||
110 744
|
||||
111 749
|
||||
112 757
|
||||
113 758
|
||||
114 758
|
||||
115 760
|
||||
116 768
|
||||
117 769
|
||||
118 771
|
||||
119 780
|
||||
120 786
|
||||
121 786
|
||||
122 791
|
||||
123 797
|
||||
124 799
|
||||
125 806
|
||||
126 818
|
||||
127 819
|
||||
128 828
|
||||
129 829
|
||||
130 831
|
||||
131 839
|
||||
132 851
|
||||
133 853
|
||||
134 857
|
||||
135 859
|
||||
136 871
|
||||
137 875
|
||||
138 880
|
||||
139 888
|
||||
140 890
|
||||
141 908
|
||||
142 920
|
||||
143 922
|
||||
144 924
|
||||
145 946
|
||||
146 962
|
||||
147 970
|
||||
148 973
|
||||
149 973
|
||||
150 986
|
||||
EOF
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue