Logdet function operations

47 views
Skip to first unread message

Michael C

unread,
Feb 23, 2013, 10:57:41 PM2/23/13
to yal...@googlegroups.com
Dear Johan and fellows,

Firstly, I appreciate all your works that help our research.
While I am working on an optimization problem with the objective function in the following form:

min_x max_{i,j} (-logdet(x_{i,j}))

I defined two variables x, and f1, where constraints are used

F=[F, f1>= -logdet(x_{i,j}) ], \forall i,j

and the objective is therefore


obj=f1;



The problem I found is yamilp seems limited the operations of function logdet because there is an error 

-------------------------------------------------------------------------------------
??? Function 'ge' is not defined for values of class 'logdet'.
-------------------------------------------------------------------------------------


I wish to know how this objective function can be legally defined or how this problem can be otherwise solved, please.

By the way, should I only use sdpt3 v4.0 as the solver?

Thanks a lot in advance.

Michael



Johan Löfberg

unread,
Feb 24, 2013, 10:33:36 AM2/24/13
to yal...@googlegroups.com
SDPT3 is capable of solving problems involving a sum of logdet terms in the objective. That is all, it is not allowed in constraints etc. The operator is a special-purpose command to generate these terms, hence it is not allowed in constraints or in any thing but simple (negative) sums in the objective.

However, log(det)) is monotonic in the geometric mean of the eigenvalues, hence, you can use geomean (which is implemented through a series of SOCP and SDP constraints) instead (I presume your terms x{i,j} are symmetric matrices. If scalars, it makes no sense to introduce the nonlinear operation, and if non-symmetric, there is no solver to handle it)
Reply all
Reply to author
Forward
Message has been deleted
0 new messages