Professional Documents
Culture Documents
Bai Giang QHTT PDF
Bai Giang QHTT PDF
Bai Giang QHTT PDF
Bài giảng
1/2015
MỤC LỤC
Chương 1: Bài toán quy hoạch tuyến tính
1.1. Vấn đề thực tiễn dẫn đến bài toán quy hoạch tuyến tính........................................1
1.2. Các dạng bài toán quy hoạch tuyến tính ..................................................................5
1.3. Phương pháp hình học giải bài toán quy hoạch tuyến tính ....................................11
1.4. Phương pháp đơn hình ...............................................................................................15
1.5. Hiện tượng suy biến ....................................................................................................28
Chương 2: Bài toán đối ngẫu
2.1. Định nghĩa bài toán đối ngẫu .....................................................................................39
2.2. Các định lý cơ bản.......................................................................................................42
2.3. Một số ứng dụng của bài toán đối ngẫu ....................................................................43
Chương 3: Bài toán vận tải
3.1. Phát biểu bài toán vận tải...........................................................................................52
3.2. Một số tính chất về bảng ............................................................................................54
3.3. Các phương pháp phân phối và thuật toán thế vị....................................................55
TÀI LIỆU THAM KHẢO ...................................................................................................68
Bài Giảng Quy Hoạch Tuyến Tính
Sản phẩm
Yếu tố sản xuất
Bàn Ghế Tủ
Gỗ loại 1 2 0.5 3
Gỗ loại 2 2 0.5 3.5
Ngoài ra biết giá bán 1 sản phẩm bàn, ghế, tủ lần lượt là 4; 2 và 6 triệu đồng. Xí nghiệp hiện có
100 tạ gỗ loại 1, 120 tạ gỗ loại 2
Hỏi xí nghiệp cần sản xuất bao nhiêu sản phẩm bàn, ghế và tủ sao cho thỏa mãn yêu cầu: gỗ loại 1
không được vượt quá 100 tạ, gỗ loại 2 không được vượt quá 120 tạ đồng thời tổng doanh thu được là
lớn nhất.
Giải
Gọi x1 , x2 , x3 lần lượt là số sản phẩm bàn, ghế và tủ cần sản xuất.
Điều kiện về biến gọi (số sản phẩm phải là số thực không âm): x1 0, x2 0, x3 0
Điều kiện gỗ loại 1 không được vượt quá 100 tạ: 2 x1 0.5 x2 3x3 100
Điều kiện về gỗ loại 2 không được vượt quá 120 tạ: 2 x1 0.5 x2 3.5x3 120
Vậy ta thiết lập mô hình bài toán như sau: tìm x1 , x2 , x3 sao cho
max z 4 x1 2 x2 6 x3
2 x1 0.5 x2 3x3 100
đồng thời thỏa các điều kiện sau
2 x1 0.5 x2 3.5 x3 120.
x 0, x 0, x 0
1 2 3
1
Bài Giảng Quy Hoạch Tuyến Tính
Ngoài ra, do yêu cầu chế biến thức ăn tỉ lệ các loại thức ăn A và B phải là 2:3. Hãy lập mô hình
tìm khối lượng thức ăn cần mua trong 1 ngày sao cho tổng chi phí là nhỏ nhất.
Giải
Gọi x1 , x2 , x3 lần lượt là số g thức ăn loại A,B,C cần mua trong 1 ngày
Điều kiện về biến gọi (số g thức ăn phải là số thực không âm): x1 0, x2 0, x3 0
Vậy ta thiết lập mô hình bài toán như sau: tìm x1 , x2 , x3 sao cho
min z 32 x1 40 x2 25 x3
đồng thời thỏa các điều kiện sau: 0.3x1 0.4 x2 0.2 x3 20
3x 2 x 0
1 2
x1 0, x2 0, x3 0
Ví dụ 3. Bài toán pha cắt vật liệu
Một xí nghiệp may mặc cần sản xuất đúng 2000 quần và ít nhất 1000 áo. Mỗi tấm vải có 6 cách cắt
như sau:
2
Bài Giảng Quy Hoạch Tuyến Tính
Hãy tìm phương án cắt quần áo sao cho tổng số tấm vải là ít nhất.
Giải
Gọi x j ( j 1, 2,...,6) là số tấm vải được cắt theo cách thứ j
Điều kiện về sản xuất quần xí nghiệp phải sản xuất đúng 2000 quần:
90 x1 80 x2 70 x3 60 x4 120 x5 (0 x6 ) 2000
Vậy ta thiết lập mô hình bài toán như sau: tìm x j ( j 1, 2,...,6) sao cho
min z x1 x2 x3 x4 x5 x6
3
Bài Giảng Quy Hoạch Tuyến Tính
20
K1 : 170 tấn 18 22 25
(ngàn đồng/tấn)
K 2 : 200 tấn 15 25 30 15
K 3 : 180 tấn 45 30 40 35
Tìm kế hoạch vận chuyển xi măng từ các kho tới các công trường sao cho mọi kho giao hết lượng
xi măng hiện có , mọi công trường nhận đủ lượng xi măng cần và tổng chi phí vận chuyển là nhỏ nhất.
Hãy lập mô hình bài toán.
Giải
Gọi xij (tấn) là lượng xi măng cần vận chuyển từ kho Ki (i 1, 2,3) tới công trường Tj ( j 1, 2,3, 4)
Điều kiện về biến gọi (lượng xi măng là số thực không âm): xij 0, i 1, 2,3; j 1, 2,3, 4
Kho K 2 giao hết lượng xi măng có: x21 x22 x23 x24 200
Kho K 3 giao hết lượng xi măng có: x31 x32 x33 x34 180
Công trường T2 nhận đủ lượng xi măng cần: x12 x22 x32 160
Công trường T3 nhận đủ lượng xi măng cần: x13 x23 x33 120
Công trường T4 nhận đủ lượng xi măng cần: x14 x24 x34 140
Vậy ta có mô hình bài toán là: Tìm xij , i 1, 2,3; j 1, 2,3, 4 sao cho
4
Bài Giảng Quy Hoạch Tuyến Tính
min(max) z c1 x1 c2 x2 ... cn xn
trong đó:
n
z c1 x1 c2 x2 ... cn xn ci xi :hàm mục tiêu.
i 1
n
Hệ ràng buộc (2) gọi là ràng buộc chung bao gồm aij x j (, ) bi , i 1, 2,..., m : ràng buộc
j 1
n
bất đẳng thức hoặc a x
j 1
ij j bi , i 1, 2,..., m : ràng buộc đẳng thức.
5
Bài Giảng Quy Hoạch Tuyến Tính
Hệ ràng buộc (3) gọi là ràng buộc dấu (ràng buộc về biến) x j (≥ 0,≤ 0, tùy ý), j 1, 2,..., n :
x* ( x1* , x2* ,..., xn* ) được gọi là 1 phương án tối ưu (hay nghiệm tối ưu) của bài toán max nếu
Một ràng buộc được gọi là chặt đối với phương án x nếu khi ta thay x vào ràng buộc này thì
n
dấu “=” xảy ra, ví dụ a x
j 1
ij j bi hoặc x j 0 .
Một ràng buộc được gọi là lỏng đối với phương án x nếu khi ta thay x vào ràng buộc này thì
n n
dấu bất đẳng thức xảy ra, ví dụ aij x j bi hoặc
j 1
a x
j 1
ij j bi .
Phương án x ( x1 , x2 ,..., xn ) của bài toán QHTT là phương án cực biên nếu x thỏa chặt n ràng
buộc độc lập tuyến tính.
Phương án x ( x1 , x2 ,..., xn ) của bài toán QHTT là phương án cực biên suy biến nếu số ràng
buộc thỏa chặt nhiều hơn số ràng buộc chặt độc lập tuyến tính.
Ví dụ 5. Xét bài toán QHTT sau:
min z 2 x1 x2 x3
2 x1 x2 2 x3 4
x1 2 x2 x3 18
x , x x 0
1 2, 3
Hỏi X (0,8, 2); Y (1,8,1) có phải là phương án cực biên của bài toán?
Giải
6
Bài Giảng Quy Hoạch Tuyến Tính
x2 8 (rbl)
x3 2 (rbl)
2 1 2
Ta trích ra hệ số các ràng buộc chặt, ta được: 1 2 1 , do định thức ma trận bằng 5 0 nên 3
1 0 0
ràng buộc thỏa chặt là độc lập tuyến tính. Vậy số rbc = 3= rbcdltt = số biến nên X (0,8, 2) là phương
án cực biên của bài toán.
Xét Y (1,8,1) , thay Y vào hệ ràng buộc ta được:
-2(1) + 1(8) – 2(1) = 4 (rbc)
1 + 2(8) + 1 = 18 18 (rbc)
x1 1 0 (rbl)
x2 8 0 (rbl)
x3 1 0 (rbl)
Vậy số rbcdltt = 2 < số biến nên Y (1,8,1) không là phương án cực biên của bài toán.
Ví dụ 6. Xét bài toán QHTT sau:
min z x1 x2
2 x1 x2 4
x 2 x 3
1 2
3 x1 x2 1
x1 , x2 0
7
Bài Giảng Quy Hoạch Tuyến Tính
x1 1 0 (rbl)
x2 2 0 (rbl)
Vậy X là 1 phương án của bài toán. Ta chứng minh X là phương án cực biên suy biến. Ma trận hệ số
2 1
của các ràng buộc thỏa chặt A 1 2 rank (A ) 2 , nên trong 3 ràng buộc thỏa chặt chỉ có 2
3 1
ràng buộc độc lập tuyến tính.
Nên X là phương án cực biên suy biến.
Chú ý: Ta có thể chuyển bài toán max về bài toán min nhờ mối quan hệ max z = - min(-z).
1.2.2 Dạng chuẩn
Xét bài toán có dạng
min z c1 x1 c2 x2 ... cn xn
a11 x1 a12 x2 ... a1n xn b1
a21 x1 a22 x2 ... a2 n xn b2
...
a x a x ... a x b
m1 1 m 2 2 mn n m
x j 0, j 1, 2..., m
Chú ý: Bài toán dạng chuẩn là bài toán có dạng tổng quát, thỏa các điều kiện sau:
- Các ràng buộc đều là “ ”.
- Các biến đều không âm.
Ràng buộc: ai1 x1 ai2 x2 ... ain xn bi ai1 x1 ai2 x2 ... ain xn bi , ta có thể đưa ràng buộc “ ”
về ràng buộc “ ” bằng cách nhân hai vế của bất đẳng thức với -1 và đổi dấu bất đẳng thức.
1.2.3 Dạng chính tắc
I. Phát biểu bài toán
Xét bài toán QHTT có dạng sau:
min z c1 x1 c2 x2 ... cn xn
a11 x1 a12 x2 ... a1n xn b1
a21 x1 a22 x2 ... a2 n xn b2
thỏa mãn các điều kiện ràng buộc sau:
...
a x a x ... a x b
m1 1 m 2 2 mn n m
x j 0, j 1,..., n
Ta có thể biểu diễn lại bài toán trên dưới dạng ma trận:
8
Bài Giảng Quy Hoạch Tuyến Tính
min cT x
Ax b
x0
x1 a11 a12 ... a1n b1
x2 a a22 ... a2 n b
trong đó: c (c1 , c2 ,..., cn ) , x
T
, A 21 ,b 2
... ... ... ...
xn am1 am 2 ... amn bn
Chú ý: Bài toán dạng chính tắc là bài toán có dạng tổng quát, thỏa các điều kiện sau:
- Các ràng buộc đều là ràng buộc đẳng thức “=”.
- Các biến đều không âm.
II. Cách chuyển bài toán tổng quát về dạng chính tắc
a) Ràng buộc dấu:
Nếu x j 0 thì ta đặt x 'j x j 0 .
Nếu x j tùy ý ta thay x j x 'j x ''j với điều kiện x 'j 0, x ''j 0 .
ai1 x1 ai2 x2 ... ain xn + xi'+n = bi , xi'+n 0 (hệ số của biến bù trên hàm mục tiêu là 0)
Nếu ai1 x1 ai2 x2 ... ain xn bi ta trừ đi biến bù vào vế trái để cân bằng
ai1 x1 ai2 x2 ... ain xn - xi'+n = bi , xi'+n 0 (hệ số của biến bù trên hàm mục tiêu là 0).
(i ' 1,2,...) .
Chú ý:
Khi ta chuyển bài toán QHTT ở dạng tổng quát về dạng chính tắc thì từ phương án tối ưu của bài
toán ban đầu ta suy ra được phương án tối ưu của bài toán dạng chính tắc và ngược lại (nếu một trong
hai bài toán đó không có phương án tối ưu thì bài toán còn lại cũng không có phương án tối ưu). Do
đó, việc giải bài toán ban đầu là tương đương với việc giải bài toán dạng chính tắc.
Ví dụ 7. Chuyển các bài toán sau đây về dạng chính tắc
min z 2 x1 2 x2 x3
min z x1 2 x2 x3
3 x1 4 x2 x3 16
2 x1 x2 3x3 9
a) (P) x1 2 x2 3 x3 12 b) (P)
4 x1 3x2 x3 1
2 x1 5 x2 4 x3 15 x 0, x 0
x1 0, x2 0, x3 0 1 2
9
Bài Giảng Quy Hoạch Tuyến Tính
Giải
min z 2 x1 2 x2 x3
3x1 4 x2 x3 x4 16
a) P x1 2 x2 3x3 12
2 x 5 x 4 x x5
1 2 3 15
x1 0, x2 0, x3 0, x4 0, x5 0
x2' x2 ( x2' 0)
Đặt thay thế các biến trên vào hàm mục tiêu và các ràng buộc ta được bài
x3 x3' x3" ( x3' 0, x3" 0)
toán dạng chính tắc như sau:
min z ' x1 2 x2' x3' x3"
2 x1 x2' 3x3' 3x3" 9
P
4 x1 3 x2 x3 x3 1
' ' "
x1 0, x2 0, x3 0, x3 0
' ' "
III. Một số tính chất đặc trƣng của bài toán QHTT dạng chính tắc
Định lí 1. (Tính chất đặc trƣng của phƣơng án cực biên)
Một phương án X ( x1 , x2 ,..., xn ) của bài toán QHTT dạng chính tắc là phương án cực biên nếu và
chỉ nếu vectơ cột A j ứng với thành phần x j 0 là độc lập tuyến tính.
2 2 1
Hỏi các vectơ nào sau đây là phương án cực biên của bài toán X (1,1, 0), Y (0, 0,1), Z ( , , ) .
3 3 3
Giải
X , Y , Z thỏa hệ ràng buộc nên cả 3 vectơ trên đều là 1 phương án.
1 1 2
Ta có A1 , A2 , A3
1 1 0
10
Bài Giảng Quy Hoạch Tuyến Tính
1 1
Xét X (1,1,0) có 2 thành phần dương ứng với biến x1 , x2 , det 2 0 nên X là phương
1 1
án cực biên.
Xét Y (0, 0,1) có 1 thành phần dương ứng với biến x3 , hệ chỉ gồm 1 vectơ A3 (2, 0) (0, 0) : A3
độc lập tuyến tính nên Y là phương án cực biên.
2 2 1
Xét Z , , có 3 thành phần dương ứng với biến x1 , x2 , x3 hệ vectơ { A1 , A2 , A3} phụ thuộc
3 3 3
tuyến tính vì A1 A2 A3 0 nên Z không là phương án cực biên.
Hệ quả 1. Xét bài toán QHTT dạng chính tắc, nếu rank ( A) m thì phương án cực biên gọi là
không suy biến nếu có đúng m thành phần dương. Nếu phương án cực biên có ít hơn m thành phần
dương thì được gọi là phương án cực biên suy biến.
Ví dụ 9. Xét bài toán QHTT như ví dụ 8. Chứng minh rằng X (1,1,0) là phương án cực biên
không suy biến, Y (0, 0,1) là phương án cực biên suy biến.
Giải
Biến đổi A thành ma trận bậc thang rút gọn ta được rank ( A) 2 , X có 2 thành phần dương nên X
là phương án cực biên không suy biến. Y có 1 thành phần dương nên là phương án cực biên suy biến.
1.3 Phƣơng pháp hình học giải bài toán qui hoạch tuyến tính
Đối với bài toán qui hoạch tuyến tính 2 biến ta có thể dùng phương pháp hình học để giải. Bài
toán qui hoạch tuyến tính 2 biến có dạng như sau:
min z c1 x1 c2 x2
ai1 x1 ai2 x2 (, , )bi
x1 , x2 (, )0
1.3.1 Một số vấn đề cần lƣu ý khi giải bằng phƣơng pháp hình học
ax by c
Đường thẳng ax by c chia mặt phẳng Oxy thành 2 miền . Ta muốn biết miền
ax by c
nào thỏa ax by c thì ta thay 1 điểm bất kì nằm ngoài đường thẳng (thông thường lấy điểm
(0,0) ) thay tọa độ điểm đó vào bất phương trình trên nếu thỏa thì miền đó là miền cần tìm.
Đường thẳng d : c1 x1 c2 x2 k gọi là đường mức , có vectơ pháp tuyến n (c1 , c2 ) .
- Nếu di chuyển ( d ) cùng chiều với n thì mức k tăng lên.
- Nếu di chuyển ( d ) ngược chiều với n thì mức k giảm xuống.
11
Bài Giảng Quy Hoạch Tuyến Tính
1.3.2 Các bƣớc giải bài toán QHTT(2 biến) bằng phƣơng pháp hình học
Bƣớc 1: Vẽ miền chấp nhận được D (miền giao của các ràng buộc).
Nếu D kết luận bài toán không có phương án tối ưu
o min
o max
Nếu D tiếp tục bước 2.
Bƣớc 2: Vẽ đường mức d : c1 x1 c2 x2 k (chọn k=0), xác định vectơ pháp tuyến n (c1 , c2 ) .
Bƣớc 3: Dịch chuyển đường mức theo bài toán min hoặc max để tìm phương án tối ưu.
o Bài toán min: dịch chuyển ( d ) song song ngược chiều với n .
o Bài toán max: dịch chuyển ( d ) song song cùng chiều với n .
Việc dịch chuyển đến khi nào đường mức chạm đến điểm cuối cùng của miền D thì ngưng, có 3
trường hợp có thể xảy ra:
TH1: Có duy nhất 1 phương án tối ưu có nghĩa là chỉ có đúng duy nhất 1 điểm khi cho ( d ) trượt
khỏi miền D , thay tọa độ điểm đó vào hàm mục tiêu ta tìm được min z hoặc max z .
TH2: Bài toán có vô số phương án tối ưu thay tọa độ 1 điểm cuối cùng tuỳ ý vào hàm tiêu ta tìm
được min z hoặc max z .
TH3: Bài toán có phương án nhưng không có phương án tối ưu (miền D không kín) có nghĩa là
( d ) dịch chuyển mãi nhưng không tìm được diểm cuối cùng.
min
max
Ví dụ 10. Giải các bài toán sau bằng phương pháp hình học
min(max) z x1 2 x2 min(max) z 2 x1 2 x2
2 x1 x2 6 x1 4 x2 8
a) x1 x2 2 b) x1 1
x1 x3 3 x1 3
x1 0, x2 0 x2 0
12
Bài Giảng Quy Hoạch Tuyến Tính
min z 2 x1 3 x2
x1 x2 8
e) x1 2 x2 8
2 x1 x2 10
x1 0, x2 0
Giải
a) Bài toán min: dịch chuyển đường mức ngược chiều với vectơ pháp tuyến ta thấy điểm cuối cùng mà
đường mức còn cắt miền chấp nhận được có toạ độ (0,6). Vậy bài toán có duy nhất 1 phương án tối ưu
là x1 0, x2 6, min z 0 2(6) 12 .
Bài toán max: dịch chuyển đường mức cùng chiều với vectơ pháp tuyến ta thấy điểm cuối cùng mà
đường mức còn cắt miền chấp nhận được có toạ độ (0,3). Vậy bài toán có duy nhất 1 phương án tối ưu
là x1 0, x2 3, max z 0 2(3) 6 .
b)
13
Bài Giảng Quy Hoạch Tuyến Tính
Bài toán min: dịch chuyển đường mức ngược chiều với vectơ pháp tuyến ta thấy điểm cuối cùng
mà đường mức còn cắt miền chấp nhận được có toạ độ B(1,0). Vậy bài toán có duy nhất 1 phương án
tối ưu là x1 1, x2 0, min z 2 .
Bài toán max: dịch chuyển đường mức cùng chiều với vectơ pháp tuyến ta thấy điểm cuối cùng mà
đường mức còn cắt miền chấp nhận được là điểm A. A là giao điểm của đường thẳng x1 4 x2 8 và
đường thẳng x1 3 . Giải hệ phương trình sau ta tìm được toạ độ của điểm A.
x 3
x1 4 x2 8 1
5
x1 3 x2
4
17
max z
2
c)
Bài toán min: dịch chuyển đường mức ngược chiều với vectơ pháp tuyến ta thấy điểm cuối cùng
mà đường mức còn cắt miền chấp nhận được là tất cả các điểm thuộc đoạn AB. Vậy bài toán có vô số
phương án tối ưu và tất cả những điểm thuộc đoạn AB đều là những phương án tối ưu của bài toán và
giá trị z đều bằng nhau. Ta chọn điểm A để tính z, A là giao điểm của hệ:
x1 x2 5 x 2
1
x1 2 x2 4 x2 3
min z 10.
Bài toán max: dịch chuyển đường mức cùng chiều với vectơ pháp tuyến ta thấy điểm cuối cùng mà
đường mức còn cắt miền chấp nhận được có toạ độ O(0,0). Vậy bài toán có duy nhất 1 phương án tối
ưu là x1 0, x2 0, max z 0 .
14
Bài Giảng Quy Hoạch Tuyến Tính
d)
Bài toán max: dịch chuyển đường mức cùng chiều với vectơ pháp tuyến ta thấy bài toán có phương
án nhưng không có phương án tối ưu max .
Bài toán min: dịch chuyển đường mức ngược chiều với vectơ pháp tuyến ta thấy điểm cuối cùng
mà đường mức còn cắt miền chấp nhận được có toạ độ A(0,1). Vậy bài toán có duy nhất 1 phương án
tối ưu là x1 0, x2 1, min z 1 .
e)
Ta nhận thấy miền ràng buộc chung D . Vậy bài toán không có phương án tối ưu.
1.4 Phƣơng pháp đơn hình
Do bài toán QHTT có 1 số tính chất đặc biệt sau:
1) Miền ràng buộc của bài toán QHTT là 1 tập lồi đa diện với số điểm cực biên là hữu hạn.
2) Nếu bài toán QHTT có nghiệm tối ưu thì nghiệm tối ưu chính là đỉnh.
15
Bài Giảng Quy Hoạch Tuyến Tính
Do đó, nội dung của phương pháp đơn hình là xuất phát từ 1 đỉnh của miền chấp nhận được, ở mỗi
bước lặp ta đi sang 1 đỉnh kề của nó có giá trị hàm mục tiêu nhỏ hơn. Vì số đỉnh là hữu hạn nên sau
hữu hạn bước ta sẽ đi đến đỉnh tối ưu.
1.4.1 Biến cơ sở, biến không cơ sở
Biến cơ sở là biến chỉ xuất hiện 1 lần duy nhất trong 1 ràng buộc chung và có hệ số là 1.
Biến không cơ sở là biến xuất hiện ít nhất trong 2 ràng buộc trở lên.
1.4.2 Thuật toán đơn hình
Ý tưởng thuật toán
Bước 1: Xuất phát từ 1 đỉnh x 0 của miền ràng buộc chung.
Bước 2: Nếu x 0 là phương án tối ưu thì dừng thuật toán. Ngược lại sang bước 3.
Bước 3: Từ đỉnh x 0 tìm cách di chuyển đến đỉnh kề tiếp theo của miền ràng buộc sao cho đỉnh mới tốt
hơn x 0 (theo nghĩa giá trị hàm mục tiêu nhỏ hơn).
Bước 4: Lặp lại bước 2,3 thay x 0 bằng x1 .
Điều kiện áp dụng
- Bài toán phải ở dạng chính tắc với các bi 0 .
- Mỗi ràng buộc chung phải có biến cơ sở tương ứng.
Nhận xét
Để áp dụng thuật toán đơn hình thì bài toán QHTT phải có phương án cực biên ban đầu.
Chi tiết thuật toán
Bƣớc 1: Kiểm tra điều kiện áp dụng phƣơng pháp đơn hình
Nếu thỏa qua bước 2.
Nếu không thỏa áp dụng phương pháp tạo biến giả để tìm phương án cực biên ban đầu (sẽ
được trình bày ở mục 1.4.3).
Bƣớc 2: Viết bảng đơn hình xuất phát tƣơng ứng
16
Bài Giảng Quy Hoạch Tuyến Tính
Biến Hệ số ứng
Tất cả các biến
cơ với biến cơ Phƣơng
sở sở án Hệ số ứng với các biến trên
xB cB hàm mục tiêu
. . . . . .
. . . . . .
. . . . . .
xm cm bm am1 am 2 . . . amn
z 0 1 2 . . . n
Phương án cực biên của bài toán là: ( x10 , x20 ,..., xm0 , xm0 1 ,..., xn0 ) (b1, b2 ,..., bm ,0,...,0)
0 z ( x 0 ) .
m
j cBi aij c j , j 1,..., n được gọi là các hệ số ước lượng của các biến x j , j 1, 2,..., n .
i 1
nhöõng giaù trò x cuûa coät phöông aùn
Đặt min . Lƣu ý ta không chia cho
nhöõng giaù trò aij cuûa coät öùng vôùi k 0
Nếu 0 thì bài toán có phương án tối ưu duy nhất. Ngược lại, bài toán có vô số phương án tối
ưu.
- Ngược lại, nếu j 0 đối với bài toán min thì ta qua bước 4.
17
Bài Giảng Quy Hoạch Tuyến Tính
Bƣớc 4: Xác định biến vào cơ sở, biến ra cơ sở, phần tử then chốt
- Quy tắc chọn biến vào ( ): biến vào x j sẽ được chọn ứng j dương nhất. Khi đó, ta được cột
then chốt là cột chứa biến vào (nếu có nhiều biến vào cùng 1 lúc thì ta chọn bất kì trong chúng).
Nếu các hệ số aij , i 1,..., m của cột then chốt đều âm 0 thì ta dừng thuật toán và kết luận bài
toán QHTT có biến vào mà không có biến ra nên bài toán không có phương án tối ưu min z .
Ngược lại aij 0 thì ta tiếp tục chọn biến ra như sau:
b
- Quy tắc chọn biến ra ( ): biến ra: min i , aij 0, i 1,..., m (nếu có nhiều biến ra cùng lúc
aij
thì ta chọn bất kì trong chúng). Khi đó dòng then chốt sẽ là dòng chứa biến ra.
- Phần tử then chốt chính là phần tử nằm trên giao điểm của cột then chốt và dòng then chốt.
Bƣớc 5: Cải tiến phƣơng án bằng cách thực hiện phép biến đổi Gauss-Jordan
Bƣớc 5.1: Nếu phần tử then chốt =1 thì qua bước 5.2. Ngược lại phần tử then chốt 1 thì ta
nhân hàng then chốt với nghịch đảo của phần tử then chốt để phần tử then chốt =1 rồi tiếp tục sang
bước 5.2.
Bƣớc 5.2: Dùng phép biến đổi sơ cấp trên dòng để biến đổi tất cả các phần tử 0 trên cột then
chốt thành số 0.
Bƣớc 6: Quá trình đƣợc lặp lại kể từ bƣớc 3.
Chú ý:
Bài toán QHTT ban đầu khi ta thêm các biến bù vào để đưa bài toán về dạng chính tắc với các bi 0
được gọi là bài toán phụ. Từ phương án tối ưu của bài toán phụ ta suy ra phương án tối ưu của bài toán
ban đầu như sau:
Nếu bài toán phụ không có phương án tối ưu thì bài toán gốc cũng không có phương án tối ưu.
Nếu bài toán phụ có phương án tối ưu thì bài toán gốc cũng có phương án tối ưu. Khi đó, hàm
mục tiêu của hai bài toán bằng nhau và phương án tối ưu của bài toán gốc được suy ra từ
phương án tối ưu của bài toán phụ bằng cách bỏ đi các biến bù.
Ví dụ 11.
Giải các bài toán QHTT sau bằng phương pháp đơn hình
18
Bài Giảng Quy Hoạch Tuyến Tính
min z 3x1 x2 2 x3 3 x4 2 x5 4 x6
min z 5 x1 5 x2
2 x1 x3 x4 2 x6 5
2 x x 10 3x x
a) 1 2 b) 1 2 x4 x6 11
x1 2 x2 8
2
x 0, x 0 x1 2 x4 x5 x6 5
1 2
x j 0, j 1,..., 6
min z 2 x1 2 x2
min z x1 3x2
x1 x2 5
x 2 x2 4
c) 2 x1 x2 4 d) 1
x2 6
x1 2 x2 4 x 0, x 0
x1 0, x2 0 1 2
Giải
a) Chuyển bài toán về dạng chính tắc
min z 5 x1 5 x2
2 x1 x2 x3 10
x1 2 x2 x4 8
x 0, x 0, x 0, x 0
1 2 3 4
1 1
x1 5 1 0
2 2
3 1
x4 3 0 1
2 2
5 5
z 25 0 0
2 2
19
Bài Giảng Quy Hoạch Tuyến Tính
2 1
x1 4 1 0
3 3
1 2
x2 2 0 1
3 3
5 5
z 30 0 0
3 3
Do các hệ số ước lượng ứng với các biến không cơ sở ( x3 , x4 ) đều khác 0 nên bài toán phụ chỉ có 1
phương án tối ưu duy nhất là (4, 2, 0, 0) với min z 30 và suy ra bài toán ban đầu cũng có 1 phương
án tối ưu duy nhất là (4, 2) với min z 30 .
b) Bài toán thỏa điều kiện áp dụng
Lập bảng đơn hình xuất phát
x1 x2 x3 x4 x5 x6
xB cB PA 3 1 2 3 2 4
x3 2 5 2 0 1 1 0 2
x2 1 11 3 1 0 2 0 1
x5 2 5 1 0 0 2 1 1
z 31 6 0 0 5 0 3
x1 x2 x3 x4 x5 x6
5 1 1
x1 1 0 0 1
2 2 2
7 3 1
x2 0 1 0 2
2 2 2
5 1 3
x5 0 0 1 0
2 2 2
z 16 0 0 3 2 0 3
5 2 1
x1 1 0 0 1
3 3 3
8 4 1
x2 0 1 0 2
3 3 3
5 1 2
x4 0 0 1 0
3 3 3
38 7 4
z 0 0 0 3
3 3 3
20
Bài Giảng Quy Hoạch Tuyến Tính
Do các hệ số ước lượng ứng với các biến không cơ sở ( x3 , x5 , x6 ) đều khác 0 nên bài toán chỉ có 1
5 8 5 38
phương án tối ưu duy nhất là ( , , 0, , 0, 0) với min z .
3 3 3 3
c) Chuyển bài toán về dạng chính tắc
min z / 2 x1 2 x2
x1 x2 x3 5
2x x 4
1 2 x4
1 x 2 x 2 x5 4
x1 , x2 , x3 , x4 , x5 0
PA x1 x2 x3 x4 x5
3 1
x3 3 0 1 0
2 2
1 1
x1 2 1 0 0
2 2
3 1
x5 6 0 0 1
2 2
z/ 4 0 3 0 1 0
2 1
x2 2 0 1 0
3 3
1 1
x1 3 1 0 0
3 3
x5 3 0 0 1 1 1
z/ 10 0 0 2 0 0
21
Bài Giảng Quy Hoạch Tuyến Tính
Do hệ số ước lượng ứng với biến không sơ sở x4 bằng 0, trong trường hợp này ta tìm được
3 3
min , 3 , nên bài toán phụ có vô số phương án tối ưu và phương án tối ưu ứng với bảng
1/ 3 1
đơn hình là (3, 2, 0, 0,3) với min z / 10 . Nên bài toán gốc cũng có vô số phương án tối ưu và một
trong những phương án tối ưu của bài toán ban đầu là (3, 2 ) với min z 10 .
22
Bài Giảng Quy Hoạch Tuyến Tính
xi 0, i 1, , 7
x1 x2 x3 x4 x5 x6 x7
xB cB PA 27 2 1 14 2 6 5
x2 2 4 2 1 0 3 0 2 2
x3 1 3 3 0 1 4 0 0 1
x5 2 5 5 0 0 2 1 1 1
z 5 18 0 0 12 0 0 6
23
Bài Giảng Quy Hoạch Tuyến Tính
x1 x2 x3 x4 x5 x6 x7
xB PA
7 1 3 5
x2 1 0 0 2
4 4 4 4
3 3 1 1
x4 0 1 0 0
4 4 4 4
7 7 1 1
x5 0 0 1 1
2 2 2 2
z 14 9 0 3 0 0 0 3
x1 x2 x3 x4 x5 x6 x7
xB PA
7 1 4 3 8
x7 0 0 1
5 5 5 5 5
2 4 1 2 2
x4 1 0 0
5 5 5 5 5
14 18 2 1 9
x5 0 1 0
5 5 5 5 5
91 48 12 6 24
z 0 0 0
5 5 5 5 5
x1 x2 x3 x4 x5 x6 x7
xB PA
x7 3 3
0 1 4 0 0 1
1 5
x6 1 2 1 0 1 0
2 2
1 9
x5 1 0 2 1 0 0
2 2
23 0 0 6 12 0 0 0
Bảng đơn hình là bảng đơn hình tối ưu với phương án tối ưu hiện tại là x7 3, x6 1, x5 1 . Ta
24
Bài Giảng Quy Hoạch Tuyến Tính
Tại cột thứ 1 ta tìm được vectơ chỉ phương t1 (1,0,0,0,0,2,3) , cột thứ 2 ta tìm được phần tử trụ
1
a32 (tìm phần tử trụ theo quy tắc tạo min). Do đó ta sẽ xoay bảng đơn hình hiện tại thành bảng
2
đơn hình mới với x2 sẽ là biến vào cơ sở và x5 là biến ra cơ sở ta được phương án cực biên mới
x1 x2 x3 x4 x5 x6 x7
xB PA
x7 3 3 0 1 4 0 0 1
x6 2 2 0 1 2 1 1 0
x2 2 0 1 4 9 2 0 0
23 0 0 6 12 0 0 0
Tại bảng đơn hình này ta xác định được phương án cực biên tối ưu khác là x7 , x6 , x2 (3,2,2) ,
và ứng với cột thứ nhất ta tìm được vectơ chỉ phương t1 (1,0,0,0,0,2,3) và ứng với cột thứ 2 ta tìm
được phần tử trụ phần tử trụ là a35 2 0 thì lúc này biến cơ sở của ta sẽ là x7 , x5 , x2 trùng với bảng
trên.
Ta tìm được 2 phương án cực biên tối ưu và 1 vectơ chỉ phương. Vậy phương án tối ưu tổng quát
là
x 1 x1 2 x2 t1 1 (0, 0, 0, 0,1,1,3) 2 (0,2, 0, 0, 0,2,3) (1, 0, 0, 0, 0,2,3)
( ,2 2 , 0, 0, ,2 2 ,3 3 )
Với 1 ,2 0, 1 2 1, 0 .
1.4.3 Thuật toán đơn hình mở rộng
Mục 1.4.2 ta đã biết chuyển 1 bài toán QHTT bất kì về dạng chính tắc. Do đó, điều kiện để áp
dụng thuật toán đơn hình là tất cả các hệ số bi 0 và mỗi ràng buộc chung phải tìm được biến cơ sở
tương ứng. Nếu điều kiện (1) bị vi phạm thì ta dễ dàng xử lí bằng cách nhân 2 vế của ràng buộc bị vi
phạm với -1. Vấn đề đặt ra ở đây là làm thế nào để tìm được biến cơ sở cho mỗi ràng buộc chung. Trở
lại ví dụ 11 câu b ta dễ dàng tìm được biến cơ sở ứng với ràng buộc thứ 1, thứ 2 và thứ 3 lần lượt là
x3 , x2 và x5 chính nhờ các biến cơ sở giúp ta tìm được phương án cực biên ban đầu bằng cách cho các
biến không sơ sở bằng 0. Tuy nhiên, trong thực tế có nhiều bài toán QHTT không thỏa điều kiện (2).
Ví dụ 13.
25
Bài Giảng Quy Hoạch Tuyến Tính
min z x1 x2
x1 x2 1
2 x1 x2 2
x1 0, x2 0
Ví dụ 13 ta không tìm được biến cơ sở ứng với ràng buộc chung thứ 1 cũng như ràng buộc chung
thứ 2.
Ví dụ 14.
min z 2 x1 3 x2 4 x3 x4
x1 x2 x3 x4 x5 5
2 x 2 x 3x 18
1 2 3
2
1 x x 2 2 x4 x6 8
x j 0, j 1, 2,...6
Ví dụ 14 ta chỉ tìm được biến cơ sở cho ràng buộc chung thứ 1 là x5 nhưng đối với ràng buộc
chung thứ 2 và thứ 3 ta không tìm được biến cơ sở. Do đó, ta không tìm được phương án cực biên ban
đầu nên chưa thể áp dụng được thuật toán đơn hình.
Vì vậy để áp dụng được thuật toán đơn hình ta sử dụng phương pháp tạo biến giả .
Ý tưởng của phương pháp tạo biến giả
Bước 1: Làm cho bài toán có phương án cực biên ban đầu.
Bước 2: Làm cho bài toán trở thành tối ưu.
Chi tiết thuật toán (áp dụng cho bài toán min)
Bƣớc 1: Làm cho bài toán có phương án cực biên ban đầu.
- Đưa bài toán về dạng chính tắc với các bi 0.
- Ứng với mỗi ràng buộc chung ta tìm biến cơ sở cho ràng buộc đó. Nếu ràng buộc đó không có
biến cơ sở ta đưa vào 1 biến giả cho mỗi ràng buộc =.
- Ứng với mỗi biến giả xi ta cộng Mxi vào hàm mục tiêu .
Bƣớc 2: Áp dụng thuật toán đơn hình để giải bài toán.
Chú ý:
Bài toán QHTT ban đầu khi ta thêm các biến bù và các biến giả vào để đưa bài toán về dạng chính tắc
với các bi 0 được gọi là bài toán mở rộng hay bài toán (M). Từ phương án tối ưu của bài toán (M) ta
suy ra phương án tối ưu của bài toán ban đầu như sau:
26
Bài Giảng Quy Hoạch Tuyến Tính
Bài toán (M) có phương án tối ưu với các biến giả đều bằng không thì bài toán ban đầu sẽ có
phương án tối ưu bằng cách bỏ đi các biến giả và các biến bù.
Nếu phương án tối ưu có các ẩn giả khác không thì kết luận bài toán ban đầu không có
phƣơng án tối ƣu.
Ví dụ 15. Giải bài toán QHTT sau:
min z x1 x2 3x3
x1 x2 20
x x3 5
1
(*)
x2 x3 10
x1 0, x2 0, x3 0
min z x1 x2 3x3
x1 x2 x4 20
x x3 5
1
x2 x3 x5 10
x1 , x2 , x4 , x5 0
Ta không tìm được biến cơ sở do đó ta cũng không tìm được phương án cực biên ban đầu. Áp
dụng phương pháp tạo biến giả ta chuyển bài toán (*) thành:
min z ' x1 x2 3x3 Mx6 Mx7
x1 x2 x4 20
x1 x3 x6 5
x2 x3 x5 x7 10
x1 , x2 , x3 , x4 , x5 , x6 , x7 0
Vậy ta đã tìm được biến cơ sở cho mỗi ràng buộc chung theo thứ tự lần lượt là x4 , x6 và x7 cũng
như 1 phương án cực biên ban đầu. Do đó, ta có thể áp dụng được thuật toán đơn hình.
Lập bảng đơn hình xuất phát
27
Bài Giảng Quy Hoạch Tuyến Tính
PA x1 x2 x3 x4 x5 x6 x7
x4 20 1 1 0 1 0 0 0
x3 5 1 0 1 0 0 1 0
x7 5 1 1 0 0 1 1 1
z' 5M 15 M 2 M 1 0 0 M 2M 3 0
PA x1 x2 x3 x4 x5 x6 x7
x4 15 2 0 0 1 1 1 1
x3 5 1 0 1 0 0 1 0
x2 5 1 1 0 0 1 1 1
z' 10 3 0 0 0 1 M 4 M 1
Do các hệ số ước lượng ứng với các biến không cơ sở ( x1 , x5 , x6 , x7 ) đều khác 0 nên bài toán (M)
chỉ có 1 phương án tối ưu duy nhất là (0,5,5,15,0,0,0) với min z ' 10 . Suy ra bài toán ban đầu có
duy nhất một phương án tối ưu là (0,5,5 ) với min z 10.
1.5 Hiện tƣợng suy biến
Hiện tượng suy biến là hiện tượng xảy ra khi ta thực hiện một số hữu hạn các bước lặp giả sử là k
bước thì bảng đơn hình ở bước lặp đó lại trùng với 1 bảng đơn hình ở k-1 bước lặp trên. Hay nói cách
khác hiện tượng suy biến là hiện tượng xảy ra khi ta thực hiện các phép biến đổi đơn hình đều dẫn đến
cùng một phương án cực biên. Từ đó có thể dẫn đến sự xoay vòng của thuật toán đơn hình
Ví dụ 16.
Xét bài toán QHTT sau:
28
Bài Giảng Quy Hoạch Tuyến Tính
min z 10 x1 57 x2 9 x3 24 x4
1 11 5
2 x1 2 x2 2 x3 9 x4 0
1 x 3 x 1 x x 0
2 1 2 2 2 3 4
x1 1
x 0, j 1,2,3, 4
j
Ta chuyển bài toán về dạng chính tắc
min z 10 x1 57 x2 9 x3 24 x4
1 11 5
2 x1 2 x2 2 x3 9 x4 x5 0
1 x 3 x 1 x x4 x6 0
2 1 2 2 2 3
x1 x7 1
x 0, j 1, , 7
j
Lặp bảng đơn hình xuất phát
x1 x2 x3 x4 x5 x6 x7
xB cB PA 10 57 9 24 0 0 0
1 11 5
x5 0 0 9 1 0 0
2 2 2
1 3 1
x6 0 0 1 0 1 0
2 2 2
x7 0 1 1 0 0 0 0 0 1
z 0 10 57 9 24 0 0 0
Lặp 1:
x1 x2 x3 x4 x5 x6 x7
xB PA
x1 0 1 11 5 18 2 0 0
x6 0 0 4 2 8 1 1 0
x7 1 0 11 5 18 2 0 1
z 0 0 53 41 204 20 0 0
29
Bài Giảng Quy Hoạch Tuyến Tính
Lặp 2:
x1 x2 x3 x4 x5 x6 x7
xB PA
1 3 11
x1 0 1 0 4 0
2 4 4
1 1 1
x2 0 0 1 2 0
2 4 4
1 3 11
x7 1 0 0 4 1
2 4 4
29 27 53
z 0 0 0 98 0
2 4 4
Lặp 3:
x1 x2 x3 x4 x5 x6 x7
xB PA
3 11
x3 0 2 0 1 8 0
2 2
1 5
x2 0 1 1 0 2 0
2 2
x7 1 1 0 0 0 0 0 1
z 0 29 0 0 18 15 93 0
Lặp 4:
x1 x2 x3 x4 x5 x6 x7
xB PA
1 9
x3 0 2 4 1 0 0
2 2
1 1 1 5
x4 0 0 1 0
2 2 4 4
x7 1 1 0 0 0 0 0 1
21 141
z 0 20 9 0 0 0
2 2
Lặp 5:
30
Bài Giảng Quy Hoạch Tuyến Tính
x1 x2 x3 x4 x5 x6 x7
xB PA
x5 0 4 8 2 0 1 9 0
1 3 1
x4 0 1 0 1 0
2 2 2
x7 1 1 0 0 0 0 0 1
z 0 22 93 21 0 0 24 0
Lặp 6:
x1 x2 x3 x4 x5 x6 x7
xB cB PA 10 57 9 24 0 0 0
1 11 5
x5 0 0 9 1 0 0
2 2 2
1 3 1
x6 0 0 1 0 1 0
2 2 2
x7 0 1 1 0 0 0 0 0 1
z 0 10 57 9 24 0 0 0
Nhận xét: Sau 6 bước lặp bảng đơn hình lại quay về bảng đơn hình xuất phát và thuật toán bị xoay
vòng.
Trong thực tế hiện tượng này rất ít khi xảy ra. Nếu có hiện tượng này xảy ra thì ta cũng có cách
khắc phục hiện tượng này đó là sử dụng Quy tắc Bland.
Quy tắc Bland
Quy tắc Bland được chứng minh là luôn tránh được hiện tượng xoay vòng bằng kỹ thuật chọn biến
vào. Biến vào được chọn là biến có chỉ số nhỏ nhất trong các biến trong các biến có hệ số ước lượng
dương ( j 0 ). Biến ra được chọn bình thường, trong trường hợp có nhiều biến ra ta ưu tiên chọn
là biến chỉ số nhỏ nhất giữa 1 và 6 . Vậy nên biến vào sẽ là biến x1 và biến ra sẽ là x4
31
Bài Giảng Quy Hoạch Tuyến Tính
x1 x2 x3 x4 x5 x6 x7
xB PA
x5 0 4 8 2 0 1 9 0
1 3 1
x4 0 1 0 1 0
2 2 2
x7 1 1 0 0 0 0 0 1
z 0 22 93 21 0 0 24 0
x1 x2 x3 x4 x5 x6 x7
xB PA
x5 0 0 4 2 8 1 1 0
x1 0 1 3 1 2 0 2 0
x7 1 0 3 1 2 0 2 1
z 0 0 27 1 44 0 20 0
x1 x2 x3 x4 x5 x6 x7
xB PA
x5 2 0 2 0 4 1 5 2
x1 1 1 0 0 0 0 0 1
x3 1 0 3 1 2 0 2 1
z 1 0 30 0 42 0 18 1
Do các hệ số ước lượng ứng với các biến không cơ sở ( x2 , x4 , x6 , x7 ) đều khác 0 nên bài toán phụ chỉ
có 1 phương án tối ưu duy nhất là (1, 0,1, 0, 0, 0, 0) với min z 1 . Suy ra bài toán ban đầu có 1 phương
án tối ưu duy nhất là (1, 0,1, 0) với min z 1 .
32
Bài Giảng Quy Hoạch Tuyến Tính
Bài 1. Một xí nghiệp sản xuất ra hai loại sản phẩm: SP1, SP2 bằng các loại nguyên liệu sản xuất N1,
N2, N3. Biết số lượng các nguyên liệu xí nghiệp hiện có lần lượt là 2 tấn, 3 tấn và 9 tấn. Tiền lời thu
được khi bán SP1, SP2 lần lượt là 3 và 5 triệu đồng/tấn.
Tỷ lệ pha chế các loại nguyên liệu để sản xuất ra các loại sản phẩm được cho trong bảng sau:
Bài 4. Một xí nghiệp sản xuất ra 3 loại sản phẩm A, B, C với các số liệu như sau:
Biết rằng xí nghiệp hiện có số vốn dùng cho sản xuất là 3 triệu đồng. Quỹ thời gian sản xuất là 180
giờ. Theo các hợp đồng đã kí với khách hàng, yêu cầu sản phẩm A phải có lượng sản xuất ít nhất là
100 đơn vị. Giả sử mọi sản phẩm xuất ra đều tiêu thụ được hết.
Tìm kế hoạch sản xuất sao cho tổng lợi nhuận là lớn nhất.
Biết rằng tổng lợi nhuận = giá bán – chi phí sản xuất.
Bài 5. Một công ty có kế hoạch quảng cáo sản phẩm mới do công ty sản xuất. Các phương tiện được
chọn để quảng cáo sản phẩm là: truyền hình phát thanh và báo. Ba thị trường Hà Nôi, Thành Phố Hồ
Chí Minh và Đà Nẵng được chọn là các thị trường trong điểm để thực hiện chiến lược quảng cáo. Biết
rằng 1 lần quảng cáo trên truyền hình tốn 20 triệu, trên phát thanh tốn 10 triệu và trên báo chí tốn 10
triệu. Theo kết quả khảo sát thực tế cho thấy rằng:
1. Tại Hà Nội: cứ mỗi lần quảng cáo trên truyền hình, phát thanh và báo thì số lượt người xem
chiếm lần lượt như sau: 2.000 người, 1.000 người và 1.000 người.
2. Tại TPHCM: Số lượng người xem quảng cáo trên truyền hình, phát thanh và báo lần lượt là:
3.000 người, 1.000 người và 1.000 người.
3. Tại Đà Nẵng: Số lượng người nghe phát thanh hầu như không có và số lượt người xem quảng
cáo trên truyền hình, báo lần lượt là: 2.000 người, 1.000 người.
Đề sản phẩm được tung ra thị trường thành công thì công ty ước tính số lượng người tối thiểu biết về
sản phẩm tại thị trường Hà Nội, TPHCM, Đà Nẵng lần lượt là 7.000 ; 8.000 ; và 5.000 người.
Hãy lập mô hình bài toán sao cho phương án quảng cáo sản phẩm của công ty là tối ưu.
Bài 6. Đề thi HKII 2012-1013
Một xí nghiệp sản xuất hai loại sản phẩm A và B từ ba loại nguyên liệu C,D và E với số lượng dự trữ
lần lượt là 100, 82 và 120 đơn vị. Để sản xuất ra mỗi đơn vị sản phẩm loại A cần sử dụng 4 đơn vị
nguyên liệu C, 4 đơn vị nguyên liệu D và 6 đơn vị nguyên liệu E. Các chỉ số đó cho mỗi đơn vị sản
phẩm B theo thứ tự trên là 6, 3 và 4. Do điều kiện thực tế, xí nghiệp phải bắt buộc sử dụng hết 120
34
Bài Giảng Quy Hoạch Tuyến Tính
đơn vị nguyên liệu loại E hiện có. Cho biết lợi nhuận thu được trên mỗi sản phẩm loại A và loại B lần
lượt là 4 triệu đồng và 6 triệu đồng.
Hãy thiết lập kế hoạch sản xuất sản phẩm nhằm đạt tổng lợi nhuận tối đa và tìm phương án sản xuất
tối ưu.
Bài 7. Ta cần vận chuyển máy tính từ 2 công ty C1, C2 đến 3 nơi tiêu thụ T1, T2, T3. Biết số lượng
máy tính ở mỗi công ty cần chuyển, nhu cầu máy tính tại các nơi tiêu thụ cũng nư cước phí vận chuyển
cho mỗi máy tính được chuyển từ công ty Ci (i 1, 2) đến nơi tiêu thụ Tj ( j 1, 2,3) được cho bởi bảng
sau:
Nơi tiêu thụ
T1: 15 máy T2: 20 máy T3: 25 máy
Công ty
C1: 20 máy 5(nghìn đồng) 7 2
C2: 40 máy 4 4 6
Hãy lập kế hoạch vận chuyển thoả:
- Các công ty phải phân phối hết số máy tính hiện có.
- Các nơi tiêu thụ nhận đủ máy tính theo yêu cầu.
- Tổng cước phí vận chuyển là thấp nhất.
Bài 8. Để chuẩn bị 35 năm giải phóng thành phố, UBND cho phép tổ chức đêm lễ hội. Để chuẩn bị
đêm lể hội ban tổ chức cần cung cấp 1 số thiết bị từ 3 cơ sở A1, A2, A3 đến 4 địa điểm tổ chức lễ hội
B1, B2, B3, B4.
Với lượng thiết bị có tại các cơ sở này lần lượt là 500, 150, 350.
Với nhu cầu thiết bị tại các nơi tổ chức lễ hội tương ứng là 100, 200, 300, 400. Đơn giá cước phí vận
chuyển từ cơ sở Ai (i 1,...3) đến nơi tổ chức lễ hội B j ( j 1,..., 4) lần lượt là
B1 B2 B3 B4
A1 4 12 16 28
A2 40 32 16 20
A3 24 8 12 8
Hãy lập kế hoạch sản xuất sao cho tổng chi phí vận chuyển là bé nhất.
Bài 9. Tìm giá trị lớn nhất (max), giá trị nhỏ nhất (min) của các bài toán sau:
a) b) c)
35
Bài Giảng Quy Hoạch Tuyến Tính
z 2 x1 2 x2 z 2 x1 2 x2
z 2 x1 x2
x1 2 x2 9 5 x1 2 x2 15
x 1 3 x 5 x 10 x2 3
1 1
x1 x2 3
2
x1 3 x1 0 x 0, x 0
x2 0 x2 0 1 2
e) f)
z 3 x1 5 x2
z 5 x1 6 x2 x1 2 x2 6
x x 4
x1 2 x2 2 1 2
2 x1 3x2 2 2 x1 3 x2 12
x1 0, x2 0
Bài 10. Giải các bài toán quy hoạch tuyến tính sau bằng phƣơng pháp đơn hình
a) HKI 2014-2015 b) c)
min z x 1 2x 2 x 3
max z 2 x1 3 x2 5 x3 min z 2 x1 x2 x3 x4
x1 x 2 2x 3 8
2 x1 3 x2 3 x3 150 x1 x2 2 x3 x4 2
2x 1 x 3 16 x 3 x 5 x 120 x 7 x 3x 2
x x 2 1 2 3 2 3 4
1
4 x1 8 x2 x3 100 3 x3 2 x4 5
3
x1 0, x 2 0, x 3 0. x1 , x2 , x3 0 x1 , x2 , x3 , x4 0
d) e) f)
max z 2 x1 x2 x3 x4 min z x1 x2 x3
max z 2 x1 x2
x1 x2 2 x3 x4 2 x1 x3 0
x 2x 5 x1 2 x2 6
x2 7 x3 3x4 2 2
x1 x2 3
3
3 x 2 x 5
3 4 1x 2 x2 3 x3 8 x 0, x 0
xi 0, (i 1, 2,3) 1
xi 0, i (1, 2,3, 4).
2
g) h) i)
min z 2 x1 x2 min z 4 x1 3x2 min z 3x1 2 x2 3x3
x2 3 x1 2 x2 2 x1 x2 x3 1
x1 x2 3 x1 x2 4 2 x1 x2 2 x3 2
x 0, x 0 x 0, x 0 x 0, (i 1,...,3)
1 2 1 2 i
j) k) l)
36
Bài Giảng Quy Hoạch Tuyến Tính
min z 4 x1 4 x2 10 x3
max z 3x1 4 x2 min z 3 x1 2 x2
3 x1 3 x2 6 x3 42
x x x 4 x1 2 x2 2 x1 5 x2 5
1 2 3
x1 x2 5 2 x1 x2 12
3 x1 2 x2 5 x5 23 x 0, x 0 x 0, x 0
xi 0, (i 1,...,3) 1 2 1 2
m)
min z 6 x1 x2 x3 3x4 x5 7 x6
x1 x2 x4 x6 x7 3
2 x x3 4 x4 2 x6 x7 9
1
4 x1 2 x4 x5 3x6 2
xi 0, (i 1,..., 7)
n)
min z 5 x1 4 x2 5 x3 2 x4 x5 3x6
2 x1 x2 3x3 x4 152
4 x 2 x 3x x5 60
1 2 3
3x1 x3 x6 2
xi 0, (i 1,..., 6)
o) p)
min z x1 x2 x3 min z 2 x1 2 x2 x3
x1 x2 x3 1 2 x1 x2 x3 1
x2 5 x1 x3 5
x2 x3 2 x3 1
x1 0, x2 0, x3 0 x1 0, x2 0, x3 0
ĐS:
a) min z 6, x* 4, 0, 2 .
37
Bài Giảng Quy Hoạch Tuyến Tính
ĐS
a) min z 0, x* (0, 0, 0).
b) min z ,không có phương án tối ưu.
Bài 12. Cho X R n là miền phương án, x * X là một phương án tối ưu của bài toán min z c T x
với x X . Hỏi có kết luận được bài toán max z c T x với x X luôn có phương án tối ưu được hay
không? Giải thích.
38
Bài Giảng Quy Hoạch Tuyến Tính
trong bảng dưới đây thì bài toán đối ngẫu được định nghĩa với cấu trúc tương ứng bên phải.
min cT x max yT b
aiT x bi , i M1 yi töï do, i M1
T
ai x bi , i M2 yi 0, i M2
T y 0, i M
ai x bi , i M3 i 3
x j 0, j N1 y Aj c j , j N1
T T
T
y Aj c j , j N2
T
x j 0, j N2
T
x j töï do, j N3 y Aj c j , j N3
T
Nhận xét:
- Mỗi ràng buộc chung của bài toán gốc ứng với 1 biến của bài toán đối ngẫu.
- Mỗi ràng buộc dấu (ràng buộc biến) của bài toán gốc ứng với 1 ràng buộc chung của bài toán
đối ngẫu.
- Chiều của bất đẳng thức được cho bởi quy tắc về dấu sau đây:
bi 0
0 cj
tự do cj
Cách nhớ:
- Bài toán gốc min: ràng buộc chung cùng dấu, ràng buộc biến trái dấu.
- Bài toán gốc max: ràng buộc chung trái dấu, ràng buộc biến cùng dấu.
Các bước thiết lập bài toán đối ngẫu:
- Bƣớc 1: Chuyển bài toán về dạng ma trận bằng cách tách các giá trị số và biến.
39
Bài Giảng Quy Hoạch Tuyến Tính
- Bƣớc 2: Hàm mục tiêu của bài toán gốc là min(max) thì hàm mục tiêu bài toán đối ngẫu là
max(min).
- Bƣớc 3: Hệ số hàm mục tiêu của bài toán gốc trở thành hệ số của các vectơ bi của bài toán
đối ngẫu. Hệ số vectơ bi của bài toán gốc trở thành hệ số hàm mục tiêu của bài toán đối
ngẫu.
- Bƣớc 4: Ma trận hệ số bài toán gốc lấy chuyển vị trở thành ma trận hệ số bài toán đối ngẫu.
- Bƣớc 5: Áp dụng quy tắc về dấu.
Ví dụ 1. Thiết lập bài toán đối ngẫu của các bài toán QHTT sau:
a) b)
min z x1 0 x2 x3 2 x4
2 x1 x2 3 x3 x4 18 max z 7x 1 10x 2 4x 3
4 x1 x2 x3 x4 36 x 1 x 2 3x 3 10
x 3 x x 2 x 60
1 2 3 4 2x 1 x 2 2x 3 2
2 x x x 8
x1 0 1 2 3
x2 0 x1 0
x3 0 x 2 töï do ï
x4 töï do. x3 0
Giải
a)
min z (1, 0,1, 2)( x1 , x2 , x3 , x4 )T
x max z (18,36,60)( y 1 , y 2 , y 3 )T
2 1 3 1 1 18
x2 2 4 1 1
4 1 1 1 x 36 y1
1 3 1 2 3 60 1 1 3 y 0
x
4
ĐN 3 1 1 2 1
y 3
x1 0 1 1 2 2
x2 0 y1 0
x3 0 y2 0
x4 töï do. y 3 töï do.
40
Bài Giảng Quy Hoạch Tuyến Tính
max z 18 y1 36 y2 60 y3
2 y1 4 y2 y3 1
y1 y2 3y3 0
3y1 y2 y3 1
y y 2 y 2
1 2 3
y1 0
y2 0
y3 töï do.
b)
x2 töï do y2 0
x3 0. y3 töï do.
Vậy bài toán đối ngẫu là:
min z 10 y1 2 y2 8 y3
y1 2 y2 2 y3 7
y1 y2 y3 10
3 y 2 y y 4
1 2 3
y1 0
y2 töï do
y3 0.
Ý nghĩa kinh tế của cặp bài toán đối ngẫu
Xét lại Ví dụ 1 chương 1 bài toán lập kế hoạch sản xuất ở phần trên. Câu hỏi đặt ra là giả sử có
doanh nghiệp muốn mua lại toàn bộ các yếu tố sản xuất của xí nghiệp (gỗ loại 1, gỗ loại 2). Khi đó, xí
nghiệp nên đặt giá bán là bao nhiêu?
Giải
Gọi y1 , y2 lần lượt là giá bán của 1 tạ gỗ loại 1, 1 tạ gỗ loại 2:
Điều kiện về biến gọi (giá bán phải là số thực không âm): y1 0, y2 0
Số tiền thu được khi bán các yếu tố sản xuất để sản xuất ra 1 sản phẩm bàn là 2 y1 2 y2
41
Bài Giảng Quy Hoạch Tuyến Tính
Số tiền thu được khi bán các yếu tố sản xuất để sản xuất ra 1 sản phẩm ghế là 0.5 y1 0.5 y2
Số tiền thu được khi bán các yếu tố sản xuất để sản xuất ra 1 sản phẩm tủ là 3 y1 3.5 y2
Ta thấy có 2 ý tưởng sau:
Đối với người bán (đối với xí nghiệp): Giá bán các yếu tố sản xuất chỉ được chấp nhận khi số
tiền thu được do bán các yếu tố sản xuất không được ít hơn số tiền thu được khi sử dụng các
yếu tố sản xuất đó để sản xuất ra 1 đơn vị sản phẩm:
o Bàn: 2 y1 2 y2 4
o Tủ: 3 y1 3.5 y2 6
Đối với người mua (đối với doanh nghiệp): Chỉ chấp nhận giá các yếu tố sản xuất khi tổng số
tiền dùng để mua tất cả các yếu tố sản xuất là ít nhất: min z ' 100 y1 120 y2 .
Vậy ta xây dựng được mô hình bài toán thỏa đồng thời nhu cầu của người bán lẫn người mua
min z ' 100 y1 120 y2
2 y1 2 y2 4
0.5 y1 0.5 y2 2
3 y 3.5 y 6
1 2
y1 0, y2 0
2.2 Các định lý cơ bản
Xét cặp bài toán đối ngẫu sau:
x X y Y
- X là miền ràng buộc bài toán gốc (min).
- Y là miền ràng buộc bài toán đối ngẫu (max).
2.2.1 Định lý đối ngẫu yếu. Nếu x là phương án của bài toán QHTT gốc, y là phương án của bài
42
Bài Giảng Quy Hoạch Tuyến Tính
_ _ _ _
3. Giả sử x, y lần lượt là phương án của bài toán gốc và bài toán đối ngẫu. Nếu ( y )T b cT x thì
_ _
x và y là phương án tối ưu tương ứng của 2 bài toán.
2.2.2 Định lý đối ngẫu mạnh: Nếu bài toán QHTT gốc có phương án tối ưu là x * thì bài toán QHTT
đối ngẫu cũng có phương án tối ưu là y * và cT x* ( y* )T b .
2.2.3 Độ lệch bù
Định lý đối ngẫu mạnh cho ta điều kiện để kiểm tra tính tối ưu. Nói cách khác nó cho ta điều kiện
tối ưu cT x* ( y* )T b . Điều kiện này biểu thị qua giá trị của hàm mục tiêu. Từ định lý đối ngẫu ta suy
ra điều kiện tối ưu biểu thị qua các dữ liệu bài toán. Điều kiện này ta thường gọi là điều kiện độ lệch
bù. Trong kinh tế định lý này thường có tên là định lý cân bằng vì trạng thái tối ưu có ý nghĩa là trạng
thái cân bằng kinh tế.
Định lý điều kiện độ lệch bù. Giả sử x và y là các phương án của bài toán gốc và bài toán đối
ngẫu tương ứng. Khi đó, x và y là phương án tối ưu khi và chỉ khi
yi (aiT x bi ) 0, i
(c j yT Aj ) x j 0, j
x1 , x2 0 xi 0, i 1,...,5 xi 0, i 1,...,5
Bài toán trên không có phương án cực biên ban đầu do đó, ta có thể giải bài toán trên bằng thuật
toán đơn hình mở rộng bằng cách thêm các biến giả. Để tránh việc thêm các biến giả ta có thể giải bài
toán trên thông qua bài toán đối ngẫu rồi áp dụng định lý điều kiện độ lệch bù để tìm phương án tối ưu
của bài toán gốc.
Xét bài toán đối ngẫu của (P)
43
Bài Giảng Quy Hoạch Tuyến Tính
max z / 4 y1 8 y2 7 y3 max z / / 4 y1 8 y2 7 y3
2 y1 2 y2 y3 1 y1 y1 , y2 y2 , y3 y3 2 y 2 y2 y3 1
1
y1 4 y2 3 y3 1 y1 4 y2 3 y3 1
y1 0, y2 0, y3 0 y1 0, y2 0, y3 0
Giải bài toán đối ngẫu trên bằng phương pháp đơn hình ta được max z ' 7 và phương án tối ưu là
y (0, 0,1) .
Áp dụng định lý điều kiện độ lệch bù ta lần lượt xét các ràng buộc chung và ràng buộc dấu của bài
toán đối ngẫu.
Xét ràng buộc chung thứ 1: 2 y1 2 y2 y3 1 , thế y vào ràng buộc này ta thấy y thoả chặt (tức là
Xét ràng buộc chung thứ 2: y1 4 y2 3 y3 1 thế y vào ràng buộc này ta thấy y không thoả chặt vì
3 1(tức là c2 yT A2 0 , với c2 1 , y (0, 0,1), A2 (1, 4, 3) ). Vậy biến tương ứng với ràng buộc
Xét ràng buộc dấu thứ 1: y1 0 ,ta thấy ràng buộc này thoả chặt.
Xét ràng buộc dấu thứ 2: y2 0 ,ta thấy ràng buộc này thoả chặt.
Xét ràng buộc dấu thứ 3: y3 0 ,ta thấy ràng buộc này không thoả chặt.Vậy ràng buộc chung tương
Thế x1 7, x2 0 vào bài toán gốc ta thấy x ( x1 , x2 ) (7, 0) là 1 phương án của bài toán gốc. Mặt
khác, y (0, 0,1) là phương án của bài toán đối ngẫu và min z max z ' 7 x (7, 0) là phương án
tối ưu của bài toán gốc.
Nhận xét: Khi ta xét các ràng buộc chung (ràng buộc dấu) nếu ràng buộc đó không thỏa chặt thì
biến tương ứng (hoặc ràng buộc chung tương ứng) sẽ bằng không.
Ứng dụng 2: Áp dụng định lý điều kiện độ lệch bù để tìm phương án tối ưu của bài toán đối ngẫu
Ví dụ 3. Cho bài toán gốc:
( P) : min z 4 x1 3x2 8 x3
x1 x3 2
x2 2 x3 5
x1 0, x2 0, x3 0
44
Bài Giảng Quy Hoạch Tuyến Tính
max z ' 2 y1 5 y2
( P) : min z 4 x1 3 x2 8 x3
1 0 4
x1 y1
1 0 1 2
b) x2
ĐN 0 1 y 3
1 2 2 8
0 1 2 x 3
3
y1 tùy ý
x1 0, x2 0, x3 0
y2 tùy ý
c)
Các cặp ràng buộc đối ngẫu
x1 x3 2 y1 tùy ý
x2 2 x3 5 y2 tùy ý
x1 0
x2 0 y2 3 , ta nhận thấy ràng buộc này không thoả chặt tại x2 nên y2 3
x3 0 y1 2 y2 8 , ta nhận thấy ràng buộc này không thoả chặt tại x3 nên
y2 3
y1 2 y2 8 y1 2
Ta có: y ( y1 , y2 ) (2,3) là phương án của bài toán đối ngẫu nên y chính là phương án tối ưu của
bài toán đối ngẫu.
Ứng dụng 3: Dùng bài toán rất thuận tiện trong trường hợp bài toán gốc có số các ràng buộc là khá
lớn so với số biến
Ví dụ 4. Giải bài toán QHTT sau:
45
Bài Giảng Quy Hoạch Tuyến Tính
( P) : min z 3 x1 2 x2
x1 2 x2 1
x
1 x2 2
2 x1 x2 6
x1 5
2 x1 x2 16
x1 x2 12
x1 2 x2 21
x2 10
x1 0, x2 0
Giải
Ta có thể giải bài toán sau trên bằng phương pháp hình học, thuật toán đơn hình, sử dụng phương
pháp lấy đối ngẫu để giải cũng là 1 phương pháp.
Bằng phương pháp hình học ta dịch chuyển hàm mục tiêu ngược chiều với vectơ pháp tuyến ta
được phương án tối ưu là (0,0) và min z 0.
46
Bài Giảng Quy Hoạch Tuyến Tính
y1 y2 y3 y4 y5 y6 y7 y8 y9 y10
yB cB PA 1 2 6 5 16 12 21 10 0 0
y9 0 3 1 1 2 1 2 1 1 0 1 0
y10 0 2 2 1 1 0 1 1 2 1 0 1
z '' 1 2 6 5 16 12 21 10 0 0
Bảng đơn hình xuất phát cũng chính là bảng đơn hình tối ưu vì các hệ số ước lượng đều đều dương.
Vậy, bài toán phụ có duy nhất một phương án tối ưu là y* (0,0,0,0,0,0,0,0,3,2) và max z'' 0 . Suy
ra, bài toán ban đầu cũng có duy nhất một phương án tối ưu là y* (0,0,0,0,0,0,0,0) và max z' 0 .
Thế y* (0,0,0,0,0,0,0,0) vào (1) ta thấy:
Vậy phương án tối ưu của bài toán gốc (bài toán min) là (0, 0) và min z 0.
47
Bài Giảng Quy Hoạch Tuyến Tính
( P) min z 5 x1 4 x2 7 x3
7 x1 2 x2 6 x3 17
5 x x 7 x 14
1 2 3
6 x1 3x2 4 x3 14
xi 0, (i 1,...,3)
21 7 1 2
Hỏi x , 0, có là phương án tối ưu của (P), y , 0, có là phương án tối ưu của bài toán
11 11 4 4
đối ngẫu hay không?
Bài 5. Xét bài toán
max z 2 x1 4 x2 x3 x4
x1 3x2 x4 1
5 x2 2 x4 3
x2 4 x3 x4 3
x j 0, ( j 1,..., 4)
x1 x2 4
2 x x 5
1 2
x1 0, x2 0
Chứng minh rằng x* (0,1) là phương án tối ưu của bài toán gốc, y* (1, 0, 0, 0) là phương án tối ưu
của bài toán đối ngẫu.
Bài 7. Xét bài toán gốc
(P ) min z 17x 1 10x 2 4x 3
3x 1 x 2 7x 3 20
x 1 5x 2 x 3 0
4x 3x x 40
1 2 3
x1 0, x 2 tuøy yù, x 3 0.
49
Bài Giảng Quy Hoạch Tuyến Tính
Biết x * (0,13,1) là phương án tối ưu của (P) max z =134. Tìm phương án tối ưu của bài toán đối
ngẫu của (P).
Bài 8. Đề thi HKI 2014-2015
(P1 ) : max z y 1 5 y 2 y 3
2 y 1 y 2 2
y1 2
y y y3 1
1 2
y 1 0, y 2 0, y 3 tuøy yù.
a) Tìm bài bài toán đối ngẫu (P2 ) của bài toán (P1 ) .
b) Cho y * (0, 2,1) là một phương án tối ưu của bài toán (P1 ) , tìm phương án tối ưu của (P2 ).
HD:
1) y* (2,3) .
2) y* (4, 0,8, 2, 0, 0) .
3) Kiểm tra x là phương án của (P), y là phương án của bài toán đối ngẫu và z ( x) z ' ( y ) .
4) Kiểm tra x là phương án của (P), y không là phương án của bài toán đối ngẫu.
11 3 11 1
5) min z , x* 1, 0, , 0 , max z ' , y* 2, 0, .
4 4 4 4
6) Kiểm tra x là phương án của (P), y là phương án của bài toán đối ngẫu và z ( x* ) z ' ( y* ) .
* *
Dạng 2: Giải bài toán QHTT bằng cách giải bài toán đối ngẫu
Bài 9. Giải bài toán QHTT sau:
a) b)
max z 3 x1 x2
max z x1 3x2 x3
x1 x2 1
2 x1 5 x2 x3 5 x x 3
1 2
2 x1 x2 2 x3 4
x , x , x 0 2 x1 x2 2
1 2 3 x1 0, x2 0
c) d)
50
Bài Giảng Quy Hoạch Tuyến Tính
min z x1 4 x2 2 x3
max z x1 4 x2 5 x3
x1 2
x1 x2 3x3 6 x x
1 x3 1
x1 3x2 2 x3 6
2
3x 2 x 2 x 3 x2 6
1 2 3 x3 3
ĐS:
3 11 8
a) min z ' 3, y* , 0, , 0, x* (0,1, 0) .
5 5 5
b) min z ' max z cả 2 bài toán gốc và đôi ngẫu đều không có phương án tối ưu.
177 * 7 47 21 33 15 30
c) min z ' , y y1 , y2 , y3 , , x* , , .
23 23 23 23 23 23 23
d) max z ' 16, y* (3, 4, 0, 2) x* (2, 6, 3) .
51
Bài Giảng Quy Hoạch Tuyến Tính
- Chi phí vận chuyển từ điểm phát Pi đến điểm thu T j là cij (i 1,..., m; j 1,..., n) .
Hãy lập kế hoạch vận chuyển hàng từ các điểm phát đến các điểm thu sao cho: các điểm phát thì
giao hết hàng, các điểm thu nhận đủ hàng và tổng chi phí vận chuyển là bé nhất.
52
Bài Giảng Quy Hoạch Tuyến Tính
...
x1n x2 n ... xmn bn
xij 0(i 1,..., m; j 1,..., n).
Ta có thể viết mô hình bài toán vận tải trên gọn hơn
m n
min z cij xij
i 1 j 1
n
xij ai (i 1,..., m)
j 1
m
x b ( j 1,..., n)
i 1
ij j
xij 0, i, j
Thu
b1 bj bn
Phát
c11 cij c1n
a1
x11 xij x1n
ci1 cij cin
ai
xi1 xij xin
c m1 cmj cmn
am
xm1 xmj xmn
d) Với một phương án cực biên bất kì của bài toán vận tải ô (i,j) được gọi là ô chọn nếu ô đó
chứa biến xij là biến cơ sở.
54
Bài Giảng Quy Hoạch Tuyến Tính
Ví dụ 1.
Bảng 1
X X
X X
X X
Bảng 1 các ô (1,1)(1,4)(2,4)(2,3)(3,3)(3,1) lập thành 1 chu trình.
Bảng 2
X X
X X
X X
Bảng 3
Định lý 1. Bài toán vận tải cân bằng thu phát luôn có phương án tối ưu.
Định lý 2. Hệ ràng buộc chung của bài toán vận tải có hạng là m n 1 .
Hệ quả 1. Cho bảng vận tải gồm mn ô số ô chọn trong 1 phương án cực biên của bài toán vận tải
là m n 1 và phương án cực biên có m n 1 thành phần dương là phương án cực biên không suy
biến.
3.3. Các phƣơng pháp phân phối và thuật toán thế vị
55
Bài Giảng Quy Hoạch Tuyến Tính
Bài toán vận tải cũng chính là bài toán QHTT do đó ta có thể giải bài toán bằng thuật toán đơn hình.
Tuy nhiên việc giải bài toán bằng phương pháp đơn hình sẽ rất phức tạp vì số lượng biến quá lớn. Do
đó, dựa vào cấu trúc đặc biệt của bài toán vận tải người ta chuyển bài toán vận tải dưới dạng bảng và
cũng tìm phương án cực biên ban đầu rồi áp dụng thuật toán thế vị để giải.
Một số phương pháp thông dụng để tìm phương án cực biên ban đầu là:
- Phương pháp cực tiểu cước phí.
- Phương pháp gốc Tây-Bắc.
- Phương pháp cực tiểu cước phí theo dòng.
- Phương pháp cực tiểu cước phí theo cột.
- Phương pháp Fogels.
- …
Trong nội dung của bài giảng này chỉ trình bày 2 phương pháp: phương pháp cực tiểu cước phí và
phương pháp gốc Tây-Bắc.
Các phƣơng pháp phân phối
Phương pháp cực tiểu cước phí:
- Bước 1: Trong bảng vận tải ta tìm ô có chi phí bé nhất. Phân phối cho ô này 1 lượng hàng tối
đa.
- Bước 2: Phân phối vào ô đó 1 lượng hàng tối đa xij min{ai , b j }
c) Nếu ai b j (phát thu) thì x ij ai xoá dòng i, hoặc x ij b j xoá cột j , không
56
Bài Giảng Quy Hoạch Tuyến Tính
- Bước 3: Ghi kết quả, những ô chưa có giá trị thì qui ước giá trị đó bằng 0.
Ví dụ 2b. Tìm phương án cực biên ban đầu của bài toán vận tải sau theo phƣơng pháp gốc Tây-
Bắc.
57
Bài Giảng Quy Hoạch Tuyến Tính
Ta xây dựng hệ thống thế vị (pi,qj) theo công thức: pi q j cij , với mọi ô chọn (i,j). Qui ước chọn
p1=0.
Ví dụ 3. Tính thế các thế vị dòng và thế vị cột của bảng sau:
Thu
20 50 30 pi
Phát
7 3 4
40 p1 0
10 30
1 2 3
60
20 40 p2 1
qj q1 2 q2 3 q3 4
Cách tính các ô chọn ở bảng trên là các ô: (1,2) (1,3) (2,1) (2,2)
p1 0
c12 p1 q2 3 q2 3
c13 p1 q3 4 q3 4
c21 p2 q1 1
c22 p2 q2 2 p2 1
58
Bài Giảng Quy Hoạch Tuyến Tính
Thu
20 50 30 pi
Phát
7 3 4
40 p1 0
20 20
1 2 3
60
30 30 p2 1
qj q1 7 q2 3 q3 4
a) Nếu ij 0, i, j : Bài toán có phương án tối ưu duy nhất. Tính z xij cij , tại
b) Nếu ij 0 : Bài toán có vô số phương án tối ưu. Tính z xij cij , tại những
ô chọn dừng.
2. Trường hợp 2: ij 0 : Bài toán chưa có phương án tối ưu sang bước 5.
ô đó).
Bước 5.2: Xác định chu trình
- Xoá bỏ dòng hoặc cột chỉ chứa đúng 1 ô chọn.
- Xác định một chu trình: xuất phát từ ô vào và đi đến các ô chọn theo qui tắc: đi ngang
chỉ lấy 2 ô, đi dọc chỉ lấy 2 ô cho đến khi ô kết thúc trùng với ô vào và lần lượt đánh số
theo thứ tự (1) (2)…
Bƣớc 5.3: Cập nhật phương án tối ưu mới
59
Bài Giảng Quy Hoạch Tuyến Tính
Thu
15 10 17 18
Phát
20 1 4 2 3
30 4 7 9 6
10 5 8 2 10
Lặp 1
Bƣớc 1: Bài toán thoả điều kiện áp dụng tổng thu = tổng phát.
Bƣớc 2: Tìm phương án cực biên ban đầu bằng phương pháp cực tiểu cước phí ta được bảng sau:
Thu
15(0) 10(0) 17(12)(2) 18(0)
Phát
1 4 2 3
20(5)(0)
15 5
4 7 9 6
30(20)(2)(0)
10 2 18
5 8 2 10
10(0)
10
60
Bài Giảng Quy Hoạch Tuyến Tính
15 0 5 0
Vậy phương án X 0 0 10 2 18 là phương án cực biên ban đầu có số thành phần 0 là
0 0 10 0
6 m n 1 3 4 1 . Vậy X 0 là phương án cực biên không suy biến.
Thu
15 10 17 18 pi
Phát
1 4 2 3
20 p1 0
15 5
4 7 9 6
30 p2 7
10 2 18
5 8 2 10
10 p3 0
10
qj q1 1 q2 0 q3 2 q4 1
61
Bài Giảng Quy Hoạch Tuyến Tính
d min{2,15} 2
x11 x11 d 15 2 13
x13 x13 d 5 2 7
x21 x21 d 0 2 2
x23 x23 d 2 2 0
13 0 7 0
Các vị trí xij còn lại được giữ nguyên. Vậy ta có phương án cực biên mới X 0 2 10 0 18
0 0 10 0
Lặp 2
- Bƣớc 3: Tìm hệ thống thế vị (pi,qj)
Thu pi
15 10 17 18
Phát
1 4 2 3 p1 0
20
13 7
4 7 9 6 p2 3
30
2 10 18
5 8 2 10 p3 0
10
10
qj q1 1 q2 4 q3 2 q4 3
62
Bài Giảng Quy Hoạch Tuyến Tính
12 p1 q2 c12 0 4 4 0
14 p1 q4 c14 0 3 3 0
23 p2 q3 c23 3 2 9 4
31 p3 q1 c31 0 1 5 4
32 p3 q2 c32 0 4 8 4
34 p3 q4 c34 0 3 10 7
13 0 7 0
Vậy bài toán có vô số phương án tối ưu và phương án X 0 2 10 0 18 là 1 phương án tối ưu
0 0 10 0
của bài toán với min z 13.1 7.2 2.4 10.7 18.6 10.2 233 .
Lưu ý: Trong trường hợp bài toán có vô số phương án tối ưu thì ta có thể chọn một phương án tối ưu
khác bằng cách chọn ô có ij 0 làm ô vào trong bước 5.
3.4. Các trƣờng hợp đặc biệt của bài toán vận tải
Bài toán vận tải không cân bằng thu-phát
Phương pháp chung: tìm cách chuyển về bài toán vận tải cân bằng
m n
Trường hợp tổng phát tổng thu: a b
i 1
i
j 1
j : ta thêm ô “điểm thu giả” bn 1 với lượng hàng
m n
bn 1 ai b j và chi phí là ci ,n1 0, i .
i 1 j 1
Lúc này bài toán trở về bài toán cân bằng thu phát. Áp dụng thuật toán thế vị để giải và trong phương
án tối ưu ta bỏ đi cột điểm thu giả thì thu được phương án tối ưu cho bài toán ban đầu.
m n
Trường hợp tổng phát tổng thu: ai b j : ta thêm ô “điểm phát giả” am1 với lượng hàng
i 1 j 1
n m
am1 b j ai và chi phí là cm1, j 0, j .
j 1 i 1
Lúc này bài toán trở về bài toán cân bằng thu phát. Áp dụng thuật toán thế vị để giải và trong phương
án tối ưu ta bỏ đi dòng điểm phát giả thì thu được phương án tối ưu cho bài toán ban đầu.
Lưu ý: Khi tìm phương án cực biên ban đầu ta ưu tiên cho các ô không là ô “điểm thu giả” hoặc “điểm
phát giả” trước.
Bài toán vận tải có ô cấm
63
Bài Giảng Quy Hoạch Tuyến Tính
Giả sử ta không thể vận chuyển hàng từ ai đến b j tương ứng với ô (i,j) trong bảng vận tải, nên ô
Dùng thuật toán thế vị để giải bài toán M ta được phương án tối ưu là X * ( M )
- Nếu trong X * ( M ) có các thành phần ứng với ô cấm đều bằng 0 thì bài toán vận tải ban đầu có
phương án tối ưu.
- Nếu trong X * ( M ) có các thành phần ứng với ô cấm 0 thì bài toán vận tải ban đầu không có
phương án tối ưu.
64
Bài Giảng Quy Hoạch Tuyến Tính
2 3 2 1
b) A (13,3,10), B (3, 6,5,12), C 4 2 1 3 .
1 2 2 3
7 6 5
c) A (25, 20, 45), B (10,30,50), C 2 1 4 .
3 5 2
7 3 5 4
d) A (9,5,11), B (5,8, 4,8), C 6 2 3 5 .
7 4 2 5
4 3 5
6 2 1
e) A (4, 6, 6,3), B (6,8, 4), C .
7 4 2
5 6 3
2 1 4 3
f) A (100,80, 20), B (60, 70, 40,30), C 5 3 2 6 .
6 2 1 5
9 5 6 14
10 7 9 15
g) A (38, 45, 66, 45), B (52, 45,38,59), C .
10 10 6 7
4 8 13 14
4 16 10 14
10 18 12 20
h) A (105, 65,55, 45), B (85, 75, 60,50), C .
6 4 14 18
8 6 8 12
65
Bài Giảng Quy Hoạch Tuyến Tính
6 5 1 2
i) A (50,80,30), B (60, 40, 20, 40), C 1 4 3 7 .
3 2 4 5
6 8 3 7
9 10 11 4
j) A (100,300,150, 250), B (120, 280,130, 270), C .
5 7 9 10
12 13 8 9
5 1 4 6 7
3 4 2 7 8
k) A (5,15, 20,30), B (10,10,10, 20, 20), C .
4 3 1 7 9
6 5 4 9 11
6 3 1 4 5
1 2 5 4 3
l) A (120,150,150, 25), B (20,100,145,30,150), C .
2 4 3 1 6
3 1 4 2 7
ĐS
20 0 0 30
a) X * 0 20 60 0 , min z 260 .
0 20 0 0
0 0 1 12
b) X 0 0 3 0 , min z 34 .
*
3 6 1 0
0 10 15
c) X 0 20 0 , min z 255 .
*
10 0 35
d) vô số phương án tối ưu và min z 96 .
f) vô số phương án tối ưu và min z 460 .
3 1 0
0 6 0
e) X
*
, min z 54 .
0 1 4
3 0 0
66
Bài Giảng Quy Hoạch Tuyến Tính
0 7 31 0
7 38 0 0
g) X
*
, min z 1192 .
0 0 7 59
45 0 0 0
h) vô số phương án tối ưu và min z 2080 .
0 0 10 40
i) X * 60 10 10 0 , min z 280 .
0 30 0 0
j) vô số phương án tối ưu và min z 5590 .
k) vô số phương án tối ưu và min z 435 .
0 0 120 0 0
0 0 0 0 150
l) X
*
, min z 1040 .
20 75 25 30 0
0 25 0 0 0
67
Bài Giảng Quy Hoạch Tuyến Tính
68