X - WordPress.com

Download Report

Transcript X - WordPress.com

Chương III: BÀI TOÁN VẬN TẢI
I. ĐỊNH NGHĨA VÀ MỘT SỐ TÍNH
CHẤT
m
n
Định nghĩa 1
(1) f    c ij x ij  m in
i 1 j 1
Btvt TQ có dạng:
n
( 2 )  x ij  a i
 i  1, m 
j 1
m
( 3)  x ij  b j
i 1
( 4 ) x ij  0
 j  1, n 
Dạng bảng của btvt:
T B1
B2
… Bj
… Bn
c11
c12
c1j
c1n
…
Ai
ci1
ci2
cij
cin
…
Am cm1
cm2
Cmj
cmn
P
A1
Thu
T1
35 tấn
hàng
T2
25 tấn
hàng
T3
45 tấn
hàng
Phát
P1
30 tấn
hàng
5
2
3
P2
75 tấn
hàng
2
1
1
Lưu ý:
+Mỗi hàng Ai đại diện cho một trạm phát.
+Mỗi cột Bj đại diện cho một trạm thu.
+Ô(i,j) đại diện cho tuyến đường vận tải
hàng từ trạm phát thứ i đến trạm thu thứ j.
+Điều kiện cân bằng thu phát là đk:
m
a
i 1
n
i

b
j 1
j
+ PA của btvt viết dưới dạng ma trận:
 x11

x  ...

x
 m1
...
...
...
x1 n 

...   x ij 

m n

xmn 
Định lý 1:
Btvt cân bằng thu phát luôn có PATƯ.
Định nghĩa 2:
• Tập hợp các ô của bảng vận tải mà cứ hai
ô liên tiếp thì nằm trên cùng một dòng hay
một cột và một dòng hay một cột đó không
chứa quá hai ô được gọi là một đường đi.
X
X
X
X
X
X
• Một đường đi khép kín được gọi là một
chu trình.
X
X
X
X
X
X
Định lý 2: Một bảng vận tải m dòng, n cột
thì tập hợp các ô không chứa chu trình có
tối đa là (m+n-1) ô.
Định nghĩa 3: Trong một PA,
ô có vận tải hàng đi qua ứng với xij>0 được
gọi là ô chọn. Ô có xij=0 gọi là ô loại.
Chú ý: ta thường dùng x để chỉ ô chọn.
Định lý 3: X là PACB của btvt khi và chỉ
khi X có tập hợp các ô chọn không chứa
chu trình.
Định nghĩa 4: PACB gọi là không suy biến
nếu số ô chọn =m+n-1. PACB gọi là suy
biến nếu số ô chọn <(m+n-1).
X
X
X
X
X
X
X
X
X
X
X
* Đưa PACB suy biến về PACB không suy
biến, ta bổ sung thêm các ô loại cho đủ
(m+n-1) ô chọn không chứa chu trình. Các
ô loại bổ sung đó được gọi là ô chọn 0.
Định lý 3. Cho bảng vận tải có m dòng, n
cột, cho E={(m+n-1) ô không chứa chu
trình}, ô ( i , j )  E . Khi đó,
E 1  E   ( i , j )  chứa duy nhất một chu
trình V.
E 2  E 1 \  ( i *, j *) / ( i *, j *)  V  sẽ không
chứa chu trình.
(Vậy: E là PACB cũ, E2 là PACB mới).
II. Phương pháp tìm PACB
1. Phương pháp “min cước”:
nghĩa là ưu tiên phân phối hàng nhiều nhất
vào ô có cước phí rẻ nhất!
Ví dụ 1. Tìm PACB của bt sau:
30 40 50
80 1
5 7
45 5
7 4
55 12 2 3
60
2
9
6
Bằng “pp min cước” ta nhận được PACB:
30
80 1 x
40
5
50
7
60
2 x
30
45 5
55 12
50
7
2
4
x 9
35
x
3 x
6
40
15
x
10
 30

x 0

 0

0
0
0
35
40
15
50 

10

0 
Nghĩa là:
+ Chuyển 30 (đvh) từ t.phát 1 đến t.thu 1,
+ Chuyển 50 (đvh) từ t.phát 1 đến t.thu 4 ,
+ Chuyển 35 (đvh) từ t.phát 2 đến t.thu 3,
+ Chuyển 10 (đvh) từ t.phát 2 đến t.thu 4,
+ Chuyển 40 (đvh) từ t.phát 3 đến t.thu 2,
+ Chuyển 15 (đvh) từ t.phát 3 đến t.thu 3.
Cước phí
f(x)=1.30+2.50+4.35+9.10+2.40+3.15
= 455(đvtt).
III. Phương pháp giải btvt
1. PP “qui 0 cước phí các ô chọn”.
a. Định lí.
Cho btvt ma trận cước phí C=(cij). Nếu
cộng vào hàng thứ i của ma trận C một số
tùy ý ri và cộng vào cột j một số tùy ý sj ta
nhận được btvt mới với cước phí C’=(c’ij)
với c’ij=cij+ri+sj. Hai btvt trên là tương
đương.
b. Thuật toán: gồm 3 bước.
B1) “Qui 0 ô chọn” PACB x: dựa vào định
lí trên để chọn một bộ (ri, sj) sao cho tại các
ô chọn cước phí mới cij’đều =0.
B2) Điều kiện tối ưu.
+ c’ij≥0 với mọi i,j → PA x tối ưu.
+ Tồn tại một cước phí c’ij<0 → có PA mới
tốt hơn PA x.
B3) Tìm PA mới (trên bảng cước phí C’)
+ Ô đưa vào: ô có cước phí âm bé nhất.
+Xác định chu trình V, đánh số chẵn lẻ cho
V bắt đầu số 1 từ ô đưa vào: VC, VL
 m in  x ij : ( i , j )  V
C
 x
0
i j
0
 xio j0
là lượng hàng điều chỉnh PA mới và (i0,j0)
là ô đưa ra.
L
+PA mới:
 x ij  x 0 0 ( i , j )  V
i j

C
x ij   x ij  x i 0 j 0 ( i , j )  V

(i , j )  V
 x ij
Ví dụ 1: Giải btvt sau:
j
30
40
50
60
i
80
1
5
7
2
45
5
7
4
9
55
12
2
3
6
Bằng pp min cước ta tìm PACB
j
i
80
30
40
1
50
60
5
7
2
X
30
45
5
7
4
9
55
12
2
3
6
j 30
i
80
40
1
5
50
7
60
2
X
X
50
30
45
5
7
4
9
55
12
2
3
6
j 30
i
80
40
1
5
50
7
60
2
X
X
50
30
45
5
7
4
9
55
12
2
3
6
X
40
j 30
i
80
40
1
5
50
7
60
2
X
X
50
30
45
5
7
4
9
55
12
2
3
6
X
40
X
15
80
30
1
40
5
50
7
60
2
X
X
30
45
5
50
7
4
X
9
X
35
55
12
2
3
X
6
X
40
10
15
Giải.
• Bài toán thỏa ĐK cân bằng thu phát:
Σhàng thu = Σ hàng phát = 180
• Tìm PACB ban đầu.
Bằng “pp min cước” ta có PACB:
 30

x  0

 0

0
0
0
35
40
15
50 

10


0 
có 6 ô chọn =m+n-1 nên X không suy biến.
Bước 1: “Quy không ô chọn” PA x: dựa
vào định lí ta chọn một bộ (ri, sj) sao cho
tại các ô chọn cước phí mới cij’đều =0.
Nên ta có hệ p.trình:
1  r1  s1  0, 2  r3  s 2  0

 2  r1  s 4  0, 3  r3  s 3  0
 4  r  s  0, 9  r  s  0

2
3
2
4
Hệ có 7 ẩn, 6pt →hệ VSN. Chọn một
nghiệm: cho r1=0 ta có s1=-1, s4=-2, r2=-7,
s3=3, r3=-6, s2=4.
1
5
7
2
r1=0
x
0
x
5
7
4
9
x
12
2
3
ta có C’:
r2=-7
x
-3
x
6
x
x
s1=- s2= s3= s4=1
4
3
2
9
r3=-6
10
x
4
0
0
x
5
0
0
0
x
x
x
-2
Bước 2: Kiểm tra ĐKTƯ.
Từ ma trận cước phí mới C’ ta thấy tồn tại
c’21<0 nên PA x chưa TƯ.
Bước 3: Tìm PA tốt hơn.
+ Ô đưa vào chu trình V: ô (2,1) (vì có
cước phí âm bé nhất).
+ Xác định chu trình V và đánh số chẵn lẻ
cho V bắt đầu số 1 từ ô (2,1) như ghi trên
bảng 1.
V={(2,1);(2,4);(1,4);(1,1)}.
V
L
0
-3
5
  (2,1); (1, 4) , V
(4) 9
x
(1) 4
x
0
C
  (2, 4); (1,1)
10
0
0
0
x
x
0
x
-2
(3)
x
(2)
x
 m in  x ij : ( i , j )  V
C
  m in 10, 30
 10  x 24
→ Lượng hàng điều chỉnh là 10,
ô(2,4) đưa ra.
+ Xác định PA mới:
 30  10

Y  0  10


0

0
0
0
35
40
15
50  10 

1 0  10


0

Bước 4: Xem Y là PA ban đầu ta quy không
ô chọn PA Y.
0
9
10
0
x
x
-3
4
0
x
5
0
r2=3
-2
r3=3
x
0
0
x
S1=0
r1=0
S2=-3
x
S3=-3 S4=0
Ta nhận được bảng cước phí mới C”:
0
6
7
0
x
0
x
4
0
x
8
3
x
0
0
x
1
x
Từ C” ta thấy mọi cước phí cij”≥0. Vậy Y
TƯ.
Nghĩa là:
+ Trạm phát 1 chuyển đến trạm thu 1: 20 t;
+ Trạm phát 1 chuyển đến trạm thu 4: 60 t;
+ Trạm phát 2 chuyển đến trạm thu 1: 10 t;
+ Trạm phát 2 chuyển đến trạm thu 3: 35t;
+ Trạm phát 3 chuyển đến trạm thu 2: 40t;
+ Trạm phát 2 chuyển đến trạm thu 3: 15t.
Cước phí
fmin(Y)=1.20+2.60+5.10+4.35+2.40+3.15
= 455(đvtt).
Ví dụ 2: Giải bài toán vận tải cho bởi bảng
vận tải sau:
j 50
40
70
i
80
5
5
12
20
7
9
11
60
4
2
3
j
i
80
50
40
5
5
70
12
50
20
7
30
9
11
20
60
4
2
3
40
20
Giải.
• Bài toán thỏa ĐK cân bằng thu phát:
Σhàng thu = Σ hàng phát = 160
• Tìm PACB ban đầu.
Bằng “pp min cước” ta có PACB:
 50

x  0

 0

0
0
0
0
0
40
30 

30


20 
có 5 ô chọn =m+n-1 nên X không suy biến.
Bước 1: “Quy không ô chọn” PA x: ta chọn
một bộ (ri, sj) như ghi trên bảng 1.
Bảng 1
5
5
12
r1
=0
x
x
7
9
11
r2 =1
x
4
2
3
r3 =9
x
x
S1=-5
S2= -11
S3= -12
Ta có ma trận cước phí mới C’:
0
-6
0
x
3
x
-1
0
x
8
0
0
x
x
Chứng tỏ X chưa tối ưu, vì C’ còn ô cước
phí âm.
Bước 3: Xây dựng phương án mới.
+ô đưa vào: ô (1,2) (cước phí âm bé nhất).
Xác định chu trình V trong bảng 2.
Bảng 2:
0
-6
(1) 0
(2)
x
*
x
3
-1
0
x
8
0
(4) 0
(3)
x
x
 m in  x ij : ( i , j )  V
C
  m in 40, 30
 30  x14
→ Lượng điều chỉnh là 30, ô(1,4) đưa ra.
+ Xác định PA mới:
 50

Y  0

 0

0
0  30
0
0
0
40  3 0
30  30   50
 
30
 0
 
20  30   0
0
30
0
0
0
10
Bước 4: Quy không ô chọn PA Y. …
0 

30

50 
IV. Các dạng đặc biệt của bt vận tải
1. Bt không cân bằng thu phát:
+ Σai hàng phát > Σbj hàng thu: thêm cột
thu giả với lượng hàng bằng (Σai-Σbj).
+ Σai hàng phát < Σbj hàng thu: thêm hàng
phát giả với lượng hàng bằng (Σbj-Σai).
Lưu ý: +Các ô thộc cột thu giả, cột phát giả
gọi là ô phụ và đều có cước phi bằng 0;
khi hàng còn dư mới phân vào các ô phụ.
Ví dụ 1: Giải bài toán vận tải không cân
bằng thu phát cho bởi bảng vận tải sau:
j
40
50
80
i
90
6
1
1
40
5
7
4
70
4
11
3
+ Ta thêm trạm thu giả có lượng hàng là 30,
khi đó bt trở thành cân bằng thu-phát và
cước phí tại các ô phụ đều bằng 0.
j
40
50
80
30
i
90
6
1
1
0
40
5
7
4
0
70
4
11
3
0
2. Bài toán có ô cấm.
Những ô cấm đại diện cho tuyến đường
không thể qua được. Chẳng hạn như : cầu
gãy, phà hư…
Để giải bài toán có ô cấm ta xem ô cấm
như ô bình thường có cước phí vận chuyển
thay bằng M (M là số vô cùng lớn) rồi giải
bt bình thường. Lưu ý: Nếu bt(M) có PATƯ
và tồn tại ô cấm được phân hàng thì bt gốc
không có PATƯ.
Ví dụ 2: Giải bài toán vận tải có ô cấm cho
bởi bảng vận tải sau:
j
65
i
80
4
90
3
70
6
75
2
100
1
5
7
8
Ta thay cước phí của ô cấm bằng M, sau đó
ta giải bt như trường hợp không có ô cấm.
j
65
i
80
4
90
3
70
6
75
2
1
M
7
100
5
8
3. Bài toán vận tải có f(x) → max.
Ta giải bình thường như bt có f(x)→min
với lưu ý:
+Tìm PACB ban đầu: Phân phối hàng nhiều
nhất vào ô có “cước phí lớn nhất”!
+ĐKTƯ: mọi c’ij ≤0
+Ô đưa vào : là ô có cước phí dương lớn
nhất.
Ví dụ:
Một phân xưởng có 2 công nhân nữ và 3
công nhân nam. Phân xưởng có một máy
tiện loại I và 2 máy tiện loại II, 2 máy tiện
loại III. Năng suất công nhân đứng trên
mỗi loại máy được cho trong bảng (đơn vị
là chi tiết/ngày):
Máy
CN
Nữ: 2
I: 1
10
Nam: 3 8
II: 2
III: 2
8
7
9
11
Tìm PA phân công công nhân đứng máy để
cuối ngày thu được nhiều sản phẩm nhất.
Bài tập: 1.Giải bài toán vận tải sau:
j
40
50
80
30
i
90
2
4
4
2
40
5
7
1
1
70
4
8
3
6
2.Giải btvt sau:
35
25
45
30 5
2
3
75 2
1
1