SemiDefinite Programming in AMPL?

371 views
Skip to first unread message

MAURO VIEGAS DA SILVA

unread,
May 3, 2016, 8:25:55 AM5/3/16
to AMPL Modeling Language
How implementation Semidefinite relaxations in ampl?

e.d.an...@mosek.com

unread,
May 4, 2016, 12:40:53 AM5/4/16
to AMPL Modeling Language
According to my knowledge it is not possible.

[If it is possible to handle SDPs in AMPL we at MOSEK would update our AMPL link to handle so MOSEK could be used to solve them.]

Robert Fourer

unread,
May 4, 2016, 10:07:49 AM5/4/16
to am...@googlegroups.com
There isn't currently any way to specify a semidefiniteness constraint in AMPL.

If semidefinite relaxations are being used for quadratic programming, then it would be possible to formulate a quadratic program in AMPL and have the solver interface convert to the semidefinite formulation -- this makes sense if you view semidefinite relaxation as a solution method rather than a modeling technique. I am not aware of any current interface that actually does this, however.

Bob Fourer
am...@googlegroups.com

=======

MAURO VIEGAS DA SILVA

unread,
May 5, 2016, 11:56:17 AM5/5/16
to AMPL Modeling Language, e.d.an...@mosek.com
The used of mosek, is possible modeling in ampl? 

MAURO VIEGAS DA SILVA

unread,
May 5, 2016, 12:15:01 PM5/5/16
to AMPL Modeling Language, 4...@ampl.com
My problem used conic in ampl, but the problem very is complex, many paper recommend semidefinite ,  my questions is possible modelar this format? For exemple, modeling in ampl the solver xpress fico?

e.d.an...@mosek.com

unread,
May 9, 2016, 12:59:06 AM5/9/16
to AMPL Modeling Language, e.d.an...@mosek.com
Yes, but not for conic problems.

Robert Fourer

unread,
May 9, 2016, 1:35:03 PM5/9/16
to am...@googlegroups.com

There is no straightforward way in AMPL to specify that a "matrix" of variables must be positive semidefinite.  In principle it would be possible to create a user-defined suffix, say .psd, such that all variables with the same .psd value would be treated by the solver interface as a matrix to be conveyed to the solver with a positive semi-definite restriction; but this has not been done in any solver interfaces that I know of, and since there isn't a matrix data type in AMPL, it would depend upon some assumptions about the ordering of variables.  A different approach using a general nonlinear solver is described in the paper On Formulating Semidefinite Programming Problems as Smooth Convex Nonlinear Optimization Problems by Vanderbei and Benson; that relies on a user-defined function (C source is available) and also makes some assumptions about variable ordering.

Bob Fourer
am...@googlegroups.com


e.d.an...@mosek.com

unread,
May 10, 2016, 1:23:09 AM5/10/16
to AMPL Modeling Language, 4...@ampl.com
I would like to mention one caveat about the suffixes. If you assign a suffix to variable but that variable is NOT used anywhere in the model, then it is removed from the model when the NL file is written. [Ref. personal communication with David Gay.] Such variables can occur in semidefinite optimization as conic quadratic optimization models.  

I know this because I tried to use suffixes for conic quadratic models, but had to give up that approach for the reason mentioned above.

I do not think there are any good suggestion for extend traditional modeling languages like to handle conic problems e.g. SDPs.

Robert Fourer

unread,
May 11, 2016, 7:10:13 PM5/11/16
to am...@googlegroups.com
I agree that extensions based on existing modeling language facilities (such as suffixes or user-defined functions) have too many weaknesses. Conceivably new facilities the specifically express semi-definiteness restrictions could be built into modeling language syntax, so that the language processor would have the information needed to provide a correct problem instance to the SDP solver. But it's not trivial to incorporate a matrix concept into a language designed for scalar formulations.

Bob Fourer
am...@googlegroups.com

=======
Reply all
Reply to author
Forward
0 new messages