- Release 1.3.
- Add support for PARDISO v6.x.
- Ignore warnings from Octave 4.4 about calling
lu
with less than 4 outputs and a sparse input.
- Fix typo preventing
pardiso.dparm
options from being set. - Fix incorrect use of PARDISO options in
t_mplinsolve()
.
- Move
mplinsolve
PARDISO options toopt.pardiso
in preparation for adding options for other solvers. - Add
mplinsolve
solver option'LU'
for explicit LU decomposition with back substitution, with options inopt.lu
for specifying the number of output arguments in call tolu
(opt.lu.nout
), whether to use permutation vectors or matrices (opt.lu.vec
) and pivot threshold options (opt.lu.thresh
). The following values for thesolver
argument act as shortcuts for specifying various combinations of options:'LU3'
,'LU3a'
,'LU4'
,'LU5'
,'LU3m'
,'LU3am'
,'LU4m'
,'LU5m'
. Seehelp mplinsolve
for details. Thanks to Jose Luis Marin.
- Add Travis-CI integration. Thanks to Richard Lincoln.
- Moved development to GitHub: https://github.com/MATPOWER/mips.
- Renamed from MATLAB Interior Point Solver to MATPOWER Interior Point Solver.
- Remove dependence of
t_mpsolve()
on presence ofhave_fcn()
to detect PARDISO installation.
- Released MATPOWER 6.0b2.
- Fixed issue where default value of
feastol
option was not being set correctly inmips()
when called directly (or viaqps_mips()
) withfeastol = 0
.
- Added support for using PARDISO as linear solver for
computing interior-point update steps in MIPS, via new
mplinsolver()
function andlinsolver
option.
- Switch to more permissive 3-clause BSD license from GPL 3.0.
- Additional user-settable options:
xi
,sigma
,z0
,alpha_min
,rho_min
,rho_max
,mu_threshold
andmax_stepsize
. - INCOMPATIBLE CHANGE: The name of the option to
mips()
to specify the maximum number of step-size reductions whenstep_control
is on was changed frommax_red
tosc.red_it
for consistency with other MATPOWER options.
- Fixed a bug in MIPS where a near-singular matrix could produce an extremely large Newton step, resulting in incorrectly satisfying the relative feasibility criterion for successful termination.
- Fixed fatal bug in MIPS for unconstrained, scalar problems. Thanks to Han Na Gwon.
- Released MATPOWER 4.1.
- no change
- no change
- Modified input args for Hessian evaluation function for MIPS.
Requires
cost_mult
as 3rd argument.
- Check for NaN's in update step.
- Changed licensing to GNU General Public license. See
LICENSE
andCOPYING
files for details.
- GNU Octave compatibility! (tested with Octave 3.2.3)
- Added optional input arg to
mipsver()
function to trigger return of entire version struct withName
,Version
,Release
andDate
(similar to MATLAB'sver()
function). - Massive help text update to more closely match MathWorks conventions; function names in ALL CAPS, See also ..., Examples, etc.
- Added
mipsver()
.
- Added a version number and printing of MIPS version lines to verbose output.
- Swapped
g
andh
(G
andH
) in notation to match convention used in previously published stuff.
- Added
qps_mips()
, with calling syntax similar toquadprog()
from the Optimization Toolbox. The main difference from thequadprog()
API is that the constraints are specified asl <= A*x <= u
, instead ofA*x <= b
andAeq*x == beq
.
- Renamed the pure-MATLAB interior point solver from PDIPM to MIPS (MATLAB Interior Point Solver).
- Changed order of input args to
pdipm()
, added option for single input struct (like fmincon), more documentation, all constraints are now optional, returnsexitflag = -1
fornumerically failed
, output includesmessage
field,lambda
only includes relevant fields. Added tests for pdipm as standalone solver.
- Added history field to the output with trajectories of obj, termination criterion, etc.
- Added acknowledgement of port from Hongye Wang's code.
- Removed unnecessary
return
statement at end of all M-files. If anything it should be anend
statement, but even that is optional, so we just let functions get terminated by the end-of-file or another function declaration.
- Break out of algorithm is any element of
x
becomes NaN.
- Added step-controlled PDIPM variant.
- Fixed some bugs in default args.
- Added a pure MATLAB implementation of the PDIPM (primal-dual interior point method) solver.