Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization Frank E. Curtis, Lehigh University involving joint work with James V. Burke, University of Washington Daniel P. Robinson, Johns Hopkins University Andreas Wächter, Northwestern University Hao Wang, Lehigh University ISMP 2012, Berlin, Germany 20 August 2012 Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 1 of 44
Outline Motivation Exact SQP Inexact SQP Summary Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 2 of 44
Outline Motivation Exact SQP Inexact SQP Summary Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 3 of 44
Two topics of this talk 1. Fill in a gap in algorithmic development for smaller-scale problems. 2. Propose a method for allowing/controlling inexactness for larger-scale problems. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 4 of 44
Two contributions 1. Sequential quadratic optimization method with fast infeasibility detection Guaranteed progress towards (linearized) feasibility each iteration Carefully constructed update of a penalty parameter Separate multipliers for feasibility and optimality Global and fast local convergence for both feasible and infeasible problems 2. Active-set method with inexact step computations for large-scale problems Framework extended from method above Allows generic inexact solution of subproblems Careful control of semi-smooth residual functions Global and fast local convergence (at least, that s the plan!) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 5 of 44
Outline Motivation Exact SQP Inexact SQP Summary Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 6 of 44
Constrained optimization (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := Suppose that our optimization problem (OP) is infeasible: modeling errors data inconsistency perturbed/added constraints Then, we want to solve a feasibility problem (FP). Many algorithms/codes do this already, either by switching back-and-forth transitioning (via penalization) µf (x) + y T c(x) z T x Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 7 of 44
Main contribution (Part 1) Active-set method that completes the convergence picture for nonlinear optimization: Problem type Global convergence Fast local convergence Feasible Infeasible? Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 8 of 44
Sequential quadratic optimization (SQO) (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := Compute direction d and multipliers (y, z) for (OP) by solving where Observe: min d f k + g T k d + 1 2 dt H k d s.t. c k + J T k d = 0, x k + d 0. g(x) := f (x), J(x) := c(x), and H(x, y, z, µ) : 2 xx F(x, y, z, µ). May reduce to Newton s method if active set is identified. However, a globalization mechanism is needed. Moreover, this subproblem may be infeasible! µf (x) + y T c(x) z T x Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 9 of 44
Recent literature (Rich history of SQO methods) Fletcher, Leyffer (2002) Byrd, Gould, Nocedal (2005) Byrd, Nocedal, Waltz (2008) Byrd, Curtis, Nocedal (2010) Byrd, López-Calva, Nocedal (2010) Gould, Robinson (2010) Morales, Nocedal, Wu (2010) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 10 of 44
Issue faced by all optimization solvers Move towards feasibility and/or objective decrease? Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 11 of 44
FILTER and steering strategies FILTER:... we make use of a property of the phase I algorithm in our QP solver. If an infeasible QP is detected, [a feasibility restoration phase is entered]. Steering methods solve a sequence of constrained subproblems: Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 12 of 44
Our approach: Two-phase strategy Feasibility step to determine possible progress toward feasibility. Optimality step exploits information obtained by feasibility step. Objective function never ignored (unlike FILTER). At most two subproblems solved per iteration (unlike steering). Reduces to SQO for optimization problem in feasible cases. Reduces to (perturbed) SQO for feasibility problem in infeasible cases. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 13 of 44
Ensuring global convergence (1) Compute feasibility step d k to determine highest level of feasibility improvement. (2) Compute optimality step b d k. (3) Set d k τ k b dk + (1 τ k )d k to obtain proportional feasibility improvement. (4) Update penalty parameter to ensure sufficient decrease in a merit function. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 14 of 44
Feasibility step (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := µf (x) + y T c(x) z T x (1) Compute feasibility step d k. Solve for (d k, r k, s k, t k ) and (y E k+1, zi k+1 ): min d,r,s,t e T (r + s) + e T t + 1 2 dt H k d 8 >< c k + Jk T d = r s s.t. x k + d t >: (r, s, t) 0. Resulting d k yields a reduction in a local model of v:» l k (d) := c k + Jk T d. min{x k + d, 0} 1 That is, it yields l k (d k ) = l k (0) l k (d k ) 0. (QO1) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 15 of 44
Optimality step (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := µf (x) + y T c(x) z T x (2) Compute optimality step b d k. Determine E k and I k for which d k is linearly feasible: c E k k Solve for ( b d k,br Ec k k min d,r Ec k,s Ec k,t Ic k + J E T k k dk = 0, x I k k + d I k k 0.,bsEc k k, bt Ic k k ) and (by k+1 E, bzi k+1 ): µ k g T k d + et (r Ec k + s Ec k ) + e T t Ic k + 1 2 dt b Hk d 8 >< s.t. c E k k c Ec k k + J E T k k d = 0 + J Ec T k k d = r Ek c s Ec k x I k k + d I k 0 x Ic k k + d Ic k t Ic k >: (r Ec k, s Ec k, t Ic k ) 0. (QO2) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 16 of 44
Search direction (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := (3) Set d k τ kdk b + (1 τ k )d k. Choose β (0, 1). Find largest τ k [0, 1] such that d k satisfies l k (d k ) β l k (d k ). µf (x) + y T c(x) z T x Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 17 of 44
µ update (OP): min f (x) x s.t. c(x) = 0, x 0 (FP): min v(x) x where» v(x) := c(x) min{x, 0} 1 (PP): where (FJ): min x φ(x, µ) φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := (4) Update penalty parameter to ensure sufficient decrease. Set µ k+1 so that Let µ k+1 1 (by k+1, bz k+1 ). m k (d, µ) = µ(f (x k ) + g T k d) + l k(d), then set µ k+1 so that d k yields m k (d k, µ k+1 ) ɛ l k (d k ). This ensures sufficient decrease in φ(, µ k+1 ) from x k. µf (x) + y T c(x) z T x Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 18 of 44
Ensuring global convergence (1) Determine potential level of feasibility improvement: l k (d k ) 0. (2) Compute search direction satisfying l k (d k ) β l k (d k ). (3) Update penalty parameter (if necessary) so that m k (d k, µ k+1 ) ɛ l k (d k ). (4) Perform line search on φ(, µ k+1 ) at x k along the descent direction d k. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 19 of 44
Ensuring fast local convergence: Feasible case If (OP) is feasible, then: (a) (QO1) eventually produces linearly feasible directions (b) µ eventually remains constant (c) (QO2) reduces to a standard SQO subproblem min µ k g d,r Ec k,s Ec k,t Ic k T d + et (r Ec k + s Ec k ) + e T t Ic k + 1 2 dt Hk b d k 8 c E k k + J E T k k d = 0 s.t. >< c Ec k k + J Ec T k k d = r Ek c s Ec k x I k k + d I k 0 x Ic k k + d Ic k t Ic k >: (r Ec k, s Ec k, t Ic k ) 0. (QO2) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 20 of 44
Ensuring fast local convergence: Infeasible case If (OP) is infeasible, then: (a) (QO1) eventually yields small improvement towards feasibility (b) µ 0 and (by k, bz k ) (y k, z k ): If v k 0 and l k (d k ) θv k, then µ k KKT inf (x k, y k+1, z k+1 ) 2 (by k, bz k ) (y k, z k ) KKT inf (x k, y k+1, z k+1 ) 2. (c) (QO2) reduces to (QO1) (i.e., SQO for feasibility) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 21 of 44
SQuID Sequential Quadratic Optimization with Fast Infeasibility Detection (1) Compute feasibility step via (QO1). (2) Check whether infeasible stationary point has been obtained. (3) Update µ k, by k, and bz k, if necessary (for fast local convergence). (4) Compute optimality step via (QO2). (5) Check whether optimal solution has been obtained. (6) Compute combination of feasibility and optimality steps (for global convergence). (7) Update µ k, if necessary (for global convergence). (8) Perform line search to obtain decrease in merit function. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 22 of 44
Global convergence Assumptions: (1) The problem functions f and c and their first-order derivatives are bounded and Lipschitz continuous in a convex set containing {x k }. (2) There exist µ max µ min > 0 such that, for any d, µ min d 2 d T H k d µ max d 2 µ min d 2 d T b Hk d µ max d 2. Theorem Either all limit points of {x k } are feasible or all are infeasible stationary. Theorem If µ k µ for some µ > 0 for all k, then every feasible limit point is a KKT point. Theorem Suppose µ k 0 and let K µ be the subsequence of iterations during which the penalty parameter µ k is decreased. Then, if all limit points of {x k } are feasible, then all limit points of {x k } k Kµ correspond to Fritz John points for (OP) where MFCQ fails. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 23 of 44
Local convergence: Assumptions (1) f and c and their first and second derivatives are bounded and Lipschitz continuous in an open convex set containing a given point of interest x. (2) If (x, y, z ) is a KKT point for (FP), then (a) J Z A T has full row rank. (b) e < y Z < e and 0 < z A < e. (c) d T H d > 0 for all d 0 such that J Z A T d = 0. (3) If (x, by, bz, µ ) is a KKT point for (OP), then (2) holds, µ k µ > 0, and (a) bz A + c A > 0. (b) d T b H d > 0 for all d 0 such that J E A T d = 0. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 24 of 44
Local convergence Theorem If v > 0, and (x k, y k, z k ) and (x k, by k, bz k ) are each close to (x, y, z ), then 2 4 x 3 2 k+1 x y k+1 y 5 z k+1 z C 4 x 3 k x 2 y k y 5 z k z for some constant C > 0 independent of k.» «byk y + O k + O(µ) bz k z k Theorem If (x k, y k, z k ) is close to (x, y, z ) and (x k, by k, bz k ) is close to (x, by, bz ), then 2 4 x 3 2 k+1 x by k+1 by 5 bz k+1 bz C 4 x 3 k x 2 by k by 5 bz k bz for some constant C > 0 independent of k. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 25 of 44
Numerical experiments: Feasible optimization problems FILTER: Others: SQuID: 9 failures due to declaration of infeasibility 2 failures due to declaration of infeasibility Lack of robustness due to lack of SOC and simplistic handling of nonconvexity Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 26 of 44
Numerical experiments: Infeasible optimization problems Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 27 of 44
Outline Motivation Exact SQP Inexact SQP Summary Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 28 of 44
Large-scale optimization You re thinking to yourself: SQO is expensive enough with one subproblem to solve. You want me to solve two?! Our response: Allowing inexactness gives flexibility in the subproblem solves. Any work to solve one subproblem is better split between our two. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 29 of 44
Optimality conditions (OP): (FP): where (PP): where (FJ): min f (x) x s.t. c(x) = 0, x 0 min x v(x) s.t. x 0 v(x) := c(x) 1 min x φ(x, µ) s.t. x 0 φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := µf (x) + y T c(x) z T x Optimality conditions for both (PP) and (FP) involve 2 3 min{µg(x) + J(x)y, x} ρ(x, y, µ) := 4 min{[c(x)] +, e y} 5 min{[c(x)], e + y} where Observe: [c(x)] + := max{c(x), 0} and [c(x)] := max{ c(x), 0}. If ρ(x, y, µ) = 0, v(x) = 0, and µ > 0, then (x, y/µ) is a KKT point for (OP). If ρ(x, y, µ) = 0, v(x) > 0, and µ = 0, then x is an infeasible stationary point. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 30 of 44
Two subproblems (OP): (FP): where (PP): where (FJ): min f (x) x s.t. c(x) = 0, x 0 min x v(x) s.t. x 0 v(x) := c(x) 1 min x φ(x, µ) s.t. x 0 φ(x, µ) := µf (x) + v(x) F(x, y, z, µ) := µf (x) + y T c(x) z T x Define the model of φ(, µ) at x k given by m k (d, µ) := µ(f k + g T k d) + c k + J k d 1. We iterate by (approximately) solving two subproblems: Feasibility subproblem: min d m k (d, 0) + 1 2 dt H k d s.t. x k + d 0. (QO1) Optimality subproblem: min d m k (d, µ k ) + 1 2 dt b Hk d s.t. x k + d 0. (QO2) Optimality conditions for both (QO1) and (QO2) involve 2 3 min{µg k + Hd + J k y, x k + d} ρ k (d, y, µ, H) := 4 min{[c k + Jk T d]+, e y} min{[c k + Jk T d], e + y} 5. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 31 of 44
Main contribution (Part 2) Active-set method that allows generic inexact subproblem solves: Termination tests dictate when an inexact solution is acceptable. Tests primarily monitor the reductions m k (d k, 0) and m k ( d b k, µ k ) and the residuals ρ k (d k, y k+1, 0, H k ) and ρ k ( d b k, by k+1, µ k, H b k ). Essentially, these ensure primal and dual convergence, respectively. ( Exact case : residuals are always zero, so we focused on model reductions.) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 32 of 44
Termination test 1: High-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if the feasibility step yields a nontrivial reduction in the feasibility model the error in solving (QO1) is small compared to the error in solving (FP) the optimality step yields a nontrivial reduction in the penalty function model the error in solving (QO2) is small compared to the error in solving (PP) and, in addition, the optimality step yields proportional improvement in the feasibility model. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 33 of 44
Termination test 1: Low-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if the feasibility step satisfies m k (d k, 0) θ d k 2 > 0 ρ k (d k, y k+1, 0, H k ) κ ρ(x k, y k, 0) the optimality step satisfies m k ( d b k, µ k ) θ d b k 2 > 0 ρ k ( d b k, by k+1, µ k, H b k ) κ ρ(x k, by k, µ k ) and, in addition, m k ( d b k, µ k ) ɛ m k (d k, 0) where θ > 0, κ (0, 1), and ɛ (0, 1) are user-defined constants. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 34 of 44
Termination test 2: High-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if the feasibility step yields a nontrivial reduction in the feasibility model the error in solving (QO1) is small compared to the error in solving (FP) the optimality step yields a nontrivial reduction in the penalty function model the error in solving (QO2) is small compared to the error in solving (FP) and, in addition, we take a convex combination of the steps for proportional improvement toward feasibility (potentially) decrease the penalty parameter. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 35 of 44
Termination test 2: Low-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if the feasibility step satisfies m k (d k, 0) θ d k 2 > 0 ρ k (d k, y k+1, 0, H k ) κ ρ(x k, y k, 0) the optimality step satisfies m k ( b d k, µ k ) θ b d k 2 > 0 ρ k ( b d k, by k+1, µ k, b H k ) κ ρ(x k, by k, µ k ) and, in addition, d k τ kdk b + (1 τ k )d k so that m k (d k, 0) ɛ m k (d k, 0) 8 < µ k j ff if m k (d k, µ k ) β m k (d k, 0) µ k+1 : min δµ k, (1 β) m k (d k,0) otherwise g k T d k +θ d k 2 where θ > 0, κ (0, 1), ɛ (0, 1), β (0, 1), and δ (0, 1) are constants. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 36 of 44
Termination test 3: High-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if the feasibility step is zero the optimality step is zero the feasibility multipliers are not changed and, in addition, the error in solving (QO2) is small compared to the error in solving (PP) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 37 of 44
Termination test 3: Low-level The primal-dual pairs (d k, y k+1 ) and ( b d k, by k+1 ) are acceptable if d k 0 b dk 0 y k+1 y k and, in addition, where κ (0, 1) is a constant. ρ k (0, by k+1, µ k, b H k ) κ ρ(x k, by k, µ k ) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 38 of 44
Inexact SQO (1) Check whether infeasible stationary point or optimal solution obtained. (2) Compute optimality and feasibility steps so that TT1, TT2, or TT3 holds. Hessian modifications performed within subproblems solves. (3) Update y k, and by k, if necessary (details suppressed). (4) Compute combination of feasibility and optimality steps. (5) Update µ k, if necessary. (5) Perform line search to obtain decrease in merit function. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 39 of 44
Global convergence: Assumptions (1) The problem functions f and c and their first-order derivatives are bounded and Lipschitz continuous in a convex set containing {x k }. (2) {H k } and { b H k } are bounded. (3) If x k is stationary for the penalty problem, then the subproblem solver eventually produces a direction of insufficient curvature or y such that ρ k (0, y, µ k, b H k ) is arbitrarily small. Else, it eventually produces a direction of insufficient curvature or (d, y) such that m k (d, µ k ) θ d 2 with ρ k (d, y, µ k, b H k ) arbitrarily small. (4) For the feasibility subproblem, the subproblem solver eventually produces a direction of insufficient curvature or, for ξ k > 0, it produces (d, y) satisfying max{ξ k, m k (d, 0)} θ d 2 with ρ k (d, y, 0, H k ) arbitrarily small. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 40 of 44
Global convergence Theorem The following limit always holds: lim k ρ(x k, y k, 0) = 0. Theorem The following limit holds if µ k = µ > 0 for all large k: lim ρ(x k, by k, µ) = 0. k TO DO: Ensure that µ stays bounded below under nice conditions. Local convergence(?!) Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 41 of 44
Outline Motivation Exact SQP Inexact SQP Summary Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 42 of 44
Summary Developed an SQO method that completes the convergence picture for NLO: Problem type Global convergence Fast local convergence Feasible Infeasible Proposed extensions for solving large-scale problems with inexact calculations. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 43 of 44
Thanks!! Infeasibility detection: J.V. Burke, F.E. Curtis, and H. Wang, A Sequential Quadratic Optimization Algorithm with Rapid Infeasibility Detection, submitted to SIAM Journal on Optimization, 2012. F. E. Curtis, A Penalty-Interior-Point Algorithm for Nonlinear Constrained Optimization, Mathematical Programming Computation, Volume 4, Issue 2, pg. 181-209, 2012. R. H. Byrd, F. E. Curtis, and J. Nocedal, Infeasibility Detection and SQP Methods for Nonlinear Optimization, SIAM Journal on Optimization, Volume 20, Issue 5, pg. 2281-2299, 2010. Inexactness and constrained optimization: F.E. Curtis, D.P. Robinson, and A. Wächter, An Inexact Sequential Quadratic Optimization Algorithm for Large-Scale Nonlinear Optimization, in preparation. F. E. Curtis, J. Huber, O. Schenk, and A. Wchter, On the Implementation of an Interior-Point Algorithm for Nonlinear Optimization with Inexact Step Computations, to appear in Mathematical Programming, Series B, 2012. F. E. Curtis, O. Schenk, and A. Wächter, An Interior-Point Algorithm for Large-Scale Nonlinear Optimization with Inexact Step Computations, SIAM Journal on Scientific Computing, Volume 32, Issue 6, pg. 3447-3475, 2010. R. H. Byrd, F. E. Curtis, and J. Nocedal, An Inexact Newton Method for Nonconvex Equality Constrained Optimization, Mathematical Programming, Volume 122, Issue 2, pg. 273-299, 2010. F. E. Curtis, J. Nocedal, and A. Wächter, A Matrix-free Algorithm for Equality Constrained Optimization Problems with Rank-Deficient Jacobians, SIAM Journal on Optimization, Volume 20, Issue 3, pg. 1224-1249, 2009. R. H. Byrd, F. E. Curtis, and J. Nocedal, An Inexact SQP Method for Equality Constrained Optimization, SIAM Journal on Optimization, Volume 19, Issue 1, pg. 351-369, 2008. Infeasibility Detection and an Inexact Active-Set Method for Large-Scale Nonlinear Optimization 44 of 44