(!!! = may break code that uses previous versions)
-
Reworking the library build system, now only relying on dune. The Makefile is now clearer and simpler to use.
-
(!!!) Logs are handled by the
logs
library and debug is activated by this library. -
(!!!) The
Rat2
module now abstract bounds as strict upper, strict lower or soft bounds instead of pairs of rationals.
-
(!!!) Now, asserting bounds returns whether these bounds are trivially implied by those that are already known
-
add a field nb_pivots in the environment to count the number of pivots that have been made so far.
- bugfix in maximization
-
add support for linear optimization (!!!). An minimal example is given in tests/standalone_minimal_maximization.ml
-
some bugfixes when assuming inconsistent bounds
-
improve build and testing
-
A functor called
Basic
provides three modules:-
Core
: provides some basic functions, and a functionempty
to create an empty environment -
Assert
: exports two functionsvar
andpolys
to assert bounds on variables and polynomials, respectively -
Solve
: exports a functionsolve
that tries to find a solution for the constrains
-
-
two flags can be set when creating an empty environment to activate debug mode and some invariants verification
-
implementation is fully functional, incremental and backtrackable
-
linear optimization is not supported yet