Sequential quadratic programming for solving nonlinear optimization problems

1 Overview

Sequential quadratic programming (SQP, Sequential Quadratic Programming) algorithm is a complex nonlinear optimization problem into simpler algorithm for solving quadratic programming problems. The quadratic programming problem refers to the optimization problem where the objective function is a quadratic function and the constraint function is a linear function. The quadratic programming problem is the simplest nonlinear optimization problem, and there are many mature and fast solutions.

2. Basic idea

The basic idea of ​​sequential quadratic programming is to use Taylor expansion to simplify the objective function of the nonlinear optimization problem to a quadratic function at the iteration point, while simplifying the constraint function to a linear function:
1
because it is only an approximation of the original problem, it is obtained The solution is not the solution of the original problem, but a better solution locally, which can provide a direction for the next iteration, so what we want to solve is actually a direction:
2
turn it into a standard form of quadratic programming:
3
4

3. Solution method

The solution of the problem is mainly divided into two parts, the first part is to convert the original nonlinear optimization problem into multiple simple secondary optimization problems by solving the second derivative matrix, and the second part is the simple secondary optimization The problem is solved.

The steps of iterative solution are as follows:
5

3.1 Solve the second derivative matrix

6
Here ΔX refers to the difference in decision variables, and Δq refers to the difference in gradients.

3.2 Solving the quadratic programming problem

According to different constraints, quadratic programming can be divided into equality-constrained quadratic programming problems and inequality-constrained quadratic programming problems. Equality-constrained quadratic programming problems contain only equality constraints. Common solutions include direct elimination, generalized elimination, and Lagrange methods. For inequality-constrained quadratic programming problems, the basic idea is to constrain inequalities Convert it into an equation constraint and then solve it. Common solutions include the active set method. The effective set method uses the effective constraint as an equation constraint in each iteration, and then it can be solved by the Lagrangian method, and repeat until the best is obtained. Excellent solution.

Guess you like

Origin blog.csdn.net/weixin_43795921/article/details/108215201