The Exponential Cone and Semi-definite programming

395 Views Asked by At

I have a problem at the intersection of a range of topics: exponential programming, semi-definite programming and computer science, that I am having trouble finding a decent method for solving.

Take $A_i\in\mathbb{R}^{d\times d}$ with $A_i = A^T_i$, $i\in\mathcal{I}$ and $\mathcal{I}$ is a finite set of indices. $-\infty < \text{tr}(A_i)< 0,\ \forall i\in\mathcal{I}$. We also have $b_i\in\mathbb{R}^+$.

We seek $X_i\in\mathbb{R}^{d \times d}$ that solves the optimization problem

\begin{align} &\min \sum_i b_i e^{\text{tr}(A_i X_i)} \\ \text{s.t.} & \sum_i e^{\text{tr}(X_i)} \leq \mathcal{C} \\ & \| X_i \|^2_{Fr} \leq \alpha\\ & X_i = X^T_i \end{align}

This can be solved using CVX, and thus satisfies Disciplined Convex Programming. The problem is that because it is semi-definite programming on the exponential cone, it requires an approximation of the cone, thus is quite slow. I have also used the large blunt object that is NLOPT which performs quickly, but this seems unsatisfactory given it doesn't really exploit the convex structure.

My question is: What other methods could I reasonably attack this problem with? In particular ones that might work in parallel (the real set $\mathcal{I}$ is sufficiently large that the problem is distributed across many computers).

1

There are 1 best solutions below

1
On

There are solvers that can work directly with the exponential cone. Look at ECOS and the forthcoming Mosek version 9. If your problems are of a size where interior point methods are viable, one of those solvers might work for you.

What are the actual sizes of your problem instances?