If you are interested in optimization, use MATLAB and like free stuff, OPTI could be for you. See theWhat Is OPTI section for details on solving linear, nonlinear, continuous and discrete optimization problems using MATLAB!
To get right into it, jump to the downloads page!
on December 28, 2016, at 12:46 PM
Version 2.23 has just been released with minor updates. Changes include:
- Updated documentation to match move to Inverse Problem Limited
- Rebuilt all solvers against MKL v11.3 R4
- Updated IPOPT to 3.12.6
- Updated ASL to v20160922, including VSBuild for auto compilation
- Updated nomadset to latest spec (C. Tribes)
- Fixed bug where maxnodes instead of maxiter was used for BARON maxiter setting.
- Fixed bug where x0 as a matrix could be supplied as solve(opt,x0) and skip error generation.
- [API Change] Changed return codes for constraint linearity in ASL interface
written by Jonny on December 28, 2016, at 12:21 PM
The academic version of OPTI Toolbox is back online. The process to download it is as follows:
- Download the Open Source Version from here.
- Download the Academic Extension from here, and following the instructions on this page to install it.
While this is now a two-step process, it simplifies obtaining small changes via Git for the majority of users.
written by Jonny on December 21, 2016, at 02:16 PM
As I have now left AUT, I have moved OPTI into our start-up company. This change means very little for the OPTI community, other than a new web address, and the mailing list has been deleted. I've also taken the chance to change the Wiki skin for a bit of variation.
One change to note however is that GitHub will become the primary download location for OPTI (including MEX files) - no more download forms for the open source version. For Academic users, a patch will be provided (asap) to add SCIP. More details to follow.
written by Jonny on September 19, 2016, at 04:02 PM
Version 2.22 has just been released with minor updates. Changes include:
- Added suggestion to rethrow errors when function testing (V. Pericoli)
- Fixed handling of very large QP problems (skips non-convex checks)
- Fixed excessive memory when checking of symmetric/tril/triu Hessians by using builtin MATLAB routines (H. Mittelmann)
- [API Change] Changed symbset interface to now only accept optiset options via 'optiOpts' field.
written by Jonny on June 15, 2016, at 02:37 PM
Apologies while our Wiki was down. Something went wrong with one of the add-ins (BlogIt) and it took a while to track and fix.
OPTI Downloads should be available again.
written by Jonny on May 22, 2016, at 06:05 PM
Version 2.21 has just been released with minor updates. Changes include:
- Rebuilt all solvers against MKL v11.3 R3
- Fixed bug when nleq cannot accept x0 = zeros(n,1) during function testing (B. Duarte)
- Fixed bug where fixed binary variables were written as normal binary variables in MPS files
- Fixed bug where binary variables were not handled correctly by intlinprog
- Fixed bug where SNLE problems not handled correctly by MATLAB solvers
- Increased precision in writing MPS files
- Updated coinRead to correctly identify binary variables
written by Jonny on March 29, 2016, at 09:33 PM
Version 2.20 has just been released with minor updates. Changes include:
- The toolbox now only supports 64bit MATLAB[1] (mexw32 binaries no longer supplied)
- Rebuilt all solvers against MKL v11.3 R2
- Rebuilt all solvers in R2013a with Visual Studio 2015 & Intel XE 2016
- Added primal and dual bounds to SCIP return arguments
- Updated CLP to 1.16.10
- Updated CBC to 2.9.8
- Updated IPOPT to 3.12.4
- Updated BONMIN to 1.8.4
- Updated NOMAD to 3.7.2
- Updated SCIP to 3.2.1 (note even more sensitive to unbounded problems now)
- Updated RMathlib to 3.2.4
- Updated CppAD source to 20160321
- Updated VSBuilder to support Visual Studio 2015 and Intel XE 2016
- Fixed bug plotting 1D maximization problems
- Fixed bug in opti_scipasl returning the wrong status code and message (F. Bastos)
- Improved compatibility with R2016a
[1] Older (Open Source) versions of OPTI that support 32bit MATLAB can be downloaded fromDropbox .
written by Jonny on July 25, 2015, at 05:10 PM
Version 2.16 has just been released with minor updates. Changes include:
- Updated CBC to v2.9.5
- Updated BONMIN to v1.8.3
- Updated SCIP to v3.2.0 (note change in return codes if using scip directly)
- Fixed bug when nlcon cannot accept x0 = zeros(n,1) during function testing (A. Khalid)
- Minor bug fixes
written by Jonny on May 22, 2015, at 08:55 PM
I've had a few questions regarding White Box optimization using solvers like SCIP and BARON, so I have written a Wiki page explaining how they work with OPTI. Grab a cup of coffee and have a read.
written by Jonny on May 17, 2015, at 10:01 PM
Version 2.15 has just been released with several updates.
Changes include:
Updates
checkSolver
has been renamed to optiSolver
, same API.- Rebuilt all solvers against MKL v11.2 R3 and Visual Studio 2013
- Updated and tidied supplied documentation, mostly on this Wiki now.
- Updated CLP to v1.16.6
- Updated CBC to v2.9.4
- Updated IPOPT to v3.12.3
- Updated BONMIN to v1.8.2
- Updated SCIP to v3.1.1
- Updated RMathlib to v3.2.0
- Updated CppAD Source to 20150429
New Functionality
- Added ability to set SCIP options. Check
scipset
in MATLAB, and this example.
Bug Fixes
- Fixed bug in convBonmin when supplying options from another solver (G.Tsoukalas)
- Fixed bug in >=R2014b when plotting OPTI plots with bounds
- Fixed bug in >=R2014b when plotting quadratic constraints
- Fixed bug with bintprog no longer available in R2014b
- Fixed bug with orange line in data fitting plots in R2014b
https://www.inverseproblem.co.nz/OPTI/index.php/Solvers/Solvers
The OPTI Toolbox forms an 'umbrella' over a suite of open source and free academic solvers, most of which are included (and compiled for Windows) as part of the toolbox download.
Supplied Solvers
Below is a list of the solvers supplied with OPTI, grouped by the problem types they can solve. Click a solver name to view more information about it.
Linear Programming (LP)
CLP, CSDP, DSDP, GLPK, LP_SOLVE, OOQP, SCIP
Mixed Integer Linear Programming (MILP)
CBC, GLPK, LP_SOLVE, SCIP
Quadratic Programming (QP)
CLP, OOQP, SCIP
Mixed Integer Quadratic Programming (MIQP)
SCIP
Quadratically Constrained Quadratic Programming (QCQP)
SCIP
Mixed Integer Quadratically Constrainted Quadratic Programming (MIQCQP)
SCIP
Semidefinite Programming (SDP)
CSDP, DSDP
System of Nonlinear Equations (SNLE)
HYBRJ, LM_DER, MKLTRNLS, NL2SOL
Nonlinear Least Squares (NLS)
LEVMAR, LM_DER, MKLTRNLS, NL2SOL
Nonlinear Programming (NLP)
FILTERSD, IPOPT, L-BFGS-B, M1QN3, NLOPT, SCIP
Global Nonlinear Programming (GNLP)
NLOPT, NOMAD, PSWARM, SCIP
Mixed Integer Nonlinear Programming (MINLP)
BONMIN, NOMAD, SCIP
Interfaced Solvers
Below is a list of the solvers interfaced (connected, but not supplied) to OPTI, grouped as above. Apart from the MATLAB solvers, most others are available under an unrestrictive free academic license.
Linear Programming (LP)
BARON, CPLEX, MATLAB, MOSEK, SeDuMi
Mixed Integer Linear Programming (MILP)
BARON, CPLEX, MATLAB, MOSEK
Quadratic Programming (QP)
BARON, CPLEX, MATLAB, MOSEK
Mixed Integer Quadratic Programming (MIQP)
BARON, CPLEX, MOSEK
Quadratically Constrained Quadratic Programming (QCQP)
BARON, CPLEX, MOSEK
Mixed Integer Quadratically Constrainted Quadratic Programming (MIQCQP)
BARON, CPLEX, MOSEK
Semidefinite Programming (SDP)
SeDuMi
System Of Nonlinear Equations (SNLE)
MATLAB
Nonlinear Least Squares (NLS)
MATLAB
Nonlinear Programming (NLP)
BARON, MATLAB
Global Nonlinear Programming (GNLP)
BARON, GMATLAB
Mixed Integer Nonlinear Programming (MINLP)
BARON, GMATLAB