CHƯƠNG 5 QUY HOẠCH TUYẾN TÍNH
5.1 Định nghĩa quy hoạch tuyến tính
Bài toán quy hoạch tuyến tính tổng quá được phát biểu như sau:
Min{f(x) = c,x | xD },
Trong đó c = (c1, c2,...,cn)T Rn là tập lồi đa diện được xác định bởi hệ phương
trình và bất phương trình tuyến tính ai1x1 +ai2x2 +...+ainxn = bi, i L1 ai1x1 +ai2x2 +...+ainxn = bi, i L2 ai1x1 +ai2x2 +...+ainxn = bi, i L3 trong đó L1 L2 L3 = { 1, 2,...,l} là tập các chỉ số, các hệ số aij và bi, i = 1,...,l, j = 1,...,n là các hằng sốcho trước.
Nhắc lại rằng, trong bài toán trên, ta gọi
f(x) = c,x = c1x1 +...+cnxn là hàm mục tiêu;
cj, j = 1,...,n là các hệ số của hàm mục tiêu;
xj, j = 1,...,n là xác biến;
ai,x = (, ) bi, i = 1,...,l là các ràng buộc;
Tập lồi đa diện D được gọi tập nghiệm chấp nhận được hay tập ràng buộc. Mỗi
điểm xD được gọi là một nghiệm chấp nhận được hay một phương án chấp nhận được (có thể gọi tắt là phương án). Điểm x*D mà
f(x*) = c,x* f(x) = c,x với mọi xD
được gọi là nghiệm tối ưu hoặc phương án tối ưu hay lời giải của bài toán. Giá trị
tối ưu của bài toán này được ký hiệu là min {c,x | xD}
Ta nói phương án 𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑛)𝑇 thỏa mã chặt ràng buộc i0, i0 {1,...,l} nếu
∑ 𝑎𝑖0𝑗𝑥𝑗 = 𝑏𝑖0 𝑛
𝑗=1
Một phương án thỏa mãn chặt n ràng buộc độc lập tuyến tính được gọi là một
phương án cực biên. Phương án cực biên thỏa mãn chặt đúng n ràng buộc được gọi là phương án cực biên không suy biến; thỏa mẵn chặt hơn n ràng buộc gọi là
phương án cực biên suy biến.
5.2 Sự tồn tại nghiệm và tính chất tập nghiệm quy hoạch tuyến tính 5.2.1 Sự tồn tại nghiệm
Các bài toán quy hoạch tuyến tính luôn có nhiều khả năng để lựa chọn. Ví dụ như
một công ty phát triển kinh doanh nhà có kế hoạc xây dựng ba kiêu nhà, có thể sử
dụng quy hoạch tuyến tính để quyết định xây dựng bao nhiêu mét vuông nhà mỗi kiểu trong điều kiện diện tích đất, vốn đầu tư và năng lực thi công bị giới hạn. Nên chăng chỉ xây dựng toàn bộ kiểu nhà A? Hay xây dựng cả ba kiêu r nhà có diện tích bằng nhau? Hay xây dựng nhà mỗi kiểu sao cho tận dụng hết toàn bộ diện tích
đất và năng lực thi công? Nói tóm lại, muốn tìm được lời giải của một bài toán tối
ưu, trước hết ta phải có cách nào đó nhận biết được xem nghiệm ấy có tồn tại hay
không đã rồi mới đưa ra cách để tìm nó.
Ta biết trong bài toán tối ưu có hai đối tượng quan trọng: Tập ràng buộc và hàm mục tiêu xác định trên tập đó. Vì thếkhi ta xét đến điều kiện để tồn tại nghiệm tối
Ví dụ, trong giải tích cổđiển, định lý Weierstrass khẳng định rằng một hàm liên tục trên một tập compact hay mở rộng là một hàm nửa liên tục dưới trên một tập compact khác rỗng bao giờ cũng đạt trên tập compact giá trị lớn nhất và giá trị nhỏ
nhất . Nói cách khác, một bài toán tối ưu có dữ kiện như vậy bao giờ cũng có
nghiệm tối ưu. Đối với bài toán tối ưu trơn, nếu một điểm nào đó thuộc phần trong của miền nghiệm tối ưu thì đạo hàm của hàm số tại điểm ấy phải bằng không. Điều kiện như vậy được gọi là điều kiện cần tối ưu. Vậy muốn tìm nghiệm tối ưu của bài toán này, ta chỉ cần tìm trên tập con của miền ràng buộc mà trên đó đạo hàm của hàm số triệt tiêu. Tại những điểm này mà ta sử dụng những điều kiện liên quan tới
đạo hàm bậc nhất đểsuy ra hàm đạt giá trị tối ưu thì những điều kiện đóđược gọi
là điều kiện đủ tối ưu cấp một. Tiếp theo, nếu hàm sốcó đạo hàm bậc hai và tại những điểm của tập con này, đạo hàm bậc hai dương chặt (hoặc âm chặt) thì điểm
ấy chính là nghiệm tối ưu của bài toán. Điều kiện này được gọi là điều kiệu tối ưu
cấp hai.
Xét bài toán quy hoạch tuyến tính tổng quát
min{〈𝑐, 𝑥〉|𝑥 ∈ 𝐷}, (𝐿𝑃) trong đó 𝑐 ∈ ℝ𝑛 và 𝐷 ⊂ ℝ𝑛 là tập lồi đa diện khác rỗng.
Định lý 1.1.Nếu tập nghiệm chấp nhận được D khác rỗng và bị chặn thì bài toán quy hoạch tuyến tính (LP) luôn có nghiệm tối ưu.
Chứng minh. Theo định nghĩa, tập lồi đa diện là tập đóng. Thêm tính bị chặn nên ta có D là tập compac. Hàm tuyến tính là hàm liên tục. Theo Định lý
Trong trường hợp tập nghiệm chấp nhận được D khác rỗng và không bị chặn, bài toàn (LP) có thể không có nghiệm. Tuy nhiên, nếu hàm mục tiêu 𝑓(𝑥) = 〈𝑐, 𝑥〉
bị chặn dưới trên D thì bài toán (LP) luôn có nghiêm tối ưu.
Định lý 5.2.Nếu tập chấp nhận được D khác rỗng và hàm mục tiêu 𝑓(𝑥) = 〈𝑐, 𝑥〉
bị chặn dưới tên D thì bài toán quy hoạch tuyến tính (LP) luôn có nghiệm tối ưu. Chứng minh.Vì mọi quy hoạch tuyến tính đều có thể chuyển về dạng chuẩn tắc hoặc chính tắc nên không giảm tổng quát ta giả thiết lập D có đỉnh. Theo Định lý biểu diễn tập lồi đa diện, bất kì 𝑥 ∈ 𝐷 đều có thể được biểu diễn dưới dạng
𝑥 = ∑ 𝜆𝑖𝑣𝑖 𝑁 𝑖=1 + ∑ 𝜇𝑗𝑑𝑗 𝑀 𝑗=1 , (1) 𝜆𝑖 ≥ 0, 𝑖 = 1, … , 𝑁, 𝜇𝑗 ≥ 0, 𝑗 = 1, … , 𝑀, ∑ 𝜆𝑖 𝑁 𝑖=1 = 1
trong đó 𝑣1, … , 𝑣𝑁 là các đỉnh và 𝑑1, … , 𝑑𝑀 là các phương cực biên của D. Do hàm mục tiêu 𝑓(𝑥) = 〈𝑐, 𝑥〉 bị chặn dưới trên D nên
〈𝑐, 𝑑𝑗〉 ≥ 0 ∀𝑑𝑗, 𝑗 = 1, … , 𝑀. (2)
Thật vậy, giả sử tồn tại 𝑗0 ∈ {1, … , 𝑀} sao cho 〈𝑐, 𝑑𝑗0〉 < 0. Vì d j0 là một phương
cực biên nên
𝑥 + 𝑡𝑑𝑗0 ∈ 𝐷 ∀𝑥 ∈ 𝐷, ∀𝑡 ≥ 0
và
〈𝑐, 𝑥 + 𝑡𝑑𝑗0〉 = 〈𝑐, 𝑥〉 + 𝑡〈𝑐, 𝑑𝑗0〉 → −∞ 𝑘ℎ𝑖 𝑡 → +∞
Điều này mâu thuẫn với tính bị chặn dưới của hàm 𝑓(𝑥) = 〈𝑐, 𝑥〉 và chứng tỏ
Chọn một đỉnh 𝑣𝑖0 của D sao cho 〈𝑐, 𝑣𝑖0〉 = min {〈𝑐, 𝑣𝑖0〉|𝑖 = 1, … , 𝑁}. Theo (1) và (2), với bất kỳ𝑥 ∈ 𝐷, ta có 〈𝑐, 𝑥〉 = ∑ 𝜆𝑖〈𝑐, 𝑣𝑖〉 𝑁 𝑖=1 + ∑ 𝜇𝑗〈𝑐, 𝑑𝑗〉 𝑀 𝑗=1 ≥ ∑ 𝜆𝑖〈𝑐, 𝑣𝑖〉 𝑁 𝑖=1 ≥ ∑ 𝜆𝑖〈𝑐, 𝑣𝑖0〉 = 𝑁 𝑖=1 〈𝑐, 𝑣𝑖0〉 Điều đó chứng tỏ𝑣𝑖0 là nghiệm tối ưu của bài toán (LP).
Chú ý 5.2. Kết luận của Định lý 5.2 nói chung không còn đúng đối với bài toán phi tuyến. Ví dụ:
i) Bài toán
inf {𝑓(𝑥) = 𝑥2|𝑥 ∈ 𝐷},
trong đó 𝐷 = {𝑥 ∈ ℝ2|𝑥1𝑥2 ≥ 1, 𝑥1, 𝑥2 ≥ 0}, có hàm mục tiêu là tuyến tính và bị
chặn dưới bởi 0. Tập nghiệm chấp nhận được D là tập lồi khác rỗng nhưng không
phải tập lồi đa diện. Đây không phải là bài toán quy hoạch tuyến tính và dễ thấy,
𝑥 = (𝑥1, 0)𝑇 ∉ 𝐷 với mọi 𝑥1 ≥ 0. Vì thế bài toán này không có nghiệm tối ưu
(Xem Hình 3.1(a)) và inf 𝑓(𝐷) = 0;
ii) Bài toán
min{𝑓(𝑥) = 𝑒𝑥|𝑥 ∈ 𝐷},
trong đó 𝐷 = {𝑥 ∈ ℝ|𝑥 ≤ 0}, có tập chấp nhận được là tập lồi đa diện nhưng hàm
mục tiêu là phi tuyến và cũng bị chặn dưới bởi 0. Rõ ràng cũng không tồn tại một
điểm 𝑥 ∈ 𝐷 để𝑒𝑥 = 0 và bài toán này không có nghiệm tối ưu (Xem Hình 3.1(b)),
5.2.2 Tính chất tập nghiệm
Định lý 5.3.Nếu bài toán quy hoạch tuyến tính (LP) có nghiệm tối ưu thì tập nghiệm tối ưu của nó là một diện của tập lồi đa diện chấp nhận được.
Chứng minh. Nhắc lại, tập con lồi khác rỗng 𝐹 ⊂ 𝐷 được gọi là một diện của tập lồi đa diện D nếu
𝑦, 𝑧 ∈ 𝐷 𝑣à 𝑥 ∈ 𝐹, 𝑥 = 𝜆𝑦 + (1 − 𝜆)𝑧, 0 < 𝜆 < 1 ⟹ 𝑦 ∈ 𝐹, 𝑧 ∈ 𝐹
Ký hiệu tập nghiệm tối ưu của bài toàn (LP) là 𝐹∗ = 𝑎𝑟𝑐𝑚𝑖𝑛{〈𝑐, 𝑥〉|𝑥 ∈ 𝐷}. Cho
𝑦, 𝑧 ∈ 𝐷, 𝑥 ∈ 𝐹∗ với , 𝑥 = 𝜆𝑦 + (1 − 𝜆)𝑧 và 0 < 𝜆 < 1 . Ta phải chứng minh
𝑦 ∈ 𝐹∗, 𝑧 ∈ 𝐹∗. Giả sử 〈𝑐, 𝑦〉 ≥ 〈𝑐, 𝑧〉. Khi đó
〈𝑐, 𝑥〉 = 𝜆〈𝑐, 𝑦〉 + (1 − 𝜆)〈𝑐, 𝑧〉 ≥ 𝜆〈𝑐, 𝑧〉 + (1 − 𝜆)〈𝑐, 𝑧〉 = 〈𝑐, 𝑧〉. (3)
Vì 𝑧 ∈ 𝐷 và 𝑥 ∈ 𝐹∗, tức x là một nghiệm tối ưu của bài toán (LP), nên
〈𝑐, 𝑥〉 ≤ 〈𝑐, 𝑧〉. (4)
Từ (3) và (4) suy ra 〈𝑐, 𝑥〉 = 〈𝑐, 𝑧〉, hay 𝑧 ∈ 𝐹∗. Hơn nữa ta có
Do đó 〈𝑐, 𝑦〉 = 〈𝑐, 𝑥〉. hay 𝑦 ∈ 𝐹∗. Theo định nghĩa, 𝐹∗ là một diện của D.
Hệ quả 1.1 Nếu một quy hoạch tuyến tính có nghiệm tối ưu và tập lồi đa diện ràng buộc có đỉnh thì nghiệm tối ưu phải đạt tại ít nhất một đỉnh, tức đạt tại ít nhất một phương án cực biên.
Chứng minh.Theo định nghĩa, phương án cực biên chính là một đỉnh của tập lồi đa
diện chấp nhận được của bài toán quy hoạch tuyến tính. Hệ quả được suy trực tiếp từ Định lý 5.3 và sự kiện là đỉnh của một diễn của một tập lồi đa diện cũng chính là đỉnh của tập lồi đa diện đó (Hệ quả 5.3).
Định lý 5.4. Nếu x* là nghiệm tối ưu địa phương của bài toán quy hoạch tuyến tính (LP) thì x*cũng là nghiệm tối ưu toàn cục.
Chứng minh.
Giả sử 𝑥∗ ∈ 𝐷 là nghiệm tối ưu địa phương cả bài toán (LP). Thẹo định
nghĩa, tồn tại một hình cầu mở 𝐵(𝑥∗, 𝜀) sao cho
〈𝑐, 𝑥∗〉 ≤ 〈𝑐, 𝑥〉 ∀𝑥 ∈ 𝐵(𝑥∗, 𝜀) ∩ 𝐷.
Giả sử phản chứng rằng x* không phải nghiệm tối ưu toàn cục của bài toán (LP). tức tồn tại 𝑥̅ ∈ 𝐷 thoả mãn 〈𝑐, 𝑥̅〉 < 〈𝑐, 𝑥∗〉. Do D là tập lồi đa diện nên nó chứa cả đoạn thẳng nối 𝑥∗ và 𝑥̅. Lấy điểm x0 nằm trong đoạn thẳng này và 𝑥0 ∈ 𝐵(𝑥∗, 𝜀), tức 𝑥0 = 𝜆𝑥∗+ (1 − 𝜆)𝑥̅ 𝑣ớ𝑖 0 < 𝜆 < 1. Ta có
〈𝑐, 𝑥0〉 = 𝜆〈𝑐, 𝑥∗〉 + (1 − 𝜆)〈𝑐, 𝑥̅〉 < 𝜆〈𝑐, 𝑥∗〉 + (1 − 𝜆)〈𝑐, 𝑥∗〉 = 〈𝑐, 𝑥∗〉. Điều này mâu thuẫn với tính cực tiểu đia phương của x* và chứng tỏ giả thiết phản chứng là sai.
5.3 Giải bài toán quy hoạch tuyến tính hai biến bằng phương pháp hình học học
Một bài toán lập trình tuyến tính chỉ có hai biến trình bày một trường hợp đơn giản giải pháp có thể thu được bằng cách sử dụng một phương pháp hình học khá cơ
bản. Riêng biệt từ giải pháp, phương pháp đồ họa đưa ra một bức tranh vật lý về
hình học nhất định đặc điểm của các bài toán lập trình tuyến tính. Ví dụsau được coi là để minh họa phươngpháp đồ họa của giải pháp.(Lan, 2015)
+Ví dụ:
Một lò gốm hàng ngày sản xuất hai mặt hàng cao cấp là đôn sứ(Đ) và bình bông (B). Sản lượng được giới hạn là đất sét trắng và số thợ lành nghề. Sốđát sét và số lao động hàng ngày đưuọc cung cấp lần lượt là 240kg và 100 giờ. Để làm được đôn sứ, cần 4kg đôn sứ và 2 giờ công lao động. Để là được bình bông cần 3kh đất sét và 1 giờ công. Đơn giá cho đôn sứ là 70000 đồng và bìn bông là 50000 đồng. Vậy sản xuuát như thế nào đưuọc doanh thu cao nhất.
Tóm tắt qua bảng
Tài nguyên để sản xuất ra một sản phẩm
Tài nguyên Đôn sứ Bình bông Khả năng đáp ứng
đất sét 4 3 240
giờ công 2 1 100
Giá bán(10000 đồng) 7 5 Sử dụng thuật toán quy hoạch tuyến tính:
Bước 1: Đặt tên biến
Gọi x1,x2 lần lượt là sốđôn sứ và bình bông sản xuất mỗi ngày
Bước 2: xác định hàm mục tiêu
Để có được doanh thu lớn nhất: 𝑍 = 7𝑥1+ 5𝑥2
Bước 3:Xác định các rang buộc
Với điều kiện là tổng lượng tài nguyên sử dụng pahir nhở hơn hoặc bằng tổng
4𝑥1+ 3𝑥2 ≤ 240 (đấ𝑡 𝑠é𝑡)(1); 2𝑥1+ 1𝑥2 ≤ 100( 𝑔𝑖ờ 𝑐ô𝑛𝑔)(2)
Và nghiệm số của bài toán nên không âm: điệu kiện biên x1,x2≥ 0
Bước 4: Giải bằng phương pháp đồ thị theo trình tự: - Thể hiện các ràng buộc
- Xác định vùng lời giải chấp nhận được - Vẽ một đương thẳng thể hiện hàm mục tiêu - Tìm nghiệm số của bài toán
Thể hiện các ràng buộc
Biến 𝑥1 được biễu diễn trên trục hoành , biến x2 trên trục tung.
Để thể hiện ràng buộc đầu tiên lên đồ thị, chuyển bất phương trình thành phương trình:4𝑥1+ 3𝑥2 = 240 (đấ𝑡 𝑠é𝑡)
Không sản xuất đôn sứ thì 𝑥1 = 0 𝑣à 𝑥2 = 80
Không sản xuất bình bông thì 𝑥1 = 60 𝑣à 𝑥2 = 0
Tương tự với rang buộc thứ hai 2𝑥1 + 1𝑥2 = 100( 𝑔𝑖ờ 𝑐ô𝑛𝑔)
Không sản xuất đôn sứ thì 𝑥1 = 0 𝑣à 𝑥2 = 100
Hình. Thẻ hiện các rang buộc bằng đồ thị Xác định vùng lời giải chấp nhận được
Còn gọi là vùng nghiệm khả dĩ, tập hợp tất cả các điểm thỏa mãn tất cả các rang buộc và điều kiện biên trên đồ thị. Dưới đây là ba quy tắc để xác định vùng lời giả
chấp nhận được
- Đối với “=” chỉ có những điểm nằm trên đưuòng thẳng là vùng nghiệm khả
dỉ
- Đối với dấu “<=”, những điẻm nằm trên đường thẳng, bên trái và bên dưới của đường là vùng nghiệm khả dĩ
- Đối với dấu “>=”, những điểm nằm trên đường thẳng, bên phải và bên trên của đường là vùng nghiệm khả dĩ
Hình. Vùng lời giải chấp nhận được
Vẽ đưòng thẳng thể hiện hàm mục tiêu:7𝑥1+ 5𝑥2 Tìm nghiệm số của bài toán:
Vẽ thêm những đường hàm mục tiêu đồng dạng. Những đưòng này song song với nhau và càng xa gốc tọa độ thì có giá trị càng lớn.
Hình. Lời giải tối ưu của bài toán
Như vây, để tìm lời giải tối ưu cho bài toán, ta tịnh tiến dần đường hàm mục tiêu
ban đầu cho đến khi đụng điểm xa nhất của vùng lời giải chấp nhận được. Đương hàm mục tiêu đồng dạng cách xa gốc tọa độ nhất đi qua điểm nằm trong vùng nghiệm khả dĩđược trình bày trong đò thị. Điểm E( 𝑥1 = 30 , 𝑥2 = 40) là nghiệm tối ưu của bài toán với doanh thu hành ngày là 410 ngàn đồng
5.4 Phương pháp đơn hình
Hầu hết các bào toán quy hoạch tuyến tính trong thực tế được giải bằng máy tính sử dụng thuật toán đơn hình vì phương pháp đồ thị chỉ có thể dùng để giải những bài toán có hai ẩn số.
Phương pháp đồ thịđưa ra lập luận cơ bản cho phương pháp đơn hình, xuất phát điểm chính là các điểm góc. Nghiệm tối ưu của bài toán luôn là những
Phương pháp đơn hình bắt đầu từ một điểm góc và sau đó, lần lợt xét các
điểm góc còn lại thoe một trình tự có hệ thống, sao cho hàm mục tiêu đựợc cải thiện dần sao mỗi vòng lặp. Đến khi hàm mục tiêu không cải thiện được nữa thì đó là lời giải tối ưu của bài toán.
5.4.1 Thuật toán đơn hình dạng bảng(Kim, 2008)
a. Bảng đơn hình
Bảng đơn hình gồm n+4 cột, dánh đểđược ghi các thông tin về một bước lặp tính toán ứng với một phương án cực biên. Giả sử 𝑥 = (𝑥10, 𝑥20, … , 𝑥𝑛0)𝑇 là phương án
cực biên tương ứng với bộ chỉ sốcơ sở𝐽𝐵 = 𝐽(𝑥0) = {𝑗1, … , 𝑗𝑚}và cơ sởđơn vị 𝐵 = {𝐴𝑗1, … , 𝐴𝑗𝑚}. các thông tin vềđược ghi ở bảng đơn hình xuất phát (Bảng 5.1). Bảng 5.1 Hệ số Cơ sở Phương án 𝑐1 ⋯ 𝑐𝑘 ⋯ 𝑐𝑛 𝜃 𝐶𝐵 B 𝐴1 ⋯ 𝐴𝑘 ⋯ 𝐴𝑛 𝑐𝑗1 𝐴𝑗1 𝑥𝑗10 𝑧𝑗11 ⋯ 𝑧𝑗1𝑘 ⋯ 𝑧𝑗1𝑛 𝜃𝑗1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 𝑐𝑗 𝐴𝑗 𝑥𝑗0 𝑧𝑗𝑘1 ⋯ 𝑧𝑗𝑘 ⋯ 𝑧𝑗𝑛 𝜃𝑗 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 𝑐𝑗𝑚 𝐴𝑗𝑚 𝑥𝑗𝑚0 𝑧𝑗𝑚1 ⋯ 𝑧𝑗𝑚𝑘 ⋯ 𝑧𝑗𝑚𝑛 𝜃𝑗𝑚 𝑓(𝑥0) ∆1 ⋯ ∆𝑘 ⋯ ∆𝑛 Bảng đơn hình gồm n+4 cột.
Cột 2. (Cơ sở B) Ghi tên các véctơ cơ sở. Chú ý rằng, tên các véctơ này phải được ghi theo thứ tự𝐴𝑗1, … , 𝐴𝑗𝑚 sao cho ma trận lập 𝐵 = {𝐴𝑗1, … , 𝐴𝑗𝑚} là ma trận đơn
vị 𝐼𝑚.
Cột 3. (Phương án cực biên) Ghi giá trị của các biến cơ sở của phương án cực biên
đang xét.
n cột tiếp theo.Cột thứ 3 – k ứng với tên véctơ 𝐴𝑘, 𝑘 = 1, … , 𝑛. Phía trên tên mỗi