Page 103 - IJEEE-2022-Vol18-ISSUE-1
P. 103

Al-Flehawee & Al-Mayyahi                                                                                                                     | 99

optimization problem using Sequential Quadratic                                                            Star
Programming Algorithm (SQP), the following is an                                                             t
explanation of the SQP algorithm.
                                                                                                      Initial guess
VI. SEQUENTIAL QUADRATIC PROGRAMMING                                                               feasible ??0, ?? = 0
                ALGORITHM (SQP)
                                                                                                        Calculate
The SQP algorithm is considered one of the most                                                    ???(????), ?????(????)

important and successful methods for solving numerical

constrained nonlinear optimization problems[27].This

algorithm is based on forming the sub-problem of Quadratic

Programming (QP) at each main iteration and using the

resulting solution from this sub-problem to form the QP sub-

problem at the subsequent iteration[28], where Fig.5 shows

the flowchart of this algorithm. In general, this algorithm

transforms a constrained nonlinear optimization problem

into a series of successive iterations of quadratic

programming (QP) sub-problems[29]. The basis of this                                               Update ???? using
                                                                                                        Eq(39)
algorithm is solving the nonlinear equations of the Karush-

Kuhn-Tucker (KKT) optimality conditions equation of the

constrained nonlinear optimization problems using Newton's

numerical methods to solve these equations. Where it was

found that this basis corresponds to solving the result of

generating the sub-problem of Quadratic Programming (QP)                                             Solve QP sub-
                                                                                                     problem using
iteratively, that is, at each iteration[27].                                                       active set strategy

To implement the SQP algorithm for the following

constrained nonlinear optimization problem:-

            Find ?? which minimizes ??(??)                          (31)

Subject to

            ????(??) = 0                    (i = 1, . . . , me)           Update                                                             Ye
                                                                          ??                                                                 s End
            ????(??) = 0        (i = me + 1, . . . , m)                   = ?? + 1                     Convergen
                                                                                                           ce?
Where me and m are the number of equality constraints and
                                                                                                                   N
number of constraints of the problem respectively. The                                                             o
                                                                                                      Find ???? that
Quadratic Programming (QP) sub-problem of this problem                                                 achieves a
                                                                                                   decrease the merit
at k iteration is formulated as:-                                                                       function

            ????????      1  ?? ?? ???? ??  +  ??? (???? )?? ??     (32)
                          2
???(????)???? + ????(????) = 0
                                               (i = 1, . . . , me)

???(????)???? + ????(????) = 0                 (i = me + 1, … , m)

Where S is search direction. As it is clear that the QP sub-                                                Set
                                                                                                   ????+1 = ???? + ????????
problem () needs to find B_k, which is positive definite the

approximate Hessian matrix of the Lagrangian function,

            ??(??, ??) = ??(??) + ????=? ?? ???? · ????(??)         (33)

    Where ???? is the Lagrange multiplier. The QP sub-                              Fig.5: Flowchart of the SQP algorithm.
problem also needs to make nonlinear constraints linear
                                                                          Where the step length parameter ???? is chosen in a way that
                                                                          achieves a decrease in the following merit function[27]:-

using the Taylor series approximation.                                                                ?(??) = ??(??) +

In the non-linear MPC control block, the QP sub-problem                   ??m?=e??(???? · ????(??)) ?m??=me+??(???? · ??????[0, ????(??)])   (35)

is solved using the active set strategy which needs an initial            Where ???? is the penalty parameter:-

guess feasible for the QP sub-problem to find the direction               ????  =   (????+1)??  =  ????????  {???? ,  (????)??+????}  (i  =  1, . . . , m) (36)

of the search at the current iteration???? and in addition to                                                              2
finding Lagrange multipliers????, this solution contributes to
                                                                          The initial values of the penalty parameters ????:-
the formation of the next iteration as shown below[30][31]:-                                             ????(??)?
                                                                                                ????  =  ??????(??)?                         (37)
                          ????+1 = ???? + ????????                  (34)
                                                                          As for ??, it is updated at major iterations using the

                                                                          Broyden Fletcher Goldfarb Shanno (BFGS) method as

                                                                          shown in the following equation[27][30]:-
   98   99   100   101   102   103   104   105   106   107   108