Chương III: BÀI TOÁN VẬN TẢI I. ĐỊNH NGHĨA VÀ MỘT SỐ TÍNH CHẤT Định nghĩa 1 Btvt TQ có dạng: 1 1 1 1 (1) min (2) 1, (3) 1, (4) 0 m n ij ij i j n ij i j m ij j i ij f cx x a i m x b j n x
Chương III: BÀI TOÁN VẬN TẢI
I. ĐỊNH NGHĨA VÀ MỘT SỐ TÍNH CHẤT
Định nghĩa 1
Btvt TQ có dạng:
1 1
1
1
(1) min
(2) 1,
(3) 1,
(4) 0
m n
ij iji j
n
ij ij
m
ij ji
ij
f c x
x a i m
x b j n
x
Dạng bảng của btvt:
T P
B1 B2 … Bj … Bn
A1 c11 c12 c1j c1n
…
Ai ci1 ci2 cij cin
…
Am cm1 cm2 Cmj cmn
Thu
Phát
T1
35 tấn hàng
T2
25 tấn hàng
T3
45 tấn hàng
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:
1 1
m n
i ji j
a b
+ PA của btvt viết dưới dạng ma trận:
Định lý 1: Btvt cân bằng thu phát luôn có PATƯ.
11 1
i
1
j
...
... ... ...
...
n
mn
n
m
m
x x
x x
x x
Đị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
X X
X X
X X
• Một đường đi khép kín được gọi là một chu trình.
Đị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.
X X
X X
X X
X X
X X
X
Đị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).
* Đư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}, ô . Khi đó,
chứa duy nhất một chu trình V.
sẽ không chứa chu trình.
(Vậy: E là PACB cũ, E2 là PACB mới).
( , )i j E 1 ( , )E E i j
2 1 \ ( *, *) / ( *, *)E E i j i j V
Ví dụ 1. Tìm PACB của bt sau:30 40 50 60
80 1 5 7 2
45 5 7 4 9
55 12 2 3 6
II. Phương pháp tìm PACB1. 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!
30 40 50 60
80 1 x 30
5 7 2 x50
45 5 7 4 x 35
9 x 10
55 12 2 x 40
3 x 15
6
Bằng “pp min cước” ta nhận được PACB:
30 0 0 50
0 0 35 10
0 40 15 0
x
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 btvt1. 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
là lượng hàng điều chỉnh PA mới và (i0,j0) là ô đưa ra.
+PA mới:
0 0
0 0
( , )
( , )
( , )
Lij i j
Cij ij i j
ij
x x i j V
x x x i j V
x i j V
0 0 0min : ( , ) o
Cij i j i j
x i j V x x
Ví dụ 1: Giải btvt sau:
j i
30 40 50 60
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
ji
30 40 50 60
80 1X
30
5 7 2
45 5 7 4
9
55 12 2
3
6
ji
30 40 50 60
80 1X
30
5 7 2X
50
45 5 7 4
9
55 12 2
3
6
ji
30 40 50 60
80 1X
30
5 7 2X
50
45 5 7 4
9
55 12 2X
40
3
6
ji
30 40 50 60
80 1X
30
5 7 2X
50
45 5 7 4
9
55 12 2X
40
3X
15
6
30 40 50 60
80 1X
30
5 7 2X
50
45 5 7 4X35
9X
10
55 12 2X
40
3X
15
6
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 0 0 50
0 0 35 10
0 40 15 0
x
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 1 3 2
1 4 3 3
2 3 2 4
1 0, 2 0
2 0, 3 0
4 0, 9 0
r s r s
r s r s
r s r s
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 x
5 7 2
x
r1=0
5 7 4
x
9
x
r2=-7
12 2
x
3
x
6 r3=-6
s1=-1
s2=4
s3=3
s4=-2
0
x
9 10 0
x
-3 4 0
x
0
x
5 0
x
0
x
-2
ta có C’:
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)}.
(2,1); (1,4) , (2,4); (1,1)L CV V
0 (4)x
9 10 0 (3)
x
-3 (1) x
4 0 x
0 (2) x
5 0 x 0 x -2
→ Lượng hàng điều chỉnh là 10,
ô(2,4) đưa ra.
24
min : ( , ) min 10,30
10
Cijx i j V
x
+ Xác định PA mới:0 0
0
0 0
Y
30 10
13 0 10
50 10
0 1
5
0 5
40 1
Bước 4: Xem Y là PA ban đầu ta quy không ô chọn PA Y.
0 x
9 10 0 x
r1=0
-3 x
4 0 x
0 r2=3
5 0 x
0 x
-2 r3=3
S1=0 S2=-3 S3=-3 S4=0
0 x
6 7 0 x
0 x
4 0 x
3
8 0 x
0 x
1Từ C” ta thấy mọi cước phí cij”≥0. Vậy Y TƯ.
Ta nhận được bảng cước phí mới C”:
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:
3
2
460
11
9720
1255
80
704050 ji
ji
50 40 70
80 5 50
5 12 30
20 7 9 11 20
60 4 2 40
3 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 0 0 30
0 0 0 30
0 0 40 20
x
có 5 ô chọn =m+n-1 nên X không suy biến.
5 x
5 12 x
7 9 11 x
4 2 x
3 x
S1=-5 S2= -11
r1 =0
S3= -12
r2 =1
r3 =9
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
0 x
-6 0 x
3 -1 0 x
8 0 x
0 x
Chứng tỏ X chưa tối ưu, vì C’ còn ô cước phí âm.
Ta có ma trận cước phí mới C’:
0 x
-6 (1) *
0 (2) x
3 -1 0 x
8 0 (4) x
0 (3) x
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:
→ Lượng điều chỉnh là 30, ô(1,4) đưa ra.
14
min : ( , ) min 40,30
30
Cijx i j V
x
+ Xác định PA mới:
0 0
0 0 0 0
0 0
0 30 30
3 20
5 3 3
130 0
3
0
5
50
3Y
0 0
0
40
0
0
0
0
0
0
0
0
Bước 4: Quy không ô chọn PA Y. …
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:
ji
40 50 80
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.
ji
40 50 80 30
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:
ji
65 75 100
80 4
2 1
90 3 5
70 6 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.
ji
65 75 100
80 4
2 1
90 3 M 5
70 6 7
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áyCN
I: 1 II: 2 III: 2
Nữ: 2 10
8 7
Nam: 3 8 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:
63
8
470
1
1
7540
2
442
90
30805040 ji
2.Giải btvt sau:
35 25 45
30 5 2 3
75 2 1 1