Quadratic constrained quadratic programming

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search

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