We will use a null-space, active set approach. We will follow the notations of section 9.1.1.

- Let be a vector of Lagrange Multiplier associated
with all the linear constraints. This vector is recovered from the
previous calculation of the constrained step. Set ,
*The constraints which are active are determined by a non-null*, . If a associated with a non-linear constraint is not null, set*NLActive*, otherwise set*NLActive*. - Compute the matrix and associated with the reduced space of the active box and linear constraints. The active set is determined by .
- We will now compute the step
**in the reduced-space of the active box and linear constraints**. Check*NLActive*:**True:**We will use the SQP algorithm described in the previous section to compute the step . Once the step is calculated, check the Lagrange Multipliers associated with the non-linear constraints. If they are all null or negative, set*NLActive*.**False:**We will use the Dennis-Moré algorithm of chapter 4 to compute the step. The step is computed using:is the solution of subject to

Where the trust region radius used in the reduced spaced is as illustrated in figure 9.6.

- Compute the Lagrange multipliers . If for all constraints then terminate. Remove from the constraints which have negative .
- Check if a non-linear constraint has been violated. If the
test is true, set
*NLActive*, set and go to (2). - Solve 9.13 and add if necessary a new box or linear constraint inside . Set and go to (2).