Các tính chất chung của bài toán QHTT

Một phần của tài liệu ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN TOÁN KINH TẾ (Trang 41 - 58)

5.3.1. Tính chất 1: Sự tồn tại phương án cực biên của bài toán

Nếu bài toán có phương án và hạng của ma trận hệ ràng buộc bằng n (n là số biến số) thì bài toán có phương án cực biên.

5.3.2. Tính chất 2: Sự tồn tại phương án tối ưu của bài toán

Nếu bài toán có phương án và trị số hàm mục tiêu bị chặn dưới (trên) – khi f(x) ⇒ Min (Max) – trên tập phương án thì bài toán có phương án tối ưu.

Hơn nữa nếu biết bài toán có phương án cực biên thì với điều kiện trên, ta sẽ có kết luận mạnh hơn đó là bài toán có phương án cực biên tối ưu. Vì vậy đối với bài toán dạng chính tắc, tính chất trên có thể phát biểu:

- Nếu bài toán dạng chính tắc có phương án và trị số hàm mục tiêu bị chặn dưới (trên) – Khi f(x) ⇒ Min (Max) – trên tập phương án thì bài toán có phương án cực biên tối ưu.

5.3.3. Tính chất 3: Điều kiện tồn tại phương án cực biên tối ưu (PACBTƯ)

- Nếu một bài toán có phương án tối ưu và có phương án cực biên thì bao giờ cũng có PACBTƯ.

- Nếu bài toán dạng chuẩn có phương án tối ưu thì sẽ có phương án cực biên tối ưu. 5.3.4. Tính chất 4: Tính hữu hạn của số phương án cực biên của bài toán.

Số phương án cực biên của một bài toán quy hoạch tuyến tính là hữu hạn.

5.4. Phương pháp đơn hình giải bài toán quy hoạch tuyến tính

5.4.1. Nội dung của phương pháp

Bất kỳ bài toán QHTT dạng tổng quát nào cũng được đưa về bài toán chính tắc cho nên ta chỉ nghiên cứu bài toán dạng chính tắc.

Bài toán chính tắc nếu có phương án tối ưu thì sẽ có phương án cực biên tối ưu cho nên người ta chỉ quan tâm tới các phương án cực biên (nghĩa là tìm các phương án tối ưu trong các phương án cực biên)

Phương pháp đơn hình sẽ xuất phát từ một phương án cực biên nào đó sau đó di chuyển sang phương án cực biên tốt hơn. Sau một số hữu hạn bước sẽ đi đến một phương án tối ưu hoặc kết luận bài toán không giải được.

5.4.2. Đặc điểm của phương án cực biên của bài toán dạng chính tắc

Định lý 1: Phương án X của bài toán dạng chính tắc là cực biên khi và chỉ khi hệ thống các

vectơ (Aj) tương ứng với các thành phần dương (xj ≥ 0) của phương án tạo thành một hệ vectơ độc lập tuyến tính.

*Chú ý: (ta giả thiết hệ phương trình ràng buộc gồm m phương trình độc lập)

+ Theo định lý trên, một phương án trong bài toán dạng chính tắc là cực biên khi và chỉ khi số thành phần dương (> 0) trong phương án cùng lắm chỉ bằng m.

+ Nếu số thành phần dương đúng bằng m thì phương án là cực biên không suy biến. + Nếu số thành phần dương nhỏ hơn m thì phương án là PACB suy biến (số ràng buộc chặt < m).

5.4.3. Cơ sở của phương án cực biên

Định nghĩa: Cơ sở của phương án cực biên

Một hệ vectơ Aj độc lập tuyến tính bao hàm hệ thống các vectơ ứng với các thành phần dương của phương án cực biên x là cơ sở của phương án cực biên ấy, ký hiệu một cách ước lượng là J, trong đó: J = j : Aj thuộc cơ sở .

Lưu ý rằng chúng ta chỉ định nghĩa cơ sở của PACB đối với các PACB của bài toán dạng chính tắc mà thôi. Đối với PACB của bài toán dạng tổng quát sẽ không có khái niệm này.

Tóm lại, Khi ta nói phương án cực biên x (của bài toán dạng chính tắc) có cơ sở là J, cần phải hiểu (một cách quy ước) J có 3 nội dung sau:

- Số phần tử của J là m

- Aj : j ∈ J độc lập tuyến tính - Aj : j ∈ J ⊃ Aj : xj > 0

Đối với các thành phần của PACB x, ta sẽ gọi các thành phần xj (j ∈ J) là thành phần cơ sở, xk (k ∉J) là thành phần phi cơ sở, dễ dàng thấy rằng các thành phần phi cơ sở của phương án cực biên luôn bằng 0. Ngoài ra một phương án cực biên không suy biến thì mọi thành phần cơ sở đều dương, còn phương án cực biên suy biến thì ít nhất có một thành phần cơ sở bằng 0. Đối với các biến của bài toán, ta cũng phân loại theo cơ sở J, ta sẽ gọi các biến xj (j ∈ J) là các biến cơ sở, xk (k ∉ J) là các biến phi cơ sở.

5.4.4. Các định lý cơ bản của phương pháp đơn hình

+ Định lý 2: Dấu hiệu tối ưu của phương án cực biên

Nếu đối với phương án cực biên x0 với cơ sở J0 của bài toán dạng chính tắc mà:

∆ k ≤ 0 (∀k ∉ J0) [với bài toán có f(x) ⇒ Min] hoặc ∆k ≥ 0 ( ∀k ∉ J0) [với bài toán có f(x) ⇒

Max] thì x0 là phương án tối ưu. Trong đó: ∆k = ∑cjxjk - ck

+ Định lý 3: Dấu hiệu bài toán không giải được

Nếu đối với phương án cực biên x0 với cơ sở J0 của bài toán dạng chính tắc mà tồn tại ∆k > 0 mà xjk ≤ 0 (∀k ∉ J0) [ với f(x) ⇒ Min]

hoặc ∆k < 0 mà xj k ≤ 0 (∀k ∉ J0) [ với f(x) ⇒Max] thì bài toán sẽ không giải được (hàm mục tiêu không bị chặn trên tập phương án)

+ Định lý 4: Dấu hiệu điều chỉnh phương án cực biên

Nếu đối với phương án cực biên x0 với cơ sở J0 của bài toán dạng chính tắc mà: với mỗi ∆k > 0 đều tồn tại xj k > 0 [với f(x) ⇒ Min]

Hoặc: với mỗi ∆k < 0 đều tồn tại xj k > 0 [với f(x) ⇒ Max] thì ta có thể điều chỉnh PACB x0 để chuyển sang một phương án cực biên mới tốt hơn.

5.4.5. Thuật toán của phương pháp đơn hình

5.4.5.1. Bảng đơn hình

Để giải bài toán QHTT bằng phương pháp đơn hình thì cần phải có phương án cực biên ban đầu và cơ sở xuất phát. Ta giả sử bài toán QHTT chính tắc có phương án cực biên ban đầu x0 và cơ sở J0. Trong phương án cực biên x0 ta giả sử m thành phần ban đầu là thành phần cơ sở Xj = (x1, x2, …,xm). Khi đó ta sẽ thành lập 1 bảng trên đó ghi các vectơ cơ sở AJ và hệ số phân tích của các vectơ điều kiện Ak trong cơ sở J0 của phương án cực biên x0 bảng đó được gọi là bảng đơn hình.

Bảng đơn hình có cấu trúc giống như ma trận hàng và cột.

5.4.5.2. Các bước thực hiện thuật toán

Bước 1: Lập bảng đơn hình ứng với PACB x0

Bảng này ghi các số liệu liên quan tới x0 mà ta sẽ sử dụng trong quá trình giải bài toán, bao gồm: Hệ số phân tích của vectơ điều kiện Ak theo cơ sở J0, các thành phần cơ sở của x0, hệ thống ∆j và các dữ liệu khác theo mẫu bảng ở phần trên.

Sau khi lập xong bảng ta chuyển sang bước 2.

Bước 2: Kiểm tra dấu hiệu tối ưu của PACB

Dựa vào số liệu ghi ở dòng cuối của bảng đơn hình (từ cột 4 trở đi). Nếu : ∆k ≤ 0 (∀k ∉ J0) với bài toán có f(x) ⇒ Min

Hoặc: ∆k ≥ 0 (∀k ∉ J0) với bài toán có f(x) ⇒ Max Hệ số cj Cơ sở xJ P/A xJ0 c1 c2 .. cm cm + 1 …ck cS …cn x1 x2 .. xm xm + 1 …xk…xS …xn c1 c2 .. cr .. cm x1 x2 .. xr .. xm x10 x20 .. xr0 .. xm0 1 0 .. 0 x1m + 1 …x1k…x1S …x1n 0 1 .. 0 x2m + 1 …x2k…x2S …x2n .. . .. . .. … .. ……. 0 0 .. 0 xr m + 1 …xr k…xr S …xr n ……… 0 0 .. 1 xm m+ 1 …xm k…xm S …xm n f(x) 0 j J j jx c ∑ ε 0 0 .. 0 ∆m + 1 …∆k……∆S …∆n

Thì x0 là phương án tối ưu. Ta có giá trị tối ưu là f(x0). Quá trình giải kết thúc.

Nếu tồn tại một ∆k > 0 với bài toán có f(x) ⇒ Min hoặc ∆k < 0 với bài toán có f(x) ⇒

Max thì x0 không phải là phương án tối ưu, chuyển sang bước 3.

Bước 3: Kiểm tra tính không giải được của bài toán

Nếu tồn tại: một ∆k > 0 mà xj k ≤ 0 với mọi j ∈ J0 với bài toán có f(x) ⇒ Min hoặc một ∆k < 0 mà xj k ≤ 0 với mọi j ∈ J0 với bài toán có f(x) ⇒Max thì bài toán không giải được vì trị số hàm mục tiêu không bị chặn.

Nếu với mỗi ∆k > 0 đều có ít nhất một xjk > 0 với bài toán có f(x)⇒ Min hoặc với mỗi

∆k< 0 đều có ít nhất một xjk > 0 với bài toán có f(x)⇒Max thì chuyển sang bước 4.

Bước 4: Điều chỉnh PACB và lập bảng đơn hình mới

+ Chọn vectơ đưa vào cơ sở :

Tìm Max∆k với ∆k > 0 nếu bài toán có f(x) ⇒ Min, giả sử Max∆k = ∆S vectơ ∆S được đưa vào cơ sở.

Tìm Min∆k với ∆k < 0 nếu bài toán có f(x) ⇒ Max, giả sử Min∆k = ∆s vectơ As được đưa vào cơ sở.

+ Chọn vectơ đưa ra khỏi cơ sở:

Quy tắc áp dụng chung cho cả hai trường hợp: Bài toán có f(x) ⇒ Min và bài toán có f(x)

⇒ Max Tính θ0 = Min js j x x0 (j ∈ J0, xjs > 0), giả sử θ0 = rs r x x0

(r ∈ J0, xr s>0), vectơ Ar bị loại khỏi cơ sở, phần tử trục của phép biến đổi là xr s, trong bảng đóng khung phần tử này.

+ Biến đổi bảng:

Lập bảng đơn hình mới, ở vị trí xr ghi xs và ghi cs thay cho cr. Tính các dòng của bảng mới (bắt đầu từ cột thứ 3 trở đi) theo quy tắc sau:

- Để tính dòng tương ứng với vectơ đưa vào (ứng với xs) trong bảng mới ta lấy dòng ứng với vectơ loại ra (ứng với xr) trong bảng cũ chia cho phần tử trục. Dòng này được gọi là dòng chuẩn.

- Để tính dòng ứng với xj trong bảng mới, ta lấy dòng xj trong bảng cũ trừ đi dòng chuẩn sau khi nhân nó (dòng chuẩn) với xjs.

- Để tính dòng cuối của bảng mới, ta lấy dòng cuối của bảng cũ trừ đi dòng chuẩn sau khi nhân nó (dòng chuẩn) với ∆s.

Kết quả của quá trình biến đổi sẽ cho ta bảng đơn hình ứng với phương án cực biên mới x1, tốt hơn x0. Sau bước điều chỉnh này hàm mục tiêu f(x) sẽ thay đổi một lượng bằng ∆sθ0. Đối với x1 quay trở lại bước 1 và quá trình lặp lại sau một số hữu hạn bước lặp hoặc kết luận bài toán không giải được vì hàm mục tiêu không bị chặn hoặc tìm được phương án cực biên tối ưu. Chú ý rằng trong quá trình tính toán, các bảng đơn hình được lập kế tiếp nhau để thuận tiện cho việc biến đổi.

5.4.5.3. Các chú ý khi áp dụng thuật toán

+ Nếu việc ghi nhớ các dấu hiệu trong cùng một lúc đối với cả hai trường hợp bài toán có f(x)⇒Min và bài toán có f(x)⇒ Max là không thuận tiện thì ta có thể chỉ cần ghi nhớ một trường hợp, ví dụ trường hợp bài toán có f(x) ⇒ Min.

Khi cần giải bài toán có f(x) ⇒ Max thì có thể chuyển về giải bài toán với hàm g(x) = - f(x)

⇒Min (đổi dấu các hệ số trong hàm mục tiêu). chú ý là fMax = -gMin.

+ Nếu khi chọn vectơ đưa vào cơ sở, hoặc đưa ra khỏi cơ sở có nhiều vectơ thuộc diện lựa chọn thì tuỳ chọn một trong số đó.

+ Trường hợp bài toán suy biến thì θ0 có thể bằng 0, khi θ0 = 0 vẫn thực hiện thuật toán một cách bình thường, nghĩa là vectơ ứng với θ0 vẫn bị loại khỏi cơ sở.

5.4.6. Kỹ thuật biến giả

Kỹ thuật biến giả hay còn gọi là phương pháp đơn hình hai pha.

Bài toán dạng chính tắc nhưng không phải dạng chuẩn đồng thời không biết phương án cực biên, như vậy muốn áp dụng thuật toán cần phải tìm một phương án cực biên của bài toán dạng chính tắc. Xét bài toán dạng chính tắc: f(x) = ∑ = n j j j x c 1 ⇒ Min ∑ = n j j ijx a 1 = bi (i = 1,m) xj ≥ 0 ( j = 1,n)

Không làm mất tính tổng quát có thể giả thiết bi ≥ 0 ( i = 1,m). Từ bài toán đã cho xây dựng một bài toán phụ. ký hiệu là P bằng cách cộng vào vế trái phương trình ràng buộc i một biến giả xgi ≥ 0 ( i = 1,…, m) với hàm mục tiêu là tổng các biến giả đã thêm vào hàm mục tiêu này phải đạt cực tiểu. Ký hiệu xg∈ Rm, là vectơ các biến giả, tức là xg = (xg1, xg2,…, xgm) và ký hiệu hàm mục tiêu của bài toán phụ là P(x,xg). Khi đó bài toán phụ có dạng:

P(x, xg) = ∑ = m i g i x 1 ⇒ Min j n j ijx a ∑ =1 + xgi = bi ( i = 1,m) xj ≥ 0 ( J = 1,.., n), xgi ≥ 0 ( i = 1,m)

Từ cấu trúc của bài toán xuất phát và bài toán phụ dễ dàng suy ra rằng: x là phương án của bài toán xuất phát khi và chỉ khi (x, xg = 0) là phương án của bài toán P và do đó x là phương án cực biên của bài toán xuất phát khi và chỉ khi (x, xg = 0) là phương án cực biên của bài toán P. Vì vậy việc tìm phương án cực biên của bài toán xuất phát, nếu có sẽ dẫn tới tìm phương án của bài toán P có dạng (x, xg = 0), đối với nó P(x, xg = 0) = 0. Hơn nữa P(x,xg) ≥ 0 nên (x, xg = 0) chính là phương án tối ưu của bài toán P dẫn tới giải bài toán P, Bài toán P là bài toán dạng chuẩn và hàm mục tiêu bị chặn dưới nên luôn giải được. Dùng thuật toán giải bài toán P sau một số hữu hạn bước sẽ tìm được phương án tối ưu (x, xg). Ký hiệu P(x, xg) = P min. Có 2 trường hợp xảy ra:

1, Pmin > 0, khi đó bài toán xuất phát không có phương án. Thật vậy, nếu bài toán xuất phát có phương án x chẳng hạn thì vectơ (x, xg) là phương án của bài toán P và trị số của hàm mục tiêu tương ứng là: P(x, xg = 0) = 0 < Pmin. Mâu thuẫn với tính tối ưu của phương án (x, xg).

2, Pmin = 0. Khi đó xgi = 0 (i = 1,m), nghĩa là xg = 0, phương án tối ưu có dạng: (x, xg), suy ra x là phương án cực biên của bài toán xuất phát. Để áp dụng được thuật toán cho phương án cực biên x cần phải biết cơ sở của nó. Hai trường hợp có thể xảy ra:

a, Trong cơ sở của phương án cực biên tối ưu (x, xg = 0) không có các vectơ tương ứng với các biến giả, khi đó cơ sở của phương án cực biên này cũng là cơ sở của phương án cực biên x, để có bảng đơn hình tương ứng chỉ cần tính lại hàng ước lượng ∆k theo hàm f và tiếp tục thuật toán.

b, Trong cơ sở của phương án cực biên tối ưu (x, xg = 0) có ít nhất một vectơ biến giả, thành phần tương ứng xgi = 0, phương án cực biên là suy biến. Trường hợp này để tiếp tục tính toán, trước hết ta loại các cột ứng với ∆i(P)< 0 (và các cột xgi phi cơ sở), sau đó tính lại các ước lượng ∆k theo hàm f và tiếp tục thuật toán.

Khi giải bài toán P cần chú ý một số đặc điểm sau:

- Khi xây dựng bài toán phụ chỉ cộng thêm biến giả vào những phương trình cần thiết (nhằm tạo ma trận điều kiện của bài toán phụ có đủ m vectơ đơn vị).

- Một biến giả đã bị loại khỏi cơ sở thì cột tương ứng không cần tính ở các bước tiếp sau. - Chỉ được áp dụng công thức đổi cơ sở cho hàng ước lượng khi hai bảng kế tiếp có cùng tên hàm mục tiêu.

5.5. Phân tích quan hệ trong cặp bài toán đối ngẫu

5.5.1. Cách thành lập bài toán đối ngẫu

5.5.1.1. Cặp bài toán đối ngẫu không đối xứng Xét bài toán dạng chính tắc (I):

f(x) = j n j jx c ∑ =1 ⇒Min(Max) j n j ij x a ∑ =1 = bi ( i = 1,m) xj ≥ 0 ( j = 1,n)

Ta gọi bài toán này là bài toán gốc. Dựa vào cấu trúc của bài toán gốc (I), ta xây dựng một bài toán quy hoạch tuyến tính khác gọi là bài toán đối ngẫu của bài toán (I) có dạng sau:

) ( ~ y f = i m i iy b ∑ =1 ⇒ Max(Min) i m i ijy a ∑ =1 ≤ (≥) cj (j = 1,n)

Ký hiệu bài toán này là (Ĩ). Cặp bài toán (I, Ĩ) gọi là cặp bài toán đối ngẫu không đối xứng.

+ Nguyên tắc thành lập bài toán đối ngẫu

- Nếu f(x) ⇒ Min thì ~f(y) ⇒ Max và hệ ràng buộc của bài toán đối ngẫu có dạng “≤”. - Nếu f(x) ⇒ Max thì ~f(y) ⇒ Min và hệ ràng buộc của bài toán đối ngẫu có dạng “≥”. - Số ràng buộc (không kể ràng buộc dấu) trong bài toán này bằng số biến số trong bài toán kia, từ đó thấy tương ứng với một ràng buộc của bài toán này là một biến số của bài toán kia.

- Hệ số trong hàm mục tiêu của bài toán này là vế phải của hệ ràng buộc trong bài toán kia.

- Ma trận điều kiện trong hai bài toán là chuyển vị của nhau. - Các biến số trong bài toán đối ngẫu không có ràng buộc về dấu.

Khi phân tích quan hệ của hai bài toán đối ngẫu cần sử dụng một khái niệm quan trọng: Cặp ràng buộc đối ngẫu: Ta gọi 2 ràng buộc bất đẳng thức (kể cả ràng buộc dấu) trong hai bài toán cùng tương ứng với một chỉ số là một cặp ràng buộc đối ngẫu. Trong hai bài toán (I) và (Ĩ) có n cặp ràng buộc đối ngẫu: xi ≥ 0 ⇔ i

Một phần của tài liệu ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN TOÁN KINH TẾ (Trang 41 - 58)