In this article, we examine methods that solve constrained optimization problems by attempting to remain feasible at every iteration. If all the constraints are linear, maintaining feasibility is straightforward. However, when non-linear constraints are present, then more elaborate procedures are required. Although it strives to maintain feasibility at every iteration, they do not always achieve this.
Active-set Methods
subject to
Bad news : It can’t be reformulated into unconstrained optimization.
Good news : We have methods for equality constraints.
How can we resolve this issue? A brute force approach would be to solve the equality-constrained problem for all possible selections of active constraints, and then choose the best solution. However, this approach can’t be applicable even though the number of constraints are quite small.
Active-set methods attempt to overcome this difficulty by moving sequentially from one choice of active constraints to another choice that is guaranteed to produce at least as good a solution.
The most commonly used active-set methods are feasible-point methods. An initial feasible point, if none is provided, can be obtained by using linear-programming. At each iteration of the active-set method, we select a working set of constraints that are assumed to be active at the optimum.
Algorithm
Initialize with some working set W of active constraints
Iterate
Optimality check
If no constraints are active and the current point is an unconstrained stationary point, then stop
If there are active constraints and the current point is optimal with respect to the active constraints, compute the Lagrange multipliers
If the multipliers are non-negative, stop. Otherwise, drop a constraint with negative multiplier from W.
Search direction
Determine a descent direction p that is feasible with respect to W
Step length
Determine a satisfying f(xk+αp)<f(xk) and α≤αˉ where αˉ is the maximum possible step length along p
Update
xk+1=xk+αp. If new constraint boundary encountered, add to W.
Example
subject to
when starting at x1=0 and x2=0
Active constraints : 1, 3
Find λ1,λ2 such that
Since λ1,λ2<0, the current point is not a optimal point.
Drop x2≥0 constraint:
subject to
Find the null space
Therefore,
Take
Solve
Since, x1,x2 doesn’t violate the other constraints, it is in the feasible reasion.
Check the optimality condition again
→ It is also not a optimal point. So we also drop this constraint also
We are now left with no active constraints, which means that the problem is locally unconstrained. Therefore, reduced gradient is simply the unconstrained Newton direction
Calculate the largest feasible step by considering the given constraints
Iterate above procedures
Sequential Quadratic Programming (SQP)
Sequential quadratic programming is a popular and successful technique for solving non-linearly constrained problems such as
subject to
The main idea is to obtain a search direction by solving a quadratic program, that is a problem with a quadratic objective function and linear constraints.
Idea
The Lagrangian for this problem is
and the first-order optimality condition is
Then the formula for Newton’s method is
where pk and vk are obtained as the solution to the linear system
Consider the following the constrained minimization problem where (xk,λk) is our Newton iteration at step k
subject to
This minimization problem has Lagrangian
Note that the first optimality condition for above Lagrangian is
which are equivalent to the original first-optimality condition. Then solving ∇Lk(p,vk)=0 gives a linear system, which is the same as the k’th Newton step of the original problem.
The quadratic function is a Taylor series approximation to the Lagrangian at (xk,λk), and the constraints are a linear approximation to g(xk+pk)=0
Issue
SQP is an important method, and there are many issues to be considered to obtain an efficient and reliable implementation
Efficient solution of the lienar system at each Newton iteration
→ block matrix structure can be exploited
Quasi-Newton approximations to the ∇xx2L(xk,λk) as in the unconstrained case
Trust region, line search to improve robustness
Treatment of constraints (equality and inequality) during the iterative process