4

For a semidefinite program (SDP) with a linear matrix inequality (LMI), we can write it as follows.

$$ \begin{array}{ll} \underset {x \in {\Bbb R}^n} {\text{minimize}} & c^T x \\ \text{subject to} & G + x_1 F_1 + x_2 F_2 + \dots + x_n F_n \preceq 0 \\ & A x = b \end{array} $$

where $G, F_1, F_2,\dots, F_n \in S^k$ and $A \in {\Bbb R}^{p \times n}$. I want to transform above form to SDP of standard form:

$$ \begin{array}{ll} \underset {X} {\text{minimize}} & \operatorname{tr} (C X) \\ \text{subject to} & \operatorname{tr} (A_i X) = b_i, \quad i=1,2,\dots,p \\ & X \succeq 0 \end{array} $$

where $C, A_1,\dots,A_p \in S^n$. Suppose $$ A = \begin{bmatrix} a^T_1 \\ a^T_2 \\ \vdots \\a^T_p\end{bmatrix}$$ I tried to diagonalize $c,x,a_i$ such that:

$$ C = \operatorname{diag}(c), \quad X = \operatorname{diag} (x), \quad A_i = \operatorname{diag}(a_i) $$

but I cannot figure out how satisfying constraint $X \succeq 0$. So, what is the trick?

Finley
  • 1,323

2 Answers2

3

You can dualize the problem but for that we need to assume that Slater's condition holds.

First, we build the Lagrangian

$$L(x,P,\mu):=c^Tx-\mathrm{trace}(PM(x))+\mu^T(Ax-b)$$

where $M(x):=x_1F_1+x_2F_2+...+x_nF_n+G$, $P$ is symmetric positive semidefinite and $\mu$ is a real vector.

The dual problem is, therefore,

$$\max_{P\succeq0,\mu\in\mathbb{R}^n}-(\mathrm{trace}(PG)-\mu^Tb)$$ such that

$$\mathrm{trace}(PF_i)+\mu^TAe_i=c_i.$$

where $\{e_1,\ldots,e_n\}$ is the natural basis of $\mathbb{R}^n$.

It is also possible to lump all the variables in the single matrix $\tilde P=\mathrm{diag}(P,U)$ where $U=\mathrm{diag}(\mu)$ to get

$$\max_{\tilde P}-\mathrm{trace}(\tilde PZ_0)$$ such that

$$\mathrm{trace}(\tilde PZ_i)=c_i$$

where $Z_0=\mathrm{diag}(G,\mathrm{diag}(b))$ and $Z_i=\mathrm{diag}(F_i,\mathrm{diag}(Ae_i))$.

KBS
  • 7,903
1

Instead of trying to rewrite it directly, since you already have a LMI it might be easier to write $Ax=b$ into the LMI.

Let \begin{align*} &\min c^{\mathsf T} x \\ &\text{s.t. } \sum_{i=1}^n x_i F_i - G \succcurlyeq 0,\ Ax=b \end{align*} be the given problem, where $G,\ F_i \in S^k$, $A \in \mathbb{R}^{p\times n}$, $x \in \mathbb{R}^n$, $b \in \mathbb{R}^p$.

Let $a_i$ be the columns of $A$, $i=1,\dots,n$. We can rewrite $Ax=b$ as $\sum_{i=1}^n a_i x_i - b = 0$ element wise. This can then be written as two constraints $\sum_{i=1}^n a_i x_i - b \ge 0$ and $\sum_{i=1}^n -a_i x_i - (-b) \ge 0$. Now we can simply add this to the LMI, so we get $\sum_{i=1}^n x_i F'_i - G' \succcurlyeq 0$, for block matrices \begin{align*} F'_i &= \begin{bmatrix} F_i & & \\ & \text{diag}(a_i) & \\ && -\text{diag}(a_i) \end{bmatrix} \\ G' &= \begin{bmatrix} G && \\ & \text{diag}(b) & \\ &&-\text{diag}(b) \end{bmatrix} \end{align*} using that a block matrix is PSD if and only if its blocks are PSD, and a diagonal matrix is PSD if and only if its diagonal elements are nonnegative.

Now we are done, because the dual is \begin{align*} &\max \langle G', X \rangle \\ &\text{s.t. } \langle F'_i, X \rangle = c_i \quad i=1,\dots,n \\ &\qquad X \succcurlyeq 0. \end{align*}

PHPirate
  • 428