Tải bản đầy đủ (.pdf) (5 trang)

bài toán giải thuật đơn hình

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 (114.87 KB, 5 trang )

Ths Đức 0972 670 808 1

Bài 1:
Dạng bài toán QHTT
* Dạng tổng quát
n
j j
j 1
n
ij j i 1
j 1
n
ij j i 2
j 1
n
ij j i 3
j 1
j 1 j 2 j 3
(1) f (x) c x min(max)
a x b , i I
(2) a x b , i I
a x b , i I
(3) x 0 j J , x 0 j J , x tu`y y ' j J
=
=
=
=
= →

= ∈





≤ ∈



≥ ∈



≥ ∈ ≤ ∈ ∈





Trong đó
- f(x) là hàm mục tiêu
- I
1
, I
2
, I
3
là rời nhau và I
1
U I
2
U I

3
={1,2, …,m}
- J
1
, J
2
, J
3
là rời nhau và J
1
U J
2
U J
3
= {1,2,…,n}
- A= (a
ij
)
mxn
: Ma trận hệ số ràng buộc
- B= (b
1
, b
2
, …, b
m
): Vectơ các hệ số tự do
- C= (c
1
, c

2
, …,c
m
): Vectơ các hệ số ẩn trong hàm mục tiêu
- X=(x
1
, x
2
, …,x
n
): Vectơ các ẩn số
* Dạng chính tắc
n
j j
j 1
n
ij j i
j 1
j
(1) f (x) c x min(max)
(2) a x b , i 1 m
(3) x 0 j 1 n
=
=
= →
= =
≥ =




* Dạng chuẩn
n
j j
j 1
n
ij j i
j 1
j
(1) f (x) c x min(max)
(2) a x b , i 1 m
(3) x 0 j 1 n
=
=
= →
= =
≥ =



Trong
đ
ó :
-

Các h

s

t


do b
1
, b
2
, …, b
m

đề
u không âm.
-

Trong ma tr

n h

s

ràng bu

c A = (a
ij
)
mxn

đầ
y
đủ
m vect
ơ
c


t
đơ
n v

e
1
, e
2
, …,e
m
:
1 2 m
1 0 0
0 1 0
e ;e ; ;e

0 0 1
     
     
     
= = =
     
     
     







D

ng t

ng quát D

ng chính t

c D

ng chu

n
Ths
Đứ
c 0972 670 808 2

Bài 2:

Phương pháp đơn hình
Bước 1: Lập bảng đơn hình xuất phát
* Xác
đị
nh pacb ban
đầ
u xu

t phát:
1 2 n

x (x , x , , x )
=
. Là ph
ươ
ng án có các

n không c
ơ
b

n
đề
u là s


0,

n c
ơ
b

n có giá tr

b

ng các h

s

t


do
* Xác
đị
nh J(x) =
{
}
j
j/ x 0
>

* Xác
đị
nh h



n c
ơ
b

n
{
}
j
x j J(x)

* L

p b


ng
đơ
n hình xu

t phát sau:
1
c

c
2
… c
n

n c
ơ
b

n H

s

Ph
ươ
ng án
x
1
x
2
… x

n

j
λ



x
j



c
j



b
j



z
j1


z
j2






z
jn





jn
λ

f
1


2



n




Trong
đ
ó:
j j

j J( x)
f c x f (x)

= =

: giá tr

hàm m

c tiêu t
ươ
ng

ng v

i x
(f = cột Hệ số* cột Phương án)
k j jk k
j J( x)
c z c

∆ = −

: h

s


ướ
c l

ượ
ng c

a bi
ế
n x
k
, k=1 n
(
k
∆ =
cột Hệ số*cột z
jk
–c
k
)
Lưu ý:
k
0, k J(x)
∆ = ∈
(ứng với các ẩn cơ bản).
1 2 3 4 5 6
1 2 3 4
1 2 3 5
1 2 3 6
j
f (x) x 2x 2x x x 2x min
2x x 5x x 5
x 2x 2x x 4
4x x x x 2

x 0, j 1 6
= − + − + − →
− − + =


− + + =


− + + + =

≥ =

Giải:
Ta có: c= (1,-2,2,-1,1,-2)
Các biến cơ bản là x
4
, x
5
, x
6

Các biến không cơ bản: x
1
, x
2
, x
3

x=(0,0,0,5,4,2), J(x)= {4,5,6}
2 1 5 1 0 0

A 1 2 2 0 1 0
4 1 1 0 0 1
− −
 
 
= −
 
 

 

1 2 3
2 1 5
A 1 ,A 2 , A 2
4 1 1
− −
     
     
= = =
     
     

     
. Tương tự cho các biến cơ bản
4 5 6
1 0 0
A 0 ,A 1 , A 0
0 0 1
     
     

= = =
     
     
     

Ths Đức 0972 670 808 3


1 -2

2 -1

1 -2 Ẩn cơ
bản
Hệ số
j
c

PA
x
1
x
2
x
3
x
4
x
5
x

6

x
4

x
5

x
6
-1
1
-2
5
4
2
2
1
-4
-1
-2
1
-5
2
1
1
0
0
0
1

0
0
0
1
-5
(6)
-1 3 0 0 0
Bước 2: Xét dấu hiệu tối ưu
* Xem dòng ghi
1 2 n
, , ,
∆ ∆ ∆

- Nếu có
k
0, k
∆ ≤ ∀
: phương án đang xét là PATU. Thuật toán kết thúc
- Nếu không: bước 3
Bước 3: Xét dấu hiệu không tối ưu
* Xét xem có cột
k

sao cho
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ó PATU. Thu

t toán k
ế
t thúc
- N
ế
u không b
ướ
c 4
Bước 4: Cải tiến PA ( Tìm pacb tốt hơn)
Tìm pacb
1 2 n
x ' (x ' , x ' , , x ' )
=
t

t h
ơ
n pacb x: f(x’) <= f(x)
L

p b

ng
đơ
n hình m


i t

b

ng
đơ
n hình c
ũ
nh
ư
sau
a) Chọn ẩn đưa vào hệ ẩn cơ bản

Ch

n s sao cho
{
}
v k k
max 0
∆ = ∆ ∆ >
.
Chọn cột có
k

dương lớn nhất .
Khi
đ
ó x

v


n mà ta s


đư
a
vào h



n c
ơ
b

n.
b) Chọn ẩn đưa ra khỏi hệ ẩn cơ bản
Ch

n
j
r
r jv
rv jv
b
b
min j J(x) và z 0
z z
 

 
 
λ = = ∈ >
 
 
 
 
 
 
. Khi
đ
ó

n x
r


n
đư
a ra kh

i h

c
ơ
b

n.
Bước 5: Tìm phần tử chốt
Ph


n t

ch

t là ph

n t

giao gi

a

n
đư
a vào và

n
đư
a ra: z
rv

Bước 6: Biến đổi bảng

Trong cộ
t

n c
ơ
b


n ta thay x
r
b

ng x
v
. Trong c

t h

s

ta thay c
r
b

ng c
v
.


Dùng phép bi
ế
n
đổ
i
r
r
rv

h
h
z
=
: ngh
ĩ
a là hàng r m

i = hàng r c
ũ
/ph

n t

ch

t.



V

i các hàng
i r

ta dùng phép bi
ế
n
đổ
i:


jv rk
'
jk jk
rv
z * z
z z
z
= −
rk rv
jk jv
z z
z ? z
   
   
   
   
   
   
   








Bước 7: Quay về bước 2
z

rv
z
rv
z
rv
z
rv
Ph

n t

ch

t

nhân

chia

Ths
Đứ
c 0972 670 808 4

*Lưu ý:
Quy t

c ch

s


bé nh

t c

a R.G.Bland
*Trong các c

t có

d
ươ
ng thì ta ch

n c

t có ch

s

nh

nh

t
* N
ế
u có nhi

u
r

λ
để
ch

n thì ch

n dòng có ch

s

nh

nh

t.
Bài 5: Bài toán Đối ngẫu
1. Quy tắc thành lập bài toán Đối ngẫu
* Hàm m

c tiêu c

a Bài toán (BT) g

c

min(max)

Hàm mục tiêu của BT Đối ngẫu

min(max)

*
H

s

c

a hàm m

c tiêu c

a BT g

c là h

s

v
ế
ph

i c

a ràng bu

c chung c

a BT
Đố
i ng


u.
H

s

v
ế
ph

i c

a ràng bu

c chung c

a BT g

c là h

s

c

a hàm m

c tiêu c

a BT
Đố

i ng

u
* Ma tr

n h

s

c

a BT g

c l

y chuy

n v

thành ma tr

n h

s

c

a BT
Đố
i ng


u.
* S

ràng bu

c chung c

a BT g

c là s

bi
ế
n c

a BT
Đố
i ng

u
*Quy t

c v

d

u nh
ư
sau:

D

u m

t ràng bu

c chung c

a bài toán g

c quy
đị
nh d

u c

a m

t ràng bu

c bi
ế
n t
ươ
ng

ng cùa BT
Đố
i
ng


u
D

u m

t ràng bu

c bi
ế
n c

a BT g

c quy
đị
nh d

u c

a m

t ràng bu

c chung t
ươ
ng

ng c


a BT
Đố
i
ng

u.

Cách nhớ:
Bài toán gốc min: ràng buộc chung cùng dấu, ràng buộc biến trái dấu.
Bài toán gốc max: ràng buộc chung trái dấu, ràng buộc biến cùng dấu.
Ví d

:
1 2 4 1 2 3
1 2 3 4 1 2 3
2 3 4 1 2 3
1 2 3
1 2 3 4 1 2 3
1 2 3 4 1 2 3
f (x) x 2x 3x min BT DN g(y) 7y y 2y max
x 3x 4x x 7 y 0y 5y 1
x 2x 6x 1 3y y 5y 2
, y 0, y 0, y tùy ý
5x 5x x 8x 2 4y 2y y 0
x 0, x 0, x , x tùy ý y 6y 8y 3
1 3 4 1
A 0 1 2 6
5
= − + → = + − →
+ + + ≥ + + ≤

 
 
− + + ≤ − + ≥ −
 
≥ ≤
 
+ + + = − + + =
 
 
≥ ≤ + + =
 
= −
T
1 0 5
3 1 5
A
4 2 1
5 1 8
1 6 8
 
 
 

 
 
=
 
 
 
 

 
 

Ths
Đứ
c 0972 670 808 5

2. Cách tìm PATU của BT Đối ngẫu
* T

PATU c

a Bài Toán g

c (BT
Đố
i ng

u)
(
)
1 2 n 1 2 n
x ' (x ' , x ' , , x ' ) hoac y ' (y ' , y' , , y ' )
= =
ta th
ế

vào các ràng bu

c chung c


a BT g

c
(
BT
Đố
i ng

u
).
* Ki

m tra xem trong các ràng bu

c chung BT g

c n
ế
u ràng bu

c nào không x

y ra d

u ‘=’ thì

n
t
ươ

ng

ng trong BT
Đố
i ng

u s

‘=0’
* Ng
ượ
c l

i n
ế
u trong PA
1 2 n
x ' (x ' , x ' , , x ' )
=
c

a BT g

c, giá tr


'
i
x 0
>

thì ph
ươ
ng trình th

i trong
BT
Đố
i ng

u s

x

y ra d

u ‘=’.




×