-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature/multi solver interface (#152)
* add test resources * Correction bug JSON operational_cost * Adding end to end tests for benders End to end tests for executables benderssequential, bendersmpi and merge_mps. Features : - Modifying structure of file containing subproblems weights, adding a line WEIGHT_SUM - Applying the options OUTPUTROOT to every output of optimization - Dumping an a-priori out.json file with a status ERROR before optimization begins. Bug Correction : - merge_mps : merge_mps had a bug when a file is given to set subproblems weights, bug corrected. - merge_mps : the operationnal cost and overall costs where not dumped in out.json in merge_mps. bug corrected. * Modification of REAMDE's format * Add options.OUTPUTROOT to outputs * Add options.OUTPUTROOT to bendersMpi Google Log * No JsonValue in IF condition * -- * Correction bug JsonValue Compilation Ubuntu * Delete last call to print_solution * PR correction + write error probs in outputroot Adding headers in project BendersEndToEnd tests on np.arrays Writing error probs in outputroot directory * Deleting redundant Json solution output "optimality" Two Json outputs in section "solution" said the same thing : boolean "optimality" and string "problem_status". We keep only the string as it can be more precise if we catch different status such as time_limit, iteration_limit, problem_unbounded, problem_infeasible ... * first commit copy of interface * Compilation part of interface * Add test ressources * Unit tests for multisolver interface * Cleaning * Get and set names * getColIndex & getRowIndex * Cleaning and comments * library link * Copy constructor and begin modif ortools_utils * -- * Correction * Correcting bug instance mini LP * Begin benders test * modif test Benders * test add cols and rows * Correcting multiple bugs on interface * -- * Cbc reduces bounds of master with presolve, resulting in wrong sol Trying to change interface, everything is done on a OsiClp*, only passed to Cbc for solve, such that original model always keep somewhere * Modif Cbc structure, interface in berdersmpi and mergemps * merge mps correcting + Cbc log level + cleaning * Less copies in Cbc and xpress std output * begin rename folders * Rename folders - step 2 * Moving solver interface tests to tests/ * Cmakes * add interface to lp_namer Need to modify CMakeLists * lp_namer ok Need to modify analyse_mps * Compile with interface * Delete old benders interface tests * lp_namer integration Need to modify the tests from project "unit_tests" * -- * Deleting files remaining after merge * -- fix row and col names in the interface -- * Multisolver correction for or-tools dependency remove (#154) * test with some package installation * remove coin package installation from vcpkg to use version compiled with or-tools * WIP : remove of or-tools include use of glog and gflags remove sirius solver dependency remove ortools test * replace or-tools dependency by coin linux compilation * linux compilation * linux compilation * remove coin installation on linux * add unit_solver test to ctest and linux support for unit_solver test (#155) * Feature/antares deps no ortools (#156) * define antares-deps version and use 2.0.0-rc1 version * error in antares deps package name * update antares-deps submodule * remove external deps compilation on CI * add zlib-devel install on centos7 for coin use * Feature/xpress 8 11 use (#157) * remove assert not needed * del of objective row only if option not set for compatibility with default val of -1 in xpress 8.11 * Feature/review multi solver interface api (#158) * get_mip_value now returns value instead of reference use * get_lp_value now returns value instead of reference use * get_simplex_ite now returns value instead of reference use * remove commented lines remove of ORTOOLS_LP_SOLVER_TYPE * review of get_col_index call in merge_mps and lp_namer * solve_mip and solve_lp return status instead of reference use * review comment SolverAbstract * rename SolverAbstract optimitilty_gap to set_optimitilty_gap * move include of multisolver_interface in a specific include directory * split read_prob / write_prob in 2 functions for MPS and LP (#159) * split read_prob / write_prob in 2 functions for MPS and LP * correction flags for writing lp with xpress * use of writeLp for SolverClp and LP problem write * use of readLp for SolverCbc and LP problem read refactor for CbcModel definition when _clp_inner_solver is changed * rename ortools_utils and associated functions (#160) * Define InvalidStatusException for status check (#161) * define InvalidStatusException for status check * Catch std::exception in benders_mpi / benders_sequential / merge_mps * review get_row_names and get_col_names (#163) get_row_names and get_col_names return instead of reference add exception in case of invalid col or row size available (only for Cbc) * review chg_obj chg_bounds chg_col_type (#164) * review chg_obj use of std::vector instead of pointer * review chg_bounds and chg_col_type : use of std::vector instead of pointer * use exception instead of exit(1) in case of invalid col type or bound type * add test for new exception * add exception for invalid option use (#165) * review copy constructor exception and exception for invalid solver name (#166) * review of copy constructor with a new exception * add exception for invalid solver name * Feature/add generic exception for exit (#170) * rename InvalidSolverName to InvalidSolverNameException * replace exit() with exception * correction merge Co-authored-by: Xavier Blanchot <[email protected]> Co-authored-by: Manuel Ruiz <[email protected]>
- Loading branch information
1 parent
ce1ae46
commit c40b3c6
Showing
82 changed files
with
24,816 additions
and
2,015 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,7 +27,7 @@ jobs: | |
run: | | ||
yum install -y wget git epel-release redhat-lsb-core gcc gcc-c++ make centos-release-scl scl-utils | ||
yum install -y jsoncpp-devel gtest-devel openmpi-devel boost-openmpi-devel doxygen graphviz boost-program-options | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build zlib-devel | ||
- uses: nelonoel/[email protected] | ||
|
@@ -50,12 +50,19 @@ jobs: | |
path: 'antares-version.json' | ||
prop_path: 'antares_xpansion_version' | ||
|
||
- name: Read antares-deps version | ||
id: antares-deps-version | ||
uses: notiz-dev/github-action-json-property@release | ||
with: | ||
path: 'antares-version.json' | ||
prop_path: 'antares_deps_version' | ||
|
||
|
||
- name: Download pre-compiled librairies | ||
run: | | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v1.1.0/rte-antares-deps-centos7-Release-solver.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v${{steps.antares-deps-version.outputs.prop}}/rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/Antares_Simulator/releases/download/v${{steps.antares-version.outputs.prop}}/antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz | ||
tar -xvf antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz -C rte-antares-deps-Release --strip-components=1 | ||
|
@@ -74,7 +81,7 @@ jobs: | |
source /opt/rh/devtoolset-7/enable | ||
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH | ||
export PATH=/usr/lib64/openmpi/bin:$PATH | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_INSTALL_PREFIX=_install | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_INSTALL_PREFIX=_install -DBUILD_not_system=OFF | ||
- name: Build | ||
run: | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,7 +27,7 @@ jobs: | |
run: | | ||
yum install -y wget git epel-release redhat-lsb-core gcc gcc-c++ make centos-release-scl scl-utils | ||
yum install -y jsoncpp-devel gtest-devel openmpi-devel doxygen graphviz | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build zlib-devel | ||
- uses: nelonoel/[email protected] | ||
|
@@ -50,11 +50,18 @@ jobs: | |
path: 'antares-version.json' | ||
prop_path: 'antares_xpansion_version' | ||
|
||
- name: Read antares-deps version | ||
id: antares-deps-version | ||
uses: notiz-dev/github-action-json-property@release | ||
with: | ||
path: 'antares-version.json' | ||
prop_path: 'antares_deps_version' | ||
|
||
- name: Download pre-compiled librairies | ||
run: | | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v1.1.0/rte-antares-deps-centos7-Release-solver.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v${{steps.antares-deps-version.outputs.prop}}/rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/Antares_Simulator/releases/download/v${{steps.antares-version.outputs.prop}}/antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz | ||
tar -xvf antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz -C rte-antares-deps-Release --strip-components=1 | ||
|
@@ -85,7 +92,7 @@ jobs: | |
source /opt/rh/devtoolset-7/enable | ||
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH | ||
export PATH=/usr/lib64/openmpi/bin:$PATH | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_PREFIX_PATH=./opt/boost_1_75_0 -DCMAKE_INSTALL_PREFIX=_install | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_PREFIX_PATH=./opt/boost_1_75_0 -DCMAKE_INSTALL_PREFIX=_install -DBUILD_not_system=OFF | ||
- name: Build | ||
run: | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,7 +25,7 @@ jobs: | |
run: | | ||
yum install -y wget git epel-release redhat-lsb-core gcc gcc-c++ make centos-release-scl scl-utils | ||
yum install -y jsoncpp-devel gtest-devel openmpi-devel boost-openmpi-devel doxygen graphviz boost-program-options | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build | ||
yum install -y cmake3 devtoolset-7 environment-modules rpm-build zlib-devel | ||
- uses: nelonoel/[email protected] | ||
|
||
|
@@ -47,15 +47,22 @@ jobs: | |
path: 'antares-version.json' | ||
prop_path: 'antares_xpansion_version' | ||
|
||
- name: Read antares-deps version | ||
id: antares-deps-version | ||
uses: notiz-dev/github-action-json-property@release | ||
with: | ||
path: 'antares-version.json' | ||
prop_path: 'antares_deps_version' | ||
|
||
- name: Get release | ||
id: get_release | ||
uses: bruceadams/[email protected] | ||
|
||
- name: Download pre-compiled librairies | ||
run: | | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v1.1.0/rte-antares-deps-centos7-Release-solver.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v${{steps.antares-deps-version.outputs.prop}}/rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release-solver-no-ortools.tar.gz | ||
wget https://github.com/AntaresSimulatorTeam/Antares_Simulator/releases/download/v${{steps.antares-version.outputs.prop}}/antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz | ||
tar -xvf antares-${{steps.antares-version.outputs.prop}}-CentOS-7.9.2009.tar.gz -C rte-antares-deps-Release --strip-components=1 | ||
|
@@ -74,7 +81,7 @@ jobs: | |
source /opt/rh/devtoolset-7/enable | ||
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:$LD_LIBRARY_PATH | ||
export PATH=/usr/lib64/openmpi/bin:$PATH | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_INSTALL_PREFIX=_install | ||
cmake3 -B _build -S . -DDEPS_INSTALL_DIR=rte-antares-deps-Release -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DUSE_SEQUENTIAL=true -DUSE_MPI=true -DCMAKE_INSTALL_PREFIX=_install -DBUILD_not_system=OFF | ||
- name: Build | ||
run: | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
[submodule "antares-deps"] | ||
path = antares-deps | ||
url = https://github.com/AntaresSimulatorTeam/antares-deps.git | ||
branch = v1.0.2 | ||
branch = v2.0.0-rc1 |
Oops, something went wrong.