Releases: ibex-team/ibex-lib
v2.8.0
Release notes v 2.8.0
This release introduces a class hierarchy for I/O operations, associated with a new file format (".cov"). This format is designed to be a universal exchange format for all programs based upon IBEX. Currently, only ibexopt and ibexsolve are compatible with this format, but all the other plugins will be adapted in the future.
(Note: this new format replaces the "manifold" (".mnf") format.)
This is documented here: http://www.ibex-lib.org/doc/strategy.html#cov-files
Other changes
- [sip]: SIP plugin entirely refactored and now compatible with ibex 2.7 (and 2.8)
- Ibex now compiles under MSVC !
Minor changes
- Hansen feasibility test extended for overconstrained problems
- Other bug fixes (ExprSimplify, FncActivation) and several issues related to IbexOpt
v2.7.4
Release notes v 2.7.4
Main changes
- Fix important bug in copy of Properties. The properties mechanism should be stable now!
- Fix performance issue #342 for good (was artificially canceled by the previous bug)
- New implementations of atanhc and atanhccc operators by A. Goldsztejn
- Finish parser implem for generic binary operators
Minor changes
v2.7.3
Release notes v 2.7.3
Main changes
- Generic operators: it is now possible to define your own operator (like "sin", "exp", etc.) and this operator is automatically integrated in the Minibex parser. It is easy to build an operator, which can be either unary or binary and scalar or with vector/matrix arguments. Several examples are given under the plugins/operator directory: the cardinal sine "sinc", the cross product of two vectors and the trace of a matrix. Just copy-paste one of these examples and make the appropriate change.
- Fix performance issue of the release 2.7 which could actually be significantly slower than v2.6 (see #342 -in French-)
- IbexOpt now accepts also AMPL files as input when ibex is compiled with
--with-ampl
Minor changes
v2.7.2
An important bug of v2.7 has been fixed (was making ibexopt crash with unconstrained problems).
v2.7.1
There was unfortunately a little installation problem with v2.7.0.
This has been fixed.
v2.7.0
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.
Other changes
- 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).
Minor changes
v2.6.6
Release notes v 2.6.6
Main changes
- [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
Minor changes
v2.6.5
Release notes v 2.6.5
Main changes
- Partial differentation and integration in Minibex. Given a function "f", the following line is now a valid example of constraints in Minibex:
diff(f(x,y),x)=0; - 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)
Minor changes
v2.6.4
Release notes v 2.6.4
Main changes
- 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
Minor changes
- Add rectangular case for interval Gauss-Seidel iteration
- Fix issue #306 for MinGW64
- Enable builds using Python 3
v2.6.3
Release notes v 2.6.3
Main changes
- 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
Minor changes
- Compile Soplex with ZLIB under MinGW
- Fix issues #298
- Fix MacOS warnings