Introduction
Algorithm Discussion
Numerical Example 1 (KKT Approach)
Consider the following Quadratically Constrained Quadratic Programming (QCQP) problem to gain a better understanding:
We will solve this QCQP problem using the Karush-Kuhn-Tucker (KKT) conditions, which are necessary conditions for a solution in nonlinear programming to be optimal, given certain regularity conditions.
Step 1: Formulate the Lagrangian
The Lagrangian combines the objective function and the constraints, each multiplied by a Lagrange multiplier :
For each constraint:
- Complementary Slackness:
- Primal Feasibility:
Step 2: Compute the Gradient of the Lagrangian
Compute the partial derivatives with respect to and :
- Partial Derivative with respect to :
- Partial Derivative with respect to :
Step 3: Stationarity Conditions
Set the gradients to zero:
- Equation (1):
- Equation (2):
From Equation (2), since and for , it follows that:
Substitute into the constraints:
Combining both constraints:
Step 4: Solve the problem Using Equation (1)
Substitute into Equation (1):
Assume (since Constraint 1 is active):
But from the feasible range, .
Substitute into the equation:
This is acceptable.
Assume because Constraint 2 is not active at .
Step 5: Verify Complementary Slackness
- Constraint 1:
- Constraint 2:
Step 6: Verify Primal Feasibility
- Constraint 1:
- Constraint 2:
Step 7: Conclusion
- Optimal Solution:
- Minimum Objective Value:
Numerical Example 2 (SDP-Based QCQP)
Consider the following Quadratically Constrained Quadratic Programming (QCQP) problem:
Interpretation:
The objective is the squared distance from the origin. We seek a point in the feasible region that is as close as possible to the origin.
The constraint restricts to lie inside or on a circle of radius .
The constraint defines a hyperbolic region. To satisfy , both variables must be sufficiently large in magnitude and have the same sign.
Step 1: Lifting and Reformulation
Introduce the lifted variable:
If , then (positive semidefinite) and is rank-1.
Rewrite the objective and constraints in terms of :
Objective: , where is the 2x2 identity matrix.
Constraint 1:
Constraint 2:
Step 2: SDP Relaxation
The original QCQP is non-convex due to the rank-1 condition on . Relax the rank constraint and consider only :
This is now a Semidefinite Program (SDP), which is convex and can be solved using standard SDP solvers.
Step 3: Solving the SDP and Recovering the Solution
Solving the SDP, we find a feasible solution that achieves the minimum:
Check that is rank-1:
with .
Thus, from
Check feasibility:
All constraints are satisfied.
Step 4: Optimal Value
The optimal objective value is:
Conclusion
The SDP relaxation not only provides a lower bound but also recovers the global optimum for this particular QCQP. The optimal solution is with an objective value of .
This example demonstrates how an SDP relaxation can be used effectively to solve a non-convex QCQP and, in some cases, recover the exact optimal solution.
Application
Conclusion
Reference