1. Trang chủ
  2. » Giáo án - Bài giảng

Quy hoạch tuyến tính: Thuật toán giải bài toán vận tải không cân bằng thu phát trường hợp cung lớn hơn cầu

13 3,5K 12
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 57,46 KB

Nội dung

Thuật toán giải bài toán vận tải không cân bằng thu phát trường hợp cung lớn hơn cầu: Trong thực tế ta hay gặp các bài toán vận tải mà lượng hàng ở các kho ( trạm phát ) nhiều hơn lượng hàng ở nơi nhận ( trạm thu ), tức là ∑ai > ∑bj Để giải bài toán dạng này ta thực hiện các bước sau: Bước 1 : thêm 1 cột ( trạm thu giả ) thứ n+1 để nhận lượng hàng thừa là bn+1 = ∑ai ∑bj với cước phí vận chuyển ở các ô trong cột bằng 0 cin+1 = 0 Lúc này bài toán cân bằng thu phát. Bước 2 : thành lập phường án cực biên ban đầu bằng một trong các phương pháp : min cước phí, góc Tây – Bắc, Vogel ( nên sử dụng phương pháp Vogel vì phương pháp này cho một phương án cực biên rất gần với phương án tối ưu). Xét xem phương án cực biên đó có suy biến hay không ( không suy biến nếu có m + n – 1 ô chọn ). Nếu suy biến ( ít hơn m + n – 1 ô chọn ) thì ta thêm ô chọn giả với lượng hàng bằng 0 sao cho ô chọn giả này và các ô chọn ban đầu không tạo thành chu trình. Bước 3 : xét xem phương án cực biên hiện giờ có tối ưu hay chưa bằng thuật toán quy không cước phí các ô chọn : Với các ô chọn ( i , j ) có cước phí là ci,j ta cộng vào dòng i số ui và cột j số vj sao cho ci,j = ui + vj Thay tất cả cước phí ci,j trong bảng vận tải bởi cước phí mới c’i,j = ci,j ( ui + vj ) nếu cij ≥ 0 với mọi ( i ,j ) thì đây là phương án tối ưu cần tìm ( loại bỏ cột thêm vào ). Nếu chưa tối ưu thì sang bước tiếp theo. Bước 4 : xây dựng phương án cực biên mới tốt hơn Tìm ô vào ( i, j ) là ô có cước phí c’i, j âm nhỏ nhất. Xác định chu trình chứa ô ( i, j ), ô ( i, j ) được dấu (+), các ô chọn còn lại trên chu trình đánh dấu xen kẽ dấu (), (+) với ô ( i, j ). Tìm ô ra ( i0, j0 ) là một trong cố các ô chọn trên chu trình thoả Min { xi,j | ( i , j ) có dấu () } = x i0, j0 = q q là lượng điều chỉnh. Phương án cực biên mới : x’i,j = {█(x_(i,j ) + q ô có dấu (+) x_(i,j) q ô có dấu ()x_(i,j) ô không có dấu)┤ Bước 5 : quay về bước 3. VÍ DỤ : Hãy xác định số thùng mì ăn liền cần chuyển từ kho của công ty VINA ACECOOK đến các siêu thị và đại lý bán lẻ sao cho tổng chi phí vận chuyển là thấp nhất ( min hàm mục tiêu cước phí ) với các số liệu cụ thể lượng hàng từng kho và nhu cầu của các nơi tiêu thụ cho trong bảng sau :

Trang 1

Thuật toán giải bài toán vận tải không cân bằng thu phát trường hợp cung lớn hơn cầu:

Trong thực tế ta hay gặp các bài toán vận tải mà lượng hàng ở các kho ( trạm phát ) nhiều hơn lượng hàng ở nơi nhận ( trạm thu ), tức là

∑ai > ∑bj

Để giải bài toán dạng này ta thực hiện các bước sau:

bn+1 = ∑ai - ∑bj

với cước phí vận chuyển ở các ô trong cột bằng 0

cin+1 = 0

Lúc này bài toán cân bằng thu phát

min cước phí, góc Tây – Bắc, Vogel ( nên sử dụng phương pháp Vogel vì phương pháp này cho một phương án cực biên rất gần với phương án tối ưu) Xét xem phương

án cực biên đó có suy biến hay không ( không suy biến nếu có m + n – 1 ô chọn ) Nếu suy biến ( ít hơn m + n – 1 ô chọn ) thì ta thêm ô chọn giả với lượng hàng bằng 0 sao cho ô chọn giả này và các ô chọn ban đầu không tạo thành chu trình

không cước phí các ô chọn :

 Với các ô chọn ( i , j ) có cước phí là ci,j ta cộng vào dòng i số ui và cột j

số vj sao cho ci,j = ui + vj

 Thay tất cả cước phí ci,j trong bảng vận tải bởi cước phí mới

c’i,j = ci,j - ( ui + vj )

Trang 2

 nếu cij ≥ 0 với mọi ( i ,j ) thì đây là phương án tối ưu cần tìm ( loại bỏ cột thêm vào ) Nếu chưa tối ưu thì sang bước tiếp theo

Tìm ô vào ( i*, j* ) là ô có cước phí c’i*, j* âm nhỏ nhất

 Xác định chu trình chứa ô ( i*, j* ), ô ( i*, j* ) được dấu (+), các ô chọn còn lại trên chu trình đánh dấu xen kẽ dấu (-), (+) với ô ( i*, j* )

Tìm ô ra ( i0, j0 ) là một trong cố các ô chọn trên chu trình thoả

Min { xi,j | ( i , j ) có dấu (-) } = x i0, j0 = q

q là lượng điều chỉnh.

 Phương án cực biên mới :

x’i,j = ¿

VÍ DỤ : Hãy xác định số thùng mì ăn liền cần chuyển từ kho của công ty VINA

ACECOOK đến các siêu thị và đại lý bán lẻ sao cho tổng chi phí vận chuyển là thấp nhất ( min hàm mục tiêu cước phí ) với các số liệu cụ thể lượng hàng từng kho và nhu cầu của các nơi tiêu thụ cho trong bảng sau :

B1 B2 B3

bj

Trang 3

Trong đó :

ai : là kho ( trạm phát ) cung cấp mì gói và số thùng mì mỗi kho chứa

bj : là nơi tiêu thụ ( trạm thu ) và số thùng mì cần ở mỗi nơi

ci,j = { 12, 7, 14, 3, 5, 7, 8, 9 } là chi phí vận chuyển 1 thùng mì ( ngàn đồng ) từ kho i đến nơi j

Tính tổng chi phí vận chuyển thấp nhất mà công ty phải trả khi giao hàng

GIẢI

Nhận xét : ta thấy tổng thùng mì chứa trong các kho nhiều hơn tổng thùng mì các nơi tiêu thụ cần

∑ai = 400 > ∑bj = 360

 Bài toán không cân bằng thu phát

Ta tiến hành giải theo các bước sau :

B4 = ∑ai - ∑bj = 40

với cước phí vận chuyển ở các ô trong cột bằng 0

c4 = 0

B1 B2 B3 B4

bj

Trang 4

A2 150 3 5 7 0

Lúc này bài toán cân bằng thu phát

pháp này cho một phương án cực biên rất gần với phương án tối ưu)

bj

150 3

135

3 130

40

8

bj

150 3

135

5 15

7

0

3

Trang 5

8 9

90

9 0

40

8

Phương án cực biên tìm được

bj

120

20

14 100

0

150 3

135

5 15

7

0

130

8 9

90

9 0

40

Phương án cực biên này có m + n – 1 = 6 ô chọn => không suy biến

không cước phí các ô chọn :

bj

120

20

14 100

0

0

Trang 6

135 15 130

8 9

90

9 0

40

2

Bảng cước phí mới :

c’i,j = ci,j - ( ui + vj )

bj

120

20

0 100

2

150

0 135

0 15

-5

4

130

1 0

90

-7 0

40

Vì c’2,3 , c’3,3 < 0 nên phương án chưa phải phương án tối ưu

Tìm ô vào ( 3, 3 ) là ô có cước phí c’3,3 âm nhỏ nhất

bj

120

20

0 100

2

Trang 7

135 15 130

1 0

90

-7 0

40

 Xác định chu trình chứa ô ( 3, 3 ), ô ( 3, 3 ) được dấu (+), các ô chọn còn lại trên chu trình đánh dấu xen kẽ dấu (-), (+) với ô ( 3, 3 )

bj

120 7 0 (+)

20

0 (-) 100

2

150

0 135

0 15

-5

4

130

1 0

(-) 90

-7 (+)

0 40

Tìm ô ra ( 3, 2 ) là một trong cố các ô chọn trên chu trình thoả

Min { x3,2 | ( 3 , 2 ) có dấu (-) } = x 3, 2 = 90

90 là lượng điều chỉnh.

bj

120 7 0 (+) 0 (-) 2

Trang 8

20 100 150

0 135

0 15

-5

4

130

1 0

(-) 90

-7 (+)

0 40

 Phương án cực biên mới :

x’i,j = ¿

bj

110

14 10

0

150

3 135

5 15

130

8 9 9

90

0 40

không cước phí các ô chọn :

bj

110

14 10

0

0 150

3 135

5 15

-2

Trang 9

8 9 9

90

0 40

-5

Bảng cước phí mới :

c’i,j = ci,j - ( ui + vj )

bj

120

110

0 10

-5

150 0

135

0 15

130

8 7 0

90

0 40

Vì c’2,3 , c’2,4 , c’1,4 < 0 nên phương án chưa phải phương án tối ưu

Tìm ô vào ( 2, 3 ) là ô có cước phí c’2,3 âm nhỏ nhất

Giải thích lý do chọn ô ( 2, 3 ) thay vì chọn ô ( 1,4 ) là ô vào : vì sau khi xây dựng phương án cực biên mới tốt hơn, ô vào ban đầu là ô loại và có dấu (+) nên cộng vào lượng q và trở thành ô chọn, cả hai ô ( 2,3 ) và ô (1,4 ) đều có c’ = -5 nhưng vì ô ( 1,4 ) là nằm ở trạm thu giả mà ta thêm vào ban đầu nên việc thay đổi lượng hàng giữa các ô trong cột 4 không ảnh hưởng đến tổng cước phí mà ta cần tìm, vì vậy nên chọn ô ( 2,3 ) là ô vào để tìm phương án cực biên mới tốt hơn khi thay đổi lượng hàng và ô chọn ở các trạm thu 1, 2 và 3 là những trạm thu thực tế cần quan tâm.

Trang 10

110

0 10

-5

150 0

135

0 15

130

90

0 40

 Xác định chu trình chứa ô ( 3, 3 ), ô ( 3, 3 ) được dấu (+), các ô chọn còn lại trên chu trình đánh dấu xen kẽ dấu (-), (+) với ô ( 3, 3 )

bj

120

(+) 110

0 (-) 10

-5

150 0

135

0 (-) 15

-5 (+)

-3

130

90

0 40

Tìm ô ra ( 1, 3 ) là một trong cố các ô chọn trên chu trình thoả

Min { x1,3 | ( 1 , 3 ) có dấu (-) } = x 1, 3 = 10

10 là lượng điều chỉnh.

bj

Trang 11

(+) 110

0 (-) 10

-5

150 0

135

0 (-) 15

-5 (+)

-3

130

90

0 40

 Phương án cực biên mới :

x’i,j = ¿

bj

120

120

14

0

150 3

135

5 5

7 10

0

130

8 9 9

90

0 40

toán quy không cước phí các ô chọn :

bj

120

14

0

2

Trang 12

3 135

5 5

7 10

0

0

130

8 9 9

90

0 40

2

Bảng cước phí mới :

c’i,j = ci,j - ( ui + vj )

bj

120

120

5

0

150 3

135

5 5

7 10

2

130

90

0 40

Vì c’i,j ≥ 0 với mọi ( i , j ) nên phương án cực biên này là phương án tối ưu

Vậy phương án tối ưu cần tìm của bài toán là ( đã bỏ trạm thu giả ) :

bj

120

14

150 3 5 7

Trang 13

135 5 10 130

8 9 9

90

Tổng chi phí thấp nhất mà công ty VINA ACECOOK phải trả để giao hàng đến nơi tiêu thụ là :

f(x) = ∑∑ ci,j xi,j

= 7 × 120 + 3 × 135 + 5 × 5 + 7 × 10 + 9 × 90 = 2150 ( ngàn đồng )

Ngày đăng: 03/11/2014, 08:30

TỪ KHÓA LIÊN QUAN

w