[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

This probably doesn't answer your question, but might give you some  
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  
using IPOPT exclusively, available for free at http://www.coin-or.org/ 
Ipopt/)

The only snag is that AMPL is not free, but it really is a very good  
mathematical programming language, and academic licenses are fairly  
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
--------------------------------
McMaster Advanced Control Consortium
Dept. of Chemical Engineering
McMaster University
Hamilton ON  L8S 4L7
Canada
Tel:   (905) 525-9140  Ext. 22008
FAX: (905) 521-1350
macc.mcmaster.ca
--------------------------------



More information about the SciPy-user mailing list