Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

nlopt

A numerical nonlinear optimization library for node. A wrapper around nlopt.

numeical, nlopt, nonlinear, optimization, nelder, mead, simplex, COBYLA, newton, MMA, MLSL

readme

About

NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms. Node-nlopt is a JS wrapper around nlopt. For reference about the different algorithms available and the parameters they accept you should consult NLopt's website.

Installation

Run the command

npm install nlopt

Running this command builds nlopt which is a c library. I have tested that it build on Windows 64bit and Linux 64bit. I have not tested other platforms

Simple Example

The library defines a single method. A simple example of how to use the library can be found below. This is the same example used in the tutorial at NLopt's website.

var nlopt = requires('nlopt');
var myfunc = function(n, x, grad){
  if(grad){
    grad[0] = 0.0;
    grad[1] = 0.5 / Math.sqrt(x[1]);
  }
  return Math.sqrt(x[1]);
}
var createMyConstraint = function(cd){
  return {
    callback:function(n, x, grad){
      if(grad){
        grad[0] = 3.0 * cd[0] * (cd[0]*x[0] + cd[1]) * (cd[0]*x[0] + cd[1])
        grad[1] = -1.0
      }
      tmp = cd[0]*x[0] + cd[1]
      return tmp * tmp * tmp - x[1]
    },
    tolerance:1e-8
  }
}
options = {
  algorithm: "LD_MMA",
  numberOfParameters:2,
  minObjectiveFunction: myfunc,
  inequalityConstraints:[createMyConstraint([2.0, 0.0]), createMyConstraint([-1.0, 1.0])],
  xToleranceRelative:1e-4,
  initalGuess:[1.234, 5.678],
  lowerBounds:[Number.MIN_VALUE, 0]
}
console.log(nlopt(options).parameterValues);

The code above should write "[ 0.33333333465873644, 0.2962962893886998 ]" to the console.

API

The library defines a single function that takes a JavaScript object as a parameter. The format for the JavaScript is:

{
    //The algorithm to run. Look at the nlopt site for a complete list of options
    algorithm: "LD_MMA",
    //The number of parameters that the function to be optimized takes
    numberOfParameters:2,
    //The function to be minified.
    minObjectiveFunction: function(numberOfParameters, parameterValues, gradient){},
    //The function to be maximized. If minObjectiveFunction is specified this option should not be.
    maxObjectiveFunction: function(numberOfParameters, parameterValues, gradient){},
    //An inital guess of the values that maximize or minimize the objective function
    initalGuess:[1.234, 5.678],
    //Parameter values must be above the provided numbers
    lowerBounds:[Number.MIN_VALUE, 0],
    //Parameter values must be below the provided numbers
    upperBounds:[Number.MIN_VALUE, 0],
    //Inequality constraints on the function to be optimized.
    inequalityConstraints:[function(numberOfParameters, parameterValues, gradient), function(){}],
    //Equalit constraints on the function to be optimized.
    equalityConstraints:[function(numberOfParameters, parameterValues, gradient), function(){}],
    //Consult http://ab-initio.mit.edu/wiki/index.php/NLopt_Reference#Stopping_criteria for more info
    //on the next couple of options
      stopValue: 1e-4,
      fToleranceRelative: 1e-4,
      fToleranceAbsolute: 1e-4,
      xToleranceRelative: 1e-4,
      xToleranceAbsolute: 1e-4,
      maxEval: 1e-4,
      maxTime: 1e-4,
}

The return value has the format

{
    //The parameter values that produce the min or max value for the object function
    parameterValues: [ 0.33333333465873644, 0.2962962893886998 ],
    //The min or max function for the objective function.
       outputValue: 0.5443310476067847 ,
       //A string indicating if optimization was successful. If optimization was successful the string will
       //start with "Success"
       status: 'Success: Optimization stopped because xToleranceRelative or xToleranceAbsolute was reached',
       //A string will also be outputed for each setting/option set. This string will also start with "Success"
       //if the operation was successful. Examples can be found below.
       maxObjectiveFunction: 'Success',
    lowerBounds: 'Success'
}

Some of the descriptions above are incomplete. Consult NLopt's website for more info on the various options.

Limitations

The biggest limitation at the moment is there is currently no support for making the call to nlopt asynchronously. Numerical optimization is inherently CPU bound so asynchronously calling nlopt is not incredibly useful and I did not need it for my use case.

changelog

Fri Jul 20 16:20:35 EDT 2012 stevenj@alum.mit.edu

  • document CCSA

    M ./mma/README -1 +15

Fri Jul 20 16:14:33 EDT 2012 stevenj@alum.mit.edu

  • added CCSAQ to man page

    M ./api/nlopt.3 -2 +5

Fri Jul 20 14:19:42 EDT 2012 stevenj@alum.mit.edu

  • add mingw64 script

    A ./BUILD-MINGW64.sh

Fri Jul 20 14:13:45 EDT 2012 stevenj@alum.mit.edu

  • version bump for 2.3

    M ./COPYRIGHT -1 +1 M ./NEWS +21 M ./api/deprecated.c -1 +1 M ./api/f77api.c -1 +1 M ./api/f77funcs.h -1 +1 M ./api/f77funcs_.h -1 +1 M ./api/general.c -1 +1 M ./api/nlopt-internal.h -1 +1 M ./api/nlopt.3 -1 +1 M ./api/nlopt.h -1 +1 M ./api/nlopt_minimize_constrained.3 -1 +1 M ./api/optimize.c -1 +1 M ./api/options.c -1 +1 M ./auglag/auglag.h -1 +1 M ./cdirect/cdirect.c -1 +1 M ./cdirect/cdirect.h -1 +1 M ./cdirect/hybrid.c -1 +1 M ./configure.ac -2 +2 M ./cquad/cquad.h -1 +1 M ./crs/crs.c -1 +1 M ./crs/crs.h -1 +1 M ./isres/isres.h -1 +1 M ./mlsl/mlsl.c -1 +1 M ./mlsl/mlsl.h -1 +1 M ./mma/ccsa_quadratic.c -1 +1 M ./mma/mma.c -1 +1 M ./mma/mma.h -1 +1 M ./neldermead/neldermead.h -1 +1 M ./neldermead/nldrmd.c -1 +1 M ./neldermead/sbplx.c -1 +1 M ./newuoa/newuoa.c -1 +1 M ./octave/nlopt_optimize-mex.c -1 +1 M ./octave/nlopt_optimize-oct.cc -1 +1 M ./util/nlopt-util.h -1 +1 M ./util/qsort_r.c -1 +1 M ./util/redblack.c -1 +1 M ./util/redblack.h -1 +1 M ./util/redblack_test.c -1 +1 M ./util/rescale.c -1 +1 M ./util/stop.c -1 +1 M ./util/timer.c -1 +1

Fri Jul 20 14:04:19 EDT 2012 stevenj@alum.mit.edu

  • just unconditionally disable compilation of matlab & octave plugins unless --enable-shared is turned on, since test was unreliable and the 32-bit systems where static libraries worked are disappearing anyway

    M ./configure.ac -28

Mon Jan 16 09:49:19 EST 2012 stevenj@alum.mit.edu

  • in Matlab/Octave interface, make returning NaN from the objective equivalent to an nlopt_force_stop; thanks to Norman Violet for the suggestion

    M ./octave/nlopt_optimize-mex.c +6 M ./octave/nlopt_optimize-oct.cc -1 +5

Wed Dec 7 21:00:30 EST 2011 stevenj@alum.mit.edu

  • bug fix to convergence test (only relevant to sbplx); thanks to Douglas Bates

    M ./neldermead/nldrmd.c -1 +1

Mon Nov 28 17:42:47 EST 2011 stevenj@alum.mit.edu

  • CCSA trust-region problem should use dual_opt parameters (= user local_optim params, if any)

    M ./mma/ccsa_quadratic.c -3 +5

Mon Nov 28 14:09:23 EST 2011 stevenj@alum.mit.edu

  • fix maximization with preconditioner (passed wrong data)

    M ./api/optimize.c -1 +1

Sun Nov 27 14:20:58 EST 2011 stevenj@alum.mit.edu

  • return roundoff-limited for cobyla in this case

    M ./cobyla/cobyla.c -1 +1

Sat Nov 26 14:54:13 EST 2011 stevenj@alum.mit.edu

  • lower tolerance for dual optimization in MMA/CCSAQ; thanks to Christophe Leruste for the problem report

    M ./api/optimize.c -1 +1

Sat Nov 26 14:45:06 EST 2011 stevenj@alum.mit.edu

  • use reciprocal quadratic formula, which is accurate everywhere, rather than switching between quadratic formula and Taylor expansion

    M ./mma/mma.c -7 +4

Wed Nov 23 14:33:10 EST 2011 stevenj@alum.mit.edu

  • detect null preconditioner when maximizing

    M ./api/optimize.c -1 +2

Wed Nov 23 14:09:39 EST 2011 stevenj@alum.mit.edu

  • missing file

    A ./octave/NLOPT_LD_SLSQP.m

Wed Nov 16 14:20:13 EST 2011 stevenj@alum.mit.edu

  • bug fix in preconditioned CCSA

    M ./mma/ccsa_quadratic.c -4 +4

Tue Nov 15 18:07:34 EST 2011 stevenj@alum.mit.edu

  • bug in timer, thanks to William Vaughn for the patch

    M ./util/timer.c -1 +1

Tue Nov 15 17:49:45 EST 2011 stevenj@alum.mit.edu

  • added NLOPT_LD_CCSAQ matlab constant

    M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_LD_CCSAQ.m

Tue Nov 15 17:47:59 EST 2011 stevenj@alum.mit.edu

  • added prototype matlab precond interface (for objective only)

    M ./octave/nlopt_optimize-mex.c -8 +61

Tue Nov 15 17:19:29 EST 2011 stevenj@alum.mit.edu

  • added (untested) interface for specifying preconditioners

    M ./api/nlopt-internal.h +1 M ./api/nlopt.h -4 +13 M ./api/optimize.c -7 +16 M ./api/options.c -16 +55 M ./mma/ccsa_quadratic.c -15 +33 M ./mma/mma.h -2 +1 M ./util/nlopt-util.h +1

Tue Nov 15 16:14:09 EST 2011 stevenj@alum.mit.edu

  • added CCSAQ algorithm; internal support for preconditioners (untested) not yet exported in NLopt API

    M ./api/general.c +1 M ./api/nlopt.h +7 M ./api/optimize.c -3 +9 M ./api/options.c -1 +1 M ./mma/Makefile.am -1 +1 A ./mma/ccsa_quadratic.c M ./mma/mma.h +13

Tue Nov 15 15:41:17 EST 2011 stevenj@alum.mit.edu

  • when adding mconstraints, allow tol==NULL as synonym for zero tolerances

    M ./api/options.c -3 +7

Thu Jun 9 16:11:13 EDT 2011 stevenj@alum.mit.edu

  • version bump to 2.2.4

    M ./NEWS +5 M ./configure.ac -2 +2

Thu Jun 9 13:26:14 EDT 2011 stevenj@alum.mit.edu

  • --with-cxx should not use -no-undefined, since it deppends on the C++ std libs (which prevents us from building --with-cxx libs for Windows); thanks to Volker Lorrmann for the bug report

    M ./Makefile.am +4

Thu Jun 9 12:34:27 EDT 2011 stevenj@alum.mit.edu

  • guile and python libs will NOT have no undefined symbols, since they refer to things in the guile and python shared libraries, respectively

    M ./swig/Makefile.am -2 +2

Wed Jun 8 13:28:57 EDT 2011 stevenj@alum.mit.edu tagged nlopt-2.2.3

Wed Jun 8 13:23:00 EDT 2011 stevenj@alum.mit.edu

  • whoops, missed one static variable in luksan; thanks to Gert Wollny for the bug report

    M ./luksan/luksan.h -1 +1 M ./luksan/pssubs.c -3 +3

Wed Jun 8 13:21:27 EDT 2011 stevenj@alum.mit.edu

  • version bump to 2.2.3

    M ./NEWS +8 M ./configure.ac -2 +2

Thu May 26 14:20:41 EDT 2011 stevenj@alum.mit.edu

  • F77 api for upper-case linkage should use set/get vector_storage, not subspace_dim

    M ./api/f77funcs_.h -1 +1

Thu May 26 13:59:32 EDT 2011 stevenj@alum.mit.edu tagged nlopt-2.2.2

Thu May 26 13:50:54 EDT 2011 stevenj@alum.mit.edu

  • copyright year bump

    M ./COPYING -1 +1 M ./COPYRIGHT -1 +1 M ./api/deprecated.c -1 +1 M ./api/f77api.c -1 +1 M ./api/f77funcs.h -1 +1 M ./api/f77funcs_.h -1 +1 M ./api/general.c -1 +1 M ./api/nlopt-in.hpp -1 +1 M ./api/nlopt-internal.h -1 +1 M ./api/nlopt.3 -1 +1 M ./api/nlopt.h -1 +1 M ./api/nlopt_minimize_constrained.3 -1 +1 M ./api/optimize.c -1 +1 M ./api/options.c -1 +1 M ./auglag/auglag.h -1 +1 M ./cdirect/cdirect.c -1 +1 M ./cdirect/cdirect.h -1 +1 M ./cdirect/hybrid.c -1 +1 M ./cquad/cquad.h -1 +1 M ./crs/crs.c -1 +1 M ./crs/crs.h -1 +1 M ./isres/isres.h -1 +1 M ./mlsl/mlsl.c -1 +1 M ./mlsl/mlsl.h -1 +1 M ./mma/mma.c -1 +1 M ./mma/mma.h -1 +1 M ./neldermead/neldermead.h -1 +1 M ./neldermead/nldrmd.c -1 +1 M ./neldermead/sbplx.c -1 +1 M ./newuoa/COPYRIGHT -1 +1 M ./newuoa/newuoa.c -1 +1 M ./octave/nlopt_optimize-mex.c -1 +1 M ./octave/nlopt_optimize-oct.cc -1 +1 M ./test/testopt.cpp -1 +1 M ./util/nlopt-util.h -1 +1 M ./util/qsort_r.c -1 +1 M ./util/redblack.c -1 +1 M ./util/redblack.h -1 +1 M ./util/redblack_test.c -1 +1 M ./util/rescale.c -1 +1 M ./util/stop.c -1 +1 M ./util/timer.c -1 +1

Thu May 26 13:48:15 EDT 2011 stevenj@alum.mit.edu

  • version bump to 2.2.2, updated NEWS

    M ./NEWS -1 +8 M ./configure.ac -2 +2

Thu May 26 13:42:13 EDT 2011 stevenj@alum.mit.edu

  • report correct count in test program

    M ./test/testopt.cpp +1

Thu May 26 13:37:17 EDT 2011 stevenj@alum.mit.edu

  • use elimdim in StoGO

    M ./api/optimize.c -8 +29

Wed May 25 15:19:57 EDT 2011 stevenj@alum.mit.edu

  • make luksan routines re-entrant; thanks to Gert Wollny for the bug report (fixes gentoo bug #368685)

    M ./luksan/luksan.h -1 +6 M ./luksan/plip.c -1 +3 M ./luksan/plis.c -1 +3 M ./luksan/pnet.c -1 +3 M ./luksan/pssubs.c -3 +17

Tue Mar 29 18:59:57 EDT 2011 stevenj@alum.mit.edu

  • bug fix in cdirect -- typo caused slope to be underestimated in some cases, and will miss some potentially optimal rectangles. Thanks to Sinisa Hristov for the bug report

    M ./cdirect/cdirect.c -1 +1

Tue Mar 22 16:13:21 EDT 2011 stevenj@alum.mit.edu

  • draft NEWS for 2.2.2

    M ./NEWS +21

Tue Mar 22 16:13:00 EDT 2011 stevenj@alum.mit.edu

  • fixes to windows setup.py; thanks to Robert G for the patch

    M ./BUILD-MINGW.sh +2

Mon Mar 7 14:37:28 EST 2011 stevenj@alum.mit.edu

  • use elimdim for praxis, nelder mead, and sbplx

    M ./api/optimize.c -1 +4

Mon Mar 7 14:23:50 EST 2011 stevenj@alum.mit.edu

  • check for ub - lb small case for potential minimizers

    M ./mlsl/mlsl.c -1 +2

Wed Mar 2 19:03:54 EST 2011 stevenj@alum.mit.edu

  • elimdim wrappers to handle lb==ub in derivative-free routines (for which it is inconvenient to handle this case directly in the algorithm)

    M ./api/optimize.c -1 +212

Wed Mar 2 16:08:57 EST 2011 stevenj@alum.mit.edu

  • comment typo

    M ./util/nlopt-util.h -1 +1

Sat Feb 12 21:53:21 EST 2011 stevenj@alum.mit.edu

  • handle lb == ub in MMA (bugfix)

    M ./mma/mma.c +5

Sat Feb 12 20:58:59 EST 2011 stevenj@alum.mit.edu

  • -b option to fix some params by equating the bounds

    M ./test/testopt.cpp -1 +30

Thu Jan 13 10:22:48 EST 2011 stevenj@alum.mit.edu

  • add missing xtol check to SLSQP (which caused an erroneeous roundoff_limited return code); thanks to Alexander Riess for the bug report

    M ./slsqp/slsqp.c -2 +9

Thu Jan 13 10:14:30 EST 2011 stevenj@alum.mit.edu

  • in slsqp make sure that we count only function evals and not other callback steps

    M ./slsqp/slsqp.c -1 +2

Tue Dec 7 15:18:02 EST 2010 stevenj@alum.mit.edu

  • deprecated API should support xtol_abs==NULL (for 0 tol) for backward compatibility

    M ./api/deprecated.c -1 +1

Sat Nov 20 13:44:03 EST 2010 stevenj@alum.mit.edu

  • default to mf=10 in luksan codes, like in Fortran, not mf=4, and remove pointless -5 from maxeval upper bound, and remove FIXME since this is now user-settable

    M ./luksan/plip.c -9 +2 M ./luksan/plis.c -9 +2 M ./luksan/pnet.c -9 +2

Sat Nov 20 13:37:59 EST 2010 stevenj@alum.mit.edu

  • rename subspace_dim to vector_storage, since not necessarily a subspace (and can be > n)

    M ./api/f77funcs_.h -1 +1 M ./api/nlopt-in.hpp -1 +1 M ./api/nlopt-internal.h -1 +1 M ./api/nlopt.h -2 +2 M ./api/optimize.c -3 +3 M ./api/options.c -2 +2 M ./octave/nlopt_optimize-mex.c -1 +1 M ./octave/nlopt_optimize-oct.cc -1 +1 M ./swig/nlopt-exceptions.i -1 +1

Thu Nov 18 18:42:23 EST 2010 stevenj@alum.mit.edu

  • add get/set subspace dimension for low-storage quasi-Newton methods

    M ./api/f77funcs_.h +1 M ./api/nlopt-in.hpp +1 M ./api/nlopt-internal.h +1 M ./api/nlopt.h +3 M ./api/optimize.c -4 +7 M ./api/options.c +2 M ./luksan/luksan.h -1 +4 M ./luksan/plip.c -4 +6 M ./luksan/plis.c -5 +7 M ./luksan/pnet.c -4 +6 M ./octave/nlopt_optimize-mex.c +1 M ./octave/nlopt_optimize-oct.cc +1 M ./swig/nlopt-exceptions.i -1 +2

Thu Oct 28 19:04:31 EDT 2010 stevenj@alum.mit.edu

  • update TODO

    M ./TODO +8

Thu Oct 28 19:00:02 EDT 2010 stevenj@alum.mit.edu

  • fix support for maxtime in Luksan algorithms and ORIG_DIRECT; thanks to Jurgen Werner for the bug report

    M ./api/optimize.c -2 +6 M ./cobyla/cobyla.c -2 +4 M ./direct/DIRect.c -2 +7 M ./direct/DIRsubrout.c -1 +9 M ./direct/direct-internal.h -2 +4 M ./direct/direct.h -1 +3 M ./direct/direct_wrap.c -1 +3 M ./luksan/plip.c -1 +2 M ./luksan/plis.c -1 +2 M ./luksan/pnet.c +2 M ./newuoa/newuoa.c -2 +4 M ./util/nlopt-util.h +1 M ./util/stop.c -1 +6

Sat Oct 16 17:00:36 EDT 2010 stevenj@alum.mit.edu

  • include nlopt_optimize_usage.h in dist tarball, for Windows users; thanks to Per-Olaf Sturesson for the suggestion

    M ./octave/Makefile.am -1 +4

Mon Sep 6 14:02:37 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.2.1

Mon Sep 6 14:01:28 EDT 2010 stevenj@alum.mit.edu

  • updated NEWS for 2.2.1

    M ./NEWS -1 +6

Mon Sep 6 13:56:43 EDT 2010 stevenj@alum.mit.edu

  • add missing Windows exporting junk for nlopt_algorithm_name; thanks to Ofek Shilon for the bug report

    M ./api/general.c -1 +1 M ./api/nlopt.h -1 +1

Tue Aug 31 21:18:27 EDT 2010 stevenj@alum.mit.edu

  • fix compiler warnings about prototype mismatches in options.c; thanks to Benoit Scherrer

    M ./api/nlopt.h -3 +3 M ./api/options.c -3 +3 M ./util/stop.c -2 +2

Mon Aug 30 19:55:48 EDT 2010 stevenj@alum.mit.edu

  • add missing "inline" keywords to C++ functions so that nlopt.hpp can be included in multiple compilation units; thanks to Steve Jaffe for the bug report

    M ./api/nlopt-in.hpp -7 +7

Thu Aug 19 03:36:43 EDT 2010 stevenj@alum.mit.edu

  • fixed bug in set/get xtol_abs, thanks to David Rivest-H[\c3][\a9]nault for the bug report

    M ./api/options.c -2 +2

Fri Aug 13 13:39:59 EDT 2010 stevenj@alum.mit.edu

  • updated NEWS for 2.2.1

    M ./NEWS -1 +4

Fri Aug 13 13:35:48 EDT 2010 stevenj@alum.mit.edu

  • max/min macros are already defined(!) by stdlib.h(!) in visual studio; thanks to Benoit Scherrer for the report about the compiler warning

    M ./bobyqa/bobyqa.c -59 +59 M ./cobyla/cobyla.c -35 +34 M ./luksan/mssubs.c -2 +2 M ./luksan/plip.c -14 +14 M ./luksan/plis.c -17 +17 M ./luksan/pnet.c -18 +18 M ./luksan/pssubs.c -33 +33 M ./newuoa/newuoa.c -15 +15 M ./slsqp/slsqp.c -32 +32 M ./subplex/subplex.c -29 +28

Thu Aug 5 15:49:18 EDT 2010 stevenj@alum.mit.edu

  • version bump to 2.2.1

    M ./NEWS +20 M ./configure.ac -2 +2

Fri Jul 30 10:35:20 EDT 2010 stevenj@alum.mit.edu

  • NLOPT_DLL_EXPORT option to compile with MS dllexport flag, thanks to Benoit for the suggestion

    M ./api/nlopt.h -1 +5

Fri Jul 30 10:34:25 EDT 2010 stevenj@alum.mit.edu

  • update: Nocedal code is available under GPL

    M ./lbfgs/README -1 +10

Thu Jul 29 22:35:46 EDT 2010 stevenj@alum.mit.edu

  • handle missing C99/IEEE copysign function, e.g. for WWin32; thanks to Benoit Scherrer for the bug report

    M ./configure.ac +8 M ./util/nlopt-util.h +5

Thu Jul 29 20:54:19 EDT 2010 stevenj@alum.mit.edu

  • stick to C89 and avoid mixed declarations and code; thanks to Benoit Scherrer for the bug report (fails with MSVC)

    M ./api/optimize.c -1 +1 M ./api/options.c -1 +2

Wed Jul 28 21:34:11 EDT 2010 stevenj@alum.mit.edu

  • lcc doesn't support dllimport, thanks to Laurent Vanbeylen for the bug report

    M ./api/nlopt.h -1 +1

Thu Jul 15 18:00:07 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.2

Thu Jul 15 17:51:05 EDT 2010 stevenj@alum.mit.edu

  • added Fortran mconstraint API

    M ./NEWS +2 M ./api/f77api.c +15 M ./api/f77funcs_.h +30

Thu Jul 15 17:32:58 EDT 2010 stevenj@alum.mit.edu

  • thread-safety in nlopt_seconds(), assuming we have __thread or equivalent

    M ./util/timer.c -5 +5

Thu Jul 15 17:31:24 EDT 2010 stevenj@alum.mit.edu

  • tentative release date for 2.2

    M ./NEWS -1 +1

Thu Jul 15 17:10:33 EDT 2010 stevenj@alum.mit.edu

  • rm SLSQP from TODO

    M ./TODO -2

Thu Jul 15 16:44:05 EDT 2010 stevenj@alum.mit.edu

  • added --without-threadlocal to disable thread-local keyword for MinGW compilation

    M ./BUILD-MINGW.sh -1 +1 M ./m4/ax_c_threadlocal.m4 -13 +21

Thu Jul 15 16:23:15 EDT 2010 stevenj@alum.mit.edu

  • fix SLSQP to work with unbounded dimensions

    M ./slsqp/README -1 +3 M ./slsqp/slsqp.c -8 +16

Thu Jul 15 15:37:14 EDT 2010 stevenj@alum.mit.edu

  • update NEWS

    M ./NEWS +5

Thu Jul 15 15:35:04 EDT 2010 stevenj@alum.mit.edu

  • replace 1e20 with HUGE_VAL in ORIG_DIRECT code (silly hard-coded upper bound)

    M ./direct/DIRsubrout.c -7 +3

Thu Jul 15 15:34:06 EDT 2010 stevenj@alum.mit.edu

  • support forced stops in ORIG_DIRECT

    M ./api/optimize.c +3 M ./direct/DIRect.c -3 +9 M ./direct/DIRserial.c -4 +9 M ./direct/DIRsubrout.c -2 +11 M ./direct/direct-internal.h -3 +3 M ./direct/direct.h -1 +3 M ./direct/direct_wrap.c -1 +2 M ./test/testopt.cpp -1 +3

Thu Jul 15 14:10:44 EDT 2010 stevenj@alum.mit.edu

  • version bump

    M ./NEWS +23 M ./configure.ac -2 +2

Thu Jul 15 12:20:51 EDT 2010 stevenj@alum.mit.edu

  • allow BOBYQA and COBYLA to use unequal initial step sizes in different dimensions (internally rescaling the coordinates as needed); thanks to Tom Fiddaman for pointing out the problem when different coordinates have very different units

    M ./api/optimize.c -11 +23 M ./bobyqa/bobyqa.c -16 +66 M ./bobyqa/bobyqa.h -4 +3 M ./cobyla/cobyla.c -38 +59 M ./cobyla/cobyla.h -4 +4 M ./util/Makefile.am -1 +1 M ./util/nlopt-util.h +6 A ./util/rescale.c

Thu Jul 15 12:15:40 EDT 2010 stevenj@alum.mit.edu

  • fix failure in C++ (and some other front-ends) when de-allocating an nlopt object with a local optimizer; thanks to Jurgen Werner for the bug report

    M ./api/options.c +1

Tue Jul 13 13:09:40 EDT 2010 stevenj@alum.mit.edu

  • clarification of SLSQP name

    M ./slsqp/README +5

Mon Jul 12 19:33:39 EDT 2010 stevenj@alum.mit.edu

  • added python docstring for module; thanks to Sebastian Walter for the suggestion

    M ./swig/nlopt.i -1 +9

Mon Jul 12 19:01:44 EDT 2010 stevenj@alum.mit.edu

  • document SLSQP in man page

    M ./api/nlopt.3 -6 +15

Mon Jul 12 18:31:17 EDT 2010 stevenj@alum.mit.edu

  • fix memory leak for error condition

    M ./test/testopt.cpp +1

Mon Jul 12 18:30:58 EDT 2010 stevenj@alum.mit.edu

  • print out which bound was violated for bounds violation

    M ./test/testopt.cpp -3 +12

Mon Jul 12 18:30:28 EDT 2010 stevenj@alum.mit.edu

  • bug fixes to slsqp, now seems to work

    M ./slsqp/README -4 +9 M ./slsqp/slsqp.c -17 +37

Sat Jul 10 17:59:47 EDT 2010 stevenj@alum.mit.edu

  • added slsqp code (compiles, not yet tested)

    M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/general.c +1 M ./api/nlopt.h +2 M ./api/optimize.c +7 M ./api/options.c +2 M ./configure.ac +1 A ./slsqp/ A ./slsqp/COPYRIGHT A ./slsqp/Makefile.am A ./slsqp/README A ./slsqp/slsqp.c A ./slsqp/slsqp.h

Sat Jul 10 17:59:37 EDT 2010 stevenj@alum.mit.edu

  • prepare to handle forced-stop in ORIG_DIRECT (not done yet)

    M ./api/optimize.c +2

Fri Jul 9 12:56:46 EDT 2010 stevenj@alum.mit.edu

  • add missing %catches statements for recent C++ API additions, especially the add_*constraint functions; thanks to Dmitrey Kroshko for the bug report

    M ./swig/nlopt-exceptions.i -1 +11

Fri Jul 9 12:34:03 EDT 2010 stevenj@alum.mit.edu

  • if user specifies OCT_INSTALL_DIR, make M_INSTALL_DIR (if unspecified) default to the same directory

    M ./configure.ac +2

Fri Jul 9 11:14:55 EDT 2010 stevenj@alum.mit.edu

  • added GUILE_INSTALL_DIR var to change Guile installation directory

    M ./configure.ac -5 +6 M ./swig/Makefile.am -1 +1

Thu Jul 8 17:50:18 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.1.2

Thu Jul 8 17:23:53 EDT 2010 stevenj@alum.mit.edu

  • in functions with constraints, make sure forced_stop stops immediately, before evaluating any more user callbacks

    M ./NEWS +4 M ./auglag/auglag.c -2 +17 M ./cobyla/cobyla.c -2 +6 M ./isres/isres.c +6 M ./mma/mma.c +6

Thu Jul 8 17:23:40 EDT 2010 stevenj@alum.mit.edu

  • update NEWS

    M ./NEWS +4

Thu Jul 8 16:26:02 EDT 2010 stevenj@alum.mit.edu

  • use 2-dimensional array for grad arg of python mconstraint

    M ./swig/nlopt-python.i -2 +3

Thu Jul 8 15:36:54 EDT 2010 stevenj@alum.mit.edu

  • version bump (2.1.2)

    M ./NEWS +10 M ./configure.ac -2 +2

Thu Jul 8 15:16:46 EDT 2010 stevenj@alum.mit.edu

  • elim. memory leaks in C++/Python/Guile/Fortran interfaces if add_constraint gives an error or you set the objective multiple times

    M ./api/options.c -15 +41

Thu Jul 8 15:04:36 EDT 2010 stevenj@alum.mit.edu

  • fix memory leak in python wrapper on exception

    M ./swig/nlopt-python.i +1

Wed Jul 7 19:10:56 EDT 2010 stevenj@alum.mit.edu

  • return error if more than n equality constraints are specified

    M ./api/options.c -2 +4

Wed Jul 7 19:10:33 EDT 2010 stevenj@alum.mit.edu

  • yikes, fix argument check for tol argument in add_constraint functions

    M ./api/options.c -1 +3

Wed Jul 7 19:07:02 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.1.1

Wed Jul 7 11:21:34 EDT 2010 stevenj@alum.mit.edu

  • version bump 2.1.1

    M ./NEWS +9 M ./configure.ac -2 +2

Wed Jul 7 11:17:05 EDT 2010 stevenj@alum.mit.edu

  • better checking for Python and Numpy include directories; thanks to Nathaniel Smith for the tip about numpy.get_include()

    M ./configure.ac -17 +18 M ./swig/Makefile.am -1 +1

Tue Jul 6 19:51:46 EDT 2010 stevenj@alum.mit.edu

  • missing nlopt- prefix for version_* functions

    M ./swig/nlopt.i +3

Tue Jul 6 17:20:09 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.1

Tue Jul 6 17:16:17 EDT 2010 stevenj@alum.mit.edu

  • version bump for 2.1

    M ./NEWS +10 M ./configure.ac -2 +2

Tue Jul 6 17:14:18 EDT 2010 stevenj@alum.mit.edu

  • fix python mconstraint, change C++ mconstraint to infer m from tol.size()

    M ./api/nlopt-in.hpp -16 +8 M ./swig/nlopt-python.i -2 +2

Tue Jul 6 16:58:19 EDT 2010 stevenj@alum.mit.edu

  • python interface for mconstraint feature

    M ./swig/nlopt-python.i +37

Tue Jul 6 16:37:01 EDT 2010 stevenj@alum.mit.edu

  • added mconstraint functions to C++ API

    M ./api/nlopt-in.hpp -13 +82

Tue Jul 6 15:51:54 EDT 2010 stevenj@alum.mit.edu

  • fix mma mconstraints

    M ./api/optimize.c -1 +2 M ./mma/mma.c -1 +6

Tue Jul 6 15:14:26 EDT 2010 stevenj@alum.mit.edu

  • bug fixes to auglag in new mconstraint, don't use stopval in subopt unless no constraints

    M ./auglag/auglag.c -6 +12

Thu Jul 1 18:24:52 EDT 2010 stevenj@alum.mit.edu

  • add mconstraint to C API (not yet tested), thanks to Dmitrey of OpenOpt for the suggestion

    M ./api/nlopt-internal.h +2 M ./api/nlopt.h +15 M ./api/optimize.c -13 +24 M ./api/options.c -31 +99 M ./auglag/auglag.c -52 +88 M ./cobyla/cobyla.c -9 +34 M ./isres/isres.c -8 +26 M ./mma/mma.c -17 +28 M ./util/nlopt-util.h -2 +10 M ./util/stop.c +27

Thu Jun 24 19:29:26 EDT 2010 stevenj@alum.mit.edu

  • support equality constraints in COBYLA (internally, just a pair of inequality constraints: since COBYLA solves a sequence of LPs, and LPs have no problem with such pairs, it seems to converge just fine)

    M ./api/nlopt.3 -6 +6 M ./api/optimize.c +1 M ./api/options.c -1 +2 M ./cobyla/cobyla.c +13 M ./cobyla/cobyla.h +1

Tue Jun 22 09:48:44 EDT 2010 stevenj@alum.mit.edu

  • -mthreads forces mingwm10.dll dependency, remove; thanks to Jurgen Werner for the bug report

    M ./BUILD-MINGW.sh -1 +1

Mon Jun 21 11:18:09 EDT 2010 stevenj@alum.mit.edu

  • apparently the @ really is part of the identifier with stdcall functions...thanks to Juergen Werner for the bug report

    M ./BUILD-MINGW.sh -1 +1

Thu Jun 17 19:47:43 EDT 2010 stevenj@alum.mit.edu

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

    M ./api/nlopt-in.hpp +5

Thu Jun 17 13:02:37 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.0.2

Thu Jun 17 11:52:39 EDT 2010 stevenj@alum.mit.edu

  • version bump (2.0.2)

    M ./NEWS +6 M ./configure.ac -2 +2

Thu Jun 17 11:50:09 EDT 2010 stevenj@alum.mit.edu

  • STDCALL needs to go after return type for MSVC++; thanks to Dave Katz for the bug report

    M ./api/deprecated.c -14 +14 M ./api/general.c -3 +3 M ./api/nlopt.h -56 +56 M ./api/optimize.c -2 +2 M ./api/options.c -38 +58

Thu Jun 17 00:26:35 EDT 2010 stevenj@alum.mit.edu

  • fixed mingw .def file

    M ./BUILD-MINGW.sh -1 +1

Wed Jun 16 19:33:27 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.0.1

Wed Jun 16 19:24:29 EDT 2010 stevenj@alum.mit.edu

  • version bump (2.0.1)

    M ./NEWS +6 M ./configure.ac -2 +2

Wed Jun 16 19:10:06 EDT 2010 stevenj@alum.mit.edu

  • added --with-mthreads option to use -mthreads flag when building MinGW, since that is reportedly needed for __thread to give threadlocal storage

    M ./BUILD-MINGW.sh -1 +1 M ./configure.ac +8

Wed Jun 16 19:04:11 EDT 2010 stevenj@alum.mit.edu

  • fixed MinGW build

    M ./BUILD-MINGW.sh -3 +43 M ./api/deprecated.c +7 M ./api/f77api.c +4 M ./api/f77funcs.h -1 +1 M ./api/general.c -3 +3 M ./api/optimize.c +1 M ./api/options.c -37 +38

Wed Jun 16 18:17:07 EDT 2010 stevenj@alum.mit.edu

  • added --without-python and --without-guile options

    M ./configure.ac -4 +23

Wed Jun 16 17:47:52 EDT 2010 stevenj@alum.mit.edu

  • fixed get_array functions in Fortran

    M ./api/f77api.c -1 +1

Wed Jun 16 17:35:17 EDT 2010 stevenj@alum.mit.edu

  • whoops, fixed to configure with --disable-shared

    M ./configure.ac -3 +6

Wed Jun 16 14:57:31 EDT 2010 stevenj@alum.mit.edu

  • doc update -- main MLSL no longer has default sub-algorithm

    M ./api/nlopt.3 -3 +2

Tue Jun 15 22:10:57 EDT 2010 stevenj@alum.mit.edu tagged nlopt-2.0

Tue Jun 15 20:45:10 EDT 2010 stevenj@alum.mit.edu

  • change lb/ub field in Matlab interface to lower_bounds/upper_bounds, for consistency

    M ./octave/nlopt_minimize_constrained.m -2 +2 M ./octave/nlopt_optimize-mex.c -2 +2 M ./octave/nlopt_optimize-oct.cc -4 +4 M ./octave/nlopt_optimize.m -5 +6

Tue Jun 15 19:06:44 EDT 2010 stevenj@alum.mit.edu

  • check for numpy

    M ./configure.ac +7

Tue Jun 15 18:29:11 EDT 2010 stevenj@alum.mit.edu

  • tentative 2.0 release date

    M ./NEWS -1 +1

Tue Jun 15 18:25:04 EDT 2010 stevenj@alum.mit.edu

  • add NLOPT_G_MLSL variants that require local_opt to be specified

    M ./api/Makefile.am -2 +2 M ./api/general.c +2 M ./api/nlopt.3 -15 +11 M ./api/nlopt.h -1 +4 M ./api/optimize.c -1 +7 M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_G_MLSL.m A ./octave/NLOPT_G_MLSL_LDS.m M ./octave/mkconstants.sh -1 +1 M ./swig/Makefile.am -1 +1

Mon Jun 14 18:53:07 EDT 2010 stevenj@alum.mit.edu

  • move new AUGLAG constants to end of list in order to preserve backwards compatibility

    M ./api/general.c -2 +2 M ./api/nlopt.h -2 +4 M ./octave/Makefile.am -1 +1 M ./octave/NLOPT_AUGLAG.m -1 +1 M ./octave/NLOPT_AUGLAG_EQ.m -1 +1 M ./octave/NLOPT_GN_ISRES.m -1 +1 M ./octave/NLOPT_LD_AUGLAG.m -1 +1 M ./octave/NLOPT_LD_AUGLAG_EQ.m -1 +1 M ./octave/NLOPT_LN_AUGLAG.m -1 +1 M ./octave/NLOPT_LN_AUGLAG_EQ.m -1 +1 M ./octave/NLOPT_LN_BOBYQA.m -1 +1

Mon Jun 14 18:51:38 EDT 2010 stevenj@alum.mit.edu

  • add AUGLAG constants to other langs

    A ./octave/NLOPT_AUGLAG.m A ./octave/NLOPT_AUGLAG_EQ.m M ./api/Makefile.am -2 +2 M ./octave/Makefile.am -1 +1 M ./octave/NLOPT_AUGLAG.m +5 M ./octave/NLOPT_AUGLAG_EQ.m +5 M ./octave/NLOPT_GN_ISRES.m -1 +1 M ./octave/NLOPT_LD_AUGLAG.m -1 +1 M ./octave/NLOPT_LD_AUGLAG_EQ.m -1 +1 M ./octave/NLOPT_LN_AUGLAG.m -1 +1 M ./octave/NLOPT_LN_AUGLAG_EQ.m -1 +1 M ./octave/NLOPT_LN_BOBYQA.m -1 +1 M ./octave/mkconstants.sh -2 +2 M ./swig/Makefile.am -1 +1

Mon Jun 14 18:38:23 EDT 2010 stevenj@alum.mit.edu

  • add numpy.i to dist, since it isn't shipped in a standard location I can rely on

    M ./swig/Makefile.am -2 +2 A ./swig/numpy.i

Mon Jun 14 18:29:55 EDT 2010 stevenj@alum.mit.edu

  • add TODO for more wrappers

    M ./TODO +2

Mon Jun 14 18:27:41 EDT 2010 stevenj@alum.mit.edu

  • scheme callbacks now take grad as vector argument, and must use side-effects to modify it

    M ./swig/nlopt-guile.i -18 +12

Mon Jun 14 18:04:16 EDT 2010 stevenj@alum.mit.edu

  • detect a roundoff error condition in COBYLA

    M ./cobyla/cobyla.c -4 +8

Mon Jun 14 16:55:27 EDT 2010 stevenj@alum.mit.edu

  • copy initial_step (if any) from opt to local_opt

    M ./api/optimize.c -2 +2 M ./api/options.c -1

Mon Jun 14 16:42:37 EDT 2010 stevenj@alum.mit.edu

  • set_initial_step(opt, NULL) resets to default

    M ./api/options.c -1 +5

Mon Jun 14 16:38:57 EDT 2010 stevenj@alum.mit.edu

  • document NLOPT_AUGLAG

    M ./api/nlopt.3 -5 +19

Mon Jun 14 16:29:46 EDT 2010 stevenj@alum.mit.edu

  • turn off auglag_verbose by default

    M ./auglag/auglag.c -1 +1

Mon Jun 14 16:26:11 EDT 2010 stevenj@alum.mit.edu

  • NLOPT_AUGLAG, no LN/LD, which requires local-opt algorithm to be specified; remove "convergence" tests for no progress towards feasibility in auglag, which seem to cause incorrect termination ....

    M ./api/general.c +2 M ./api/nlopt.h +2 M ./api/optimize.c -1 +7 M ./api/options.c -1 +3 M ./auglag/auglag.c -11 +8

Mon Jun 14 14:40:16 EDT 2010 stevenj@alum.mit.edu

  • updated NEWS with new 2.0 features

    M ./NEWS -3 +57

Mon Jun 14 14:37:16 EDT 2010 stevenj@alum.mit.edu

  • disable Python/Guile wrappers unless --enable-shared

    M ./configure.ac +6

Mon Jun 14 14:21:29 EDT 2010 stevenj@alum.mit.edu

  • C++, STOGO, and nocedal fixes

    M ./api/f77api.c +1 M ./api/general.c -4 +3 M ./api/nlopt-internal.h -1 +1 M ./api/optimize.c -1 +1 M ./lbfgs/l-bfgs-b.cpp -3 +3 M ./lbfgs/l-bfgs-b.h -1 +1 M ./stogo/local.cc -1 +1 M ./stogo/stogo.cc -2 +2 M ./stogo/stogo.h -1 +1

Mon Jun 14 12:32:08 EDT 2010 stevenj@alum.mit.edu

  • removed finished TODO

    M ./TODO -2

Sat Jun 12 22:07:45 EDT 2010 stevenj@alum.mit.edu

  • map NLopt's C++ exceptions to more Scheme-like equivalents

    M ./swig/nlopt-guile.i +23

Sat Jun 12 22:07:26 EDT 2010 stevenj@alum.mit.edu

  • bug fix in guile wrapper, to match latest C++ api

    M ./swig/nlopt-guile.i -4 +4

Sat Jun 12 21:39:28 EDT 2010 stevenj@alum.mit.edu

  • handle/throw Python exceptions

    M ./swig/nlopt-python.i -1 +60

Sat Jun 12 10:15:30 EDT 2010 stevenj@alum.mit.edu

  • catch and rethrow nlopt exceptions from objective

    M ./api/nlopt-in.hpp -11 +35

Sat Jun 12 00:34:14 EDT 2010 stevenj@alum.mit.edu

  • bug fix - python strides are in bytes, not in doubles (thanks to Zhichao for the bug report)

    M ./swig/nlopt-python.i -2 +3

Fri Jun 11 00:44:42 EDT 2010 stevenj@alum.mit.edu

  • make prepending nlopt_ the exception, not the rule

    M ./swig/nlopt.i -1 +2

Fri Jun 11 00:44:33 EDT 2010 stevenj@alum.mit.edu

  • version bump

    M ./NEWS -1 +3 M ./configure.ac -1 +1

Fri Jun 11 00:31:35 EDT 2010 stevenj@alum.mit.edu

  • silence compiler warning

    M ./api/nlopt-in.hpp -2 +3

Fri Jun 11 00:15:52 EDT 2010 stevenj@alum.mit.edu

  • fixed python shared-lib name

    M ./swig/Makefile.am -5 +5

Fri Jun 11 00:12:12 EDT 2010 stevenj@alum.mit.edu

  • fixed(?) python interface

    M ./swig/nlopt-python.i -4 +6 M ./swig/nlopt.i +2

Sun Jun 6 23:30:53 EDT 2010 stevenj@alum.mit.edu

  • python plugin compiles (untested)

    M ./configure.ac +18 M ./swig/Makefile.am -2 +14 M ./swig/nlopt-guile.i -1 +1 M ./swig/nlopt-python.i -4 +6

Fri Jun 4 20:19:16 EDT 2010 stevenj@alum.mit.edu

  • replace free_f_data flag with more general munging feature, use for proper refcounting of function pointers in SWIG guile/python wrappers

    M ./api/f77api.c +7 M ./api/f77funcs_.h -5 +1 M ./api/nlopt-in.hpp -11 +86 M ./api/nlopt-internal.h -1 +1 M ./api/nlopt.h -5 +8 M ./api/options.c -38 +38 M ./swig/nlopt-guile.i -10 +20 M ./swig/nlopt-python.i -3 +7

Fri Jun 4 18:51:47 EDT 2010 stevenj@alum.mit.edu

  • beginnings of Python wrapper (not tested, not compiled, memory leak still in callback reference)

    M ./swig/Makefile.am -2 +5 A ./swig/nlopt-python.i M ./swig/nlopt.i +4

Fri Jun 4 18:45:23 EDT 2010 stevenj@alum.mit.edu

  • rm blank line

    M ./swig/nlopt-guile.i -1

Fri Jun 4 16:44:31 EDT 2010 stevenj@alum.mit.edu

  • fix shadowed overloading

    M ./api/nlopt-in.hpp -1 +1

Thu Jun 3 22:03:46 EDT 2010 stevenj@alum.mit.edu

  • support exceptions in SWIG wrappers

    M ./api/nlopt-in.hpp -15 +26 M ./api/options.c +2 M ./swig/Makefile.am -2 +3 A ./swig/nlopt-exceptions.i M ./swig/nlopt.i +2

Thu Jun 3 19:14:01 EDT 2010 stevenj@alum.mit.edu

  • provide alternate optimize() method that does not areturn results via reference arguments, to make it easier for SWIG to translate

    M ./api/nlopt-in.hpp -5 +24 M ./swig/nlopt-guile.i -17

Thu Jun 3 18:55:50 EDT 2010 stevenj@alum.mit.edu

  • use thread_id, if available, in nlopt_srand_time to ensure that different threads get different seed even if they are called simultaneously

    M ./api/general.c -1 +21 M ./configure.ac -3 +12

Thu Jun 3 09:26:30 EDT 2010 stevenj@alum.mit.edu

  • libnlopt_guile has no inter-library dependencies

    M ./swig/Makefile.am -1 +1

Wed Jun 2 22:58:24 EDT 2010 stevenj@alum.mit.edu

  • Guile wrapper seems mostly functional, sans exceptions (needed wrapper around opt::optimize to return triplet)

    M ./swig/Makefile.am +1 M ./swig/nlopt-guile.i -1 +22

Wed Jun 2 22:06:55 EDT 2010 stevenj@alum.mit.edu

  • initial stab at guile-wrapper/SWIG Makefile

    M ./Makefile.am -1 +1 M ./autogen.sh +2 M ./configure.ac -1 +38 M ./swig/Makefile.am -4 +28 M ./swig/nlopt-guile.i -3 +3

Wed Jun 2 13:39:26 EDT 2010 stevenj@alum.mit.edu

  • no way to rethrow last-caught exception outside of "catch" block

    M ./api/nlopt-in.hpp -9 +2

Wed Jun 2 13:23:33 EDT 2010 stevenj@alum.mit.edu

  • use memcpy, return inf on exception from objective

    M ./api/nlopt-in.hpp -3 +7

Wed Jun 2 13:13:17 EDT 2010 stevenj@alum.mit.edu

  • slight optimization in std::vector<double> wrappers (alllocate temporaries only once)

    M ./api/nlopt-in.hpp -6 +23

Wed Jun 2 02:22:44 EDT 2010 stevenj@alum.mit.edu

  • first stab at SWIG wrappers (unfinished Makefile), starting with Guile

    A ./swig/ A ./swig/Makefile.am A ./swig/nlopt-guile.i A ./swig/nlopt.i

Wed Jun 2 01:25:37 EDT 2010 stevenj@alum.mit.edu

  • no need for opt::reinit since we have = operator

    M ./api/nlopt-in.hpp -6

Tue Jun 1 23:50:21 EDT 2010 stevenj@alum.mit.edu

  • added fortran wrapper for nlopt_copy

    M ./api/f77funcs_.h +9

Tue Jun 1 22:44:02 EDT 2010 stevenj@alum.mit.edu

  • take f_data in std::vector-style objective/constraints

    M ./api/nlopt-in.hpp -11 +11

Tue Jun 1 21:45:55 EDT 2010 stevenj@alum.mit.edu

  • streamlined C++ header by using only std::vector and little or no double*; also, try to be somewhat exception-safe

    M ./api/nlopt-in.hpp -78 +109 M ./api/nlopt.h -2 +3 R ./api/nlopt.hpp M ./api/options.c -1 +37

Tue Jun 1 20:36:32 EDT 2010 stevenj@alum.mit.edu

  • added API for free_f_data

    M ./api/f77api.c -1 +1 M ./api/f77funcs_.h -2 +1 M ./api/nlopt.h +5 M ./api/options.c -4 +4

Tue Jun 1 18:47:59 EDT 2010 stevenj@alum.mit.edu

  • add C++ header

    A ./api/nlopt.hpp

Tue Jun 1 11:17:31 EDT 2010 stevenj@alum.mit.edu

  • added new Fortran API, removed unnecessary --with-windows-f77-mangling

    M ./api/Makefile.am -1 +1 M ./api/f77api.c -31 +35 M ./api/f77funcs.h -2 +6 A ./api/f77funcs_.h M ./api/nlopt-internal.h +2 M ./api/options.c -2 +14 M ./configure.ac -5

Mon May 31 17:49:14 EDT 2010 stevenj@alum.mit.edu

  • fixed generation of nlopt.f (again)

    M ./api/Makefile.am -1 +1

Mon May 31 12:59:10 EDT 2010 stevenj@alum.mit.edu

  • improve C++ header exceptions, rename NLOPT_FORCE_STOP to NLOPT_FORCED_STOP

    M ./api/nlopt-in.hpp -2 +16 M ./api/nlopt.3 -1 +1 M ./api/nlopt.h -1 +1 M ./api/optimize.c r1 M ./auglag/auglag.c r1 M ./bobyqa/bobyqa.c r1 M ./cdirect/cdirect.c r1 M ./cobyla/cobyla.c r1 M ./cquad/cquad.c r1 M ./crs/crs.c r1 M ./isres/isres.c r1 M ./luksan/plip.c r1 M ./luksan/plis.c r1 M ./luksan/pnet.c r1 M ./mlsl/mlsl.c r1 M ./mma/mma.c r1 M ./neldermead/nldrmd.c r1 M ./neldermead/sbplx.c r1 M ./newuoa/newuoa.c r1 M ./praxis/praxis.c r1

Fri May 28 17:41:12 EDT 2010 stevenj@alum.mit.edu

  • use thread-local storage for Mersenne twister to make thread-safe (for compilers supporting __thread or __declspec(thread))

    M ./api/general.c -1 +5 M ./api/nlopt-internal.h -1 +1 M ./api/optimize.c -2 +1 M ./configure.ac +1 A ./m4/ax_c_threadlocal.m4 M ./util/mt19937ar.c -2 +5

Fri May 28 12:44:40 EDT 2010 stevenj@alum.mit.edu

  • C++ compilation fixes

    M ./auglag/auglag.c -2 +3 M ./cdirect/cdirect.c -4 +4 M ./cdirect/cdirect.h -1 +1 M ./cobyla/cobyla.c -1 +1 M ./neldermead/sbplx.c -2 +2

Fri May 28 12:37:37 EDT 2010 stevenj@alum.mit.edu

  • a few int -> unsigned fixes

    M ./mlsl/mlsl.c -1 +1 M ./mma/mma.c -9 +10 M ./mma/mma.h -3 +3

Fri May 28 12:36:00 EDT 2010 stevenj@alum.mit.edu

  • added nlopt_force_stop termination

    M ./api/nlopt-in.hpp +3 M ./api/nlopt-internal.h +6 M ./api/nlopt.3 +5 M ./api/nlopt.h +5 M ./api/optimize.c +10 M ./api/options.c -4 +25 M ./auglag/auglag.c +1 M ./bobyqa/bobyqa.c -4 +8 M ./cdirect/cdirect.c -1 +1 M ./cobyla/cobyla.c -1 +2 M ./cquad/cquad.c -2 +4 M ./crs/crs.c +1 M ./isres/isres.c -1 +2 M ./luksan/plip.c +1 M ./luksan/plis.c +1 M ./luksan/pnet.c +1 M ./luksan/pssubs.c +4 M ./mlsl/mlsl.c -2 +8 M ./mma/mma.c -2 +4 M ./neldermead/nldrmd.c +2 M ./neldermead/sbplx.c +1 M ./newuoa/newuoa.c -1 +2 M ./praxis/praxis.c -1 +2 M ./subplex/subplex.c -1 +3 M ./util/nlopt-util.h +2 M ./util/stop.c +5

Wed May 12 11:18:12 EDT 2010 stevenj@alum.mit.edu

  • remove obsolete TODO

    M ./TODO -6

Wed May 12 11:01:53 EDT 2010 stevenj@alum.mit.edu

  • fixed Matlab plugin

    M ./octave/nlopt_optimize-mex.c -3 +3

Wed May 12 00:00:09 EDT 2010 stevenj@alum.mit.edu

  • stab at Matlab nlopt_optimize interface

    M ./octave/Makefile.am -13 +5 R ./octave/nlopt_minimize_constrained-mex.c R ./octave/nlopt_minimize_constrained-oct.cc A ./octave/nlopt_optimize-mex.c M ./octave/nlopt_optimize-oct.cc -4 M ./octave/nlopt_optimize.m -2 +2

Tue May 11 23:48:48 EDT 2010 stevenj@alum.mit.edu

  • note that n argument is now unsigned

    M ./api/nlopt.3 -1 +1

Tue May 11 22:14:54 EDT 2010 stevenj@alum.mit.edu

  • replace Octave nlopt_minimize_constrained with wrapper around new nlopt_optimize, and document the latter

    M ./octave/Makefile.am -2 +2 M ./octave/nlopt_minimize_constrained.m +14 M ./octave/nlopt_optimize-oct.cc -1 +1 M ./octave/nlopt_optimize.m +173

Tue May 11 22:14:30 EDT 2010 stevenj@alum.mit.edu

  • remove obsolete NLOPT_MINF_MAX_REACHED

    M ./api/nlopt.h -2 +1

Tue May 11 22:13:51 EDT 2010 stevenj@alum.mit.edu

  • slight man page corrections

    M ./api/nlopt.3 -11 +14

Fri May 7 20:12:55 EDT 2010 stevenj@alum.mit.edu

  • add new man page

    M ./api/Makefile.am -1 +1 A ./api/nlopt.3

Fri May 7 19:48:05 EDT 2010 stevenj@alum.mit.edu

  • support inequality constraints directly in ORIG_DIRECT

    M ./api/optimize.c -21 +13 M ./api/options.c -1 +3

Mon Apr 5 22:50:26 EDT 2010 stevenj@alum.mit.edu

  • initial stab at new-style Octave api

    M ./octave/Makefile.am -4 +12 M ./octave/nlopt_minimize_constrained-oct.cc -1 +1 A ./octave/nlopt_optimize-oct.cc A ./octave/nlopt_optimize.m

Mon Apr 5 22:49:33 EDT 2010 stevenj@alum.mit.edu

  • whoops, fix maximize function

    M ./api/optimize.c +2

Mon Apr 5 15:17:49 EDT 2010 stevenj@alum.mit.edu

  • put a few more functions into the C++ API

    M ./api/nlopt-in.hpp +18

Mon Apr 5 03:28:11 EDT 2010 stevenj@alum.mit.edu

  • catch a vector-size mismatch in C++

    M ./api/nlopt-in.hpp +2

Mon Apr 5 03:19:53 EDT 2010 stevenj@alum.mit.edu

  • rm debugging printf

    M ./cobyla/cobyla.c -2

Mon Apr 5 03:16:50 EDT 2010 stevenj@alum.mit.edu

  • add set_max_objective to automate the sign flip for maximization

    M ./api/nlopt-in.hpp +7 M ./api/nlopt-internal.h -1 +2 M ./api/nlopt.h -2 +5 M ./api/optimize.c -7 +56 M ./api/options.c -2 +18 M ./auglag/auglag.c +1 M ./mma/mma.c +1

Mon Apr 5 02:30:16 EDT 2010 stevenj@alum.mit.edu

  • some C++ tweaks

    M ./api/nlopt-in.hpp -5 +8

Mon Apr 5 01:58:31 EDT 2010 stevenj@alum.mit.edu

  • version, copyright-year bump

    M ./COPYING -1 +1 M ./COPYRIGHT -1 +1 M ./NEWS +6 M ./api/deprecated.c -1 +1 M ./api/f77api.c -1 +1 M ./api/f77funcs.h -1 +1 M ./api/general.c -1 +1 M ./api/nlopt-in.hpp -1 +1 M ./api/nlopt-internal.h -1 +1 M ./api/nlopt.h -1 +1 M ./api/nlopt_minimize_constrained.3 -1 +1 M ./api/optimize.c -1 +1 M ./api/options.c -1 +1 M ./auglag/auglag.h -1 +1 M ./bobyqa/COPYRIGHT -1 +1 M ./cdirect/cdirect.c -1 +1 M ./cdirect/cdirect.h -1 +1 M ./cdirect/hybrid.c -1 +1 M ./configure.ac -2 +2 M ./cquad/cquad.h -1 +1 M ./crs/crs.c -1 +1 M ./crs/crs.h -1 +1 M ./isres/isres.c -1 +1 M ./isres/isres.h -1 +1 M ./mlsl/mlsl.c -1 +1 M ./mlsl/mlsl.h -1 +1 M ./mma/mma.c -1 +1 M ./mma/mma.h -1 +1 M ./neldermead/neldermead.h -1 +1 M ./neldermead/nldrmd.c -1 +1 M ./neldermead/sbplx.c -1 +1 M ./newuoa/COPYRIGHT -1 +1 M ./newuoa/newuoa.c -1 +1 M ./octave/nlopt_minimize_constrained-mex.c -1 +1 M ./octave/nlopt_minimize_constrained-oct.cc -1 +1 M ./test/testopt.cpp -1 +1 M ./util/nlopt-util.h -1 +1 M ./util/qsort_r.c -1 +1 M ./util/redblack.c -1 +1 M ./util/redblack.h -1 +1 M ./util/redblack_test.c -1 +1 M ./util/stop.c -1 +1 M ./util/timer.c -1 +1

Mon Apr 5 01:41:36 EDT 2010 stevenj@alum.mit.edu

  • change new API to use unsigned where it makes sense

    M ./api/deprecated.c -11 +14 M ./api/general.c -1 +1 M ./api/nlopt-in.hpp -13 +13 M ./api/nlopt-internal.h -7 +7 M ./api/nlopt.h -11 +15 M ./api/optimize.c -34 +36 M ./api/options.c -37 +35 M ./test/testfuncs.c -30 +30 M ./util/nlopt-util.h -1 +1 M ./util/stop.c -3 +3

Mon Apr 5 00:49:54 EDT 2010 stevenj@alum.mit.edu

  • add C++ style API

    M ./api/Makefile.am -3 +8 A ./api/nlopt-in.hpp M ./api/nlopt.h -3 +6 M ./api/options.c -7 +28

Mon Apr 5 00:49:17 EDT 2010 stevenj@alum.mit.edu

  • in MMA, only stop on minf_max if feasible!

    M ./mma/mma.c -2 +4

Sun Apr 4 21:34:43 EDT 2010 stevenj@alum.mit.edu

  • more nlopt_opt introspection

    M ./api/nlopt.h +3 M ./api/options.c +5

Sun Apr 4 20:56:32 EDT 2010 stevenj@alum.mit.edu

  • fix memory leak in nlopt_create

    M ./api/options.c +1

Sun Apr 4 20:54:22 EDT 2010 stevenj@alum.mit.edu

  • use constraint tolerance for feasibility check of minf convergence check in COBYLA

    M ./cobyla/cobyla.c -6 +62 M ./cobyla/cobyla.h -51

Sun Apr 4 20:34:52 EDT 2010 stevenj@alum.mit.edu

  • pseudo-randomize simplex steps in COBLYA, to avoid accidentally taking steps that don't improve conditioning (which seems to happen with bound constraints where the optimum is against the bounds, sometimes); note that the algorithm remains deterministic

    M ./cobyla/cobyla.c -1 +41

Sun Apr 4 20:33:44 EDT 2010 stevenj@alum.mit.edu

  • allow COBYLA to increase trust-region radius (rho) if predicted improvement was approximately right and simplex is ok, following suggestion in SAS manual for PROC NLP

    M ./cobyla/cobyla.c +11

Sun Apr 4 20:33:28 EDT 2010 stevenj@alum.mit.edu

  • more verbose output for auglag

    M ./auglag/auglag.c +8

Sun Apr 4 18:24:32 EDT 2010 stevenj@alum.mit.edu

  • don't call MLSL recursively (e.g. in auglag)

    M ./api/optimize.c -4 +11

Sun Apr 4 18:18:35 EDT 2010 stevenj@alum.mit.edu

  • return error in global search if domain is not finite

    M ./api/optimize.c +18

Sun Apr 4 17:51:25 EDT 2010 stevenj@alum.mit.edu

  • improved (I think) stopping criteria for auglag

    M ./auglag/auglag.c -18 +47

Sun Apr 4 17:48:51 EDT 2010 stevenj@alum.mit.edu

  • use opt->dx in local sub-algorithm

    M ./api/optimize.c +3

Sun Apr 4 16:31:47 EDT 2010 stevenj@alum.mit.edu

  • tweak initial step

    M ./api/options.c -1 +1

Sat Apr 3 12:00:38 EDT 2010 stevenj@alum.mit.edu

  • new, extensible "object-oriented" API, first draft

    M ./api/Makefile.am -1 +2 A ./api/deprecated.c A ./api/general.c A ./api/nlopt-internal.h R ./api/nlopt.c M ./api/nlopt.h -12 +114 A ./api/optimize.c A ./api/options.c M ./auglag/auglag.c -41 +67 M ./auglag/auglag.h -5 +3 M ./cobyla/cobyla.c -7 +4 M ./cobyla/cobyla.h -2 +1 M ./isres/isres.c -16 +15 M ./isres/isres.h -4 +2 M ./mlsl/mlsl.c -16 +10 M ./mlsl/mlsl.h -2 +1 M ./mma/mma.c -27 +17 M ./mma/mma.h -4 +2 M ./util/Makefile.am +2 M ./util/nlopt-util.h -1 +18

Fri Apr 2 18:50:04 EDT 2010 stevenj@alum.mit.edu

  • use stdcall interface by default on Windows, since this seems to be more standard there; thanks to Alan Young for the suggestion

    M ./api/nlopt.h -2 +16

Mon Mar 15 18:31:59 EDT 2010 stevenj@alum.mit.edu

  • nlopt-util.h not needed for mex file

    M ./octave/nlopt_minimize_constrained-mex.c -1

Tue Feb 9 17:47:41 EST 2010 stevenj@alum.mit.edu

  • use NLopt stop criteria in Luksan code: in particular, absolute tolerances were missing (thanks to Greg Nicholas for the bug report)

    M ./TODO -3 M ./luksan/luksan.h -4 +4 M ./luksan/plip.c -2 +4 M ./luksan/plis.c -2 +4 M ./luksan/pnet.c -2 +4 M ./luksan/pssubs.c -15 +9 M ./util/nlopt-util.h +2 M ./util/stop.c +9

Fri Jan 29 01:02:56 EST 2010 stevenj@alum.mit.edu

  • missing autogen.sh file

    A ./autogen.sh

Fri Jan 29 01:00:46 EST 2010 stevenj@alum.mit.edu

  • fixed to compile under C++, use C++ compiler in --with-cxx mode (thanks to Greg Nicholas for the suggestion)

    M ./cdirect/cdirect.c -1 +1 M ./cobyla/cobyla.c -2 +2 M ./cobyla/cobyla.h +5 M ./configure.ac +5 M ./direct/DIRserial.c -1 +1 M ./direct/DIRsubrout.c -12 +12 M ./direct/direct-internal.h -12 +12 M ./util/stop.c -5 +5

Fri Jan 29 00:43:34 EST 2010 stevenj@alum.mit.edu

  • added missing bobyqa files

    A ./bobyqa/Makefile.am A ./bobyqa/README.orig

Wed Jan 27 17:49:36 EST 2010 stevenj@alum.mit.edu

  • more TODOs

    M ./TODO +8

Wed Jan 27 17:43:35 EST 2010 stevenj@alum.mit.edu

  • added TOD

    A ./TODO

Tue Dec 1 11:48:34 EST 2009 stevenj@alum.mit.edu

  • omit .m files from .zip for now

    M ./BUILD-MINGW.sh -2 +2

Tue Dec 1 11:42:33 EST 2009 stevenj@alum.mit.edu

  • add mingw build script

    A ./BUILD-MINGW.sh

Wed Nov 18 20:55:03 EST 2009 stevenj@alum.mit.edu tagged nlopt-1.2

Wed Nov 18 20:52:41 EST 2009 stevenj@alum.mit.edu

  • tentative 1.2 release

    M ./NEWS +18 M ./configure.ac -2 +2

Wed Nov 18 20:51:24 EST 2009 stevenj@alum.mit.edu

  • update Matlab/Octave help

    M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_GN_ISRES.m A ./octave/NLOPT_LD_AUGLAG.m A ./octave/NLOPT_LD_AUGLAG_EQ.m A ./octave/NLOPT_LN_AUGLAG.m A ./octave/NLOPT_LN_AUGLAG_EQ.m A ./octave/NLOPT_LN_BOBYQA.m M ./octave/nlopt_minimize.m -10 +12 M ./octave/nlopt_minimize_constrained.m -10 +12

Wed Nov 18 19:47:24 EST 2009 stevenj@alum.mit.edu

  • added get/set stochastic_population functions for greater control over stochastic algorithms

    M ./api/f77funcs.h +9 M ./api/nlopt.c -2 +17 M ./api/nlopt.h +3 M ./crs/crs.c -6 +13 M ./crs/crs.h +1 M ./mlsl/mlsl.c -2 +8 M ./mlsl/mlsl.h +1

Wed Nov 18 19:23:12 EST 2009 stevenj@alum.mit.edu

  • isres should ignore change in f and x on first evaluation

    M ./isres/isres.c -4 +8

Wed Nov 18 19:10:16 EST 2009 stevenj@alum.mit.edu

  • slightly better way of deciding on "best" solution so far in ISRES, still not entirely satisfactory

    M ./isres/isres.c -8 +15

Wed Nov 18 11:41:55 EST 2009 stevenj@alum.mit.edu

  • whoops, fixed Matlab configure

    M ./configure.ac -2 +2

Wed Nov 18 01:18:57 EST 2009 stevenj@alum.mit.edu

  • bug fix in ISRES; it seems to work, albeit worse than CRS2

    M ./isres/isres.c -20 +22

Wed Nov 18 00:57:31 EST 2009 stevenj@alum.mit.edu

  • make sure minf is initialized to HUGE_VAL before calling any optimization routine

    M ./api/nlopt.c +2

Wed Nov 18 00:52:59 EST 2009 stevenj@alum.mit.edu

  • added ISRES (compiles, but untested)

    M ./Makefile.am -5 +7 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -2 +11 M ./api/nlopt.h +2 M ./configure.ac +1 A ./isres/ A ./isres/Makefile.am A ./isres/README A ./isres/isres.c A ./isres/isres.h M ./util/mt19937ar.c -10 +32 M ./util/nlopt-util.h +1

Tue Nov 17 16:20:16 EST 2009 stevenj@alum.mit.edu

  • add URL to README

    M ./README +5

Tue Nov 17 16:17:11 EST 2009 stevenj@alum.mit.edu

  • fixes to nlopt stop cases in BOBYQA

    M ./bobyqa/bobyqa.c +6

Tue Nov 17 15:49:52 EST 2009 stevenj@alum.mit.edu

  • detect singular case in BOBYQA

    M ./bobyqa/bobyqa.c +6 M ./test/testopt.cpp -2 +5

Tue Nov 17 15:34:03 EST 2009 stevenj@alum.mit.edu

  • add preliminary BOBYQA (not quite working yet)

    M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c +6 M ./api/nlopt.h +2 A ./bobyqa/ A ./bobyqa/COPYRIGHT A ./bobyqa/README A ./bobyqa/bobyqa.c A ./bobyqa/bobyqa.h M ./configure.ac +1

Fri Nov 13 22:05:21 EST 2009 stevenj@alum.mit.edu

  • fixed extraneous text accidentally included in nlopt.f FOrtran include file

    M ./api/Makefile.am -1 +1

Thu Nov 12 20:38:53 EST 2009 stevenj@alum.mit.edu tagged nlopt-1.1

Thu Nov 12 19:54:24 EST 2009 stevenj@alum.mit.edu

  • copyright year updates

    M ./COPYING -1 +1 M ./COPYRIGHT -1 +1 M ./api/nlopt.h -1 +1 M ./newuoa/COPYRIGHT -1 +1 M ./test/testopt.cpp +22

Thu Nov 12 19:47:51 EST 2009 stevenj@alum.mit.edu

  • more nlopt 1.1 news

    M ./NEWS -1 +10

Thu Nov 12 19:43:18 EST 2009 stevenj@alum.mit.edu

  • add (disabled) code to test program to signal on NaN creation, for debugging

    M ./test/testopt.cpp +11

Thu Nov 12 19:43:08 EST 2009 stevenj@alum.mit.edu

  • added new NLOPT_ROUNDOFF_LIMITED failure code to indicate when optimizer breaks down due to roundoff errors (which may still indicate a useful result); several checks for breakdown in NEWUOA; bug fix in NEWUOA_BOUND that allowed roundoff errors to push x slightly outside bound constraints

    M ./api/nlopt.h +1 M ./newuoa/newuoa.c -2 +18 M ./test/testopt.cpp -1 +1

Thu Nov 12 17:12:19 EST 2009 stevenj@alum.mit.edu

  • if reltol > 0, catch convergence case where new == old == 0

    M ./util/stop.c -1 +2

Thu Nov 12 12:46:47 EST 2009 stevenj@alum.mit.edu

  • added double Lorentzian test function (not distributed)

    A ./test/lorentzfit.c

Thu Nov 12 12:46:19 EST 2009 stevenj@alum.mit.edu

  • added Box test function (not distributed)

    A ./test/box.c

Wed Oct 28 22:17:37 EDT 2009 stevenj@alum.mit.edu

  • configure script detects whether Matlab/Octave plugins require nlopt to be compiled as a shared library

    M ./NEWS +5 M ./configure.ac -8 +56

Wed Oct 28 21:18:05 EDT 2009 stevenj@alum.mit.edu

  • tentative release date for 1.1

    M ./NEWS -1 +4

Wed Oct 28 21:16:41 EDT 2009 stevenj@alum.mit.edu

  • updated Octave install-directory detection for recent Octave versions

    M ./configure.ac -9 +28

Wed Oct 28 21:01:01 EDT 2009 stevenj@alum.mit.edu

  • more NEWS

    M ./NEWS +13

Wed Oct 28 20:53:22 EDT 2009 stevenj@alum.mit.edu

  • work around stupid qsort_r BSD/GNU incompatibility

    M ./NEWS +6 M ./util/qsort_r.c -7 +15

Thu Nov 27 15:37:09 EST 2008 stevenj@alum.mit.edu

  • added test function with minimum at side (i.e. one active bound constraint), which is more challenging than the corner case

    M ./test/testfuncs.c -1 +46 M ./test/testfuncs.h -1 +1 M ./test/testopt.cpp -1 +1

Thu Nov 27 14:34:51 EST 2008 stevenj@alum.mit.edu

  • modify cobyla to explicitly honor bound constraints

    M ./cobyla/README +11 M ./cobyla/cobyla.c -14 +89 M ./cobyla/cobyla.h -1 +2

Wed Nov 26 18:12:16 EST 2008 stevenj@alum.mit.edu

  • stupid Windows dllimport crap

    M ./api/nlopt.h -8 +19

Wed Nov 26 17:41:10 EST 2008 stevenj@alum.mit.edu

  • tentative version bump

    M ./configure.ac -2 +2

Wed Nov 26 17:40:15 EST 2008 stevenj@alum.mit.edu

  • --without-octave and --without-matlab options

    M ./configure.ac -3 +17

Tue Nov 25 23:23:30 EST 2008 stevenj@alum.mit.edu

  • initial (undocumented) support for equality constraints via augmented Lagrangian method

    A ./auglag/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -8 +43 M ./api/nlopt.h +6 A ./auglag/Makefile.am A ./auglag/README A ./auglag/auglag.c A ./auglag/auglag.h M ./configure.ac +1 M ./util/nlopt-util.h +1

Tue Nov 25 14:37:07 EST 2008 stevenj@alum.mit.edu

  • skeleton of future equality-constraint support

    M ./api/nlopt.c -5 +34 M ./api/nlopt.h +12

Sat Nov 22 17:29:58 EST 2008 stevenj@alum.mit.edu

  • work around broken solaris gcc

    M ./NEWS +5 M ./api/f77api.c -1 +1 M ./api/nlopt.c -10 +3 M ./cdirect/cdirect.c -1 M ./cdirect/hybrid.c -1 M ./configure.ac -2 +19 M ./direct/Makefile.am +2 M ./direct/direct-internal.h +1 M ./mma/mma.c -1 +1 M ./octave/Makefile.am -1 +7 A ./octave/dummy.c M ./octave/nlopt_minimize_constrained-mex.c +1 M ./util/mt19937ar.c -1 M ./util/nlopt-util.h +8 M ./util/qsort_r.c -2 +1 M ./util/redblack_test.c +7 M ./util/sobolseq.c -3 +1 M ./util/timer.c -1

Sat Nov 22 16:29:30 EST 2008 stevenj@alum.mit.edu

  • better checking for Matlab installation path

    M ./configure.ac -6 +8

Thu Nov 13 20:04:49 EST 2008 stevenj@alum.mit.edu

  • disable Octave code if mkoctfile not found, even if OCT_INSTALL_DIR specified

    M ./configure.ac +1

Thu Nov 13 16:11:59 EST 2008 stevenj@alum.mit.edu tagged nlopt-1.0.1

Thu Nov 13 16:11:51 EST 2008 stevenj@alum.mit.edu

  • version bump

    M ./NEWS +10 M ./configure.ac -2 +2

Thu Nov 13 15:52:25 EST 2008 stevenj@alum.mit.edu

  • MLSL needs a nonzero default ftol_rel and/or xtol_rel

    M ./api/nlopt.c +8

Thu Nov 13 14:56:30 EST 2008 stevenj@alum.mit.edu

  • fix overriding of MEX_INSTALL_DIR

    M ./configure.ac -11 +13

Thu Nov 13 12:08:06 EST 2008 stevenj@alum.mit.edu

  • yikes, bug fix in DIRECT that prevented convergence for Shekel-10 (DIRECT-L is not affected)

    M ./cdirect/cdirect.c -1 +1

Tue Nov 11 22:49:54 EST 2008 stevenj@alum.mit.edu tagged nlopt-1.0

Tue Nov 11 22:28:33 EST 2008 stevenj@alum.mit.edu

  • whoops, removed obsolete Makefile

    M ./configure.ac -1

Tue Nov 11 22:24:29 EST 2008 stevenj@alum.mit.edu

  • version bump

    M ./NEWS -1 +3 M ./configure.ac -1 +1

Tue Nov 11 22:23:22 EST 2008 stevenj@alum.mit.edu

  • remove BUGS section of man pages

    M ./api/nlopt_minimize.3 -4 M ./api/nlopt_minimize_constrained.3 -5

Tue Nov 11 17:52:06 EST 2008 stevenj@alum.mit.edu

  • more conservative ftol test in subplex, based on max delta f in simplices, to avoid false positives in early iterations where the stepssize is too big to make progress

    M ./neldermead/neldermead.h -1 +1 M ./neldermead/nldrmd.c -4 +12 M ./neldermead/sbplx.c -4 +9

Tue Nov 11 17:35:24 EST 2008 stevenj@alum.mit.edu

  • call stop_ftol instead of stop_f if we check minf_max elsewhere

    M ./neldermead/nldrmd.c -1 +1 M ./neldermead/sbplx.c -1 +1

Tue Nov 11 17:27:35 EST 2008 stevenj@alum.mit.edu

  • fix dependency (rebuild Octave & Matlab plugins if libnlopt changes)

    M ./octave/Makefile.am -2 +2

Tue Nov 11 17:26:52 EST 2008 stevenj@alum.mit.edu

  • improve MMA for infeasible starting point -- new points should be preferred over old infeasible ones as long as the infeasibilit decreases

    M ./mma/mma.c -4 +9

Tue Nov 11 17:10:32 EST 2008 stevenj@alum.mit.edu

  • bug fix in MMA for infeasible starting point -- feasible points always take precedence over infeasible ones

    M ./mma/mma.c -1 +2

Tue Nov 11 01:34:00 EST 2008 stevenj@alum.mit.edu

  • added citation

    M ./crs/README +7

Tue Nov 11 01:08:07 EST 2008 stevenj@alum.mit.edu

  • README updates

    M ./cdirect/Makefile.am -1 +1 A ./cdirect/README M ./neldermead/README -1 +7

Tue Nov 11 00:57:23 EST 2008 stevenj@alum.mit.edu

  • fix xtol test in sbplx

    M ./neldermead/sbplx.c -2 +13

Tue Nov 11 00:20:39 EST 2008 stevenj@alum.mit.edu

  • work around NaN in cobyla that occurs if we run it for too many iterations past the point where it has converged to machine precision

    M ./cobyla/cobyla.c -1 +1

Mon Nov 10 23:50:39 EST 2008 stevenj@alum.mit.edu

  • fixes in octave/matlab wrappers

    M ./octave/nlopt_minimize.m -3 +3 M ./octave/nlopt_minimize_constrained-oct.cc -11 +16

Mon Nov 10 21:41:21 EST 2008 stevenj@alum.mit.edu

  • first stab at nlopt_minimize_constrained Matlab/Octave wrappers

    ./octave/nlopt_minimize-mex.c -> ./octave/nlopt_minimize_constrained-mex.c ./octave/nlopt_minimize-oct.cc -> ./octave/nlopt_minimize_constrained-oct.cc M ./octave/Makefile.am -12 +12 M ./octave/nlopt_minimize.m +4 M ./octave/nlopt_minimize_constrained-mex.c -41 +85 M ./octave/nlopt_minimize_constrained-oct.cc -27 +47 A ./octave/nlopt_minimize_constrained.m

Mon Nov 10 20:37:10 EST 2008 stevenj@alum.mit.edu

  • updated .m help

    M ./octave/nlopt_minimize.m -9 +9

Mon Nov 10 19:57:39 EST 2008 stevenj@alum.mit.edu

  • fix description of constrained nelder-mead

    M ./neldermead/README -12 +16

Mon Nov 10 17:58:41 EST 2008 stevenj@alum.mit.edu

  • copyright clarifications

    M ./COPYING +12 M ./Makefile.am -2 +2

Mon Nov 10 17:40:44 EST 2008 stevenj@alum.mit.edu

  • remove Rowan's original subplex (non-free) from source, document sbplx and neldermead

    M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -6 +8 M ./api/nlopt.h -2 M ./api/nlopt_minimize.3 -12 +20 M ./api/nlopt_minimize_constrained.3 -12 +20 M ./neldermead/README -33 +81 M ./octave/Makefile.am -1 +1 M ./octave/NLOPT_GD_MLSL.m -1 +1 M ./octave/NLOPT_GD_MLSL_LDS.m -1 +1 M ./octave/NLOPT_GD_STOGO.m -1 +1 M ./octave/NLOPT_GD_STOGO_RAND.m -1 +1 M ./octave/NLOPT_GN_CRS2_LM.m -1 +1 M ./octave/NLOPT_GN_MLSL.m -1 +1 M ./octave/NLOPT_GN_MLSL_LDS.m -1 +1 M ./octave/NLOPT_LD_LBFGS.m -1 +1 M ./octave/NLOPT_LD_LBFGS_NOCEDAL.m -1 +1 M ./octave/NLOPT_LD_MMA.m -1 +1 M ./octave/NLOPT_LD_TNEWTON.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_PRECOND.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_PRECOND_RESTART.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_RESTART.m -1 +1 M ./octave/NLOPT_LD_VAR1.m -1 +1 M ./octave/NLOPT_LD_VAR2.m -1 +1 M ./octave/NLOPT_LN_COBYLA.m -1 +1 A ./octave/NLOPT_LN_NELDERMEAD.m M ./octave/NLOPT_LN_NEWUOA.m -1 +1 M ./octave/NLOPT_LN_NEWUOA_BOUND.m -1 +1 M ./octave/NLOPT_LN_PRAXIS.m -1 +1 A ./octave/NLOPT_LN_SBPLX.m R ./octave/NLOPT_LN_SUBPLEX.m

Mon Nov 10 17:03:44 EST 2008 stevenj@alum.mit.edu

  • added sbplx

    M ./api/nlopt.c -3 +9 M ./api/nlopt.h +1 M ./neldermead/Makefile.am -1 +1 M ./neldermead/neldermead.h +7 A ./neldermead/sbplx.c

Mon Nov 10 16:58:47 EST 2008 stevenj@alum.mit.edu

  • don't use fp equality in coincident-point check, fix bug that allowed points to go outside bounds

    M ./neldermead/nldrmd.c -11 +27

Mon Nov 10 15:51:43 EST 2008 stevenj@alum.mit.edu

  • check for coincident points in simplex

    M ./neldermead/nldrmd.c -21 +37

Sun Nov 9 21:10:39 EST 2008 stevenj@alum.mit.edu

  • keep track of max/min evaluation counts

    M ./test/testopt.cpp -2 +4

Sun Nov 9 13:47:20 EST 2008 stevenj@alum.mit.edu

  • slight tweaks

    M ./neldermead/nldrmd.c -8 +10

Sun Nov 9 13:43:17 EST 2008 stevenj@alum.mit.edu

  • added internal nldrmd_minimize_ for use in subplex

    M ./api/nlopt.c -1 +1 M ./neldermead/neldermead.h -1 +9 M ./neldermead/nldrmd.c -12 +42

Sun Nov 9 13:19:16 EST 2008 stevenj@alum.mit.edu

  • fixed nelder-mead xtol/ftol stopping criteria, added diameter reduction test for subplex

    M ./api/nlopt.c -1 +1 M ./neldermead/neldermead.h -1 +1 M ./neldermead/nldrmd.c -3 +26

Sun Nov 9 01:15:14 EST 2008 stevenj@alum.mit.edu

  • added qsort_r replacement

    M ./cdirect/cdirect.c -7 +5 M ./configure.ac -1 +1 M ./util/Makefile.am -1 +1 M ./util/nlopt-util.h +6 A ./util/qsort_r.c

Sat Nov 8 16:56:21 EST 2008 stevenj@alum.mit.edu

  • added nelder-mead simplex algorithm (in preparation for re-implementing subplex, and possibly recent provably convergent variants of nelder-meade)

    A ./neldermead/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -1 +13 M ./api/nlopt.h +2 M ./configure.ac +1 A ./neldermead/Makefile.am A ./neldermead/README A ./neldermead/neldermead.h A ./neldermead/nldrmd.c

Sat Nov 8 01:20:03 EST 2008 stevenj@alum.mit.edu

  • fixes for latest autoconf version

    M ./Makefile.am -1 +1 M ./configure.ac -1 +2

Tue Oct 21 16:00:14 EDT 2008 stevenj@alum.mit.edu

  • handle infeasible initial point in MMA with finite upper bound on dual variables

    M ./mma/mma.c -2 +18

Thu Oct 2 18:26:52 EDT 2008 stevenj@alum.mit.edu

  • support for disabling constraints in MMA by returning NaN

    M ./mma/mma.c -14 +35

Mon Sep 15 17:14:31 EDT 2008 stevenj@alum.mit.edu

  • unset mma_verbose for recursive MMA of dual

    M ./mma/mma.c -1 +4

Mon Sep 1 16:04:58 EDT 2008 stevenj@alum.mit.edu

  • only print averages when multiple iterations

    M ./test/testopt.cpp -1 +2

Mon Sep 1 15:57:56 EDT 2008 stevenj@alum.mit.edu

  • added some more decimal places to known minima

    M ./test/testfuncs.c -22 +22 M ./test/testopt.cpp +10

Mon Sep 1 02:47:50 EDT 2008 stevenj@alum.mit.edu

  • clarification

    M ./newuoa/README -2 +3

Mon Sep 1 02:40:50 EDT 2008 stevenj@alum.mit.edu

  • default to COBYLA rather than subplex for local searches, since the latter doesn't handle bound constraints well

    M ./api/nlopt.c -1 +1 M ./api/nlopt_minimize.3 -2 +2 M ./api/nlopt_minimize_constrained.3 -2 +2

Mon Sep 1 02:36:05 EDT 2008 stevenj@alum.mit.edu

  • check bounds in testopt, fix bug in NEWUOA_BOUNDS that allowed it to go outside of the bounds in one case

    M ./newuoa/newuoa.c +6 M ./test/testopt.cpp -1 +24

Mon Sep 1 02:10:03 EDT 2008 stevenj@alum.mit.edu

  • added NEWUOA_BOUND

    M ./api/nlopt.c -4 +15 M ./api/nlopt.h +1 M ./api/nlopt_minimize.3 -7 +12 M ./api/nlopt_minimize_constrained.3 -6 +11 M ./newuoa/README +13 M ./newuoa/newuoa.c -74 +110 M ./newuoa/newuoa.h +1 M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_LN_NEWUOA_BOUND.m M ./octave/mkconstants.sh -4 +4 M ./util/stop.c +1

Sun Aug 31 23:27:52 EDT 2008 stevenj@alum.mit.edu

  • first start at replacing original newuoa routines with nlopt versions that will allow bound constraints

    M ./newuoa/newuoa.c +159

Sun Aug 31 23:26:45 EDT 2008 stevenj@alum.mit.edu

  • whoops, forgot to add NEWUOA code

    A ./newuoa/ A ./newuoa/COPYRIGHT A ./newuoa/Makefile.am A ./newuoa/README A ./newuoa/README.orig A ./newuoa/newuoa.c A ./newuoa/newuoa.h

Sun Aug 31 14:11:21 EDT 2008 stevenj@alum.mit.edu

  • added corner optimization test case, average #evaluations

    M ./test/testfuncs.c -1 +24 M ./test/testfuncs.h -1 +1 M ./test/testopt.cpp -37 +52

Sat Aug 30 06:27:37 EDT 2008 stevenj@alum.mit.edu

  • added NEWUOA, unified starting step-size for derivative-free algorithms

    M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -45 +56 M ./api/nlopt.h +2 M ./api/nlopt_minimize.3 -1 +9 M ./api/nlopt_minimize_constrained.3 -1 +9 M ./configure.ac +1 M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_LN_NEWUOA.m

Fri Aug 29 16:28:43 EDT 2008 stevenj@alum.mit.edu

  • added Fortran interface

    M ./api/Makefile.am -2 +13 A ./api/f77api.c A ./api/f77funcs.h M ./configure.ac +5

Thu Aug 28 23:27:25 EDT 2008 stevenj@alum.mit.edu

  • clarification

    M ./api/nlopt_minimize.3 -5 +6 M ./api/nlopt_minimize_constrained.3 -11 +17

Thu Aug 28 23:12:33 EDT 2008 stevenj@alum.mit.edu

  • added COBYLA algorithm

    A ./cobyla/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -3 +28 M ./api/nlopt.h +2 M ./api/nlopt_minimize.3 +11 M ./api/nlopt_minimize_constrained.3 -1 +12 A ./cobyla/COPYRIGHT A ./cobyla/Makefile.am A ./cobyla/README A ./cobyla/README.orig A ./cobyla/cobyla.c A ./cobyla/cobyla.h M ./configure.ac +1 M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_LN_COBYLA.m

Wed Aug 27 21:55:58 EDT 2008 stevenj@alum.mit.edu

  • first stab at experimental cquad algorithm; doesn't work well yet, so not in make dist

    A ./cquad/ A ./cquad/Makefile.am A ./cquad/README A ./cquad/cquad.c A ./cquad/cquad.h M ./mma/mma.c -1 +1

Wed Aug 27 14:11:48 EDT 2008 stevenj@alum.mit.edu

  • typo

    M ./api/nlopt_minimize_constrained.3 -1 +1

Wed Aug 27 12:54:39 EDT 2008 stevenj@alum.mit.edu

  • copyright updates

    M ./COPYRIGHT -1 +1 M ./api/nlopt.c +22 M ./api/nlopt.h +22 M ./cdirect/cdirect.c +22 M ./cdirect/cdirect.h +22 M ./cdirect/hybrid.c +22 M ./crs/crs.c +22 M ./crs/crs.h +22 M ./mlsl/mlsl.c +22 M ./mlsl/mlsl.h +22 M ./mma/mma.c +22 M ./mma/mma.h +22 M ./octave/nlopt_minimize-mex.c +22 M ./octave/nlopt_minimize-oct.cc +22 M ./tensor/README +4 M ./util/nlopt-util.h +22 M ./util/redblack.c +22 M ./util/redblack.h +22 M ./util/redblack_test.c +22 M ./util/stop.c +22 M ./util/timer.c +22

Sun Aug 24 16:08:20 EDT 2008 stevenj@alum.mit.edu

  • use recursive MMA as fallback in case of problems with dual solution

    M ./mma/mma.c +11

Fri Aug 22 20:19:35 EDT 2008 stevenj@alum.mit.edu

  • changed nlopt_minimize_c to nlopt_minimize_constrained, added man page

    M ./api/Makefile.am -1 +1 M ./api/nlopt.c -5 +7 M ./api/nlopt.h -1 +1 M ./api/nlopt_minimize.3 -6 +31 A ./api/nlopt_minimize_constrained.3 M ./mma/README -7 +5

Wed Aug 20 01:35:04 EDT 2008 stevenj@alum.mit.edu

  • fixed another nasty bug, where we could accidentally return an "optimum" that is not feasible

    M ./mma/mma.c -5 +7

Tue Aug 19 21:14:24 EDT 2008 stevenj@alum.mit.edu

  • tweaks to verbose output

    M ./mma/mma.c -3 +3

Tue Aug 19 19:07:31 EDT 2008 stevenj@alum.mit.edu

  • fix evil bug in MMA dual function that was leading to incorrect gradient and lots of weird behavior

    M ./mma/mma.c -1 +1

Tue Aug 19 17:52:32 EDT 2008 stevenj@alum.mit.edu

  • don't print past end of array in mma_verbose mode

    M ./mma/mma.c -4 +4

Mon Aug 18 20:05:30 EDT 2008 stevenj@alum.mit.edu

  • more accurate dual minimization for small u

    M ./mma/mma.c -1 +6

Mon Aug 18 18:40:30 EDT 2008 stevenj@alum.mit.edu

  • missing .m files

    A ./octave/NLOPT_LD_LBFGS_NOCEDAL.m A ./octave/NLOPT_LD_MMA.m

Mon Aug 18 18:39:13 EDT 2008 stevenj@alum.mit.edu

  • another missing file

    A ./crs/crs.h

Mon Aug 18 18:38:37 EDT 2008 stevenj@alum.mit.edu

  • whoops, missing file

    A ./cdirect/hybrid.c

Mon Aug 18 17:13:32 EDT 2008 stevenj@alum.mit.edu

  • more verbose output from MMA; more paranoia required in feasibility check because feasibility constraints may be violated by rounding errors

    M ./api/nlopt.c -1 +1 M ./mma/mma.c -5 +21

Mon Aug 18 16:52:25 EDT 2008 stevenj@alum.mit.edu

  • rm hack now that we are computing gradient correctly, apparently not needed any more

    M ./mma/mma.c -1

Mon Aug 18 16:47:22 EDT 2008 stevenj@alum.mit.edu

  • added nlopt_minimize_c function for constrained minimization (only via MMA for now); MMA now passes very simple test cases for constrained optimization

    M ./api/nlopt.c -4 +26 M ./api/nlopt.h +13 M ./mma/mma.c -69 +66 M ./mma/mma.h -3 +1

Thu Aug 14 20:44:55 EDT 2008 stevenj@alum.mit.edu

  • fixed MMA so it compiles and works at least in the unconstrained case again

    M ./api/nlopt.c -1 +3 M ./mma/mma.c -5 +7 M ./mma/mma.h -1 +7

Thu Aug 14 20:31:21 EDT 2008 stevenj@alum.mit.edu

  • initial (untested) stab at ~full MMA

    M ./api/nlopt.c -12 +18 M ./mma/mma.c -31 +200 M ./util/nlopt-util.h +2

Mon Aug 4 21:59:45 EDT 2008 stevenj@alum.mit.edu

  • added mma_verbose flag for debugging

    M ./mma/mma.c +7 M ./mma/mma.h +2

Tue Jul 29 13:48:20 EDT 2008 stevenj@alum.mit.edu

  • name tweak

    M ./api/nlopt.c -1 +1 M ./api/nlopt_minimize.3 -2 +2 M ./octave/NLOPT_LD_LBFGS.m -1 +1

Tue Jul 29 13:36:17 EDT 2008 stevenj@alum.mit.edu

  • allow cxx library to be installed simultaneously with non-cxx

    M ./Makefile.am -7 +7 M ./configure.ac -1 +6 M ./octave/Makefile.am -2 +2 M ./octave/NLOPT_GD_STOGO.m -1 +1 M ./octave/NLOPT_GD_STOGO_RAND.m -1 +1 M ./octave/mkconstants.sh -1 +1 M ./test/Makefile.am -1 +1

Tue Jul 29 02:34:28 EDT 2008 stevenj@alum.mit.edu

  • fixed incorrect termination code

    M ./mlsl/mlsl.c -2 +2 M ./mma/mma.c -2 +2

Tue Jul 29 02:26:33 EDT 2008 stevenj@alum.mit.edu

  • updated .m files

    M ./octave/Makefile.am -1 +1 M ./octave/NLOPT_GD_MLSL.m -1 +1 M ./octave/NLOPT_GD_MLSL_LDS.m -1 +1 M ./octave/NLOPT_GD_STOGO.m -1 +1 M ./octave/NLOPT_GD_STOGO_RAND.m -1 +1 M ./octave/NLOPT_GN_CRS2_LM.m -1 +1 M ./octave/NLOPT_GN_MLSL.m -1 +1 M ./octave/NLOPT_GN_MLSL_LDS.m -1 +1 M ./octave/NLOPT_LD_LBFGS.m -1 +1 M ./octave/NLOPT_LD_TNEWTON.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_PRECOND.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_PRECOND_RESTART.m -1 +1 M ./octave/NLOPT_LD_TNEWTON_RESTART.m -1 +1 M ./octave/NLOPT_LD_VAR1.m -1 +1 M ./octave/NLOPT_LD_VAR2.m -1 +1 M ./octave/NLOPT_LN_PRAXIS.m -1 +1 M ./octave/mkconstants.sh -2 +3

Tue Jul 29 02:18:36 EDT 2008 stevenj@alum.mit.edu

  • added MMA implementation

    A ./mma/ M ./Makefile.am -5 +5 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -3 +10 M ./api/nlopt.h +2 M ./configure.ac +1 A ./mma/Makefile.am A ./mma/README A ./mma/mma.c A ./mma/mma.h

Tue Jul 29 02:13:20 EDT 2008 stevenj@alum.mit.edu

  • bug fix - xtol is only met if true for all components of x, not just for one

    M ./util/stop.c -3 +3

Mon Jul 28 22:46:13 EDT 2008 stevenj@alum.mit.edu

  • compile with non-free Nocedal L-BFGS if it is present (mainly for debugging/development purposes)

    M ./Makefile.am -2 +6 M ./api/Makefile.am -1 +1 M ./api/nlopt.c +42 M ./api/nlopt.h +2 M ./configure.ac +9 M ./lbfgs/Makefile.am -1 +6

Sat Apr 12 00:59:15 EDT 2008 stevenj@alum.mit.edu

  • don't export "subplex" symbol to avoid conflict with libctl

    M ./api/nlopt.c -1 +1 M ./subplex/subplex.c -1 +1 M ./subplex/subplex.h -1 +1

Sat Apr 12 00:48:37 EDT 2008 stevenj@alum.mit.edu

  • add --with-cxx to include C++ code, and don't include C++ (StoGO) by default

    M ./Makefile.am -2 +7 M ./api/nlopt.c -1 +12 M ./configure.ac -1 +9

Sun Mar 9 15:24:01 EDT 2008 stevenj@alum.mit.edu

  • use _builtinctz if available

    M ./util/sobolseq.c +5

Sun Mar 9 14:56:25 EDT 2008 stevenj@alum.mit.edu

  • slight improvement in rightzero32

    M ./util/sobolseq.c -2 +3

Sun Mar 9 14:56:01 EDT 2008 stevenj@alum.mit.edu

  • fix directory build order (build lib before octave and test)

    M ./Makefile.am -1 +1

Thu Sep 27 16:20:59 EDT 2007 stevenj@alum.mit.edu

  • fixed reference date

    M ./mlsl/README -1 +1 M ./mlsl/mlsl.c -1 +1

Thu Sep 13 16:16:34 EDT 2007 stevenj@alum.mit.edu

  • fixed rosenbrock gradient

    M ./test/testfuncs.c -1 +1

Thu Sep 13 16:06:09 EDT 2007 stevenj@alum.mit.edu

  • added first version of MLSL multistart-type algorithm

    A ./mlsl/ M ./Makefile.am -2 +3 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -2 +16 M ./api/nlopt.h +5 M ./api/nlopt_minimize.3 +20 M ./configure.ac +1 A ./mlsl/Makefile.am A ./mlsl/README A ./mlsl/mlsl.c A ./mlsl/mlsl.h M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_GD_MLSL.m A ./octave/NLOPT_GD_MLSL_LDS.m A ./octave/NLOPT_GN_MLSL.m A ./octave/NLOPT_GN_MLSL_LDS.m M ./octave/nlopt_minimize.m -1 +9

Tue Sep 11 18:43:07 EDT 2007 stevenj@alum.mit.edu

  • added rb_tree_find_lt

    M ./util/redblack.c +22 M ./util/redblack.h +1

Tue Sep 11 18:42:53 EDT 2007 stevenj@alum.mit.edu

  • detect a couple more out-of-memory conditions in CRS

    M ./crs/crs.c -2 +2

Tue Sep 11 18:42:19 EDT 2007 stevenj@alum.mit.edu

  • first stab at minf_max support in StoGO (clearly too conservative still)

    M ./stogo/global.cc +10

Sat Sep 8 21:24:01 EDT 2007 stevenj@alum.mit.edu

  • added verbose mode to Octave/Matlab plugin, for convenience

    M ./octave/nlopt_minimize-mex.c +5 M ./octave/nlopt_minimize-oct.cc +4 M ./octave/nlopt_minimize.m +1

Thu Sep 6 21:58:11 EDT 2007 stevenj@alum.mit.edu

  • document CRS2

    M ./api/nlopt_minimize.3 +5 M ./octave/nlopt_minimize.m -5 +1

Thu Sep 6 21:54:06 EDT 2007 stevenj@alum.mit.edu

  • added missing .m files

    M ./octave/Makefile.am -1 +1 A ./octave/NLOPT_GN_CRS2_LM.m A ./octave/NLOPT_LD_TNEWTON.m A ./octave/NLOPT_LD_TNEWTON_PRECOND.m A ./octave/NLOPT_LD_TNEWTON_PRECOND_RESTART.m A ./octave/NLOPT_LD_TNEWTON_RESTART.m

Thu Sep 6 21:52:48 EDT 2007 stevenj@alum.mit.edu

  • added my own implementation of controlled random search (CRS) algorithm

    A ./crs/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -1 +9 M ./api/nlopt.h +2 M ./configure.ac +1 A ./crs/Makefile.am A ./crs/README A ./crs/crs.c M ./util/sobolseq.c -4 +6

Thu Sep 6 13:42:41 EDT 2007 stevenj@alum.mit.edu

  • whoops!

    M ./util/sobolseq.c -3 +3

Thu Sep 6 13:26:40 EDT 2007 stevenj@alum.mit.edu

  • fix comment

    M ./util/sobolseq.c -2 +1

Thu Sep 6 11:43:35 EDT 2007 stevenj@alum.mit.edu

  • use clever O(1) algorithm from Knuth to find rightmost zero bit (I doubt it's significantly faster, but it sure is cooler)

    M ./util/sobolseq.c -43 +21

Thu Sep 6 09:29:58 EDT 2007 stevenj@alum.mit.edu

  • include "nlopt.h", not <nlopt.h>

    M ./luksan/luksan.h -2 +2

Wed Sep 5 22:00:18 EDT 2007 stevenj@alum.mit.edu

  • added rb_tree_shift_keys

    M ./util/redblack.c +13 M ./util/redblack.h +3

Wed Sep 5 21:54:28 EDT 2007 stevenj@alum.mit.edu

  • move redblack trees into libutil so they can be shared

    ./cdirect/redblack.c -> ./util/redblack.c ./cdirect/redblack.h -> ./util/redblack.h ./cdirect/redblack_test.c -> ./util/redblack_test.c M ./cdirect/Makefile.am -5 +1 M ./util/Makefile.am -1 +5

Wed Sep 5 21:50:46 EDT 2007 stevenj@alum.mit.edu

  • allow NULL to be passed to sobol routines to fall back on pseudo-random

    M ./util/sobolseq.c -1 +1

Wed Sep 5 20:24:20 EDT 2007 stevenj@alum.mit.edu

  • fixed documentation to reflect latest algs.

    M ./api/nlopt_minimize.3 -29 +93

Wed Sep 5 17:29:10 EDT 2007 stevenj@alum.mit.edu

  • rename sobolseq.h to soboldata.h

    ./util/sobolseq.h -> ./util/soboldata.h M ./util/Makefile.am -1 +1 M ./util/sobolseq.c -1 +1

Wed Sep 5 17:25:43 EDT 2007 stevenj@alum.mit.edu

  • tweak

    M ./util/sobolseq.c -7 +8

Wed Sep 5 17:23:56 EDT 2007 stevenj@alum.mit.edu

  • copyright etc. comments

    M ./util/sobolseq.c +47 M ./util/sobolseq.h +22

Wed Sep 5 17:14:05 EDT 2007 stevenj@alum.mit.edu

  • bug fix - missing 0's in Sobol ... now matches published test integral results to 1111 dimensions

    M ./util/sobolseq.h -1 +2

Wed Sep 5 14:24:12 EDT 2007 stevenj@alum.mit.edu

  • added test integrand, sobol_skip, checked whether lookup table makes rightzero32 faster (it doesn't)

    M ./util/nlopt-util.h +1 M ./util/sobolseq.c -12 +61

Wed Sep 5 13:27:46 EDT 2007 stevenj@alum.mit.edu

  • comments

    M ./util/sobolseq.h -1 +5

Wed Sep 5 13:23:58 EDT 2007 stevenj@alum.mit.edu

  • added sobol api to nlopt-util.h, split data into separate file

    M ./util/Makefile.am -1 +1 M ./util/nlopt-util.h +8 M ./util/sobolseq.c -853 +71 A ./util/sobolseq.h

Tue Sep 4 20:19:14 EDT 2007 stevenj@alum.mit.edu

  • initial cut at Sobol sequence generator

    A ./util/sobolseq.c

Tue Sep 4 12:32:36 EDT 2007 stevenj@alum.mit.edu

  • added -C option to force contraints to be active

    M ./test/testopt.cpp -9 +34

Mon Sep 3 23:19:15 EDT 2007 stevenj@alum.mit.edu

  • added TNEWTON (pnet) code from luksan

    M ./api/nlopt.c +12 M ./api/nlopt.h +5 M ./luksan/Makefile.am -1 +1 M ./luksan/luksan.h +7 M ./luksan/pnet.c -117 +168

Mon Sep 3 23:00:49 EDT 2007 stevenj@alum.mit.edu

  • plip shouldn't reset nevals

    M ./luksan/plip.c -1

Mon Sep 3 22:15:50 EDT 2007 stevenj@alum.mit.edu

  • support function handles from Matlab

    M ./octave/Makefile.am -3 +3 M ./octave/nlopt_minimize-mex.c -11 +21

Mon Sep 3 21:37:14 EDT 2007 stevenj@alum.mit.edu

  • mex file doesn't use usage.h

    M ./octave/Makefile.am -7 +6

Mon Sep 3 21:35:45 EDT 2007 stevenj@alum.mit.edu

  • updated .m help

    M ./octave/nlopt_minimize.m -9 +9

Mon Sep 3 21:20:15 EDT 2007 stevenj@alum.mit.edu

  • added Matlab plug-in

    ./octave/nlopt_minimize.cc -> ./octave/nlopt_minimize-oct.cc M ./configure.ac +41 M ./octave/Makefile.am -5 +17 A ./octave/nlopt_minimize-mex.c

Mon Sep 3 17:25:23 EDT 2007 stevenj@alum.mit.edu

  • auto updating of constant .m files

    M ./octave/Makefile.am -5 +1 M ./octave/NLOPT_GD_STOGO.m -2 +5 M ./octave/NLOPT_GD_STOGO_RAND.m -2 +5 M ./octave/NLOPT_GN_DIRECT.m -2 +5 M ./octave/NLOPT_GN_DIRECT_L.m -2 +5 A ./octave/NLOPT_GN_DIRECT_L_NOSCAL.m M ./octave/NLOPT_GN_DIRECT_L_RAND.m -2 +5 A ./octave/NLOPT_GN_DIRECT_L_RAND_NOSCAL.m A ./octave/NLOPT_GN_DIRECT_NOSCAL.m M ./octave/NLOPT_GN_ORIG_DIRECT.m -2 +5 M ./octave/NLOPT_GN_ORIG_DIRECT_L.m -2 +5 M ./octave/NLOPT_LD_LBFGS.m -2 +5 A ./octave/NLOPT_LD_VAR1.m A ./octave/NLOPT_LD_VAR2.m A ./octave/NLOPT_LN_PRAXIS.m M ./octave/NLOPT_LN_SUBPLEX.m -2 +5 A ./octave/mkconstants.sh

Mon Sep 3 16:42:10 EDT 2007 stevenj@alum.mit.edu

  • added PLIS variable-metric methods

    M ./api/nlopt.c +7 M ./api/nlopt.h +3 M ./luksan/luksan.h +12 M ./luksan/plip.c +98 M ./luksan/plis.c -8 +3

Mon Sep 3 16:32:24 EDT 2007 stevenj@alum.mit.edu

  • added original .for files; this will make it easier to diff the changes if upstream changes

    A ./luksan/mssubs.for A ./luksan/plip.for M ./luksan/plip.txt A ./luksan/plis.for M ./luksan/plis.txt A ./luksan/pnet.for M ./luksan/pnet.txt A ./luksan/pssubs.for

Mon Sep 3 16:05:05 EDT 2007 stevenj@alum.mit.edu

  • added more time checks

    M ./luksan/plip.c +4 M ./luksan/plis.c +2

Mon Sep 3 16:01:21 EDT 2007 stevenj@alum.mit.edu

  • got plip_ to compile, basic changes for NLopt, no wrapper yet

    M ./luksan/Makefile.am -1 +1 M ./luksan/luksan.h +7 M ./luksan/plip.c -108 +53 M ./luksan/plis.c -9 +1

Mon Sep 3 15:46:01 EDT 2007 stevenj@alum.mit.edu

  • added plip/pnet .txt files

    A ./luksan/plip.txt A ./luksan/pnet.txt

Mon Sep 3 15:45:32 EDT 2007 stevenj@alum.mit.edu

  • added initial f2c conversions of plip and pnet

    A ./luksan/plip.c A ./luksan/pnet.c

Mon Sep 3 15:38:15 EDT 2007 stevenj@alum.mit.edu

  • added luksan/ directory, which will eventually contain several routines written by Prof. Luksan and made available under the LGPL. currently, I've converted the PLIN.FOR subroutine, which is a reimplementation of the LBFGS algorithm (and removed the lbfgs/ directory, since the code turns out to be non-free)

    A ./luksan/ M ./Makefile.am -4 +4 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -32 +4 M ./configure.ac -1 +1 M ./lbfgs/Makefile.am -1 +1 A ./lbfgs/README A ./luksan/COPYRIGHT A ./luksan/Makefile.am A ./luksan/README A ./luksan/luksan.h A ./luksan/mssubs.c A ./luksan/plis.c A ./luksan/plis.txt A ./luksan/pssubs.c A ./luksan/v999-07.pdf

Mon Sep 3 15:22:07 EDT 2007 stevenj@alum.mit.edu

  • bug fix in grosenbrock gradient (no wonder StoGO etc. were so bad for this functioon)

    M ./test/testfuncs.c -1 +1

Mon Sep 3 11:53:55 EDT 2007 stevenj@alum.mit.edu

  • rename fmin to minf to avoid conflict with C99 fmin() function

    M ./api/nlopt.c -19 +19 M ./api/nlopt.h -3 +3 M ./api/nlopt_minimize.3 -7 +7 M ./cdirect/cdirect.c -12 +12 M ./cdirect/cdirect.h -4 +4 M ./direct/DIRect.c -21 +21 M ./direct/DIRparallel.c -5 +5 M ./direct/DIRserial.c -3 +3 M ./direct/DIRsubrout.c -15 +15 M ./direct/direct-internal.h -6 +6 M ./direct/direct.h -1 +1 M ./direct/direct_wrap.c -4 +4 M ./direct/tstc.c -3 +3 M ./octave/nlopt_minimize.cc -5 +5 M ./praxis/praxis.c -1 +1 M ./stogo/global.cc -3 +3 M ./stogo/local.cc -1 +1 M ./stogo/stogo.cc -2 +2 M ./stogo/stogo.h -2 +2 M ./stogo/tools.cc -12 +12 M ./stogo/tools.h -3 +3 M ./stogo/tstc.c -3 +3 M ./subplex/subplex.c -5 +5 M ./subplex/subplex.h -1 +1 M ./test/testfuncs.h -1 +1 M ./test/testopt.cpp -11 +11 M ./util/nlopt-util.h -1 +1 M ./util/stop.c -1 +1

Sat Sep 1 22:10:52 EDT 2007 stevenj@alum.mit.edu

  • whoops, fix gradient

    M ./test/testfuncs.c -1 +1

Sat Sep 1 21:53:59 EDT 2007 stevenj@alum.mit.edu

  • added 1d test function

    M ./test/testfuncs.c -1 +17 M ./test/testfuncs.h -1 +1

Sat Sep 1 21:40:00 EDT 2007 stevenj@alum.mit.edu

  • support all termination conditions in praxis

    M ./api/nlopt.c -3 +12 M ./praxis/praxis.c -30 +50 M ./praxis/praxis.h -1 +1

Sat Sep 1 20:55:53 EDT 2007 stevenj@alum.mit.edu

  • minor bug fixes, praxis now supports maxeval/maxtime/fmin_max

    M ./api/nlopt.c -2 +2 M ./praxis/praxis.c -20 +46

Sat Sep 1 20:19:03 EDT 2007 stevenj@alum.mit.edu

  • dynamic allocation in praxis, pass stop parameter (not used yet)

    M ./api/nlopt.c -2 +3 M ./praxis/Makefile.am -1 +1 M ./praxis/praxis.c -127 +159 M ./praxis/praxis.h -2 +6

Sat Sep 1 17:06:25 EDT 2007 stevenj@alum.mit.edu

  • update symbol names

    ./octave/NLOPT_GLOBAL_DIRECT.m -> ./octave/NLOPT_GN_DIRECT.m ./octave/NLOPT_GLOBAL_DIRECT_L.m -> ./octave/NLOPT_GN_DIRECT_L.m ./octave/NLOPT_GLOBAL_DIRECT_L_RANDOMIZED.m -> ./octave/NLOPT_GN_DIRECT_L_RAND.m ./octave/NLOPT_GLOBAL_ORIG_DIRECT.m -> ./octave/NLOPT_GN_ORIG_DIRECT.m ./octave/NLOPT_GLOBAL_ORIG_DIRECT_L.m -> ./octave/NLOPT_GN_ORIG_DIRECT_L.m ./octave/NLOPT_GLOBAL_STOGO.m -> ./octave/NLOPT_GD_STOGO.m ./octave/NLOPT_GLOBAL_STOGO_RANDOMIZED.m -> ./octave/NLOPT_GD_STOGO_RAND.m ./octave/NLOPT_LOCAL_LBFGS.m -> ./octave/NLOPT_LD_LBFGS.m ./octave/NLOPT_LOCAL_SUBPLEX.m -> ./octave/NLOPT_LN_SUBPLEX.m M ./cdirect/Makefile.am -1 +1 M ./octave/Makefile.am -5 +5 M ./octave/NLOPT_GD_STOGO.m -2 +2 M ./octave/NLOPT_GD_STOGO_RAND.m -2 +2 M ./octave/NLOPT_GN_DIRECT.m -1 +1 M ./octave/NLOPT_GN_DIRECT_L.m -1 +1 M ./octave/NLOPT_GN_DIRECT_L_RAND.m -1 +1 M ./octave/NLOPT_GN_ORIG_DIRECT.m -2 +2 M ./octave/NLOPT_GN_ORIG_DIRECT_L.m -2 +2 M ./octave/NLOPT_LD_LBFGS.m -2 +2 M ./octave/NLOPT_LN_SUBPLEX.m -2 +2 M ./octave/nlopt_minimize.m -6 +6

Sat Sep 1 16:51:35 EDT 2007 stevenj@alum.mit.edu

  • added first cut at Praxis, renamed constants

    A ./praxis/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -23 +76 M ./api/nlopt.h -11 +32 M ./cdirect/cdirect.c -12 +7 M ./cdirect/cdirect.h +28 M ./configure.ac +1 A ./praxis/Makefile.am A ./praxis/README A ./praxis/praxis.c A ./praxis/praxis.h M ./test/testopt.cpp -7 +1

Thu Aug 30 17:09:14 EDT 2007 stevenj@alum.mit.edu

  • added octave plug-in

    A ./octave/ M ./Makefile.am -1 +1 M ./configure.ac +39 A ./octave/Makefile.am A ./octave/NLOPT_GLOBAL_DIRECT.m A ./octave/NLOPT_GLOBAL_DIRECT_L.m A ./octave/NLOPT_GLOBAL_DIRECT_L_RANDOMIZED.m A ./octave/NLOPT_GLOBAL_ORIG_DIRECT.m A ./octave/NLOPT_GLOBAL_ORIG_DIRECT_L.m A ./octave/NLOPT_GLOBAL_STOGO.m A ./octave/NLOPT_GLOBAL_STOGO_RANDOMIZED.m A ./octave/NLOPT_LOCAL_LBFGS.m A ./octave/NLOPT_LOCAL_SUBPLEX.m A ./octave/nlopt_minimize.cc A ./octave/nlopt_minimize.m

Thu Aug 30 13:42:13 EDT 2007 stevenj@alum.mit.edu

  • success message

    M ./cdirect/redblack_test.c +2

Wed Aug 29 23:38:08 EDT 2007 stevenj@alum.mit.edu

  • added 3 more test functions

    M ./test/testfuncs.c -3 +81 M ./test/testfuncs.h -1 +1

Wed Aug 29 23:01:26 EDT 2007 stevenj@alum.mit.edu

  • reset age whenever we change a hyperrect

    M ./cdirect/cdirect.c -4 +8

Wed Aug 29 22:50:59 EDT 2007 stevenj@alum.mit.edu

  • switch to "standard" DIRECT-L where we only pick one rect for each diameter in the hull, preferring older rects

    M ./api/nlopt.c -2 +3 M ./cdirect/cdirect.c -33 +64

Wed Aug 29 21:58:00 EDT 2007 stevenj@alum.mit.edu

  • -m option is now relative to exact minimum

    M ./test/testopt.cpp -5 +5

Wed Aug 29 21:07:20 EDT 2007 stevenj@alum.mit.edu

  • got rid of buggy f_recenter (Lagrange interpolation isn't guaranteed to be monotonic)

    M ./api/nlopt.c -100 +16 M ./cdirect/cdirect.c -8 +3 M ./test/testopt.cpp -4 +14

Wed Aug 29 20:00:41 EDT 2007 stevenj@alum.mit.edu

  • change MAXDEEP (maxiter) more dynamically

    M ./api/nlopt.c -1 +1 M ./direct/DIRect.c -6 +10

Wed Aug 29 19:49:28 EDT 2007 stevenj@alum.mit.edu

  • K can be arbitrarily large for rightmost point in hull

    M ./cdirect/cdirect.c -1 +1

Wed Aug 29 19:41:11 EDT 2007 stevenj@alum.mit.edu

  • support calling both original and new DIRECT code, make direct limits more dynamic, eps != ftol in direct, fixed bugs in convex hull code for identical points

    M ./api/nlopt.c -6 +9 M ./api/nlopt.h +1 M ./cdirect/cdirect.c -9 +20 M ./direct/DIRect.c -1 +2 M ./direct/direct.h -1 +1 M ./direct/direct_wrap.c -3 +7

Wed Aug 29 02:19:39 EDT 2007 stevenj@alum.mit.edu

  • add options to use either original Fortran-derived DIRECT code or new C version, use 1e-4 magic epsilon parameter of Jones, dynamically set max #func evals in direct code and increase defaults, and add another performance hack to cdirect

    M ./api/nlopt.c -5 +8 M ./api/nlopt.h +6 M ./cdirect/cdirect.c +20 M ./direct/DIRect.c -5 +5

Wed Aug 29 01:43:23 EDT 2007 stevenj@alum.mit.edu

  • fixed comment, added some basic argument checks

    M ./api/nlopt.c +4 M ./cdirect/cdirect.c -3 +4

Wed Aug 29 01:31:37 EDT 2007 stevenj@alum.mit.edu

  • return more descriptive error code

    M ./cdirect/cdirect.c -2 +2

Wed Aug 29 01:26:15 EDT 2007 stevenj@alum.mit.edu

  • whoops!

    M ./cdirect/cdirect.c -1 +1

Wed Aug 29 01:24:35 EDT 2007 stevenj@alum.mit.edu

  • performance hack: exploit the fact that the x coordinates (diameters) of the hull in DIRECT fall into only a few different values (although this may change in future modifications); also, we weren't handling the case of equal (x,y) points correctly in the hull code

    M ./cdirect/cdirect.c -6 +49

Wed Aug 29 00:52:01 EDT 2007 stevenj@alum.mit.edu

  • only check ftol on iterations where fmin decreased; seems to make this stopping condition much more useful

    M ./cdirect/cdirect.c -1 +1

Wed Aug 29 00:45:08 EDT 2007 stevenj@alum.mit.edu

  • saner memory management (and better performance), improved handling of case when no potentially optimal rects are found (choose largest rect with smallest function val, greatly improving many test cases!)

    M ./cdirect/cdirect.c -127 +113 M ./cdirect/redblack.c -162 +112 M ./cdirect/redblack.h -21 +15 M ./cdirect/redblack_test.c -42 +62

Tue Aug 28 12:48:06 EDT 2007 stevenj@alum.mit.edu

  • changed rect so that (x,y) = (d,f) are in order

    M ./cdirect/cdirect.c -32 +34 M ./cdirect/redblack.c +2

Tue Aug 28 00:06:52 EDT 2007 stevenj@alum.mit.edu

  • added printf

    M ./cdirect/redblack_test.c +1

Tue Aug 28 00:03:49 EDT 2007 stevenj@alum.mit.edu

  • added rb_tree_find_le/gt test

    M ./cdirect/redblack.c -2 +2 M ./cdirect/redblack.h +2 M ./cdirect/redblack_test.c -1 +42

Mon Aug 27 23:47:29 EDT 2007 stevenj@alum.mit.edu

  • bug fix in cdirect - handle case where different indices have same (x,y)

    M ./cdirect/cdirect.c -3 +5 M ./cdirect/redblack.c -4 +83 M ./cdirect/redblack.h +1 M ./cdirect/redblack_test.c -5 +5

Mon Aug 27 11:14:07 EDT 2007 stevenj@alum.mit.edu

  • added f2c of Schabel tensor algorithm (still needs to be cleaned up for inclusion in NLopt api)

    A ./tensor/ A ./tensor/COPYRIGHT A ./tensor/README A ./tensor/tensor.c

Mon Aug 27 10:49:28 EDT 2007 stevenj@alum.mit.edu

  • use red-black tree in cdirect instead of repeatedly resorting ... convex_hull is still O(N), though, and needs to be changed to a dynamic-hull algorithm to reduce the overall complexity below O(N^2), ugh

    M ./cdirect/Makefile.am -1 +5 M ./cdirect/cdirect.c -90 +108 A ./cdirect/redblack.c A ./cdirect/redblack.h A ./cdirect/redblack_test.c

Sun Aug 26 16:53:29 EDT 2007 stevenj@alum.mit.edu

  • comment

    M ./cdirect/cdirect.c -3 +3

Sun Aug 26 16:50:11 EDT 2007 stevenj@alum.mit.edu

  • implemented a couple more division strategies

    M ./cdirect/cdirect.c -37 +49 M ./util/mt19937ar.c +6 M ./util/nlopt-util.h +1

Sun Aug 26 16:36:25 EDT 2007 stevenj@alum.mit.edu

  • bug fix in Gablonsky measure for cdirect

    M ./cdirect/cdirect.c -1 +1

Sun Aug 26 10:49:57 EDT 2007 stevenj@alum.mit.edu

  • added option to StoGO (currently disabled) to use NLopt LBFGS for local minimization instead of StoGO's version

    M ./stogo/Makefile.am -1 +1 M ./stogo/linalg.h -2 +3 M ./stogo/local.cc -4 +67

Sun Aug 26 10:47:51 EDT 2007 stevenj@alum.mit.edu

  • add initial re-implementation of DIRECT (still too slow because convex hull is re-created from scratch each iter)

    A ./cdirect/ M ./Makefile.am -2 +4 M ./api/Makefile.am -1 +1 M ./api/nlopt.c -1 +8 A ./cdirect/Makefile.am A ./cdirect/cdirect.c A ./cdirect/cdirect.h M ./configure.ac +1

Sat Aug 25 15:43:42 EDT 2007 stevenj@alum.mit.edu

  • use HUGE_VAL instead of 1e6 for "infinity" in DIRECT

    M ./direct/DIRsubrout.c -2 +2

Sat Aug 25 13:34:59 EDT 2007 stevenj@alum.mit.edu

  • added simple convex test function

    M ./test/testfuncs.c -1 +22 M ./test/testfuncs.h -1 +1

Sat Aug 25 13:34:33 EDT 2007 stevenj@alum.mit.edu

  • some rearrangement to allow us to swap in a different local optimizer

    M ./stogo/local.cc -10 +14

Sat Aug 25 12:51:55 EDT 2007 stevenj@alum.mit.edu

  • use nlopt_stopping in StoGO (currently only for maxevals and maxtime)

    M ./api/nlopt.c -2 +1 M ./stogo/global.cc -3 +19 M ./stogo/global.h +6 M ./stogo/local.cc -3 +18 M ./stogo/local.h -2 +6 M ./stogo/stogo.cc -3 +5 M ./stogo/stogo.h -2 +8 M ./util/nlopt-util.h +1 M ./util/stop.c +5

Sat Aug 25 12:23:49 EDT 2007 stevenj@alum.mit.edu

  • prevent StoGO from redundant function evaluations

    M ./stogo/local.cc -2 +7

Sat Aug 25 12:01:46 EDT 2007 stevenj@alum.mit.edu

  • recenter coords so that starting guess is utilized by global routines

    M ./api/nlopt.c -17 +103 M ./api/nlopt_minimize.3 -4 +5 M ./stogo/global.cc -4 +5 M ./test/testopt.cpp -25 +53

Sat Aug 25 00:09:43 EDT 2007 stevenj@alum.mit.edu

  • support both randomized and deterministic versions of StoGO

    M ./api/nlopt.c -1 +5 M ./api/nlopt.h +1 M ./api/nlopt_minimize.3 -1 +5 M ./stogo/stogo.cc -2 +4 M ./stogo/stogo.h -1 +6

Fri Aug 24 23:42:29 EDT 2007 stevenj@alum.mit.edu

  • bug fix in stogo - rm uninitialized read (doesn't change results since result wasn't used, but still...)

    M ./stogo/global.cc -2 +2

Fri Aug 24 23:05:26 EDT 2007 stevenj@alum.mit.edu

  • transpose [][maxfuncs] arrays to [maxfuncs][], so that we can grow them dynamically using realloc in the future

    M ./direct/DIRect.c -4 +15 M ./direct/DIRserial.c -21 +18 M ./direct/DIRsubrout.c -141 +115

Fri Aug 24 17:52:20 EDT 2007 stevenj@alum.mit.edu

  • remove hard-coded limit on number of dimensions from DIRECT

    M ./direct/DIRect.c -10 +9

Fri Aug 24 17:37:20 EDT 2007 stevenj@alum.mit.edu

  • clearer constants (but still hard-coded, ugh)

    M ./direct/DIRect.c -23 +24

Fri Aug 24 17:29:19 EDT 2007 stevenj@alum.mit.edu

  • label maxfunc and maxdeep clearly

    M ./direct/DIRect.c -19 +19

Fri Aug 24 17:26:29 EDT 2007 stevenj@alum.mit.edu

  • tweak

    M ./COPYING -3 +4

Fri Aug 24 17:15:57 EDT 2007 stevenj@alum.mit.edu

  • supported more stopping criteria in subplex (still a little too pessimistic)

    M ./api/nlopt.c -3 +49 M ./api/nlopt_minimize.3 -1 +1 M ./subplex/Makefile.am +2 M ./subplex/subplex.c -42 +59 M ./subplex/subplex.h -2 +3 M ./test/testopt.cpp -8 +35 M ./util/Makefile.am -1 +1 M ./util/nlopt-util.h +21 A ./util/stop.c

Fri Aug 24 13:49:12 EDT 2007 stevenj@alum.mit.edu

  • some cleanups, bugfixes

    M ./api/nlopt.c -26 +42

Fri Aug 24 13:27:32 EDT 2007 stevenj@alum.mit.edu

  • added missing files

    M ./direct/Makefile.am -1 +1 A ./direct/README M ./stogo/Makefile.am -1 +2

Fri Aug 24 13:24:59 EDT 2007 stevenj@alum.mit.edu

  • more documentation

    M ./api/nlopt_minimize.3 -2 +116

Fri Aug 24 12:54:54 EDT 2007 stevenj@alum.mit.edu

  • added version number

    M ./api/nlopt.c +7 M ./api/nlopt.h +2 M ./api/nlopt_minimize.3 -5 +21 M ./configure.ac +7

Fri Aug 24 12:36:19 EDT 2007 stevenj@alum.mit.edu

  • no longer need time.h in StoGO

    M ./stogo/global.cc -1

Fri Aug 24 12:35:15 EDT 2007 stevenj@alum.mit.edu

  • added common random-number generation and timer utilities

    A ./util/ M ./Makefile.am -2 +2 M ./api/Makefile.am -1 +1 M ./api/nlopt.c +15 M ./api/nlopt.h +3 M ./api/nlopt_minimize.3 -3 +11 M ./configure.ac -2 +11 M ./lbfgs/ap.cpp -11 M ./lbfgs/ap.h -2 M ./stogo/Makefile.am +2 M ./stogo/global.cc -6 +5 M ./test/Makefile.am -1 +1 M ./test/testopt.cpp -18 +29 A ./util/Makefile.am A ./util/mt19937ar.c A ./util/nlopt-util.h A ./util/timer.c

Fri Aug 24 10:30:55 EDT 2007 stevenj@alum.mit.edu

  • support for bound constraints in NLOPT_LOCAL_SUBPLEX

    M ./api/nlopt.c -4 +33 M ./api/nlopt_minimize.3 -2 +48 M ./subplex/README -3 +15

Fri Aug 24 09:37:27 EDT 2007 stevenj@alum.mit.edu

  • support both Jones and Gablonsky direct variants

    M ./README +3 M ./api/nlopt.c -1 +6 M ./api/nlopt.h +1 M ./api/nlopt_minimize.3 +3 A ./direct/userguide.pdf R ./direct/userguide.ps.gz

Fri Aug 24 09:10:28 EDT 2007 stevenj@alum.mit.edu

  • got MIT-license permission from K. Madsen, author of StooGO

    A ./stogo/COPYRIGHT M ./stogo/README -1 +3

Thu Aug 23 23:51:20 EDT 2007 stevenj@alum.mit.edu

  • some doc clarifications

    M ./api/nlopt_minimize.3 -13 +22

Thu Aug 23 23:41:51 EDT 2007 stevenj@alum.mit.edu

  • start at man page.

    M ./api/Makefile.am +1 A ./api/nlopt_minimize.3

Thu Aug 23 22:53:47 EDT 2007 stevenj@alum.mit.edu

  • whoops

    M ./api/nlopt.c -1 +1 M ./test/testopt.cpp +3

Thu Aug 23 18:02:38 EDT 2007 stevenj@alum.mit.edu

  • added 9 more test functions

    M ./test/testfuncs.c -1 +141 M ./test/testfuncs.h -1 +1 M ./test/testopt.cpp -6 +9

Thu Aug 23 16:25:06 EDT 2007 stevenj@alum.mit.edu

  • include copies of (unpublished) paper and technical report graciously sent to me by K. Madsen

    A ./stogo/paper.pdf A ./stogo/techreport.pdf

Thu Aug 23 16:17:09 EDT 2007 stevenj@alum.mit.edu

  • added test program and some test objectives

    A ./test/ M ./Makefile.am -1 +1 M ./api/nlopt.c -2 +15 M ./api/nlopt.h -6 +10 M ./configure.ac +2 M ./stogo/global.cc -16 +27 M ./stogo/global.h -2 +5 M ./stogo/stogo.cc -1 +1 M ./stogo/stogo.h -1 +3 A ./test/Makefile.am A ./test/testfuncs.c A ./test/testfuncs.h A ./test/testopt.cpp

Thu Aug 23 11:12:41 EDT 2007 stevenj@alum.mit.edu

  • autoconfiscated, and got to compile

    ./direct/COPYRIGHT -> ./direct/COPYING ./nlopt -> ./api A ./m4/ A ./AUTHORS A ./COPYING A ./COPYRIGHT A ./ChangeLog A ./Makefile.am A ./NEWS A ./README A ./api/Makefile.am M ./api/nlopt.c -38 +55 M ./api/nlopt.h -3 +3 A ./configure.ac M ./direct/DIRsubrout.c -121 +1 A ./direct/Makefile.am M ./direct/direct-internal.h -11 M ./direct/direct.h +1 A ./lbfgs/Makefile.am M ./lbfgs/ap.h -2 +1 A ./nlopt.pc.in A ./stogo/Makefile.am M ./stogo/global.h -1 +1 M ./stogo/stogo.cc +1 A ./subplex/Makefile.am M ./subplex/subplex.c -8 +2

Wed Aug 22 23:56:27 EDT 2007 stevenj@alum.mit.edu

  • add lbfgs

    A ./lbfgs/ A ./lbfgs/ap.cpp A ./lbfgs/ap.h A ./lbfgs/l-bfgs-b.cpp A ./lbfgs/l-bfgs-b.h

Wed Aug 22 23:55:44 EDT 2007 stevenj@alum.mit.edu

  • initial checkins

    A ./subplex/ A ./subplex/README A ./subplex/subplex.c A ./subplex/subplex.h A ./nlopt/ A ./nlopt/nlopt.h A ./nlopt/nlopt.c M ./nlopt/nlopt.h +50 M ./subplex/README +16 M ./subplex/subplex.c +2205 M ./subplex/subplex.h +20

Wed Aug 22 18:10:32 EDT 2007 stevenj@alum.mit.edu

  • initial checkin

    A ./direct/ A ./stogo/ A ./direct/AUTHORS A ./direct/COPYRIGHT A ./direct/DIRect.c A ./direct/DIRparallel.c A ./direct/DIRserial.c A ./direct/DIRsubrout.c A ./direct/direct-internal.h A ./direct/direct.h A ./direct/direct_wrap.c A ./direct/tstc.c A ./direct/userguide.ps.gz A ./stogo/README A ./stogo/global.cc A ./stogo/global.h A ./stogo/linalg.cc A ./stogo/linalg.h A ./stogo/local.cc A ./stogo/local.h A ./stogo/prog.cc A ./stogo/rosen.h A ./stogo/stogo.cc A ./stogo/stogo.h A ./stogo/stogo_config.h A ./stogo/testfun.h A ./stogo/testros.cc A ./stogo/tools.cc A ./stogo/tools.h A ./stogo/tst.cc A ./stogo/tstc.c