Using a convex function that doesn't follow DCP

Hi everyone,

I need to implement an optimization problem with an inequality involving the following function


which is provably convex (using the Hessian). The trouble is that this doesn’t conform to the DCP ruleset, and CVX consequently throws up an error.

Any ideas on how I could get around this? Many thanks!

The last time this was considered, none of the then forum readers, which include some really good conic reformulators, knew how to formulate this in CVX.

Thanks for the reply Mark. Is there any way outside CVX that this might be possible for me to implement? I’m wondering if stand-alone MOSEK (i.e., without going through CVX) etc. would allow me to get around this? And my apologies in advance if this is a silly question, as my experience with any solvers outside CVX is nil :smile:

Stand-alone Mosek would not let you get around this. If it did., I think @hfriberg , @Michal_Adamaszek, or @Erling, who all work for Mosek, would have told us .

I think you will have to use a “regular” (not conic) nonlinear optimizer, such as available under YALMIP, to handle this. Given the convexity of the problem, you can still benefit from its properties, such as not having to worry about non-globally optimal local minima. But there could potentially be some numerical challenges which a conic formulation might have been able to avoid.

1 Like