Tải bản đầy đủ (.doc) (28 trang)

Luận văn:PHƯƠNG PHÁP HÀM CHẮN VÀ PHƯƠNG PHÁP HÀM PHẠT trong các bài toán tối ưu Chương 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (164.93 KB, 28 trang )

Chơng 3

phơng pháp hàm phạt
Trong phơng pháp hàm chắn trình bày ở chơng 2, ta đã đa vào hàm chắn
để ngăn cản di chuyển vợt ra ngoài miền chấp nhận đợc. Chơng này sẽ trình bày
phơng pháp hàm phạt. Chiến thuật giải ở đây là: đa thêm vào hàm mục tiêu
ban đầu một lợng phạt (phụ thuộc tham số), nếu điểm đợc xét vi phạm các ràng
buộc.
Trong mục 3.1 ta dùng hàm phạt bậc hai, hàm này có u điểm là trơn nhng
đòi hỏi tham số phạt tiến ra vô hạn và bài toán không ràng buộc thu đợc càng trở
nên khó giải. Để khắc phục hạn chế này, ở mục 3.2 ta xét hàm phạt chính xác
theo nghĩa nghiệm của bài toán phạt cho lời giải đúng của bài toán ban đầu với
giá trị hữu hạn của tham số phạt, tuy nhiên hàm phạt này lại không khả vi. Cuối
cùng, để nhận đợc hàm phạt chính xác khả vi ở mục 3.3, ta xét hàm phạt
Lagrange gia tăng. Nội dung trình bày ở chơng này chủ yếu dựa trên tài liệu [6].

3.1. Hàm phạt bậc hai
Xét bài toán tối u với ràng buộc đẳng thức:
(P)

min {f(x) : hi(x) = 0, i = 1, , m; x |Rn},

trong đó f(x), hi(x): |Rn |R, i = 1, , m là các hàm hai lần khả vi liên tục.
Miền ràng buộc (miền chấp nhận đợc) của bài toán (P) là tập
D = {x |Rn : hi(x) = 0, i = 1, , m}.
Định nghĩa. Hàm phạt là một hàm liên tục thoả mãn

39


(x) = 0 khi x D và (x) > 0 khi x D.


Trong mục này ta sẽ xét hàm phạt bậc hai có dạng
Q(x, ) = f(x) +

m
1
2
ì h i ( x ) ,
2 i=1

trong đó > 0 là tham số phạt. Khi + thì những vi phạm ràng buộc sẽ bị
phạt ngày càng tăng. Phơng pháp phạt tiến hành giải một dãy bài toán cực tiểu
không ràng buộc:
(P)

min {Q(x, ) : x |Rn}

với dãy tăng {k} tiến ra vô hạn. Do các hàm f và h i (i = 1, 2, , m) trơn nên
Q(x, ) cũng là hàm trơn và các kỹ thuật tối u hoá không ràng buộc có rthể đợc
sử dụng để giải các bài toán phụ (P). Hơn nữa nghiệm xk của bài toán (P k ) sẽ
đợc dùng làm điểm xuất phát để giải bài toán phụ tiếp theo (P k+1 ). Tuy nhiên rõ
ràng là hiệu quả của phơng pháp sẽ phụ thuộc vào việc chọn dãy tham số phạt
{k}.
Bài toán với ràng buộc tổng quát có dạng
(PI)

min f(x),

với các điều kiện ràng buộc
hi(x) = 0, i = 1, 2, , m,
gj(x) 0, j = 1, 2, , p.

40


Đối với bài toán này ta có thể xác định Q nh sau

[

]

2

m
p
1
1
2
Q(x, ) = f(x) + ì h i ( x ) + ì max(0, g j ( x )) .
2 i=1
2
j=1

Trong trờng hợp này hàm Q có thể ít trơn hơn hàm mục tiêu và các hàm
ràng buộc ban đầu. Chẳng hạn, nếu g(x) = - x 0 thì
[max(0, g(x))]2 = [max(0, -x))]2 = [min(0, x))]2.
có đạo hàm cấp hai gián đoạn, vì thế Q không thuộc lớp C2.
Thuật toán phạt bậc hai:
Cho trớc tham số phạt 0 > 0, độ sai số 0 > 0 và điểm xuất phát x s0 .
Với mỗi k = 0, 1,
1. Xuất phát từ x sk , tìm điểm cực tiểu xấp xỉ xk của Q(x, k). Dừng tìm
cực tiểu khi ||xQ(x, k)|| k.

2. Nếu điều kiện hội tụ đợc thoả mãn thì dừng thuật toán ở lời giải xk.
3. Trái lại, chọn tham số phạt mới k+1 > k, độ sai số mới k+1 [0, k]
và đặt x sk +1 = xk. Quay lại thực hiện 1.
Sau đây là hai ví dụ về hàm phạt bậc hai.
Ví dụ 3.1. Xét bài toán
min x1 + x2 với điều kiện x 12 + x 22 = 2.

41


Lời giải của bài toán là x* = (- 1, - 1) và hàm phạt bậc hai là
Q(x, ) = x1 + x2 +

2
(x 1 + x 22 - 2)2.
2

Ví dụ 3.2. Xét bài toán
min (x1 2)4 + (x1 - 2x2)2 với điều kiện x 12 - x2 = 0.
ở vòng lặp k, với giá trị tham số phạt k, bài toán không ràng buộc là
min (x1 2)4 + (x1 - 2x2)2 +

1
k(x 12 - x2)2.
2

Lời giải thu đợc ở các vòng lặp đợc vẽ ở Hình 3.1.
Định lý 3.1. Giả thiết mỗi xk là điểm cực tiểu toàn cục chính xác của hàm
1 m 2
Q(x, k) = f(x) + k h i ( x )

2 i=1
với dãy {k} tăng và hội tụ tới +. Khi đó, mọi điểm tụ x* của dãy {xk} là điểm
cực tiểu toàn cục của bài toán với ràng buộc đẳng thức (P).

42


3.0
x = x2

2.5

2.0

1.5

1.0

điểm tối ưu o

điểm xuất phát
o
o

o

o

0.5


0.0
0.5

1

1.5

2

2.5

3

Hình 3.1. Phơng pháp phạt bậc hai
Chứng minh. Giả sử x là điểm cực tiểu toàn cục của (P). Do xk là điểm cực
tiểu toàn cục của Q(., k) nên ta có Q(xk, k) Q( x , k), nghĩa là

f(xk) +

1 m 2 k
1 m 2
h
(
x
)
x
f(
)
+


k

k h i ( x ) = f( x ).
i
2 i=1
2 i=1

Từ đó ta có

43

(3.1)


m

2

h i2 ( x k ) [f( x ) - f(xk)].
k
i =1

(3.2)

Giả sử x* là một điểm tụ của dãy {xk} và {xk}kK là dãy con hội tụ tới x*.
Trớc hết, ta chứng minh x* là điểm chấp nhận đợc.

Qua giới hạn hai vế của (3.2) khi k + , k K, ta đợc
m


2

0 h i ( x ) lim
i =1

2
[f( x ) - f(xk)] = 0.
k

do k + . Vì thế, hi(x*) = 0, i = 1, 2, , m.
Tiếp theo, ta chứng minh f(x*) f( x ).

Do k > 0 nên từ (3.1) suy ra f(xk) f( x ) với mọi k. Qua giới hạn khi k +
, k K, ta đợc f(x*) f( x ). Nh vậy, x* là cực tiểu toàn cục của (P).
Khó có thể sử dụng kết quả này, vì nó đòi hỏi tính điểm cực tiểu toàn cục
của Q ở mỗi vòng lặp. Nếu Q không lồi thì đó là một việc làm không dễ. Trong
định lý sau, quá trình tìm cực tiểu không ràng buộc của Q sẽ dừng nếu:
||xQ(xk, k)|| k với k 0.
Định lý 3.2 (sự hội tụ tới điểm KKT). Giả thiết độ sai số k 0 và các
tham số phạt k + . Khi đó, mỗi điểm tụ x* của dãy {xk} mà tại đó các

44


véctơ građiên hi(x*), i = 1, 2, , m, độc lập tuyến tính, là một điểm KKT,
nghĩa là tồn tại à* |Rm sao cho
f(x*) + h(x*)Tà* = 0 và h(x*) = 0.
Hơn nữa, với các điểm này limkK kh(xk) = à*, trong đó K N sao cho xk
x*, k K.
Chứng minh. Giả sử x* là một điểm tụ của dãy {x k} tại đó các véctơ

hi(x*), i = 1, 2, , m, độc lập tuyến tính và K N sao cho xk x*, k K.
Trớc hết, ta chứng minh x* chấp nhận đợc:

Theo định nghĩa của Q ta có
m

k
k
xQ(xk, k) = f(xk) + k h i ( x )h i ( x ) .
i =1

(3.3)

Do ||xQ(xk, k)|| k nên ta có
m

k
k
||f(xk) + k h i ( x )h i ( x ) || k.
i =1

Từ đó, sử dụng bất đẳng thức tam giác, ta đợc
m

m

i =1

i =1


k
k
k
k
k|| h i ( x )h i ( x ) || ||f(xk) + k h i ( x )h i ( x ) || + ||f(xk)||,

tức là

45

(3.4)


m

k
k
|| h i ( x )h i ( x ) ||
i =1

1
[k + ||f(xk)||].
k

Do k +, k 0 và ||f(xk)|| ||f(x*)|| nên qua giới hạn khi k +
ta đợc
m




m





|| h i ( x )h i ( x ) || = 0 h i ( x )h i ( x ) = 0.
i =1

i =1

Theo giả thiết các véctơ hi(x*), i = 1, , m, độc lập tuyến tính nên đẳng
thức cuối cùng kéo theo hi(x*) = 0, i = 1, , m. Do vậy x* là chấp nhận đợc.
Tiếp theo, ta chỉ rõ tồn tại à* |Rm thoả mãn f(x*) + h(x*)Tà* = 0:

Đặt àk = kh(xk). Ta chứng minh àk hội tụ tới véctơ trong |Rm, ký hiệu à*.
Dùng định nghĩa của àk, từ (3.3) suy ra
h(xk)Tàk = - f(xk) + xQ(xk, k)
Vì thế sau khi nhân với h(xk) ta có
h(xk)h(xk)Tàk = - h(xk)f(xk) + h(xk)xQ(xk, k)

(3.5)

Do h(xk) có hạng m và h(xk) h(x*), k K, nên hạng của f(xk)
bằng m với k K đủ lớn. Vì thế với k đủ lớn ma trận vuông h(xk)h(xk)T (cấp
m) không suy biến. Vì thế từ (3.5) ta có

46



àk = - [h(xk)h(xk)T]-1h(xk)[f(xk) - xQ(xk, k)].
Do ||xQ(xk, k)|| 0 nên qua giới hạn khi k +, k K, ta nhận đợc
lim

k + ,kK à

k

= - [h(x*)h(x*)T]-1h(x*)f(x*)

Ký hiệu giới hạn này là à*. Hơn nữa, qua giới hạn khi k +, k K,
trong (3.4) ta đợc f(x*) + h(x*)Tà* = 0. Đó là điều cần chứng minh.
Khi k càng lớn, việc tìm cực tiểu của Q(x, k) càng khó thực hiện hơn. Lý
do là ma trận Hessian 2x Q(x, k) có điều kiện xấu ở gần điểm cực tiểu. Do
phơng pháp Newton ít nhạy cảm với điều kiện xấu của ma trận Hessian (trái với
hầu hết các phơng pháp tìm cực tiểu không ràng buộc khác) nên phơng pháp này
hay đợc sử dụng để tìm cực tiểu của Q(x, k). Tuy nhiên, hớng Newton là
nghiệm của hệ phơng trình tuyến tính
2x Q(x, k)d = - xQ(x, k).
Vì thế, điều kiện xấu của 2x Q có thể gây khó khăn cho việc giải hệ phơng
trình này để tìm d. Để thấy rõ điều kiện xấu, ta xét chi tiết cấu trúc của ma trận
Hessian
m

2
2x Q(x, k) = 2f(x) + k h i ( x ) h i ( x ) + kh(x)Th(x).
i =1

47



Khi x gần điểm cực tiểu của Q(., k) và khi các điều kiện của Định lý 3.2 đợc thoả mãn ta có
kh(x) kh(xk) à* khi k đủ lớn.
Khi đó
2x Q(x,

m

2
k) f(x) + à i h i ( x ) + kh(x)Th(x).
2

i =1

m

2
Để ý rằng ma trận 2f(x) + à i h i ( x ) không phụ thuộc k và ma trận
i =1

h(x)Th(x) có hạng m do h(x) có hạng m. Hơn nữa, h(x)Th(x) là đối xứng
và nửa xác định dơng. Vì thế, h(x)Th(x) có m giá trị riêng dơng và n m
giá trị riêng bằng 0. Điều này kéo theo 2x Q(x, k) có một số giá trị riêng tiến tới
hằng số, trong khi các giá trị riêng khác dần tới + khi k +. Điều này đợc
minh hoạ ở ví dụ sau đây.
Ví dụ 3.3. Xét bài toán
min f(x) x 12 + x 22 với điều kiện h(x) x1 + x2 1 = 0.
Hàm phạt bậc hai có dạng Q(x, ) = x 12 + x 22 + (/2)(x1 + x2 1)2. Vì thế,
Q(x, ) = (2x1 + (x1 + x2 1), 2x2 + (x1 + x2 1))T,


48



2 +
2x Q(x, ) =
2 + .

Các giá trị riêng của 2x Q(x, ) là à1 2 và à2 2(1 + ). Vì thế, chỉ số
điều kiện của ma trận này bằng à2/à1 = 1 + . Số này dần tới + khi +.
Để tránh điều kiện xấu của hệ phơng trình

2x Q(x, )d = - xQ(x, )

(3.6)

ta viết hệ dới một dạng khác nhờ đa vào véctơ giả |Rm. Hệ phơng trình mới
có dạng
m
2

h i ( x ) 2 h i ( x ) h ( x ) T d x Q( x, )
f ( x ) + k
=
.
i =1
0




1
h ( x )
k I


Hệ này tơng đơng với hệ (3.6) theo nghĩa d là nghiệm của cả hai hệ. Thật
vậy, do h(x)d - k1 = 0, nghĩa là = kh(x)d nên ta có
m

2
[ f(x) + k h i ( x ) h i ( x ) ]d + h(x)T =
2

i =1

m

2
= [2f(x) + k h i ( x ) h i ( x ) + kh(x)Th(x)]d
i =1

= 2x Q(x, k)d.

49


Ta còn phải chứng minh rằng ma trận mới này tiến dần tới một ma trận có
điều kiện tốt. Khi x xk và k +, ma trận mới dần tới ma trận
m
2



f
(
x
*)
+
à i 2 h i ( x*) h ( x*) T


.
i =1


h ( x*)
0



Ma trận này không suy biến nh đợc chỉ ra trong mệnh đề sau.
Mệnh đề 3.1. Giả sử ma trận h(x*) có hạng m và điều kiện đủ cấp hai đợc thoả mãn tại (x*, à*). Khi đó, ma trận sau không suy biến
2 L( x*, à*) h ( x*) T
h ( x*)
.
0
Chứng minh. Giả sử u |Rn và v |Rm sao cho
2L(x*, à*)u + h(x*)Tv = 0,

(3.7)


h(x*)u = 0.

(3.8)

Ta cần chứng minh u = 0 và v = 0. Muốn vậy, nhân hai vế của (3.7) với u T
ta đợc
uT2L(x*, à*)u + uTh(x*)Tv = 0,
nghĩa là theo (3.8) ta có uT2L(x*, à*)u = 0. Nhng khi đó u = 0. Thật vậy, nếu u
0 thì từ (3.8) và điều kiện đủ cấp hai suy ra u T2L(x*, à*)u > 0. Vậy u = 0.

50


Khi đó (3.7) trở thành h(x*)Tv = 0. Phơng trình này kéo theo v = 0, bởi vì
h(x*) có hạng bằng m.

3.2. hàm phạt chính xác
Để tránh điều kiện xấu, ta sẽ cải tiến phơng pháp hàm phạt bậc hai sao cho
tham số không cần tiến ra vô hạn. Trong mục này ta sẽ xét các hàm phạt chính
xác, theo nghĩa lời giải của bài toán phạt cho lời giải đúng của bài toán ban đầu
đối với giá trị hữu hạn của tham số phạt. Khó khăn là ở chỗ các hàm phạt này
không khả vi. Xét bài toán
f(x) min,

(P)
với các điều kiện ràng buộc

hi(x) = 0, i = 1, 2, , m,
gj(x) 0, j = 1, 2, , p,
và hàm phạt

m

p

i =1

j=1

P(x) = h i ( x ) + max(0, g j ( x )) .
Bài toán phạt là
min PE(x, ) = f(x) + P(x) ( > 0).
Trớc khi chỉ ra không cần xét +, ta nêu một ví dụ minh hoạ cho tính
chất này.
Ví dụ 3.4. Xét bài toán
51


(Q)

min x2 với điều kiện x = 1.

Lời giải của bài toán là x* = 1. Nhân tử Lagrange tơng ứng là à = - 2. Nếu
dùng hàm phạt bậc hai
Q(x, ) = x2 + (/2)(x 1)2
với > 0 ta nhận đợc điểm cực tiểu x = /(2 + ). Khi +, lời giải này tiến
tới 1 (lời giải của bài toán (Q)). Nếu dùng hàm phạt chính xác
x2 + |x 1|

3.0
2.5

2.0
1.5
1.0
0.5
0.0

= 10

3.0
2.5
2.0
1.5
1.0
0.5
0.0

=1

x2 + (/2)(x
1)2

0.0 0.4 0.8 1.2 1.6 2.0

x2 + 3|x
1|

f(x) = x2

0.0 0.4 0.8 1.2 1.6 2.0


Hình 3.2. Hàm phạt bậc hai (trái) và hàm phạt chính xác (phải)
thì dễ dàng thấy rằng với > 2, cực tiểu đạt đợc tại duy nhất điểm x = 1. Vì thế
với > 2 cực tiểu của hàm phạt chính xác là lời giải đúng của bài toán (Q). Điều
này đợc minh hoạ ở Hình 3.2. Hơn nữa, do à = - 2 nên điều kiện về trở thành

52


> |à|. Điều kiện này đúng trong trờng hợp tổng quát nh đợc chỉ rõ trong định lý
sau.
Định lý 3.3. Giả sử x* thoả mãn các điều kiện đủ cấp hai đối với điểm cực
tiểu địa phơng của bài toán (P). Giả sử à và là các nhân tử Lagrange tơng ứng
với ràng buộc đẳng thức và bất đẳng thức. Khi đó, với
> max {|ài|, j, i = 1, 2, , m, j = 1, 2, , p},
x* cũng là điểm cực tiểu địa phơng của hàm phạt
m

p

i =1

j=1

PE(x, ) = f(x) + [ h i ( x ) + max(0, g j ( x )) ].
Chứng minh (chỉ cho trờng hợp ràng buộc đẳng thức).
Xét hàm giá trị tối u
p(u) = min {f(x) : hi(x) = ui, i = 1, 2, , m} (với u |Rm).
Ta biết rằng hàm p(u) xác định tại lân cận điểm 0 và là hàm khả vi liên tục
(thuộc lớp C1) với p(0) = - à. Với mọi > 0, ta xây dựng hàm
m


p(u) = p(u) + u i .
i =1

1. u = 0 là cực tiểu địa phơng của p, > maxi |ui|:
Dùng định lý giá trị trung bình ta có thể viết
53


p(u) = p(0) + p(u)Tu với nào đó [0, 1].
Vì thế
m

p(u) = p(0) + p(u) u + u i .
T

i =1

(3.9)

Cho > 0. Do građiên p liên tục tại 0 và p(0) = - à nên tồn tại lân cận N0
của 0 sao cho
u N0 |p(u)i + ài| < , i = 1, 2, , m,
nghĩa là
u N0 |p(u)i| < + |ài|, i = 1, 2, , m.

(3.10)

Mặt khác, ta có
m


m

i =1

i =1

p(u)Tu = p(u ) i u i - p(u ) i u i .
Do đó sử dụng bất đẳng thức - |p(u)j| - maxi |p(u)j| và (3.10) ta nhận
đợc với mọi u N0:
m

p(u)Tu - {maxi |p(u)i|}ì u i
i =1

m

- {maxi (|ài| + )}ì u i .
i =1

Dùng bất đẳng thức này trong (3.9) ta nhận đợc với mọi u N0:

54


m

p(u) p(0) + (p - - max
|ài|)ì u i .
i

i =1

Vì thế, với > + maxi |ài| nên ta có
p(u) p(0) = p(0) với mọi u N0.
Do > 0 chọn tuỳ ý nên cuối cùng ta đợc
|ài|, 0 là điểm cực tiểu địa phơng của p.
> max
i
2. x* là cực tiểu địa phơng của f(x) + im=1 h i ( x ) :
Từ phần đầu chứng minh ta thấy
m

u N0 p(0) p(u) + u i .
i =1

Do h(x*) = 0 và h liên tục tại x* nên tồn tại lân cận N(x*) của x* sao cho
h(x) N0 với mọi x N(x*). Do vậy, với mỗi x N(x*)
m

p(0) p(h(x)) + h i ( x ) .
i =1

Do p(0) = f(x*), h(x*) = 0 và p(h(x)) = inf h(z) = h(x) f(z) f(x) nên ta có với
mọi x N(x*)
m

m

i =1


i =1

f(x*) + h i ( x*) f(x) + h i ( x ) .

55


m

nghĩa là x* là điểm cực tiểu của f(x) + h i ( x ) .
i =1

Nh đã nói ở đầu mục này, nhợc điểm chính của hàm phạt chính xác là các
hàm này không khả vi. Để nhận đợc các hàm phạt chính xác khả vi, ta sẽ đa
thêm từ phạt vào hàm Lagrange.

3.3. Hàm Lagrange Gia tăng
Xét bài toán với ràng buộc đẳng thức
(P)

min {f(x) : h(x) = 0},

trong đó f : |Rn |R, h : |Rn |Rm là các hàm hai lần khả vi liên tục. Bài toán
với ràng buộc bất đẳng thức sẽ đợc đề cập ở cuối mục này. Nh đã thấy ở mục 3.1
là nếu dùng hàm phạt bậc hai Q(x, ) = f(x) + (/2)h(x)Th(x) thì x(), điểm cực
tiểu của Q(x, ), sẽ hội tụ tới x* khi +. Đó là nguyên nhân gây ra điều
kiện xấu trong phơng pháp hàm phạt. Do h(x( )) 0 > 0 nên chiến thuật
khắc phục là đổi gốc của số hạng phạt sao cho x* là cực tiểu của Q(., ) đối với
> 0 hữu hạn. Muốn thế, ta sử dụng hàm (Powell, 1969)
(x, , ) = f(x) +



(h(x) - )T(h(x) - ),
2

56


trong đó |Rm. Các tham số i tơng ứng với sự đổi gốc của số hạng phạt, còn
> 0 điều khiển qui mô phạt. Ví dụ sau minh hoạ cho cách làm này.
Ví dụ 3.5. Xét bài toán tìm min f(x) = x với điều kiện h(x) = x 1 = 0. Rõ
ràng lời giải của bài toán là x* = 1. Điểm cực tiểu của hàm
(x, , ) = x +


(x - 1 - )2
2

là x(, ) = 1 + - -1. Vì thế, với mỗi > 0 có thể chọn sao cho x(, ) = x*
= 1. Muốn thế, chỉ cần chọn = -1.
Cách làm thuận tiện hơn là đa vào các tham số ài = - i, i = 1, , m.

Khi đó (x, , ) = f(x) + h(x)Tà + (/2)h(x)Th(x) + (/2)T. Do số hạng
cuối không phụ thuộc x nên hàm cần làm cực tiểu trở thành
(x, , ) = f(x) + h(x)Tà +



h(x)Th(x) = L(x, à) + h(x)Th(x).
2

2

Từ đó có tên gọi hàm này là hàm Lagrange gia tăng. Từ đây về sau ta ký
hiệu hàm này là LA(x, à, ) (Hestenes, 1970). Vì thế
LA(x, à, ) = L(x, à) +


h(x)Th(x).
2

Với à cố định hàm Lagrange gia tăng là hàm phạt bậc hai của bài toán

57


min {f(x) + àTh(x) : h(x) = 0}.
Rõ ràng bài toán này tơng đơng với bài toán (P) ban đầu. Bây giờ ta sẽ chỉ
ra rằng nếu à = à* thì không cần tăng vô hạn tham số trong LA(x, à*, ) để
nhận đợc lời giải x* của (P). Ta có định lý (xem [6]):
Định lý 3.4. Giả sử các điều kiện đủ cấp hai cho cực tiểu địa phơng đợc
thoả mãn tại x*, à*. Khi đó, tồn tại > 0 sao cho với mọi , hàm
Lagrange gia tăng LA(x, à*, ) đạt cực tiểu địa phơng tại x*.

Ví dụ 3.6. Xét bài toán: min f(x) = x3 với điều kiện h(x) = x + 1 = 0. Lời
giải là x* = - 1 và à* = - 3. Hàm Lagrange gia tăng là
LA(x, à*, ) = x3 + à*(x + 1) +


(x + 1)2.
2


Khi đó, LA (x*, à*, ) = 3x*2 3 + (x* + 1) và LA (x*, à*, ) = - 6 + .
Vì thế, nếu > 6 thì x* là cực tiểu địa phơng của LA(., à*, ). Điều này đợc
minh hoạ ở Hình 3.3 (tr. sau) với = 9. Cũng ở hình này ta thấy x* không phải
cực tiểu địa phơng của L(.,à*).
58


Một hệ quả rút ra từ Định lý 3,4: nếu à* biết trớc thì một điểm cực tiểu
không ràng buộc của LA(x, à*, ) sẽ là x*. Tuy nhiên ta không biết trớc đợc giá
trị của à*. Vì thế, ta cần ớc lợng giá trị này thông qua dãy {àk} à*. Cho trớc
àk. Khi đó, xk đợc xác định nh điểm cực tiểu của hàm
LA(x, àk, ) = f(x) + h(x)Tàk +


h(x)Th(x).
2

Theo định nghĩa của xk ta có LA(xk, àk, ) = 0, tức là
f(xk) + [àk + h(xk)]Th(xk) = 0.
Do f(x*) + h(x*)Tà* = 0, nên chiến thuật là lấy
àk+1 = àk + h(xk)
làm xấp xỉ tiếp theo cho à*.

59


1.0
0.5
0.0

Hàm Lagrange gia tăng

-0.5
-1.0
-1.5

y = x3

-2.0
-2.5
-3.0
-3.0

-2.5

-2.0

-1.5

-1.0

-0.5

0.0

Hình 3.3. x* = - 1 là cực tiểu địa phơng của hàm Lagrange gia tăng
với = 9, nhng x* không phải là cực tiểu của hàm Lagrange.
Thuật toán Lagrange gia tăng:
Cho trớc 0 > 0, 0 > 0, véctơ à0 và điểm xuất phát x s0 . Với k = 0, 1,
1. Xuất phát từ điểm x sk , tìm cực tiểu xấp xỉ xk của LA(x, àk,k). Dừng tìm

cực tiểu khi ||xLA(xk, àk, k)|| k.
2. Chỉnh sửa các nhân tử Lagrange theo công thức àk+1 = àk + kh(xk).
3. Chọn tham số phạt mới k+1 k, k+1 [0, k], đặt x sk +1 = xk. Trở lại 1.

60


Ví dụ 3.7. Xét bài toán sau đây:
min 2x2 + 2xy + y2 2y với điều kiện x = 0.
Điểm cực tiểu của hàm Lagrange gia tăng
LA(x, à, ) = 2x2 + 2xy + y2 2y + àx + (/2)x2

x=-

2+à
4++à
và y =
2+
2+

Do h(x, y) = x nên ta có
à

k+1

2
2
( 2 + à k )
= à + h(x , y ) = à =
.

àk 2+
2+
2+
k

k

k

k

Dãy àk hội tụ tới à* = - 2 với mọi > 0. Hơn nữa, hệ số 2/(2 + ) ảnh hởng
tới tốc độ hội tụ. Để ý là tốc độ hội tụ đợc cải thiện khi tăng.
Để kết thúc mục này ta xét trờng hợp ràng buộc bất đẳng thức. Khi đó,
bài toán có dạng
(P)

min {f(x) : gj(x) 0, j = 1, 2, , p},

trong đó f, gj, j = 1, 2, , p, là các hàm từ |Rn vào |R.
Cách xử lý là thêm vào các biến bù không âm z 1, z2, , zp để đa (P) về
dạng bài toán với các ràng buộc đẳng thức
(PZ)

min {f(x) : gj(x) + zj = 0, j = 1, 2, , p, z C},

61


trong đó z = (z1, z2, , zp)T |Rp, C = |R p+ là góc không âm trong |Rp. Bây giờ ta

có thể vận dụng lý thuyết đã trình bày cho trờng hợp các ràng buộc đẳng thức.
Hàm Lagrange gia tăng là
LA(x, z, , ) = f(x) + T(g(x) + z) + (/2)||g(x) + z||2,
trong đó > 0 và g(x) = (g1(x), g2(x), , gp(x))T.
ở vòng lặp k của thuật toán, ta giải bài toán phụ sau với cố định:
min {LA(x, z, , ) : x |Rn, z 0}.
Để giải bài toán này, trớc hết ta giữ cố định x và tìm cực tiểu của hàm
Lagrange gia tăng đối với z 0, tức là
min {f(x) + T(g(x) + z) + (/2)||g(x) + z||2 : z 0}.
Do x cố định nên bài toán này có thể đợc viết lại thành
min {[ + g(x)]Tz + (/2)||z||2 : z 0}.
Bài toán này đợc tách ra thành p bài toán con nh sau:
min {[j + gj(x)]zj + (/2)z 2j : zj 0}, j = 1, , m.
Ký hiệu lời giải của p bài toán này là z j , j = 1, 2, , p. Do điểm cực tiểu
không ràng buộc của hàm mục tiêu trong mỗi bài toán này là nghiệm của
j + gj(x) + zj = 0

62


nên ta có
(1 / )[ j + g j ( x )] nếu j + g j ( x ) 0,
z j =
0
nếu j + g j ( x ) > 0.

Vì thế
j / nếu j + g j ( x ) 0,
gj(x) + z j =
g j ( x ) nếu j + g j ( x ) > 0.

Khi đó, có thể khử z khỏi biểu thức của hàm Lagrange gia tăng. Ta lần lợt
thu đợc
j(gj(x) + zj) + (/2)(gj(x) + zj)2 =
(1 / )2j + ( / 2) 2 2j nếu j + g j ( x ) 0,
=
2
jg j ( x ) + ( / 2)g j ( x ) nếu j + g j ( x ) > 0.

(1 / )2j /2
nếu j + g j ( x ) 0,
=
2
jg j ( x ) + ( / 2)g j ( x ) nếu j + g j ( x ) > 0.
=

1
2
ì[max(0, j + gj(x))2 - j ].
2

Vì thế, cuối cùng hàm Lagrange gia tăng sau khi khử bỏ z có dạng:

[

1 p
2
2
LA(x, , ) = f(x) +
ì max (0, j + g j ( x )) j
2 j=1


]

và phép lặp theo trở thành (trớc hết với biến z rồi sau không có biến z):
k +1

j

= kj + [gj(xk+1) + zj], j = 1, 2, , p

63


×