Version 0.6
Compared to v0.5.1, the major changes are as follows.
lincoa
now supports the following constraints:
Aineq*x <= bineq, Aeq*x = beq, xl <= x <= xu
cobyla
now supports the following constraints:
nlconstr(x) <= 0, Aineq*x <= bineq, Aeq*x = beq, xl <= x <= xu
N.B.:
2.1. In Powell's implementation of cobyla, the constraints are constr(x) >= 0
, where constr
is a vector-valued function that wraps all constraints. In contrast, the nonlinear constraints we consider are nlconstr(x) <=0
(not >=0
).
2.2. cobyla does not support nonlinear equality constraints directly. Such a constraint has to be wrapped as two inequality constraints before being passed to the Fortran code. The wrapping is left to be done by the MATLAB/Python/R/Julia interface. The MATLAB interface already does so.
constr_modified
is removed from the output ofmatlab/lincoa
, so is the warning "%s:ConstraintModified".