BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ PHƯƠNG PHÁP ĐƠN HÌNH
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
Ví dụ 1: (Bài toán lập kế hoạch sản xuất trong điều kiện tài nguyên hạn chế)
Nhân dịp Tết Trung Thu, công ty sản xuất bánh Tràng An dự định sản xuất ba loại bánh: Đậu xanh, Nướng và Dẻo Để thực hiện, công ty cần chuẩn bị các nguyên liệu như đường, đậu, bột, trứng, mứt và lạp sườn Với số lượng đường có sẵn là 500 kg và đậu là 300 kg, công ty có thể thoải mái sử dụng các nguyên liệu khác Bảng dưới đây sẽ cung cấp thông tin về lượng đường, đậu cần thiết và lợi nhuận khi bán mỗi chiếc bánh của từng loại.
Bánh đậu xanh Bánh nướng Bánh dẻo Đường: 500kg 0,06 kg 0,04kg 0,07 kg Đậu: 300 kg 0,08 kg 0 0,04 kg
Để tối ưu hóa lợi nhuận từ việc sản xuất bánh bao, cần lập kế hoạch cụ thể về số lượng bánh cần sản xuất, đảm bảo không bị động về nguyên liệu như đường và đậu Giả định rằng tất cả sản phẩm sẽ được tiêu thụ hết, việc này sẽ giúp tăng tổng số lãi thu được.
Gọi x 1 , x 2 , x 3 lần lượt là số chiếc bánh đậu xanh, nướng, dẻo cần sản xuất
Tất nhiên số lƣợng chiếc bánh mỗi loại không thể là số âm, tức là x j 0 (j = 1 3) (bằng 0 nếu không sản xuất loại bánh đó)
Tổng số đường cần dùng là: ………
Tổng này không thể vượt quá 500 kg đường có trong kho
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 8
Tổng số đậu xanh cần dùng là: ………
Tổng này không thể vƣợt quá 300 kg đậu xanh có trong kho
Tổng số lãi thu đƣợc là: Tổng này tất nhiên càng lớn càng tốt
Từ các phân tích trên, mô hình của bài toán này là: f(x) = 2x 1 + 1,7x 2 + 1,8x 3 max (1)
Hàm f(x) ở (1) đƣợc gọi là hàm mục tiêu của bài toán
Các bất phương trình ở (2) được gọi là các ràng buộc bắt buộc của bài toán
Các ràng buộc về dấu (3) đƣợc gọi là các ràng buộc tự nhiên
Ví dụ 2: (Bài toán vốn đầu tư nhỏ nhất)
Có ba xí nghiệp may I, II, III sản xuất áo véc và quần với hiệu quả vốn khác nhau do trình độ công nhân và trang bị kỹ thuật khác nhau Cụ thể, xí nghiệp I sử dụng 1000 USD để sản xuất 35 áo véc và 45 quần; xí nghiệp II sản xuất 40 áo véc và 42 quần; trong khi xí nghiệp III cho ra 43 áo véc và 30 quần Lượng vải và số giờ công cần thiết để sản xuất mỗi sản phẩm ở ba xí nghiệp được thể hiện trong bảng chi tiết.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 9
I II III Áo véc 3,5 m 20 giờ 4,0 m 16 giờ 3,8 m 18 giờ Quần 2,8 m 10 giờ 2,6 m 12 giờ 2,5 m 15 giờ
Tổng số vải có thể sử dụng cho ba xí nghiệp là 10.000 m, cùng với 52.000 giờ công lao động Theo hợp đồng, yêu cầu tối thiểu là sản xuất 1.500 bộ quần áo vào cuối kỳ Do đặc điểm của hàng hóa, nếu bán lẻ, chỉ có quần là dễ tiêu thụ.
Hãy lập kế hoạch đầu tƣ vào xí nghiệp bao nhiêu vốn để:
Hoàn thành kế hoạch sản phẩm
Không khó khăn về tiêu thụ
Không bị động về vải và lao động
Tổng số vốn đầu tƣ nhỏ nhất có thể
Gọi x j là số vốn (đơn vị là 1000 USD) đầu tƣ vào xí nghiệp j (j = 1,2,3)
Tổng số áo véc thu đƣợc ở 3 xí nghiệp cuối kỳ là:
Tổng này không thể nhỏ hơn 1500
Tổng số quần thu đƣợc ở 3 xí nghiệp cuối kỳ là:
Tổng này không thể ít hơn tổng số áo véc, tức là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 10 Điều này đảm bảo nếu lẻ bộ thì chỉ dƣ quần (dễ bán)
Tổng số vải cần dùng cho cả 3 xí nghiệp:
Tổng số vải để may áo véc là:
Tổng số vải để may quần là:
Tổng số vải cần dùng cho cả 3 xí nghiệp là:
Tổng này không thể vƣợt quá 10.000 m
Tổng số giờ công lao động là:
Tổng số giờ công để may áo véc là:
Tổng số giờ công để may quần là:
Tổng số giờ công cần dùng cho cả 3 xí nghiệp là:
Tổng này không thể vƣợt quá 52.000 giờ công
Tổng số tiền cần phải đầu tƣ vào 3 xí nghiệp là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 11
Từ các phân tích trên, mô hình bài toán là: f(x) = x 1 + x 2 + x 3 → min
Ví dụ 3: (Bài toán vận tải)
Chúng tôi cần vận chuyển vật liệu xây dựng từ hai kho K1 và K2 đến ba công trường C1, C2 và C3 Bảng dưới đây cung cấp tổng số vật liệu có ở mỗi kho, tổng số vật liệu yêu cầu tại mỗi công trường, cùng với cước phí vận chuyển 1 tấn vật liệu từ từng kho đến từng công trường.
Hãy lập kế hoạch vận chuyển thế nào để:
Các kho giải phóng hết vật liệu
Các công trường nhận đủ vật liệu cần thiết
Tổng số cước phí vận chuyển là ít nhất
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 12
Gọi x ij là số tấn vật liệu sẽ vận chuyển từ kho K i đến công trường C j (i = 1,2 ; j = 1, 3)
Số tấn vật liệu vận chuyển từ kho K1 đến cả 3 công trường là:
Tổng này phải bằng 20 tấn nếu muốn giải phóng kho K1
Số tấn vật liệu vận chuyển từ kho K2 đến cả 3 công trường là:
Tổng này phải bằng 40 tấn nếu muốn giải phóng kho K2
Số tấn vật liệu vận chuyển về công trường C1 là:
Tổng này phải bằng 15 tấn theo yêu cầu của công trường C1
Số tấn vật liệu vận chuyển về công trường C2 là:
Tổng này phải bằng 20 tấn theo yêu cầu của công trường C2
Số tấn vật liệu vận chuyển về công trường C3 là:
Tổng này phải bằng 25 tấn theo yêu cầu của công trường C3
Tổng số cước phí phải trả là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 13
Tổng này càng nhỏ càng tốt
Từ phân tích trên, mô hình của bài toán này là
1.1.2 Bài toán quy hoạch tuyến tính tổng quát
Bài toán quy hoạch tuyến tính (QHTT) dạng tổng quát có dạng là:
Tìm (x 1 , x 2 , , x n ) sao cho f(x) n j j j 1 c x min (max)
(1) với hệ ràng buộc: n ij j i j 1 a x b
Hàm f(x) được xác định trong bài toán là hàm mục tiêu, thể hiện một đại lượng quan trọng như tổng số lãi thu được, tổng số vốn đầu tư, hay giá thành sản phẩm Đây là tổ hợp tuyến tính của các ẩn số mà chúng ta cần chú ý trong quá trình giải quyết vấn đề.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 14
Các phương trình và bất phương trình được đề cập là những ràng buộc bắt buộc trong bài toán, phát sinh từ các yếu tố như tài nguyên hạn chế, kế hoạch sản phẩm và yêu cầu kỹ thuật trong quá trình sản xuất.
Các ràng buộc về dấu (3) được gọi là các ràng buộc tự nhiên, trong đó xj có thể có giá trị âm, dương hoặc không có dấu, tùy thuộc vào ngữ cảnh như số sản phẩm, số vốn, số người, hay nhiệt độ bảo quản thực phẩm.
Nhƣ vậy, bài toán QHTT là bài toán có các biểu thức xác định ở hàm mục tiêu và các ràng buộc bắt buộc đều ở dạng tuyến tính Định nghĩa 1:
Véc tơ x = (x1, x2, , xn) được xem là phương án (PA) hoặc lời giải chấp nhận được cho bài toán QHTT khi nó đáp ứng đầy đủ tất cả các ràng buộc của bài toán, bao gồm cả ràng buộc bắt buộc và ràng buộc tự nhiên.
- Tập hợp các phương án của bài toán QHTT gọi là miền ràng buộc, ký hiệu là D
- Phương án x thỏa mãn ràng buộc i với dấu “=”, nghĩa là: ij
thì ràng buộc i gọi là “chặt” đối với phương án x, hoặc phương án x thỏa mãn chặt ràng buộc i
- Phương án x thỏa mãn ràng buộc i với dấu bất đẳng thức thực sự (dấu “”, nghĩa là: ij
thì ràng buộc i gọi là “lỏng” đối với phương án x, hoặc phương án x thỏa mãn lỏng ràng buộc i
Phương án x * = (x , x , , x * 1 * 2 * n ) được xem là phương án tối ưu (PATƯ) hay lời giải tối ưu cho bài toán QHTT khi giá trị hàm mục tiêu tại đó không thấp hơn giá trị hàm mục tiêu của bất kỳ phương án nào khác.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 15
Một bài toán QHTT có thể có nhiều PATƢ
Giải bài toán QHTT tức là tìm một phương án tối ưu của nó (nếu có) hoặc chỉ ra rằng nó không có PATƢ
Hai bài toán QHTT được gọi là tương đương với nhau nếu chúng có chung tập hợp các phương án tối ưu
Quan hệ giữa bài toán cực đại và bài toán cực tiểu f(x) max g(x) f(x) min
(trong đó: D là tập hợp các phương án)
Khi đổi dấu và loại hàm mục tiêu, ta có được bài toán tương đương trong nghiên cứu giải bài toán Quy hoạch tuyến tính (QHTT) Do đó, người ta chỉ cần tập trung vào bài toán với hàm mục tiêu cực tiểu hoặc cực đại.
Chứng minh: x * là PATƢ của bài toán (1)
x * là PATƢ của bài toán (2)
Ví dụ 4: Cho bài toán QHTT sau f(x) = 8x 1 + 2x 2 + 9x 3 - x 4 min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 16
Hỏi x 0 = (0, -1, 6, -2) có phải PA của bài toán trên không, nếu có thì chỉ ra nó thỏa mãn ràng buộc nào là chặt, ràng buộc nào là lỏng?
Số ẩn của bài toán trên là n = 4
Dễ thấy X 0 = (0, -1, 6, -2) thỏa mãn tất cả các ràng buộc từ (1) đến (7) nên x 0 là PA Ngoài ra:
(1): VT = 14 = VP (thỏa mãn chặt);
(2): VT = 8 = VP (thỏa mãn chặt);
(3): VT = -7 = VP (thỏa mãn chặt);
Phương án cực biên (PACB) x 0 trong bài toán QHTT được định nghĩa là thỏa mãn ít nhất n ràng buộc, trong đó có n ràng buộc chặt độc lập tuyến tính Điều này có nghĩa là PACB phải đáp ứng các điều kiện nhất định để đảm bảo tính khả thi của giải pháp.
Chú ý: các ràng buộc đƣợc gọi là ĐLTT nếu hệ các véc tơ ràng buộc là ĐLTT
Ví dụ 5: Cho bài toán QHTT sau f(x) = 8x 1 + 2x 2 + 9x 3 - x 4 min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 17
PA, PACB của bài toán?
Số ẩn của bài toán trên là n = 4
(1): VT = 14 = VP (thỏa mãn chặt );
(2): VT = 8 = VP (thỏa mãn chặt );
(3): VT = -10 < -7 = VP (thỏa mãn lỏng);
x 1 = (4, 0, 0, -2) đã thỏa mãn chặt 4 ràng buộc
Ta có: các ràng buộc (1), (2), (5), (6) là:
3x 1 + 2x 3 - x 4 14 (1) x 1 - 4x 2 - 2x 4 = 8 (2) x 2 0 (5) x 3 0 (6) có định thức của ma trận hệ số là:
ràng buộc (1), (2), (5), (6) là độc lập tuyến tính
Kết luận: x 1 là PACB của bài toán
(1): VT = 14 = VP (thỏa mãn chặt );
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 18
(2): VT = 8 = VP (thỏa mãn chặt );
(3): VT = -7 = -7 = VP (thỏa mãn chặt );
x 2 = (0, 0, 5, -4) đã thỏa mãn chặt 5 ràng buộc (n = 4)
Xét định thức của ma trận hệ số các ràng buộc (1), (2), (4), (5) ta có:
các ràng buộc (1), (2), (4), (5) là độc lập tuyến tính
Kết luận: x 2 là PACB của bài toán
(1): VT = 19 >14 = VP (thỏa mãn lỏng);
(2): VT = 8 = VP (thỏa mãn chặt );
(3): VT = -9 < -7 = VP (thỏa mãn lỏng);
x 3 là PA của bài toán nhƣng không là PACB vì nó chỉ thỏa mãn chặt có 3 ràng buộc, nhỏ hơn số ẩn (n = 4)
(1): VT = 34 >14 = VP (thỏa mãn lỏng);
(2): VT = 8 = VP (thỏa mãn chặt);
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 19
x 4 không thỏa mãn ràng buộc (3) của bài toán nên nó không là PA của bài toán trên
1.1.3 Bài toán quy hoạch tuyến tính dạng chính tắc
Bài toán Quy hoạch tuyến tính (QHTT) dạng chính tắc là một trường hợp đặc biệt của bài toán QHTT tổng quát, trong đó các điều kiện ràng buộc là một hệ gồm m phương trình độc lập tuyến tính với m ≤ n, và tất cả các ẩn số đều không âm Dạng chính tắc của bài toán QHTT được xác định bởi các ràng buộc này.
Trong nhiều trường hợp, để thuận tiện cho việc trình bày, ta gọi bài toán trên là bài toán (P) và viết nó ở dạng ma trận nhƣ sau: c.x min (1)
- là ma trận hệ số các ràng buộc bắt buộc
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 20
- là véc tơ cột của ma trận A ứng với ẩn thứ j
- là ma trận các số hạng tự do hay ma trận vế phải
c = c 1 c 2 c n - là ma trận hệ số các ẩn trong hàm mục tiêu
- la ma trận ẩn số ; 0 0
Trong bài toán QHTT dạng chính tắc, các ràng buộc đều chặt “Ax = b” và hạng của ma trận A là bằng m: r(A) = m ≤ n
Khi m = n, hệ phương trình Ax = b có n phương trình và n ẩn số, với r(A) < n, dẫn đến hệ có nghiệm duy nhất x* = (x*1, x*2, , x*n) Do đó, việc tìm cực trị của hàm mục tiêu trở nên không có ý nghĩa, vì vậy chỉ xem xét trường hợp m < n Định nghĩa cơ sở của ma trận A là tập hợp gồm m véc tơ cột độc lập tuyến tính B = {A j1, A j2, , A jm}.
Giả sử B = {A j1 , A j2 , , A jm } là một cơ sở của ma trận A = {A 1 , A 2 , , A n } và đặt:
Khi đó véc tơ x = (x 1 , x 2 , , x n ) thỏa mãn: x j = 0 nếu j J N = J \ J B x jk (j k J B ) là thành phần thứ k của véc tơ B -1 b
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 21
Nếu phương án x = (x1, x2, , xn) có tất cả các thành phần đều lớn hơn hoặc bằng 0, thì nó được xem là phương án cực biên tương ứng với cơ sở B Cơ sở B được gọi là cơ sở của bài toán quy hoạch tuyến tính (QHTT) ở dạng chính tắc.
BIẾN ĐỔI DẠNG CỦA BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
1.2.1 Đưa dạng tổng quát về dạng chính tắc
Mọi bài toán QHTT dạng tổng quát đều có thể đƣa về dạng chính tắc với 5 quy tắc mô tả dưới đây:
1) Nếu hàm mục tiêu f(x) max thì đổi dấu hàm mục tiêu và dạng của nó, tức là ta đặt:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 27 g(x) = - f(x) min
2) Nếu gặp ràng buộc n ij j j 1 a x
b i thì ta cộng thêm vào vế trái một ẩn phụ không âm x n+i 0 để biến về dạng phương trình: n ij j j 1 a x
3) Nếu gặp ràng buộc n ij j j 1 a x
b i thì ta cộng thêm vào vế trái một ẩn phụ không âm x n+i 0 với hệ số -1 để biến về dạng phương trình: n ij j j 1 a x
4) Nếu gặp ẩn x j 0 thì ta đổi biến: x j = - x , j với x , j 0
5) Nếu gặp ẩn x j tuỳ ý về dấu, ta thay x j = x , j - x ,, j với x , j 0 và x ,, j 0
(nhưng x j vẫn có thể âm, dương, bằng 0 tuỳ theo x , j nhỏ hơn, lớn hơn hay bằng x ,, j )
Các ẩn phụ chỉ là công cụ giúp chuyển đổi bất phương trình thành phương trình mà không ảnh hưởng đến hàm mục tiêu, do đó hệ số của chúng trong hàm mục tiêu là 0 Sau khi đưa bài toán Quy hoạch tuyến tính về dạng chính tắc, tiến hành giải quyết bài toán này.
Nếu bài toán mới không có PATƯ thì bài toán xuất phát cũng không có PATƯ
Nếu bài toán mới có dạng PATƯ x * (x , x , , x , x 1 * * 2 * n * n 1 , ) thì x * (x ,x , ,x ) * 1 * 2 * n được xác định bằng cách loại bỏ các ẩn phụ Trong trường hợp các ẩn x i không bị ràng buộc về dấu, tức là có thể có dấu tuỳ ý, thì ta tính x * j x ,* j x ,,* j , với x ,* j và x ,,* j là hai thành phần tương ứng trong x *.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 28
Ví dụ 1: Đƣa bài toán sau đây về dạng chính tắc: f(x) = 3x 1 – x 2 + 2x 3 - 5x 4 + 2x 5 min
Ta thấy, bài toán trên chƣa ở dạng chính tắc do:
- Ràng buộc 1 , 2 , 4 chưa phải là phương trình
Do đó để đƣa bài toán QHTT trên về dạng chính tắc, ta làm nhƣ sau:
Vì dấu của ràng buộc (1) là ≥ nên tại ràng buộc này, ta trừ đi ẩn phụ x 6 ≥ 0:
Vì dấu của ràng buộc (2) là ≤ nên tại ràng buộc này, ta cộng thêm ẩn phụ x 7 ≥ 0: x 2 + 3x 3 - x 4 + x 7 = - 2
Vì dấu của ràng buộc (4) là ≤ nên tại ràng buộc này, ta cộng thêm ẩn phụ x 8 ≥ 0:
Hệ số trong hàm mục tiêu của các ẩn x 6 , x 7 , x 8 đều có hệ số bằng 0 Ngoài ra:
Vì ẩn x 5 ≤ 0 nên ta thay bằng x 5 = – x , 5 với x , 5 ≥ 0
Vì ẩn x 2 , x 4 là tùy ý nên ta thay bằng: x 2 = x , 2 x ,, 2 ; x 4 = x , 4 x ,, 4 (với x , 2 ,
,, x2 , x , 4 , x ,, 4 0) trong hàm mục tiêu và các ràng buộc bắt buộc
Khi đó, dạng chính tắc của bài toán trên là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 29 f(x) = 3x 1 – (x ’ 2 – x ” 2 ) + 2x 3 - 5(x ’ 4 – x ” 4 ) - 2x ’ 5 min
Ví dụ 2: Đƣa bài toán sau về dạng chính tắc: f(x) = - 2x 1 + x 2 + x 4 max x 1 + x 2 - x 3 ≤ 15 x 1 + x 2 + x 3 + x 4 = 27 2x 1 - x 2 - x 3 ≤ 18 x 1 ≥ 0 , x 2 ≤ 0 , x 3 tuỳ ý , x 4 ≤ 0
Bài toán ở dạng chính tắc là: g(x) = - f(x) = - (- 2x 1 - x’ 2 - x’ 4 ) min x 1 - x’ 2 - (x ’ 3 – x ” 3 ) + x 5 = 15 x 1 - x’ 2 + (x ’ 3 – x ” 3 ) - x’ 4 = 27 2x 1 + x’ 2 - (x ’ 3 – x ” 3 ) + x 6 x 1 , x ’ 2 , x’ 3 , x ’’ 3 , x’ 4 , x 5 , x 6 ≥ 0 trong đó: x 5 , x 6 là ẩn phụ
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 30
Ví dụ 3: Đƣa bài toán sau về dạng chính tắc: f(x) = x 1 + 2x 2 + 3x 3 + x 4 min x 1 - 2x 2 + 3x 3 ≤ 15 2x 1 + x 2 + 5x 3 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x 1 , x 3 ≥ 0 , x 2 ≤ 0 , x 4 tuỳ ý
Bài toán ở dạng chính tắc là: f(x) = x 1 - 2x’ 2 + 3x 3 + x ’ 4 – x ” 4 min x 1 + 2x’ 2 + 3x 3 + x 5 = 15 2x 1 - x’ 2 + 5x 3 = 20 x 1 - 2x’ 2 + x 3 + x ’ 4 – x ” 4 = 10 x 1 , x ’ 2 , x 3 , x ’ 4 , x’’4, x 5 ≥ 0; x 5 là ẩn phụ
1.2.2 Đưa dạng chính tắc về dạng chuẩn tắc (bài toán M)
Trước hết, nếu trong bài toán QHTT dạng chính tắc có một số hạng tự do bi nào đó âm, ta chỉ cần đổi dấu 2 vế để đƣợc b i 0
Vì vậy, từ đây ta có thể giả thiết bài toán chính tắc ta đang xét có b i 0 ( i = 1, m) Xét bài toán QHTT ở dạng chính tắc với b i 0 f(x) n j j j 1 c x min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 31
Trong bài toán mở rộng, chúng ta thêm vào mỗi phương trình một ẩn giả không âm x n + i 0 với hệ số +1 Trong hàm mục tiêu, các ẩn giả được gán hệ số M, với M là một số vô cùng lớn, lớn hơn bất kỳ số nào cần so sánh Kết quả là chúng ta có một bài toán mới, được gọi là bài toán M, từ bài toán xuất phát: f(x) = min {c x + Mx n1 + Mx n2 + + Mx nm}.
Ta thấy bài toán mở rộng đã có dạng chuẩn với ẩn cơ bản thứ i là x n+i (i = 1, m) chính là các ẩn giả
1) Ta cần phân biệt ẩn phụ và ẩn giả với 3 ý sau:
- Ẩn phụ để đƣa bài toán tổng quát về dạng chính tắc, còn ẩn giả để đƣa dạng chính tắc về dạng chuẩn
- Trong hàm mục tiêu, ẩn giả có hệ số bằng M, còn ẩn phụ có hệ số bằng 0
Ẩn phụ là yếu tố quan trọng giúp chuyển đổi bất phương trình thành phương trình, trong khi ẩn giả chỉ tạo ra sự cân bằng giữa hai vế mà không có giá trị thực, nhằm mục đích tạo ra véc tơ cột đơn vị.
2) Nếu bài QHTT dạng chính tắc có b i 0 (i = 1 m) đã có sẵn một số véc tơ cột đơn vị trong ma trận hệ số A, ta chỉ cần thêm ẩn giả vào những phương trình cần thiết đủ để tạo ra bài toán mở rộng ở dạng chuẩn (cụ thể, nếu thiếu véc tơ cột đơn vị thứ k nào thì ta thêm ẩn giả vào phương trình thứ k)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 32
Để chuyển đổi bài toán quy hoạch tuyến tính (QHTT) thành dạng mở rộng, ta có bài toán tối ưu hóa với hàm mục tiêu f(x) = -2x₁ + x₂ + x₄ cần tối thiểu hóa Các ràng buộc bao gồm: x₁ + x₂ - x₃ = 15, x₁ + x₂ + x₃ + x₄ = 27, và 2x₁ - x₂ - x₃ ≤ 18 Do ràng buộc thứ ba có dấu "≤", ta thêm biến phụ x₅ vào ràng buộc này Kết quả là bài toán chuyển thành dạng chính tắc với hàm mục tiêu và các ràng buộc như sau: f(x) = -2x₁ + x₂ + x₄ cần tối thiểu hóa, x₁ + x₂ - x₃ = 15, x₁ + x₂ + x₃ + x₄ = 27, và 2x₁ - x₂ - x₃ + x₅ = 18, với các biến xₗ ≥ 0 (j = 1, 2, 3, 4, 5).
Từ bài toán chính tắc, ta nhận thấy chỉ có ẩn cơ bản thứ hai và thứ ba, còn thiếu ẩn cơ bản thứ nhất Để khắc phục điều này, tại ràng buộc (1), ta thêm ẩn giả x6 với hệ số +1, đồng thời cũng thêm x6 vào hàm mục tiêu với hệ số M (M là số dương vô cùng lớn) Bài toán mở rộng trở thành: f(x) = -2x1 + x2 + x4 + Mx6 → min x1 + x2 - x3 + x6 = 15, x1 + x2 + x3 + x4 = 27, 2x1 - x2 - x3 + x5 = 18, với điều kiện xj ≥ 0 (j = 1, 2, , 6); trong đó x5 là ẩn phụ và x6 là ẩn giả.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 33
Ví dụ 5: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = 3x 1 + x 2 - 3x 3 max x 1 + 2x 2 - x 3 = 2
- 3x 2 + 2x 3 = 4 x j ≥ 0 (j = 1, 2, 3) Chuyển về dạng chuẩn (bài toán mở rộng): g(x) = - f(x) = - 3x 1 - x 2 + 3x 3 + Mx 4 + Mx 5 min x 1 + 2x 2 - x 3 = 2
Ví dụ 6: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = x 1 - 2x 2 - 3x 3 + x 4 max x 1 - 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 ≥ 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 (j = 1, 2, 3, 4) Chuyển về dạng chính tắc: g(x) = - f(x) = - x 1 + 2x 2 + 3x 3 - x 4 min x 1 - 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 - x 5 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 (j = 1, 2, , 5)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 34
Chuyển về dạng chuẩn (bài toán mở rộng): g(x) = - x 1 + 2x 2 + 3x 3 - x 4 + Mx 6 + Mx 7 min x 1 - 2x 2 + 3x 3 + x 6 = 15 2x 1 + x 2 + 5x 3 - x 5 + x 7 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x j ≥ 0 ; x 5 ẩn phụ; x 6 , x 7 ẩn giả (j = 1, 2, , 7)
Ví dụ 7: Chuyển bài toán QHTT sau về bài toán mở rộng: f(x) = 2x 1 + x 2 - x 3 min
2 x 1 - 4x 2 - x 3 = 46 x j ≥ 0 (j = 1, 2, 3) Chuyển về dạng chính tắc: f(x) = 2x 1 + x 2 - x 3 min
2 x 1 - 4x 2 - x 3 = 46 x j ≥ 0; x 4 , x 5 ẩn phụ (j = 1, 2, 3, 4, 5) Chuyển về dạng chuẩn (bài toán mở rộng): f(x) = 2x 1 + x 2 - x 3 + Mx 6 + Mx 7 min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 35
PHƯƠNG PHÁP ĐƠN HÌNH
Nội dung chính của phương pháp đơn hình gồm các bước sau:
1) Đƣa bài toán QHTT dạng tổng quát về dạng chuẩn (bài toán mở rộng)
2) Tìm phương án cực biên ban đầu
3) Đánh giá phương án cực biên đó
- Nếu phương án tối ưu thì việc giải bài toán kết thúc
- Nếu phương án chưa tối ưu thì chuyển sang bước 4
4) Xây dựng phương án mới tốt hơn phương án đang có, sau đó quay lại bước 3 Thuật toán đơn hình đƣợc thể hiện bởi sơ đồ sau đây:
Chuẩn tắc hoá bài toán
Xây dựng PACB ban đầu
Tối ƣu ? Xây dựng PACB mới tốt hơn
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 36
1.3.1 Giải bài toán QHTT ở dạng chuẩn
Xét bài toán QHTT dạng chuẩn tắc sau: f(x) n j j j 1 c x min
Bài toán luôn có PACB ban đầu là:
(x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1, 2, , m)
Thuật toán đơn hình giải bài toán QHTT dạng chuẩn gồm 3 bước sau:
Bước 1: Lập bảng đơn hình ban đầu:
Hệ số Ẩn cơ bản
c r x r b r 0 0 1 0 a r(m+1) a rv a rn r c m x m b m 0 0 0 1 a m(m+1) a mv a mn f(x) f 0 1 2 r m m+1 v n trong đó: f 0 =
1 i i ib c = Cột hệ số nhân với Cột phương án
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 37
1 i j ij ia c c = Cột hệ số nhân với véc tơ cột thứ j trừ đi hệ số c j của ẩn x j
( j gọi là ƣớc lƣợng thứ j) Bước 2: Kiểm tra tính tối ưu
Nếu j 0 j thì phương án đang xét là phương án tối ưu giá trị hàm mục tiêu tương ứng là f(x) = f o
Nếu j* > 0 mà tất cả các hệ số a ij* trên cột j * đó nhỏ hơn bằng không, tức là: a ij* 0 (i = 1 m) thì bài toán đang xét không có phương án tối ưu
Nếu cả hai trường hợp trên không xảy ra thì ta chuyển sang bước 3
Bước 3: Tìm PACB mới tốt hơn
Nếu v = j maxj thì ẩn x v là ẩn đƣa vào, cột thứ v đƣợc gọi là cột xoay
Ta tính i iv i a b với các a iv > 0
Nếu r = i mini thì ẩn x r là ẩn đƣa ra, hàng thứ r đƣợc gọi là hàng xoay Phần tử a rv đƣợc gọi là phần tử xoay
3) Biến đổi bảng đơn hình: a) Trong cột ẩn cơ bản thay x r bằng x v , trong cột hệ số thay c r bằng c v , các ẩn khác và hệ số tương ứng để nguyên b) Chia hàng xoay (hàng thứ r) cho phần tử xoay a rv ta đƣợc hàng r mới gọi là hàng chuẩn c) Muốn có hàng i mới (i r), ta lấy hàng chuẩn nhân với - a iv rồi cộng vào hàng i cũ
Để có hàng cuối mới trong Trường Đại học Sư phạm Kỹ thuật Nam Định, bạn cần lấy hàng chuẩn nhân với – v và cộng vào hàng cuối cũ Hoặc có thể tính trực tiếp như ở bước 1, trong đó hàng cuối bao gồm f0 và các ước lượng j.
Các mục b, c, d trong bài viết đề cập đến việc sử dụng các phép biến đổi sơ cấp trên hàng của ma trận để chuyển đổi bảng đơn hình cũ thành bảng đơn hình mới, với mục tiêu biến véc tơ cột thứ v thành véc tơ đơn vị thứ v.
Sau khi nhận được bảng đơn hình mới, bước tiếp theo là kiểm tra tính tối ưu Quá trình này sẽ tiếp tục cho đến khi tìm ra lời giải cho bài toán.
Ví dụ 1: Giải bài toán QHTT: f(x) = 3x 1 - x 2 + 2x 3 + x 4 min
x j 0 , (j = 1, 2, 3, 4) Bài toán trên ở dạng chuẩn, có ma trận hệ số là:
Có ẩn cơ bản thứ nhất, thứ 2 và thứ 3 lần lƣợt là: x 3 , x 2 , x 4
Phương án cơ bản ban đầu là: (x 1 , x 2 , x 3 , x 4 ) = (0 , 3 , 2 , 1)
Hệ số Ẩn cơ bản PA 3 -1 2 1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 39
Ta thấy: j 0 , j Phương án đang xét là phương án tối ưu
Kết luận: PATƢ của bài toán là: (x 1 , x 2 , x 3 , x 4 ) = (0 , 3 , 2 , 1)
Giá trị hàm mục tiêu đạt đƣợc là: f(x) = 2
Trong quá trình tính các ước lượng j ở bảng đơn hình thì j = 0 đối với các cột chứa ẩn cơ bản
Sau khi tìm được phương án tối ưu x*, không cần thiết phải tính ngay giá trị f0 Thay vào đó, ta có thể tính f0 bằng cách thay giá trị x* vào hàm mục tiêu ban đầu, tức là f0 = f(x*).
Ví dụ 2: Giải bài toán QHTT: f(x) = -2x 1 + 6x 2 + 4x 3 – 2x 4 + 3x 5 max
Chuyển bài toán trên về dạng chuẩn: g(x) = - f(x) = 2x 1 - 6x 2 - 4x 3 + 2x 4 - 3x 5 min
Ma trận hệ số là:
Có ẩn cơ bản thứ nhất, thứ 2 và thứ 3 lần lƣợt là: x 1 , x 4 , x 5
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 40
Phương án cơ bản ban đầu là: (x 1 , x 2 , x 3 , x 4 , x 5 ) = (52 , 0 , 0 , 60 , 36)
Hệ số Ẩn cơ bản PA
Do tồn tại j > 0 nên PA đang xét chưa tối ưu
Cột có ước lượng (delta) lớn nhất là cột 3 ( 3 = 16) biến đưa vào là x 3 Hàng có giá trị lamda nhỏ nhất là hàng 1 ( 1 = 13) biến đưa ra là x 1
Lập bảng đơn hình mới
Hệ số Ẩn cơ bản PA
Do tồn tại j > 0 nên PA đang xét chưa tối ưu
Cột có ước lượng (delta) lớn nhất là cột 2 ( 2 = 1) biến đưa vào là x 2 Hàng có giá trị lamda nhỏ nhất là hàng 2 ( 2 = 34/3) biến đưa ra là x 2
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 41
Lập bảng đơn hình mới
Hệ số Ẩn cơ bản PA
Ta thấy: j 0 , j Phương án đang xét là phương án tối ưu
Kết luận: PATƢ của bài toán là: x * = (x 1 , x 2 , x 3 , x 4 , x 5 ) = (0 , 34/3 , 22/3 , 0 , 2) Giá trị hàm mục tiêu đạt đƣợc là: f(x * ) = - g(x * ) = 310/3
Khi thực hiện lần lặp thứ hai của bảng đơn hình, cần chú ý tính hàng ước lượng trước (hàng cuối cùng) Nếu tất cả các giá trị j ≤ 0, chỉ cần tính thêm cột phương án mà không cần tính các ô còn lại, từ đó đưa ra kết luận cho bài toán.
Ví dụ 3: Giải bài toán QHTT sau: f(x) = -3x 1 + x 2 - 2x 3 - x 4 + 3x 5 max
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 42
Dạng chuẩn của bài toán trên là: g(x) = 3x 1 - x 2 + 2x 3 + x 4 - 3x 5 → min
Có ma trận hệ số là
Có ẩn cơ bản thứ nhất, thứ 2, thứ 3 và thứ 4 lần lƣợt là: x 6 , x 2 , x 7 , x 3
Có PACB xuất phát là: x = (0, 3, 5, 0, 0, 1, 2)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 43
Ví dụ 4: Giải bài toán QHTT sau: f(x) = 6x 1 + x 2 + x 3 + 3x 4 + x 5 - 7x 6 min
- x 1 + x 2 - x 4 + x 6 = 15 2x 1 - x 3 + 2x 6 = - 9 4x 1 + 2x 4 + x 5 - 3x 6 = 2 x j 0 , (j = 1, 2, , 6) Bài toán trên có vế phải ở ràng buộc thứ 2 bằng – 9 < 0 nên ta nhân 2 vế của ràng buộc thứ 2 với (-1), ta đƣợc bài toán dạng chuẩn sau:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 44 f(x) = 6x 1 + x 2 + x 3 + 3x 4 + x 5 - 7x 6 min
Có ma trận hệ số là
Có PACB ban đầu là: x = (0, 15, 9, 0, 2, 0
Ta thấy: tồn tại ∆ 4 = 1 > 0 mà các hệ số trên cột chứa ∆ 4 đều < 0 nên bài toán ban đầu không có phương án tối ưu
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 45
Ví dụ 5: Giải bài toán QHTT sau: f(x) = 3x 1 + x 2 - 5x 3 + 2x 4 max x 1 - 2x 2 + 3x 4 = 4 3x 2 + x 4 2 x 2 + x 3 - 2x 4 5 2x 2 + x 4 3 x j 0 , (j = 1, 2, , 4) Dạng chuẩn của bài toán trên là: g(x) = - f(x) = - 3x 1 - x 2 + 5x 3 - 2x 4 min x 1 - 2x 2 + 3x 4 = 4 3x 2 + x 4 + x 5 = 2 x 2 + x 3 - 2x 4 - x 6 = 5 2x 2 + x 4 + x 7 = 3 x j 0 , (j = 1, 2, , 7)
Có ma trận hệ số là:
Có PACB xuất phát là: x = (4, 0, 5, 0, 2, 0, 3)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 46
PATƢ của bài toán là: x* = (16/3,2/3,13/3,0,0,0,5/3)
Giá trị tối ƣu của bài toán là: f(x*) = -g(x*) = - 5
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 47
1.3.2 Giải bài toán QHTT ở dạng chính tắc (Phương pháp đánh thuế)
Xét bài toán QHTT ở dạng chính tắc: f(x) n j j j 1 c x min
(2) x j 0 , (j = 1, 2, , n) (3) Bài toán trên đƣợc gọi là bài toán ban đầu ( bài toán xuất phát )
Giả thiết rằng b i 0 , (i = 1, 2, , m) (nếu âm thì nhân 2 vế của ràng buộc i với -1)
Ta sẽ chuyển bài toán xuất phát về bài toán mở rộng (gọi tắt là bài toán M) f(x) n j j n 1 n 2 n m j 1 c x Mx Mx Mx min
(2) x j 0 , (j = 1, 2, , (m+n)) (3) trong đó: M là số dương vô cùng lớn (lớn hơn bất cứ số cụ thể nào mà ta cần phải so sánh)
Các biến x n + i (i =1, 2, , m) là các biến giả
Bài toán mở rộng có dạng chuẩn tắc và được giải quyết bằng thuật toán đơn hình Trong quá trình thực hiện thuật toán này, chúng ta sẽ tính toán các ước lượng Δj.
Trường Đại học Sư phạm Kỹ thuật Nam Định 48 quy định rằng trong bảng đơn hình, dòng ước lượng chứa j sẽ được chia thành hai dòng: dòng trên chứa hệ số a j và dòng dưới chứa hệ số b j Ví dụ, nếu 3 = 2M – 9, thì trong cột 3, dòng trên sẽ ghi -9, còn dòng dưới sẽ ghi 2 Để đánh giá dấu j và so sánh chúng, ta áp dụng quy tắc đã định.
Kết thúc thuật toán đơn hình giải bài toán M, ta đi đến một trong các khả năng sau:
1) Nếu bài toán mở rộng không có PATƯ thì bài toán xuất phát cũng không có PATƯ
2) Nếu bài toán mở rộng có PATƯ mà các ẩn giả đều bằng 0, thì bỏ ẩn giả đi, ta còn lại PATƯ của bài toán xuất phát
3) Nếu bài toán mở rộng có PATƯ mà trong đó, có ít nhất một ẩn giả mang giá trị dương, thì bài toán xuất phát không có PATƯ
Khi một ẩn giả được loại bỏ khỏi hệ cơ bản, nó sẽ không được khôi phục, do đó không cần chú ý đến các cột tương ứng với ẩn giả đó nữa Điều này có nghĩa là chúng ta không cần ghi lại các giá trị trong cột chứa ẩn giả đã bị loại bỏ.
Nếu bài toán ban đầu có một số véc tơ cột đơn vị, chỉ cần thêm các ẩn giả cần thiết để đưa bài toán về dạng chuẩn tắc.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 49
Ví dụ 6: Giải bài toán QHTT sau: f(x) = 2x 1 - x 2 + 3x 3 + x 4 min
Bài toán hiện tại chỉ có một véc tơ cột đơn vị, tức là chỉ có một ẩn cơ bản Để mở rộng bài toán, ta bổ sung thêm hai ẩn giả x5 và x6, từ đó đưa bài toán về dạng tối ưu hóa như sau: f(x) = 2x1 - x2 + 3x3 + x4 + Mx5 + Mx6 → min.
Có ma trận hệ số là
Có PACB ban đầu là: x = (0; 0; 2; 0; 5; 3)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 50
Bài toán mở rộng có PATƯ là : (33/14,1/7,0,3/14,0,0)
Vì các ẩn giả đều x 5 , x 6 đều bằng không nên chỉ việc bỏ đi ẩn giả còn lại là PATƯ của bài toán ban đầu
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 51
- Giá trị hàm mục tiêu đạt đƣợc là : F(x*) = 67/14
Ví dụ 7: Giải bài toán QHTT sau: f(x) = 3x 1 - 2x 2 + x 4 max
Dạng chuẩn của bài toán trên là: g(x) = - 3x 1 + 2x 2 - x 4 + Mx 7 + Mx 8 min
Có ma trận hệ số là
Có PACB ban đầu là: x = (0, 0, 2, 0, 0, 7, 3, 9)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 52
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 53
Bài toán mở rộng có phương án tối ưu là: x * = (0, 1, 0, 4/3, 0, 19/3, 0, 17/3)
Vì ẩn giả x 8 = 17/3 khác không nên bài toán ban đầu không có phương án tối ưu
1.3.3 Phương pháp đơn hình hai pha
Xét bài toán QHTT dạng chính tắc sau (gọi là bài toán P): f(x) n j j j 1 c x min
(2) x j 0 , (j = 1, 2, , n) (3) Dạng ma trận của bài toán trên là:
Phương pháp đơn hình hai pha được áp dụng khi chưa xác định được tính độc lập tuyến tính của các ràng buộc Ax = b Ở pha đầu tiên, mục tiêu là tìm một phương án cực biên xuất phát cho bài toán Nếu không tìm được, điều này có nghĩa là bài toán không có nghiệm Ngược lại, nếu tìm thấy phương án xuất phát, ta sẽ chuyển sang pha thứ hai để giải bài toán với phương án đó Các bước cụ thể của phương pháp này sẽ được thực hiện theo trình tự rõ ràng.
Pha thứ nhất: Thiết lập và giải bài toán phụ sau:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 54 g(x,u) = u n+1 + u n+2 + + u n+m min (1) với hệ ràng buộc:
Ta gọi các ẩn x 1 , x 2 , , x n là các ẩn chính; các ẩn còn lại là ẩn phụ
Bài toán phụ đã được chuyển sang dạng chuẩn, và sau khi giải, chúng ta tìm được phương án tối ưu với dạng X * = (x *, u *) Từ đó, có thể xuất hiện nhiều trường hợp khác nhau.
1) Nếu u* ≠ 0 thỡ bài toỏn P vụ nghiệm: D = ỉ
2) Nếu u * = 0 và các ẩn cơ bản đều là ẩn chính thì x * là PACB xuất phát của bài toán P, đến đây ta bắt đầu pha thứ 2 để giải bài toán ban đầu
3) Nếu u * = 0 và có ẩn cơ bản là ẩn phụ thì ta phải biến đổi bảng đơn hình để loại bỏ ẩn phụ đó ra khỏi hệ thống ẩn cơ bản, sau đó bắt đầu pha thứ 2 để giải bài toán với x * là PACB xuất phát
Ví dụ 8: Giải bài toàn dưới đây bằng phương pháp đơn hình hai pha:
Lập và giải bài toán phụ:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 55
G(x) = x 5 + x 6 + x 7 min với u = (x 5 , x 6 , x 7 ) x l - 2x 2 - x 3 + x 5 x l - x 2 - x 3 + x 4 + x 6 = 20 2x l – x 3 + 2x 4 + x 7 = 52 x j ≥ 0 (j =1,7) PACB xuất phát là : x 1 = x 2 = x 3 = x 4 = 0, x 5 = 15, x 6 = 20, x 7 = 52
Ta lập được bảng đơn hình đưới đây:
Cơ sở tối ưu là B * = (A 1 , A 2 , A 3 ) với phương án tối ưu là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 56
Ta thấy u * = 0 và các ẩn cơ bản chỉ chứa những ẩn của biến chính là (x 1 , x 2 , x 3 ) nên ta chuyển sang pha 2:
Giải bài toán chính với cơ sở xuất phát là B * = (A 1 , A 2 , A 3 ), ta lập đƣợc bảng đơn hình dưới đây:
- PATƢ của bài toán ban đầu là x * = (27, 5, 2, 0)
Ví dụ 9: Giải bài toán QHTT dưới đây bằng phương pháp đơn hình 2 pha
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 57
Ta có bảng đơn hình dưới đây:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 58 x 6 0 0 0 0 0 0 1 0 -1 -1 x 7 0 0 0 0 0 0 0 1 -1 -2 x 1 2 1 1 0 0 0 0 0 1 0 x 3 3 0 0 1 1 1 0 0 0 1
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU
2.1.1 Quy tắc lập bài toán đối ngẫu Để lập đƣợc bài toán đối ngẫu cho bài toán QHTT ban đầu (P), ta xét 2 quy tắc sau: a) Quy tắc 1: Bài toán gốc có hàm mục tiêu min
Bài toán gốc (P) Bài toán đối ngẫu (D) f(x) n j j j 1 c x
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 77
Ví dụ 1: Lập bài toán đối ngẫu của bài toán sau: f(x) = 3x 1 - 2x 2 - 5x 3 + 4x 4 → min
* Trước hết lấy vế phải của ràng buộc bắt buộc làm hệ số của hàm mục tiêu: g(y) = 6y 1 - 7y 2 + 9y 3 max
* Chuyển vị ma trận hệ số trong các ràng buộc bắt buộc ràng buộc bắt buộc của bài toán QHTT đối ngẫu:
3y 1 - 2y 2 + y 3 ≤ 3 (vì ẩn x 1 ≥ 0) 2y 1 + y 2 - 3y 3 = -2 (vì ẩn x 2 tùy ý) -5y 1 + y 2 + 4y 3 ≤ -5 (vì ẩn x 3 ≥ 0) -3y 1 + 2y 2 + y 3 ≥ 4 (vì ẩn x 4 ≤ 0)
* Xác định dấu của các ẩn:
Vì ràng buộc (1) có dấu “≤” nên ẩn y 1 ≤ 0
Vì ràng buộc (2) có dấu “=” nên ẩn y 2 tùy ý
Vì ràng buộc (3) có dấu “≥” nên ẩn y 3 ≥ 0
Kết luận: bài toán QHTT đối ngẫu của bài toán trên là: g(y) = 6y 1 - 7y 2 + 9y 3 max
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 78 b) Quy tắc 2: Bài toán gốc (P) có hàm mục tiêu max
Bài toán gốc (P) Bài toán đối ngẫu (D) f(x) n j j j 1 c x
Ví dụ 2: Lập bài toán đối ngẫu của bài toán sau: f(x) = 3x 1 - 2x 2 - 5x 3 + 4x 4 → max
* Trước hết lấy vế phải của ràng buộc bắt buộc làm hệ số của hàm mục tiêu: g(y) = 6y 1 - 7y 2 + 9y 3 min
* Chuyển vị ma trận hệ số trong các ràng buộc bắt buộc ràng buộc bắt buộc của bài toán QHTT đối ngẫu:
3y 1 - 2y 2 + y 3 ≥ 3 (vì ẩn x 1 ≥ 0) 2y 1 + y 2 - 3y 3 = -2 (vì ẩn x 2 tùy ý)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 79
* Xác định dấu của các ẩn:
Vì ràng buộc (1) có dấu “≤” nên ẩn y 1 ≥ 0
Vì ràng buộc (2) có dấu “=” nên ẩn y 2 tùy ý
Vì ràng buộc (3) có dấu “≥” nên ẩn y 3 ≤ 0
Kết luận: bài toán QHTT đối ngẫu của bài toán trên là: g(y) = 6y 1 - 7y 2 + 9y 3 min
Chú ý: Bài toán đối ngẫu của bài toán đối ngẫu chính là bài toán gốc
2.1.2 Quan hệ giữa bài toán gốc (P) và bài toán đỗi ngẫu (D) a Các định lý đối ngẫu
Định lý 1: Với bài toán P và D, chỉ xảy ra một trong 3 trường hợp sau:
1) Cả 2 đều không có phương án
2) Cả 2 đều có phương án, lúc đó cả 2 đều có PATƯ và giá trị hàm mục tiêu đối với PATƢ là nhƣ nhau
3) Một trong 2 bài toán có phương án, còn bài toán kia không có phương án Khi đó bài toán có phương án sẽ không có PATƯ và hàm mục tiêu không bị chặn
Hệ quả 1: Nếu một trong hai bài toán có PATƢ thì bài toán kia cũng có PATƢ
Hệ quả 2: Điều kiện cần và đủ để x* là PATƢ của bài toán (P) và y* là PATƢ của bài toán (D) là: f(x*) = g(y*)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 80
Định lý 2: Điều kiện cần và đủ để x* = (x , x , , x * 1 * 2 * n ) là PATƢ của bài toán (P) và y*= (y , y , , y * 1 * 2 * m ) là PATƢ của bài toán (D) là: n
Lưu ý rằng các phương trình trong hệ trên đều có dạng A.B = 0, vì vậy nếu một trong các thừa số A hoặc B khác không, thừa số còn lại phải bằng không Dưới đây là một số ví dụ minh họa cho điều này.
Ví dụ 3: Cho bài toán gốc (P):
- x 1 + x 2 + 3x 3 = 3 2x 1 - x 2 + x 3 = 1 2x 2 + 3x 3 = 3 x j ≥ 0 (j = 1, 2, 3) a) Giải bài toán gốc (P) b) Tìm bài toán đối ngẫu (D) c) Tìm nghiệm của bài toán đối ngẫu
Giải a) Bài toán mở rộng của bài toán trên là:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 81
Có ma trận hệ số là:
Có PACB ban đầu là: x = (0; 0; 0; 3; 1; 3)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 82
Kết luận: PATƢ của bài toán (P) là (x 1 , x 2 , x 3 ) = (0 , 0 , 1)
Giá trị tối ƣu là f * = 3 b) Tìm bài toán đối ngẫu: g(y) = 3y 1 + y 2 + 3y 3 → max ơ
3y 1 + y 2 + 3y 3 ≤ 3 y j tùy ý (j = 1, 2, 3) c) Tìm nghiệm của bài toán đối ngẫu (D):
Theo định lý 2 ta có: x 1 ( - y 1 + 2y 2 - 2) = 0 x 2 ( y 1 - y 2 + 2y 3 + 1) = 0 x 3 ( 3y 1 + y 2 + 3y 3 - 3) = 0 y 1 ( - x 1 + x 2 + 3x 3 - 3) = 0 y 2 ( 2x 1 - x 2 + x 3 - 1) = 0 y 3 ( 2x 2 + 3x 3 - 3) = 0
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 83
3y 1 + y 2 + 3y 3 - 3 = 0 (*) Như vậy, trong trường hợp này bài toán đối ngẫu (D) có vô số nghiệm (y 1 , y 2 , y 3 ) thỏa mãn (*)
Ví dụ 4: Cho bài toán gốc (P) f(x) = 52x 1 + 60x 2 + 36x 3 → min x 1 ≥ -2
2x 1 + 4x 2 + 3x 3 ≥ 6 4x 1 + 2x 2 ≥ 4 x 2 ≥ -2 x 3 ≥ 3 x j tùy ý (j = 1, 2, 3) a) Tìm bài toán đối ngẫu (D) b) Giải bài toán đối ngẫu (D) c) Tìm nghiệm tối ƣu của bài toán gốc (P)
Giải a) Bài toán đối ngẫu (D) là: g(y) = -2y 1 + 6y 2 + 4y 3 - 2y 4 + 3y 5 → max y 1 + 2y 2 + 4y 3 = 52
4y 2 + 2y 3 + y 4 = 60 3y 2 + y 5 = 36 y i ≥ 0 (i = 1, 2, , 5) b) Giải bài toán đối ngẫu
Chuyển bài toán (D) về dạng chuẩn, ta đƣợc:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 84 g’(y) = - g(y) = 2y1 - 6y 2 - 4y 3 + 2y 4 - 3y 5 → min y 1 + 2y 2 + 4y 3 = 52
Nghiệm tối ƣu của bài toán đối ngẫu (D) là y * = (0 , 34/3 , 22/3 , 0 , 2) Giá trị tối ƣu đạt đƣợc là g(y*) = - g’(y*) = 310/3
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 85 c) Tìm nghiệm của bài toán gốc (P)
Theo định lý 2, ta có: y 1 (x 1 + 2) = 0 y 2 (2x 1 + 4x 2 + 3x 3 - 6) = 0 y 3 (4x 1 + 2x 2 - 4) = 0 y 4 (x 2 + 2) = 0 y 5 (x 3 - 3) = 0 x 1 (y 1 + 2y 2 + 4y 3 - 52) = 0 x 2 (4y 2 + 2y 3 + y 4 - 60) = 0 x 3 (3y 2 + y 5 - 36) = 0 mà y = (0 , 34/3 , 22/3 , 0 , 2)
Vậy: PATƢ của bài toán gốc là x = (11/6 , -5/3 , 3)
Ví dụ 5: Cho bài toán gốc (P): f(x) = 2x 1 + 3x 2 - x 3 → max
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 86 a) Tìm bài toán đối ngẫu (D) b) Chứng minh rằng x * = (0 , 3 , 3) là nghiệm tối ƣu của bài toán (P)
Giải: a) Tìm bài toán đối ngẫu (D): g(y) = 5y 1 + 6y 2 + 3y 3 min
2y 1 - y 2 + 3y 3 ≥ 2 y 1 + 2y 3 ≥ 3 3y 1 + 2y 2 - y 3 ≥ -1 y 1 ≤ 0; y 2 tùy ý; y 3 ≥ 0 b) Chứng minh rằng x * = (0 , 3 , 3) là nghiệm tối ƣu của bài toán (P)
Theo định lý đối ngẫu:
Giả sử x = (0, 3, 3) là PATƢ của bài toán (P), thay x 1 = 0, x 2 = 3, x 3 = 3 vào hệ trên ta đƣợc:
Suy ra: x = (0, 3, 3) là PATƢ của bài toán (P) và y = (0 , 1/4 , 3/2) là PATƢ của bài toán (D)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 87
THUẬT TOÁN ĐƠN HÌNH ĐỐI NGẪU
Các định lý đối ngẫu đóng vai trò quan trọng trong việc thiết kế thuật toán đơn hình đối ngẫu, giúp giải quyết bài toán gốc một cách hiệu quả hơn so với thuật toán đơn hình truyền thống đã được nghiên cứu Trước khi đi sâu vào thuật toán, chúng ta cần tìm hiểu những khái niệm cơ bản liên quan.
2.2.1 Cơ sở gốc và cơ sở đối ngẫu
Xét bài toán QHTT dạng tính tắc (P)
F(x) = min { Ax = b, x 0 } = D Bài toán đối ngẫu tương ứng là : (D)
Giả sử B = {A j : j J, |J| = m} là một hệ m véc tơ cột của A, có tính độc lập tuyến tính Nếu x j = B -1 b ≥ 0, thì B được gọi là cơ sở chấp nhận được của bài toán gốc (P), hay còn được gọi tắt là cơ sở gốc.
Nếu y = (B -1) T c j thỏa mãn điều kiện A T y c, thì B được gọi là cơ sở chấp nhận được của bài toán đối ngẫu (D) Có thể xảy ra những tình huống sau: a) B không phải là cơ sở gốc, cũng không phải là cơ sở đối ngẫu; b) B là cơ sở gốc mà không phải là cơ sở đối ngẫu; c) B là cơ sở đối ngẫu mà không phải là cơ sở gốc; d) B vừa là cơ sở gốc vừa là cơ sở đối ngẫu Định lý cho biết rằng nếu B vừa là cơ sở gốc, vừa là cơ sở đối ngẫu, thì B là cơ sở tối ưu.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 88
2.2.2 Ý tưởng của thuật toán đơn hình đối ngẫu
Thuật toán đơn hình bắt đầu bằng việc xác định một cơ sở gốc B, có thể chưa phải là tối ưu Sau đó, thuật toán chuyển đổi từ B sang B1, rồi tiếp tục từ B1 sang B2, với mục tiêu cuối cùng là đạt được cơ sở tối ưu B* Khi đạt được B*, nó đồng thời là cơ sở gốc và cũng là cơ sở đối ngẫu.
Thuật toán đơn hình đối ngẫu hoạt động theo quy trình ngược, bắt đầu bằng việc xác định một cơ sở đối ngẫu B, thường không phải là tối ưu Tiếp theo, quá trình sẽ chuyển đổi từ cơ sở B sang B1, rồi từ B1 sang B2, với mục tiêu cuối cùng là đạt được cơ sở tối ưu B* (nếu tồn tại) Điều này có nghĩa là tìm ra một cơ sở vừa là đối ngẫu, vừa là gốc.
Thuật toán đơn hình xuất phát từ một cơ sở gốc nhằm tìm kiếm một cơ sở vừa là gốc vừa là đối ngẫu, trong khi các cơ sở trung gian đều là cơ sở gốc Ngược lại, thuật toán đơn hình đối ngẫu bắt đầu từ một cơ sở đối ngẫu để tìm ra một cơ sở vừa là đối ngẫu vừa là gốc, với các cơ sở trung gian đều là cơ sở đối ngẫu.
2.2.3 Thuật toán đơn hình đối ngẫu khi biết cơ sở đối ngẫu
Giả sử chúng ta xác định được cơ sở đối ngẫu B = {A j : j ∈ J}, với A j là các véc tơ cột của ma trận A và |J| = m Tiếp theo, chúng ta sẽ tính toán các đại lượng B⁻¹, H = B⁻¹A, b j = B⁻¹b và các số kiểm tra Δ k (k).
Khi đó: k ≤ 0 (k J) và x j = B -1 b đƣợc gọi là giả phương án
Như vậy, nếu x là giả phương án thì k ≤ 0 (k J)), ngược lại x không phải là giả phương án (tức là tồn tại k > 0 (k J))
Bây giờ ta xét bài toán QHTT ở dạng chuẩn tắc khi biết giả phương án: f(x) n j j j 1 c x min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 89
(2) x j 0 , j = 1 n (3) không nhất thiết là b i 0 mà dấu của nó là tùy ý
Bài toán luôn có PA ban đầu là: x = (x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1 m)
Thuật toán đơn hình đối ngẫu giải bài toán QHTT dạng chuẩn gồm 3 bước sau:
Bước 1: Lập bảng đơn hình ban đầu:
Giả sử x là giả phương án, ta lập bảng đơn hình đối ngẫu dạng sau:
Hệ số Ẩn cơ bản
1 i i ib c = Cột hệ số nhân với Cột phương án
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 90
1 i j ij ia c c = Cột hệ số nhân với véc tơ cột thứ j trừ đi hệ số c j của ẩn x j
( j gọi là ƣớc lƣợng thứ j) Bước 2: Kiểm tra tính tối ưu
Nếu b i ≥ 0 j thì phương án đang xét là phương án tối ưu giá trị hàm mục tiêu tương ứng là f(x) = f o
Nếu bi* ≤ 0 mà tất cả các hệ số a i*j trên hàng i * đó lớn hơn bằng không, tức là: a i*j ≥ 0 (i = 1 m) thì bài toán đang xét không có phương án tối ưu
Nếu cả hai trường hợp trên không xảy ra thì ta chuyển sang bước 3
Bước 3: Tìm giả PA mới tốt hơn
Nếu b r = i min b thì ẩn xi r là ẩn đƣa ra, hàng thứ r đƣợc gọi là hàng xoay hay hàng khóa
Nếu v = j minj thì ẩn x v là ẩn đƣa vào, cột thứ v đƣợc gọi là cột xoay Phần tử a rv đƣợc gọi là phần tử xoay
6) Biến đổi bảng đơn hình: a) Trong cột ẩn cơ bản thay x r bằng x v , trong cột hệ số thay c r bằng c v , các ẩn khác và hệ số tương ứng để nguyên b) Chia hàng xoay (hàng thứ r) cho phần tử xoay a rv ta đƣợc hàng r mới gọi là hàng chuẩn c) Muốn có hàng i mới (i r), ta lấy hàng chuẩn nhân với - a iv rồi cộng vào hàng i cũ
Để có hàng cuối mới tại Trường Đại học Sư phạm Kỹ thuật Nam Định, bạn cần nhân hàng chuẩn với – v và cộng vào hàng cuối cũ Ngoài ra, bạn cũng có thể tính trực tiếp như ở bước 1, trong đó hàng cuối bao gồm f0 và các ước lượng j.
Các mục b, c, d liên quan đến việc áp dụng các phép biến đổi sơ cấp trên hàng của ma trận nhằm chuyển đổi bảng đơn hình cũ thành bảng đơn hình mới, với mục tiêu biến véc tơ cột thứ v thành véc tơ đơn vị thứ v.
Sau khi nhận được bảng đơn hình mới, bước tiếp theo là tiến hành kiểm tra tính tối ưu Quá trình này sẽ tiếp tục cho đến khi tìm ra lời giải cho bài toán.
Khi bài toán Quy hoạch tuyến tính (QHTT) chưa ở dạng chuẩn tắc, cần thực hiện các biến đổi sơ cấp để chuyển đổi về dạng chuẩn Điều này không yêu cầu các hệ số phải lớn hơn 0, mà có thể có dấu tùy ý Sau khi đưa về dạng chuẩn, ta có thể áp dụng phương pháp đơn hình đối ngẫu để giải quyết bài toán.
Ví dụ 1: Giải bài toán QHTT dưới đây bằng PP đơn hình đối ngẫu:
Giải: Đƣa bài toán trên về dạng chuẩn là: g(x) = - f(x) = - 2x 1 + x 2 - 2x 3 + 3x 4 min x 1 + x 3 - 3x 4 + x 5 = 3 -3x 1 + x 2 - 2x 3 - 2x 4 = - 7 2x 1 - x 3 + x 4 + x 6 = -5 x j ≥ 0 (j = 1, 2, , 6) Cho x 1 = x 3 = x 4 = 0, ta đƣợc x 5 = 3, x 2 = -7, x 6 = -5 và ta kiểm tra các ∆ j ≤ 0
đây là giả phương án
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 92
Lập bảng đơn hình nhƣ sau:
Hệ số Ẩn cơ bản PA -2 1 -2 3 0 0 x 1 x 2 x 3 x 4 x 5 x 6
* Tìm ẩn âm nhỏ nhất x 2 làm ẩn đưa ra
* Tính các j tại những vị trí mà a 2j < 0 tìm j nhỏ nhất ẩn x 3 là ẩn đưa vào Sau đó biến đổi bảng đơn hình, ta được kết quả sau: x 5 -1/2 -1/2 ẵ 0 -4 1 0 x 3 7/2 3/2 - ẵ 1 1 0 0 x 6 - 3/2 7/2 -1/2 0 2 0 1 g(x) -7 -1 0 0 -5 0 0
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 93
Ta thấy các ẩn cơ bản đều nhận giá trị dương PATƯ
- Giá trị tối ƣu đạt đƣợc là: f(x * ) = - g(x * ) = 2
Khi làm việc với bảng thứ 2 của bảng đơn hình đối ngẫu, trước tiên cần tính cột giả phương án Nếu tất cả các giá trị trong cột này đều lớn hơn hoặc bằng 0, chúng ta không cần phải tính các ô còn lại và có thể kết thúc thuật toán, từ đó đưa ra kết luận về bài toán.
Ví dụ 2: Giải bài toán QHTT dưới đây bằng PP đơn hình đối ngẫu:
F (x) = 3x 1 - 2x 2 -4x 3 + 10x 4 - 6x 5 + 65x 6 min x 1 - x 4 +2x 5 -4x 6 = 8 x 2 + x 4 -2x 5 +6x 6 = 19 x 3 +2x 4 +3x 5 +x 6 = 21 x j 0; j= 1 , 6 với cơ sở đối ngẫu cho trước: B = (A 2 , A 3 , A 4 )
Ta thấy cơ sở đối ngẫu chƣa phải là cơ sở đơn trị, nên ta biến đổi để đƣa cơ sở đỗi ngẫu
B về cơ sở đơn trị nhƣ sau:
Ta có bảng đơn hình đối ngẫu dưới đây:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 94
2.2.4 Thuật toán đơn hình đối ngẫu khi không biết cơ sở đối ngẫu
Xét bài toán QHTT ở dạng chuẩn tắc: f(x) n j j j 1 c x min
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 95 không nhất thiết là b i 0 mà dấu của nó là tùy ý
Bài toán luôn có PA ban đầu là: x = (x 1 , , x m , x m+1 , , x n ) = (b 1 , , b m , 0 , , 0) với x i là ẩn cơ bản thứ i (i = 1 m)
Giả sử x không phải là giả phương án, tức là cơ sở B = (A 1 ,A 2 ,A 3 , ,A m ) của nó không phải là cơ sở đối ngẫu
Để giải quyết vấn đề tìm cơ sở đối ngẫu cho bài toán đơn hình đối ngẫu, cần áp dụng phương pháp tương tự như phương pháp đơn hình hai pha Cụ thể, người ta sẽ xây dựng và giải một bài toán mở rộng bằng cách thêm một biến phụ \(x_0\) với hệ số \(c_0 = 0\) vào hàm mục tiêu, cùng với một ràng buộc chặt chẽ: \(x_0 + x_{m+1} + + x_n = M\).
M là 1 số dương đủ lớn (như số M trong phương pháp đơn hình mở rộng)
Khi ấy bài toán mở rộng là: f(x) n j j j 1 c x min
Bài toán luôn có PA ban đầu là: x = (x 0, x 1 , , x m , x m+1 , , x n ) = (M, b 1 , , b m , 0 , , 0)
Sau đó ta lập bảng đơn hình đối ngẫu mở rộng, có dạng sau:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 96
Hệ số Ẩn cơ bản
- Vì x chưa phải là giả phương án nên luôn tồn tại j > 0
Phương pháp đơn hình đổi ngẫu sử dụng giả phương án với hai thành phần: x i = i + i M Để đơn giản hóa quá trình tính toán, có thể chia cột giả phương án thành hai cột riêng biệt, một cột cho i và một cột cho i Để xác định dấu x i và thực hiện so sánh, ta áp dụng quy tắc đã được thiết lập.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 97
Sau khi lập bảng đơn hình đầu tiên, để có bảng đơn hình đối ngẫu thứ 2, ta biến đổi nhƣ sau:
- Ẩn đƣa ra luôn là ẩn x 0 hàng chứa x 0 là hàng xoay
- Giả sử q = max k ẩn đƣa vào là ẩn x q , cột chứa x q là cột xoay
- Phần tử giao giữa hàng xoay và cột xoay là phần tử xoay
Sau đó ta biến đổi bảng đơn hình tương tự như ta đã học phương pháp đơn hình
Ý NGHĨA CỦA BÀI TOÁN ĐỐI NGẪU
Có thể giải quyết một bài toán bằng cách lập và giải bài toán đối ngẫu của nó, từ đó rút ra phương án tối ưu cho bài toán ban đầu Điều này cho phép suy ra kết quả của bài toán này từ kết quả của bài toán kia Trong một số trường hợp, quá trình này có thể đơn giản hơn và giảm khối lượng tính toán; ví dụ, khi bài toán gốc không có cơ sở rõ ràng nhưng bài toán đối ngẫu lại có cơ sở xác định, giúp dễ dàng hơn trong việc tìm ra giải pháp.
Nhờ vào các định lý đối ngẫu, một thuật toán đơn hình đối ngẫu đã được thiết kế, giúp rút ngắn thời gian tính toán trong một số trường hợp nhất định Khi giải quyết bài toán mà không biết cơ sở gốc nhưng có thông tin về cơ sở đối ngẫu, thuật toán đơn hình đối ngẫu tỏ ra hiệu quả hơn đáng kể.
Thuật toán đơn hình đối ngẫu không chỉ giúp chúng ta nắm bắt rõ hơn về cấu trúc của các bài toán mà còn làm sáng tỏ mối quan hệ giữa các lời giải Điều này góp phần nâng cao hiểu biết về ý nghĩa thực tiễn của lý thuyết này.
Trong chương này, lý thuyết đối ngẫu được trình bày hoàn toàn từ góc độ toán học, với các định lý đối ngẫu và ứng dụng được nêu rõ Điều này cho thấy ý nghĩa toán học của lý thuyết đối ngẫu rất rõ ràng và quan trọng.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 105
Lý thuyết đối ngẫu có thực sự xuất phát từ các vấn đề thực tế và ứng dụng của nó trong thực tiễn là câu hỏi quan trọng Để làm rõ điều này, chúng ta có thể xem xét một vấn đề thực tế cụ thể, chẳng hạn như bài toán lập kế hoạch sản xuất, được mô hình hóa bởi một bài toán QHTT Từ đó, chúng ta có thể xác định bài toán đối ngẫu tương ứng và khám phá mối quan hệ giữa bài toán này với các vấn đề thực tiễn khác Việc này giúp làm sáng tỏ vai trò của lý thuyết đối ngẫu trong việc giải quyết các vấn đề thực tiễn.
Có m loại nguyên liệu với trữ lượng b_i > 0 (i=1,m) có thể sử dụng để sản xuất n loại sản phẩm khác nhau Ký hiệu a_ij (i=1,m, j=1,n) là số nguyên liệu loại i cần thiết để sản xuất một sản phẩm loại j, và c_j là giá bán sản phẩm loại j Mục tiêu là lập kế hoạch sản xuất nhằm đạt được thu nhập tối đa Gọi x_j là số lượng sản phẩm loại j mà ta sẽ sản xuất, từ đó hình thành mô hình toán học để tối ưu hóa quy trình sản xuất.
Bài toán trên có thể viết ở dạng ma trận nhƣ sau:
Axb,x0 b Bài toán thực tế đối ngẫu: xác định hệ thống giá nhiên liệu
Từ bài toán gốc (P), ta có thể lập bài toán đối ngẫu sau đây:
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 106
Bây giờ ta hãy tìm bài toán thực tế dẫn đến bài toán (D)
Một nhà quản lý, từ quan điểm của nhà sản xuất, đã giải quyết bài toán (P) và xác định phương án tối ưu là x* Với phương án này, thu nhập tối đa đạt được là F(x*) Nhờ đó, anh ta có thể yên tâm giao kế hoạch sản xuất cho một đơn vị khác với khoản nộp tương ứng là F(x*).
Một đối tác quản lý trong lĩnh vực kinh doanh đã đưa ra một quan điểm khác: Cần xác định một hệ thống giá bán nguyên liệu nhằm mục tiêu bán với mức giá thấp nhất có thể để đảm bảo khoản nộp F(x *) Bài toán này được đặt ra như sau:
Ký hiệu y i (i=1 , m ) là giá bán một đơn vị nguyên liệu loại i, thì ta có mô hình toán học sau đây:
A T y c , y 0 Đó chính là bài toán đối ngẫu của bài toán (P), trong đó G(y) = min chính là thu nhập khi bán các nguyên liệu với giá tối thiểu
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 107
1 là điều kiện bắt buộc: tiền bán những nguyên liệu để làm ra một sản phẩm loại j không thua kém giá bán một sản phẩm loại j
Nếu bài toán (P) có phương án tối ưu x*, thì bài toán (D) cũng có phương án tối ưu y* với G(y*) = F(x*) Hệ thống giá tối ưu y* = (y*1, y*2, , y*n) được gọi là hệ thống giá bóng (hay giá ẩn), và thường khác với hệ thống giá thực tế trên thị trường Hệ thống giá bóng gợi ra những suy nghĩ thú vị về mối quan hệ giữa giá cả và giá trị thực trong nền kinh tế.
Quy mô sản xuất x và giá nguyên liệu y có mối quan hệ đối ngẫu chặt chẽ; khi giá sản phẩm thay đổi, quy mô sản xuất và hệ thống giá nguyên liệu cũng sẽ biến đổi theo Để quản lý hiệu quả trong bất kỳ nền kinh tế nào, việc kết nối sản xuất với thị trường là điều kiện tiên quyết, thể hiện nguyên lý này.
Hệ thống giá bóng giúp xác định tỷ lệ giá trị của từng nguyên liệu trong tổng giá trị sản phẩm, từ đó tối ưu hóa quy mô sản xuất.
Hệ thống giá bóng có thể được áp dụng để phân tích và đưa ra quyết định trong quản lý và kinh tế Khi giá bóng thấp hơn giá trị thực tế trên thị trường, người nhận kế hoạch hoặc nhận thầu sẽ có lợi thế.
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 108
TÌM BÀI TOÁN ĐỐI NGẪU CỦA CÁC BÀI TOÁN SAU
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 109
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 110
2.10 Cho bài toán QHTT sau:
4x 1 + x 2 - 2x 4 = 3 x j ≥ 0 (j = 1, 2, , 4) a) Giải bài toán (P) bằng phương pháp đơn hình b) Viết bài toán đỗi ngẫu và tìm nghiệm tối ƣu của bài toán đối ngẫu Đáp số: a) x* = (0, 17, 0, 7); F(x*) = 41 b) y* = (0, 0, 5, 2)
2.11 Cho bài toán QHTT sau:
2x 1 - x 2 + 3x 4 ≤ 3 -3x 1 + x 2 + 2x 4 = 5 x 1 + x 2 - 2x 4 ≥ 4 x 1 - 3x 2 + x 3 + x 4 = 6 x j ≥ 0, (j = 1, 2, , 4) a) Giải bài toán (P) bằng phương pháp đơn hình b) Viết bài toán đỗi ngẫu và tìm nghiệm tối ƣu của bài toán đối ngẫu Đáp số: a) x* = (27/16, 99/16, 335/16, 31/16); F(x*) = - 43/8 b) y* = (1/2, -7/8, -5/8, 0)
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 111
GIẢI CÁC BÀI TOÁN QHTT SAU BẰNG PHƯƠNG PHÁP ĐƠN HÌNH ĐỐI
- x 1 + x 2 - 4x 4 + 3x 6 = 5 4x 1 + x 4 + x 5 + 2x 6 = 7 x j ≥ 0 (j = 1, 2, , 6) Đáp số: Bài toán không có PATƯ
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT NAM ĐỊNH 112