1
Bài toán quy hoạch tuyến tính
1.6 Phương pháp đơn hình
1.6.1 Cơ sở của phương pháp đơn hình
Ta gọi vectơ
Dựa trên một phương án hiện có, ta tìm cách đánh giá
phương án đang xét có là phương án tối ưu hay chưa, nếu
chưa phải là phương án tối ưu thì ta xây dựng một phương
án mới tốt hơn, nếu phương án đang xét đã là phương án tối
ưu thì mục đích của ta đã đạt được.
1.6.2 Thuật toán đơn hình
Xét bài toán quy hoạch tuyến tính
f = cjxj min aijxj = bi, i=1,2,,m.
xj
27 trang |
Chia sẻ: huongnhu95 | Lượt xem: 572 | Lượt tải: 0
Tóm tắt tài liệu Giáo trình Quy hoạch tuyến tính - Chương 3: Bài toán vận tải, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
0, j=1,2,,n.
với bi 0, i=1,2,,m và có sẵn ma trận đơn vị.
2
Bài toán quy hoạch tuyến tính
Tìm phương án cực biên ban đầu 0 0 0 01 2, ,..., mx x x x
Đánh giá phương án hiện có
Lập bảng đơn hình:
Biến
cơ sở
Hệ số
Phương
án
x1 x2 xn
c1 c2 cn
x1 c1 z11 z12 z1n
x2 c2 z21 z22 z2n
xm cm zm1 zm2 zmn
f(x0) 1 2 n
0
1x
0
2x
0
mx
Trong đó:
• zij là hệ số biểu diễn của Aj qua hệ vectơ cơ sở.
3
Bài toán quy hoạch tuyến tính
• f(x0) là giá trị của hàm mục tiêu tại x0
0 0 0 0 0
1 1 2 2( ) m m i if x c x c x c x c x
Nếu với mọi k ta có k 0 thì phương án đang xét là
phương án tối ưu. Ngược lại nếu tồn tại k > 0 với k nào
đó thì phương án đang xét chưa tối ưu, ta tiến hành xây
dựng phương án mới.
• k là ước lượng của biến xk
1 1 2 2k k k m mk k i ik kc z c z c z c c z c
Xây dựng phương án mới – Phương pháp phần tử trục
quay
• Xác định cột quay s là cột mà s > 0 lớn nhất, biến cơ
sở tương ứng xs là biến cơ sở đưa vào.
4
Bài toán quy hoạch tuyến tính
• Phần tử quay zrs là phần tử giao giữa dòng quay r và cột
quay s.
• Dòng quay r là dòng mà r nhỏ nhất,
biến cơ sở tương ứng xr là biến cơ sở đưa ra.
0
, 0kr ks
ks
x z
z
• Xác định các thành phần phương án x1 mới.
1
1
1 1
i
rs
i
i rs r is
rs
x i r
z
x
x z x z i r
z
Lưu ý nếu trên cột quay, các phần tử zks 0 thì ta không
tìm được biến cơ sở đưa ra và khi đó bài toán không có
lời giải.
5
Bài toán quy hoạch tuyến tính
• Xác định các hệ số biểu diễn zij mới.
ij
rs
ij
ij rs rj is
rs
z
i r
z
z
z z z z
i r
z
VD15: Giải bài toán quy hoạch tuyến tính
1 2 4 5 6
1 4 5 6
2 4 6
3 4 5 6
2 2 3 min
2
12
2 4 3 9
0, 1,6j
f x x x x x
x x x x
x x x
x x x x
x j
6
Bài toán quy hoạch tuyến tính
Phương án cực biên ban đầu x0 = (2, 12, 9, 0, 0, 0)
Lập bảng đơn hình:
Biến
cơ sở
Hệ
số
Phương
án
x1 x2 x3 x4 x5 x6
1 -1 0 -2 2 -3
x1 1 2 1 0 0 [1] 1 -1 (2)
x2 -1 12 0 1 0 1 0 1 12
x3 0 9 0 0 1 2 4 3 9/2
Bảng 1 -10 0 0 0 (2) -1 1
7
Bài toán quy hoạch tuyến tính
x4 -2 2 1 0 0 1 1 -1
x2 -1 10 -1 1 0 0 -1 2 5
x3 0 5 -2 0 1 0 2 [5] (1)
Bảng 2 -14 -2 0 0 0 -3 (3)
x4 -2 3 3/5 0 1/5 1 7/5 0
x2 -1 8 -1/5 1 -2/5 0 -9/5 0
x6 -3 1 -2/5 0 1/5 0 2/5 1
Bảng 3 -17 -4/5 0 -3/5 0 -21/5 0
Phương án tối ưu x* = (0, 8, 0, 3, 0, 1)
Giá trị tối ưu fmin = f(x*) = 17
8
Bài toán quy hoạch tuyến tính
VD16: Giải bài toán quy hoạch tuyến tính
1 2 3 4 5 6
1 2 5
1 2 3 6
2 3 4
2 4 0 0 min
3 4
2 3
4 3
0, 1,6.j
f x x x x x x
x x x
x x x x
x x x
x j
9
Bài toán quy hoạch tuyến tính
Phương án cực biên ban đầu x0 = (0, 0, 0, 3, 4, 3)
Lập bảng đơn hình:
Biến
cơ sở
Hệ
số
Phương
án
x1 x2 x3 x4 x5 x6
-2 -4 1 -1 0 0
x5 0 4 1 (3) 0 0 1 0 [4/3]
x6 0 3 2 1 -1 0 0 1 3
x4 -1 3 0 1 4 1 0 0 3
Bảng 1 -3 2 [3] -5 0 0 0
10
Bài toán quy hoạch tuyến tính
x2 -4 4/3 1/3 1 0 0 1/3 0 4
x6 0 5/3 (5/3) 0 -1 0 -1/3 1 [1]
x4 -1 5/3 -1/3 0 4 1 -1/3 0
Bảng 2 -7 [1] 0 -5 0 -1 0
x2 -4 1 0 1 1/5 0 2/5 -1/5
x1 -2 1 1 0 -3/5 0 -1/5 3/5
x4 -1 2 0 0 19/5 1 -2/5 1/5
Bảng 3 -8 0 0 -22/5 0 -4/5 -3/5
Phương án tối ưu x* = (1, 1, 0, 2, 0, 0)
Giá trị tối ưu fmin = f(x*) = 8
11
Bài toán quy hoạch tuyến tính
VD17: Giải bài toán quy hoạch tuyến tính
Lưu ý: Trường hợp bài toán với bi 0, i=1,2,,m và không
có sẵn ma trận đơn vị ta thực hiện biến đổi ma trận hệ số mở
rộng của hệ điều kiện ràng buộc để có ma trận đơn vị.
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
3 3 min
2 2
2 6 3 3 9
6
0, 1,4.j
f x x x x
x x x x
x x x x
x x x x
x j
12
Bài toán quy hoạch tuyến tính
Bài toán với bi 0, i=1,2,,m và không có sẵn ma trận đơn
vị ta thực hiện biến đổi ma trận hệ số mở rộng:
2 2 1
3 3 1
2
1 2 1 1 2 1 2 1 1 2
2 6 3 3 9 0 10 5 1 5
1 1 1 1 6 0 3 2 2 4
d d d
d d d
2 3 2 1 1 2
3 3 2
3 2
3
1 2 1 1 2 1 0 3 15 12
0 1 1 7 7 0 1 1 7 7
0 3 2 2 4 0 0 5 23 25
d d d d d d
d d d
13
Bài toán quy hoạch tuyến tính
Khi đó bài toán trở thành
1 2 3 4
1 4
2 4
3 4
3 3 min
6 5 3
12 5 2
23 5 5
0, 1,4.j
f x x x x
x x
x x
x x
x j
3 3
1 1 3
2 2 3
1
35
1 0 3 15 12 1 0 0 6 5 3
0 1 1 7 7 0 1 0 12 5 2
0 0 1 235 5 0 0 1 235 5
d d d d d
d d d
14
Bài toán quy hoạch tuyến tính
Phương án cực biên ban đầu x = (3, 2, 5, 0)
Lập bảng đơn hình:
Biến
cơ sở
Hệ số
Phương
án
x1 x2 x3 x4
-3 1 3 -1
x1 -3 3 1 0 0 6/5
x2 1 2 0 1 0 -12/5
x3 3 5 0 0 1 -23/5
Bảng 1 8 0 0 0 -94/5
Phương án tối ưu x* = (3, 2, 5, 0)
Giá trị tối ưu fmin = f(x*) = 8
15
Bài toán quy hoạch tuyến tính
VD18: Giải bài toán quy hoạch tuyến tính
1 2 3 4
1 2 3 4
1 2 4
2 3 4
3 4 5 6 min
13 14
2 14 11
3 14 16
0, 1,4.j
f x x x x
x x x x
x x x
x x x
x j
2 2 12
1 1 1 13 14 1 1 1 13 14
2 1 0 14 11 0 1 2 12 17
0 3 1 14 16 0 3 1 14 16
d d d
16
Bài toán quy hoạch tuyến tính
2 2 1 1 2
3 3 23
1 1 1 13 14 1 0 1 1 3
0 1 2 12 17 0 1 2 12 17
0 3 1 14 16 0 0 5 22 35
d d d d d
d d d
3 3
1 1 3
2 2 3
1
5
2
1 0 1 1 3 1 0 0 27 5 4
0 1 2 12 17 0 1 0 16 5 3
0 0 1 22 5 7 0 0 1 22 5 7
d d d d d
d d d
Khi đó bài toán trở thành
1 2 3 4
1 4
2 4
3 4
3 4 5 6 min
27 5 4
16 5 3
22 5 7
0, 1,4.j
f x x x x
x x
x x
x x
x j
17
Bài toán quy hoạch tuyến tính
Phương án cực biên ban đầu x = (4, 3, 7, 0)
Lập bảng đơn hình:
Biến
cơ sở
Hệ số
Phương
án
x1 x2 x3 x4
3 -4 -5 6
x1 3 4 1 0 0 27/5
x2 -4 3 0 1 0 16/5
x3 -5 7 0 0 1 22/5
Bảng 1 -35 0 0 0 -93/5
Phương án tối ưu x* = (4, 3, 7, 0)
Giá trị tối ưu fmin = f(x*) = 35
18
Bài toán quy hoạch tuyến tính
1.7 Phương pháp phạt và bài toán M
Ta gọi vectơ
Xét bài toán quy hoạch tuyến tính
f = cjxj min aijxj = bi, i=1,2,,m.
xj 0, j=1,2,,n.
với bi 0, i=1,2,,m và chưa có sẵn ma trận đơn vị.
Ta đưa về bài toán sau đây gọi là bài toán M
g = cjxj + Mxn+1 + Mxn+2 + + Mxn+m min aijxj + xn+i = bi, i=1,2,,m.
xj 0, j=1,2,,n+m.
bằng cách bổ sung thêm m biến xn+i, i=1,2,,m để có được
ma trận đơn vị và đưa về xét hàm mục tiêu
g = cjxj + Mxn+1 + Mxn+2 + + Mxn+m với M là một số rất
lớn, lớn hơn bất cứ số nào khác.
19
Bài toán quy hoạch tuyến tính Ta gọi vectơ
Ta dùng thuật toán đơn hình để giải bài toán M với một vài
lưu ý:
Nếu đã có k vectơ đơn vị thì ta bổ sung vào m – k biến
để có ma trận đơn vị cấp m.
Hàm mục tiêu g, ước lượng k của các biến xk có thể
viết g = A + BM, k = k + kM.
Nếu bài toán M có phương án tối ưu (x, t) với t > 0 ở
đây t = (xn+1, , xn+m) thì bài toán chính không có
phương án. Nếu bài toán M có phương án tối ưu (x, 0) thì
x là phương án tối ưu của bài toán chính và nếu bài toán
M không có phương án tối ưu thì bài toán chính cũng
không có phương án tối ưu.
20
Bài toán quy hoạch tuyến tính Ta gọi vectơ
Để so sánh các ước lượng ta có
0
0
0, 0
k
k
k k
và
,
i j
i j
i j i j
VD19: Giải bài toán quy hoạch tuyến tính
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
3 3 min
2 2
2 6 3 3 9
6
0, 1,4.j
f x x x x
x x x x
x x x x
x x x x
x j
21
Bài toán quy hoạch tuyến tính Ta gọi vectơ
Bằng cách bổ sung thêm 3 biến x5, x6, x7 và xét hàm mục
tiêu g = 3x1 + x2 + 3x3 x4 + Mx5+ Mx6+ Mx7, ta đưa về
bài toán M:
1 2 3 4 5 6 7
1 2 3 4 5
1 2 3 4 6
1 2 3 4 7
3 3 min
2 2
2 6 3 3 9
6
0, 1,7.j
g x x x x Mx Mx Mx
x x x x x
x x x x x
x x x x x
x j
Phương án cực biên ban đầu x = (0, 0, 0, 0, 2, 9, 6)
Lập bảng đơn hình:
22
Bài toán quy hoạch tuyến tính Ta gọi vectơ
Biến
cơ sở
Hệ
số
Phương
án
x1 x2 x3 x4 x5 x6 x7
-3 1 3 -1 M M M
x5 M 2 [1] 2 -1 1 1 0 0 (2)
x6 M 9 2 -6 3 3 0 1 0 9/2
x7 M 6 1 -1 1 -1 0 0 1 6
Bảng 1
17 (4) -5 3 3 0 0 0
0 3 -1 -3 1 0 0 0
x1 -3 2 1 2 -1 1 0 0
x6 M 5 0 -10 [5] 1 1 0 (1)
x7 M 4 0 -3 2 -2 0 1 2
Bảng 2
9 0 -13 (7) -1 0 0
-6 0 -7 0 -2 0 0
23
Bài toán quy hoạch tuyến tính Ta gọi vectơ
x1 -3 3 1 0 0 6/5 0
x3 3 1 0 -2 1 1/5 0
x7 M 2 0 [1] 0 -12/5 1 (2)
Bảng 3
2 0 (1) 0 -12/5 0
-6 0 -7 0 -2 0
x1 -3 3 1 0 0 6/5
x3 3 5 0 0 1 -23/5
x2 1 2 0 1 0 -12/5
Bảng 4
0 0 0 0 0
8 0 0 0 -94/5
Phương án tối ưu x* = (3, 2, 5, 0)
Giá trị tối ưu fmin = f(x*) = 8
24
Bài toán quy hoạch tuyến tính Ta gọi vectơ
VD20: Giải bài toán quy hoạch tuyến tính
1 2 3 4
1 2 3 4
1 2 4
2 3 4
3 4 5 6 min
13 14
2 14 11
3 14 16
0, 1,4.j
f x x x x
x x x x
x x x
x x x
x j
1 2 3 4 5 6 7
1 2 3 4 5
1 2 4 6
2 3 4 7
( ) 3 4 5 6 min
13 14
2 14 11
3 14 16
0, 1,7.j
g x x x x x Mx Mx Mx
x x x x x
x x x x
x x x x
x j
Ta đưa về bài toán M:
Phương án cực biên ban đầu x = (0, 0, 0, 0, 14, 11, 16)
25
Bài toán quy hoạch tuyến tính Ta gọi vectơ
Biến
cơ sở
Hệ
số
Phương
án
x1 x2 x3 x4 x5 x6 x7
3 -4 -5 6 M M M
x5 M 14 1 1 1 13 1 0 0 14/13
x6 M 11 2 1 0 (14) 0 1 0 [11/14]
x7 M 16 0 3 1 14 0 0 1 16/14
Bảng 1
41 3 5 2 [41] 0 0 0
0 -3 4 5 -6 0 0 0
x5 M 53/14 -6/7 1/14 1 0 1 0 53
x4 6 11/14 2/14 1/14 0 1 0 0 11
x7 M 5 -2 (2) 1 0 0 1 [5/2]
Bảng 2
123/14 -20/7 [29/14] 2 0 0 0
33/7 -15/7 31/7 5 0 0 0
26
Bài toán quy hoạch tuyến tính Ta gọi vectơ
x5 M 101/28 -11/14 0 (27/28) 0 1 [101/27]
x4 6 17/28 3/14 0 -1/28 1 0
x2 -4 5/2 -1 1 1/2 0 0 5
Bảng 3
101/28 -11/14 0 [27/28] 0 0
-99/14 16/7 0 29/14 0 0
x3 -5 101/27 -22/27 0 1 0
x4 6 20/27 (5/27) 0 0 1 4
x2 -4 17/27 -16/27 1 0 0
Bảng 4
0 0 0 0 0
-151/9 [41/9] 0 0 0
27
Bài toán quy hoạch tuyến tính Ta gọi vectơ
x3 -5 7 0 0 1 22/5
x1 3 4 1 0 0 27/5
x2 -4 3 0 1 0 16/5
Bảng 5
0 0 0 0 0
-35 0 0 0 -93/5
Phương án tối ưu x* = (4, 3, 7, 0)
Giá trị tối ưu fmin = f(x*) = 35
Các file đính kèm theo tài liệu này:
- giao_trinh_quy_hoach_tuyen_tinh_chuong_3_bai_toan_van_tai.pdf