Chương 4

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

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

1

NỘI DUNG

1. Bài toán vận tải dạng tổng quát

1.1 Phát biểu bài toán vận tải (BTVT)

1.2 Đặt bài toán vận tải dưới dạng bảng

1.3 Các tính chất của bài toán vận tải 1.3 Các tính chất của bài toán vận tải

2. Thuật toán thế vị

2.1 Tiêu chuẩn tối ưu

2.2 Thuật toán

20/6/2012

3. Các trường hợp đặc biệt của BTVT

MaMH: C01019 Chương 4: Bài toán vận tải

2

Bài toán vận tải dạng tổng quát

,iS

=

,jT

với lượng phát tương ứng với

1,...,

n .

jb j ,

x x

ij

phát hàng đến n điểm thu = 1. Phát biểu bài toán Có m điểm phát m ia i ; 1,..., , lượng thu tương ứng

S a : i i

T b : j

j

c

ij

=

=

1,...,

m

iS i ,

(cid:190) (cid:190) fi

jT j , iS

=

ijc với: là cước phí vận chuyển 1 đơn vị hàng từ n 1,..., điểm phát ijx ,jT = i

1,...,

1,...,

m j ;

n .

20/6/2012

đến điểm thu là lượng hàng được vận chuyển từ đến

MaMH: C01019 Chương 4: Bài toán vận tải

3

Bài toán vận tải dạng tổng quát

20/6/2012

Vấn đề: Lập kế hoạch vận chuyển như thế nào để tổng cước phí vận chuyển là bé nhất? Biết rằng hàng hóa có thể vận chuyển từ một điểm phát bất kỳ đến một điểm thu bất kỳ.

MaMH: C01019 Chương 4: Bài toán vận tải

4

Bài toán vận tải dạng tổng quát

n m

=

Mô hình bài toán có dạng:

f X (

)

min

∑ ∑

c x ij

ij

=

=

1

j

1

i

n

= =

= =

x x

1,..., 1,...,

m m

∑ ∑

ij

a i , , a i i

=

j

1

m

=

=

x

1,...,

n

ij

b j , j

1

0,

= i

1,...,

= m j ;

1,...,

n

= i x

ij

         

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

5

Bài toán vận tải dạng tổng quát

m

n

b

=∑ a

Điều kiện cân bằng thu phát:

i

j

=

=

1

i

1

j

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

6

Bài toán vận tải dạng tổng quát

Thu

...

...

Tj : bj

Tn : bn

T1 : b1

Phát

2. Đặt bài toán dưới dạng bảng

c11

c1j

c1n

S1 : a1

11x

1jx

1nx

...

...

ci1

cij

cin

Si : ai

1ix

inx

ijx

...

...

cm1

cmj

cmn

Sm : am

1mx

mjx

mnx

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

7

Bài toán vận tải dạng tổng quát

Định nghĩa 1 Một tập hợp các ô thỏa mãn tính chất: • 2 ô liên tiếp cùng nằm trên cùng 1 hàng hay 1 cột; • 3 ô liên tiếp không cùng nằm trên cùng 1 hàng hay 1

cột

được gọi là một dây chuyền. được gọi là một dây chuyền.

20/6/2012

Một dây chuyền khép kín được gọi là một chu trình.

MaMH: C01019 Chương 4: Bài toán vận tải

8

Bài toán vận tải dạng tổng quát

0

ijx >

được gọi là ô chọn, những ô

Định nghĩa 2 Những ô có còn lại được gọi là ô loại.

Định nghĩa 3 Một phương án (PA) mà các ô chọn không tạo thành chu trình đgl PA cơ bản (PACB).

20/6/2012

Một PACB đủ (m + n – 1) ô chọn đgl PACB không suy biến.

MaMH: C01019 Chương 4: Bài toán vận tải

9

Bài toán vận tải dạng tổng quát

3. Các tính chất của BTVT i. BTVT cân bằng thu phát luôn luôn có PATƯ. ii. Trong 1 PACB bất kỳ, tổng số ô chọn luôn nhỏ

+ - m n m n+ - (

( (Số ô chọn iii. Với PACB có đủ

£ hơn hoặc bằng tổng số điểm phát và thu trừ đi 1. 1)

20/6/2012

). 1) ô chọn, thì với 1 ô loại bất kỳ sẽ tạo thành một chu trình duy nhất với một số ô chọn.

MaMH: C01019 Chương 4: Bài toán vận tải

10

Thuật toán thế vị

=

min

f x (

)

c x ij

ij

=

=

1

i

1

j

n

=

=

x

1,...,

m

ij

a i , i

=

1

j

m

=

=

x

1,...,

n

ij

b j , j

1

fi 1. Tiêu chuẩn tối ưu Xét BTVT cân bằng thu phát m n ∑ ∑

0,

= i

1,...,

= m j ;

1,...,

n

= i x

ij

        

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

11

Thuật toán thế vị

m

n

=

+

Bài toán đối ngẫu của bài toán trên:

g u v ( , )

max

a u i

i

b v j

j

=

=

1

j

i + +

1 = =

= =

u u

v v

c c

, ,

i i

1, 1,

m ; ; m

j j

1, 1,

n . . n

i i

j j

ij ij

20/6/2012

£ £

MaMH: C01019 Chương 4: Bài toán vận tải

12

Thuật toán thế vị

=

=

u v i , ,

1,

1,

n

i

j

+ +

Định lý 1 x= PA của BTVT là PATƯ khi và chỉ khi tìm ( X )ij được các số m j ; thỏa mãn:

c c

, ,

v v

j ( , ) i ( , ) j i

ij

i

j

=

+

£ " £ "

c

,

v

i ( , )

j G X

(

),

ij

i

j =

>

  u u  u  G X (

)

j {( , ) : i

x

0}

ij

20/6/2012

" ˛

MaMH: C01019 Chương 4: Bài toán vận tải

13

Thuật toán thế vị

0

X

x= 0( )ij

=

min{

x

a b , i

ij

j

theo nguyên tắc phân

2. Thuật toán thế vị - Bước 1 (Bước khởi tạo) Tìm PACB xuất phát 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à Sau đó, điều chỉnh lại các yêu cầu:

x

-

a i b

ij x

j

j

ij

¢ =  a i  ¢ = b 

20/6/2012

-

MaMH: C01019 Chương 4: Bài toán vận tải

14

Thuật toán thế vị

0

ia¢ = 0 jb¢ = 0 ¢= b a i

j

20/6/2012

¢ , thì loại dòng i. , thì loại cột j. = • Nếu • Nếu • Nếu , thì loại cả dòng i và cột j.

MaMH: C01019 Chương 4: Bài toán vận tải

15

Thuật toán thế vị

Ví dụ 1

x 19

bj

60

30

46

25

ai

7 7

12 12

7 7

50 4 50 4

9

6

1

51

70 5

19

2

9

1

x

41 8

41

20/6/2012

MaMH: C01019 Chương 4: Bài toán vận tải

16

Thuật toán thế vị

0,

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 cầu của điểm phát và điểm thu được thỏa mãn.

ijx >

0.

những ô còn lại

ijx =

20/6/2012

Các ô được phân phối có có

MaMH: C01019 Chương 4: Bài toán vận tải

17

Thuật toán thế vị

20/6/2012

Dựa vào nguyên tắc phân phối tối đa và cách thức chọn ô ưu tiên phân phối, xét 3 phương pháp: i. Phương pháp góc Tây Bắc: ô đầu tiên được chọn để phân phối là ô ở vị trí góc Tây Bắc (ô (1,1)). ii. Phương pháp cực tiểu cước phí: ô đầu tiên được ii. Phương pháp cực tiểu cước phí: ô đầu tiên được chọn để phân phối là ô có cước phí bé nhất. iii. Phương pháp Fogel: trên mỗi hàng, cột chọn ra hai ô có cước phí bé nhất (bé nhì), lấy hiệu số của chúng. Ô có cước phí bé nhất tương ứng ở hàng, cột có hiệu số lớn nhất sẽ là ô đầu tiên được chọn để phân phối.

MaMH: C01019 Chương 4: Bài toán vận tải

18

Thuật toán thế vị

m n+ -

(

1)

ij

1)

ô chọn, thì

sao cho: m n+ - ( j ( , ) i

20/6/2012

Nếu PACB tìm được có đủ sang Bước 2. Ngược lại, thêm vào ô nào đó một lượng hàng j i ( , ) ijx = 0 • đủ số • và ô này không tạo thành chu trình với các ô chọn. fi Bước 2.

MaMH: C01019 Chương 4: Bài toán vận tải

19

Thuật toán thế vị

u v i , ,

m n+ - ( = m j ; 1,

1) ô chọn. n 1,

= =

+ +

i j i ( , ) ( , ) i

v v

, ,

j G X j G X

( (

) )

i i

j j

ij ij

" ˛ " ˛ - Bước 2 (Bước lặp) Ở đầu bước lặp đã có PACB đủ = i. Xác định các thế vị c c u u

Chọn u1 = 0. ii. Tính các ước lượng theo công thức:

v

c

,

j ( , ) i

D = ij

+ u i

j

ij

20/6/2012

- "

MaMH: C01019 Chương 4: Bài toán vận tải

20

Thuật toán thế vị

ij

*

*

)

(

,

i

j

D £ " thì PA đang xét là PATƯ. Ngược

=

0}

D > : ij

ij

* * max{ j

i

*

*

j

i

,

)

*

)

(

,

i

( Khi đó, ô sẽ tạo nên một chu trình duy nhất với một số ô chọn. fi Ô sẽ là ô chọn ở bảng mới. * j

20/6/2012

iii. Kiểm tra tiêu chuẩn tối ưu j ( , ) i 0, Nếu lại, chuyển sang iv. iv. Chọn ô là ô có ước lượng dương lớn nhất: nhất: D D

MaMH: C01019 Chương 4: Bài toán vận tải

21

Thuật toán thế vị

*

*

(

)

,

i

j

K -

Đặt tên chu trình là K. Đánh dấu +, - xen kẽ vào các ô thuộc K, bắt đầu từ ô mang dấu +. Đặt : K + = { những ô mang dấu +}

20/6/2012

= { những ô mang dấu -}

MaMH: C01019 Chương 4: Bài toán vận tải

22

Thuật toán thế vị

X

),

x= (

ij

ij

x= (

),

Tiến hành điều chỉnh PA ta có PA mới X với

j ( , ) i

K

,

ijx

+ +

+ +

q q

ˇ

x x

x x

j ( , ) i ( , ) j i

K K

, ,

ij

ij

˛ ˛

q

x

j ( , ) i

K

,

 = =    

- - ˛

ij =

q

=

min{

x

K

}

ij

i

j 0 0

)

(

i

0

X

j i : ( , ) x trong đó, fi Ô là ô loại ở bảng mới. j , 0 Thay X bởi

- ˛

20/6/2012

và lặp lại Bước lặp.

MaMH: C01019 Chương 4: Bài toán vận tải

23

Thuật toán thế vị

bj

30 60 46 25 ai

4 7 u1= 0 50 50

20 20

30 30

+

9 12 -8 -8 6

-

70 u2= 2

24

7 -1 -1 1 746 1 2

41 u3= -5

+

9 -10 5 1 8 -9

16 v2= 7

v3= 4

- 25 v4= 6

q =

24

20/6/2012

v1= 4

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

30 60 46 25 ai

4 7 u1= 0 50 50

20 20

30 30

12 -1 -1 6 7 -1 -1 1

70 u2= -5

24

46

9 -7 2 1

41 u3= -5

40

5 -6 8 -9

9 -3 v3= 11

1 v4= 6

20/6/2012

v1= 4 v2= 7

MaMH: C01019 Chương 4: Bài toán vận tải

25

Thuật toán thế vị

0,

j ( , ) i

ij

D £ " Vì

0

0

*

=

X

0

46 24

0

nên 30 20

0

0

1

40

     

     

PATƯ

*

+ ·

+ ·

+ ·

+

+

f X = · (

) 4 30 7 20 6 46 24 2 40 1

=

641.

20/6/2012

Giá trị tối ưu:

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 bằng thu phát

m

n

b

>∑ ∑ a i

j

=

=

1

i

1

j

a. Phát > Thu:

m

n

=

b

;

m 1 . ,

+

+ = " = i 0,

b n

1

-∑ ∑ a i

j

i nc

(

1)

=

=

1

i

1

j

20/6/2012

fi Đưa về BTVT cân bằng thu phát Thêm một điểm thu giả, lượng hàng tương ứng

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

n

b

<∑ ∑ a i

j

=

=

1

i

1

j

b. Phát < Thu m

fi Đưa về BTVT cân bằng thu phát fi Đưa về BTVT cân bằng thu phát

n

m

=

= " = j 0,

n 1 . ,

;

+

c (

+ m j 1)

-∑ ∑ b

a m

1

j

a i

=

=

1

j

1

i

20/6/2012

fi Thêm một điểm phát giả, lượng hàng tương ứng

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

M M

ij

20/6/2012

fi fi Thay Thay , với , với là số dương rất lớn. là số dương rất lớn. ii. BTVT có ô cấm Ô cấm: ô không được nhận hàng. Giả sử ô là ô cấm. j i ( , ) ijc M=

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.

0, 0,

j ( , ) i ( , ) j i

ij ij

*

*

D ‡ " D ‡ "

(

,

i

j

• Dấu hiệu tối ưu: • Dấu hiệu tối ưu: • Chọn ô

0}

) = * min{

*

D < : ij

i

j

j ( , ) i

ij M= -

M

D D

ijc

, thay • Nếu có ô cấm , với là số dương

ijc

20/6/2012

rất lớn. • Chọn ô có lớn nhất phân phối trước.

MaMH: C01019 Chương 4: Bài toán vận tải

30