Nothing Special   »   [go: up one dir, main page]

Skip to content

3.0.0

Compare
Choose a tag to compare
@vitaut vitaut released this 03 Mar 01:51
· 1000 commits to master since this release
  • Updated ASL to version 20151209.

  • Documented common definitions: http://ampl.github.io/common.html (#33).

  • Renamed nl.h to nl-reader.h. Including nl.h still works, but is deprecated and nl.h will be removed or re-purposed in the next version.

  • [Breaking] Replaced fmt::StringRef with mp::NLStringRef in ReadNLString where both size and null-termination is required. This doesn't affect callers who passed C strings or std::string objects.

  • [Breaking] Renamed the following previously undocumented symbols:

    The new symbols are now documented and part of the stable API.

  • [Breaking] Improved safety of the NL handler API:

    • NLHandler now takes the second template argument, Impl, which specifies a class derived from NLHandler that receives notifications of unhandled constructs via the OnUnhandled method. If the latter is not provided, the default NLHandler::OnUnhandled method is called which reports unhandled constructs by throwing exceptions. For the old behavior use NullNLHandler (#84).

    • Added the NullNLHandler class that can be used as a base class when only a subset of constructs needs to be handled. Unhandled constructs will be ignored, not reported.

    • NLHandler::OnComplementarity now takes ComplInfo object instead of int as the third argument:

      void OnComplementarity(int con_index, int var_index, ComplInfo info);
    • NLHandler::OnIntSuffix and NLHandler::OnDblSuffix now take suf::Kind instead of int as the second argument:

      IntSuffixHandler OnIntSuffix(fmt::StringRef name, suf::Kind kind, int num_values);
      DblSuffixHandler OnDblSuffix(fmt::StringRef name, suf::Kind kind, int num_values);
  • [Breaking] Update C++ Format to version 2.0 replacing fmt::StringRef with fmt::CStringRef where null-termination is required, namely ReadNLFile, ReadNLString, ReadError, BinaryReadError. This doesn't affect callers who passed C strings or std::string objects.

  • [Breaking] Added NLHandler::EndInput which is called at the end of input.

  • Experimental APIs for working with optimization problems (problem.h) and nonlinear expressions (expr.h).

  • gjh now always returns structural sparsity pattern for Hessian, not only when dual values are provided (#77).

  • Fixed building ASL on GCC 5 (#78).

  • NL reader is no longer affected by the current locale (#75).

  • Added NL reader examples: nl-example.cc (#74). Thanks to @baharev (Ali Baharev).

  • Made AMPL GSL bindings compatible with GSL 2.1 (#70). Thanks to @opoplawski (Orion Poplawski).

  • Fixed documentation issues (#45, #48, #66, #67, #71).

  • Made handling of function evaluation errors more consistent between platforms (#57, #59).

  • Fixed build issues (#54, #55, #62, #81, #87).

  • ExprVisitor can now handle all expression types including string expressions (#51).

  • Added support for variable and constraint names (#53).

  • Better error handling in the simple ASL interface (#60).

  • The Sulum solver interface is no longer actively supported because Sulum has been discontinued.

  • Added support for common expressions to new solver interfaces.

  • New solver interfaces (ilogcp, gecode, jacop, smpswriter, ssdsolver and sulum) don't use ASL any more.

  • Fixed discovery of 64-bit ODBC libraries.

  • Fixed compilation issues with MSVC11 (due to broken implementation of variadic templates there) and other versions.

IBM/ILOG CPLEX and CP Optimizers (ilogcp)

  • Updated IBM/ILOG CPLEX CP Optimizer to version 12.6.2.

  • New option failuredirectedsearchemphasis:

    Specifies the number of workers that use failure-directed search once it has started. The value does not have to be integer. For example, value 1.5 means that first worker spends 100% of the time by failure-directed search, second worker 50% and remaining workers 0%. Default = auto (depends on actual performance of the failure-directed search).

  • New option dumpfile:

    Specifies the name of a file where to dump the model before solving it. This file name must have extension ".cpo". Default = "" (don't dump the model).

  • New option exportfile:

    Specifies the name of a file where to export the model before solving it. This file name must have extension ".cpo". Default = "" (don't export the model).

  • New option elementinferencelevel:

    Inference level for element (IloElement) constraints. Possible values:

    • default
    • low
    • basic
    • medium
    • extended

    The default value is default, which allows the inference strength of all element constraints to be controlled via defaultinferencelevel.

  • New option warninglevel:

    Specifies the highest warning level to be displayed, all warnings higher than this level are masked. CP Optimizer warning levels run from 1 to 4, so setting this option to 0 turns off all warnings. Warnings issued may indicate potential errors or inefficiencies in your model. Default = 2.

  • Don't try to retrieve dual solution for quadratically constrained problems in CPLEX.

LocalSolver (locsol)

  • Update LocalSolver to version 5.0+: changes.
  • Added the terse verbosity level which now maps to custom output. The normal verbosity level now maps to LocalSolver verbosity 1 (#46).
  • Piecewise-linear term support (#46).
  • Objective bound support via the bound objective suffix (#46).
  • Fixed handling of initial values and bounds.
  • Added interrupted status.
  • Fixed a segfault when using the library built with a broken version of Apple LLVM version 4.2 of clang (#82)