Cách xác định bài toán có patư duy nhất không
Để xác định bài toán có patư duy nhất hay không, ta làm như sau:
Xét bảng đơn hình tối ưu (là bảng mà từ đó ta lấy ra patư) của bài toán QHTT.
B1) Nếu k ≠ 0 với mọi biến tự do xk : bài toán có patư duy nhất.
B2) Nếu có j = 0 với xj là biến tự do: bài toán có thể có patư duy nhất hoặc không.
Ta xét tiếp như sau:
Lấy cột có hệ số ước lượng bằng 0 (ứng với biến tự do) làm cột chủ yếu (As).
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Tối ưu hóa - Chương 1 bài toán quy hoạch tuyến tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ThS. Phạm Trí Cao * Chương 1 03/01/2014
1
1
CHƯƠNG 1:
BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH
I) CÁC VÍ DỤ THỰC TẾ
2
Ví dụ 1.1: Bài toán lập kế hoạch sản xuất
Một xí nghiệp có 3 loại nguyên liệu A (đường), B
(sữa), C (hương trái cây) với lượng dự trữ tối đa
trong kho lần lượt là 10, 15, 13 tấn. Xí nghiệp
dùng các loại nguyên liệu này để sản xuất ra 4
loại sản phẩm kẹo mút: K1 (mum mum dâu), K2
(mum mum bạc hà), K3 (mum mum mật ong), K4
(mum mum dứa). Tiền lời thu được khi bán các
loại sản phẩm kẹo lần lượt là 4, 6, 5, 8 triệu
đ/tấn.
3
Tỷ lệ pha chế các loại nguyên liệu với nhau để
sản xuất ra các loại sản phẩm cho trong bảng
sau:
.
Hãy lập kế hoạch sản xuất các loại sản phẩm
sao cho: thỏa mãn yêu cầu hạn chế về nguyên
liệu, đồng thời tổng số tiền lời thu được lớn
nhất?
4
Loại
nguyên
liệu
Dự
trữ
Tỷ lệ pha chế
K1
(tấn)
K2
(tấn)
K3
(tấn)
K4
(tấn)
A (tấn) 10 1 2 3 4
B (tấn) 15 3 1 4 2
C (tấn) 13 2 4 1 1
Tiền lời
(triệu đ/tấn)
4 6 5 8
ThS. Phạm Trí Cao * Chương 1 03/01/2014
2
5
Gọi xj là lượng sản phẩm loại Kj cần sản xuất
(tấn), j= 1,4
Vậy ta có mô hình bài toán là:
Tìm véc tơ x= (x1, x2, x3, x4) sao cho:
f(x)= 4x1 + 6x2 + 5x3 + 8x4 max
x1 + 2x2 + 3x3 + 4x4 <= 10
3x1 + x2 + 4x3 + 2x4 <= 15
2x1 + 4x2 + x3 + x4 <= 13
xj >= 0, j= 1,4
Giải bài toán trên ta được kết quả: x= (4, 1, 0, 1)
và fmax= 30 6
Ví dụ 1.2: Bài toán định khẩu phần thức ăn
Để nuôi 1 loại gia súc, một đội sản xuất dùng 3
loại thức ăn T1 (Tuctung), T2 (Cuncon), T3
(Meoyeu). Trong 3 loại thức ăn này có chứa 3
loại chất dinh dưỡng A (DHA), B ( A+), C
(Canxi @).
7
Số đơn vị chất dinh dưỡng (g) có
trong 1 đơn vị thức ăn (kg):
Chất dd
Số đv chất dd có
trong 1 đv thức ăn
T1 T2 T3
A 7 2 6
B 5 1 7
C 6 3 4
8
Để gia súc phát triển tốt và thông minh thì nhu
cầu tối thiểu về các chất dinh dưỡng A, B, C
trong khẩu phần ăn hàng ngày của gia súc lần
lượt là: 17, 14, 14 g. Giá thức ăn T1, T2, T3 lần
lượt là 5, 4, 7 (chục ngàn đ/kg).
Hãy xác định lượng thức ăn mỗi loại cần có
trong khẩu phần ăn hàng ngày để đảm bảo yêu
cầu về chất dinh dưỡng, đồng thời tổng số tiền
mua thức ăn hàng ngày là nhỏ nhất?
ThS. Phạm Trí Cao * Chương 1 03/01/2014
3
9
Gọi xj là lượng thức ăn loại Tj cần cho ăn hàng
ngày (kg), j= 1,3
Vậy mô hình bài toán là:
Tìm véc tơ x= (x1, x2, x3) sao cho:
f(x)= 5x1 + 4x2 + 7x3 min
7x1 + 2x2 + 6x3 >= 17
5x1 + x2 + 7x3 >= 14
6x1 + 3x2 + 4x3 >= 14
xj >=0, j= 1,3
Giải bt trên ta được: x= (21/11, 0, 7/11)
và fmin= 14 10
11
– f(x) gọi là hàm mục tiêu.
Các cj gọi là các hệ số hàm mục tiêu.
– Số (2) gọi là ràng buộc chung.
Số (3) gọi là ràng buộc biến.
Hệ (*) gọi là hệ ràng buộc (miền ràng buộc).
– Các bi gọi là các hệ số tự do.
– Các aij gọi là các hệ số của ràng buộc chung.
– Một véc tơ x gọi là 1 phương án (PA) của bài
toán nếu x thỏa hệ ràng buộc (*).
– Tập hợp tất cả các PA của bài toán gọi là tập
phương án. Ký hiệu D, X, Y,
12
– Khái niệm phương án tối ưu (patư):
Bài toán minf: Một PA làm cho hàm mục tiêu đạt cực
tiểu gọi là phương án tối ưu (patư). Ký hiệu là x*.
Nghĩa là: xD: f(x) >= f(x*)
Bài toán maxf: Một PA làm cho hàm mục tiêu đạt cực
đại gọi là phương án tối ưu (patư). Ký hiệu là x*.
Nghĩa là: xD: f(x) <= f(x*)
– Bài toán QHTT có patư gọi là bài toán giải được.
– Giải bài toán QHTT là tìm các patư của nó (nếu có)
hoặc chứng tỏ nó không có patư.
– Hai bài toán QHTT gọi là tương đương nhau nếu
chúng có chung tập patư.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
4
13
Chuyển bài toán max về bài toán min:
f(x) max g(x)= f(x) min
xD xD
Ta có 2 bài toán là tương đương nhau.
14
Phương án cực biên (phương án cơ bản) của bài toán
QHTT tổng quát
Khái niệm ràng buộc chặt, lỏng.
Một ràng buộc gọi là chặt đối với pa x nếu khi ta thay
x vào ràng buộc này thì xảy ra dấu bằng, thí dụ
ib
n
j j
xija 1
Một ràng buộc gọi là lỏng đối với pa x nếu khi ta thay
x vào ràng buộc này thì xảy ra dấu bất đẳng thức thực
sự, thí dụ ib
n
j j
xija 1
hoặc ib
n
j j
xija 1
Khái niệm chặt, lỏng xét cho cả ràng buộc chung
và ràng buộc biến.
15
Khái niệm phương án cực biên (pacb).
Một pa có số ràng buộc chặt độc lập tuyến tính
bằng n (số biến) gọi là pacb.
Một pacb có số ràng buộc chặt bằng số ràng buộc
chặt độc lập tuyến tính gọi là pacb không suy biến.
Một pacb có số ràng buộc chặt nhiều hơn số ràng
buộc chặt độc lập tuyến tính gọi là pacb suy biến.
Một pa có số ràng buộc chặt độc lập tuyến tính ít
hơn n gọi là pa không cực biên.
Lưu ý:
Số ràng buộc chặt đltt <= n (số biến)
Số ràng buộc chặt đltt <= số ràng buộc chặt 16
Ví dụ 1:
f= 3x1 + 4x2 6x3 + 7x4 min
2x1 + x2 + x3 x4 <= 3
x1 + x2 x3 + 2x4 >= 1
x1>=0, x2>=0, x3>=0, x4<=0
Chứng minh các kết quả sau:
1) x= (0, 1, 2, 0) là pacbksb?
2) x= (0, 2, 1, 0) là pakcb?
Bài giải chi tiết xem trong sách.
VD2: pacbsb : xem trong sách.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
5
17
2) Bài toán QHTT dạng chính tắc
* Dạng đại số:
f(x)=
n
j j
xjc1
min (max) (1)
ib
n
j j
xija 1
, i= 1,m (2)
xj >=0 , j= 1,n (3)
18
* Dạng ma trận:
Đặt:
mnamama
naaa
naaa
A
...21
............
2...2221
1...1211
,
mb
b
b
b
...
2
1
,
nx
x
x
x
...
2
1
ncccc ...21
19
Ta viết bài toán (1)-(3) dưới dạng ma trận:
f(x)= min (max)
A.x= b
x >= 0
Với quy ước:
x= (x1, x2, ..., xn) >= 0 xj >= 0, j= 1,n
20
Cách chuyển bài toán tổng quát về dạng
chính tắc:
Bất kỳ bài toán QHTT tổng quát nào cũng
có thể đưa về dạng chính tắc bằng các
phép biến đổi tuyến tính sau:
* Ràng buộc biến:
Nếu xj =0
Nếu xj bất kỳ thì ta đặt xj = xj+ xj
với xj+ , xj >=0
ThS. Phạm Trí Cao * Chương 1 03/01/2014
6
21
* Ràng buộc chung:
Nếu ib
n
j j
xija 1
thì thêm biến phụ yi >=0:
ibiy
n
j j
xija 1
Nếu ib
n
j j
xija 1
thì thêm biến phụ yi >=0:
ibiy
n
j j
xija 1
22
Ví dụ 1.4: Bài toán tổng quát (P)
f(x)= 3x1 + 4x2 + 7x3 max
x1 + 3x2 - 2x3 <= 7
2x1 + x2 + 3x3 = 6
- x1 + 5x2 + 4x3 >= 3
xj >=0, j= 1,3
Viết bài toán dạng chính tắc (P*)?
x*(P*)= (0, 3, 1, 0, 16) thì x*(P)= ?
Nếu (P*) không có patư thì (P) cũng
không có patư.
Bài giải chi tiết xem trong sách.
23
Ví dụ 1.5: Bài toán (P)
f(x)= x1 +2x2 + x3 max
2x1 + x2 + 3x3 = 9
4x1 + 3x2 + x3 = 1
x1 >=0, x2 <=0, x3 tùy ý
Viết bài toán dạng chính tắc (P*)?
x*(P*) = (0, 3/4, 13/4, 0) thì x*(P) = ?
Bài giải chi tiết xem trong sách.
24
VD 1.6: Bài toán (P)
f= x1 + 0x2 + 2x3 min
3x1 + x2 + 4x3 <= 17
x1 + 5x2 + 3x3 = 10
7x1 + x2 + x3 >= 4
x1 >=0 , x2 <=0 , x3 tùy ý
Viết bài toán chính tắc (P*) ?
x*(P*)= (1/10, 0, 33/10, 0, 35/10, 0) thì
x*(P)= ?
Bài giải chi tiết xem trong sách.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
7
25
Phương án cực biên của bài toán dạng
chính tắc
Bài toán chính tắc dạng ma trận:
f(x) = min (max) (1)
A.x = b (2)
x >= 0 (3)
Ta có: A.x = b x1A1 + x2A2 +...+ xnAn = b
Ký hiệu: Aj , j= 1,n là các véc tơ cột của ma
trận hệ số A.
26
Cách xác định pacb:
x = (x1, x2, ... , xj , ... , xn) là pa của bt (1)-(3).
Đặt: J(x)= {j / xj > 0}
Ký hiệu: m(J) là số phần tử của tập J(x).
x là pa cực biên hệ véc tơ cột tương ứng với
các thành phần dương của x độc lập tuyến tính
Nghĩa là: x= (x1,x2, ..., xn) là pacb
{Aj / j J(x)} đlập tt
x là pacb. Ta luôn có: m(J) <= r(A)
* Nếu m(J) = r(A) thì x là pacb không suy biến
* Nếu m(J) < r(A) thì x là pacb suy biến
27
Ví dụ 1:
f = x1 - 2x2 + x3 min
x1 + x2 + 2x3 = 14
x1 + x2 + x3 = 9
xj >=0, j= 1,3
Cmr x= (4, 0, 5) là pacbksb?
Bài giải chi tiết xem trong sách.
28
Ví dụ 2:
f = x1 + x3 max
x1 - x2 + 3x3 = 2
-x1 + x2 - x3 = 2
xj >=0, j= 1,3
Cmr x= (2, 4, 0) không là pacb?
Bài giải chi tiết xem trong sách.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
8
29
Ví dụ 3:
f = x1 + 4x2 + x3 max
x1 + x2 - x3 = 7
-x1 + 2x2 +x3 = 14
xj >=0, j= 1,3
Cmr x= (0,7,0) là pacbsb?
Bài giải chi tiết xem trong sách.
30
Ta có các kết quả cho bài toán dạng chính tắc:
Bài toán có thể có pa hoặc không.
Nếu bài toán có pa thì nó có pacb.
Bài toán có mọi pacb đều không suy biến gọi là bài
toán không suy biến. Nếu có ít nhất 1 pacb suy biến
thì gọi là bài toán suy biến.
Bài toán minf : Nếu bài toán có pa và hàm mục tiêu
bị chận dưới thì bài toán có patư. Nếu f không bị chặn
dưới thì f - .
Bài toán maxf : Nếu bài toán có pa và hàm mục tiêu
bị chận trên thì bài toán có patư. Nếu f không bị chặn
trên thì f + .
Nếu bài toán có patư thì bài toán có pacbtư. Một pa
gọi là pacbtư nếu nó vừa là pacb và vừa là patư.
31
Nếu bài toán có 2 patư x1, x2 với x1 x2 thì
.x1 +(1-).x2 , [0,1] cũng là patư
bài toán có vô số patư.
x là pacb. Nếu x không là patư thì luôn tìm
được pacb x' tốt hơn x.
Nghĩa là:
Bài toán minf: f(x') <= f(x)
Bài toán maxf: f(x’) >= f(x)
Số pacb của bài toán là hữu hạn.
32
3) Bài toán QHTT dạng chuẩn tắc
Bài toán QHTT dạng chuẩn tắc là bài toán QHTT
dạng chính tắc thỏa thêm các điều kiện sau:
- Các hệ số tự do bi bên vế phải của các ràng buộc
chung phải >=0.
-Mỗi ràng buộc chung phải có biến cơ sở tương ứng.
- Biến cơ sở: là biến có hệ số là 1 ở một ràng buộc
chung và có hệ số là 0 ở các ràng buộc chung còn lại.
- Các biến không phải là biến cơ sở (biến cơ bản) thì
gọi là biến tự do.
- Biến cơ sở tương ứng với véc tơ cơ sở, biến tự do
tương ứng với véc tơ tự do.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
9
33
Ví dụ 1.7:
f= x1 + 2x2 + x3 - x4 min
x1+ x2 - x3 = 7
2x2 + x3 + x4= 5
xj >= 0 , j= 1,4
Hướng dẫn: Đây là bài toán dạng chuẩn tắc.
Ta có x1, x4 là biến cơ sở, x2, x3 là biến tự do.
Ta cho x2, x3 = 0 (các biến tự do) thì ta có: x1 = 7,
x4 = 5 (biến cơ sở).
Vậy ta có pa x= (7, 0, 0, 5) là pacb không suy biến.
34
Ví dụ 1.9:
f(x)= x1 + x2 – x3 max
x1 + x3 + x4= 4
x2 + 2x3 = 7
xj >=0, j= 1,4
Xét xem BT có chuẩn tắc không?
Bài giải chi tiết xem trong sách.
35
Ví dụ 1.9bis:
f(x)= x1 + x2 – x3 +6x6 max
x1 + x3 + x4 = 4
x2+ 2x3 + x5 = 7
-5x3 + 3x5 + x6 = 0
xj >=0, j= 1,6
Xét xem BT có chuẩn tắc không?
36
III) PHƯƠNG PHÁP HÌNH HỌC GIẢI BÀI TOÁN QHTT
Với bài toán QHTT 2 biến tổng quát, ta có thể dùng pp hình
học để giải.
Các kết quả sử dụng để giải bài toán theo pp hình học:
Đường thẳng (D): ax+by=c chia mặt phẳng Oxy thành 2
miền: miền có ax+by>c và miền có ax+by<c.
Muốn biết miền nào thỏa ax+by>c thì ta lấy 1 điểm bất kỳ
thay vào, thí dụ điểm (0,0) thay vào : a.0+b.0 = 0, nếu 0 > c
thì miền chứa điểm (0,0) thỏa ax+by>c.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
10
37
Đường thẳng (D): ax+by=c gọi là đường đẳng mức,
có pháp véc tơ là n =(a,b).
* Nếu di chuyển (D) theo cùng chiều n thì giá trị
mức c tăng lên.
* Nếu di chuyển (D) theo ngược chiều n thì giá trị
mức c giảm xuống.
38
Ví dụ 1:
f(x)= 7x - 2y
5x - 4y >= -3 (qua A, C)
2x - 7y <= -12 (qua A, B)
-x - y >= -12 (qua B, C)
3x - 5y >= -20 (qua C, (0,4))
1) Vẽ tập pa D?
3) Tìm minf, maxf?
Hướng dẫn:
1) Tập pa là 1 tam giác có các đỉnh là A(1,2),
B(8,4), C(5,7).
VD1
39
VD2
40
ThS. Phạm Trí Cao * Chương 1 03/01/2014
11
VD3
41
VD4
42
VD6
43 44
IV) PHƯƠNG PHÁP ĐƠN HÌNH GIẢI BÀI
TOÁN QHTT
Bước 1: Lập bảng đơn hình xuất phát
Từ bài toán dạng chuẩn ta xác định các biến cơ sở
và véc tơ cơ sở tương ứng. Các biến không phải
biến cơ sở là biến tự do, và xác định các véc tơ tự
do tương ứng.
Xác định pacb ban đầu xuất phát:
x= (x1, x2 , ... , xn).
Ta có: J(x)= {j / xj >0} tập các chỉ số của véc tơ cơ
sở.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
12
45
Lập bảng đơn hình xuất phát sau:
Cơ sở Hệ số PA
c1 c2 ..... cn
A1 A2 ..... An
JJ(x)
Aj
cj
xj
zj1
zj2
zjn
f 1 2 n
f= f(x)= cột Hệ số * cột PA = )(xJj j
xjc :
giá trị hàm mục tiêu ứng với x.
k= cột Hệ số * cột Ak –ck = )(xJj kcjkzjc
:
hệ số ước lượng của biến xk , k= 1,n 46
Ví dụ 1.10:
f(x)= 6x1 + 2x2 + x3 + 3x4 + x5 - 7x6 min
- x1 + x2 + 2x4 + x6 = 15
4x1 + 2x4 + x5 -3x6 = 2
2x1 + x3 + x4 + 2x6 = 9
xj >=0 , j= 1,6
Ta có các biến cơ sở là x2, x3, x5 và véc tơ cơ sở là
A2, A3, A5.
các biến tự do là x1, x4, x6 và véc tơ tự do là A1,
A4, A6.
x= (0, 15, 9, 0, 2, 0) là pacb ban đầu.
47
Bảng đơn hình xuất phát
Cơ sở
Hệ số
PA
6 2 1 3 1 -7
A1 A2 A3 A4 A5 A6
A2 2 15 -1 1 0 2 0 1
A5 1 2 4 0 0 2 1 -3
A3 1 9 2 0 1 1 0 (2)
B1 (dòng f) 41 -2 0 0 4 0 (8)
48
Bước 2: Xét dấu hiệu tối ưu
Xem dòng ghi các hệ số ước lượng 1, 2 , ... , n .
- Nếu có k <=0, k : pa đang xét là patư. Thuật toán
kết thúc.
- Nếu không: qua bước 3.
Bước 3: Xét dấu hiệu không tối ưu
Xét xem có cột Ak thỏa: k>0 và mọi phần tử thuộc
cột này (ở bước lặp đang xét) đều <=0 không?
- Nếu có: BT không có patư (hàm mục tiêu f không
bị chận dưới). Thuật toán kết thúc.
- Nếu không: qua bước 4.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
13
49
Bước 4: Cải tiến pa (Tìm một pacb mới tốt
hơn)
Ta tìm pacb mới x’= (x1’ , , xn’) tốt hơn pacb x:
f(x’) <= f(x)
Pacb x ứng với bảng đơn hình cũ, pacb x’ ứng với
bảng đơn hình mới.
Lập bảng đơn hình mới từ bảng đơn hình cũ như
sau:
4.1) Chọn cột chủ yếu:
Chọn cột chủ yếu là cột có dương lớn nhất.
Tức là: chọn s sao cho s = max{k / k >0}, cột
chủ yếu ký hiệu là As. 50
4.2) Chọn dòng chủ yếu:
= min{ (cột PA/ cột CY) / với các thành phần
dương của cột CY}
= xr / zrs = min{ (xj / zjs ) / jJ(x) và zjs >0} ,
dòng chủ yếu là Ar.
gọi là tỷ số đơn hình.
4.3) Xác định phần tử chủ yếu:
Phần tử CY là phần tử nằm ở vị trí: dòng chủ yếu,
cột chủ yếu, ký hiệu là zrs .
Lưu ý: Giá trị hàm mục tiêu khi chuyển từ bảng
cũ sang bảng mới sẽ giảm 1 lượng là .s :
f(x’) = f(x) – .s
51
4.4) Lập ra bảng mới dựa vào bảng cũ:
4.4.1) Trên cột cơ sở: Thay Ar bởi As , giữ nguyên
các phần tử còn lại.
Trên cột Hệ số: Thay cr bởi cs , giữ nguyên
các phần tử còn lại.
4.4.2) Các phần tử còn lại của bảng:
Có nhiều cách để xác định các phần tử còn lại của
bảng mới, mỗi tác giả đưa ra một cách làm riêng.
Tôi đưa ra 1 cách làm dựa vào các phép biến đổi
sơ cấp Gauss trong Đại số tuyến tính, tạm gọi là
Gauss Lovely.
52
Ta nhận thấy, từ bảng cũ chuyển sang bảng
mới trong cột Cơ sở: ta loại ra 1 véc tơ (Ar)
và thay bằng 1 véc tơ mới (As), các véc tơ
còn lại giữ nguyên.
Do đó, ta biến đổi sao cho ở bảng mới cột As
có dạng (0, , 1, , 0)T, với số 1 ở vị trí
dòng As (mới).
Sau khi có được bảng mới, ta quay lại bước
2.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
14
53
Cơ sở
Hệ số
PA
6 2 1 3 1 -7
A1 A2 A3 A4 A5 A6
A2 2 15 -1 1 0 2 0 1
A5 1 2 4 0 0 2 1 -3
A3 1 9 2 0 1 1 0 (2)
B1 (dòng f) 41 -2 0 0 4 0 (8)
Cơ sở
Hệ số
PA
6 2 1 3 1 -7
A1 A2 A3 A4 A5 A6
A2 2 21/2 -2 1 -1/2 3/2 0 0
A5 1 31/2 7 0 3/2 7/2 1 0
A6 -7 9/2 1 0 ½ ½ 0 1
B2 (dòng f) 5 -10 0 -4 0 0 0 54
Kết luận?
55
Lưu ý:
Ta phải canh theo dòng chủ yếu để
biến đổi.
Ở bảng 1 không được lấy dòng A5 + 3
lần dòng A2 rồi kết quả cất vào dòng A5
ở bảng 2. Bởi vì nếu làm như vậy thì cột
A2 ở bảng mới không có dạng (1, 0, 0)T.
56
Cơ sở Hệ số PA
6 2 1 3 1 -7
A1 A2 A3 A4 A5 A6
A2 2 21/2 -2 1 -1/2 3/2 0 0
A5 1 47 1 3 0 8 1 0
A6 -7 9/2 1 0 ½ ½ 0 1
B2 (dòng f) 5 -10 0 -4 0 0 0
ThS. Phạm Trí Cao * Chương 1 03/01/2014
15
57
Ví dụ 1.12:
f(x) = x1 - 2x2 + 2x3 - x4 + x5 - 2x6 min
2x1 - x2 - 5x3 + x4 = 5
x1 - 2x2 + 2x3 + x5 = 4
-4x1 + x2 + x3 + x6 = 2
xj >=0 , j= 1,6
Cơ sở
Hệ số
PA
1 -2 2 -1 1 -2
A1 A2 A3 A4 A5 A6
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
B1 -5 (6) -1 3 0 0 0
58
Cơ sở Hệ số PA
1 -2 2 -1 1 -2
A1 A2 A3 A4 A5 A6
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
B1 -5 (6) -1 3 0 0 0
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
B2 -20 0 2 18 -3 0 0
59
Kết luận?
VD1.13: Xem chi tiết trong sách.
Cách 2: Tìm lượng giảm lớn nhất của
hàm mục tiêu
Qua mỗi bước lặp, giá trị hàm mục tiêu
giảm 1 lượng là .s , f(x’) = f(x)–.s .
Vậy ta có thể đưa ra cách 2: tìm lượng
giảm lớn nhất của f(x) qua mỗi bước lặp.
60
Lưu ý:
Nếu có nhiều cột có cùng dương lớn
nhất thì ta làm thế nào?
Nếu có nhiều dòng để chọn thì ta làm
thế nào?
Xem chi tiết ở trong sách.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
16
61
VII) BÀI TOÁN (M) – VẤN ĐỀ TÌM PA CỰC
BIÊN BAN ĐẦU
Thuật toán đơn hình chỉ áp dụng cho bài toán dạng
chuẩn. Bài toán dạng chuẩn tắc cho ta pacb ban
đầu, có pacb này ta mới lập được bảng đơn hình
xuất phát.
Nếu bài toán dạng chính tắc, chưa chuẩn thì ta
phải biến đổi để đưa về dạng chuẩn.
- Nếu bài toán dạng chính tắc, có hệ số tự do bi
bên vế phải ràng buộc chung <0 thì ta biến đổi sao
cho bi >=0.
62
- Nếu bài toán dạng chính tắc (các hệ số vế phải
ràng buộc chung bi >= 0) chưa có đủ các biến cơ
sở tương ứng ở mỗi ràng buộc chung thì ta thêm
một số biến giả vào để đóng vai trò là biến cơ sở.
Bài toán có biến giả gọi là bt (M).
Để biết thêm bao nhiêu biến giả vào và thêm vào
ràng buộc chung nào ta làm như sau: Xét các ràng
buộc chung từ trên xuống dưới, nếu ràng buộc
chung nào có biến cơ sở rồi thì thôi, còn chưa có
biến cơ sở thì ta thêm 1 biến giả vào.
63
Ví dụ 1.19:
Bài toán (P):
f(x) = x1 - 2x2 + 3x3 + x4 min
4x1 + 2x3 + 2x4 = 1
x1 + x2+ 5x3 - 4x4 = 6
xj >=0 , j= 1,4
Hãy viết bài toán (M) tương ứng?
Bài giải chi tiết xem trong sách.
64
Định lý:
1) Nếu bài toán (M) không có patư thì bài
toán (P) không có patư.
2) Nếu bài toán (M) có patư thì có 2 trường
hợp:
* Nếu tất cả các biến giả trong patư của
(M) đều bằng 0 thì (P) có patư, chính là patư
của (M) mà loại ra các biến giả.
* Nếu trong patư của (M) có biến giả
khác 0 thì (P) không có patư (vì ta không
thể bỏ biến giả này được).
ThS. Phạm Trí Cao * Chương 1 03/01/2014
17
65
VD 1.19
Bài toán (M) là:
f(x) = x1 - 2x2 + 3x3 + x4 + Mx5 min
4x1 + 2x3 + 2x4 + x5 = 1
x1 + x2 + 5x3 - 4x4 = 6
xj >=0 , j= 1,5
Cơ sở Hệ số PA 1 -2 3 1 M
A1 A2 A3 A4 A5
A5 M 1 (4) 0 2 2 1
A2 -2 6 1 1 5 -4 0
B1 (dòng f) M-12 (4M-3) 0 2M-13 2M+7 0
66
Cơ sở Hệ số PA 1 -2 3 1 M
A1 A2 A3 A4 A5
A5 M 1 (4) 0 2 2 1
A2 -2 6 1 1 5 -4 0
B1 (dòng f) M-12 (4M-3) 0 2M-13 2M+7 0
A1 1 1/4 1 0 1/2 (½) ¼
A2 -2 23/4 0 1 9/2 -9/2 - ¼
B2 (dòng f) -45/4 0 0 -23/2 (17/2) -M+3/4
A4 1 1/2 2 0 1 1 ½
A2 -2 8 9 1 9 0 2
B3 (dòng f) -31/2 -17 0 -20 0 -M-7/2
67
Kết luận?
68
Ví dụ 1.20:
Bài toán (P)
f= x1 + x2 – x3 + 2x4 + 3x5 min
x1 – x3 + 2x4 + x5 =1
x2 – x4 + x5 = 3
x3 – 2x5 = 2
xj >=0, j= 1,5
ThS. Phạm Trí Cao * Chương 1 03/01/2014
18
69
Bài toán (M)
f= x1 + x2 – x3 + 2x4 + 3x5 + Mx6 min
x1 – x3 + 2x4 + x5 = 1
x2 – x4 + x5 = 3
x3 – 2x5 + x6 = 2
xj >=0, j= 1,6
Trong đó: x6 là biến giả và M>0 (rất lớn)
Cơ sở Hệ số PA 1 1 –1 2 3
A1 A2 A3 A4 A5
A1
A2
A6
1
1
M
1
3
2
1
0
0
0
1
0
–1
0
(1)
2
–1
0
1
1
–2
B1 2M+4 0 0 (M) –1 –2M–1
70
Cơ sở Hệ số PA 1 1 –1 2 3
A1 A2 A3 A4 A5
A1
A2
A6
1
1
M
1
3
2
1
0
0
0
1
0
–1
0
(1)
2
–1
0
1
1
–2
B1 2M+4 0 0 (M) –1 –2M–1
A1
A2
A3
1
1
–1
3
3
2
1
0
0
0
1
0
0
0
1
2
–1
0
–1
1
–2
B2 4 0 0 0 –1 –1
71
Kết luận?
Xem chi tiết trong sách.
72
Ví dụ 1.21:
Bài toán (P)
f= x1 - 2x2 + 3x3 + x4 min
4x1 + x2 + 2x3 + 2x4 = 2
x1 + 5x3 - 4x4 = 12
xj >=0 , j= 1,4
Viết và giải bài toán (M) tương ứng?
Bài giải chi tiết xem trong sách.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
19
73
Ví dụ 1.21:
Cơ
sở
Hệ
số
PA 1 -2 3 1
A1 A2 A3 A4
A3 3 1 2 ½ 1 1
A5 M 7 -9 -5/2 0 -9
B2 7M+3 -9M
+5
(-5/2)M
+(7/2)
0 -9M
+2
Kết luận?
74
VIII) BÀI TOÁN QHTT DẠNG CHUẨN,
f max
Cách 1 (gián tiếp):
f max g = – f min
xD xD
Ta đã biết:
x* là patư của maxf x* là patư của ming
fmax = f(x*) = – gmin = – g(x*)
75
Cách 2 (trực tiếp):
Thuật toán giống thuật toán dạng chuẩn,
f min. Chỉ thay đổi:
B2) Tiêu chuẩn tối ưu:
k >=0, k : pa đang xét là patư.
Thuật toán kết thúc.
B3) Tiêu chuẩn không tối ưu:
Nếu có cột Ak có k <0 và mọi phần tử thuộc
cột này đều <=0 thì bài toán không có patư (do f
không bị chận trên).
Thuật toán kết thúc.
76
Cách 2 (trực tiếp):
B4) Chọn cột chủ yếu: s = min{k / k
<0}
Cột chủ yếu là cột có âm nhỏ nhất.
Các phần giữ nguyên như cũ: giống min.
B1) Bảng đơn hình xuất phát.
B4) Dòng chủ yếu, phần tử chủ yếu.
Quá trình chuyển từ bảng cũ sang bảng
mới.
ThS. Phạm Trí Cao * Chương 1 03/01/2014
20
77
Ví dụ 1.22:
f(x)= -6x1 - 2x2 - x3 - 3x4 - x5 + 7x6 max
- x1 + x2 + 2x4 + x6 = 15
4x1 + 2x4 + x5 -3x6 = 2
2x1 + x3 + x4 + 2x6 = 9
xj >=0, j= 1,6
Cách 1: xem chi tiết trong sách.
78
Cách 2 (giải trực tiếp):
f(x)= -6x1 -2x2 -x3 -3x4 -x5 +7x6 max
- x1 + x2 + 2x4 + x6 = 15
4x1 + 2x4 + x5 -3x6 = 2
2x1 + x3 + x4 + 2x6 = 9
xj >=0, j= 1,6
Cơ sở Hệ số PA
-6 -2 -1 -3 -1 7
A1 A2 A3 A4 A5 A6
A2 -2 15 -1 1 0 2 0 1
A5 -1 2 4 0 0 2 1 -3
A3 -1 9 2 0 1 1 0 (2)
B1 (dòng f) -41 2 0 0 -4 0 (-8)
79
Cơ sở Hệ số
PA
-6 -2 -1 -3 -1 7
A1 A2 A3 A4 A5 A6
A2 -2 15 -1 1 0 2 0 1
A5 -1 2 4 0 0 2 1 -3
A3 -1 9 2 0 1 1 0 (2)
B1 (dòng f) -41 2 0 0 -4 0 (-8)
A2 -2 21/2 -2 1 -1/2 3/2 0 0
A5 -1 31/2 7 0 3/2 7/2 1 0
A6 7 9/2 1 0 ½ ½ 0 1
B2 (dòng f) -5 10 0 4 0 0 0
80
Kết luận?
ThS. Phạm Trí Cao * Chương 1 03/01/2014
21
81
Ví dụ 1.23:
Bài toán (P):
f(x)= –x1 + x2 + x3 + 2x5 max
2x1 – x2 – x4 = 6
3x1 – x4 + x5 + x6 = 10
x3 – 2x4 + 2x5 = 4
xj >=0, j= 1,6
Bài giải chi tiết xem trong sách.
Hệ số của biến giả trong hàm mục tiêu là –M.
82
Cơ sở Hệ số PA –1 1 1 0 2 0
A1 A2 A3 A4 A5 A6
A1
A4
A3
–1
0
1
4
2
8
1
0
0
1
3
6
0
0
1
0
1
0
1
2
6
1
2
4
B3 4 0 4 0 0 3 3
Kết luận?
83
IX) GIẢI BÀI TOÁN QHTT TỔNG QUÁT
Quá trình giải bài toán tổng quát là quá trình
kết hợp các bước phân tích ta đã làm từ đầu
chương cho đến đây.
Phương pháp giải:
* Đưa bài toán tổng quát về dạng chính tắc.
* Nếu các hệ số tự do bi ở vế phải của các
ràng buộc chung <0 thì ta phải biến đổi sao
cho chúng >=0.
* Nếu bài toán chưa là dạng chuẩn (vì thiếu
biến cơ sở) thì thêm biến giả vào, ta được bài
toán (M).
84
ThS. Phạm Trí Cao * Chương 1 03/01/2014
22
85
Ví dụ 1.25:
Bài toán (P)
f= x1 + 3x2 + x3 min
x1 + x2 + x3 >= 5
- x2 - 2x3 = -8
x1 + 2x2 + x3 <= 10
xj >=0, j= 1,3
86
Bài toán (P*)
f= x1 + 3x2 + x3 min
x1 + x2 + x3 - x4 = 5
x2 + 2x3 = 8
x1 + 2x2 + x3 + x5 = 10
xj >=0, j= 1,5 (x4 , x5 là biến phụ)
87
Bài toán (M)
f= x1 + 3x2 + x3 +M.x6 +M.x7 min
x1 + x2 + x3 - x4 + x6 = 5
x2 + 2x3 + x7 = 8
x1 + 2x2 + x3 + x5 = 10
xj >=0, j= 1,7 (x6 , x7 là biến giả)
với M>0 (rất lớn)
x*(M)= (1, 0, 4, 0, 5, 0, 0)
Kết luận? 88
Ví dụ 1.26: f(x)= x1 + x2 + 3x3 + 2x4 max
x1 + 2x2 + x3 + 2x4 <= 10
2x1 + x2 + 3x3 + 4x4 = 9
x1 + 2x2 + 2x3 + x4 >= 8
xj >=0, j= 1,4
Giải:
f(x)= x1 + x2 + 3x3 + 2x4 – M.x7– M.x8 max
x1 + 2x2 + x3 + 2x4 + x5 = 10
2x1 + x2 + 3x3 + 4x4 + x7 = 9
x1 + 2x2 + 2x3 + x4 –x6 + x8= 8
xj >=0, j= 1,8
x*(M)= (0, 3/2, 5/2, 0, 9/2, 0, 0, 0) . Kết luận?
ThS. Phạm Trí Cao * Chương 1 03/01/2014
23
89
X) VẤN ĐỀ VỀ PATƯ DUY NHẤT CỦA BÀI
TOÁN QHTT
1) Các khái niệm
* Véc tơ chỉ phương của cạnh vô hạn tối ưu (vtcp):
Ví dụ 1.27:
f(x)= x1 + 3x3 + 4x4 - 2x5 + 2x6 min
- x2 + x3 - 2x4 + x6 = 5
x1 + x2 - 4x4 + 2x6 = 1
3x2 - 7x4 + x5+ 4x6 = 4
xj >=0, j= 1, 6
90
Cơ sở Hệ số PA 1 0 3 4 -2 2
A1 A2 A3 A4 A5 A6
A3 3 5 0 -1 1 -2 0 1
A1 1 1 1 1 0 -4 0 2
A5 -2 4 0 3 0 -7 1 4
8 0 -8 0 0 0 -5
t= (4, 0, 2, 1, 7, 0)
t1 t3 t4 t5
91
2) Định lý (patư tổng quát)
Bài toán có các pacbtư x1, x2 , ... , xk và các vtcp là t1 ,
t2 , tm thì patư tổng quát của bài toán là:
x =
m
j
jtj
k
i
ixi 11
; i >= 0,
k
i i1
1 ; j >=0
VD1: Bài toán có 2 pacbtư là x1, x2 thì patư tổng quát là:
x= 1x1+2x2 với 1+2=1 , 0<= i <=1
Hay có thể viết: x= .x1 + (1–).x2 với 0<= <=1
VD2: Bt có 3 pacbtư là x1, x2, x3 thì patư tổng quát là:
x= 1x1 + 2x2 + 3x3 với 1+2+3 = 1 , 0<= i <=1 92
2) Định lý (patư tổng quát)
VD3: Bài toán có 1 pacbtư là x* và 1 vtcp là
t thì patư tổng quát là: x= x*+.t với >=0
VD4: Bài toán có 1 pacbtư là x* và 2 vtcp là
t1 và t2 thì patư tổng quát là:
x= x* + 1t1 + 2t2 với 1, 2 >=0
VD5: Bài toán có 2 pacbtư là x1, x2 và 2 vtcp
là t1 và t2 thì patư tổng quát là:
x= x1 + (1–)x2 + 1t1 + 2t2
với 0=0
ThS. Phạm Trí Cao * Chương 1 03/01/2014
24
93
3) Cách xác định bài toán có patư duy nhất không
Để xác định bài toán có patư duy nhất hay không, ta
làm như sau:
Xét bảng đơn hình tối ưu (là bảng mà từ đó ta lấy
ra patư) của bài toán QHTT.
B1) Nếu k ≠ 0 với mọi biến tự do xk : bài toán có
patư duy nhất.
B2) Nếu có j = 0 với xj là biến tự do: bài toán có
thể có patư duy nhất hoặc không.
Ta xét tiếp như sau:
Lấy cột có hệ số ước lượng bằng 0 (ứng với biến tự
do) làm cột chủ yếu (As). 94
Tìm tỷ số đơn hình :
= xr / zrs = min{(cột pa / cột chủ yếu) / các
phần tử thuộc cột chủ yếu dương}
B21) Nếu > 0: bài toán có patư không duy nhất.
Lấy dòng Ar làm dòng chủ yếu, tiếp tục biến
đổi ta sẽ có pacbtư khác.
B22) Nếu = 0: bài toán có patư duy nhất.
(patư không thay đổi nhưng cơ sở có thể thay
đổi)
B23) Nếu không tồn tại (do tất cả các phần tử
trên cột As đều <=0) thì ta có véc tơ chỉ phương:
bài toán có patư không duy nhất.
95
Ví dụ 1.32:
f= 2x1 + x2 + x3 min
x1 - x2 - x3 <= 2
2x1 - x2 + x3 >= 2
2x1 + x2 + 2x3 <= 8
xj >=0, j= 1,3
Giải:
f= 2x1 + x2 + x3 +Mx7 min
x1 - x2 - x3 + x4 = 2
2x1 - x2 + x3 – x5 + x7 = 2
2x1 + x2 + 2x3 + x6 = 8
xj >=0, j= 1,7 96
Cơ sở Hệ số PA 2 1 1 0 0 0
A1 A2 A3 A4 A5 A6
A4 0 2 1 -1 -1 1 0 0
A7 M 2 (2) -1 1 0 -1 0
A6 0 8 2 1 2 0 0 1
B1 2M (2M-2) -M-1 M-1 0 -M 0
A4 0 1 0 -1/2 -3/2 1 ½ 0
A1 2 1 1 -1/2 (1/2) 0 -1/2 0
A6 0 6 0 2 1 0 1 1
B2 2 0 -2 (0) 0 -1 0
A4 0 4 3 -2 0 1 -1 0
A3 1 2 (2) -1 1 0 -1 0
A6 0 4 -2 3 0 0 2 1
B3 2 (0) -2 0 0 -1 0
ThS. Phạm Trí Cao * Chương 1 03/01/2014
25
97
Pacbtư: x1 = (1, 0 , 0) , fmin = 2
Ta có pacbtư mới: x2 = (0, 0, 2).
Vậy bài toán chỉ có 2 pacbtư là x1 và x2 .
Patư tổng quát:
x= .x1 + (1-).x2 với [0,1]
Trong trường hợp này: pacbtư không duy
nhất, patư không duy nhất.
98
Ví dụ 1.34:
f(x) = x1 + 3x3 - 3x4 - 2x5 + 2x6 min
- x2 + x3 + 2x4 + x6 = 0
x1 + x2 + x4 + 2x6 = 1
3x2 + 5x4 + x5 + 4x6 = 4
xj >=0, j= 1,6
Giải:
Cơ sở Hệ số PA 1 0 3 -3 -2 2
A1 A2 A3 A4 A5 A6
A3 3 0 0 -1 1 2 0 1
A1 1 1 1 1 0 1 0 2
A5 -2 4 0 3 0 5 1 4
-7 0 -8 0 0 0 -5
99
VD1.34
Bài toán có patư duy nhất không?
Ví dụ 1.29:
Xem lại VD 1.11, 1.13, 1.19, 1.20, 1.25 ta có k
< 0 với mọi biến tự do xk : bài toán có patư duy
nhất.
Xem lại VD 1.23 ta có k > 0 với mọi biến tự
do xk : bài toán có patư duy nhất.
Trong trường hợp này: pacbtư duy nhất, patư
duy nhất.
Mời ghé thăm trang web:
100
https://sites.google.com/a/ueh.edu.vn/phamtricao/
https://sites.google.com/site/phamtricao/
Các file đính kèm theo tài liệu này:
- chuong_1_bai_giang_toi_uu_hoa_6797.pdf