OPTI Toolbox Wiki

If you are interested in optimization, use MATLAB and like free stuff, OPTI could be for you. See the What 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!

OPTI Toolbox v1.81 Released

written by Jonny on April 02, 2013, at 10:01 PM

Version 1.81 has just been released with several updates. Changes include:

  • Added ability to specify quadratic constraints in row form (see QCQP Ex5)
  • Added support for plotting quadratic equalities
  • Changed how SOS are stored internally
  • Changed xtype specification for CBC
  • Changed SOS specification for CBC, LP_SOLVE and SCIP and coinW
  • Changed QC specification for SCIP
  • Rebuilt CSDP with aligned memory allocation
  • Rebuilt solvers and utilities against MKL 11.0 R3
  • Fixed bug in filterSD glcpd.f
  • Fixed bug in filterSD [sparse] with workspace memory allocation
  • Fixed bug in filterSD [sparse] with bounded problems
  • Fixed bug in structure generation for linear constraints with nonlinear solvers
  • Fixed bug in MIQCQPs with CPLEX

OPTI Toolbox v1.80 Released

written by Jonny on March 27, 2013, at 08:56 PM

Version 1.80 has just been released with several updates, and support for semidefinite constraints! Changes include:

  • Added Semidefinite Programming Constraints ('sdcone', 'sedumi')
  • Added Semidefinite cone plotting
  • Added DSDP (SDP solver)
  • Added CSDP (SDP solver, parallelized with OpenMP)
  • Added simple interface to SeDuMi
  • Added ability to read SeDuMi arguments into opti()
  • Added sdpRead() to read SDPA & SeDuMi problems into opti()
  • Added sdpWrite() to write OPTI problems to SDPA & SeDuMi files
  • Added some of the SDPLIB problems to opti test problems
  • Changed warning levels to 'all', 'critical' (default) or 'none'
  • Changed checkSolver to also provide solver configuration details
  • Changed IPOPT & BONMIN to accept linear constraints directly

Check out new pages on Semidefinite Programming and reading and writing Semidefinite Files. Also, many thanks to Johan Löfberg of YALMIP for feedback, testing and ideas for the latest release.

OPTI Toolbox v1.79 Released

written by Jonny on March 05, 2013, at 08:23 AM

Version 1.79 has just been released with several updates. Changes include:

  • Substantial updates to ASL mex interface, now reads QCQPs natively
  • Updated amplRead to allow linear constraints to be identified for NLPs
  • AMPL constraint linearity now available via field 'conlin' returned from amplRead
  • Changed solve(opti) to automatically write AMPL .sol files once an AMPL problem is solved
  • Changed CPLEX OPTI interface to use CPLEX class object
  • Rewrote and tidied up NLOPT MEX interface
  • Added #FuncEvals returned from NLOPT
  • Fixed bug in buildOpti QCQP checking of l
  • Fixed bug in asl when requesting Hessian structure multiple times
  • Fixed bug when plotting semidefinite / indefinite QCs
  • Fixed bug in SCIP QCQPs (important bugfix)
  • Fixed bug in NLOPT Jacobian callback (important bugfix)

OPTI Toolbox v1.78 Released

written by Jonny on February 17, 2013, at 03:54 PM

Version 1.78 has just been released with minor updates. Changes include:

  • Updated SCIP to correct for SOC bug (fixes 32bit crashes mentioned below)
  • Updated SCIP build to use CppAD v20130205
  • Updated SCIP interface to allow reading and solving of AMPL models 1

1 SCIP now utilizes its native AMPL .nl reader to parse AMPL models and solve them to global optimality. This functionality is automatically enabled when using the OPTI function amplRead to read an AMPL model, then selecting SCIP as the solver. The results of the solver run, together with iteration print out are available in MATLAB as per normal. Remember SCIP does not solve problems with trigonometric functions.

Join the OPTI Toolbox Mailing List

written by Jonny on February 11, 2013, at 07:28 PM

I have added a mailing list for users who wish to keep up to date with the latest OPTI releases and bug fixes. Next time you download OPTI you can tick the "Join Mailing List" box, or alternatively sign up now below:

Join OPTI Mailing List

As always, we respect your privacy and will not give your email address out to anyone! You can also unsubscribe at any point.

An added bonus of signing up to the mailing list are personalized download links, no more filling out the download form for each version of OPTI!

OPTI Toolbox v1.77 Released

written by Jonny on February 04, 2013, at 09:17 PM

Version 1.77 has just been released with minor updates. Changes include:

  • Changed error checking to enforce double precision numerical arguments only
  • Fixed IPOPT iteration callback to return complete x vector
  • Rebuilt solvers and utilities against R2012b and MKL 11.0 R2
  • Added To-Do list for possible contributors to OPTI (see Help folder)

OPTI Toolbox v1.76 Released

written by Jonny on January 26, 2013, at 04:54 PM

Version 1.76 has just been released with minor updates. Changes include:

  • Added Large-Scale NLP solver filterSD (quite fast - check it out!)
  • Updated amplRead to interface to ampl.exe directly (can now read AMPL .mod files)
  • Updated SCIP to v3.0.1 and SoPlex to v1.7.1 (does not fix 32bit crash unfortunately...)
  • Minor documentation updates
  • Minor bug fixes

OPTI Toolbox Forum now on Google Groups

written by Jonny on January 25, 2013, at 08:14 PM

To hopefully curb the increasing number of emails I have been getting, I have started a group on Google Groups for asking questions related to OPTI. Feel free to post questions there, and I will endeavour to respond asap. Simply click on "Question & Answer Forum" on the right-hand bar to be directed to the forum.

OPTI Toolbox v1.75 Released

written by Jonny on January 20, 2013, at 10:40 PM

Version 1.75 has just been released with several updates. Changes include:

  • Updated SCIP interface to solve Global NLPs and MINLPs (beta)1
  • Updated BONMIN interface to allow use of CPLEX as an MILP solver2
  • Updates to ipoptset and bonminset [lots more options available for BONMIN]
  • Changes to allow IPOPT and BONMIN to solve (MI)QCQPs via solver choice
  • Added extra return argument structure to IPOPT iteration callback
  • Minor updates to interfaces for LBFGSB, MKLTRNLS, HYBRJ and NL2SOL solvers
  • Updates to checkSol() [now provides failure report]
  • Changed error checking to enforce dense problem vectors

1 The new SCIP interface will parse most typical MATLAB functions into an algebraic description of the problem, then solve it to proven global optimality. However your function must be deterministic (no relational operators or stochastic elements), include only a subset of functions (exp, log, log10, abs and sqrt) and be written purely in MATLAB code. The interface includes basic indexing up to 2D and basic matrix functions. It is still in beta and will contain bugs, let me know if you have a function it parses incorrectly (it will report a warning). 32bit users be aware of crashing on rare problems (being investigated).

For an example on it's use see the following Example in GNLP Examples.

2 The new BONMIN interface allows CPLEX to be called as the MILP solver for outer-approximation decomposition solvers. This of course relies on the fact you have CPLEX v12.5.0 installed and licensed on your PC! See the OPTI MATLAB documentation for instructions on obtaining the academic version of CPLEX.

While you won't see any new messages from the BONMIN output, it is using it when selected via the milp_solver option.

OPTI Toolbox v1.72 Released

written by Jonny on December 24, 2012, at 10:22 PM

Version 1.72 has just been released with minor updates. Changes include:

  • Changed IPOPT return function evaluation names to match ipopt.m documentation
  • Minor documentation updates
  • Updated CLP to v1.14.8
  • Updated CoinUtils to v2.8.8
  • Updated CBC to v2.7.8