Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
80d4673
CMake better handling of symlink when installing 3rd-party lib #469
cyrilbouvier Nov 3, 2020
80be465
Revert "CMake better handling of symlink when installing 3rd-party li…
cyrilbouvier Dec 2, 2020
723eb3a
Second attempt at fixing symlink from 3rd-party lib #469
cyrilbouvier Dec 2, 2020
75da3a4
Merge remote-tracking branch 'origin/master' into develop
gchabert Dec 4, 2020
e055374
Remove dependency to affine plugin in OptimizerO4Config
gchabert Dec 4, 2020
93c4d2c
Cmake: improve tests scripts + allow some scripts to be shared with p…
cyrilbouvier Dec 9, 2020
52d917f
Update wscript (for dependency management)
gchabert Dec 10, 2020
343f045
Merge branch 'develop' of https://github.com/ibex-team/ibex-lib into …
gchabert Dec 10, 2020
bc10f46
CMake: large rewriting of how dependencies are handled. Need to updat…
cyrilbouvier Dec 16, 2020
388b8bc
Merge branch 'develop' of github.com:ibex-team/ibex-lib into develop
cyrilbouvier Dec 16, 2020
807b79d
CMake: fix setting version in FindGaol and FindMathlib script
cyrilbouvier Dec 16, 2020
cecddac
Clp: first version of CMake script + wrapper file from raphaelchenoua…
cyrilbouvier Dec 17, 2020
b531cfa
Update ibex_LPLibWrapper.cpp
raphaelchenouard Dec 17, 2020
498925a
CMake: improve FindClp
cyrilbouvier Dec 17, 2020
10d5eee
Merge pull request #490 from raphaelchenouard/patch-2
gchabert Dec 17, 2020
6f9b20a
Merge branch 'develop' of github.com:ibex-team/ibex-lib into develop
cyrilbouvier Dec 17, 2020
aa52f2d
CMake: first step towards automatic installation of Clp (WIP)
cyrilbouvier Dec 17, 2020
00d2c7e
CMake: let Gaol install itself on OSX 64bits
cyrilbouvier Dec 17, 2020
b4316ff
CMake: CMAKE_SYSTEM for OSX is Darwin not DARWIN
cyrilbouvier Dec 17, 2020
5ba917f
CMake: update FindClp.cmake script
cyrilbouvier Dec 18, 2020
b700753
Fix waf
cyrilbouvier Dec 18, 2020
d099b2d
CMake: In gaol script, put sse and math-rounding flags in interface
cyrilbouvier Dec 18, 2020
f1659c8
CI: trying to fix travis on OSX
cyrilbouvier Dec 18, 2020
11c5030
CI: trying to fix travis on OSX (2)
cyrilbouvier Dec 18, 2020
70e4464
CI: trying to fix travis on OSX (3)
cyrilbouvier Dec 18, 2020
9450aa2
CI: trying to fix travis on OSX (4)
cyrilbouvier Dec 18, 2020
80ec9e6
various modifications to make clp wrapper compile, but there is now a…
raphaelchenouard Dec 18, 2020
fe0409f
CMake: temporary fix for Debug mode #492
cyrilbouvier Dec 19, 2020
97a040c
Merge branch 'develop' of github.com:ibex-team/ibex-lib into develop
cyrilbouvier Dec 19, 2020
aff3597
fix about unbounded constraints and clear_constraints.
raphaelchenouard Dec 21, 2020
c15089b
doc update: ibexsolve (in progress)
gchabert Dec 21, 2020
e154673
doc update: ibexsolve (ok). + Change in solver strategy when m=0
gchabert Dec 22, 2020
e6947ba
doc update: ibexsolve (minor)
gchabert Dec 22, 2020
c39c135
Doc update
gchabert Dec 22, 2020
f353d73
Doc update
gchabert Dec 22, 2020
90df267
Doc update (mainly ibexopt)
gchabert Dec 22, 2020
a88391c
Doc update (mainly ibexopt)
gchabert Dec 22, 2020
2a647e7
optim: fix bug in rigor mode (was using subset of constraints for lou…
gchabert Dec 29, 2020
ee6dbde
doc update
gchabert Dec 29, 2020
f3d3f94
Doc update after #411
gchabert Jan 3, 2021
d2ad230
Doc update
gchabert Jan 3, 2021
fbee27e
fix bug in clp wrapper due to a copy/paste...
raphaelchenouard Jan 4, 2021
0f4048d
Adding several basic LPSolver tests.
raphaelchenouard Jan 4, 2021
1615bd1
CMake: fix typo in installation directory of soplex library
cyrilbouvier Jan 4, 2021
c80352c
Merge branch 'develop' of github.com:ibex-team/ibex-lib into develop
cyrilbouvier Jan 4, 2021
14ddf88
CMake: trying to fix ibex.pc
cyrilbouvier Jan 4, 2021
f71f15a
Add several fixes in clp wrapper (col and row methods) and add additi…
raphaelchenouard Jan 5, 2021
e5634cb
CMake: putting Java plugin into core (TODO: add Java tests)
cyrilbouvier Jan 5, 2021
0343206
Merge branch 'develop' of github.com:ibex-team/ibex-lib into develop
cyrilbouvier Jan 5, 2021
4182662
Fix #485
gchabert Jan 5, 2021
32fb79d
CMake: fix soplex compilation when Ibex is compiled as shared lib #466
cyrilbouvier Jan 6, 2021
33e48cc
CMake: update script for examples
cyrilbouvier Jan 7, 2021
779fbe3
correcting ackley examples
bneveu Jan 8, 2021
c3331ce
ignoring cov files
bneveu Jan 8, 2021
a09782b
optim: remove old IBEX_AMPL macro and add load_sys(...) function in O…
gchabert Jan 10, 2021
11d3af2
CMake: first step towards automatic install of Clp (WIP) #368 #489
cyrilbouvier Jan 11, 2021
ee0e2f2
Fix Paths in TestLPSolver.h
cyrilbouvier Jan 11, 2021
3ea8e7e
CMake: finish automatic installation of Clp #368 #489
cyrilbouvier Jan 12, 2021
2303cbe
add name of function and constraints in SystemFactory
Jordan08 Jan 14, 2021
01917bb
Merge pull request #500 from ibex-team/add-for-ampl
gchabert Jan 15, 2021
a3dcabd
arithmetic: add operator[] with bitsets for Vector/Matrix
gchabert Jan 18, 2021
4ecaecd
Merge branch 'develop' of https://github.com/ibex-team/ibex-lib into …
gchabert Jan 18, 2021
5788851
LoupFinderXTaylor: apply simple postprocessing to enforce bound const…
gchabert Jan 20, 2021
eb8a490
Fix attempt for CLP wrapper
gchabert Jan 31, 2021
99b7c61
Undoing last commit
gchabert Feb 1, 2021
e59223f
Fix bug in System::minibex()
gchabert Feb 6, 2021
6914ceb
ibexsolve: fix #502
gchabert Feb 16, 2021
db4821d
Mise à jour références (roadef 21)
trombettoni Mar 23, 2021
369c033
Mise à jour références (roadef 21)
trombettoni Mar 24, 2021
7164a9e
Fix regex to look for version (replace \. with [.])
cyrilbouvier Mar 25, 2021
0396084
Try fixing issues with hyperbolic trigo functions (gaol)
gchabert Mar 30, 2021
5d32073
Merge branch 'develop' of https://github.com/ibex-team/ibex-lib into …
gchabert Mar 30, 2021
6fb183d
Try fixing issues with hyperbolic trigo functions (cont'd)
gchabert Apr 2, 2021
370faa6
Add no-split option to ibexopt and ibexsolve. Fix some minor stuff in…
gchabert Apr 5, 2021
ce2f6ba
correcting OptimLargestFirst bisector
bneveu Apr 9, 2021
17fa427
Merge branch 'develop' of https://github.com/ibex-team/ibex-lib into …
bneveu Apr 9, 2021
eab0230
adding benchmark for MINLP problems
bneveu Apr 15, 2021
ff5c0e2
doc update
gchabert Apr 19, 2021
29dcf12
Iterative-AbsT loupfinders/linearizer
May 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,11 @@ doc/_build

*~


# files in examples
**/examples/*
!**/examples/*cpp
!**/examples/makefile

# results ibex files
*.cov
14 changes: 9 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ matrix:
- STATIC_OR_SHARED=
- STATIC_OR_SHARED_CMAKE=
- os: osx
osx_image: xcode11
compiler: clang
env:
- INTERVAL_LIB=gaol
Expand All @@ -39,13 +40,15 @@ matrix:
- STATIC_OR_SHARED_CMAKE=
- CXXFLAGS=-std=c++11
- os: osx
osx_image: xcode11
compiler: clang
env:
- INTERVAL_LIB=gaol
- LP_LIB=none
- STATIC_OR_SHARED=--enable-shared
- STATIC_OR_SHARED_CMAKE=-DBUILD_SHARED_LIBS=ON
- CXXFLAGS=-std=c++11

allow_failures:
- os: linux
compiler: gcc
Expand All @@ -63,13 +66,14 @@ addons:
- flex
- bison
- libcppunit-dev

# need this to install dependencies on osx
before_install:
- uname -a
- if [ "$TRAVIS_OS_NAME" = "osx" ] ; then brew update ; brew install flex bison cppunit; fi
homebrew:
packages:
- flex
- bison
- cppunit

install:
- uname -a
- ./waf configure --prefix=$HOME ${STATIC_OR_SHARED} --interval-lib=${INTERVAL_LIB} --lp-lib=${LP_LIB} || cat __build__/*.log
- ./waf build install clean

Expand Down
32 changes: 17 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ cmake_minimum_required (VERSION 3.5.1)

message (WARNING "CMake support is in beta, please report all bugs to https://github.com/ibex-team/ibex-lib/issues/")

project (IBEX VERSION 2.8.8 LANGUAGES CXX)
project (IBEX VERSION 2.8.9.1 LANGUAGES CXX)
set (IBEX_DESCRIPTION "A C++ library for interval-based algorithm design")
set (IBEX_URL "http://www.ibex-lib.org/")
set (IBEX_NAMESPACE "Ibex") # TODO use it everywhere
set (IBEX_CMAKE_PATH_FILES_PREFIX ibex-path-hints)

################################################################################
# Add cmake.utils to the list of CMAKE_MODULE_PATH
Expand All @@ -14,10 +16,11 @@ set (MODULE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake.utils")
list (APPEND CMAKE_MODULE_PATH "${MODULE_DIR}")

################################################################################
# Run common init function and install the module so plugins can use it
# Run common init function (the module is installed later so plugins can use it)
################################################################################
message (STATUS "Configuring Ibex ${IBEX_VERSION}")
include (ibex-config-utils)
set (IBEX_DEV_UTILS_FILENAME ibex-dev-utils)
include (${IBEX_DEV_UTILS_FILENAME})
ibex_init_common ()

################################################################################
Expand All @@ -34,28 +37,27 @@ add_subdirectory (src)
################################################################################
# Generate ibex.pc
################################################################################
include (IbexUtils)
include (ibex-gen-pkgconfig)
ibex_generate_pkgconfig_file (ibex)

################################################################################
# Tests
# Install some CMake utils files that are use for detecting dependencies in
# cmake-config.cmake module and can be useful in plugins.
################################################################################
add_make_target_for_ctest (check)
install (FILES "${MODULE_DIR}/${IBEX_DEV_UTILS_FILENAME}.cmake"
"${MODULE_DIR}/FindCppUnit.cmake"
DESTINATION ${CMAKE_INSTALL_CONFIGCMAKE}/cmake.utils
COMPONENT devtools)

################################################################################
# TODO benchs
# Tests
################################################################################
#add_subdirectory (benchs)
ibex_add_make_target_for_ctest (check)

################################################################################
# We add this file last in the hope that the install script will run it last.
# Specifically, we want this to be run after the line
# install (EXPORT ibex...
# from src/CMakeLists.txt because this line can, in some cases, remove files
# matching ${CMAKE_INSTALL_CONFIGCMAKE}/ibex-config-*.cmake even if they were
# just installed.
# TODO benchs
################################################################################
add_subdirectory (cmake.install)
#add_subdirectory (benchs)

################################################################################
# archives and packages
Expand Down
47 changes: 47 additions & 0 deletions benchs/optim/benchs-minlp/cvxnonsep_normcon20.bch
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
variables
i1 in [0,5];
i2 in [0,5];
i3 in [0,5];
i4 in [0,5];
i5 in [0,5];
i6 in [0,5];
i7 in [0,5];
i8 in [0,5];
i9 in [0,5];
i10 in [0,5];
x11 in [0,5];
x12 in [0,5];
x13 in [0,5];
x14 in [0,5];
x15 in [0,5];
x16 in [0,5];
x17 in [0,5];
x18 in [0,5];
x19 in [0,5];
x20 in [0,5];



minimize - 0.175*i1 - 0.39*i2 - 0.83*i3 - 0.805*i4 - 0.06*i5 - 0.4*i6
- 0.52*i7 - 0.415*i8 - 0.655*i9 - 0.63*i10 - 0.29*x11 - 0.43*x12
- 0.015*x13 - 0.985*x14 - 0.165*x15 - 0.105*x16 - 0.37*x17 - 0.2*x18
- 0.49*x19 - 0.34*x20;

constraints

sqrt(0.0001 + i1^2 + i2^2 + i3^2 + i4^2 + i5^2 + i6^2 + i7^2 + i8^2 + i9^2
+ i10^2 + x11^2 + x12^2 + x13^2 + x14^2 + x15^2 + x16^2 + x17^2 + x18^2 +
x19^2 + x20^2) <= 10;

integer(i1);
integer(i2);
integer(i3);
integer(i4);
integer(i5);
integer(i6);
integer(i7);
integer(i8);
integer(i9);
integer(i10);

end
47 changes: 47 additions & 0 deletions benchs/optim/benchs-minlp/cvxnonsep_nsig20.bch
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
variables
i1 in [1,10];
i2 in [1,10];
i3 in [1,10];
i4 in [1,10];
i5 in [1,10];
i6 in [1,10];
i7 in [1,10];
i8 in [1,10];
i9 in [1,10];
i10 in [0.00001,10];
x11 in [0.00001,10];
x12 in [0.00001,10];
x13 in [0.00001,10];
x14 in [0.00001,10];
x15 in [0.00001,10];
x16 in [0.00001,10];
x17 in [0.00001,10];
x18 in [0.00001,10];
x19 in [0.00001,10];
x20 in [0.00001,10];

minimize


1.5*i1 + 0.51*i2 + 1.01*i3 + 1.4*i4 + 1.78*i5 + 1.92*i6 + 1.09*i7
+ 0.48*i8 + 0.67*i9 + 0.52*i10 + 1.68*x11 + 0.51*x12 + 1.63*x13
+ 0.49*x14 + 1.86*x15 + 0.7*x16 + 0.39*x17 + 0.5*x18 + 1.23*x19
+ 0.95*x20 ;

constraints
integer(i1);
integer(i2);
integer(i3);
integer(i4);
integer(i5);
integer(i6);
integer(i7);
integer(i8);
integer(i9);
integer(i10);

-0.2*i1^0.065*i2^0.004*i3^0.084*i4^0.093*i5^0.06*i6^0.075*i7^0.074*
i8^0.039*i9^0.065*i10^0.017*x11^0.07*x12^0.03*x13^0.028*x14^0.005*
x15^0.01*x16^0.082*x17^0.069*x18^0.032*x19^0.095*x20^0.003 <= -1;

end
48 changes: 48 additions & 0 deletions benchs/optim/benchs-minlp/cvxnonsep_pcon20.bch
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
variables
i1 in [0,5];
i2 in [0,5];
i3 in [0,5];
i4 in [0,5];
i5 in [0,5];
i6 in [0,5];
i7 in [0,5];
i8 in [0,5];
i9 in [0,5];
i10 in [0,5];
x11 in [0,5];
x12 in [0,5];
x13 in [0,5];
x14 in [0,5];
x15 in [0,5];
x16 in [0,5];
x17 in [0,5];
x18 in [0,5];
x19 in [0,5];
x20 in [0,5];

minimize
-(0.53*i1 + 0.65*i2 + 0.49*i3 + 0.82*i4 + 0.88*i5 + 0.97*i6 + 0.53*i7
+ 0.33*i8 + 0.11*i9 + 0.61*i10 + 0.78*x11 + 0.09*x12 + 0.27*x13
+ 0.15*x14 + 0.28*x15 + 0.44*x16 + 0.53*x17 + 0.46*x18 + 0.88*x19
+ 0.15*x20) ;

constraints

(2^(i1 + i2) + 2^(i2 + i3) + 2^(i3 + i4) + 2^(i4 + i5) + 2^(i5 +
i6) + 2^(i6 + i7) + 2^(i7 + i8) + 2^(i8 + i9) + 2^(i9 + i10) + 2^(i10
+ x11) + 2^(x11 + x12) + 2^(x12 + x13) + 2^(x13 + x14) + 2^(x14 + x15
) + 2^(x15 + x16) + 2^(x16 + x17) + 2^(x17 + x18) + 2^(x18 + x19) + 2
^(x19 + x20))^2 <= 57600;

integer(i1);
integer(i2);
integer(i3);
integer(i4);
integer(i5);
integer(i6);
integer(i7);
integer(i8);
integer(i9);
integer(i10);

end
Loading