- Release 1.5.2.
- Move examples
mips_example1.mandmips_example2.mfromlib/tto their ownexamplesdirectory.
- Add feature detection function
have_feature_mips(), providing implementation of'mips'tag forhave_feature().
- Release 1.5.1.
- Add
full_histoption to enable saving inoutput.histtrajectories ofx,z,g,h,lam, andmu(issue #4).
- Add Sphinx-based Reference documentation.
- Release 1.5.
- Add to
mplinsolve()the ability to return a struct containing the matrix LU factorization, and to reuse this pre-factored matrix to solve additional systems with different right-hand-sides by passing the struct in place of the A matrix to subsequent calls. - Add option to
mplinsolve()to solve transposed systems by settingopt.trto 1, including when providing the pre-factored matrix for the original, non-transposed system.
- Release 1.4.
- Add feature detection functions for LU and PARDISO, defining tags
'lu_vec','pardiso_legacy','pardiso_object'and'pardiso'forhave_feature(). Requires MP-Test 7.1 or later. - Remove custom LU and PARDISO detection code from
mplinsolveand test functions, and switch to usinghave_feature().
- In User's Manual, add missing
linsolveroption in Table 3-3. - In User's Manual, add Sections 4 Other Functions, 4.1 Linear System Solvers - mplinsolve, and move Section 3.3 Quadratic Programming Solver to 4.2.
- Silence inadvertent output from
mplinsolve()when called withoutsolverinput argument. - Fix fatal errors when
mplinsolve()is called withLUsolver and denseAmatrix.
- Remove additional
have_fcn()dependencies inmips(),t_mips_pardiso()andt_qps_mips(). - INCOMPATIBLE CHANGE: Calling
mips()withopt.linsolverset to'PARDISO'now results in a fatal error if PARDISO is not installed, rather than warning and continuing with the default linear solver.
- Fix bug in initialization of
muthat resulted in fatal error int_mipsfor some versions of MATLAB (e.g. R2013b on Mac).
- Release 1.3.1.
- Add
CITATIONfile. - Other miscellaneous documentation updates, e.g. MATPOWER website links updated to https://matpower.org.
- Release 1.3.
- Add support for PARDISO v6.x.
- Ignore warnings from Octave 4.4 about calling
luwith less than 4 outputs and a sparse input.
- Fix typo preventing
pardiso.dparmoptions from being set. - Fix incorrect use of PARDISO options in
t_mplinsolve().
- Move
mplinsolvePARDISO options toopt.pardisoin preparation for adding options for other solvers. - Add
mplinsolvesolver option'LU'for explicit LU decomposition with back substitution, with options inopt.lufor 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 thesolverargument act as shortcuts for specifying various combinations of options:'LU3','LU3a','LU4','LU5','LU3m','LU3am','LU4m','LU5m'. Seehelp mplinsolvefor 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
feastoloption 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 andlinsolveroption.
- 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_thresholdandmax_stepsize. - INCOMPATIBLE CHANGE: The name of the option to
mips()to specify the maximum number of step-size reductions whenstep_controlis on was changed frommax_redtosc.red_itfor 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_multas 3rd argument.
- Check for NaN's in update step.
- Changed licensing to GNU General Public license. See
LICENSEandCOPYINGfiles 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,ReleaseandDate(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
gandh(GandH) 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 <= bandAeq*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 = -1fornumerically failed, output includesmessagefield,lambdaonly 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
returnstatement at end of all M-files. If anything it should be anendstatement, 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
xbecomes 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.