2.3.2.1. Các giả thiết
Chúng ta đưa ra các giả thiết sau đây cho bài toán quy hoạch bậc hai ngẫu nhiên hai giai đoạn:
A3:
• Vectơ ngẫu nhiên ξ có phân phối rời rạc. A4:
• Ma trạn C là nửa xác định dương và các ma trận D(ω) là nửa xác định dương với mọi ω.
• Ma trạn W là ma trận đầy đủ.
Chúng ta nhận xét rằng giả thiết (A3) kéo theo tính phân tích được của tập phương án giai đoạn hai K2, còn giả thiết (A4) đảm bảo tính lồi của hàm chuyển đổi.
Một đặc điểm quan trọng của bài toán là hàm chuyển đổi Q(x) là hàm bậc hai từng phần. Điều đó cho thấy tập phương án giai đoạn hai K2 có thể phân thành các tập lồi đa diện, ta gọi là tế bào mà Q(x) là bậc hai trên mỗi tế bào ấy.
Ví dụ. Ta xét bài toán quy hoạch bậc hai ngẫu nhiên hai giai đoạn sau đây min n z(x) = 2x1+ 3x2+Eξmin{−6,5y1−7y2+1 2y 2 1+y1y2+1 2y 2 2}o (2.3.5)
với điều kiện 3x1 + 2x2 ≤ 15 x1 + 2x2 ≤8 y1 ≤ x1, y2 ≤ x2 y1 ≤ ξ1, y2 ≤ ξ2 x1 +x2 ≥ 0, x ≥0, y ≥ 0.
Chúng ta giả thiết rằng ξ1 ∈ {2; 4; 6}; ξ2 ∈ {1; 3; 5} là các biến ngẫu nhiên độc lập với xác suất 1/3 cho mỗi biến.
Bài toán có thể được giải thích như là bài toán về danh mục đầu tư làm giảm thiểu giá trị phạt bậc hai theo độ lệch bình phương giá trị.
Trong giai đoạn hai của bài toán, giá trị nhỏ của mỗi xi, i = 1,2, sẽ là tối ưu trên mỗi tập tế bào, nghĩa là tương ứng phải yi = xi, i = 1,2. Thật vậy, cho
(x1, x2) ∈ C1 := (x1, x2) : 0≤ x1 ≤ 2, 0≤ x2 ≤ 1 ,
thì phương án tối ưu của giai đoạn hai là yi = xi, i = 1,2 với mọi giá trị có thể của ξ. Từ đó cho ta Q(x) = Q(x, ω) =−6,5x1 −7x2 + 1 2x 2 1 +x1x2 + 1 2x 2 2, (x1, x2) ∈ C1. 2.3.2.2. Định nghĩa. Ta gọi một phức hợp tập lồi đóng K là một tập hợp hữu hạn của các tập con đóng Cν,1≤ ν ≤ m, sao cho
int(Cν1 ∩Cν2) = ∅, ν1 6= ν2. Tập Cν như vậy gọi là tế bào của K.
Bài toán quy hoạch
minz(x) : x ∈ M , (2.3.6), trong đó z : Rn → R là hàm lồi, M là tập con lồi đóng của dom(z), int(M) 6= ∅. Bài toán (2.3.6) được gọi là bài toán quy hoạch lồi từng phần
Cho bài toán quy hoạch lồi từng phần và K là phức hợp lồi đóng hữu hạn các tế bào Cν, 1 ≤ν ≤ m sao cho
M ⊆ m
[
ν=1
Cν, (2.3.7)
đồng thời hoặc là z ≡ −∞ hoặc là với mỗi tế bào Cν, 1 ≤ ν ≤ m, tồn tại một hàm lồi zν : M → R có vi phân liên tục trên tập mở Cν thỏa mãn
z(x) =zν(x), x ∈ Cν, 1 ≤ ν ≤ m, (2.3.8) ∇zν(x) ∈ ∂z(x), 1≤ ν ≤ m.
Hàm số z : M → R được gọi là hàm bậc hai từng phần trên tế bào Cν, 1 ≤ ν ≤ m nếu hàm zν là một dạng toàn phương.
Ví dụ. Cả hai hàm Q(x) và z(x) cho sau đây là toàn phương từng phần. Q(x) =−6,5x1 −7x2 + 1 2x 2 1 +x1x2 + 1 2x 2 2, (x1, x2) ∈ C1, z(x) =−4,5x1 −4x2 + 1 2x 2 1 +x1x2 + 1 2x 2 2, (x1, x2) ∈ C1. 2.4. Thuật toán và ví dụ
Trên cơ sở các tính chất đã nêu trong mục 2.2 và 2.3, chúng tôi đã chuyển bài toán quy hoạch phi tuyến từng phần ngẫu nhiên hai giai đoạn (nói riêng bài toán quy hoạch bậc hai từng phần ngẫu nhiên hai giai đoạn) về bài toán quy hoạch lồi từng phần (P CP).
2.4.1. Thuật toán
Sử dụng thuật toán (P CP) mục 1.1.1 (Chương 1) giải bài toán quy hoạch lồi từng phần, chúng ta có được thuật toán (P QP) sau đây giải bài toán quy hoạch bậc hai từng phần ngẫu nhiên hai giai đoạn.
Thuật toán (P QP)
Bước chuẩn bị Tính toán xác định một phân hoạch của không gian trạng thái M theo (2.3.7) để được tế bào Cν, 1 ≤ ν ≤ m. Đặt M1 := M và chọn x0 ∈ S1.
Bước k. (Thực hiện vòng lặp theo k ≥ 1)
Bước k.1. (Xác định tế bào hiện tại): Xác định Ck sao cho xk−1 ∈ Ck và xác định dạng bậc hai zk(.) trên Ck theo (2.3.8).
Bước k.2. (Giải cực tiểu các bài toán con): Tính xk = arg min x∈Mk zk(x), (2.4.1) wk = argmin x∈Ck zk(x). (2.4.2)
Nếu wk là điểm giới hạn trên tia zk(.) dần tới vô cùng thì thuật toán dừng lại. Trả lời: bài toán (P QP) không bị chặn.
Ngược lại, chuyển sang bước k.3
Bước k.3. (Kiểm tra điều kiện tối ưu): Kiểm tra
∇zk(wk)T(xk −wk) = 0. (2.4.3) Nếu (2.4.3) thỏa mãn thì thuật toán dừng lại. Trả lời wk là phương án tối ưu của bài toán (P QP).
Ngược lại, chuyển ra bước k.4.
Bước. k.4. (Cập nhật không gian trạng thái): Gán Mk+1 := Mk ∩nx : ∇zk(wk)Tx ≤ ∇zk(wk)Twk
o
. (2.4.4) Gán k := k + 1, trở lại bước k.1.
2.4.1.1. Định lý. (Tính hữu hạn của thuật toán (P QP))
Nếu các giả thiết (A3),(A4) được thực hiện thì thuật toán (P QP) sau hữu hạn bước lặp sẽ cho phương án tối ưu của bài toán bậc hai từng phần ngẫu nhiên hai giai đoạn.
Chứng minh. Theo các Định lý 2.2.2.1, 2.2.2.2 và hệ quả 2.2.2.3 cho thấy (P QP) là bài toán quy hoạch lồi từng phần theo biến x. Do đó, việc chứng minh Định lý 2.4.1.1 cũng là chứng minh Định lý 1.1.1.4, Chương 1.
(a) Tính tối ưu: Nếu thuật toán dừng lại thì cho ta phương án tối ưu. Trước hết, nếu wk là điểm tới hạn của một tia mà theo đó zk(.) tiến tới −∞ thì bài toán (P QP) là không bị chặn. Vì vậy z(x) = zk(x) với mọi x ∈ Ck. Nếu không, hàm z(.) =zk(.) là hữu hạn trên mọi Ck. Do M là một tập con của miền xác định của z(.). Bây giờ chúng ta chứng minh rằng nếu xk ∈ Ck thì xk ∈ argminz(x) : x ∈ M .
Theo đinh nghĩa xk là nghiệm của bài toán quy hoạch lồi mà hàm mục tiêu có vi phân liên tục tại mỗi điểm thuộc Ck, đặc biệt tại xk thuộc Ck. Trong trường hợp này ta có ∇zk(xk).(x−xk) ≥0 với mọi x ∈ Mk. Sử dụng ∇zk(xk) ∈ ∂z(xk) với mọi xk ∈ Ck, theo tính chất của hàm lồi ta có
z(x) ≥ z(xk) +∇zk(xk).(x−xk), ∀x ∈ Rn1. (2.4.5) Kết hợp bất đẳng thức trên chúng ta có
xk ∈ argminz(x) : x∈ Mk .
Bây giờ nếu ở bước k.3 có ∇zk(xk).(xk − wk) = 0 đúng, gradient trong đẳng thức là lấy với hàm lồi z(x), thực hiện tại wk, ta có
zk(wk) +∇zk(wk).(xk −wk) = zk(wk).
Điều đó nói lên rằng wk ∈ argminzk(x) : x ∈ Mk . Chúng ta cần phải chứng minh rằng điều kiện ∇zk(wk).(x−wk) ≤ 0ở bước k.3không thể xảy ra một phương án tối ưu của bài toán gốc. Sử dụng bất đẳng thức (2.4.5) đối với hàm z(.) và ∇zk(xk) lấy tại xk = wk, ta nhận được
z(x) ≥z(wk) +∇zk(wk).(x−wk), ∀x ∈ Rn1. (2.4.5) Do điều kiện z(x) ≤ z(wk) nên ta có
∇zk(wk).(x−wk) ≤ 0.
Điều đó chứng tỏ wk là phương án tối ưu. Chúng ta đã chứng minh xong phần (a).
(b) Về thuộc tính của tập Mk+1: Giả sử ∇zk(wk).(xk−wk) < 0. Khi đó sẽ có
(i) Ck∩intMk+1 = ∅, (ii) intMk+1 6= ∅, (iii) Mk+1 ⊆ ∪m
i=k+1Ci (xin nhắc lại m là số tế bào trong phức hợp K) nếu các tế bào được dán nhãn theo cách như vậy ở lần dán lặp thứ k. Trong trường hợp này tồn tại chỉ số k sao cho xk ∈ Ck và Ck ∩intMk+1 6= ∅.
Thật vậy, ta hãy xem xét từng trường hợp:
(i) Một điểm y thuộc intMk+1 thì ∇zk(wk).(y −wk) < 0. Mặt khác, wk là nghiệm của quy hoạch lồi với hàm mục tiêu có vi phân liên tục trên Ck nên wk ∈ argminzk(x) : x ∈ Ck khi và chỉ khi
∇zk(wk).(y −wk) ≥ 0,∀y ∈ Ck.
Điều đó chứng tỏ y không thuộc Ck, tức là Ck ∩intMk+1 = ∅.
(ii) Theo giả thiết ∇zk(wk).(xk −wk) < 0, do vậy nếu xk ∈ intCk, vậy thì xk+1 ∈ intCk. Nếu xk là điểm biên của Ck thì tồn tại điểm trong Ck của lân cận mở của xk cũng là một điểm thuộc Ck+1 (do tính liên tục của của điểm trong).
(iii) Theo định nghĩa M1 = M ⊆ ∪m
i=1Ci. Giả thiết của chúng ta là mối quan hệ Mk = M ⊆ ∪m
i=1Ci đúng với k, đồng thời tế bào {Ci ∩ Mi, i = k, ..., m} là lồi. Giả sử Hk là nửa không gian xác định bởi ∇zk(wk).(x− wk) ≤0. Khi đó
Mk+1 = Mk∩ Hk = Mk∩Ck∩Hk∪ Hk ∩ ∪mi=k+1(Ci ∩Mi). Quan hệ Ck∩ intMk+1 = ∅ đã được chỉ ra trong (i).
Do vậy int Mk ∩Ck ∩Hk = ∅).
Từ đó suy ra Mk+1 là hợp của hai tập, được viết Mk+1 = A∪ B, (với A = (Mk ∩ Ck ∩ Hk); B = (Hk ∩ ∪m
i=k+1(Ci ∩ Mi)), trong đó intA = ∅, intB 6= ∅ và A∪ B là lồi. Từ đó người ta (xem [7]) chỉ ra rằng A ⊆ clB
(bao đóng của B). Bây giờ chúng ta xét tập B, cụ thể là B = (Hk ∩ ∪m
i=k+1(Ci ∩Mi), nó là một tập đóng và Mk+1 ≡ B. Cũng như vậy, ta có Mk+1 = ∪m
i=k+1Ci ∩Mk+1), hoặc tương đương là Mk+1 ⊆ ∪m
i=k+1Ci. Ngoài ra, các tập {Ci ∩Mi, i = k + 1, ..., m} là các tập lồi và mỗi x ∈ Mk+1 tồn tại chỉ số k sao cho x ∈ Ck và Ck∩ intMk 6= ∅.
(c) Sự kết thúc hữu hạn: (Thuật toán (P QP) sau nhiều nhất m bước sẽ kết thúc).
Như một hệ quả trực tiếp của phần (iii) trong (b), mối quan hệMm ⊆ Cm là đúng ngay ở bước thứm−1. Theo đó, mỗi nghiệmxm ∈ argminzm(x) : x ∈ Mm thuộc về Cm. Do vậy sau nhiều nhất m bước sẽ được phương án tối ưu của bài toán quy hoạch lồi bậc hai từng phần.
Định lý chứng minh xong.
2.4.2. Ví dụ
Chúng ta trở lại ví dụ (2.3.5) trong mục 2.3.2. Giải bài toán đã cho:
minnz(x) = 2x1+ 3x2+Eξmin{−6,5y1−7y2+1 2y 2 1+y1y2+1 2y 2 2}o (2.3.5)
với điều kiện
3x1 + 2x2 ≤ 15 x1 + 2x2 ≤8 y1 ≤ x1, y2 ≤ x2 y1 ≤ ξ1, y2 ≤ ξ2 x1 +x2 ≥ 0, x ≥0, y ≥ 0.
Chúng ta giả thiết rằng ξ1 ∈ {2; 4; 6}; ξ2 ∈ {1; 3; 5} là các biến ngẫu nhiên độc lập với xác suất 1/3 cho mỗi biến.
Bước chuẩn bị. Chúng ta chọn các tế bào Cν, 1 ≤ ν ≤ 6, như trong Hình 2.1.
Ta có
M = x ∈ R2 : 3x1 + 2x2 ≤ 15;x1 + 2x2 ≤ 8; x1, x2 ≥0 . Đặt M1 = M, chọn x0 = (0,0)T, lấy k = 1.
Bước lặp 1. Tế bào C1 chứa x0 là
C1 = x∈ R2 : 0 ≤ x1 ≤2; 0 ≤ x2 ≤ 1 . Hàm bậc hai z1 trên C1 là (xem ví dụ ở mục 2.3, trang 33)
z1(x) = −4,5x1 −4x2 + 1 2x 2 1 +x1x2 + 1 2x 2 2.
Giải các bài toán (2.4.1) và (2.4.2) bằng thuật toán Frank-Wolfe được nghiệm là
x1 = (4,5; 0,0)T, w1 = (2; 1)T ∈ C1. Từ đó ta có
và
M2 = M1 ∩ {x ∈ R2 : −1,5x1 −x2 ≤ −4}.
Bước lặp 2. Tế bào C2 chứa x1 là
C2 = x∈ R2 : 4 ≤ x1 ≤6; 0 ≤ x2 ≤ 1; x1 +x2 ≤ 6,5 . Hàm bậc hai z2 trên C2 là (tính toán như ví dụ ở mục 2.3, trang 33)
z2(x) =−29 3 − 1 6x1 −2x2 + 1 6x 2 1 + 1 3x1x2 + 1 2x 2 2.
Giải các bài toán (2.4.1) và (2.4.2) bằng thuật toán Frank-Wolfe được nghiệm là x2 = 22 19; 43 19 T , w2 = 4; 2 3 T ∈ C2. Từ đó ta có ∇z2(w2) = 25 18; 0 T ; ∇z2(w2)T(x2 −w2) < 0 và M3 = M2 ∩ nx ∈ R2 : 25 18x1 ≤ 100 18 o .
Bước lặp 3. Tế bào C3 chứa x2 là
C3 = x∈ R2 : 0 ≤ x1 ≤2; 1 ≤ x2 ≤ 3 .
Hàm bậc hai z3 trên C3 là (tính toán như ví dụ ở mục 2.3, trang 33) z3(x) =−13 6 − 25 6 x1 − 5 3x2 + 2x1x2 + 1 3x 2 2.
Giải các bài toán (2.4.1) và (2.4.2) bằng thuật toán Frank-Wolfe được nghiệm là x3 = (4; 0)T, w3 = w1 = (2; 1)T ∈ C3. Từ đó ta có ∇z3(w3)T(x3 −w3) < 0 và M4 = M3 ∩ nx ∈ R2 : −3 2x1 + 1 3x2 ≤ −8 3 o .
Bước lặp 4. Tế bào C4 chứa x3 là
C4 = x∈ R2 : 2 ≤ x1 ≤4; 0 ≤ x2 ≤ 1 .
Hàm bậc hai z4 trên C4 là (tính toán như ví dụ ở mục 2.3, trang 33) z4(x) =−11 3 − 7 3x1 − 10 3 x2 + 1 3x 2 1 + 2 3x1x2 + 1 3x 2 2.
Giải các bài toán (2.4.1) và (2.4.2) bằng thuật toán Frank-Wolfe được nghiệm là x4 ≈ (2,18; 1,81)T, w4 = (2,5; 1,0)T ∈ C4. Từ đó ta có ∇z4(w4)T(x4 −w4) < 0 và M5 = M4 ∩nx ∈ R2 : −2 3x1 ≤ −2 3 o .
Bước lặp 5. Tế bào C5 chứa x4 là
C5 = x∈ R2 : 2 ≤ x1 ≤4; 1 ≤ x2 ≤ 3 .
Hàm bậc hai z5 trên C5 là (tính toán như ví dụ ở mục 2.3, trang 33) z5(x) = −101 18 − 19 9 x1 − 11 9 x2 + 1 3x 2 1 + 4 9x1x2 + 1 3x 2 2.
Giải các bài toán (2.4.1) và (2.4.2) bằng thuật toán Frank-Wolfe được nghiệm là x5 = w5 = (2,5; 1,0)T ∈ C5. Từ đó ta có ∇z5(w5)T(x5 −w5) ≥ 0. Vậy ta được x5 = (2,5; 1,0)T ∈ C5 là phương án tối ưu cần tìm của bài toán.
Kết luận
Luận văn đã có được một số đóng góp như sau:
1. Trình bày một cách hệ thống những khái niệm và kiến thức cơ sở. Cụ thể các nội dung đã trình bày: Bài toán quy hoạch phi tuyến; các phương pháp tiếp cận giải quy hoạch phi tuyến; một số khái niệm cơ sở của lý thuyết xác suất.
2. Trình bày được nội dung bài toán quy hoạch phi tuyến ngẫu nhiên. 3. Phát biểu và chứng minh được một số tính chất quan trọng của lớp bài toán quy hoạch phi tuyến ngẫu nhiên có sự chuyển đổi.
4. Nghiên cứu tính chất bài toán chiếc túi ngẫu nhiên phi tuyến bậc hai với ràng buộc tuyến tính. Từ đó nêu được thuật toán giải bài toán quy hoạch phi tuyến ngẫu nhiên bậc hai. Đưa ra được ví dụ bằng số nhằm minh họa cho thuật toán.
Khi có điều kiện cho phép, chúng tôi sẽ cố gắng tiếp tục nghiên cứu: ◦ Dựa trên thuật toán đã nêu, nghiên cứu giải bài toán sản xuất được đặt ra trong mục 2.1.
Tài liệu tham khảo
[1]. Nguyễn Văn Quảng (2007), Giáo trình xác suất thống kê, NXB Đại học Quốc gia Hà Nội.
[2]. Trần Xuân Sinh (2005), Các phương pháp ngẫu nhiên giải bài toán quy hoạch, Bài giảng dùng cho Cao học chuyên ngành Xác suất Thống kê toán học, Đại học Vinh.
[3]. Bùi Minh Trí (2005), Quy hoạch toán học, NXB Khoa học Kỹ thuật, Hà Nội, (Chương 9).
[4]. R. H. W. Hoppe (2007), Optimization Theory II, Spring, (Chapter 1: Stochastic Linear and Nonlinear Programming, pp 36-47),
http://www.math.uh.edu.
[5]. F. V. Louveaux (1978), Piecewise convex programs, Math. Program- ming, 15, 53-62.
[6]. A. Shapiro, D. Dentcheva and A. Ruszczy´nski (2010), Lectures on Stochastic Programming: Modeling and Theory, Mathematical Program- ming Society Philadelphia.
[7]. D. Walkup and R. J. B. Wets (1969), Stochastic Programs with recourse II: On the continuity the Objective, SIAM J. Appl. Math., 17, 98-103.