Optimization: Formulation of the dual of a semi-definite program (SDP)

In summary: The constraints on the inequality parameters do not need to be included in the dual problem. In summary, the dual problem is:max_{Z} -tr(B^T Z) \text{subject to} A^T Z + C \succeq 0
  • #1
Master1022
611
117
Homework Statement
Given the semidefinite primal program below, find its dual
Relevant Equations
Inner product
Hi,

I was working through the following optimization problem, and am getting stuck on how to get to the dual problem that is being presented.

Question:
Find the dual problem for the semidefinite primal problem below:
[tex] min_{X} tr(C^T X) [/tex]
[tex] \text{subject to} AX = B [/tex]
[tex] X \succeq 0 [/tex]

(the answer is given as:
[tex] max_{Z} -tr(B^T X) [/tex]
[tex] \text{subject to} A^T Z + C \succeq 0 [/tex]

Attempt:
I need to start by re-writing the constraints in the required form:
[tex] AX = B \rightarrow AX - B = 0 [/tex]
[tex] X \succeq 0 \rightarrow - X \preceq 0 [/tex]

Now we can write the Lagrangian function with some parameters ##Z## and ##Y##:
[tex] L = tr(C^T X) + \langle AX - B, Z \rangle + \langle -X, Y \rangle [/tex]
where ## \langle P, Q \rangle = tr(P^T Q) ## for matrix constraints
[tex] L = tr(C^T X) + \langle AX, Z \rangle - \langle B, Z \rangle - \langle X, Y \rangle [/tex]
[tex] L = tr(C^T X) + tr((AX)^T Z) - tr(B^T Z ) - tr(X^T Y) \rightarrow tr \left( C^T X + X^T A^T Z - X^T Y \right) - tr(B^T Z) [/tex]
Then I can use the fact that: ## tr(A^T B) = tr(B^T A) ## and can write ## tr(C^T X) = tr(X^T C) ##
[tex] L = tr \left( X^T (C + A^T Z - Y) \right) - tr(B^T Z) [/tex]

This is one point where I don't fully understand the logic. Now I want to 'remove' dependence on ##X## from the above expression by thinking about the value of ## C + A^T Z - Y ##. If ## C + A^T Z - Y \neq 0 ##, then we could pick ## X ## to be something to make the minimum ## -\infty ## (although I don't fully understand why this isn't ideal). Otherwise, if ## C + A^T Z - Y = 0 ##, then the minimum becomes: ## - tr(B^T Z) ##

This leads us to the dual problem:
[tex] max_{Z} -tr(B^T X) [/tex]
[tex] \text{subject to} A^T Z + C - Y \succeq 0 [/tex]

I am left with a few questions:
1. I don't know why there is a ##Y## in my expression (from inequality parameter), which isn't present in the answer?
2. Do I need to include the constraints on the inequality parameters?
3. (from above) why do we want to remove ##X## dependence from the expression such that min doesn't go to ##-\infty##?

Thanks in advance
 
Physics news on Phys.org
  • #2
for any help! The dual problem should be:max_{Z} -tr(B^T Z) \text{subject to} A^T Z + C \succeq 0 When setting up the Lagrangian, you need to introduce a variable (in this case, Y) for each inequality constraint. The Y variable is used to represent the constraint that X is greater than or equal to 0. The reason why we want to remove dependence on X is because the primal problem is an optimization problem, and the goal is to find the optimal X. Since the dual problem does not depend on X, it is not an optimization problem, but rather, a feasibility problem. We want to find values for Z such that the constraint is satisfied, regardless of the value of X. Therefore, if the constraint cannot be satisfied, we want the objective function to become -∞ so that there is no optimal solution.
 

FAQ: Optimization: Formulation of the dual of a semi-definite program (SDP)

What is the purpose of formulating the dual of a semi-definite program?

The dual of a semi-definite program (SDP) allows us to find the optimal solution to the SDP by converting it into a simpler optimization problem. This can help us to better understand the structure of the problem and potentially find more efficient solutions.

How is the dual of a semi-definite program formulated?

The dual of a semi-definite program is formulated by taking the original SDP and rewriting it in terms of its dual variables. This involves taking the transpose of the original constraints and objective function, and then using a special matrix operation called the Schur complement to reformulate the problem.

What is the relationship between the primal and dual solutions of a semi-definite program?

The primal and dual solutions of a semi-definite program are closely related. The optimal solution to the dual problem provides a lower bound on the optimal solution to the primal problem. If the primal problem is convex and has a unique optimal solution, then the optimal solutions to the primal and dual problems are equal.

Can the dual of a semi-definite program be solved using the same methods as the primal problem?

Yes, the dual of a semi-definite program can be solved using the same methods as the primal problem. This is because the dual problem is a simpler optimization problem than the primal problem, and many of the same techniques and algorithms can be applied to both problems.

What are some applications of semi-definite programming and its dual formulation?

Semi-definite programming and its dual formulation have many applications in various fields such as engineering, economics, and computer science. Some examples include optimal control, signal processing, portfolio optimization, and combinatorial optimization. The dual formulation also has connections to other optimization problems such as linear programming and quadratic programming.

Similar threads

Replies
1
Views
2K
Replies
1
Views
1K
Replies
0
Views
1K
Replies
4
Views
2K
Replies
6
Views
2K
Replies
8
Views
2K
Replies
43
Views
4K
Replies
8
Views
1K
Back
Top