Khái niệm nón bù

Một phần của tài liệu qui hoạch toàn phương và bài toán bù tuyến tính (Trang 34)

Trong bài toán bù LCP (q, M) các nón bù được xác định chỉ bởi ma trận M. Còn véctơ q không có vai trò gì trong hình thành các nón bù.

Giả sử M = (mij) là ma trận vuông cấp n cho trước. Ký hiệu Mj là véctơ cột thứ j của M, nghĩa là Mj = (m1j, . . . , mnj)T, và ej là véctơ cột đơn vị thứ j trong Rn (j = 1, . . . , n). Khi đó, cặp véctơ cột (ej, Mj) được gọi là một cặp véctơ bù (compementarity pair of vectors) thứ j, j = 1, . . . , n. Chọn một véctơ từ cặp (ej, Mj) và gọi véctơ đó là Aj. Tập tất cả véctơ có dạng (A1, . . . , An) được gọi là

tập véctơ bù (compementarity set of vectors). Nón Pos(A1, . . . , An) xác định bởi Pos(A1, . . . , An)≡ {y ∈ Rn :y = α1A1+. . .+αnAn, α1 > 0, . . . , αn >0}

được gọi là một nón bù (compementarity cone). Ký hiệu C(M) là tập tất cả các nón bù xây dựng được theo cách trên. Rõ ràng có tất cả 2n nón bù như thế. Ví dụ 3.3. Giả sử n = 2 và M = I (ma trận đơn vị cấp 2). Trong trường hợp này tập C(I) gồm bốn góc phần tư (orthants) trong R2. Như vậy, tập các nón bù là sự mở rộng của tập các orthant (Hình 3.3).

Hình 3.3: Khi M =Icác nón bù là 4 góc phần tư Hình 3.4 và 3.5 cung cấp thêm một số ví dụ về các nón bù. Hình 3.4: Các nón bù khiM = 2 −1 1 2 ! Hình 3.5: Các nón bù khiM = −2 1 1 −2 !

Trong ví dụ vẽ ở Hình 3.6, do hai véctơ {e1,−M2} phụ thuộc tuyến tính nên nónPos(e1,−M2)có phần trong rỗng. Nón này bao gồm tất cả các điểm trên trục hoành (trục tô đậm) ở Hình 3.6. Ba nón bù còn lại có phần trong khác rỗng.

Hình 3.6: Các nón bù khiM = 1 1 2 0

!

Giả sử Pos(A1, . . . , An) là một nón bù trong tập C(M). Nón đó gọi là nón bù không suy biến (nondegenerate complementarity cone) nếu nón có phần trong khác rỗng, tức là nếu hệ véctơ {A1, . . . , An} độc lập tuyến tính và gọi là nón bù suy biến (degenerate complementarity cone) nếu phần trong của nón bằng rỗng, trường hợp này xảy ra khi hệ véctơ {A1, . . . , An} phụ thuộc tuyến tính.

Chẳng hạn, tất cả các nón bù ở Hình 3.3, 3.4 và 3.5 đều không suy biến. Ở Hình 3.6,Pos(e1,−M2)là nón bù suy biến, ba nón bù còn lại đếu không suy biến. 3.3. Phương pháp liệt kê giải bài toán

Trước khi trình bày phương pháp liệt kê giải bài toán bù tuyến tính ta nhắc lại nội dung bài toán: Cho ma trậnM vuông cấp nvà véctơ cột q ∈Rn. Bài toán LCP (q, M) tương đương với bài toán tìm một nón bù thuộc tập C(M) chứa q, nghĩa là tìm tập véctơ bù {A1, . . . , An} sao cho:

(i) Aj ∈ {ej,−Mj} với mọi j = 1, . . . , n,

(ii)q biểu diễn được dưới dạng một tổ hợp tuyến tính không âm củaA1, . . . , An, trong đó Mj là véc tơ cột thứ j của M và ej là véctơ cột đơn vị thứ j trong Rn.

Điều này tương đương với tìm w ∈ Rn và z ∈ Rn thỏa mãn

n X j=1 ejwj − n X j=1 Mjzj =q

zj ≥ 0,wj ≥0 với mọi j và zj = 0 hoặc wj = 0 với mọi j. Với ký hiệu ma trận đó là:

z > 0, w > 0 (3.8) zjwj = 0, j = 1, . . . , n. (3.9) Điều kiện (3.8) và (3.9) tương đương với

n

X

j=1

zjwj = zTw = 0. Điều kiện này gọi là ràng buộc bù (complementarity constraint). Trong một nghiệm bất kỳ của bài toán LCP (q, M), nếu một biến trong cặp (zj, wj) là số dương thì biến kia phải bằng 0. Vì thế cặp(zj, wj) được gọi là cặp biến bù (complementarity pair of variables) thứ j và mỗi biến trong cặp này gọi là phần tử bù (complement) của biến kia. Trong (3.7) véctơ cột tương ứng với biến wj là véctơ đơn vị ej trong Rn và véctơ cột tương ứng vớizj là - Mj (Mj là véctơ cột thứ j của M),j = 1, . . . , n. Cặp (ej,−Mj)gọi là cặp véctơ bù thứ j của các véctơ cột trong LCP (q, M). Với mỗij = 1, . . . , n, lấyyj ∈ (zj, wj) và đặt Aj là véctơ tương ứng với yj trong (3.7). Vì thế Aj ∈ {ej,−Mj}. Khi đó, y = (y1, . . . , yn)T là véctơ biến bù của bài toán LCP. Tập sắp thứ tự {A1, . . . , An} là tập véctơ bù tương ứng với biến bù y và ma trận A gồm các véctơ cột A1, . . . , An theo thứ tự đã sắp gọi là ma trận bù

(complemetarity matrix) tương ứng với véctơ biến bù y. Nếu {A1, . . . , An} độc lập tuyến tính thìy được gọi làvéctơ biến bù cơ sở (complementarity basic vector of variables) của bài toán LCP này và ma trận bù A gồm các véctơ A1, . . . , An theo thứ tự đó được gọi làcơ sở bù (complementarity basic) của (3.7) tương ứng với véctơ biến bù cơ sở y.

Nón Pos(A1, . . . , An) = {x∈ Rn : x =α1A1+. . .+αnAn, α1 > 0, . . . , αn > 0}

là nón bù thuộc tập C(M) tương ứng với tập véctơ bù {A1, . . . , An} hay tương ứng với véctơ biến bù y. Một nghiệm (solution) của bài toán LCP (q, M) luôn được hiểu là cặp biến (z, w) thỏa mãn tất cả các ràng buộc (3.7) - (3.9).

Một véctơ cơ sở chấp nhận được bù (complementarity feasible basic vec-tor) của bài toán LCP này là một véctơ cơ sở bù thỏa mãn tính chất là q có thể biểu diễn được như một tổ hợp tuyến tính không âm của các véctơ cột trong cơ sở bù tương ứng. Như vậy mỗi véctơ cơ sở chấp nhận được bù là một nghiệm của bài toán bù LCP.

Hợp của tất cả các nón bù tương ứng với ma trận vuông M đã cho được ký hiệu là K(M). Rõ ràng K(M) là tập tất cả các véctơ q mà LCP (q, M) có ít nhất một nghiệm.

Ta nói véctơ z dẫn tới một nghiệm (leads to a solution) của bài toán bù LCP (q, M) nếu cặp biến (w =M z+q, z) là một nghiệm của bài toán LCP này.

Để minh họa, bảng sau đây liệt kê tất cả các véctơ biến bù và các ma trận bù tương ứng của bài toán bù cấp 2 (n= 2) cho bởi (3.3).

Véctơ biến bù Ma trận bù tương ứng

(z1, z2)     −2 −1 −1 −2     (z1, w2)     −2 0 −1 1     (w1, z2)     1 −1 0 −2     (w1, w2)     1 0 0 1    

Do mọi ma trận bù của (3.3) là không suy biến nên tất cả các véctơ bù là véctơ cơ sở bù và các ma trận bù là các cơ sở bù trong bài toán LCP này. Do q = (−5,−6)T trong (3.3) biểu diễn được như một tổ hợp tuyến tính không âm của các véctơ bù tương ứng với các biến (z1, z2) nên (z1, z2) là một véctơ cơ sở chấp nhận được bù của bài toán LCP này. Có thể vẽ ra tất cả các nón bù tương ứng với bài toán LCP này trên mặt phẳng và kiểm tra lại rằng đối với bài toán LCP này thì hợp của tất cả các nón bù là tập K(M) = R2 (xem Hình 3.7).

Hình 3.7: Các nón bù khiM = 2 1 1 2

!

và hợp K(M) = R2

nghiệm bù bất kỳ của bài toán LCP này với mọi j = 1, . . . , n ta phải có hoặc zj = 0 hoặc wj = 0.

Điều này làm cho bài toán LCP giống như một bài toán tổ hợp hơn là một bài toán phi tuyến. Từ đó tự động dẫn tới phương pháp liệt kê tìm nghiệm bài toán LCP như sau:

Có tất cả 2n véctơ biến bù. Giả sử: yk = (yk1, . . . , ynk), k = 1, . . . ,2n

Trong đó yki ∈ {zj, wj}với mọi j = 1, . . . , n là tất cả các véctơ biến bù. Giả sử Bk là ma trận bù tương ứng với yk, k = 1, . . . , n. Giải hệ (Pk):

Bkyk = q, yk > 0. (Pk)

Có thể giải hệ này bằng cách dùng pha I của phương pháp đơn hình trong qui hoạch tuyến tính hoặc bằng phương pháp bất kỳ giải hệ phương trình và bất phương trình tuyến tính. Nếu hệ này có nghiệm chấp nhận được yk thì yk = yk và mọi biến khác không có trong yk bằng 0 là một nghiệm của bài toán LCP (q, M). Nếu ma trận bù Bk suy biến thì hệ (Pk) có thể vô nghiệm hoặc có một hay vô số nghiệm chấp nhận được. Mỗi nghiệm chấp nhận được của (Pk) dẫn tới một nghiệm của bài toán LCP (q, M) như đã nói ở trên. Nếu việc này được lặp lại cho mọi k = 1, . . . ,2n thì có thể nhận được tất cả các nghiệm của bài toán LCP (q, M). Cách đã trình bày ở mục 3.1 để giải bài toán LCP cấp 2 xét ở Ví dụ 3.2 chính là thực hiện theo phương pháp liệt kê này.

Phương pháp liệt kê này chỉ tiện dùng khi n = 2, vì 22 = 4 nhỏ và cần kiểm tra xem hệ (Pk) có nghiệm vớik nào không. Ta có thể vẽ nón bù tương ứng trong mặt phẳng và kiểm tra xem nón có chứa q không. Khi n > 2, đặc biệt với n lớn, phương pháp liệt kê này trở nên không thực tế vì 2n tăng rất nhanh. Trong các tài liệu chuyên về bài toán bù LCP có trình bày các thuật toán hiệu qủa cho các lớp bài toán bù đặc biệt, nảy sinh trong một số ứng dụng thực tiễn. Nói chung, bài toán bù tuyến tính là một bài toán khó (hard problem). Luận văn này chỉ hạn chế trình bày thuật toán liệt kê, bảo đảm giải được bài toán bù tuyến tính tổng quát.

3.4. Ứng dụng vào qui hoạch tuyến tính

Xét bài toán qui hoạch tuyến tính ở dạng chuẩn sau.

min{f(x) = cTx: Ax > b, x >0}, (3.10) trong đó A ∈Rm×n, b∈ Rm và c∈ Rn cho trước, x∈ Rn là véctơ biến cần tìm.

Giả sử x là một nghiệm tối ưu của bài toán (3.10), theo lý thuyết đối ngẫu trong qui hoạch tuyến tính, tồn tại véctơ biến đối ngẫu y ∈ Rm, biến bù gốc v ∈ Rm và biến bù đối ngẫu u∈ Rn thỏa mãn

u v ! − 0 −A T A 0 ! × x y ! = c −b ! , (3.11) x y ! > 0, u v ! > 0 và x y !T u v ! = 0. (3.12)

Ngược lại, nếu x, y, u, v cùng nhau thỏa mãn các ràng buộc (3.11), (3.12) thì x là một nghiệm tối ưu của (3.10). Đặt

z = x y ! , w = u v ! , q = c −b ! , M = 0 −AT A 0 ! .

Khi đó, hệ (3.11), (3.12) chính là bài toán LCP (q, M) cấp n+m dạng (3.7), (3.9). Có thể giải qui hoạch tuyến tính (3.10) bằng cách giải bài toán bù tuyến tính (3.11) - (3.12).

Cũng vậy, các cặp biến bù khác nhau trong bài toán bù (3.11) - (3.12) trùng với cặp (biến gốc, biến đối ngẫu) của qui hoạch tuyến tính (3.10) và đối ngẫu của nó.

Ví dụ 3.4. Để làm ví dụ ta xét bài toán qui hoạch tuyến tính sau. 2x1+ 5x2+ 4x3 →min

với điều kiện: 3x1+x2+x3 > 4 x1+x2+ 2x3 > 5 x1 >0, x2 > 0, x3 > 0.

Thêm vào biến bù v1, v2 đưa ràng buộc bất đẳng thức về dạng đẳng thức: 3x1+x2+x3−v1 = 4 hay v1 = 3x1+x2+x3−4> 0

x1+x2+ 2x3−v2 = 5 hay v2 = x1+x2+ 2x3−5> 0.

• Đối ngẫu của bài toán qui hoạch tuyến tính đang xét là bài toán 2x1+ 5x2+ 4x3 →max

với điều kiện: 3y1+y2 62, y1+y2 6 5, y1+ 2y2 64, y1 > 0, y2 > 0.

Thêm vào biến bù u1, u2, u3 đưa ràng buộc đối ngẫu về dạng đẳng thức: 3y1+y2+u1 = 2 hay u1 = 2−3y1−y2 > 0

y1+y2+u2 = 5 hay u2 = 5−y1−y2 > 0 y1+ 2y2+u3 = 4 hay u3 = 4−y1−2y2 > 0.

• Khi đó, theo lý thuyết đối ngẫu của qui hoạch tuyến tính, các hệ ràng buộc gốc và đối ngẫu cùng với các điều kiện về độ lệch bù của tối ưu là:

3x1+ x2+ x3−v1 = 4 x1 + x2+ 2x3 −v2 = 5 3y1+ y2 +u1 = 2

y1+ y2 +u2 = 5

y1+ 2y2 +u3 = 4 x1, x2, x3, y1, y2, u1, u2, u3, v1, v2 > 0 x1u1 = x2u2 = x3u3 =y1v1 =y2v2 = 0.

Đây chính là bài toán bù tuyến tính dạng (3.11) - (3.12):

u1 u2 u3 v1 v2 x1 x2 x3 y1 y2 q 1 0 0 0 0 0 0 0 3 1 2 0 1 0 0 0 0 0 0 1 1 5 0 0 1 0 0 0 0 0 1 2 4 0 0 0 1 0 -3 -1 -1 0 0 -4 0 0 0 0 1 -1 -1 -2 0 0 -5

u1, u2, u3, v1, v2, x1, x2, x3, y1, y2 > 0 x1u1 = x2u2 = x3u3 =y1v1 =y2v2 = 0.

3.5. Quan hệ với qui hoạch toàn phương

Bài toán bù tuyến tính LCP(q, M) có thể qui về qui hoạch toàn phương: min{ϕ(z) =zT(q+M z) : q+M z > 0, z > 0}.

Để ý là ϕ(z) = zT(q+M z) =qTz+1 2z

T(M +MT)z với (M+MT) là ma trận vuông đối xứng. Ký hiệu D = {z ∈ Rn : q+M z > 0, z > 0} là miền ràng buộc của bài toán này. Nếu D 6= 0 thì hàm bậc hai ϕ bị chặn dưới (bởi 0) trên D. Vì thế, theo Định lý Frank - Wolfe ϕ đạt cực tiểu trênD, nghĩa là bài toán bù LCP (q, M) có nghiệm.

Ngược lại, bài toán qui hoạch toàn phương:

min{f(x) = 1

2x

T

Qx+cTx: Ax > b, x> 0}, (QP)

trong đóQ ∈ Sn (ma trận vuông đối xứng cấp n), A ∈ Rm×n, b ∈Rm có thể xem như một bài toán bù.

Thật vậy, theo Định lý 2.3, để véctơx ∈Rn là một nghiệm tối ưu của bài toán (QP) thì điều kiện cần là tìm được các véctơ y ∈ Rm, u ∈ Rn, v ∈ Rm nghiệm đúng u v ! − Q −A T A 0 ! x y ! = c −b ! , (3.13) u v ! > 0, x y ! > 0, u v ! x y ! = 0. (3.14)

Các điều kiện (3.13) - (3.14) là điều kiện KKT của (QP). Thêm vào đó, nếu hàm mục tiêu f(x) của (QP) là hàm lồi, tức là nếu Q là ma trận nửa xác định dương, và nếu x∈ Rn thỏa mãn điều kiện KKT của (QP) thì theo Định lý 2.5, x sẽ là một nghiệm tối ưu của bài toán (QP).

Hệ (3.13), (3.14) chính là bài toán bù tuyến tính LCP (q, M) cấp n+m dạng (3.7) - (3.9) với z = x y ! , w = u v ! , q = c −b ! , M = Q −AT A 0 ! .

Vì thế, có thể giải qui hoạch toàn phương (QP) với hàm mục tiêu lồi bằng cách giải bài toán bù tuyến tính (3.13), (3.14).

Trường hợp riêng khiQ = 0, bài toán (QP) trở thành bài toán qui hoạch tuyến tính dạng (3.10) và hệ điều kiện (3.13) - (3.14) trở thành hệ điều kiện đã xét (3.11) - (3.12).

Ví dụ 3.5. Xét bài toán qui hoạch toàn phương f(x) = 1

2x

T

Qx+cTx= x21+ 4x22−8x1 −16x2 →min

với các điều kiện: −x1−x2 > −5,−x1 > −3, x1 > 0, x2 > 0. Dữ liệu và các biến của bài toán bao gồm

Q = 2 0 0 8 ! , A= −1 −1 −1 0 ! , b= −5 −3 ! , c = −8 −16 ! .

Dễ thấy ma trận Q xác định dương nên hệ điều kiện KKT sau đây là cần và đủ cho nghiệm cực tiểu toàn cục của bài toán:

u1 −2x1 −y1−y2 =−8 u2 −8x2 −y1 =−16 v1 +x1+x2 = 5 v2+x1 = 3 x1, x2, y1, y2, u1, u2, v1, v2 > 0 x1u1 = x2u2 =y1v1 =y2v2 = 0 Đây chính là bài toán bù tuyến tính dạng (3.13) - (3.14):

u1 u2 v1 v2 x1 x2 y1 y2 q

1 0 0 0 -2 0 -1 -1 -8 0 1 0 0 0 -8 -1 0 -16 0 0 1 0 1 1 0 0 5 0 0 0 1 1 0 0 0 3

x1, x2, y1, y2, u1, u2, v1, v2 > 0 x1u1 =x2u2 =y1v1 =y2v2 = 0.

Giải hệ điều kiện KKT nêu trên, tức giải bài toán bù tuyến tính, ta nhận được nghiệm tối ưu của qui hoạch toàn phương là x∗ = (3,2)T với fmin = - 31 (tương ứng với y∗ = (0,2)T và u∗ = v∗ = (0,0)T).

Tóm lại, chương này đã trình bày khái quát về bài toán bù tuyến tính, cách giải bài toán dựa trên khái niệm nón bù và chỉ ra rằng bài toán qui hoạch tuyến tính và qui hoạch toàn phương có thể qui về bài toán bù tuyến tính.

Kết luận

Qui hoạch toàn phương là cầu nối giữa qui hoạch tuyến tính và qui hoạch phi tuyến và là một bộ phận quan trọng của qui hoạch phi tuyến đã được nghiên cứu khá kỹ, đặc biệt là qui hoạch toàn phương lồi. Bài toán qui hoạch toàn phương nói chung và bài toán qui hoạch tuyến tính nói riêng liên quan mật thiết với bài toán bù tuyến tính.

Luận văn đã đã trình bày những nội dung cụ thể sau:

1. Các kiến thức cơ sở và một số kết quả lý thuyết cần thiết về ma trận xác định dương, nửa xác định dương, cách kiểm tra tính xác định của ma trận. Các ma trận xác định dương và nửa xác định dương liên quan chặt chẽ với hàm toàn phương và qui hoạch toàn phương.

2. Một số kết qủa lý thuyết cơ bản về bài toán qui hoạch toàn phương (lồi

Một phần của tài liệu qui hoạch toàn phương và bài toán bù tuyến tính (Trang 34)

Tải bản đầy đủ (PDF)

(46 trang)