You are on page 1of 124

BÀI TOÁN VẬN TẢI

CHƯƠNG 2
2

GIỚI THIỆU MÔ HÌNH BTVT

• Có m kho hàng (điểm phát) (𝐴1 , 𝐴2 , … , 𝐴𝑚) với trữ lượng


tương ứng (𝑎1 , 𝑎2 , … , 𝑎𝑚).
• Có n đại lý (điểm thu) (𝐵1 , 𝐵2 , … , 𝐵𝑚) cần mua lượng hàng
tương ứng 𝑏1 , 𝑏2 , … , 𝑏𝑛 từ các kho trên.
• 𝑐𝑖𝑗 là cước phí vận chuyển một đv hàng từ 𝐴𝑖 sang 𝐵𝑗.
𝐵1 𝐵2 𝐵3 𝐵𝑛−1 𝐵𝑛
𝑐1𝑛
𝑐21 𝑐13

𝑐22 𝑐𝑚−1,𝑛

𝑐11 𝑐𝑚−1,𝑛−1
𝑐12 𝑐1,𝑛−1 𝑐𝑚𝑛

𝐴1 𝐴2 𝐴𝑚−1 𝐴𝑚
3

GIỚI THIỆU MÔ HÌNH BTVT

• Gọi 𝑥𝑖𝑗 là lượng hàng được vận chuyển từ 𝐴𝑖 đến 𝐵𝑗 , khi


đó chi phí vận chuyển từ 𝐴𝑖 đến 𝐵𝑗 là 𝑐𝑖𝑗 𝑥𝑖𝑗
• Và, toàn bộ chi phí (TC) vận chuyển từ tất cả điểm phát
đến các điểm thu là
m n
TC =  cij xij
i =1 j =1

= c11 x11 + c12 x12 + + c1n x1n +


c21 x21 + c22 x22 + + c2 n x2 n +
+
cm1 xm1 + cm 2 xm 2 + + cmn xmn
4

GIỚI THIỆU MÔ HÌNH BTVT

• Khi đó, ta xét mô hình bài toán sau nhằm cực tiểu hóa
cước phí vận chuyển

Cực tiểu σ𝑚
𝑖=1 σ𝑛
𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗

thỏa σ𝑛𝑗=1 𝑥𝑖𝑗 ≤ 𝑎𝑖 , 𝑖 = 1, … , 𝑚 (1)

và 𝑖=1 𝑥𝑖𝑗 ≥ 𝑏𝑗 , 𝑗 = 1, … , 𝑛 (2)


σ𝑚

với 𝑥𝑖𝑗 ≥ 0, ∀𝑖, 𝑗


• RB (1) & RB (2) ?
• Bài toán trên đảm bảo tổng cung σ𝑚 𝑖=1 𝑎𝑖 phải đủ để đáp
ứng nhu cầu ở các đại lý σ𝑛𝑗=1 𝑏𝑗 . Khi σ𝑚
𝑖=1 𝑎𝑖 = σ 𝑗=1 𝑏𝑗 , ta
𝑛

có mô hình BTVT cân bằng thu phát


5

BTVT CÂN BẰNG THU PHÁT

Mô hình bài toán CBTP


m n
f ( X ) = cij xij → min
i =1 j =1
n

x
j =1
ij = ai , i = 1, m;
m

x
i =1
ij = b j , j = 1,, n
xij  0 , i = 1, m, j = 1, n
6

SỰ TỒN TẠI PHƯƠNG ÁN

Xây dựng phương án (luôn tồn tại)


m n
d =  ai =  b j
i =1 j =1

xij = aib j / d (i = 1, m, j = 1, n)
n n

x
j =1
ij = ai  b j / d = ai
j =1
m m

x
i =1
ij = b j  ai / d = b j
i =1
7

SỰ TỒN TẠI NGHIỆM CB TỐI ƯU

• Do cij  0, xij  0 , i = 1,, m; j = 1,, n. nên


m n
f ( x) =  cij xij  0
i =1 j =1

• Vậy bài toán có hàm mục tiêu luôn bị chận dưới.


8

SỰ TỒN TẠI NGHIỆM CB TỐI ƯU

• Vậy bài toán bị chặn dưới và có phương án nên bài toán


luôn có phương án cực biên tối ưu
• Do tính đặc biệt ta sẽ thể hiện bài toán này ở dạng bảng
(vẫn có thể áp dụng kiến thức chương 1 để giải nhưng
không khuyên dùng )
9

MÔ HÌNH DẠNG BẢNG

Thu
b1 b2 … bn
Phát
c11 c12 … c1n
a1
c21 c22 … c2n
a2

… … … …

cm1 cm2 … cmn


am
10

MÔ HÌNH DẠNG BẢNG

• Nhu cầu phát – thu hàng

Điểm phát Lượng hàng Điểm thu Lượng hàng


A1 10 B1 16
A2 15 B2 8
A3 5 B3 6
• Ma trận cước phí cho mỗi đv hàng
B1 B2 B3
A1 6 3 3
A2 5 3 5
A3 4 2 6
11

Thu
Phát
16 8 6

6 3 3
10

5 3 5
15

4 2 6
5
12

MỘT SỐ KHÁI NIỆM

• Ô chọn: ô có giá trị 𝑥𝑖𝑗 > 0, (ô cơ sở)

• Ô loại: Là ô có 𝑥𝑖𝑗 = 0

• Dây chuyền: là một dãy các ô chọn liên tiếp nhau (không nhất thiết
liền kề nhau) sao cho khi đi qua mỗi dòng chỉ lấy 2 ô, qua mỗi cột
cũng chỉ lấy 2 ô

• Chu trình (vòng): Là dây chuyền khép kín

• Số ô ít nhất của một chu trình là 4.


13

VD: TÌM TẤT CẢ CHU TRÌNH TRONG BẢNG VẬN TẢI SAU

Thu 6000 4000 2000 1500


Phát

5000 3 2 7 6
1000 3000 1000
6000 7 5 2 3
4000 1000 1000

2500 2 5 4 5
1000 1000 500
14

VD: TÌM TẤT CẢ CHU TRÌNH TRONG BẢNG VẬN TẢI SAU
15

MỘT SỐ KHÁI NIỆM (TT)

• Phương án có tập hợp các ô chọn không tạo thành chu


trình được gọi là PA cực biên
• PACB 𝑋 = (𝑥𝑖𝑗) được gọi là:
• Không suy biến nếu có số ô chọn bằng m+n-1
• Suy biến nếu số ô chọn ít hơn m+n-1

• Gọi X là PACB không suy biến, khi đó một ô loại bất kỳ sẽ


tạo thành 1 chu trình duy nhất với số ô chọn đang có (chu
trình không nhất thiết phải đi qua tất cả các ô chọn)
16

PHƯƠNG PHÁP TÌM PACB XUẤT PHÁT

Có nhiều phương pháp để tìm PACB xuất phát, mỗi phương


pháp đều có ưu, nhược điểm riêng, điển hình như:
• Min cước
• Góc Tây-Bắc
• Vogel
• …
Nhìn chung, nguyên tắc quan trọng nhất để tìm PACB là khi
phân phối lượng hàng vào 1 ô, ta luôn phân phối tối đa có
thể.
17

PHƯƠNG PHÁP GÓC TÂY-BẮC (THAM KHẢO)

• Bước 1. Phân lượng hàng h = min{a1, b1} vào ô (1,1) (ô


Tây-Bắc)

• Bước 2. Đánh dấu hàng (cột), theo đó lượng hàng ở trạm


phát (trạm thu) tương ứng đã hết (đã đủ)

• Bước 3. Phân hàng vào ô liền kề lượng hàng còn thiếu cho
tới ô cuối cùng (m,n).
18
PHƯƠNG PHÁP CỰC TIỂU HÓA CƯỚC PHÍ (MIN-CƯỚC)

• Bước 1. Chọn ô có cước phí thấp nhất để phân hàng giả


sử là ô (i,j).

• Bước 2. Phân lượng hàng h = min{ai, bj} vào ô (i,j)

• Bước 3. Cập nhật lượng hàng có thể phân phối ở từng


trạm thu/phát.

• Bước 4. Thực hiện bước 1-3 ở những ô còn lại cho tới khi
hết hàng.

• Lưu ý: luôn phân phối tối đa lượng hàng


19

VD: PHƯƠNG PHÁP MIN-CƯỚC

60 200 140 200

100 3 2 7 6

300 7 5 2 3

200 2 5 4 5
20

VD: MIN-CƯỚC (TT)

13 7
6 3
10
5 3
5
4 2
5
21

VD: MIN-CƯỚC (TT)

30 25 35 40

45 9 1 2 7

50 5 4 6 2

35 5 6 1 3
22

GIẢI BÀI TOÁN VẬN TẢI


BẰNG PHƯƠNG PHÁP THẾ VỊ
23

XÂY DỰNG HỆ THỐNG THẾ VỊ

• 𝑋 = (𝑥𝑖𝑗) được gọi là phương án tối ưu của BTVT khi và chỉ


khi tồn tại các giá trị 𝑢𝑖 và 𝑣𝑗 thỏa

ui + v j  cij ,  (i, j )
ui + v j = cij , xij  0

• ui , i = 1,, m : thế vị hàng

• v j , j = 1,, n : thế vị cột.


24

THUẬT TOÁN THẾ VỊ

Thuật toán thế vị giải BTVT cân bằng thu phát nhìn chung
gồm 4 bước sau:
• Bước 1: tìm PACB xuất phát
• Bước 2: tìm hệ thống thế vị
• Bước 3: kiểm tra điều kiện tối ưu, nếu vẫn chưa tối ưu,
sang bước 4
• Bước 4: xác định PA mới tốt hơn và thực hiện lại bước 2
25

THUẬT TOÁN THẾ VỊ: BƯỚC 1

Tìm PACB xuất phát X0= (xij)mxn


• Sử dụng một trong các phương pháp đã trình bày ở trên
để tìm phương án cực biên xuất phát, nên dùng PP min-
cước
• Trong trường hợp PACB suy biến : thêm ô loại (sao cho
không tạo thành chu trình với các ô chọn đang có) vào
phương án.
26

BƯỚC 2: XÂY DỰNG HỆ THỐNG THẾ VỊ

• Với mọi ô chọn (𝑖, 𝑗), tính 𝑢𝑖 và 𝑣𝑗 theo công thức

ui + v j = cij
• Do hệ trên có 𝑚 + 𝑛 − 1 phương trình, 𝑚 + 𝑛 ẩn nên có vô
số nghiệm; thường cho 𝑢1 = 0 rồi tính các thế vị khác
theo 𝑢1.
27

BƯỚC 3: KIỂM TRA ĐIỀU KIỆN TỐI ƯU

• Ở các ô loại, tính ước lượng  ij = ui + v j − cij


• Có hai khả năng xảy ra:
• Nếu mọi Δ𝑖𝑗 ≤ 0 thì phương án đang xét là tối ưu (thuật toán kết
thúc).
• Nếu tồn tại Δ𝑖𝑗 > 0 thì phương án đang xét chưa tối ưu, chuyển
sang bước 4
28

BƯỚC 4: TÌM PA MỚI

• Xác định ô điều chỉnh (r,s) là ô có

 rs = max { ij }
i =1,,m ;
j=1,,n
• Xác định chu trình điều chỉnh V đi qua ô điều chỉnh và các
ô chọn
• Đánh dấu V theo qui tắc: ô (r,s) đánh dấu (+) rồi xen kẽ
nhau đánh dấu (-),(+)... cho đến hết chu trình. Ký hiệu V+
là tập hợp các ô có dấu (+), V- là tập hợp các ô có dấu (-).
29

MINH HỌA THUẬT TOÁN

• Giải BTVT cân bằng thu phát, yc 𝑓 → min sau:

150 200 150 100


100 14 9 8 10

300 12 18 11 6

200 9 10 13 11
BƯỚC 1+2+3+4

150 200 150 100 ui

14 9 8 10
100
[100]
12 18 11 6
300
[150] [50] [100]
9 10 13 11
200
[150] [50]

vj
31

BƯỚC 4: TÌM PA MỚI

• Xác định lượng điều chỉnh



q = min{xij | (i, j ) V }
• Phương án mới: X’ = (x’ij)mxn với:

xij = xij ,(i, j ) V



xij = xij + q,(i, j ) V +


xij = xij − q,(i, j ) V −

Sang bảng VT mới, thực hiện lại bước 2-3(4);


32

BẢNG 2

150 200 150 100 ui

14 9 8 10
100
[100]
12 18 11 6
300
[50] [150] [100]
9 10 13 11
200
[150] [50]

vj
33

BẢNG 3

150 200 150 100 ui

14 9 8 10
100
[100]
12 18 11 6
300
[50] [150] [100]
9 10 13 11
200
[100] [100]

vj
34

KẾT LUẬN

Do Δ𝑖𝑗 ≤ 0 , 𝑖 = 1,3, 𝑗 = 1,4


Tìm được PATU:
 0 100 0 0 
X * =  50 0 150 100 
 
100 100 0 
 0 
f min = f ( X * ) = ...
35

GIẢI BTVT 2

30 25 35 40

25 9 1 2 7

70 15 4 6 2

35 5 6 1 3
36

GIẢI BTVT 2

30 25 35 40

25 9 1 2 7

70 15 4 6 2

35 5 6 1 3
37

GIẢI BTVT 2

30 25 35 40

25 9 1 2 7

70 15 4 6 2

35 5 6 1 3
38

GIẢI BTVT 2

Kết luận:
Do Δ𝑖𝑗 ≤ 0 , 𝑖 = 1,3, 𝑗 = 1,4
Tìm được PATU:

 0 0 25 0 
X * =  0 25 5 40 
 
 30 0 5 0 
 
f min = f ( X * ) = ...
39

GIẢI BTVT 3

55 25 55 50

80 9 1 2 7

75 15 5 4 2

30 5 6 1 3
40

GIẢI BTVT 3

55 25 55 50

80 9 1 2 7

75 15 5 4 2

30 5 6 1 3
41

GIẢI BTVT 3

55 25 55 50

80 9 1 2 7

75 15 5 4 2

30 5 6 1 3
42

GIẢI BTVT 3

Kết luận:
Do Δ𝑖𝑗 ≤ 0 , 𝑖 = 1,3, 𝑗 = 1,4
Tìm được PATU:

X* =

f min = f ( X * ) = ...
43

BTVT KHÔNG CÂN BẰNG THU PHÁT

Ta xét hai trường hợp sau:

• Tổng phát lớn hơn tổng thu: một số điểm phát Ai không
phát hết, tất cả Bj thu đủ.

• Tổng phát nhỏ hơn tổng thu: tất cả điểm phát Ai phát hết,
một số điểm thu Bj thiếu hàng.
44

TỔNG PHÁT LỚN HƠN TỔNG THU

𝑓(𝑥) = σσ 𝑐𝑖𝑗𝑥𝑖𝑗 → min

σ𝑛𝑗=1 𝑥𝑖𝑗 ≤ 𝑎𝑖

σ𝑚
𝑖=1 𝑥𝑖𝑗 = 𝑏𝑗

𝑥𝑖𝑗 ≥ 0 (4)

và σ 𝑎𝑖 > σ𝑏𝑗, 𝑖 = 1, 𝑚, 𝑗 = 1, 𝑛
45

TỔNG PHÁT LỚN HƠN TỔNG THU

Cách làm:

• Thêm điểm thu (cột) giả có nhu cầu thu 𝑏𝑗+1 = σ 𝑎𝑖 − σ𝑏𝑗

cước vận chuyển đến điểm này là 𝑐𝑖(𝑗+1) = 0, ∀𝑖,

• Trong bài toán tìm phương án đầu là min cước phí thì
phân hàng vào cột giả sau cùng.

• Được bài toán cân bằng thu phát, bỏ đi các ô giả trong
PATU ta được PATU của BTVT gốc.
46

VD5: THU NHỎ HƠN PHÁT

B1: 10 B2: 15 B3: 10


10 12 4
A1: 15
9 8 3
A2: 10
4 5 2
A3: 15
47

VD5: THU NHỎ HƠN PHÁT

• BTVT có tổng phát > tổng thu: thêm điểm thu giả 𝐵4 có nhu cầu thu vào
𝑏4 = 𝑇𝑃 − 𝑇𝑇 = 5, cpvc 𝑐𝑖4 = 0, 𝑖 = 1,3.
• Dùng pp min cước để tìm PACB XP, tính thế vị
𝑢𝑖 + 𝑣𝑗 = 𝑐𝑖𝑗 ; 𝑢1 = 0

B1: 10 B2: 15 B3: 10 (B4): 5 𝑢𝑖


10 12 4
A1: 15
9 8 3
A2: 10
4 5 2
A3: 15

𝑣𝑗
48

VD5: THU NHỎ HƠN PHÁT

B1: 10 B2: 15 B3: 10 (B4): 5 𝑢𝑖


10 12 4
A1: 15
9 8 3
A2: 10
4 5 2
A3: 15

𝑣𝑗
49

VD5: THU NHỎ HƠN PHÁT

B1: 10 B2: 15 B3: 10 (B4): 5 𝑢𝑖


10 12 4
A1: 15
9 8 3
A2: 10
4 5 2
A3: 15

𝑣𝑗
50

VD5: THU NHỎ HƠN PHÁT

B1: 10 B2: 15 B3: 10 (B4): 5 𝑢𝑖


10 12 4
A1: 15
9 8 3
A2: 10
4 5 2
A3: 15

𝑣𝑗
51

TỔNG PHÁT NHỎ HƠN TỔNG THU

𝑓(𝑥) = σσ 𝑐𝑖𝑗𝑥𝑖𝑗 → min

σ𝑥𝑖𝑗 = 𝑎𝑖

σ𝑥𝑖𝑗 ≤ 𝑏𝑗

𝑥𝑖𝑗 ≥ 0 (4)

σ 𝑎𝑖 < σ𝑏𝑗, 𝑖 = 1 … 𝑚, 𝑗 = 1 … 𝑛
52

TỔNG PHÁT NHỎ HƠN TỔNG THU

Cách làm:

• Thêm?

• Trong bài toán tìm phương án đầu là min cước phí thì
phân hàng vào dòng giả sau cùng.

• Được bài toán cân bằng thu phát, bỏ đi các ô giả trong
PATU ta được PATU của BTVT gốc.
53

TỔNG PHÁT LỚN HƠN TỔNG THU

• Giải BTVT sau:

30 65 35 40
45 9 1 2 7
50 5 4 6 2
60 8 9 1 3
54

30 65 35 40
9 1 2 7
45
5 4 6 2
50
8 9 1 3
60
55

30 65 35 40
9 1 2 7
45
5 4 6 2
50
8 9 1 3
60
56

30 65 35 40
9 1 2 7
45
5 4 6 2
50
8 9 1 3
60
57

VD4: (GIẢI BTVT SAU)

30 25 35 40

25 9 1 2 7

50 5 4 3 2

30 8 6 4 3
58

VD5: THU LỚN HƠN PHÁT

30 25 35 40

25 9 1 2 7

50 5 4 3 2

30 8 6 4 3

(25) 0 0 0 0
59

VD5: THU LỚN HƠN PHÁT

30 25 35 40

25 9 1 2 7

50 5 4 3 2

30 8 6 4 3

(25) 0 0 0 0
60

VD5: THU LỚN HƠN PHÁT


61

BÀI TOÁN VẬN TẢI CÓ Ô CẤM

Phương pháp: Giả sử ô (i, j) là ô cấm

• B1: Thay cước phí ô cấm bằng M (là số dương lớn tùy ý) ta
có BTVT mở rộng.

• B2: Giải BTVT mở rộng với lưu ý khi tìm PACB xuất phát ta
phải ưu tiên phân phối hàng theo thứ tự:

ô bình thường -> ô giả -> ô cấm


62

BÀI TOÁN VẬN TẢI CÓ Ô CẤM

• B3: Kết luận


• Nếu PATƯ của BTVT mở rộng có lượng hàng trong tất cả ô cấm
bằng không thì bài toán gốc có PATƯ là PATƯ của BTVT mở rộng

• Nếu PATƯ của BTVT mở rộng có ít nhất 1 ô cấm có lượng hàng


dương thì bài toán gốc không có PATƯ
63

GIẢI BTVT 6 VỚI Ô (2,2) VÀ Ô (4,4) LÀ Ô CẤM


• Do ô (2,2) và (4,4) là ô cấm ⇒ thay cước phí ở 2 ô này là M, với M là số
dương lớn tùy ý.
• Dùng pp bậc ô cấm tìm PACB xp, tính thế vị...

100 100 25 75

110 8 15 16 10

140 10 M 9 14

50 10 14 11 M
64

GIẢI BTVT 6 VỚI Ô (2,2) VÀ Ô (4,4) LÀ Ô CẤM

100 100 25 75

110 8 15 16 10

140 10 M 9 14

50 10 14 11 M
65

GIẢI BTVT 6 VỚI Ô (2,2) VÀ Ô (4,4) LÀ Ô CẤM

100 100 25 75

110 8 15 16 10

140 10 M 9 14

50 10 14 11 M
66
67
GIẢI BTVT 7 VỚI Ô (2,2), (3,1) VÀ Ô (4,4) LÀ Ô CẤM

100 100 125 175

8 15 16 10
110

10 M 9 14
140

M 14 11 M
250
68
GIẢI BTVT 7 VỚI Ô (2,2), (3,1) VÀ Ô (4,4) LÀ Ô CẤM

100 100 125 175

8 15 16 10
110

10 M 9 14
140

M 14 11 M
250
69
GIẢI BTVT 7 VỚI Ô (2,2), (3,1) VÀ Ô (3,4) LÀ Ô CẤM

100 100 125 175

8 15 16 10
110

10 M 9 14
140

M 14 11 M
250
70
GIẢI BTVT 7 VỚI PACB XP LÀ MIN -CƯỚC

100 100 125 175

8 15 16 10 0
110
[100] M 0 [10]
10 M 9 14 0
140
0 0 [125] [15]
M 14 11 M -M
250
-M [100] -M [150]
0 M 0 0
71
GIẢI BTVT 7 VỚI PACB XP LÀ MIN -CƯỚC

100 100 125 175

8 15 16 10 0
110
[100] [10] M M
10 M 9 14 -M
140
-M -M [125] [15]
M 14 11 M 0
250
0 [90] M [160]
0 0 M M
72
GIẢI BTVT 7 VỚI PACB XP LÀ MIN -CƯỚC

100 100 125 175

8 15 16 10 0
110
[100] -M -M [10]
10 M 9 14 0
140
0 -2M -M [140]
M 14 11 M M
250
0 [100] [125] [25]
0 -M -M 0
73
GIẢI BTVT 7 VỚI Ô (2,2), (3,1) VÀ Ô (4,4) LÀ Ô CẤM
74
VD: GIẢI BTVT VỚI YC DÙNG PP MIN-CƯỚC TÌM PACBXP

Yêu cầu các trạm thu nhận đủ hàng và A2 phát hết hàng

T
B1:120 B2:130 B3:50
P
10 8 12
A1:100

15 10 14
A2:150

9 11 12
A3:80
75
VD: GIẢI BTVT VỚI YC DÙNG PP MIN-CƯỚC TÌM PACBXP

T
B1:120 B2:130 B3:50 (B4:30) ui
P
10 8 12 0 0
A1:100

15 10 14 M
A2:150

9 11 12 0
A3:80

vj
76
VD: GIẢI BTVT VỚI YC DÙNG PP MIN-CƯỚC TÌM PACBXP

T
B1:120 B2:130 B3:50 (B4:30) ui
P
10 8 12 0 0
A1:100

15 10 14 M
A2:150

9 11 12 0
A3:80

vj
77
VD: GIẢI BTVT VỚI YC DÙNG PP MIN-CƯỚC TÌM PACBXP

T
B1:120 B2:130 B3:50 (B4:30) ui
P
10 8 12 0 0
A1:100

15 10 14 M
A2:150

9 11 12 0
A3:80

vj
78

“BÀI TOÁN VẬN TẢI” MAX

Trong trường hợp 𝑐𝑖𝑗 là lợi nhuận, năng suất,…thì ta


có BTVT với hàm mục tiêu 𝑓 → max.
Để giải BTVT trong trường hợp này, ta có hai cách:

Cách 1:
Đặt 𝑔(𝑥) = −𝑓(𝑥) giải bài toán với cước phí mới là
− 𝑐𝑖𝑗 hàm mục tiêu 𝑔 → min. Khi được bảng VT tối
ưu, ta tính lợi nhuận tối ưu là: 𝑓𝑚𝑎𝑥 = −𝑔𝑚𝑖𝑛
79

“BÀI TOÁN VẬN TẢI” MAX

Cách 2: ta dùng thuật toán thế vị cho BTVT max

▪ Bước 1:
Tìm PACBXP (theo max lợi nhuận)
▪ Bước 2:
Dựa vào ô chọn để tính thế vị rồi tính Δ𝑖𝑗 (như cũ)
▪ Bước 3:
Điều kiện tối ưu: Δ𝑖𝑗 ≥ 0, ∀ (𝑖, 𝑗).
Nếu ∃ Δ𝑖𝑗 < 0 PA chưa tối ưu, sang Bước 4
▪ Bước 4:
Ô điều chỉnh (𝑟, 𝑠) là ô có Δ𝑟𝑠 = min{Δ𝑖𝑗 | Δ𝑖𝑗 < 0}.
VD: GIẢI BTVT MAX

50 18 32 20
30 26 6 10
40
27 14 9 4
25
5 13 11 20
30
9 16 7 12
25
81

• Dùng pp max-lợi nhuận để tìm PACB XP, tìm thế vị?, tính delta?

50 18 32 20

40 30 26 6 10

25 27 14 9 4

30 5 13 11 20

25 9 16 7 12
82

• Bảng 2

50 18 32 20

40 30 26 6 10

25 27 14 9 4

30 5 13 11 20

25 9 16 7 12
83

GIẢI BTVT 2

Kết luận:
Do Δ𝑖𝑗 ≥ 0 , 𝑖 = 1,4, 𝑗 = 1,4
Tìm được PATU:
 25 15 0 0 
 25 0 0 0 
X* = 
 0 0 10 20 
 
 0 3 22 0 
f max = f ( X * ) = ...
84

VÍ DỤ

Giải bài toán max sau với y/c trạm B2 thu đủ hàng:

90 60 80
6 1 5
80
2 2 6
70
4 3 8
30
85

VD: GIẢI BTVT MAX

T
B1:90 B2:60 B3:80 ui
P
-6 -1 -5
A1:80

-2 -2 -6
A2:70

-4 -3 -8
A3:30

0 +M 0
(A4:50)

vj
86

VD: GIẢI BTVT MAX

T
B1:90 B2:60 B3:80 ui
P
6 1 5
A1:80

2 2 6
A2:70

4 3 8
A3:30

0 -M 0
(A4:50)

vj
87

TÍNH DUY NHẤT CỦA PATU

Xét bảng VT TU
• Δ𝑖𝑗 ≠ 0, ∀ (𝑖, 𝑗) là ô loại: PATU duy nhất
• ∃ Δ𝑖𝑗 = 0, (𝑖, 𝑗) là ô loại: có thể có PATU khác

Cách tìm PATU khác

Chọn ô loại (𝑟, 𝑠) có Δ𝑟𝑠 = 0 làm ô điều chỉnh.


Xác định chu trình điều chỉnh và lượng điều chỉnh 𝑞

• Nếu 𝑞 = 0: PATU là duy nhất


• Nếu 𝑞 > 0: có PATU khác sau khi điều chỉnh
88
89
90

BÀI TOÁN XE KHÔNG


BÀI TOÁN ĐIỀU TÀU RỖNG
Ứng dụng BTVT
BÀI TOÁN XE KHÔNG

• Vai trò là cty vận tải


• Yêu cầu:
• Đảm bảo vận chuyển theo đúng yêu cầu của chủ hàng (ma trận
vận tải)
• Quãng đường xe chạy không tải (xe không) càng ngắn càng tốt
• Cùng quãng đường xe chạy không tải, tải trọng càng nhỏ càng tốt

• Từ những y/c trên, ta phải đưa ra lộ trình vận chuyển tối


ưu
MÔ HÌNH BÀI TOÁN

• Điểm phát Ai trở thành điểm thu xe không với y/c thu ai
(tấn xe không)

• Điểm thu Bj trở thành điểm phát xe không với y/c phát bj
(tấn xe không)

• Ma trận khoảng cách giữa Ai và Bj chính là ma trận chi phí


cho bài toán xe không

• Tại sao?
CÁCH GIẢI QUYẾT

• Đưa về dạng bài toán vận tải cực tiểu hóa chi phí và tìm
phương án tối ưu cho bài toán xe không bằng thuật toán
thế vị
• Kết hợp PATU của bài toán xe không và PAVT theo yêu
cầu vận chuyển, từ đó xác định lộ trình vận chuyển tối ưu
BÀI TOÁN XE KHÔNG

Xét yêu cầu vận chuyển hàng như sau

Điểm Điểm Khối lượng Điểm Điểm Khối lượng


nhận hàng giao hàng vc (tấn) nhận hàng giao hàng vc (tấn)
B2 35 A3 B2 20
A1
B3 15 B1 15
A4
A2 B1 40 B4 5

Ma trận khoảng cách giữa các điểm giao và nhận hàng


 8 20 18 5  Hãy tìm kế hoạch điều động
 6 35 8 16  sao cho tổng số tấn x km
(cij ) =   xe chạy không tải nhỏ nhất.
12 9 24 14 
 
 15 5 3 7 
BƯỚC 1: TÌM PATU CHO BT XE KHÔNG

Điểm thu xe không: Điểm phát xe không:


A1: 35+15=50 B1: 40+15=55
A2: 40 B2: 35+20=55
A3: 20 B3: 15
A4: 15+5=20 B4: 5
BTVT cân bằng thu phát xe không
55 55 15 5
50 8 20 18 5

40 6 35 8 16

20 12 9 24 14

20 15 5 3 7
BƯỚC 1: TÌM PATU CHO BT XE KHÔNG

55 55 15 5

8 20 18 5
50

6 35 8 16
40

12 9 24 14
20

15 5 3 7
20
BƯỚC 1: TÌM PATU CHO BT XE KHÔNG

55 55 15 5

8 20 18 5
50

6 35 8 16
40

12 9 24 14
20

15 5 3 7
20
BƯỚC 1: TÌM PATU CHO BT XE KHÔNG
BƯỚC 2: PHỐI HỢP PATU VÀ YCVC

B1 B2 B3 B4

8 20 18 5
A1 (35) (15)
[30] [15] [5]
6 35 8 16
A2 (40)
[25] [15]
12 9 24 14
A3 (20)
[20]
15 5 3 7
A4 (15) (5)
[20]
100

BÀI TOÁN ĐIỀU TÀU RỖNG

• Có k cảng hàng hóa, khoảng cách giữa các cảng đã biết.


• Khách hàng yêu cầu đến một cảng nào đó để nhận hàng
và vận chuyển đến một cảng khác để dỡ hàng.
• Có nhiều yêu cầu như trên.
• Hãy xác định sơ đồ điều động tàu:
• Đảm bảo được yêu cầu của khách hàng.
• Số (tải trọng tàu x quãng đường tàu chạy không tải) nhỏ nhất

♯Nhận xét:
1. Sau khi dỡ hàng ⇒ tàu rỗng
2. Cảng thừa tàu rỗng ⇒ trạm phát tàu rỗng
3. Cảng thiếu tàu rỗng ⇒ trạm thu tàu rỗng
101

BÀI TOÁN ĐIỀU TÀU RỖNG

B1: tại từng cảng, xác định tổng tàu đến và tổng tàu rời đi
Tổng đến > tổng đi => trạm phát tàu rỗng
Tổng đến < tổng đi => trạm thu tàu rỗng
B2: giải BTVT min với các trạm phát và trạm thu tàu rỗng
trên, cước phí là khoảng cách đã cho, tìm được PATU
B3: xác định sơ đồ điều động tàu tối ưu dựa vào PATU vừa
tìm kết hợp với yêu cầu vận chuyển thực tế của khách hàng.
102

VÍ DỤ

Cảng đi Cảng đến KLVC (tấn) Khoảng cách (hải lý)


A B 3220 AB: 250, AC: 350, AD: 550, AE: 610,
B A 2900 BC: 404, BD: 404, BE: 50,
C D 1845 CD: 70, CE: 450
E A 1957 DE: 354
B C 2385

Cảng Tổng tàu đến Tổng tàu đi Tàu rỗng


A 4857 3220 Thừa 1637
B 3220 5285 Thiếu 2065
C 2385 1845 Thừa 540
D 1845 0 Thừa 1845
E 0 1957 Thiếu 1957
103

VÍ DỤ

Giải BTVT với trạm phát là cảng thừa tàu rỗng, trạm thu là
cảng thiếu tàu rỗng, ma trận cước phí là ma trận khoảng
cách giữa các cảng tương ứng.
Áp dụng pp min-cước tìm PACB ban đầu
Tính thế vị, lượng kiểm tra tối ưu như phần trước.
104

VÍ DỤ

T
B:2065 E:1957 ui
P
250 610
A:1637 0
[1637] -314
404 450
C:540 154
[428] [112]
404 354
D:1845 58
-96 [1845]
Vj 250 296

Kết luận ma trận VTTU, số tấn x k/cách tàu rỗng nhỏ nhất
105

VÍ DỤ

Biểu diễn ycvc thực tế (nét liền) và tàu rỗng (nét đứt) trên
cùng 1 sơ đồ. (1637)

A 3220 B

2900 (428)
1957 2385

(112)
E C

(1845) 1845
D
106

VÍ DỤ

Lần lượt khử các chu trình trong sơ đồ theo cạnh có trọng
số nhỏ nhất, cập nhật lại sơ đồ A B

(1637) 1845
A 3220 B E C

2900 (428)
1957 2385
D
(112) (1637)
E C
A 1375 B

(1845) 1845 2900 (428)


112 540
D

(112)
E C
107

VÍ DỤ

A B

112
(1637)
E C
A 1375 B

2900 (428)
112 540
(1637)
(112) 1263
E C A B

2900 (428)
428

C
108

VÍ DỤ

(1637)
(1637)
A 1263 B
A 1263 B
2900
2900 (428)
428
A B
C
1263
B

428
A B 1637

C
109

VÍ DỤ

Sơ đồ điều tàu tối ưu


A B
A B

1845 112

E C E C

B A B 1637

428

A B
C
1263
BTVT CÓ HẠN CHẾ
KHẢ NĂNG THÔNG QUA
CHƯƠNG 2
111

GIỚI THIỆU MÔ HÌNH BTHC

• SGK, chỉ xét trường hợp BTVT CBTP


• Lưu ý: có thêm điều kiện
0 ≤ 𝑥𝑖𝑗 ≤ 𝑑𝑖𝑗 , 𝑑𝑖𝑗 là khả năng thông qua của tuyến (𝑖, 𝑗)
• Có khả năng khi phân phối tìm PA ban đầu cho bài toán,
ta phải thêm trạm phát giả 𝐴𝑖 và trạm thu giả 𝐵𝑗 có
𝑎𝑖 = 𝑏𝑗 = lượng hàng còn thiếu và
CPVC ở các ô này là 𝑀, 𝑀 là số dương lớn tùy ý.
112

GIỚI THIỆU MÔ HÌNH BTHC

• Bài toán sẽ có 3 loại ô, ta tạm chia thành 2 loại như sau:


• Ô bình thường (như ở phần trước, gồm ô chọn và ô loại):
0 ≤ 𝑥𝑖𝑗 < 𝑑𝑖𝑗
• Ô loại 3: 𝑥𝑖𝑗 = 𝑑𝑖𝑗

• Dùng ô chọn để tính thế vị, nếu suy biến thì có thể thêm ô
loại hoặc ô loại 3 vào PA sao cho không tạo thành chu
trình
• Tìm lượng kiểm tra tối ưu: Δ𝑖𝑗 = 𝑢𝑖 + 𝑣𝑗 − 𝑐𝑖𝑗
Nếu: Δ𝑖𝑗 ≤ 0 ở tất cả ô bình thường và Δ𝑙𝑘 ≥ 0 ở tất cả ô
loại 3 thì PATU, ngược lại, tìm chu trình điều chỉnh để tìm PA
mới tốt hơn
113

GIỚI THIỆU MÔ HÌNH BTHC

Ô điều chỉnh là ô có:


• Δ𝑖𝑗 dương lớn nhất ở ô bình thường hoặc có
• Δ𝑙𝑘 âm nhỏ nhất ở ô loại 3
Trường hợp bài toán có thêm trạm phát 𝐴𝑟 và trạm thu giả
𝐵𝑠 , ta ưu tiên khử ô (𝑟, 𝑠) nếu được.
Xác định chu trình điều chỉnh 𝑉 = 𝑉 − ⋃𝑉 +
Lượng điều chỉnh 𝑞 = min{𝑞 − , 𝑞 + } với:
𝑞 − = min{𝑥𝑖𝑗 , 𝑖, 𝑗 ∈ 𝑉 − }
𝑞 + = min{𝑑𝑖𝑗 − 𝑥𝑖𝑗 , 𝑖, 𝑗 ∈ 𝑉 + }
114

VÍ DỤ 1 TRANG 83 SGK

T
B1:30 B2:50 B3:80 ui
P
10 (25) 7 (40) 12 (50) 0
A1:55

9 (20) 11 (35) 14 (60)


A2:70

13 (15) 8 (45) 15 (70)


A3:35

Vj
115

VÍ DỤ 1 TRANG 83 SGK

T
B1:30 B2:50 B3:80 ui
P
10 (25) 7 (40) 12 (50) 0
A1:55

9 (20) 11 (35) 14 (60)


A2:70

13 (15) 8 (45) 15 (70)


A3:35

Vj
116
117

VÍ DỤ 2 TRANG 83 SGK

T
B1:50 B2:70 B3:100
P
7 (40) 9 (60) 15 (55)
A1:90

21 (30) 17 (40) 13 (70)


A2:85

18 (35) 11 (50) 14 (60)


A3:45
118

VÍ DỤ TRANG 83 SGK

T
B1:50 B2:70 B3:100 (B4:5)
P
7 (40) 9 (60) 15 (55) M
A1:90

21 (30) 17 (40) 13 (70) M


A2:85

18 (35) 11 (50) 14 (60) M


A3:45

M M M 0
(A4:5)
119

VÍ DỤ TRANG 83 SGK

T
B1:50 B2:70 B3:100
P
7 (40) 9 (60) 15 (55)
A1:90

21 (30) 17 (40) 13 (70)


A2:85

18 (35) 11 (50) 14 (60)


A3:45
120

VÍ DỤ TRANG 83 SGK
121

GIẢI BTVT HC SAU:

T
B1:70 B2:40 B3:130 ui
P

18 (60) 13 (90) 17 (80)


A1:50

21 (70) 14 (60) 12 (40)


A2:90

16 (80) 15 (50) 11 (70)


A3:100

vj
122

T
B1:70 B2:40 B3:130 ui
P

18 (60) 13 (90) 17 (80)


A1:50

21 (70) 14 (60) 12 (40)


A2:90

16 (80) 15 (50) 11 (70)


A3:100

vj
123

T
B1:70 B2:40 B3:130 ui
P

18 (60) 13 (90) 17 (80)


A1:50

21 (70) 14 (60) 12 (40)


A2:90

16 (80) 15 (50) 11 (70)


A3:100

vj
124

You might also like