Here, we describe what has changed between releases of the [[NLopt]] package. You can also refer to the <code>NEWS</code> file in the Meep package (or the <code>ChangeLog</code> file for a more detailed listing).

Here, we describe what has changed between releases of the [[NLopt]] package. You can also refer to the <code>NEWS</code> file in the Meep package (or the <code>ChangeLog</code> file for a more detailed listing).

+

+

==NLopt 2.1.2==

+

<small>8 July 2010</small>

+

+

* The Python <code>mconstraint</code> (vector-valued constraint) functions now pass a 2-dimensional array for the gradient argument, rather than a flattened 1d array.

+

* Improved handling of exceptions and forced stops for constrained optimization, making sure that no constraints are evaluated after the stop.

+

* Return an <code>NLOPT_INVALID_ARGS</code> error if more than ''n'' equality constraints are added in an ''n''-dimensional problem.

NLopt 2.1

New vector-valued constraint feature; thanks to Dmitrey Kroshko of OpenOpt for the suggestion.

COBYLA now accepts equality constraints.

Guard against multiple inclusion in nlopt.hpp; thanks to Saul Thurrowgood for the suggestion.

NLopt 2.0.2

17 June 2010

Fixed compilation failure in Microsoft Visual Studio, due to incorrect usage of __stdcall keyword; thanks to Dave Katz for the bug report.

NLopt 2.0.1

16 June 2010

Bug fix in Fortran API (for nlo_get_ functions returning arrays).

Fixed buggy compilation with MinGW.

NLopt 2.0

15 June 2010

New C API, that works by creating an nlopt_opt "object" and then calling functions to set the optimization parameters -- much more extensible than the old API (which is preserved for backwards compatibility). (Updated Fortran, Matlab, and GNU Octave wrappers as well.)

Allow COBYLA to increase the trust-region radius if the predicted improvement was approximately right and the simplex is OK, following a suggestion in the SAS manual for PROC NLP that seems to improve convergence speed.

Added nlopt_force_stop function to force a (graceful) halt to the optimization, and corresponding NLOPT_FORCED_STOP return code.

Improved thread-safety in random-number generation: thread-local storage is used for random-number state, on compilers that support it (e.g. gcc, Intel, Microsoft), to make the generation thread-safe. In this case, the random-number seed must be set per-thread.

Return an error in global-search algorithms if the domain is not finite.

Use stdcall convention on Windows; thanks to Alan Young for the suggestion.

NLopt 1.1

12 November 2009

configure script detects whether --enable-shared is required in order to compile Matlab and Octave plugins (as is the case on x86_64), and disables compilation of those plugins if --enable-shared is not used.