fminsdp is a code for solving general (smallscale) smooth, nonlinear and nonconvex optimization problems with both scalar constraints and matrix inequality constraints.
fminsdp attempts to find local solutions to problems of the following form:
minimize f(x)
subject to
A_eq*x = b_eq ............................................... Linear equality constraints
A*x <= b ........................................................... Linear inequality constraints
c_eq(x) = 0 ...................................................... Nonlinear equality constraints
c_ineq(x) <= 0 ................................................ Nonlinear inequality constraints
lb <= x <= ub ................................................... Box constraints
A_i(x) positive semidefinite, i = 1,...,q ...... Matrix inequality constraints,
where A_i, i = 1,...,q, are smooth, nonlinear symmetric matrixvalued 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.
The idea behind fminsdp is to reformulate the problem into a standard nonlinear
optimization problem (NLP) and use existing NLPsolvers to find a solution to
the new problem. To solve the reformulated problem, fminsdp can use fmincon,
SNOPT, KNITRO or Ipopt (note that these codes must be obtained separately).
A user's manual in pdfformat and several example codes that illustrate
usage of fminsdp are provided.
fminsdp has been tested on Matlab R2012b running on Windows 7 64bit and
Matlab R2012a on Ubuntu 12.10 64bit. The following NLPsolvers have been tested:
fmincon from said Matlab releases; Ipopt 3.10.3 and 3.11.2; Knitro 8.1.1; and the student version of Snopt 7.
Note that, although this is possible, fminsdp is not intended to replace
specialized solvers available for many important special cases of the problem
treated by fminsdp. See http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Solvers.Solvers for a list of solvers.
As alternatives to fminsdp, one might consider PENNON, http://www.penopt.com/pennon.html, and PENLAB, http://web.mat.bham.ac.uk/kocvara/penlab/.
