Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
125,5 KB
Nội dung
Chương BÀI TOÁN VẬN TẢI 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải NỘI DUNG Bài toán vận tải dạng tổng quát 1.1 Phát biểu toán vận tải (BTVT) 1.2 Đặt toán vận tải dạng bảng 1.3 Các tính chất toán vận tải Thuật toán vị 2.1 Tiêu chuẩn tối ưu 2.2 Thuật toán Các trường hợp đặc biệt BTVT 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Phát biểu toán Có m điểm phát S i , với lượng phát tương ứng , i = 1, , m; phát hàng đến n điểm thu T j , với lượng thu tương ứng b j , j = 1, , n Si : → Tj : bj cij xij với: cij cước phí vận chuyển đơn vị hàng từ điểm phát S i , i = 1, , m đến điểm thu T j , j = 1, , n xij lượng hàng vận chuyển từ S i đến Tj , i = 1, , m; j = 1, , n 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Vấn đề: Lập kế hoạch vận chuyển để tổng cước phí vận chuyển bé nhất? Biết hàng hóa vận chuyển từ điểm phát đến điểm thu 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Mô hình toán có dạng: f(X) = n m ∑∑c j =1 i =1 ij x ij → n ∑ x ij = , i = 1, , m j =1 m ∑ x ij = b j , j = 1, , n i =1 x ij ≥ 0, i = 1, , m ; j = 1, , n 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Điều kiện cân thu phát: m ∑a i =1 20/6/2012 i = n ∑b j =1 j MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Đặt toán dạng bảng Thu Phát S1 : a1 T1 : b1 c11 ci1 20/6/2012 x m1 c1n cin xij cm1 Tn : bn x1n cij xi x1j ⋮ Sm : am Tj : bj c1j x11 ⋮ Si : xin cmj xmj MaMH: C01019 Chương 4: Bài toán vận tải cmn xmn Bài toán vận tải dạng tổng quát Định nghĩa Một tập hợp ô thỏa mãn tính chất: • ô liên tiếp nằm hàng hay cột; • ô liên tiếp không nằm hàng hay cột gọi dây chuyền Một dây chuyền khép kín gọi chu trình 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Định nghĩa Những ô có x ij > gọi ô chọn, ô lại gọi ô loại Định nghĩa Một phương án (PA) mà ô chọn không tạo thành chu trình đgl PA (PACB) Một PACB đủ (m + n – 1) ô chọn đgl PACB không suy biến 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải Bài toán vận tải dạng tổng quát Các tính chất BTVT i BTVT cân thu phát luôn có PATƯ ii Trong PACB bất kỳ, tổng số ô chọn nhỏ tổng số điểm phát thu trừ (Số ô chọn ≤ (m + n − 1) ) iii Với PACB có đủ (m + n − 1) ô chọn, với ô loại tạo thành chu trình với số ô chọn 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 10 Thuật toán vị x 19 Ví dụ 51 x 20/6/2012 bj 30 60 46 25 50 12 70 41 19 41 MaMH: C01019 Chương 4: Bài toán vận tải 16 Thuật toán vị Ta bảng thu gọn Lặp lại hai phép toán với bảng thu gọn đến yêu cầu điểm phát điểm thu thỏa mãn Các ô phân phối có xij > 0, ô lại có xij = 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 17 Thuật toán vị Dựa vào nguyên tắc phân phối tối đa cách thức chọn ô ưu tiên phân phối, xét phương pháp: i Phương pháp góc Tây Bắc: ô chọn để phân phối ô vị trí góc Tây Bắc (ô (1,1)) ii Phương pháp cực tiểu cước phí: ô chọn để phân phối ô có cước phí bé iii Phương pháp Fogel: hàng, cột chọn hai ô có cước phí bé (bé nhì), lấy hiệu số chúng Ô có cước phí bé tương ứng hàng, cột có hiệu số lớn ô chọn để phân phối 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 18 Thuật toán vị Nếu PACB tìm có đủ ( m + n − 1) ô chọn, sang Bước Ngược lại, thêm vào ô (i , j ) lượng hàng xij = cho: • đủ số ( m + n − 1) • ô (i , j ) không tạo thành chu trình với ô chọn → Bước 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 19 Thuật toán vị - Bước (Bước lặp) Ở đầu bước lặp có PACB đủ ( m + n − 1) ô chọn i Xác định vị ui ,v j , i = 1, m ; j = 1, n ui + v j = cij , ∀(i , j ) ∈ G( X ) Chọn u1 = ii Tính ước lượng theo công thức: ∆ ij = ui + v j − cij , ∀(i , j ) 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 20 Thuật toán vị iii Kiểm tra tiêu chuẩn tối ưu Nếu ∆ ij ≤ 0, ∀(i , j ) PA xét PATƯ Ngược lại, chuyển sang iv iv Chọn ô (i * , j * ) ô có ước lượng dương lớn nhất: ∆ i * j * = max{∆ ij : ∆ ij > 0} * * Khi đó, ô (i , j ) tạo nên chu trình với số ô chọn * * → Ô (i , j ) ô chọn bảng 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 21 Thuật toán vị Đặt tên chu trình K Đánh dấu +, - xen kẽ vào * * ô thuộc K, ô (i , j ) mang dấu + Đặt : K + = { ô mang dấu +} − K = { ô mang dấu -} 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 22 Thuật toán vị Tiến hành điều chỉnh PA X = ( xij ), ta có PA X = ( xij ), với xij (i , j ) ∉ K , + xij = xij + θ (i , j ) ∈ K , − x − θ ( i , j ) ∈ K , ij − θ = x = min{ x : ( i , j ) ∈ K } đó, i j ij 0 → Ô (i0 , j0 ) ô loại bảng Thay X X lặp lại Bước lặp 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 23 Thuật toán vị 50 70 41 θ = 24 20/6/2012 30 60 12 - -9 + 46 + 16 -10 v1= v2= u1= -1 24 25 20 -8 30 46 v3= - bj 25 u2= u3= -5 v4= MaMH: C01019 Chương 4: Bài toán vận tải 24 Thuật toán vị Ví dụ (tt) bj 50 70 41 30 60 12 -6 -7 24 46 u1= -1 40 -3 v1= v2= 20/6/2012 25 20 -1 30 -9 46 u2= -5 u3= -5 v3= 11 v4= MaMH: C01019 Chương 4: Bài toán vận tải 25 Thuật toán vị Vì ∆ ij ≤ 0, ∀(i , j ) nên PATƯ 30 20 0 X * = 0 46 24 40 Giá trị tối ưu: f ( X * ) = × 30 + × 20 + × 46 + 24 + × 40 + = 641 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 26 Các trường hợp đặc biệt BTVT i BTVT không cân thu phát a Phát > Thu: m n ∑a > ∑b i =1 i j =1 j → Đưa BTVT cân thu phát → Thêm điểm thu giả, lượng hàng tương ứng m n i =1 j =1 bn +1 = ∑ − ∑ b j ; 20/6/2012 ci ( n +1) = 0, ∀i = 1, m MaMH: C01019 Chương 4: Bài toán vận tải 27 Các trường hợp đặc biệt BTVT b Phát < Thu m n ∑a < ∑b i =1 i j =1 j → Đưa BTVT cân thu phát → Thêm điểm phát giả, lượng hàng tương ứng n m j =1 i =1 am +1 = ∑ b j − ∑ ; 20/6/2012 c( m +1) j = 0, ∀j = 1, n MaMH: C01019 Chương 4: Bài toán vận tải 28 Các trường hợp đặc biệt BTVT ii BTVT có ô cấm Ô cấm: ô không nhận hàng Giả sử ô (i , j ) ô cấm → Thay cij = M, với M số dương lớn 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 29 Các trường hợp đặc biệt BTVT iii “BTVT” với hàm mục tiêu cực đại Có mô hình giống BTVT, hàm mục tiêu cực đại • Dấu hiệu tối ưu: ∆ ij ≥ 0, ∀( i , j ) • Chọn ô (i * , j * ) ∆ i * j * = min{∆ ij : ∆ ij < 0} • Nếu có ô cấm (i , j ), thay cij = −M , với M số dương lớn • Chọn ô có cij lớn phân phối trước 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 30 [...]... C01019 Chương 4: Bài toán vận tải 23 Thuật toán thế vị ai 50 70 41 θ = 24 20/6/2012 30 4 60 7 12 9 - 8 -9 2 1 + 46 7 9 + 16 -10 v1= 4 v2= 7 u1= 0 -1 6 24 1 25 7 20 -8 30 5 46 v3= 4 1 - bj 25 u2= 2 u3= -5 v4= 6 MaMH: C01019 Chương 4: Bài toán vận tải 24 Thuật toán thế vị Ví dụ 2 (tt) bj ai 50 70 41 30 4 60 7 12 5 9 -6 -7 8 2 1 24 46 9 u1= 0 -1 6 1 40 -3 v1= 4 v2= 7 20/6/2012 25 7 20 -1 30 -9 46 1 u2=... -3 v1= 4 v2= 7 20/6/2012 25 7 20 -1 30 -9 46 1 u2= -5 u3= -5 v3= 11 v4= 6 MaMH: C01019 Chương 4: Bài toán vận tải 25 Thuật toán thế vị Vì ∆ ij ≤ 0, ∀(i , j ) nên PATƯ 30 20 0 0 X * = 0 0 46 24 0 40 0 1 Giá trị tối ưu: f ( X * ) = 4 × 30 + 7 × 20 + 6 × 46 + 24 + 2 × 40 + 1 = 641 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 26 Các trường hợp đặc biệt của BTVT i BTVT không cân... , thì loại dòng i • Nếu b′j = 0 , thì loại cột j • Nếu ai′ = b′j = 0 , thì loại cả dòng i và cột j 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 15 Thuật toán thế vị x 19 Ví dụ 1 ai 51 x 20/6/2012 bj 30 60 46 25 50 4 7 12 7 70 5 9 6 1 41 8 9 1 19 2 41 MaMH: C01019 Chương 4: Bài toán vận tải 16 Thuật toán thế vị Ta được bảng mới thu gọn Lặp lại hai phép toán trên với bảng mới thu gọn đến khi yêu... ∑ x ij = b j , j = 1, , n i =1 x ij ≥ 0, i = 1, , m ; j = 1, , n 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 11 Thuật toán thế vị Bài toán đối ngẫu của bài toán trên: m n i =1 j =1 g (u,v ) = ∑ ai ui + ∑ b j v j → max ui + v j ≤ cij , i = 1, m; j = 1, n 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 12 Thuật toán thế vị Định lý 1 PA X = ( xij ) của BTVT là PATƯ khi và chỉ khi tìm... MaMH: C01019 Chương 4: Bài toán vận tải 13 Thuật toán thế vị 2 Thuật toán thế vị - Bước 1 (Bước khởi tạo) Tìm PACB xuất phát X 0 = ( xij0 ) theo nguyên tắc phân phối tối đa: Giả sử cần phân phối cho ô (i,j) Lượng hàng tối đa có thể phân phối là xij = min{ai , b j } Sau đó, điều chỉnh lại các yêu cầu: ai′ = ai − xij b′j = b j − xij 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 14 Thuật toán... tiên được chọn để phân phối 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 18 Thuật toán thế vị Nếu PACB tìm được có đủ ( m + n − 1) ô chọn, thì sang Bước 2 Ngược lại, thêm vào ô (i , j ) nào đó một lượng hàng xij = 0 sao cho: • đủ số ( m + n − 1) • và ô (i , j ) này không tạo thành chu trình với các ô chọn → Bước 2 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 19 Thuật toán thế vị - Bước 2 (Bước... với một số ô chọn * * → Ô (i , j ) sẽ là ô chọn ở bảng mới 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 21 Thuật toán thế vị Đặt tên chu trình là K Đánh dấu +, - xen kẽ vào * * các ô thuộc K, bắt đầu từ ô (i , j ) mang dấu + Đặt : K + = { những ô mang dấu +} − K = { những ô mang dấu -} 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 22 Thuật toán thế vị Tiến hành điều chỉnh PA X = ( xij ), ta có... ai − ∑ b j ; 20/6/2012 ci ( n +1) = 0, ∀i = 1, m MaMH: C01019 Chương 4: Bài toán vận tải 27 Các trường hợp đặc biệt của BTVT b Phát < Thu m n ∑a < ∑b i =1 i j =1 j → Đưa về BTVT cân bằng thu phát → Thêm một điểm phát giả, lượng hàng tương ứng n m j =1 i =1 am +1 = ∑ b j − ∑ ai ; 20/6/2012 c( m +1) j = 0, ∀j = 1, n MaMH: C01019 Chương 4: Bài toán vận tải 28 Các trường hợp đặc biệt của BTVT ii BTVT có... MaMH: C01019 Chương 4: Bài toán vận tải 29 Các trường hợp đặc biệt của BTVT iii “BTVT” với hàm mục tiêu cực đại Có mô hình giống BTVT, nhưng hàm mục tiêu cực đại • Dấu hiệu tối ưu: ∆ ij ≥ 0, ∀( i , j ) • Chọn ô (i * , j * ) ∆ i * j * = min{∆ ij : ∆ ij < 0} • Nếu có ô cấm (i , j ), thay cij = −M , với M là số dương rất lớn • Chọn ô có cij lớn nhất phân phối trước 20/6/2012 MaMH: C01019 Chương 4: Bài toán... đầu bước lặp đã có PACB đủ ( m + n − 1) ô chọn i Xác định các thế vị ui ,v j , i = 1, m ; j = 1, n ui + v j = cij , ∀(i , j ) ∈ G( X ) Chọn u1 = 0 ii Tính các ước lượng theo công thức: ∆ ij = ui + v j − cij , ∀(i , j ) 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 20 Thuật toán thế vị iii Kiểm tra tiêu chuẩn tối ưu Nếu ∆ ij ≤ 0, ∀(i , j ) thì PA đang xét là PATƯ Ngược lại, chuyển sang iv iv Chọn ... C01019 Chương 4: Bài toán vận tải 23 Thuật toán vị 50 70 41 θ = 24 20/6/2012 30 60 12 - -9 + 46 + 16 -10 v1= v2= u1= -1 24 25 20 -8 30 46 v3= - bj 25 u2= u3= -5 v4= MaMH: C01019 Chương 4: Bài toán... Bài toán vận tải 24 Thuật toán vị Ví dụ (tt) bj 50 70 41 30 60 12 -6 -7 24 46 u1= -1 40 -3 v1= v2= 20/6/2012 25 20 -1 30 -9 46 u2= -5 u3= -5 v3= 11 v4= MaMH: C01019 Chương 4: Bài toán vận tải... ) nên PATƯ 30 20 0 X * = 0 46 24 40 Giá trị tối ưu: f ( X * ) = × 30 + × 20 + × 46 + 24 + × 40 + = 641 20/6/2012 MaMH: C01019 Chương 4: Bài toán vận tải 26 Các trường hợp đặc