Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Release notes v 2.7.0
I am pleased to announce this new release to Ibex developers, which will probably give them much more freedom and capabilities.
The main change is the introduction of the concept of "box properties". These properties basically allow you to enrich the basic structure of 'IntervalVector' (which will be kept simple like this forever) in an arbitrarily way. This way, you can communicate, in addition to the box itself, any kind of relevant data to operators like contractors, bisectors, cell buffers, loup finders, and so on.
The loss of efficiency due to this new architecture is often insignificant and, in any case, never exceeds 10% (except maybe for some benchmarks that are solved in less than 1s).
This is documented here: http://www.ibex-lib.org/doc/strategy.html#box-properties
Note: this has replaced the old (unofficial) 'Backtrackable' class.
- LinearizerXTaylor: The Hansen matrix (in place of the jacobian) is now also used for the restrictions. Seems to be better in practice (though not spectacular).
Release notes v 2.6.6
- [sip] A new release of SIP plugin by A. Marendet
- [parser] We can now create temporary variables for building DAGS directly in the constraint block. Example: if you write an equation
x=[expr]where [expr] is any expression and x is not a declared variable, then Ibex implicitly associate the symbol x to the expression node [expr]. So any use of x in subsequent constraints will be replaced by this node.
- [solver] - The manifold object can now be manipulated more easily (fix #315)
- [solver] - MNF format v4
Release notes v 2.6.5
- Partial differentation and integration in Minibex. Given a function "f", the following line is now a valid example of constraints in Minibex:
- Allow differentation of an expression without creating a copy (so that we can create a DAG where an expression and its derivatives share nodes)
- [solver] - New option to force variables to be parameters in the parametric proof (--forced-params), see #299
- new comparison algorithm for benchmarking, see #277
- [java] - fix rounding problem, see #307
- [java] - now the plugin is installed by default with Ibex (no need for separate archive)
Release notes v 2.6.4
- New object design for bisectors, cells and backtrackable data + refactoring
- New LP solver wrapper and missing functionalities now implemented in lp_lib_* plugins
- New "SIP" (semi-infinite programming) plugin (installed by default): first implementation based on Blakenship-Mitsos-Djelassi algorithm (documentation under construction)
- Deep/shallow copy of heaps / shared heaps / double heaps and backtrackable data
- Add rectangular case for interval Gauss-Seidel iteration
- Fix issue #306 for MinGW64
- Enable builds using Python 3
Release notes v 2.6.3
- Thread safety. Now the library is thread-safe (but not individual objects). This means that liking a multi-thread program with ibex is safe as long as threads do not share Ibex objects.
- warning: Since MinGW does not support the thread API, thread safety under Windows is guaranteed except for constructors based on the parser: System / Function / NumConstraint.
- [java] new plugin implementation (thread safe). The previous issue is handled by Choco via a synchronized method "build"
- [solver] Fix bug in Manifold I/O v2
- Compile Soplex with ZLIB under MinGW
- Fix issues #298
- Fix MacOS warnings
Release notes v 2.6.2
- New Random implementation allow reproducibility, see #295
- Minibex: allow functions to be declared before the "variables" block
- [solver] MNF format: v2 (see details with --format)
- Interval librairies: double rounding now always disabled, see #292
- Timer: new thread-safe implementation, see #291
- new implementation of SystemNormalize and SystemExtend, more clean and robust, see #275
- [optim]: add "beamsearch" strategy (new cell buffer)
- [optim]: "lsmear" is now the default bisection strategy