Skip to content

Releases: ibex-team/ibex-lib

v2.8.0

01 Mar 23:03
Compare
Choose a tag to compare

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

28 Nov 16:43
Compare
Choose a tag to compare

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

  • Fix issues #215, #345
  • Fix Travis problems by A. Marendet

v2.7.3

06 Nov 21:41
Compare
Choose a tag to compare

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

  • Waf update to 2.0.12
  • Fix of a bug which made IbexOpt crash with unconstrained systems on some platforms (MacOS)
  • Fix memory problem in System and leak in CtcAcid
  • Fix issue #328, #330, #338

v2.7.2

26 Sep 21:16
Compare
Choose a tag to compare

An important bug of v2.7 has been fixed (was making ibexopt crash with unconstrained problems).

v2.7.1

21 Sep 07:44
Compare
Choose a tag to compare

There was unfortunately a little installation problem with v2.7.0.
This has been fixed.

v2.7.0

19 Sep 17:57
Compare
Choose a tag to compare

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

  • Fix memory bug in SystemMerge
  • Fix #38
  • Merged pull request #316

v2.6.6

07 Sep 09:48
Compare
Choose a tag to compare

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

17 Jan 14:01
Compare
Choose a tag to compare

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

  • A direct (not using flex) parser for indexed symbol (ibex_String.h)
  • Fix #304, #308

v2.6.4

05 Jan 22:41
Compare
Choose a tag to compare

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

22 Nov 09:49
Compare
Choose a tag to compare

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