Bài giảng Quy hoạch toán

Bài giảng quy hoạch toán  
Chương 1.  
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH  
PHƯƠNG PHÁP HÌNH HỌC  
1.1. Các bài toán thực tế  
1.1.1. Bài toán lập kế hoạch sản xuất  
a) Ví dụ Để sản xuất kẹo và bánh cần 2 thứ nguyên liệu chính là đường và bột mì,  
với trữ lượng hiện có là 0,9kg đường và 1,1 kg bột mì. 1kg kẹo cần 0,5 kg đường và 0,3  
kg bột mì; 1kg bánh cần 0,2kg đường và 0,4 kg bột mì.  
Giá 1kg kẹo là 10000đ; 1kg bánh là 20000đ. Hãy lập kế hoạch sản xuất sao cho  
tổng giá trị sản phẩm lớn nhất.  
Gọi x1 là số kg kẹo được sản xuất; x2 là số kg bánh được sản xuất.  
Có mô hình toán học:  
f(x) = 10000x1 +20000x2 → max  
0.5x + 0.2x ≤ 0.9  
⎧
⎪
⎨
1
2
0.3x + 0.4x ≤ 1.1  
⎪
1
2
x1, x2 ≥ 0  
⎩
b)Tổng quát Để sản xuất n loại sản phẩm khác nhau cần m loại yếu tố sản xuất  
với trữ lượng hiện có là b1, b2, ..., bm. Hệ số hao phí yếu tố i ( i=1..m ) cho 1 đơn vị sản  
phẩm j (j=1..n) là aij. Giá 1 đơn vị sản phẩm j là cj (j=1..n). Hãy lập kế hoạch sản xuất  
trên cơ sở các yếu tố sản xuất hiện có sao cho tổng giá trị sản phẩm lớn nhất.  
Gọi xj là số sản phẩm j được sản xuất,  
f(x) là tổng doanh thu ứng với kế hoạch sản xuất x = (x1,x2, ..., xn).  
Có mô hình toán học:  
n
f(x) =  
cjxj → max  
∑
j=1  
n
⎧
a x ≤ b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=1  
⎪
⎩
xj ≥ 0 ( j = 1..n)  
Bài giảng quy hoạch toán  
1.1.2. Bài toán vận tải  
Có m kho hàng chứa cùng 1 loại hàng hóa với số lượng ở kho i là ai (i=1..m).  
Đồng thời có n cửa hàng với nhu cầu ở cửa hàng j là bj (j=1..n). Chi phí vận chuyển 1  
đơn vị hàng từ kho i đến cửa hàng j là cij. Hãy lập kế hoạch vận chuyển sao cho thỏa mãn  
nhu cầu các cửa hàng và chi phí vận chuyển thấp nhất.  
Gọi xij là số lượng hàng chuyển từ kho i đến cửa hàng j  
f(x) là tổng chi phí theo kế hoạch vận chuyển x.  
Mô hình toán học:  
m
n
f(x) =  
cijxij → min  
∑ ∑  
i=1  
j=1  
n
⎧
⎪
⎪
x ≤ a (i = 1..m)  
∑
ij  
i
j=1  
m
⎪
⎪
x = b ( j = 1..n)  
⎨
⎪
⎪
⎪
∑
ij  
j
i=1  
xij ≥ 0 (i = 1..m, j = 1..n)  
⎪
⎩
1.1.3. Bài toán xác định khẩu phần  
Có n loại thức ăn gia súc, giá 1 đơn vị thức ăn j là c (j=1..n). Gia súc cần m chất  
dinh dưỡng với nhu cầu tối thiểu chất i là bi (i=1..m). Biết hàm lượng chất i có trong 1  
đơn vị thức ăn j là aij. Hãy xác định khẩu phần thức ăn cho gia súc sao cho chi phí thấp  
nhất đồng thời đảm bảo các chất dinh dưỡng cho gia súc.  
Gọi xj là lượng thức ăn j có trong khẩu phần,  
f(x) là giá khẩu phần x = (x1,x2, ..., xn).  
Có mô hình toán học sau:  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
a x ≥ b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=1  
⎪
⎩
xj ≥ 0 ( j = 1..n)  
1.2. Bài toán qui hoạch tuyến tính  
Xét bài toán  
Bài giảng quy hoạch toán  
n
(1)  
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
a x = b (i = 1..p)  
⎪
∑
ij  
j
i
j=1  
⎪
n
⎪
⎪
(2)  
a x ≥ b (i = p +1..k)  
⎨
⎪
⎪
⎪
∑
ij  
j
i
j=1  
n
a x ≤ b (i = k +1..m)  
∑
ij  
j
i
⎪
⎩
j=1  
Bài toán (1,2) gọi là bài toán quy hoạch tuyến tính dạng tổng quát, ký hiện là (d,f).  
* f(x) gọi là hàm mục tiêu.  
* Hệ (2) gọi là hệ ràng buộc.  
* Ma trận A = (aij)mxn gọi là ma trận số liệu.  
* Vectơ C = (cj)n gọi là hệ số hàm mục tiêu.  
Mỗi bộ số x=(x1, x2, ..., xn) thỏa mãn hệ ràng buộc (2) gọi là phương án, ký hiệu x∈ d.  
Phương án làm cho hàm mục tiêu f(x) đạt cực trị cần tìm gọi là phương án tối ưu, hay là  
nghiệm của bài toán (d,f) .  
1.3. Phương pháp hình học  
Phương pháp hình học dùng để giải bài toán (d,f) 2 ẩn, hoặc nhiều hơn 2 ẩn  
nhưng có thể đưa về bài toán 2 ẩn tương đương.  
Xét bài toán  
f(x) = ax +by → min (max)  
(d) ai x + bi y ≤ ci (i = 1..m)  
{
Miền d d là giao các nửa mặt phẳng, hay là một đa giác. Bài toán có thể phát biểu bằng  
hình học như sau:  
Tìm trong họ đường thẳng song song ax+ by = f gọi là họ đường mức ,một đường mức  
ứng với f nhỏ nhất (lớn nhất) có ít nhất 1 điểm chung với miền d.  
Ví dụ 1.1  
f(x,y) = x + 2y → max  
5x + 2y ≤ 9  
3x + 4y ≤ 11  
x, y ≥ 0  
⎧
⎪
⎨
⎪
⎩
Bài giảng quy hoạch toán  
y
A(0,11/4)  
B(1,2)  
d
O
C(9/5,0)  
x
11  
Qua hình vẽ thấy đường thẳng qua A(0, ) ứng với f lớn nhất. Vậy nghiệm là x1=0,  
4
11  
11  
2
x2= và fmax  
4
=
.
Nhận xét  
- Nghiệm là đỉnh của đa giác.  
- Nếu hàm mục tiêu là f(x,y) = 3x + 4y thì nghiệm là cả đoạn thẳng AB.  
- Giá trị f của họ đường mức tăng theo chiều của pháp vectơ.  
Ví dụ 1.2  
f(x,y) = x + y → max  
x − y ≥ −1  
x − 2y ≤ 2  
x, y ≥ 0  
⎧
⎪
⎨
⎪
⎩
d
A(0,1)  
B(2,0)  
O
Theo hình vẽ, hàm mục tiêu không bị chặn trên trong miền d nên bài toán vô nghiệm.  
---oOo---  
Bài giảng Quy hoạch toán học  
Trang 5  
________________________________________________________________________  
1.4. Bài tập  
Giải các bài toán sau bằng phương pháp hình học  
1. f(x) = x + 2y → max  
2. f(x) = 5x - 3y → min  
⎧
⎪
⎨
⎧
⎪
⎨
3x+ y≤6  
x + 2 y ≤ 4  
x +3y≥ 6  
x ≥ 0, y ≥ 0  
3x+4y≤ 12  
x ≥ 0, y ≥ 0  
⎪
⎪
⎩
⎩
3. f(x) = 3x + y → max  
4. f(x) = 2x + 3y +10 → max  
⎧
3x+ y≤ 6  
⎧
⎪
⎨
−3x+ y≥6  
3x+5y≤ 15  
x ≥ 0, y ≥ 0  
⎪
⎪
x + y ≤ 4  
⎨
⎪
x +2y ≤ 4  
x ≥ 0, y ≥ 0  
⎪
⎩
⎪
⎩
5. f(x) = 2x + 5y → max  
6. f(x) = x + 3y → max  
⎧
2x + y ≥ 2  
x + y ≤ 8  
⎪
⎧
⎪
⎨
x + 3 y ≤ 6  
x + y ≥ 4  
⎪
⎪
⎨
⎪
⎪
x + y ≥ 3  
⎪
2x + y≤ 12  
x ≥ 0, y ≥ 0  
x ≥ 0, y ≥ 0  
⎩
⎪
⎩
7. f(x) = x + 2y → max  
8. f(x) = 2x + 3y → min  
⎧
x + 2 y ≥ 8  
⎧
⎪
⎨
x + y ≤8  
⎪
⎪
3x+ y≥ 6  
⎨
⎪
2x + y ≤ 14  
x ≥ 0, y ≥ 0  
3x+4y≥ 12  
x ≥ 0, y ≥ 0  
⎪
⎩
⎪
⎩
9. f(x) = 5x1 + 2x2 + 3x3 → max  
10. f(x) = 2x1 + x3 → min  
⎧
x1 + x2 + x3 =1  
⎧
⎪
⎨
x1 + x2 + x3 =1  
⎪
⎪
2x1 +5x2 +3x3 ≤ 4  
4x1 + x2 +3x3 ≤ 2  
x ≥ 0, x ≥ 0, x ≥ 0  
⎨
⎪
2x1 + x2 +2x3 ≥ 3  
x ≥ 0, x ≥ 0, x ≥ 0  
⎪
⎩
1
2
3
⎪
⎩
1
2
3
***********************  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 6  
________________________________________________________________________  
Chương 2.  
PHƯƠNG PHÁP ĐƠN HÌNH  
2.1. Dạng chính tắc và dạng chuẩn tắc  
2.1.1. Định nghĩa  
Trong thực tế, đa số các bài toán có điều kiện không âm của các ẩn. Từ đó có định  
nghĩa dạng chính tắc là bài toán (d,f) như sau:  
n
f(x) =  
cjxj → min  
(1)  
∑
j=1  
n
⎧
a x = b (i = 1..m) (2)  
∑
ij  
j
i
⎪
⎨
j=1  
⎪
⎩
xj ≥ 0 ( j = 1..n)  
(3)  
(2) gọi là ràng buộc cưỡng bức, (3) gọi là ràng buộc tự nhiên.  
Với bài toán (d,f) chính tắc, có thể giả sử m ≤n.  
Một trường hợp đặc biệt của dạng chính tắc là ma trận số liệu A = (aij)mxn có chứa  
đủ m vectơ cột là m vectơ đơn vị của không gian Rm và bi≥ 0 (i=1..m) gọi là dạng chuẩn  
tắc. Không mất tính tổng quát, có thể định nghĩa bài toán (d,f) chuẩn tắc như sau:  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
xi +  
a x = b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=m+1  
⎪
xj ≥ 0 ( j = 1..n)  
⎩
trong đó bi≥ 0 (i=1..m).  
2.1.2. Các phép biến đổi  
Các phép biến đổi sau để đưa bài toán (d,f) bất kỳ về dạng chính tắc tương đương  
để giải, và từ đó suy ra nghiệm của bài toán ban đầu.  
a/  
f(x) → max ⇔  
g(x) = -f(x) → min  
n
n
b/  
a x ≤ b  
⇔
a x + x = b với xn+i≥0  
∑
∑
ij  
j
i
ij  
j
n+i  
i
j=1  
j=1  
n
n
a x ≥ b  
⇔
a x − x = b với xn+i≥0  
∑
∑
ij  
j
i
ij  
j
n+i  
i
j=1  
j=1  
xn+i gọi là ẩn phụ. Có kết luận sau:  
Nếu x = (x1, x2, ..., xn, xn+1, ..., xn+m) là nghiệm của bài toán chính tắc biến đổi thì  
x=(x1, x2, ..., xn) là nghiệm bài toán gốc.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 7  
________________________________________________________________________  
c/ Nếu ẩn xj không ràng buộc về dấu thì được thay bằng hiệu hai ẩn không âm.  
Nghĩa là đặt xj =xj’ – xj” với xj’≥0, xj”≥0.  
d/ Trường hợp bi < 0 thì nhân hai vế phương trình cho -1 có được bi>0.  
Vậy: Mọi bài toán quy hoạch tuyến tính đều có thể đưa về bài toán dạng chính tắc  
tương đương. Hơn nữa có thể các hệ số tự do bi trong hệ ràng buộc là không âm.  
2.1.3. Phương án cơ bản  
Xét bài toán (d,f) dạng chính tắc  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
a x = b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=1  
⎪
⎩
xj ≥ 0 ( j = 1..n)  
Đặt Aj = (a1j , a2j , ... , amj ) là vectơ cột thứ j trong ma trận Amxn  
b = (b1, b2, ... , bm) là cột hệ số tự do.  
Giả sử x = ( x 1, x 2,..., x n) là phương án của bài toán thì hệ vectơ { Aj / x j > 0 }  
gọi là hệ vectơ liên kết với phương án x.  
Định nghĩa  
x∈ d là phương án cơ bản nếu hệ véctơ liên kết với x độc lập tuyến tính.  
Ẩn xj gọi là ẩn cơ bản nếu x j > 0.  
Nhận xét:  
- Phương án cơ bản có tối đa m thành phần dương.  
Phương án cơ bản có đúng m thành phần dương gọi là không suy biến. Ngược lại  
gọi là suy biến. Bài toán có phương án cơ bản suy biến gọi là bài toán suy biến.  
- Số phương án cơ bản của một bài toán (d,f) là hữu hạn.  
- Với bài toán dạng chuẩn tắc thì có phương án cơ bản là xo = (b1, b2, ... ,bm,0,...,0).  
2.1.4. Các tính chất  
Tính chất 1 Bài toán (d,f) chỉ xảy ra 1 trong 3 trường hợp sau:  
a) Vô nghiệm  
b) Có 1 nghiệm duy nhất  
c) Vô số nghiệm.  
Tính chất 2 Nếu hàm mục tiêu f(x) là chặn dưới (trên ) đối với bài toán dạng min (max)  
trên tập phương án d thì bài toán (d,f) có nghiệm.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 8  
________________________________________________________________________  
Tính chất 3 Nếu bài toán (d,f) có nghiệm thì có nghệm là phương án cơ bản.  
2.2. Phương pháp đơn hình  
2.2.1. Nội dung  
Xuất phát từ phương án cơ bản nào đó, tìm cách đánh giá nó. Nếu chưa tối ưu thì  
chuyển sang phương án cơ bản mới tốt hơn. Nếu bài toán có nghiệm thì sau hữu hạn  
bước sẽ tìm được phương án cơ bản tối ưu. Hơn nữa dấu hiệu vô nghiệm cũng được thể  
hiện trên thuật toán .  
Ví dụ 2.1 Xét bài toán (d,f) dạng chuẩn tắc:  
f(x) = x1 -2x2 +3x3 -2x4 → min  
⎧
2x1 − 3x2 + x3  
= 4  
+ x4 = 5  
xj ≥ 0 ( j = 1..4)  
⎪
⎨
x + x  
1
2
⎪
⎩
Có phương án cơ bản xo = (0, 0, 4, 5) và f(xo)=2 với x3, x4 là ẩn cơ bản.  
Đánh giá:  
∀ x=(x1,x2,x3,x4)∈ d :  
⎧
⎧
⎪
2x1 − 3x2 + x3  
= 4  
+ x4 = 5  
xj ≥ 0 ( j = 1..4)  
x3 = 4 − 2x1 + 3x2  
⎪
⎨
x + x  
⇔ x = 5 − x − x  
⎨
1
2
4
1
2
⎪
⎩
⎪
xj ≥ 0 ( j = 1..4)  
⎩
f(x) = x1 -2x2 +3x3 -2x4  
= x1 -2x2 +3(4-2x1 +3x2) -2(5-x1 -x2)  
= 2 -3x1 +9x2  
= 2-∆1x1 - ∆2x2  
Vì x1, x2 ≥0 nên nếu ∆1, ∆2 ≤ 0 thì f(x)≥2 và xo là phương án tối ưu. Tuy nhiên, ở đây  
∆1=3>0 nên xo chưa phải là nghiệm.  
Thử chọn x1, x4 làm ẩn cơ bản , cho x2=0 và x3=0. Có  
2x  
= 4  
⎧
⎨
⎩
1
⇒ x1=2 và x4=3.  
x1 + x4 = 5  
Rõ ràng A1, A4 độc lập tuyến tính nên có phương án cơ bản là x = (2, 0, 0, 3)  
và f( x ) = - 4.  
Đánh giá:  
∀ x=(x1,x2,x3,x4)∈ d :  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 9  
________________________________________________________________________  
3
1
⎧
x1 = 2 + x2 − x3  
⎪
⎪
2x − 3x + x  
= 4  
+ x4 = 5  
⎧
⎨
⎩
1
2
3
2
5
2
1
⇔
⎨
⎪
x1 + x2  
x4 = 3 − x2 + x3  
⎪
⎩
2
2
f(x) = x1 -2x2 +3x3 -2x4  
3
1
5
1
= (2+ x2 - x3) -2x2 +3x3 -2(3- x2 + x3)  
2
2
2
2
9
3
= - 4 + x2 + x3 (= -4-∆2x2 - ∆3x3)  
2
2
≥ -4  
Vì x2, x3 ≥0 nên x là phương án tối ưu (∆2, ∆3≤0).  
2.2.2. Bảng đơn hình  
Cho bài toán (d,f) chuẩn tắc:  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
xi +  
a x = b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=m+1  
⎪
xj ≥ 0 ( j = 1..n)  
⎩
trong đó bi≥ 0 (i=1..m).  
m
∀ j=1..n đặt ∆j =  
ciaij - cj và gọi là ước lương của ẩn xj đối với phương án cơ bản  
∑
i=1  
m
xo=(b1, b2, …, bm, 0, …, 0) với f(xo)=  
Lưu ý: ∆i = 0 , ∀ i=1..m  
cibi  
∑
i=1  
Có bảng đơn hình sau:  
Hệ  
số  
c1  
c2  
…
cr  
Ẩn  
CB  
x1  
x2  
…
xr  
P/Án x1  
c1  
x2  
c2  
0
1
…
0
…
xm  
cm  
0
0
…
0
xm+1  
cm+1  
a1,m+1  
a2,m+1  
…
ar,m+1  
…
am,m+1  
…
xs  
cs  
a1s  
a2s  
…
xn  
cn  
a1n  
a2n  
b1  
1
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
b2  
0
…
br  
…
0
ars  
arn  
…
cm  
…
xm  
…
bm  
f(x)  
…
0
…
0
…
1
ams  
amn  
∆
∆
∆
∆
∆
∆
1
2
m
m+1  
s
n
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 10  
________________________________________________________________________  
2.2.3. Cơ sở lý luận  
Cho bài toán (d,f) chuẩn tắc:  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
xi +  
a x = b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=m+1  
⎪
xj ≥ 0 ( j = 1..n)  
⎩
trong đó bi≥ 0 (i=1..m).  
m
∀ j=1..n đặt ∆j =  
ciaij - cj  
∑
i=1  
m
Có phương án cơ bản xo=(b1, b2, …, bm, 0, …, 0) với f(xo)=  
cibi  
∑
i=1  
Định lý 1 ( Dấu hiệu tối ưu)  
Nếu ∆j ≤0 với mọi j = 1..n thì xo là phương án tối ưu.  
Chứng minh  
m
Có f(xo)=  
cibi  
∑
i=1  
n
n
∀ x=(xj)n∈ d : xi +  
aijxj =bi (i=1..m) ⇒ xi = bi -  
aijxj (i=1..m)  
∑
∑
j=m+1  
j=m+1  
n
f(x)  
=
=
=
=
cjxj  
∑
j=1  
m
n
cixi +  
ci(bi -  
cibi -  
cjxj  
∑
∑
i=1  
j=m+1  
m
n
n
aijxj) +  
cjxj  
∑
∑
∑
i=1  
j=m+1  
j=m+1  
m
n
m
(
ciaij-cj) xj  
∑
∑ ∑  
i=1  
j=m+1  
i=1  
n
= f(xo) -  
∆j xj  
∑
j=m+1  
≥ f(xo) : vì ∆j ≥0 và xj≥ 0 (j=m+1..n)  
Định lý 2 ( Dấu hiệu vô nghiệm)  
Nếu ∃ ∆k >0 và aik≤0 ∀ i = 1..m thì bài toán vô nghiệm.  
Chứng minh  
Vì ∆i = 0 , ∀ i=1..m và ∆k >0 nên có k>m.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 11  
________________________________________________________________________  
∀ θ>0, xét bộ số x=(xj)n với  
⎧
xi = bi −ϑaik (i = 1..m)  
⎪
⎨
x = ϑ  
k
⎪
⎩
xj = 0 ( j = m +1..n, j ≠ k)  
n
∀ i=1..m: xi +  
aijxj = (bi-θaik) + aikθ= bi (1)  
∑
j=m+1  
xk= θ>0 nên xj≥0 ∀ j=m+1..n  
∀ i=1..m: xi = bi-θaik ≥bi ≥0. Vì θ>0 và aik≤0.  
Vậy xj≥0 ∀ j=m+1..n  
(2)  
(1) và (2) có x∈ d  
n
f(x)  
=
=
=
=
cjxj  
∑
j=1  
m
n
cixi +  
cjxj  
∑
∑
i=1  
j=m+1  
m
n
ci(bi-θaik) +  
cjxj  
∑
∑
i=1  
j=m+1  
m
m
cibi - θ  
ciaik+ck θ  
∑
∑
i=1  
i=1  
m
= f(xo) – θ(  
ciaik-ck )  
∑
i=1  
= f(xo) – θ∆k  
Cho x→ +∞ thì f(x) → -∞ trên d. Hay f(x) không bị chặn dưới trên d.  
Vậy bài toán vô nghiệm.  
Định lý 3 ( Điều chỉnh phương án)  
Nếu ∀ ∆k >0, ∃ aik>0 thì có thể tìm được phương án cơ bản mới tốt hơn xo, trong  
trường hợp bài toán không suy biến.  
Chứng minh:  
Giả sử ∆s = max {∆j} với ∆j>0 (j=1..n).  
Theo giả thiết ∃ ais>0  
bi  
Đặt θ =min { } với ais> 0 . Có θ>0 do bài toán không suy biến.  
ais  
br  
br  
bi  
Giả sử θ=  
, có  
≤
ars  
ars  
ais  
Xét bộ số x =(xj)n với  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 12  
________________________________________________________________________  
⎧
xi = bi −ϑais (i = 1..m)  
⎪
⎨
x = ϑ  
s
⎪
⎩
xj = 0 ( j = m +1..n, j ≠ s)  
n
∀ i=1..m: xi +  
aijxj = (bi-θais) + aisθ= bi (1)  
∑
j=m+1  
xs= θ>0 nên xj≥0 ∀ j=m+1..n  
br  
∀ i=1..m: xi = bi-θais = bi-  
ars  
bi  
br  
ais ≥0. Vì  
≥
(i=1..m) và ais >0.  
ais ars  
Vậy xj≥0 ∀ j=m+1..n  
(1) và (2) có x∈ d  
(2)  
br  
Có xr = br-θars = br-  
ars  
ars=0. Vậy xr là ẩn không cơ bản.  
Hệ vectơ liên kết xo là m vectơ đơn vị {A1, A2, …, Am}.  
Vậy hệ vectơ liên kết x là hệ con của {A1, A2, …, Am}U {As}\{Ar}.  
Giả sử hệ vectơ liên kết x phụ thuộc tuyến tính thì hệ {A1, A2, …, Am}U {As}\{Ar} phụ  
thuộc tuyến tính.  
m
Nên ∃ ki≠0 sao cho: k A + ksAs = θ ( vectơ không)  
∑
i
i
i=1  
i≠r  
m
Nếu ks=0 thì ∃ ki≠0 (i=1..m) sao cho: k A = θ . Mâu thuẩn vì {A1, A2, …, Am} là hệ  
∑
i
i
i=1  
i≠r  
m
vectơ đơn vị. Vậy ks≠0 và k A + ksAs = θ  
∑
i
i
i=1  
i≠r  
m
ki  
hay As = -  
A (3)  
∑
i
ks  
i=1  
i≠r  
m
Ngoài ra, As = (a1s , a2s , ... , ams ) =  
aisAi (4)  
∑
i=1  
Trừ (4) cho (3) có  
m
k
(a + i )A + arsAr = θ.  
∑
is  
i
ks  
i=1  
i≠r  
Do {A1, A2, …, Am} là hệ độc lập tuyến tính nên có ars=0 (mâu thuẩn).  
Vậy hệ vectơ liên kết x là hệ độc lập tuyến tính. Hay x là phương án cơ bản.  
n
f( x ) =  
cjxj  
∑
j=1  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 13  
________________________________________________________________________  
m
n
=
=
=
cixi +  
cjxj  
∑
∑
i=1  
j=m+1  
m
n
ci(bi-θais) +  
cjxj  
∑
∑
i=1  
j=m+1  
m
m
cibi - θ  
ciais+cs θ  
∑
∑
i=1  
i=1  
m
= f(xo) – θ(  
ciais-cs )  
∑
i=1  
= f(xo) – θ∆s  
< f(xo) , vì θ>0 và ∆s>0.  
Hay phương án cơ bản tốt hơn phương án cơ bản xo một lượng θ∆s.  
2.2.4. Các bước của thuật toán đơn hình  
Bước 1  
Kiểm tra tính tối ưu của phương án xo=(b1, b2, …, bm, 0, …, 0)  
m
* Nếu ∆j ≤0 ∀ j = 1..n thì xo là phương án tối ưu và fmin=f(xo)=  
cibi.  
∑
i=1  
* Nếu ∃ ∆k>0 thì chuyển sang bước 2.  
Bước 2  
Kiểm tra điều kiện vô nghiệm  
* Nếu ∃ ∆k >0 và aik≤0 với mọi i = 1..m thì bài toán vô nghiệm.  
* Nếu ∀ ∆k >0, ∃ aik>0 thì chuyển sang bước 3.  
Bước 3  
Tìm ẩn thay thế và ẩn loại ra  
* Nếu ∆s = max {∆j} với ∆j>0 (j=1..n) thì đưa xs đưa vào tập ẩn cơ bản .  
br  
bi  
* Nếu  
=min { } với ais> 0 thì loại xr ra khỏi tập ẩn cơ bản .  
ars  
ais  
* Chuyển sang bước 4.  
Bước 4  
Biến đổi bảng đơn hình  
* Biến đổi bảng đơn hình theo công thức sau:  
arj  
ars  
⎧
a'rj =  
⎪
⎪
⎨
arj  
ars  
⎪
a'ij = aij −  
ais (i ≠ r)  
⎪
⎩
b' = θ  
⎧
⎪
⎨
r
br  
b'i = bi −  
ais (i ≠ r)  
⎪
ars  
⎩
* Tính lại các giá trị ∆j, quay lại bước 1.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 14  
________________________________________________________________________  
Quá trình này có thể mô tả như việc biến đổi sơ cấp về hàng trên ma trận bổ sung  
của hệ ràng buộc sao cho vectơ As trở thành vectơ đơn vị thứ r, và các vectơ đơn vị khác  
vẫn giữ nguyên.  
Nhận xét Các công thức biến đổi cho aij cũng đúng cho cả bi và ∆j nếu xem b là cột thứ 0  
và ∆ là hàng thứ m+1 của ma trận số liệu Amxn.  
Ví dụ 2.2  
f(x) = 5x1 +4x2 + 5x3 +2x4 +x5 + 3x6 → min  
2x + 4x + 3x + x  
= 52  
= 60  
⎧
1
2
3
4
⎪
⎪
⎨
4x1 + 2x2 + 3x3  
3x1 + x3  
xj ≥ 0 ( j = 1..6)  
+ x5  
+ x6 = 36  
⎪
⎪
⎩
Hệ  
số  
2
1
3
Ẩn  
CB  
x4  
x5  
x6  
P/Án x1  
5
x2  
4
4
2
0
6
4
2
0
6
0
1
0
0
x3  
5
3
3
1
x4  
2
1
0
0
0
1
0
0
0
1
0
0
0
x5  
1
0
1
0
0
0
1
0
x6  
3
0
0
1
52  
60  
36  
272  
28  
12  
12  
128  
4
2
4
3
12  
0
0
1
0
0
0
1
0
7
0
2
1
5
x4  
x5  
x1  
7/3  
5/3  
1/3  
3
-1  
5/6  
1/3  
-2  
-2/3  
-4/3  
1/3  
-4  
2
-2/3  
1/3  
0
0
2
4
5
x4  
x2  
x1  
-2  
1/2  
0
6
12  
92  
-3  
∀
∆j ≤0 j =1..6, xopt= (12, 6, 0, 4, 0, 0) và fmin=92  
Ví dụ 2.3  
f (x) = 3x1 -2x2 +2x3 - x4 → min  
⎧
x1 + x2  
− 2x4 = 1  
⎪
⎨
− 2 x2 + x3 + 3x4 = 1  
xj ≥ 0 ( j = 1..4)  
⎪
⎩
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 15  
________________________________________________________________________  
Hệ  
số  
3
Ẩn  
CB  
x1  
P/Án x1  
3
x2  
-1  
1
-2  
0
x3  
2
0
1
0
x4  
-1  
-2  
3
1
0
1
1
0
0
1
0
0
2
x3  
1
5
3
-1  
x1  
x4  
5/3  
1/3  
14/3  
-1/3 2/3  
-2/3 1/3  
2/3  
1
0
-1/3  
Có ∆2=2/3>0 và trên cột này không có số dương nên bài toán vô nghiệm.  
2.2.5. Bài toán ẩn phụ  
Các phép biến đổi để đưa bài toán (d,f) về dạng chính tắc  
n
n
a x ≤ b  
⇔
a x + x = b với xn+i≥0  
∑
∑
ij  
j
i
ij  
j
n+i  
i
j=1  
j=1  
n
n
a x ≥ b  
⇔
a x − x = b với xn+i≥0  
∑
∑
ij  
j
i
ij  
j
n+i  
i
j=1  
j=1  
xn+i gọi là ẩn phụ. Có kết luận sau:  
Nếu x = (x1, x2, ..., xn, xn+1, ..., xn+m) là nghiệm của bài toán chính tắc biến đổi thì  
x=(x1, x2, ..., xn) là nghiệm bài toán gốc.  
Ví dụ 2.4  
f (x) = -x1 +3x2 -2x3 → max  
3x − x + 2x + x = 7  
⎧
1
2
3
4
⎪
⎪
⎨
2x1 − 4 x2 − x3  
≥ −12  
≤ 10  
− 4x1 + 3x2 + 8x3  
xj ≥ 0 ( j = 1..4)  
⎪
⎪
⎩
Bài toán chính tắc tương đương  
g (x) = x1 -3x2 +2x3 → min  
3x − x + 2x + x  
= 7  
⎧
1
2
3
4
⎪
⎪
⎨
− 2x1 + 4 x2 + x3  
− 4x1 + 3x2 + 8x3  
xj ≥ 0 ( j = 1..6)  
+ x5 = 12  
+ x6 = 10  
⎪
⎪
⎩
Trong đó x5, x6 là ẩn phụ.  
Đây là bài toán (d,f) chuẩn tắc nên được đưa vào bảng đơn hình để giải.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 16  
________________________________________________________________________  
Hệ  
số  
0
0
0
Ẩn  
CB  
x4  
x5  
x6  
P/Án x1  
1
x2  
-3  
-1  
4
3
3
0
1
0
0
x3  
2
2
1
8
x4  
0
1
0
0
0
1
0
0
x5  
0
0
1
0
0
1/4  
1/4  
-3/4  
-3/4  
1/10  
3/10  
-1/2  
-4/5  
x6  
0
0
0
1
0
0
0
1
0
0
0
1
0
7
3
12  
10  
0
10  
3
1
-9  
4
-2  
-4  
-1  
5/2  
-1/2  
-5/2  
1/2  
1
-2  
9/4  
¼
29/4  
-11/4 0  
9/10 2/5  
7/10 1/5  
19/2  
0
-3  
0
x4  
x2  
x6  
1
-3  
0
x1  
x2  
x6  
0
1
0
0
5
0
11  
0
1
-11  
0
-16/5 -1/5  
∀
∆j ≤0 j =1..6, xopt= (4, 5, 0, 0, 0, 11) và fmin=-11. Vậy nghiêm bài toán gốc là  
xopt= (4, 5, 0, 0) và fmax=11.  
Nếu các giá trị min/max đạt tại nhiều vị trí thì chọn tùy ý một vị trí bất kỳ trong số đó.  
Thông thường chọn chỉ số nhỏ nhất.  
2.2.6. Bài toán ẩn giả  
Cho bài toán (d,f) dạng chính tắc:  
n
f(x) =  
cjxj → min  
∑
j=1  
n
⎧
a x = b (i = 1..m)  
∑
ij  
j
i
⎪
⎨
j=1  
⎪
xj ≥ 0 ( j = 1..n)  
⎩
trong đó bi≥0 (i=1..m).  
Xét bài toán:  
n
m
f ( x ) =  
cjxj + M  
xn+i → min  
∑
∑
j=1  
i=1  
n
⎧
a x + x = bi (i = 1..m)  
∑
ij  
j
n+i  
⎪
⎨
j=1  
⎪
xj ≥ 0 ( j = 1..n + m)  
⎩
với M là số dương khá lớn ( M→∞)..  
Bài toán này gọi là bài toán mở rộng của bài toán trên, hay bài toán M.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 17  
________________________________________________________________________  
Với bài toán M có ngay phương án cơ bản ban đầu với xn+i(i=1..m) là các ẩn cơ bản .  
Dùng thuật toán đơn hình để giải.  
xn+i gọi là các ẩn giả.  
Sau khi giải bài toán M, có được quan hệ giữa bài toán M và bài toán (d,f) như sau:  
• Nếu bài toán M vô nghiệm thì bài toán (d,f) vô nghiệm.  
• Nếu bài toán M có nghiệm x = (x1, x2, ..., xn, 0,...,0) thì x = (x1, x2, ..., xn) là  
nghiệm của bài toán (d,f).  
• Nếu bài toán M có nghiệm x = (x1, x2, ..., xn+m) và ∃ xn+m)>0 thì bài toán (d,f) vô  
nghiệm.  
Tiến trình giải bài toán M là loại dần các ẩn giả ra khỏi tập ẩn cơ bản cho đến khi loại tất  
cả là bắt đầu giải bài toán gốc. Nên từ đó có thể không cần tính cho các cột ẩn giả. Nếu  
cuối cùng không loại được các ẩn giả mà nhận giá trị 0 thì bài toán gốc cũng có nghiệm.  
Ở đây giả sử bài toán (d,f) trong ma trận số liệu A không có vectơ đơn vị nào. Tuy  
nhiên, chỉ cần thêm một số (<m) ẩn giả cho đủ m vectơ đơn vị.  
Ví dụ 2.5  
f (x) = x1 +2x2 -x3 → max  
− x + 4 x −2x ≤ 6  
⎧
1
2
3
⎪
⎪
⎨
x1 + x2 + 2x3 ≥ 6  
2x1 − x2 + 2x3 = 4  
xj ≥ 0 ( j = 1..3)  
⎪
⎪
⎩
Dạng chính tắc tương đương:  
f (x) = -x1 -2x2 +x3 → min  
− x + 4 x −2x + x  
= 6  
− x5 = 6  
= 4  
⎧
1
2
3
4
⎪
⎪
⎨
x1 + x2 + 2x3  
2x1 − x2 + 2x3  
xj ≥ 0 ( j = 1..5)  
⎪
⎪
⎩
trong đó x4, x5 là hai ẩn phụ.  
Bài toán chính tắc cần thêm hai ẩn giả để đưa về bài toán chuẩn tắc là x6, x7.  
Bài toán M tương ứng:  
f ( x ) = -x1 -2x2 + x3 +M x6+M x7→ min  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 18  
________________________________________________________________________  
− x + 4 x −2x + x  
= 6  
= 6  
⎧
1
2
3
4
⎪
⎪
⎨
x1 + x2 + 2x3  
2x1 − x2 + 2x3  
xj ≥ 0 ( j = 1..7)  
− x5 + x6  
+ x7 = 4  
⎪
⎪
⎩
Đây là bài toán dạng chuẩn tắc nên được đưa vào bảng đơn hình để giải.  
Hệ số Ẩn  
P/Án x1  
-1  
x2  
-2  
4
1
-1  
2
x3  
1
-2  
2
x4  
0
1
0
0
0
x5  
0
0
-1  
0
-M  
x6  
M
0
1
0
x6  
M
0
0
1
CB  
0
M
M
x4  
x6  
x7  
6
6
4
-1  
1
2
2
3M+1  
4M-1  
0
0
0
M
1
x4  
x6  
x3  
10  
2
2
1
-1  
1
-M+2  
3
2
0
0
1
0
1
0
0
0
0
-1  
0
-M  
0
1
0
0
1
-1  
1/2  
-2M+1/2  
-1/2  
2M+3/2  
0
-2  
1
x4  
x2  
x3  
7
1
5/2  
-9/2  
5/2  
-1/2  
3/4  
11/4  
0
1
0
0
0
0
1
0
1
0
0
0
3/2  
-1/2  
-1/4  
3/4  
-3/2  
1/2  
1/4  
-M-3/4  
5/2  
-1/2  
1/4  
-M+5/4  
-1  
-2  
1
x1  
x2  
x3  
14/5  
12/5  
2/5  
-36/5  
1
0
0
0
0
1
0
0
0
0
1
0
2/5  
1/5  
3/5  
-1/5  
-3/5  
1/5  
1
0
-1/2  
-3/10 -7/10 7/10  
-11/10  
-9/10  
-M+9/10 -M-3/2  
Nghiệm bài toán M là x = (14/5, 12/5, 2/5, 0, 0,0,0), ẩn giả đã bị loại từ bảng thứ 3.  
Nghiệm bài toán gốc chính tắc là x = (14/5, 12/5, 2/5,0,0), với x4, x5 là ẩn phụ, nên có  
nghiện bài toán gốc là xopt= (14/5, 12/5, 2/5,0,0) và fmax = 36/5  
Ví dụ 2.6  
f (x) = 8x1 -6x2 -2x3 → max  
⎧
4x1 + 3x2 + 4x3 = 4  
4 x + x − 3x = 4  
⎪
⎨
1
2
3
⎪
⎩
xj ≥ 0 ( j = 1..3)  
Bài toán M tương ứng:  
f ( x ) = -8x1 +6x2 +2x3 +Mx4 +Mx5 → min  
⎧
4x1 + 3x2 + 4x3 + x4  
4 x + x − 3x  
= 4  
⎪
⎨
+ x5 = 4  
1
2
3
⎪
⎩
xj ≥ 0 ( j = 1..5)  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 19  
________________________________________________________________________  
Hệ  
số  
M
M
Ẩn  
CB  
x4  
P/Án x1  
-8  
x2  
6
3
x3  
2
4
x4  
M
1
x5  
M
0
4
4
4
4
x5  
1
-3  
0
1
8M+8 4M-6 M-2  
0
0
-8  
M
x1  
x5  
1
0
1
0
0
3/4  
-2  
1
-7  
1/4  
-1  
0
1
0
-2M-12 -7M-10 -2M-2  
Nghiệm bài toán M là X= (1,0,0,0,0)  
Ẩn giả x5 còn là ẩn cơ bản nhưng nhận giá trị 0 nên nghiệm bài toán gốc là x = (1,0,0) và  
fmax = 8  
Ví dụ 2.7  
f (x) = -8x1 +6x2 +2x3 → min  
⎧
4x1 + 3x2 + 4x3 = 4  
4 x + x − 3x = 5  
⎪
⎨
1
2
3
⎪
⎩
xj ≥ 0 ( j = 1..3)  
Bài toán M tương ứng:  
f ( x ) = -8x1 +6x2 +2x3 +Mx4 +Mx5 → min  
⎧
4x1 + 3x2 + 4x3 + x4  
4 x + x − 3x  
= 4  
⎪
⎨
+ x5 = 5  
1
2
3
⎪
⎩
xj ≥ 0 ( j = 1..5)  
Hệ số Ẩn  
P/Án x1  
-8  
x2  
x3  
2
4
x4  
M
1
x5  
M
0
CB  
6
3
1
M
M
x4  
x5  
4
5
4
4
-3  
0
1
8M+8 4M-6 M-2  
0
0
-8  
M
x1  
x5  
1
1
1
0
0
3/4  
-2  
-2M-12  
1
1/4  
-1  
-2M-2  
0
1
0
-7  
-7M-10  
Ẩn giả x5 còn là ẩn cơ bản nhưng nhận giá trị x5 =1>0 nên nên bài toán gốc vô nghiệm.  
________________________________________________________________________  
GV: Phan Thanh Tao  
Bài giảng Quy hoạch toán học  
Trang 20  
________________________________________________________________________  
2.3. Cài đặt thuật toán đơn hình  
2.3.1. Khai báo dữ liệu  
a) Xem b là cột 0, c là hàng 0 và ∆ là hàng m+1 của ma trận số liệu a và f(xo)=a[m+1][0]  
với a[0][0]=0. Các giá trị bi, cj, ∆j và f(x) biến đổi thao cùng công thức với aij. Nghĩa là:  
bi=a[i][0], cj=a[0][j], ∆j=a[m+1][j].  
Chỉ cần khai báo một ma trận A như sau:  
float a[m+2][n+1];  
b) Các mảng đánh dấu tập ẩn cơ bản:  
int  
với ý nghĩa:  
xj là ẩn cơ bản ⇔ cb[j]=1  
cb[n+1], acb[m];  
và  
xj ẩn cơ bản thứ i ⇔ acb[i]=j  
Tập ẩn cơ bản ban đầu gồm m ẩn được nhập từ bàn phím  
2.3.2. Tính các ước lượng ∆j  
for (j=1; j<=n; j++){  
a[m+1][j]=0;  
for (i=1; j<=m; i++) a[m+1][j]+= a[0][ACB[i]]*a[i][j];  
a[m+1][j]-= a[0][j];  
}
2.3.3. Kiểm tra tối ưu và tìm ẩn thay thế  
int Toiuu( )  
{
int s=1, j=1;  
for (j=1; j<=n; j++)  
if (a[m+1][j]> a[m+1][s])s=j;  
return a[m+1][s]>0;  
}
2.3.4. Kiểm tra vô nghiệm  
int Vonghiem( )  
{
int i,j;  
for (j=1; j<=n; j++)  
if (a[m+1][j]> 0){  
i=1; while (i<=m && a[i][j]<=0)i++;  
if (i>m)retrun 1;  
}
return 0;  
}
________________________________________________________________________  
GV: Phan Thanh Tao  
Tải về để xem bản đầy đủ
pdf 64 trang baolam 19120 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Quy hoạch toán", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_quy_hoach_toan.pdf