Xét bài toán qui hoạch toàn phương (Quadratic Program, viết tắt là QP)
f(x) = cTx+ 1 2x
TQx −→min
với các điều kiện
Ax ≥ b, x≥ 0,
trong đó Q ∈ Rn×n đối xứng, c ∈ Rn, A ∈ Rm×n và b ∈ Rm. Trường hợp Q = 0 ta nhận được Bài toán qui hoạch tuyến tính (Linear Program, viết tắt là LP). Nếu x là một nghiệm tối ưu địa phương của bài toán QP thì tồn tại vectơ y ∈ Rm sao cho cặp (x, y) thỏa mãn điều kiện Karush-Kuhn- Tucker, gọi tắt là điều kiện KKT:
u =c+Qx−ATy ≥ 0, x ≥ 0, xTu = 0, (2.35) v = −b+Ax ≥ 0, y ≥ 0, yTv = 0. (2.36) Thêm vào đó, nếu Q là ma trận nửa xác định dương, nghĩa là hàm mục tiêu f(x) là lồi thì (2.35)-(2.36) là điều kiện đủ để cho vectơ x là một nghiệm tối ưu toàn cục của bài toán qui hoạch toàn phương lồi.
Các điều kiện (2.35)-(2.36) xác định bài toán bù tuyến tính LCP(q, M)
với q = " c −b # và M = " Q −AT A 0 # .
Ma trận M không đối xứng (trừ khi A không có hoặc bằng 0) mặc dù Q đối xứng. Tuy thế, M có tính chất gọi là song đối xứng (bisymmetry). Theo định nghĩa, một ma trận vuôngN là song đối xứng nếu sau khi hoán vị một tập như nhau các hàng và cột, có thể đưa ma trận về dạng
N =
"
G −AT
A H
#
với Gvà H đối xứng. Nếu Q nửa xác định dương như trong qui hoạch toàn phương lồi thì M là một ma trận song đối xứng. (ma trận vuông Q là nửa xác định dương nếu zTQz ≥ 0 với mọi vectơ z).
Một trường hợp riêng quan trọng của bài toán toàn phương QP là khi nó chỉ có các ràng buộc về dấu đối với các biến x. Khi đó, bài toán QP có dạng đơn giản
với điều kiện
x≥ 0.
Nếu Q nửa xác định dương thì bài toán dạng đơn giản này hoàn toàn tương đương với bài toánLCP(c, Q). Có nhiều ứng dụng trong công nghiệp và vật lý dẫn tới mô hình qui hoạch toàn phương lồi dạng đặc biệt trên mà ta vừa chỉ ra là tương đương với bài toán bù tuyến tính LCP(c, Q). Các ứng dụng đó bao gồm bài toán tiếp xúc, bài toán chất lỏng, bài toán vật cản, bài toán xoắn chất dẻo đàn hồi,....
• Trò chơi song ma trận
Trò chơi song ma trận (Bimatrix Game), ký hiệu G(A, B), gồm hai
người chơi, gọi là người chơi I và người chơi II. Mỗi người chơi (Player) có một số hữu hạn hành động (actions), gọi là các chiến lược đơn (pure strategies), được quyền lựa chọn. Trong loại trò chơi này không nhất thiết một người thắng, một người thua. Vì thế, thuật ngữ trò chơi song ma trận
thường có nghĩa là một trò chơi hữu hạn (finite), hai người (two-person),
tổng khác không (nonzero-sum). Trò chơi đối kháng hai người với tổng
bằng không thường được xét trong qui hoạch tuyến tính.
Ta hình dung người chơi I có m chiến lược đơn, người chơi II có n chiến lược đơn. Các chữ cái A và B trong ký hiệu trò chơi G(A, B) là các ma trận cấp m×n với các phần tử biểu thị chi phí hai người chơi phải trả. Như vậy, khi người chơi I chọn chiến lược đơn i(i = 1, ..., m) và người chơi II chọn chiến lược đơn j(j = 1, ..., n) thì mỗi người chơi phải trả một chi phí tương ứng là aij và bij. Do không đòi hỏi tổng hai chi phí này bằng 0 nên có thể có aij +bij 6= 0.
Chiến thuật hỗn hợp (mixed strategy) hay chiến thuật ngẫu nhiên(ran-
domized strategy) của người chơi I là vectơ x∈ Rm với thành phần xi biểu thị xác suất chọn chiến lược đơn i, tức là x ≥ 0 và Pm
i=1xi = 1. Chiến lược hỗn hợp của người chơi II được định nghĩa tương tự. Do đó, nếu x và y là cặp chiến lược hỗn hợp tương ứng của người chơi I và II thì chi phí kỳ vọng (trung bình) của họ lần lượt được tính bởi xTAy và xTBy. Cặp chiến lược (x∗, y∗) với x∗ ∈ Rm, y∗ ∈ Rn được gọi là một nghiệm cân bằng Nash (Nash equilibrium) nếu
(x∗)TAy∗ ≤xTAy∗ ∀x ≥ 0,
m
X
i=1
(x∗)TBy∗ ≤ (x∗)TBy ∀y ≥ 0,
n
X
j=1
yi = 1.
Nói cách khác, cặp chiến lược (x∗, y∗) là nghiệm cân bằng Nash nếu không người chơi nào được lợi hơn (theo nghĩa chi phí trung bình thấp hơn) khi đơn phương thay đổi chiến lược của mình. Kết quả cơ bản trong lý thuyết trò chơi khẳng định rằng một nghiệm cân bằng Nash như thế luôn tồn tại.
Để đưa mô hình trò chơi G(A, B) về bài toán bù tuyến tính ta giả thiết A và B là hai ma trận dương (theo mọi phần tử). Giả thiết này hoàn toàn hợp lý, bởi vì bằng cách thêm vào mỗi phần tử aij và bij cùng một số dương đủ lớn sẽ làm chúng trở thành số dương và biến đổi này không hề ảnh hưởng gì đến nghiệm cân bằng. Sau đó, ta xét bài toán bù LCP
u =−em+Ay ≥ 0, x ≥ 0, xTu = 0, (2.37) v = −en +BTx ≥ 0, y ≥ 0, yTv = 0, (2.38) trong đó em ∈ Rm và en ∈ Rn là các vectơ có mọi thành phần bằng 1. Có thể thấy rằng nếu (x∗, y∗) là một nghiệm cân bằng Nash thì (x0, y0) là một nghiệm của (2.37)-(2.38) với
x0 = x∗/(x∗)TBy∗, y0 = y∗/(x∗)TAy∗. (2.39) Ngược lại, rõ ràng nếu (x0, y0) là một nghiệm của (2.37)-(2.38) thì x0 và y0 phải khác không. Vậy (x∗, y∗) là một nghiệm cân bằng Nash với
x∗ = x0/eTmx0, y∗ =y0/eTny0.
Giả thiết A và B là các ma trận dương đảm bảo cho các vectơ x0 và y0 xác định theo (2.39) là không âm. Giả thiết này cũng rất cần thiết cho quá trình giải bài toán LCP với các điều kiện (2.37)-(2.38) được cho bởi
q = " −em −en # và M = " 0 A BT 0 # . • Cân bằng thị trường
Cân bằng thị trường (Market Equilibrium) là trạng thái của nền kinh
sản xuất cân bằng nhau theo mức giá hiện hành. Ta hãy xét một bài toán cân bằng thị trường cụ thể mà ở đó vectơ cung được mô tả bởi một mô hình qui hoạch tuyến tính để thu hút các đặc điểm kỹ thuật hay công nghệ trong hoạt động sản xuất. Hàm nhu cầu thị trường được sinh ra bởi mô hình kinh tế lượng với giá cả hàng hóa xem như các biến độc lập chính. Về mặt toán học, mô hình cân bằng thị trường là tìm vectơ giá p∗ và vectơ nhu cầu tiêu dùng r∗ sao cho các điều kiện nêu sau đây được thỏa mãn: (i) về phía cung:
cTx −→min với các điều kiện
Ax ≥ b; (2.40)
Bx ≥ r∗; (2.41)
x≥ 0,
trong đó c là vectơ chi phí cho hoạt động cung cấp, x là vectơ mức hoạt động sản xuất, điều kiện (2.40) biểu thị các ràng buộc về công nghệ sản xuất và (2.41) là các ràng buộc đòi hỏi về nhu cầu tiêu dùng.
(ii) về phía cầu:
r∗ =Q(p∗) =Dp∗ +d, (2.42) trong đó Q(.) là hàm nhu cầu thị trường với p∗ và r∗ lần lượt là vectơ giá và vectơ cầu. Giả thiết Q(.) là hàm afin.
(iii) điều kiện cân bằng
p∗ = π∗, (2.43)
với π∗ là vectơ đối ngẫu (hay vectơ giá bóng - shadow prices, tức là giá cung trên thị trường) tương ứng với ràng buộc (2.41).
Để đưa mô hình trên về bài toán bù tuyến tính, ta chú ý rằng vectơ x∗ là một nghiệm tối ưu của bài toán qui hoạch tuyến tính về cung khi và chỉ khi tồn tại vectơ v∗ sao cho
y∗ =c−ATv∗ −BTπ∗ ≥ 0, x∗ ≥ 0,(y∗)Tx∗ = 0
u∗ = −b−Ax∗ ≥ 0, v∗ ≥ 0,(u∗)Tv∗ = 0
δ∗ =−r∗ +Bx∗ ≥ 0, π∗ ≥ 0,(δ∗)Tπ∗ = 0.
Thay thế hàm nhu cầu (2.42) của r∗ và dùng điều kiện cân bằng (2.43), ta kết luận rằng các điều kiện (2.44) tạo nên bài toán bù tuyến tính LCP(q, M) với q = c −b −d , M = 0 −AT −BT A 0 0 B 0 −D (2.45)
Ma trậnM trong (2.45) là song đối xứng nếu ma trậnD là đối xứng. Trong trường hợp này, bài toánLCP trên đây trở thành điều kiện Karush-Kuhn- Tucker cho bài toán toàn phương
dTp+ 1 2p
TDp+bTv −→max với các điều kiện
ATv+BTp ≤ c, p ≥ 0, v ≥ 0. • Ví dụ số minh họa Xét hai hàm: g(x1, x2) = (x21 +x22 −25,−x1 + 3), h(x1, x2) = ((x1 −3)2 +x22 −4, x1 −4), (2.46) và đặt C = C1 ∩C2, xác định như sau: C1 = {(x1, x2) ∈ R2 :x1−4x2 + 1 ≤ 0}, C2 = {(x1, x2) ∈ R2 : 2x1 −x2 −2 ≥ 0}. (2.47) Rõ ràng, với g vàh như (2.46) thì bài toán (2.6) có 4 nghiệm:x1 = (3,−2), x2 = (3,2), x3 = (4,√
3) và x4 = (4,−√3). Tuy nhiên, khi có thêm ràng buộc là tập C = C1 ∩C2 như (2.47) thì chỉ có x2 = (3,2), x3 = (4,√
3) là nghiệm của bài toán (2.23). Dễ thấy, x2 là nghiệm có x∗ - chuẩn nhỏ nhất. Chọn: µ1 = 161 , µ2 = 18, µ3 = 14 và µ4 = 12 với x∗ = (0,0). Tham số αk = (1 +k)−1 và điểm ban đầu đối với trường hợp k = 1 là x0 = (20; 45) ∈/ C. Ta cực tiểu hàm Tikhonov sau
Fαk(x) = kx−PC(x)k2R2 +kF(x)k2R2 + 4 X j=1 αµj k ϕej(x) +αkkx−x∗k2 R2,
ở đây PC(x) = 12[PC1(x) +PC2(x)], PCi(x) = x nếu x ∈ Ci và nếu x /∈ Ci thì PCi(x) = Pli(x) với li = {(x1, x2) : aix1 +bix2 = ci} và ai, bi, ci là các hệ số, xác định trong (2.47), e ϕ1(x) =ϕ1(x) = x21 +x22 −25 nếu x21 +x22 −25, 0 nếu x21 +x22 −25 ≤ 0 e ϕ2(x) = ϕ22(x) = (x1 −3)2 với x1 > 3 và x2 bất kỳ, 0 với x1 ≤ 3 và x2 bất kỳ, e ϕ3(x) = ϕ3(x) = (x1−3)2 +x22 −4 nếu (x1 −3)2 +x22 −4 >0, 0 nếu (x1 −3)2 +x22 −4 ≤ 0 e ϕ4(x) = ϕ24(x) = (x1−4)2 với x1 >4 và x2 bất kỳ, 0 với x1 ≤ 4 và x2 bất kỳ.
Có thể minh họa nghiệm của bài toán (2.23)như trong Hình 2.1 dưới đây.
Sử dụng phần mềm Free Pascal 3.0.0, chạy trên máy tính Core(TM) 2 Duo CPU 2.40GHz, RAM 2.00GB, chúng tôi đã thu được kết quả hội tụ nghiệm của bài toán (2.23) như trong Bảng 2.1 dưới đây.
Bảng 2.1. Nghiệm của bài toán (2.23)
k x1 x2 1 1.01992063 0.26863164 10 1.71908025 1.53345569 20 2.41207633 1.91106017 40 2.74195141 1.98316305 50 2.79533460 1.98941417 60 2.95653678 1.99951405 70 2.96117518 1.99961309 80 2.96121390 1.99961604 90 2.96131472 1.99961848 100 2.96158636 1.99962029 200 2.98441308 1.99993344 400 2.99083157 1.99997458 500 2.99197165 1.99998085 600 2.99258702 1.99998295 700 2.99318066 1.99998239 900 2.99646964 1.99999060 1000 2.99662425 1.99999600 2000 2.99844812 1.99999896 3000 2.99893707 1.99999940 4000 2.99913864 1.99999963 6000 2.99946858 1.99999977 8000 2.99957490 1.99999986 9000 2.99966381 1.99999988 10000 2.99969765 1.99999988
Qua kết quả tính toán, ta thấy nghiệm hiệu chỉnh của bài toán (2.23) hội tụ rất gần tới nghiệm x2 = (3,2) có x∗ - chuẩn nhỏ nhất.
KẾT LUẬN
Chương 2 đề cập đến bài toán bù tổng quát và đưa ra phương pháp hiệu chỉnh cho loại bài toán này mà không cần tính chất đơn điệu hoặc P0
- hàm. Chúng tôi cũng đưa ra phương pháp giải cho bài toán bù tổng quát trong hai trường hợp, đó là: hiệu chỉnh bài toán bù tổng quát dựa trên phiếm hàm Tikhonov và hiệu chỉnh bài toán bù tổng quát có ràng buộc; các định lí chứng minh sự tồn tại của nghiệm hiệu chỉnh và đánh giá tốc độ hội tụ của nghiệm cũng được trình bày trong chương này. Cuối chương, chúng tôi trình bày một số bài toán dẫn tới bài toán bù như: bài toán qui hoạch toàn phương, trò chơi song ma trận, bài toán cân bằng thị trường; ví dụ trình bày một bài toán cụ thể kèm theo kết quả tính toán và hình vẽ cũng được minh họa ở chương này.
Chương tiếp theo sẽ xem xét một bài toán phức tạp hơn, đó là bài toán cực trị với ràng buộc là bài toán bù tổng quát.
Chương 3
Bài toán cực trị với ràng buộc là bài toán bù tổng quát
Trong Chương 3, Mục 3.1 trình bày khái niệm bài toán cực trị với ràng buộc là bài toán bù tổng quát và một số kết quả nghiên cứu của Kanzow và Schwartz [31]. Mục 3.2 trình bày phương pháp hiệu chỉnh bài toán cực trị với ràng buộc là bài toán bù tổng quát, các định lí chứng minh sự tồn tại nghiệm cũng được trình bày ở mục này. Mục 3.3 đưa ra ví dụ số minh họa phương pháp hiệu chỉnh bằng một bài toán cụ thể. Kết quả tính toán chạy trên máy tính Core(TM) 2 Duo CPU 2.40GHz, RAM 2.00GB và sử dụng phần mềm Free Pascal 3.0.0. Chương này được trình bày dựa trên các tài liệu [8], [31].
3.1. Phát biểu bài toán
Định nghĩa 3.1 Bài toán cực trị với ràng buộc là bài toán bù hay bài toán cân bằng được ký hiệu là MPEC, đó là bài toán tìm:
minf(x) (3.1) với các ràng buộc ˜ gi(x) ≤ 0, ∀i = 1,2, ..., m, ˜ hi(x) = 0, ∀i = 1,2, ..., p, ˆ gi(x) ≥ 0,hˆi(x) ≥ 0,hgˆi(x),ˆhi(x)i = 0,∀i = 1,2, ..., q, ở đây f,g˜i,˜hi,gˆi,ˆhi :Rn −→R là các hàm khả vi liên tục.
Nhiều lớp bài toán trong kinh tế, kỹ thuật và sinh thái có công thức dạng MPEC, ví dụ như những trò chơi Stackelberg, thiết kế mạng, robot,...[15], [38] và [45]. Hiện nay, bài toán MPEC được nhiều nhà khoa học quan tâm nghiên cứu và họ đã đưa ra các phương pháp giải khác nhau, chẳng hạn phương pháp hiệu chỉnh toàn cục, phương pháp hiệu chỉnh hai phía,
phương pháp hiệu chỉnh trơn, phương pháp hiệu chỉnh địa phương và phương pháp hiệu chỉnh không trơn,...[19],[27],[34],[36],[46],[49].
Khi nghiên cứu MPEC, Kanzow và Schwartz [31] đã xét bài toán phi tuyến minf(x) (3.2) với các ràng buộc ˜ gi(x) ≤ 0,∀i = 1,2, ..., m, ˜hi(x) = 0 ∀i = 1,2, ..., p và xác định tập Ig˜(x∗) := {i |g˜i(x∗) = 0} với bất kỳ x∗ ∈ Rn là điểm chấp nhận được của bài toán (3.2). Ký hiệu Z là tập các điểm chấp nhận được của bài toán (3.2) và x∗ ∈ Z tùy ý.
Nón tiếp xúc của Z tại x∗ được xác định là
Tz(x∗) := nd ∈ Rn | ∃{xk} ⊆ Z,∃{τk} ↓ 0 :xk → x∗,x
k−x∗ τk
→ do,
nón tuyến tính của Z tại x∗ được xác định bởi:
Lz(x∗) := d∈ Rn | ∇˜gi(x∗)Td ≤ 0(i ∈I˜g(x∗)), ∇h˜i(x∗)Td= 0(i = 1,2, ..., p) , và nón đối cực tới một nón tùy ý C ⊆ Rn được xác định là
C0 := s ∈Rn | ∀d∈ C : sTd≤ 0 .
Trên cơ sở những khái niệm ban đầu này, họ đã đưa ra định nghĩa.
Định nghĩa 3.2 Một điểm chấp nhận được x∗ của bài toán (3.2) được gọi là thỏa mãn
i) LICQ nếu các véctơ gradients ∇g˜i(x∗) | i ∈ Ig˜(x∗)} ∪ {∇˜hi(x∗) | i = 1,2, ..., p độc lập tuyến tính;
ii) ACQ nếu Tz(x∗) = Lz(x∗); iii) GCQ nếu Tz(x∗)◦ = Lz(x∗)◦.
Dễ thấy mối quan hệ
Giả sử X là tập chấp nhận được của (3.1) và xác định các tập chỉ số đối với x∗ ∈ X như sau
I˜g(x∗) := i |g˜i(x∗) = 0 ,
I0+(x∗) := i | ˆgi(x∗) = 0,ˆhi(x∗) > 0 , I00(x∗) := i |gˆi(x∗) = 0,ˆhi(x∗) = 0 , I+0(x∗) := i | ˆgi(x∗) >0,ˆhi(x∗) = 0 .
Định nghĩa 3.3 Cho x∗ là điểm chấp nhận được của bài toán MPEC (3.1), x∗ được gọi là:
i) Dừng yếu nếu có bộ λ ∈ Rm, µ ∈Rp, γ, ν ∈ Rq sao cho ∇f(x∗) + m X i=1 λi∇˜gi(x∗) + p X i=1 µi∇h˜i(x∗) − q X i=1 γi∇ˆgi(x∗)− q X i=1 νi∇hˆi(x∗) = 0 và λi ≥ 0, λi˜gi(x∗) = 0 (i = 1,2, ..., m), γi = 0(i ∈ I+0(x∗)), νi = 0 (i ∈ I0+(x∗));
ii) C - dừng nếu nó là dừng yếu và γiνi ≥ 0 với mọi i ∈ I00(x∗);
iii) M - dừng nếu nó là dừng yếu và γi > 0, νi > 0 hoặc γiνi = 0 với mọi i ∈I00(x∗);
iv) Dừng mạnh nếu nó là dừng yếu và γi > 0, νi > 0 với mọi i∈ I00(x∗); v) B - dừng nếu ∇f(x∗)Td ≥ 0 với mọi d∈ TX(x∗).
Các khái niệm trên có liên quan đến nhau, dễ thấy Dừng mạnh =⇒ M - dừng =⇒ C - dừng =⇒ dừng yếu.
Định nghĩa 3.4 Một điểm chấp nhận đượcx∗ củaM P EC (3.1) được gọi là thỏa mãn
i) M P EC −LICQ nếu gradients
∇g˜i(x∗) | i∈ Ig˜(x∗)} ∪ {∇˜hi(x∗) |i = 1,2, ..., p ∪
∇gˆi(x∗) | i ∈I00(x∗)∪I0+(x∗) ∪
độc lập tuyến tính,
ii) M P EC −GCQ nếu TX(x∗)◦ = LM P EC(x∗)◦, ở đây LM P EC(x∗) :=d ∈Rn | ∇g˜i(x∗)Td ≤ 0 ∀i ∈Ig˜(x∗), ∇h˜i(x∗)Td= 0 ∀i = 1,2, ..., p, ∇gˆi(x∗)Td= 0 ∀i ∈I0+(x∗), ∇hˆi(x∗)Td= 0 ∀i ∈I+0(x∗), ∇gˆi(x∗)Td≥ 0,∇hˆi(x∗)Td≥ 0 ∀i ∈ I00(x∗), ∇gˆi(x∗)Td ∇ˆhi(x∗)Td= 0 ∀i ∈I00(x∗) .
Để giải bài toán M P EC, Kadrani, Dussault và Benchakroun [27] đã sử dụng phương pháp hiệu chỉnh bằng cách thay thế những điều kiện bù
ˆ
gi(x) ≥ 0,hˆi(x)≥ 0,hgˆi(x),hˆi(x)i = 0,∀i = 1,2, ..., q (3.3) bởi
ˆ
gi(x) ≥ −t,ˆhi(x) ≥ −t,(ˆgi(x)−t)(ˆhi(x)−t) ≤ 0,∀i = 1,2, ..., q