Professional Documents
Culture Documents
QHTT
QHTT
QHTT
Phần A: Lý thuyết
1.1. Một số tình huống dẫn đến việc giải bài toán QHTT
Bài toán 1:
Một nhà sản xuất có ý định đưa ra thị trường một loại phân bón mới được pha trộn từ hai hợp
chất A và B.Thành phần của hai hợp chất A và B như sau:
Thành phần
Kali Ni tơ Phốt pho Magiê
Hợp chất
A 25% 25% 40% 10%
B 35% 20% 40% 5%
Vì nhiều lí do, những điều kiện sau là bắt buộc cho loại phân bón mới:
- Bán dưới dạng túi 20kg
- Chứa ít nhất 25% kali
- Chứa ít nhất 20% ni tơ
- Chứa ít nhất 10% magiê
Biết rằng chi phí cho hợp chất A là 3000 đồng 1kg, cho hợp chất B là 2500 đồng 1kg. Bài toán
đặt ra cho nhà sản xuất là tìm một phương án sản xuất loại phân bón mới từ hai hợp chất A, B
thỏa các yêu cầu trên với chi phí bỏ ra là nhỏ nhất có thể.
Giải
Vì phân bón được sản xuất dưới dạng túi nên ta gọi x1, x2 lần lượt là số kg hợp chất A, B có
trong một túi phân bón được sản xuất.
Khối lượng các chất kali, nitơ, phốt pho, magie trong mỗi túi là:
Kali: 0, 25x1 0,35x 2
Nitơ: 0, 25x1 0, 2x 2
1
Lê Thị Kim Anh
Tổng chi phí mà nhà sản xuất cần phải bỏ ra để sản xuất một túi phân bón là:
3000x1 2500x 2
Yêu cầu bài toán là chi phí sản xuất bỏ ra là nhỏ nhất nên ta có điều kiện :
Như vậy mô hình toán học của bài toán lập phương án sản xuất tối ưu trên là bài toán quy hoạch
tuyến tính sau:
x1 x 2 20
0, 25x1 0,35x 2 5
0, 25x1 0, 2x 2 4
0,1x1 0, 05x 2 2
x1 0, x 2 0
Bài toán 2: Một người nông dân có 10 héc ta đất và 50 triệu đồng tiền vốn để trồng dưa hấu và
dưa gang. Biết rằng chi phí để trồng, số lao động chăm sóc và lợi nhuận thu được trên mỗi hecta
dưa hấu và dưa gang được cho ở bảng sau:
2
Lê Thị Kim Anh
Hơn nữa biết rằng người nông dân thuê tất cả 15 lao động.
Hãy lập bài toán xác định phương án sản xuất cho người nông dân để lợi nhuận thu được là
nhiều nhất.
Giải
Gọi x1, x2 lần lượt là số hecta trồng cây dưa hấu và dưa gang
Vậy mô hình toán học của bài toán xác định phương án sản xuất cho người nông dân để lợi
nhuận thu được nhiều nhất là
x1 x 2 10
7x1 5x 2 50
2x1 x 2 15
x1 0, x 2 0
Nhận xét: Mô hình toán học thu được từ hai bài toán trên chính là bài toán Quy hoạch tuyến
tính.
3
Lê Thị Kim Anh
1.2. Một số khái niệm về bài toán Quy hoạch tuyến tính:
Bài toán quy hoạch tuyến tính (QHTT) dạng tổng quát với n ẩn số x1 , x 2 ,..., x n có dạng:
a i1x1 a i 2 x 2 ... a1n x n b i i 1; 2;...;m (2)
x j 0; j 1;2;...;n (3)
tuy y
Khi đó:
(2) được gọi là hệ ràng buộc chính của bài toán. Mỗi phương trình hoặc bất phương trình
trong (2) được gọi là một ràng buộc của bài toán.
Phương án: Phương án của bài toán là vectơ n chiều x x1 , x 2 ,...., x n thỏa hệ ràng
buộc của bài toán. Tập X tất cả các phương án của bài toán được gọi là tập phương án.
Phương án x thỏa một ràng buộc nào đó với dấu “=” thì ta nói x thỏa chặt ràng buộc đó.
Ngược lại, nếu x thỏa một ràng buộc với dấu “>” hoặc “<” thì ta nói x thỏa lỏng ràng buộc đó.
Phương án tối ưu (PATƯ): Phương án x * x1* , x *2 ,...., x *n được gọi là PATƯ của bài
Bài toán giải được: Một bài toán QHTT được gọi là giải được nếu có ít nhất một PATƯ
Bài toán không giải được: Một bài toán QHTT được gọi là không giải được nếu không có
PATƯ. Tức là, tập phương án X hoặc tập phương án X nhưng hàm mục tiêu bài toán
min không bị chặn dưới trên tập phương án X hay hàm mục tiêu bài toán max không bị chặn
trên trên tập phương án X.
Giải một bài toán QHTT tức là đi tìm PATƯ và giá trị tối ưu của bài toán đó (nếu có).
a1j
a 2 j
Vectơ cột hệ số của ẩn x j trong hệ ràng buộc chính được ký hiệu là Aj, tức là A j .
.
a
mj
Vectơ dòng hệ số của ràng buộc thứ i được ký hiệu là Ai, tức là A i a i1 ,a i2 ,...,a in .
Ma trận hệ số A của hệ ràng buộc chính được gọi là ma trận hệ ràng buộc chính của bài
toán.
Hệ ràng buộc độc lập tuyến tính: một hệ ràng buộc mà các vectơ dòng hệ số Ai tương
ứng độc lập tuyến tính được gọi là hệ độc lập tuyến tính.
Phương án cực biên (phương án cơ bản): Phương án x * x1* , x *2 ,...., x *n được gọi là
phương án cực biên (PACB) nếu x* thỏa mãn chặt n ràng buộc độc lập tuyến tính. Một PACB
thỏa chặt đúng n ràng buộc độc lập tuyến tính được gọi là PACB không suy biến, còn một
PACB thỏa nhiều hơn n ràng buộc chặt (hệ ràng buộc x * thỏa chặt có hạng bằng n) được gọi là
PACB suy biến.
1.3. Các dạng đặc biệt của bài toán quy hoạch tuyến tính
5
Lê Thị Kim Anh
Một bài toán QHTT có tất cả các ràng buộc chính đều là các phương trình và các ẩn đều
không âm được gọi là bài toán QHTT dạng chính tắc. Tức là có dạng sau:
x j 0; j 1; 2;...; n
Cách đưa bài toán dạng tổng quát về dạng chính tắc:
- Nếu có ẩn có dấu tùy ý thì ta thực hiện phép đổi biến x j xj xj với ẩn xj 0, xj 0
- Nếu có ràng buộc chính có dạng a i1x1 a i 2 x 2 ... a1n x n bi thì ta cộng vào vế bên trái
ràng buộc đó một ẩn phụ x n k với x n k 0 để được một phương trình, tức là
a i1x1 a i 2 x 2 ... a1n x n x n k bi
- Nếu có ràng buộc chính có dạng a i1x1 a i 2 x 2 ... a1n x n bi thì ta trừ đi vế bên trái ràng
buộc đó một ẩn phụ x nk với x n k 0 để được một phương trình, tức là
a i1x1 a i 2 x 2 ... a1n x n x n k bi
6
Lê Thị Kim Anh
Giải
Bài toán QHTT dạng chuẩn là bài toán QHTT dạng chính tắc có tất cả các hệ số tự do ở các
ràng buộc chính đều không âm và mỗi ràng buộc ở hệ ràng buộc chính đều có ẩn cơ bản. Trong
đó ẩn cơ bản của ràng buộc thứ i là ẩn có hệ số bằng 1 ở ràng buộc i và có hệ số bằng 0 ở tất cả
các ràng buộc còn lại.
Tức là không mất tính tổng quát, giả sử ẩn cơ bản của m ràng buộc chính là x1 , x 2 ,..., x m thì
bài toán QHTT dạng chuẩn sẽ có dạng:
x j 0; j 1; 2;...; n
7
Lê Thị Kim Anh
Cách đưa bài toán dạng chính tắc về dạng chuẩn (lập bài toán mở rộng)
Nếu một ràng buộc chính có số hạng tự do âm thì ta nhân hai vế ràng buộc đó với – 1 ta sẽ
được ràng buộc có số hạng tự do dương.
Nếu ràng buộc chính nào chưa có ẩn cơ bản thì ta cộng và ràng buộc đó một ẩn giả để làm ẩn
cơ bản. Các ẩn giả là ẩn không âm.
Hệ số của các ẩn giả là M đối với bài toán Min, và là – M đối với bài toán Max
Giải:
8
Lê Thị Kim Anh
Bài toán QHTT dạng chính tắc nếu có phương án thì sẽ có PACB
Nếu bài toán QHTT có phương án và giá trị hàm mục tiêu bị chặn dưới (trên) trên tập
phương án khi f(x) min (max) thì bài toán có PATƯ.
Hệ quả: Nếu bài toán QHTT dạng chính tắc có PATƯ thì sẽ có một PACB là tối ưu.
9
Lê Thị Kim Anh
Phương pháp đơn hình là phương pháp giải bài toán QHTT dạng chuẩn dựa vào việc xét
các PACB của tập phương án theo hướng cải tiến phương án. Quá trình cải tiến phương án dựa
vào phép khử Gauss – Jordan. Và quá trình này sẽ kết thúc vì số PACB của bài toán QHTT là
hữu hạn. Kết quả ta sẽ thu được phương án tối ưu của bài toán hoặc sẽ kết luận bài toán không
giải được vì hàm mục tiêu không bị chặn.
Thuật toán đơn hình giải bài toán QHTT dạng chuẩn có f(x) Min
x j 0; j 1; 2;...; n
- Nhận xét: Bài toán có ngay PACB xuất phát là: x 0 b1 , b 2 ,..., b m , 0,..., 0 và
m
f x 0 c1b1 c 2 b 2 ... cm b m ci bi
i 1
10
Lê Thị Kim Anh
Hệ số Hệ ẩn Phương c1 c2 … cr … cm cm+1 … cs … cn
cơ bản án cơ bản
x1 x2 … xr … xm xm+1 … xs … xn
cr xr br 0 0 … 1 … 0 ar m+1 … ars … ar n
j được gọi là hệ số ước lượng của biến xj và được tính: j = (cột hệ số) Aj - cj
Bước 2: Kiểm tra tính tối ưu của PACB xuất phát x 0 b1 , b 2 ,..., b m , 0,..., 0
- Nếu tồn tại ít nhất một j 0 thì x0 không phải là phương án tối ưu ta chuyển sang bước
3.
Bước 3: Kiểm tra tính không giải được của bài toán
11
Lê Thị Kim Anh
- Nếu tồn tại một j > 0 mà aịj 0, i 1, m thì bài toán không có phương án tối ưu vì
(aịj 0, i 1, m tức là các hệ số trên cột hệ số ứng với biến xj đều không dương).
- Nếu mỗi j > 0 đều có ít nhất một aij>0 thì ta chuyển sang bước 4.
Bước 4: Xác định ẩn đưa vào, ẩn đưa ra khỏi hệ thống ẩn cơ bản và biến đổi bảng để thu được
PACB mới tốt hơn
bi b r
Giả sử min 0 ( i 1, m và chỉ tính khi a is >0) thì ẩn xr bị loại ra khỏi hệ thống ẩn cơ
a is 0 a is a ir
bản.
Phẩn tử ars nằm trên cột hệ số của xs (ứng với ẩn đưa vào) và dòng xr (ứng với ẩn đưa ra) được
gọi là phần tử trục
o Cách biến đổi bảng để thu được phương án cực biên mới tốt hơn
- Lập bảng đơn hình mới với cột ẩn cơ bản mới thu được từ cột ẩn cơ bản trước bằng cách
thay xr bởi xs.. Chính vì vậy trên cột hệ số ta ghi cs thay cho cr.
- Dòng chứa phần tử trục ta chia cho phần tử trục là ars và được gọi là dòng chuẩn.
- Các dòng ứng với ẩn cơ sở xi khác và dòng hệ số ước lượng ta tính bằng cách lấy dòng đó
ở bảng cũ trừ đi dòng chuẩn sau khi nhân nó với phần tử a is.
12
Lê Thị Kim Anh
Từ cách tính này ta có thể rút ra thành một quy tắc để tính các hệ số không nằm trên dòng chứa
phần tử trục như sau:
- Các phần tử còn lại trên cột chứa phần tử trục ta ghi số 0.
- Các phần tử còn lại được tính theo quy tắc hình chữ nhật.
ars arj
a ij .a rs a is .a rj
a ij
a rs
ais aij
Kết quả thu được cho ta một PACB mới với những tham số cần thiết cho trong bảng đơn hình và
giá trị hàm mục tiêu tại PACB mới nhỏ hơn giá trị hàm mục tiêu tại PACB ban đầu. Sau đó ta
quay về bước 1.
Thuật toán đơn hình giải bài toán QHTT dạng chuẩn có f(x) Max
Bước 1: Lập bảng đơn hình xuất phát: giống bài toán f(x) Min
Bước 2: Kiểm tra tính tối ưu của phương án cực biên xuất phát
- Nếu j 0, j 1, n thì phương án cực biên xuất phát x0 là phương án tối ưu.
- Nếu tồn tại ít nhất một j 0 thì x0 không phải là phương án tối ưu ta chuyển sang bước
3.
Bước 3: Kiểm tra tính không giải được của bài toán
- Nếu tồn tại một j < 0 mà aịj 0, i 1, m thì bài toán không có phương án tối ưu vì
13
Lê Thị Kim Anh
(aịj 0, i 1, m tức là các hệ số trên cột hệ số ứng với biến xj đều không dương).
- Nếu mỗi j < 0 đều có ít nhất một aij>0 thì ta chuyển sang bước 4
o Cách biến đổi bảng để thu được PACB mới tốt hơn: giống bài toán f(x) Min
Nhận xét: Ta có thể giải bài toán có f(x) Max bằng cách chuyển thành bài toán có
hàm mục tiêu g(x) = - f(x) Min, hệ ràng buộc không thay đổi. PATƯ của bài toán g(x)
Min là PATƯ của bài toán f(x) Max, nhưng fmax = - gmin
Chú ý: Ở bảng đơn hình sau khi tìm được PATƯ nếu hệ số ước lượng của các ẩn không
cơ bản đều là các số âm thì PATƯ tìm được là PATƯ duy nhất của bài toán, nếu có một hệ số
ước lượng của ẩn không cơ bản bằng không thì bài toán có thể có vô số phương án tối ưu. Khi
đó ta có thể tìm thêm một PATƯ khác bằng cách lập thêm một bảng đơn hình mới với ẩn được
đưa vào làm ẩn cơ bản là ẩn có hệ số ước lượng bằng không.
f x 4x1 + x 2 + 2x 4 x 5 5x 6 + 4x 7 min
x1 x 2 + x 4 2x 5 x7 4
2x x 3 4x 4 3x 5 x7 9
1
3x x 4 3x 5 x 6 x 7 3
1
x j 0, j 1,7
14
Lê Thị Kim Anh
Hệ ẩn
Phương x1 x2 x3 x4 x5 x6 x7
Hệ số cơ
án 4 1 0 2 -1 -5 4
bản
1 x2 4 -1 1 0 1 [2] 0 1 2
0 x3 9 2 0 1 -4 3 0 -1 3
-5 x6 3 3 0 0 1 -3 1 1 -
f(x) -11 -20 0 0 -6 18 0 -8
-1 x5 2 -1/2 ½ 0 1/2 1 0 1/2 -
0 X3 3 7/2 -3/2 1 -11/2 0 0 -5/2 -
-5 X6 9 3/2 3/2 0 5/2 0 1 5/2 -
f(x) -47 -11 -9 0 -15 0 0 -17
Trong bảng đơn hình thứ hai các hệ số ước lượng đều không dương và hệ số ước lượng các ẩn
không cơ bản đều là các số âm nên bài toán có PATƯ duy nhất là x* = (0,0,3,0,2,9,0) và giá trị
tối ưu là f(x*) = -47 .
f x 6x1 + x 2 + 2x 3 +x 4 + x 5 +x 6 min
x1 x3 x 5 x 6 15
2x x4 2x 6 8
1
4x x 2x 5x 6 2
1 2 3
x j 0, j 1,7
Hệ Hệ ẩn Phương x1 X2 x3 x4 x5 X6
số cơ bản án
1 x5 15 [1] 0 -1 0 1 -1 15
1 x4 8 -2 0 0 1 0 -2 -
1 x2 2 -4 1 2 0 0 5 -
f(x) 25 1 0 -1 0 0 1
-6 x1 15 1 0 -1 0 1 -1 -
1 x4 38 0 0 -2 1 2 -4 -
1 x2 62 0 1 -2 0 4 [1] 62
f(x) 10 0 0 0 0 -1 2
-6 x1 77 1 1 -3 0 5 0 -
1 x4 286 0 4 -10 1 18 0 -
15
Lê Thị Kim Anh
1 x6 62 0 1 -2 0 4 1 -
f(x) -114 0 -2 4 0 -9 0
Vậy bài toán không có phương án tối ưu vì ở bảng đơn hình thứ 3 hệ số ước lượng của ẩn x 3
dương và cột điều kiện của ẩn x3 có các thành phần đều âm.
x j 0, j 1,7
Hệ Hệ ẩn Phương
x1 x2 x3 x4 X5 x6 x7
số cơ bản án
-2 X2 4 -2 1 0 3 0 -2 2 4/3
1 X3 3 -3 0 1 [4] 0 0 1 ¾
2 X5 5 -5 0 0 2 1 1 1 5/2
f(x) 5 18 0 0 -13 0 0 -3
-2 X2 7/4 ¼ 1 -3/4 0 0 -2 5/4 -
15 X4 ¾ -3/4 0 1/4 1 0 0 ¼ -
2 X5 7/2 -7/2 0 -1/2 0 1 [1] ½ -
f(x) 59/4 33/4 0 13/4 0 0 0 ¼
-2 X2 35/4 -28/4 1 -7/4 0 2 0 9/4
15 X4 ¾ -3/4 0 1/4 1 0 0 ¼
6 X6 7/2 -7/2 0 -1/2 0 1 1 ½
f(x) 59/4 33/4 0 13/4 0 0 0 ¼
Ở bảng thứ 2 ta có PATƯ: x* = (0, 7/4, 0, 3/4, 7/2, 0, 0). Hơn nữa ở bảng này có ẩn không cơ
bản x6 có hệ số ước lượng bằng 0 nên ta lập bảng đơn hình thứ 3 bằng cách cho ẩn x 6 vào làm ẩn
cơ bản. Và ở bảng thứ 3 ta tìm thêm được một PATƯ khác là x ** = (0, 35/4, 0, 3/4, 0, 7/2, 0)
Phương pháp đơn hình mở rộng giải bài toán QHTT chứa biến giả:
16
Lê Thị Kim Anh
Bài toán chứa biến giả là bài toán xuất hiện khi ta đưa một bài toán QHTT dạng chính tắc về
bài toán dạng chuẩn. Vì mọi bài toán QHTT có dạng tổng quát đều có thể đưa về dạng chính
tắc nên ta xét bài toán dạng chính tắc:
n
f x c j x j min
j1
n
a x
j1
ij j bi i 1; m
x j 0; j 1; n
Không mất tính tổng quát ta giả sử chưa ràng buộc chính nào của bài toán QHTT dạng chính
tắc trên có ẩn cơ bản và tất cả các số hạng tự do bi i 1, m đều thỏa bi 0 . Khi đó để đưa
bài toán này về dạng chuẩn ta cần thêm vào m ẩn giả và thu được bài toán mở rộng sau:
n m
f x M c j x j x n i min
j1 i 1
n
a x
j1
ij j x n i bi i 1; m
x j 0; j 1; n m
Mối quan hệ giữa bài toán xuất phát và bài toán mở rộng:
17
Lê Thị Kim Anh
xuất phát.
- Hơn nữa, x là PACB của bài toán xuất phát khi và chỉ khi x M x, 0 là PACB bài toán
mở rộng.
Để giải bài toán xuất phát thông qua bài toán mở rộng ta thực hiện hai bước sau:
Bài toán mở rộng cũng là bài toán dạng chuẩn nên ta cũng thực hiện giải bằng thuật toán đơn
hình như bài toán dạng chuẩn bình thường. Khi đó hệ số ước lượng của các ẩn sẽ có dạng sau:
j aM b . Do đó ta có một số lưu ý:
- Do các ẩn giả ban đầu đóng vai trò là ẩn cơ sở nên trong quá trình biến đổi bảng đơn hình
nếu bị đưa ra khỏi hệ thống ẩn cơ bản thì sẽ không được đưa trở lại nữa. Nên khi lập bảng đơn
hình để giải bài toán mở rộng không cần thiết phải đưa ẩn giả vào bảng.
- Vì giá trị hàm mục tiêu f(x) và các hệ số ước lượng j luôn có dạng j aM b nên ta
có thể chia dòng ghi hệ số ước lượng thành hai dòng, một dòng ghi hệ số a, một dòng ghi hệ số
b. Khi các ẩn giả bị loại hết ra khỏi hệ thống ẩn cơ bản thì dòng này sẽ trở lại bình thường.
- Do M là một số dương rất lớn nên để xác định tính âm, dương và so sánh giá trị giữa các
hệ số ước lượng ta lưu ý:
a 0 j aM b 0
a 0 j aM b 0
a c j aM b i cM d
18
Lê Thị Kim Anh
Khi đã tìm được lời giải của bài toán mở rộng ta có thể suy ra lời giải của bài toán gốc như
sau:
- Trường hợp 1: Bài toán mở rộng không có PATƯ thì bài toán gốc cũng không có PATƯ.
- Trường hợp 2: Bài toán mở rộng có PATƯ nhưng PATƯ này tồn tại ẩn giả có giá trị
dương thì bài toán gốc không có phương án do đó không có PATƯ.
- Trường hợp 3: Bài toán mở rộng có PATƯ trong đó tất cả các ẩn giả đều nhận giá trị
bằng 0 thì bài toán gốc có PATƯ. PATƯ của bài toán gốc chính là PATƯ của bài toán mở rộng
sau khi bỏ đi phần ẩn giả.
Chứng minh
Trường hợp 1: Ta chứng minh phản chứng, giả sử bài toán xuất phát có PATƯ thì bài toán mở
rộng có PATƯ.
Thật vậy, giả sử bài toán xuất phát có PATƯ là x * x1* , x *2 ,..., x *n ta sẽ chứng minh được
x *M x * , 0 x1* , x *2 ,..., x *n ,0,...,0 là PATƯ của bài toán mở rộng. Thật vậy:
Lấy x M x1 , x 2 ,..., x n , x n 1 ,..., x n m là phương án bất kỳ của bài toán mở rộng. Khi đó:
Nếu x n i 0, i 1, m thì x x1 , x 2 ,..., x n là phương án của bài toán xuất phát suy ra
f x M f x f x * f x *M
m n m n
Nếu tồn tại x n i 0 thì x n i 0 f x M c jx j M x n i f x*M c jx*j với mọi M
i 1 j1 i 1 j1
rất lớn.
19
Lê Thị Kim Anh
Trường hợp 2: Bài toán mở rộng có PATƯ là x *M x * , 0 x1* , x *2 ,..., x *n ,0,..., 0 thì
Lấy x x1 , x 2 ,..., x n là phương án bất kỳ của bài toán xuất phát thì
f x f x M f x *M f x * đpcm.
Trường hợp 3: Bài toán mở rộng có PATƯ là x *M x1* , x *2 ,..., x *n , x *n 1 ,..., x *n m và tồn tại
x *n i 0 thì bài toán xuất phát không có phương án. Thật vậy:
n n m
f x M c jx j f x *
M c x *
j j M x *n i với mọi M rất lớn
j1 j1 i 1
20
Lê Thị Kim Anh
Hệ Hệ ẩn Phương x1 X2 x3 X4 x5
số cơ bản án 6 9 9 4 7
M x6 6 3 1 3 [3] 2 2
M x7 9 2 3 1 3 3 3
f(x) 0 -6 -9 -9 -4 -7
15 5 4 4 6 5
4 x4 2 1 1/3 1 1 2/3 6
M x7 3 -1 [2] -2 0 1 3/2
f(x) 8 -2
-23/3 -5 0 -13/3
3 -1 2 -2 0 1
4 x4 3/2 7/6 0 4/3 1 1/2 -
9 x2 3/2 -1/2 1 -1 0 1/2 -
F(x) 39/2 -35/6 0 -38/3 0 -1/2
0 0 0 0 0 0
3 3 39
Vậy bài toán mở rộng có PATƯ là x *M 0, ,0, ,0, 0, 0 và f x *M . Vì các ẩn giả
2 2 2
3 3 39
x 6 x 7 0 nên bài toán xuất phát có PATƯ là x * 0, ,0, ,0 và f x * .
2 2 2
21
Lê Thị Kim Anh
x j 0, j 1, 4
f x 2x1 + 3x 2 +3x 3 +x 4 M x 7 x 8 max
x1 x 2 +2x 3 x 4 x 5 6
2x 3x +2x x 18
1 2 3 7
2x x +2x 4 x 6 x 8 8
1 2
x j 0, j 1, 4
x 0, j 1,8
j
x 0, j 1,8
j
Hệ Hệ ẩn Phương x1 x2 x3 x4 x5 x6
số cơ bản án -2 -3 -3 -1 0 0
0 x5 6 1 [1] 2 1 1 0 6
22
Lê Thị Kim Anh
M x7 18 2 3 2 0 0 0 6
M x8 8 2 1 0 2 0 -1 8
f(x) 0 2 3 3 1 0 0
-26 4 4 2 2 0 1
-3 x2 6 1 1 2 1 1 0 -
M x7 0 -1 0 -4 -3 -3 0 -
M x8 2 1 0 -2 1 -1 -1 -
f(x) 18 -1 0 -3 -2 -3 0
-2 0 0 -6 -2 -4 -1
Bài toán này có PATƯ là x *M 0,6,0, 0,0,0,0, 2 . Bài toán xuất phát không có PATƯ vì tồn tại
ẩn giả x 8 2 0 .
Hệ Hệ ẩn Phương x1 x2 x3 x4 x5 x6
số cơ bản án 2 3 3 1 0 0
0 x5 6 1 [1] 2 1 1 0 6
-M x7 18 2 3 2 0 0 0 6
-M x8 8 2 1 0 2 0 -1 8
f(x) 0 -2 -3 -3 -1 0 0
-26 -4 -4 -2 -2 0 1
3 x2 6 1 1 2 1 1 0 -
-M x7 0 -1 0 -4 -3 -3 0 -
-M x8 2 1 0 -2 1 -1 -1 -
f(x) 18 1 0 3 2 3 0
-2 0 0 6 2 4 1
Vậy bài toán mở rộng có PATƯ là x M 0,6,0, 0,0,0,0, 2 . Bài toán xuất phát không có PATƯ
*
23
Lê Thị Kim Anh
Hai bài toán (P) và P sau đây được gọi là cặp bài toán đối ngẫu:
Bài toán gốc (đối ngẫu) Bài toán đối ngẫu (gốc)
n m
c x
j1
j j max b y
i 1
i i min
0
n
a ij x j bi i 1, m yi 0 i 1, m
j1
tuy y
0
m
x j 0 j 1, n a ij yi c j j 1, n
i 1
tuy y
Để lập bài toán đối ngẫu P của bài toán (P) ta tiến hành theo các bước sau
Bước 1: Xác định số ẩn, số ràng buộc chính và hệ số của bài toán P
-
Số ẩn của P là số ràng buộc chính của (P)
-
Số ràng buộc chính của P là số ẩn của (P)
-
Hệ số của ẩn yi trong hàm mục tiêu của P là hệ số tự do bi trong hệ ràng buộc chính
của (P).
24
Lê Thị Kim Anh
-
Hệ số tự do trong ràng buộc chính thứ j của P là hệ số trong hàm mục tiêu cj của ẩn xj
của (P)
-
Ma trận hệ ràng buộc chính của P là chuyển vị từ ma trận hệ ràng buộc chính của (P)
Bước 2: Xác định mục tiêu và dấu trong các ràng buộc của bài toán P
-
Nếu bài toán (P) có hàm mục tiêu tiến đến min (max) thì bài toán P có hàm mục tiêu
tiến đến max (min)
- Nếu ràng buộc dấu của ẩn xj trong bài toán (P) có dấu tùy ý thì ràng buộc chính thứ j
trong hệ ràng buộc chính của bài toán P có dấu “=”
- Nếu ràng buộc chính thứ i của bài toán (P) có dấu “=” thì ràng buộc dấu của ẩn yi là tùy ý
-
Nếu (P) là bài toán max thì dấu ở ràng buộc chính thứ j của P cùng dấu với dấu của ẩn
xj của (P) và dấu của ẩn yi của P ngược dấu với dấu ở ràng buộc chính thứ i của (P)
-
Nếu (P) là bài toán min thì dấu ở ràng buộc chính thứ j của P ngược dấu với dấu của
ẩn xj của (P) và dấu của ẩn yi của P cùng dấu với dấu ở ràng buộc chính thứ i của (P)
Chiều bất đẳng thức giữa các cặp ràng buộc của hai bài toán có thể tóm tắt như sau:
cj
a y ij i
Tùy ý i 1
25
Lê Thị Kim Anh
Trong cặp bài toán đối ngẫu ta gọi ràng buộc thứ i trong hệ ràng buộc chính của bài toán này
và ràng buộc dấu thứ i trong hệ ràng buộc dấu của bài toán kia là cặp ràng buộc tương ứng. Khi
đó nếu cặp ràng buộc tương ứng có dấu bất đẳng thức thì ta gọi là cặp ràng buộc đối ngẫu.
Ví dụ: Viết bài toán đối ngẫu của bài toán QHTT sau đây và xác định các cặp ràng buộc đối
ngẫu:
Các cặp ràng buộc đối ngẫu của (P) và P : (1) và (11); (2) và (12); (3) và (7); (4) và (8); (5) và
(9); (6) và (10).
26
Lê Thị Kim Anh
Các cặp ràng buộc đối ngẫu của (P) và P : (1) và (7); (2) và (8); (3) và (5); (4) và (6)
Định lý 1: Đối với cặp bài toán đối ngẫu (P) và P , chỉ xảy ra một trong ba trường hợp sau:
ii) Cả hai đều có phương án, lúc đó cà hai cùng có phương án tối ưu, và giá trị hai hàm mục tiêu
tại hai phương án tối ưu là bằng nhau.
iii) Một trong hai bài toán không có phương án, bài còn lại có phương án. Khi đó bài có phương
án sẽ không có phương án tối ưu (và hàm mục tiêu của nó không bị chặn)
27
Lê Thị Kim Anh
Hệ quả 1: Nếu một trong hai bài toán có phương án tối ưu thì bài toán kia cũng có phương
án tối ưu.
Hệ quả 2: Điều kiện cần và đủ để phương án X0 của bài toán (P) và (Y0) cuả bài toán P
tối ưu là: f X 0 f Y 0
Định lý 2: (Độ lệch bù yếu) Điều kiện cần và đủ để phương án X0 của bài toán (P) và (Y0)
cuả bài toán P tối ưu là:
m
x 0j a ij yi c j 0
i 1
j 1, n
n
y 0j a ij x 0j bi 0 i 1, m
j1
- Nhận xét: Vậy trong các tích trên nếu thừa số này khác 0 thì thừa số kia bằng 0.
Hệ quả: Nếu một cặp ràng buộc là lỏng đối với phương án tối ưu của bài toán này thì ràng
buộc đối ngẫu của nó là chặt đối với phương án tối ưu của bài toán kia.
3.2.2 Các dạng bài toán sử dụng các định lý đối ngẫu:
Bài toán 1: Tìm phương án tối ưu của bài toán đối ngẫu P qua phương án tối ưu của bài toán
gốc (P)
Giả sử ta đã giải được bài toán (P) và bài toán này có phương án tối ưu là X* x1* , x *2 ,..., x *n
o Theo định lý 2 ta sẽ tìm phương án tối ưu bài toán P như sau:
m
Nếu có x1* 0 thì a y
i 1
ij i cj
n
Thay X* x1* , x *2 ,..., x *n vào các ràng buộc chính, nếu với chỉ số j nào đó mà a x ij
0
j bi
j1
thì yi 0 .
28
Lê Thị Kim Anh
Như vậy sau 2 bước trên ta thu được một hệ phương trình. Giải hệ phương trình này nếu:
- Hệ phương trình thu được nghiệm duy nhất thì ta kết luận đó chính là phương án tối ưu của
bài P .
- Hệ phương trình có vô số nghiệm phụ thuộc tham số thì ta cần thế nghiệm này vào hệ ràng
buộc của bài toán P để xác định xem với giá trị nào của tham số thì nghiệm này là phương án
của bài toán P . Khi đó phương án tối ưu của bài toán P chính là nghiệm tìm được ứng với
giá trị tham số để nghiệm này là phương án.
b) Viết bài toán đối ngẫu P và tìm phương án tối tối ưu của nó.
Giải
a) Theo ví dụ 1 ở mục trước ta có phương án tối ưu và giá trị tối ưu bài toán (P) là:
3 3 39
x * 0, ,0, ,0 và f x *
2 2 2
29
Lê Thị Kim Anh
Giả sử y* y1 , y 2 là phương án tối ưu bài toán P
Ta thấy x* thỏa lỏng các ràng buộc (2), (4) nên y* thỏa chặt các ràng buộc (7), (9)
y1 +3y 2 9
3y1 +3y 2 4
5 23
Hệ này có nghiệm duy nhất Y* ;
2 6
5 23 39
2 6
Vậy y* ; là phương án tối ưu bài toán P và f y*
2
b) Viết bài toán đối ngẫu P và tìm phương án tối tối ưu của nó.
Giải
30
Lê Thị Kim Anh
x j 0, j 1, 4
Hệ số Hệ ẩn Phương X1 x2 x3 x4 x5 x6 x7
cơ bản án
0 x5 50 3 2 4 [5] 1 0 0 10
0 x6 60 2 3 2 3 0 1 0 20
0 x7 40 4 1 2 2 0 0 1 20
f(x) 0 -5 -4 -6 -8 0 0 0
8 x4 10 3/5 2/5 4/5 1 1/5 0 0 25
0 x6 30 1/5 [9/5] -2/5 0 -3/5 1 0 50/3
0 x7 20 14/5 1/5 2/5 0 -2/5 0 1 100
f(x) 80 -1/5 -4/5 2/5 0 8/5 0 0
8 x4 10/3 [5/9] 0 8/9 1 1/3 -2/9 0 6
4 x2 50/3 1/9 1 -2/9 0 -1/3 5/9 0 150
0 x7 50/3 25/9 0 4/9 0 -1/3 -1/9 1 6
f(x) 280/3 -1/9 0 2/9 0 4/3 4/9 0
5 x1 6 1 0 8/5 9/5 3/5 -2/5 0 -
4 x2 16 0 1 -2/5 -1/5 -2/5 3/5 0 -
0 x7 0 0 0 -4 -5 -2 1 1 -
f(x) 94 0 0 2/5 1/5 7/5 2/5 0
Phương án tối ưu của bài toán (P) là x 6,16,0,0 và f x 94
* *
31
Lê Thị Kim Anh
Giả sử y* y1 , y 2 , y3 là phương án tối ưu bài toán P
Ta thấy x* thỏa lỏng các ràng buộc (4), (5) nên y* thỏa chặt các ràng buộc (8), (9)
7 10a 5a 2
Giải hệ này ta thu được nghiệm Y 0 , ,a . Thế Y0 vào các ràng buộc còn lại
5 5
1
của bài toán P ta được 0 a
25
.
7 10a 5a 2 1
Vậy Y 0
5
,
5
, a với 0 a
25
là phương án tối ưu của bài toán P .
Bài 1: Một xưởng sản xuất bàn gỗ và ghế gỗ. Để tạo ta một chiếc bàn và ghế cần thực hiện qua 3
công đoạn là: cắt gỗ, ráp và đánh bóng. Thời gian để thực hiện mỗi công đoạn được cho ở bảng
sau:
Bàn 4 3 4
Ghế 5 5 6
32
Lê Thị Kim Anh
Bàn ghế của xưởng thường được bán theo bộ là 1 bàn, 2 ghế. Nếu lẻ bộ thì bàn dễ bán hơn.
Ngoài ra trong một tuần xưởng chỉ có tối đa 20 giờ để cắt gỗ, 20 giờ để ráp và 25 giờ để đánh
bóng. Và lợi nhuận thu về trên mỗi chiếc ghế là 60$ và mỗi chiếc bàn là 40$.
Hãy lập mô hình bài toán xác định phương án sản xuất để xưởng có thể tiêu thụ dễ dàng sản
phẩm tạo ra và thu được nhiều lợi nhuận nhất.
Giải
Gọi x1, x2 lần lượt là số chiếc bàn và ghế mà xưởng sản xuất trong một tuần.
Vậy mô hình bài toán xác định phương án sản xuất tối ưu của xưởng là:
4x1 5x 2 20
3x1 5x 2 20
4x1 6x 2 25
2x1 x 2 0
x1 0, x 2 0
Bài 2: Số đơn vị vitamin A, B, C trên mỗi kg thực phẩm X và Y được cho trong bảng sau:
X 5 2 6
Y 4 6 2
Một loại thực phẩm được pha trộn từ X và Y cần ít nhất 20 đơn vị vitamin A, 24 đơn vị vitamin
B và 12 đơn vị vitamin C.
Hãy lập mô hình bài toán xác định khối lượng các loại thực phẩm X, Y sao cho tạo được loại
thực phẩm hỗn hợp như yêu cầu với chi phí thấp nhất.
Giải
Gọi x, y lần lượt là số kg thức ăn X và số kg thức ăn Y dùng để pha trộn loại thức ăn hỗn hợp.
5x 4y 20
2x 6y 24
6x 2y 12
Chi phí để tạo ra loại thực phẩm hỗ hợp là: x 3y (giá 1 kg thực phẩm X)
Vậy mô hình bài toán xác định khối lượng các loại thực phẩm X, Y để tạo được loại thực phẩm
hỗn hợp như yêu cầu với chi phí thấp nhất là bài toán quy hoạch tuyến tính:
x 3y max
5x 4y 20
2x 6y 24
6x 2y 12
34
Lê Thị Kim Anh
x 0, y 0
Bài 3: Một người có 6 tỉ đồng, dự định đầu tư vào các loại hình kinh tế sau:
Mỗi loại hình đầu tư đều có những ưu và nhược điểm riêng nên người đầu tư quyết định đầu tư
theo các chỉ dẫn của nhà tư vấn như sau:
- Không cho doanh nghiệp tư nhân vay quá 20% tổng số vốn đầu tư
- Số tiền mua cổ phiếu không được vượt quá tổng số tiền đầu tư vào 3 loại hình kia
Nhà đầu tư sẽ đầu tư toàn bộ 6 tỉ đồng. Hãy lập mô hình toán học của bài toán xác định số tiền
đầu tư vào mỗi loại hình đầu tư sao cho tổng lãi suất hàng năm thu được là lớn nhất và tuân theo
lời khuyên của nhà tư vấn.
Giải
Gọi x1, x2, x3, x4 (đơn vị: tỉ đồng) lần lượt là số tiền đầu tư vào gửi tiết kiệm có kỳ hạn, gửi tiết
kiệm không kỳ hạn, cho doanh nghiệp tư nhân vay, mua cổ phiếu.
35
Lê Thị Kim Anh
x 3 1, 2
x 4 x1 x 2 x 3
x1 0,8
x2 1
Tổng số tiền lãi thu được trong năm là: 0,06x1 0,03x 2 0,1x 3 0,12x 4
Vậy mô hình toán học cho bài toán trên là bài toán quy hoạch tuyến tính:
x j 0, j 1, 6
Giải
36
Lê Thị Kim Anh
x j 0, j 1,9
Hệ số Hệ ẩn Phương X1 x2 x3 x4 x5 X6
cơ bản án
M x7 60 2 1 3 1 1 3 60
M x8 90 1 2 2 2 2 1 45
M x9 50 2 3 1 2 1 2 50/3
f(x) 0 -6 [-4] -6 -8 -5 -6
200 5 6 6 5 4 6
M x7 130/3 4/3 0 [8/3] 1/3 2/3 7/3 65/4
M x8 170/3 -1/3 0 4/3 2/3 4/3 -1/3 85/2
4 x2 50/3 2/3 1 1/3 2/3 1/3 2/3 50
f(x) 200/3 -10/3 0 -14/3 -16/3 -11/3 -10/3
100 1 0 4 1 2 2
6 x3 65/4 ½ 0 1 1/8 ¼ 7/8 65
M x8 35 -1 0 0 ½ [1] -3/2 35
4 x2 45/4 ½ 1 0 5/8 ¼ 3/8 45
f(x) 285/2 -1 0 0 -19/4 -5/2 3/4
35 -1 0 0 ½ 1 -3/2
6 x3 15/2 ¾ 0 1 0 0 5/4 -
5 x5 35 -1 0 0 ½ 1 -3/2 -
4 x2 5/2 ¾ 1 0 ½ 0 3/4 -
f(x) 230 -7/2 0 0 -7/2 0 -3
0 0 0 0 0 0 0
Phương án tối ưu và giá trị tối ưu của bài toán mở rộng là: x*M = (0,5/2,15/2,0,35,0,0,0,0) và
f(x*M) = 225.
Vì các ẩn giả của x*M bằng 0 và hệ số ước lượng các ẩn không cơ bản đều âm nên bài toán gốc
có phương án tối ưu duy nhất là x * = (0,5/2,15/2,0,35,0) và giá trị tối ưu f(x *) = 225.
37
Lê Thị Kim Anh
3y1 2y 2 y3 6
y1 2y 2 2y3 8
y1 2y 2 y3 5
3y1 y 2 2y3 6
Giả sử y* y1 , y 2 , y3 là phương án tối ưu bài toán P
Ta thấy x* thỏa lỏng các ràng buộc dấu thứ 2, thứ 3 và thứ 5 nên y* thỏa chặt các ràng buộc
chính thứ 2, thứ 3 và thứ 5.
y1 2y 2 3y3 4
3y1 2y 2 y3 6
y 2y y 5
1 2 3
1 5 1
Giải hệ này ta thu được nghiệm duy nhất Y* , , .
2 2 2
1 5 1
Vậy Y* , , là phương án tối ưu của bài toán P .
2 2 2
Bài 5: Cho bài toán QHTT (P):
x j 0, j 1, 4
38
Lê Thị Kim Anh
Giải
x j 0, j 1,8
Hệ Hệ ẩn Phương
x1 x2 x3 X4 x5 x6 X7
số cơ bản án
0 X5 50 1 3 4 2 1 0 0 50/3
0 X6 30 1 [4] 2 1 0 1 0 15/2
-M X8 80 2 3 1 2 0 0 -1 80/3
f(x) 0 -7 -8 -6 -4 0 0 0
-80 -2 -3 -1 -2 0 0 1
0 X5 55/2 ¼ 0 5/2 5/4 1 -3/4 0 110
8 X2 15/2 [¼] 1 ½ ¼ 0 1/4 0 30
-M X8 115/2 5/4 0 -1/2 5/4 0 -3/4 -1 46
f(x) 60 -5 0 -2 -2 0 2 0
-115/2 -5/4 0 ½ -5/4 0 3/4 1
0 X5 20 0 -1 2 1 1 -1 0 -
7 X1 30 1 4 2 1 0 1 0 -
-M X8 20 0 -5 -3 0 0 -2 -1 -
f(x) 210 0 20 8 3 0 7 0
-20 0 5 3 0 0 2 1
39
Lê Thị Kim Anh
4y1 + 2y 2 +y3 6
2y1 + y 2 +2y3 4
y 0
1
y2 0
y3 0
Vì bài toán (P) không có phương án tối ưu nên theo định lý độ lệch bù yếu bài toán P cũng
không có phương án tối ưu.
40