5.4.2. 半定规划问题示例¶
我们将考虑两个SDP问题例子,分别为只有一块和多块变量的半定规划问题。我们将展示如何使用 MindOpt 来建模和优化这两个问题。对于各种语言,我们将给出示例。
5.4.2.1. SDP示例1¶
\[\begin{split}\begin{align*}
\max\quad & \langle \mathbf{C},\mathbf{X} \rangle \\
\text { s.t. }\quad & \langle \mathbf{A},\mathbf{X} \rangle = 1
\\
& \mathbf{X} \succeq 0\\
\end{align*}\end{split}\]
其中,
\[\begin{split}\mathbf{C} = \begin{bmatrix} -3 & 0 & 1 \\ 0 & -2 & 0 \\ 1 & 0 & -3 \end{bmatrix},\end{split}\]
以及
\[\begin{split}\mathbf{A} = \begin{bmatrix} 3 &0 & 1 \\ 0 & 4 & 0 \\ 1 & 0 &5 \end{bmatrix}.\end{split}\]
5.4.2.2. SDP示例2¶
\[\begin{split}\max\quad & \langle \mathbf{C}_0,\mathbf{X}_0 \rangle +\langle \mathbf{C}_1,\mathbf{X}_1 \rangle \\
\text { s.t. }\quad & \langle \mathbf{A}_{00},\mathbf{X}_0 \rangle + x_0 = 1
\\
& \langle \mathbf{A}_{11},\mathbf{X}_1 \rangle + x_1 = 2
\\
& \mathbf{X}_0, \mathbf{X}_1\succeq 0\\
& x_0, x_1 \geq 0\end{split}\]
其中,
- \[\begin{split}\begin{align*} \mathbf{C}_0 = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix} \end{align*},\end{split}\]
- \[\begin{split}\begin{align*} \mathbf{C}_1 = \begin{bmatrix} 3 & 0 & 1 \\ 0 & 2 & 0 \\ 1 & 0 & 3 \end{bmatrix} \end{align*},\end{split}\]
- \[\begin{split}\begin{align*} \mathbf{A}_{00} = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix} \end{align*},\end{split}\]
- \[\begin{split}\begin{align*} \mathbf{A}_{11} = \begin{bmatrix} 3 &0 & 1 \\ 0 & 4 & 0 \\ 1 & 0 &5 \end{bmatrix} \end{align*}.\end{split}\]