adding bilevel contribution
git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2281 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
parent
1ba951e4df
commit
a56bea8edb
97 changed files with 10479 additions and 0 deletions
112
branches/contribution/branches/bilevel/CMakeLists.txt
Normal file
112
branches/contribution/branches/bilevel/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
######################################################################################
|
||||
### 0) Set your application properties
|
||||
######################################################################################
|
||||
# check cmake version compatibility
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||
|
||||
# Here define your project name
|
||||
PROJECT(biMMDVRP)
|
||||
|
||||
# Here define the name and the version of your package
|
||||
SET(PACKAGE_NAME "mdrvrp" CACHE STRING "Package name" FORCE)
|
||||
SET(PACKAGE_VERSION "0.1" CACHE STRING "Package version" FORCE)
|
||||
|
||||
|
||||
# regular expression checking
|
||||
INCLUDE_REGULAR_EXPRESSION("^.*$" "^$")
|
||||
|
||||
# set a language for the entire project.
|
||||
ENABLE_LANGUAGE(CXX)
|
||||
ENABLE_LANGUAGE(C)
|
||||
|
||||
######################################################################################
|
||||
|
||||
######################################################################################
|
||||
### 1) Include the install configuration file where are defined the main variables
|
||||
######################################################################################
|
||||
|
||||
INCLUDE(${CMAKE_SOURCE_DIR}/install.cmake)
|
||||
|
||||
######################################################################################
|
||||
|
||||
######################################################################################
|
||||
### 2) Include the sources
|
||||
######################################################################################
|
||||
######################################
|
||||
### Include required modules & utilities
|
||||
#####################################################################################
|
||||
INCLUDE(CMakeBackwardCompatibilityCXX)
|
||||
|
||||
INCLUDE(FindDoxygen)
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
|
||||
INCLUDE(Dart OPTIONAL)
|
||||
|
||||
INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src) # include EO directory
|
||||
INCLUDE_DIRECTORIES(${PARADISEO_MO_SRC_DIR}/src) # include MO directory
|
||||
INCLUDE_DIRECTORIES(${PARADISEO_MOEO_SRC_DIR}/src) # include MOEO directory
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src) # include your own source directory (MyContrib/src)
|
||||
|
||||
# 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 "Release" 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 /O3 /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)
|
||||
|
||||
######################################################################################
|
||||
### 3) Link the librairies for your executable
|
||||
######################################################################################
|
||||
|
||||
ADD_SUBDIRECTORY(doc)
|
||||
ADD_SUBDIRECTORY(src)
|
||||
ADD_SUBDIRECTORY(test)
|
||||
ADD_SUBDIRECTORY(application)
|
||||
######################################################################################
|
||||
|
||||
7
branches/contribution/branches/bilevel/CTestConfig.cmake
Normal file
7
branches/contribution/branches/bilevel/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)
|
||||
18
branches/contribution/branches/bilevel/README.txt
Normal file
18
branches/contribution/branches/bilevel/README.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
Paradiseo contribution for a bilevel multiple depot vehicule routing problem solver
|
||||
|
||||
Build instructions:
|
||||
start by setting the path to paradiseo in install.cmake (paradiseo should be built)
|
||||
then go to the build directory, and do a "cmake ..", then a "make"
|
||||
after building, in the build directory
|
||||
|
||||
Run instructions:
|
||||
./application/simpletemp bench seed
|
||||
where bench is a benchmark file for biMDVRP (bipr*x* in the instances folder) and seed a number to initialize the pseudo random generator
|
||||
./application/multitemp bench seed
|
||||
where bench is a benchmark file for mbiMDVRP (mbipr*x* in the instances folder) and seed a number to initialize the pseudo random generator
|
||||
|
||||
|
||||
|
||||
Additional informations:
|
||||
*The instances/benchmark are in instances directory
|
||||
*We use CoBRA to solve the problem
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
######################################################################################
|
||||
### 1) Include the sources
|
||||
######################################################################################
|
||||
|
||||
INCLUDE_DIRECTORIES(${PARADISEO_EO_SRC_DIR}/src
|
||||
${PARADISEO_MOEO_SRC_DIR}/src
|
||||
${PARADISEO_MO_SRC_DIR}/src
|
||||
${CMAKE_SOURCE_DIR}/tsp/
|
||||
${CMAKE_SOURCE_DIR}/src)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 2) Specify where CMake can find the libraries
|
||||
######################################################################################
|
||||
|
||||
LINK_DIRECTORIES(${PARADISEO_EO_BIN_DIR}/lib)
|
||||
LINK_DIRECTORIES(${PARADISEO_MOEO_BIN_DIR}/lib)
|
||||
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/lib)
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 3) Define your target: just an executable here
|
||||
######################################################################################
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ADD_EXECUTABLE(mbiMDVRP mbiMDVRP.cpp)
|
||||
ADD_EXECUTABLE(simpletemp simpletemp.cpp)
|
||||
ADD_EXECUTABLE(simpleRepair simpleRepair.cpp)
|
||||
ADD_EXECUTABLE(multitemp multitemp.cpp)
|
||||
ADD_EXECUTABLE(multirepair multirepair.cpp)
|
||||
ADD_EXECUTABLE(bilevelGen bilevelGen.cpp)
|
||||
ADD_EXECUTABLE(verifRat verifRat.cpp)
|
||||
ADD_EXECUTABLE(verifRat2 verifRat2.cpp)
|
||||
ADD_EXECUTABLE(verifRatmulti verifRatmulti.cpp)
|
||||
ADD_EXECUTABLE(verifRatmulti2 verifRatmulti2.cpp)
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 4) Link the librairies for your executable
|
||||
######################################################################################
|
||||
|
||||
# Only if you need to link libraries
|
||||
TARGET_LINK_LIBRARIES(mbiMDVRP eo eoutils lvrp lbeo)
|
||||
TARGET_LINK_LIBRARIES(simpletemp eo eoutils lbeo lvrp )
|
||||
TARGET_LINK_LIBRARIES(simpleRepair eo eoutils lbeo lvrp )
|
||||
TARGET_LINK_LIBRARIES(multitemp eo eoutils lbeo lvrp )
|
||||
TARGET_LINK_LIBRARIES(multirepair eo eoutils lbeo lvrp )
|
||||
TARGET_LINK_LIBRARIES(bilevelGen eo eoutils lvrp lbeo)
|
||||
TARGET_LINK_LIBRARIES(verifRat eo eoutils lvrp lbeo)
|
||||
TARGET_LINK_LIBRARIES(verifRat2 eo eoutils lvrp lbeo)
|
||||
TARGET_LINK_LIBRARIES(verifRatmulti eo eoutils lvrp lbeo)
|
||||
TARGET_LINK_LIBRARIES(verifRatmulti2 eo eoutils lvrp lbeo)
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 5) Copy the instances and the "param" file in the build path for an easy use.
|
||||
###
|
||||
### --> run the "make install" target to copy the parameter file / instances
|
||||
### in the directory where you build the application
|
||||
######################################################################################
|
||||
|
||||
#ADD_CUSTOM_TARGET(install DEPENDS ${CMAKE_SOURCE_DIR}/application/NSGAII.param
|
||||
# ${CMAKE_SOURCE_DIR}/application)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET install
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different
|
||||
${CMAKE_SOURCE_DIR}/application/NSGAII.param
|
||||
${CMAKE_BINARY_DIR}/application)
|
||||
|
||||
######################################################################################
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//bilevel mdvrp instance generator with single-objective follower problem
|
||||
#include <utils/eoRNG.h>
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <eoSelectFromWorth.h>
|
||||
#include <op/VRP2RBX.h>
|
||||
#include <op/VRP2SBX.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
|
||||
{
|
||||
if (argc<4) {
|
||||
cout<< "donnez un nom d'instance MDVRP, un nombre d'usine et la demande totale des retailers"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
string filename(argv[1]);
|
||||
int numberOfPlant=atoi(argv[2]);
|
||||
double totalDemand=atof(argv[3]);
|
||||
int type,vehiculeNumber,retailerNumber,depotNumber;
|
||||
|
||||
|
||||
|
||||
|
||||
std::ifstream file(filename.data());
|
||||
if (file.is_open()){
|
||||
eoRng &rng=eo::rng;
|
||||
file>>type;
|
||||
file>>vehiculeNumber;
|
||||
file>>retailerNumber;
|
||||
file>>depotNumber;
|
||||
cout<<8<<" "<<vehiculeNumber<<" "<<retailerNumber<<" "<<depotNumber<<" "<<numberOfPlant<<endl;
|
||||
for (int i=0;i<depotNumber;i++){
|
||||
int a,b;
|
||||
file>>a;
|
||||
file>>b;
|
||||
if(i==depotNumber-1)
|
||||
cout <<a<<" "<<b;
|
||||
else
|
||||
cout <<a<<" "<<b<<endl;
|
||||
}
|
||||
char ch;
|
||||
|
||||
while(!file.eof())
|
||||
{
|
||||
file.get(ch);
|
||||
if (!file.eof() || ch!='\n')
|
||||
cout << ch;
|
||||
}
|
||||
int idx=vehiculeNumber+retailerNumber+1;
|
||||
for (int i=0;i<numberOfPlant;i++){
|
||||
double cb=rng.uniform(0.5)+0.5;
|
||||
int x=rng.random(400)-200;
|
||||
int y=rng.random(400)-200;
|
||||
double offerMin = totalDemand/numberOfPlant;
|
||||
double avail=rng.random(totalDemand-offerMin)+offerMin;
|
||||
double cc=rng.uniform(3)+2.0;
|
||||
cout<<idx++<<" "<<x<<" "<<y<<" 0\t";
|
||||
cout<<avail<<" "<<cb<<" "<<cc<<endl;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
108
branches/contribution/branches/bilevel/application/mbiMDVRP.cpp
Normal file
108
branches/contribution/branches/bilevel/application/mbiMDVRP.cpp
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//bilevel mdvrp instance generator with multi-objective follower problem
|
||||
#include <utils/eoRNG.h>
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <eoSelectFromWorth.h>
|
||||
#include <op/VRP2RBX.h>
|
||||
#include <op/VRP2SBX.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
|
||||
{
|
||||
if (argc<4) {
|
||||
cout<< "donnez un nom d'instance MDVRP, un nombre d'usine et la demande totale des retailers"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
string filename(argv[1]);
|
||||
int numberOfPlant=atoi(argv[2]);
|
||||
double totalDemand=atof(argv[3]);
|
||||
int type,vehiculeNumber,retailerNumber,depotNumber;
|
||||
|
||||
|
||||
|
||||
|
||||
std::ifstream file(filename.data());
|
||||
if (file.is_open()){
|
||||
eoRng &rng=eo::rng;
|
||||
file>>type;
|
||||
file>>vehiculeNumber;
|
||||
file>>retailerNumber;
|
||||
file>>depotNumber;
|
||||
cout<<10<<" "<<vehiculeNumber<<" "<<retailerNumber<<" "<<depotNumber<<" "<<numberOfPlant<<endl;
|
||||
int a,b;
|
||||
for (int i=0;i<depotNumber;i++){
|
||||
file>>a;
|
||||
file>>b;
|
||||
cout <<a<<" "<<b<<endl;
|
||||
}
|
||||
|
||||
char ch;
|
||||
|
||||
while(!file.eof())
|
||||
{
|
||||
file.get(ch);
|
||||
if (!file.eof() || ch!='\n')
|
||||
cout << ch;
|
||||
}
|
||||
int idx=vehiculeNumber+retailerNumber+1;
|
||||
for (int i=0;i<numberOfPlant;i++){
|
||||
double cb=rng.uniform(0.5)+0.5;
|
||||
int x=rng.random(400)-200;
|
||||
int y=rng.random(400)-200;
|
||||
double offerMin = totalDemand/numberOfPlant;
|
||||
double avail=rng.random(totalDemand-offerMin)+offerMin;
|
||||
double cc=rng.uniform(3)+2.0;
|
||||
double cd=rng.uniform(3)+2.0;
|
||||
cout<<idx++<<" "<<x<<" "<<y<<" 0\t";
|
||||
cout<<avail<<" "<<cb<<" "<<cc<<" "<<cd<<endl;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,217 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of a hierarchical algorithm to solve the multi-objective bilevel MDVRP
|
||||
#include <eo>
|
||||
#include <mbiVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoLeftieExchange.h>
|
||||
#include <op/beoRightieExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <op/beoRateContainerCoevoOp.h>
|
||||
#include <op/SBXCrossover.h>
|
||||
#include <op/PolynomialMutation.h>
|
||||
#include <beoDummyCoevoPop.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <mbiVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoBLAISArchivetemp.h>
|
||||
#include <beoBLAISArchivetemp.cpp>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoUpMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <biVRPPerf2Worth.h>
|
||||
#include <beoLexContinue.h>
|
||||
#include <beoCoevoAllPop.h>
|
||||
#include <beoSelectCoevoPop.h>
|
||||
#include <beoCoevoLinePop.h>
|
||||
#include <beoSelectOneUp.h>
|
||||
#include <beoSelectOneLow.h>
|
||||
#include <selection/moeoDetTournamentSelect.h>
|
||||
#include <comparator/moeoFitnessComparator.h>
|
||||
#include <replacement/moeoGenerationalReplacement.h>
|
||||
#include <beoUpComparator.h>
|
||||
#include <beoLowComparator.h>
|
||||
#include <fitness/moeoDominanceCountFitnessAssignment.h>
|
||||
#include <fitness/moeoDummyFitnessAssignment.h>
|
||||
#include <algo/moeoEasyEA.h>
|
||||
#include <algo/moeoNSGAII.h>
|
||||
#include <moeoSteadyContinue.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
#include <beoRepairEval.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un numerio de seed"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
eo::rng.reseed(atoi(argv[2]));
|
||||
|
||||
|
||||
string filename(argv[1]);
|
||||
mbiVRPDistMat mat;
|
||||
mat.load(filename);
|
||||
int popsize=200;
|
||||
|
||||
moeoFitnessComparator<biVRP> comp;
|
||||
biVRPUpEval evalU(mat);
|
||||
mbiVRPLowEval evalL(mat);
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
eval.nbEval=0;
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoL(comp);
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoU(comp);
|
||||
|
||||
|
||||
VRP2 grou;
|
||||
grou.init(mat);
|
||||
PLA grou2;
|
||||
grou2.init(mat);
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
moeoParetoObjectiveVectorComparator<biVRP::L::ObjectiveVector> paretocomp;
|
||||
moeoFitnessComparator<biVRP> fitcomp;
|
||||
beoLowComparator<biVRP::ObjectiveVector> compL(paretocomp);
|
||||
moeoDetTournamentSelect<biVRP> oneselectL(fitcomp);
|
||||
moeoDummyDiversityAssignment<biVRP> divass;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,popsize/3);
|
||||
moeoGenerationalReplacement<biVRP> replaceL;
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoRealInterval interval;
|
||||
eoRealVectorBounds bounds(grou2.size(),interval);
|
||||
PolynomialMutation<biVRP::L> mmutL(bounds);
|
||||
SBXCrossover<biVRP::L> xoverMMM(bounds);
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoRankingSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
moeoSteadyContinue<biVRP> contalgoL(0,0,0.95);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
moeoNSGAII<biVRP> algoL(contalgoL,eval, opL);
|
||||
|
||||
|
||||
/******
|
||||
* ALGOU
|
||||
******/
|
||||
moeoDetTournamentSelect<biVRP> oneselectU(comp);
|
||||
eoSelectNumber<biVRP> selectU(oneselectU,popsize/3);
|
||||
eoSwapMutation<biVRP::U> mmutU(5);
|
||||
beoUpMut<biVRP> mutU(mmutU);
|
||||
|
||||
biVRPSBX xover;
|
||||
biVRPRBX xover2;
|
||||
eoGenerationalReplacement<biVRP> replaceU;
|
||||
eoPeriodicContinue<biVRP> contalgoU(10);
|
||||
eoBinGenOp<biVRP> genop(xover);
|
||||
eoMonGenOp<biVRP> genop2(mutU);
|
||||
eoBinGenOp<biVRP> genop3(xover2);
|
||||
eoDetTournamentSelect<biVRP> selectalgoU;
|
||||
eoSequentialOp<biVRP> nouvelopU;
|
||||
eoGeneralBreeder<biVRP> breedalgoU(oneselectU,nouvelopU);
|
||||
nouvelopU.add(genop2,0.5);
|
||||
|
||||
beoRepairEval<biVRP> repeval(eval,algoL);
|
||||
eoEasyEA<biVRP> algoU(contalgoU,repeval, breedalgoU, replaceU);
|
||||
/******
|
||||
* MAIN ALGO
|
||||
*****/
|
||||
|
||||
biVRPPerf2Worth perf2WorthU;
|
||||
biVRPPerf2Worth perf2WorthL;
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperU(perf2WorthU,2);
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperL(perf2WorthL,2);
|
||||
|
||||
beoLexContinue<biVRP> contU(100,100);
|
||||
moeoSteadyContinue<biVRP> contL(100,100);
|
||||
eoInitPermutation<VRP2> initpermut(grou.size());
|
||||
biVRPInit init(mat,initpermut);
|
||||
beoBestExchange<biVRP> coevo3;
|
||||
beoRateContainerCoevoOp<biVRP> coevo(coevo3,0.5);
|
||||
beoSelectOneUp<biVRP> su(ranselectpoperU);
|
||||
beoSelectOneLow<biVRP> sl(ranselectpoperL);
|
||||
eoSelectNumber<biVRP> selectPoperU(su,10);
|
||||
eoSelectNumber<biVRP> selectPoperL(sl,10);
|
||||
beoCoevoLinePop<biVRP> poper(coevo, 80);
|
||||
eoDeterministicSaDReplacement<biVRP> merge(0.8);
|
||||
|
||||
beoBLAISArchivetemp<biVRP> blais(algoU,algoL,eval,poper,contL,contU,selectCoevoU,selectCoevoL,merge);
|
||||
eoPop<biVRP> pop(popsize,init);
|
||||
for (int i=0;i<popsize;i++) {
|
||||
eval(pop[i]);
|
||||
}
|
||||
algoU(pop);
|
||||
for (int i=0;i<pop.size();i++){
|
||||
std::cout<<"uprep "<<pop[i].upper()<<std::endl;
|
||||
std::cout<<"lowrep "<<pop[i].lower()<<std::endl;
|
||||
std::cout<<"fitrep "<<pop[i].upper().fitness()<<" "<<pop[i].objectiveVector().low()[0]<<" "<<pop[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
|
||||
|
||||
std::cout<<"nbEval"<<eval.nbEval<<std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
209
branches/contribution/branches/bilevel/application/multitemp.cpp
Normal file
209
branches/contribution/branches/bilevel/application/multitemp.cpp
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of CoBRA, a coevolutionary algorithm, to solve the multi-objective bilevel MDVRP
|
||||
#include <eo>
|
||||
#include <mbiVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoLeftieExchange.h>
|
||||
#include <op/beoRightieExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <op/beoRateContainerCoevoOp.h>
|
||||
#include <op/SBXCrossover.h>
|
||||
#include <op/PolynomialMutation.h>
|
||||
#include <beoDummyCoevoPop.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <mbiVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoBLAISArchivetemp.h>
|
||||
#include <beoBLAISArchivetemp.cpp>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoUpMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <biVRPPerf2Worth.h>
|
||||
#include <beoLexContinue.h>
|
||||
#include <beoCoevoAllPop.h>
|
||||
#include <beoSelectCoevoPop.h>
|
||||
#include <beoCoevoLinePop.h>
|
||||
#include <beoSelectOneUp.h>
|
||||
#include <beoSelectOneLow.h>
|
||||
#include <selection/moeoDetTournamentSelect.h>
|
||||
#include <comparator/moeoFitnessComparator.h>
|
||||
#include <replacement/moeoGenerationalReplacement.h>
|
||||
#include <beoUpComparator.h>
|
||||
#include <beoLowComparator.h>
|
||||
#include <fitness/moeoDominanceCountFitnessAssignment.h>
|
||||
#include <fitness/moeoDummyFitnessAssignment.h>
|
||||
#include <algo/moeoEasyEA.h>
|
||||
#include <algo/moeoNSGAII.h>
|
||||
#include <moeoSteadyContinue.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un numerio de seed"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
eo::rng.reseed(atoi(argv[2]));
|
||||
|
||||
|
||||
//int beoEval<biVRP>::nbEval=0;
|
||||
string filename(argv[1]);
|
||||
mbiVRPDistMat mat;
|
||||
mat.load(filename);
|
||||
int popsize=200;
|
||||
|
||||
moeoFitnessComparator<biVRP> comp;
|
||||
biVRPUpEval evalU(mat);
|
||||
mbiVRPLowEval evalL(mat);
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
eval.nbEval=0;
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoL(comp);
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoU(comp);
|
||||
|
||||
VRP2 grou;
|
||||
grou.init(mat);
|
||||
PLA grou2;
|
||||
grou2.init(mat);
|
||||
|
||||
/******
|
||||
* ALGOU
|
||||
******/
|
||||
moeoDetTournamentSelect<biVRP> oneselectU(comp);
|
||||
eoSelectNumber<biVRP> selectU(oneselectU,popsize/3);
|
||||
eoSwapMutation<biVRP::U> mmutU(5);
|
||||
beoUpMut<biVRP> mutU(mmutU);
|
||||
|
||||
biVRPSBX xover;
|
||||
biVRPRBX xover2;
|
||||
eoGenerationalReplacement<biVRP> replaceU;
|
||||
eoPeriodicContinue<biVRP> contalgoU(10);
|
||||
eoBinGenOp<biVRP> genop(xover);
|
||||
eoMonGenOp<biVRP> genop2(mutU);
|
||||
eoBinGenOp<biVRP> genop3(xover2);
|
||||
eoDetTournamentSelect<biVRP> selectalgoU;
|
||||
eoSequentialOp<biVRP> nouvelopU;
|
||||
eoGeneralBreeder<biVRP> breedalgoU(oneselectU,nouvelopU);
|
||||
nouvelopU.add(genop2,0.5);
|
||||
eoEasyEA<biVRP> algoU(contalgoU,eval, breedalgoU, replaceU);
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
moeoParetoObjectiveVectorComparator<biVRP::L::ObjectiveVector> paretocomp;
|
||||
moeoFitnessComparator<biVRP> fitcomp;
|
||||
beoLowComparator<biVRP::ObjectiveVector> compL(paretocomp);
|
||||
moeoDetTournamentSelect<biVRP> oneselectL(fitcomp);
|
||||
moeoDummyDiversityAssignment<biVRP> divass;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,popsize/3);
|
||||
moeoGenerationalReplacement<biVRP> replaceL;
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoRealInterval interval;
|
||||
eoRealVectorBounds bounds(grou2.size(),interval);
|
||||
PolynomialMutation<biVRP::L> mmutL(bounds);
|
||||
SBXCrossover<biVRP::L> xoverMMM(bounds);
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoRankingSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
moeoSteadyContinue<biVRP> contalgoL(0,0,0.95);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
moeoNSGAII<biVRP> algoL(contalgoL,eval, opL);
|
||||
|
||||
/******
|
||||
* MAIN ALGO
|
||||
*****/
|
||||
|
||||
biVRPPerf2Worth perf2WorthU;
|
||||
biVRPPerf2Worth perf2WorthL;
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperU(perf2WorthU,2);
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperL(perf2WorthL,2);
|
||||
|
||||
beoLexContinue<biVRP> contU(100,100);
|
||||
moeoSteadyContinue<biVRP> contL(100,100);
|
||||
eoInitPermutation<VRP2> initpermut(grou.size());
|
||||
biVRPInit init(mat,initpermut);
|
||||
beoBestExchange<biVRP> coevo3;
|
||||
beoRateContainerCoevoOp<biVRP> coevo(coevo3,0.5);
|
||||
beoSelectOneUp<biVRP> su(ranselectpoperU);
|
||||
beoSelectOneLow<biVRP> sl(ranselectpoperL);
|
||||
eoSelectNumber<biVRP> selectPoperU(su,10);
|
||||
eoSelectNumber<biVRP> selectPoperL(sl,10);
|
||||
beoCoevoLinePop<biVRP> poper(coevo, 80);
|
||||
eoDeterministicSaDReplacement<biVRP> merge(0.8);
|
||||
|
||||
beoBLAISArchivetemp<biVRP> blais(algoU,algoL,eval,poper,contL,contU,selectCoevoU,selectCoevoL,merge);
|
||||
eoPop<biVRP> pop(popsize,init);
|
||||
for (int i=0;i<popsize;i++) {
|
||||
eval(pop[i]);
|
||||
}
|
||||
blais(pop);
|
||||
std::cout<<"nbEval"<<eval.nbEval<<std::endl;
|
||||
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of a hierarchical algorithm to solve the single-objective bilevel MDVRP
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoRateContainerCoevoOp.h>
|
||||
#include <beoDummyCoevoPop.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoBLAISArchivetemp.h>
|
||||
#include <beoBLAISArchivetemp.cpp>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoUpMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <biVRPPerf2Worth.h>
|
||||
#include <beoLexContinue.h>
|
||||
#include <beoCoevoAllPop.h>
|
||||
#include <beoSelectCoevoPop.h>
|
||||
#include <beoCoevoLinePop.h>
|
||||
#include <beoSelectOneUp.h>
|
||||
#include <beoSelectOneLow.h>
|
||||
#include <selection/moeoDetTournamentSelect.h>
|
||||
#include <comparator/moeoFitnessComparator.h>
|
||||
#include <replacement/moeoGenerationalReplacement.h>
|
||||
#include <beoRepairEval.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un numerio de seed"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
eo::rng.reseed(atoi(argv[2]));
|
||||
string filename(argv[1]);
|
||||
biVRPDistMat mat;
|
||||
mat.load(filename);
|
||||
int popsize=100;
|
||||
|
||||
moeoFitnessComparator<biVRP> comp;
|
||||
biVRPUpEval evalU(mat);
|
||||
biVRPLowEval evalL(mat);
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
eval.nbEval=0;
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
eoDetTournamentSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,popsize/3);
|
||||
eoGenerationalReplacement<biVRP> replaceL;
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoRankingSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoSteadyFitContinue<biVRP> contalgoL(100,100);
|
||||
eoEasyEA<biVRP> algoL(contalgoL,eval, breedalgoL, replaceL);
|
||||
|
||||
|
||||
/******
|
||||
* ALGOU
|
||||
******/
|
||||
beoRepairEval<biVRP> repeval(eval,algoL);
|
||||
moeoDetTournamentSelect<biVRP> oneselectU(comp);
|
||||
eoSelectNumber<biVRP> selectU(oneselectU,popsize/3);
|
||||
eoSwapMutation<biVRP::U> mmutU(5);
|
||||
beoUpMut<biVRP> mutU(mmutU);
|
||||
|
||||
biVRPSBX xover;
|
||||
biVRPRBX xover2;
|
||||
eoDeterministicSaDReplacement<biVRP> replaceU(0.3);
|
||||
eoBinGenOp<biVRP> genop(xover);
|
||||
eoMonGenOp<biVRP> genop2(mutU);
|
||||
eoBinGenOp<biVRP> genop3(xover2);
|
||||
eoDetTournamentSelect<biVRP> selectalgoU;
|
||||
eoSequentialOp<biVRP> nouvelopU;
|
||||
eoGeneralBreeder<biVRP> breedalgoU(oneselectU,nouvelopU);
|
||||
nouvelopU.add(genop,1);
|
||||
nouvelopU.add(genop2,0.3);
|
||||
nouvelopU.add(genop3,0.5);
|
||||
beoLexContinue<biVRP> contU(100,100);
|
||||
eoEasyEA<biVRP> algoU(contU,repeval, breedalgoU, replaceU);
|
||||
|
||||
|
||||
/******
|
||||
* MAIN ALGO
|
||||
*****/
|
||||
biVRPPerf2Worth perf2WorthU;
|
||||
biVRPPerf2Worth perf2WorthL;
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperU(perf2WorthU,2);
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperL(perf2WorthL,2);
|
||||
|
||||
VRP2 grou;
|
||||
grou.init(mat);
|
||||
eoInitPermutation<VRP2> initpermut(grou.size());
|
||||
biVRPInit init(mat,initpermut);
|
||||
eoDeterministicSaDReplacement<biVRP> merge(0.8);
|
||||
eoPop<biVRP> pop(100,init);
|
||||
for (int i=0;i<100;i++) repeval(pop[i]);
|
||||
algoU(pop);
|
||||
for (int i=0;i<pop.size();i++){
|
||||
std::cout<<"uprep "<<pop[i].upper()<<std::endl;
|
||||
std::cout<<"lowrep "<<pop[i].lower()<<std::endl;
|
||||
std::cout<<"fitrep "<<pop[i].upper().fitness()<<pop[i].lower().fitness()<<std::endl;
|
||||
}
|
||||
std::cout<<"nbEval"<<eval.nbEval<<std::endl;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of CoBRA, a coevolutionary algorithm, to solve the single-objective bilevel MDVRP
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoLeftieExchange.h>
|
||||
#include <op/beoRightieExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <op/beoRateContainerCoevoOp.h>
|
||||
#include <beoDummyCoevoPop.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoBLAISArchivetemp.h>
|
||||
#include <beoBLAISArchivetemp.cpp>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoUpMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <biVRPPerf2Worth.h>
|
||||
#include <beoLexContinue.h>
|
||||
#include <beoCoevoAllPop.h>
|
||||
#include <beoSelectCoevoPop.h>
|
||||
#include <beoCoevoLinePop.h>
|
||||
#include <beoSelectOneUp.h>
|
||||
#include <beoSelectOneLow.h>
|
||||
#include <selection/moeoDetTournamentSelect.h>
|
||||
#include <comparator/moeoFitnessComparator.h>
|
||||
#include <replacement/moeoGenerationalReplacement.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un numerio de seed"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
eo::rng.reseed(atoi(argv[2]));
|
||||
string filename(argv[1]);
|
||||
biVRPDistMat mat;
|
||||
mat.load(filename);
|
||||
int popsize=100;
|
||||
|
||||
moeoFitnessComparator<biVRP> comp;
|
||||
biVRPUpEval evalU(mat);
|
||||
biVRPLowEval evalL(mat);
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
eval.nbEval=0;
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoL(comp);
|
||||
moeoDetTournamentSelect<biVRP> selectCoevoU(comp);
|
||||
|
||||
/******
|
||||
* ALGOU
|
||||
******/
|
||||
moeoDetTournamentSelect<biVRP> oneselectU(comp);
|
||||
eoSelectNumber<biVRP> selectU(oneselectU,popsize/3);
|
||||
eoSwapMutation<biVRP::U> mmutU(5);
|
||||
beoUpMut<biVRP> mutU(mmutU);
|
||||
|
||||
biVRPSBX xover;
|
||||
biVRPRBX xover2;
|
||||
eoGenerationalReplacement<biVRP> replaceU;
|
||||
eoPeriodicContinue<biVRP> contalgoU(10);
|
||||
eoBinGenOp<biVRP> genop(xover);
|
||||
eoMonGenOp<biVRP> genop2(mutU);
|
||||
eoBinGenOp<biVRP> genop3(xover2);
|
||||
eoDetTournamentSelect<biVRP> selectalgoU;
|
||||
eoSequentialOp<biVRP> nouvelopU;
|
||||
eoGeneralBreeder<biVRP> breedalgoU(oneselectU,nouvelopU);
|
||||
nouvelopU.add(genop,1);
|
||||
nouvelopU.add(genop2,0.3);
|
||||
nouvelopU.add(genop3,0.5);
|
||||
eoEasyEA<biVRP> algoU(contalgoU,eval, breedalgoU, replaceU);
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
eoDetTournamentSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,popsize/3);
|
||||
eoGenerationalReplacement<biVRP> replaceL;
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoRankingSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoPeriodicContinue<biVRP> contalgoL(10);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
eoEasyEA<biVRP> algoL(contalgoL,eval, breedalgoL, replaceL);
|
||||
|
||||
/******
|
||||
* MAIN ALGO
|
||||
*****/
|
||||
|
||||
biVRPPerf2Worth perf2WorthU;
|
||||
biVRPPerf2Worth perf2WorthL;
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperU(perf2WorthU,2);
|
||||
eoDetTournamentWorthSelect<biVRP> ranselectpoperL(perf2WorthL,2);
|
||||
|
||||
beoLexContinue<biVRP> contU(100,100);
|
||||
beoLexContinue<biVRP> contL(100,100);
|
||||
VRP2 grou;
|
||||
grou.init(mat);
|
||||
eoInitPermutation<VRP2> initpermut(grou.size());
|
||||
biVRPInit init(mat,initpermut);
|
||||
beoBestExchange<biVRP> coevo3;
|
||||
beoRateContainerCoevoOp<biVRP> coevo(coevo3,0.5);
|
||||
beoSelectOneUp<biVRP> su(ranselectpoperU);
|
||||
beoSelectOneLow<biVRP> sl(ranselectpoperL);
|
||||
eoSelectNumber<biVRP> selectPoperU(su,10);
|
||||
eoSelectNumber<biVRP> selectPoperL(sl,10);
|
||||
beoCoevoLinePop<biVRP> poper(coevo, 80);
|
||||
eoDeterministicSaDReplacement<biVRP> merge(0.8);
|
||||
|
||||
beoBLAISArchivetemp<biVRP> blais(algoU,algoL,eval,poper,contL,contU,selectCoevoU,selectCoevoL,merge);
|
||||
eoPop<biVRP> pop(100,init);
|
||||
for (int i=0;i<100;i++) eval(pop[i]);
|
||||
blais(pop);
|
||||
std::cout<<"nbEval"<<eval.nbEval<<std::endl;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
181
branches/contribution/branches/bilevel/application/verifRat.cpp
Normal file
181
branches/contribution/branches/bilevel/application/verifRat.cpp
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of rationality calculator (direct rationality)
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un fichier de solution a verifier"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
biVRPDistMat mat;
|
||||
string filename(argv[1]);
|
||||
mat.load(filename);
|
||||
biVRPUpEval evalU(mat);
|
||||
biVRPLowEval evalL(mat);
|
||||
eoPop<biVRP> pop;
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
VRP2 vrp;
|
||||
vrp.init(mat);
|
||||
PLA pla;
|
||||
pla.init(mat);
|
||||
for (int x=2;x<argc;x++){
|
||||
string filenameSol(argv[x]);
|
||||
ifstream file(filenameSol.data());
|
||||
int vouvou=0;
|
||||
bool first=true;
|
||||
double bestscore;
|
||||
biVRP best;
|
||||
if (file.is_open())
|
||||
while (!file.eof()){
|
||||
std::vector<int> vrpvector;
|
||||
std::vector<double> plavector;
|
||||
for (int i=0;i<pla.size();i++){
|
||||
double top;
|
||||
file>>top;
|
||||
plavector.push_back(top);
|
||||
}
|
||||
for (int i=0;i<vrp.size();i++){
|
||||
int top;
|
||||
file>>top;
|
||||
vrpvector.push_back(top);
|
||||
}
|
||||
PLA neopla(plavector,mat);
|
||||
VRP2 neovrp(vrpvector,mat);
|
||||
biVRP bivrp(neovrp,neopla);
|
||||
eval(bivrp);
|
||||
if(first && !file.eof()){
|
||||
best=bivrp;
|
||||
bestscore=bivrp.upper().fitness();
|
||||
first=false;
|
||||
}else if(!file.eof()){
|
||||
if(bivrp.upper().fitness()>bestscore){
|
||||
bestscore=bivrp.upper().fitness();
|
||||
best=bivrp;
|
||||
}
|
||||
}
|
||||
}
|
||||
pop.push_back(best);
|
||||
}
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
eoEliteSequentialSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,10);
|
||||
eoDeterministicSaDReplacement<biVRP> replaceL(0.5);
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoEliteSequentialSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoSteadyFitContinue<biVRP> contalgoL(500,500);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
eoEasyEA<biVRP> algoL(contalgoL,eval, breedalgoL, replaceL);
|
||||
|
||||
double eps=0.1;
|
||||
for (unsigned int i=0;i<pop.size();i++){
|
||||
eval(pop[i]);
|
||||
double score=pop[i].lower().fitness();
|
||||
eoPop<biVRP> mmm;
|
||||
pop[i].setMode(false);
|
||||
bool finish=false;
|
||||
int res=0;
|
||||
for (int k=0; k<10000 && !finish; k++){
|
||||
mmm.clear();
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
algoL(mmm);
|
||||
for (unsigned int j=0; j<mmm.size();j++){
|
||||
mmm[j].invalidate();
|
||||
eval(mmm[j]);
|
||||
if (mmm[j].lower().fitness() > score && fabs(score- mmm[j].lower().fitness())>eps){
|
||||
res++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
std::cout<<res<<std::endl;
|
||||
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
183
branches/contribution/branches/bilevel/application/verifRat2.cpp
Normal file
183
branches/contribution/branches/bilevel/application/verifRat2.cpp
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of rationality calculator (direct rationality)
|
||||
#include <eo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un fichier de solution a verifier"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
biVRPDistMat mat;
|
||||
string filename(argv[1]);
|
||||
mat.load(filename);
|
||||
biVRPUpEval evalU(mat);
|
||||
biVRPLowEval evalL(mat);
|
||||
eoPop<biVRP> pop;
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
VRP2 vrp;
|
||||
vrp.init(mat);
|
||||
PLA pla;
|
||||
pla.init(mat);
|
||||
for (int x=2;x<argc;x++){
|
||||
string filenameSol(argv[x]);
|
||||
ifstream file(filenameSol.data());
|
||||
int vouvou=0;
|
||||
bool first=true;
|
||||
double bestscore;
|
||||
biVRP best;
|
||||
if (file.is_open())
|
||||
while (!file.eof()){
|
||||
std::vector<int> vrpvector;
|
||||
std::vector<double> plavector;
|
||||
for (int i=0;i<vrp.size();i++){
|
||||
int top;
|
||||
file>>top;
|
||||
vrpvector.push_back(top);
|
||||
}
|
||||
for (int i=0;i<pla.size();i++){
|
||||
double top;
|
||||
file>>top;
|
||||
plavector.push_back(top);
|
||||
}
|
||||
PLA neopla(plavector,mat);
|
||||
VRP2 neovrp(vrpvector,mat);
|
||||
biVRP bivrp(neovrp,neopla);
|
||||
eval(bivrp);
|
||||
if(first && !file.eof()){
|
||||
best=bivrp;
|
||||
bestscore=bivrp.upper().fitness();
|
||||
first=false;
|
||||
}else if(!file.eof()){
|
||||
if(bivrp.upper().fitness()>bestscore){
|
||||
bestscore=bivrp.upper().fitness();
|
||||
best=bivrp;
|
||||
}
|
||||
}
|
||||
}
|
||||
pop.push_back(best);
|
||||
}
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
eoEliteSequentialSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,10);
|
||||
eoDeterministicSaDReplacement<biVRP> replaceL(0.5);
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoEliteSequentialSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoSteadyFitContinue<biVRP> contalgoL(500,500);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
eoEasyEA<biVRP> algoL(contalgoL,eval, breedalgoL, replaceL);
|
||||
|
||||
double eps=0.1;
|
||||
for (unsigned int i=0;i<pop.size();i++){
|
||||
eval(pop[i]);
|
||||
double score=pop[i].lower().fitness();
|
||||
eoPop<biVRP> mmm;
|
||||
pop[i].setMode(false);
|
||||
bool finish=false;
|
||||
int res=0;
|
||||
for (int k=0; k<10000 && !finish; k++){
|
||||
mmm.clear();
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
mmm.push_back(pop[i]);
|
||||
algoL(mmm);
|
||||
double tmp=0;
|
||||
for (unsigned int j=0; j<mmm.size();j++){
|
||||
mmm[j].invalidate();
|
||||
eval(mmm[j]);
|
||||
if (mmm[j].lower().fitness() > score && fabs(score- mmm[j].lower().fitness())>eps){
|
||||
if (tmp<score/mmm[j].lower().fitness())
|
||||
tmp=score/mmm[j].lower().fitness();
|
||||
}
|
||||
}
|
||||
res+=tmp;
|
||||
}
|
||||
std::cout<<res<<std::endl;
|
||||
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of rationality calculator (weighted rationality)
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <mbiVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <mbiVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <beoLowComparator.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un fichier de solution a verifier"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
mbiVRPDistMat mat;
|
||||
string filename(argv[1]);
|
||||
mat.load(filename);
|
||||
biVRPUpEval evalU(mat);
|
||||
mbiVRPLowEval evalL(mat);
|
||||
eoPop<biVRP> pop;
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
VRP2 vrp;
|
||||
vrp.init(mat);
|
||||
PLA pla;
|
||||
pla.init(mat);
|
||||
moeoParetoObjectiveVectorComparator<biVRP::L::ObjectiveVector> compL;
|
||||
beoLowComparator<biVRP::ObjectiveVector> comp(compL);
|
||||
moeoUnboundedArchive<biVRP> arc(comp);
|
||||
for (int x=2;x<argc;x++){
|
||||
string filenameSol(argv[x]);
|
||||
ifstream file(filenameSol.data());
|
||||
int vouvou=0;
|
||||
bool first=true;
|
||||
double bestscore;
|
||||
biVRP best;
|
||||
if (file.is_open())
|
||||
while (!file.eof()){
|
||||
std::vector<int> vrpvector;
|
||||
std::vector<double> plavector;
|
||||
for (int i=0;i<pla.size();i++){
|
||||
double top;
|
||||
file>>top;
|
||||
plavector.push_back(top);
|
||||
}
|
||||
for (int i=0;i<vrp.size();i++){
|
||||
int top;
|
||||
file>>top;
|
||||
vrpvector.push_back(top);
|
||||
}
|
||||
PLA neopla(plavector,mat);
|
||||
VRP2 neovrp(vrpvector,mat);
|
||||
biVRP bivrp(neovrp,neopla);
|
||||
eval(bivrp);
|
||||
arc(bivrp);
|
||||
}
|
||||
}
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
eoEliteSequentialSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,10);
|
||||
eoDeterministicSaDReplacement<biVRP> replaceL(0.5);
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoEliteSequentialSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoPeriodicContinue<biVRP> contalgoL(500);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
moeoNSGAII<biVRP> algoL(contalgoL,eval, opL);
|
||||
double eps=0.1;
|
||||
int res=0;
|
||||
for (int k=0; k<100 ; k++){
|
||||
pop=arc;
|
||||
algoL(pop);
|
||||
bool stop=false;
|
||||
for (int j=0;j<pop.size() && !stop;j++){
|
||||
for (int l=0;l<arc.size();l++){
|
||||
if (compL(arc[l].objectiveVector().low(),pop[j].objectiveVector().low())){
|
||||
res++;
|
||||
stop=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
std::cout<<res<<std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,156 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Implementation of rationality calculator (weighted rationality)
|
||||
#include <eo>
|
||||
#include <moeo>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <mbiVRPDistMat.h>
|
||||
#include <VRP2Eval.h>
|
||||
#include <VRP2.h>
|
||||
#include <VRP2InitNN.h>
|
||||
#include <eoSwapMutation.h>
|
||||
#include <eoOrderXover.h>
|
||||
#include <eoPop.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoEasyEA.h>
|
||||
#include <BEO.h>
|
||||
#include <PLA.h>
|
||||
#include <eoStochTournamentSelect.h>
|
||||
#include <op/biVRPRBX.h>
|
||||
#include <op/biVRPSBX.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <op/beoCoevoUpExchange.h>
|
||||
#include <op/beoCoevoLowExchange.h>
|
||||
#include <op/beoBestExchange.h>
|
||||
#include <eoSurviveAndDie.h>
|
||||
#include <biVRP.h>
|
||||
#include <biVRPLowEval.h>
|
||||
#include <mbiVRPLowEval.h>
|
||||
#include <biVRPUpEval.h>
|
||||
#include <beoEval.h>
|
||||
#include <beoLowQuad.h>
|
||||
#include <beoUpQuad.h>
|
||||
#include <beoLowMut.h>
|
||||
#include <beoInit.h>
|
||||
#include <PLARandInit.h>
|
||||
#include <es/eoRealOp.h>
|
||||
#include <biVRPInit.h>
|
||||
#include <es/eoNormalMutation.h>
|
||||
#include <PLAInitResp.h>
|
||||
#include <beoLowComparator.h>
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (argc<3) {
|
||||
cout<< "donnez un nom d'instance et un fichier de solution a verifier"<<endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
mbiVRPDistMat mat;
|
||||
string filename(argv[1]);
|
||||
mat.load(filename);
|
||||
biVRPUpEval evalU(mat);
|
||||
mbiVRPLowEval evalL(mat);
|
||||
eoPop<biVRP> pop;
|
||||
beoEval<biVRP> eval(evalL,evalU);
|
||||
VRP2 vrp;
|
||||
vrp.init(mat);
|
||||
PLA pla;
|
||||
pla.init(mat);
|
||||
moeoParetoObjectiveVectorComparator<biVRP::L::ObjectiveVector> compL;
|
||||
beoLowComparator<biVRP::ObjectiveVector> comp(compL);
|
||||
moeoUnboundedArchive<biVRP> arc(comp);
|
||||
for (int x=2;x<argc;x++){
|
||||
string filenameSol(argv[x]);
|
||||
ifstream file(filenameSol.data());
|
||||
int vouvou=0;
|
||||
bool first=true;
|
||||
double bestscore;
|
||||
biVRP best;
|
||||
if (file.is_open())
|
||||
while (!file.eof()){
|
||||
std::vector<int> vrpvector;
|
||||
std::vector<double> plavector;
|
||||
for (int i=0;i<vrp.size();i++){
|
||||
int top;
|
||||
file>>top;
|
||||
vrpvector.push_back(top);
|
||||
}
|
||||
for (int i=0;i<pla.size();i++){
|
||||
double top;
|
||||
file>>top;
|
||||
plavector.push_back(top);
|
||||
}
|
||||
PLA neopla(plavector,mat);
|
||||
VRP2 neovrp(vrpvector,mat);
|
||||
biVRP bivrp(neovrp,neopla);
|
||||
eval(bivrp);
|
||||
arc(bivrp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*******
|
||||
* ALGOL
|
||||
******/
|
||||
|
||||
eoEliteSequentialSelect<biVRP> oneselectL;
|
||||
eoSelectNumber<biVRP> selectL(oneselectL,10);
|
||||
eoDeterministicSaDReplacement<biVRP> replaceL(0.5);
|
||||
double sigma=0.5;
|
||||
double proba=0.1;
|
||||
eoNormalMutation<biVRP::L> mmutL(sigma,proba);
|
||||
eoRealUXover<biVRP::L> xoverMMM;
|
||||
beoLowQuad<biVRP> xoveralgoL(xoverMMM);
|
||||
beoLowMut<biVRP> mutL(mmutL);
|
||||
eoMonGenOp<biVRP> genopalgoU1(mutL);
|
||||
eoEliteSequentialSelect<biVRP> selectalgoL;
|
||||
eoSequentialOp<biVRP> opL;
|
||||
eoGeneralBreeder<biVRP> breedalgoL(selectalgoL,opL);
|
||||
opL.add(mutL,0.5);
|
||||
opL.add(xoveralgoL,1);
|
||||
eoPeriodicContinue<biVRP> contalgoL(500);
|
||||
PLARandInit initpla(mat);
|
||||
|
||||
moeoNSGAII<biVRP> algoL(contalgoL,eval, opL);
|
||||
double eps=0.1;
|
||||
int res=0;
|
||||
algoL(arc);
|
||||
for (int i=0;i<arc.size();i++)
|
||||
std::cout<<arc[i].objectiveVector().low()<<std::endl;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
28
branches/contribution/branches/bilevel/install.cmake
Normal file
28
branches/contribution/branches/bilevel/install.cmake
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#########################################################################################################
|
||||
# 1) ParadisEO install: SIMPLE Configuration
|
||||
#########################################################################################################
|
||||
|
||||
# Here, just specify PARADISEO_DIR : the directory where ParadisEO has been installed
|
||||
SET(PARADISEO_DIR "/home/francois/paradiseo_1.3/paradiseo-1.3-beta2/" CACHE PATH "ParadisEO directory" FORCE)
|
||||
|
||||
#########################################################################################################
|
||||
|
||||
|
||||
|
||||
#########################################################################################################
|
||||
# 2) ParadisEO install: ADVANCED Configuration
|
||||
#########################################################################################################
|
||||
|
||||
SET(PARADISEO_EO_SRC_DIR "${PARADISEO_DIR}/paradiseo-eo" CACHE PATH "ParadisEO-EO source directory" FORCE)
|
||||
SET(PARADISEO_EO_BIN_DIR "${PARADISEO_DIR}/paradiseo-eo/build" CACHE PATH "ParadisEO-EO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_MO_SRC_DIR "${PARADISEO_DIR}/paradiseo-mo" CACHE PATH "ParadisEO-MO source directory" FORCE)
|
||||
SET(PARADISEO_MO_BIN_DIR "${PARADISEO_DIR}/paradiseo-mo/build" CACHE PATH "ParadisEO-MO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_MOEO_SRC_DIR "${PARADISEO_DIR}/paradiseo-moeo" CACHE PATH "ParadisEO-MOEO source directory" FORCE)
|
||||
SET(PARADISEO_MOEO_BIN_DIR "${PARADISEO_DIR}/paradiseo-moeo/build" CACHE PATH "ParadisEO-MOEO binary directory" FORCE)
|
||||
|
||||
SET(PARADISEO_PEO_SRC_DIR "${PARADISEO_DIR}/paradiseo-peo" CACHE PATH "ParadisEO-PEO source directory" FORCE)
|
||||
SET(PARADISEO_PEO_BIN_DIR "${PARADISEO_DIR}/paradiseo-peo/build" CACHE PATH "ParadisEO-PEO binary directory" FORCE)
|
||||
#########################################################################################################
|
||||
|
||||
61
branches/contribution/branches/bilevel/instances/bipr01
Normal file
61
branches/contribution/branches/bilevel/instances/bipr01
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
8 1 48 4 4
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
1 -29.730 64.136 2 12 1 4 1 2 4 8
|
||||
2 -30.664 5.463 7 8 1 4 1 2 4 8
|
||||
3 51.642 5.469 21 16 1 4 1 2 4 8
|
||||
4 -13.171 69.336 24 5 1 4 1 2 4 8
|
||||
5 -67.413 68.323 1 12 1 4 1 2 4 8
|
||||
6 48.907 6.274 17 5 1 4 1 2 4 8
|
||||
7 5.243 22.260 6 13 1 4 1 2 4 8
|
||||
8 -65.002 77.234 5 20 1 4 1 2 4 8
|
||||
9 -4.175 -1.569 7 13 1 4 1 2 4 8
|
||||
10 23.029 11.639 1 18 1 4 1 2 4 8
|
||||
11 25.482 6.287 4 7 1 4 1 2 4 8
|
||||
12 -42.615 -26.392 10 6 1 4 1 2 4 8
|
||||
13 -76.672 99.341 2 9 1 4 1 2 4 8
|
||||
14 -20.673 57.892 16 9 1 4 1 2 4 8
|
||||
15 -52.039 6.567 23 4 1 4 1 2 4 8
|
||||
16 -41.376 50.824 18 25 1 4 1 2 4 8
|
||||
17 -91.943 27.588 3 5 1 4 1 2 4 8
|
||||
18 -65.118 30.212 15 17 1 4 1 2 4 8
|
||||
19 18.597 96.716 13 3 1 4 1 2 4 8
|
||||
20 -40.942 83.209 10 16 1 4 1 2 4 8
|
||||
21 -37.756 -33.325 4 25 1 4 1 2 4 8
|
||||
22 23.767 29.083 23 21 1 4 1 2 4 8
|
||||
23 -43.030 20.453 20 14 1 4 1 2 4 8
|
||||
24 -35.297 -24.896 10 19 1 4 1 2 4 8
|
||||
25 -54.755 14.368 4 14 1 4 1 2 4 8
|
||||
26 -49.329 33.374 2 6 1 4 1 2 4 8
|
||||
27 57.404 23.822 23 16 1 4 1 2 4 8
|
||||
28 -22.754 55.408 6 9 1 4 1 2 4 8
|
||||
29 -56.622 73.340 8 20 1 4 1 2 4 8
|
||||
30 -38.562 -3.705 10 13 1 4 1 2 4 8
|
||||
31 -16.779 19.537 7 10 1 4 1 2 4 8
|
||||
32 -11.560 11.615 1 16 1 4 1 2 4 8
|
||||
33 -46.545 97.974 21 19 1 4 1 2 4 8
|
||||
34 16.229 9.320 6 22 1 4 1 2 4 8
|
||||
35 1.294 7.349 4 14 1 4 1 2 4 8
|
||||
36 -26.404 29.529 13 10 1 4 1 2 4 8
|
||||
37 4.352 14.685 9 11 1 4 1 2 4 8
|
||||
38 -50.665 -23.126 22 15 1 4 1 2 4 8
|
||||
39 -22.833 -9.814 22 13 1 4 1 2 4 8
|
||||
40 -71.100 -18.616 18 15 1 4 1 2 4 8
|
||||
41 -7.849 32.074 10 8 1 4 1 2 4 8
|
||||
42 11.877 -24.933 25 22 1 4 1 2 4 8
|
||||
43 -18.927 -23.730 23 24 1 4 1 2 4 8
|
||||
44 -11.920 11.755 4 3 1 4 1 2 4 8
|
||||
45 29.840 11.633 9 25 1 4 1 2 4 8
|
||||
46 12.268 -55.811 17 19 1 4 1 2 4 8
|
||||
47 -37.933 -21.613 10 21 1 4 1 2 4 8
|
||||
48 42.883 -2.966 17 10 1 4 1 2 4 8
|
||||
49 4.163 13.559 0 0 0 0
|
||||
50 21.387 17.105 0 0 0 0
|
||||
51 -36.118 49.097 0 0 0 0
|
||||
52 -31.201 0.235 0 0 0 0
|
||||
50 131 51 0 9367 0.779436 2.07504
|
||||
51 -102 61 0 6093 0.710078 2.66275
|
||||
52 153 98 0 3781 0.709408 3.0784
|
||||
53 57 -89 0 8535 0.687987 3.77113
|
||||
109
branches/contribution/branches/bilevel/instances/bipr02
Normal file
109
branches/contribution/branches/bilevel/instances/bipr02
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
8 2 96 4 4
|
||||
480 195
|
||||
480 195
|
||||
480 195
|
||||
480 195
|
||||
1 33.588 30.750 12 4 1 4 1 2 4 8
|
||||
2 48.828 65.314 1 12 1 4 1 2 4 8
|
||||
3 86.176 59.344 1 3 1 4 1 2 4 8
|
||||
4 39.270 -33.057 15 15 1 4 1 2 4 8
|
||||
5 -23.370 86.853 10 13 1 4 1 2 4 8
|
||||
6 48.132 95.593 12 20 1 4 1 2 4 8
|
||||
7 -16.357 93.311 15 21 1 4 1 2 4 8
|
||||
8 -57.703 -65.601 16 4 1 4 1 2 4 8
|
||||
9 7.147 32.684 18 25 1 4 1 2 4 8
|
||||
10 42.950 68.701 9 21 1 4 1 2 4 8
|
||||
11 37.085 -2.112 5 7 1 4 1 2 4 8
|
||||
12 77.759 55.817 19 3 1 4 1 2 4 8
|
||||
13 -17.462 -56.567 11 9 1 4 1 2 4 8
|
||||
14 58.575 59.888 12 5 1 4 1 2 4 8
|
||||
15 57.776 15.344 13 20 1 4 1 2 4 8
|
||||
16 -22.327 36.072 8 21 1 4 1 2 4 8
|
||||
17 -7.080 30.493 14 19 1 4 1 2 4 8
|
||||
18 55.658 60.425 9 2 1 4 1 2 4 8
|
||||
19 -14.307 11.456 2 16 1 4 1 2 4 8
|
||||
20 -29.724 24.268 25 18 1 4 1 2 4 8
|
||||
21 43.219 0.739 6 24 1 4 1 2 4 8
|
||||
22 45.184 35.474 16 24 1 4 1 2 4 8
|
||||
23 64.484 2.240 18 8 1 4 1 2 4 8
|
||||
24 55.078 72.241 4 16 1 4 1 2 4 8
|
||||
25 16.925 15.741 17 19 1 4 1 2 4 8
|
||||
26 45.038 -3.723 4 12 1 4 1 2 4 8
|
||||
27 -76.782 5.939 22 9 1 4 1 2 4 8
|
||||
28 36.169 0.256 12 3 1 4 1 2 4 8
|
||||
29 29.218 8.936 13 15 1 4 1 2 4 8
|
||||
30 65.057 5.225 5 4 1 4 1 2 4 8
|
||||
31 42.175 -22.284 24 24 1 4 1 2 4 8
|
||||
32 25.574 31.726 12 22 1 4 1 2 4 8
|
||||
33 31.561 37.262 16 14 1 4 1 2 4 8
|
||||
34 66.498 -54.169 8 11 1 4 1 2 4 8
|
||||
35 46.576 -17.938 10 20 1 4 1 2 4 8
|
||||
36 65.063 40.875 15 5 1 4 1 2 4 8
|
||||
37 -2.716 24.768 21 11 1 4 1 2 4 8
|
||||
38 -40.002 3.870 5 12 1 4 1 2 4 8
|
||||
39 -73.505 57.043 9 7 1 4 1 2 4 8
|
||||
40 81.146 -25.714 5 1 1 4 1 2 4 8
|
||||
41 12.006 -7.965 9 23 1 4 1 2 4 8
|
||||
42 42.761 38.092 20 13 1 4 1 2 4 8
|
||||
43 3.857 -23.181 14 4 1 4 1 2 4 8
|
||||
44 -7.367 24.390 24 23 1 4 1 2 4 8
|
||||
45 35.944 -11.835 23 17 1 4 1 2 4 8
|
||||
46 52.075 9.692 12 13 1 4 1 2 4 8
|
||||
47 30.725 30.701 13 9 1 4 1 2 4 8
|
||||
48 41.223 77.924 19 10 1 4 1 2 4 8
|
||||
49 68.884 -40.546 21 22 1 4 1 2 4 8
|
||||
50 76.312 86.670 5 21 1 4 1 2 4 8
|
||||
51 63.934 78.540 9 13 1 4 1 2 4 8
|
||||
52 29.150 -9.961 23 25 1 4 1 2 4 8
|
||||
53 85.522 39.954 8 8 1 4 1 2 4 8
|
||||
54 31.775 3.870 5 20 1 4 1 2 4 8
|
||||
55 -20.544 19.086 8 3 1 4 1 2 4 8
|
||||
56 55.353 43.817 10 4 1 4 1 2 4 8
|
||||
57 35.406 10.278 9 13 1 4 1 2 4 8
|
||||
58 25.464 -0.287 21 18 1 4 1 2 4 8
|
||||
59 12.396 0.244 12 1 1 4 1 2 4 8
|
||||
60 18.359 20.917 8 10 1 4 1 2 4 8
|
||||
61 27.960 -15.039 4 16 1 4 1 2 4 8
|
||||
62 -3.192 19.879 14 9 1 4 1 2 4 8
|
||||
63 9.332 -41.351 19 13 1 4 1 2 4 8
|
||||
64 -20.581 38.177 23 23 1 4 1 2 4 8
|
||||
65 27.820 28.729 4 14 1 4 1 2 4 8
|
||||
66 59.027 42.310 9 5 1 4 1 2 4 8
|
||||
67 56.311 58.734 1 1 1 4 1 2 4 8
|
||||
68 -51.654 -0.342 21 6 1 4 1 2 4 8
|
||||
69 2.576 32.721 20 20 1 4 1 2 4 8
|
||||
70 15.131 -3.046 24 10 1 4 1 2 4 8
|
||||
71 66.595 34.937 22 19 1 4 1 2 4 8
|
||||
72 19.476 20.142 25 24 1 4 1 2 4 8
|
||||
73 -1.172 20.648 19 3 1 4 1 2 4 8
|
||||
74 -21.204 13.660 14 5 1 4 1 2 4 8
|
||||
75 98.846 1.257 11 13 1 4 1 2 4 8
|
||||
76 82.593 72.003 22 5 1 4 1 2 4 8
|
||||
77 30.017 -30.896 25 4 1 4 1 2 4 8
|
||||
78 33.228 41.663 5 12 1 4 1 2 4 8
|
||||
79 39.490 -8.539 10 11 1 4 1 2 4 8
|
||||
80 54.498 70.813 4 20 1 4 1 2 4 8
|
||||
81 3.058 10.248 4 13 1 4 1 2 4 8
|
||||
82 51.831 -16.870 6 1 1 4 1 2 4 8
|
||||
83 76.416 11.346 22 3 1 4 1 2 4 8
|
||||
84 5.243 0.238 17 2 1 4 1 2 4 8
|
||||
85 50.592 34.247 22 23 1 4 1 2 4 8
|
||||
86 -5.231 -2.081 3 8 1 4 1 2 4 8
|
||||
87 24.194 25.836 25 25 1 4 1 2 4 8
|
||||
88 33.630 37.585 22 18 1 4 1 2 4 8
|
||||
89 31.445 -7.001 23 4 1 4 1 2 4 8
|
||||
90 30.707 -28.168 16 5 1 4 1 2 4 8
|
||||
91 49.860 1.038 13 21 1 4 1 2 4 8
|
||||
92 -35.767 14.142 23 23 1 4 1 2 4 8
|
||||
93 -29.309 4.889 1 19 1 4 1 2 4 8
|
||||
94 19.049 41.974 11 2 1 4 1 2 4 8
|
||||
95 27.600 13.934 19 21 1 4 1 2 4 8
|
||||
96 52.832 50.684 21 10 1 4 1 2 4 8
|
||||
97 6.229 10.590 0 0 0 0
|
||||
98 32.663 44.730 0 0 0 0
|
||||
99 48.807 48.792 0 0 0 0
|
||||
100 33.179 -4.968 0 0 0 0
|
||||
99 -95 1 0 1435 0.967877 3.26867
|
||||
100 62 -102 0 2218 0.981788 4.06512
|
||||
101 157 -93 0 1830 0.741686 4.39922
|
||||
102 71 132 0 1615 0.580842 2.47597
|
||||
157
branches/contribution/branches/bilevel/instances/bipr03
Normal file
157
branches/contribution/branches/bilevel/instances/bipr03
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
8 3 144 4 4
|
||||
460 190
|
||||
460 190
|
||||
460 190
|
||||
460 190
|
||||
1 -55.280 -24.371 25 9 1 4 1 2 4 8
|
||||
2 -48.297 53.314 13 22 1 4 1 2 4 8
|
||||
3 -49.072 -38.489 20 10 1 4 1 2 4 8
|
||||
4 25.311 -18.561 16 24 1 4 1 2 4 8
|
||||
5 -24.469 -3.815 4 25 1 4 1 2 4 8
|
||||
6 24.591 -17.896 2 6 1 4 1 2 4 8
|
||||
7 -10.419 60.364 7 22 1 4 1 2 4 8
|
||||
8 38.177 -35.175 15 1 1 4 1 2 4 8
|
||||
9 -68.280 93.073 10 19 1 4 1 2 4 8
|
||||
10 -30.792 -57.336 4 19 1 4 1 2 4 8
|
||||
11 -37.061 -12.122 19 5 1 4 1 2 4 8
|
||||
12 -15.741 -47.638 10 9 1 4 1 2 4 8
|
||||
13 -63.379 -22.919 15 8 1 4 1 2 4 8
|
||||
14 -43.109 -43.439 4 14 1 4 1 2 4 8
|
||||
15 -25.623 13.599 17 4 1 4 1 2 4 8
|
||||
16 -2.625 16.632 4 7 1 4 1 2 4 8
|
||||
17 -41.577 -28.497 3 10 1 4 1 2 4 8
|
||||
18 2.081 12.885 9 22 1 4 1 2 4 8
|
||||
19 3.925 -47.845 25 17 1 4 1 2 4 8
|
||||
20 -83.295 26.324 14 10 1 4 1 2 4 8
|
||||
21 -6.458 26.355 23 8 1 4 1 2 4 8
|
||||
22 3.290 6.732 7 14 1 4 1 2 4 8
|
||||
23 -34.869 30.426 7 12 1 4 1 2 4 8
|
||||
24 15.546 -36.273 1 17 1 4 1 2 4 8
|
||||
25 12.842 5.127 10 19 1 4 1 2 4 8
|
||||
26 -48.450 -24.426 15 25 1 4 1 2 4 8
|
||||
27 -88.538 -10.461 1 25 1 4 1 2 4 8
|
||||
28 -29.773 0.995 2 6 1 4 1 2 4 8
|
||||
29 9.827 38.416 9 21 1 4 1 2 4 8
|
||||
30 1.410 92.938 10 3 1 4 1 2 4 8
|
||||
31 -79.303 15.381 2 19 1 4 1 2 4 8
|
||||
32 -30.652 40.063 23 16 1 4 1 2 4 8
|
||||
33 18.927 21.637 15 21 1 4 1 2 4 8
|
||||
34 45.087 -59.906 13 17 1 4 1 2 4 8
|
||||
35 -34.949 -3.815 16 19 1 4 1 2 4 8
|
||||
36 81.201 -74.744 21 6 1 4 1 2 4 8
|
||||
37 15.594 -28.455 1 10 1 4 1 2 4 8
|
||||
38 -72.192 29.547 18 22 1 4 1 2 4 8
|
||||
39 -42.914 -22.675 17 17 1 4 1 2 4 8
|
||||
40 -76.392 -57.489 13 16 1 4 1 2 4 8
|
||||
41 -28.540 12.073 5 5 1 4 1 2 4 8
|
||||
42 -61.389 26.526 23 1 1 4 1 2 4 8
|
||||
43 -8.472 12.616 20 21 1 4 1 2 4 8
|
||||
44 -61.475 33.392 1 20 1 4 1 2 4 8
|
||||
45 -34.674 -27.588 2 6 1 4 1 2 4 8
|
||||
46 10.315 -12.518 15 1 1 4 1 2 4 8
|
||||
47 -83.014 77.002 20 11 1 4 1 2 4 8
|
||||
48 -40.417 49.988 9 22 1 4 1 2 4 8
|
||||
49 83.832 33.905 13 25 1 4 1 2 4 8
|
||||
50 -20.563 -75.830 4 18 1 4 1 2 4 8
|
||||
51 15.442 -18.719 15 9 1 4 1 2 4 8
|
||||
52 -59.937 -65.802 5 23 1 4 1 2 4 8
|
||||
53 5.151 47.815 8 17 1 4 1 2 4 8
|
||||
54 46.008 14.990 19 4 1 4 1 2 4 8
|
||||
55 82.977 -1.660 16 1 1 4 1 2 4 8
|
||||
56 39.893 -38.916 11 14 1 4 1 2 4 8
|
||||
57 90.839 -83.539 23 11 1 4 1 2 4 8
|
||||
58 7.068 0.067 14 7 1 4 1 2 4 8
|
||||
59 18.958 40.088 24 21 1 4 1 2 4 8
|
||||
60 -80.487 58.209 5 3 1 4 1 2 4 8
|
||||
61 64.459 -62.946 5 18 1 4 1 2 4 8
|
||||
62 -43.616 -26.117 23 5 1 4 1 2 4 8
|
||||
63 -18.408 10.303 3 6 1 4 1 2 4 8
|
||||
64 -43.921 63.251 10 22 1 4 1 2 4 8
|
||||
65 11.353 26.221 23 13 1 4 1 2 4 8
|
||||
66 -6.995 38.239 23 17 1 4 1 2 4 8
|
||||
67 74.084 -34.216 20 5 1 4 1 2 4 8
|
||||
68 14.301 -0.800 5 7 1 4 1 2 4 8
|
||||
69 -94.141 -48.779 14 1 1 4 1 2 4 8
|
||||
70 15.332 -42.169 1 3 1 4 1 2 4 8
|
||||
71 -46.637 -16.461 10 10 1 4 1 2 4 8
|
||||
72 -0.958 -81.000 3 5 1 4 1 2 4 8
|
||||
73 -37.445 -42.505 4 1 1 4 1 2 4 8
|
||||
74 -3.680 -69.073 23 17 1 4 1 2 4 8
|
||||
75 34.894 -20.898 21 14 1 4 1 2 4 8
|
||||
76 45.544 51.410 3 4 1 4 1 2 4 8
|
||||
77 -31.927 88.239 21 10 1 4 1 2 4 8
|
||||
78 -13.580 -26.959 25 25 1 4 1 2 4 8
|
||||
79 12.653 -48.340 5 11 1 4 1 2 4 8
|
||||
80 -46.179 -38.269 11 16 1 4 1 2 4 8
|
||||
81 -29.620 35.083 10 25 1 4 1 2 4 8
|
||||
82 13.696 43.988 5 20 1 4 1 2 4 8
|
||||
83 38.342 -46.338 3 3 1 4 1 2 4 8
|
||||
84 -26.227 24.506 13 7 1 4 1 2 4 8
|
||||
85 90.009 -43.640 19 2 1 4 1 2 4 8
|
||||
86 -6.995 22.522 13 6 1 4 1 2 4 8
|
||||
87 -29.993 -28.851 8 14 1 4 1 2 4 8
|
||||
88 -56.268 -64.740 13 14 1 4 1 2 4 8
|
||||
89 -87.415 90.796 15 2 1 4 1 2 4 8
|
||||
90 -5.762 54.034 10 15 1 4 1 2 4 8
|
||||
91 -34.845 -27.185 4 22 1 4 1 2 4 8
|
||||
92 -16.479 16.180 23 4 1 4 1 2 4 8
|
||||
93 23.712 29.492 23 22 1 4 1 2 4 8
|
||||
94 -40.991 46.594 14 19 1 4 1 2 4 8
|
||||
95 -53.516 -21.619 20 5 1 4 1 2 4 8
|
||||
96 -17.560 37.494 3 10 1 4 1 2 4 8
|
||||
97 -37.311 56.836 5 4 1 4 1 2 4 8
|
||||
98 71.515 22.510 16 7 1 4 1 2 4 8
|
||||
99 -41.864 27.710 21 11 1 4 1 2 4 8
|
||||
100 14.819 -82.117 4 14 1 4 1 2 4 8
|
||||
101 30.316 -55.322 2 2 1 4 1 2 4 8
|
||||
102 -39.172 47.998 11 12 1 4 1 2 4 8
|
||||
103 -94.415 15.192 15 12 1 4 1 2 4 8
|
||||
104 -7.806 11.273 16 24 1 4 1 2 4 8
|
||||
105 28.571 -49.908 3 8 1 4 1 2 4 8
|
||||
106 -20.654 24.554 21 4 1 4 1 2 4 8
|
||||
107 -30.963 -18.903 21 25 1 4 1 2 4 8
|
||||
108 1.721 -20.447 25 6 1 4 1 2 4 8
|
||||
109 -31.012 -21.106 12 9 1 4 1 2 4 8
|
||||
110 -85.718 -28.015 21 23 1 4 1 2 4 8
|
||||
111 58.826 -63.043 6 15 1 4 1 2 4 8
|
||||
112 -15.753 -52.686 2 7 1 4 1 2 4 8
|
||||
113 -71.661 51.184 24 6 1 4 1 2 4 8
|
||||
114 -92.633 -6.598 21 5 1 4 1 2 4 8
|
||||
115 33.508 -49.255 24 12 1 4 1 2 4 8
|
||||
116 59.314 54.095 11 3 1 4 1 2 4 8
|
||||
117 30.737 -28.436 12 22 1 4 1 2 4 8
|
||||
118 -55.896 18.457 22 18 1 4 1 2 4 8
|
||||
119 -89.960 -39.532 19 16 1 4 1 2 4 8
|
||||
120 36.438 20.819 8 5 1 4 1 2 4 8
|
||||
121 -53.674 -56.427 9 1 1 4 1 2 4 8
|
||||
122 -31.866 32.538 10 8 1 4 1 2 4 8
|
||||
123 5.658 12.756 5 20 1 4 1 2 4 8
|
||||
124 -52.905 42.804 14 17 1 4 1 2 4 8
|
||||
125 47.131 -45.465 7 11 1 4 1 2 4 8
|
||||
126 30.792 9.869 5 8 1 4 1 2 4 8
|
||||
127 -45.209 -56.293 22 15 1 4 1 2 4 8
|
||||
128 10.919 13.306 5 16 1 4 1 2 4 8
|
||||
129 -32.990 -34.003 1 6 1 4 1 2 4 8
|
||||
130 -40.869 30.579 9 24 1 4 1 2 4 8
|
||||
131 -69.348 80.408 16 10 1 4 1 2 4 8
|
||||
132 -58.966 -29.541 14 4 1 4 1 2 4 8
|
||||
133 -36.847 -33.710 21 10 1 4 1 2 4 8
|
||||
134 -21.820 65.369 8 17 1 4 1 2 4 8
|
||||
135 22.980 -41.010 7 5 1 4 1 2 4 8
|
||||
136 -77.557 59.814 24 14 1 4 1 2 4 8
|
||||
137 -47.205 67.725 24 16 1 4 1 2 4 8
|
||||
138 -21.606 35.168 16 11 1 4 1 2 4 8
|
||||
139 -55.676 -31.384 4 25 1 4 1 2 4 8
|
||||
140 -85.229 88.788 7 4 1 4 1 2 4 8
|
||||
141 -3.918 -63.525 13 12 1 4 1 2 4 8
|
||||
142 -58.557 59.375 25 19 1 4 1 2 4 8
|
||||
143 -24.542 14.935 10 6 1 4 1 2 4 8
|
||||
144 -48.779 16.968 24 23 1 4 1 2 4 8
|
||||
145 -40.082 -24.780 0 0 0 0
|
||||
146 24.292 -27.704 0 0 0 0
|
||||
147 -45.877 41.092 0 0 0 0
|
||||
148 -11.896 15.875 0 0 0 0
|
||||
148 116 -69 0 2135 0.605564 4.59546
|
||||
149 -44 93 0 1342 0.613288 2.36129
|
||||
150 -173 22 0 2372 0.971887 4.88098
|
||||
151 -67 -197 0 1187 0.819878 3.52948
|
||||
205
branches/contribution/branches/bilevel/instances/bipr04
Normal file
205
branches/contribution/branches/bilevel/instances/bipr04
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
8 4 192 4 4
|
||||
440 185
|
||||
440 185
|
||||
440 185
|
||||
440 185
|
||||
1 -44.629 -55.640 6 11 1 4 1 2 4 8
|
||||
2 36.096 64.935 16 11 1 4 1 2 4 8
|
||||
3 -25.470 44.580 7 23 1 4 1 2 4 8
|
||||
4 -33.954 -73.059 20 16 1 4 1 2 4 8
|
||||
5 45.654 35.730 7 16 1 4 1 2 4 8
|
||||
6 14.954 -36.719 8 2 1 4 1 2 4 8
|
||||
7 -1.477 47.205 4 1 1 4 1 2 4 8
|
||||
8 2.155 -40.912 23 25 1 4 1 2 4 8
|
||||
9 22.992 1.398 4 24 1 4 1 2 4 8
|
||||
10 -28.857 5.957 5 14 1 4 1 2 4 8
|
||||
11 -48.120 94.116 15 6 1 4 1 2 4 8
|
||||
12 7.239 17.322 12 20 1 4 1 2 4 8
|
||||
13 4.614 27.051 12 10 1 4 1 2 4 8
|
||||
14 -13.971 28.198 18 11 1 4 1 2 4 8
|
||||
15 12.946 -11.688 19 2 1 4 1 2 4 8
|
||||
16 -36.670 23.102 17 22 1 4 1 2 4 8
|
||||
17 -4.224 -49.310 2 2 1 4 1 2 4 8
|
||||
18 1.093 -7.135 15 12 1 4 1 2 4 8
|
||||
19 -56.958 27.905 10 9 1 4 1 2 4 8
|
||||
20 -80.994 -77.686 3 21 1 4 1 2 4 8
|
||||
21 72.260 59.027 24 10 1 4 1 2 4 8
|
||||
22 -21.655 1.636 1 13 1 4 1 2 4 8
|
||||
23 -20.154 -62.415 22 25 1 4 1 2 4 8
|
||||
24 -48.157 6.287 22 9 1 4 1 2 4 8
|
||||
25 -5.078 61.597 17 19 1 4 1 2 4 8
|
||||
26 17.145 -47.046 7 22 1 4 1 2 4 8
|
||||
27 -16.064 8.557 11 4 1 4 1 2 4 8
|
||||
28 6.683 -27.069 4 4 1 4 1 2 4 8
|
||||
29 15.027 -34.979 15 7 1 4 1 2 4 8
|
||||
30 37.946 73.914 15 20 1 4 1 2 4 8
|
||||
31 -41.199 -43.018 9 17 1 4 1 2 4 8
|
||||
32 32.538 11.786 15 19 1 4 1 2 4 8
|
||||
33 -20.306 -20.239 1 12 1 4 1 2 4 8
|
||||
34 -35.480 19.135 13 2 1 4 1 2 4 8
|
||||
35 58.038 56.659 17 13 1 4 1 2 4 8
|
||||
36 -36.694 -6.256 17 24 1 4 1 2 4 8
|
||||
37 0.446 -46.735 25 22 1 4 1 2 4 8
|
||||
38 -19.690 38.977 5 17 1 4 1 2 4 8
|
||||
39 -47.339 20.911 25 19 1 4 1 2 4 8
|
||||
40 -79.236 -57.678 2 4 1 4 1 2 4 8
|
||||
41 5.597 -34.076 9 12 1 4 1 2 4 8
|
||||
42 34.454 -8.289 7 22 1 4 1 2 4 8
|
||||
43 18.500 -51.154 5 2 1 4 1 2 4 8
|
||||
44 -4.346 -44.525 3 19 1 4 1 2 4 8
|
||||
45 -14.148 -74.164 17 3 1 4 1 2 4 8
|
||||
46 19.867 77.515 12 5 1 4 1 2 4 8
|
||||
47 -50.079 17.871 21 22 1 4 1 2 4 8
|
||||
48 42.786 -79.883 18 6 1 4 1 2 4 8
|
||||
49 1.520 -29.034 8 9 1 4 1 2 4 8
|
||||
50 14.728 -3.436 14 8 1 4 1 2 4 8
|
||||
51 -26.166 -48.999 22 24 1 4 1 2 4 8
|
||||
52 -63.873 -5.273 16 15 1 4 1 2 4 8
|
||||
53 -54.138 7.086 21 16 1 4 1 2 4 8
|
||||
54 17.932 -34.094 7 9 1 4 1 2 4 8
|
||||
55 -98.706 34.552 12 1 1 4 1 2 4 8
|
||||
56 28.802 -8.582 2 18 1 4 1 2 4 8
|
||||
57 2.716 90.594 5 17 1 4 1 2 4 8
|
||||
58 -31.024 48.938 3 18 1 4 1 2 4 8
|
||||
59 -46.545 42.316 11 2 1 4 1 2 4 8
|
||||
60 27.289 58.179 2 25 1 4 1 2 4 8
|
||||
61 28.815 -28.027 7 21 1 4 1 2 4 8
|
||||
62 -26.099 11.328 20 19 1 4 1 2 4 8
|
||||
63 0.537 -26.221 7 10 1 4 1 2 4 8
|
||||
64 -50.458 7.812 11 2 1 4 1 2 4 8
|
||||
65 30.005 19.092 24 21 1 4 1 2 4 8
|
||||
66 -12.604 22.058 15 20 1 4 1 2 4 8
|
||||
67 22.009 -8.636 5 21 1 4 1 2 4 8
|
||||
68 8.942 2.875 25 2 1 4 1 2 4 8
|
||||
69 -19.812 0.922 12 6 1 4 1 2 4 8
|
||||
70 -4.230 31.250 22 2 1 4 1 2 4 8
|
||||
71 17.975 -0.409 11 12 1 4 1 2 4 8
|
||||
72 -2.350 42.938 16 12 1 4 1 2 4 8
|
||||
73 -16.516 68.085 10 5 1 4 1 2 4 8
|
||||
74 -1.190 42.023 3 5 1 4 1 2 4 8
|
||||
75 56.635 -44.019 10 8 1 4 1 2 4 8
|
||||
76 57.483 35.504 17 15 1 4 1 2 4 8
|
||||
77 -26.099 7.477 2 8 1 4 1 2 4 8
|
||||
78 7.489 -57.239 21 7 1 4 1 2 4 8
|
||||
79 -22.095 55.780 16 14 1 4 1 2 4 8
|
||||
80 19.867 38.824 6 18 1 4 1 2 4 8
|
||||
81 5.310 49.219 12 17 1 4 1 2 4 8
|
||||
82 15.155 6.299 23 5 1 4 1 2 4 8
|
||||
83 5.481 -31.500 23 6 1 4 1 2 4 8
|
||||
84 7.959 -28.662 18 9 1 4 1 2 4 8
|
||||
85 -75.812 4.010 18 24 1 4 1 2 4 8
|
||||
86 -43.671 -61.646 14 13 1 4 1 2 4 8
|
||||
87 -2.576 -62.140 2 5 1 4 1 2 4 8
|
||||
88 -18.842 -36.884 11 4 1 4 1 2 4 8
|
||||
89 20.844 21.167 24 22 1 4 1 2 4 8
|
||||
90 3.137 -19.220 14 24 1 4 1 2 4 8
|
||||
91 -20.361 18.878 3 25 1 4 1 2 4 8
|
||||
92 -0.897 -54.938 21 9 1 4 1 2 4 8
|
||||
93 -29.553 9.277 8 8 1 4 1 2 4 8
|
||||
94 5.048 -35.046 19 8 1 4 1 2 4 8
|
||||
95 27.759 48.712 7 25 1 4 1 2 4 8
|
||||
96 12.079 -42.346 19 7 1 4 1 2 4 8
|
||||
97 -51.270 41.144 23 24 1 4 1 2 4 8
|
||||
98 -29.077 4.291 8 16 1 4 1 2 4 8
|
||||
99 -18.555 -14.819 18 15 1 4 1 2 4 8
|
||||
100 7.855 -49.451 7 7 1 4 1 2 4 8
|
||||
101 -19.116 -32.086 1 17 1 4 1 2 4 8
|
||||
102 17.651 -52.271 9 9 1 4 1 2 4 8
|
||||
103 16.907 -62.964 5 14 1 4 1 2 4 8
|
||||
104 18.988 6.219 23 20 1 4 1 2 4 8
|
||||
105 -68.878 -64.539 18 6 1 4 1 2 4 8
|
||||
106 -13.361 20.264 5 17 1 4 1 2 4 8
|
||||
107 -44.440 63.721 17 23 1 4 1 2 4 8
|
||||
108 -6.500 71.436 9 14 1 4 1 2 4 8
|
||||
109 -51.978 25.409 19 19 1 4 1 2 4 8
|
||||
110 -0.739 59.491 20 21 1 4 1 2 4 8
|
||||
111 -64.679 83.038 1 6 1 4 1 2 4 8
|
||||
112 -11.273 -35.944 18 1 1 4 1 2 4 8
|
||||
113 -16.864 7.776 15 22 1 4 1 2 4 8
|
||||
114 19.843 -49.805 10 7 1 4 1 2 4 8
|
||||
115 -16.284 -2.936 8 14 1 4 1 2 4 8
|
||||
116 8.356 67.041 14 7 1 4 1 2 4 8
|
||||
117 30.878 24.316 15 25 1 4 1 2 4 8
|
||||
118 93.524 -20.233 17 17 1 4 1 2 4 8
|
||||
119 -9.332 -56.177 9 10 1 4 1 2 4 8
|
||||
120 -34.442 -63.312 13 23 1 4 1 2 4 8
|
||||
121 20.941 -5.646 18 22 1 4 1 2 4 8
|
||||
122 -3.418 89.594 20 3 1 4 1 2 4 8
|
||||
123 -18.738 45.227 8 14 1 4 1 2 4 8
|
||||
124 2.435 -30.524 2 14 1 4 1 2 4 8
|
||||
125 -28.864 56.616 7 2 1 4 1 2 4 8
|
||||
126 76.880 -29.901 6 2 1 4 1 2 4 8
|
||||
127 -90.466 10.278 12 21 1 4 1 2 4 8
|
||||
128 -35.101 46.545 12 10 1 4 1 2 4 8
|
||||
129 -48.395 43.854 25 10 1 4 1 2 4 8
|
||||
130 -40.997 26.703 6 5 1 4 1 2 4 8
|
||||
131 13.696 34.607 5 9 1 4 1 2 4 8
|
||||
132 -71.472 11.450 20 15 1 4 1 2 4 8
|
||||
133 -36.230 51.904 2 19 1 4 1 2 4 8
|
||||
134 -39.465 4.907 25 7 1 4 1 2 4 8
|
||||
135 -16.565 23.773 7 11 1 4 1 2 4 8
|
||||
136 10.754 -28.552 6 2 1 4 1 2 4 8
|
||||
137 -23.029 47.015 21 25 1 4 1 2 4 8
|
||||
138 -8.807 21.216 19 14 1 4 1 2 4 8
|
||||
139 -40.039 27.435 22 15 1 4 1 2 4 8
|
||||
140 -37.445 -41.040 8 12 1 4 1 2 4 8
|
||||
141 48.224 0.085 19 11 1 4 1 2 4 8
|
||||
142 -0.323 68.237 6 17 1 4 1 2 4 8
|
||||
143 -14.294 -33.423 24 4 1 4 1 2 4 8
|
||||
144 -1.440 -34.814 15 24 1 4 1 2 4 8
|
||||
145 -34.454 42.346 25 8 1 4 1 2 4 8
|
||||
146 8.679 -66.180 6 20 1 4 1 2 4 8
|
||||
147 -61.249 -51.367 21 12 1 4 1 2 4 8
|
||||
148 -1.093 9.912 4 10 1 4 1 2 4 8
|
||||
149 -16.565 66.547 10 12 1 4 1 2 4 8
|
||||
150 8.435 52.838 16 9 1 4 1 2 4 8
|
||||
151 -22.034 -36.896 12 16 1 4 1 2 4 8
|
||||
152 15.765 17.322 13 23 1 4 1 2 4 8
|
||||
153 9.003 -18.695 2 15 1 4 1 2 4 8
|
||||
154 -4.584 3.491 3 10 1 4 1 2 4 8
|
||||
155 8.875 40.662 10 21 1 4 1 2 4 8
|
||||
156 26.093 -33.966 18 2 1 4 1 2 4 8
|
||||
157 -32.501 39.526 18 16 1 4 1 2 4 8
|
||||
158 -32.629 -82.581 11 15 1 4 1 2 4 8
|
||||
159 -98.486 22.021 7 11 1 4 1 2 4 8
|
||||
160 -59.052 4.163 18 11 1 4 1 2 4 8
|
||||
161 7.428 -2.570 15 17 1 4 1 2 4 8
|
||||
162 -59.601 12.469 5 3 1 4 1 2 4 8
|
||||
163 -11.224 -31.830 20 9 1 4 1 2 4 8
|
||||
164 -16.809 -35.040 9 1 1 4 1 2 4 8
|
||||
165 21.863 18.140 22 13 1 4 1 2 4 8
|
||||
166 45.038 -61.316 13 1 1 4 1 2 4 8
|
||||
167 -48.816 25.568 24 2 1 4 1 2 4 8
|
||||
168 -32.184 -16.736 4 22 1 4 1 2 4 8
|
||||
169 12.439 -41.492 16 10 1 4 1 2 4 8
|
||||
170 -21.082 -77.075 16 4 1 4 1 2 4 8
|
||||
171 -17.822 -18.518 14 9 1 4 1 2 4 8
|
||||
172 48.334 93.518 14 11 1 4 1 2 4 8
|
||||
173 -18.677 49.005 25 3 1 4 1 2 4 8
|
||||
174 12.140 30.042 23 19 1 4 1 2 4 8
|
||||
175 3.113 -40.302 23 19 1 4 1 2 4 8
|
||||
176 17.133 37.079 4 4 1 4 1 2 4 8
|
||||
177 22.577 0.836 17 19 1 4 1 2 4 8
|
||||
178 -30.426 52.942 12 15 1 4 1 2 4 8
|
||||
179 33.765 -67.108 11 21 1 4 1 2 4 8
|
||||
180 5.414 1.532 24 25 1 4 1 2 4 8
|
||||
181 72.156 30.103 22 4 1 4 1 2 4 8
|
||||
182 -24.109 -34.625 10 3 1 4 1 2 4 8
|
||||
183 17.413 75.146 10 6 1 4 1 2 4 8
|
||||
184 10.638 -60.052 10 6 1 4 1 2 4 8
|
||||
185 -5.176 -48.999 5 21 1 4 1 2 4 8
|
||||
186 -19.342 21.118 13 25 1 4 1 2 4 8
|
||||
187 -46.802 -14.661 18 10 1 4 1 2 4 8
|
||||
188 -16.779 43.439 25 25 1 4 1 2 4 8
|
||||
189 14.093 -13.605 12 19 1 4 1 2 4 8
|
||||
190 -21.063 26.019 18 19 1 4 1 2 4 8
|
||||
191 39.813 -40.668 9 22 1 4 1 2 4 8
|
||||
192 52.057 30.334 23 5 1 4 1 2 4 8
|
||||
193 -0.140 7.266 0 0 0 0
|
||||
194 -23.138 48.450 0 0 0 0
|
||||
195 -26.102 16.809 0 0 0 0
|
||||
196 0.244 -35.892 0 0 0 0
|
||||
197 -73 64 0 3782 0.570852 2.56079
|
||||
198 23 168 0 2764 0.568013 4.74148
|
||||
199 -79 -161 0 1358 0.549619 2.13502
|
||||
200 -149 -90 0 3328 0.914861 4.19549
|
||||
253
branches/contribution/branches/bilevel/instances/bipr05
Normal file
253
branches/contribution/branches/bilevel/instances/bipr05
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
8 5 240 4 4
|
||||
420 180
|
||||
420 180
|
||||
420 180
|
||||
420 180
|
||||
1 65.991 -49.829 20 10 1 4 1 2 4 8
|
||||
2 -36.938 -36.743 20 25 1 4 1 2 4 8
|
||||
3 -2.734 18.774 13 18 1 4 1 2 4 8
|
||||
4 31.116 -35.907 13 16 1 4 1 2 4 8
|
||||
5 2.789 8.008 17 14 1 4 1 2 4 8
|
||||
6 31.152 43.665 24 7 1 4 1 2 4 8
|
||||
7 -36.304 -21.307 15 9 1 4 1 2 4 8
|
||||
8 52.814 35.046 12 16 1 4 1 2 4 8
|
||||
9 11.267 20.660 20 24 1 4 1 2 4 8
|
||||
10 -0.623 23.114 20 6 1 4 1 2 4 8
|
||||
11 43.091 -12.360 3 22 1 4 1 2 4 8
|
||||
12 6.854 19.073 8 11 1 4 1 2 4 8
|
||||
13 -6.848 25.317 16 19 1 4 1 2 4 8
|
||||
14 -27.930 -23.712 20 20 1 4 1 2 4 8
|
||||
15 33.240 -30.487 21 20 1 4 1 2 4 8
|
||||
16 63.885 -52.881 23 16 1 4 1 2 4 8
|
||||
17 -13.672 -43.945 21 5 1 4 1 2 4 8
|
||||
18 -0.647 -27.502 3 21 1 4 1 2 4 8
|
||||
19 59.406 -49.261 19 19 1 4 1 2 4 8
|
||||
20 27.167 -5.713 20 18 1 4 1 2 4 8
|
||||
21 70.001 -20.844 7 22 1 4 1 2 4 8
|
||||
22 35.327 -65.167 14 19 1 4 1 2 4 8
|
||||
23 -14.386 -42.236 24 15 1 4 1 2 4 8
|
||||
24 19.366 30.273 3 24 1 4 1 2 4 8
|
||||
25 -39.789 10.101 13 20 1 4 1 2 4 8
|
||||
26 -15.753 -40.204 1 17 1 4 1 2 4 8
|
||||
27 -28.418 -40.503 5 20 1 4 1 2 4 8
|
||||
28 27.081 9.735 2 12 1 4 1 2 4 8
|
||||
29 22.205 -9.216 9 23 1 4 1 2 4 8
|
||||
30 -0.830 -6.525 18 15 1 4 1 2 4 8
|
||||
31 10.217 75.531 5 19 1 4 1 2 4 8
|
||||
32 7.446 18.500 12 23 1 4 1 2 4 8
|
||||
33 48.914 -20.294 11 9 1 4 1 2 4 8
|
||||
34 -18.958 -29.675 17 21 1 4 1 2 4 8
|
||||
35 16.815 -6.659 21 17 1 4 1 2 4 8
|
||||
36 2.509 -30.420 5 6 1 4 1 2 4 8
|
||||
37 15.424 4.913 5 10 1 4 1 2 4 8
|
||||
38 60.315 89.801 7 9 1 4 1 2 4 8
|
||||
39 40.405 -45.367 24 19 1 4 1 2 4 8
|
||||
40 -26.837 -54.272 1 17 1 4 1 2 4 8
|
||||
41 69.171 72.577 12 22 1 4 1 2 4 8
|
||||
42 -22.815 46.173 6 8 1 4 1 2 4 8
|
||||
43 -14.258 -30.249 5 25 1 4 1 2 4 8
|
||||
44 76.050 12.073 19 13 1 4 1 2 4 8
|
||||
45 63.043 60.022 23 1 1 4 1 2 4 8
|
||||
46 -20.239 -81.970 8 15 1 4 1 2 4 8
|
||||
47 -41.168 -42.023 1 16 1 4 1 2 4 8
|
||||
48 79.199 -29.016 20 20 1 4 1 2 4 8
|
||||
49 -20.728 -7.068 16 14 1 4 1 2 4 8
|
||||
50 -4.163 -53.497 8 2 1 4 1 2 4 8
|
||||
51 39.594 -40.460 16 5 1 4 1 2 4 8
|
||||
52 -47.125 -77.850 25 16 1 4 1 2 4 8
|
||||
53 -1.233 49.182 5 12 1 4 1 2 4 8
|
||||
54 -0.372 -27.264 10 1 1 4 1 2 4 8
|
||||
55 31.537 -8.722 24 15 1 4 1 2 4 8
|
||||
56 -0.134 -20.264 16 5 1 4 1 2 4 8
|
||||
57 66.394 -26.691 7 9 1 4 1 2 4 8
|
||||
58 6.104 -64.093 14 8 1 4 1 2 4 8
|
||||
59 13.544 -20.874 11 2 1 4 1 2 4 8
|
||||
60 54.211 -6.537 15 10 1 4 1 2 4 8
|
||||
61 22.046 -34.137 23 25 1 4 1 2 4 8
|
||||
62 -9.723 4.706 5 24 1 4 1 2 4 8
|
||||
63 -11.584 -46.857 16 7 1 4 1 2 4 8
|
||||
64 -2.905 -0.305 13 14 1 4 1 2 4 8
|
||||
65 13.837 -44.452 18 3 1 4 1 2 4 8
|
||||
66 17.480 27.747 14 23 1 4 1 2 4 8
|
||||
67 2.972 -43.689 3 21 1 4 1 2 4 8
|
||||
68 -44.354 -38.202 22 13 1 4 1 2 4 8
|
||||
69 -59.399 1.514 16 15 1 4 1 2 4 8
|
||||
70 -13.452 -75.531 16 14 1 4 1 2 4 8
|
||||
71 -5.518 -51.947 2 7 1 4 1 2 4 8
|
||||
72 -9.589 -26.880 19 20 1 4 1 2 4 8
|
||||
73 19.318 29.498 23 6 1 4 1 2 4 8
|
||||
74 26.245 36.743 6 24 1 4 1 2 4 8
|
||||
75 43.707 -28.033 11 17 1 4 1 2 4 8
|
||||
76 -52.026 -35.339 19 3 1 4 1 2 4 8
|
||||
77 -8.435 -0.116 3 15 1 4 1 2 4 8
|
||||
78 89.111 62.122 14 6 1 4 1 2 4 8
|
||||
79 6.067 -16.132 14 21 1 4 1 2 4 8
|
||||
80 27.094 -5.103 19 25 1 4 1 2 4 8
|
||||
81 27.527 -15.344 3 18 1 4 1 2 4 8
|
||||
82 42.511 32.056 18 1 1 4 1 2 4 8
|
||||
83 25.311 12.689 24 19 1 4 1 2 4 8
|
||||
84 47.778 -12.769 6 17 1 4 1 2 4 8
|
||||
85 -3.143 -13.837 1 20 1 4 1 2 4 8
|
||||
86 12.482 -78.101 3 1 1 4 1 2 4 8
|
||||
87 -21.039 -3.430 15 13 1 4 1 2 4 8
|
||||
88 -3.149 -55.432 18 25 1 4 1 2 4 8
|
||||
89 53.009 84.900 5 16 1 4 1 2 4 8
|
||||
90 35.638 -47.552 23 5 1 4 1 2 4 8
|
||||
91 43.427 -18.439 10 18 1 4 1 2 4 8
|
||||
92 6.598 -54.578 20 17 1 4 1 2 4 8
|
||||
93 87.952 94.012 11 15 1 4 1 2 4 8
|
||||
94 39.105 -48.743 16 13 1 4 1 2 4 8
|
||||
95 -48.340 -26.477 15 15 1 4 1 2 4 8
|
||||
96 72.003 -9.253 19 2 1 4 1 2 4 8
|
||||
97 -37.732 3.351 4 1 1 4 1 2 4 8
|
||||
98 -65.967 -36.749 14 9 1 4 1 2 4 8
|
||||
99 -16.669 -35.284 23 16 1 4 1 2 4 8
|
||||
100 10.742 -4.669 11 6 1 4 1 2 4 8
|
||||
101 15.594 -5.817 21 18 1 4 1 2 4 8
|
||||
102 21.606 -18.109 14 24 1 4 1 2 4 8
|
||||
103 9.784 49.280 16 24 1 4 1 2 4 8
|
||||
104 94.147 -4.492 25 9 1 4 1 2 4 8
|
||||
105 10.382 -16.302 17 19 1 4 1 2 4 8
|
||||
106 -1.453 -0.861 16 12 1 4 1 2 4 8
|
||||
107 -6.219 25.305 13 22 1 4 1 2 4 8
|
||||
108 -6.250 10.217 23 13 1 4 1 2 4 8
|
||||
109 -17.444 -70.795 10 20 1 4 1 2 4 8
|
||||
110 -55.090 -43.854 2 25 1 4 1 2 4 8
|
||||
111 -9.442 23.724 15 1 1 4 1 2 4 8
|
||||
112 8.978 35.406 14 24 1 4 1 2 4 8
|
||||
113 -16.754 -0.812 22 10 1 4 1 2 4 8
|
||||
114 66.852 -37.842 15 22 1 4 1 2 4 8
|
||||
115 14.716 -23.724 16 14 1 4 1 2 4 8
|
||||
116 33.472 20.026 12 12 1 4 1 2 4 8
|
||||
117 66.394 -70.111 14 23 1 4 1 2 4 8
|
||||
118 -5.664 8.881 15 14 1 4 1 2 4 8
|
||||
119 -5.103 -46.729 11 23 1 4 1 2 4 8
|
||||
120 -8.826 55.743 11 25 1 4 1 2 4 8
|
||||
121 5.847 -3.186 4 5 1 4 1 2 4 8
|
||||
122 -25.726 -37.695 23 7 1 4 1 2 4 8
|
||||
123 -15.363 -24.548 13 25 1 4 1 2 4 8
|
||||
124 43.793 -11.102 22 11 1 4 1 2 4 8
|
||||
125 17.664 -25.604 17 18 1 4 1 2 4 8
|
||||
126 -39.624 54.883 2 18 1 4 1 2 4 8
|
||||
127 -24.554 -43.225 5 1 1 4 1 2 4 8
|
||||
128 -26.892 -12.738 14 7 1 4 1 2 4 8
|
||||
129 34.155 -38.458 1 22 1 4 1 2 4 8
|
||||
130 -47.314 -29.468 13 7 1 4 1 2 4 8
|
||||
131 49.365 -25.592 8 3 1 4 1 2 4 8
|
||||
132 3.705 -16.449 24 18 1 4 1 2 4 8
|
||||
133 22.430 -23.273 12 8 1 4 1 2 4 8
|
||||
134 -37.549 -29.608 23 6 1 4 1 2 4 8
|
||||
135 25.549 3.674 1 7 1 4 1 2 4 8
|
||||
136 -15.216 3.284 2 20 1 4 1 2 4 8
|
||||
137 -12.939 -7.495 8 10 1 4 1 2 4 8
|
||||
138 -22.107 26.434 18 2 1 4 1 2 4 8
|
||||
139 -17.944 7.733 14 3 1 4 1 2 4 8
|
||||
140 -21.234 14.490 23 10 1 4 1 2 4 8
|
||||
141 3.503 -19.708 14 5 1 4 1 2 4 8
|
||||
142 32.599 -14.935 4 25 1 4 1 2 4 8
|
||||
143 -5.737 -28.296 24 23 1 4 1 2 4 8
|
||||
144 -6.128 -39.624 9 21 1 4 1 2 4 8
|
||||
145 -2.460 12.817 15 13 1 4 1 2 4 8
|
||||
146 -6.470 8.466 10 1 1 4 1 2 4 8
|
||||
147 -37.891 -36.115 3 11 1 4 1 2 4 8
|
||||
148 10.852 -18.750 12 6 1 4 1 2 4 8
|
||||
149 50.104 8.636 6 9 1 4 1 2 4 8
|
||||
150 46.844 4.712 1 17 1 4 1 2 4 8
|
||||
151 19.598 -10.406 24 13 1 4 1 2 4 8
|
||||
152 -38.947 52.942 3 23 1 4 1 2 4 8
|
||||
153 -0.641 -21.289 4 19 1 4 1 2 4 8
|
||||
154 40.906 -33.765 7 11 1 4 1 2 4 8
|
||||
155 -0.574 -62.299 21 12 1 4 1 2 4 8
|
||||
156 -9.778 26.794 1 18 1 4 1 2 4 8
|
||||
157 34.265 -23.895 24 25 1 4 1 2 4 8
|
||||
158 29.572 -24.561 5 13 1 4 1 2 4 8
|
||||
159 16.376 -58.887 23 24 1 4 1 2 4 8
|
||||
160 61.877 -15.167 5 5 1 4 1 2 4 8
|
||||
161 40.088 -9.625 17 14 1 4 1 2 4 8
|
||||
162 0.122 -4.645 24 18 1 4 1 2 4 8
|
||||
163 -8.929 -43.903 23 25 1 4 1 2 4 8
|
||||
164 -7.135 -57.434 3 11 1 4 1 2 4 8
|
||||
165 7.550 -21.210 5 18 1 4 1 2 4 8
|
||||
166 3.949 7.300 22 23 1 4 1 2 4 8
|
||||
167 -15.118 92.023 9 22 1 4 1 2 4 8
|
||||
168 84.821 -24.518 23 20 1 4 1 2 4 8
|
||||
169 -52.325 30.682 15 11 1 4 1 2 4 8
|
||||
170 7.538 13.818 15 11 1 4 1 2 4 8
|
||||
171 -21.484 30.359 11 19 1 4 1 2 4 8
|
||||
172 36.047 29.883 20 13 1 4 1 2 4 8
|
||||
173 12.781 -40.942 10 24 1 4 1 2 4 8
|
||||
174 -17.291 -10.254 24 6 1 4 1 2 4 8
|
||||
175 -10.541 12.402 10 5 1 4 1 2 4 8
|
||||
176 -15.845 -59.460 6 24 1 4 1 2 4 8
|
||||
177 29.266 -2.222 22 7 1 4 1 2 4 8
|
||||
178 -12.598 -58.929 25 13 1 4 1 2 4 8
|
||||
179 -17.303 -35.297 11 25 1 4 1 2 4 8
|
||||
180 57.050 -50.354 6 15 1 4 1 2 4 8
|
||||
181 26.941 17.444 9 15 1 4 1 2 4 8
|
||||
182 -6.195 -8.881 6 16 1 4 1 2 4 8
|
||||
183 16.980 -16.321 12 5 1 4 1 2 4 8
|
||||
184 83.710 -32.520 4 15 1 4 1 2 4 8
|
||||
185 12.451 34.589 24 24 1 4 1 2 4 8
|
||||
186 15.057 67.004 18 15 1 4 1 2 4 8
|
||||
187 25.818 -5.835 3 9 1 4 1 2 4 8
|
||||
188 13.666 -14.832 18 19 1 4 1 2 4 8
|
||||
189 48.322 -5.164 17 15 1 4 1 2 4 8
|
||||
190 13.489 19.739 23 2 1 4 1 2 4 8
|
||||
191 -18.512 65.405 10 3 1 4 1 2 4 8
|
||||
192 17.554 38.379 22 18 1 4 1 2 4 8
|
||||
193 37.775 -16.003 5 20 1 4 1 2 4 8
|
||||
194 47.968 -30.310 16 14 1 4 1 2 4 8
|
||||
195 38.806 36.243 10 10 1 4 1 2 4 8
|
||||
196 -16.089 -42.841 10 6 1 4 1 2 4 8
|
||||
197 28.656 -1.990 9 17 1 4 1 2 4 8
|
||||
198 -5.859 -1.862 5 20 1 4 1 2 4 8
|
||||
199 60.516 63.416 9 3 1 4 1 2 4 8
|
||||
200 63.196 -47.766 12 14 1 4 1 2 4 8
|
||||
201 -15.308 -23.285 16 12 1 4 1 2 4 8
|
||||
202 -2.875 0.787 8 2 1 4 1 2 4 8
|
||||
203 32.056 -10.175 1 11 1 4 1 2 4 8
|
||||
204 -18.634 -25.665 1 16 1 4 1 2 4 8
|
||||
205 -3.632 25.433 18 18 1 4 1 2 4 8
|
||||
206 10.480 22.888 22 14 1 4 1 2 4 8
|
||||
207 1.819 -3.009 20 6 1 4 1 2 4 8
|
||||
208 -25.275 -12.183 4 12 1 4 1 2 4 8
|
||||
209 56.927 -75.507 15 21 1 4 1 2 4 8
|
||||
210 13.885 -36.230 7 1 1 4 1 2 4 8
|
||||
211 32.520 -29.523 25 18 1 4 1 2 4 8
|
||||
212 4.803 -7.288 3 17 1 4 1 2 4 8
|
||||
213 11.365 -8.344 22 15 1 4 1 2 4 8
|
||||
214 17.126 -24.646 5 4 1 4 1 2 4 8
|
||||
215 -33.661 -41.241 1 18 1 4 1 2 4 8
|
||||
216 -32.391 -50.885 9 22 1 4 1 2 4 8
|
||||
217 23.041 -14.496 16 16 1 4 1 2 4 8
|
||||
218 -21.857 -39.502 23 14 1 4 1 2 4 8
|
||||
219 32.013 77.332 5 25 1 4 1 2 4 8
|
||||
220 13.831 -76.190 5 15 1 4 1 2 4 8
|
||||
221 -8.051 -21.179 6 6 1 4 1 2 4 8
|
||||
222 25.391 46.613 16 7 1 4 1 2 4 8
|
||||
223 49.536 -54.639 25 21 1 4 1 2 4 8
|
||||
224 63.416 -8.636 1 3 1 4 1 2 4 8
|
||||
225 2.301 -5.536 25 15 1 4 1 2 4 8
|
||||
226 52.423 29.895 17 24 1 4 1 2 4 8
|
||||
227 9.296 -16.254 11 2 1 4 1 2 4 8
|
||||
228 34.845 -96.185 24 17 1 4 1 2 4 8
|
||||
229 -21.063 -41.498 10 2 1 4 1 2 4 8
|
||||
230 28.448 10.242 12 25 1 4 1 2 4 8
|
||||
231 16.254 -22.583 17 15 1 4 1 2 4 8
|
||||
232 -36.639 -34.033 18 3 1 4 1 2 4 8
|
||||
233 -27.356 -50.177 5 1 1 4 1 2 4 8
|
||||
234 -53.705 11.334 16 1 1 4 1 2 4 8
|
||||
235 26.276 -5.994 9 20 1 4 1 2 4 8
|
||||
236 -31.519 34.589 6 19 1 4 1 2 4 8
|
||||
237 -14.612 -31.506 1 2 1 4 1 2 4 8
|
||||
238 -4.242 -30.865 4 9 1 4 1 2 4 8
|
||||
239 -18.524 -29.486 20 4 1 4 1 2 4 8
|
||||
240 -17.133 -19.397 19 16 1 4 1 2 4 8
|
||||
241 34.430 -17.151 0 0 0 0
|
||||
242 0.269 -8.154 0 0 0 0
|
||||
243 3.140 13.297 0 0 0 0
|
||||
244 -3.113 -29.745 0 0 0 0
|
||||
246 -158 112 0 4412 0.97751 3.06781
|
||||
247 76 -73 0 4415 0.602821 2.72011
|
||||
248 177 -42 0 3222 0.69013 2.81054
|
||||
249 196 -95 0 4489 0.769888 2.89394
|
||||
301
branches/contribution/branches/bilevel/instances/bipr06
Normal file
301
branches/contribution/branches/bilevel/instances/bipr06
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
8 6 288 4 4
|
||||
400 175
|
||||
400 175
|
||||
400 175
|
||||
400 175
|
||||
1 -66.174 -37.811 13 19 1 4 1 2 4 8
|
||||
2 2.673 -35.223 16 21 1 4 1 2 4 8
|
||||
3 38.751 8.618 1 17 1 4 1 2 4 8
|
||||
4 62.653 20.667 9 6 1 4 1 2 4 8
|
||||
5 60.974 -6.110 20 6 1 4 1 2 4 8
|
||||
6 -98.535 -39.532 2 19 1 4 1 2 4 8
|
||||
7 8.411 -81.274 5 17 1 4 1 2 4 8
|
||||
8 -14.569 26.056 10 19 1 4 1 2 4 8
|
||||
9 -34.186 -76.697 10 2 1 4 1 2 4 8
|
||||
10 55.145 -33.911 25 3 1 4 1 2 4 8
|
||||
11 15.869 8.716 2 24 1 4 1 2 4 8
|
||||
12 -63.416 -20.282 5 5 1 4 1 2 4 8
|
||||
13 -9.357 -42.212 16 9 1 4 1 2 4 8
|
||||
14 -53.619 3.729 24 20 1 4 1 2 4 8
|
||||
15 53.491 -3.308 7 19 1 4 1 2 4 8
|
||||
16 -22.614 -32.794 19 20 1 4 1 2 4 8
|
||||
17 39.612 -1.550 15 4 1 4 1 2 4 8
|
||||
18 16.705 -22.748 7 3 1 4 1 2 4 8
|
||||
19 -51.245 -13.757 16 2 1 4 1 2 4 8
|
||||
20 -29.907 14.380 20 23 1 4 1 2 4 8
|
||||
21 -70.441 -27.911 21 6 1 4 1 2 4 8
|
||||
22 -75.385 -30.811 7 17 1 4 1 2 4 8
|
||||
23 10.590 -28.931 17 17 1 4 1 2 4 8
|
||||
24 86.340 -45.935 11 3 1 4 1 2 4 8
|
||||
25 3.864 34.583 6 16 1 4 1 2 4 8
|
||||
26 -37.598 -42.114 4 15 1 4 1 2 4 8
|
||||
27 69.440 1.379 16 23 1 4 1 2 4 8
|
||||
28 -13.818 1.245 8 15 1 4 1 2 4 8
|
||||
29 -27.124 -38.037 13 12 1 4 1 2 4 8
|
||||
30 -69.348 -14.734 25 19 1 4 1 2 4 8
|
||||
31 58.575 29.346 16 23 1 4 1 2 4 8
|
||||
32 58.105 31.702 2 10 1 4 1 2 4 8
|
||||
33 -62.250 -16.425 12 23 1 4 1 2 4 8
|
||||
34 -66.382 13.586 12 22 1 4 1 2 4 8
|
||||
35 68.030 -12.482 14 4 1 4 1 2 4 8
|
||||
36 -30.701 -41.681 16 5 1 4 1 2 4 8
|
||||
37 -55.389 -51.050 9 1 1 4 1 2 4 8
|
||||
38 36.237 -2.655 16 11 1 4 1 2 4 8
|
||||
39 -1.215 5.591 2 20 1 4 1 2 4 8
|
||||
40 10.278 -23.950 21 25 1 4 1 2 4 8
|
||||
41 -7.159 36.859 7 18 1 4 1 2 4 8
|
||||
42 -90.204 61.169 3 4 1 4 1 2 4 8
|
||||
43 46.368 65.082 5 10 1 4 1 2 4 8
|
||||
44 13.348 31.372 12 17 1 4 1 2 4 8
|
||||
45 -73.566 -28.839 9 7 1 4 1 2 4 8
|
||||
46 -41.528 -37.097 11 4 1 4 1 2 4 8
|
||||
47 -60.938 -27.246 17 3 1 4 1 2 4 8
|
||||
48 38.312 54.376 10 12 1 4 1 2 4 8
|
||||
49 26.306 11.975 5 13 1 4 1 2 4 8
|
||||
50 10.297 -48.346 3 24 1 4 1 2 4 8
|
||||
51 52.417 -28.363 1 16 1 4 1 2 4 8
|
||||
52 -43.756 -39.343 3 2 1 4 1 2 4 8
|
||||
53 49.316 11.395 5 7 1 4 1 2 4 8
|
||||
54 45.593 4.346 25 15 1 4 1 2 4 8
|
||||
55 -25.989 -15.814 14 12 1 4 1 2 4 8
|
||||
56 65.253 -59.631 4 15 1 4 1 2 4 8
|
||||
57 12.109 -34.387 14 17 1 4 1 2 4 8
|
||||
58 12.390 -16.254 20 16 1 4 1 2 4 8
|
||||
59 0.525 69.611 5 1 1 4 1 2 4 8
|
||||
60 -8.679 7.770 22 9 1 4 1 2 4 8
|
||||
61 41.467 -35.016 17 4 1 4 1 2 4 8
|
||||
62 11.859 -34.973 19 3 1 4 1 2 4 8
|
||||
63 -1.306 -58.063 9 1 1 4 1 2 4 8
|
||||
64 6.024 -31.018 16 4 1 4 1 2 4 8
|
||||
65 1.788 -32.544 19 6 1 4 1 2 4 8
|
||||
66 29.272 -6.494 11 1 1 4 1 2 4 8
|
||||
67 23.950 10.742 6 19 1 4 1 2 4 8
|
||||
68 -65.887 40.912 23 1 1 4 1 2 4 8
|
||||
69 -10.095 26.257 24 2 1 4 1 2 4 8
|
||||
70 58.093 67.352 21 25 1 4 1 2 4 8
|
||||
71 90.015 9.485 16 4 1 4 1 2 4 8
|
||||
72 -6.622 15.216 15 4 1 4 1 2 4 8
|
||||
73 -2.875 -42.841 23 13 1 4 1 2 4 8
|
||||
74 -37.714 -7.306 22 18 1 4 1 2 4 8
|
||||
75 44.171 -11.224 21 9 1 4 1 2 4 8
|
||||
76 -58.704 -2.808 21 5 1 4 1 2 4 8
|
||||
77 -3.912 10.071 21 12 1 4 1 2 4 8
|
||||
78 -41.370 -1.495 7 22 1 4 1 2 4 8
|
||||
79 58.179 27.563 15 9 1 4 1 2 4 8
|
||||
80 -63.861 26.147 15 11 1 4 1 2 4 8
|
||||
81 -56.793 -15.918 16 6 1 4 1 2 4 8
|
||||
82 22.217 -27.509 13 19 1 4 1 2 4 8
|
||||
83 -1.031 -14.838 22 10 1 4 1 2 4 8
|
||||
84 -57.703 -10.480 1 1 1 4 1 2 4 8
|
||||
85 80.847 6.299 22 10 1 4 1 2 4 8
|
||||
86 2.887 10.822 24 20 1 4 1 2 4 8
|
||||
87 -37.390 -7.800 6 18 1 4 1 2 4 8
|
||||
88 -33.600 -26.740 5 1 1 4 1 2 4 8
|
||||
89 95.197 24.231 14 11 1 4 1 2 4 8
|
||||
90 -13.904 29.327 19 20 1 4 1 2 4 8
|
||||
91 -53.461 9.296 16 12 1 4 1 2 4 8
|
||||
92 67.578 13.007 20 17 1 4 1 2 4 8
|
||||
93 -83.881 -53.265 12 16 1 4 1 2 4 8
|
||||
94 30.255 -72.430 7 3 1 4 1 2 4 8
|
||||
95 -22.333 -20.538 23 14 1 4 1 2 4 8
|
||||
96 3.741 -35.461 9 12 1 4 1 2 4 8
|
||||
97 -20.093 -43.982 19 9 1 4 1 2 4 8
|
||||
98 -47.687 -21.100 17 1 1 4 1 2 4 8
|
||||
99 -20.447 -13.849 1 7 1 4 1 2 4 8
|
||||
100 34.515 3.967 25 7 1 4 1 2 4 8
|
||||
101 20.514 -11.884 12 5 1 4 1 2 4 8
|
||||
102 -46.039 -22.565 15 9 1 4 1 2 4 8
|
||||
103 -39.630 25.385 16 15 1 4 1 2 4 8
|
||||
104 -1.025 50.433 10 4 1 4 1 2 4 8
|
||||
105 -28.632 23.486 24 10 1 4 1 2 4 8
|
||||
106 -52.997 -16.248 24 21 1 4 1 2 4 8
|
||||
107 -3.345 -22.955 18 2 1 4 1 2 4 8
|
||||
108 -62.640 -26.349 21 6 1 4 1 2 4 8
|
||||
109 25.403 0.531 21 1 1 4 1 2 4 8
|
||||
110 -29.895 72.919 17 23 1 4 1 2 4 8
|
||||
111 26.630 1.971 7 24 1 4 1 2 4 8
|
||||
112 -9.814 35.004 14 16 1 4 1 2 4 8
|
||||
113 -7.758 -42.426 8 18 1 4 1 2 4 8
|
||||
114 28.918 -7.117 2 1 1 4 1 2 4 8
|
||||
115 47.693 36.108 18 1 1 4 1 2 4 8
|
||||
116 -53.168 5.206 10 21 1 4 1 2 4 8
|
||||
117 17.560 13.214 17 8 1 4 1 2 4 8
|
||||
118 6.836 -2.496 20 22 1 4 1 2 4 8
|
||||
119 -17.322 97.260 9 23 1 4 1 2 4 8
|
||||
120 22.406 26.532 25 11 1 4 1 2 4 8
|
||||
121 -73.090 -13.251 6 15 1 4 1 2 4 8
|
||||
122 -64.996 -4.578 16 14 1 4 1 2 4 8
|
||||
123 -34.906 -43.903 11 16 1 4 1 2 4 8
|
||||
124 -92.346 -4.517 9 25 1 4 1 2 4 8
|
||||
125 0.647 -8.496 9 12 1 4 1 2 4 8
|
||||
126 5.048 -37.323 18 9 1 4 1 2 4 8
|
||||
127 -19.080 -14.178 10 20 1 4 1 2 4 8
|
||||
128 -71.704 -11.450 11 22 1 4 1 2 4 8
|
||||
129 -45.581 -28.717 14 13 1 4 1 2 4 8
|
||||
130 -28.351 -23.914 15 24 1 4 1 2 4 8
|
||||
131 -16.486 30.920 19 13 1 4 1 2 4 8
|
||||
132 -83.423 -20.935 25 4 1 4 1 2 4 8
|
||||
133 -12.054 -20.612 10 22 1 4 1 2 4 8
|
||||
134 -7.184 -63.721 11 18 1 4 1 2 4 8
|
||||
135 34.546 -8.881 11 25 1 4 1 2 4 8
|
||||
136 -4.865 73.694 25 19 1 4 1 2 4 8
|
||||
137 -36.005 -3.876 14 8 1 4 1 2 4 8
|
||||
138 -28.400 -21.820 20 13 1 4 1 2 4 8
|
||||
139 -56.281 -15.112 7 1 1 4 1 2 4 8
|
||||
140 -11.017 42.151 1 1 1 4 1 2 4 8
|
||||
141 -63.092 -62.573 15 5 1 4 1 2 4 8
|
||||
142 29.486 79.944 2 2 1 4 1 2 4 8
|
||||
143 -65.674 -0.238 7 22 1 4 1 2 4 8
|
||||
144 46.130 -20.416 21 3 1 4 1 2 4 8
|
||||
145 1.575 -16.364 19 2 1 4 1 2 4 8
|
||||
146 40.277 -1.379 17 6 1 4 1 2 4 8
|
||||
147 -15.271 42.249 23 19 1 4 1 2 4 8
|
||||
148 33.215 -16.614 17 5 1 4 1 2 4 8
|
||||
149 -72.388 13.074 20 25 1 4 1 2 4 8
|
||||
150 -24.487 5.273 11 9 1 4 1 2 4 8
|
||||
151 -6.598 -30.957 1 20 1 4 1 2 4 8
|
||||
152 31.287 21.332 11 11 1 4 1 2 4 8
|
||||
153 20.557 0.378 15 18 1 4 1 2 4 8
|
||||
154 -67.200 -41.339 3 25 1 4 1 2 4 8
|
||||
155 22.168 -40.375 21 22 1 4 1 2 4 8
|
||||
156 31.165 2.222 5 25 1 4 1 2 4 8
|
||||
157 74.634 30.219 11 14 1 4 1 2 4 8
|
||||
158 60.699 81.116 6 21 1 4 1 2 4 8
|
||||
159 -60.736 24.133 17 1 1 4 1 2 4 8
|
||||
160 1.978 17.517 20 9 1 4 1 2 4 8
|
||||
161 -80.566 -38.196 10 2 1 4 1 2 4 8
|
||||
162 -49.927 -36.713 24 2 1 4 1 2 4 8
|
||||
163 -60.449 -27.820 6 4 1 4 1 2 4 8
|
||||
164 -78.748 -44.226 18 15 1 4 1 2 4 8
|
||||
165 54.260 -9.259 15 11 1 4 1 2 4 8
|
||||
166 -42.059 -26.636 6 15 1 4 1 2 4 8
|
||||
167 -57.336 -16.718 10 15 1 4 1 2 4 8
|
||||
168 -1.276 -13.330 7 16 1 4 1 2 4 8
|
||||
169 -24.158 39.197 24 14 1 4 1 2 4 8
|
||||
170 17.908 -40.442 3 25 1 4 1 2 4 8
|
||||
171 59.833 -3.674 22 9 1 4 1 2 4 8
|
||||
172 -3.510 6.256 1 23 1 4 1 2 4 8
|
||||
173 40.167 8.594 4 16 1 4 1 2 4 8
|
||||
174 -1.691 -54.376 12 10 1 4 1 2 4 8
|
||||
175 -36.035 -17.065 14 4 1 4 1 2 4 8
|
||||
176 7.275 -4.144 17 25 1 4 1 2 4 8
|
||||
177 30.219 -6.830 20 20 1 4 1 2 4 8
|
||||
178 -26.379 -63.055 19 5 1 4 1 2 4 8
|
||||
179 28.772 -0.031 18 19 1 4 1 2 4 8
|
||||
180 2.625 5.072 22 2 1 4 1 2 4 8
|
||||
181 3.595 -21.600 14 13 1 4 1 2 4 8
|
||||
182 -64.948 -10.956 14 19 1 4 1 2 4 8
|
||||
183 18.671 -41.010 20 2 1 4 1 2 4 8
|
||||
184 29.291 12.799 16 16 1 4 1 2 4 8
|
||||
185 4.529 26.654 25 2 1 4 1 2 4 8
|
||||
186 25.360 29.718 12 6 1 4 1 2 4 8
|
||||
187 57.349 -15.405 1 3 1 4 1 2 4 8
|
||||
188 -11.566 -19.012 11 20 1 4 1 2 4 8
|
||||
189 -45.441 -71.808 18 13 1 4 1 2 4 8
|
||||
190 2.197 -3.564 8 9 1 4 1 2 4 8
|
||||
191 -1.855 -24.475 8 5 1 4 1 2 4 8
|
||||
192 -59.851 -48.938 1 15 1 4 1 2 4 8
|
||||
193 70.081 -17.816 23 22 1 4 1 2 4 8
|
||||
194 -4.932 28.754 19 18 1 4 1 2 4 8
|
||||
195 -46.625 -23.529 18 21 1 4 1 2 4 8
|
||||
196 -49.872 -35.339 16 16 1 4 1 2 4 8
|
||||
197 -67.499 8.142 7 22 1 4 1 2 4 8
|
||||
198 31.195 -18.243 13 23 1 4 1 2 4 8
|
||||
199 -42.139 -52.704 5 1 1 4 1 2 4 8
|
||||
200 -15.094 18.933 3 1 1 4 1 2 4 8
|
||||
201 -78.625 -24.341 22 13 1 4 1 2 4 8
|
||||
202 51.471 -9.607 21 14 1 4 1 2 4 8
|
||||
203 29.987 -31.061 18 18 1 4 1 2 4 8
|
||||
204 46.741 1.453 14 5 1 4 1 2 4 8
|
||||
205 -52.954 31.738 19 24 1 4 1 2 4 8
|
||||
206 10.535 -61.432 18 11 1 4 1 2 4 8
|
||||
207 -15.948 -56.012 12 5 1 4 1 2 4 8
|
||||
208 -7.776 -54.730 21 1 1 4 1 2 4 8
|
||||
209 11.047 -20.905 15 21 1 4 1 2 4 8
|
||||
210 -24.359 -23.047 8 6 1 4 1 2 4 8
|
||||
211 2.948 -20.398 5 6 1 4 1 2 4 8
|
||||
212 -82.654 24.323 3 5 1 4 1 2 4 8
|
||||
213 -12.134 42.065 2 23 1 4 1 2 4 8
|
||||
214 -98.035 -36.359 5 16 1 4 1 2 4 8
|
||||
215 -61.102 -13.477 3 18 1 4 1 2 4 8
|
||||
216 -39.136 6.287 12 10 1 4 1 2 4 8
|
||||
217 41.180 7.971 4 9 1 4 1 2 4 8
|
||||
218 4.254 19.830 23 18 1 4 1 2 4 8
|
||||
219 -34.143 -37.915 8 22 1 4 1 2 4 8
|
||||
220 -4.559 23.566 7 24 1 4 1 2 4 8
|
||||
221 37.891 -1.947 10 15 1 4 1 2 4 8
|
||||
222 78.259 15.936 18 6 1 4 1 2 4 8
|
||||
223 -8.661 -25.110 4 12 1 4 1 2 4 8
|
||||
224 10.071 37.164 9 19 1 4 1 2 4 8
|
||||
225 -42.621 -46.985 19 19 1 4 1 2 4 8
|
||||
226 92.157 -94.183 5 17 1 4 1 2 4 8
|
||||
227 32.202 -39.844 19 22 1 4 1 2 4 8
|
||||
228 -55.231 -15.027 7 25 1 4 1 2 4 8
|
||||
229 -26.746 -21.490 22 11 1 4 1 2 4 8
|
||||
230 -75.513 -0.708 2 23 1 4 1 2 4 8
|
||||
231 34.021 12.665 7 10 1 4 1 2 4 8
|
||||
232 -2.643 -20.831 4 17 1 4 1 2 4 8
|
||||
233 53.369 13.770 11 6 1 4 1 2 4 8
|
||||
234 -14.948 -40.259 12 20 1 4 1 2 4 8
|
||||
235 67.828 5.750 2 6 1 4 1 2 4 8
|
||||
236 -13.220 -26.031 13 4 1 4 1 2 4 8
|
||||
237 4.169 -32.617 22 25 1 4 1 2 4 8
|
||||
238 -26.050 -33.313 6 7 1 4 1 2 4 8
|
||||
239 31.964 -45.703 11 11 1 4 1 2 4 8
|
||||
240 96.820 26.208 22 14 1 4 1 2 4 8
|
||||
241 -44.696 -37.854 9 14 1 4 1 2 4 8
|
||||
242 33.417 11.792 21 15 1 4 1 2 4 8
|
||||
243 -35.187 19.226 8 2 1 4 1 2 4 8
|
||||
244 -14.233 -74.988 4 14 1 4 1 2 4 8
|
||||
245 37.158 -0.836 19 17 1 4 1 2 4 8
|
||||
246 -51.697 -26.447 20 24 1 4 1 2 4 8
|
||||
247 23.535 5.896 22 10 1 4 1 2 4 8
|
||||
248 -18.433 53.711 10 20 1 4 1 2 4 8
|
||||
249 -11.340 -17.621 20 11 1 4 1 2 4 8
|
||||
250 -7.812 -35.895 10 16 1 4 1 2 4 8
|
||||
251 3.522 26.941 23 3 1 4 1 2 4 8
|
||||
252 -46.588 -22.266 5 11 1 4 1 2 4 8
|
||||
253 -2.997 -0.549 25 10 1 4 1 2 4 8
|
||||
254 32.147 17.151 7 18 1 4 1 2 4 8
|
||||
255 32.019 13.007 16 20 1 4 1 2 4 8
|
||||
256 -6.628 29.889 15 24 1 4 1 2 4 8
|
||||
257 77.777 -25.397 9 16 1 4 1 2 4 8
|
||||
258 30.707 65.704 19 2 1 4 1 2 4 8
|
||||
259 -43.811 -43.036 11 14 1 4 1 2 4 8
|
||||
260 49.561 16.827 19 10 1 4 1 2 4 8
|
||||
261 -28.931 -0.439 10 22 1 4 1 2 4 8
|
||||
262 40.363 16.382 20 14 1 4 1 2 4 8
|
||||
263 22.748 40.674 17 15 1 4 1 2 4 8
|
||||
264 -1.471 6.567 22 7 1 4 1 2 4 8
|
||||
265 -1.190 16.864 24 20 1 4 1 2 4 8
|
||||
266 8.032 41.821 5 1 1 4 1 2 4 8
|
||||
267 -44.019 -22.784 5 24 1 4 1 2 4 8
|
||||
268 12.366 -11.353 17 22 1 4 1 2 4 8
|
||||
269 33.276 15.881 7 23 1 4 1 2 4 8
|
||||
270 -34.790 -15.045 25 20 1 4 1 2 4 8
|
||||
271 -96.857 -19.391 12 15 1 4 1 2 4 8
|
||||
272 38.434 -5.353 11 14 1 4 1 2 4 8
|
||||
273 -25.391 0.220 6 12 1 4 1 2 4 8
|
||||
274 0.848 -31.860 13 4 1 4 1 2 4 8
|
||||
275 -24.023 95.691 23 15 1 4 1 2 4 8
|
||||
276 -4.272 35.468 15 12 1 4 1 2 4 8
|
||||
277 -6.927 1.855 13 8 1 4 1 2 4 8
|
||||
278 -70.953 -3.217 10 2 1 4 1 2 4 8
|
||||
279 -32.648 -16.522 24 24 1 4 1 2 4 8
|
||||
280 42.859 -21.680 13 5 1 4 1 2 4 8
|
||||
281 5.182 6.403 12 8 1 4 1 2 4 8
|
||||
282 36.920 -4.987 21 21 1 4 1 2 4 8
|
||||
283 49.591 27.783 10 5 1 4 1 2 4 8
|
||||
284 45.038 10.785 12 16 1 4 1 2 4 8
|
||||
285 7.690 14.056 9 8 1 4 1 2 4 8
|
||||
286 -60.907 18.640 5 24 1 4 1 2 4 8
|
||||
287 -64.496 8.923 18 23 1 4 1 2 4 8
|
||||
288 37.158 -14.990 24 6 1 4 1 2 4 8
|
||||
289 2.277 7.840 0 0 0 0
|
||||
290 32.883 -1.779 0 0 0 0
|
||||
291 -49.554 -17.828 0 0 0 0
|
||||
292 3.690 -26.099 0 0 0 0
|
||||
295 -115 114 0 5578 0.531586 4.35292
|
||||
296 -135 113 0 5423 0.582606 4.43346
|
||||
297 110 -88 0 3900 0.966738 4.18117
|
||||
298 140 195 0 1845 0.714983 3.30534
|
||||
91
branches/contribution/branches/bilevel/instances/bipr07
Normal file
91
branches/contribution/branches/bilevel/instances/bipr07
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
8 1 72 6 6
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
1 -92.700 -59.180 8 20 1 6 1 2 4 8 16 32
|
||||
2 71.179 12.543 15 6 1 6 1 2 4 8 16 32
|
||||
3 31.537 66.638 20 19 1 6 1 2 4 8 16 32
|
||||
4 -4.694 25.537 7 10 1 6 1 2 4 8 16 32
|
||||
5 -30.194 67.773 13 18 1 6 1 2 4 8 16 32
|
||||
6 12.677 -57.471 6 1 1 6 1 2 4 8 16 32
|
||||
7 -32.355 -20.966 5 15 1 6 1 2 4 8 16 32
|
||||
8 19.910 48.975 1 23 1 6 1 2 4 8 16 32
|
||||
9 13.202 -19.135 12 13 1 6 1 2 4 8 16 32
|
||||
10 54.877 -41.168 18 12 1 6 1 2 4 8 16 32
|
||||
11 15.063 -25.171 25 7 1 6 1 2 4 8 16 32
|
||||
12 -50.598 -16.418 14 25 1 6 1 2 4 8 16 32
|
||||
13 -29.730 17.078 18 5 1 6 1 2 4 8 16 32
|
||||
14 17.542 1.575 13 1 1 6 1 2 4 8 16 32
|
||||
15 11.127 77.216 6 25 1 6 1 2 4 8 16 32
|
||||
16 33.752 71.259 14 10 1 6 1 2 4 8 16 32
|
||||
17 -56.012 -10.394 10 2 1 6 1 2 4 8 16 32
|
||||
18 57.874 -16.290 18 7 1 6 1 2 4 8 16 32
|
||||
19 10.718 -18.787 8 11 1 6 1 2 4 8 16 32
|
||||
20 53.088 -18.750 6 4 1 6 1 2 4 8 16 32
|
||||
21 1.569 7.532 2 6 1 6 1 2 4 8 16 32
|
||||
22 31.531 48.944 4 15 1 6 1 2 4 8 16 32
|
||||
23 -66.833 -37.854 4 7 1 6 1 2 4 8 16 32
|
||||
24 -70.740 62.244 23 8 1 6 1 2 4 8 16 32
|
||||
25 32.538 23.096 12 10 1 6 1 2 4 8 16 32
|
||||
26 -51.453 -36.444 24 9 1 6 1 2 4 8 16 32
|
||||
27 36.456 -22.638 17 4 1 6 1 2 4 8 16 32
|
||||
28 -31.207 43.494 18 6 1 6 1 2 4 8 16 32
|
||||
29 -10.388 34.491 25 22 1 6 1 2 4 8 16 32
|
||||
30 14.722 -10.834 22 17 1 6 1 2 4 8 16 32
|
||||
31 47.095 -21.387 10 9 1 6 1 2 4 8 16 32
|
||||
32 43.781 34.766 25 25 1 6 1 2 4 8 16 32
|
||||
33 53.546 -67.487 21 10 1 6 1 2 4 8 16 32
|
||||
34 26.801 46.515 21 18 1 6 1 2 4 8 16 32
|
||||
35 63.385 11.981 16 21 1 6 1 2 4 8 16 32
|
||||
36 47.192 -5.475 23 10 1 6 1 2 4 8 16 32
|
||||
37 -16.315 -11.267 21 23 1 6 1 2 4 8 16 32
|
||||
38 78.900 17.651 15 23 1 6 1 2 4 8 16 32
|
||||
39 79.822 22.272 7 11 1 6 1 2 4 8 16 32
|
||||
40 12.878 16.919 20 1 1 6 1 2 4 8 16 32
|
||||
41 -67.981 -3.754 6 23 1 6 1 2 4 8 16 32
|
||||
42 9.198 -18.597 16 16 1 6 1 2 4 8 16 32
|
||||
43 -35.950 -19.141 10 10 1 6 1 2 4 8 16 32
|
||||
44 28.766 45.276 7 12 1 6 1 2 4 8 16 32
|
||||
45 11.469 68.231 20 12 1 6 1 2 4 8 16 32
|
||||
46 -22.760 45.496 9 3 1 6 1 2 4 8 16 32
|
||||
47 -65.674 -23.120 12 22 1 6 1 2 4 8 16 32
|
||||
48 7.239 1.599 10 21 1 6 1 2 4 8 16 32
|
||||
49 -29.785 -11.285 19 13 1 6 1 2 4 8 16 32
|
||||
50 -89.050 16.211 6 15 1 6 1 2 4 8 16 32
|
||||
51 -46.887 -3.363 14 13 1 6 1 2 4 8 16 32
|
||||
52 -14.972 30.621 23 20 1 6 1 2 4 8 16 32
|
||||
53 -17.035 49.774 8 10 1 6 1 2 4 8 16 32
|
||||
54 31.635 53.619 10 25 1 6 1 2 4 8 16 32
|
||||
55 -3.577 13.342 14 7 1 6 1 2 4 8 16 32
|
||||
56 33.008 58.960 3 15 1 6 1 2 4 8 16 32
|
||||
57 -92.950 63.263 25 2 1 6 1 2 4 8 16 32
|
||||
58 -9.137 -22.931 21 23 1 6 1 2 4 8 16 32
|
||||
59 -39.960 6.195 5 5 1 6 1 2 4 8 16 32
|
||||
60 28.430 -19.214 2 25 1 6 1 2 4 8 16 32
|
||||
61 -28.540 -3.485 3 9 1 6 1 2 4 8 16 32
|
||||
62 31.415 36.859 21 2 1 6 1 2 4 8 16 32
|
||||
63 -49.426 60.602 1 24 1 6 1 2 4 8 16 32
|
||||
64 -72.827 -27.765 25 13 1 6 1 2 4 8 16 32
|
||||
65 60.083 -45.905 21 20 1 6 1 2 4 8 16 32
|
||||
66 10.870 -3.900 21 13 1 6 1 2 4 8 16 32
|
||||
67 25.122 7.672 25 15 1 6 1 2 4 8 16 32
|
||||
68 -46.997 -17.474 14 4 1 6 1 2 4 8 16 32
|
||||
69 16.058 33.020 20 20 1 6 1 2 4 8 16 32
|
||||
70 25.409 -11.700 14 8 1 6 1 2 4 8 16 32
|
||||
71 68.323 -5.145 11 19 1 6 1 2 4 8 16 32
|
||||
72 -13.104 62.158 25 20 1 6 1 2 4 8 16 32
|
||||
73 42.395 -8.344 0 0 0 0
|
||||
74 -42.175 -14.554 0 0 0 0
|
||||
75 16.034 40.726 0 0 0 0
|
||||
76 -14.639 29.633 0 0 0 0
|
||||
77 16.049 -3.934 0 0 0 0
|
||||
78 46.112 12.430 0 0 0 0
|
||||
74 126 -30 0 863 0.94913 2.54704
|
||||
75 -118 142 0 1046 0.72443 2.23324
|
||||
76 -22 -142 0 591 0.865417 3.88413
|
||||
77 -179 39 0 1228 0.636203 3.40707
|
||||
78 68 130 0 964 0.821003 4.04741
|
||||
79 144 -88 0 982 0.884682 4.82738
|
||||
163
branches/contribution/branches/bilevel/instances/bipr08
Normal file
163
branches/contribution/branches/bilevel/instances/bipr08
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
8 2 144 6 6
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
1 -40.289 -42.303 6 20 1 6 1 2 4 8 16 32
|
||||
2 -64.709 -17.389 3 10 1 6 1 2 4 8 16 32
|
||||
3 5.060 -14.349 23 8 1 6 1 2 4 8 16 32
|
||||
4 72.095 20.233 1 6 1 6 1 2 4 8 16 32
|
||||
5 2.594 -15.002 18 1 1 6 1 2 4 8 16 32
|
||||
6 -24.176 -72.894 8 19 1 6 1 2 4 8 16 32
|
||||
7 -13.190 66.498 2 13 1 6 1 2 4 8 16 32
|
||||
8 33.191 13.690 9 24 1 6 1 2 4 8 16 32
|
||||
9 66.827 -30.554 1 15 1 6 1 2 4 8 16 32
|
||||
10 19.934 35.883 20 13 1 6 1 2 4 8 16 32
|
||||
11 -27.771 32.269 23 10 1 6 1 2 4 8 16 32
|
||||
12 51.154 -16.827 22 4 1 6 1 2 4 8 16 32
|
||||
13 -19.214 23.749 24 12 1 6 1 2 4 8 16 32
|
||||
14 -46.643 -52.954 21 21 1 6 1 2 4 8 16 32
|
||||
15 -10.590 -16.626 18 2 1 6 1 2 4 8 16 32
|
||||
16 35.150 12.622 21 10 1 6 1 2 4 8 16 32
|
||||
17 -37.378 12.256 7 20 1 6 1 2 4 8 16 32
|
||||
18 82.794 25.836 4 9 1 6 1 2 4 8 16 32
|
||||
19 8.936 -3.723 21 24 1 6 1 2 4 8 16 32
|
||||
20 -56.659 25.555 13 19 1 6 1 2 4 8 16 32
|
||||
21 -52.020 -40.137 18 13 1 6 1 2 4 8 16 32
|
||||
22 39.270 12.787 4 14 1 6 1 2 4 8 16 32
|
||||
23 19.757 21.228 3 17 1 6 1 2 4 8 16 32
|
||||
24 -23.071 -12.659 12 25 1 6 1 2 4 8 16 32
|
||||
25 15.686 52.374 5 1 1 6 1 2 4 8 16 32
|
||||
26 58.771 -7.056 8 9 1 6 1 2 4 8 16 32
|
||||
27 -33.087 72.266 14 12 1 6 1 2 4 8 16 32
|
||||
28 2.551 46.851 10 22 1 6 1 2 4 8 16 32
|
||||
29 -18.719 73.126 14 2 1 6 1 2 4 8 16 32
|
||||
30 -67.627 -20.679 19 21 1 6 1 2 4 8 16 32
|
||||
31 -76.862 -11.365 20 8 1 6 1 2 4 8 16 32
|
||||
32 -24.194 -38.263 21 19 1 6 1 2 4 8 16 32
|
||||
33 -20.374 -31.903 11 24 1 6 1 2 4 8 16 32
|
||||
34 9.290 39.618 14 24 1 6 1 2 4 8 16 32
|
||||
35 26.044 35.974 6 2 1 6 1 2 4 8 16 32
|
||||
36 -57.385 -45.264 7 20 1 6 1 2 4 8 16 32
|
||||
37 1.489 -62.592 3 20 1 6 1 2 4 8 16 32
|
||||
38 34.937 13.672 22 5 1 6 1 2 4 8 16 32
|
||||
39 -22.290 45.648 21 17 1 6 1 2 4 8 16 32
|
||||
40 -5.920 44.061 12 4 1 6 1 2 4 8 16 32
|
||||
41 -38.446 -23.541 1 21 1 6 1 2 4 8 16 32
|
||||
42 28.894 33.936 11 3 1 6 1 2 4 8 16 32
|
||||
43 -35.388 -5.341 12 16 1 6 1 2 4 8 16 32
|
||||
44 -19.501 13.519 19 14 1 6 1 2 4 8 16 32
|
||||
45 -9.216 -30.988 8 6 1 6 1 2 4 8 16 32
|
||||
46 -22.131 -17.065 11 5 1 6 1 2 4 8 16 32
|
||||
47 -22.827 36.810 18 12 1 6 1 2 4 8 16 32
|
||||
48 -61.365 -18.463 6 23 1 6 1 2 4 8 16 32
|
||||
49 50.128 -66.046 3 12 1 6 1 2 4 8 16 32
|
||||
50 25.647 24.139 6 18 1 6 1 2 4 8 16 32
|
||||
51 65.521 42.810 10 24 1 6 1 2 4 8 16 32
|
||||
52 -60.956 -47.925 7 3 1 6 1 2 4 8 16 32
|
||||
53 -9.070 42.798 17 3 1 6 1 2 4 8 16 32
|
||||
54 -19.061 4.480 12 25 1 6 1 2 4 8 16 32
|
||||
55 -54.071 -3.870 11 22 1 6 1 2 4 8 16 32
|
||||
56 -25.598 -18.866 15 25 1 6 1 2 4 8 16 32
|
||||
57 -18.707 84.296 6 15 1 6 1 2 4 8 16 32
|
||||
58 -70.184 -39.166 13 18 1 6 1 2 4 8 16 32
|
||||
59 -14.636 -0.446 3 8 1 6 1 2 4 8 16 32
|
||||
60 -76.465 -38.922 23 20 1 6 1 2 4 8 16 32
|
||||
61 44.092 12.433 24 18 1 6 1 2 4 8 16 32
|
||||
62 -22.772 -50.867 22 5 1 6 1 2 4 8 16 32
|
||||
63 19.104 44.672 11 25 1 6 1 2 4 8 16 32
|
||||
64 -44.019 -39.935 24 16 1 6 1 2 4 8 16 32
|
||||
65 -2.972 -4.059 8 14 1 6 1 2 4 8 16 32
|
||||
66 -24.261 35.907 22 1 1 6 1 2 4 8 16 32
|
||||
67 -61.877 -73.901 11 15 1 6 1 2 4 8 16 32
|
||||
68 -5.640 -26.721 6 22 1 6 1 2 4 8 16 32
|
||||
69 45.844 -36.835 10 6 1 6 1 2 4 8 16 32
|
||||
70 -51.746 -79.840 10 24 1 6 1 2 4 8 16 32
|
||||
71 -33.008 10.992 20 19 1 6 1 2 4 8 16 32
|
||||
72 -25.653 -0.372 2 12 1 6 1 2 4 8 16 32
|
||||
73 -21.497 61.487 18 13 1 6 1 2 4 8 16 32
|
||||
74 2.032 26.727 8 10 1 6 1 2 4 8 16 32
|
||||
75 -26.758 14.807 13 12 1 6 1 2 4 8 16 32
|
||||
76 -37.256 -44.861 8 13 1 6 1 2 4 8 16 32
|
||||
77 -0.861 -16.418 8 25 1 6 1 2 4 8 16 32
|
||||
78 -51.160 34.967 18 12 1 6 1 2 4 8 16 32
|
||||
79 -41.266 -76.886 17 2 1 6 1 2 4 8 16 32
|
||||
80 -30.255 74.701 10 11 1 6 1 2 4 8 16 32
|
||||
81 -46.368 -1.514 23 10 1 6 1 2 4 8 16 32
|
||||
82 -71.619 73.077 3 9 1 6 1 2 4 8 16 32
|
||||
83 -46.606 -39.948 25 21 1 6 1 2 4 8 16 32
|
||||
84 -30.243 67.102 4 14 1 6 1 2 4 8 16 32
|
||||
85 -40.997 -43.036 25 15 1 6 1 2 4 8 16 32
|
||||
86 -74.286 -52.307 5 6 1 6 1 2 4 8 16 32
|
||||
87 -17.609 -71.851 9 25 1 6 1 2 4 8 16 32
|
||||
88 2.350 -81.805 18 14 1 6 1 2 4 8 16 32
|
||||
89 -85.486 -54.059 16 17 1 6 1 2 4 8 16 32
|
||||
90 23.822 10.571 16 8 1 6 1 2 4 8 16 32
|
||||
91 -24.530 -31.726 22 4 1 6 1 2 4 8 16 32
|
||||
92 -42.474 -15.009 2 17 1 6 1 2 4 8 16 32
|
||||
93 -33.624 50.330 22 23 1 6 1 2 4 8 16 32
|
||||
94 -81.458 -41.565 11 4 1 6 1 2 4 8 16 32
|
||||
95 -73.505 -48.279 24 4 1 6 1 2 4 8 16 32
|
||||
96 -3.052 70.898 17 9 1 6 1 2 4 8 16 32
|
||||
97 0.946 25.458 12 9 1 6 1 2 4 8 16 32
|
||||
98 -54.144 13.525 1 19 1 6 1 2 4 8 16 32
|
||||
99 -30.634 7.526 23 12 1 6 1 2 4 8 16 32
|
||||
100 -68.335 -34.277 4 25 1 6 1 2 4 8 16 32
|
||||
101 7.178 57.935 15 8 1 6 1 2 4 8 16 32
|
||||
102 4.712 48.669 15 13 1 6 1 2 4 8 16 32
|
||||
103 58.087 26.379 12 3 1 6 1 2 4 8 16 32
|
||||
104 18.347 34.784 21 6 1 6 1 2 4 8 16 32
|
||||
105 -44.629 -61.975 21 11 1 6 1 2 4 8 16 32
|
||||
106 5.231 26.068 15 24 1 6 1 2 4 8 16 32
|
||||
107 -48.065 -36.755 21 16 1 6 1 2 4 8 16 32
|
||||
108 -3.589 -27.734 19 21 1 6 1 2 4 8 16 32
|
||||
109 9.808 36.896 11 25 1 6 1 2 4 8 16 32
|
||||
110 59.460 1.233 3 10 1 6 1 2 4 8 16 32
|
||||
111 -47.522 19.873 12 2 1 6 1 2 4 8 16 32
|
||||
112 -48.431 -50.317 4 13 1 6 1 2 4 8 16 32
|
||||
113 44.666 20.953 2 14 1 6 1 2 4 8 16 32
|
||||
114 -19.226 32.770 9 19 1 6 1 2 4 8 16 32
|
||||
115 -15.662 17.462 21 16 1 6 1 2 4 8 16 32
|
||||
116 -91.669 77.722 17 23 1 6 1 2 4 8 16 32
|
||||
117 -30.035 -78.284 22 13 1 6 1 2 4 8 16 32
|
||||
118 73.663 32.941 24 24 1 6 1 2 4 8 16 32
|
||||
119 22.400 -60.083 2 17 1 6 1 2 4 8 16 32
|
||||
120 61.206 -13.501 25 8 1 6 1 2 4 8 16 32
|
||||
121 22.131 -50.012 21 12 1 6 1 2 4 8 16 32
|
||||
122 -6.317 56.665 11 6 1 6 1 2 4 8 16 32
|
||||
123 -20.471 12.885 23 20 1 6 1 2 4 8 16 32
|
||||
124 -61.084 -44.769 4 20 1 6 1 2 4 8 16 32
|
||||
125 -9.576 -19.366 1 24 1 6 1 2 4 8 16 32
|
||||
126 5.627 -88.501 15 10 1 6 1 2 4 8 16 32
|
||||
127 -2.618 22.131 20 18 1 6 1 2 4 8 16 32
|
||||
128 40.497 32.343 8 10 1 6 1 2 4 8 16 32
|
||||
129 -3.296 36.774 4 15 1 6 1 2 4 8 16 32
|
||||
130 -50.995 19.781 12 12 1 6 1 2 4 8 16 32
|
||||
131 -70.520 -3.809 23 22 1 6 1 2 4 8 16 32
|
||||
132 4.205 0.812 25 11 1 6 1 2 4 8 16 32
|
||||
133 9.955 26.337 5 14 1 6 1 2 4 8 16 32
|
||||
134 13.538 -21.313 15 9 1 6 1 2 4 8 16 32
|
||||
135 -21.869 -18.768 2 6 1 6 1 2 4 8 16 32
|
||||
136 -37.158 -30.768 22 23 1 6 1 2 4 8 16 32
|
||||
137 -86.975 10.345 16 8 1 6 1 2 4 8 16 32
|
||||
138 -47.272 -46.326 23 22 1 6 1 2 4 8 16 32
|
||||
139 4.095 -19.354 13 7 1 6 1 2 4 8 16 32
|
||||
140 4.205 30.292 7 15 1 6 1 2 4 8 16 32
|
||||
141 -42.017 53.986 20 22 1 6 1 2 4 8 16 32
|
||||
142 35.095 -10.895 25 7 1 6 1 2 4 8 16 32
|
||||
143 61.188 -59.875 12 14 1 6 1 2 4 8 16 32
|
||||
144 -34.674 -1.337 9 21 1 6 1 2 4 8 16 32
|
||||
145 -3.799 44.290 0 0 0 0
|
||||
146 14.233 21.173 0 0 0 0
|
||||
147 -23.334 -28.397 0 0 0 0
|
||||
148 10.065 1.822 0 0 0 0
|
||||
149 -49.115 -43.549 0 0 0 0
|
||||
150 -21.054 4.144 0 0 0 0
|
||||
147 166 13 0 2892 0.684009 4.88001
|
||||
148 12 24 0 1421 0.684254 2.31743
|
||||
149 85 75 0 2187 0.9393 4.4976
|
||||
150 39 61 0 1326 0.95703 2.45562
|
||||
151 -152 -165 0 1792 0.665673 2.93984
|
||||
152 8 -24 0 1091 0.505532 3.30919
|
||||
235
branches/contribution/branches/bilevel/instances/bipr09
Normal file
235
branches/contribution/branches/bilevel/instances/bipr09
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
8 3 216 6 6
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
1 -41.235 -66.357 14 3 1 6 1 2 4 8 16 32
|
||||
2 34.064 -59.357 16 16 1 6 1 2 4 8 16 32
|
||||
3 20.917 -52.582 17 8 1 6 1 2 4 8 16 32
|
||||
4 -38.538 -37.396 19 15 1 6 1 2 4 8 16 32
|
||||
5 41.058 22.931 6 12 1 6 1 2 4 8 16 32
|
||||
6 -54.034 -53.131 7 13 1 6 1 2 4 8 16 32
|
||||
7 8.099 80.725 3 8 1 6 1 2 4 8 16 32
|
||||
8 81.299 13.409 10 24 1 6 1 2 4 8 16 32
|
||||
9 14.459 -2.972 4 14 1 6 1 2 4 8 16 32
|
||||
10 -52.539 60.107 17 17 1 6 1 2 4 8 16 32
|
||||
11 -57.202 -34.229 10 8 1 6 1 2 4 8 16 32
|
||||
12 -65.552 -40.222 13 11 1 6 1 2 4 8 16 32
|
||||
13 -19.751 -10.278 20 8 1 6 1 2 4 8 16 32
|
||||
14 -26.965 -87.012 6 17 1 6 1 2 4 8 16 32
|
||||
15 3.192 -88.654 18 19 1 6 1 2 4 8 16 32
|
||||
16 34.521 32.837 3 13 1 6 1 2 4 8 16 32
|
||||
17 80.035 5.273 10 2 1 6 1 2 4 8 16 32
|
||||
18 -39.838 -67.731 4 8 1 6 1 2 4 8 16 32
|
||||
19 14.600 11.365 15 21 1 6 1 2 4 8 16 32
|
||||
20 -20.990 -80.511 4 13 1 6 1 2 4 8 16 32
|
||||
21 48.242 47.284 6 17 1 6 1 2 4 8 16 32
|
||||
22 59.338 -31.860 19 4 1 6 1 2 4 8 16 32
|
||||
23 -13.995 -45.624 7 22 1 6 1 2 4 8 16 32
|
||||
24 32.397 -32.532 20 24 1 6 1 2 4 8 16 32
|
||||
25 2.826 50.824 12 11 1 6 1 2 4 8 16 32
|
||||
26 -66.077 -34.686 8 6 1 6 1 2 4 8 16 32
|
||||
27 -13.660 18.640 18 19 1 6 1 2 4 8 16 32
|
||||
28 -59.344 12.769 1 11 1 6 1 2 4 8 16 32
|
||||
29 -5.133 -18.463 25 23 1 6 1 2 4 8 16 32
|
||||
30 -22.961 -21.729 16 4 1 6 1 2 4 8 16 32
|
||||
31 58.130 46.606 5 5 1 6 1 2 4 8 16 32
|
||||
32 -49.603 -76.624 7 16 1 6 1 2 4 8 16 32
|
||||
33 -4.803 43.036 20 2 1 6 1 2 4 8 16 32
|
||||
34 68.616 -19.623 3 13 1 6 1 2 4 8 16 32
|
||||
35 37.915 63.599 11 11 1 6 1 2 4 8 16 32
|
||||
36 1.251 -26.550 15 9 1 6 1 2 4 8 16 32
|
||||
37 -37.952 1.685 15 18 1 6 1 2 4 8 16 32
|
||||
38 -40.503 8.038 8 7 1 6 1 2 4 8 16 32
|
||||
39 -8.392 -38.678 13 24 1 6 1 2 4 8 16 32
|
||||
40 -36.725 25.494 16 5 1 6 1 2 4 8 16 32
|
||||
41 -47.754 -50.073 4 2 1 6 1 2 4 8 16 32
|
||||
42 22.595 -28.357 9 5 1 6 1 2 4 8 16 32
|
||||
43 -36.365 -48.163 5 5 1 6 1 2 4 8 16 32
|
||||
44 75.452 -13.422 20 3 1 6 1 2 4 8 16 32
|
||||
45 -64.520 -13.232 10 13 1 6 1 2 4 8 16 32
|
||||
46 1.257 29.156 9 2 1 6 1 2 4 8 16 32
|
||||
47 -1.569 -35.974 18 10 1 6 1 2 4 8 16 32
|
||||
48 46.747 6.696 13 12 1 6 1 2 4 8 16 32
|
||||
49 82.080 27.057 17 24 1 6 1 2 4 8 16 32
|
||||
50 74.695 19.366 22 21 1 6 1 2 4 8 16 32
|
||||
51 47.015 9.338 5 18 1 6 1 2 4 8 16 32
|
||||
52 -62.036 -21.326 12 5 1 6 1 2 4 8 16 32
|
||||
53 9.192 20.038 4 15 1 6 1 2 4 8 16 32
|
||||
54 -3.094 21.582 5 11 1 6 1 2 4 8 16 32
|
||||
55 -75.446 13.086 22 7 1 6 1 2 4 8 16 32
|
||||
56 10.034 -63.739 7 3 1 6 1 2 4 8 16 32
|
||||
57 71.814 26.501 12 17 1 6 1 2 4 8 16 32
|
||||
58 18.842 -38.019 10 14 1 6 1 2 4 8 16 32
|
||||
59 -10.541 -31.305 18 14 1 6 1 2 4 8 16 32
|
||||
60 8.252 -91.150 17 7 1 6 1 2 4 8 16 32
|
||||
61 72.821 -38.916 3 12 1 6 1 2 4 8 16 32
|
||||
62 -30.157 38.776 1 5 1 6 1 2 4 8 16 32
|
||||
63 -56.256 -5.548 9 11 1 6 1 2 4 8 16 32
|
||||
64 -8.398 -37.604 12 17 1 6 1 2 4 8 16 32
|
||||
65 15.021 13.708 4 3 1 6 1 2 4 8 16 32
|
||||
66 -60.199 24.292 2 7 1 6 1 2 4 8 16 32
|
||||
67 -13.794 -27.106 18 13 1 6 1 2 4 8 16 32
|
||||
68 -34.796 -22.205 23 20 1 6 1 2 4 8 16 32
|
||||
69 69.641 83.057 14 13 1 6 1 2 4 8 16 32
|
||||
70 -44.440 30.090 6 4 1 6 1 2 4 8 16 32
|
||||
71 48.633 3.021 1 3 1 6 1 2 4 8 16 32
|
||||
72 -15.314 51.709 6 24 1 6 1 2 4 8 16 32
|
||||
73 36.261 26.782 6 23 1 6 1 2 4 8 16 32
|
||||
74 59.961 24.310 8 21 1 6 1 2 4 8 16 32
|
||||
75 55.304 6.628 25 23 1 6 1 2 4 8 16 32
|
||||
76 39.960 48.297 3 10 1 6 1 2 4 8 16 32
|
||||
77 -48.895 -71.100 3 21 1 6 1 2 4 8 16 32
|
||||
78 -2.338 -62.909 16 24 1 6 1 2 4 8 16 32
|
||||
79 9.491 -41.901 5 9 1 6 1 2 4 8 16 32
|
||||
80 -54.675 -18.439 6 22 1 6 1 2 4 8 16 32
|
||||
81 10.980 -7.605 6 3 1 6 1 2 4 8 16 32
|
||||
82 -69.824 -50.354 16 6 1 6 1 2 4 8 16 32
|
||||
83 -40.308 -7.452 6 11 1 6 1 2 4 8 16 32
|
||||
84 62.244 43.628 13 10 1 6 1 2 4 8 16 32
|
||||
85 29.077 63.116 4 15 1 6 1 2 4 8 16 32
|
||||
86 -12.067 -21.509 12 9 1 6 1 2 4 8 16 32
|
||||
87 14.728 28.906 15 20 1 6 1 2 4 8 16 32
|
||||
88 -63.086 -60.114 10 19 1 6 1 2 4 8 16 32
|
||||
89 33.655 -0.928 19 19 1 6 1 2 4 8 16 32
|
||||
90 -12.225 14.148 19 19 1 6 1 2 4 8 16 32
|
||||
91 -89.966 51.514 1 20 1 6 1 2 4 8 16 32
|
||||
92 -0.763 41.339 22 1 1 6 1 2 4 8 16 32
|
||||
93 80.695 32.983 20 15 1 6 1 2 4 8 16 32
|
||||
94 -53.394 -14.240 5 18 1 6 1 2 4 8 16 32
|
||||
95 -53.284 -64.136 12 2 1 6 1 2 4 8 16 32
|
||||
96 73.260 10.669 4 25 1 6 1 2 4 8 16 32
|
||||
97 59.613 13.452 12 20 1 6 1 2 4 8 16 32
|
||||
98 -37.012 6.476 8 18 1 6 1 2 4 8 16 32
|
||||
99 -53.656 21.692 10 8 1 6 1 2 4 8 16 32
|
||||
100 -36.890 18.372 2 3 1 6 1 2 4 8 16 32
|
||||
101 -4.608 -13.806 25 2 1 6 1 2 4 8 16 32
|
||||
102 53.802 36.993 14 15 1 6 1 2 4 8 16 32
|
||||
103 48.468 -66.040 20 21 1 6 1 2 4 8 16 32
|
||||
104 -46.393 -20.929 11 6 1 6 1 2 4 8 16 32
|
||||
105 -15.045 -40.845 4 24 1 6 1 2 4 8 16 32
|
||||
106 -73.621 -9.552 6 19 1 6 1 2 4 8 16 32
|
||||
107 92.847 45.587 8 23 1 6 1 2 4 8 16 32
|
||||
108 33.557 28.064 5 16 1 6 1 2 4 8 16 32
|
||||
109 47.321 24.414 3 16 1 6 1 2 4 8 16 32
|
||||
110 -6.610 -30.157 4 9 1 6 1 2 4 8 16 32
|
||||
111 12.103 23.840 24 1 1 6 1 2 4 8 16 32
|
||||
112 -61.963 26.239 4 10 1 6 1 2 4 8 16 32
|
||||
113 23.877 9.808 11 14 1 6 1 2 4 8 16 32
|
||||
114 49.780 6.866 23 11 1 6 1 2 4 8 16 32
|
||||
115 -53.021 -21.484 1 4 1 6 1 2 4 8 16 32
|
||||
116 54.962 2.985 15 23 1 6 1 2 4 8 16 32
|
||||
117 4.865 -69.586 12 23 1 6 1 2 4 8 16 32
|
||||
118 33.948 45.209 10 22 1 6 1 2 4 8 16 32
|
||||
119 -32.166 -23.621 24 11 1 6 1 2 4 8 16 32
|
||||
120 -17.548 -46.765 5 14 1 6 1 2 4 8 16 32
|
||||
121 31.744 33.972 23 12 1 6 1 2 4 8 16 32
|
||||
122 45.374 22.131 15 13 1 6 1 2 4 8 16 32
|
||||
123 -5.219 -23.114 6 11 1 6 1 2 4 8 16 32
|
||||
124 -51.056 -46.545 20 9 1 6 1 2 4 8 16 32
|
||||
125 11.774 11.133 13 6 1 6 1 2 4 8 16 32
|
||||
126 -39.758 -13.019 3 25 1 6 1 2 4 8 16 32
|
||||
127 27.930 29.321 3 21 1 6 1 2 4 8 16 32
|
||||
128 33.740 66.595 25 13 1 6 1 2 4 8 16 32
|
||||
129 -91.815 29.858 15 23 1 6 1 2 4 8 16 32
|
||||
130 -24.628 -68.701 6 8 1 6 1 2 4 8 16 32
|
||||
131 44.659 20.465 4 7 1 6 1 2 4 8 16 32
|
||||
132 45.447 -21.069 14 8 1 6 1 2 4 8 16 32
|
||||
133 -37.366 -12.097 15 9 1 6 1 2 4 8 16 32
|
||||
134 41.998 0.153 17 2 1 6 1 2 4 8 16 32
|
||||
135 -42.822 -30.170 12 24 1 6 1 2 4 8 16 32
|
||||
136 34.906 -4.578 2 7 1 6 1 2 4 8 16 32
|
||||
137 -65.137 -43.079 11 23 1 6 1 2 4 8 16 32
|
||||
138 20.270 -4.999 5 21 1 6 1 2 4 8 16 32
|
||||
139 -36.731 -8.929 20 12 1 6 1 2 4 8 16 32
|
||||
140 -26.984 -19.568 16 23 1 6 1 2 4 8 16 32
|
||||
141 -31.299 -83.813 13 18 1 6 1 2 4 8 16 32
|
||||
142 -26.794 12.506 9 5 1 6 1 2 4 8 16 32
|
||||
143 -39.362 -58.521 23 15 1 6 1 2 4 8 16 32
|
||||
144 -34.369 0.610 11 11 1 6 1 2 4 8 16 32
|
||||
145 43.372 4.187 14 8 1 6 1 2 4 8 16 32
|
||||
146 -38.226 -9.448 3 2 1 6 1 2 4 8 16 32
|
||||
147 -25.610 -99.237 9 6 1 6 1 2 4 8 16 32
|
||||
148 48.059 29.517 21 23 1 6 1 2 4 8 16 32
|
||||
149 -43.628 -32.318 24 9 1 6 1 2 4 8 16 32
|
||||
150 -16.602 -29.327 4 1 1 6 1 2 4 8 16 32
|
||||
151 -29.810 -12.408 18 12 1 6 1 2 4 8 16 32
|
||||
152 -51.910 -28.711 10 17 1 6 1 2 4 8 16 32
|
||||
153 -1.801 -18.671 3 2 1 6 1 2 4 8 16 32
|
||||
154 18.738 21.399 4 5 1 6 1 2 4 8 16 32
|
||||
155 60.120 7.788 25 1 1 6 1 2 4 8 16 32
|
||||
156 43.079 42.017 3 20 1 6 1 2 4 8 16 32
|
||||
157 -39.435 -5.902 22 19 1 6 1 2 4 8 16 32
|
||||
158 -35.889 -16.034 19 13 1 6 1 2 4 8 16 32
|
||||
159 -41.827 38.995 20 10 1 6 1 2 4 8 16 32
|
||||
160 84.497 29.822 7 9 1 6 1 2 4 8 16 32
|
||||
161 -17.560 -10.480 19 14 1 6 1 2 4 8 16 32
|
||||
162 -48.383 -48.920 19 4 1 6 1 2 4 8 16 32
|
||||
163 -49.335 -17.969 22 20 1 6 1 2 4 8 16 32
|
||||
164 16.095 -2.490 4 17 1 6 1 2 4 8 16 32
|
||||
165 65.527 14.026 25 19 1 6 1 2 4 8 16 32
|
||||
166 -2.930 13.220 23 19 1 6 1 2 4 8 16 32
|
||||
167 -18.768 -23.663 24 16 1 6 1 2 4 8 16 32
|
||||
168 -91.095 -80.737 25 4 1 6 1 2 4 8 16 32
|
||||
169 -21.088 -13.293 4 1 1 6 1 2 4 8 16 32
|
||||
170 46.985 17.224 3 21 1 6 1 2 4 8 16 32
|
||||
171 -61.957 -33.038 7 9 1 6 1 2 4 8 16 32
|
||||
172 -9.003 -25.452 10 2 1 6 1 2 4 8 16 32
|
||||
173 33.661 -7.666 10 24 1 6 1 2 4 8 16 32
|
||||
174 -25.592 -10.840 23 1 1 6 1 2 4 8 16 32
|
||||
175 36.560 -2.441 18 21 1 6 1 2 4 8 16 32
|
||||
176 7.141 24.817 8 13 1 6 1 2 4 8 16 32
|
||||
177 -43.170 -30.487 16 15 1 6 1 2 4 8 16 32
|
||||
178 -21.228 0.751 4 4 1 6 1 2 4 8 16 32
|
||||
179 19.696 10.767 14 10 1 6 1 2 4 8 16 32
|
||||
180 -6.494 -29.425 23 19 1 6 1 2 4 8 16 32
|
||||
181 54.388 8.630 17 1 1 6 1 2 4 8 16 32
|
||||
182 64.203 77.612 7 25 1 6 1 2 4 8 16 32
|
||||
183 40.381 1.611 8 3 1 6 1 2 4 8 16 32
|
||||
184 -41.711 -5.133 14 21 1 6 1 2 4 8 16 32
|
||||
185 74.274 -19.922 22 7 1 6 1 2 4 8 16 32
|
||||
186 -73.999 -54.626 7 18 1 6 1 2 4 8 16 32
|
||||
187 29.706 15.454 16 3 1 6 1 2 4 8 16 32
|
||||
188 23.785 12.177 24 1 1 6 1 2 4 8 16 32
|
||||
189 42.578 45.325 15 2 1 6 1 2 4 8 16 32
|
||||
190 -16.730 -16.559 15 8 1 6 1 2 4 8 16 32
|
||||
191 -14.697 -0.116 5 10 1 6 1 2 4 8 16 32
|
||||
192 -19.769 8.392 9 19 1 6 1 2 4 8 16 32
|
||||
193 -30.267 14.893 24 17 1 6 1 2 4 8 16 32
|
||||
194 -63.116 -67.462 6 19 1 6 1 2 4 8 16 32
|
||||
195 86.029 38.916 3 24 1 6 1 2 4 8 16 32
|
||||
196 79.480 -24.866 24 24 1 6 1 2 4 8 16 32
|
||||
197 35.144 14.734 22 6 1 6 1 2 4 8 16 32
|
||||
198 -49.365 -9.052 2 2 1 6 1 2 4 8 16 32
|
||||
199 -49.475 -17.578 21 7 1 6 1 2 4 8 16 32
|
||||
200 57.501 16.327 17 10 1 6 1 2 4 8 16 32
|
||||
201 54.889 12.024 13 13 1 6 1 2 4 8 16 32
|
||||
202 -53.027 -33.179 21 20 1 6 1 2 4 8 16 32
|
||||
203 -0.415 16.644 3 1 1 6 1 2 4 8 16 32
|
||||
204 21.594 16.144 9 17 1 6 1 2 4 8 16 32
|
||||
205 -46.924 -49.261 14 17 1 6 1 2 4 8 16 32
|
||||
206 18.457 19.733 9 16 1 6 1 2 4 8 16 32
|
||||
207 35.822 19.763 3 9 1 6 1 2 4 8 16 32
|
||||
208 71.869 29.034 22 25 1 6 1 2 4 8 16 32
|
||||
209 -56.378 -42.755 13 1 1 6 1 2 4 8 16 32
|
||||
210 -25.800 25.159 10 23 1 6 1 2 4 8 16 32
|
||||
211 -5.676 33.850 7 10 1 6 1 2 4 8 16 32
|
||||
212 54.041 -5.292 3 15 1 6 1 2 4 8 16 32
|
||||
213 -63.074 27.380 11 25 1 6 1 2 4 8 16 32
|
||||
214 -16.864 -49.768 17 25 1 6 1 2 4 8 16 32
|
||||
215 47.919 13.629 15 16 1 6 1 2 4 8 16 32
|
||||
216 -10.724 -2.075 4 1 1 6 1 2 4 8 16 32
|
||||
217 -15.067 -23.950 0 0 0 0
|
||||
218 38.791 22.443 0 0 0 0
|
||||
219 -41.833 -35.361 0 0 0 0
|
||||
220 -29.523 -4.843 0 0 0 0
|
||||
221 49.725 11.990 0 0 0 0
|
||||
222 21.133 14.142 0 0 0 0
|
||||
220 84 -25 0 3541 0.571674 3.14106
|
||||
221 85 -141 0 4532 0.554823 3.35134
|
||||
222 70 33 0 914 0.694178 2.5632
|
||||
223 -45 -48 0 2590 0.860047 4.5666
|
||||
224 2 129 0 2174 0.778208 2.58264
|
||||
225 74 -181 0 4854 0.965815 3.17557
|
||||
307
branches/contribution/branches/bilevel/instances/bipr10
Normal file
307
branches/contribution/branches/bilevel/instances/bipr10
Normal file
|
|
@ -0,0 +1,307 @@
|
|||
8 4 288 6 6
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
1 12.805 1.886 15 10 1 6 1 2 4 8 16 32
|
||||
2 18.213 1.373 7 21 1 6 1 2 4 8 16 32
|
||||
3 57.947 -48.779 10 8 1 6 1 2 4 8 16 32
|
||||
4 -52.429 -84.088 20 23 1 6 1 2 4 8 16 32
|
||||
5 60.797 -32.593 11 10 1 6 1 2 4 8 16 32
|
||||
6 23.151 4.205 7 9 1 6 1 2 4 8 16 32
|
||||
7 25.385 22.986 14 21 1 6 1 2 4 8 16 32
|
||||
8 25.513 -52.985 15 16 1 6 1 2 4 8 16 32
|
||||
9 -49.261 -41.718 8 21 1 6 1 2 4 8 16 32
|
||||
10 -37.561 -41.730 5 3 1 6 1 2 4 8 16 32
|
||||
11 -14.520 48.962 17 24 1 6 1 2 4 8 16 32
|
||||
12 41.229 -24.500 1 2 1 6 1 2 4 8 16 32
|
||||
13 -21.863 0.916 3 4 1 6 1 2 4 8 16 32
|
||||
14 -48.181 -16.284 8 18 1 6 1 2 4 8 16 32
|
||||
15 -7.776 44.348 14 5 1 6 1 2 4 8 16 32
|
||||
16 20.801 10.760 3 13 1 6 1 2 4 8 16 32
|
||||
17 -29.712 -46.326 6 13 1 6 1 2 4 8 16 32
|
||||
18 -20.203 -59.564 23 14 1 6 1 2 4 8 16 32
|
||||
19 -87.079 -52.899 14 10 1 6 1 2 4 8 16 32
|
||||
20 3.046 -6.305 1 3 1 6 1 2 4 8 16 32
|
||||
21 11.865 5.261 2 1 1 6 1 2 4 8 16 32
|
||||
22 -24.072 -55.927 17 11 1 6 1 2 4 8 16 32
|
||||
23 -22.803 5.658 15 16 1 6 1 2 4 8 16 32
|
||||
24 -51.904 9.412 18 6 1 6 1 2 4 8 16 32
|
||||
25 12.732 -40.967 15 18 1 6 1 2 4 8 16 32
|
||||
26 -30.988 7.654 7 11 1 6 1 2 4 8 16 32
|
||||
27 37.512 0.458 4 15 1 6 1 2 4 8 16 32
|
||||
28 2.954 -8.563 24 17 1 6 1 2 4 8 16 32
|
||||
29 0.549 3.644 18 17 1 6 1 2 4 8 16 32
|
||||
30 -52.484 9.711 2 1 1 6 1 2 4 8 16 32
|
||||
31 33.936 -48.718 4 1 1 6 1 2 4 8 16 32
|
||||
32 -13.129 -53.601 11 18 1 6 1 2 4 8 16 32
|
||||
33 -99.591 23.303 25 3 1 6 1 2 4 8 16 32
|
||||
34 6.439 -3.516 15 21 1 6 1 2 4 8 16 32
|
||||
35 -14.032 -19.818 18 22 1 6 1 2 4 8 16 32
|
||||
36 -24.677 16.608 9 14 1 6 1 2 4 8 16 32
|
||||
37 -10.260 -81.769 23 4 1 6 1 2 4 8 16 32
|
||||
38 35.858 5.597 22 17 1 6 1 2 4 8 16 32
|
||||
39 -11.603 42.908 9 16 1 6 1 2 4 8 16 32
|
||||
40 -34.662 -15.466 20 8 1 6 1 2 4 8 16 32
|
||||
41 66.852 1.135 13 14 1 6 1 2 4 8 16 32
|
||||
42 6.866 -1.416 3 23 1 6 1 2 4 8 16 32
|
||||
43 1.660 -2.234 6 1 1 6 1 2 4 8 16 32
|
||||
44 37.561 11.450 18 21 1 6 1 2 4 8 16 32
|
||||
45 51.672 -26.343 9 10 1 6 1 2 4 8 16 32
|
||||
46 19.025 -10.889 24 19 1 6 1 2 4 8 16 32
|
||||
47 -37.982 -6.360 19 6 1 6 1 2 4 8 16 32
|
||||
48 -56.537 -42.334 11 4 1 6 1 2 4 8 16 32
|
||||
49 1.099 -14.624 14 18 1 6 1 2 4 8 16 32
|
||||
50 -56.238 -3.076 15 23 1 6 1 2 4 8 16 32
|
||||
51 -23.669 -15.289 5 25 1 6 1 2 4 8 16 32
|
||||
52 -34.277 -1.410 18 17 1 6 1 2 4 8 16 32
|
||||
53 -64.178 63.812 22 11 1 6 1 2 4 8 16 32
|
||||
54 -47.083 -20.386 13 20 1 6 1 2 4 8 16 32
|
||||
55 -33.710 8.380 11 9 1 6 1 2 4 8 16 32
|
||||
56 34.290 26.031 11 23 1 6 1 2 4 8 16 32
|
||||
57 -38.861 42.114 1 14 1 6 1 2 4 8 16 32
|
||||
58 -92.731 44.885 25 7 1 6 1 2 4 8 16 32
|
||||
59 23.633 27.643 19 15 1 6 1 2 4 8 16 32
|
||||
60 -67.139 -67.078 13 22 1 6 1 2 4 8 16 32
|
||||
61 25.726 -25.836 7 4 1 6 1 2 4 8 16 32
|
||||
62 -40.985 -16.895 2 14 1 6 1 2 4 8 16 32
|
||||
63 77.008 -6.097 16 24 1 6 1 2 4 8 16 32
|
||||
64 -54.810 -1.935 2 13 1 6 1 2 4 8 16 32
|
||||
65 -53.943 -29.663 1 9 1 6 1 2 4 8 16 32
|
||||
66 16.089 -27.887 19 3 1 6 1 2 4 8 16 32
|
||||
67 -59.436 36.487 24 23 1 6 1 2 4 8 16 32
|
||||
68 34.473 25.391 19 2 1 6 1 2 4 8 16 32
|
||||
69 -9.283 -6.689 24 23 1 6 1 2 4 8 16 32
|
||||
70 -85.559 -20.477 10 8 1 6 1 2 4 8 16 32
|
||||
71 29.523 18.347 19 23 1 6 1 2 4 8 16 32
|
||||
72 27.814 6.512 1 13 1 6 1 2 4 8 16 32
|
||||
73 42.151 -25.580 19 25 1 6 1 2 4 8 16 32
|
||||
74 82.202 85.828 25 25 1 6 1 2 4 8 16 32
|
||||
75 -47.766 -35.590 24 20 1 6 1 2 4 8 16 32
|
||||
76 22.015 -20.349 11 9 1 6 1 2 4 8 16 32
|
||||
77 -55.756 -33.490 7 15 1 6 1 2 4 8 16 32
|
||||
78 62.006 -1.453 25 4 1 6 1 2 4 8 16 32
|
||||
79 25.549 -3.796 3 1 1 6 1 2 4 8 16 32
|
||||
80 -43.372 -7.379 3 7 1 6 1 2 4 8 16 32
|
||||
81 60.297 52.637 18 12 1 6 1 2 4 8 16 32
|
||||
82 -96.155 34.100 18 5 1 6 1 2 4 8 16 32
|
||||
83 -32.806 -3.845 9 8 1 6 1 2 4 8 16 32
|
||||
84 -47.827 -45.203 21 1 1 6 1 2 4 8 16 32
|
||||
85 -31.128 -93.848 21 24 1 6 1 2 4 8 16 32
|
||||
86 -17.010 -21.857 21 23 1 6 1 2 4 8 16 32
|
||||
87 -8.386 -2.264 11 12 1 6 1 2 4 8 16 32
|
||||
88 35.834 13.147 2 2 1 6 1 2 4 8 16 32
|
||||
89 29.315 54.468 4 22 1 6 1 2 4 8 16 32
|
||||
90 48.352 -8.783 3 3 1 6 1 2 4 8 16 32
|
||||
91 -2.930 27.039 8 12 1 6 1 2 4 8 16 32
|
||||
92 -16.620 -55.389 20 16 1 6 1 2 4 8 16 32
|
||||
93 -40.851 -47.742 23 8 1 6 1 2 4 8 16 32
|
||||
94 -12.878 -2.039 15 25 1 6 1 2 4 8 16 32
|
||||
95 -51.776 7.281 3 6 1 6 1 2 4 8 16 32
|
||||
96 -32.922 23.828 14 24 1 6 1 2 4 8 16 32
|
||||
97 13.983 -34.521 8 16 1 6 1 2 4 8 16 32
|
||||
98 -35.834 -23.834 4 7 1 6 1 2 4 8 16 32
|
||||
99 91.858 5.542 19 9 1 6 1 2 4 8 16 32
|
||||
100 -28.442 -34.180 6 23 1 6 1 2 4 8 16 32
|
||||
101 33.844 27.875 1 24 1 6 1 2 4 8 16 32
|
||||
102 98.431 31.348 2 19 1 6 1 2 4 8 16 32
|
||||
103 -57.751 -27.753 3 9 1 6 1 2 4 8 16 32
|
||||
104 -43.890 13.007 24 10 1 6 1 2 4 8 16 32
|
||||
105 37.585 49.768 6 23 1 6 1 2 4 8 16 32
|
||||
106 -3.687 7.373 14 2 1 6 1 2 4 8 16 32
|
||||
107 -98.242 61.658 22 5 1 6 1 2 4 8 16 32
|
||||
108 -23.560 -32.520 14 25 1 6 1 2 4 8 16 32
|
||||
109 22.980 -18.109 7 17 1 6 1 2 4 8 16 32
|
||||
110 43.915 -2.985 13 23 1 6 1 2 4 8 16 32
|
||||
111 71.509 11.652 19 23 1 6 1 2 4 8 16 32
|
||||
112 -43.011 -38.702 6 13 1 6 1 2 4 8 16 32
|
||||
113 -83.954 2.179 4 2 1 6 1 2 4 8 16 32
|
||||
114 11.090 -40.942 17 24 1 6 1 2 4 8 16 32
|
||||
115 27.173 -13.330 17 22 1 6 1 2 4 8 16 32
|
||||
116 -86.102 -59.808 13 20 1 6 1 2 4 8 16 32
|
||||
117 -22.345 -78.278 21 15 1 6 1 2 4 8 16 32
|
||||
118 -38.727 -33.588 8 12 1 6 1 2 4 8 16 32
|
||||
119 -1.227 -28.668 7 17 1 6 1 2 4 8 16 32
|
||||
120 81.329 -44.244 15 21 1 6 1 2 4 8 16 32
|
||||
121 51.904 19.891 5 10 1 6 1 2 4 8 16 32
|
||||
122 -34.973 -27.856 6 4 1 6 1 2 4 8 16 32
|
||||
123 -51.483 -23.248 17 21 1 6 1 2 4 8 16 32
|
||||
124 -0.647 -46.057 4 3 1 6 1 2 4 8 16 32
|
||||
125 68.219 -66.986 25 17 1 6 1 2 4 8 16 32
|
||||
126 -15.149 -25.482 11 19 1 6 1 2 4 8 16 32
|
||||
127 22.412 -34.375 17 10 1 6 1 2 4 8 16 32
|
||||
128 36.176 -10.431 17 21 1 6 1 2 4 8 16 32
|
||||
129 -23.639 -47.681 2 21 1 6 1 2 4 8 16 32
|
||||
130 -14.722 32.684 7 6 1 6 1 2 4 8 16 32
|
||||
131 16.821 -12.720 16 8 1 6 1 2 4 8 16 32
|
||||
132 93.378 23.004 2 8 1 6 1 2 4 8 16 32
|
||||
133 40.344 -24.176 12 13 1 6 1 2 4 8 16 32
|
||||
134 5.530 -4.901 7 7 1 6 1 2 4 8 16 32
|
||||
135 -78.015 1.270 19 11 1 6 1 2 4 8 16 32
|
||||
136 51.569 -45.673 16 18 1 6 1 2 4 8 16 32
|
||||
137 49.249 -30.896 17 10 1 6 1 2 4 8 16 32
|
||||
138 -62.195 -21.399 8 25 1 6 1 2 4 8 16 32
|
||||
139 -5.048 7.306 24 7 1 6 1 2 4 8 16 32
|
||||
140 1.727 -70.221 10 17 1 6 1 2 4 8 16 32
|
||||
141 1.361 -3.564 20 20 1 6 1 2 4 8 16 32
|
||||
142 -15.521 16.425 8 18 1 6 1 2 4 8 16 32
|
||||
143 -31.604 -60.938 6 21 1 6 1 2 4 8 16 32
|
||||
144 -46.997 -55.560 5 14 1 6 1 2 4 8 16 32
|
||||
145 2.301 5.536 23 2 1 6 1 2 4 8 16 32
|
||||
146 -30.328 -0.580 14 18 1 6 1 2 4 8 16 32
|
||||
147 -16.821 17.664 23 10 1 6 1 2 4 8 16 32
|
||||
148 52.655 29.034 13 5 1 6 1 2 4 8 16 32
|
||||
149 -11.993 -83.771 12 15 1 6 1 2 4 8 16 32
|
||||
150 41.632 43.048 13 17 1 6 1 2 4 8 16 32
|
||||
151 8.508 -2.539 20 12 1 6 1 2 4 8 16 32
|
||||
152 31.512 -8.978 14 14 1 6 1 2 4 8 16 32
|
||||
153 -3.339 -36.243 6 3 1 6 1 2 4 8 16 32
|
||||
154 -26.379 13.776 4 7 1 6 1 2 4 8 16 32
|
||||
155 28.430 10.571 13 21 1 6 1 2 4 8 16 32
|
||||
156 5.975 27.289 1 7 1 6 1 2 4 8 16 32
|
||||
157 -32.135 -45.068 9 5 1 6 1 2 4 8 16 32
|
||||
158 31.097 -7.916 5 24 1 6 1 2 4 8 16 32
|
||||
159 28.198 -29.755 7 13 1 6 1 2 4 8 16 32
|
||||
160 -39.612 -33.594 4 18 1 6 1 2 4 8 16 32
|
||||
161 -19.220 -5.133 12 19 1 6 1 2 4 8 16 32
|
||||
162 -10.114 69.977 20 22 1 6 1 2 4 8 16 32
|
||||
163 22.894 -44.348 20 13 1 6 1 2 4 8 16 32
|
||||
164 -34.741 0.580 14 10 1 6 1 2 4 8 16 32
|
||||
165 -44.952 -77.734 11 4 1 6 1 2 4 8 16 32
|
||||
166 -23.749 -56.012 1 17 1 6 1 2 4 8 16 32
|
||||
167 69.073 -97.125 5 2 1 6 1 2 4 8 16 32
|
||||
168 12.170 -59.869 1 18 1 6 1 2 4 8 16 32
|
||||
169 47.339 17.365 14 2 1 6 1 2 4 8 16 32
|
||||
170 -4.706 14.056 19 18 1 6 1 2 4 8 16 32
|
||||
171 -52.374 -50.244 16 13 1 6 1 2 4 8 16 32
|
||||
172 39.215 -29.773 21 24 1 6 1 2 4 8 16 32
|
||||
173 -42.316 -60.602 9 25 1 6 1 2 4 8 16 32
|
||||
174 19.135 41.150 1 2 1 6 1 2 4 8 16 32
|
||||
175 -54.706 -17.596 18 2 1 6 1 2 4 8 16 32
|
||||
176 11.737 -83.173 7 7 1 6 1 2 4 8 16 32
|
||||
177 -40.582 -53.247 15 23 1 6 1 2 4 8 16 32
|
||||
178 -6.421 21.967 21 21 1 6 1 2 4 8 16 32
|
||||
179 -31.268 -34.613 4 18 1 6 1 2 4 8 16 32
|
||||
180 -3.668 -26.868 21 21 1 6 1 2 4 8 16 32
|
||||
181 13.409 -22.302 10 23 1 6 1 2 4 8 16 32
|
||||
182 -95.892 -86.322 16 16 1 6 1 2 4 8 16 32
|
||||
183 88.983 -53.387 21 22 1 6 1 2 4 8 16 32
|
||||
184 -55.048 -32.538 7 11 1 6 1 2 4 8 16 32
|
||||
185 27.850 -10.028 8 22 1 6 1 2 4 8 16 32
|
||||
186 40.918 -36.090 6 10 1 6 1 2 4 8 16 32
|
||||
187 -58.350 15.814 23 15 1 6 1 2 4 8 16 32
|
||||
188 -52.161 -74.725 18 23 1 6 1 2 4 8 16 32
|
||||
189 -66.772 -34.943 6 7 1 6 1 2 4 8 16 32
|
||||
190 -33.374 -62.024 6 1 1 6 1 2 4 8 16 32
|
||||
191 -8.649 31.708 14 21 1 6 1 2 4 8 16 32
|
||||
192 -26.166 -56.152 14 11 1 6 1 2 4 8 16 32
|
||||
193 -39.874 -53.375 22 2 1 6 1 2 4 8 16 32
|
||||
194 71.643 -36.981 22 24 1 6 1 2 4 8 16 32
|
||||
195 -96.924 8.411 25 25 1 6 1 2 4 8 16 32
|
||||
196 -2.911 36.200 13 17 1 6 1 2 4 8 16 32
|
||||
197 -53.253 14.099 21 10 1 6 1 2 4 8 16 32
|
||||
198 67.316 -39.734 14 18 1 6 1 2 4 8 16 32
|
||||
199 -6.525 11.975 18 2 1 6 1 2 4 8 16 32
|
||||
200 16.425 33.221 18 12 1 6 1 2 4 8 16 32
|
||||
201 -19.061 -56.921 11 4 1 6 1 2 4 8 16 32
|
||||
202 25.189 -21.045 10 1 1 6 1 2 4 8 16 32
|
||||
203 37.854 -5.524 15 1 1 6 1 2 4 8 16 32
|
||||
204 -16.479 48.657 3 6 1 6 1 2 4 8 16 32
|
||||
205 2.344 -16.516 2 22 1 6 1 2 4 8 16 32
|
||||
206 -48.621 -12.390 12 25 1 6 1 2 4 8 16 32
|
||||
207 -42.621 -50.006 18 21 1 6 1 2 4 8 16 32
|
||||
208 16.016 11.169 1 18 1 6 1 2 4 8 16 32
|
||||
209 -80.408 -60.583 3 14 1 6 1 2 4 8 16 32
|
||||
210 -95.068 44.293 4 21 1 6 1 2 4 8 16 32
|
||||
211 -6.885 24.884 12 4 1 6 1 2 4 8 16 32
|
||||
212 -4.803 21.674 15 1 1 6 1 2 4 8 16 32
|
||||
213 7.037 -45.337 22 18 1 6 1 2 4 8 16 32
|
||||
214 31.293 -39.905 20 4 1 6 1 2 4 8 16 32
|
||||
215 14.984 26.172 16 4 1 6 1 2 4 8 16 32
|
||||
216 33.203 -52.289 11 5 1 6 1 2 4 8 16 32
|
||||
217 -59.277 39.667 20 15 1 6 1 2 4 8 16 32
|
||||
218 30.054 -36.823 13 5 1 6 1 2 4 8 16 32
|
||||
219 9.351 -39.044 9 22 1 6 1 2 4 8 16 32
|
||||
220 -10.651 54.431 16 21 1 6 1 2 4 8 16 32
|
||||
221 20.856 -26.465 7 17 1 6 1 2 4 8 16 32
|
||||
222 19.617 17.865 21 8 1 6 1 2 4 8 16 32
|
||||
223 -36.981 -92.950 18 4 1 6 1 2 4 8 16 32
|
||||
224 -3.760 59.875 4 4 1 6 1 2 4 8 16 32
|
||||
225 11.682 -63.336 15 16 1 6 1 2 4 8 16 32
|
||||
226 4.468 -36.133 5 5 1 6 1 2 4 8 16 32
|
||||
227 47.040 -41.254 24 15 1 6 1 2 4 8 16 32
|
||||
228 29.938 -58.710 21 25 1 6 1 2 4 8 16 32
|
||||
229 -70.569 -7.037 7 15 1 6 1 2 4 8 16 32
|
||||
230 56.262 1.819 24 7 1 6 1 2 4 8 16 32
|
||||
231 46.210 -53.522 22 19 1 6 1 2 4 8 16 32
|
||||
232 6.366 -14.264 1 11 1 6 1 2 4 8 16 32
|
||||
233 -34.540 -39.502 6 13 1 6 1 2 4 8 16 32
|
||||
234 -50.537 28.357 4 24 1 6 1 2 4 8 16 32
|
||||
235 -61.444 -10.901 14 4 1 6 1 2 4 8 16 32
|
||||
236 -30.823 17.902 18 13 1 6 1 2 4 8 16 32
|
||||
237 49.658 24.469 16 6 1 6 1 2 4 8 16 32
|
||||
238 -69.775 -41.406 1 4 1 6 1 2 4 8 16 32
|
||||
239 -18.939 57.690 24 12 1 6 1 2 4 8 16 32
|
||||
240 -22.449 15.771 19 4 1 6 1 2 4 8 16 32
|
||||
241 -7.599 37.030 19 4 1 6 1 2 4 8 16 32
|
||||
242 27.435 17.554 11 25 1 6 1 2 4 8 16 32
|
||||
243 45.526 -5.127 9 25 1 6 1 2 4 8 16 32
|
||||
244 -33.551 -25.586 3 14 1 6 1 2 4 8 16 32
|
||||
245 -4.645 53.754 1 25 1 6 1 2 4 8 16 32
|
||||
246 -41.119 -13.361 10 13 1 6 1 2 4 8 16 32
|
||||
247 23.010 -45.703 19 13 1 6 1 2 4 8 16 32
|
||||
248 17.230 5.096 14 11 1 6 1 2 4 8 16 32
|
||||
249 -6.818 -19.873 14 24 1 6 1 2 4 8 16 32
|
||||
250 52.966 51.410 24 5 1 6 1 2 4 8 16 32
|
||||
251 -28.662 -50.940 16 12 1 6 1 2 4 8 16 32
|
||||
252 69.684 -51.520 6 4 1 6 1 2 4 8 16 32
|
||||
253 36.884 -17.371 9 5 1 6 1 2 4 8 16 32
|
||||
254 -19.659 42.035 20 24 1 6 1 2 4 8 16 32
|
||||
255 72.125 65.405 21 17 1 6 1 2 4 8 16 32
|
||||
256 -71.368 59.863 8 4 1 6 1 2 4 8 16 32
|
||||
257 18.317 -37.750 11 1 1 6 1 2 4 8 16 32
|
||||
258 18.121 0.482 13 19 1 6 1 2 4 8 16 32
|
||||
259 -1.105 -30.676 24 7 1 6 1 2 4 8 16 32
|
||||
260 -44.574 -44.055 15 24 1 6 1 2 4 8 16 32
|
||||
261 -28.058 -59.436 6 10 1 6 1 2 4 8 16 32
|
||||
262 -7.953 4.639 24 13 1 6 1 2 4 8 16 32
|
||||
263 -37.366 -28.528 3 24 1 6 1 2 4 8 16 32
|
||||
264 4.388 -38.489 16 3 1 6 1 2 4 8 16 32
|
||||
265 -44.592 -35.333 24 14 1 6 1 2 4 8 16 32
|
||||
266 -56.714 -39.252 19 2 1 6 1 2 4 8 16 32
|
||||
267 13.452 -32.159 5 24 1 6 1 2 4 8 16 32
|
||||
268 -20.343 -11.182 11 11 1 6 1 2 4 8 16 32
|
||||
269 3.436 -52.734 19 5 1 6 1 2 4 8 16 32
|
||||
270 40.576 -54.492 22 14 1 6 1 2 4 8 16 32
|
||||
271 31.952 -25.421 23 21 1 6 1 2 4 8 16 32
|
||||
272 -57.434 38.525 12 14 1 6 1 2 4 8 16 32
|
||||
273 47.510 -42.035 23 15 1 6 1 2 4 8 16 32
|
||||
274 -28.143 -41.614 25 3 1 6 1 2 4 8 16 32
|
||||
275 -2.258 -5.078 3 15 1 6 1 2 4 8 16 32
|
||||
276 -27.167 -27.936 25 15 1 6 1 2 4 8 16 32
|
||||
277 -24.048 -47.192 1 21 1 6 1 2 4 8 16 32
|
||||
278 -77.521 -55.084 16 17 1 6 1 2 4 8 16 32
|
||||
279 -62.036 -43.439 21 18 1 6 1 2 4 8 16 32
|
||||
280 -71.936 -20.160 11 15 1 6 1 2 4 8 16 32
|
||||
281 -66.504 -39.789 6 19 1 6 1 2 4 8 16 32
|
||||
282 14.587 48.444 14 9 1 6 1 2 4 8 16 32
|
||||
283 31.366 -29.462 23 10 1 6 1 2 4 8 16 32
|
||||
284 6.512 -46.124 9 13 1 6 1 2 4 8 16 32
|
||||
285 9.650 39.508 8 25 1 6 1 2 4 8 16 32
|
||||
286 16.040 16.681 19 1 1 6 1 2 4 8 16 32
|
||||
287 7.745 -75.378 17 11 1 6 1 2 4 8 16 32
|
||||
288 -27.173 -4.462 15 25 1 6 1 2 4 8 16 32
|
||||
289 -40.198 -12.781 0 0 0 0
|
||||
290 -40.488 -35.864 0 0 0 0
|
||||
291 -1.193 2.515 0 0 0 0
|
||||
292 18.329 -35.468 0 0 0 0
|
||||
293 23.746 -0.522 0 0 0 0
|
||||
294 -46.396 -39.923 0 0 0 0
|
||||
293 -17 -105 0 4828 0.760323 2.53452
|
||||
294 148 77 0 5977 0.83067 4.84825
|
||||
295 -63 86 0 4097 0.731137 4.10609
|
||||
296 -7 197 0 4207 0.844959 4.12252
|
||||
297 19 21 0 1462 0.998778 4.00297
|
||||
298 124 -146 0 6561 0.701159 2.99411
|
||||
62
branches/contribution/branches/bilevel/instances/mbipr01
Normal file
62
branches/contribution/branches/bilevel/instances/mbipr01
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
10 1 48 4 4
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
|
||||
1 -29.730 64.136 2 12 1 4 1 2 4 8
|
||||
2 -30.664 5.463 7 8 1 4 1 2 4 8
|
||||
3 51.642 5.469 21 16 1 4 1 2 4 8
|
||||
4 -13.171 69.336 24 5 1 4 1 2 4 8
|
||||
5 -67.413 68.323 1 12 1 4 1 2 4 8
|
||||
6 48.907 6.274 17 5 1 4 1 2 4 8
|
||||
7 5.243 22.260 6 13 1 4 1 2 4 8
|
||||
8 -65.002 77.234 5 20 1 4 1 2 4 8
|
||||
9 -4.175 -1.569 7 13 1 4 1 2 4 8
|
||||
10 23.029 11.639 1 18 1 4 1 2 4 8
|
||||
11 25.482 6.287 4 7 1 4 1 2 4 8
|
||||
12 -42.615 -26.392 10 6 1 4 1 2 4 8
|
||||
13 -76.672 99.341 2 9 1 4 1 2 4 8
|
||||
14 -20.673 57.892 16 9 1 4 1 2 4 8
|
||||
15 -52.039 6.567 23 4 1 4 1 2 4 8
|
||||
16 -41.376 50.824 18 25 1 4 1 2 4 8
|
||||
17 -91.943 27.588 3 5 1 4 1 2 4 8
|
||||
18 -65.118 30.212 15 17 1 4 1 2 4 8
|
||||
19 18.597 96.716 13 3 1 4 1 2 4 8
|
||||
20 -40.942 83.209 10 16 1 4 1 2 4 8
|
||||
21 -37.756 -33.325 4 25 1 4 1 2 4 8
|
||||
22 23.767 29.083 23 21 1 4 1 2 4 8
|
||||
23 -43.030 20.453 20 14 1 4 1 2 4 8
|
||||
24 -35.297 -24.896 10 19 1 4 1 2 4 8
|
||||
25 -54.755 14.368 4 14 1 4 1 2 4 8
|
||||
26 -49.329 33.374 2 6 1 4 1 2 4 8
|
||||
27 57.404 23.822 23 16 1 4 1 2 4 8
|
||||
28 -22.754 55.408 6 9 1 4 1 2 4 8
|
||||
29 -56.622 73.340 8 20 1 4 1 2 4 8
|
||||
30 -38.562 -3.705 10 13 1 4 1 2 4 8
|
||||
31 -16.779 19.537 7 10 1 4 1 2 4 8
|
||||
32 -11.560 11.615 1 16 1 4 1 2 4 8
|
||||
33 -46.545 97.974 21 19 1 4 1 2 4 8
|
||||
34 16.229 9.320 6 22 1 4 1 2 4 8
|
||||
35 1.294 7.349 4 14 1 4 1 2 4 8
|
||||
36 -26.404 29.529 13 10 1 4 1 2 4 8
|
||||
37 4.352 14.685 9 11 1 4 1 2 4 8
|
||||
38 -50.665 -23.126 22 15 1 4 1 2 4 8
|
||||
39 -22.833 -9.814 22 13 1 4 1 2 4 8
|
||||
40 -71.100 -18.616 18 15 1 4 1 2 4 8
|
||||
41 -7.849 32.074 10 8 1 4 1 2 4 8
|
||||
42 11.877 -24.933 25 22 1 4 1 2 4 8
|
||||
43 -18.927 -23.730 23 24 1 4 1 2 4 8
|
||||
44 -11.920 11.755 4 3 1 4 1 2 4 8
|
||||
45 29.840 11.633 9 25 1 4 1 2 4 8
|
||||
46 12.268 -55.811 17 19 1 4 1 2 4 8
|
||||
47 -37.933 -21.613 10 21 1 4 1 2 4 8
|
||||
48 42.883 -2.966 17 10 1 4 1 2 4 8
|
||||
49 4.163 13.559 0 0 0 0
|
||||
50 21.387 17.105 0 0 0 0
|
||||
51 -36.118 49.097 0 0 0 0
|
||||
52 -31.201 0.235 0 0 0 0
|
||||
50 -192 -154 0 420 0.523766 3.82994 3.42067
|
||||
51 -140 113 0 410 0.703372 2.77386 2.0875
|
||||
52 -76 183 0 870 0.504787 3.67232 2.33358
|
||||
53 102 -128 0 403 0.990615 3.71751 2.12532
|
||||
110
branches/contribution/branches/bilevel/instances/mbipr02
Normal file
110
branches/contribution/branches/bilevel/instances/mbipr02
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
10 2 96 4 4
|
||||
480 195
|
||||
480 195
|
||||
480 195
|
||||
480 195
|
||||
|
||||
1 33.588 30.750 12 4 1 4 1 2 4 8
|
||||
2 48.828 65.314 1 12 1 4 1 2 4 8
|
||||
3 86.176 59.344 1 3 1 4 1 2 4 8
|
||||
4 39.270 -33.057 15 15 1 4 1 2 4 8
|
||||
5 -23.370 86.853 10 13 1 4 1 2 4 8
|
||||
6 48.132 95.593 12 20 1 4 1 2 4 8
|
||||
7 -16.357 93.311 15 21 1 4 1 2 4 8
|
||||
8 -57.703 -65.601 16 4 1 4 1 2 4 8
|
||||
9 7.147 32.684 18 25 1 4 1 2 4 8
|
||||
10 42.950 68.701 9 21 1 4 1 2 4 8
|
||||
11 37.085 -2.112 5 7 1 4 1 2 4 8
|
||||
12 77.759 55.817 19 3 1 4 1 2 4 8
|
||||
13 -17.462 -56.567 11 9 1 4 1 2 4 8
|
||||
14 58.575 59.888 12 5 1 4 1 2 4 8
|
||||
15 57.776 15.344 13 20 1 4 1 2 4 8
|
||||
16 -22.327 36.072 8 21 1 4 1 2 4 8
|
||||
17 -7.080 30.493 14 19 1 4 1 2 4 8
|
||||
18 55.658 60.425 9 2 1 4 1 2 4 8
|
||||
19 -14.307 11.456 2 16 1 4 1 2 4 8
|
||||
20 -29.724 24.268 25 18 1 4 1 2 4 8
|
||||
21 43.219 0.739 6 24 1 4 1 2 4 8
|
||||
22 45.184 35.474 16 24 1 4 1 2 4 8
|
||||
23 64.484 2.240 18 8 1 4 1 2 4 8
|
||||
24 55.078 72.241 4 16 1 4 1 2 4 8
|
||||
25 16.925 15.741 17 19 1 4 1 2 4 8
|
||||
26 45.038 -3.723 4 12 1 4 1 2 4 8
|
||||
27 -76.782 5.939 22 9 1 4 1 2 4 8
|
||||
28 36.169 0.256 12 3 1 4 1 2 4 8
|
||||
29 29.218 8.936 13 15 1 4 1 2 4 8
|
||||
30 65.057 5.225 5 4 1 4 1 2 4 8
|
||||
31 42.175 -22.284 24 24 1 4 1 2 4 8
|
||||
32 25.574 31.726 12 22 1 4 1 2 4 8
|
||||
33 31.561 37.262 16 14 1 4 1 2 4 8
|
||||
34 66.498 -54.169 8 11 1 4 1 2 4 8
|
||||
35 46.576 -17.938 10 20 1 4 1 2 4 8
|
||||
36 65.063 40.875 15 5 1 4 1 2 4 8
|
||||
37 -2.716 24.768 21 11 1 4 1 2 4 8
|
||||
38 -40.002 3.870 5 12 1 4 1 2 4 8
|
||||
39 -73.505 57.043 9 7 1 4 1 2 4 8
|
||||
40 81.146 -25.714 5 1 1 4 1 2 4 8
|
||||
41 12.006 -7.965 9 23 1 4 1 2 4 8
|
||||
42 42.761 38.092 20 13 1 4 1 2 4 8
|
||||
43 3.857 -23.181 14 4 1 4 1 2 4 8
|
||||
44 -7.367 24.390 24 23 1 4 1 2 4 8
|
||||
45 35.944 -11.835 23 17 1 4 1 2 4 8
|
||||
46 52.075 9.692 12 13 1 4 1 2 4 8
|
||||
47 30.725 30.701 13 9 1 4 1 2 4 8
|
||||
48 41.223 77.924 19 10 1 4 1 2 4 8
|
||||
49 68.884 -40.546 21 22 1 4 1 2 4 8
|
||||
50 76.312 86.670 5 21 1 4 1 2 4 8
|
||||
51 63.934 78.540 9 13 1 4 1 2 4 8
|
||||
52 29.150 -9.961 23 25 1 4 1 2 4 8
|
||||
53 85.522 39.954 8 8 1 4 1 2 4 8
|
||||
54 31.775 3.870 5 20 1 4 1 2 4 8
|
||||
55 -20.544 19.086 8 3 1 4 1 2 4 8
|
||||
56 55.353 43.817 10 4 1 4 1 2 4 8
|
||||
57 35.406 10.278 9 13 1 4 1 2 4 8
|
||||
58 25.464 -0.287 21 18 1 4 1 2 4 8
|
||||
59 12.396 0.244 12 1 1 4 1 2 4 8
|
||||
60 18.359 20.917 8 10 1 4 1 2 4 8
|
||||
61 27.960 -15.039 4 16 1 4 1 2 4 8
|
||||
62 -3.192 19.879 14 9 1 4 1 2 4 8
|
||||
63 9.332 -41.351 19 13 1 4 1 2 4 8
|
||||
64 -20.581 38.177 23 23 1 4 1 2 4 8
|
||||
65 27.820 28.729 4 14 1 4 1 2 4 8
|
||||
66 59.027 42.310 9 5 1 4 1 2 4 8
|
||||
67 56.311 58.734 1 1 1 4 1 2 4 8
|
||||
68 -51.654 -0.342 21 6 1 4 1 2 4 8
|
||||
69 2.576 32.721 20 20 1 4 1 2 4 8
|
||||
70 15.131 -3.046 24 10 1 4 1 2 4 8
|
||||
71 66.595 34.937 22 19 1 4 1 2 4 8
|
||||
72 19.476 20.142 25 24 1 4 1 2 4 8
|
||||
73 -1.172 20.648 19 3 1 4 1 2 4 8
|
||||
74 -21.204 13.660 14 5 1 4 1 2 4 8
|
||||
75 98.846 1.257 11 13 1 4 1 2 4 8
|
||||
76 82.593 72.003 22 5 1 4 1 2 4 8
|
||||
77 30.017 -30.896 25 4 1 4 1 2 4 8
|
||||
78 33.228 41.663 5 12 1 4 1 2 4 8
|
||||
79 39.490 -8.539 10 11 1 4 1 2 4 8
|
||||
80 54.498 70.813 4 20 1 4 1 2 4 8
|
||||
81 3.058 10.248 4 13 1 4 1 2 4 8
|
||||
82 51.831 -16.870 6 1 1 4 1 2 4 8
|
||||
83 76.416 11.346 22 3 1 4 1 2 4 8
|
||||
84 5.243 0.238 17 2 1 4 1 2 4 8
|
||||
85 50.592 34.247 22 23 1 4 1 2 4 8
|
||||
86 -5.231 -2.081 3 8 1 4 1 2 4 8
|
||||
87 24.194 25.836 25 25 1 4 1 2 4 8
|
||||
88 33.630 37.585 22 18 1 4 1 2 4 8
|
||||
89 31.445 -7.001 23 4 1 4 1 2 4 8
|
||||
90 30.707 -28.168 16 5 1 4 1 2 4 8
|
||||
91 49.860 1.038 13 21 1 4 1 2 4 8
|
||||
92 -35.767 14.142 23 23 1 4 1 2 4 8
|
||||
93 -29.309 4.889 1 19 1 4 1 2 4 8
|
||||
94 19.049 41.974 11 2 1 4 1 2 4 8
|
||||
95 27.600 13.934 19 21 1 4 1 2 4 8
|
||||
96 52.832 50.684 21 10 1 4 1 2 4 8
|
||||
97 6.229 10.590 0 0 0 0
|
||||
98 32.663 44.730 0 0 0 0
|
||||
99 48.807 48.792 0 0 0 0
|
||||
100 33.179 -4.968 0 0 0 0
|
||||
99 -183 -198 0 955 0.549626 3.45455 2.22926
|
||||
100 -197 184 0 1449 0.633555 4.52308 3.21522
|
||||
101 98 -54 0 2282 0.821422 3.97564 4.56657
|
||||
102 -141 117 0 1307 0.650248 3.10629 2.54881
|
||||
158
branches/contribution/branches/bilevel/instances/mbipr03
Normal file
158
branches/contribution/branches/bilevel/instances/mbipr03
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
10 3 144 4 4
|
||||
460 190
|
||||
460 190
|
||||
460 190
|
||||
460 190
|
||||
|
||||
1 -55.280 -24.371 25 9 1 4 1 2 4 8
|
||||
2 -48.297 53.314 13 22 1 4 1 2 4 8
|
||||
3 -49.072 -38.489 20 10 1 4 1 2 4 8
|
||||
4 25.311 -18.561 16 24 1 4 1 2 4 8
|
||||
5 -24.469 -3.815 4 25 1 4 1 2 4 8
|
||||
6 24.591 -17.896 2 6 1 4 1 2 4 8
|
||||
7 -10.419 60.364 7 22 1 4 1 2 4 8
|
||||
8 38.177 -35.175 15 1 1 4 1 2 4 8
|
||||
9 -68.280 93.073 10 19 1 4 1 2 4 8
|
||||
10 -30.792 -57.336 4 19 1 4 1 2 4 8
|
||||
11 -37.061 -12.122 19 5 1 4 1 2 4 8
|
||||
12 -15.741 -47.638 10 9 1 4 1 2 4 8
|
||||
13 -63.379 -22.919 15 8 1 4 1 2 4 8
|
||||
14 -43.109 -43.439 4 14 1 4 1 2 4 8
|
||||
15 -25.623 13.599 17 4 1 4 1 2 4 8
|
||||
16 -2.625 16.632 4 7 1 4 1 2 4 8
|
||||
17 -41.577 -28.497 3 10 1 4 1 2 4 8
|
||||
18 2.081 12.885 9 22 1 4 1 2 4 8
|
||||
19 3.925 -47.845 25 17 1 4 1 2 4 8
|
||||
20 -83.295 26.324 14 10 1 4 1 2 4 8
|
||||
21 -6.458 26.355 23 8 1 4 1 2 4 8
|
||||
22 3.290 6.732 7 14 1 4 1 2 4 8
|
||||
23 -34.869 30.426 7 12 1 4 1 2 4 8
|
||||
24 15.546 -36.273 1 17 1 4 1 2 4 8
|
||||
25 12.842 5.127 10 19 1 4 1 2 4 8
|
||||
26 -48.450 -24.426 15 25 1 4 1 2 4 8
|
||||
27 -88.538 -10.461 1 25 1 4 1 2 4 8
|
||||
28 -29.773 0.995 2 6 1 4 1 2 4 8
|
||||
29 9.827 38.416 9 21 1 4 1 2 4 8
|
||||
30 1.410 92.938 10 3 1 4 1 2 4 8
|
||||
31 -79.303 15.381 2 19 1 4 1 2 4 8
|
||||
32 -30.652 40.063 23 16 1 4 1 2 4 8
|
||||
33 18.927 21.637 15 21 1 4 1 2 4 8
|
||||
34 45.087 -59.906 13 17 1 4 1 2 4 8
|
||||
35 -34.949 -3.815 16 19 1 4 1 2 4 8
|
||||
36 81.201 -74.744 21 6 1 4 1 2 4 8
|
||||
37 15.594 -28.455 1 10 1 4 1 2 4 8
|
||||
38 -72.192 29.547 18 22 1 4 1 2 4 8
|
||||
39 -42.914 -22.675 17 17 1 4 1 2 4 8
|
||||
40 -76.392 -57.489 13 16 1 4 1 2 4 8
|
||||
41 -28.540 12.073 5 5 1 4 1 2 4 8
|
||||
42 -61.389 26.526 23 1 1 4 1 2 4 8
|
||||
43 -8.472 12.616 20 21 1 4 1 2 4 8
|
||||
44 -61.475 33.392 1 20 1 4 1 2 4 8
|
||||
45 -34.674 -27.588 2 6 1 4 1 2 4 8
|
||||
46 10.315 -12.518 15 1 1 4 1 2 4 8
|
||||
47 -83.014 77.002 20 11 1 4 1 2 4 8
|
||||
48 -40.417 49.988 9 22 1 4 1 2 4 8
|
||||
49 83.832 33.905 13 25 1 4 1 2 4 8
|
||||
50 -20.563 -75.830 4 18 1 4 1 2 4 8
|
||||
51 15.442 -18.719 15 9 1 4 1 2 4 8
|
||||
52 -59.937 -65.802 5 23 1 4 1 2 4 8
|
||||
53 5.151 47.815 8 17 1 4 1 2 4 8
|
||||
54 46.008 14.990 19 4 1 4 1 2 4 8
|
||||
55 82.977 -1.660 16 1 1 4 1 2 4 8
|
||||
56 39.893 -38.916 11 14 1 4 1 2 4 8
|
||||
57 90.839 -83.539 23 11 1 4 1 2 4 8
|
||||
58 7.068 0.067 14 7 1 4 1 2 4 8
|
||||
59 18.958 40.088 24 21 1 4 1 2 4 8
|
||||
60 -80.487 58.209 5 3 1 4 1 2 4 8
|
||||
61 64.459 -62.946 5 18 1 4 1 2 4 8
|
||||
62 -43.616 -26.117 23 5 1 4 1 2 4 8
|
||||
63 -18.408 10.303 3 6 1 4 1 2 4 8
|
||||
64 -43.921 63.251 10 22 1 4 1 2 4 8
|
||||
65 11.353 26.221 23 13 1 4 1 2 4 8
|
||||
66 -6.995 38.239 23 17 1 4 1 2 4 8
|
||||
67 74.084 -34.216 20 5 1 4 1 2 4 8
|
||||
68 14.301 -0.800 5 7 1 4 1 2 4 8
|
||||
69 -94.141 -48.779 14 1 1 4 1 2 4 8
|
||||
70 15.332 -42.169 1 3 1 4 1 2 4 8
|
||||
71 -46.637 -16.461 10 10 1 4 1 2 4 8
|
||||
72 -0.958 -81.000 3 5 1 4 1 2 4 8
|
||||
73 -37.445 -42.505 4 1 1 4 1 2 4 8
|
||||
74 -3.680 -69.073 23 17 1 4 1 2 4 8
|
||||
75 34.894 -20.898 21 14 1 4 1 2 4 8
|
||||
76 45.544 51.410 3 4 1 4 1 2 4 8
|
||||
77 -31.927 88.239 21 10 1 4 1 2 4 8
|
||||
78 -13.580 -26.959 25 25 1 4 1 2 4 8
|
||||
79 12.653 -48.340 5 11 1 4 1 2 4 8
|
||||
80 -46.179 -38.269 11 16 1 4 1 2 4 8
|
||||
81 -29.620 35.083 10 25 1 4 1 2 4 8
|
||||
82 13.696 43.988 5 20 1 4 1 2 4 8
|
||||
83 38.342 -46.338 3 3 1 4 1 2 4 8
|
||||
84 -26.227 24.506 13 7 1 4 1 2 4 8
|
||||
85 90.009 -43.640 19 2 1 4 1 2 4 8
|
||||
86 -6.995 22.522 13 6 1 4 1 2 4 8
|
||||
87 -29.993 -28.851 8 14 1 4 1 2 4 8
|
||||
88 -56.268 -64.740 13 14 1 4 1 2 4 8
|
||||
89 -87.415 90.796 15 2 1 4 1 2 4 8
|
||||
90 -5.762 54.034 10 15 1 4 1 2 4 8
|
||||
91 -34.845 -27.185 4 22 1 4 1 2 4 8
|
||||
92 -16.479 16.180 23 4 1 4 1 2 4 8
|
||||
93 23.712 29.492 23 22 1 4 1 2 4 8
|
||||
94 -40.991 46.594 14 19 1 4 1 2 4 8
|
||||
95 -53.516 -21.619 20 5 1 4 1 2 4 8
|
||||
96 -17.560 37.494 3 10 1 4 1 2 4 8
|
||||
97 -37.311 56.836 5 4 1 4 1 2 4 8
|
||||
98 71.515 22.510 16 7 1 4 1 2 4 8
|
||||
99 -41.864 27.710 21 11 1 4 1 2 4 8
|
||||
100 14.819 -82.117 4 14 1 4 1 2 4 8
|
||||
101 30.316 -55.322 2 2 1 4 1 2 4 8
|
||||
102 -39.172 47.998 11 12 1 4 1 2 4 8
|
||||
103 -94.415 15.192 15 12 1 4 1 2 4 8
|
||||
104 -7.806 11.273 16 24 1 4 1 2 4 8
|
||||
105 28.571 -49.908 3 8 1 4 1 2 4 8
|
||||
106 -20.654 24.554 21 4 1 4 1 2 4 8
|
||||
107 -30.963 -18.903 21 25 1 4 1 2 4 8
|
||||
108 1.721 -20.447 25 6 1 4 1 2 4 8
|
||||
109 -31.012 -21.106 12 9 1 4 1 2 4 8
|
||||
110 -85.718 -28.015 21 23 1 4 1 2 4 8
|
||||
111 58.826 -63.043 6 15 1 4 1 2 4 8
|
||||
112 -15.753 -52.686 2 7 1 4 1 2 4 8
|
||||
113 -71.661 51.184 24 6 1 4 1 2 4 8
|
||||
114 -92.633 -6.598 21 5 1 4 1 2 4 8
|
||||
115 33.508 -49.255 24 12 1 4 1 2 4 8
|
||||
116 59.314 54.095 11 3 1 4 1 2 4 8
|
||||
117 30.737 -28.436 12 22 1 4 1 2 4 8
|
||||
118 -55.896 18.457 22 18 1 4 1 2 4 8
|
||||
119 -89.960 -39.532 19 16 1 4 1 2 4 8
|
||||
120 36.438 20.819 8 5 1 4 1 2 4 8
|
||||
121 -53.674 -56.427 9 1 1 4 1 2 4 8
|
||||
122 -31.866 32.538 10 8 1 4 1 2 4 8
|
||||
123 5.658 12.756 5 20 1 4 1 2 4 8
|
||||
124 -52.905 42.804 14 17 1 4 1 2 4 8
|
||||
125 47.131 -45.465 7 11 1 4 1 2 4 8
|
||||
126 30.792 9.869 5 8 1 4 1 2 4 8
|
||||
127 -45.209 -56.293 22 15 1 4 1 2 4 8
|
||||
128 10.919 13.306 5 16 1 4 1 2 4 8
|
||||
129 -32.990 -34.003 1 6 1 4 1 2 4 8
|
||||
130 -40.869 30.579 9 24 1 4 1 2 4 8
|
||||
131 -69.348 80.408 16 10 1 4 1 2 4 8
|
||||
132 -58.966 -29.541 14 4 1 4 1 2 4 8
|
||||
133 -36.847 -33.710 21 10 1 4 1 2 4 8
|
||||
134 -21.820 65.369 8 17 1 4 1 2 4 8
|
||||
135 22.980 -41.010 7 5 1 4 1 2 4 8
|
||||
136 -77.557 59.814 24 14 1 4 1 2 4 8
|
||||
137 -47.205 67.725 24 16 1 4 1 2 4 8
|
||||
138 -21.606 35.168 16 11 1 4 1 2 4 8
|
||||
139 -55.676 -31.384 4 25 1 4 1 2 4 8
|
||||
140 -85.229 88.788 7 4 1 4 1 2 4 8
|
||||
141 -3.918 -63.525 13 12 1 4 1 2 4 8
|
||||
142 -58.557 59.375 25 19 1 4 1 2 4 8
|
||||
143 -24.542 14.935 10 6 1 4 1 2 4 8
|
||||
144 -48.779 16.968 24 23 1 4 1 2 4 8
|
||||
145 -40.082 -24.780 0 0 0 0
|
||||
146 24.292 -27.704 0 0 0 0
|
||||
147 -45.877 41.092 0 0 0 0
|
||||
148 -11.896 15.875 0 0 0 0
|
||||
148 -78 65 0 3518 0.763863 3.37057 3.53776
|
||||
149 39 169 0 2267 0.575793 2.74015 4.68231
|
||||
150 180 147 0 2068 0.635709 2.44273 3.31259
|
||||
151 4 191 0 2463 0.981684 3.14573 2.32088
|
||||
206
branches/contribution/branches/bilevel/instances/mbipr04
Normal file
206
branches/contribution/branches/bilevel/instances/mbipr04
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
10 4 192 4 4
|
||||
440 185
|
||||
440 185
|
||||
440 185
|
||||
440 185
|
||||
|
||||
1 -44.629 -55.640 6 11 1 4 1 2 4 8
|
||||
2 36.096 64.935 16 11 1 4 1 2 4 8
|
||||
3 -25.470 44.580 7 23 1 4 1 2 4 8
|
||||
4 -33.954 -73.059 20 16 1 4 1 2 4 8
|
||||
5 45.654 35.730 7 16 1 4 1 2 4 8
|
||||
6 14.954 -36.719 8 2 1 4 1 2 4 8
|
||||
7 -1.477 47.205 4 1 1 4 1 2 4 8
|
||||
8 2.155 -40.912 23 25 1 4 1 2 4 8
|
||||
9 22.992 1.398 4 24 1 4 1 2 4 8
|
||||
10 -28.857 5.957 5 14 1 4 1 2 4 8
|
||||
11 -48.120 94.116 15 6 1 4 1 2 4 8
|
||||
12 7.239 17.322 12 20 1 4 1 2 4 8
|
||||
13 4.614 27.051 12 10 1 4 1 2 4 8
|
||||
14 -13.971 28.198 18 11 1 4 1 2 4 8
|
||||
15 12.946 -11.688 19 2 1 4 1 2 4 8
|
||||
16 -36.670 23.102 17 22 1 4 1 2 4 8
|
||||
17 -4.224 -49.310 2 2 1 4 1 2 4 8
|
||||
18 1.093 -7.135 15 12 1 4 1 2 4 8
|
||||
19 -56.958 27.905 10 9 1 4 1 2 4 8
|
||||
20 -80.994 -77.686 3 21 1 4 1 2 4 8
|
||||
21 72.260 59.027 24 10 1 4 1 2 4 8
|
||||
22 -21.655 1.636 1 13 1 4 1 2 4 8
|
||||
23 -20.154 -62.415 22 25 1 4 1 2 4 8
|
||||
24 -48.157 6.287 22 9 1 4 1 2 4 8
|
||||
25 -5.078 61.597 17 19 1 4 1 2 4 8
|
||||
26 17.145 -47.046 7 22 1 4 1 2 4 8
|
||||
27 -16.064 8.557 11 4 1 4 1 2 4 8
|
||||
28 6.683 -27.069 4 4 1 4 1 2 4 8
|
||||
29 15.027 -34.979 15 7 1 4 1 2 4 8
|
||||
30 37.946 73.914 15 20 1 4 1 2 4 8
|
||||
31 -41.199 -43.018 9 17 1 4 1 2 4 8
|
||||
32 32.538 11.786 15 19 1 4 1 2 4 8
|
||||
33 -20.306 -20.239 1 12 1 4 1 2 4 8
|
||||
34 -35.480 19.135 13 2 1 4 1 2 4 8
|
||||
35 58.038 56.659 17 13 1 4 1 2 4 8
|
||||
36 -36.694 -6.256 17 24 1 4 1 2 4 8
|
||||
37 0.446 -46.735 25 22 1 4 1 2 4 8
|
||||
38 -19.690 38.977 5 17 1 4 1 2 4 8
|
||||
39 -47.339 20.911 25 19 1 4 1 2 4 8
|
||||
40 -79.236 -57.678 2 4 1 4 1 2 4 8
|
||||
41 5.597 -34.076 9 12 1 4 1 2 4 8
|
||||
42 34.454 -8.289 7 22 1 4 1 2 4 8
|
||||
43 18.500 -51.154 5 2 1 4 1 2 4 8
|
||||
44 -4.346 -44.525 3 19 1 4 1 2 4 8
|
||||
45 -14.148 -74.164 17 3 1 4 1 2 4 8
|
||||
46 19.867 77.515 12 5 1 4 1 2 4 8
|
||||
47 -50.079 17.871 21 22 1 4 1 2 4 8
|
||||
48 42.786 -79.883 18 6 1 4 1 2 4 8
|
||||
49 1.520 -29.034 8 9 1 4 1 2 4 8
|
||||
50 14.728 -3.436 14 8 1 4 1 2 4 8
|
||||
51 -26.166 -48.999 22 24 1 4 1 2 4 8
|
||||
52 -63.873 -5.273 16 15 1 4 1 2 4 8
|
||||
53 -54.138 7.086 21 16 1 4 1 2 4 8
|
||||
54 17.932 -34.094 7 9 1 4 1 2 4 8
|
||||
55 -98.706 34.552 12 1 1 4 1 2 4 8
|
||||
56 28.802 -8.582 2 18 1 4 1 2 4 8
|
||||
57 2.716 90.594 5 17 1 4 1 2 4 8
|
||||
58 -31.024 48.938 3 18 1 4 1 2 4 8
|
||||
59 -46.545 42.316 11 2 1 4 1 2 4 8
|
||||
60 27.289 58.179 2 25 1 4 1 2 4 8
|
||||
61 28.815 -28.027 7 21 1 4 1 2 4 8
|
||||
62 -26.099 11.328 20 19 1 4 1 2 4 8
|
||||
63 0.537 -26.221 7 10 1 4 1 2 4 8
|
||||
64 -50.458 7.812 11 2 1 4 1 2 4 8
|
||||
65 30.005 19.092 24 21 1 4 1 2 4 8
|
||||
66 -12.604 22.058 15 20 1 4 1 2 4 8
|
||||
67 22.009 -8.636 5 21 1 4 1 2 4 8
|
||||
68 8.942 2.875 25 2 1 4 1 2 4 8
|
||||
69 -19.812 0.922 12 6 1 4 1 2 4 8
|
||||
70 -4.230 31.250 22 2 1 4 1 2 4 8
|
||||
71 17.975 -0.409 11 12 1 4 1 2 4 8
|
||||
72 -2.350 42.938 16 12 1 4 1 2 4 8
|
||||
73 -16.516 68.085 10 5 1 4 1 2 4 8
|
||||
74 -1.190 42.023 3 5 1 4 1 2 4 8
|
||||
75 56.635 -44.019 10 8 1 4 1 2 4 8
|
||||
76 57.483 35.504 17 15 1 4 1 2 4 8
|
||||
77 -26.099 7.477 2 8 1 4 1 2 4 8
|
||||
78 7.489 -57.239 21 7 1 4 1 2 4 8
|
||||
79 -22.095 55.780 16 14 1 4 1 2 4 8
|
||||
80 19.867 38.824 6 18 1 4 1 2 4 8
|
||||
81 5.310 49.219 12 17 1 4 1 2 4 8
|
||||
82 15.155 6.299 23 5 1 4 1 2 4 8
|
||||
83 5.481 -31.500 23 6 1 4 1 2 4 8
|
||||
84 7.959 -28.662 18 9 1 4 1 2 4 8
|
||||
85 -75.812 4.010 18 24 1 4 1 2 4 8
|
||||
86 -43.671 -61.646 14 13 1 4 1 2 4 8
|
||||
87 -2.576 -62.140 2 5 1 4 1 2 4 8
|
||||
88 -18.842 -36.884 11 4 1 4 1 2 4 8
|
||||
89 20.844 21.167 24 22 1 4 1 2 4 8
|
||||
90 3.137 -19.220 14 24 1 4 1 2 4 8
|
||||
91 -20.361 18.878 3 25 1 4 1 2 4 8
|
||||
92 -0.897 -54.938 21 9 1 4 1 2 4 8
|
||||
93 -29.553 9.277 8 8 1 4 1 2 4 8
|
||||
94 5.048 -35.046 19 8 1 4 1 2 4 8
|
||||
95 27.759 48.712 7 25 1 4 1 2 4 8
|
||||
96 12.079 -42.346 19 7 1 4 1 2 4 8
|
||||
97 -51.270 41.144 23 24 1 4 1 2 4 8
|
||||
98 -29.077 4.291 8 16 1 4 1 2 4 8
|
||||
99 -18.555 -14.819 18 15 1 4 1 2 4 8
|
||||
100 7.855 -49.451 7 7 1 4 1 2 4 8
|
||||
101 -19.116 -32.086 1 17 1 4 1 2 4 8
|
||||
102 17.651 -52.271 9 9 1 4 1 2 4 8
|
||||
103 16.907 -62.964 5 14 1 4 1 2 4 8
|
||||
104 18.988 6.219 23 20 1 4 1 2 4 8
|
||||
105 -68.878 -64.539 18 6 1 4 1 2 4 8
|
||||
106 -13.361 20.264 5 17 1 4 1 2 4 8
|
||||
107 -44.440 63.721 17 23 1 4 1 2 4 8
|
||||
108 -6.500 71.436 9 14 1 4 1 2 4 8
|
||||
109 -51.978 25.409 19 19 1 4 1 2 4 8
|
||||
110 -0.739 59.491 20 21 1 4 1 2 4 8
|
||||
111 -64.679 83.038 1 6 1 4 1 2 4 8
|
||||
112 -11.273 -35.944 18 1 1 4 1 2 4 8
|
||||
113 -16.864 7.776 15 22 1 4 1 2 4 8
|
||||
114 19.843 -49.805 10 7 1 4 1 2 4 8
|
||||
115 -16.284 -2.936 8 14 1 4 1 2 4 8
|
||||
116 8.356 67.041 14 7 1 4 1 2 4 8
|
||||
117 30.878 24.316 15 25 1 4 1 2 4 8
|
||||
118 93.524 -20.233 17 17 1 4 1 2 4 8
|
||||
119 -9.332 -56.177 9 10 1 4 1 2 4 8
|
||||
120 -34.442 -63.312 13 23 1 4 1 2 4 8
|
||||
121 20.941 -5.646 18 22 1 4 1 2 4 8
|
||||
122 -3.418 89.594 20 3 1 4 1 2 4 8
|
||||
123 -18.738 45.227 8 14 1 4 1 2 4 8
|
||||
124 2.435 -30.524 2 14 1 4 1 2 4 8
|
||||
125 -28.864 56.616 7 2 1 4 1 2 4 8
|
||||
126 76.880 -29.901 6 2 1 4 1 2 4 8
|
||||
127 -90.466 10.278 12 21 1 4 1 2 4 8
|
||||
128 -35.101 46.545 12 10 1 4 1 2 4 8
|
||||
129 -48.395 43.854 25 10 1 4 1 2 4 8
|
||||
130 -40.997 26.703 6 5 1 4 1 2 4 8
|
||||
131 13.696 34.607 5 9 1 4 1 2 4 8
|
||||
132 -71.472 11.450 20 15 1 4 1 2 4 8
|
||||
133 -36.230 51.904 2 19 1 4 1 2 4 8
|
||||
134 -39.465 4.907 25 7 1 4 1 2 4 8
|
||||
135 -16.565 23.773 7 11 1 4 1 2 4 8
|
||||
136 10.754 -28.552 6 2 1 4 1 2 4 8
|
||||
137 -23.029 47.015 21 25 1 4 1 2 4 8
|
||||
138 -8.807 21.216 19 14 1 4 1 2 4 8
|
||||
139 -40.039 27.435 22 15 1 4 1 2 4 8
|
||||
140 -37.445 -41.040 8 12 1 4 1 2 4 8
|
||||
141 48.224 0.085 19 11 1 4 1 2 4 8
|
||||
142 -0.323 68.237 6 17 1 4 1 2 4 8
|
||||
143 -14.294 -33.423 24 4 1 4 1 2 4 8
|
||||
144 -1.440 -34.814 15 24 1 4 1 2 4 8
|
||||
145 -34.454 42.346 25 8 1 4 1 2 4 8
|
||||
146 8.679 -66.180 6 20 1 4 1 2 4 8
|
||||
147 -61.249 -51.367 21 12 1 4 1 2 4 8
|
||||
148 -1.093 9.912 4 10 1 4 1 2 4 8
|
||||
149 -16.565 66.547 10 12 1 4 1 2 4 8
|
||||
150 8.435 52.838 16 9 1 4 1 2 4 8
|
||||
151 -22.034 -36.896 12 16 1 4 1 2 4 8
|
||||
152 15.765 17.322 13 23 1 4 1 2 4 8
|
||||
153 9.003 -18.695 2 15 1 4 1 2 4 8
|
||||
154 -4.584 3.491 3 10 1 4 1 2 4 8
|
||||
155 8.875 40.662 10 21 1 4 1 2 4 8
|
||||
156 26.093 -33.966 18 2 1 4 1 2 4 8
|
||||
157 -32.501 39.526 18 16 1 4 1 2 4 8
|
||||
158 -32.629 -82.581 11 15 1 4 1 2 4 8
|
||||
159 -98.486 22.021 7 11 1 4 1 2 4 8
|
||||
160 -59.052 4.163 18 11 1 4 1 2 4 8
|
||||
161 7.428 -2.570 15 17 1 4 1 2 4 8
|
||||
162 -59.601 12.469 5 3 1 4 1 2 4 8
|
||||
163 -11.224 -31.830 20 9 1 4 1 2 4 8
|
||||
164 -16.809 -35.040 9 1 1 4 1 2 4 8
|
||||
165 21.863 18.140 22 13 1 4 1 2 4 8
|
||||
166 45.038 -61.316 13 1 1 4 1 2 4 8
|
||||
167 -48.816 25.568 24 2 1 4 1 2 4 8
|
||||
168 -32.184 -16.736 4 22 1 4 1 2 4 8
|
||||
169 12.439 -41.492 16 10 1 4 1 2 4 8
|
||||
170 -21.082 -77.075 16 4 1 4 1 2 4 8
|
||||
171 -17.822 -18.518 14 9 1 4 1 2 4 8
|
||||
172 48.334 93.518 14 11 1 4 1 2 4 8
|
||||
173 -18.677 49.005 25 3 1 4 1 2 4 8
|
||||
174 12.140 30.042 23 19 1 4 1 2 4 8
|
||||
175 3.113 -40.302 23 19 1 4 1 2 4 8
|
||||
176 17.133 37.079 4 4 1 4 1 2 4 8
|
||||
177 22.577 0.836 17 19 1 4 1 2 4 8
|
||||
178 -30.426 52.942 12 15 1 4 1 2 4 8
|
||||
179 33.765 -67.108 11 21 1 4 1 2 4 8
|
||||
180 5.414 1.532 24 25 1 4 1 2 4 8
|
||||
181 72.156 30.103 22 4 1 4 1 2 4 8
|
||||
182 -24.109 -34.625 10 3 1 4 1 2 4 8
|
||||
183 17.413 75.146 10 6 1 4 1 2 4 8
|
||||
184 10.638 -60.052 10 6 1 4 1 2 4 8
|
||||
185 -5.176 -48.999 5 21 1 4 1 2 4 8
|
||||
186 -19.342 21.118 13 25 1 4 1 2 4 8
|
||||
187 -46.802 -14.661 18 10 1 4 1 2 4 8
|
||||
188 -16.779 43.439 25 25 1 4 1 2 4 8
|
||||
189 14.093 -13.605 12 19 1 4 1 2 4 8
|
||||
190 -21.063 26.019 18 19 1 4 1 2 4 8
|
||||
191 39.813 -40.668 9 22 1 4 1 2 4 8
|
||||
192 52.057 30.334 23 5 1 4 1 2 4 8
|
||||
193 -0.140 7.266 0 0 0 0
|
||||
194 -23.138 48.450 0 0 0 0
|
||||
195 -26.102 16.809 0 0 0 0
|
||||
196 0.244 -35.892 0 0 0 0
|
||||
197 -1 127 0 4361 0.626008 4.12723 4.89871
|
||||
198 155 90 0 4117 0.780018 2.81052 3.85428
|
||||
199 125 -32 0 1507 0.638529 2.39629 3.6446
|
||||
200 129 -123 0 3784 0.537168 2.56367 3.07803
|
||||
254
branches/contribution/branches/bilevel/instances/mbipr05
Normal file
254
branches/contribution/branches/bilevel/instances/mbipr05
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
10 5 240 4 4
|
||||
420 180
|
||||
420 180
|
||||
420 180
|
||||
420 180
|
||||
|
||||
1 65.991 -49.829 20 10 1 4 1 2 4 8
|
||||
2 -36.938 -36.743 20 25 1 4 1 2 4 8
|
||||
3 -2.734 18.774 13 18 1 4 1 2 4 8
|
||||
4 31.116 -35.907 13 16 1 4 1 2 4 8
|
||||
5 2.789 8.008 17 14 1 4 1 2 4 8
|
||||
6 31.152 43.665 24 7 1 4 1 2 4 8
|
||||
7 -36.304 -21.307 15 9 1 4 1 2 4 8
|
||||
8 52.814 35.046 12 16 1 4 1 2 4 8
|
||||
9 11.267 20.660 20 24 1 4 1 2 4 8
|
||||
10 -0.623 23.114 20 6 1 4 1 2 4 8
|
||||
11 43.091 -12.360 3 22 1 4 1 2 4 8
|
||||
12 6.854 19.073 8 11 1 4 1 2 4 8
|
||||
13 -6.848 25.317 16 19 1 4 1 2 4 8
|
||||
14 -27.930 -23.712 20 20 1 4 1 2 4 8
|
||||
15 33.240 -30.487 21 20 1 4 1 2 4 8
|
||||
16 63.885 -52.881 23 16 1 4 1 2 4 8
|
||||
17 -13.672 -43.945 21 5 1 4 1 2 4 8
|
||||
18 -0.647 -27.502 3 21 1 4 1 2 4 8
|
||||
19 59.406 -49.261 19 19 1 4 1 2 4 8
|
||||
20 27.167 -5.713 20 18 1 4 1 2 4 8
|
||||
21 70.001 -20.844 7 22 1 4 1 2 4 8
|
||||
22 35.327 -65.167 14 19 1 4 1 2 4 8
|
||||
23 -14.386 -42.236 24 15 1 4 1 2 4 8
|
||||
24 19.366 30.273 3 24 1 4 1 2 4 8
|
||||
25 -39.789 10.101 13 20 1 4 1 2 4 8
|
||||
26 -15.753 -40.204 1 17 1 4 1 2 4 8
|
||||
27 -28.418 -40.503 5 20 1 4 1 2 4 8
|
||||
28 27.081 9.735 2 12 1 4 1 2 4 8
|
||||
29 22.205 -9.216 9 23 1 4 1 2 4 8
|
||||
30 -0.830 -6.525 18 15 1 4 1 2 4 8
|
||||
31 10.217 75.531 5 19 1 4 1 2 4 8
|
||||
32 7.446 18.500 12 23 1 4 1 2 4 8
|
||||
33 48.914 -20.294 11 9 1 4 1 2 4 8
|
||||
34 -18.958 -29.675 17 21 1 4 1 2 4 8
|
||||
35 16.815 -6.659 21 17 1 4 1 2 4 8
|
||||
36 2.509 -30.420 5 6 1 4 1 2 4 8
|
||||
37 15.424 4.913 5 10 1 4 1 2 4 8
|
||||
38 60.315 89.801 7 9 1 4 1 2 4 8
|
||||
39 40.405 -45.367 24 19 1 4 1 2 4 8
|
||||
40 -26.837 -54.272 1 17 1 4 1 2 4 8
|
||||
41 69.171 72.577 12 22 1 4 1 2 4 8
|
||||
42 -22.815 46.173 6 8 1 4 1 2 4 8
|
||||
43 -14.258 -30.249 5 25 1 4 1 2 4 8
|
||||
44 76.050 12.073 19 13 1 4 1 2 4 8
|
||||
45 63.043 60.022 23 1 1 4 1 2 4 8
|
||||
46 -20.239 -81.970 8 15 1 4 1 2 4 8
|
||||
47 -41.168 -42.023 1 16 1 4 1 2 4 8
|
||||
48 79.199 -29.016 20 20 1 4 1 2 4 8
|
||||
49 -20.728 -7.068 16 14 1 4 1 2 4 8
|
||||
50 -4.163 -53.497 8 2 1 4 1 2 4 8
|
||||
51 39.594 -40.460 16 5 1 4 1 2 4 8
|
||||
52 -47.125 -77.850 25 16 1 4 1 2 4 8
|
||||
53 -1.233 49.182 5 12 1 4 1 2 4 8
|
||||
54 -0.372 -27.264 10 1 1 4 1 2 4 8
|
||||
55 31.537 -8.722 24 15 1 4 1 2 4 8
|
||||
56 -0.134 -20.264 16 5 1 4 1 2 4 8
|
||||
57 66.394 -26.691 7 9 1 4 1 2 4 8
|
||||
58 6.104 -64.093 14 8 1 4 1 2 4 8
|
||||
59 13.544 -20.874 11 2 1 4 1 2 4 8
|
||||
60 54.211 -6.537 15 10 1 4 1 2 4 8
|
||||
61 22.046 -34.137 23 25 1 4 1 2 4 8
|
||||
62 -9.723 4.706 5 24 1 4 1 2 4 8
|
||||
63 -11.584 -46.857 16 7 1 4 1 2 4 8
|
||||
64 -2.905 -0.305 13 14 1 4 1 2 4 8
|
||||
65 13.837 -44.452 18 3 1 4 1 2 4 8
|
||||
66 17.480 27.747 14 23 1 4 1 2 4 8
|
||||
67 2.972 -43.689 3 21 1 4 1 2 4 8
|
||||
68 -44.354 -38.202 22 13 1 4 1 2 4 8
|
||||
69 -59.399 1.514 16 15 1 4 1 2 4 8
|
||||
70 -13.452 -75.531 16 14 1 4 1 2 4 8
|
||||
71 -5.518 -51.947 2 7 1 4 1 2 4 8
|
||||
72 -9.589 -26.880 19 20 1 4 1 2 4 8
|
||||
73 19.318 29.498 23 6 1 4 1 2 4 8
|
||||
74 26.245 36.743 6 24 1 4 1 2 4 8
|
||||
75 43.707 -28.033 11 17 1 4 1 2 4 8
|
||||
76 -52.026 -35.339 19 3 1 4 1 2 4 8
|
||||
77 -8.435 -0.116 3 15 1 4 1 2 4 8
|
||||
78 89.111 62.122 14 6 1 4 1 2 4 8
|
||||
79 6.067 -16.132 14 21 1 4 1 2 4 8
|
||||
80 27.094 -5.103 19 25 1 4 1 2 4 8
|
||||
81 27.527 -15.344 3 18 1 4 1 2 4 8
|
||||
82 42.511 32.056 18 1 1 4 1 2 4 8
|
||||
83 25.311 12.689 24 19 1 4 1 2 4 8
|
||||
84 47.778 -12.769 6 17 1 4 1 2 4 8
|
||||
85 -3.143 -13.837 1 20 1 4 1 2 4 8
|
||||
86 12.482 -78.101 3 1 1 4 1 2 4 8
|
||||
87 -21.039 -3.430 15 13 1 4 1 2 4 8
|
||||
88 -3.149 -55.432 18 25 1 4 1 2 4 8
|
||||
89 53.009 84.900 5 16 1 4 1 2 4 8
|
||||
90 35.638 -47.552 23 5 1 4 1 2 4 8
|
||||
91 43.427 -18.439 10 18 1 4 1 2 4 8
|
||||
92 6.598 -54.578 20 17 1 4 1 2 4 8
|
||||
93 87.952 94.012 11 15 1 4 1 2 4 8
|
||||
94 39.105 -48.743 16 13 1 4 1 2 4 8
|
||||
95 -48.340 -26.477 15 15 1 4 1 2 4 8
|
||||
96 72.003 -9.253 19 2 1 4 1 2 4 8
|
||||
97 -37.732 3.351 4 1 1 4 1 2 4 8
|
||||
98 -65.967 -36.749 14 9 1 4 1 2 4 8
|
||||
99 -16.669 -35.284 23 16 1 4 1 2 4 8
|
||||
100 10.742 -4.669 11 6 1 4 1 2 4 8
|
||||
101 15.594 -5.817 21 18 1 4 1 2 4 8
|
||||
102 21.606 -18.109 14 24 1 4 1 2 4 8
|
||||
103 9.784 49.280 16 24 1 4 1 2 4 8
|
||||
104 94.147 -4.492 25 9 1 4 1 2 4 8
|
||||
105 10.382 -16.302 17 19 1 4 1 2 4 8
|
||||
106 -1.453 -0.861 16 12 1 4 1 2 4 8
|
||||
107 -6.219 25.305 13 22 1 4 1 2 4 8
|
||||
108 -6.250 10.217 23 13 1 4 1 2 4 8
|
||||
109 -17.444 -70.795 10 20 1 4 1 2 4 8
|
||||
110 -55.090 -43.854 2 25 1 4 1 2 4 8
|
||||
111 -9.442 23.724 15 1 1 4 1 2 4 8
|
||||
112 8.978 35.406 14 24 1 4 1 2 4 8
|
||||
113 -16.754 -0.812 22 10 1 4 1 2 4 8
|
||||
114 66.852 -37.842 15 22 1 4 1 2 4 8
|
||||
115 14.716 -23.724 16 14 1 4 1 2 4 8
|
||||
116 33.472 20.026 12 12 1 4 1 2 4 8
|
||||
117 66.394 -70.111 14 23 1 4 1 2 4 8
|
||||
118 -5.664 8.881 15 14 1 4 1 2 4 8
|
||||
119 -5.103 -46.729 11 23 1 4 1 2 4 8
|
||||
120 -8.826 55.743 11 25 1 4 1 2 4 8
|
||||
121 5.847 -3.186 4 5 1 4 1 2 4 8
|
||||
122 -25.726 -37.695 23 7 1 4 1 2 4 8
|
||||
123 -15.363 -24.548 13 25 1 4 1 2 4 8
|
||||
124 43.793 -11.102 22 11 1 4 1 2 4 8
|
||||
125 17.664 -25.604 17 18 1 4 1 2 4 8
|
||||
126 -39.624 54.883 2 18 1 4 1 2 4 8
|
||||
127 -24.554 -43.225 5 1 1 4 1 2 4 8
|
||||
128 -26.892 -12.738 14 7 1 4 1 2 4 8
|
||||
129 34.155 -38.458 1 22 1 4 1 2 4 8
|
||||
130 -47.314 -29.468 13 7 1 4 1 2 4 8
|
||||
131 49.365 -25.592 8 3 1 4 1 2 4 8
|
||||
132 3.705 -16.449 24 18 1 4 1 2 4 8
|
||||
133 22.430 -23.273 12 8 1 4 1 2 4 8
|
||||
134 -37.549 -29.608 23 6 1 4 1 2 4 8
|
||||
135 25.549 3.674 1 7 1 4 1 2 4 8
|
||||
136 -15.216 3.284 2 20 1 4 1 2 4 8
|
||||
137 -12.939 -7.495 8 10 1 4 1 2 4 8
|
||||
138 -22.107 26.434 18 2 1 4 1 2 4 8
|
||||
139 -17.944 7.733 14 3 1 4 1 2 4 8
|
||||
140 -21.234 14.490 23 10 1 4 1 2 4 8
|
||||
141 3.503 -19.708 14 5 1 4 1 2 4 8
|
||||
142 32.599 -14.935 4 25 1 4 1 2 4 8
|
||||
143 -5.737 -28.296 24 23 1 4 1 2 4 8
|
||||
144 -6.128 -39.624 9 21 1 4 1 2 4 8
|
||||
145 -2.460 12.817 15 13 1 4 1 2 4 8
|
||||
146 -6.470 8.466 10 1 1 4 1 2 4 8
|
||||
147 -37.891 -36.115 3 11 1 4 1 2 4 8
|
||||
148 10.852 -18.750 12 6 1 4 1 2 4 8
|
||||
149 50.104 8.636 6 9 1 4 1 2 4 8
|
||||
150 46.844 4.712 1 17 1 4 1 2 4 8
|
||||
151 19.598 -10.406 24 13 1 4 1 2 4 8
|
||||
152 -38.947 52.942 3 23 1 4 1 2 4 8
|
||||
153 -0.641 -21.289 4 19 1 4 1 2 4 8
|
||||
154 40.906 -33.765 7 11 1 4 1 2 4 8
|
||||
155 -0.574 -62.299 21 12 1 4 1 2 4 8
|
||||
156 -9.778 26.794 1 18 1 4 1 2 4 8
|
||||
157 34.265 -23.895 24 25 1 4 1 2 4 8
|
||||
158 29.572 -24.561 5 13 1 4 1 2 4 8
|
||||
159 16.376 -58.887 23 24 1 4 1 2 4 8
|
||||
160 61.877 -15.167 5 5 1 4 1 2 4 8
|
||||
161 40.088 -9.625 17 14 1 4 1 2 4 8
|
||||
162 0.122 -4.645 24 18 1 4 1 2 4 8
|
||||
163 -8.929 -43.903 23 25 1 4 1 2 4 8
|
||||
164 -7.135 -57.434 3 11 1 4 1 2 4 8
|
||||
165 7.550 -21.210 5 18 1 4 1 2 4 8
|
||||
166 3.949 7.300 22 23 1 4 1 2 4 8
|
||||
167 -15.118 92.023 9 22 1 4 1 2 4 8
|
||||
168 84.821 -24.518 23 20 1 4 1 2 4 8
|
||||
169 -52.325 30.682 15 11 1 4 1 2 4 8
|
||||
170 7.538 13.818 15 11 1 4 1 2 4 8
|
||||
171 -21.484 30.359 11 19 1 4 1 2 4 8
|
||||
172 36.047 29.883 20 13 1 4 1 2 4 8
|
||||
173 12.781 -40.942 10 24 1 4 1 2 4 8
|
||||
174 -17.291 -10.254 24 6 1 4 1 2 4 8
|
||||
175 -10.541 12.402 10 5 1 4 1 2 4 8
|
||||
176 -15.845 -59.460 6 24 1 4 1 2 4 8
|
||||
177 29.266 -2.222 22 7 1 4 1 2 4 8
|
||||
178 -12.598 -58.929 25 13 1 4 1 2 4 8
|
||||
179 -17.303 -35.297 11 25 1 4 1 2 4 8
|
||||
180 57.050 -50.354 6 15 1 4 1 2 4 8
|
||||
181 26.941 17.444 9 15 1 4 1 2 4 8
|
||||
182 -6.195 -8.881 6 16 1 4 1 2 4 8
|
||||
183 16.980 -16.321 12 5 1 4 1 2 4 8
|
||||
184 83.710 -32.520 4 15 1 4 1 2 4 8
|
||||
185 12.451 34.589 24 24 1 4 1 2 4 8
|
||||
186 15.057 67.004 18 15 1 4 1 2 4 8
|
||||
187 25.818 -5.835 3 9 1 4 1 2 4 8
|
||||
188 13.666 -14.832 18 19 1 4 1 2 4 8
|
||||
189 48.322 -5.164 17 15 1 4 1 2 4 8
|
||||
190 13.489 19.739 23 2 1 4 1 2 4 8
|
||||
191 -18.512 65.405 10 3 1 4 1 2 4 8
|
||||
192 17.554 38.379 22 18 1 4 1 2 4 8
|
||||
193 37.775 -16.003 5 20 1 4 1 2 4 8
|
||||
194 47.968 -30.310 16 14 1 4 1 2 4 8
|
||||
195 38.806 36.243 10 10 1 4 1 2 4 8
|
||||
196 -16.089 -42.841 10 6 1 4 1 2 4 8
|
||||
197 28.656 -1.990 9 17 1 4 1 2 4 8
|
||||
198 -5.859 -1.862 5 20 1 4 1 2 4 8
|
||||
199 60.516 63.416 9 3 1 4 1 2 4 8
|
||||
200 63.196 -47.766 12 14 1 4 1 2 4 8
|
||||
201 -15.308 -23.285 16 12 1 4 1 2 4 8
|
||||
202 -2.875 0.787 8 2 1 4 1 2 4 8
|
||||
203 32.056 -10.175 1 11 1 4 1 2 4 8
|
||||
204 -18.634 -25.665 1 16 1 4 1 2 4 8
|
||||
205 -3.632 25.433 18 18 1 4 1 2 4 8
|
||||
206 10.480 22.888 22 14 1 4 1 2 4 8
|
||||
207 1.819 -3.009 20 6 1 4 1 2 4 8
|
||||
208 -25.275 -12.183 4 12 1 4 1 2 4 8
|
||||
209 56.927 -75.507 15 21 1 4 1 2 4 8
|
||||
210 13.885 -36.230 7 1 1 4 1 2 4 8
|
||||
211 32.520 -29.523 25 18 1 4 1 2 4 8
|
||||
212 4.803 -7.288 3 17 1 4 1 2 4 8
|
||||
213 11.365 -8.344 22 15 1 4 1 2 4 8
|
||||
214 17.126 -24.646 5 4 1 4 1 2 4 8
|
||||
215 -33.661 -41.241 1 18 1 4 1 2 4 8
|
||||
216 -32.391 -50.885 9 22 1 4 1 2 4 8
|
||||
217 23.041 -14.496 16 16 1 4 1 2 4 8
|
||||
218 -21.857 -39.502 23 14 1 4 1 2 4 8
|
||||
219 32.013 77.332 5 25 1 4 1 2 4 8
|
||||
220 13.831 -76.190 5 15 1 4 1 2 4 8
|
||||
221 -8.051 -21.179 6 6 1 4 1 2 4 8
|
||||
222 25.391 46.613 16 7 1 4 1 2 4 8
|
||||
223 49.536 -54.639 25 21 1 4 1 2 4 8
|
||||
224 63.416 -8.636 1 3 1 4 1 2 4 8
|
||||
225 2.301 -5.536 25 15 1 4 1 2 4 8
|
||||
226 52.423 29.895 17 24 1 4 1 2 4 8
|
||||
227 9.296 -16.254 11 2 1 4 1 2 4 8
|
||||
228 34.845 -96.185 24 17 1 4 1 2 4 8
|
||||
229 -21.063 -41.498 10 2 1 4 1 2 4 8
|
||||
230 28.448 10.242 12 25 1 4 1 2 4 8
|
||||
231 16.254 -22.583 17 15 1 4 1 2 4 8
|
||||
232 -36.639 -34.033 18 3 1 4 1 2 4 8
|
||||
233 -27.356 -50.177 5 1 1 4 1 2 4 8
|
||||
234 -53.705 11.334 16 1 1 4 1 2 4 8
|
||||
235 26.276 -5.994 9 20 1 4 1 2 4 8
|
||||
236 -31.519 34.589 6 19 1 4 1 2 4 8
|
||||
237 -14.612 -31.506 1 2 1 4 1 2 4 8
|
||||
238 -4.242 -30.865 4 9 1 4 1 2 4 8
|
||||
239 -18.524 -29.486 20 4 1 4 1 2 4 8
|
||||
240 -17.133 -19.397 19 16 1 4 1 2 4 8
|
||||
241 34.430 -17.151 0 0 0 0
|
||||
242 0.269 -8.154 0 0 0 0
|
||||
243 3.140 13.297 0 0 0 0
|
||||
244 -3.113 -29.745 0 0 0 0
|
||||
246 -162 71 0 3834 0.968407 2.8705 2.18212
|
||||
247 -121 14 0 5292 0.554942 4.75272 2.05255
|
||||
248 28 -22 0 5218 0.558154 4.70012 4.26699
|
||||
249 129 72 0 1721 0.552035 3.59747 2.88333
|
||||
302
branches/contribution/branches/bilevel/instances/mbipr06
Normal file
302
branches/contribution/branches/bilevel/instances/mbipr06
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
10 6 288 4 4
|
||||
400 175
|
||||
400 175
|
||||
400 175
|
||||
400 175
|
||||
|
||||
1 -66.174 -37.811 13 19 1 4 1 2 4 8
|
||||
2 2.673 -35.223 16 21 1 4 1 2 4 8
|
||||
3 38.751 8.618 1 17 1 4 1 2 4 8
|
||||
4 62.653 20.667 9 6 1 4 1 2 4 8
|
||||
5 60.974 -6.110 20 6 1 4 1 2 4 8
|
||||
6 -98.535 -39.532 2 19 1 4 1 2 4 8
|
||||
7 8.411 -81.274 5 17 1 4 1 2 4 8
|
||||
8 -14.569 26.056 10 19 1 4 1 2 4 8
|
||||
9 -34.186 -76.697 10 2 1 4 1 2 4 8
|
||||
10 55.145 -33.911 25 3 1 4 1 2 4 8
|
||||
11 15.869 8.716 2 24 1 4 1 2 4 8
|
||||
12 -63.416 -20.282 5 5 1 4 1 2 4 8
|
||||
13 -9.357 -42.212 16 9 1 4 1 2 4 8
|
||||
14 -53.619 3.729 24 20 1 4 1 2 4 8
|
||||
15 53.491 -3.308 7 19 1 4 1 2 4 8
|
||||
16 -22.614 -32.794 19 20 1 4 1 2 4 8
|
||||
17 39.612 -1.550 15 4 1 4 1 2 4 8
|
||||
18 16.705 -22.748 7 3 1 4 1 2 4 8
|
||||
19 -51.245 -13.757 16 2 1 4 1 2 4 8
|
||||
20 -29.907 14.380 20 23 1 4 1 2 4 8
|
||||
21 -70.441 -27.911 21 6 1 4 1 2 4 8
|
||||
22 -75.385 -30.811 7 17 1 4 1 2 4 8
|
||||
23 10.590 -28.931 17 17 1 4 1 2 4 8
|
||||
24 86.340 -45.935 11 3 1 4 1 2 4 8
|
||||
25 3.864 34.583 6 16 1 4 1 2 4 8
|
||||
26 -37.598 -42.114 4 15 1 4 1 2 4 8
|
||||
27 69.440 1.379 16 23 1 4 1 2 4 8
|
||||
28 -13.818 1.245 8 15 1 4 1 2 4 8
|
||||
29 -27.124 -38.037 13 12 1 4 1 2 4 8
|
||||
30 -69.348 -14.734 25 19 1 4 1 2 4 8
|
||||
31 58.575 29.346 16 23 1 4 1 2 4 8
|
||||
32 58.105 31.702 2 10 1 4 1 2 4 8
|
||||
33 -62.250 -16.425 12 23 1 4 1 2 4 8
|
||||
34 -66.382 13.586 12 22 1 4 1 2 4 8
|
||||
35 68.030 -12.482 14 4 1 4 1 2 4 8
|
||||
36 -30.701 -41.681 16 5 1 4 1 2 4 8
|
||||
37 -55.389 -51.050 9 1 1 4 1 2 4 8
|
||||
38 36.237 -2.655 16 11 1 4 1 2 4 8
|
||||
39 -1.215 5.591 2 20 1 4 1 2 4 8
|
||||
40 10.278 -23.950 21 25 1 4 1 2 4 8
|
||||
41 -7.159 36.859 7 18 1 4 1 2 4 8
|
||||
42 -90.204 61.169 3 4 1 4 1 2 4 8
|
||||
43 46.368 65.082 5 10 1 4 1 2 4 8
|
||||
44 13.348 31.372 12 17 1 4 1 2 4 8
|
||||
45 -73.566 -28.839 9 7 1 4 1 2 4 8
|
||||
46 -41.528 -37.097 11 4 1 4 1 2 4 8
|
||||
47 -60.938 -27.246 17 3 1 4 1 2 4 8
|
||||
48 38.312 54.376 10 12 1 4 1 2 4 8
|
||||
49 26.306 11.975 5 13 1 4 1 2 4 8
|
||||
50 10.297 -48.346 3 24 1 4 1 2 4 8
|
||||
51 52.417 -28.363 1 16 1 4 1 2 4 8
|
||||
52 -43.756 -39.343 3 2 1 4 1 2 4 8
|
||||
53 49.316 11.395 5 7 1 4 1 2 4 8
|
||||
54 45.593 4.346 25 15 1 4 1 2 4 8
|
||||
55 -25.989 -15.814 14 12 1 4 1 2 4 8
|
||||
56 65.253 -59.631 4 15 1 4 1 2 4 8
|
||||
57 12.109 -34.387 14 17 1 4 1 2 4 8
|
||||
58 12.390 -16.254 20 16 1 4 1 2 4 8
|
||||
59 0.525 69.611 5 1 1 4 1 2 4 8
|
||||
60 -8.679 7.770 22 9 1 4 1 2 4 8
|
||||
61 41.467 -35.016 17 4 1 4 1 2 4 8
|
||||
62 11.859 -34.973 19 3 1 4 1 2 4 8
|
||||
63 -1.306 -58.063 9 1 1 4 1 2 4 8
|
||||
64 6.024 -31.018 16 4 1 4 1 2 4 8
|
||||
65 1.788 -32.544 19 6 1 4 1 2 4 8
|
||||
66 29.272 -6.494 11 1 1 4 1 2 4 8
|
||||
67 23.950 10.742 6 19 1 4 1 2 4 8
|
||||
68 -65.887 40.912 23 1 1 4 1 2 4 8
|
||||
69 -10.095 26.257 24 2 1 4 1 2 4 8
|
||||
70 58.093 67.352 21 25 1 4 1 2 4 8
|
||||
71 90.015 9.485 16 4 1 4 1 2 4 8
|
||||
72 -6.622 15.216 15 4 1 4 1 2 4 8
|
||||
73 -2.875 -42.841 23 13 1 4 1 2 4 8
|
||||
74 -37.714 -7.306 22 18 1 4 1 2 4 8
|
||||
75 44.171 -11.224 21 9 1 4 1 2 4 8
|
||||
76 -58.704 -2.808 21 5 1 4 1 2 4 8
|
||||
77 -3.912 10.071 21 12 1 4 1 2 4 8
|
||||
78 -41.370 -1.495 7 22 1 4 1 2 4 8
|
||||
79 58.179 27.563 15 9 1 4 1 2 4 8
|
||||
80 -63.861 26.147 15 11 1 4 1 2 4 8
|
||||
81 -56.793 -15.918 16 6 1 4 1 2 4 8
|
||||
82 22.217 -27.509 13 19 1 4 1 2 4 8
|
||||
83 -1.031 -14.838 22 10 1 4 1 2 4 8
|
||||
84 -57.703 -10.480 1 1 1 4 1 2 4 8
|
||||
85 80.847 6.299 22 10 1 4 1 2 4 8
|
||||
86 2.887 10.822 24 20 1 4 1 2 4 8
|
||||
87 -37.390 -7.800 6 18 1 4 1 2 4 8
|
||||
88 -33.600 -26.740 5 1 1 4 1 2 4 8
|
||||
89 95.197 24.231 14 11 1 4 1 2 4 8
|
||||
90 -13.904 29.327 19 20 1 4 1 2 4 8
|
||||
91 -53.461 9.296 16 12 1 4 1 2 4 8
|
||||
92 67.578 13.007 20 17 1 4 1 2 4 8
|
||||
93 -83.881 -53.265 12 16 1 4 1 2 4 8
|
||||
94 30.255 -72.430 7 3 1 4 1 2 4 8
|
||||
95 -22.333 -20.538 23 14 1 4 1 2 4 8
|
||||
96 3.741 -35.461 9 12 1 4 1 2 4 8
|
||||
97 -20.093 -43.982 19 9 1 4 1 2 4 8
|
||||
98 -47.687 -21.100 17 1 1 4 1 2 4 8
|
||||
99 -20.447 -13.849 1 7 1 4 1 2 4 8
|
||||
100 34.515 3.967 25 7 1 4 1 2 4 8
|
||||
101 20.514 -11.884 12 5 1 4 1 2 4 8
|
||||
102 -46.039 -22.565 15 9 1 4 1 2 4 8
|
||||
103 -39.630 25.385 16 15 1 4 1 2 4 8
|
||||
104 -1.025 50.433 10 4 1 4 1 2 4 8
|
||||
105 -28.632 23.486 24 10 1 4 1 2 4 8
|
||||
106 -52.997 -16.248 24 21 1 4 1 2 4 8
|
||||
107 -3.345 -22.955 18 2 1 4 1 2 4 8
|
||||
108 -62.640 -26.349 21 6 1 4 1 2 4 8
|
||||
109 25.403 0.531 21 1 1 4 1 2 4 8
|
||||
110 -29.895 72.919 17 23 1 4 1 2 4 8
|
||||
111 26.630 1.971 7 24 1 4 1 2 4 8
|
||||
112 -9.814 35.004 14 16 1 4 1 2 4 8
|
||||
113 -7.758 -42.426 8 18 1 4 1 2 4 8
|
||||
114 28.918 -7.117 2 1 1 4 1 2 4 8
|
||||
115 47.693 36.108 18 1 1 4 1 2 4 8
|
||||
116 -53.168 5.206 10 21 1 4 1 2 4 8
|
||||
117 17.560 13.214 17 8 1 4 1 2 4 8
|
||||
118 6.836 -2.496 20 22 1 4 1 2 4 8
|
||||
119 -17.322 97.260 9 23 1 4 1 2 4 8
|
||||
120 22.406 26.532 25 11 1 4 1 2 4 8
|
||||
121 -73.090 -13.251 6 15 1 4 1 2 4 8
|
||||
122 -64.996 -4.578 16 14 1 4 1 2 4 8
|
||||
123 -34.906 -43.903 11 16 1 4 1 2 4 8
|
||||
124 -92.346 -4.517 9 25 1 4 1 2 4 8
|
||||
125 0.647 -8.496 9 12 1 4 1 2 4 8
|
||||
126 5.048 -37.323 18 9 1 4 1 2 4 8
|
||||
127 -19.080 -14.178 10 20 1 4 1 2 4 8
|
||||
128 -71.704 -11.450 11 22 1 4 1 2 4 8
|
||||
129 -45.581 -28.717 14 13 1 4 1 2 4 8
|
||||
130 -28.351 -23.914 15 24 1 4 1 2 4 8
|
||||
131 -16.486 30.920 19 13 1 4 1 2 4 8
|
||||
132 -83.423 -20.935 25 4 1 4 1 2 4 8
|
||||
133 -12.054 -20.612 10 22 1 4 1 2 4 8
|
||||
134 -7.184 -63.721 11 18 1 4 1 2 4 8
|
||||
135 34.546 -8.881 11 25 1 4 1 2 4 8
|
||||
136 -4.865 73.694 25 19 1 4 1 2 4 8
|
||||
137 -36.005 -3.876 14 8 1 4 1 2 4 8
|
||||
138 -28.400 -21.820 20 13 1 4 1 2 4 8
|
||||
139 -56.281 -15.112 7 1 1 4 1 2 4 8
|
||||
140 -11.017 42.151 1 1 1 4 1 2 4 8
|
||||
141 -63.092 -62.573 15 5 1 4 1 2 4 8
|
||||
142 29.486 79.944 2 2 1 4 1 2 4 8
|
||||
143 -65.674 -0.238 7 22 1 4 1 2 4 8
|
||||
144 46.130 -20.416 21 3 1 4 1 2 4 8
|
||||
145 1.575 -16.364 19 2 1 4 1 2 4 8
|
||||
146 40.277 -1.379 17 6 1 4 1 2 4 8
|
||||
147 -15.271 42.249 23 19 1 4 1 2 4 8
|
||||
148 33.215 -16.614 17 5 1 4 1 2 4 8
|
||||
149 -72.388 13.074 20 25 1 4 1 2 4 8
|
||||
150 -24.487 5.273 11 9 1 4 1 2 4 8
|
||||
151 -6.598 -30.957 1 20 1 4 1 2 4 8
|
||||
152 31.287 21.332 11 11 1 4 1 2 4 8
|
||||
153 20.557 0.378 15 18 1 4 1 2 4 8
|
||||
154 -67.200 -41.339 3 25 1 4 1 2 4 8
|
||||
155 22.168 -40.375 21 22 1 4 1 2 4 8
|
||||
156 31.165 2.222 5 25 1 4 1 2 4 8
|
||||
157 74.634 30.219 11 14 1 4 1 2 4 8
|
||||
158 60.699 81.116 6 21 1 4 1 2 4 8
|
||||
159 -60.736 24.133 17 1 1 4 1 2 4 8
|
||||
160 1.978 17.517 20 9 1 4 1 2 4 8
|
||||
161 -80.566 -38.196 10 2 1 4 1 2 4 8
|
||||
162 -49.927 -36.713 24 2 1 4 1 2 4 8
|
||||
163 -60.449 -27.820 6 4 1 4 1 2 4 8
|
||||
164 -78.748 -44.226 18 15 1 4 1 2 4 8
|
||||
165 54.260 -9.259 15 11 1 4 1 2 4 8
|
||||
166 -42.059 -26.636 6 15 1 4 1 2 4 8
|
||||
167 -57.336 -16.718 10 15 1 4 1 2 4 8
|
||||
168 -1.276 -13.330 7 16 1 4 1 2 4 8
|
||||
169 -24.158 39.197 24 14 1 4 1 2 4 8
|
||||
170 17.908 -40.442 3 25 1 4 1 2 4 8
|
||||
171 59.833 -3.674 22 9 1 4 1 2 4 8
|
||||
172 -3.510 6.256 1 23 1 4 1 2 4 8
|
||||
173 40.167 8.594 4 16 1 4 1 2 4 8
|
||||
174 -1.691 -54.376 12 10 1 4 1 2 4 8
|
||||
175 -36.035 -17.065 14 4 1 4 1 2 4 8
|
||||
176 7.275 -4.144 17 25 1 4 1 2 4 8
|
||||
177 30.219 -6.830 20 20 1 4 1 2 4 8
|
||||
178 -26.379 -63.055 19 5 1 4 1 2 4 8
|
||||
179 28.772 -0.031 18 19 1 4 1 2 4 8
|
||||
180 2.625 5.072 22 2 1 4 1 2 4 8
|
||||
181 3.595 -21.600 14 13 1 4 1 2 4 8
|
||||
182 -64.948 -10.956 14 19 1 4 1 2 4 8
|
||||
183 18.671 -41.010 20 2 1 4 1 2 4 8
|
||||
184 29.291 12.799 16 16 1 4 1 2 4 8
|
||||
185 4.529 26.654 25 2 1 4 1 2 4 8
|
||||
186 25.360 29.718 12 6 1 4 1 2 4 8
|
||||
187 57.349 -15.405 1 3 1 4 1 2 4 8
|
||||
188 -11.566 -19.012 11 20 1 4 1 2 4 8
|
||||
189 -45.441 -71.808 18 13 1 4 1 2 4 8
|
||||
190 2.197 -3.564 8 9 1 4 1 2 4 8
|
||||
191 -1.855 -24.475 8 5 1 4 1 2 4 8
|
||||
192 -59.851 -48.938 1 15 1 4 1 2 4 8
|
||||
193 70.081 -17.816 23 22 1 4 1 2 4 8
|
||||
194 -4.932 28.754 19 18 1 4 1 2 4 8
|
||||
195 -46.625 -23.529 18 21 1 4 1 2 4 8
|
||||
196 -49.872 -35.339 16 16 1 4 1 2 4 8
|
||||
197 -67.499 8.142 7 22 1 4 1 2 4 8
|
||||
198 31.195 -18.243 13 23 1 4 1 2 4 8
|
||||
199 -42.139 -52.704 5 1 1 4 1 2 4 8
|
||||
200 -15.094 18.933 3 1 1 4 1 2 4 8
|
||||
201 -78.625 -24.341 22 13 1 4 1 2 4 8
|
||||
202 51.471 -9.607 21 14 1 4 1 2 4 8
|
||||
203 29.987 -31.061 18 18 1 4 1 2 4 8
|
||||
204 46.741 1.453 14 5 1 4 1 2 4 8
|
||||
205 -52.954 31.738 19 24 1 4 1 2 4 8
|
||||
206 10.535 -61.432 18 11 1 4 1 2 4 8
|
||||
207 -15.948 -56.012 12 5 1 4 1 2 4 8
|
||||
208 -7.776 -54.730 21 1 1 4 1 2 4 8
|
||||
209 11.047 -20.905 15 21 1 4 1 2 4 8
|
||||
210 -24.359 -23.047 8 6 1 4 1 2 4 8
|
||||
211 2.948 -20.398 5 6 1 4 1 2 4 8
|
||||
212 -82.654 24.323 3 5 1 4 1 2 4 8
|
||||
213 -12.134 42.065 2 23 1 4 1 2 4 8
|
||||
214 -98.035 -36.359 5 16 1 4 1 2 4 8
|
||||
215 -61.102 -13.477 3 18 1 4 1 2 4 8
|
||||
216 -39.136 6.287 12 10 1 4 1 2 4 8
|
||||
217 41.180 7.971 4 9 1 4 1 2 4 8
|
||||
218 4.254 19.830 23 18 1 4 1 2 4 8
|
||||
219 -34.143 -37.915 8 22 1 4 1 2 4 8
|
||||
220 -4.559 23.566 7 24 1 4 1 2 4 8
|
||||
221 37.891 -1.947 10 15 1 4 1 2 4 8
|
||||
222 78.259 15.936 18 6 1 4 1 2 4 8
|
||||
223 -8.661 -25.110 4 12 1 4 1 2 4 8
|
||||
224 10.071 37.164 9 19 1 4 1 2 4 8
|
||||
225 -42.621 -46.985 19 19 1 4 1 2 4 8
|
||||
226 92.157 -94.183 5 17 1 4 1 2 4 8
|
||||
227 32.202 -39.844 19 22 1 4 1 2 4 8
|
||||
228 -55.231 -15.027 7 25 1 4 1 2 4 8
|
||||
229 -26.746 -21.490 22 11 1 4 1 2 4 8
|
||||
230 -75.513 -0.708 2 23 1 4 1 2 4 8
|
||||
231 34.021 12.665 7 10 1 4 1 2 4 8
|
||||
232 -2.643 -20.831 4 17 1 4 1 2 4 8
|
||||
233 53.369 13.770 11 6 1 4 1 2 4 8
|
||||
234 -14.948 -40.259 12 20 1 4 1 2 4 8
|
||||
235 67.828 5.750 2 6 1 4 1 2 4 8
|
||||
236 -13.220 -26.031 13 4 1 4 1 2 4 8
|
||||
237 4.169 -32.617 22 25 1 4 1 2 4 8
|
||||
238 -26.050 -33.313 6 7 1 4 1 2 4 8
|
||||
239 31.964 -45.703 11 11 1 4 1 2 4 8
|
||||
240 96.820 26.208 22 14 1 4 1 2 4 8
|
||||
241 -44.696 -37.854 9 14 1 4 1 2 4 8
|
||||
242 33.417 11.792 21 15 1 4 1 2 4 8
|
||||
243 -35.187 19.226 8 2 1 4 1 2 4 8
|
||||
244 -14.233 -74.988 4 14 1 4 1 2 4 8
|
||||
245 37.158 -0.836 19 17 1 4 1 2 4 8
|
||||
246 -51.697 -26.447 20 24 1 4 1 2 4 8
|
||||
247 23.535 5.896 22 10 1 4 1 2 4 8
|
||||
248 -18.433 53.711 10 20 1 4 1 2 4 8
|
||||
249 -11.340 -17.621 20 11 1 4 1 2 4 8
|
||||
250 -7.812 -35.895 10 16 1 4 1 2 4 8
|
||||
251 3.522 26.941 23 3 1 4 1 2 4 8
|
||||
252 -46.588 -22.266 5 11 1 4 1 2 4 8
|
||||
253 -2.997 -0.549 25 10 1 4 1 2 4 8
|
||||
254 32.147 17.151 7 18 1 4 1 2 4 8
|
||||
255 32.019 13.007 16 20 1 4 1 2 4 8
|
||||
256 -6.628 29.889 15 24 1 4 1 2 4 8
|
||||
257 77.777 -25.397 9 16 1 4 1 2 4 8
|
||||
258 30.707 65.704 19 2 1 4 1 2 4 8
|
||||
259 -43.811 -43.036 11 14 1 4 1 2 4 8
|
||||
260 49.561 16.827 19 10 1 4 1 2 4 8
|
||||
261 -28.931 -0.439 10 22 1 4 1 2 4 8
|
||||
262 40.363 16.382 20 14 1 4 1 2 4 8
|
||||
263 22.748 40.674 17 15 1 4 1 2 4 8
|
||||
264 -1.471 6.567 22 7 1 4 1 2 4 8
|
||||
265 -1.190 16.864 24 20 1 4 1 2 4 8
|
||||
266 8.032 41.821 5 1 1 4 1 2 4 8
|
||||
267 -44.019 -22.784 5 24 1 4 1 2 4 8
|
||||
268 12.366 -11.353 17 22 1 4 1 2 4 8
|
||||
269 33.276 15.881 7 23 1 4 1 2 4 8
|
||||
270 -34.790 -15.045 25 20 1 4 1 2 4 8
|
||||
271 -96.857 -19.391 12 15 1 4 1 2 4 8
|
||||
272 38.434 -5.353 11 14 1 4 1 2 4 8
|
||||
273 -25.391 0.220 6 12 1 4 1 2 4 8
|
||||
274 0.848 -31.860 13 4 1 4 1 2 4 8
|
||||
275 -24.023 95.691 23 15 1 4 1 2 4 8
|
||||
276 -4.272 35.468 15 12 1 4 1 2 4 8
|
||||
277 -6.927 1.855 13 8 1 4 1 2 4 8
|
||||
278 -70.953 -3.217 10 2 1 4 1 2 4 8
|
||||
279 -32.648 -16.522 24 24 1 4 1 2 4 8
|
||||
280 42.859 -21.680 13 5 1 4 1 2 4 8
|
||||
281 5.182 6.403 12 8 1 4 1 2 4 8
|
||||
282 36.920 -4.987 21 21 1 4 1 2 4 8
|
||||
283 49.591 27.783 10 5 1 4 1 2 4 8
|
||||
284 45.038 10.785 12 16 1 4 1 2 4 8
|
||||
285 7.690 14.056 9 8 1 4 1 2 4 8
|
||||
286 -60.907 18.640 5 24 1 4 1 2 4 8
|
||||
287 -64.496 8.923 18 23 1 4 1 2 4 8
|
||||
288 37.158 -14.990 24 6 1 4 1 2 4 8
|
||||
289 2.277 7.840 0 0 0 0
|
||||
290 32.883 -1.779 0 0 0 0
|
||||
291 -49.554 -17.828 0 0 0 0
|
||||
292 3.690 -26.099 0 0 0 0
|
||||
295 -128 120 0 3066 0.701052 3.10439 3.50611
|
||||
296 21 149 0 4849 0.504888 2.33939 4.61983
|
||||
297 -29 -79 0 6119 0.633972 4.40644 3.97979
|
||||
298 -92 148 0 2681 0.523371 4.80193 4.84106
|
||||
92
branches/contribution/branches/bilevel/instances/mbipr07
Normal file
92
branches/contribution/branches/bilevel/instances/mbipr07
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
10 1 72 6 6
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
500 200
|
||||
|
||||
1 -92.700 -59.180 8 20 1 6 1 2 4 8 16 32
|
||||
2 71.179 12.543 15 6 1 6 1 2 4 8 16 32
|
||||
3 31.537 66.638 20 19 1 6 1 2 4 8 16 32
|
||||
4 -4.694 25.537 7 10 1 6 1 2 4 8 16 32
|
||||
5 -30.194 67.773 13 18 1 6 1 2 4 8 16 32
|
||||
6 12.677 -57.471 6 1 1 6 1 2 4 8 16 32
|
||||
7 -32.355 -20.966 5 15 1 6 1 2 4 8 16 32
|
||||
8 19.910 48.975 1 23 1 6 1 2 4 8 16 32
|
||||
9 13.202 -19.135 12 13 1 6 1 2 4 8 16 32
|
||||
10 54.877 -41.168 18 12 1 6 1 2 4 8 16 32
|
||||
11 15.063 -25.171 25 7 1 6 1 2 4 8 16 32
|
||||
12 -50.598 -16.418 14 25 1 6 1 2 4 8 16 32
|
||||
13 -29.730 17.078 18 5 1 6 1 2 4 8 16 32
|
||||
14 17.542 1.575 13 1 1 6 1 2 4 8 16 32
|
||||
15 11.127 77.216 6 25 1 6 1 2 4 8 16 32
|
||||
16 33.752 71.259 14 10 1 6 1 2 4 8 16 32
|
||||
17 -56.012 -10.394 10 2 1 6 1 2 4 8 16 32
|
||||
18 57.874 -16.290 18 7 1 6 1 2 4 8 16 32
|
||||
19 10.718 -18.787 8 11 1 6 1 2 4 8 16 32
|
||||
20 53.088 -18.750 6 4 1 6 1 2 4 8 16 32
|
||||
21 1.569 7.532 2 6 1 6 1 2 4 8 16 32
|
||||
22 31.531 48.944 4 15 1 6 1 2 4 8 16 32
|
||||
23 -66.833 -37.854 4 7 1 6 1 2 4 8 16 32
|
||||
24 -70.740 62.244 23 8 1 6 1 2 4 8 16 32
|
||||
25 32.538 23.096 12 10 1 6 1 2 4 8 16 32
|
||||
26 -51.453 -36.444 24 9 1 6 1 2 4 8 16 32
|
||||
27 36.456 -22.638 17 4 1 6 1 2 4 8 16 32
|
||||
28 -31.207 43.494 18 6 1 6 1 2 4 8 16 32
|
||||
29 -10.388 34.491 25 22 1 6 1 2 4 8 16 32
|
||||
30 14.722 -10.834 22 17 1 6 1 2 4 8 16 32
|
||||
31 47.095 -21.387 10 9 1 6 1 2 4 8 16 32
|
||||
32 43.781 34.766 25 25 1 6 1 2 4 8 16 32
|
||||
33 53.546 -67.487 21 10 1 6 1 2 4 8 16 32
|
||||
34 26.801 46.515 21 18 1 6 1 2 4 8 16 32
|
||||
35 63.385 11.981 16 21 1 6 1 2 4 8 16 32
|
||||
36 47.192 -5.475 23 10 1 6 1 2 4 8 16 32
|
||||
37 -16.315 -11.267 21 23 1 6 1 2 4 8 16 32
|
||||
38 78.900 17.651 15 23 1 6 1 2 4 8 16 32
|
||||
39 79.822 22.272 7 11 1 6 1 2 4 8 16 32
|
||||
40 12.878 16.919 20 1 1 6 1 2 4 8 16 32
|
||||
41 -67.981 -3.754 6 23 1 6 1 2 4 8 16 32
|
||||
42 9.198 -18.597 16 16 1 6 1 2 4 8 16 32
|
||||
43 -35.950 -19.141 10 10 1 6 1 2 4 8 16 32
|
||||
44 28.766 45.276 7 12 1 6 1 2 4 8 16 32
|
||||
45 11.469 68.231 20 12 1 6 1 2 4 8 16 32
|
||||
46 -22.760 45.496 9 3 1 6 1 2 4 8 16 32
|
||||
47 -65.674 -23.120 12 22 1 6 1 2 4 8 16 32
|
||||
48 7.239 1.599 10 21 1 6 1 2 4 8 16 32
|
||||
49 -29.785 -11.285 19 13 1 6 1 2 4 8 16 32
|
||||
50 -89.050 16.211 6 15 1 6 1 2 4 8 16 32
|
||||
51 -46.887 -3.363 14 13 1 6 1 2 4 8 16 32
|
||||
52 -14.972 30.621 23 20 1 6 1 2 4 8 16 32
|
||||
53 -17.035 49.774 8 10 1 6 1 2 4 8 16 32
|
||||
54 31.635 53.619 10 25 1 6 1 2 4 8 16 32
|
||||
55 -3.577 13.342 14 7 1 6 1 2 4 8 16 32
|
||||
56 33.008 58.960 3 15 1 6 1 2 4 8 16 32
|
||||
57 -92.950 63.263 25 2 1 6 1 2 4 8 16 32
|
||||
58 -9.137 -22.931 21 23 1 6 1 2 4 8 16 32
|
||||
59 -39.960 6.195 5 5 1 6 1 2 4 8 16 32
|
||||
60 28.430 -19.214 2 25 1 6 1 2 4 8 16 32
|
||||
61 -28.540 -3.485 3 9 1 6 1 2 4 8 16 32
|
||||
62 31.415 36.859 21 2 1 6 1 2 4 8 16 32
|
||||
63 -49.426 60.602 1 24 1 6 1 2 4 8 16 32
|
||||
64 -72.827 -27.765 25 13 1 6 1 2 4 8 16 32
|
||||
65 60.083 -45.905 21 20 1 6 1 2 4 8 16 32
|
||||
66 10.870 -3.900 21 13 1 6 1 2 4 8 16 32
|
||||
67 25.122 7.672 25 15 1 6 1 2 4 8 16 32
|
||||
68 -46.997 -17.474 14 4 1 6 1 2 4 8 16 32
|
||||
69 16.058 33.020 20 20 1 6 1 2 4 8 16 32
|
||||
70 25.409 -11.700 14 8 1 6 1 2 4 8 16 32
|
||||
71 68.323 -5.145 11 19 1 6 1 2 4 8 16 32
|
||||
72 -13.104 62.158 25 20 1 6 1 2 4 8 16 32
|
||||
73 42.395 -8.344 0 0 0 0
|
||||
74 -42.175 -14.554 0 0 0 0
|
||||
75 16.034 40.726 0 0 0 0
|
||||
76 -14.639 29.633 0 0 0 0
|
||||
77 16.049 -3.934 0 0 0 0
|
||||
78 46.112 12.430 0 0 0 0
|
||||
74 -146 137 0 1601 0.854442 3.19202 2.66389
|
||||
75 -146 -102 0 1075 0.732916 4.44984 4.61803
|
||||
76 37 -102 0 954 0.533891 4.66479 2.30664
|
||||
77 -101 -31 0 1180 0.942257 4.49052 2.61164
|
||||
78 30 -29 0 709 0.749041 3.98665 3.5549
|
||||
79 167 -164 0 1715 0.51593 3.98365 2.87634
|
||||
164
branches/contribution/branches/bilevel/instances/mbipr08
Normal file
164
branches/contribution/branches/bilevel/instances/mbipr08
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
10 2 144 6 6
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
475 190
|
||||
|
||||
1 -40.289 -42.303 6 20 1 6 1 2 4 8 16 32
|
||||
2 -64.709 -17.389 3 10 1 6 1 2 4 8 16 32
|
||||
3 5.060 -14.349 23 8 1 6 1 2 4 8 16 32
|
||||
4 72.095 20.233 1 6 1 6 1 2 4 8 16 32
|
||||
5 2.594 -15.002 18 1 1 6 1 2 4 8 16 32
|
||||
6 -24.176 -72.894 8 19 1 6 1 2 4 8 16 32
|
||||
7 -13.190 66.498 2 13 1 6 1 2 4 8 16 32
|
||||
8 33.191 13.690 9 24 1 6 1 2 4 8 16 32
|
||||
9 66.827 -30.554 1 15 1 6 1 2 4 8 16 32
|
||||
10 19.934 35.883 20 13 1 6 1 2 4 8 16 32
|
||||
11 -27.771 32.269 23 10 1 6 1 2 4 8 16 32
|
||||
12 51.154 -16.827 22 4 1 6 1 2 4 8 16 32
|
||||
13 -19.214 23.749 24 12 1 6 1 2 4 8 16 32
|
||||
14 -46.643 -52.954 21 21 1 6 1 2 4 8 16 32
|
||||
15 -10.590 -16.626 18 2 1 6 1 2 4 8 16 32
|
||||
16 35.150 12.622 21 10 1 6 1 2 4 8 16 32
|
||||
17 -37.378 12.256 7 20 1 6 1 2 4 8 16 32
|
||||
18 82.794 25.836 4 9 1 6 1 2 4 8 16 32
|
||||
19 8.936 -3.723 21 24 1 6 1 2 4 8 16 32
|
||||
20 -56.659 25.555 13 19 1 6 1 2 4 8 16 32
|
||||
21 -52.020 -40.137 18 13 1 6 1 2 4 8 16 32
|
||||
22 39.270 12.787 4 14 1 6 1 2 4 8 16 32
|
||||
23 19.757 21.228 3 17 1 6 1 2 4 8 16 32
|
||||
24 -23.071 -12.659 12 25 1 6 1 2 4 8 16 32
|
||||
25 15.686 52.374 5 1 1 6 1 2 4 8 16 32
|
||||
26 58.771 -7.056 8 9 1 6 1 2 4 8 16 32
|
||||
27 -33.087 72.266 14 12 1 6 1 2 4 8 16 32
|
||||
28 2.551 46.851 10 22 1 6 1 2 4 8 16 32
|
||||
29 -18.719 73.126 14 2 1 6 1 2 4 8 16 32
|
||||
30 -67.627 -20.679 19 21 1 6 1 2 4 8 16 32
|
||||
31 -76.862 -11.365 20 8 1 6 1 2 4 8 16 32
|
||||
32 -24.194 -38.263 21 19 1 6 1 2 4 8 16 32
|
||||
33 -20.374 -31.903 11 24 1 6 1 2 4 8 16 32
|
||||
34 9.290 39.618 14 24 1 6 1 2 4 8 16 32
|
||||
35 26.044 35.974 6 2 1 6 1 2 4 8 16 32
|
||||
36 -57.385 -45.264 7 20 1 6 1 2 4 8 16 32
|
||||
37 1.489 -62.592 3 20 1 6 1 2 4 8 16 32
|
||||
38 34.937 13.672 22 5 1 6 1 2 4 8 16 32
|
||||
39 -22.290 45.648 21 17 1 6 1 2 4 8 16 32
|
||||
40 -5.920 44.061 12 4 1 6 1 2 4 8 16 32
|
||||
41 -38.446 -23.541 1 21 1 6 1 2 4 8 16 32
|
||||
42 28.894 33.936 11 3 1 6 1 2 4 8 16 32
|
||||
43 -35.388 -5.341 12 16 1 6 1 2 4 8 16 32
|
||||
44 -19.501 13.519 19 14 1 6 1 2 4 8 16 32
|
||||
45 -9.216 -30.988 8 6 1 6 1 2 4 8 16 32
|
||||
46 -22.131 -17.065 11 5 1 6 1 2 4 8 16 32
|
||||
47 -22.827 36.810 18 12 1 6 1 2 4 8 16 32
|
||||
48 -61.365 -18.463 6 23 1 6 1 2 4 8 16 32
|
||||
49 50.128 -66.046 3 12 1 6 1 2 4 8 16 32
|
||||
50 25.647 24.139 6 18 1 6 1 2 4 8 16 32
|
||||
51 65.521 42.810 10 24 1 6 1 2 4 8 16 32
|
||||
52 -60.956 -47.925 7 3 1 6 1 2 4 8 16 32
|
||||
53 -9.070 42.798 17 3 1 6 1 2 4 8 16 32
|
||||
54 -19.061 4.480 12 25 1 6 1 2 4 8 16 32
|
||||
55 -54.071 -3.870 11 22 1 6 1 2 4 8 16 32
|
||||
56 -25.598 -18.866 15 25 1 6 1 2 4 8 16 32
|
||||
57 -18.707 84.296 6 15 1 6 1 2 4 8 16 32
|
||||
58 -70.184 -39.166 13 18 1 6 1 2 4 8 16 32
|
||||
59 -14.636 -0.446 3 8 1 6 1 2 4 8 16 32
|
||||
60 -76.465 -38.922 23 20 1 6 1 2 4 8 16 32
|
||||
61 44.092 12.433 24 18 1 6 1 2 4 8 16 32
|
||||
62 -22.772 -50.867 22 5 1 6 1 2 4 8 16 32
|
||||
63 19.104 44.672 11 25 1 6 1 2 4 8 16 32
|
||||
64 -44.019 -39.935 24 16 1 6 1 2 4 8 16 32
|
||||
65 -2.972 -4.059 8 14 1 6 1 2 4 8 16 32
|
||||
66 -24.261 35.907 22 1 1 6 1 2 4 8 16 32
|
||||
67 -61.877 -73.901 11 15 1 6 1 2 4 8 16 32
|
||||
68 -5.640 -26.721 6 22 1 6 1 2 4 8 16 32
|
||||
69 45.844 -36.835 10 6 1 6 1 2 4 8 16 32
|
||||
70 -51.746 -79.840 10 24 1 6 1 2 4 8 16 32
|
||||
71 -33.008 10.992 20 19 1 6 1 2 4 8 16 32
|
||||
72 -25.653 -0.372 2 12 1 6 1 2 4 8 16 32
|
||||
73 -21.497 61.487 18 13 1 6 1 2 4 8 16 32
|
||||
74 2.032 26.727 8 10 1 6 1 2 4 8 16 32
|
||||
75 -26.758 14.807 13 12 1 6 1 2 4 8 16 32
|
||||
76 -37.256 -44.861 8 13 1 6 1 2 4 8 16 32
|
||||
77 -0.861 -16.418 8 25 1 6 1 2 4 8 16 32
|
||||
78 -51.160 34.967 18 12 1 6 1 2 4 8 16 32
|
||||
79 -41.266 -76.886 17 2 1 6 1 2 4 8 16 32
|
||||
80 -30.255 74.701 10 11 1 6 1 2 4 8 16 32
|
||||
81 -46.368 -1.514 23 10 1 6 1 2 4 8 16 32
|
||||
82 -71.619 73.077 3 9 1 6 1 2 4 8 16 32
|
||||
83 -46.606 -39.948 25 21 1 6 1 2 4 8 16 32
|
||||
84 -30.243 67.102 4 14 1 6 1 2 4 8 16 32
|
||||
85 -40.997 -43.036 25 15 1 6 1 2 4 8 16 32
|
||||
86 -74.286 -52.307 5 6 1 6 1 2 4 8 16 32
|
||||
87 -17.609 -71.851 9 25 1 6 1 2 4 8 16 32
|
||||
88 2.350 -81.805 18 14 1 6 1 2 4 8 16 32
|
||||
89 -85.486 -54.059 16 17 1 6 1 2 4 8 16 32
|
||||
90 23.822 10.571 16 8 1 6 1 2 4 8 16 32
|
||||
91 -24.530 -31.726 22 4 1 6 1 2 4 8 16 32
|
||||
92 -42.474 -15.009 2 17 1 6 1 2 4 8 16 32
|
||||
93 -33.624 50.330 22 23 1 6 1 2 4 8 16 32
|
||||
94 -81.458 -41.565 11 4 1 6 1 2 4 8 16 32
|
||||
95 -73.505 -48.279 24 4 1 6 1 2 4 8 16 32
|
||||
96 -3.052 70.898 17 9 1 6 1 2 4 8 16 32
|
||||
97 0.946 25.458 12 9 1 6 1 2 4 8 16 32
|
||||
98 -54.144 13.525 1 19 1 6 1 2 4 8 16 32
|
||||
99 -30.634 7.526 23 12 1 6 1 2 4 8 16 32
|
||||
100 -68.335 -34.277 4 25 1 6 1 2 4 8 16 32
|
||||
101 7.178 57.935 15 8 1 6 1 2 4 8 16 32
|
||||
102 4.712 48.669 15 13 1 6 1 2 4 8 16 32
|
||||
103 58.087 26.379 12 3 1 6 1 2 4 8 16 32
|
||||
104 18.347 34.784 21 6 1 6 1 2 4 8 16 32
|
||||
105 -44.629 -61.975 21 11 1 6 1 2 4 8 16 32
|
||||
106 5.231 26.068 15 24 1 6 1 2 4 8 16 32
|
||||
107 -48.065 -36.755 21 16 1 6 1 2 4 8 16 32
|
||||
108 -3.589 -27.734 19 21 1 6 1 2 4 8 16 32
|
||||
109 9.808 36.896 11 25 1 6 1 2 4 8 16 32
|
||||
110 59.460 1.233 3 10 1 6 1 2 4 8 16 32
|
||||
111 -47.522 19.873 12 2 1 6 1 2 4 8 16 32
|
||||
112 -48.431 -50.317 4 13 1 6 1 2 4 8 16 32
|
||||
113 44.666 20.953 2 14 1 6 1 2 4 8 16 32
|
||||
114 -19.226 32.770 9 19 1 6 1 2 4 8 16 32
|
||||
115 -15.662 17.462 21 16 1 6 1 2 4 8 16 32
|
||||
116 -91.669 77.722 17 23 1 6 1 2 4 8 16 32
|
||||
117 -30.035 -78.284 22 13 1 6 1 2 4 8 16 32
|
||||
118 73.663 32.941 24 24 1 6 1 2 4 8 16 32
|
||||
119 22.400 -60.083 2 17 1 6 1 2 4 8 16 32
|
||||
120 61.206 -13.501 25 8 1 6 1 2 4 8 16 32
|
||||
121 22.131 -50.012 21 12 1 6 1 2 4 8 16 32
|
||||
122 -6.317 56.665 11 6 1 6 1 2 4 8 16 32
|
||||
123 -20.471 12.885 23 20 1 6 1 2 4 8 16 32
|
||||
124 -61.084 -44.769 4 20 1 6 1 2 4 8 16 32
|
||||
125 -9.576 -19.366 1 24 1 6 1 2 4 8 16 32
|
||||
126 5.627 -88.501 15 10 1 6 1 2 4 8 16 32
|
||||
127 -2.618 22.131 20 18 1 6 1 2 4 8 16 32
|
||||
128 40.497 32.343 8 10 1 6 1 2 4 8 16 32
|
||||
129 -3.296 36.774 4 15 1 6 1 2 4 8 16 32
|
||||
130 -50.995 19.781 12 12 1 6 1 2 4 8 16 32
|
||||
131 -70.520 -3.809 23 22 1 6 1 2 4 8 16 32
|
||||
132 4.205 0.812 25 11 1 6 1 2 4 8 16 32
|
||||
133 9.955 26.337 5 14 1 6 1 2 4 8 16 32
|
||||
134 13.538 -21.313 15 9 1 6 1 2 4 8 16 32
|
||||
135 -21.869 -18.768 2 6 1 6 1 2 4 8 16 32
|
||||
136 -37.158 -30.768 22 23 1 6 1 2 4 8 16 32
|
||||
137 -86.975 10.345 16 8 1 6 1 2 4 8 16 32
|
||||
138 -47.272 -46.326 23 22 1 6 1 2 4 8 16 32
|
||||
139 4.095 -19.354 13 7 1 6 1 2 4 8 16 32
|
||||
140 4.205 30.292 7 15 1 6 1 2 4 8 16 32
|
||||
141 -42.017 53.986 20 22 1 6 1 2 4 8 16 32
|
||||
142 35.095 -10.895 25 7 1 6 1 2 4 8 16 32
|
||||
143 61.188 -59.875 12 14 1 6 1 2 4 8 16 32
|
||||
144 -34.674 -1.337 9 21 1 6 1 2 4 8 16 32
|
||||
145 -3.799 44.290 0 0 0 0
|
||||
146 14.233 21.173 0 0 0 0
|
||||
147 -23.334 -28.397 0 0 0 0
|
||||
148 10.065 1.822 0 0 0 0
|
||||
149 -49.115 -43.549 0 0 0 0
|
||||
150 -21.054 4.144 0 0 0 0
|
||||
147 86 -8 0 1065 0.844222 2.71748 4.28554
|
||||
148 44 92 0 808 0.8635 4.05408 4.30096
|
||||
149 -99 -70 0 1036 0.77499 4.16441 2.47051
|
||||
150 90 124 0 3127 0.745004 2.46118 3.64438
|
||||
151 -55 4 0 1769 0.762357 2.31549 2.56155
|
||||
152 161 -107 0 1550 0.817061 4.48612 2.50805
|
||||
236
branches/contribution/branches/bilevel/instances/mbipr09
Normal file
236
branches/contribution/branches/bilevel/instances/mbipr09
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
10 3 216 6 6
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
450 180
|
||||
|
||||
1 -41.235 -66.357 14 3 1 6 1 2 4 8 16 32
|
||||
2 34.064 -59.357 16 16 1 6 1 2 4 8 16 32
|
||||
3 20.917 -52.582 17 8 1 6 1 2 4 8 16 32
|
||||
4 -38.538 -37.396 19 15 1 6 1 2 4 8 16 32
|
||||
5 41.058 22.931 6 12 1 6 1 2 4 8 16 32
|
||||
6 -54.034 -53.131 7 13 1 6 1 2 4 8 16 32
|
||||
7 8.099 80.725 3 8 1 6 1 2 4 8 16 32
|
||||
8 81.299 13.409 10 24 1 6 1 2 4 8 16 32
|
||||
9 14.459 -2.972 4 14 1 6 1 2 4 8 16 32
|
||||
10 -52.539 60.107 17 17 1 6 1 2 4 8 16 32
|
||||
11 -57.202 -34.229 10 8 1 6 1 2 4 8 16 32
|
||||
12 -65.552 -40.222 13 11 1 6 1 2 4 8 16 32
|
||||
13 -19.751 -10.278 20 8 1 6 1 2 4 8 16 32
|
||||
14 -26.965 -87.012 6 17 1 6 1 2 4 8 16 32
|
||||
15 3.192 -88.654 18 19 1 6 1 2 4 8 16 32
|
||||
16 34.521 32.837 3 13 1 6 1 2 4 8 16 32
|
||||
17 80.035 5.273 10 2 1 6 1 2 4 8 16 32
|
||||
18 -39.838 -67.731 4 8 1 6 1 2 4 8 16 32
|
||||
19 14.600 11.365 15 21 1 6 1 2 4 8 16 32
|
||||
20 -20.990 -80.511 4 13 1 6 1 2 4 8 16 32
|
||||
21 48.242 47.284 6 17 1 6 1 2 4 8 16 32
|
||||
22 59.338 -31.860 19 4 1 6 1 2 4 8 16 32
|
||||
23 -13.995 -45.624 7 22 1 6 1 2 4 8 16 32
|
||||
24 32.397 -32.532 20 24 1 6 1 2 4 8 16 32
|
||||
25 2.826 50.824 12 11 1 6 1 2 4 8 16 32
|
||||
26 -66.077 -34.686 8 6 1 6 1 2 4 8 16 32
|
||||
27 -13.660 18.640 18 19 1 6 1 2 4 8 16 32
|
||||
28 -59.344 12.769 1 11 1 6 1 2 4 8 16 32
|
||||
29 -5.133 -18.463 25 23 1 6 1 2 4 8 16 32
|
||||
30 -22.961 -21.729 16 4 1 6 1 2 4 8 16 32
|
||||
31 58.130 46.606 5 5 1 6 1 2 4 8 16 32
|
||||
32 -49.603 -76.624 7 16 1 6 1 2 4 8 16 32
|
||||
33 -4.803 43.036 20 2 1 6 1 2 4 8 16 32
|
||||
34 68.616 -19.623 3 13 1 6 1 2 4 8 16 32
|
||||
35 37.915 63.599 11 11 1 6 1 2 4 8 16 32
|
||||
36 1.251 -26.550 15 9 1 6 1 2 4 8 16 32
|
||||
37 -37.952 1.685 15 18 1 6 1 2 4 8 16 32
|
||||
38 -40.503 8.038 8 7 1 6 1 2 4 8 16 32
|
||||
39 -8.392 -38.678 13 24 1 6 1 2 4 8 16 32
|
||||
40 -36.725 25.494 16 5 1 6 1 2 4 8 16 32
|
||||
41 -47.754 -50.073 4 2 1 6 1 2 4 8 16 32
|
||||
42 22.595 -28.357 9 5 1 6 1 2 4 8 16 32
|
||||
43 -36.365 -48.163 5 5 1 6 1 2 4 8 16 32
|
||||
44 75.452 -13.422 20 3 1 6 1 2 4 8 16 32
|
||||
45 -64.520 -13.232 10 13 1 6 1 2 4 8 16 32
|
||||
46 1.257 29.156 9 2 1 6 1 2 4 8 16 32
|
||||
47 -1.569 -35.974 18 10 1 6 1 2 4 8 16 32
|
||||
48 46.747 6.696 13 12 1 6 1 2 4 8 16 32
|
||||
49 82.080 27.057 17 24 1 6 1 2 4 8 16 32
|
||||
50 74.695 19.366 22 21 1 6 1 2 4 8 16 32
|
||||
51 47.015 9.338 5 18 1 6 1 2 4 8 16 32
|
||||
52 -62.036 -21.326 12 5 1 6 1 2 4 8 16 32
|
||||
53 9.192 20.038 4 15 1 6 1 2 4 8 16 32
|
||||
54 -3.094 21.582 5 11 1 6 1 2 4 8 16 32
|
||||
55 -75.446 13.086 22 7 1 6 1 2 4 8 16 32
|
||||
56 10.034 -63.739 7 3 1 6 1 2 4 8 16 32
|
||||
57 71.814 26.501 12 17 1 6 1 2 4 8 16 32
|
||||
58 18.842 -38.019 10 14 1 6 1 2 4 8 16 32
|
||||
59 -10.541 -31.305 18 14 1 6 1 2 4 8 16 32
|
||||
60 8.252 -91.150 17 7 1 6 1 2 4 8 16 32
|
||||
61 72.821 -38.916 3 12 1 6 1 2 4 8 16 32
|
||||
62 -30.157 38.776 1 5 1 6 1 2 4 8 16 32
|
||||
63 -56.256 -5.548 9 11 1 6 1 2 4 8 16 32
|
||||
64 -8.398 -37.604 12 17 1 6 1 2 4 8 16 32
|
||||
65 15.021 13.708 4 3 1 6 1 2 4 8 16 32
|
||||
66 -60.199 24.292 2 7 1 6 1 2 4 8 16 32
|
||||
67 -13.794 -27.106 18 13 1 6 1 2 4 8 16 32
|
||||
68 -34.796 -22.205 23 20 1 6 1 2 4 8 16 32
|
||||
69 69.641 83.057 14 13 1 6 1 2 4 8 16 32
|
||||
70 -44.440 30.090 6 4 1 6 1 2 4 8 16 32
|
||||
71 48.633 3.021 1 3 1 6 1 2 4 8 16 32
|
||||
72 -15.314 51.709 6 24 1 6 1 2 4 8 16 32
|
||||
73 36.261 26.782 6 23 1 6 1 2 4 8 16 32
|
||||
74 59.961 24.310 8 21 1 6 1 2 4 8 16 32
|
||||
75 55.304 6.628 25 23 1 6 1 2 4 8 16 32
|
||||
76 39.960 48.297 3 10 1 6 1 2 4 8 16 32
|
||||
77 -48.895 -71.100 3 21 1 6 1 2 4 8 16 32
|
||||
78 -2.338 -62.909 16 24 1 6 1 2 4 8 16 32
|
||||
79 9.491 -41.901 5 9 1 6 1 2 4 8 16 32
|
||||
80 -54.675 -18.439 6 22 1 6 1 2 4 8 16 32
|
||||
81 10.980 -7.605 6 3 1 6 1 2 4 8 16 32
|
||||
82 -69.824 -50.354 16 6 1 6 1 2 4 8 16 32
|
||||
83 -40.308 -7.452 6 11 1 6 1 2 4 8 16 32
|
||||
84 62.244 43.628 13 10 1 6 1 2 4 8 16 32
|
||||
85 29.077 63.116 4 15 1 6 1 2 4 8 16 32
|
||||
86 -12.067 -21.509 12 9 1 6 1 2 4 8 16 32
|
||||
87 14.728 28.906 15 20 1 6 1 2 4 8 16 32
|
||||
88 -63.086 -60.114 10 19 1 6 1 2 4 8 16 32
|
||||
89 33.655 -0.928 19 19 1 6 1 2 4 8 16 32
|
||||
90 -12.225 14.148 19 19 1 6 1 2 4 8 16 32
|
||||
91 -89.966 51.514 1 20 1 6 1 2 4 8 16 32
|
||||
92 -0.763 41.339 22 1 1 6 1 2 4 8 16 32
|
||||
93 80.695 32.983 20 15 1 6 1 2 4 8 16 32
|
||||
94 -53.394 -14.240 5 18 1 6 1 2 4 8 16 32
|
||||
95 -53.284 -64.136 12 2 1 6 1 2 4 8 16 32
|
||||
96 73.260 10.669 4 25 1 6 1 2 4 8 16 32
|
||||
97 59.613 13.452 12 20 1 6 1 2 4 8 16 32
|
||||
98 -37.012 6.476 8 18 1 6 1 2 4 8 16 32
|
||||
99 -53.656 21.692 10 8 1 6 1 2 4 8 16 32
|
||||
100 -36.890 18.372 2 3 1 6 1 2 4 8 16 32
|
||||
101 -4.608 -13.806 25 2 1 6 1 2 4 8 16 32
|
||||
102 53.802 36.993 14 15 1 6 1 2 4 8 16 32
|
||||
103 48.468 -66.040 20 21 1 6 1 2 4 8 16 32
|
||||
104 -46.393 -20.929 11 6 1 6 1 2 4 8 16 32
|
||||
105 -15.045 -40.845 4 24 1 6 1 2 4 8 16 32
|
||||
106 -73.621 -9.552 6 19 1 6 1 2 4 8 16 32
|
||||
107 92.847 45.587 8 23 1 6 1 2 4 8 16 32
|
||||
108 33.557 28.064 5 16 1 6 1 2 4 8 16 32
|
||||
109 47.321 24.414 3 16 1 6 1 2 4 8 16 32
|
||||
110 -6.610 -30.157 4 9 1 6 1 2 4 8 16 32
|
||||
111 12.103 23.840 24 1 1 6 1 2 4 8 16 32
|
||||
112 -61.963 26.239 4 10 1 6 1 2 4 8 16 32
|
||||
113 23.877 9.808 11 14 1 6 1 2 4 8 16 32
|
||||
114 49.780 6.866 23 11 1 6 1 2 4 8 16 32
|
||||
115 -53.021 -21.484 1 4 1 6 1 2 4 8 16 32
|
||||
116 54.962 2.985 15 23 1 6 1 2 4 8 16 32
|
||||
117 4.865 -69.586 12 23 1 6 1 2 4 8 16 32
|
||||
118 33.948 45.209 10 22 1 6 1 2 4 8 16 32
|
||||
119 -32.166 -23.621 24 11 1 6 1 2 4 8 16 32
|
||||
120 -17.548 -46.765 5 14 1 6 1 2 4 8 16 32
|
||||
121 31.744 33.972 23 12 1 6 1 2 4 8 16 32
|
||||
122 45.374 22.131 15 13 1 6 1 2 4 8 16 32
|
||||
123 -5.219 -23.114 6 11 1 6 1 2 4 8 16 32
|
||||
124 -51.056 -46.545 20 9 1 6 1 2 4 8 16 32
|
||||
125 11.774 11.133 13 6 1 6 1 2 4 8 16 32
|
||||
126 -39.758 -13.019 3 25 1 6 1 2 4 8 16 32
|
||||
127 27.930 29.321 3 21 1 6 1 2 4 8 16 32
|
||||
128 33.740 66.595 25 13 1 6 1 2 4 8 16 32
|
||||
129 -91.815 29.858 15 23 1 6 1 2 4 8 16 32
|
||||
130 -24.628 -68.701 6 8 1 6 1 2 4 8 16 32
|
||||
131 44.659 20.465 4 7 1 6 1 2 4 8 16 32
|
||||
132 45.447 -21.069 14 8 1 6 1 2 4 8 16 32
|
||||
133 -37.366 -12.097 15 9 1 6 1 2 4 8 16 32
|
||||
134 41.998 0.153 17 2 1 6 1 2 4 8 16 32
|
||||
135 -42.822 -30.170 12 24 1 6 1 2 4 8 16 32
|
||||
136 34.906 -4.578 2 7 1 6 1 2 4 8 16 32
|
||||
137 -65.137 -43.079 11 23 1 6 1 2 4 8 16 32
|
||||
138 20.270 -4.999 5 21 1 6 1 2 4 8 16 32
|
||||
139 -36.731 -8.929 20 12 1 6 1 2 4 8 16 32
|
||||
140 -26.984 -19.568 16 23 1 6 1 2 4 8 16 32
|
||||
141 -31.299 -83.813 13 18 1 6 1 2 4 8 16 32
|
||||
142 -26.794 12.506 9 5 1 6 1 2 4 8 16 32
|
||||
143 -39.362 -58.521 23 15 1 6 1 2 4 8 16 32
|
||||
144 -34.369 0.610 11 11 1 6 1 2 4 8 16 32
|
||||
145 43.372 4.187 14 8 1 6 1 2 4 8 16 32
|
||||
146 -38.226 -9.448 3 2 1 6 1 2 4 8 16 32
|
||||
147 -25.610 -99.237 9 6 1 6 1 2 4 8 16 32
|
||||
148 48.059 29.517 21 23 1 6 1 2 4 8 16 32
|
||||
149 -43.628 -32.318 24 9 1 6 1 2 4 8 16 32
|
||||
150 -16.602 -29.327 4 1 1 6 1 2 4 8 16 32
|
||||
151 -29.810 -12.408 18 12 1 6 1 2 4 8 16 32
|
||||
152 -51.910 -28.711 10 17 1 6 1 2 4 8 16 32
|
||||
153 -1.801 -18.671 3 2 1 6 1 2 4 8 16 32
|
||||
154 18.738 21.399 4 5 1 6 1 2 4 8 16 32
|
||||
155 60.120 7.788 25 1 1 6 1 2 4 8 16 32
|
||||
156 43.079 42.017 3 20 1 6 1 2 4 8 16 32
|
||||
157 -39.435 -5.902 22 19 1 6 1 2 4 8 16 32
|
||||
158 -35.889 -16.034 19 13 1 6 1 2 4 8 16 32
|
||||
159 -41.827 38.995 20 10 1 6 1 2 4 8 16 32
|
||||
160 84.497 29.822 7 9 1 6 1 2 4 8 16 32
|
||||
161 -17.560 -10.480 19 14 1 6 1 2 4 8 16 32
|
||||
162 -48.383 -48.920 19 4 1 6 1 2 4 8 16 32
|
||||
163 -49.335 -17.969 22 20 1 6 1 2 4 8 16 32
|
||||
164 16.095 -2.490 4 17 1 6 1 2 4 8 16 32
|
||||
165 65.527 14.026 25 19 1 6 1 2 4 8 16 32
|
||||
166 -2.930 13.220 23 19 1 6 1 2 4 8 16 32
|
||||
167 -18.768 -23.663 24 16 1 6 1 2 4 8 16 32
|
||||
168 -91.095 -80.737 25 4 1 6 1 2 4 8 16 32
|
||||
169 -21.088 -13.293 4 1 1 6 1 2 4 8 16 32
|
||||
170 46.985 17.224 3 21 1 6 1 2 4 8 16 32
|
||||
171 -61.957 -33.038 7 9 1 6 1 2 4 8 16 32
|
||||
172 -9.003 -25.452 10 2 1 6 1 2 4 8 16 32
|
||||
173 33.661 -7.666 10 24 1 6 1 2 4 8 16 32
|
||||
174 -25.592 -10.840 23 1 1 6 1 2 4 8 16 32
|
||||
175 36.560 -2.441 18 21 1 6 1 2 4 8 16 32
|
||||
176 7.141 24.817 8 13 1 6 1 2 4 8 16 32
|
||||
177 -43.170 -30.487 16 15 1 6 1 2 4 8 16 32
|
||||
178 -21.228 0.751 4 4 1 6 1 2 4 8 16 32
|
||||
179 19.696 10.767 14 10 1 6 1 2 4 8 16 32
|
||||
180 -6.494 -29.425 23 19 1 6 1 2 4 8 16 32
|
||||
181 54.388 8.630 17 1 1 6 1 2 4 8 16 32
|
||||
182 64.203 77.612 7 25 1 6 1 2 4 8 16 32
|
||||
183 40.381 1.611 8 3 1 6 1 2 4 8 16 32
|
||||
184 -41.711 -5.133 14 21 1 6 1 2 4 8 16 32
|
||||
185 74.274 -19.922 22 7 1 6 1 2 4 8 16 32
|
||||
186 -73.999 -54.626 7 18 1 6 1 2 4 8 16 32
|
||||
187 29.706 15.454 16 3 1 6 1 2 4 8 16 32
|
||||
188 23.785 12.177 24 1 1 6 1 2 4 8 16 32
|
||||
189 42.578 45.325 15 2 1 6 1 2 4 8 16 32
|
||||
190 -16.730 -16.559 15 8 1 6 1 2 4 8 16 32
|
||||
191 -14.697 -0.116 5 10 1 6 1 2 4 8 16 32
|
||||
192 -19.769 8.392 9 19 1 6 1 2 4 8 16 32
|
||||
193 -30.267 14.893 24 17 1 6 1 2 4 8 16 32
|
||||
194 -63.116 -67.462 6 19 1 6 1 2 4 8 16 32
|
||||
195 86.029 38.916 3 24 1 6 1 2 4 8 16 32
|
||||
196 79.480 -24.866 24 24 1 6 1 2 4 8 16 32
|
||||
197 35.144 14.734 22 6 1 6 1 2 4 8 16 32
|
||||
198 -49.365 -9.052 2 2 1 6 1 2 4 8 16 32
|
||||
199 -49.475 -17.578 21 7 1 6 1 2 4 8 16 32
|
||||
200 57.501 16.327 17 10 1 6 1 2 4 8 16 32
|
||||
201 54.889 12.024 13 13 1 6 1 2 4 8 16 32
|
||||
202 -53.027 -33.179 21 20 1 6 1 2 4 8 16 32
|
||||
203 -0.415 16.644 3 1 1 6 1 2 4 8 16 32
|
||||
204 21.594 16.144 9 17 1 6 1 2 4 8 16 32
|
||||
205 -46.924 -49.261 14 17 1 6 1 2 4 8 16 32
|
||||
206 18.457 19.733 9 16 1 6 1 2 4 8 16 32
|
||||
207 35.822 19.763 3 9 1 6 1 2 4 8 16 32
|
||||
208 71.869 29.034 22 25 1 6 1 2 4 8 16 32
|
||||
209 -56.378 -42.755 13 1 1 6 1 2 4 8 16 32
|
||||
210 -25.800 25.159 10 23 1 6 1 2 4 8 16 32
|
||||
211 -5.676 33.850 7 10 1 6 1 2 4 8 16 32
|
||||
212 54.041 -5.292 3 15 1 6 1 2 4 8 16 32
|
||||
213 -63.074 27.380 11 25 1 6 1 2 4 8 16 32
|
||||
214 -16.864 -49.768 17 25 1 6 1 2 4 8 16 32
|
||||
215 47.919 13.629 15 16 1 6 1 2 4 8 16 32
|
||||
216 -10.724 -2.075 4 1 1 6 1 2 4 8 16 32
|
||||
217 -15.067 -23.950 0 0 0 0
|
||||
218 38.791 22.443 0 0 0 0
|
||||
219 -41.833 -35.361 0 0 0 0
|
||||
220 -29.523 -4.843 0 0 0 0
|
||||
221 49.725 11.990 0 0 0 0
|
||||
222 21.133 14.142 0 0 0 0
|
||||
220 -175 140 0 5189 0.792084 3.36241 2.89992
|
||||
221 -21 -168 0 3481 0.741042 3.75875 4.51066
|
||||
222 89 -162 0 2071 0.930928 2.54333 4.49746
|
||||
223 -57 -194 0 4855 0.703762 4.93918 3.91706
|
||||
224 -158 32 0 3110 0.689875 4.76749 2.74005
|
||||
225 -129 86 0 3419 0.614854 4.79356 3.97272
|
||||
308
branches/contribution/branches/bilevel/instances/mbipr10
Normal file
308
branches/contribution/branches/bilevel/instances/mbipr10
Normal file
|
|
@ -0,0 +1,308 @@
|
|||
10 4 288 6 6
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
425 170
|
||||
|
||||
1 12.805 1.886 15 10 1 6 1 2 4 8 16 32
|
||||
2 18.213 1.373 7 21 1 6 1 2 4 8 16 32
|
||||
3 57.947 -48.779 10 8 1 6 1 2 4 8 16 32
|
||||
4 -52.429 -84.088 20 23 1 6 1 2 4 8 16 32
|
||||
5 60.797 -32.593 11 10 1 6 1 2 4 8 16 32
|
||||
6 23.151 4.205 7 9 1 6 1 2 4 8 16 32
|
||||
7 25.385 22.986 14 21 1 6 1 2 4 8 16 32
|
||||
8 25.513 -52.985 15 16 1 6 1 2 4 8 16 32
|
||||
9 -49.261 -41.718 8 21 1 6 1 2 4 8 16 32
|
||||
10 -37.561 -41.730 5 3 1 6 1 2 4 8 16 32
|
||||
11 -14.520 48.962 17 24 1 6 1 2 4 8 16 32
|
||||
12 41.229 -24.500 1 2 1 6 1 2 4 8 16 32
|
||||
13 -21.863 0.916 3 4 1 6 1 2 4 8 16 32
|
||||
14 -48.181 -16.284 8 18 1 6 1 2 4 8 16 32
|
||||
15 -7.776 44.348 14 5 1 6 1 2 4 8 16 32
|
||||
16 20.801 10.760 3 13 1 6 1 2 4 8 16 32
|
||||
17 -29.712 -46.326 6 13 1 6 1 2 4 8 16 32
|
||||
18 -20.203 -59.564 23 14 1 6 1 2 4 8 16 32
|
||||
19 -87.079 -52.899 14 10 1 6 1 2 4 8 16 32
|
||||
20 3.046 -6.305 1 3 1 6 1 2 4 8 16 32
|
||||
21 11.865 5.261 2 1 1 6 1 2 4 8 16 32
|
||||
22 -24.072 -55.927 17 11 1 6 1 2 4 8 16 32
|
||||
23 -22.803 5.658 15 16 1 6 1 2 4 8 16 32
|
||||
24 -51.904 9.412 18 6 1 6 1 2 4 8 16 32
|
||||
25 12.732 -40.967 15 18 1 6 1 2 4 8 16 32
|
||||
26 -30.988 7.654 7 11 1 6 1 2 4 8 16 32
|
||||
27 37.512 0.458 4 15 1 6 1 2 4 8 16 32
|
||||
28 2.954 -8.563 24 17 1 6 1 2 4 8 16 32
|
||||
29 0.549 3.644 18 17 1 6 1 2 4 8 16 32
|
||||
30 -52.484 9.711 2 1 1 6 1 2 4 8 16 32
|
||||
31 33.936 -48.718 4 1 1 6 1 2 4 8 16 32
|
||||
32 -13.129 -53.601 11 18 1 6 1 2 4 8 16 32
|
||||
33 -99.591 23.303 25 3 1 6 1 2 4 8 16 32
|
||||
34 6.439 -3.516 15 21 1 6 1 2 4 8 16 32
|
||||
35 -14.032 -19.818 18 22 1 6 1 2 4 8 16 32
|
||||
36 -24.677 16.608 9 14 1 6 1 2 4 8 16 32
|
||||
37 -10.260 -81.769 23 4 1 6 1 2 4 8 16 32
|
||||
38 35.858 5.597 22 17 1 6 1 2 4 8 16 32
|
||||
39 -11.603 42.908 9 16 1 6 1 2 4 8 16 32
|
||||
40 -34.662 -15.466 20 8 1 6 1 2 4 8 16 32
|
||||
41 66.852 1.135 13 14 1 6 1 2 4 8 16 32
|
||||
42 6.866 -1.416 3 23 1 6 1 2 4 8 16 32
|
||||
43 1.660 -2.234 6 1 1 6 1 2 4 8 16 32
|
||||
44 37.561 11.450 18 21 1 6 1 2 4 8 16 32
|
||||
45 51.672 -26.343 9 10 1 6 1 2 4 8 16 32
|
||||
46 19.025 -10.889 24 19 1 6 1 2 4 8 16 32
|
||||
47 -37.982 -6.360 19 6 1 6 1 2 4 8 16 32
|
||||
48 -56.537 -42.334 11 4 1 6 1 2 4 8 16 32
|
||||
49 1.099 -14.624 14 18 1 6 1 2 4 8 16 32
|
||||
50 -56.238 -3.076 15 23 1 6 1 2 4 8 16 32
|
||||
51 -23.669 -15.289 5 25 1 6 1 2 4 8 16 32
|
||||
52 -34.277 -1.410 18 17 1 6 1 2 4 8 16 32
|
||||
53 -64.178 63.812 22 11 1 6 1 2 4 8 16 32
|
||||
54 -47.083 -20.386 13 20 1 6 1 2 4 8 16 32
|
||||
55 -33.710 8.380 11 9 1 6 1 2 4 8 16 32
|
||||
56 34.290 26.031 11 23 1 6 1 2 4 8 16 32
|
||||
57 -38.861 42.114 1 14 1 6 1 2 4 8 16 32
|
||||
58 -92.731 44.885 25 7 1 6 1 2 4 8 16 32
|
||||
59 23.633 27.643 19 15 1 6 1 2 4 8 16 32
|
||||
60 -67.139 -67.078 13 22 1 6 1 2 4 8 16 32
|
||||
61 25.726 -25.836 7 4 1 6 1 2 4 8 16 32
|
||||
62 -40.985 -16.895 2 14 1 6 1 2 4 8 16 32
|
||||
63 77.008 -6.097 16 24 1 6 1 2 4 8 16 32
|
||||
64 -54.810 -1.935 2 13 1 6 1 2 4 8 16 32
|
||||
65 -53.943 -29.663 1 9 1 6 1 2 4 8 16 32
|
||||
66 16.089 -27.887 19 3 1 6 1 2 4 8 16 32
|
||||
67 -59.436 36.487 24 23 1 6 1 2 4 8 16 32
|
||||
68 34.473 25.391 19 2 1 6 1 2 4 8 16 32
|
||||
69 -9.283 -6.689 24 23 1 6 1 2 4 8 16 32
|
||||
70 -85.559 -20.477 10 8 1 6 1 2 4 8 16 32
|
||||
71 29.523 18.347 19 23 1 6 1 2 4 8 16 32
|
||||
72 27.814 6.512 1 13 1 6 1 2 4 8 16 32
|
||||
73 42.151 -25.580 19 25 1 6 1 2 4 8 16 32
|
||||
74 82.202 85.828 25 25 1 6 1 2 4 8 16 32
|
||||
75 -47.766 -35.590 24 20 1 6 1 2 4 8 16 32
|
||||
76 22.015 -20.349 11 9 1 6 1 2 4 8 16 32
|
||||
77 -55.756 -33.490 7 15 1 6 1 2 4 8 16 32
|
||||
78 62.006 -1.453 25 4 1 6 1 2 4 8 16 32
|
||||
79 25.549 -3.796 3 1 1 6 1 2 4 8 16 32
|
||||
80 -43.372 -7.379 3 7 1 6 1 2 4 8 16 32
|
||||
81 60.297 52.637 18 12 1 6 1 2 4 8 16 32
|
||||
82 -96.155 34.100 18 5 1 6 1 2 4 8 16 32
|
||||
83 -32.806 -3.845 9 8 1 6 1 2 4 8 16 32
|
||||
84 -47.827 -45.203 21 1 1 6 1 2 4 8 16 32
|
||||
85 -31.128 -93.848 21 24 1 6 1 2 4 8 16 32
|
||||
86 -17.010 -21.857 21 23 1 6 1 2 4 8 16 32
|
||||
87 -8.386 -2.264 11 12 1 6 1 2 4 8 16 32
|
||||
88 35.834 13.147 2 2 1 6 1 2 4 8 16 32
|
||||
89 29.315 54.468 4 22 1 6 1 2 4 8 16 32
|
||||
90 48.352 -8.783 3 3 1 6 1 2 4 8 16 32
|
||||
91 -2.930 27.039 8 12 1 6 1 2 4 8 16 32
|
||||
92 -16.620 -55.389 20 16 1 6 1 2 4 8 16 32
|
||||
93 -40.851 -47.742 23 8 1 6 1 2 4 8 16 32
|
||||
94 -12.878 -2.039 15 25 1 6 1 2 4 8 16 32
|
||||
95 -51.776 7.281 3 6 1 6 1 2 4 8 16 32
|
||||
96 -32.922 23.828 14 24 1 6 1 2 4 8 16 32
|
||||
97 13.983 -34.521 8 16 1 6 1 2 4 8 16 32
|
||||
98 -35.834 -23.834 4 7 1 6 1 2 4 8 16 32
|
||||
99 91.858 5.542 19 9 1 6 1 2 4 8 16 32
|
||||
100 -28.442 -34.180 6 23 1 6 1 2 4 8 16 32
|
||||
101 33.844 27.875 1 24 1 6 1 2 4 8 16 32
|
||||
102 98.431 31.348 2 19 1 6 1 2 4 8 16 32
|
||||
103 -57.751 -27.753 3 9 1 6 1 2 4 8 16 32
|
||||
104 -43.890 13.007 24 10 1 6 1 2 4 8 16 32
|
||||
105 37.585 49.768 6 23 1 6 1 2 4 8 16 32
|
||||
106 -3.687 7.373 14 2 1 6 1 2 4 8 16 32
|
||||
107 -98.242 61.658 22 5 1 6 1 2 4 8 16 32
|
||||
108 -23.560 -32.520 14 25 1 6 1 2 4 8 16 32
|
||||
109 22.980 -18.109 7 17 1 6 1 2 4 8 16 32
|
||||
110 43.915 -2.985 13 23 1 6 1 2 4 8 16 32
|
||||
111 71.509 11.652 19 23 1 6 1 2 4 8 16 32
|
||||
112 -43.011 -38.702 6 13 1 6 1 2 4 8 16 32
|
||||
113 -83.954 2.179 4 2 1 6 1 2 4 8 16 32
|
||||
114 11.090 -40.942 17 24 1 6 1 2 4 8 16 32
|
||||
115 27.173 -13.330 17 22 1 6 1 2 4 8 16 32
|
||||
116 -86.102 -59.808 13 20 1 6 1 2 4 8 16 32
|
||||
117 -22.345 -78.278 21 15 1 6 1 2 4 8 16 32
|
||||
118 -38.727 -33.588 8 12 1 6 1 2 4 8 16 32
|
||||
119 -1.227 -28.668 7 17 1 6 1 2 4 8 16 32
|
||||
120 81.329 -44.244 15 21 1 6 1 2 4 8 16 32
|
||||
121 51.904 19.891 5 10 1 6 1 2 4 8 16 32
|
||||
122 -34.973 -27.856 6 4 1 6 1 2 4 8 16 32
|
||||
123 -51.483 -23.248 17 21 1 6 1 2 4 8 16 32
|
||||
124 -0.647 -46.057 4 3 1 6 1 2 4 8 16 32
|
||||
125 68.219 -66.986 25 17 1 6 1 2 4 8 16 32
|
||||
126 -15.149 -25.482 11 19 1 6 1 2 4 8 16 32
|
||||
127 22.412 -34.375 17 10 1 6 1 2 4 8 16 32
|
||||
128 36.176 -10.431 17 21 1 6 1 2 4 8 16 32
|
||||
129 -23.639 -47.681 2 21 1 6 1 2 4 8 16 32
|
||||
130 -14.722 32.684 7 6 1 6 1 2 4 8 16 32
|
||||
131 16.821 -12.720 16 8 1 6 1 2 4 8 16 32
|
||||
132 93.378 23.004 2 8 1 6 1 2 4 8 16 32
|
||||
133 40.344 -24.176 12 13 1 6 1 2 4 8 16 32
|
||||
134 5.530 -4.901 7 7 1 6 1 2 4 8 16 32
|
||||
135 -78.015 1.270 19 11 1 6 1 2 4 8 16 32
|
||||
136 51.569 -45.673 16 18 1 6 1 2 4 8 16 32
|
||||
137 49.249 -30.896 17 10 1 6 1 2 4 8 16 32
|
||||
138 -62.195 -21.399 8 25 1 6 1 2 4 8 16 32
|
||||
139 -5.048 7.306 24 7 1 6 1 2 4 8 16 32
|
||||
140 1.727 -70.221 10 17 1 6 1 2 4 8 16 32
|
||||
141 1.361 -3.564 20 20 1 6 1 2 4 8 16 32
|
||||
142 -15.521 16.425 8 18 1 6 1 2 4 8 16 32
|
||||
143 -31.604 -60.938 6 21 1 6 1 2 4 8 16 32
|
||||
144 -46.997 -55.560 5 14 1 6 1 2 4 8 16 32
|
||||
145 2.301 5.536 23 2 1 6 1 2 4 8 16 32
|
||||
146 -30.328 -0.580 14 18 1 6 1 2 4 8 16 32
|
||||
147 -16.821 17.664 23 10 1 6 1 2 4 8 16 32
|
||||
148 52.655 29.034 13 5 1 6 1 2 4 8 16 32
|
||||
149 -11.993 -83.771 12 15 1 6 1 2 4 8 16 32
|
||||
150 41.632 43.048 13 17 1 6 1 2 4 8 16 32
|
||||
151 8.508 -2.539 20 12 1 6 1 2 4 8 16 32
|
||||
152 31.512 -8.978 14 14 1 6 1 2 4 8 16 32
|
||||
153 -3.339 -36.243 6 3 1 6 1 2 4 8 16 32
|
||||
154 -26.379 13.776 4 7 1 6 1 2 4 8 16 32
|
||||
155 28.430 10.571 13 21 1 6 1 2 4 8 16 32
|
||||
156 5.975 27.289 1 7 1 6 1 2 4 8 16 32
|
||||
157 -32.135 -45.068 9 5 1 6 1 2 4 8 16 32
|
||||
158 31.097 -7.916 5 24 1 6 1 2 4 8 16 32
|
||||
159 28.198 -29.755 7 13 1 6 1 2 4 8 16 32
|
||||
160 -39.612 -33.594 4 18 1 6 1 2 4 8 16 32
|
||||
161 -19.220 -5.133 12 19 1 6 1 2 4 8 16 32
|
||||
162 -10.114 69.977 20 22 1 6 1 2 4 8 16 32
|
||||
163 22.894 -44.348 20 13 1 6 1 2 4 8 16 32
|
||||
164 -34.741 0.580 14 10 1 6 1 2 4 8 16 32
|
||||
165 -44.952 -77.734 11 4 1 6 1 2 4 8 16 32
|
||||
166 -23.749 -56.012 1 17 1 6 1 2 4 8 16 32
|
||||
167 69.073 -97.125 5 2 1 6 1 2 4 8 16 32
|
||||
168 12.170 -59.869 1 18 1 6 1 2 4 8 16 32
|
||||
169 47.339 17.365 14 2 1 6 1 2 4 8 16 32
|
||||
170 -4.706 14.056 19 18 1 6 1 2 4 8 16 32
|
||||
171 -52.374 -50.244 16 13 1 6 1 2 4 8 16 32
|
||||
172 39.215 -29.773 21 24 1 6 1 2 4 8 16 32
|
||||
173 -42.316 -60.602 9 25 1 6 1 2 4 8 16 32
|
||||
174 19.135 41.150 1 2 1 6 1 2 4 8 16 32
|
||||
175 -54.706 -17.596 18 2 1 6 1 2 4 8 16 32
|
||||
176 11.737 -83.173 7 7 1 6 1 2 4 8 16 32
|
||||
177 -40.582 -53.247 15 23 1 6 1 2 4 8 16 32
|
||||
178 -6.421 21.967 21 21 1 6 1 2 4 8 16 32
|
||||
179 -31.268 -34.613 4 18 1 6 1 2 4 8 16 32
|
||||
180 -3.668 -26.868 21 21 1 6 1 2 4 8 16 32
|
||||
181 13.409 -22.302 10 23 1 6 1 2 4 8 16 32
|
||||
182 -95.892 -86.322 16 16 1 6 1 2 4 8 16 32
|
||||
183 88.983 -53.387 21 22 1 6 1 2 4 8 16 32
|
||||
184 -55.048 -32.538 7 11 1 6 1 2 4 8 16 32
|
||||
185 27.850 -10.028 8 22 1 6 1 2 4 8 16 32
|
||||
186 40.918 -36.090 6 10 1 6 1 2 4 8 16 32
|
||||
187 -58.350 15.814 23 15 1 6 1 2 4 8 16 32
|
||||
188 -52.161 -74.725 18 23 1 6 1 2 4 8 16 32
|
||||
189 -66.772 -34.943 6 7 1 6 1 2 4 8 16 32
|
||||
190 -33.374 -62.024 6 1 1 6 1 2 4 8 16 32
|
||||
191 -8.649 31.708 14 21 1 6 1 2 4 8 16 32
|
||||
192 -26.166 -56.152 14 11 1 6 1 2 4 8 16 32
|
||||
193 -39.874 -53.375 22 2 1 6 1 2 4 8 16 32
|
||||
194 71.643 -36.981 22 24 1 6 1 2 4 8 16 32
|
||||
195 -96.924 8.411 25 25 1 6 1 2 4 8 16 32
|
||||
196 -2.911 36.200 13 17 1 6 1 2 4 8 16 32
|
||||
197 -53.253 14.099 21 10 1 6 1 2 4 8 16 32
|
||||
198 67.316 -39.734 14 18 1 6 1 2 4 8 16 32
|
||||
199 -6.525 11.975 18 2 1 6 1 2 4 8 16 32
|
||||
200 16.425 33.221 18 12 1 6 1 2 4 8 16 32
|
||||
201 -19.061 -56.921 11 4 1 6 1 2 4 8 16 32
|
||||
202 25.189 -21.045 10 1 1 6 1 2 4 8 16 32
|
||||
203 37.854 -5.524 15 1 1 6 1 2 4 8 16 32
|
||||
204 -16.479 48.657 3 6 1 6 1 2 4 8 16 32
|
||||
205 2.344 -16.516 2 22 1 6 1 2 4 8 16 32
|
||||
206 -48.621 -12.390 12 25 1 6 1 2 4 8 16 32
|
||||
207 -42.621 -50.006 18 21 1 6 1 2 4 8 16 32
|
||||
208 16.016 11.169 1 18 1 6 1 2 4 8 16 32
|
||||
209 -80.408 -60.583 3 14 1 6 1 2 4 8 16 32
|
||||
210 -95.068 44.293 4 21 1 6 1 2 4 8 16 32
|
||||
211 -6.885 24.884 12 4 1 6 1 2 4 8 16 32
|
||||
212 -4.803 21.674 15 1 1 6 1 2 4 8 16 32
|
||||
213 7.037 -45.337 22 18 1 6 1 2 4 8 16 32
|
||||
214 31.293 -39.905 20 4 1 6 1 2 4 8 16 32
|
||||
215 14.984 26.172 16 4 1 6 1 2 4 8 16 32
|
||||
216 33.203 -52.289 11 5 1 6 1 2 4 8 16 32
|
||||
217 -59.277 39.667 20 15 1 6 1 2 4 8 16 32
|
||||
218 30.054 -36.823 13 5 1 6 1 2 4 8 16 32
|
||||
219 9.351 -39.044 9 22 1 6 1 2 4 8 16 32
|
||||
220 -10.651 54.431 16 21 1 6 1 2 4 8 16 32
|
||||
221 20.856 -26.465 7 17 1 6 1 2 4 8 16 32
|
||||
222 19.617 17.865 21 8 1 6 1 2 4 8 16 32
|
||||
223 -36.981 -92.950 18 4 1 6 1 2 4 8 16 32
|
||||
224 -3.760 59.875 4 4 1 6 1 2 4 8 16 32
|
||||
225 11.682 -63.336 15 16 1 6 1 2 4 8 16 32
|
||||
226 4.468 -36.133 5 5 1 6 1 2 4 8 16 32
|
||||
227 47.040 -41.254 24 15 1 6 1 2 4 8 16 32
|
||||
228 29.938 -58.710 21 25 1 6 1 2 4 8 16 32
|
||||
229 -70.569 -7.037 7 15 1 6 1 2 4 8 16 32
|
||||
230 56.262 1.819 24 7 1 6 1 2 4 8 16 32
|
||||
231 46.210 -53.522 22 19 1 6 1 2 4 8 16 32
|
||||
232 6.366 -14.264 1 11 1 6 1 2 4 8 16 32
|
||||
233 -34.540 -39.502 6 13 1 6 1 2 4 8 16 32
|
||||
234 -50.537 28.357 4 24 1 6 1 2 4 8 16 32
|
||||
235 -61.444 -10.901 14 4 1 6 1 2 4 8 16 32
|
||||
236 -30.823 17.902 18 13 1 6 1 2 4 8 16 32
|
||||
237 49.658 24.469 16 6 1 6 1 2 4 8 16 32
|
||||
238 -69.775 -41.406 1 4 1 6 1 2 4 8 16 32
|
||||
239 -18.939 57.690 24 12 1 6 1 2 4 8 16 32
|
||||
240 -22.449 15.771 19 4 1 6 1 2 4 8 16 32
|
||||
241 -7.599 37.030 19 4 1 6 1 2 4 8 16 32
|
||||
242 27.435 17.554 11 25 1 6 1 2 4 8 16 32
|
||||
243 45.526 -5.127 9 25 1 6 1 2 4 8 16 32
|
||||
244 -33.551 -25.586 3 14 1 6 1 2 4 8 16 32
|
||||
245 -4.645 53.754 1 25 1 6 1 2 4 8 16 32
|
||||
246 -41.119 -13.361 10 13 1 6 1 2 4 8 16 32
|
||||
247 23.010 -45.703 19 13 1 6 1 2 4 8 16 32
|
||||
248 17.230 5.096 14 11 1 6 1 2 4 8 16 32
|
||||
249 -6.818 -19.873 14 24 1 6 1 2 4 8 16 32
|
||||
250 52.966 51.410 24 5 1 6 1 2 4 8 16 32
|
||||
251 -28.662 -50.940 16 12 1 6 1 2 4 8 16 32
|
||||
252 69.684 -51.520 6 4 1 6 1 2 4 8 16 32
|
||||
253 36.884 -17.371 9 5 1 6 1 2 4 8 16 32
|
||||
254 -19.659 42.035 20 24 1 6 1 2 4 8 16 32
|
||||
255 72.125 65.405 21 17 1 6 1 2 4 8 16 32
|
||||
256 -71.368 59.863 8 4 1 6 1 2 4 8 16 32
|
||||
257 18.317 -37.750 11 1 1 6 1 2 4 8 16 32
|
||||
258 18.121 0.482 13 19 1 6 1 2 4 8 16 32
|
||||
259 -1.105 -30.676 24 7 1 6 1 2 4 8 16 32
|
||||
260 -44.574 -44.055 15 24 1 6 1 2 4 8 16 32
|
||||
261 -28.058 -59.436 6 10 1 6 1 2 4 8 16 32
|
||||
262 -7.953 4.639 24 13 1 6 1 2 4 8 16 32
|
||||
263 -37.366 -28.528 3 24 1 6 1 2 4 8 16 32
|
||||
264 4.388 -38.489 16 3 1 6 1 2 4 8 16 32
|
||||
265 -44.592 -35.333 24 14 1 6 1 2 4 8 16 32
|
||||
266 -56.714 -39.252 19 2 1 6 1 2 4 8 16 32
|
||||
267 13.452 -32.159 5 24 1 6 1 2 4 8 16 32
|
||||
268 -20.343 -11.182 11 11 1 6 1 2 4 8 16 32
|
||||
269 3.436 -52.734 19 5 1 6 1 2 4 8 16 32
|
||||
270 40.576 -54.492 22 14 1 6 1 2 4 8 16 32
|
||||
271 31.952 -25.421 23 21 1 6 1 2 4 8 16 32
|
||||
272 -57.434 38.525 12 14 1 6 1 2 4 8 16 32
|
||||
273 47.510 -42.035 23 15 1 6 1 2 4 8 16 32
|
||||
274 -28.143 -41.614 25 3 1 6 1 2 4 8 16 32
|
||||
275 -2.258 -5.078 3 15 1 6 1 2 4 8 16 32
|
||||
276 -27.167 -27.936 25 15 1 6 1 2 4 8 16 32
|
||||
277 -24.048 -47.192 1 21 1 6 1 2 4 8 16 32
|
||||
278 -77.521 -55.084 16 17 1 6 1 2 4 8 16 32
|
||||
279 -62.036 -43.439 21 18 1 6 1 2 4 8 16 32
|
||||
280 -71.936 -20.160 11 15 1 6 1 2 4 8 16 32
|
||||
281 -66.504 -39.789 6 19 1 6 1 2 4 8 16 32
|
||||
282 14.587 48.444 14 9 1 6 1 2 4 8 16 32
|
||||
283 31.366 -29.462 23 10 1 6 1 2 4 8 16 32
|
||||
284 6.512 -46.124 9 13 1 6 1 2 4 8 16 32
|
||||
285 9.650 39.508 8 25 1 6 1 2 4 8 16 32
|
||||
286 16.040 16.681 19 1 1 6 1 2 4 8 16 32
|
||||
287 7.745 -75.378 17 11 1 6 1 2 4 8 16 32
|
||||
288 -27.173 -4.462 15 25 1 6 1 2 4 8 16 32
|
||||
289 -40.198 -12.781 0 0 0 0
|
||||
290 -40.488 -35.864 0 0 0 0
|
||||
291 -1.193 2.515 0 0 0 0
|
||||
292 18.329 -35.468 0 0 0 0
|
||||
293 23.746 -0.522 0 0 0 0
|
||||
294 -46.396 -39.923 0 0 0 0
|
||||
293 -159 1 0 2893 0.587196 2.48047 3.76036
|
||||
294 -142 25 0 1874 0.631903 3.84996 2.10373
|
||||
295 -200 -155 0 6048 0.962749 3.41262 3.58862
|
||||
296 -195 -187 0 1902 0.639793 4.02031 3.81557
|
||||
297 -14 199 0 2572 0.899688 4.00734 2.27952
|
||||
298 -159 198 0 2618 0.775585 2.35511 2.85863
|
||||
2
branches/contribution/branches/bilevel/run.sh
Executable file
2
branches/contribution/branches/bilevel/run.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
build/application/MDVRP instances/p01
|
||||
132
branches/contribution/branches/bilevel/src/BEO.h
Normal file
132
branches/contribution/branches/bilevel/src/BEO.h
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//BEO is a class to represent a bilevel problem solution from
|
||||
//the solution representation of each level
|
||||
#ifndef BEO_H_
|
||||
#define BEO_H_
|
||||
#include <EO.h>
|
||||
#include <core/MOEO.h>
|
||||
#include <beoObjectiveVector.h>
|
||||
template <
|
||||
class BEOU,
|
||||
class BEOL,
|
||||
class OBJECTIVE=beoObjectiveVector<typename BEOU::ObjectiveVector, typename BEOL::ObjectiveVector>,
|
||||
class Fitness=double
|
||||
>
|
||||
class BEO: public MOEO<OBJECTIVE>{
|
||||
public:
|
||||
typedef BEOU U;
|
||||
typedef BEOL L;
|
||||
|
||||
BEO(BEOU &_up, BEOL &_low, bool _mode=true):up(_up),low(_low),mode(_mode){}
|
||||
BEO(bool _mode=true):mode(_mode){}
|
||||
|
||||
|
||||
/**
|
||||
* return the mode flag
|
||||
*/
|
||||
bool getMode()const {
|
||||
return mode;
|
||||
}
|
||||
/**
|
||||
* sets the mode flag and change the general objective vector to the corresponding
|
||||
* level
|
||||
*/
|
||||
void setMode(bool _up){
|
||||
mode=_up;
|
||||
if (!MOEO<OBJECTIVE>::invalidObjectiveVector()){
|
||||
OBJECTIVE tmp=MOEO<OBJECTIVE>::objectiveVector();
|
||||
tmp.mode(_up);
|
||||
objectiveVector(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* returns the upper part of the solution
|
||||
*/
|
||||
U &upper(){
|
||||
return up;
|
||||
}
|
||||
/**
|
||||
* returns the upper part of the solution
|
||||
*/
|
||||
const U &upper() const{
|
||||
return up;
|
||||
}
|
||||
/**
|
||||
* returns the lower part of the solution
|
||||
*/
|
||||
L &lower(){
|
||||
return low;
|
||||
}
|
||||
/**
|
||||
* returns the lower part of the solution
|
||||
*/
|
||||
const L &lower() const{
|
||||
return low;
|
||||
}
|
||||
/**
|
||||
* returns true if both level are equal
|
||||
*/
|
||||
bool operator==(const BEO& _beo)const{
|
||||
return _beo.lower()==lower() && _beo.upper()==upper();
|
||||
}
|
||||
/**
|
||||
* comparator based on the general fitness
|
||||
*/
|
||||
bool operator<(const BEO& _beo)const{
|
||||
return MOEO<OBJECTIVE>::fitness()<_beo.fitness();
|
||||
}
|
||||
|
||||
/**
|
||||
* comparator based on the general fitness
|
||||
*/
|
||||
bool operator>(const BEO& _beo)const{
|
||||
return MOEO<OBJECTIVE>::fitness()>_beo.fitness();
|
||||
}
|
||||
|
||||
void printOn(std::ostream &_os) const{
|
||||
_os<<upper().fitness()<<'\t'<<lower().fitness();
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
U up;
|
||||
L low;
|
||||
bool mode;
|
||||
|
||||
};
|
||||
#endif
|
||||
39
branches/contribution/branches/bilevel/src/CMakeLists.txt
Normal file
39
branches/contribution/branches/bilevel/src/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
######################################################################################
|
||||
### 1) Include the sources
|
||||
######################################################################################
|
||||
INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES(${MOEO_SRC_DIR}/src)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
######################################################################################
|
||||
|
||||
|
||||
######################################################################################
|
||||
### 2) Define your target(s): just the tsp lib here
|
||||
######################################################################################
|
||||
SET(VRP_LIB_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
|
||||
SET(LIBRARY_OUTPUT_PATH ${VRP_LIB_OUTPUT_PATH})
|
||||
SET (VRP_SOURCES
|
||||
VRP2.h VRP2InitNN.h VRP2Eval.h
|
||||
biVRPDistMat.h biVRPDistMat.cpp
|
||||
mbiVRPDistMat.h mbiVRPDistMat.cpp
|
||||
PLA.h biVRP.h biVRPUpEval.h mbiVRPLowEval.h biVRPLowEval.h
|
||||
PLARandInit.h PLAInitResp.h biVRP.h biVRPInit.h biVRPPerf2Worth.h
|
||||
op/VRP2RBX.h op/VRP2SBX.h op/VRP2Repair.h op/VRPXover.h
|
||||
op/biVRPRBX.h op/biVRPSBX.h
|
||||
)
|
||||
SET (BEO_SOURCES
|
||||
BEO.h beoEval.h beoCoevoOp.h beoLowQuad.h
|
||||
beoUpQuad.h beoLowMut.h beoUpMut.h beoInit.h beoSelectOneUp.h
|
||||
beoSelectOneLow.h beoCoevoPop.h beoDummyCoevoPop.h
|
||||
beoCoevoAllPop.h beoLexContinue.h
|
||||
beoRepairEval.h beoSelectCoevoPop.h beoSelectLow.h beoSelectUp.h
|
||||
beoSelectOneLow.h beoSelectOneUp.h
|
||||
beoBLAISArchivetemp.h beoBLAISArchivetemp.cpp
|
||||
op/beoRateContainerCoevoOp.h
|
||||
op/beoBestExchange.h op/beoCoevoUpExchange.h
|
||||
op/beoCoevoLowExchange.h op/beoLeftieExchange.h
|
||||
op/beoRightieExchange.h beoLowComparator beoUpComparator
|
||||
)
|
||||
ADD_LIBRARY(lvrp STATIC ${VRP_SOURCES})
|
||||
ADD_LIBRARY(lbeo STATIC ${BEO_SOURCES})
|
||||
######################################################################################
|
||||
41
branches/contribution/branches/bilevel/src/DistMat.h
Normal file
41
branches/contribution/branches/bilevel/src/DistMat.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
#ifndef DISTMAT_H
|
||||
#define DISTMAT_H
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
#include <utils/eoRNG.h>
|
||||
class DistMat {
|
||||
public:
|
||||
virtual void load(const std::string)=0;
|
||||
virtual unsigned int numberOfVehicle()=0;
|
||||
virtual unsigned int numberOfDepot()=0;
|
||||
virtual unsigned int numberOfRetailer()=0;
|
||||
virtual unsigned int numberOfPlant()=0;
|
||||
virtual bool isConstantDemand()=0;
|
||||
virtual bool isConstantCapacity()=0;
|
||||
virtual double demand(unsigned int)=0;
|
||||
virtual double availability(unsigned int)=0;
|
||||
|
||||
virtual double distance(unsigned int,unsigned int)=0;
|
||||
virtual double depotDistance(unsigned int,unsigned int)=0;
|
||||
virtual double plantDepotDistance(unsigned int,unsigned int)=0;
|
||||
virtual double maxLoad()=0;
|
||||
virtual double maxDuration()=0;
|
||||
typedef std::pair<unsigned int,double> ty;
|
||||
struct compaPair{
|
||||
bool operator()( ty a, ty b)const{
|
||||
return a.second<b.second;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
virtual std::multiset<ty, compaPair> getOrder(unsigned int)=0;
|
||||
virtual std::multiset<ty, compaPair> nearDepot(unsigned int)=0;
|
||||
virtual std::multiset<ty, compaPair> getOrderPlant(unsigned int)=0;
|
||||
virtual double cbOfPlant(unsigned int)=0;
|
||||
virtual double ccOfPlant(unsigned int)=0;
|
||||
};
|
||||
#endif
|
||||
152
branches/contribution/branches/bilevel/src/Makefile
Normal file
152
branches/contribution/branches/bilevel/src/Makefile
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 2.8
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canoncical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/francois/vrp3/vrp/src
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/francois/vrp3/vrp/src
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
|
||||
/usr/bin/cmake -i .
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
cd /home/francois/vrp3/vrp/src && $(CMAKE_COMMAND) -E cmake_progress_start /home/francois/vrp3/vrp/src/CMakeFiles /home/francois/vrp3/vrp/src/beo/CMakeFiles/progress.marks
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f CMakeFiles/Makefile2 beo/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/francois/vrp3/vrp/src/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f CMakeFiles/Makefile2 beo/clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f CMakeFiles/Makefile2 beo/preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f CMakeFiles/Makefile2 beo/preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
cd /home/francois/vrp3/vrp/src && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
# Convenience name for target.
|
||||
beo/CMakeFiles/lbeo.dir/rule:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f CMakeFiles/Makefile2 beo/CMakeFiles/lbeo.dir/rule
|
||||
.PHONY : beo/CMakeFiles/lbeo.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
lbeo: beo/CMakeFiles/lbeo.dir/rule
|
||||
.PHONY : lbeo
|
||||
|
||||
# fast build rule for target.
|
||||
lbeo/fast:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f beo/CMakeFiles/lbeo.dir/build.make beo/CMakeFiles/lbeo.dir/build
|
||||
.PHONY : lbeo/fast
|
||||
|
||||
# target to build an object file
|
||||
beoBLAISArchivetemp.o:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f beo/CMakeFiles/lbeo.dir/build.make beo/CMakeFiles/lbeo.dir/beoBLAISArchivetemp.o
|
||||
.PHONY : beoBLAISArchivetemp.o
|
||||
|
||||
# target to preprocess a source file
|
||||
beoBLAISArchivetemp.i:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f beo/CMakeFiles/lbeo.dir/build.make beo/CMakeFiles/lbeo.dir/beoBLAISArchivetemp.i
|
||||
.PHONY : beoBLAISArchivetemp.i
|
||||
|
||||
# target to generate assembly for a file
|
||||
beoBLAISArchivetemp.s:
|
||||
cd /home/francois/vrp3/vrp/src && $(MAKE) -f beo/CMakeFiles/lbeo.dir/build.make beo/CMakeFiles/lbeo.dir/beoBLAISArchivetemp.s
|
||||
.PHONY : beoBLAISArchivetemp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... lbeo"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... beoBLAISArchivetemp.o"
|
||||
@echo "... beoBLAISArchivetemp.i"
|
||||
@echo "... beoBLAISArchivetemp.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
cd /home/francois/vrp3/vrp/src && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
107
branches/contribution/branches/bilevel/src/PLA.h
Normal file
107
branches/contribution/branches/bilevel/src/PLA.h
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
#ifndef PLA_H_
|
||||
#define PLA_H_
|
||||
#include <list>
|
||||
#include <set>
|
||||
#include <eo>
|
||||
#include <EO.h>
|
||||
#include <cmath>
|
||||
class PLAObjectiveVectorTraits: 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<PLAObjectiveVectorTraits> PLAObjectiveVector;
|
||||
class PLA:
|
||||
public moeoVector<PLAObjectiveVector,double,double>
|
||||
{
|
||||
public:
|
||||
PLA():plantNumber(0),depotNumber(0)
|
||||
{}
|
||||
PLA(std::vector<double> &_bui, DistMat &_mat):plantNumber(0),depotNumber(0)
|
||||
{
|
||||
init(_mat);
|
||||
for (int i=0;i<size();i++){
|
||||
operator[](i)=_bui[i];
|
||||
}
|
||||
}
|
||||
void init(DistMat & mat){
|
||||
// std::cout<<mat.numberOfVehicle()<<" "<<mat.numberOfRetailer()<<std::endl;
|
||||
resize(mat.numberOfPlant()*mat.numberOfDepot(),0);
|
||||
depotNumber=mat.numberOfDepot();
|
||||
plantNumber=mat.numberOfPlant();
|
||||
|
||||
}
|
||||
|
||||
void setTaux(int depot, int plant, double taux){
|
||||
// if (depot*plantNumber+plant>=size()) std::cout<<"set Taux"<<std::endl;
|
||||
operator[](depot*plantNumber+plant)=fabs(taux);
|
||||
}
|
||||
|
||||
double getTaux(int depot, int plant)const{
|
||||
// if (depot*plantNumber+plant>=size()) std::cout<<"get Taux"<<std::endl;
|
||||
|
||||
return fabs(operator[](depot*plantNumber+plant));
|
||||
}
|
||||
|
||||
double sent(int depot, int plant, DistMat &mat)const {
|
||||
return getTaux(depot,plant)*mat.availability(plant);
|
||||
}
|
||||
|
||||
void printOn(std::ostream &_os) const{
|
||||
double mmm=0;
|
||||
for(unsigned int i=0;i<size();i++){
|
||||
_os<<operator[](i)<<" ";
|
||||
mmm+=operator[](i);
|
||||
}
|
||||
// _os<<'\t'<<fitness()<<'\t'<<mmm;
|
||||
}
|
||||
//pas de surproduction
|
||||
void repairPlants(){
|
||||
for (unsigned int i=0;i<plantNumber;i++){
|
||||
for (unsigned int j=0;j<depotNumber;j++){
|
||||
setTaux(j,i,fabs(getTaux(j,i)));
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0;i<plantNumber;i++){
|
||||
double sum=0;
|
||||
for (unsigned int j=0;j<depotNumber;j++){
|
||||
sum+=getTaux(j,i);
|
||||
}
|
||||
if (sum>1){
|
||||
double rap=1/sum;
|
||||
for (unsigned int j=0;j<depotNumber;j++){
|
||||
setTaux(j,i,getTaux(j,i)*rap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
bool operator==(const PLA& _pla)const{
|
||||
double eps=0.000001;
|
||||
if (_pla.size()!=size()) return false;
|
||||
for (unsigned int i=0;i<size();i++){
|
||||
if (!(_pla[i]-operator[](i)<eps && _pla[i]-operator[](i)>-eps ))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
unsigned int plantNumber;
|
||||
unsigned int depotNumber;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
50
branches/contribution/branches/bilevel/src/PLAInitResp.h
Normal file
50
branches/contribution/branches/bilevel/src/PLAInitResp.h
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#ifndef PLAINIRESP_H_
|
||||
#define PLAINIRESP_H_
|
||||
#include <eoInit.h>
|
||||
#include <PLA.h>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
class PLAInitResp: public eoInit<biVRP>{
|
||||
public:
|
||||
PLAInitResp(DistMat &_mat, eoRng& _rng=eo::rng):rng(_rng),mat(_mat){}
|
||||
void operator()(biVRP &_vrp){
|
||||
PLA &_pla=_vrp.lower();
|
||||
VRP2 &vrp=_vrp.upper();
|
||||
_pla.init(mat);
|
||||
std::vector<double> usines;
|
||||
usines.resize(mat.numberOfPlant(),0);
|
||||
for (unsigned int dep=0;dep<mat.numberOfDepot();dep++){
|
||||
double demand=vrp.depotDemand(mat,dep);
|
||||
double sent=0;
|
||||
for (unsigned int usi=0;usi<usines.size() && demand>sent;usi++){
|
||||
if (usines[usi]<1){
|
||||
double eps=0.000001;
|
||||
double resttaux=1-usines[usi];
|
||||
double tosend=demand-sent;
|
||||
if (tosend<eps)break;
|
||||
|
||||
if (resttaux*mat.availability(usi)<(tosend)){
|
||||
sent+=resttaux*mat.availability(usi);
|
||||
usines[usi]=1;
|
||||
_pla[dep*mat.numberOfPlant()+usi]=resttaux;
|
||||
}else{
|
||||
_pla[dep*mat.numberOfPlant()+usi]=tosend/mat.availability(usi);
|
||||
usines[usi]+=tosend/mat.availability(usi);
|
||||
sent=demand;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (unsigned int i=0;i<_pla.size();i++){
|
||||
_pla[i]=rng.uniform();
|
||||
}
|
||||
_pla.repairPlants();
|
||||
}
|
||||
|
||||
private:
|
||||
eoRng &rng;
|
||||
DistMat &mat;
|
||||
};
|
||||
#endif
|
||||
19
branches/contribution/branches/bilevel/src/PLARandInit.h
Normal file
19
branches/contribution/branches/bilevel/src/PLARandInit.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#include <eoInit.h>
|
||||
#include <PLA.h>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
class PLARandInit: public eoInit<PLA>{
|
||||
public:
|
||||
PLARandInit(DistMat &_mat, eoRng& _rng=eo::rng):rng(_rng),mat(_mat){}
|
||||
void operator()(PLA &_pla){
|
||||
_pla.init(mat);
|
||||
for (unsigned int i=0;i<_pla.size();i++){
|
||||
_pla[i]=rng.uniform();
|
||||
}
|
||||
_pla.repairPlants();
|
||||
}
|
||||
|
||||
private:
|
||||
eoRng &rng;
|
||||
DistMat &mat;
|
||||
};
|
||||
148
branches/contribution/branches/bilevel/src/VRP2.h
Normal file
148
branches/contribution/branches/bilevel/src/VRP2.h
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
#ifndef VRP_H_
|
||||
#define VRP_H_
|
||||
#include <list>
|
||||
#include <set>
|
||||
#include <eo>
|
||||
#include <EO.h>
|
||||
#include <DistMat.h>
|
||||
#include <core/moeoObjectiveVectorTraits.h>
|
||||
#include <core/moeoRealObjectiveVector.h>
|
||||
#include <core/moeoVector.h>
|
||||
class VRP2ObjectiveVectorTraits: public moeoObjectiveVectorTraits{
|
||||
public:
|
||||
static bool minimizing (int _i){
|
||||
return false;
|
||||
}
|
||||
static bool maximizing (int _i){
|
||||
return true;
|
||||
}
|
||||
static unsigned int nObjectives (){
|
||||
return 1;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
typedef moeoRealObjectiveVector<VRP2ObjectiveVectorTraits> VRP2ObjectiveVector;
|
||||
class VRP2:
|
||||
public moeoVector<VRP2ObjectiveVector,int,double>
|
||||
{
|
||||
|
||||
|
||||
public:
|
||||
VRP2():retailerNumber(0),vehicleNumber(0),depotNumber(0),inited(false){}
|
||||
VRP2(std::vector<int> &_bui, DistMat& _mat){
|
||||
init(_mat);
|
||||
for (int i=0;i<size();i++){
|
||||
operator[](i)=_bui[i];
|
||||
}
|
||||
}
|
||||
void init(DistMat & mat){
|
||||
resize(mat.numberOfVehicle()+mat.numberOfRetailer()-1,-1);
|
||||
retailerNumber=mat.numberOfRetailer();
|
||||
vehicleNumber=mat.numberOfVehicle();
|
||||
depotNumber=mat.numberOfDepot();
|
||||
voituresIdx.resize(vehicleNumber-1);
|
||||
inited=true;
|
||||
|
||||
}
|
||||
void printOn(std::ostream &_os) const{
|
||||
int sum=0;
|
||||
for(unsigned int i=0;i<size();i++){
|
||||
if (isVehicle(operator[](i))) _os<<"("<<operator[](i)<<")";
|
||||
else _os<<"["<< operator[](i)<<"]";
|
||||
sum+=operator[](i);
|
||||
}
|
||||
_os<<'\t'<<fitness()<<" MMM"<<sum;
|
||||
}
|
||||
bool isVehicle(unsigned int i) const{
|
||||
return i>=retailerNumber &&i<size();
|
||||
}
|
||||
bool isVehicleAt(int i) const {
|
||||
if (i>=size()) return false;
|
||||
|
||||
return i==-1 || isVehicle(operator[](i));
|
||||
}
|
||||
int depotOfVehicle(int i) const {
|
||||
return (i+1)/(vehicleNumber/depotNumber);
|
||||
}
|
||||
int depotOfVehicleAt(int i) const{
|
||||
return depotOfVehicle(operator[](i)-retailerNumber);
|
||||
}
|
||||
|
||||
double depotDemand(DistMat &_mat , const unsigned int i) {
|
||||
int firstvoiture=i*vehicleNumber/depotNumber-1;
|
||||
double res=0;
|
||||
for (unsigned int j=0;j<vehicleNumber/depotNumber;j++){
|
||||
res+=chargeOfVehicleAt(_mat,(firstvoiture==-1 && j==0)?-1:idxOfVoiture(firstvoiture+j));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
double chargeOfVehicleAt(DistMat &_mat, int idx) {
|
||||
double res=0;
|
||||
unsigned int i=(idx==-1?0:idx+1);
|
||||
if (isVehicleAt(idx)|| idx==-1){
|
||||
while (!isVehicleAt(i)&& i<size()){
|
||||
res+=_mat.demand(operator[](i));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
bool check()const {
|
||||
std::cout<<"check"<<std::endl;
|
||||
for (int i=0;i<size();i++){
|
||||
std::cout<<operator[](i)<<" ";
|
||||
}
|
||||
std::cout<<std::endl;
|
||||
for (int i=0;i<size();i++){
|
||||
if (std::count(begin(),end(),i)!=1){
|
||||
std::cout<<"PAS UNE PERMUT ("<<i<<")"<<std::endl;
|
||||
std::cout<<"taille: "<<size()<<std::endl;
|
||||
throw std::runtime_error("plus une permut");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
std::cout<<"check ok"<<std::endl;
|
||||
return true;
|
||||
}
|
||||
|
||||
unsigned int idxOfVoiture(int i){
|
||||
if (!checkIdx()){
|
||||
for (unsigned int i=0;i<size();i++){
|
||||
if (isVehicleAt(i)){
|
||||
voituresIdx[operator[](i)-retailerNumber]=i;
|
||||
}
|
||||
}
|
||||
}
|
||||
return voituresIdx[i];
|
||||
|
||||
}
|
||||
|
||||
bool operator==(const VRP2 &_vrp)const{
|
||||
if (_vrp.size()!=size()) return false;
|
||||
for (unsigned int i=0;i<_vrp.size();i++){
|
||||
if (_vrp[i]!=operator[](i)) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned int retailerNumber;
|
||||
unsigned int vehicleNumber;
|
||||
unsigned int depotNumber;
|
||||
std::vector<unsigned int> voituresIdx;
|
||||
|
||||
bool checkIdx(){
|
||||
for (unsigned int i=0;i<voituresIdx.size();i++){
|
||||
unsigned int val=operator[](voituresIdx[i]) - retailerNumber;
|
||||
if (val!=i) return false;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool inited;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
51
branches/contribution/branches/bilevel/src/VRP2Eval.h
Normal file
51
branches/contribution/branches/bilevel/src/VRP2Eval.h
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#include <VRP2.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
|
||||
class VRP2Eval: public eoEvalFunc<VRP2> {
|
||||
public:
|
||||
VRP2Eval (DistMat &_mat): mat(_mat){}
|
||||
|
||||
void operator()(VRP2 &_vrp){
|
||||
VRP2Repair repair(mat);
|
||||
repair(_vrp);
|
||||
double neo_fit=0;
|
||||
double vehicle=0;
|
||||
bool lastWasVehicle=true;
|
||||
int lastvehicle=0;
|
||||
bool firstVehicle=true;
|
||||
if (!_vrp.isVehicleAt(0)){
|
||||
neo_fit=mat.depotDistance(0,_vrp[0]);
|
||||
}
|
||||
|
||||
for (unsigned int i=0;i<_vrp.size();i++){
|
||||
if(_vrp.isVehicleAt(i)){
|
||||
if(!lastWasVehicle){
|
||||
if (i==0) std::cout<<"tinn"<<std::endl;
|
||||
vehicle+=mat.depotDistance(firstVehicle?0:_vrp.depotOfVehicleAt(lastvehicle),_vrp[i-1]);
|
||||
}
|
||||
firstVehicle=false;
|
||||
lastvehicle=i;
|
||||
neo_fit+=vehicle;
|
||||
vehicle=0;
|
||||
lastWasVehicle=true;
|
||||
}else{
|
||||
if (lastWasVehicle && lastvehicle){
|
||||
vehicle+=mat.depotDistance(_vrp.depotOfVehicleAt(i-1),_vrp[i]);
|
||||
lastWasVehicle=false;
|
||||
}else{
|
||||
if(i!=0){
|
||||
vehicle+=mat.distance(_vrp[i-1],_vrp[i]);
|
||||
|
||||
}
|
||||
lastWasVehicle=false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
neo_fit+=vehicle;
|
||||
_vrp.fitness(-neo_fit);
|
||||
}
|
||||
private:
|
||||
DistMat &mat;
|
||||
|
||||
};
|
||||
125
branches/contribution/branches/bilevel/src/VRP2InitNN.h
Normal file
125
branches/contribution/branches/bilevel/src/VRP2InitNN.h
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
#include <eoInit.h>
|
||||
#include <VRP2.h>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
class VRP2InitNN: public eoInit<VRP2>{
|
||||
public:
|
||||
typedef std::multiset<DistMat::ty, DistMat::compaPair> setclas;
|
||||
VRP2InitNN( DistMat& _mat, eoRng& _rng, float _proba=1 ): mat(_mat), rng(_rng), proba(_proba) {}
|
||||
VRP2InitNN( DistMat& _mat, float _proba=1 ): mat(_mat),rng(eo::rng), proba(_proba) {}
|
||||
|
||||
|
||||
void operator()(VRP2 & _vrp){
|
||||
std::set<int> voituresPlacees;
|
||||
std::set<int> villesPlacees;
|
||||
std::vector<int> villesToAdd;
|
||||
bool dontstop;
|
||||
bool voiturePleine=true;
|
||||
|
||||
int voituresParDepot=mat.numberOfVehicle()/mat.numberOfDepot();
|
||||
int voiture=-1;
|
||||
int ville=0;
|
||||
int lastPosWritten=_vrp.size();
|
||||
int depot=-1;
|
||||
int nextVille=-1;
|
||||
double charge=0;
|
||||
while (ville!=-1){
|
||||
if (voiturePleine){
|
||||
charge=0;
|
||||
villesToAdd.clear();
|
||||
villesToAdd.push_back(ville);
|
||||
villesPlacees.insert(ville);
|
||||
depot=-1;
|
||||
setclas depotclas=mat.nearDepot(ville);
|
||||
for (setclas::iterator it=depotclas.begin();it!=depotclas.end()&& depot==-1;it++){
|
||||
for (int i=0;i<voituresParDepot;i++){
|
||||
if(!voituresPlacees.count (voituresParDepot*((*it).first)+i)){
|
||||
depot=(*it).first;
|
||||
voiture=voituresParDepot*depot+i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (depot==-1) std::cout << "pas assez de voiture?"<<std::endl;
|
||||
voiturePleine=false;
|
||||
|
||||
}
|
||||
dontstop=false;
|
||||
setclas clas=mat.getOrder(ville);
|
||||
do{
|
||||
for (setclas::iterator it=clas.begin();it!=clas.end();it++){
|
||||
if (!villesPlacees.count((*it).first) && mat.demand((*it).first)+charge <= mat.maxLoad())
|
||||
dontstop=true;
|
||||
if (!villesPlacees.count((*it).first) && mat.demand((*it).first)+charge <= mat.maxLoad()
|
||||
&& rng.flip(proba)){
|
||||
nextVille=(*it).first;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}while(dontstop && nextVille==-1);
|
||||
if (nextVille!=-1) {
|
||||
villesToAdd.push_back(nextVille);
|
||||
villesPlacees.insert(nextVille);
|
||||
ville=nextVille;
|
||||
nextVille=-1;
|
||||
}else{
|
||||
int startToWriteIn=-1;
|
||||
if(voiture==0){
|
||||
for (unsigned int i=0; i< villesToAdd.size(); i++){
|
||||
_vrp[i]=villesToAdd[i];
|
||||
}
|
||||
}else{
|
||||
startToWriteIn=lastPosWritten-(villesToAdd.size()+1);
|
||||
_vrp[startToWriteIn]=voiture+mat.numberOfRetailer()-1;
|
||||
for (unsigned int i=0; i< villesToAdd.size(); i++){
|
||||
_vrp[startToWriteIn+1+i]=villesToAdd[i];
|
||||
}
|
||||
lastPosWritten=startToWriteIn;
|
||||
villesToAdd.clear();
|
||||
}
|
||||
voiturePleine=true;
|
||||
voituresPlacees.insert(voiture);
|
||||
ville=premiereVilleVide(_vrp,villesPlacees);
|
||||
villesToAdd.clear();
|
||||
}
|
||||
|
||||
}
|
||||
if (voituresPlacees.size()<mat.numberOfVehicle()){
|
||||
for (unsigned int i=0;i<mat.numberOfVehicle()-1;i++){
|
||||
if (!voituresPlacees.count(i)){
|
||||
_vrp[lastPosWritten-- -1 ]=mat.numberOfRetailer()+i-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
_vrp.invalidate();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
DistMat &mat;
|
||||
eoRng &rng;
|
||||
float proba;
|
||||
|
||||
|
||||
|
||||
|
||||
//rend la premiere ville vide du tableau, avec une certaine proba d'en rendre une autre
|
||||
//assuré de rendre une ville vide q'il y en a une.
|
||||
int premiereVilleVide(VRP2 &vrp, std::set<int> &villesPlacees){
|
||||
int res=-1;
|
||||
bool dontstop=false;
|
||||
do{
|
||||
for (unsigned int i=0;i<mat.numberOfRetailer()&& res==-1; i++){
|
||||
if (!villesPlacees.count(i)) dontstop=true;
|
||||
if ( !villesPlacees.count(i) && rng.flip(proba))
|
||||
res=i;
|
||||
}
|
||||
if (res!=-1) return res;
|
||||
}while(dontstop);
|
||||
return res;
|
||||
}
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
//Coevolutionary bilevel method using repeated algorithms (CoBRA)
|
||||
//algorithm to solve bilevel problems
|
||||
//multi-objective version
|
||||
#include <beoBLAISArchivemulti.h>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
template <class BEOT>
|
||||
beoBLAISArchivetemp<BEOT>::beoBLAISArchivetemp(
|
||||
eoAlgo<BEOT>& _au,
|
||||
eoAlgo<BEOT>& _al,
|
||||
eoEvalFunc< BEOT>&_eval,
|
||||
beoCoevoPop< BEOT> &_coevo,
|
||||
eoContinue< BEOT> &_contL,
|
||||
eoContinue< BEOT> &_contU,
|
||||
eoSelectOne<BEOT>& _selectU,
|
||||
eoSelectOne<BEOT>& _selectL,
|
||||
eoReplacement<BEOT> &_merge,
|
||||
unsigned int _nbFromArc=20,
|
||||
eoRng &_rng=eo::rng
|
||||
):
|
||||
algoU(_au),
|
||||
algoL(_al),
|
||||
eval(_eval),
|
||||
coevo(_coevo),
|
||||
contL(_contL),
|
||||
contU(_contU),
|
||||
selectU(_selectU),
|
||||
selectL(_selectL),
|
||||
merge(_merge),
|
||||
nbFromArc(_nbFromArc),
|
||||
rng(_rng)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
template <class BEOT>
|
||||
void beoBLAISArchivetemp<BEOT>::operator()(eoPop<BEOT> &_pop){
|
||||
unsigned taille=_pop.size();
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
eval(_pop[i]);
|
||||
}
|
||||
moeoUnboundedArchive <BEOT> archiveLow;
|
||||
moeoUnboundedArchive <BEOT> archiveUp;
|
||||
eoPop <BEOT> neopopl;
|
||||
eoPop <BEOT> neopopu;
|
||||
eoPop<BEOT> popu=_pop;
|
||||
eoPop<BEOT> popl=_pop;
|
||||
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
algoU(popu);
|
||||
setPopMode(popu,true);
|
||||
algoL(popl);
|
||||
bool continu=contU(popu);
|
||||
bool continl=contL(popl);
|
||||
|
||||
while(continu && continl){
|
||||
//on eval les pop, on copie
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
neopopu=popu;
|
||||
neopopl=popl;
|
||||
|
||||
//on pompe l'archive
|
||||
setPopMode(archiveLow,false);
|
||||
setPopMode(archiveUp,true);
|
||||
setPopMode(popu,true);
|
||||
if (archiveUp.size()>1)
|
||||
selectU.setup(archiveUp);
|
||||
if (archiveLow.size()>1)
|
||||
selectL.setup(archiveLow);
|
||||
unsigned int boucle=nbFromArc;
|
||||
if (boucle> archiveUp.size()) boucle=archiveUp.size();
|
||||
if (boucle> archiveLow.size()) boucle=archiveLow.size();
|
||||
for (unsigned int i=0;i<boucle;i++){
|
||||
BEOT up=selectU(archiveUp);
|
||||
BEOT low=selectL(archiveLow);
|
||||
if (find(neopopu.begin(),neopopu.end(),up)==neopopu.end())neopopu.push_back(up);
|
||||
if (find(neopopl.begin(),neopopl.end(),low)==neopopl.end())neopopl.push_back(low);
|
||||
}
|
||||
|
||||
//on coevolue
|
||||
coevo(neopopu,neopopl);
|
||||
setPopMode(neopopl,false);
|
||||
setPopMode(neopopu,true);
|
||||
|
||||
//on optimise
|
||||
algoU(neopopu);
|
||||
algoL(neopopl);
|
||||
setPopMode(neopopl,false);
|
||||
setPopMode(neopopu,true);
|
||||
|
||||
//on archive et on verifie la taille des archives
|
||||
archiveUp(neopopu);
|
||||
archiveLow(neopopl);
|
||||
if(archiveUp.size()> _pop.size()){
|
||||
std::sort(archiveUp.begin(),archiveUp.end(),fitcomp);
|
||||
archiveUp.resize(_pop.size());
|
||||
}
|
||||
if(archiveLow.size()> _pop.size()){
|
||||
std::sort(archiveLow.begin(),archiveLow.end(),fitcomp);
|
||||
archiveLow.resize(_pop.size());
|
||||
}
|
||||
|
||||
neopopu.sort();
|
||||
std::unique(neopopu.begin(),neopopu.end());
|
||||
eoPop<BEOT>popuclean;
|
||||
for (unsigned int i=0;i<neopopu.size();i++){
|
||||
if (std::find(popuclean.begin(),popuclean.end(),neopopu[i])==popuclean.end()&&
|
||||
std::find(popu.begin(),popu.end(),neopopu[i])==popu.end()){
|
||||
popuclean.push_back(neopopu[i]);
|
||||
}
|
||||
}
|
||||
neopopl.sort();
|
||||
std::unique(neopopl.begin(),neopopl.end());
|
||||
eoPop<BEOT>poplclean;
|
||||
for (unsigned int i=0;i<neopopl.size();i++){
|
||||
if (std::find(poplclean.begin(),poplclean.end(),neopopl[i])==poplclean.end()&&
|
||||
std::find(popl.begin(),popl.end(),neopopl[i])==popl.end())
|
||||
poplclean.push_back(neopopl[i]);
|
||||
}
|
||||
|
||||
//on merge
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
setPopMode(popuclean,true);
|
||||
setPopMode(poplclean,false);
|
||||
merge(popu,popuclean);
|
||||
merge(popl,poplclean);
|
||||
continu=contU(popu);
|
||||
continl=contL(popl);
|
||||
|
||||
|
||||
}
|
||||
//on copie les popu et popl, ainsi que les archives dans pop,
|
||||
//puis on tronque
|
||||
_pop.resize(archiveUp.size()+archiveLow.size());
|
||||
std::copy(archiveUp.begin(),archiveUp.end(),_pop.begin());
|
||||
std::copy(archiveLow.begin(),archiveLow.end(),_pop.begin()+archiveUp.size());
|
||||
setPopMode(_pop,true);
|
||||
_pop.sort();
|
||||
_pop.resize(taille);
|
||||
|
||||
for(int i=0;i<popu.size();i++){
|
||||
std::cout<<"popul"<<popu[i].lower()<<std::endl;
|
||||
std::cout<<"popuu"<<popu[i].upper()<<std::endl;
|
||||
std::cout<<"popufit"<<popu[i].upper().fitness()<<" "<<popu[i].objectiveVector().low()[0]<<" "<<popu[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<popl.size();i++){
|
||||
std::cout<<"popll"<<popl[i].lower()<<std::endl;
|
||||
std::cout<<"poplu"<<popl[i].upper()<<std::endl;
|
||||
std::cout<<"poplfit"<<popl[i].upper().fitness()<<" "<<popl[i].objectiveVector().low()[0]<<" "<<popl[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<archiveUp.size();i++){
|
||||
std::cout<<"arcul"<<archiveUp[i].lower()<<std::endl;
|
||||
std::cout<<"arcuu"<<archiveUp[i].upper()<<std::endl;
|
||||
std::cout<<"arcufit"<<archiveUp[i].upper().fitness()<<" "<<archiveUp[i].objectiveVector().low()[0]<<" "<<archiveUp[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<archiveLow.size();i++){
|
||||
std::cout<<"arcll"<<archiveLow[i].lower()<<std::endl;
|
||||
std::cout<<"arclu"<<archiveLow[i].upper()<<std::endl;
|
||||
std::cout<<"arclfit"<<archiveLow[i].upper().fitness()<<" "<<archiveLow[i].objectiveVector().low()[0]<<" "<<archiveLow[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary bilevel method using repeated algorithms (CoBRA)
|
||||
//algorithm to solve bilevel problems
|
||||
#ifndef BEOBLAISARCHIVE3_H_
|
||||
#define BEOBLAISARCHIVE3_H_
|
||||
#include <BEO.h>
|
||||
#include <eoAlgo.h>
|
||||
#include <eoOp.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoSelect.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoContinue.h>
|
||||
#include <eoMerge.h>
|
||||
#include <beoCoevoPop.h>
|
||||
#include <eoPopEvalFunc.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <beoSelectUp.h>
|
||||
#include <beoSelectLow.h>
|
||||
#include <eoStochasticUniversalSelect.h>
|
||||
#include <eoPerf2Worth.h>
|
||||
#include <eoRandomSelect.h>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
template <class BEOT>
|
||||
class beoBLAISArchivetemp: public eoAlgo<BEOT> {
|
||||
public:
|
||||
typedef typename BEOT::U U;
|
||||
typedef typename BEOT::L L;
|
||||
typedef typename BEOT::Fitness Fitness;
|
||||
typedef typename U::Fitness FitnessU;
|
||||
typedef typename L::Fitness FitnessL;
|
||||
|
||||
beoBLAISArchivetemp(
|
||||
eoAlgo<BEOT>&,
|
||||
eoAlgo<BEOT>&,
|
||||
eoEvalFunc<BEOT>&,
|
||||
beoCoevoPop<BEOT>&,
|
||||
eoContinue<BEOT>&,
|
||||
eoContinue<BEOT>&,
|
||||
eoSelectOne<BEOT>&,
|
||||
eoSelectOne<BEOT>&,
|
||||
eoReplacement<BEOT>&,
|
||||
unsigned int,
|
||||
eoRng &_rng
|
||||
);
|
||||
|
||||
void operator()(eoPop<BEOT> &_pop);
|
||||
private:
|
||||
struct s_fitcomp{
|
||||
bool operator()(const BEOT& b1, const BEOT& b2){
|
||||
return b1.upper().fitness()>b2.upper().fitness();
|
||||
}
|
||||
}fitcomp;
|
||||
eoAlgo<BEOT>& algoU;
|
||||
eoAlgo<BEOT>& algoL;
|
||||
eoEvalFunc<BEOT>& eval;
|
||||
beoCoevoPop<BEOT>& coevo;
|
||||
eoContinue<BEOT>& contL;
|
||||
eoContinue<BEOT>& contU;
|
||||
eoSelectOne<BEOT>& selectU;
|
||||
eoSelectOne<BEOT>& selectL;
|
||||
eoReplacement<BEOT> &merge;
|
||||
unsigned int nbFromArc;
|
||||
eoRng &rng;
|
||||
|
||||
void setPopMode(eoPop<BEOT> &_pop, bool mode){
|
||||
for (unsigned int i=0;i< _pop.size(); i++){
|
||||
_pop[i].setMode(mode);
|
||||
_pop[i].invalidate();
|
||||
eval(_pop[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void archiveBest(eoPop<BEOT> &_pop,eoPop<BEOT> &_archive, bool level){
|
||||
_archive.sort();
|
||||
bool empty=_archive.empty();
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
typename BEOT::U up=_pop[i].upper();
|
||||
typename BEOT::L low=_pop[i].lower();
|
||||
if(empty) {
|
||||
_archive.push_back(_pop[i]);
|
||||
empty=false;
|
||||
}
|
||||
else{
|
||||
bool ok=true;
|
||||
for (unsigned int j=0;j<_archive.size();j++){
|
||||
if ((level && _archive[j].lower()==low)||(!level && _archive[j].upper()==up)){
|
||||
ok=false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(ok)
|
||||
_archive.push_back(_pop[i]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
//Coevolutionary bilevel method using repeated algorithms (CoBRA)
|
||||
//algorithm to solve bilevel problems
|
||||
#include <beoBLAISArchivetemp.h>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
template <class BEOT>
|
||||
beoBLAISArchivetemp<BEOT>::beoBLAISArchivetemp(
|
||||
eoAlgo<BEOT>& _au,
|
||||
eoAlgo<BEOT>& _al,
|
||||
eoEvalFunc< BEOT>&_eval,
|
||||
beoCoevoPop< BEOT> &_coevo,
|
||||
eoContinue< BEOT> &_contL,
|
||||
eoContinue< BEOT> &_contU,
|
||||
eoSelectOne<BEOT>& _selectU,
|
||||
eoSelectOne<BEOT>& _selectL,
|
||||
eoReplacement<BEOT> &_merge,
|
||||
unsigned int _nbFromArc=20,
|
||||
eoRng &_rng=eo::rng
|
||||
):
|
||||
algoU(_au),
|
||||
algoL(_al),
|
||||
eval(_eval),
|
||||
coevo(_coevo),
|
||||
contL(_contL),
|
||||
contU(_contU),
|
||||
selectU(_selectU),
|
||||
selectL(_selectL),
|
||||
merge(_merge),
|
||||
nbFromArc(_nbFromArc),
|
||||
rng(_rng)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
template <class BEOT>
|
||||
void beoBLAISArchivetemp<BEOT>::operator()(eoPop<BEOT> &_pop){
|
||||
unsigned taille=_pop.size();
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
eval(_pop[i]);
|
||||
}
|
||||
|
||||
eoPop <BEOT> archiveUp;
|
||||
moeoUnboundedArchive <BEOT> archiveLow;
|
||||
eoPop <BEOT> neopopl;
|
||||
eoPop <BEOT> neopopu;
|
||||
eoPop<BEOT> popu=_pop;
|
||||
eoPop<BEOT> popl=_pop;
|
||||
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
algoU(popu);
|
||||
setPopMode(popu,true);
|
||||
algoL(popl);
|
||||
bool continu=contU(popu);
|
||||
bool continl=contL(popl);
|
||||
|
||||
while(continu && continl){
|
||||
//on eval les pop, on copie
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
neopopu=popu;
|
||||
neopopl=popl;
|
||||
|
||||
//on pompe l'archive
|
||||
setPopMode(archiveLow,false);
|
||||
setPopMode(archiveUp,true);
|
||||
setPopMode(popu,true);
|
||||
if (archiveUp.size()>1)
|
||||
selectU.setup(archiveUp);
|
||||
if (archiveLow.size()>1)
|
||||
selectL.setup(archiveLow);
|
||||
unsigned int boucle=nbFromArc;
|
||||
if (boucle> archiveUp.size()) boucle=archiveUp.size();
|
||||
if (boucle> archiveLow.size()) boucle=archiveLow.size();
|
||||
for (unsigned int i=0;i<boucle;i++){
|
||||
BEOT up=selectU(archiveUp);
|
||||
BEOT low=selectL(archiveLow);
|
||||
if (find(neopopu.begin(),neopopu.end(),up)==neopopu.end())neopopu.push_back(up);
|
||||
if (find(neopopl.begin(),neopopl.end(),low)==neopopl.end())neopopl.push_back(low);
|
||||
}
|
||||
|
||||
//on coevolue
|
||||
coevo(neopopu,neopopl);
|
||||
setPopMode(neopopl,false);
|
||||
setPopMode(neopopu,true);
|
||||
|
||||
//on optimise
|
||||
algoU(neopopu);
|
||||
algoL(neopopl);
|
||||
setPopMode(neopopl,false);
|
||||
setPopMode(neopopu,true);
|
||||
|
||||
//on archive et on verifie la taille des archives
|
||||
archiveBest(neopopu,archiveUp,true);
|
||||
archiveLow(neopopl);
|
||||
if(archiveUp.size()> _pop.size()){
|
||||
archiveUp.sort();
|
||||
archiveUp.resize(_pop.size());
|
||||
}
|
||||
if(archiveLow.size()> _pop.size()){
|
||||
std::sort(archiveLow.begin(),archiveLow.end(),fitcomp);
|
||||
archiveLow.resize(_pop.size());
|
||||
}
|
||||
|
||||
neopopu.sort();
|
||||
std::unique(neopopu.begin(),neopopu.end());
|
||||
eoPop<BEOT>popuclean;
|
||||
for (unsigned int i=0;i<neopopu.size();i++){
|
||||
if (std::find(popuclean.begin(),popuclean.end(),neopopu[i])==popuclean.end()&&
|
||||
std::find(popu.begin(),popu.end(),neopopu[i])==popu.end()){
|
||||
popuclean.push_back(neopopu[i]);
|
||||
}
|
||||
}
|
||||
neopopl.sort();
|
||||
std::unique(neopopl.begin(),neopopl.end());
|
||||
eoPop<BEOT>poplclean;
|
||||
for (unsigned int i=0;i<neopopl.size();i++){
|
||||
if (std::find(poplclean.begin(),poplclean.end(),neopopl[i])==poplclean.end()&&
|
||||
std::find(popl.begin(),popl.end(),neopopl[i])==popl.end())
|
||||
poplclean.push_back(neopopl[i]);
|
||||
}
|
||||
|
||||
//on merge
|
||||
setPopMode(popl,false);
|
||||
setPopMode(popu,true);
|
||||
setPopMode(popuclean,true);
|
||||
setPopMode(poplclean,false);
|
||||
merge(popu,popuclean);
|
||||
merge(popl,poplclean);
|
||||
continu=contU(popu);
|
||||
continl=contL(popl);
|
||||
|
||||
|
||||
}
|
||||
//on copie les popu et popl, ainsi que les archives dans pop,
|
||||
//puis on tronque
|
||||
_pop.resize(archiveUp.size()+archiveLow.size());
|
||||
std::copy(archiveUp.begin(),archiveUp.end(),_pop.begin());
|
||||
std::copy(archiveLow.begin(),archiveLow.end(),_pop.begin()+archiveUp.size());
|
||||
setPopMode(_pop,true);
|
||||
_pop.sort();
|
||||
_pop.resize(taille);
|
||||
|
||||
for(int i=0;i<popu.size();i++){
|
||||
std::cout<<"popul"<<popu[i].lower()<<std::endl;
|
||||
std::cout<<"popuu"<<popu[i].upper()<<std::endl;
|
||||
std::cout<<"popufit"<<popu[i].upper().fitness()<<" "<<popu[i].objectiveVector().low()[0]<<" "<<popu[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<popl.size();i++){
|
||||
std::cout<<"popll"<<popl[i].lower()<<std::endl;
|
||||
std::cout<<"poplu"<<popl[i].upper()<<std::endl;
|
||||
std::cout<<"poplfit"<<popl[i].upper().fitness()<<" "<<popl[i].objectiveVector().low()[0]<<" "<<popl[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<archiveUp.size();i++){
|
||||
std::cout<<"arcul"<<archiveUp[i].lower()<<std::endl;
|
||||
std::cout<<"arcuu"<<archiveUp[i].upper()<<std::endl;
|
||||
std::cout<<"arcufit"<<archiveUp[i].upper().fitness()<<" "<<archiveUp[i].objectiveVector().low()[0]<<" "<<archiveUp[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
for(int i=0;i<archiveLow.size();i++){
|
||||
std::cout<<"arcll"<<archiveLow[i].lower()<<std::endl;
|
||||
std::cout<<"arclu"<<archiveLow[i].upper()<<std::endl;
|
||||
std::cout<<"arclfit"<<archiveLow[i].upper().fitness()<<" "<<archiveLow[i].objectiveVector().low()[0]<<" "<<archiveLow[i].objectiveVector().low()[1]<<std::endl;
|
||||
}
|
||||
}
|
||||
135
branches/contribution/branches/bilevel/src/beoBLAISArchivetemp.h
Normal file
135
branches/contribution/branches/bilevel/src/beoBLAISArchivetemp.h
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary bilevel method using repeated algorithms (CoBRA)
|
||||
//algorithm to solve bilevel problems
|
||||
#ifndef BEOBLAISARCHIVE3_H_
|
||||
#define BEOBLAISARCHIVE3_H_
|
||||
#include <BEO.h>
|
||||
#include <eoAlgo.h>
|
||||
#include <eoOp.h>
|
||||
#include <eoEvalFunc.h>
|
||||
#include <eoSelect.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <eoContinue.h>
|
||||
#include <eoMerge.h>
|
||||
#include <beoCoevoPop.h>
|
||||
#include <eoPopEvalFunc.h>
|
||||
#include <eoReplacement.h>
|
||||
#include <beoSelectUp.h>
|
||||
#include <beoSelectLow.h>
|
||||
#include <eoStochasticUniversalSelect.h>
|
||||
#include <eoPerf2Worth.h>
|
||||
#include <eoRandomSelect.h>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <archive/moeoArchive.h>
|
||||
#include <archive/moeoUnboundedArchive.h>
|
||||
template <class BEOT>
|
||||
class beoBLAISArchivetemp: public eoAlgo<BEOT> {
|
||||
public:
|
||||
typedef typename BEOT::U U;
|
||||
typedef typename BEOT::L L;
|
||||
typedef typename BEOT::Fitness Fitness;
|
||||
typedef typename U::Fitness FitnessU;
|
||||
typedef typename L::Fitness FitnessL;
|
||||
|
||||
beoBLAISArchivetemp(
|
||||
eoAlgo<BEOT>&,
|
||||
eoAlgo<BEOT>&,
|
||||
eoEvalFunc<BEOT>&,
|
||||
beoCoevoPop<BEOT>&,
|
||||
eoContinue<BEOT>&,
|
||||
eoContinue<BEOT>&,
|
||||
eoSelectOne<BEOT>&,
|
||||
eoSelectOne<BEOT>&,
|
||||
eoReplacement<BEOT>&,
|
||||
unsigned int,
|
||||
eoRng &_rng
|
||||
);
|
||||
|
||||
void operator()(eoPop<BEOT> &_pop);
|
||||
private:
|
||||
struct s_fitcomp{
|
||||
bool operator()(const BEOT& b1, const BEOT& b2){
|
||||
return b1.upper().fitness()>b2.upper().fitness();
|
||||
}
|
||||
}fitcomp;
|
||||
eoAlgo<BEOT>& algoU;
|
||||
eoAlgo<BEOT>& algoL;
|
||||
eoEvalFunc<BEOT>& eval;
|
||||
beoCoevoPop<BEOT>& coevo;
|
||||
eoContinue<BEOT>& contL;
|
||||
eoContinue<BEOT>& contU;
|
||||
eoSelectOne<BEOT>& selectU;
|
||||
eoSelectOne<BEOT>& selectL;
|
||||
eoReplacement<BEOT> &merge;
|
||||
unsigned int nbFromArc;
|
||||
eoRng &rng;
|
||||
|
||||
void setPopMode(eoPop<BEOT> &_pop, bool mode){
|
||||
for (unsigned int i=0;i< _pop.size(); i++){
|
||||
_pop[i].setMode(mode);
|
||||
_pop[i].invalidate();
|
||||
eval(_pop[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void archiveBest(eoPop<BEOT> &_pop,eoPop<BEOT> &_archive, bool level){
|
||||
_archive.sort();
|
||||
bool empty=_archive.empty();
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
typename BEOT::U up=_pop[i].upper();
|
||||
typename BEOT::L low=_pop[i].lower();
|
||||
if(empty) {
|
||||
_archive.push_back(_pop[i]);
|
||||
empty=false;
|
||||
}
|
||||
else{
|
||||
bool ok=true;
|
||||
for (unsigned int j=0;j<_archive.size();j++){
|
||||
if ((level && _archive[j].lower()==low)||(!level && _archive[j].upper()==up)){
|
||||
ok=false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(ok)
|
||||
_archive.push_back(_pop[i]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
#endif
|
||||
61
branches/contribution/branches/bilevel/src/beoCoevoAllPop.h
Normal file
61
branches/contribution/branches/bilevel/src/beoCoevoAllPop.h
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//beoCoevoAllPop applies a coevolution operator to all couples of individuals of pop1xpop2
|
||||
//then copy the results in both population
|
||||
template <class BEOT> class beoCoevoAllPop: public beoCoevoPop<BEOT>{
|
||||
public:
|
||||
beoCoevoAllPop(beoCoevoOp<BEOT> &_op):op(_op){}
|
||||
|
||||
void operator()(eoPop<BEOT> &_pop1, eoPop<BEOT> &_pop2){
|
||||
unsigned int size1=_pop1.size();
|
||||
unsigned int size2=_pop2.size();
|
||||
|
||||
for (unsigned int i=0;i<size1;i++){
|
||||
for (unsigned int j=0;j<size2;j++){
|
||||
BEOT neo1=_pop1[i];
|
||||
BEOT neo2=_pop2[j];
|
||||
op(neo1,neo2);
|
||||
_pop1.push_back(neo1);
|
||||
_pop1.push_back(neo2);
|
||||
_pop2.push_back(neo1);
|
||||
_pop1.push_back(neo2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
beoCoevoOp<BEOT> &op;
|
||||
};
|
||||
57
branches/contribution/branches/bilevel/src/beoCoevoLinePop.h
Normal file
57
branches/contribution/branches/bilevel/src/beoCoevoLinePop.h
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//----------------------------------------------------------------------------
|
||||
//random coevolution operator
|
||||
//acts on all individuals in the population
|
||||
template <class BEOT> class beoCoevoLinePop: public beoCoevoPop<BEOT>{
|
||||
public:
|
||||
beoCoevoLinePop(beoCoevoOp<BEOT> &_op, unsigned int _number=0):op(_op), number(_number){}
|
||||
|
||||
void operator()(eoPop<BEOT> &_pop1, eoPop<BEOT> &_pop2){
|
||||
_pop1.shuffle();
|
||||
_pop2.shuffle();
|
||||
unsigned int minsize=_pop1.size();
|
||||
if (minsize>_pop2.size()) minsize=_pop2.size();
|
||||
if ((number> 0) && (minsize>number)) minsize=number;
|
||||
_pop2.resize(minsize);
|
||||
_pop1.resize(minsize);
|
||||
for (unsigned int i=0;i<minsize;i++){
|
||||
op(_pop1[i],_pop2[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
beoCoevoOp<BEOT> &op;
|
||||
unsigned int number;
|
||||
};
|
||||
43
branches/contribution/branches/bilevel/src/beoCoevoOp.h
Normal file
43
branches/contribution/branches/bilevel/src/beoCoevoOp.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//coevolution operator to use in BLAIS
|
||||
#ifndef BEOCOEVOOP_H_
|
||||
#define BEOCOEVOOP_H_
|
||||
#include <eoOp.h>
|
||||
|
||||
template<class BEOT> class beoCoevoOp
|
||||
: public eoBF< BEOT &, BEOT &, bool >
|
||||
{};
|
||||
#endif
|
||||
42
branches/contribution/branches/bilevel/src/beoCoevoPop.h
Normal file
42
branches/contribution/branches/bilevel/src/beoCoevoPop.h
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//coevolutionary operator to use on populations
|
||||
#ifndef BEOCOEVOPOP_H_
|
||||
#define BEOCOEVOPOP_H_
|
||||
template <class BEOT> class beoCoevoPop{
|
||||
public:
|
||||
virtual void operator()(eoPop<BEOT>&, eoPop<BEOT>&)=0;
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//dummy coevolutionary operator
|
||||
#include <beoCoevoPop.h>
|
||||
template <class BEOT>
|
||||
class beoDummyCoevoPop: public beoCoevoPop<BEOT>{
|
||||
public:
|
||||
void operator()(eoPop<BEOT> &a, eoPop<BEOT>&b){
|
||||
std::cout<<" ";
|
||||
}
|
||||
};
|
||||
71
branches/contribution/branches/bilevel/src/beoEval.h
Normal file
71
branches/contribution/branches/bilevel/src/beoEval.h
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//evaluator for bilevel problems using a differente operator for each level
|
||||
#include <biVRP.h>
|
||||
#include <BEO.h>
|
||||
template <class BEOT> class beoEval: public eoEvalFunc<BEOT>{
|
||||
|
||||
public:
|
||||
|
||||
beoEval(eoEvalFunc<BEOT> &_evalL,eoEvalFunc<BEOT> &_evalU): evalL(_evalL),evalU(_evalU){}
|
||||
|
||||
|
||||
void operator()(BEOT &_beot){
|
||||
bool mode=_beot.getMode();
|
||||
if (_beot.invalid()){
|
||||
nbEval++;
|
||||
_beot.setMode(false);
|
||||
evalL(_beot);
|
||||
_beot.setMode(true);
|
||||
evalU(_beot);
|
||||
}
|
||||
if(mode){
|
||||
_beot.fitness(_beot.upper().fitness());
|
||||
}
|
||||
else{
|
||||
if (!_beot.lower().invalidFitness())
|
||||
_beot.fitness(_beot.lower().fitness());
|
||||
}
|
||||
_beot.setMode(mode);
|
||||
}
|
||||
|
||||
int nbEval;
|
||||
|
||||
|
||||
private:
|
||||
eoEvalFunc<BEOT> &evalL;
|
||||
eoEvalFunc<BEOT> &evalU;
|
||||
|
||||
};
|
||||
54
branches/contribution/branches/bilevel/src/beoInit.h
Normal file
54
branches/contribution/branches/bilevel/src/beoInit.h
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//initializer for bilevel solutions using a different initializers for each level
|
||||
#ifndef BEOINIT_H_
|
||||
#define BEOINIT_H_
|
||||
#include <eoInit.h>
|
||||
template <class BEOT> class beoInit: public eoInit<BEOT>{
|
||||
public:
|
||||
beoInit(eoInit <typename BEOT::U>& _initu, eoInit<BEOT>& _initl):
|
||||
initu(_initu),initl(_initl)
|
||||
{}
|
||||
|
||||
void operator()(BEOT &_b){
|
||||
initu(_b.upper());
|
||||
initl(_b);
|
||||
}
|
||||
|
||||
private:
|
||||
eoInit<typename BEOT::U> &initu;
|
||||
eoInit<BEOT> &initl;
|
||||
};
|
||||
#endif
|
||||
96
branches/contribution/branches/bilevel/src/beoLexContinue.h
Normal file
96
branches/contribution/branches/bilevel/src/beoLexContinue.h
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//continuator stopping when no improvment was made during a parametrized number of generation
|
||||
#include <eoContinue.h>
|
||||
template<class BEOT>
|
||||
class beoLexContinue: public eoSteadyFitContinue<BEOT>{
|
||||
public:
|
||||
typedef typename BEOT::Fitness Fitness;
|
||||
using eoSteadyFitContinue<BEOT>::steadyState;
|
||||
using eoSteadyFitContinue<BEOT>::thisGeneration;
|
||||
using eoSteadyFitContinue<BEOT>::lastImprovement;
|
||||
using eoSteadyFitContinue<BEOT>::repSteadyGenerations;
|
||||
using eoSteadyFitContinue<BEOT>::repMinGenerations;
|
||||
|
||||
beoLexContinue( unsigned long _minGens, unsigned long _steadyGens,bool _onlyup=true):eoSteadyFitContinue<BEOT>(_minGens,_steadyGens),onlyup(_onlyup){}
|
||||
|
||||
beoLexContinue( unsigned long _minGens, unsigned long _steadyGen,unsigned long& _currentGen,bool _onlyup=true):
|
||||
eoSteadyFitContinue<BEOT>(_minGens,_steadyGen,_currentGen),onlyup(_onlyup)
|
||||
{}
|
||||
virtual bool operator()(const eoPop<BEOT> &pop){
|
||||
thisGeneration++;
|
||||
|
||||
Fitness bestCurrentUpFitness = pop[0].upper().fitness();
|
||||
Fitness bestCurrentLowFitness = onlyup?0:pop[0].lower().fitness();
|
||||
for (unsigned int i=1;i<pop.size();i++){
|
||||
if (pop[i].upper().fitness()>bestCurrentUpFitness
|
||||
||
|
||||
(pop[i].upper().fitness()==bestCurrentUpFitness
|
||||
&&(onlyup|| pop[i].lower().fitness()>bestCurrentLowFitness))){
|
||||
bestCurrentUpFitness=pop[i].upper().fitness();
|
||||
bestCurrentLowFitness=onlyup?0:pop[i].lower().fitness();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (steadyState){
|
||||
if (bestCurrentUpFitness > bestUpSoFar || (bestCurrentUpFitness==bestUpSoFar && bestCurrentLowFitness>bestLowSoFar)){
|
||||
bestUpSoFar = bestCurrentUpFitness;
|
||||
bestLowSoFar = bestCurrentLowFitness;
|
||||
lastImprovement = thisGeneration;
|
||||
}else{
|
||||
if(thisGeneration-lastImprovement>repSteadyGenerations){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (thisGeneration > repMinGenerations) {
|
||||
steadyState = true;
|
||||
bestUpSoFar = bestCurrentUpFitness;
|
||||
bestLowSoFar = bestCurrentLowFitness;
|
||||
lastImprovement = thisGeneration;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Fitness bestUpSoFar;
|
||||
Fitness bestLowSoFar;
|
||||
bool onlyup;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Comparator adaptator, to compare 2 bilevel soltuion along their lower level
|
||||
#ifndef BEO_BEOLOWCOMPARATOR_H_
|
||||
#define BEO_BEOLOWCOMPARATOR_H_
|
||||
template <class OBJ> class beoLowComparator:public moeoObjectiveVectorComparator<OBJ>{
|
||||
public:
|
||||
beoLowComparator(moeoObjectiveVectorComparator <typename OBJ::ObjLow> &_comp):comp(_comp){}
|
||||
const bool operator()(const OBJ& a, const OBJ& b){
|
||||
return comp(a.low(),b.low());
|
||||
}
|
||||
private:
|
||||
moeoObjectiveVectorComparator<typename OBJ::ObjLow> ∁
|
||||
};
|
||||
#endif
|
||||
58
branches/contribution/branches/bilevel/src/beoLowMut.h
Normal file
58
branches/contribution/branches/bilevel/src/beoLowMut.h
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Mutation adaptator, to mutate a bilevel solution along its lower level
|
||||
#include <BEO.h>
|
||||
#include <eoOp.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoLowMut : public eoMonOp<BEOT>{
|
||||
public:
|
||||
typedef typename BEOT::L L;
|
||||
beoLowMut(eoMonOp<L> &_monl):monl(_monl){}
|
||||
bool operator()(BEOT &l1){
|
||||
|
||||
if (monl(l1.lower())){
|
||||
l1.invalidate();
|
||||
l1.upper().invalidate();
|
||||
l1.lower().invalidate();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
eoMonOp<typename BEOT::L> &monl;
|
||||
|
||||
|
||||
};
|
||||
60
branches/contribution/branches/bilevel/src/beoLowQuad.h
Normal file
60
branches/contribution/branches/bilevel/src/beoLowQuad.h
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Quadratic operator adaptator, to cross 2 bilevel solutions along their lower level
|
||||
#include <BEO.h>
|
||||
#include <eoOp.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoLowQuad : public eoQuadOp<BEOT>{
|
||||
public:
|
||||
typedef typename BEOT::L L;
|
||||
beoLowQuad(eoQuadOp<L> &_quadl):quadl(_quadl){}
|
||||
bool operator()(BEOT &l1, BEOT &l2){
|
||||
if(quadl(l1.lower(),l2.lower())){
|
||||
l1.invalidate();
|
||||
l1.upper().invalidate();
|
||||
l1.lower().invalidate();
|
||||
l2.invalidate();
|
||||
l2.upper().invalidate();
|
||||
l2.lower().invalidate();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
eoQuadOp<typename BEOT::L> &quadl;
|
||||
|
||||
|
||||
};
|
||||
181
branches/contribution/branches/bilevel/src/beoObjectiveVector.h
Normal file
181
branches/contribution/branches/bilevel/src/beoObjectiveVector.h
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Objective Vector for bilevel problems
|
||||
#ifndef BEO_OBJECTIVEVECTOR_H_
|
||||
#define BEO_OBJECTIVEVECTOR_H_
|
||||
#include <vector>
|
||||
#include <core/moeoObjectiveVectorTraits.h>
|
||||
template <class ObjectUp, class ObjectLow> class beoObjectiveVector{
|
||||
|
||||
public:
|
||||
typedef ObjectUp ObjUp;
|
||||
typedef ObjectLow ObjLow;
|
||||
typedef moeoObjectiveVectorTraits Traits;
|
||||
beoObjectiveVector():regle(false){}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* doesnt do a thing
|
||||
*/
|
||||
static void setup(unsigned int nobj,std::vector<bool> &_bobjectives){
|
||||
}
|
||||
|
||||
/**
|
||||
* return the size of the mode flag level objective
|
||||
*/
|
||||
unsigned int size()const {
|
||||
if(mode())
|
||||
return up().size();
|
||||
else
|
||||
return low().size();
|
||||
}
|
||||
/**
|
||||
* return the [] result of the mode flag level variable
|
||||
**/
|
||||
double & operator[](unsigned int i){
|
||||
if (mode())
|
||||
return up()[i];
|
||||
else{
|
||||
return low()[i];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* return the [] result of the mode flag level variable
|
||||
**/
|
||||
const double & operator[](unsigned int i)const {
|
||||
if (mode())
|
||||
return up()[i];
|
||||
else{
|
||||
return low()[i];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* return the number of objective of the lower level
|
||||
*/
|
||||
static unsigned int nObjectives(){
|
||||
return ObjLow::nObjectives();
|
||||
}
|
||||
/**
|
||||
* return true if the lower level is to be minimized
|
||||
*/
|
||||
static bool minimizing(unsigned int i){
|
||||
return ObjLow::minimizing(i);
|
||||
}
|
||||
/**
|
||||
* return true if the lower level is to be maximized
|
||||
*/
|
||||
static bool maximizing(unsigned int i){
|
||||
return ObjLow::maximizing(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* return the upper part of the objective
|
||||
**/
|
||||
ObjectUp &up(){
|
||||
return mup;
|
||||
}
|
||||
/**
|
||||
* return the lower part of the objective
|
||||
**/
|
||||
ObjectLow &low(){
|
||||
return mlow;
|
||||
}
|
||||
/**
|
||||
* return the upper part of the objective
|
||||
**/
|
||||
const ObjectUp &up()const{
|
||||
return mup;
|
||||
}
|
||||
/**
|
||||
* return the lower part of the objective
|
||||
**/
|
||||
const ObjectLow &low()const{
|
||||
return mlow;
|
||||
}
|
||||
/**
|
||||
* return the upper part of the objective
|
||||
**/
|
||||
void upset(const ObjectUp &_up){
|
||||
mup=_up;
|
||||
}
|
||||
/**
|
||||
* sets the lower part of the objective
|
||||
**/
|
||||
void lowset(const ObjectLow &_low){
|
||||
regle=true;
|
||||
mlow=_low;
|
||||
}
|
||||
/**
|
||||
* returns the mode flag
|
||||
*/
|
||||
bool mode() const{
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* sets the mode flag
|
||||
*/
|
||||
void mode(bool _mode){
|
||||
flag=_mode;
|
||||
}
|
||||
/**
|
||||
* return true if different
|
||||
*/
|
||||
bool operator!=(const beoObjectiveVector &_vec)const{
|
||||
return !operator==(_vec);
|
||||
}
|
||||
/**
|
||||
* return true if both of the level are equal
|
||||
*/
|
||||
bool operator==(const beoObjectiveVector &_vec)const{
|
||||
return _vec.up()==up() && _vec.low()==low();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private:
|
||||
ObjectUp mup;
|
||||
ObjectLow mlow;
|
||||
bool flag;
|
||||
bool regle;
|
||||
};
|
||||
template <class a, class b> std::istream & operator>>(std::istream & _is,beoObjectiveVector<a,b> &_be){
|
||||
return _is;
|
||||
}
|
||||
template <class a, class b> std::ostream & operator<<(std::ostream & _os,const beoObjectiveVector<a,b> &_be){
|
||||
return _os;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//traits for bilevel problem objective vector
|
||||
#ifndef BEO_OBJECTIVEVECTORTRAITS_H_
|
||||
#define BEO_OBJECTIVEVECTORTRAITS_H_
|
||||
#include <EO.h>
|
||||
#include <core/moeoVector.h>
|
||||
#include <core/moeoObjectiveVectorTraits.h>
|
||||
#include <core/moeoRealObjectiveVector.h>
|
||||
template <class UpTrait, class LowTrait> class beoObjectiveVectorTraits: public moeoObjectiveVectorTraits{
|
||||
public:
|
||||
static bool minimizing (int _i){
|
||||
if(mode())
|
||||
return UpTrait::minimizing(_i);
|
||||
else
|
||||
return LowTrait::minimizing(_i);
|
||||
}
|
||||
static bool maximizing (int _i){
|
||||
if(mode())
|
||||
return UpTrait::maximizing(_i);
|
||||
else
|
||||
return LowTrait::maximizing(_i);
|
||||
}
|
||||
static unsigned int nObjectives (){
|
||||
return mode()?UpTrait::nObjectives():LowTrait::nObjectives();
|
||||
}
|
||||
virtual static void mode(bool _mode)=0;
|
||||
virtual static bool mode()=0;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
64
branches/contribution/branches/bilevel/src/beoRepairEval.h
Normal file
64
branches/contribution/branches/bilevel/src/beoRepairEval.h
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//evaluator which apply an algorithme before the evaluation
|
||||
//to use to follow the hierarchical scheme
|
||||
#include <biVRP.h>
|
||||
#include <BEO.h>
|
||||
template <class BEOT> class beoRepairEval: public eoEvalFunc<BEOT>{
|
||||
public:
|
||||
beoRepairEval(eoEvalFunc<BEOT> &_eval,eoAlgo<BEOT> &_repair): eval(_eval),repair(_repair){}
|
||||
void operator()(BEOT &_beot){
|
||||
eoPop<BEOT> pop;
|
||||
for (int i=0;i<100;i++)
|
||||
pop.push_back(_beot);
|
||||
repair(pop);
|
||||
eval(pop[0]);
|
||||
double best=pop[0].lower().fitness();
|
||||
_beot.lower()=pop[0].lower();
|
||||
for (int i=0;i<pop.size();i++){
|
||||
eval(pop[i]);
|
||||
if(best<pop[i].lower().fitness()){
|
||||
_beot.lower()=pop[i].lower();
|
||||
best=pop[i].lower().fitness();
|
||||
}
|
||||
}
|
||||
eval(_beot);
|
||||
}
|
||||
private:
|
||||
eoEvalFunc<BEOT> &eval;
|
||||
eoAlgo<BEOT> &repair;
|
||||
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//beoSelectCoevoPop selects a part of two population and then co-evolute them together
|
||||
template <class BEOT>
|
||||
class beoSelectCoevoPop: public beoCoevoPop<BEOT>{
|
||||
public:
|
||||
beoSelectCoevoPop(
|
||||
eoSelect<BEOT> &_select1,
|
||||
eoSelect<BEOT> &_select2,
|
||||
beoCoevoOp<BEOT> &_op):
|
||||
select1(_select1),
|
||||
select2(_select2),
|
||||
op(_op),
|
||||
poper(op)
|
||||
{}
|
||||
|
||||
beoSelectCoevoPop(
|
||||
eoSelect<BEOT> &_select1,
|
||||
beoCoevoOp<BEOT> &_op):
|
||||
select1(_select1),
|
||||
select2(_select1),
|
||||
op(_op),
|
||||
poper(op)
|
||||
{}
|
||||
void operator()(eoPop<BEOT> &_pop1,eoPop<BEOT> &_pop2){
|
||||
eoPop<BEOT> res1,res2;
|
||||
select1(_pop1,res1);
|
||||
select2(_pop2,res2);
|
||||
poper(res1,res2);
|
||||
_pop1=res1;
|
||||
_pop2=res2;
|
||||
}
|
||||
private:
|
||||
eoSelect<BEOT> &select1;
|
||||
eoSelect<BEOT> &select2;
|
||||
beoCoevoOp<BEOT> &op;
|
||||
beoCoevoAllPop<BEOT> poper;
|
||||
|
||||
};
|
||||
56
branches/contribution/branches/bilevel/src/beoSelectLow.h
Normal file
56
branches/contribution/branches/bilevel/src/beoSelectLow.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//selector adaptator to select along the lower level
|
||||
#ifndef BEOSELECTLOW_H_
|
||||
#define BEOSELECTLOW_H_
|
||||
#include <eoSelect.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoSelectLow{
|
||||
|
||||
public:
|
||||
beoSelectLow(eoSelect<BEOT> &_select):select(_select){}
|
||||
|
||||
void operator()(eoPop <BEOT>& _pop, eoPop<BEOT> & _dest){
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
_pop[i].fitness(_pop[i].lower().fitness());
|
||||
}
|
||||
return select(_pop,_dest);
|
||||
}
|
||||
|
||||
private:
|
||||
eoSelect<BEOT> &select;
|
||||
};
|
||||
#endif
|
||||
56
branches/contribution/branches/bilevel/src/beoSelectOneLow.h
Normal file
56
branches/contribution/branches/bilevel/src/beoSelectOneLow.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Individual selector adaptator to select along the lower level
|
||||
#ifndef BEOSELECTONELOW_H_
|
||||
#define BEOSELECTONELOW_H_
|
||||
#include <eoSelectOne.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoSelectOneLow: public eoSelectOne<BEOT>{
|
||||
|
||||
public:
|
||||
beoSelectOneLow(eoSelectOne<BEOT> &_select):select(_select){}
|
||||
virtual void setup (const eoPop< BEOT > &_pop){
|
||||
select.setup(_pop);
|
||||
}
|
||||
|
||||
const BEOT& operator()(const eoPop <BEOT>& _pop){
|
||||
return select(_pop);
|
||||
}
|
||||
|
||||
private:
|
||||
eoSelectOne<BEOT> &select;
|
||||
};
|
||||
#endif
|
||||
56
branches/contribution/branches/bilevel/src/beoSelectOneUp.h
Normal file
56
branches/contribution/branches/bilevel/src/beoSelectOneUp.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Individual selector adaptator to select along the upper level
|
||||
#ifndef BEOSELECTONEUP_H_
|
||||
#define BEOSELECTONEUP_H_
|
||||
#include <eoSelectOne.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoSelectOneUp: public eoSelectOne<BEOT>{
|
||||
|
||||
public:
|
||||
beoSelectOneUp(eoSelectOne<BEOT> &_select):select(_select){}
|
||||
|
||||
virtual void setup (const eoPop< BEOT > &_pop){
|
||||
select.setup(_pop);
|
||||
}
|
||||
const BEOT& operator()(const eoPop <BEOT>& _pop){
|
||||
return select(_pop);
|
||||
}
|
||||
|
||||
private:
|
||||
eoSelectOne<BEOT> &select;
|
||||
};
|
||||
#endif
|
||||
56
branches/contribution/branches/bilevel/src/beoSelectUp.h
Normal file
56
branches/contribution/branches/bilevel/src/beoSelectUp.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//sectector adaptator to select along the upper level
|
||||
#ifndef BEOSELECTUP_H_
|
||||
#define BEOSELECTUP_H_
|
||||
#include <eoSelect.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoSelectUp{
|
||||
|
||||
public:
|
||||
beoSelectUp(eoSelect<BEOT> &_select):select(_select){}
|
||||
|
||||
void operator()(eoPop <BEOT>& _pop, eoPop<BEOT> & _dest){
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
_pop[i].fitness(_pop[i].upper().fitness());
|
||||
}
|
||||
return select(_pop,_dest);
|
||||
}
|
||||
|
||||
private:
|
||||
eoSelect<BEOT> &select;
|
||||
};
|
||||
#endif
|
||||
47
branches/contribution/branches/bilevel/src/beoUpComparator.h
Normal file
47
branches/contribution/branches/bilevel/src/beoUpComparator.h
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Comparator adaptator to compare along the upper level
|
||||
#ifndef BEO_BEOUPCOMPARATOR_H_
|
||||
#define BEO_BEOUPCOMPARATOR_H_
|
||||
template <class BEOT> class beoUpComparator:public moeoComparator<BEOT>{
|
||||
public:
|
||||
beoUpComparator(moeoComparator <typename BEOT::U> &_comp):comp(_comp){}
|
||||
bool operator()(const BEOT& a, const BEOT& b){
|
||||
return comp(a.upper(),b.upper());
|
||||
}
|
||||
private:
|
||||
moeoComparator<BEOT> ∁
|
||||
};
|
||||
#endif
|
||||
56
branches/contribution/branches/bilevel/src/beoUpMut.h
Normal file
56
branches/contribution/branches/bilevel/src/beoUpMut.h
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Mutation operatorr adaptator to mutate along the upper level
|
||||
#include <BEO.h>
|
||||
#include <eoOp.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoUpMut : public eoMonOp<BEOT>{
|
||||
public:
|
||||
typedef typename BEOT::U U;
|
||||
beoUpMut(eoMonOp<U> &_monu):monu(_monu){}
|
||||
bool operator()(BEOT &u1){
|
||||
|
||||
if (monu(u1.upper())){
|
||||
u1.invalidate();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
eoMonOp<typename BEOT::U> &monu;
|
||||
|
||||
|
||||
};
|
||||
60
branches/contribution/branches/bilevel/src/beoUpQuad.h
Normal file
60
branches/contribution/branches/bilevel/src/beoUpQuad.h
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Quadratic operator adaptator to cross along the upper level
|
||||
#include <BEO.h>
|
||||
#include <eoOp.h>
|
||||
|
||||
template <class BEOT>
|
||||
class beoUpQuad : public eoQuadOp<BEOT>{
|
||||
public:
|
||||
typedef typename BEOT::U U;
|
||||
beoUpQuad(eoQuadOp<U> &_quadu):quadu(_quadu){}
|
||||
bool operator()(BEOT &u1, BEOT &u2){
|
||||
if(quadu(u1.upper(),u2.upper())){
|
||||
u1.invalidate();
|
||||
u1.upper().invalidate();
|
||||
u1.lower().invalidate();
|
||||
u2.invalidate();
|
||||
u2.upper().invalidate();
|
||||
u2.lower().invalidate();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
eoQuadOp<typename BEOT::U> &quadu;
|
||||
|
||||
|
||||
};
|
||||
14
branches/contribution/branches/bilevel/src/biVRP.h
Normal file
14
branches/contribution/branches/bilevel/src/biVRP.h
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#ifndef BIVRP_H_
|
||||
#define BIVRP_H_
|
||||
#include <BEO.h>
|
||||
#include <VRP2.h>
|
||||
#include <PLA.h>
|
||||
|
||||
class biVRP:public BEO <VRP2,PLA>{
|
||||
public:
|
||||
biVRP():BEO<VRP2,PLA>(){}
|
||||
biVRP(VRP2 & vrp, PLA &pla):BEO<VRP2,PLA>(vrp,pla){}
|
||||
|
||||
|
||||
};
|
||||
#endif
|
||||
201
branches/contribution/branches/bilevel/src/biVRPDistMat.cpp
Normal file
201
branches/contribution/branches/bilevel/src/biVRPDistMat.cpp
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
#include <biVRPDistMat.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
void biVRPDistMat::load(const std::string _fname){
|
||||
std::string buf;
|
||||
std::ifstream file(_fname.data());
|
||||
if (file.is_open()){
|
||||
int type;
|
||||
file >> type;
|
||||
if (type!=8){
|
||||
std::cout<<"pas un bimdvrp"<<std::endl;
|
||||
exit(1);
|
||||
}
|
||||
file>>vehicleNumber;
|
||||
file>>retailerNumber;
|
||||
file>>depotNumber;
|
||||
file>>plantNumber;
|
||||
file>>durationMax;
|
||||
file>>loadMax;
|
||||
vehicleNumber*=depotNumber;
|
||||
retailerDistance.resize(retailerNumber*(retailerNumber+1)/2);
|
||||
depotRetailDistance.resize(retailerNumber*depotNumber);
|
||||
depotPlantDistance.resize(plantNumber*depotNumber);
|
||||
nearestDepot.resize(retailerNumber);
|
||||
plantNearestDepot.resize(plantNumber);
|
||||
classement.resize(retailerNumber);
|
||||
|
||||
for(unsigned int i=1;i<depotNumber;i++){
|
||||
unsigned int dur,load;
|
||||
file>>dur;
|
||||
file>>load;
|
||||
if (dur!=durationMax || load!=loadMax)
|
||||
std::cout<<"ne gere pas les durées max ou les charge max multiples("<<load<<"!="<<loadMax<<std::endl;
|
||||
}
|
||||
|
||||
std::vector< std::vector <double> > coords;
|
||||
for (unsigned int i=0;i<retailerNumber+depotNumber+plantNumber;i++){
|
||||
std::vector<double>coord;
|
||||
double x,y,dump,demand;
|
||||
double n;
|
||||
double neocb;
|
||||
file>>dump;
|
||||
file>>x;
|
||||
file>>y;
|
||||
coord.push_back(x);
|
||||
coord.push_back(y);
|
||||
coords.push_back(coord);
|
||||
file>>dump;
|
||||
file>>demand;
|
||||
file>>neocb;
|
||||
file>>n;
|
||||
if (i<retailerNumber) retailerDemand.push_back(demand);
|
||||
if (i>=retailerNumber+depotNumber && i<retailerNumber+depotNumber+plantNumber) {
|
||||
plantAvailability.push_back(demand);
|
||||
double neocc=n;
|
||||
cb.push_back(neocb);
|
||||
cc.push_back(neocc);
|
||||
}
|
||||
else for (unsigned int j=0;j<n;j++) file>>dump;
|
||||
|
||||
|
||||
|
||||
}
|
||||
for (unsigned int i=0;i<retailerNumber;i++){
|
||||
for(unsigned int j=i+1;j<retailerNumber;j++){
|
||||
unsigned int idx=indexret(i,j);
|
||||
retailerDistance[idx]=computeDist(coords[i][0],coords[i][1], coords[j][0],coords[j][1]);
|
||||
classement[i].insert(std::make_pair(j,retailerDistance[idx]));
|
||||
classement[j].insert(std::make_pair(i,retailerDistance[idx]));
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0;i<depotNumber;i++){
|
||||
for(unsigned int j=0;j<retailerNumber;j++){
|
||||
unsigned int idx=i*numberOfRetailer()+ j;
|
||||
depotRetailDistance[idx]=computeDist(
|
||||
coords[numberOfRetailer()+i][0],
|
||||
coords[numberOfRetailer()+i][1],
|
||||
coords[j][0],
|
||||
coords[j][1]);
|
||||
nearestDepot[j].insert(std::make_pair(i,depotRetailDistance[idx]));
|
||||
}
|
||||
for(unsigned int j=0;j<plantNumber;j++){
|
||||
unsigned int idx=i*numberOfPlant()+j;
|
||||
depotPlantDistance[idx]=computeDist(
|
||||
coords[numberOfRetailer()+numberOfPlant()+i][0],
|
||||
coords[numberOfRetailer()+numberOfPlant()+i][1],
|
||||
coords[j][0],
|
||||
coords[j][1]);
|
||||
plantNearestDepot[j].insert(std::make_pair(i,depotPlantDistance[idx]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
double biVRPDistMat::cbOfPlant(unsigned int i){
|
||||
return cb[i];
|
||||
}
|
||||
double biVRPDistMat::ccOfPlant(unsigned int i){
|
||||
return cc[i];
|
||||
}
|
||||
unsigned int biVRPDistMat::numberOfVehicle(){
|
||||
return vehicleNumber;
|
||||
}
|
||||
unsigned int biVRPDistMat::numberOfDepot(){
|
||||
return depotNumber;
|
||||
}
|
||||
unsigned int biVRPDistMat::numberOfRetailer(){
|
||||
return retailerNumber;
|
||||
}
|
||||
unsigned int biVRPDistMat::numberOfPlant(){
|
||||
return plantNumber;
|
||||
}
|
||||
bool biVRPDistMat::isConstantDemand(){
|
||||
return constantDemand;
|
||||
}
|
||||
bool biVRPDistMat::isConstantCapacity(){
|
||||
return constantCapacity;
|
||||
}
|
||||
double biVRPDistMat::demand(unsigned int retailer){
|
||||
if (retailer<numberOfRetailer()){
|
||||
return retailerDemand[retailer];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
double biVRPDistMat::availability( unsigned int plant){
|
||||
if (plant<numberOfPlant()){
|
||||
return plantAvailability[plant];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
double biVRPDistMat::distance(unsigned int retailerA,unsigned int retailerB){
|
||||
if (retailerA < numberOfRetailer() && retailerB < numberOfRetailer()){
|
||||
return retailerDistance[indexret(retailerA,retailerB)];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
double biVRPDistMat::depotDistance(unsigned int depot,unsigned int retailer){
|
||||
if(depot<numberOfDepot() && retailer < numberOfRetailer()){
|
||||
int idx=depot*numberOfRetailer()+ retailer;
|
||||
return depotRetailDistance[idx];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
double biVRPDistMat::plantDepotDistance(unsigned int depot,unsigned int plant){
|
||||
if(depot<numberOfDepot() && plant < numberOfPlant()){
|
||||
int idx=depot*numberOfPlant()+ plant;
|
||||
return depotPlantDistance[idx];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
double biVRPDistMat::maxLoad(){
|
||||
return loadMax;
|
||||
}
|
||||
|
||||
|
||||
double biVRPDistMat::maxDuration(){
|
||||
return 0;
|
||||
}
|
||||
std::multiset<biVRPDistMat::ty, biVRPDistMat::compaPair> biVRPDistMat::getOrder(unsigned int retail){
|
||||
return classement[retail];
|
||||
}
|
||||
std::multiset<biVRPDistMat::ty, biVRPDistMat::compaPair> biVRPDistMat::getOrderPlant(unsigned int plant){
|
||||
return plantNearestDepot[plant];
|
||||
}
|
||||
std::multiset<biVRPDistMat::ty, biVRPDistMat::compaPair> biVRPDistMat::nearDepot(unsigned int i){
|
||||
return nearestDepot[i];
|
||||
}
|
||||
unsigned int biVRPDistMat::indexret(unsigned int _a,unsigned int _b){
|
||||
int a,b;
|
||||
if (_b<_a){
|
||||
a=_a;
|
||||
b=_b;
|
||||
}else{
|
||||
a=_b;
|
||||
b=_a;
|
||||
}
|
||||
return b*numberOfRetailer()+a - (b*(b+1)/2);
|
||||
}
|
||||
|
||||
|
||||
double biVRPDistMat::computeDist(double xa,double ya,double xb,double yb){
|
||||
double dist;
|
||||
dist=sqrt(pow(xa-xb,2)+pow(ya-yb,2));
|
||||
return dist;
|
||||
}
|
||||
|
||||
68
branches/contribution/branches/bilevel/src/biVRPDistMat.h
Normal file
68
branches/contribution/branches/bilevel/src/biVRPDistMat.h
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#ifndef BIVRPDISTMAT_H
|
||||
#define BIVRPDISTMAT_H
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
#include <utils/eoRNG.h>
|
||||
#include <DistMat.h>
|
||||
class biVRPDistMat :public DistMat{
|
||||
public:
|
||||
void load(const std::string);
|
||||
unsigned int numberOfVehicle();
|
||||
unsigned int numberOfDepot();
|
||||
unsigned int numberOfRetailer();
|
||||
unsigned int numberOfPlant();
|
||||
bool isConstantDemand();
|
||||
bool isConstantCapacity();
|
||||
double demand(unsigned int);
|
||||
double availability(unsigned int);
|
||||
|
||||
double distance(unsigned int,unsigned int);
|
||||
double depotDistance(unsigned int,unsigned int);
|
||||
double plantDepotDistance(unsigned int,unsigned int);
|
||||
double maxLoad();
|
||||
double maxDuration();
|
||||
|
||||
double charge(unsigned int);
|
||||
|
||||
typedef std::pair<unsigned int,double> ty;
|
||||
virtual std::multiset<ty, compaPair> getOrder(unsigned int);
|
||||
std::multiset<ty, compaPair> nearDepot(unsigned int);
|
||||
std::multiset<ty, compaPair> getOrderPlant(unsigned int);
|
||||
double cbOfPlant(unsigned int);
|
||||
double ccOfPlant(unsigned int);
|
||||
private:
|
||||
unsigned int vehicleNumber;
|
||||
unsigned int depotNumber;
|
||||
unsigned int plantNumber;
|
||||
unsigned int retailerNumber;
|
||||
bool constantDemand;
|
||||
double loadMax;
|
||||
double durationMax;
|
||||
std::vector<double> retailerDemand;
|
||||
bool constantCapacity;
|
||||
std::vector<double> vehicleCapacity;
|
||||
std::vector<double> plantAvailability;
|
||||
unsigned int indexret(unsigned int _a,unsigned int _b);
|
||||
double computeDist(double,double,double,double);
|
||||
std::vector<double> cb;
|
||||
std::vector<double> cc;
|
||||
|
||||
//vecteurs de distance
|
||||
std::vector<double> retailerDistance;
|
||||
std::vector<double> depotRetailDistance ;
|
||||
std::vector<double> depotPlantDistance ;
|
||||
|
||||
|
||||
//classement des distances
|
||||
std::vector<std::multiset < ty , compaPair > > classement;
|
||||
std::vector<std::multiset < ty , compaPair > > plantNearestDepot;
|
||||
std::vector<std::multiset < ty , compaPair > > nearestDepot;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
19
branches/contribution/branches/bilevel/src/biVRPInit.h
Normal file
19
branches/contribution/branches/bilevel/src/biVRPInit.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#include <biVRP.h>
|
||||
#include <biVRPDistMat.h>
|
||||
#include <PLAInitResp.h>
|
||||
class biVRPInit : public eoInit<biVRP>{
|
||||
public:
|
||||
biVRPInit(DistMat& _mat):mat(_mat), initpla(mat), initNN(mat),initVRP(initNN),initbeo(initVRP,initpla) {}
|
||||
biVRPInit(DistMat& _mat,eoInit<VRP2> &_initVRP):mat(_mat), initpla(mat), initNN(mat), initVRP(_initVRP),initbeo(initVRP,initpla) {}
|
||||
void operator()(biVRP &_vrp){
|
||||
_vrp.upper().init(mat);
|
||||
_vrp.lower().init(mat);
|
||||
initbeo(_vrp);
|
||||
}
|
||||
private:
|
||||
DistMat &mat;
|
||||
PLAInitResp initpla;
|
||||
VRP2InitNN initNN;
|
||||
eoInit<VRP2> &initVRP;
|
||||
beoInit<biVRP> initbeo;
|
||||
};
|
||||
34
branches/contribution/branches/bilevel/src/biVRPLowEval.h
Normal file
34
branches/contribution/branches/bilevel/src/biVRPLowEval.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <VRP2.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <biVRP.h>
|
||||
#include <PLA.h>
|
||||
|
||||
class biVRPLowEval: public eoEvalFunc<biVRP>{
|
||||
public:
|
||||
biVRPLowEval(DistMat & _mat,double _lambda=1000.):mat(_mat),lambda(_lambda){}
|
||||
|
||||
|
||||
void operator()(biVRP &_vrp){
|
||||
double res=0;
|
||||
_vrp.lower().repairPlants();
|
||||
for (unsigned int i=0;i<mat.numberOfDepot();i++){
|
||||
VRP2 vrp(_vrp.upper());
|
||||
double demand=vrp.depotDemand(mat,i);
|
||||
double sent=0;
|
||||
for (unsigned int j=0;j<mat.numberOfPlant();j++){
|
||||
res+=_vrp.lower().sent(i,j,mat)*(mat.ccOfPlant(j)+mat.plantDepotDistance(i,j)/10000);
|
||||
sent+=_vrp.lower().sent(i,j,mat);
|
||||
}
|
||||
if (sent<demand) {
|
||||
res+=(demand-sent)*lambda;
|
||||
}else{
|
||||
}
|
||||
}
|
||||
_vrp.lower().fitness(-res);
|
||||
_vrp.setMode(false);
|
||||
_vrp.fitness(-res);
|
||||
}
|
||||
private:
|
||||
DistMat & mat;
|
||||
double lambda;
|
||||
};
|
||||
10
branches/contribution/branches/bilevel/src/biVRPPerf2Worth.h
Normal file
10
branches/contribution/branches/bilevel/src/biVRPPerf2Worth.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#include <eoPerf2Worth.h>
|
||||
class biVRPPerf2Worth: public eoPerf2WorthCached<biVRP,biVRP::Fitness>{
|
||||
using eoPerf2WorthCached<biVRP,biVRP::Fitness>::value;
|
||||
virtual void calculate_worths(const eoPop<biVRP> &_pop){
|
||||
value().resize(_pop.size());
|
||||
for (unsigned int i=0;i<_pop.size();i++){
|
||||
value()[i]=1/(-_pop[i].fitness());
|
||||
}
|
||||
}
|
||||
};
|
||||
29
branches/contribution/branches/bilevel/src/biVRPUpEval.h
Normal file
29
branches/contribution/branches/bilevel/src/biVRPUpEval.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include <VRP2.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <biVRP.h>
|
||||
|
||||
class biVRPUpEval: public eoEvalFunc<biVRP>{
|
||||
public:
|
||||
biVRPUpEval(DistMat & _mat):mat(_mat){}
|
||||
|
||||
|
||||
void operator()(biVRP &_vrp){
|
||||
VRP2Eval evalup(mat);
|
||||
evalup(_vrp.upper());
|
||||
double neofit=-_vrp.upper().fitness();
|
||||
for (unsigned int i=0;i<mat.numberOfDepot();i++){
|
||||
for (unsigned int j=0;j<mat.numberOfPlant();j++){
|
||||
neofit+=_vrp.lower().sent(i,j,mat)*mat.cbOfPlant(j);
|
||||
}
|
||||
}
|
||||
_vrp.upper().fitness(-neofit);
|
||||
biVRP::ObjectiveVector obj;
|
||||
if(!_vrp.invalidObjectiveVector())
|
||||
obj=_vrp.objectiveVector();
|
||||
obj[0]=neofit;
|
||||
_vrp.setMode(true);
|
||||
_vrp.fitness(-neofit);
|
||||
}
|
||||
private:
|
||||
DistMat & mat;
|
||||
};
|
||||
210
branches/contribution/branches/bilevel/src/mbiVRPDistMat.cpp
Normal file
210
branches/contribution/branches/bilevel/src/mbiVRPDistMat.cpp
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
#include <mbiVRPDistMat.h>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
#include <utils/eoRNG.h>
|
||||
|
||||
void mbiVRPDistMat::load(const std::string _fname){
|
||||
std::string buf;
|
||||
std::ifstream file(_fname.data());
|
||||
if (file.is_open()){
|
||||
int type;
|
||||
file >> type;
|
||||
if (type!=10){
|
||||
std::cout<<"pas un mbimdvrp"<<std::endl;
|
||||
exit(1);
|
||||
}
|
||||
file>>vehicleNumber;
|
||||
file>>retailerNumber;
|
||||
file>>depotNumber;
|
||||
file>>plantNumber;
|
||||
file>>durationMax;
|
||||
file>>loadMax;
|
||||
vehicleNumber*=depotNumber;
|
||||
retailerDistance.resize(retailerNumber*(retailerNumber+1)/2);
|
||||
depotRetailDistance.resize(retailerNumber*depotNumber);
|
||||
depotPlantDistance.resize(plantNumber*depotNumber);
|
||||
nearestDepot.resize(retailerNumber);
|
||||
plantNearestDepot.resize(plantNumber);
|
||||
classement.resize(retailerNumber);
|
||||
|
||||
|
||||
for(unsigned int i=1;i<depotNumber;i++){
|
||||
unsigned int dur,load;
|
||||
file>>dur;
|
||||
file>>load;
|
||||
if (dur!=durationMax || load!=loadMax)
|
||||
std::cout<<"ne gere pas les durées max ou les charge max multiples("<<load<<"!="<<loadMax<<std::endl;
|
||||
}
|
||||
|
||||
std::vector< std::vector <double> > coords;
|
||||
for (unsigned int i=0;i<retailerNumber+depotNumber+plantNumber;i++){
|
||||
std::vector<double>coord;
|
||||
double x,y,dump,demand;
|
||||
double n;
|
||||
double neocb;
|
||||
file>>dump;
|
||||
file>>x;
|
||||
file>>y;
|
||||
coord.push_back(x);
|
||||
coord.push_back(y);
|
||||
coords.push_back(coord);
|
||||
file>>dump;
|
||||
file>>demand;
|
||||
file>>neocb;
|
||||
file>>n;
|
||||
if (i<retailerNumber) {
|
||||
retailerDemand.push_back(demand);
|
||||
}
|
||||
if (i>=retailerNumber+depotNumber && i<retailerNumber+depotNumber+plantNumber) {
|
||||
plantAvailability.push_back(demand);
|
||||
double neocc=n;
|
||||
double neocd;
|
||||
file>>neocd;
|
||||
cb.push_back(neocb);
|
||||
cc.push_back(neocc);
|
||||
cd.push_back(neocd);
|
||||
}
|
||||
else for (unsigned int j=0;j<n;j++) file>>dump;
|
||||
|
||||
|
||||
|
||||
}
|
||||
for (unsigned int i=0;i<retailerNumber;i++){
|
||||
for(unsigned int j=i+1;j<retailerNumber;j++){
|
||||
unsigned int idx=indexret(i,j);
|
||||
retailerDistance[idx]=computeDist(coords[i][0],coords[i][1], coords[j][0],coords[j][1]);
|
||||
classement[i].insert(std::make_pair(j,retailerDistance[idx]));
|
||||
classement[j].insert(std::make_pair(i,retailerDistance[idx]));
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0;i<depotNumber;i++){
|
||||
for(unsigned int j=0;j<retailerNumber;j++){
|
||||
unsigned int idx=i*numberOfRetailer()+ j;
|
||||
depotRetailDistance[idx]=computeDist(
|
||||
coords[numberOfRetailer()+i][0],
|
||||
coords[numberOfRetailer()+i][1],
|
||||
coords[j][0],
|
||||
coords[j][1]);
|
||||
nearestDepot[j].insert(std::make_pair(i,depotRetailDistance[idx]));
|
||||
}
|
||||
for(unsigned int j=0;j<plantNumber;j++){
|
||||
unsigned int idx=i*numberOfPlant()+j;
|
||||
depotPlantDistance[idx]=computeDist(
|
||||
coords[numberOfRetailer()+numberOfPlant()+i][0],
|
||||
coords[numberOfRetailer()+numberOfPlant()+i][1],
|
||||
coords[j][0],
|
||||
coords[j][1]);
|
||||
plantNearestDepot[j].insert(std::make_pair(i,depotPlantDistance[idx]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
double mbiVRPDistMat::cbOfPlant(unsigned int i){
|
||||
return cb[i];
|
||||
}
|
||||
double mbiVRPDistMat::ccOfPlant(unsigned int i){
|
||||
return cc[i];
|
||||
}
|
||||
double mbiVRPDistMat::cdOfPlant(unsigned int i){
|
||||
return cd[i];
|
||||
}
|
||||
unsigned int mbiVRPDistMat::numberOfVehicle(){
|
||||
return vehicleNumber;
|
||||
}
|
||||
unsigned int mbiVRPDistMat::numberOfDepot(){
|
||||
return depotNumber;
|
||||
}
|
||||
unsigned int mbiVRPDistMat::numberOfRetailer(){
|
||||
return retailerNumber;
|
||||
}
|
||||
unsigned int mbiVRPDistMat::numberOfPlant(){
|
||||
return plantNumber;
|
||||
}
|
||||
bool mbiVRPDistMat::isConstantDemand(){
|
||||
return constantDemand;
|
||||
}
|
||||
bool mbiVRPDistMat::isConstantCapacity(){
|
||||
return constantCapacity;
|
||||
}
|
||||
double mbiVRPDistMat::demand(unsigned int retailer){
|
||||
if (retailer<numberOfRetailer()){
|
||||
return retailerDemand[retailer];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
double mbiVRPDistMat::availability( unsigned int plant){
|
||||
if (plant<numberOfPlant()){
|
||||
return plantAvailability[plant];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
double mbiVRPDistMat::distance(unsigned int retailerA,unsigned int retailerB){
|
||||
if (retailerA < numberOfRetailer() && retailerB < numberOfRetailer()){
|
||||
return retailerDistance[indexret(retailerA,retailerB)];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
double mbiVRPDistMat::depotDistance(unsigned int depot,unsigned int retailer){
|
||||
if(depot<numberOfDepot() && retailer < numberOfRetailer()){
|
||||
int idx=depot*numberOfRetailer()+ retailer;
|
||||
return depotRetailDistance[idx];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
double mbiVRPDistMat::plantDepotDistance(unsigned int depot,unsigned int plant){
|
||||
if(depot<numberOfDepot() && plant < numberOfPlant()){
|
||||
int idx=depot*numberOfPlant()+ plant;
|
||||
return depotPlantDistance[idx];
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
double mbiVRPDistMat::maxLoad(){
|
||||
return loadMax;
|
||||
}
|
||||
|
||||
|
||||
double mbiVRPDistMat::maxDuration(){
|
||||
return 0;
|
||||
}
|
||||
std::multiset<mbiVRPDistMat::ty, mbiVRPDistMat::compaPair> mbiVRPDistMat::getOrder(unsigned int retail){
|
||||
return classement[retail];
|
||||
}
|
||||
std::multiset<mbiVRPDistMat::ty, mbiVRPDistMat::compaPair> mbiVRPDistMat::getOrderPlant(unsigned int plant){
|
||||
return plantNearestDepot[plant];
|
||||
}
|
||||
std::multiset<mbiVRPDistMat::ty, mbiVRPDistMat::compaPair> mbiVRPDistMat::nearDepot(unsigned int i){
|
||||
return nearestDepot[i];
|
||||
}
|
||||
unsigned int mbiVRPDistMat::indexret(unsigned int _a,unsigned int _b){
|
||||
int a,b;
|
||||
if (_b<_a){
|
||||
a=_a;
|
||||
b=_b;
|
||||
}else{
|
||||
a=_b;
|
||||
b=_a;
|
||||
}
|
||||
return b*numberOfRetailer()+a - (b*(b+1)/2);
|
||||
}
|
||||
|
||||
|
||||
double mbiVRPDistMat::computeDist(double xa,double ya,double xb,double yb){
|
||||
double dist;
|
||||
dist=sqrt(pow(xa-xb,2)+pow(ya-yb,2));
|
||||
return dist;
|
||||
}
|
||||
|
||||
69
branches/contribution/branches/bilevel/src/mbiVRPDistMat.h
Normal file
69
branches/contribution/branches/bilevel/src/mbiVRPDistMat.h
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
#ifndef MBIVRPDISTMAT_H
|
||||
#define MBIVRPDISTMAT_H
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
#include <utils/eoRNG.h>
|
||||
#include <DistMat.h>
|
||||
class mbiVRPDistMat :public DistMat{
|
||||
public:
|
||||
void load(const std::string);
|
||||
unsigned int numberOfVehicle();
|
||||
unsigned int numberOfDepot();
|
||||
unsigned int numberOfRetailer();
|
||||
unsigned int numberOfPlant();
|
||||
bool isConstantDemand();
|
||||
bool isConstantCapacity();
|
||||
double demand(unsigned int);
|
||||
double availability(unsigned int);
|
||||
|
||||
double distance(unsigned int,unsigned int);
|
||||
double depotDistance(unsigned int,unsigned int);
|
||||
double plantDepotDistance(unsigned int,unsigned int);
|
||||
double maxLoad();
|
||||
double maxDuration();
|
||||
|
||||
|
||||
|
||||
std::multiset<ty, compaPair> getOrder(unsigned int);
|
||||
std::multiset<ty, compaPair> nearDepot(unsigned int);
|
||||
std::multiset<ty, compaPair> getOrderPlant(unsigned int);
|
||||
double cbOfPlant(unsigned int);
|
||||
double ccOfPlant(unsigned int);
|
||||
double cdOfPlant(unsigned int);
|
||||
private:
|
||||
unsigned int vehicleNumber;
|
||||
unsigned int depotNumber;
|
||||
unsigned int plantNumber;
|
||||
unsigned int retailerNumber;
|
||||
bool constantDemand;
|
||||
double loadMax;
|
||||
double durationMax;
|
||||
std::vector<double> retailerDemand;
|
||||
bool constantCapacity;
|
||||
std::vector<double> vehicleCapacity;
|
||||
std::vector<double> plantAvailability;
|
||||
unsigned int indexret(unsigned int _a,unsigned int _b);
|
||||
double computeDist(double,double,double,double);
|
||||
std::vector<double> cb;
|
||||
std::vector<double> cc;
|
||||
std::vector<double> cd;
|
||||
|
||||
//vecteurs de distance
|
||||
std::vector<double> retailerDistance;
|
||||
std::vector<double> depotRetailDistance ;
|
||||
std::vector<double> depotPlantDistance ;
|
||||
|
||||
|
||||
//classement des distances
|
||||
std::vector<std::multiset < ty , compaPair > > classement;
|
||||
std::vector<std::multiset < ty , compaPair > > plantNearestDepot;
|
||||
std::vector<std::multiset < ty , compaPair > > nearestDepot;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
43
branches/contribution/branches/bilevel/src/mbiVRPLowEval.h
Normal file
43
branches/contribution/branches/bilevel/src/mbiVRPLowEval.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include <VRP2.h>
|
||||
#include <op/VRP2Repair.h>
|
||||
#include <biVRP.h>
|
||||
#include <PLA.h>
|
||||
#include <mbiVRPDistMat.h>
|
||||
class mbiVRPLowEval: public eoEvalFunc<biVRP>{
|
||||
public:
|
||||
mbiVRPLowEval(mbiVRPDistMat& _mat,double _lambda=1000.):mat(_mat),lambda(_lambda){}
|
||||
|
||||
|
||||
void operator()(biVRP &_vrp){
|
||||
biVRP::ObjectiveVector vecres;
|
||||
if (_vrp.invalidObjectiveVector()){
|
||||
_vrp.objectiveVector(vecres);
|
||||
}
|
||||
PLAObjectiveVector res;
|
||||
res[0]=0;
|
||||
res[1]=0;
|
||||
_vrp.lower().repairPlants();
|
||||
for (unsigned int i=0;i<mat.numberOfDepot();i++){
|
||||
VRP2 vrp(_vrp.upper());
|
||||
double demand=vrp.depotDemand(mat,i);
|
||||
double sent=0;
|
||||
for (unsigned int j=0;j<mat.numberOfPlant();j++){
|
||||
res[0]+=_vrp.lower().sent(i,j,mat)*(mat.ccOfPlant(j)+mat.plantDepotDistance(i,j)/10000);
|
||||
res[1]+=_vrp.lower().sent(i,j,mat)*(mat.cdOfPlant(j)+mat.plantDepotDistance(i,j)/10000);
|
||||
sent+=_vrp.lower().sent(i,j,mat);
|
||||
}
|
||||
if (sent<demand) {
|
||||
res[0]+=(demand-sent)*lambda;
|
||||
res[1]+=(demand-sent)*lambda;
|
||||
}
|
||||
}
|
||||
biVRP::ObjectiveVector obj;
|
||||
obj.lowset(res);
|
||||
obj.upset(_vrp.objectiveVector().up());
|
||||
_vrp.objectiveVector(obj);
|
||||
_vrp.lower().fitness(0);
|
||||
}
|
||||
private:
|
||||
mbiVRPDistMat & mat;
|
||||
double lambda;
|
||||
};
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
#ifndef MOEOSTEADYCONTINUE_H_
|
||||
#define MOEOSTEADYCONTINUE_H_
|
||||
#include <set>
|
||||
template <class MOEOT> class moeoSteadyContinue: public eoContinue<MOEOT>{
|
||||
|
||||
|
||||
public:
|
||||
moeoSteadyContinue(int _nbmin,int _nbmax,double _proportion=0.7):first(true),proportion(_proportion),nbmin(_nbmin),nbmax(_nbmax){}
|
||||
bool operator()(const eoPop<MOEOT> &_pop){
|
||||
static int count=0;
|
||||
if(first){
|
||||
current=0;
|
||||
steadystate=false;
|
||||
for (int x=0;x<_pop.size();x++){
|
||||
ol.insert(_pop[x].objectiveVector());
|
||||
}
|
||||
first=false;
|
||||
lastimpr=0;
|
||||
return true;
|
||||
}
|
||||
double countin=0;
|
||||
double countall=0;
|
||||
current++;
|
||||
|
||||
for (int i=0;i<_pop.size();i++){
|
||||
if (ol.count(_pop[i].objectiveVector())!=0){
|
||||
countin++;
|
||||
}
|
||||
countall++;
|
||||
}
|
||||
ol.clear();
|
||||
for (int x=0;x<_pop.size();x++){
|
||||
ol.insert(_pop[x].objectiveVector());
|
||||
}
|
||||
if((countin/countall)>proportion){
|
||||
first=true;
|
||||
ol.clear();
|
||||
lastimpr=current;
|
||||
}
|
||||
return (current<nbmin) ||((current-lastimpr)<nbmax) || (countin/countall)<=proportion;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
struct classcomp {
|
||||
bool operator() (const typename MOEOT::ObjectiveVector &o1, const typename MOEOT::ObjectiveVector &o2) const
|
||||
{
|
||||
return o1[0]<o2[0];
|
||||
}
|
||||
};
|
||||
bool first;
|
||||
std::set<typename MOEOT::ObjectiveVector,classcomp> ol;
|
||||
double proportion;
|
||||
int current;
|
||||
bool steadystate;
|
||||
int lastimpr;
|
||||
int nbmin;
|
||||
int nbmax;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* <PolynomialMutation.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef POLYNOMIALMUTATION_H_
|
||||
#define POLYNOMIALMUTATION_H_
|
||||
|
||||
#include <utils/eoRealVectorBounds.h>
|
||||
|
||||
template<class EOT> class PolynomialMutation: public eoMonOp<EOT>
|
||||
{
|
||||
public:
|
||||
|
||||
PolynomialMutation(eoRealVectorBounds & _bounds, const double& _p_mut = 0.5, const double& _eta = 1.0):
|
||||
p_mut(_p_mut), eta(_eta), bounds(_bounds) {}
|
||||
|
||||
/// The class name.
|
||||
virtual std::string className() const {
|
||||
return "PolynomialMutation";
|
||||
}
|
||||
|
||||
/**
|
||||
* Do it!
|
||||
* @param _eo The indi undergoing the mutation
|
||||
*/
|
||||
bool operator()(EOT& _eo)
|
||||
{
|
||||
bool hasChanged=false;
|
||||
double rnd, delta1, delta2, mut_pow, deltaq, delta_max;
|
||||
double y, yl, yu, val, xy;
|
||||
|
||||
for (unsigned j=0; j<_eo.size(); j++)
|
||||
{
|
||||
if (rng.flip(p_mut))
|
||||
{
|
||||
y = _eo[j];
|
||||
|
||||
yl = bounds.minimum(j);
|
||||
yu = bounds.maximum(j);
|
||||
delta1 = (y-yl)/(yu-yl);
|
||||
delta2 = (yu-y)/(yu-yl);
|
||||
|
||||
|
||||
//Ajout
|
||||
if ( (y-yl) > (yu-y))
|
||||
delta_max = delta2;
|
||||
else
|
||||
delta_max= delta1;
|
||||
//fin ajout
|
||||
|
||||
rnd = rng.uniform();
|
||||
mut_pow = 1.0/(eta+1.0);
|
||||
if (rnd <= 0.5)
|
||||
{
|
||||
xy = 1.0-delta_max;//delta_max au lieu de delta1
|
||||
val = 2.0*rnd+(1.0-2.0*rnd)*(pow(xy,(eta+1.0)));
|
||||
deltaq = pow(val,mut_pow) - 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
xy = 1.0-delta_max;//delta_max au lieu de delta2
|
||||
val = 2.0*(1.0-rnd)+2.0*(rnd-0.5)*(pow(xy,(eta+1.0)));
|
||||
deltaq = 1.0 - (pow(val,mut_pow));
|
||||
}
|
||||
//ajout
|
||||
if (deltaq > delta_max)
|
||||
deltaq = delta_max;
|
||||
else if (deltaq < -delta_max)
|
||||
deltaq= -delta_max;
|
||||
//fin ajout
|
||||
y = y + deltaq*(yu-yl);
|
||||
|
||||
bounds.truncate(j, y);
|
||||
_eo[j] = y;
|
||||
|
||||
hasChanged = true;
|
||||
}
|
||||
}
|
||||
|
||||
return hasChanged;
|
||||
}
|
||||
|
||||
private:
|
||||
double p_mut;
|
||||
double eta;
|
||||
eoRealVectorBounds & bounds;
|
||||
};
|
||||
|
||||
#endif /*POLYNOMIALMUTATION_H_*/
|
||||
194
branches/contribution/branches/bilevel/src/op/SBXCrossover.h
Normal file
194
branches/contribution/branches/bilevel/src/op/SBXCrossover.h
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
/*
|
||||
* <SBXCrossover.h>
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef SBXCROSSOVER_H_
|
||||
#define SBXCROSSOVER_H_
|
||||
|
||||
#include <algorithm> // swap_ranges
|
||||
#include <utils/eoParser.h>
|
||||
#include <utils/eoRNG.h>
|
||||
#include <es/eoReal.h>
|
||||
#include <utils/eoRealBounds.h>
|
||||
#include <utils/eoRealVectorBounds.h>
|
||||
|
||||
template<class EOT> class SBXCrossover: public eoQuadOp<EOT>
|
||||
{
|
||||
public:
|
||||
/****
|
||||
* (Default) Constructor.
|
||||
* The bounds are initialized with the global object that says: no bounds.
|
||||
*
|
||||
*
|
||||
*/
|
||||
SBXCrossover(const double& _eta = 1.0) :
|
||||
bounds(eoDummyVectorNoBounds), eta(_eta), range(1) {}
|
||||
|
||||
|
||||
//////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Constructor with bounds
|
||||
* @param _bounds an eoRealVectorBounds that contains the bounds
|
||||
* @param _alphaMin the amount of exploration OUTSIDE the parents
|
||||
* as in BLX-alpha notation (Eshelman and Schaffer)
|
||||
* 0 == contractive application
|
||||
* Must be positive
|
||||
*/
|
||||
|
||||
|
||||
|
||||
SBXCrossover(eoRealVectorBounds & _bounds,
|
||||
const double& _eta = 1.0) :
|
||||
bounds(_bounds), eta(_eta), range(1) {}
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
//////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Constructor from a parser. Will read from the argument parser
|
||||
* eoRealVectorBounds that contains the bounds
|
||||
* eta, the SBX parameter
|
||||
*/
|
||||
|
||||
SBXCrossover(eoParser & _parser) :
|
||||
// First, decide whether the objective variables are bounded
|
||||
// Warning, must be the same keywords than other possible objectBounds elsewhere
|
||||
bounds (_parser.getORcreateParam(eoDummyVectorNoBounds, "objectBounds", "Bounds for variables", 'B', "Variation Operators").value()) ,
|
||||
// then get eta value
|
||||
eta (_parser.getORcreateParam(1.0, "eta", "SBX eta parameter", '\0', "Variation Operators").value()) ,
|
||||
range(1) {}
|
||||
|
||||
# define EPS 1.0e-14
|
||||
|
||||
/// The class name.
|
||||
virtual std::string className() const {
|
||||
return "SBXCrossover";
|
||||
}
|
||||
|
||||
/*****************************************
|
||||
* SBX crossover - modifies both parents *
|
||||
* @param _eo1 The first parent *
|
||||
* @param _eo2 The first parent *
|
||||
*****************************************/
|
||||
bool operator()(EOT& _eo1, EOT& _eo2)
|
||||
{
|
||||
unsigned i;
|
||||
double rand;
|
||||
double y1, y2, yl, yu;
|
||||
double c1, c2;
|
||||
double alpha, beta, betaq;
|
||||
bool changed = false;
|
||||
|
||||
for (i=0; i<_eo1.size(); i++)
|
||||
{
|
||||
if (true)
|
||||
{
|
||||
if (fabs(_eo1[i] - _eo2[i]) > EPS) // pour éviter la division par 0
|
||||
{
|
||||
// y2 doit être > à y1
|
||||
if (_eo1[i] < _eo2[i])
|
||||
{
|
||||
y1 = _eo1[i];
|
||||
y2 = _eo2[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
y1 = _eo2[i];
|
||||
y2 = _eo1[i];
|
||||
}
|
||||
yl = bounds.minimum(i);
|
||||
yu = bounds.maximum(i);
|
||||
|
||||
rand = rng.uniform();
|
||||
|
||||
beta = 1.0 + (2.0 * (y1 - yl) / (y2 - y1));
|
||||
alpha = 2.0 - pow( beta, -(eta + 1.0));
|
||||
if (rand <= (1.0/alpha))
|
||||
{
|
||||
betaq = pow ( (rand * alpha), (1.0 / (eta + 1.0)));
|
||||
}
|
||||
else
|
||||
{
|
||||
betaq = pow ( (1.0 / (2.0 - rand * alpha)), (1.0 / (eta+1.0)));
|
||||
}
|
||||
c1 = 0.5 * ((y1 + y2) - betaq * (y2 - y1));
|
||||
|
||||
beta = 1.0 + (2.0 * (yu - y2) / (y2 - y1));
|
||||
alpha = 2.0 - pow( beta, -(eta + 1.0));
|
||||
if (rand <= (1.0/alpha))
|
||||
{
|
||||
betaq = pow ( (rand * alpha), (1.0 / (eta + 1.0)));
|
||||
}
|
||||
else
|
||||
{
|
||||
betaq = pow ( (1.0 / (2.0 - rand * alpha)), (1.0 / (eta + 1.0)));
|
||||
}
|
||||
c2 = 0.5 * ((y1 + y2) + betaq * (y2 - y1));
|
||||
|
||||
bounds.truncate(i, c1);
|
||||
bounds.truncate(i, c2);
|
||||
|
||||
if (rng.flip())
|
||||
{
|
||||
_eo1[i] = c2;
|
||||
_eo2[i] = c1;
|
||||
}
|
||||
else
|
||||
{
|
||||
_eo1[i] = c1;
|
||||
_eo2[i] = c2;
|
||||
}
|
||||
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
eoRealVectorBounds & bounds;
|
||||
double eta;
|
||||
double range; // == 1
|
||||
};
|
||||
|
||||
#endif /*SBXCROSSOVER_H_*/
|
||||
65
branches/contribution/branches/bilevel/src/op/VRP2RBX.h
Normal file
65
branches/contribution/branches/bilevel/src/op/VRP2RBX.h
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <VRP2.h>
|
||||
#include <utils/eoRNG.h>
|
||||
class VRP2RBX: public eoBinOp<VRP2>{
|
||||
public:
|
||||
VRP2RBX(float _proba=0.5, eoRng &_rnd=eo::rng):proba(_proba),rnd(_rnd){}
|
||||
bool operator()(VRP2 & vrp1, const VRP2 &vrp2){
|
||||
unsigned int cur=0;
|
||||
std::set<int> alreadyIn;
|
||||
for (unsigned int i=0;i<vrp1.size();){
|
||||
if (vrp1.isVehicleAt(i) && rnd.flip(proba)){
|
||||
alreadyIn.insert(vrp1[i]);
|
||||
vrp1[cur++]=vrp1[i++];
|
||||
while (!vrp1.isVehicleAt(i)&& i<vrp1.size()){
|
||||
alreadyIn.insert(vrp1[i]);
|
||||
vrp1[cur++]=vrp1[i++];
|
||||
}
|
||||
}else{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0;i<vrp2.size()&& cur<vrp1.size();i++){
|
||||
if (!alreadyIn.count(vrp2[i]))
|
||||
vrp1[cur++]=vrp2[i];
|
||||
}
|
||||
vrp1.invalidate();
|
||||
return true;
|
||||
}
|
||||
private:
|
||||
float proba;
|
||||
eoRng &rnd;
|
||||
};
|
||||
119
branches/contribution/branches/bilevel/src/op/VRP2Repair.h
Normal file
119
branches/contribution/branches/bilevel/src/op/VRP2Repair.h
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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 VRP2REPAIR_H_
|
||||
#define VRP2REPAIR_H_
|
||||
#include <VRP2.h>
|
||||
#include <utils/eoRNG.h>
|
||||
#include <cmath>
|
||||
class VRP2Repair : public eoMonOp<VRP2> {
|
||||
|
||||
public:
|
||||
VRP2Repair(DistMat &_mat, eoRng& _rng, float _bias = 0.5 ):rng(_rng),gen(_bias,_rng),mat(_mat){}
|
||||
VRP2Repair(DistMat &_mat, float _bias = 0.5):rng(eo::rng),gen(_bias,rng),mat(_mat){}
|
||||
|
||||
bool operator()(VRP2 &_vrp){
|
||||
VRP2 res(_vrp);
|
||||
double chargeMax=mat.maxLoad();
|
||||
std::list<int> listRes;
|
||||
std::list<std::pair <std::list<int>::iterator, double > > itesLibres;
|
||||
bool first=true;
|
||||
unsigned int currentVehicle=0;
|
||||
unsigned int i;
|
||||
std::vector<int> malplaces;
|
||||
|
||||
while(first ||currentVehicle<_vrp.size()){
|
||||
double charge;
|
||||
if(first)charge=_vrp.chargeOfVehicleAt(mat,-1);
|
||||
else charge=_vrp.chargeOfVehicleAt(mat,currentVehicle);
|
||||
bool OK=charge<=chargeMax;
|
||||
if (OK) {
|
||||
for(i=(first?0:currentVehicle+1);i<_vrp.size() && !_vrp.isVehicleAt(i);i++){
|
||||
listRes.push_back(_vrp[i]);
|
||||
}
|
||||
if (i<_vrp.size()){
|
||||
std::list<int>::iterator it=listRes.insert(listRes.end(),_vrp[i]);
|
||||
if (_vrp.isVehicleAt(i)){
|
||||
std::make_pair(it,charge);
|
||||
itesLibres.push_back(std::make_pair(it,charge));
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
charge=0;
|
||||
for (i=(first?0:currentVehicle+1); i<_vrp.size() && !_vrp.isVehicleAt(i); i++){
|
||||
if (charge+mat.demand(_vrp[i])<=chargeMax ){
|
||||
charge+=mat.demand(_vrp[i]);
|
||||
listRes.push_back(_vrp[i]);
|
||||
}else{
|
||||
malplaces.push_back(i);
|
||||
}
|
||||
}
|
||||
listRes.push_back(_vrp[i]);
|
||||
}
|
||||
currentVehicle=i;
|
||||
first=false;
|
||||
}
|
||||
for (unsigned int j=0;j<malplaces.size();j++){
|
||||
bool done=false;
|
||||
std::list<std::pair< std::list<int>::iterator, double> >::iterator it;
|
||||
i=malplaces[j];
|
||||
for(it=itesLibres.begin();it!=itesLibres.end()&&!done;it++){
|
||||
if((*it).second+mat.demand(_vrp[i])<=chargeMax){
|
||||
done=true;
|
||||
listRes.insert((*it).first,_vrp[i]);
|
||||
(*it).second+=mat.demand(_vrp[i]);
|
||||
}
|
||||
}
|
||||
if(!done) {
|
||||
listRes.push_back(_vrp[i]);
|
||||
}
|
||||
}
|
||||
int cur=0;
|
||||
for (std::list<int>::iterator it=listRes.begin();it!=listRes.end();it++){
|
||||
_vrp[cur++]=*it;
|
||||
}
|
||||
_vrp.invalidate();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
eoRng &rng;
|
||||
eoBooleanGenerator gen;
|
||||
DistMat &mat;
|
||||
|
||||
|
||||
};
|
||||
#endif
|
||||
82
branches/contribution/branches/bilevel/src/op/VRP2SBX.h
Normal file
82
branches/contribution/branches/bilevel/src/op/VRP2SBX.h
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <VRP2.h>
|
||||
#include <utils/eoRNG.h>
|
||||
class VRP2SBX: public eoBinOp<VRP2>{
|
||||
|
||||
public:
|
||||
VRP2SBX(float _proba=0.5, eoRng &_rnd=eo::rng):proba(_proba),rnd(_rnd){}
|
||||
bool operator()(VRP2 & vrp1, const VRP2 &vrp2){
|
||||
VRP2 res(vrp1);
|
||||
int link1=-1,link2=-1;
|
||||
int vehicle1;
|
||||
while (link1==-1 || vrp1.isVehicleAt(link1)){
|
||||
link1=rnd.random(vrp1.size());
|
||||
}
|
||||
while (link2==-1 || vrp2.isVehicleAt(link2)){
|
||||
link2=rnd.random(vrp2.size());
|
||||
}
|
||||
for (vehicle1=link1;vehicle1>=0;vehicle1--)
|
||||
if (vrp1.isVehicleAt(vehicle1))
|
||||
break;
|
||||
std::set<int> retailAfterLink2;
|
||||
for (unsigned int i =link2;i<vrp2.size() && ! vrp2.isVehicleAt(i);i++)
|
||||
retailAfterLink2.insert(vrp2[i]);
|
||||
int cur=0;
|
||||
int i=0;
|
||||
for (i=0;i<link1;i++){
|
||||
if (!retailAfterLink2.count(vrp1[i])){
|
||||
res[cur++]=vrp1[i];
|
||||
}
|
||||
}
|
||||
unsigned int cur2;
|
||||
for (cur2=link2;!vrp2.isVehicleAt(cur2)&& cur2 <vrp2.size();cur2++){
|
||||
res[cur++]=vrp2[cur2];
|
||||
}
|
||||
for (unsigned int i=link1; i< vrp1.size() && cur<< vrp1.size(); i++){
|
||||
if (!retailAfterLink2.count(vrp1[i])){
|
||||
res[cur++]=vrp1[i];
|
||||
}
|
||||
}
|
||||
vrp1=res;
|
||||
vrp1.invalidate();
|
||||
return true;
|
||||
|
||||
}
|
||||
private:
|
||||
float proba;
|
||||
eoRng &rnd;
|
||||
|
||||
};
|
||||
39
branches/contribution/branches/bilevel/src/op/VRPXover.h
Normal file
39
branches/contribution/branches/bilevel/src/op/VRPXover.h
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <VRP.h>
|
||||
|
||||
class VRPXover: public eoQuadOp<VRP>{
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary operator making the "best" coevolution
|
||||
//takes the lower level from the second element and the higher from the first
|
||||
#ifndef BEOBESTEXCHANGE_H_
|
||||
#define BEOBESTEXCHANGE_H_
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template <class BEOT> class beoBestExchange: public beoCoevoOp<BEOT>{
|
||||
bool operator()(BEOT &a, BEOT &b){
|
||||
a.lower()=b.lower();
|
||||
b.upper()=a.upper();
|
||||
a.invalidate();
|
||||
b.invalidate();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary operator that swap the lower level variable
|
||||
#ifndef BEOCOEVOLOWEXCHANGE_H_
|
||||
#define BEOCOEVOLOWEXCHANGE_H_
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template<class BEOT> class beoCoevoLowExchange: public beoCoevoOp<BEOT>{
|
||||
bool operator()(BEOT &a, BEOT &b){
|
||||
typename BEOT::L tmp(a.lower());
|
||||
a.lower()=b.lower();
|
||||
b.lower()=tmp;
|
||||
a.invalidate();
|
||||
b.invalidate();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary operator that swap the higher level variable
|
||||
#ifndef BEOCOEVOUPEXCHANGE_H_
|
||||
#define BEOCOEVOUPEXCHANGE_H_
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template <class BEOT> class beoCoevoUpExchange: public beoCoevoOp<BEOT>{
|
||||
bool operator()(BEOT &a, BEOT &b){
|
||||
typename BEOT::U tmp(a.upper());
|
||||
a.upper()=b.upper();
|
||||
b.upper()=tmp;
|
||||
a.invalidate();
|
||||
b.invalidate();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary operator that copy the second element into the first
|
||||
#ifndef BEOLEFTIEEXCHANGE_H_
|
||||
#define BEOLEFTIEEXCHANGE_H_
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template <class BEOT> class beoLeftieExchange: public beoCoevoOp<BEOT>{
|
||||
bool operator()(BEOT &a, BEOT &b){
|
||||
a=b;
|
||||
a.invalidate();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//coevolutionary operator container
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template <class BEOT> class beoRateContainerCoevoOp: public beoCoevoOp<BEOT>{
|
||||
public:
|
||||
beoRateContainerCoevoOp(beoCoevoOp<BEOT> &_op, double _rate, eoRng &_rng= eo::rng):rng(_rng){
|
||||
add (_op,_rate);
|
||||
}
|
||||
|
||||
void add(beoCoevoOp<BEOT> &_op, double _rate){
|
||||
ops.push_back(&_op);
|
||||
rates.push_back(_rate);
|
||||
}
|
||||
|
||||
bool operator()(BEOT &_b1, BEOT &_b2){
|
||||
int i=rng.roulette_wheel(rates);
|
||||
return (*ops[i])(_b1,_b2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
std::vector<beoCoevoOp <BEOT>* > ops;
|
||||
std::vector<double> rates;
|
||||
eoRng &rng;
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
//Coevolutionary operator that copy the first element into the second one
|
||||
#ifndef BEORIGHTIEEXCHANGE_H_
|
||||
#define BEORIGHTIEEXCHANGE_H_
|
||||
#include <eoOp.h>
|
||||
#include <beoCoevoOp.h>
|
||||
template <class BEOT> class beoRightieExchange: public beoCoevoOp<BEOT>{
|
||||
bool operator()(BEOT &a, BEOT &b){
|
||||
b=a;
|
||||
b.invalidate();
|
||||
return true;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
72
branches/contribution/branches/bilevel/src/op/biVRPRBX.h
Normal file
72
branches/contribution/branches/bilevel/src/op/biVRPRBX.h
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <biVRP.h>
|
||||
#include <utils/eoRNG.h>
|
||||
class biVRPRBX: public eoBinOp<biVRP>{
|
||||
|
||||
public:
|
||||
biVRPRBX(float _proba=0.5, eoRng &_rnd=eo::rng):proba(_proba),rnd(_rnd){}
|
||||
bool operator()(biVRP & vrp1, const biVRP &vrp2){
|
||||
unsigned int cur=0;
|
||||
std::set<int> alreadyIn;
|
||||
biVRP res(vrp1);
|
||||
for (unsigned int i=0;i<vrp1.upper().size();i++){
|
||||
if (vrp1.upper().isVehicleAt(i) && rnd.flip(proba)){
|
||||
alreadyIn.insert(vrp1.upper()[i]);
|
||||
res.upper()[cur++]=vrp1.upper()[i];
|
||||
while (!vrp1.upper().isVehicleAt(i)&& i<vrp1.upper().size()){
|
||||
alreadyIn.insert(vrp1.upper()[i]);
|
||||
res.upper()[cur++]=vrp1.upper()[i];
|
||||
}
|
||||
}else{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0;i<vrp2.upper().size()&& cur<vrp1.upper().size();i++){
|
||||
if (!alreadyIn.count(vrp2.upper()[i])){
|
||||
res.upper()[cur++]=vrp2.upper()[i];
|
||||
}
|
||||
|
||||
}
|
||||
vrp1=res;
|
||||
vrp1.invalidate();
|
||||
return true;
|
||||
|
||||
}
|
||||
private:
|
||||
float proba;
|
||||
eoRng &rnd;
|
||||
|
||||
};
|
||||
79
branches/contribution/branches/bilevel/src/op/biVRPSBX.h
Normal file
79
branches/contribution/branches/bilevel/src/op/biVRPSBX.h
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2010
|
||||
*
|
||||
* Legillon Francois
|
||||
*
|
||||
* 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
|
||||
*
|
||||
*/
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <biVRP.h>
|
||||
#include <utils/eoRNG.h>
|
||||
class biVRPSBX: public eoBinOp<biVRP>{
|
||||
|
||||
public:
|
||||
biVRPSBX(float _proba=0.5, eoRng &_rnd=eo::rng):proba(_proba),rnd(_rnd){}
|
||||
bool operator()(biVRP & vrp1, const biVRP &vrp2){
|
||||
biVRP::U res(vrp1.upper());
|
||||
int link1=-1,link2=-1;
|
||||
while (link1==-1 || vrp1.upper().isVehicleAt(link1)){
|
||||
link1=rnd.random(vrp1.upper().size());
|
||||
}
|
||||
while (link2==-1 || vrp2.upper().isVehicleAt(link2)){
|
||||
link2=rnd.random(vrp2.upper().size());
|
||||
}
|
||||
std::set<int> retailAfterLink2;
|
||||
for (unsigned int i =link2;i<vrp2.upper().size() && ! vrp2.upper().isVehicleAt(i);i++){
|
||||
retailAfterLink2.insert(vrp2.upper()[i]);
|
||||
}
|
||||
unsigned int cur=0;
|
||||
int i=0;
|
||||
for (i=0;i<link1;i++){
|
||||
if (!retailAfterLink2.count(vrp1.upper()[i])){
|
||||
res[cur++]=vrp1.upper()[i];
|
||||
}
|
||||
}
|
||||
unsigned int cur2;
|
||||
for (cur2=link2;cur2 <vrp2.upper().size()&&(!vrp2.upper().isVehicleAt(cur2));cur2++){
|
||||
res[cur++]=vrp2.upper()[cur2];
|
||||
}
|
||||
for (unsigned int i=link1; i< vrp1.upper().size() && cur< vrp1.upper().size(); i++){
|
||||
if (!retailAfterLink2.count(vrp1.upper()[i])){
|
||||
res[cur++]=vrp1.upper()[i];
|
||||
}
|
||||
}
|
||||
vrp1.upper()=res;
|
||||
vrp1.invalidate();
|
||||
return true;
|
||||
|
||||
}
|
||||
private:
|
||||
float proba;
|
||||
eoRng &rnd;
|
||||
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue