# [SciPy-user] Semidefinite programming in scipy ?

Zhiwen Chong zhiwen.chong at elf.mcgill.ca
Mon Jul 4 10:39:32 CDT 2005

Hi Nils,

On 4-Jul-05, at 9:53 AM, Nils Wagner wrote:
> Is it possible to solve semidefinite programs with scipy ?
>
> minimize t
> subject to t I -A(x) \ge 0
>
> with variables x \in R^k and t \in R. A(x) depends affinely on x
> and I denotes the identity.
>
> Reference:
> Vandenberghe, L., Boyd, S.
> Semidefinite Programming
> SIAM Review 38 1996 pp. 49-95

ideas:

My project involves extensive use of large-scale optimization, and
what I did was to write a meta-language (using the pyparsing module)
to generate AMPL code from a simpler syntax describing my problem.
AMPL in turn generates a stub for any number of high performance
solvers that support it. By taking this approach, my NLP isn't tied
to any single solver, and I will have the freedom to try different
solvers if I should need to in the future. (though I am currently
Ipopt/)

The only snag is that AMPL is not free, but it really is a very good
inexpensive. If your problem is very complicated or very large, it is
usually much easier to write it in a dedicated mathematical
programming language than a general purpose one.

For SDPs in particular, you may want to look at PENNON.
http://www2.am.uni-erlangen.de/~kocvara/pennon/

It uses the SDPA input file -- perhaps it is possible to write some
code in Python to generate one of these chappies?

Zhiwen Chong
--------------------------------