Tải bản đầy đủ (.pdf) (67 trang)

phương pháp gradient liên hợp và ứng dụng

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 (329.8 KB, 67 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
PHẠM THỊ MINH THUẬN
PHƯƠNG PHÁP GRADIENT
LIÊN HỢP VÀ ỨNG DỤNG
LUẬN VĂN THẠC SỸ TOÁN HỌC
THÁI NGUYÊN - NĂM 2010
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
PHẠM THỊ MINH THUẬN
PHƯƠNG PHÁP GRADIENT
LIÊN HỢP VÀ ỨNG DỤNG
LUẬN VĂN THẠC SỸ TOÁN HỌC
Chuyên ngành: TOÁN ỨNG DỤNG
Mã số: 60.46.36
Người hướng dẫn khoa học:
GS. TS. TRẦN VŨ THIỆU
THÁI NGUYÊN - NĂM 2010
i
Mục lục
Mở đầu 1
1 Cơ sở toán học của phương pháp và các khái niệm liên
quan 3
1.1 Một số khái niệm và kết quả cơ bản của giải tích lồi . . . 3
1.2 Phương pháp hướng giảm . . . . . . . . . . . . . . . . . 7
1.2.1 Điều kiện tối ưu . . . . . . . . . . . . . . . . . . . 7
1.2.2 Hướng giảm . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 Độ dài bước . . . . . . . . . . . . . . . . . . . . . 11
1.3 Phương pháp gradient . . . . . . . . . . . . . . . . . . . 13
1.3.1 Thuật toán gradient với thủ tục tìm chính xác theo
tia . . . . . . . . . . . . . . . . . . . . . . . . . . 13


1.3.2 Thuật toán gradient với thủ tục quay lui . . . . . 14
1.4 Phương pháp Newton . . . . . . . . . . . . . . . . . . . . 14
2 Phương pháp gradient liên hợp 17
2.1 Hướng liên hợp . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Phương pháp gradient liên hợp . . . . . . . . . . . . . . 22
2.2.1 Phương pháp Fletcher - Reeves tìm cực tiểu hàm
toàn phương (F-R) . . . . . . . . . . . . . . . . . 22
2.2.2 Phương pháp Fletcher - Reeves tìm cực tiểu hàm
khả vi liên tục bất kỳ . . . . . . . . . . . . . . . . 35
2.2.3 Một số ví dụ áp dụng . . . . . . . . . . . . . . . . 37
2.3 Tốc độ hội tụ của phương pháp gradient liên hợp . . . . 40
ii
3 Mở rộng phương pháp gradient liên hợp 42
3.1 Phương pháp gradient liên hợp 3-số hạng . . . . . . . . . 42
3.1.1 Thuật toán tái khởi Beale-Powell . . . . . . . . . 42
3.1.2 Tính hội tụ toàn cục của phương pháp gradient
liên hợp 3-số hạng với thủ tục tìm theo tia kiểu
Wolfe . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.3 Phương pháp gradient liên hợp 3-số hạng Beale . 49
3.2 Phương pháp gradient liên hợp hiệu chỉnh trước chỉ số
điều kiện . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . 56
Phụ lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1
Mở đầu
Trong thực tế rất nhiều hoạt động kinh tế, xã hội, đòi hỏi con người
phải quan tâm tới việc tìm phương án tốt nhất để đạt được mục tiêu
mong muốn. Đó chính là các bài toán tối ưu. Các bài toán tối ưu là một
chủ đề hấp dẫn với nhiều kết quả phong phú luôn thu hút sự quan tâm

của các nhà nghiên cứu.
Luận văn này đề cập tới phương pháp gradient liên hợp và ứng dụng
của nó. Phương pháp gradient liên hợp được Hestenes và Stiefel nêu ra
đầu tiên vào những năm 1950 để giải hệ tuyến tính. Vì việc giải một hệ
tuyến tính tương đương với tìm cực tiểu của một hàm toàn phương xác
định dương, nên vào năm 1960 Fletcher - Reeves đã cải biên và phát
triển nó thành phương pháp gradient liên hợp cho cực tiểu không ràng
buộc. Nhờ đó phương pháp này hoàn thiện phương pháp giảm nhanh
nhất nhằm làm tăng hiệu quả và độ tin cậy của thuật toán. Phương pháp
gradient liên hợp là trung gian giữa phương pháp gradient và phương
pháp Newton, nó thay đổi hướng tìm trong phương pháp gradient bằng
cách thêm vào một tỷ lệ dương của hướng dùng ở bước ngay trước đó.
Phương pháp này chỉ cần tới đạo hàm riêng bậc nhất nhưng lại khắc
phục được tính hội tụ chậm của phương pháp gradient.
Mục tiêu của luận văn là tìm hiểu và trình bày những kết quả cơ bản
đã biết liên quan đến phương pháp gradient liên hợp, các tính chất như
tính liên hợp, tính trực giao, tính hội tụ và một số phương pháp mở rộng
của phương pháp này. Nội dung đề cập trong luận văn được trình bày
một cách chặt chẽ về mặt toán học kèm theo một số ví dụ minh họa.
Luận văn được chia làm 3 chương:
2
Chương 1: nhắc lại một số khái niệm cơ bản của giải tích lồi, như tập
lồi, hàm lồi và hàm toàn phương, hướng giảm và phương pháp gradient,
phương pháp Newton để phục vụ cho các chương tiếp theo.
Chương 2: trình bày các khái niệm, tính chất của hướng liên hợp,
phương pháp gradient liên hợp giải bài toán cực tiểu hàm toàn phương,
nêu các định lý về tính hội tụ của phương pháp gradient liên hợp và mở
rộng phương pháp này để tìm cực tiểu của một hàm khả vi liên tục bất
kỳ. Cuối chương tác giả nêu ra một số ví dụ áp dụng.
Chương 3: trình bày phương pháp gradient liên hợp 3-số hạng. Đó là

sự cải tiến phương pháp F-R tìm cực tiểu hàm khả vi liên tục bất kỳ bởi
vì nếu dùng hướng giảm nhanh nhất thì mức giảm hàm mục tiêu thường
kém so với mức giảm có thể thu được khi không dùng tái khởi; còn nếu
dùng hướng tái khởi tùy ý thì quan hệ liên hợp đòi hỏi có thể không
còn đúng. Ngoài ra, trong chương này còn chỉ ra nguyên nhân làm cho
phương pháp gradient liên hợp kết thúc sau nhiều hơn n lần lặp là do
sai số trong quá trình tính toán và từ đó đưa ra biện pháp khắc phục
tình trạng này.
Các kết quả tính toán thử nghiệm được thực hiện bằng các chương
trình lập trong môi trường Matlap.
Mặc dù đã rất cố gắng, song bản luận văn không thể tránh khỏi những
sai sót. Tác giả rất mong nhận được sự chỉ bảo, đóng góp của các Thầy
Cô và các bạn đồng nghiệp để luận văn thêm hoàn thiện.
Tác giả luận văn xin bày tỏ lòng biết ơn sâu sắc đến Thầy hướng dẫn
GS.TS Trần Vũ Thiệu đã tận tình hướng dẫn trong suốt quá trình làm
luận văn. Tác giả cũng xin chân thành cảm ơn các Thầy Cô, các bạn
bè, đồng nghiệp và gia đình luôn giúp đỡ, động viên, khích lệ trong suốt
quá trình học tập và nghiên cứu.
Thái Nguyên, ngày 18 tháng 09 năm 2010.
Học viên
Phạm Thị Minh Thuận
3
Chương 1
Cơ sở toán học của phương pháp và
các khái niệm liên quan
Trong chương này ta sẽ giới thiệu một số khái niệm và các kiến thức
cơ bản sẽ dùng ở các chương sau.
1.1 Một số khái niệm và kết quả cơ bản của giải
tích lồi
Giải tích lồi đóng vai trò quan trọng trong việc nghiên cứu và xây

dựng các thuật toán giải các bài toán tối ưu, trước hết ta sẽ nhắc lại các
khái niệm tập lồi và hàm lồi.
Định nghĩa 1.1 (Tập lồi).
Cho hai điểm a, b ∈ R
n
, tập tất cả các điểm x = (1 − λ)a + λb với
0 ≤ λ ≤ 1 gọi là đoạn thẳng đóng nối a và b và được kí hiệu là [a, b].
Tập C ∈ R
n
được gọi là lồi nếu nó chứa mọi đoạn thẳng nối hai điểm
bất kỳ thuộc nó. Nói cách khác, nếu (1 −λ)a + λb ∈ C, ∀a, b ∈ C và mọi
0 ≤ λ ≤ 1.
Định nghĩa 1.2 (Hàm lồi).
Hàm f : X → [−∞, +∞] xác định trên tập lồi X ⊆ R
n
được gọi là lồi
nếu
f(λx
1
+ (1 − λ)x
2
) ≤ λf(x
1
) + (1 −λ)f(x
2
)
với bất kì x
1
, x
2

∈ X và mọi số thực λ ∈ [0, 1].
4
Ta gọi f là hàm lồi chặt trên tập lồi X nếu
f(λx
1
+ (1 − λ)x
2
) < λf(x
1
) + (1 −λ)f(x
2
)
với bất kì x
1
, x
2
∈ X, x
1
= x
2
và mọi số thực λ ∈ (0, 1).
Hàm f(x) gọi là lõm (hay lõm chặt) trên X nếu −f(x) là lồi (lồi
chặt) trên X.
Định nghĩa 1.3. Cho hàm số f xác định trên tập mở X ⊆ R
n
.
Hàm f được gọi là liên tục tại điểm x
0
∈ X nếu với mọi ε > 0, tồn tại
δ > 0 sao cho |f(x) −f(x

0
)| < ε với mọi x ∈ X thỏa mãn  x −x
0
< δ.
Nói cách khác, hàm f liên tục tại x
0
∈ X nếu với mọi dãy {x
n
} ⊂ X
hội tụ đến x
0
, ta có {f(x
n
)} → f(x
0
).
Hàm f được gọi là nửa liên tục dưới (t.ư., nửa liên tục trên) tại điểm
x
0
∈ X nếu tồn tại ε > 0, tồn tại δ > 0 sao cho
f(x) ≥ f(x
0
) −ε (t.ư., f(x) ≤ f(x
0
) + ε)
với mọi x ∈ X thỏa mãn  x − x
0
< δ. Nói cách khác, hàm f là nửa
liên tục dưới (t.ư., nửa liên tục trên) tại điểm x
0

∈ X nếu với mọi dãy
{x
n
} ⊂ X hội tụ đến x
0
và dãy {f(x
n
)} ⊂ R hội tụ, ta có
lim inf
n→∞
f(x
n
) ≥ f(x
0
) (t.ư., lim sup
n→∞
f(x
n
) ≤ f(x
0
)).
Rõ ràng, nếu f là nửa liên tục dưới tại x
0
thì −f là nửa liên tục trên
tại x
0
. Hàm f vừa là nửa liên tục dưới vừa là nửa liên tục trên tại x
0
thì liên tục tại điểm đó.
Hàm f được gọi là liên tục (t.ư., nửa liên tục dưới, nửa liên tục trên)

trên Xnếu nó liên tục (t.ư., nửa liên tục dưới, nửa liên tục trên) tại mọi
điểm của X.
Định nghĩa 1.4. Giả sử f : R
n
→ [−∞, +∞] là hàm số tùy ý và C ⊂ R
n
là tập tùy ý.
Điểm x
0
∈ C ∩ domf được gọi là điểm cực tiểu toàn cục của f(x)
trên C nếu −∞ < f(x
0
) ≤ f(x) với mọi x ∈ C.
5
Điểm x
0
∈ C được gọi là điểm cực tiểu địa phương của f(x) trên C,
nếu tồn tại lân cận U(x
0
) của x
0
sao cho −∞ < f(x
0
) ≤ f(x) với mọi
x ∈ C ∩U(x
0
).
Các khái niệm cực đại địa phương và cực đại toàn cục được định nghĩa
tương tự. Đối với hàm f tùy ý trên tập C, ta ký hiệu tập tất cả các điểm
cực tiểu (cực đại) toàn cục của f trên C là Argmin

x∈C
f(x) (Argmax
x∈C
f(x)).
Định nghĩa 1.5. Cho A là ma trận vuông cấp n không suy biến. Giá
trị của tích  A  .  A
−1
được gọi là chỉ số điều kiện của A và ký hiệu
là cond(A).
Nhận xét 1.1. Chỉ số điều kiện của A luôn lớn hơn hay bằng 1.
Thật vậy, 1 = AA
−1
≤ A  .  A
−1
= cond(A).
Định nghĩa 1.6. Cho dãy {x
k
} ⊂ R
n
hội tụ đến x

∈ R
n
. Dãy {x
k
} gọi
là:
hội tụ đến x

với tốc độ tuyến tính nếu

∃γ ∈ [0, 1), ∃k
0
sao cho ∀k > k
0
: x
k+1
− x

≤ γ  x
k
− x

,
hội tụ đến x

với tốc độ trên tuyến tính nếu
∀k : x
k+1
− x

≤ c
k
 x
k
− x

 và c
k
→ 0,
hội tụ đến x


với tốc độ hội tụ bậc hai nếu
∃γ > 0, ∃k
0
sao cho  x
k+1
− x

≤ γ  x
k
− x


2
, ∀k > k
0
.
Mệnh đề 1.1. Cho hàm f xác định trên R
n
và điểm x
0
∈ R
n
. Nếu f
khả vi tại x
0
thì
f

(x

0
, d) = ∇f(x
0
), d , ∀d ∈ R
n
\ {0}.
Chứng minh. Vì f khả vi tại x
0
nên với mọi d ∈ R
n
\ {0} ta có
lim
t→0
+
f(x
0
+ td) −f(x
0
) −∇f(x
0
), td 
t  d 
= 0.
6
Do đó
f

(x
0
, d ) − ∇f(x

0
), d
 d 
= 0,
và ta nhận được điều phải chứng minh.
Nhận xét. Đặt ϕ(t) := f(x
0
+ td). Khi đó, theo định nghĩa ta có
ϕ

(0) =
dϕ(t)
dt



t=0
= lim
t→0
ϕ(t) −ϕ(0)
t
= lim
t→0
+
f(x
0
+ td) −f(x
0
)
t

= f

(x
0
, d ).
Như vậy, đạo hàm theo hướng của f tại x
0
phản ánh tốc độ biến
thiên của f tại x
0
theo hướng đó. Hơn nữa, theo bất đẳng thức Cauchy-
Bunjakowski-Schwarz trong tất cả các hướng d ∈ R
n
có  d = 1, ta

|∇f(x
0
), d | ≤ ∇f(x
0
)  d = ∇f(x
0
) 
⇒ −  ∇f(x
0
) ≤ ∇f(x
0
), d  ≤ ∇f(x
0
)  .
Do đó, đạo hàm theo hướng của f tại x

0
đã cho là lớn nhất khi hướng
d =
∇f(x
0
)
 ∇f(x
0
) 
và nhỏ nhất khi d = −
∇f(x
0
)
 ∇f(x
0
) 
.
Định lí 1.1 (xem [1]). Cho f là hàm khả vi hai lần trên tập lồi mở
X ⊆ R
n
. Khi đó,
i) Hàm f là lồi trên X khi và chỉ khi ma trận Hessian ∇
2
f(x) là nửa
xác định dương trên X, tức là với mỗi x ∈ X,
y
T

2
f(x)y ≥ 0, ∀y ∈ R

n
.
Hàm f là lồi chặt trên X nếu ∇
2
f(x) xác định dương trên X, tức là với
mỗi x ∈ X,
y
T

2
f(x)y > 0, ∀y ∈ R
n
\{0}.
ii) Hàm f là lõm trên X khi và chỉ khi ma trận Hessian ∇
2
f(x) là nửa
xác định âm trên X, tức là với mỗi x ∈ X,
y
T

2
f(x)y ≤ 0, ∀y ∈ R
n
.
7
Hàm f là lõm chặt trên X nếu ∇
2
f(x) xác định âm trên X, tức là với
mỗi x ∈ X,
y

T

2
f(x)y < 0, ∀y ∈ R
n
\{0}.
Hệ quả 1.1. Cho hàm toàn phương
f(x) =
1
2
x, Qx  + x, a + b,
trong đó Q là ma trận đối xứng cấp n × n. Khi đó:
i) f là hàm lồi (t.ư., lồi chặt) trên R
n
khi và chỉ khi Q là ma trận nửa
xác định dương (t.ư., xác định dương).
ii) f là hàm lõm (t.ư., lõm chặt) trên R
n
khi và chỉ khi Q là ma trận
nửa xác định âm (t.ư., xác định âm).
1.2 Phương pháp hướng giảm
Xét bài toán tối ưu không ràng buộc
minf(x) v.đ.k x ∈ R
n
, (1.1)
trong đó f : R
n
→ R là một hàm phi tuyến, khả vi trên R
n
.

1.2.1 Điều kiện tối ưu
Định lí 1.2 (Điều kiện cần cấp 1).
Cho hàm f xác định, khả vi trên R
n
. Nếu x

∈ R
n
là nghiệm cực tiểu địa
phương của bài toán (1.1) thì ∇f(x

) = 0.
Chứng minh. Theo mệnh đề 1.1 và do x

là nghiệm cực tiểu địa phương
nên
f

(x

, d ) = lim
t→0
+
f(x

+ td) −f(x

)
t
= ∇f(x


), d ≥ 0, ∀d ∈ R
n
.
Suy ra ∇f(x

) = 0.
Điểm x

∈ R
n
thỏa mãn điều kiện ∇f(x

) = 0 được gọi là điểm dừng
của hàm f.
8
Định lí 1.3. Giả sử f là hàm lồi khả vi trên R
n
. Khi đó, x

∈ R
n

nghiệm cực tiểu toàn cục của bài toán (1.1) khi và chỉ khi ∇f(x

) = 0.
Chứng minh. Theo định lý trên, ta chỉ cần chứng minh rằng nếu ∇f(x

) =
0 thì x


là nghiệm cực tiểu toàn cục của bài toán (1.1). Thật vậy, do f
là hàm lồi khả vi trên R
n
nên nó có đạo hàm theo mọi hướng d ∈ R
n
tại
x

. Khi đó,
∇f(x

), d = f

(x

, d ) ≤ f(x

+ d) −f(x

), ∀d ∈ R
n
.
Do đó, với điểm bất kỳ x ∈ R
n
, ta có
0 = ∇f(x

), x − x


 ≤ f(x

+ (x −x

)) −f(x

) = f(x) −f(x

).
Suy ra
f(x

) ≤ f(x) ∀x ∈ R
n
,
tức x

là điểm cực tiểu của f trên R
n
.
Định lí 1.4 (Điều kiện cấp 2).
Giả sử hàm f khả vi liên tục hai lần trên R
n
. Khi đó:
i) Nếu x

∈ R
n
là điểm cực tiểu địa phương của f trên R
n

thì
∇f(x

) = 0 và ∇
2
f(x

) nửa xác định dương.
ii) Nếu ∇f(x

) = 0 và ∇
2
f(x

) xác định dương thì x

là điểm cực
tiểu địa phương chặt của f trên R
n
.
Chứng minh. i) Với mọi d ∈ R
n
mà 0 < d < ε với ε đủ nhỏ, khai triển
Taylor của hàm f tại x


f(x

+ d) = f(x


) + ∇f(x

), d  +
1
2
d
T

2
f(ξ)d, (1.2)
với ξ = λx

+ (1 −λ)d và 0 < λ < 1 (hay  ξ −x

≤ d < ε). Vì x


điểm cực tiểu địa phương của f trên R
n
nên theo định lý về điều kiện
cấp 1, ∇f(x

) = 0 và biểu thức (1.2) trở thành
f(x

+ d) = f(x

) +
1
2

d
T

2
f(ξ)d. (1.3)
9
Bây giờ ta chứng minh ∇
2
f(x

) nửa xác định dương, tức là v
T

2
f(x

)v ≥
0 với mọi v ∈ R
n
.
Thật vậy, giả sử phản chứng rằng tồn tại v ∈ R
n
, v = 0, sao cho
v
T

2
f(x

)v < 0. Ta có thể giả thiết rằng  v < ε. Khi đó, vì f là hàm

khả vi liên tục hai lần tại x

nên các thành phần của ma trận Hessian

2
f(x) là các hàm số liên tục tại x

. Do đó v
T

2
f(x)v cũng là hàm liên
tục tại x

.
Theo tính chất của hàm liên tục ta có v
T

2
f(ξ)v < 0 với mọi ξ sao
cho  ξ − x

 đủ nhỏ.
Kết hợp điều này và (1.3) suy ra f(x

+ v) < f(x

), mâu thuẫn với
tính cực tiểu địa phương của x


.
ii) Giả sử ∇f(x

) = 0 và d
T

2
f(x

)d > 0 với mọi d ∈ R
n
. Vì các
thành phần của ∇
2
f(x) là các hàm liên tục tại x

nên d
T

2
f(x)d cũng
là hàm liên tục tại x

. Do đó ta có d
T

2
f(ξ)d > 0 với mọi ξ sao cho
 ξ − x


< ε với ε đủ nhỏ.
Theo khai triển Taylo (1.2) của f tại x

, ta có thể chọn ε đủ nhỏ sao
cho f(x

+ d) > f(x

) với mọi 0 < d < ε. Điều đó chứng tỏ x

là điểm
cực tiểu địa phương chặt của f trên R
n
.
1.2.2 Hướng giảm
Ý tưởng cơ bản của phương pháp này là: xuất phát từ một điểm bất
kỳ x
0
∈ R
n
ta xây dựng một dãy điểm x
1
, x
2
, x
3
, , x
k
, sao cho
f(x

0
) ≥ f(x
1
) ≥ f(x
2
) ≥ ···
và dãy {x
k
} hội tụ đến điểm dừng x

∈ R
n
của hàm f, tức là ∇f(x

) = 0.
Thuật toán 1.1 (Hướng giảm).
Bước 1. Cho một điểm x
0
∈ R
n
, ε > 0, k := 0. Tính ∇f(x
0
).
Bước 2. Nếu  ∇f(x
0
) < ε. Dừng. Trái lại đi đến bước 3.
Bước 3. Xác định x
k+1
:= x
k

+ t
k
d
k
sao cho f(x
k+1
) < f(x
k
).
Bước 4. Đặt k := k + 1 quay trở lại bước 1.
10
Trong thuật toán trên, d
k
∈ R
n
là hướng giảm của f tại x
k
và số thực
t
k
> 0 là độ dài bước. Sau đây ta sẽ giới thiệu về hướng giảm và các
cách xác định độ dài bước.
Định nghĩa 1.7 (Hướng giảm).
Cho x
0
∈ R
n
. Ta gọi d ∈ R
n
là hướng giảm của hàm f tại x

0
nếu tồn tại
ε > 0 sao cho với mọi t thoả mãn 0 < t < ε ta có f(x
0
+ td) < f(x
0
).
Mệnh đề 1.2. Cho hàm f khả vi trên R
n
, điểm x
0
∈ R
n
và hướng d ∈ R
n
.
Nếu ∇f(x
0
), d  < 0 thì d là hướng giảm của f tại x
0
.
Chứng minh. Vì hàm f khả vi tại x
0
theo mệnh đề 1.1 và giả thiết của
mệnh đề 1.2, ta có
f

(x
0
, d ) = lim

t→0
+
f(x
0
+ td) −f(x
0
)
t
= ∇f(x
0
), d  < 0.
Do đó, f(x
0
+ td) −f(x
0
) < 0 với t đủ nhỏ.
Mệnh đề 1.3. Cho hàm lồi f khả vi trên R
n
, điểm x
0
∈ R
n
và hướng
d ∈ R
n
. Khi đó, ∇f(x
0
), d  < 0 khi và chỉ khi d là hướng giảm của f
tại x
0

.
Chứng minh. Theo mệnh đề 1.2 ta chỉ cần chứng minh điều kiện cần.
Giả sử d ∈ R
n
là hướng giảm của f tại x
0
, tức là
∃ε > 0 sao cho f(x
0
+ td) < f(x
0
), ∀t : 0 < t < ε. (1.4)
Vì hàm f lồi khả vi trên R
n
và hàm f có đạo hàm theo mọi hướng d tại
điểm x
0
∈ R
n

f(x
0
+ td) −f(x
0
) ≥ f

(x
0
, td) = ∇f(x
0

), td  = t∇f(x
0
), d .
Kết hợp điều này và (1.4) với 0 < t < ε ta có
∇f(x
0
), d  ≤
f(x
0
+ td) −f(x
0
)
t
< 0.
Hệ quả 1.2. Cho hàm f khả vi trên R
n
và điểm x
0
∈ R
n
. Nếu ∇f(x
0
) =
0 thì d = −∇f(x
0
) là một hướng giảm của f tại x
0
.
11
1.2.3 Độ dài bước

Giả sử đã biết hướng giảm d
k
của hàm f tại x
k
theo lược đồ chung
của phương pháp hướng giảm, điểm lặp tiếp theo được xác định bởi
x
k+1
:= x
k
+ t
k
d
k
,
với t
k
là một số thực dương. Như vậy, x
k+1
là một điểm nằm trên tia
{x
k
+ td
k
, t > 0}, t
k
> 0 thông thường có hai cách lựa chọn t
k
ứng với
hai thủ tục tìm chính xác theo tia và thủ tục quay lui.

a. Thủ tục tìm chính xác theo tia
Cho điểm x
k
∈ R
n
và hướng giảm d
k
của hàm f tại x
k
. Thủ tục này
chọn độ dài bước chính xác t
k
> 0 là nghiệm cực tiểu của hàm f theo
tia {x
k
+ td
k
, t ≥ 0}. Đặt
ϕ
k
(t) := f(x
k
+ td
k
).
Khi đó, t
k
là nghiệm cực tiểu của hàm một biến ϕ
k
(t) với t ≥ 0, tức

t
k
= argmin{ϕ
k
(t)|t ≥ 0}.
Mệnh đề 1.4. Cho hàm toàn phương lồi chặt
f(x) =
1
2
x
T
Ax −b
T
x + c,
trong đó A là ma trận cấp n ×n, đối xứng, xác định dương, vectơ b ∈ R
n
và c ∈ R. Cho x
k
∈ R
n
và hướng giảm d
k
của hàm f tại x
k
. Khi đó, độ
dài bước chính xác t
k
được xác định bởi
t
k

= −
(Ax
k
− b)
T
d
k
(d
k
)
T
Ad
k
> 0.
Chứng minh. Vì f(x) là hàm lồi nên ϕ
k
(t) = f(x
k
+ td
k
) là hàm lồi một
biến. Nếu t
k
là điểm cực tiểu của hàm ϕ
k
(t) thì
ϕ

k
(t)|

t=t
k
=
dϕ(t)
dt



t=t
k
= lim
t→0
ϕ(t
k
+ t) −ϕ(t
k
)
t
= lim
t→0
+
f((x
k
+ t
k
d
k
) + td
k
) −f(x

k
+ t
k
d
k
)
t
= f

((x
k
+ t
k
d
k
), d
k
) = ∇f(x
k+1
), d
k
 = 0.
12
Vì ∇f(x) = Ax − b nên
∇f(x
k+1
), d
k
 = A(x
k

+ t
k
d
k
) −b, d
k

= Ax
k
− b, d
k
 + t
k
Ad
k
, d
k
 = 0.
Do d
k
là hướng giảm của hàm f tại x
k
và f(x) là hàm lồi nên theo mệnh
đề 1.3 ∇f(x
k
), d
k
 = Ax
k
−b, d

k
 < 0. Hơn nữa, vì A là xác định dương
nên
Ad
k
, d
k
 = (d
k
)
T
Ad
k
> 0 ⇒ t
k
= −
(Ax
k
− b)
T
d
k
(d
k
)
T
Ad
k
> 0.
b. Thủ tục quay lui.

Mệnh đề sau là cơ sở của thủ tục quay lui xác định điểm x
k+1
khi đã
biết hướng giảm d
k
của hàm f tại x
k
.
Mệnh đề 1.5. Cho hàm f khả vi trên R
n
, điểm x
k
∈ R
n
và vectơ d
k
∈ R
n
thoả mãn ∇f(x
k
), d
k
 < 0. Cho số thực m
1
∈ (0, 1). Khi đó
∃t
0
sao cho f(x
k
+ td

k
) ≤ f(x
k
) + m
1
t∇f(x
k
), d
k
, ∀t ∈ (0, t
0
].
Chứng minh. Vì ∇f(x
k
), d
k
 < 0 nên d
k
là hướng giảm của f tại x
k
.
Theo mệnh đề 1.1 ta có
f

(x
k
, d
k
) = lim
t→0

+
f(x
k
+ td
k
) −f(x
k
)
t
= ∇f(x
k
), d
k
,
nên
lim
t→0
+
f(x
k
+ td
k
) −f(x
k
)
t∇f(x
k
), d
k


= 1 > m
1
.
Do đó, tồn tại số thực t
0
> 0 đủ nhỏ sao cho với mọi t ∈ (0, t
0
] ta có
f(x
k
+ td
k
) −f(x
k
)
t∇f(x
k
), d
k

≥ m
1
.
Kết hợp với giả thiết ∇f(x
k
), d
k
 < 0 ta có điều phải chứng minh.
Điều kiện
f(x

k
+ t
k
d
k
) ≤ f(x
k
) + m
1
t
k
∇f(x
k
), d
k
 với m
1
∈ (0, 1) và t
k
> 0
được gọi là điều kiện Armijo.
13
1.3 Phương pháp gradient
Đây là phương pháp thông dụng để giải bài toán cực tiểu không ràng
buộc vì nó đơn giản và có thể áp dụng cho những lớp hàm rất rộng. Ý
tưởng của phương pháp này như sau: tại mỗi bước lặp k ta chọn hướng
giảm d
k
của hàm f tại x
k

là d
k
= −∇f(x
k
). Đây chính là hướng mà
theo đó hàm mục tiêu f giảm nhanh nhất tại x
k
. Vì vậy người ta còn
gọi phương pháp gradient là phương pháp giảm nhanh nhất.
1.3.1 Thuật toán gradient với thủ tục tìm chính xác theo tia
Trong thuật toán này, tại mỗi bước lặp k điểm lặp tiếp theo được xác
định bởi
x
k+1
:= x
k
− t
k
∇f(x
k
)
trong đó t
k
là nghiệm cực tiểu của hàm một biến ϕ(t) := f(x
k
−t∇f(x
k
))
với t > 0.
Thuật toán 1.2 (Thuật toán gradient với thủ tục tìm chính xác theo

tia).
Bước 1. Cho một điểm x
0
∈ R
n
, ε > 0, k := 0. Tính ∇f(x
0
).
Bước 2. Nếu  ∇f(x
0
) < ε, dừng. Trái lại, đi đến bước 3.
Bước 3. Xác định x
k+1
:= x
k
− t
k
∇f(x
k
), trong đó
t
k
= argmin{ϕ
k
(t)}.
Bước 4. Tính ∇f(x
k+1
).
Bước 5. Đặt k := k + 1 quay trở lại bước 2.
Định lí 1.5 (xem [1]). Cho x

0
∈ R
n
và hàm f khả vi liên tục trên R
n

có tập mức dưới {x ∈ R
n
|f(x) ≤ f(x
0
)} bị chặn. Khi đó, mỗi điểm tụ x

của dãy {x
k
} được chọn như trong thuật toán trên thoả mãn ∇f(x

) = 0.
14
1.3.2 Thuật toán gradient với thủ tục quay lui
Trong thuật toán này, tại mỗi bước lặp k điểm lặp tiếp theo được xác
định bởi
x
k+1
:= x
k
− t
k
∇f(x
k
),

trong đó t
k
là giá trị đầu tiên trong dãy t, λt, λ
2
t, λ
3
t, thoả mãn
f(x
k+1
)−f(x
k
) ≤ −εt
k
 ∇f(x
k
) 
2
, trong đó t > 0, ε ∈ (0, 1), λ ∈ (0, 1).
Thuật toán 1.3 (Thuật toán gradient với thủ tục quay lui).
Bước 1. Cho một điểm x
0
∈ R
n
, ε > 0, k := 0, chọn m
1
∈ (0, 1), α ∈
(0, 1) . Tính ∇f(x
0
), nếu  ∇f(x
0

) < ε. Dừng. Trái lại, đến
bước 2.
Bước 2. Đặt t
k
:= 1.
Bước 3. Tính x
k+1
:= x
k
− t
k
∇f(x
k
) và f(x
k+1
).
Bước 4. Nếu
f(x
k+1
) −f(x
k
) ≤ m
1
t
k
∇f(x
k
), −∇f(x
k
) = −m

1
t
k
 ∇f(x
k
) 
2
thì chuyển sang bước 5. Trái lại, t
k
:= αt
k
quay trở về bước 3.
Bước 5. Tính ∇f(x
k+1
).
Bước 6. Nếu  ∇f(x
k+1
) < ε, dừng. Trái lại, đặt k := k + 1 quay trở
về bước 1.
Định lí 1.6 (xem [1]). Giả sử rằng f bị chặn dưới và gradient ∇f(x) là
Lipschitz, tức là:
∃L > 0 : ∇f(x) −∇f(y) ≤ L  x −y  ∀x, y.
Khi đó, với bất kỳ điểm xuất phát x
0
, dãy {x
k
} được chọn theo thuật toán
gradient với thủ tục quay lui hội tụ theo nghĩa ∇f(x
k
) → 0 khi k → +∞.

1.4 Phương pháp Newton
Phương pháp Newton giải bài toán tối ưu không ràng buộc (1.1) với
hàm phi tuyến khả vi hai lần trên R
n
chính là việc ứng dụng phương pháp
15
Newton cổ điển giải hệ phương trình phi tuyến n ẩn, n phương trình để
tìm điểm dừng của hàm f, tức là giải hệ phương trình ∇f(x) = 0.
Trước hết ta nhắc lại định nghĩa hàm vectơ. Hàm vectơ F là một ánh
xạ F : R
n
→ R
m
trong đó F(x) = (
f
1
(x) f
2
(x) ··· f
m
(x)
)
T
, trong đó
f
i
: R
n
→ R, i = 1, , m là các hàm n biến. Giả thiết rằng các hàm tọa
độ f

i
có các đạo hàm riêng
∂f
i
∂x
j
. Khi đó, ma trận
DF (x) =



∂f
1
∂x
1
···
∂f
1
∂x
n
.
.
. ···
.
.
.
∂f
m
∂x
1

···
∂f
m
∂x
n



được gọi là ma trận Jacobian của f tại x.
Xét hệ phương trình n ẩn, n phương trình
F (x) = 0 (1.5)
trong đó F (x) là hàm vectơ.
Giả sử x

∈ R
n
là nghiệm của hệ phương trình (1.5). Thuật toán
Newton giải hệ (1.5) cũng xuất phát từ một điểm x
0
∈ R
n
đủ gần
nghiệm x

và xây dựng một dãy điểm x
1
, x
2
, hội tụ đến nghiệm x


.
Tại điểm x
k
∈ R
n
thuộc dãy này, khai triển Taylor của F tại x
k

F (x
k
+ p) = F(x
k
) + DF (x
k
)p + o( p ),
trong đó vectơ p ∈ R
n
có  p  đủ nhỏ, DF (x
k
) là ma trận Jacobian
của F tại điểm x
k
∈ R
n
và o( p ) là vô cùng bé so với chuẩn  p  khi
p → 0. Khi đó xấp xỉ Taylor bậc nhất hàm F tại x
k

F (x
k

+ p) ≈ F(x
k
) + DF (x
k
)p.
Giả sử ma trận Jacobian DF(x
k
) không suy biến. Giải hệ phương
trình
F (x
k
) + DF (x
k
)p = 0
ta được vectơ
p = −[DF (x
k
)]
−1
F (x
k
)
16
và điểm lặp tiếp theo là
x
k+1
:= x
k
+ p = x
k

− [DF (x
k
)]
−1
F (x
k
).
Đặt x
k
:= x
k+1
và lặp lại quá trình tính toán đối với điểm x
k
mới.
17
Chương 2
Phương pháp gradient liên hợp
Trong chương trước ta đã nhắc lại phương pháp gradient, đây là
phương pháp thông dụng để giải bài toán cực tiểu không ràng buộc,
phương pháp này rất đơn giản và có thể áp dụng cho những lớp hàm
rất rộng. Tuy nhiên, phương pháp này có tốc độ hội tụ chậm. Để khắc
phục tình trạng này ta giới thiệu phương pháp gradient liên hợp, đây
là phương pháp trung gian giữa phương pháp gradient và phương pháp
Newton, phương pháp gradient liên hợp thay đổi hướng trong phương
pháp gradient bằng cách thêm vào một tỷ lệ dương của hướng dùng ở
bước cuối cùng, phương pháp này chỉ cần tới đạo hàm riêng bậc nhất
nhưng lại khắc phục được tính hội tụ chậm của phương pháp gradient.
Trong chương này, ta sẽ thảo luận các tính chất, thuật toán và tính
hội tụ của phương pháp gradient liên hợp và một số ví dụ áp dụng. Cần
chú ý rằng, kỹ thuật tái khởi và hiệu chỉnh là rất quan trọng để cải

tiến phương pháp gradient liên hợp. Đầu tiên, ta sẽ giới thiệu khái niệm
hướng liên hợp và phương pháp hướng liên hợp.
2.1 Hướng liên hợp
Trong mục này ta sẽ giới thiệu về hướng liên hợp và phương pháp
hướng liên hợp.
Xét hàm toàn phương
f(x) =
1
2
x, Gx  + b, x+ c. (2.1)
18
Định nghĩa 2.1. Cho G là một ma trận cấp n × n, đối xứng và xác
định dương, d
1
, d
2
, , d
m
∈ R
n
là các vectơ khác vectơ 0, m ≤ n. Nếu
d
i
, Gd
j
 = d
T
i
Gd
j

= 0, ∀i = j, i, j = 1, m thì các vectơ d
1
, d
2
, , d
m
gọi
là G-liên hợp hay đơn giản là liên hợp.
Tính chất 2.1. Nếu d
1
, d
2
, , d
m
là các hướng liên hợp (trong R
n
) đối
với ma trận G thì các vectơ này độc lập tuyến tính.
Chứng minh. Xét đẳng thức
a
1
d
1
+ a
2
d
2
+ ··· + a
m
d

m
= 0,
trong đó a
1
, a
2
, , a
m
là các số thực tuỳ ý. Khi đó, với bất kỳ i (1 ≤ i ≤
m) ta có

m

j=1
a
j
d
j
, Gd
i
 =
m

j=1
a
j
d
j
, Gd
i

 = 0.
Do d
1
, d
2
, , d
m
là các hướng liên hợp nên d
j
, Gd
i
 = 0, i = j. Từ đẳng
thức trên suy ra a
i
d
i
, Gd
i
 = 0. Do d
i
= 0 và G xác định dương nên
d
i
, Gd
i
 > 0, từ đó suy ra a
i
= 0. Vì i tuỳ ý nên suy ra các vectơ
d
1

, d
2
, , d
m
độc lập tuyến tính.
Tính chất 2.2. Nếu G = I thì tính liên hợp tương đương với tính trực
giao.
Tính chất 2.3. Cho G là ma trận cấp n ×n, đối xứng, xác định dương,
p
1
, p
2
, , p
n
là các vectơ độc lập tuyến tính. Các hướng d
k
xác định dưới
đây là G-liên hợp.
d
1
= p
1
d
k+1
= p
k+1

k

i=1

p
T
k+1
Gd
i
d
T
i
Gd
i
d
i
, k = 1, 2, , n − 1.
Chứng minh. Ta sẽ chứng minh tính chất này bằng phương pháp quy
nạp.
Với k = 1 ta có
d
1
= p
1
d
2
= p
2

p
T
2
Gd
1

d
T
1
Gd
1
d
1
.
19
Xét
d
T
2
Gd
1
= p
2

p
T
2
Gd
1
d
T
1
Gd
1
d
1

, Gd
1

= p
2
, Gd
1
 −
p
T
2
Gd
1
d
T
1
Gd
1
d
1
d
1
, Gd
1

= 0.
Vậy nó đúng với k = 1.
Giả sử tính chất trên đúng với k tức là d
T
i

Gd
j
= 0, ∀i = j với i =
1, k, j = 1, k.
Ta sẽ chứng minh nó đúng với k + 1, ta chỉ cần chỉ ra d
T
k+1
Gd
j
=
0, j = 1, k là đủ. Thật vậy, ta có
d
T
k+1
Gd
j
= p
k+1

k

i=1
p
T
k+1
Gd
i
d
T
i

Gd
i
d
i
, Gd
j

= p
k+1
, Gd
j
 −
k

i=1
p
T
k+1
Gd
i
d
T
i
Gd
i
d
i
, Gd
j
, j = 1, k

theo giả thiết quy nạp, ta có d
T
i
Gd
j
= 0, với i = j
= p
k+1
, Gd
j
 −p
k+1
, Gd
j
 = 0.
Vậy tính chất trên đúng với k + 1.
Thuật toán 2.1 (Phương pháp hướng liên hợp tổng quát).
Bước 1. Cho một điểm ban đầu x
0
, ε > 0, k := 0. Tính g(x) = ∇f(x),
nếu g
0
= g(x
0
);  g
0
≤ ε, dừng. Trái lại, tính d
0
sao cho d
T

0
g
0
<
0.
Bước 2. Tính α
k
sao cho
f(x
k
+ α
k
d
k
) = min
α≥0
f(x
k
+ αd
k
)
Đặt x
k+1
= x
k
+ α
k
d
k
, tính g(x

k
) nếu  g
k
≤ ε, dừng. Trái lại
đến bước 3.
Bước 3. Tính d
k+1
bằng phương pháp hướng liên hợp, sao cho
20
d
T
k+1
Gd
j
= 0, j = 0, 1, , k.
Bước 4. Đặt k := k + 1, quay trở lại bước 2.
Ví dụ 2.1. Cho f(x) = x
2
1
+2x
2
2
−2x
1
x
2
+2x
2
+2, x
0

= (0, 0)
T
, ε = 10
−10
Giải.
Lần lặp 1.
Bước 1. g(x) = ∇f(x) =

2x
1
− 2x
2
−2x
1
+ 4x
2
+ 2

; g
0
= g(x
0
) = ∇f(x
0
) =

0
2

= (0, 2)

T
,  g
0
=

0
2
+ 2
2
= 2 > ε.
Tính d
0
=

d
1
0
d
2
0

= (d
1
0
, d
2
0
)
T
sao cho d

T
0
g
0
< 0 ⇔ (d
1
0
, d
2
0
)

0
2

= 2d
2
0
<
0. Vậy ta có thể chọn

d
2
0
< 0
d
1
0
tùy ý
chọn


d
2
0
=

2
d
1
0
= 0.
Ta được d
0
= (0, −2)
T
.
Bước 2. Tính α
0
sao cho
f(x
0
+ α
0
d
0
) = min
α≥0
f(x
0
+ αd

0
) = min
α≥0
f(0, − 2α).
Trong đó f(0, −2α) = 8α
2
− 4α + 2 ta tính được α
0
=
1
4
.
Đặt x
1
= x
0
+ α
0
d
0
= (0, 0)
T
+
1
4
(0, −2)
T
= (0, −
1
2

)
T
,
g
1
= (1, 0)
T
,  g
1
=

1
2
+ 0
2
= 1 > ε.
Bước 3. Tính d
1
=

d
1
1
d
2
1

= (d
1
1

, d
2
1
)
T
sao cho d
T
1
Gd
0
= 0 hay
(d
1
1
, d
2
1
)

2 −2
−2 4


0

1
2

= (
2d

1
1
− 2d
2
1
−2d
1
1
+ 4d
2
1
)

0

1
2

= 0
⇔ (−2d
1
1
+ 4d
2
1
)(−
1
2
) = 0 ⇔ d
1

1
= 2d
2
1
. Chọn d
1
1
= −1, d
2
1
= −
1
2
.
Lần lặp 2.
Bước 2. Tính α
1
sao cho
f(x
1
+ α
1
d
1
) = min
α≥0
f(x
1
+ αd
1

) = min
α≥0
f(−α, −
1
2

1
2
α).
21
Trong đó f(−α, −
1
2

1
2
α) =
1
2
α
2
− α +
3
2
. Tính được α
1
= 1.
Đặt x
2
= x

1
+ α
1
d
1
=

0

1
2

+

−1

1
2

=

−1
−1

g(x
2
) =

0
0


,  g
2
=

0
2
+ 0
2
= 0 < ε. Dừng.
Vậy x

= x
2
= (−1, −1)
T
là nghiệm của bài toán.
Sau đây ta sẽ chỉ ra rằng, với thủ tục tìm chính xác theo tia phương
pháp hướng liên hợp có tốc độ hội tụ bậc hai, nghĩa là với một hàm toàn
phương có ma trận Hessian xác định dương thì phương pháp này kết
thúc sau nhiều nhất n bước.
Định lí 2.1 (Định lý chính của phương pháp hướng liên hợp).
Một hàm toàn phương có ma trận Hessian G xác định dương, phương
pháp hướng liên hợp kết thúc sau nhiều nhất n thủ tục tìm chính xác
theo tia. Mỗi x
i+1
là cực tiểu trong không gian con sinh bởi x
0
và hướng
d

0
, d
1
, , d
i
, nghĩa là {x|x = x
0
+
i

j=0
α
j
d
j
}.
Chứng minh. Vì G là xác định dương và các hướng liên hợp d
0
, d
1
, là
độc lập tuyến tính, nên ta chỉ cần chứng minh i ≤ n −1 là đủ. Tức là
g
T
i+1
d
j
= 0, j = 0, 1, , i. (2.2)
(Chú ý rằng nếu (2.2) là đúng, ngay lập tức ta có g
T

n
d
j
= 0, j = 0, , n−1
và g
n
= 0, do đó x
n
là cực tiểu.)
Ta đi chứng minh (2.2), ta xét hai trường hợp j < i và j = i. Ta đặt
y
k
Def
= g
k+1
− g
k
= G(x
k+1
− x
k
) = α
k
Gd
k
. (2.3)
Khi j < i, sử dụng cách tìm chính xác theo tia và tính liên hợp, ta có
g
T
i+1

d
j
= g
T
j+1
d
j
+
i

k=j+1
y
T
k
d
j
= g
T
j+1
d
j
+
i

k=j+1
α
k
d
T
k

Gd
j
= 0.
(2.4)

×