CBC Changelog

20240115

  • Solve result codes.

    • List codes by running (solver) -!

    • [BREAKING] Standardized codes. Major changes:

      • 100-199 (solved?) means solution candidate provided, but can be suboptimal/infeasible

      • 300-349 means unbounded problem but feasible solution returned

      • 400-449 means limit/interrupt but feasible

    • [BREAKING] sol:chk:fail returns code 150 (solved?)

  • Compact solution check warnings

  • Fixed presolve of the power function #226.

20231117

  • MP update: fixed graceful exit on Ctrl-C from AMPL in Linux and fixed issue with reading text-format NL files

20231103

  • Improved translation of logical constraints: inlining of nested disjunctions and conjunctions; fewer auxiliary binary variables.

20231017

  • Fixed a bug in NL reader on Windows.

20230919

  • mp_options. Receive mp_options from AMPL (for all MP solvers). They are parsed before (solvername)_options.

  • Solution checking: relative tolerance sol:chk:feastolrel; options sol:chk:round, sol:chk:prec.

20230907

  • Updated to CBC library version 2.10.10

20230831

  • Solution checking, options sol:chk:* (experimental).

  • Preprocess And/Or constraints.

20230817

  • Fixed a bug causing repeated names for auxiliary variables and constraints.

  • Option values can be assigned without ‘=’.

  • Fixed a bug where equivalent conditional comparisons were not unified.

20230726

  • Fixed inequalities of integer expressions with non-integer constants, see test_int_non_int.mod.

20230713

  • Fixed how certain options are passed to the underlying CBC library

  • Fixed returning of constraint duals

20230616

  • Changes in MP.

20230424

  • Changes in the MP library: added variable names support and removed spurious starting solution

20230207

  • Changes in the MP library

20221228

  • Changes in the MP library

20221222

  • Changes in the MP library

20221211

  • Changes in MP: added the ==> else operator Implemented implication with ‘else’: constr1 ==> constr2 [else constr3]

  • Changes in MP: PLApproxRelTol, PLApproxDomain Parameters to control piecewise-linear approximation. cvt:plapprox:reltol default value changed from 1e-5 to 0.01.

20221208

  • First release of MP-based cbc driver