optim 1.6.2
-----------
** `nonlin_min', `nonlin_residmin', `nonlin_curvefit',
`residmin_stat', `curvefit_stat': Newer Octave versions throw an
error if a user function which doesn't use 'varargin' is called
with more arguments than it explicitly accepts. For this reason,
some optional arguments to user functions are now only given if
the user function accepts them. This applies to the 2nd
(informational) argument of model/objective functions and
gradient/Jacobian functions and to the 2nd (index) and 3rd
(informational) argument of functions for general constraints and
their gradients.
** Removed deprecated function `nmsmax' -- the same code is in
`fminsearch' in core Octave, with a slightly different interface.
** Deprecated frontend function `fmins'.
** Renamed `expfit' to `pronyfit'. Calling it with `expfit(...)'
still works, but is deprecated.
** Various bug fixes and build fixes for current development version
8.0 of Octave.
optim 1.6.1
-----------
** Bug fixes: `__qp__' invocation in `quadprog' (and so `lsqlin'),
handling of combined linear and non-linear constraints, handling
'fixed' parameters in `residmin_stat'.
** `fmincon': Handle bound vectors which are too short as in Matlab.
optim 1.6.0
-----------
** Build fixes for Octave 5.1 and some bug fixes.
** With Octave from version 5.1 on, a parallel cluster established
with package `parallel' can be used for computation of gradients
with option `parallel_net'.
** Compatibility frontend `fmincon' has been added.
** `lsqnonlin' and `lsqcurvefit' now accept a problem structure as
single argument for compatibility.
** `LinearRegression':
Corrected errors in computing variances of data and parameters.
Erroneous documentation of the 2nd output (`e_var', variances of
data) has been fixed.
The 5th output (previously `y_var'), which was erroneously
documented as the variances of dependent variables, has been
replaced by `fit_var', the variances of computed function values.
** Removed deprecated function `samin'. The functionality is
available with the `samin' backend of function `nonlin_min'.
optim 1.5.3:
------------
** Added dependency on statistics package.
** Some bug fixes and build fixes for Octave 4.4.
** Unit test for nlinfit is now reproducible.
** Added unit tests in nonlin_residmin and nonlin_curvefit.
** Default algorithm of `nonlin_min' is now more robust.
** Standalone function `samin' is deprecated. The functionality has
been moved into a `samin' backend of function `nonlin_min'.
optim 1.5.2:
------------
** Some build fixes. Builds with Octave 4.2.
** Links to core Octave documentation work now in html version of
package documentation.
optim 1.5.1:
------------
** Fixed treatment of one-parameter-functions in `jacobs'.
** The sign of `lambda' returned for equality constraints by
`quadprog' has been changed for compatibility with Matlab.
** Deprecated `nmsmax' -- the same code is in `fminsearch' in core
Octave, with a slightly different interface.
** Fixed portability issue in building documentation.
** Fixed bug which could break building oct-files.
optim 1.5.0:
------------
** Compatible with Octaves new exception-based error
handling. Compatibility with old error handling up to Octave-4.0
is retained.
** For parallel optimization, package `parallel' of at least version
3.0.4 is now required. This version of `parallel' attempts to
install its functions for local parallel computation even on
systems where its functions for parallel computation in clusters
cannot be installed; so `optim' should at least be able to perform
local parallel optimization even in this case.
** A parallel cluster can be used for computation of
gradients. Currently needs a patched version of Octave.
** New compatibility wrapper functions `lsqnonlin' and `lsqcurvefit',
calling the more general functions `nonlin_residmin' and
`nonlin_curvefit' iternally.
** New compatibility wrapper function `nlinfit', calling
`nonlin_curvefit' and `curvefit_stat' internally. New functions
`statset' and `statget' for compatibility in handling options of
`nlinfit'.
** New common frontend option 'TypicalX'. Additional common frontend
options 'FinDiffRelStep' and 'FinDiffType', to match usual option
names. 'diffp' and 'diff_onesided' are still available and can now
also be specified as scalars.
** nonlin_residmin and nonlin_curvefit return determined Lagrange
multipliers of any constaints
** New interface function `quadprog', similar to Octaves `qp'.
** New function `lsqlin'.
** Removed deprecated functions `minimize', `d2_min', and
`fmin'. Removed obsolete documentation `optim-mini-howto-2'.
optim 1.4.1:
------------
** Made compatible with Octave 4.0.
** Fixed bug #43699.
optim 1.4.0:
------------
** There is now general package documentation in info format. To
display it, type `optim_doc ()' or `optim_doc (keyword)'.
** Core Octaves `sqp' can now be used by the `nonlin_min' frontend.
** New backend `d2_min' for `nonlin_min' frontend, the standalone
function `d2_min' is deprecated instead.
** Introduced option `user_interaction' into frontends, `nonlin_min',
`nonlin_residmin', and `nonlin_curvefit'.
** Package `optim' does not depend on package `miscellaneous'
anymore.
** The frontend `minimize' has been deprecated. An alternative
frontend is `nonlin_min', released previously. The backends
`nelder_mead_min' and `bfgsmin' of `minimize' can also be called
directly, the backend `d2_min' is also deprecated and its
algorithm is now available as a backend to
`nonlin_min'. `poly_2_ex' is scheduled for removal from optim
since it is not related to optimization.
optim 1.3.1:
------------
** Fixed parameter fixing issue in residmin_stat/curvefit_stat.
** Simulated annealing backend of nonlin_min can save and recover
state, for interrupting and continuing long optimizations.
** Having the parallel package loaded is now optional.
** Simulated annealing backend of nonlin_min can do some parallel
computation.
optim 1.3.0:
------------
** LinearRegression: Two demo codes added ad the confidence band
for the dependent variable can be estimated.
** Bugfix in jacobs for functions of more than 2 variables.
** Parallel computation of gradients supported by nonlin_residmin,
nonlin_curvefit, and nonlin_min for default and for complex step
gradient methods. Introduces dependency on parallel package.
** In nonlin_residmin, nonlin_curvefit, nonlin_min, residmin_stat,
and curvefit_stat, the following names of optimset options had
to be changed to be consistent with interpretation of abbreviated
option names:
dfdp_pstruct -> df_pstruct,
inequc_f_idx -> f_inequc_idx,
inequc_df_idx -> df_inequc_idxn,
equc_f_idx -> f_equc_idx,
equc_df_idx -> df_equc_idx,
objf_grad_pstruct -> grad_objf_pstruct,
objf_hessian_pstruct -> hessian_objf_pstruct,
objf -> objf_type,
complex_step_derivative -> complex_step_derivative_f.
** The function fminsearch was removed from the optim package, since
it is available in Octave 3.8.0.
** The depricated functions optimset_compat and fminunc_compat are
now removed.
optim 1.2.2:
------------
** Bugfixes in nonlin_min and nonlin_residmin/nonlin_curvefit in
termination criteria, argument checking, and documentaion.
** Bugfix in private/__lm_feasible__.m: Wrong parantheses in checking
of equality constraints for initial parameters (reported by Marcus
Schmidt).
optim 1.2.1:
------------
** Bugfix in leasqr.m: errors when a function 'options' is in
namespace.
Summary of important user-visible changes for optim 1.2.0:
-------------------------------------------------------------------
** Together with the new backend "lm_feasible" there is now a
complete suite of backends for optimization with linear and
general equality and inequality constraints, for scalar valued
objective functions and for array valued model function, which
features, a.o., honouring of constraints throughout optimization
and handling of structure-based parameters. The respective user
functions (frontends) are
nonlin_min nonlin_residmin nonlin_curvefit
together with a user function for statistics
residmin_stat
** The requirement of nonlin_min, nonlin_residmin, and
nonlin_curvefit for the general constraint functions being able to
honour an index of constraints has been removed, the respective
feature is still available by setting some options.
** Makefile fixed to work with non-standard linker options e.g on
Apple.
Summary of important user-visible changes for optim 1.1.0:
-------------------------------------------------------------------
** The following functions are new optim 1.1.0:
powell cauchy nonlin_min
** The following functions have been deprecated since they have been
implemented in Octave core:
fminunc_compat optimset_compat
** The function `fmin' has been deprecated in favour of using `fminbnd'
directly. If one really wishes to use the short version, one can
easily create an alias on an octaverc file (see `doc startup') with
the following code
function out=fmin(varargin) out=fminbnd(varargin{:}); endfunction
** The package Makefile has been adapted for compatibility with Octave 3.6.0.
** Bugfixes on the functions:
deriv linprog
** The function `line_min' has a configurable setpesize and max evals.
** Added possibility to restrict a parameter to samin.
** Package is no longer automatically loaded.
Some important changes of the last versions of optim before 1.1.0:
------------------------------------------------------------------
** New functions:
jacobs: complex step derivative approximation
nonlin_residmin, nonlin_curvefit: Frontends with a general
interface for constrained residual-based optimization. They
allow a.o. optimization of structure-based named parameters or
parameter-arrays. A backend is included, which is derived from
the algorithm of leasqr, but enables feasible-path optimization
with linear and general constraints.
Package: optim