Tải bản đầy đủ (.ppt) (73 trang)

BÀI GIẢNG QUY HOẠCH TUYẾN TÍNH_ Chương 1: Bài toán quy hoạch tuyến tính ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (541.74 KB, 73 trang )



Trường Đại học kinh tế kỹ thuật công
nghiệp
Bộ môn khoa học cơ bản
BÀI GIẢNG
QUY HOẠCH TUYẾN TÍNH
Chương 1: Bài toán quy hoạch
tuyến tính

TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
BỘ MÔN KHOA HỌC CƠ BẢN
BÀI GIẢNG
QUY HO CH TUY N Ạ Ế
T NHÍ

Chương I: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
Chương II: BÀI TOÁN VẬN TẢI

Chương III: MÔ HÌNH SƠ ĐỒ MẠNG LƯỚI

CHƯƠNG I:
BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
1.1. Bài toán quy hoạch tuyến tính tổng quát
1.2. Bài toán dạng chính tắc
1.3. Bài toán dạng chuẩn
1.4. Các tính chất chung
1.5. Phương pháp đơn hình
1.6. Phương pháp đơn hình đối ngẫu

1.1. Bài toán quy hoạch tuyến tính tổng quát


Hàm f(x) gọi là hàm mục tiêu
Mỗi phương trình hoặc bất phương trình trong hệ điều
kiện gọi là một ràng buộc.
( )
( )
( ) ( )







∈≤≥
∈=
→=



=
=
=
2
n
1j
ijij
1i
n
1j
jij

n
1j
jj
Ii bxa
Ii bxa
(max)min xcxf

■ Một số khái niệm :


Phương án
Phương án
:
:
Vectơ x = (x
Vectơ x = (x
1
1
, x
, x
2
2
, , x
, , x
n
n
) thoả mãn mọi điều
) 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
kiện ràng buộc của bài toán gọi là một phương án

.
.
-Nếu thì ràng buộc i gọi là “chặt” đối với
phương án x, hoặc phương án x thoả mãn chặt ràng buộc i.

=
=
n
1j
ijij
bxa
-Nếu 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.

=
<>
n
1j
ijij
)b(xa
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.

1.2. Bài toán dạng chính tắc:
( )








=≥
==
→=


=
=
)n1,(j0x
)m1,(ibxa
(max)min xcxf
j
i
n
1j
jij
n
1j
jj
Mọi bài toán quy hoạch tuyến tính đều có thể quy về bài
toán dạng chính tắc tương đương theo nghĩa trị tối ưu của
hàm mục tiêu trong hai bài toán là trùng nhau và từ phương
án tối ưu của bài toán này suy ra phương án tối ưu của bài
toán kia

●Cách đưa bài toán về dạng chính tắc
-Nếu x

j
≤ 0 thì đổi biến x
j
’= −x
j
≥ 0.
-Nếu một ràng buộc có dạng thì có thể
thay bằng với và hệ số của

trong f(x) bằng 0. Các biến gọi là biến phụ.
-Nếu một ràng buộc có dạng thì thay
bằng ,

-Nếu x
j
không có ràng buộc dấu thì đặt x
j
= x
j
’− x
j
’’, với
x
j
’, x
j
’’≥ 0.

=


n
1j
ijij
bxa

=
=+
n
1j
i
p
ijij
bxxa
0x
p
i

p
i
x
p
i
x

=

n
1j
ijij
bxa


=
=−
n
1j
i
p
ijij
bxxa
0x
p
i


Ví dụ: Đưa bài toán sau về dạng chính tắc:
f(x) = –2x
1
+ x
2
+ 3x
3
+ 5x
4
⇒ min
x
1
– 3x
2
+ 5x
3

– x
4
≤ 16
2x
1
– x
2
– 2x
3
+ 2x
4
≥ – 4
4x
1
+ 3x
2
+ x
3
+ x
4
= 9
x
1
, x
2
≥ 0, x
3
≤ 0











Các biến phụ sẽ được đánh số tiếp là x
5
, x
6
.
Đặt x
3
’= – x
3
≥ 0, x
4
= x
4
’ – x
4
’’, x
4
’, x
4
’’ ≥ 0.
Ta được bài toán chính tắc tương đương sau:
f(x) = –2x

1
+ x
2
– 3x
3
’ + 5x
4
’ – 5x
4
’’ ⇒ min

x
1
– 3x
2
– 5x
3


– x
4
’ + x
4
’’ + x
5
= 16
2x
1
– x
2

+ 2x
3


+ 2x
4


– 2x
4
’’

– x
6
= –4
4x
1
+ 3x
2
– x
3
’ + x
4
’ – x
4
’’ = 9
x
1
, x
2

, x
3
’, x
4
’, x
4
’’, x
5
, x
6
≥ 0










1.3. Bài toán dạng chuẩn
( )










=≥
=++++
=++++
=++++
→=
++++
++++
++++
=

)n1,(j0x
bxa xaxax

bxa xaxax
bxa xaxax
(max)min xcxf
j
mnmn2m2mm1m1mmm
2n2n2m22m1m12m2
1n1n2m21m1m11m1
n
1j
jj
Trong đó:
)m1,(i0,b
i
=≥


Bài toán dạng chuẩn là bài toán dạng chính tắc có vế phải
không âm và mỗi phương trình đều có một biến số với hệ số
bằng 1 đồng thời không có trong các phương trình khác (gọi
là biến cô lập với hệ số bằng 1).
Từ hệ phương trình ràng buộc của bài toán dễ dàng suy ra
một phương án đầu tiên: x
0
= (b
1
, b
2
, …,b
m
, 0, 0,…, 0), với
cơ sở là {A
1
, A
2
,…A
m
} = E, đó là phương án cực biên.

1.4. Các tính chất chung
1. Tính chất 1: Sự tồn tại phương án cực biên:
Nếu bài toán có phương án và hạng của ma trận hệ ràng
buộc bằng n thì bài toán có phương án cực biên.
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
tính đều hữu hạn.

1.5. Phương pháp đơn hình
1. Nội dung của phương pháp:
Xuất phát từ một phương án cực biên đầu tiên, tìm cách
đánh giá phương án cực biên ấy, nếu nó chưa tối ưu thì tìm
cách chuyển sang một phương án cực biên mới tốt hơn, quá
trình được lặp lại vì số phương án cực biên là hữu hạn nên
sau một số hữu hạn bước 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 hoặc sẽ tìm được
phương án tối ưu.
Phương pháp này chỉ áp dụng được cho những bài toán
có phương án cực biên, tuy nhiên mọi bài toán QHTTT đều
có thể đưa về bài toán dạng chính tắc, và khi nó đã có
phương án thì sẽ có phương án cực biên.
Do đó không làm mất tính chất tổng quát từ đây ta sẽ chỉ
xét bài toán dạng chính tắc.

2. Cơ sở của phương án cực biên:
Định nghĩa: Một hệ vectơ {A
j
} độc lập tuyến tính bao
hàm hệ thống các vectơ tương ứng với các thành phần dương
của phương án cực biên x gọi là cơ sở của phương án cực
biên ấy
Ký hiệu: J, trong đó: J = {j, A

j
nằm trong cơ sở}.
Một phương án cực biên không suy biến có đúng m thành
phần dương, có một cơ sở duy nhất, đó chính là các vectơ
tương ứng với các thành phần dương, còn phương án cực biên
suy biến thì có nhiều cơ sở khác nhau, phần chung của chúng
là các vectơ tương ứng với các thành phần dương.

3. Thuật toán của phương pháp đơn hình
Giả sử đã biết phương án cực biên x
0
, cơ sở J
0
. Lập bảng
đơn hình tương ứng:
Hệ số
c
J
Cơ sở
J
Phương
án: x
J
c
1
c
2
… c
r
… c

m
c
m+1
… c
k


c
s
… c
n
x
1
x
2
… x
r
… x
m
x
m+1
… x
k
… x
s
… x
n
c
1
c

2

c
r

c
m
x
1
x
2

x
r

x
m
x
1
0
x
2
0

x
r
0

x
m

0
1 0 … 0 … 0 x
1,m+1
… x
1k
… x
1s
… x
1n
0 1 … 0 … 0 x
2,m+1
… x
2k
… x
2s
… x
2n
…………………………………………….
0 0 … 1 … 0 x
r,m+1
… x
rk
… x
rs
… x
rn
…………………………………………………….
0 0 … 0 … 1 x
m,m+1
…x

mk
…x
ms
x
mn

f(x) f(x
0
) 0 0 … 0 … 0 ∆
m+1
… ∆
k
… ∆
s
… ∆
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:

-Nếu ∆
k
≤ 0, (∀k ∉ J
0
) thì x
0
là phương án tối ưu.
-Nếu ∆

k
> 0 thì x
0
không phải là phương án tối ưu, chuyển
sang bước 2.
Bước 2: Kiểm tra tính không giải được của bài toán:
-Nếu tồn tại một ∆
k
> 0 mà x
jk
≤ 0 (∀j ∈ J
0
) thì bài toán
không có phương án tối ưu.
-Nếu với mỗi ∆
k
> 0 đều có ít nhất một x
jk
> 0 thì chuyển
sang bước 3.


−=
Jj
kjkjk
cxcΔ

Bước 3: Chọn vectơ đưa vào cơ sở và xác định vectơ loại
khỏi cơ sở:
-Giả sử , vectơ A

s
được đưa vào cơ sở,

tính

sk
k
∆=∆
>∆
0
max
js
0
j
0x,Jj
0
x
x
minθ
js0
>∈
=
-Giả sử
Vectơ A
r
bị loại khỏi cơ sở
Phần tử x
rs
gọi là phần tử xoay của phép biến đổi.
Lập bảng đơn hình mới, thay x

s
vào vị trí x
r
, và c
s
vào
vị trí c
r
. Chuyển sang bước 4.
( )
0x,Jr
x
x
θ
rs0
rs
0
r
0
>∈=

Bước 4: Biến đổi bảng: Thực hiện phép biến đổi cơ sở tổng
quát cho toàn bộ bảng (bao gồm cả hàng ước lượng ∆
k
).
-Để tính hàng vectơ đưa vào (x
s
) trong bảng mới ta lấy
hàng vectơ loại ra (x
r

) trong bảng cũ chia cho phần tử xoay.
-Để tính hàng x
j
trong bảng mới, ta lấy hàng x
j
trong
bảng cũ trừ đi hàng x
s
vừa mới tính được sau khi nhân nó
với x
js
.
Kết quả của quá trình biến đổi sẽ cho ta bảng đơn hình
ứng với phương án cực biên mới x
1
, tốt hơn x
0
.
Đối với x
1
quay trở lại bước 1 và quá trình lặp lại sau một số
hữu hạn bước sẽ tìm được phương án cực biên tối ưu hoặc
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.

Ví dụ 1: Giải bài toán sau bằng phương pháp đơn hình:
f(x) = 2x
1
+ 3x
2

– x
3
– 1/2x
4
⇒ min
x
1
– x
2
+ x
3
+ 1/2x
4
= 18
x
2
– 4x
3
+ 8x
4
≤ 8
–2x
2
+ 2x
3
– 3x
4
≤ 20
x
j

≥ 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ụ x
5
và x
6
. Ta có:
f(x) = 2x
1
+ 3x
2
– x
3
– 1/2x
4
⇒ min
x
1
– x
2

+ x
3
+ 1/2x
4
= 18
x
2
– 4x
3
+ 8x
4
+ x
5
= 8
–2x
2
+ 2x
3
– 3x
4
+ x
6
= 20
x
j
≥ 0 (j = 1…6)











Bài toán có dạng chuẩn, các biến cô lập là x
1
, x
5
, x
6
nên
phương án cực biên tương ứng x
0
= (18, 0, 0, 0, 8, 20), cơ
sở là {A
1
, A
5
, A
6
}, do đó ta có thể lập ngay được bảng đơn
hình ứng với phương án cực biên x
0
:
c
J
J x
J

2 3 – 1 – 1/2 0 0
x
1
x
2
x
3
x
4
x
5
x
6
2 x
1
18 1 – 1 1 1/2 0 0
0 x
5
8 0 1 – 4 8 1 0
0 x
6
20 0 – 2 2 – 3 0 1
f(x) 36 0 0 0−5 3/23
Ở bước 1 ta thấy phương án tương ứng chưa tối ưu. Vectơ đưa vào cơ
sở là A
3
ứng với ∆
3
= 3, θ
0

= 20/2 nên vectơ A
6
bị loại khỏi cơ sở, phần
tử xoay là [2].

c
J
J x
J
2 3 – 1 – 1/2 0 0
x
1
x
2
x
3
x
4
x
5
x
6
2 x
1
18 1 –1 1 1/2 0 0
0 x
5
8 0 1 – 4 8 1 0
0 x
6

20 0 –2 [2] –3 0 1
f(x) 36 0 –5 3 3/2 0 0
2 x
1
0 x
5
x
3
−1
10
0
−1
1
−3/2
0
1/2
1
0
0
0
0
1
8
0
2 −1/2
48
−3 2 2
f(x)
6
0

0
0−2 6 −3/2

c
J
J x
J
2 3 – 1 – 1/2 0 0
x
1
x
2
x
3
x
4
x
5
x
6
2 x
1
8 1 0 0 [2] 0 – 1/2
0 x
5
48 0 −3 0 2 1 2
−1 x
3
10 0 – 1 1 – 3/2 0 1/2
f(x) 6 0 – 2 0 6 0 – 3/2

x
4
0 x
5
−1 x
3
−1/2 4 1/2 0 0 1 0 −1/4
0
1
0
0
1
0
40 −1 −3
5/2
16 3/4 −1 1/8
f(x)
−18
0 0
0
−3
−2
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.

4. 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à f
max
= −g
min

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 là với hy vọng
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 nhưng
trên nguyên tắc thì đưa bất kỳ vectơ nào ứng với ∆
k
> 0 vào
cơ sở cũng cải tiến được phương án.
k
k

>∆
0
max
{ }
k

k
0

.Δθmax
k
>

×