Page 251 - Numerical Methods for Chemical Engineering
P. 251
240 5 Numerical optimization
We substitute into (5.104) the constrained optimal s j from (5.107), to obtain a Lagrangian
that is a function solely of x,
[k] [k] [k] [k] n e [k]
L A x; λ , κ ,µ ≡ F(x) − λ g i (x)
i
i=1
[k] [k] 2 [k]
− µ κ − κ h j (x)
j j
j∈I NA (x) j∈I A (x)
(
1 n e 2 [k] [k] 2 2
+ [g i (x)] + µ κ j + [h j (x)] (5.108)
2µ [k]
i=1 j∈I NA (x) j∈I A (x)
We then find a minimum x [k] of L [k] where
A
[k]
∇L [k] = 0 (5.109)
A x
Neglecting the variation of I NA (x) and I A (x) with x,
[k] n e [k] g i (x) [k] h j (x)
∇L = ∇F − λ − ∇g i − κ − (5.110)
A i µ [k] j µ [k] ∇h j
i=1 j∈I A (x)
This yields the following update rule for the equality constraint multipliers:
[k]
g i x
[k+1] [k]
λ ← λ − (5.111)
i i [k]
µ
For the active inequality constraints, j ∈ I A (x), we have a similar rule but as well must
enforce the KKT condition κ j ≥ 0,
(
[k]
h j x
[k+1] [k]
κ ← max κ − , 0 (5.112)
j j [k]
µ
[k+1]
For the inactive inequality constraints, j ∈ I NA (x), we want to set κ j = 0 to enforce
[k] [k]
κ j h j = 0. But since for j ∈ I NA (x), h j (x) − µ κ j > 0, (5.112) in this case automatically
[k+1]
sets κ = 0. Thus, we apply (5.112) to all inequality multipliers, both active and inactive.
j
With these new estimates of the Lagrange multipliers, we set µ [k+1] ≤ µ [k] to
enforce more strongly the constraints, and define the new augmented Lagrangian
[k+1] [k+1] [k+1] [k+1]
L (x, s; λ , κ ,µ ). This procedure is repeated until the multiplier estimates
A
converge, at which point we have a local constrained minimum that meets the KKT condi-
tions (5.102).
Sequential quadratic programming (SQP)
The augmented Lagrangian method is not the only approach to solving constrained opti-
mization problems, yet a complete discussion of this subject is beyond the scope of this
text. We briefly consider a popular, and efficient, class of methods, as it is used by fmincon,
sequential quadratic programming (SQP). We will find it useful to introduce a common
notation for the equality and inequality constraints using slack variables,
minimize F(x)
subject to c m (x) − s m = 0 (5.113)
= 0 ≥ 0
s m∈S e s m∈S i