fminsdp

A code for solving non-linear optimization problems with matrix inequality constraints.
2.1K Downloads
Updated 2 Sep 2016

View License

fminsdp is a code for solving general smooth, non-linear, non-convex optimization
problems with both scalar constraints and matrix inequality constraints.
It attempts to find local solutions to problems of the form
minimize f(x)
subject to
A_eq*x = b_eq ............................................... Linear equality constraints
A*x <= b .......................................................... Linear inequality constraints
c_eq(x) = 0 ..................................................... Non-linear equality constraints
c_ineq(x) <= 0 ................................................ Non-linear inequality constraints
lb <= x <= ub ................................................... Box constraints
A_i(x) positive semi-definite, i = 1,...,q ........... Matrix inequality constraints,
where A_i, i = 1,...,q, are smooth, non-linear symmetric matrix-valued functions.
The interface to fminsdp is similar to that of fmincon from the Matlab Optimization Toolbox,
so anyone familiar with fmincon should recognize the form of the problem treated.
The novelty here is the addition of q matrix inequality constraints.
fminsdp offers three different methods to treat the problem. The first two methods
works by reformulating the problem into a standard non-linear optimization problem (NLP)
which is then solved by calling fmincon, SNOPT, KNITRO, Ipopt, MMA/GCMMA or PENLAB
(note that these codes must be obtained separately). The third "method" consists of
fminsdp calling the external solver PENLAB.

A user's manual in pdf-format and several example codes that illustrate
usage of fminsdp are provided.

fminsdp has been tested on Matlab R2016a on Windows 7 64-bit and
Matlab R2012a on Ubuntu 12.10 64-bit. The following NLP-solvers have been tested:
fmincon from said Matlab releases; Ipopt 3.10.3 and 3.11.2; Knitro 8.1.1;
the student version of Snopt 7; MMA/GCMMA, version September 2007; and PENLAB 1.04.

Although this is possible, fminsdp is not intended to replace
specialized solvers available for many important special cases of the above problem.
See http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Solvers.Solvers
for a list of solvers.

fminsdp can also be used to solve problems without matrix inequality constraints.
It then simply provides a unified interface, in fmincon-style, to the above-mentioned
NLP solvers.

Cite As

Carl-Johan Thore (2024). fminsdp (https://www.mathworks.com/matlabcentral/fileexchange/43643-fminsdp), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Nonlinear Optimization in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.6.0.0

Two new methods for handling matrix inequalities.
Interfaces to PENLAB, MMA and GCMMA
Removed a compressed file from the download.
Removed a compressed file from the download.

1.5.0.0

Minor bug in the output fixed.

1.4.0.0

Minor updates and bugfixes

1.3.0.0

Minor updates to the documentation

1.2.0.0

Minor updates to sdpoptionset.m and the Ipopt-interface.

1.0.0.0