Quadratic constrained quadratic programming: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
==Introduction==
==Introduction==
A '''quadratically constrained quadratic program (QCQP)''' can be defined as an optimization problem where the objective function and the constraints are quadratic. In particular, the issue involves optimizing (or minimizing) a convex quadratic function of decision variables with quadratic constraints. This class of problems is well suited to finance, engineering, machine learning, and agriculture because it is easier to model the relationship between variables using quadratic functions.
Quadratic programming (QP) is one of the oldest topics in the field of optimization that researchers have studied in the twentieth century. The basic QP, where the objective function is quadratic and constraints are linear, paved the way for other forms, such as QCQPs, which also have quadratic constraints. QCQPs emerged as optimization theory grew to address more realistic, complex problems of non-linear objectives and constraints.
The desire to study QCQPs stems from the fact that they can be used to model practical optimization problems that involve stochasticity in risk, resources, production, and decision-making. For example, in agriculture, using QCQPs can be useful in determining the best crop to grow based on the expected profits and the uncertainties of price changes and unfavorable weather conditions. In finance, the QCQPs are applied in the portfolio's construction to maximize the portfolio's expected returns and the covariance between the assets. It is crucial to comprehend QCQPs and the ways to solve them, such as KKT conditions and SDP relaxations, to solve problems that linear models cannot effectively solve. Analyzing QCQPs is important in order to apply knowledge-based decision-making and enhance the performance and stability of optimization methods in different fields.


==Algorithm Discussion==
==Algorithm Discussion==

Revision as of 16:07, 8 December 2024

Introduction

A quadratically constrained quadratic program (QCQP) can be defined as an optimization problem where the objective function and the constraints are quadratic. In particular, the issue involves optimizing (or minimizing) a convex quadratic function of decision variables with quadratic constraints. This class of problems is well suited to finance, engineering, machine learning, and agriculture because it is easier to model the relationship between variables using quadratic functions.

Quadratic programming (QP) is one of the oldest topics in the field of optimization that researchers have studied in the twentieth century. The basic QP, where the objective function is quadratic and constraints are linear, paved the way for other forms, such as QCQPs, which also have quadratic constraints. QCQPs emerged as optimization theory grew to address more realistic, complex problems of non-linear objectives and constraints.

The desire to study QCQPs stems from the fact that they can be used to model practical optimization problems that involve stochasticity in risk, resources, production, and decision-making. For example, in agriculture, using QCQPs can be useful in determining the best crop to grow based on the expected profits and the uncertainties of price changes and unfavorable weather conditions. In finance, the QCQPs are applied in the portfolio's construction to maximize the portfolio's expected returns and the covariance between the assets. It is crucial to comprehend QCQPs and the ways to solve them, such as KKT conditions and SDP relaxations, to solve problems that linear models cannot effectively solve. Analyzing QCQPs is important in order to apply knowledge-based decision-making and enhance the performance and stability of optimization methods in different fields.

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