Professional Documents
Culture Documents
Chương 2 Mô hình quy hoạch tuyến tính
Chương 2 Mô hình quy hoạch tuyến tính
TOÁN KINH TẾ
1
CHƯƠNG 2
MÔ HÌNH QUY HOẠCH TUYẾN TÍNH
CHƯƠNG 2:
QUY HOẠCH TUYẾN TÍNH
3
2.1 MỘT SỐ ỨNG DỤNG TRONG HOẠT ĐỘNG
KINH TẾ VÀ MÔ HÌNH BÀI TOÁN QHTT
Đường
0,06kg 0,04kg 0,07kg
500 kg
Đậu 0,04kg
0,08kg 0
300 kg
2 ngàn 1,7 ngàn 1,8 ngàn
Lãi đồng đồng đồng
2.1.1 Bài toán lập kế hoạch sản xuất
Phân tích:
Gọi x1, x2, x3 lần lượt là số lượng bánh nướng, thập
cẩm, bánh dẻo cần sản xuất (cái)
Điều kiện của ẩn: xj ≥0 (j=1,2,3)
Tổng tiền lãi: 2x1 + 1,7x2 + 1,8x3
7
2.1.1 Bài toán lập kế hoạch sản xuất
Bài toán 2
Sản xuất n sản phẩm, sử dụng m loại nguyên liệu
Để sản xuất 1 đơn vị sản phẩm loại j (j=1…n) cần aij
đơn vị nguyên liệu loại i (i=1…m)
Lượng nguyên liệu loại i tối đa có thể là bi
Gọi cj là giá (hay tiền lãi) 1 đơn vị sản phẩm loại j
Hãy xác định sản lượng sản phẩm loại j sao cho tổng
giá trị sản phẩm sản xuất được (tiền lãi) là lớn nhất
với lượng nguyên liệu hiện có.
11
2.1.1 Bài toán lập kế hoạch sản xuất
SP Dự trữ
A1 A2 … An nguyên
NL x1 x2 xn liệu
… … … … …
Lãi c1 c2 cn
12
2.1.1 Bài toán lập kế hoạch sản xuất
SP Dự trữ
A1 A2 … An nguyên
NL x1 x2 xn liệu
Tổng số
B1 a11 a12 … a1n b1 tiền lãi?
B2 a21 a22 … a2n b2
… … … … …
Bm am1 am2 … amn bm
Lãi c1 c2 cn
13
2.1.1 Bài toán lập kế hoạch sản xuất
14
2.1.1 Bài toán lập kế hoạch sản xuất
2.1.2 Bài toán lập kế hoạch vốn đầu tư cho sản xuất
Bài toán 3: Một doanh nghiệp cần đầu tư vốn vào m
nhà máy, để sản xuất n sản phẩm
- Đầu tư 1 đơn vị tiền vào nhà máy i trong 1 năm sẽ
sản xuất được bij đơn vị sản phẩm loại j
- Tổng số nguyên liệu và lao động có thể cung cấp là
A và C
- Định mức hao phí về nguyên liệu và lao động sản
xuất 1 đơn vị sản phẩm loại j tại nhà máy i tương ứng
là aij và cij
Yêu cầu: Hãy lập kế hoạch đầu tư sao cho đảm bảo
sản xuất được ít nhất Bj đơn vị sản phẩm loại j mà
tổng số vốn đầu tư là nhỏ nhất 16
2.1.2 Bài toán lập kế hoạch vốn đầu tư cho sản xuất
Bước 1: Gọi xi là lượng vốn cần đầu tư vào nhà máy Ni
(xi≥0)
Bước 2: Phân tích bài toán, biểu diễn qua ẩn
- Tổng số vốn đầu tư ?
- Lượng sản phẩm Aj (j=1…n) do nhà máy i sản xuất?
- Tổng số sản phẩm loại j do m nhà máy i sản xuất ?
- Tổng số nguyên vật liệu và lao động cần để sản xuất
sản phẩm ở nhà máy i ?
- Tổng số nguyên vật liệu và lao động cần để sản xuất
sản phẩm các loại ở các nhà máy là ? 17
Bài toán lập kế hoạch sản xuất
2.1.2 Bài toán lập kế hoạch vốn đầu tư cho sản xuất
SP …
A1 A2 An
Nhà máy
22
2.1.2 Bài toán lập kế hoạch vốn đầu tư cho sản xuất
Ta có mô hình bài toán:
Tìm x= (x1, x2, x3…xm) sao cho
24
Các bước lập BTQHTT
25
Bài toán lập kế hoạch sản xuất
Bài toán QHTT dạng tổng quát
Tìm x= (x1, x2, x3…xn) sao cho
26
Mô hình bài toán QHTT
Bài tập về nhà
28
2.2 MÔ HÌNH BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
2.2.1 Bài toán QHTT dạng tổng quát
Tìm xj, j=1, 2,…, n sao cho:
n
f(x) = c x min (max) (1)
j j
j 1
n
Với hệ ràng buộc: a x
j 1
b , i=1, 2,…, m (2)
ij j i
0
x 0 , j=1,2,…,n (3)
j
tùy ý
31
Bài toán qhtt tổng quát
32
Bài toán qhtt tổng quát
VD. Bài toán QHTT dạng tổng quát
3 x1, x2 0, x3 0, x4 R
33
Bài toán qhtt dạng chính tắc và dạng chuẩn tắc
1. Dạng chính tắc
• Dạng tường minh
n
aijxj = bi (i = 1, m )
j1
34
1, n
xj 0, ( j = )
Bài toán qhtt dạng chính tắc và dạng chuẩn tắc
Ví dụ: Bài toán sau đây có dạng chính tắc
x j 0; j 1,5
35
Bài toán qhtt dạng chính tắc và dạng chuẩn tắc
2. Dạng chuẩn tắc
n
f x c j x j min
Bài toán có dạng: j 1
xj ≥0, j=1,2,…,n
n ij j i
a x b
j 1
ij j i n
a x b
j 1
j 1
ij j i
3x1 2 x2 x3 5 x4 1
3x1 2 x2 x3 5 x4 1
(3x1 2 x2 x3 5 x4 ) 1 37
QT đưa bài toán về dạng chính tắc, chuẩn tắc
- Nếu một ràng buộc có dạng
n n
ij j i
a
j1
x b a ij x j x n+i b
j1
i
n
a ijx j - x n+i bi
n
a x b
j1
ij j i
j1
39
Đưa bài toán về dạng Chính tắc
40
Đưa bài toán về dạng Chính tắc
x1 – 3x2 + 5x3 – x4 16
2x1 – x2 – 2x3 + 2x4 ≥ – 4
4x1 + 3x2 + x3 + x4 = 9
x1, x2 ≥ 0, x3 0
41
Đưa bài toán về dạng Chính tắc
x 1 2 x 2 x 3 2
2 x 2 x x 3
1 2 3
x 1 x 2 x 3 4
Điều kiện:
x 1 0, x 3 0, x 2 tùy ý
46
Đưa bài toán về dạng Chuẩn tắc
Thay x2 = x4 - x5 (x4, x5 ≥ 0)
Đổi dấu hàm mục tiêu
g(x)= -( 2x1 - x4 + x5) min
x1 x3 2 x4 2 x5 2 ( x1 x3 2 x4 2 x5 ) 2
2 x x 2 x 2 x 3 2x x 2x 2x 3
1 3 4 5
1 3 4 5
x1 x3 x4 x5 4
x x x x 4
1 3 4 5 x x x x 4
x j 0 ( j 1, 3, 4, 5)
1 3 4 5
x j 0 ( j 1,3, 4,5)
47
Bài toán qhtt dạng chuẩn
f x c x min
n
j j
j1
x a x a x 1m 1 m 1
...... a x b
1m 2 m2
1 1n n 1
x a x a x ...... a x b
2 2m 1 m 1 2m 2 m2 2n n 2
......................................................................
x a x a x ...... a x b
m mm 1 m 1 mm 2 m2 mn n m
x 0 (j 1, n )
j
Trong đó: b i 0, (i 1, m) 48
Bài toán qhtt dạng chuẩn
Ví dụ : Bài toán QHTT sau có là bài toán chuẩn
hay không ?
Hạng của ma trận hệ ràng buộc của bài toán dạng chính
tắc luôn luôn bằng n nên nếu bài toán chính tắc có phương
án thì phải có phương án cực biên.
2. Tính chất 2: Sự tồn tại phương án tối ưu:
Nếu bài toán có phương án và trị số hàm mục tiêu bị chặn
trên tập phương án thì bài toán có phương án tối ưu.
3. Tính chất 3: Tính hữu hạn của số phương án cực biên:
Số phương án cực biên của mọi bài toán quy hoạch tuyến
50
tính đều hữu hạn.
Phương án: Vectơ x = (x1, x2,..., xn) thoả mãn mọi
điều kiện ràng buộc của bài toán gọi là một phương
án. n
-Nếu a ij x j b i thì ràng buộc i gọi là “chặt” đối với
j1
phương án x, hoặc phương án x thoả mãn chặt ràng buộc i.
n
-Nếu a x
j1
ij j ()b i thì ràng buộc i gọi là “lỏng” đối với
phương án x, hoặc phương án x thoả mãn lỏng ràng buộc i.
Phương án tối ưu: Một phương án mà tại đó trị số hàm
mục tiêu đạt cực tiểu (hoặc cực đại) gọi là phương án tối ưu.
Phương án cực biên: Một phương án thỏa mãn chặt n ràng
buộc độc lập tuyến tính gọi là phương án cực biên.
Các bước tìm PACB
- Tìm hạng của ma trận A.
- Nhận xét về số thành phần dương và suy ra số thành
phần bằng 0 của pacb,
- Dựa vào nhận xét để tìm các pacb, pacb không suy
biến
52
Giải bài toán Quy hoạch tuyến tính
Ví dụ 1: Giải bài toán quy hoạch tuyến tính
f(x)= 2x + 3x max
1 2
4x + 2x + x = 5
1 2 3
x + 3x
1 2 =1
x ≥0, j = 1, 2, 3
j
13 1
Đối với hệ : A1, A2 : x = 1
, ,0
10 10
1 13
Đối với hệ A2, A3 x = 3
0, ,
3 3
53
Giải bài toán Quy hoạch tuyến tính
Hàm mục tiêu của bài toán bị chặn.
Từ x + 3x =1 có x = 1 - 3x nên
1 2 1 2
54
Bài tập
Bài 1. Xét BTQHTT
f x 4 x1 x2 x3 min
x1 2 x2 x3 5
x1 x2 2 x3 5
x 0; j 1, 2,3
j
Trong các véctơ sau véctơ nào là phương án,
vectơ nào là pacb không suy biến?
x 0,5,5 ; x 5, 0, 0 ; x 1, 4, 4 .
0 1 2
55
Bài tập
b) f x x1 2 x2 x3 min
x1 x2 x3 4
x1 x2 0
x 0; j 1, 2,3
j
x 2, 2,0 , x 0,0, 4 ; x 1,1, 2
0 1 2
56
Bài tập
Bài 1. Xét BTQHTT
f x x1 2 x2 x3 min
x1 x2 x3 4
x1 x2 0
x 0; j 1, 2,3
j
Trong các véctơ sau véctơ nào là phương án,
vectơ nào là pacb không suy biến?
x 0 2, 2, 0 , x1 0, 0, 4 ; x 2 1,1, 2 .
57
Bài tập
Bài 2. Tìm tất cả các pacb của BTQHTT sau
a ) f x 2 x1 x2 5 x4 min
x1 x3 x4 5
x2 x3 +2x4 1
x 0; j 1, 2,3, 4.
j
58
Bài tập
b) f x 2 x1 x3 2 x4 min
x1 x2 x3 x4 10
2 x2 x3 -x4 6
x 0; j 1, 2,3, 4.
j
59
Bài tập
c) f x x1 6 x3 5 x4 min
x1 2 x2 3x4 5
3x2 x3 +2x4 8
x 0; j 1, 2,3, 4.
j
60
f x 5 x1 2 x2 4 x3 min
4 x1 7 x2 x3 3
x x 2 x 1
1 2 3
2 x1 3 x2 6 x3 11
x1 0; x2 0; x3 tùy ý
TTĐH
j j
j1
x a x a x1m 1 m 1
...... a x b
1m 2 m2
1 1n n 1
x 2
a x
2m 1
a x
m 1
......
2m 2
a x
m2
b2n n 2
......................................................................
x a x a x ...... a x b
m mm 1 m 1 mm 2 m2 mn n m
x 0 (j 1, n )
j
Trong đó: b i 0, (i 1, m)
Thuật toán
+) Tìm một phương án cực biên ban đầu x0 với cơ
sở {Aj, jJ0} gồm m vectơ độc lập tuyến tính của A
( j = 1,…, m ).
Ký hiệu: J0 = {j; xj > 0} = { 1, 2,…, m }.
Hệ {Aj, jJ0} là cơ sở của x0 biến xj jJ0 là biến
cơ sở.
Thuật toán của phương pháp đơn hình
Giả sử đã biết phương án cực biên x0, cơ sở J0. Lập
bảng đơn hình tương ứng:
f x x1 x2 x3 x4 min
x1 x3 x4 2
x1 x2 2 x3 1
x 0, j 1, 4
j
A2 1
Cơ Hệ Phương A1 A2 A3 A4 θ
sở số án
1 1 1 -1
A4 -1 2 1 0 1 1
A2 1 1 1 1 -2 0
Bảng 1 -1 -1 0 -4 0
Ví dụ 2. Lập bảng đơn hình xuất phát của bài
toán sau
f x x1 2 x2 2 x3 x4 x5 2 x6 min
2 x1 x2 5 x3 x4 5
x 2x 2x x 4
1 2 3 5
4 x1 x2 x3 x6 2
x j 0, j 1, 6
Bài toán có dạng chuẩn, các biến cơ sở là x4, x5, x6 nên
phương án cực biên tương ứng x0 = (0, 0, 0, 5, 4, 2), cơ sở
là {A4, A5, A6}, do đó ta có thể lập ngay được bảng đơn
hình ứng với phương án cực biên x0:
Cơ Hệ số xJ A1 A2 A3 A4 A5 A6
sở
1 -2 2 -1 1 -2
A4 -1 5 [2] -1 -5 1 0 0
A5 1 4 1 -2 2 0 1 0
A6 -2 2 -4 1 1 0 0 1
6 3 0 0
-5 -1 0
Ở bước 1 ta thấy phương án tương ứng chưa tối ưu. Vectơ đưa vào cơ
sở là A1 ứng với 1 = 6, θ0 = 5/2min nên vectơ A4 bị loại khỏi cơ sở,
phần tử trục là [2].
cơ sở là {A1, A5, A6}, do đó ta có thể lập ngay được bảng
đơn hình ứng với phương án cực biên x0:
Cơ Hệ số xJ A1 A2 A3 A4 A5 A6
sở
1 -2 2 -1 1 -2
A1 1 5/2 1 -1/2 -5/2 1/2 0 0
A5 1 3/2 0 -3/2 9/2 -1/2 1 0
A6 -2 12 0 -1 -9 2 0 1
18 0 0
-20 0 2 -3
Ở bảng 2 2 = 2>0, cột hệ số âm nên bài toán ko có patu. Hàm mục
tiêu giảm vô hạn
Bước 1: Kiểm tra dấu hiệu tối ưu
Tính các ước lượng ∆k theo công thức
Δ k c j z jk c k
jJ
-Nếu ∆k ≤ 0, (k J0) thì x0 là phương án tối ưu.
-Nếu ∆k > 0 thì x0 không phải là phương án tối ưu, chuyển
sang bước 2.
, j s
0
Phương án x1 tương ứng với cơ sở J1 = ( J0 \ {r}) {s}
1
j
Tính các x ; f x ; ; z
1 1
k
1
ik
Và f 0 0 s f x0
1
f x
Để tính toán lại các hệ số zik khi thay đổi từ cơ sở cũ
sang cơ sở mới, có thể sử dụng các công thức sau:
- Ở hàng xoay thì chia cho phần tử trục
x1 – x2 + x3 + 1/2x4 = 18
x2 – 4x3 + 8x4 8
–2x2 + 2x3 – 3x4 20
xj ≥ 0 (j =1…4)
Trước hết đưa bài toán về dạng chính tắc bằng cách cộng
vào ràng buộc hai và ba hai biến phụ x5 và x6. Ta có:
x1 – x2 + x3 + 1/2x4 = 18
x2 – 4x3 + 8x4 + x5 = 8
–2x2 + 2x3 – 3x4 + x6 = 20
xj ≥ 0 (j = 1…6)
Bài toán có dạng chuẩn, các biến cơ sở là x1, x5, x6 nên
phương án cực biên tương ứng x0 = (18, 0, 0, 0, 8, 20), cơ
sở là {A1, A5, A6}, do đó ta có thể lập ngay được bảng đơn
hình ứng với phương án cực biên x0:
Cơ Hệ số xJ A1 A2 A3 A4 A5 A6
sở
2 3 -1 -1/2 0 0
A1 2 18 1 –1 1 1/2 0 0
A5 0 8 0 1 –4 8 1 0
A6 0 20 0 –2 [2] –3 0 1
36 0 −5 3 3/2 0 0
Ở bước 1 ta thấy phương án tương ứng chưa tối ưu. Vectơ đưa vào cơ
sở là A3 ứng với 3 = 3, θ0 = 20/2 nên vectơ A6 bị loại khỏi cơ sở, phần
tử trục là [2].
cJ J xJ A1 A2 A3 A4 A5 A6
2 3 -1 -1/2 0 0
2 A1 18 1 –1 1 1/2 0 0
0 A5 8 0 1 –4 8 1 0
0 A6 20 0 –2 [2] –3 0 1
36 0 –5 3 3/2 0 0
8 1 0 0 2 0 −1/2
2 A1
48 0 −3 0 2 1 2
0 A5
−1 10 0 −1 1 −3/2 0 1/2
A3 6 0 −2 0 6 0 −3/2
cJ J xJ A1 A2 A3 A4 A5 A6
2 3 -1 -1/2 0 0
2 A1 8 1 0 0 [2] 0 – 1/2
0 A5 48 0 −3 0 2 1 2
−1 A3 10 0 –1 1 – 3/2 0 1/2
f(x) 6 0 –2 0 6 0 – 3/2
−1/2 4 1/2 0 0 1 0 −1/4
A4
40 −1 −3 0 0 1 5/2
0 A5
16 3/4 −1 1 0 0 1/8
−1 A3
f(x) −3 −2 0 0 0
−18 0
Ở bước thứ ba ta thấy k 0 (k J)
Phương án tương ứng là tối ưu: x* = (0, 0, 16, 4, 40, 0)
Giá trị tối ưu của hàm mục tiêu là: f* = –18.
Các chú ý khi áp dụng thuật toán:
1) Đối với bài toán có hàm f(x) max thì có thể chuyển về
giải bài toán với hàm g(x) = −f(x) min
chú ý là fmax = −gmin
hoặc cũng có thể giải trực tiếp với dấu hiệu tối ưu là k ≥ 0,
dấu hiệu để điều chỉnh phương án là k < 0, còn các yếu tố
khác của thuật toán không đổi.
2) Chọn vectơ đưa vào cơ sở ứng với max k là với hy vọng
0
k
làm trị số hàm mục tiêu giảm nhiều nhất sau mỗi bước biến
đổi, tuy nhiên vectơ đưa vào cơ sở thực sự làm trị số hàm
mục tiêu giảm nhiều nhất phải ứng với max
Δ 0
θ 0 .Δ k nhưng
k
trên nguyên tắc thì đưa bất kỳ vectơ nào ứng với k > 0 vào
k
Để giải bài toán bằng phương pháp đơn hình trước hết
phải đưa bài toán về dạng chính tắc.
f(x) = −2x1 − 6x2 + 8x3 – 5x4 min
x1 + 2x2 − 3x3 + x4 = 8
−2x1 + x2 + x3 − 5x4 + x5 = 2
4x1 + 7x2 − 8x3 + 2x4 – x6 = 20
xj ≥ 0 (j = 1…6)
Từ x0 suy ra phương án cực biên không suy biến của bài
toán dạng chính tắc: x 0 = (8, 0, 0, 0, 18, 12) với cơ sở là J0
= {A1, A5, A6} không phải là cơ sở đơn vị.
Vì vậy để lập được bảng đơn hình ứng với phương án cực
biên x 0 ta phải tìm ma trận hệ số phân tích của ma trận
điều kiện của bài toán dạng chính tắc qua cơ sở J0 .
Chú ý rằng vế phải của ma trận hệ số phân tích phải
trùng với các thành phần cơ sở của phương án cực biên.
Quá trình biến đổi thực hiện trên các ma trận sau:
1 2 3 1 0 0 8 1 2 3 1 0 0 8
2 1 1 5 1 0 2 0 5 5 3 1 0 18
4 7 8 2 0 1 20 0 1 4 2 0 1 12
−2 x1 8 1 2 −3 1 0 0
0 x5 18 0 5 −5 −3 1 0
0 x6 12 0 1 −4 [2] 0 1
f(x) − 16 0 2 −2 3 0 0
−2 x1 2 1 3/2 −1 0 0 − 1/2
0 x5 36 0 13/2 − 11 0 1 3/2
−5 x4 6 0 1/2 − 2 1 0 1/2
Sau bước có 30= 4 >1/2
f(x) 2−ta34 4 xj3 <0 0 (j0 J), −bài
0, nhưng 3/2
toán không có phương án tối ưu.
5.2 Thuật toán đơn hình mở rộng
Ta xét bài toán mở rộng sau (thường gọi là bài toán M)
F = c1 x1 + c2 x2 + c3 x3+…+ cn xn + M.xn+1 +…+M.xn+m → min
x j 0 j 1, 2...n m
Trong đó xn+1, xn+2,..., xn+m gọi là ẩn giả,
M là hằng số dương tùy ý
Định lý: Nếu bài toán (M) không có phương án tối
ưu hoặc có một phương án tối ưu mà trong đó có ít
nhất một ẩn giả dương thì (D, f) vô nghiệm.
i j i ; j bât kì
i j nếu ; k 1, 2...n m
i j i j
Chú ý:
- Nếu ma trận A của bài toán (D, f) có
chứa k vectơ cột đơn vị khác nhau (k <
m) thì ta cần đưa m – k ẩn giả vào bài
toán (M)
- Nếu trong quá trình tính toán một ẩn
giả xn+i (i=1…m) khi ra khỏi hệ cơ sở thì
sẽ không thể vào hệ cơ sở được nữa. Do
vậy việc tính toán trong bảng tiếp theo
đối với cột An+i (i= 1…m) là không cần
thiết (chỉ đối với ẩn giả)
Ví dụ 1: Xét bài toán
f x x1 2 x2 x3 min
2 x1 3 x2 4 x3 =12
4x1 5 x2 =10
x 0 j 1, 2...5
j
Đưa bài toán về bài toán (M)
Đưa về bài toán M
F x x1 2 x2 x3 Mx4 Mx5 min
2 x1 3 x2 4 x3 x4 =12
4x1 5 x2 +x 5 =10
Điều kiện: x 0 j 1, 2...5
j
Ma trận hệ số ràng buộc có chứa ma trận đơn vị I2 ứng với
cột 4 và cột 5
Vậy x0 = (0,0,0,12,10) là phương án cực biên với cơ sở
tương ứng là {A4,A5}
Ví dụ 2: Dùng phương pháp đơn hình giải bài toán
quy hoạch tuyến tính sau:
f x 2 x1 2 x2 3x3 min
x1 2 x2 x3 10
x 2 x 3 x 15
1 2 3
2 x x 5 x 20
1 2 3
x j 0 j 1, 2, 3
Đưa vào 1 ẩn phụ x4 và 2 ẩn giả x5, x6 ta có bài
toán (M):
F x 2 x1 2 x2 3x3 0 x4 Mx5 Mx6 min
x1 2 x2 x3 x4 10
x 2 x 3x +x 5 15
1 2 3
2 x x 5 x +x 6 20
1 2 3
x j 0 j 1, 2,...6
Bài toán có dạng chuẩn, các biến cơ sở là x4, x5, x6 nên
phương án cực biên tương ứng x0 = (0, 0, 0,10, 15, 20), cơ
sở là {A4, A5, A6}, do đó ta có thể lập ngay được bảng đơn
hình ứng với phương án cực biên x0:
Cơ Hệ số xJ A1 A2 A3 A4 A5 A6
sở
-2 -2 -3 0 M M
A4 0 10 1 2 1 1 0 0
A5 M 15 1 2 3 0 1 0
A6 M 20 2 1 [5] 0 0 1
35M 3+8M 0 0 0
2+3M 2+3M
Ở bước 1 ta thấy phương án tương ứng chưa tối ưu. Vectơ đưa vào cơ
sở là A3 ứng với 3 = 3+8M, θ0 = 20/5 nên vectơ A6 bị loại khỏi cơ sở,
phần tử trục là [5].
cJ J xJ A1 A2 A3 A4 A5 A6
-2 -2 -3 0 M M
0 A4 10 1 2 1 1 0 0
M A5 15 1 2 3 0 1 0
M A6 20 2 1 [5] 0 0 1
2+3M 2+3M 3+8M 0 0 0
6 3/5 9/5 0 0 ///////
0 A4 1
3 -1/5 [7/5] 0 1
M A5 0 ///////
-3 4 2/5 1/5 1 0 0 /////
A3 4/5 7/5+ 0 0 0 ///////
-1/5M 7/5M
A4 0 15/7 [6/7] 0 0 1 15/6
A2 –2 15/7 – 1/7 1 0 0 _
A3 –3 25/7 3/7 0 1 0 25/3
Bảng 3 1 0 0 0
A1 –2 5/2 1 0 0 7/6
A2 –2 5/2 0 1 0 1/6
A3 –3 5/2 0 0 1 – 1/2
Bảng 4 – 35/2 0 0 0 – 7/6
• KL: Bài toán (M) có patư là
xM*= (5/2,5/2,5/2,0,0,0)
Vậy bài toán ban đầu có phương án tối ưu
x = ( 5/2, 5/2, 5/2 ) fmin = – 35/2
2. 6 QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU
107
2.6.1 Bài toán đối ngẫu
2.6.1.1 Khái niệm đối ngẫu
Đối ngẫu là một phương pháp mà ứng dụng với mỗi bài
toán Quy hoạch tuyến tính đã cho (gọi là bài toán gốc), ta có
thể thiết lập một bài toán Quy hoạch tuyến tính khác (gọi là
bài toán đối ngẫu) sao cho từ lời giải của bài toán này ta có
thể thu được thông tin về lời giải của bài toán kia.
Khi phân tích đồng thời cả hai bài toán gốc và đối ngẫu ta
có thể rút ra các kết luận sâu sắc cả về mặt toán học lẫn về ý
nghĩa thực tiễn.
Cách thành lập bài toán đối ngẫu
Xét bài toán dạng chính tắc: Bài toán đối ngẫu của bài
n
f x c j x j min
toán (I) có dạng sau:
j1
m
n gy b i y i max
a ij x j b(I) (i 1, m) i 1
i m
j1 a y c
i 1 ij i jj 1, n
x 0 (j 1, n )
j
109
Cách thành lập bài toán đối ngẫu
Quy tắc thành lập bài toán đối ngẫu:
- Nếu f(x) min thì và hệ ràng buộc của bài toán đối
ngẫu có dạng “ ”.
- Nếu f(x) max thì và hệ ràng buộc của bài toán đối
ngẫu có dạng “ ≥ ”.
- Số ràng buộc (không kể ràng buộc dấu) trong bài toán này
bằng số biến số trong bài toán kia, nghĩa là tương ứng với một
ràng buộc của bài toán này là một biến số của bài toán kia.
- Hệ số trong hàm mục tiêu của bài toán này là vế phải của
hệ ràng buộc trong bài toán kia.
- Ma trận điều kiện trong hai bài toán là chuyển vị của
nhau.
- Các biến số trong bài toán đối ngẫu không có ràng buộc
về dấu.
110
Cách thành lập bài toán đối ngẫu
Định nghĩa: Cặp ràng buộc đối ngẫu: 2 ràng buộc bất
đẳng thức (kể cả ràng buộc dấu) trong hai bài toán cùng
tương ứng với một chỉ số là một cặp ràng buộc đối ngẫu.
~
Trong bài toán (I) và ( I ) có n cặp ràng buộc đối ngẫu:
j 1, n
m
x j 0 a ij y i c j
i 1
112
Cách thành lập bài toán đối ngẫu
2y1 − y2 + 6y3 ≥ –3
−3y1 + 2y2 − 3y3 ≥ 5
− y + 5y + 2y ≥ 4
1 2 3
6y1 − y3 ≥ –2
−2y1 + 3y2 + y3 ≥ 1
2y1 − 4y2 + 3y3 ≥ 0
113
Cách thành lập bài toán đối ngẫu
Đối với bài toán bất kỳ thì đưa bài toán về dạng chính
tắc, xây dựng bài toán đối ngẫu của bài toán này và gọi nó
là bài toán đối ngẫu của bài toán đã cho.
Xét bài toán sau gọi là bài toán (II):
n
f x c j x j min
n
f x c j x j min
j1 j1
(II’)
n
n
a ij x j b i (i 1, m) a ij x j x n i b i (i 1, m)
(II)
j1 j1
x 0 (j 1, n ) x 0 (j 1, n m)
j j
114
Cách thành lập bài toán đối ngẫu
Đưa bài toán về dạng Bài toán đối ngẫu của (II’) và
chính tắc, ký hiệu là cũng là bài toán đối ngẫu của (II)
(II’): có dạng:
n m
f x c j x j min gy b i y i max
j1 i 1
(II’)
n m
a ij x j x n i b i (i 1, m) a ij y i c j (j 1, n )
i 1
j1 y 0
x 0 (j 1, n m) i (i 1, m)
j
115
Cách thành lập bài toán đối ngẫu
Bài toán đối ngẫu của (II’) và cũng là bài toán đối ngẫu
của (II) có dạng:
m
gy b i y i max
i 1
~
m
( II )
a ij y i c j (j 1, n )
i 1
y 0 (i 1, m)
i
Hai bài toán này có n + m cặp ràng buộc đối ngẫu sau:
j 1, n
m
x j 0 a ij y i c j
i 1
i 1, m
n
và a x
j1
ij j bi yi 0
116
Lược đồ tổng quát xây dựng bài toán đối ngẫu:
i i
j1 i 1
n
yi không có ràng buộc dấu
a ijx j bi i I1
j1 (i I1)
n
a x ij j bi i I 2 yi 0 i I 2
j1
m
xj không có ràng buộc dấu
a ij yi c j j J1
(j J1) i 1
m
xj ≥ 0 (j J2)
a ij yi c j j J 2
i 1 117
VD1. Lập bài toán đối ngẫu của bài toán sau:
118
Cách thành lập bài toán đối ngẫu
3x1 − 6x2 − x3 + 2x4 + 4x5 ≥ –15
−2x1 + 3x2 + 4x3 − 5x4 + x5 8
− 6x2 + 3x3 + 8x4 − 4x5 = 9
3x1 + 2x2 − 3x4 + x5 ≥ 24
x1, x3, x5 ≥ 0
119
Lược đồ tổng quát xây dựng bài toán đối ngẫu:
i i
j1 i 1
a ijx j bi i I 2 yi 0
j1
m
a ij yi c j j J 2
i 1 120
120
Cách thành lập bài toán đối ngẫu
3 x1 , x2 0, x3 0, x4 R
121
2 1 1 1 2 1 5
1 1 1
A 1 1 2 1
AT
5 1 3 1 1 2 3
1 1 1
Xét bài toán dạng chính tắc với hàm f(x) min
Giả sử đã biết phương án cực biên y, cơ sở J của bài toán
đối ngẫu.
Thành lập bảng đơn hình ứng với cơ sở J:
- Ở cột cơ sở ghi các thành phần cơ sở của giả phương án
x vì đó là các hệ số phân tích của vectơ b qua cơ sở J.
- Thay cho f(x) ghi g(x) .
- Trị số của f(x) ứng với giả phương án x ghi trong bảng
đơn hình xác định bởi:
-1
J -1
J
f(x) c J , x J c J , A b c J A , b (y, b)
đó cũng chính là trị số của hàm mục tiêu ứng với phương án
cực biên y.
123
Thuật toán của phương pháp đơn hình đối ngẫu
124
Thuật toán của phương pháp đơn hình đối ngẫu
Bước 3: Đổi cơ sở
- Giả sử vectơ Ar bị loại khỏi cơ sở.
125
Thuật toán của phương pháp đơn hình đối ngẫu
126
Thuật toán của phương pháp đơn hình đối ngẫu
Khi giải bài toán cụ thể cần chú ý hai trường hợp:
- Biết phương án cực biên y của bài toán đối ngẫu của bài
toán dạng chính tắc. Khi đó xác định cơ sở của y, tìm ma
trận hệ số phân tích theo cơ sở này và lập bảng đơn hình
tương ứng, trong bảng phải có k 0, k J.
127
Thuật toán của phương pháp đơn hình đối ngẫu
Ví dụ 1: Giải bài toán bằng phương pháp đơn hình đối ngẫu:
128
Thuật toán của phương pháp đơn hình đối ngẫu
cJ J xJ 1 3 2 3 5 0 0
x1 x2 x3 x4 x5 x6 x7
1 x1 −3 1 2 −1 1 −1 0 0
0 x6 −18 0 1 1 −2 −4 1 0
0 x7 10 0 −1 −3 0 2 0 1
g(y) −3
0
0 −1 −3 −2 −6 0
130
Thuật toán của phương pháp đơn hình đối ngẫu
cJ J xJ 1 3 2 3 5 0 0
x1 x2 x3 x4 x5 x6 x7
1 x1 −3 1 2 −1 1 −1 0 0
0 x6 −18 0 1 1 [−2] −4 1 0
0 x7 10 0 −1 −3 0 2 0 1
3 g(y) − 3 0 −1 −3 −2 −6 0 0
5/2
1 x1 −12 1 −1/2 0 −3 1/2 0
9 0 −1/2 −1/2 1 2 −1/2 0
x4
−3 0
0 x7 10 0 −1 0 2 1
g(y) 15 0 −2 −4 0 −2 −1 0
131
Thuật toán của phương pháp đơn hình đối ngẫu
cJ J xJ 1 3 2 3 5 0 0
x1 x2 x3 x4 x5 x6 x7
1 x1 −12 1 5/2 −1/2 0 [−3] 1/2 0
3 x4 9 0 −1/2 −1/2 1 2 −1/2 0
0 g(y)
x7 10 0 −1 −3 0 2 0 1
15 0 −2 −4 0 −2 −1 0
4 −1/3 −5/6 1/6 0 1 −1/6 0
5 x5
1 2/3 7/6 5/6 1 0 −1/6 0
3 x4 0 0
2 2/3 2/3 −10/3 1/3 1
0 g(y)
x7
23 −2/3 −11/3 −11/3 0 0 −4/3 0
Phương án tối ưu của bài toán gốc: x* = (0, 0, 0, 1, 4, 0, 2) 132
và f* = 23.
Thuật toán của phương pháp đơn hình đối ngẫu
Phương án tối ưu của bài toán đối ngẫu xác định bởi hệ
m
phương trình:
a y ij i c j j J
i 1
− y1 + 4y2 + 2y3 = 5
y1 + 2y2 = 3
y3 = 0
−x1 + x2 − 2x3 − x5 ≥ −6
x1 + 3x2 + x3 − 2x4 + 2x5 21
2x1 − x2 + 3x3 + x4 = 6
xj ≥ 0 (j = 1…5)
134
Thuật toán của phương pháp đơn hình đối ngẫu
−x1 + x2 − 2x3 − x5 − x6 = −6
x1 + 3x2 + x3 − 2x4 + 2x5 + x7 = 21
2x1 − x2 + 3x3 + x4 = 6
xj ≥ 0 (j = 1…7)
135
Thuật toán của phương pháp đơn hình đối ngẫu
Bài toán đối ngẫu:
−y1 + y2 + 2y3 –2
y1 + 3y2 − y3 3
−2y1 + y2 + 3y3 −4
− 2y2 + y3 3
−y1 + 2y2 1
−y1 0
y2 0
136
Thuật toán của phương pháp đơn hình đối ngẫu
Thử y0 vào các ràng buộc, chúng đều thoả mãn nên y0 là
phương án.
Phương án y0 thoả mãn chặt các ràng buộc 1, 3, 4,
dễ thấy chúng độc lập tuyến tính nên y0 là phương án cực
biên không suy biến.
Cơ sở của phương án cực biên y0 là J0 = {A1, A3, A4}.
Tìm ma trận hệ số phân tích của bài toán chính tắc theo J0:
1 1 2 0 1 1 0 6 1 1 2 0 1 1 0 6
1 3 1 2 2 0 1 21 0 4 1 2 1 1 1 15
2 1 3 1 0 0 0 6 0 1 1 1 2 2 0 6
1 7 0 4 3 1 2 36 1 3 0 0 1 7 / 3 2/3 8
0 4 1 2 1 1 1 15 0 2 1 0 1 5/3 1/ 3 1
0 3 0 3 3 1 1 21 0 1 0 1 1 1/ 3 1/ 3 7
137
Thuật toán của phương pháp đơn hình đối ngẫu
cJ J xJ –2 3 –4 3 1 0 0
x1 x2 x3 x4 x5 x6 x7
–2 x1 8 1 3 0 0 –1 – 7/3 2/3
–4 x3 –1 0 –2 1 0 1 5/3 – 1/3
3 x4 –7 0 –1 0 1 –1 – 1/3 [–1/3]
g(y) – 33 0 –4 0 0 –6 –3 –1
–2 x1 –6 1 1 0 2 –3 [–3] 0
–4 x3 6 0 –1 1 –1 2 2 0
0 x7 21 0 3 0 –3 3 1 1
g(y) – 12 0 –1 0 –3 –3 –2 0
0 x6 2 – 1/3 – 1/3 0 – 2/3 1 1 0
–4 x3 2 2/3 – 1/3 1 1/3 0 0 0
0 x7 19 1/3 10/3 0 – 7/3 2 0 1
138
g(y) –8 – 2/3 – 5/3 0 – 13/3 –1 0 0
Thuật toán của phương pháp đơn hình đối ngẫu
Phương án tối ưu của bài toán đối ngẫu là nghiệm của hệ
phương trình:
− y1 = 0
−2y1 + y2 + 3y3 = 3
y2 = 0
139
Bài tập
Bài 1. Cho bài toán QHTT sau:
f (x) 3x1 3x 2 8x 3 6x 4 Min
3x1 3 / 2x 2 x 3 3x 4 57
2x x 2x 2x 18
1 2 3 4
3x 3x 5x 4x 49
1 2 3 4
x 0; j 1, 4
j
a. Hãy giải bài toán trên bằng phương pháp đơn hình
b. Hãy lập bài toán đối ngẫu của bài toán trên và xét tính
tối ưu của vecto y0 = (3/2; 51/4; 6) đối với bài toán đối ngẫu đó?
140
Bài tập
Bài 2. Cho bài toán QHTT (P) sau:
f (x) 8x1 6x 2 4x 3 5x 4 Min
x1 2x 3 x 4 7
2x x x 3x 4
1 2 3 4
3x1 x 2 2x 3 6x 4 5
x1 0; x 2 0; x 4 0
Bài 3. Giải bài toán sau bằng thuật toán đơn hình đối ngẫu
a. f x 3x1 7 x2 10 x3 6 x4 min
2 x1 2 x2 2 x3 x4 12
x2 4 x3 2 x4 4
x 2 x x x 11
1 2 3 4
x j 0, j 1,4
ĐS: x*= (3, 4, 0,0). f(x*)= 37
142
Bài tập
Giải bài toán sau bằng thuật toán đơn hình đối ngẫu
b. f x x1 x2 2 x4 2 x5 3x6 min
x1 x4 x5 x6 2
x2 x4 x6 12
x3 2 x4 4 x5 3 x6 9
x j 0, j 1,6
ĐS: x*= (0, 8, 0,3, 0, 1). f(x*)= -17
143
Bài tập
144