- Xét tọa độ
3.6.1 Phương pháp hàm phạt điểm trong và ngoài Xét bài toán tối ưu có ràng buộc
Xét bài toán tối ưu có ràng buộc
f(x) → min, x ∈ D (3.59)
D = {fi(x) ≤ 0, i= 1, . . . , m,} (3.60) Mục đích của phương pháp hàm phạt là thay cho hàm nục tiêu f, ta sẽ giải bài toán tối ưu không ràng buộc với hàm mục tiêuf+p, trong đó p(x)
là lượng phạt khi x vi phạm các ràng buộc. Các phương pháp hàm phạt được chia thành hai nhóm sau:
(a) Phương pháp hàm phạt điểm trong. (b) Phương pháp hàm phạt điểm ngoài.
- Với phương pháp hàm phạt điểm trong, hàm mục tiêu mới thường được xây dựng có dạng:
φ(x, α) := f(x) +α[p(f1(x)) +· · ·+p(fm(x))],
trong đó α > 0 là tham số phạt, p(y) là hàm một biến, đơn điệu thỏa mãn p(y) → +∞ khi y → −0 và p(y) > 0 với mọi y < 0. Chẳng hạn
p= −1/fi(x) hay p = −ln(−fi(x)). Nội dung phương pháp được thể hiện qua các bước sau
B1: Xuất phát từ điểm chấp nhận được x(1) ∈ D. Chọn tham số αi > 0.
Đặt chỉ số bước lặp k = 1.
B2: Tìm cực tiểu hàm không ràng buộc: φ(x, αk) = f(x) −αPm i=1
1
fi(x)
(dùng kỹ thuật tìm cực tiểu không ràng buộc) và nhận được nghiệm cực tiểu x(k).
B3: Kiểm tra x(k) có phải là nghiệm tối ưu của bài toán gốc hay không, nếu đúng dừng, nếu không chuyển bước sau.
B4: Đặt tham số phạt mới αk+1 = µαk với µ < 1 (chẳng hạn, µ = 10−1). Đặt k:=k+1 và chuyển về B2.
Định lý 3.6.32. Phương pháp giải nêu trên có tính chất sau:
(a) φ(x, α) ≥ f(x) với mọi α >0, x ∈ D.
(b) fi(x(k)) < 0, i = 1, . . . , m.
(c) {φ(x(k), αk)} hội tụ về giá trị tối ưu của bài toán (2.2.26) khi {αk} dần tới 0.
- Với phương pháp hàm phạt điểm ngoài hàm phạt được chọn là:
p= max{0, fi(x)} hoặc p = max{0,−fi(x)}.
Ví dụ 3.6.34.
f(x) = 1
3(x1 + 1)
Với các ràng buộc: f1(x) =−x1 + 1 ≤0 f2(x) = −x2 ≤0 φ(x, α) := 1 3(x1 + 1) 3 +x2 −α( 1 −x1 + 1 − 1 x2 ) →min Áp dụng điều kiện cần ta có: ∂φ ∂x1 = (x1 + 1) 2 − α (1−x1)2 = 0 ∂φ ∂x2 = (1− α x2 2 ) = 0
Từ các phương trình này ta nhận được:
x1(α) = (α1/2 + 1)21;x2(α) = α1/2
Φmin(α) = 1 3[(α
1/2 + 1)1/2 + 1]3 + 2α1/2 − 1
(1/α)−(1/α3/2 + 1/α2)1/2
Khi α → 0 thì Φmin(α) → fmin;x1(α) = x∗1;x2(α) = x∗2. Chọn dãy α dần đến 0 ta tính được các giá trị tương ứng. x∗1 = 1, x∗2 = 0, fmin = 8/3.