BÀI 3

̣ ̃

ng hang phat ra t ng ươ ́ ượ ̀ ̣ ́ ̀ ́

ng la a ̀

1,…,am

ng hang t ng ̣ ượ ươ ̀ ̣ ̀ ̀

̀

1,…,bn

tram ̣ ơ ́ ừ ́ ̣ ̉ ̣ ̀ ̣

m

n

j

1. Đinh nghia: A1, …,Am la m tram phat, co l ứ B1,…, Bn la n tram thu cân nhâp l ng la b ứ cij c ướ phat Á ́ ̣

= 1

i

= 1

j

… …

Phat́

B1 b1

B2 b2

Bn bn

c phi vân chuyên môt đ n vi hang hoa t j. i đên tram thu B =� � Thu b a i

c11

c12

A1 a1

c1n

c21

c22

A2 a2

c2n

Am am

cm1

cm2

cmn

Điêu kiên: ̀ ̣

2. Mô hinh toan hoc cua bai toan vân tai: ̀ ́ ̣ ̉ ̀ ́ ̣ ̉

ng hang hoa ta se vân chuyên t tram Goi x̣ ́ ượ ̉ ừ ̀ ̀ ́ ̃ ̣ ̣

ij la khôi l

phat Á ́ ̣ ́

i đên tram thu B

j (i = 1,..,m; j = 1,…,n), ta co mô

hinh: ̀

(cid:0)

min

c xij ij

m n � � = = i j 1 1 n

=

=

(cid:0)

1,...,

m

x ij

a i , i

= 1 j m

=

=

(cid:0)

b

,

j

1,...,

n

x ij

j

= 1

i

=

=

(cid:0)

0,

i

1,...,

m j ;

1,...,

n

x ij

3. Ph ng an cua bai toan vân tai: ươ ́ ̉ ̀ ́ ̣ ̉

̣ ́ ̉ ̀ ́ ̣ ̉ ̀ ̣ ̣

X

Môt ph ( = ́ ̀ ́ ́

0 ijx trong đo la cac sô không âm sao

(cid:0) ng an cua bai toan vân tai la môt ma trân ươ )0 x ij m n

0 cho:

m

n

=

=

=

=

1,...,

n

1,...,

m

0 x ij

b j , j

(cid:0) (cid:0)

a i , va ̀ i

0 x ij

= 1

j

= 1

i

4. Ph ng an c ban cua bai toan vân tai: ươ ơ ́ ̉ ̉ ̀ ́ ̣ ̉

ng an c ban cua bai toan - Ô choṇ : trong môt ph ươ ơ ̣ ́ ̉ ̉ ̀ ́

vân tai cac ô co l ng hang d ng đ c goi la ô ́ ượ ươ ượ ̣ ̉ ́ ̀ ̣ ̀

chon, cac ô co l ng hang băng 0 đ c goi la ô loai. ́ ượ ượ ̣ ́ ̀ ̀ ̣ ̀ ̣

- Vong: Môt day cac ô chon cua môt ph ng an nao ươ ̀ ̣ ̃ ́ ̣ ̉ ̣ ́ ̀

đo đ c goi la tao nên môt vong nêu môi ô trong day ́ ượ ̣ ̀ ̣ ̣ ̀ ́ ̃ ̃

ô đo đêu phai năm trên cung môt dong (côt) chi v i ̉ ớ ́ ̀ ̉ ̀ ̀ ̣ ̀ ̣

môt ô đ ng tr c no đông th i phai năm trên cung ứ ướ ờ ̣ ́ ̀ ̉ ̀ ̀

môt côt (dong) chi v i môt ô đ ng sau no. ̉ ớ ứ ̣ ̣ ̀ ̣ ́

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

Vong th ng co dang sau: ườ ̀ ́ ̣

 Sô ô chon trong vong luôn la môt sô chăn: ́ ̣ ̀ ̀ ̣ ́ ̃

Ph ng an c ban: môt PA cua bai toan vân tai đ c ươ ơ ̉ ượ ́ ̉ ̣ ̉ ̀ ́ ̣

goi la PA c ban nêu cac ô chon cua PA đo không tao ơ ̣ ̀ ̉ ́ ́ ̣ ̉ ́ ̣

thanh vong. ̀ ̀

́ ́

Chu y:  Môt ph ng an cua bai toan vân tai co m + n ô ươ ̣ ́ ̉ ̀ ́ ̣ ̉ ́

ng an không c ban. ở ươ ơ ̣ ̀ ̣ ́ ̉

chon tr lên luôn la môt ph  PACB co sô ô chon băng m + n -1 goi la PACB ́ ́ ̣ ̀ ̣ ̀

không suy biêń  PACB co sô ô chon nho h n m + n – 1 goi la PACB ̉ ơ ́ ́ ̣ ̣ ̀

suy biêń  “Ô chon không” la ô loai đ c bô sung đê co ̣ ượ ̣ ̀ ̉ ̉ ́

PACB không suy biên. ́

ng an c ban: ơ ́ ̉

ươ ́ ́

ự ươ ng phap tây – băc: u tiên phân phôi tôi đa hang lân l t vao cac ô phia ̀ ượ ở ́ ́ ̀ ̀ ́ ́

́ ̉ ̉ ́ ́ ̣ ́ ́ ́

̀ ̀ ́ ̣ ̣ ̉ ̀

5. Xây d ng ph a. Ph Ư Tây băc cua bang cho đên khi cac tram phat phat hêt hang va cac tram thu nhân đu hang. Vi du: ́ ̣

B1:25 B2:25 B3:10

A1:10 5

3

1

A2:30 7

6

8

A3:20 3

2

2

ng phap c ươ ướ ́ ́ ́ ́

t vao cac ô co c phi thâp nhât: ̀ ượ ́ ́ ̀ ̀ ́ ́

c phi thâp nhât cho đên khi cac tram phat phat hêt u tiên phân phôi tôi đa hang lân l ướ ́ ́ ́ ́ ́ ̣ ́ ́ ́

̀ ̀ ́ ̣ ̣ ̉ ̀

b. Ph Ư c hang va cac tram thu nhân đu hang. Vi du: ́ ̣

B1:25 B2:25 B3:10

A1:10 5

3

1

A2:30 7

6

8

A3:20 3

2

2

6. Tính ch t c a bài toán v n t i: ấ ủ ậ ả

Tính ch t 1: M i bài toán v n t ọ ậ ả ề i đ u có PAT . Ư ấ

Tính ch t 2: S ô ch n trong m t ph ng án c b n ộ ọ ố ấ ươ ơ ả

c a m t bài toán v n t i không bao gi t quá m + ậ ả ủ ộ v ờ ượ

n – 1 ô.

Tính ch t 3: Khi thêm vào m t ph ng án c b n ộ ấ ươ ơ ả

không suy bi n c a m t bài toán v n t i m t ô ch n ậ ả ủ ộ ế ọ ộ

ng thì ô ch n đó cũng t o v i m t s ô ch n c a ph ớ ộ ố ủ ọ ọ ạ ươ

án thành m t vòng duy nh t. ộ ấ

7. Gi i bài toán v n t i b ng ph ả ậ ả ằ ươ ng pháp th v : ế ị

ế ậ ấ

B c 1: ướ 1) Xây d ng PACB xu t phát. L p PACB không suy bi n xu t phát ự ấ

ủ ế ấ

ườ ọ

2) Ki m tra tính không suy bi n c a PACB xu t phát: N u t ng s ô ch n là m + n – 1 ố ng án không suy bi n, ươ ế

ướ N u t ng s ô ch n < m + n – 1 c 2. ế ổ ườ ố ọ

ể  Tr ng h p 1: ế ổ ợ thì PACB xu t phát là ph ấ ta chuy n qua b ể  Tr ng h p 2: ợ thì

ả ổ

ộ ố ng án không suy c 2. ta ph i b sung vào PACB xu t phát m t s “ô ch n không” đ đ ọ bi n tr ướ ế ấ c m t ph ươ ộ ể ượ c khi chuy n sang b ướ ể

ố ư ấ

c xây ế ị ượ ấ

Đánh giá tính t B c 2: ủ ướ i, vj). 1) Xây d ng h th ng th v (u ệ ố ự H th ng th v (u d ng theo công th c u

i, vj) c a PACB xu t phát đ ứ

ệ ố ự i u c a PACB xu t phát. ế ị ủ i + vj = cij.

2) Tính các h s c l ng Δ ệ ố ướ ượ

ij.

Các h s c l ng c a các s đ c tính theo quy t c ệ ố ướ ượ ố ượ ủ ắ

c l ng c a các ô ch n là 0. ệ ố ướ ượ ủ ọ

sau: H s H s c l ng c a ô lo i (i, j) đ c tính theo công ệ ố ướ ượ ủ ạ ượ

th c Δứ

ij = ui + vj – cij

3) Đánh giá tính t i u c a PACB xu t phát. ố ư ủ ấ

 Tr c l ng các ô đ u ườ ng h p 1: n u các h s ế ệ ố ướ ượ ợ ở ề

không d ng thì PACB xu t phát là PAT c a bài toán, ươ Ư ủ ấ

thu t toán k t thúc v i PAT là PACB xu t phát. Ư ớ ế ấ ậ

 Tr ng h p 2: N u có m t ô lo i có h s c l ng ườ ệ ố ướ ượ ộ ợ ế ạ

d ng thì PACB xu t phát ch a t i u, bài toán ti p t c ươ ư ố ư ế ụ ấ

b ng cách l p PACB m i. ậ ớ ằ

Chú ý: n u các h s c l ng c a các ô lo i đ u là ệ ố ướ ượ ế ạ ề ủ

s âm thì PACB xu t phát là PAT duy nh t c a bài ấ ủ Ư ố ấ

toán. Ng i c l ượ ạ i thì bài toán có th có nhi u PACB t ể ề ố

u.ư

Xây d ng PACB m i. B c 3: ướ ự ớ

ệ ố ọ

ọ ớ

1) Tìm ô lo i đ a vào h th ng ô ch n. Ô lo i đ h s ng l n nh t. ạ ư c đ a vào làm ô ch n trong PACB m i là ô có ư ạ ượ ng d c l ệ ố ướ ượ ươ ớ ấ

Xây d ng PACB m i. B c 3: ướ ự ớ

ọ ư

ị ọ c ô đ a ra kh i h th ng ô ch n ta ỏ ệ ố

ệ ự ể ả

2) Tìm ô đ a ra kh i h th ng ô ch n ỏ ệ ố  Đ xác đ nh đ ư ượ ệ ề  Tìm vòng đi u ch nh: T ô ch n m i đ a vào ta n i ố ừ ớ ư ọ

ph i th c hi n các công vi c sau: ỉ i đ tìm vòng g i là vòng đi u ọ ạ ể ể

 Xác đ nh ô ch n, l ẽ ẵ ấ ỉ

trong vòng đi u ch nh: L y ô ề ố ố

ẽ ỉ

v i ô ch n còn l ọ ớ ch nh. ỉ ị m i đ a vào làm ô s 1, ta đánh s các ô trong vòng ớ ư ; các ô 2, 4, … là các ô đi u ch nh. Các ô 1,3,… là ô l ề ch n.ẵ

ẵ ỏ ấ

ượ ấ

 Tìm ô ch n có l Ô ch n có l ượ ẵ ỏ ệ ố ng hàng nh nh t. ượ ng hàng q nh nh t là ô đ ỏ ng hàng q g i là l ọ ượ ọ c đ a ra ư ng ượ

kh i h th ng ô ch n. L hàng đi u ch nh. ề ỉ

Xây d ng PACB m i. B c 3: ướ ự ớ

ng án 3) C i ti n ph ả ế ươ

c xây d ng theo quy t c sau: ớ ượ ự ắ

PACB m i đ Các ô l trong vòng đi u ch nh đ c c ng vào ẽ ề ỉ ượ ộ

ng hàng đi u ch nh. ề ỉ

l ượ Các ô ch n trong vòng đi u ch nh b tr đi l ng ị ừ ề ẵ ỉ ượ

hàng đi u ch nh. ề Các ô còn l i gi nguyên l ng hàng. ạ ữ ượ

: Đánh giá tính t B c 4 ướ ố ư i u c a PACB m i ớ ủ

Đ c th c hi n nh b c 2. ư ướ ượ ự ệ

Chú ý:

a) Khi b sung “ô ch n không” hay ch n ô đ a vào: ư ọ ọ ổ

n u có nhi u ô cùng th a mãn đi u ki n thì ta nên u ư ỏ ề ế ệ ề

phía tây – b c. tiên ch n các ô ọ ở ắ

ng hàng nh nh t trong các ô b) Khi ô đ a ra, n u l ư ế ượ ỏ ấ

ch n c a vòng đi u ch nh là 0 thì ô đó v n đ c ch n ủ ề ẫ ẵ ỉ ượ ọ

làm ô đ a ra. Trong tr ng h p này, PACB v n không ư ườ ợ ẫ

thay đ i nh ng h th ng ô ch n có thay đ i, k t qu ả ệ ố ư ọ ổ ổ ế

đánh giá tính t i u c a PACB có th thay đ i. ố ư ủ ổ ể

Ví d 1: ụ Gi i bài toán v n t i sau: ả ậ ả

20

40

30

30

1

3

5

25

5

4

2

35

8

5

4

Gi i:ả

B ng ph ng pháp c c phí th p nh t ta l p đ c ằ ươ ướ ấ ậ ấ ượ

PACB xu t phát sau: ấ

20

40

30

3 10

5 0

30

1 20

25

5 0

4 0

2 25

35

8 0

5 30

4 5

ng án trên không suy ọ ươ

S ô ch n là 5 = 3 + 2 – 1 nên ph ố bi n.ế

1

3

5 - 3

u1 = 0

20

10

0

5 -4

4 -1

2

u2 = 0

0

0

25

8 -5

4

5

u3 = 2

5

0

30 v1 = 1 v2 = 3 v3 = 2

Ví d 2: Cho bài toán v n t i sau: ậ ả ụ

25 5 7 3

25 3 6 2

10 1 8 2

10 30 20

i bài toán v n t i trên. Tìm PAT khác (n u có) c a ậ ả Ư ủ ế ả

Gi bài toán.

Gi i:ả

B ng 1: L p PACB xu t phát b ng ph ng pháp c c ằ ả ậ ấ ươ ướ

phí th p nh t. S ô ch n là 4 < 3 + 3 – 1 = 5 nên ta b ổ ọ ố ấ ấ

sung vào m t “ô ch n không” là ô (1, 1). Xây d ng h ệ ự ọ ộ

th ng th v và tính các h s c l ệ ố ướ ượ ế ị ố ng ta th y h s ệ ố ấ

ng ô (1, 2) d ng nên PACB xu t phát ch a c l ướ ượ ở ươ ư ấ

t i u. ố ư

25

25

10

10

0

5 - 0

3 1 + 0

1 10

30

2

7 + 25

6 - 5

8 -5 0

20

-2

3 0 0

2 20

2 -3 0

5 4 1

0

3 0

1 10

6

8 -4

7

3

- 25

+ 5

3 0

2

2 -2

-1

+

- 20

Bài toán có l

4 3 1 i u là: i gi

0

10

=

=

oX

225

min

5 20

0 � � 25 � � 0 �

i t ờ ả ố ư

� � 0 , f � � 0 �

Ô lo i (3, 1) trong b ng 2 có h s c l ng 0 nên ệ ố ướ ượ ả ạ

PAT trên không duy nh t. Ư ấ

Xây d ng PACB m i v i ô đ c đ a vào là ô (3, 1) thì ta ớ ớ ự ượ ư

c b ng 3 nh sau: l p đ ậ ượ ư ả

ng án t ố ư

3

i u th Ph ứ 2 c a bài toán đã cho: ươ ủ

0

1 10

0

8 -4

0

10

3

oX =

6 25

7 5

25 0

0 0

0 � � 5 � � 20 �

� � � � �

3 0

2 -2

-1

20

4 3 1

BÀI TOÁN V N T I KHÔNG CÂN B NG THU PHÁT Ằ Ả Ậ

Tr bài toán có t ng phát > t ng thu ườ ng h p 1: ợ ổ ổ

ậ ạ ng hàng b ng hi u ằ ượ ụ ệ

ộ ạ ằ

B c 1: ướ c a t ng phát v i t ng thu. Các ô n m trên c t có tr m ủ ổ thu ph có c ụ l p tr m thu ph có l ớ ổ c phí b ng 0. ằ ướ

gi ng nh ng khi l p ả ư ậ

ng án c b n xu t phát thì u tiên phân ph i ố

i nh bài toán bình th B c 2: ườ ư ướ ph ư ấ ơ ả ươ hàng vào các ô chính tr c.ướ

B c 3: k t lu n bài toán g c. ướ ố ế ậ

Ư ủ Ư ủ ụ ỏ

PAT c a bài toán g c là PAT c a bài toán ph b đi ố c t ng v i tr m ph . ụ ớ ạ ộ ứ

Tr t ng phát < t ng thu ườ ng h p 2: ợ ổ ổ

i nh tr ng h p 1 nh ng l p thêm tr m phát ph Gi ả ư ườ ư

ạ ậ ụ

100

50

30

70

80

3

5

6

5

70

4

5

7

8

50

3

4

4

3

BÀI TOÁN V N T I CÓ Ô C M Ấ Ả Ậ

B c 1: ướ

Thay c c phí c c phí M ướ ủ ằ ướ

ij c a ô c m b ng c ấ

gi i bài toán m r ng B c 2: ướ ả ở ộ

ng nh ng khi xây d ng ư ườ ư ự

ả ươ ố

i nh bài toán bình th Gi ph ơ ả vào các ô bình th ấ ng tr ng án c b n xu t phát u tiên phân ph i hàng ư c. ướ ườ

k t lu n bài toán g c B c 3: ướ ố ế ậ

ế ở ộ ượ

ng hàng ố ủ ằ ủ ấ

TH1: n u PATU c a bài toán m r ng có l trong các ô c m b ng 0 thì PATU c a bài toán g c trùng v i PATU bài toán m r ng. ở ộ ớ

ng ấ ượ

TH2: N u PATU bài toán m r ng có ô c m có l hàng d ở ộ ng thì bài toán g c không có PATU. ố ế ươ

i sau, trong đó các ô (2,2) và ả ậ ả

50

100

25

25

16

15

10

50

8

9

5

15

100

10

14

11

13

50

10

Gi i bài toán v n t (2,4) là các ô c m.ấ