Phương pháp tính tốn
tối ưu
Chương 3: Bài toán vận tải
Chương 3
Bài toán vận tải
3.1 Mơ hình tốn học của bài tốn
3.2 Các tính chất của bài toán
3.3 Thuật toán giải bài toán vận tải
3.4 Các trường hợp đặc biệt
3.1 Mơ hình tốn học
3.1.1 Bài tốn vận tải
- Có một loại hàng do m trạm phát A1, ..., Am cung cấp,
khối lượng tương ứng là a1, a2, ..., am.
- Có n nơi nhận (trạm thu) B1, ..., Bn, khối lượng tương
ứng là b1, b2, ..., bn.
- Phí chở một đơn vị hàng từ Ai đến Bj là cij. Tổng khả
năng cung cấp bằng tổng nhu cầu tiếp nhận:
Yêu cầu: Lập kế hoạch vận chuyển để: Cung hết hàng,
nhận đủ hàng, tổng cước phí ít nhất./.
3.1.2 Mơ hình tốn học của bài tốn:
- Gọi xij: lượng hàng chuyển từ Ai Bj , xij ≥ 0.
- Tổng lượng hàng phát đi từ Ai:
- Tổng lượng hàng nhận vào Bj:
- Tổng chi phí:
- Mơ hình tốn học: tìm X=(xij)mxn: ./.
- Mơ hình tốn học: tìm X=(xij)mxn:
cij 0, ai > 0, bj > 0 và:
-> BTVT cân bằng thu phát. /.
3.1.3 Bảng vận tải:
- Dạng bảng của BTVT, gồm m hàng, n cột;
- Ô (i, j): cij đặt ở gõ trên trái, xij đặt góc dưới phải.
T B1 … Bj … Bn
P
A1 c11 c1j c1n
… x11 x1j x1n
Ai ci1 cij cin
… xi1 xij xin
Am cm1 cmj cmn
xmj
xm1 xmn ./.
- Nếu xij > 0 (Ai có chuyển hàng cho Bj): (i, j) đgl ô chọn.
- Nếu xij = 0: (i,j) đgl ô loại.
- Dãy ô (đường đi): dãy ô được đánh số thỏa mãn:
1) Hai ô liên tiếp phải cùng dịng hoặc cùng cột.
2) Ba ơ liên tiếp khơng cùng dịng và khơng cùng cột.
X X
X X
X X
./.
- Vịng (chu trình): Một dãy ơ khép kín (ơ cuối cùng cột
hoặc cùng dịng với ơ đầu).
X X
X X
X X
- Một tập các ơ đgl có chứa vịng nếu từ tập các ơ đó có thể
trích ra được một số ơ tạo thành vịng.
* Nhận xét: Một vịng bao giờ cũng có một số chẵn các ô./.
3.2 Các tính chất của BTVT
Định lý:
1) Bài tốn vận tải bao giờ cũng có PATƯ.
2) PA X0 của BTVT cân bằng thu phát là PA cực biên
khi và chỉ khi tập các ô chọn của PA không chứa vòng.
- Hệ quả1: PA X của BTVT cân bằng thu phát là PA
không cực biên khi và chỉ khi tập các ô chọn của PA có
chứa vịng.
3) Trên bảng vận tải m dịng, n cột, số ơ lớn nhất khơng
chứa vòng là (m+n-1).
=> Một PACB của BTVT chỉ có khơng q m+n-1 ơ
chọn. /.
- Hệ quả 2: PACB có m+n-1 ơ chọn là PACB khơng suy
biến, có ít hơn m+n-1 ơ chọn là PACB suy biến.
4) Mỗi PACB đều có tương ứng ít nhất một tập m+n-1 ơ
khơng chứa vịng, trong đó phải có các ơ chọn của PA.
- Tập ô như trên đgl tập ô cơ sở của PACB tương ứng;
Mỗi PACB không suy biến chỉ có một tập ơ cơ sở, là tập ơ
chọn của PA.
- Tìm tập cơ sở của PACB suy biến: Thêm các ô loại
(đgl ô bổ sung) cho đủ (m+n-1) ơ chọn khơng chứa chu
trình -> m+n-1 đgl hạng của BTVT.
5) Với mỗi tập ô cơ sở của một PACB, một ơ ngồi cơ
sở ln tạo với một số ơ cơ sở một vịng duy nhất. /.
3.3 Thuật tốn giải bài tốn vận tải
3.3.1 Tìm phương án xuất phát:
a) Phương pháp cước phí nhỏ nhất:
- Phân lượng hàng nhiều nhất có thể được vào ơ có cước
phí nhỏ nhất.
-> Có ít nhất một dòng hay cột thoả mãn nhu cầu (tương
ứng với trạm phát đã tiêu thụ hết hàng hoặc trạm thu đã
nhận đủ hàng);
- Xố bỏ dịng|cột đó đi và lặp lại thao tác trên với các ơ
cịn lại;
=> Thu được PACB. /.
P 150 120 120 100 120
T
180 16 12 9 51 124
100 80
120 13 10 82 8 9
120
160 145 103 12 7 15
40 120
150 167 11 10 6 156
40
110
Tổng phí: f(X0) =100.5 + 120.12
+ 120.8 + 40.10 + 120.10 +
110.16 + 40.15 = 6540 ./.
b) Phương pháp Fogel:
- Tính chênh lệch cước phí giữa 2 ơ có cước phí nhỏ nhất
của mỗi dịng và mỗi cột;
- Tìm dịng hay cột có chênh lệch lớn nhất, phân vào ơ
có cước phí nhỏ nhất (tiêu thức 1) của dịng hay cột đó
lượng hàng lớn nhất có thể được;
-> Có ít nhất một dòng hay cột thoả mãn nhu cầu.
- Xố bỏ dịng hay cột đó đi, tính lại chênh lệch cước phí
cho các cột hay dịng cịn lại.
- Lặp lại công việc trên sau một số bước, sẽ thu được
PACB. /.
- Tiêu thức hai: Nếu có nhiều dịng hay cột có chênh lệch
lớn nhất như nhau, vẫn xét các ơ có cước phí nhỏ nhất của
mỗi dịng hay cột đó và ưu tiên ơ nào nằm trên cột hay dịng
cịn lại chứa nó có chênh lệch xij lớn nhất;
- Tiêu thức ba: Nếu lại có nhiều ơ có tiêu thức hai như
nhau thì xét ơ có cước phí nhỏ nhất trong chúng.
Ví dụ: ./.
P 150 120 120 100 120
T
180 16 12 93 51 12 41, 32, 33x
80 100
120 13 10 8 8 92 01, 12 x
120
160 146 104 12 7 15 31, 22, 23, 24,25
40 120
150 167 11 105 6 15 41, 12, 13, 14,65
110 40
11, 12, 01, 02, 11,12,13, 11 x 31, 32 x
23, 24,25 13, 14 x 24,25 x
Tổng phí: f(X’0) =80.9 + 100.5 + 120.9 + 40.14 + 120.10 +
110.16 + 40.10 = 6220 ./.
c) Phương pháp góc tây bắc:
i) Phân phối x11 lớn nhất có thể vào ơ (1,1) ở góc trên trái;
ii) Xóa hàng hay cột đã hết số lượng phát hay thu;
iii) Quay lại bước (i) với bảng còn lại.
P 150 120 120 100 120
T
180 16 12 9 5 12
1501 302
120 13 10 8 8 9
903 304
160 14 10 12 7 15
905 706
150 16 11 10 6 15
307 1208
3.3.2 Phương pháp thế vị giải BTVT:
Bước 1: Khởi tạo
- Lập phương án xuất phát X=(xij);
- Nếu số ô chọn bằng m + n -1 thì PA xuất phát là không
suy biến.
- Nếu số ô chọn nhỏ hơn m + n - 1 thì PA xuất phát là suy
biến, khi đó phải bổ sung thêm các ơ loại để được PA xuất
phát không suy biến; các ô được bổ sung vào phải khơng
tạo thành vịng với các ơ đã chọn.
-> Tập ô sử dụng G(X) gồm m+n-1 ô không chứa vòng/.
Bước 2: Lặp:
Đầu bước lặp, đã có X=(xij) và tập ô sử dụng G(X).
2.1 Xác định các thế vị ui, vj từ hệ:
ui+vj = cij; (i,j) G(X);
- Hệ trên có m+n-1 pt và m+n ẩn nên có vơ số nghiệm.
- Để giải hệ trên ta cho 1 giá trị tùy ý cho biến (thường đặt
u1=0);
2.2 Tính các ước lượng và kiểm tra tiêu chuẩn tối ưu:
- Tính các ước lượng ở các ơ không chọn: ij = ui + vj - cij
- Nếu ij 0 với mọi ơ thì PA đang xét là TƯ, kết thúc
thuật toán. /.
2.3 Ngược lại, chọn ơ (k,s) có >0 lớn nhất.
- Khi đó tập = G(X)+(k, s) chứa một vịng K, gọi là vòng
điều chỉnh, và vòng này là duy nhất trong .
- Xét K= K+ + K-: (k, s) K+, các ơ tiếp theo của vịng lần
lượt thuộc K-, K+... cho đến hết.
- Chọn: θ = xp, q =min{xij: (i, j) K-};
- Xây dựng PA mới X’: xij, (i, j) K
' -
Xij xij - θ, (i, j) K
xij θ, (i, j) K
- Khi đó tập các ơ sử dụng của X’ là: G(X’) = G(X) - {p, q}
+ {k, s) và khơng chứa vịng. Thay X=X’ và lặp lại bước 2./.
Ví dụ: T 30 25 35 40 ui
P
45 9 1 2 7
30 15
50 5 4 6 2
10 35 5
35 5 6 1 3
35
vj
B1: - PP góc tây bắc cho PA xuất 30 15 0 0
phát X0 sau:
- Có: f(X0)=650. /. X 0 0 10 35 5
0 0 0 35