Bài toán vận tải
Transcript of Bài toán vận tải
1
Bài toán vận tải1. Mô hình bài toán Một công ty có m kho hàng, tương ứng kho hàng Ai
chứa lượng hàng ai. Có n điểm bán hàng, tương ứng với điểm bán Bj bánđược lượng hàng bj.
Khi chuyển một lượng hàng từ kho Ai sang điểm bánBj, chi phí vận chuyển là cij. C={cij: i=1.m, j=1.n}
Theo phương án vận chuyển: xij là lượng hàng vậnchuyển từ kho Ai sang Bj. X={xij:i=1.m,j=1.n}
Mục tiêu bài toán là chi phí vận chuyển thấp nhất
m
i
n
jijij xc
1 1
min
2
Phát biểu bài toán f(x)= ∑∑ cijxij→ min (1) ∑xij=ai i=1.m (2) ∑xij=bj j=1.n (3) xij>=0, i=1.m, j=1.n (4) xij (i=1.m, j=1.n ) Hàng từ Ai(i= 1.m) đến Bj(j=1.n ) ∑ai=∑bj (i=1.m, j=1.n) cân bằng thu phát ∑ai∑bj (i=1.m, j=1.n) Không cân bằng thu phát
Bài toán vận tải
3
Bài toán vận tải
Sự tồn tại nghiệm cực biên tối ưu (cân bằng thu phát) Đây là bài toán tối ưu quy hoạch tuyến tính nên có lời giải sẽ
là điểm cực biên tối ưu Do cij ≥ 0, xij ≥ 0 i,j
Vậy hàm luôn bị chặn dưới1 1
( ) 0m n
ij iji j
f x c x
4
Bài toán vận tải
Sự tồn tại nghiệm cực biên tối ưu Xây dựng phương án
j
m
i
m
iijij
i
n
j
n
jjiij
ij
jiij
n
jj
m
ii
bdabx
adbax
jix
njmidbax
bad
1 1
1 1
11
/
/
),(0
).1,.1(/
5
Bài toán vận tải
Sự tồn tại nghiệm cực biên 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 có
phương án tối ưu cực biên Do tính đặc biệt sẽ thể hiện bài toán này ở dạng bảng
6
Bài toán vận tải
2. Mô hình dạng bảng
b1 b2 … bn
a1 c11 c12 … c1n
a2 c21 c22 … c2n
… .. .. … ..
am cm1 cm2 … cmn
ThuPhát
7
Bài toán vận tải
Điểm cung Lượng hàng
A1 10A2 5A3 5
Điểm cầu Lượng hàng
B1 13
B2 7
B1 B2
A1 6 3
A2 5 3
A3 4 2
8
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 1
13 7
10 6 3
5 5 3
5 4 2
9
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 1: Cân bằng thu phát
13 7
106
?3
?
55
?3
?
54
?2
?
10
Bài toán vận tải
Ví dụ 1: Cân bằng thu phátPhương án 1: hàm mục tiêu 91
13 7
106
103
55
33
2
54 2
5
11
Bài toán vận tải
Ví dụ 1: Cân bằng thu phátPhương án 2: hàm mục tiêu 86
13 7
106
53
5
55
53
54
32
2
12
Bài toán vận tải
Ví dụ 1: Cân bằng thu phátPhương án 3: hàm mục tiêu 84
13 7
106
33
7
55
53
54
52
13
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 2: Không cân bằng thu phát
13 7
106
?3
?
55
?3
?
74
?2
?
14
Bài toán vận tải
Ví dụ 2: Không cân bằng thu phát Phương án 1: 91
13 7
106
103
55
33
2
74 2
5
15
Bài toán vận tải
Ví dụ 2: Không cân bằng thu phát Phương án 1: 89
13 7
106
103
55
33
0
74 2
7
16
Bài toán vận tải
Ví dụ 2: Không cân bằng thu phát Phương án 2: 84
13 7
106
33
7
55
53
74
52
17
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 3: Không cân bằng thu phát
15 10
106
?3
?
55
?3
?
54
?2
?
18
Bài toán vận tải
Ví dụ 3: Không cân bằng thu phát Phương án 1: 95
15 10
106
103
55
53
54 2
5
19
Bài toán vận tải
2. Mô hình dạng bảng Ô chọn: ô có giá trị x khác không Ô loại: Là ô không có hàng, tức xij=0, ta có thể để trống ô đó Dây chuyền: là một đoạn thẳng hay một dãy liên tiếp các
đoạn thẳng gấp khúc mà hai đầu mút là hai ô chỉ nằm trêncùng một hàng hoặc một cột với một ô chọn khác thuộc dâychuyền của bảng vận tải
Chu trình: Là dây chuyền khép kín Như vậy một hàng hoặc một cột mà chu trình đi qua thì chỉ đi
qua hai ô. Do đó số ô ít nhất của một chu trình là 4.
20
Bài toán vận tải
Ví dụ 2: Không cân bằng thu phát (Dây chuyền)
13 7
106
33
7
55
53
74
52
21
Bài toán vận tải
Ví dụ chu trình
30 25 35 40
45 925
115
2 75
50 55
410
635
2
35 5 6 1 335
22
Bài toán vận tải
2. Mô hình dạng bảng Ma trận X = (xij)m.n thỏa mãn hệ (2) - (4) được gọi là
một phương án của bài toán Phương án: X = (xij)m.n thỏa mãn được gọi là phương
án cực biên của bài toán vận tải nếu tập hợp các ô tương ứng với các thành phần dương của nó không tạothành chu trình.
Phương án X = (xij)m.n được gọi là phương án cực biênkhông suy biến nếu số ô chọn của nó đúng bằng m+n-1
Phương án X = (xij)m.n được gọi là phương án cực biênsuy biến nếu số ô chọn của nó nhỏ hơn m+n-1
23
Bài toán vận tải
Mô hình dạng bảng Một phương án thoả mãn yêu cầu (1) được gọi là
phương án tối ưu (nghiệm) của bài toán, ký hiệu là Xopt
24
Cách chọn phương án xuất phát
3. Phương án xuất pháta. Phương pháp xuất phát góc tây bắc Bước 1. Chọn ô nằm ở dòng 1, cột 1 của bảng vận tải. Bước 2. Phân lượng hàng h = min{a1, b1} vào ô(1,1) Bước 3. Đá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 4. Quay trở về bước 1 thực hiện công việc ở
những ô còn lại.
25
Bài toán vận tải
a. Phương pháp xuất phát góc tây bắc
6000 4000 2000 1500
5000 3 2 7 6
6000 7 5 2 3
2500 2 5 4 5
5000
1000 4000 1000
1000 1500
26
Bài toán vận tải
a. Phương pháp xuất phát góc tây bắc
13 7
106 3
55 3
54 2
10
3 2
5
27
Bài toán vận tải
a. Phương pháp xuất phát góc tây bắc
30 25 35 40
45 9 1 2 7
50 5 4 6 2
35 5 6 1 3
28
Bài toán vận tải
a. Phương pháp xuất phát góc tây bắc
30 25 35 40
45 930
115
2 7
50 5 410
635
25
35 5 6 1 335
29
Bài toán vận tải
b. Phương pháp 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. Đánh dấu các ô thuộc hàng i, hoặc cột j nếu
trạm phát Ai đã phát hết hàng, hoặc trạm thu Bj đã nhậnđủ hàng.
Bước 4. Quay trở lại bước 1 thực hiện công việc ở những ô còn lại.
30
Bài toán vận tải
b. Phương pháp min- cước
6000 4000 2000 1500
5000 3 2 7 6
6000 7 5 2 3
2500 2 5 4 5
4000
2000
2500
1000
15002500
31
Bài toán vận tải
a. Phương pháp xuất min cước
13 7
106 3
55 3
54 2
2
5
3
10
32
Bài toán vận tải
a. Phương pháp xuất phát min cước
30 25 35 40
45 9 1 2 7
50 5 4 6 2
35 5 6 1 3
33
Bài toán vận tải
a. Phương pháp xuất phát min cước
30 25 35 40
45 920
125
2 7
50 510
4 6 240
35 5 6 135
3
34
Bài toán vận tải
4. Thuật toán thế vị Tiêu chuẩn tối ưu Phương án cực biên không suy biến X=(xij)m.n được
gọi là phương án tối ưu khi và chỉ khi tồn tại các số ui(i=1.m) cho các hàng và các số vj (j=1.n ) cho các cộtcủa bảng vận tải sao cho:
ui + vj = cij, xij>0 (1) ui + vj < cij, xij=0 (2) ui (i=1.m), vj (j=1.n) gọi là hệ thống thế vị hàng và thế vị
cột
35
Bài toán vận tải
Thuật toán thế vị giải bài toán vận tải Bước 1: Tìm phương án cực biên 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 - trongtrường hợp suy biến cho thêm ô 0)
36
Bài toán vận tải
Phương án xuất phát
6000 4000 2000 1500
5000 3 2 7 6
6000 7 5 2 3
2500 2 5 4 5
5000
1000 4000 1000
1000 1500
37
Bài toán vận tải
Thuật toán thế vị giải bài toán vận tải Bước 2: Kiểm tra tính tối ưu của phương án. Xây dựng hệ thống thế vị.
Hệ (1) là hệ phương trình có (n+m) ẩn và (n + m-1) phương trình độc lập tuyến tính nên hệ (1) có vô sốnghiệm. Nếu cho ui (i=1.m) hoặc vj (j= 1.n ) một giá trị a tuỳ ý thì mọi giá trị khác đều xác định được một cáchduy nhất theo (1).
38
Bài toán vận tải
Tính ui và vj
6000 4000 2000 1500 ui
5000 35000
2 7 6
6000 71000
54000
21000
3
2500 2 5 41000
51500
vj 55500
0
3
4
1 -2
6
-1
39
Bài toán vận tải
Thuật toán thế vị giải bài toán vận tải Bước 2: Kiểm tra tính tối ưu của phương án. Tính các số kiểm tra.
Dựa vào (2) ta đặt ∆ij= ui+ vj-cij (i=1.m, j=1.n ) gọi là ước lượng kiểm tra và tính ∆ij ứng vớicác ô loại. Có hai khả năng xảy ra:
- Nếu mọi ∆ij≤ 0 (i = 1.m, j = 1.n ) 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 ∆ij>0 (i = 1.m, j = 1.n) thì phươngán đang xét chưa tối ưu, chuyển sang bước 3
40
Bài toán vận tải
Tính ∆ij
6000 4000 2000 1500 ui
5000 35000
2 7 6 0
6000 71000
54000
21000
3 4
2500 2 5 41000
51500
6
vj 3 1 -2 -1 55500
-1 -9 -7
0
7 2
41
Bài toán vận tải
Thuật toán thế vị giải bài toán vận tải Bước 3: Xây dựng phương án mới + Chọn ô điều chỉnh: Ô (r,s) gọi là ô điều chỉnh nếu: ∆rs= max {∆ij> 0 (i = 1.m, j =
1.n )}. + Tìm chu trình điều chỉnh: Là chu trình với ô xuất phát là ô
điều chỉnh, các ô còn lại là ô chọn. Gọi V là tập hợp các ô thuộc chu trình điều chỉnh.
+ Đánh dấu các ô của chu trình, bắt đầu từ ô điều chỉnh đá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 (-). Khi đó:
V= V+ υ V-.
42
Bài toán vận tải
Tìm chu trình6000 4000 2000 1500 ui
5000 35000
2-1
7-9
6-7
0
6000 71000
54000
21000
30
4
2500 27
52
41000
51500
6
vj 3 1 -2 -1 555007
+ -
+-
43
Bài toán vận tải
Thuật toán thế vị giải bài toán vận tải Bước 3: Xây dựng phương án mới + Xác định lượng hàng điều chỉnh: Đại lượng điều chỉnh:
q = min{xij: (i,j) V-}, q > 0. Điều chỉnh sang phương án mới: X1 = (x1ij)mxn với: xij = xij, xij V xij = xij + q, xij V+
xij = xij - q, xij V-
44
Bài toán vận tải
Tính phương án mới6000 4000 2000 1500 ui
5000 35000
2-1
7-9
6-7
0
6000 71000
54000
21000
30
4
2500 27
52
41000
51500
6
vj 3 1 -2 -1 555007
+ -
+-
Q=1000
1000 0
20000
48500
45
Bài toán vận tải
Thực hiện cho vòng lặp thứ 26000 4000 2000 1500 ui
5000 35000
2 7 6
6000 7 54000
22000
3
2500 21000
5 4 51500
vj 48500
0
3
-1
6
-30
58
6 -2 0
-7
2 0
46
Bài toán vận tải
Thực hiện cho vòng lặp thứ 26000 4000 2000 1500 ui
5000 35000
2 7 6 0
6000 7 54000
22000
30
-3
2500 21000
5 4 51500
-1
vj 3 8 5 6 48500
6 -2 0
-7
2 0
+-
+ -
+-
Q=1500
15003500
2500 0
15002500
39500
47
Bài toán vận tải
Thực hiện cho vòng lặp thứ 36000 4000 2000 1500 ui
5000 33500
21500
7-8
6-6
0
6000 7-1
52500
22000
31500
3
2500 22500
5-4
4-6
5-6
-1
vj 3 2 -1 0 39500
48
Bài toán vận tải
Thuật toán kết thúc Không tìm được thế vị tốt hơn Hàm mục tiêu đạt: 39500 Ma trận vận tải:
3500 1500 0 0
0 2500 2000 1500
2500 0 0 0
49
Bài toán vận tải
Ví dụ 1:
91465 -2
245
23 -135
5
10 036
10
713
50
Bài toán vận tải
Ví dụ 1:
915
245
2335
5
1036
10
713
0
6
-1
4
-2
1
0
+-
+ -
2
28
05
51
Bài toán vận tải
Ví dụ 1:
895
245
535
5
2836
10
713
0
6
-1
3
-1
-1
1+ -
+-
5
5 0
73
52
Bài toán vận tải
Ví dụ 1:
845
245
535
5
7336
10
713
0
6
-1
-2
3-1
-1
Phương án hiện tại là phương án tối ưu
53
Bài toán vận tải
Ví dụ 1:
Phương án hiện tại là phương án tối ưu
3 7
5 0
5 0
54
Bài toán vận tải
Ví dụ 2:
30 25 35 40
45 930
115
2 7
50 5 410
635
25
35 5 6 1 335
640
0
9 1
3
3 -1
4
7
8 -1 6
1 -8
+ -
+-
+-
10
55
Bài toán vận tải
Ví dụ 2:
30 25 35 40
45 920
125
2 7
50 5 4 635
215
35 510
6 1 325
540
0
9 1
-5
11 7
-4
09
-8-1
-9 6
+-
+ -
+-
20
56
Bài toán vận tải
Ví dụ 2:
30 25 35 40
45 9 125
220
7
50 5 4 615
235
35 530
6 1 35
490
0
0 1
4
2 -2
5
-9
-1 1
0 6
-9
+ -
+-
5
57
Bài toán vận tải
Ví dụ 2:
30 25 35 40
45 9 125
220
7
50 5 4 610
240
35 530
6 15
3
335
0
1 2
4
-2
-1
6
-3
5 1
-6
-9
-6
+
- +
-
10
58
Bài toán vận tải
Ví dụ 2:
30 25 35 40
45 9 125
220
7
50 510
4 6 240
35 520
6 115
3
310
0
1 2
-1
6
-1
3
-4
-1
-5-4
-6
-3
59
Bài toán vận tải
5. Bài toán không cần bằng thu phát Tổng hàng dự trữ lớn hơn tổng hàng cần (cung lớn hơn cầu)Điểm có một số điểm ai không phát hết hàng, còn bj sẽ thu đủ
hàng Tổng hàng cần lớn hơn tổng hàng dự trữ (cầu lớn hơn cung)Điểm phát ai sẽ phát hết hàng, một số điểm thu bj không thu đủ
hàng
60
Bài toán vận tải
a. Cung lớn hơn cầu A: ma trận phát B: ma trận thu C: ma trận chi phí Xij (i=1.m, j=1.n ) Hàng từ Ai(i= 1.m) đến Bj(j=1.n ) f(x)= ∑∑ cijxij→ min (1) ∑xij≤ai i=1.m (2) ∑xij=bj j=1.n (3) xij>=0, i=1.m, j=1.n (4) ∑ ai > ∑bj, i=1.m, j=1.n
61
Bài toán vận tải
Giải pháp giải bài toán Tổng hàng có lớn hơn tổng hàng cầnTạo một điểm thu giả, giá vận chuyển đến điểm này là 0Số lượng thu = ∑ ai -∑bj
Trong bài toán tìm phương án đầu là min thì xét trườnghợp này cuối cùng
Bài toán quay về bài toán cân bằng thu phát
62
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 2: Cung lớn hơn cầu
13 7
106
?3
?
55
?3
?
74
?2
?
63
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 2: Cung lớn hơn cầu
9125
0247
23035
5
10036
10
2713
0
6
-1
4
-2
2
1 2
1
0
+-
+ -
+ -
2
28
5 0
7 0
64
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 2: Cung lớn hơn cầu
877
0247
5035
5
208036
10
2713
0
6 0
-1
3
-11
-1-1
-1+ -
+-
7
7 0
71
65
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 2: Cung lớn hơn cầu
13 7 2
106 3 0
1 7 2
55 3 0
5
74 2 0
780
0
6 3 0
-1
-2
-1 -1
-2-1
Phương án tối ưu
66
Bài toán vận tải
Ví dụ 3:
30 25 35 40
45 9 1 2 7
50 5 4 6 2
60 5 6 1 3
67
Bài toán vận tải
Ví dụ 3:
30 25 35 40 25
45 930
115
2 7 0
50 5 410
635
25
0
60 5 6 1 335
025
650
0
9 1
3
3 -1
4
-4
1 -8 -4
7 -1
8 -1 6+ -
+-
+-
10
68
Bài toán vận tải
Ví dụ 2:
30 25 35 40 25
45 920
125
29
70
04
0
50 5-1
4-8
635
215
0-1
-5
60 510
6-9
17
325
025
-4
9 1 11 7 4 570
+-
+ -
+-
20
69
Bài toán vận tải
Ví dụ 3:
30 25 35 40 25
45 9-9
125
220
70
04
0
50 5-1
41
615
235
0-1
4
60 530
60
16
35
025
5
0 1 2 -2 -5 390
+ -
+-
5
70
Bài toán vận tải
Ví dụ 3:
30 25 35 40 25
45 9-5
125
220
7-9
01
0
50 55
41
610
240
05
4
60 530
6-6
15
3-6
025
-1
6 1 2 -2 1 360
- +
+ -
10
71
Bài toán vận tải
Ví dụ 3:
30 25 35 40 25
45 9-3
125
220
7-4
01
0
50 50
4-4
6-5
240
010
-1
60 530
6-6
115
3-1
015
-1
6 1 2 3 1 300
+-
-+
15
72
Bài toán vận tải
Ví dụ 2:
30 25 35 40 25
45 9-3
125
25
7-5
015
0
50 51
4-3
6-4
240
010
0
60 530
6-6
130
3-2
0-1
-1
6 1 2 2 0 295
+ -
+-
+-
5
73
Bài toán vận tải
Ví dụ 3:
30 25 35 40 25
45 9-4
125
2-1
7-5
020
0
50 55
4-3
6-5
240
05
0
60 525
6-5
135
3-1
00
0
5 1 1 2 0 290
74
Bài toán vận tải
b. Cung bé hơn cầu A: ma trận phát B: ma trận thu C: ma trận chi phí Xij (i=1.m, j=1.n ) Hàng từ Ai(i= 1.m) đến Bj(j=1.n ) f(x)= ∑∑ cijxij→ min (1) ∑xij=ai i=1.m (2) ∑xij≤bj j=1.n (3) xij>=0, i=1.m, j=1.n (4) ∑ ai < ∑bj, i=1.m, j=1.n
75
Bài toán vận tải
Giải pháp giải bài toán Tổng hàng cần lớn hơn tổng hàng cóTiến hành tạo một điểm phát giả, giá vận chuyển từ điểm
này là 0. Số lượng phát = ∑bj - ∑ ai
Trong bài toán tìm xuất phát điểm là min thì xét điểm nàysau cùng.
Bài toán quay về bài toán cân bằng thu phát
76
Bài toán vận tải
Mô hình bài toán vận tải Ví dụ 4: Thu lớn hơn phát
15 10
106
?3
?
55
?3
?
54
?2
?
77
Bài toán vận tải Mô hình bài toán vận tải Ví dụ 3: Thu lớn hơn phát
955
005
524
5
0535
5
1036
10
1015
0
6
-1
4
-2
-4
1
0
2+ -
+-
5
5 0
50
78
Bài toán vận tải Mô hình bài toán vận tải Ví dụ 4: Thu lớn hơn phát
855
005
524
5
535
5
01036
10
1015
0
6 3
-6
-1
01
1
-3
+ -
+-
5
79
Bài toán vận tải Mô hình bài toán vận tải Ví dụ 4: Thu lớn hơn phát
805
005
524
5
535
5
5536
10
1015
0
6 3
-6
-2
01
-1
-3
+ -
+-
5
80
Bài toán vận tải Mô hình bài toán vận tải Ví dụ 4: Thu lớn hơn phát
7505
005
524
5
535
5
1036
10
1015
0
3 3
-3
1
2
-3
2
0
2
81
Bài toán vận tải Mô hình bài toán vận tải Ví dụ 4: Thu lớn hơn phát
755
005
0524
5
535
5
1036
10
1015
0
5 3
-5
-1
0
-1
0
-2
82
Bài toán vận tải
Bài toán kết thúc vì các giá trị ∆ ≤ 0, bài toán đạt cực tiểu.
Hàm mục tiêu dừng: 75
83
Bài toán vận tải
Ví dụ 5:
30 25 35 50
45 9 1 2 7
50 5 4 6 2
35 5 6 1 3
84
Bài toán vận tải
Ví dụ 5:
30 25 35 50
45 930
115
21
7-8
0
50 57
410
635
25
3
35 58
6-1
16
335
4
10 010
02
04
010
1
9 1 3 -1 650
-+
+-
+-
10
85
Bài toán vận tải
Ví dụ 5:
30 25 35 50
45 920
125
29
70
0
50 5-1
4-8
635
215
-5
35 50
6-9
17
335
-4
10 010
0-8
02
0-2
-9
9 1 11 7 550
+-
+ -
+-
20
86
Bài toán vận tải
Ví dụ 5:
30 25 35 50
45 9-9
125
220
7-9
0
50 5-1
41
615
235
4
35 520
60
16
315
5
10 010
01
02
0-2
0
0 1 2 -2 370
+ -
+-
15
87
Bài toán vận tải
Ví dụ 5:
30 25 35 50
45 9-3
125
220
7-4
0
50 50
4-4
6-5
250
-1
35 520
6-6
115
3-1
-1
10 010
0-5
0-4
0-3
-6
6 1 2 3 280
88
Bài toán vận tải
Ví dụ 5: Hàm mục tiêu: 280
025 20
0
00 0
50
200
15
89
Bài toán vận tải
Kết thúc bài toán vận tải