Tải bản đầy đủ (.pdf) (143 trang)

Nghiên cứu một số vấn đề của lý thuyết đồ thị ứng dụng trong giải quyết một số bài toán thực tế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.24 MB, 143 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN

K
H
TN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

Đ

H

TẠ TRƯỜNG ĐỨC ANH - NGUYỄN NHẬT QUỲNH



NGHIÊN CỨU MỘT SỐ VẤN ĐỀ CỦA LÝ

C
N
TT

THUYẾT ĐỒ THỊ ỨNG DỤNG TRONG GIẢI

K
H
O
A

QUYẾT MỘT SỐ BÀI TOÁN THỰC TẾ



LUẬN VĂN CỬ NHÂN TIN HỌC

TP.HỒ CHÍ MINH, 2004


TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN

K
H
TN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

TẠ TRƯỜNG ĐỨC ANH _0012007

NGUYỄN NHẬT QUỲNH_0012082

Đ

H

NGHIÊN CỨU MỘT SỐ VẤN ĐỀ CỦA LÝ
THUYẾT ĐỒ THỊ ỨNG DỤNG TRONG GIẢI

C
N
TT




QUYẾT MỘT SỐ BÀI TOÁN THỰC TẾ
LUẬN VĂN CỬ NHÂN TIN HỌC

K
H
O
A

GIÁO VIÊN HƯỚNG DẪN
T.S DƯƠNG ANH ĐỨC

NIÊN KHÓA 2000 - 2004


MỤC LỤC
CHƯƠNG 1 :
1.1.
1.2.

MỞ ĐẦU ....................................................................................1

Ý nghĩa và mục tiêu của đề tài..........................................................................1
Nội dung của luận văn .......................................................................................2

CHƯƠNG 2 :

TỔNG QUAN VỀ BÀI TOÁN LUỒNG TRÊN MẠNG........3


K
H
TN

2.1.
Một số khái niệm................................................................................................3
2.1.1.
Đồ thị ...........................................................................................................3
2.1.2.
Các phép biến đổi đồ thị ..............................................................................3
2.2.
Các bài toán luồng trên mạng...........................................................................4
2.3.
Một số ứng dụng cho bài toán luồng trên mạng .............................................4
2.3.1.
Đường đi ngắn nhất......................................................................................4
2.3.2.
Luồng cực đại ..............................................................................................4
2.3.3.
Luồng có chi phí cực tiểu.............................................................................6
2.3.4.
Phân cơng và xếp cặp...................................................................................7
2.4.
Tóm tắt chương 2 ...............................................................................................7

LUỒNG CỰC ĐẠI ....................................................................8

H

CHƯƠNG 3 :


K
H
O
A

C
N
TT



Đ

3.1.
Định nghĩa và ký hiệu .......................................................................................8
3.2.
Luồng và lát cắt..................................................................................................8
3.2.1.
Mạng thặng dư .............................................................................................9
3.2.2.
Lát cắt s-t......................................................................................................9
3.2.3.
Độ thông qua thặng dư của một lát cắt s-t .................................................10
3.2.4.
Luồng qua một lát cắt s-t ...........................................................................10
3.3.
Thuật toán đường tăng trưởng .......................................................................11
3.4.
Thuật toán gán nhãn và định lý lát cắt tối thiểu ...........................................12

3.4.1.
Độ phức tạp của thuật toán gán nhãn.........................................................14
3.4.2.
Hạn chế của thuật tốn gán nhãn ...............................................................14
3.5.
Luồng có chặn dưới .........................................................................................15
3.5.1.
Xác định luồng cực đại ..............................................................................16
3.5.2.
Xây dựng luồng khả thi..............................................................................16
3.5.3.
Mô tả đặc điểm của luồng khả thi trên mạng lưu thông ............................17
3.6.
Cải tiến thuật toán đường tăng trưởng..........................................................19
3.6.1.
Các nhãn khoảng cách ...............................................................................20
3.6.2.
Thuật tốn tỉ lệ với độ thơng qua ...............................................................21
3.6.3.
Thuật tốn đường đi tăng trưởng ngắn nhất...............................................23
3.6.4.
Thuật tốn đẩy luồng .................................................................................25
3.7.
Tóm tắt chương 3 .............................................................................................27

CHƯƠNG 4 :

LUỒNG VỚI CHI PHÍ CỰC TIỂU ......................................28

4.1.

Giới thiệu ..........................................................................................................28
4.1.1.
Các giả thiết ...............................................................................................28
4.1.2.
Đồ thị thặng dư ..........................................................................................29
4.2.
Các điều kiện tối ưu cho bài toán ...................................................................29
4.2.1.
Các điều kiện tối ưu về chu trình âm .........................................................29
4.2.2.
Các điều kiện tối ưu về chi phí rút gọn......................................................29
4.2.3.
Các điều kiện tối ưu bổ sung......................................................................31
4.3.
Liên hệ các luồng tối ưu và các khả năng tối ưu của đỉnh ...........................31


4.4.
Thuật tốn khử chu trình âm và tính chất ngun.......................................33
4.5.
Thuật toán đường đi ngắn nhất liên tiếp .......................................................35
4.6.
Thuật toán Primal-dual...................................................................................39
4.7.
Các thuật toán cải tiến.....................................................................................42
4.7.1.
Cải tiến thuật toán đường đi ngắn nhất liên tiếp ........................................43
4.7.2.
Một số cách cải tiến khác...........................................................................43
4.8.

Tóm tắt chương 4 .............................................................................................46

CHƯƠNG 5 :

SỰ PHÂN CÔNG VÀ XẾP CẶP ...........................................48

C
N
TT



Đ

H

K
H
TN

5.1.
Giới thiệu ..........................................................................................................48
5.1.1.
Các cạnh bắt cặp và các nút bắt cặp...........................................................48
5.1.2.
Đường đi xen kẽ và chu trình xen kẽ .........................................................48
5.1.3.
Đường tăng trưởng.....................................................................................49
5.1.4.
Sự khác biệt đối xứng ................................................................................50

5.2.
Bài toán bắt cặp lớn nhất trên đồ thị phân đôi .............................................50
5.2.1.
Chuyển về bài toán luồng cực đại trong mạng đơn giản ...........................50
5.2.2.
Thuật toán bắt cặp lớn nhất trên đồ thị phân đôi .......................................51
5.3.
Bài tốn bắt cặp có trọng số trên đồ thị phân đơi .........................................55
5.3.1.
Thuật tốn đường đi ngắn nhất liên tiếp ....................................................55
5.3.2.
Thuật tốn Hungary ...................................................................................55
5.3.3.
Thuật tốn tỉ lệ theo chi phí .......................................................................56
5.4.
Bài tốn bắt cặp trên đồ thị tổng qt ...........................................................56
5.4.1.
Các khó khăn gặp phải trong thuật toán bắt cặp trên mạng phân đôi ........57
5.4.2.
Hoa và nụ ...................................................................................................58
5.4.3.
Sự thu nhỏ nụ .............................................................................................59
5.4.4.
Thuật tốn bắt cặp trên đồ thị khơng phân đơi...........................................60
5.5.
Tóm tắt chương 5 .............................................................................................64

CHƯƠNG 6 :

LUỒNG TỔNG QUÁT ...........................................................65


K
H
O
A

6.1.
Giới thiệu ..........................................................................................................65
6.2.
Các cấu trúc rừng tăng trưởng.......................................................................66
6.2.1.
Luồng trên đường đi ..................................................................................66
6.2.2.
Luồng trên chu trình...................................................................................68
6.2.3.
Cây tăng trưởng và rừng tăng trưởng.........................................................69
6.2.4.
Các cấu trúc rừng tăng trưởng và các điều kiện tối ưu ..............................71
6.3.
Xác định các khả năng và luồng cho một cấu trúc rừng tăng trưởng ........73
6.3.1.
Xác định khả năng của đỉnh cho một cấu trúc rừng tăng trưởng...............73
6.3.2.
Xác định luồng cho một cấu trúc rừng tăng trưởng ...................................75
6.4.
Tóm tắt chương 6 .............................................................................................80

CHƯƠNG 7 :

XÂY DỰNG ỨNG DỤNG DISTRIBUTION........................81


7.1.
Yêu cầu thực tế và lý do xây dựng ứng dụng ................................................81
7.2.
Mục tiêu của ứng dụng ....................................................................................81
7.3.
Tiếp cận bài tốn..............................................................................................82
7.3.1.
Phát biểu bài tốn.......................................................................................82
7.3.2.
Mơ hình tốn học .......................................................................................82
7.3.3.
Nhận xét .....................................................................................................83
7.3.4.
Hướng tiếp cận của luận văn......................................................................83
7.4.
Phân tích ...........................................................................................................89
7.4.1.
Yêu cầu chức năng.....................................................................................89


K
H
O
A

C
N
TT




Đ

H

K
H
TN

7.4.2.
Mơ hình Use Case......................................................................................90
7.5.
Thiết kế .............................................................................................................97
7.5.1.
Thiết kế dữ liệu ..........................................................................................97
7.5.2.
Thiết kế xử lý ...........................................................................................102
7.5.3.
Thiết kế giao diện.....................................................................................105
7.6.
Biểu đồ tương tác ...........................................................................................111
7.6.1.
Xem thông tin các đại lý ..........................................................................111
7.6.2.
Thay đổi nhu cầu của các đại lý...............................................................113
7.6.3.
Xem thông tin các phương tiện................................................................115
7.6.4.
Thay đổi thơng tin về các phương tiện ....................................................117

7.6.5.
Tìm phương pháp vận chuyển tối ưu .......................................................119
7.6.6.
Tìm đường đi ngắn nhất từ nhà cung cấp đến các đại lý .........................121
7.6.7.
Xuất lịch giao hàng ..................................................................................122
7.7.
Cài đặt .............................................................................................................123
7.8.
Hướng dẫn sử dụng .......................................................................................124
7.8.1.
Di chuyển bản đồ đến vị trí khác : ...........................................................124
7.8.2.
Phóng to, thu nhỏ bản đồ : .......................................................................124
7.8.3.
Để tìm đường đi ngắn nhất từ nhà cung cấp đến các đại lý:....................125
Để tìm đường đi ngắn nhất từ nhà cung cấp đến 1 đại lý nào đó:.....................125
7.8.4.
Để tính tốn các đường đi có chi phí thấp nhất thỏa mãn nhu cầu của các
đại lý: 126
7.8.5.
Xem thông tin và cập nhật nhu cầu của tất cả các đại lý .........................127
7.8.6.
Xem, cập nhật thông tin hoặc thêm các phương tiện chuyên chở mới: ...129
7.8.7.
Xem lịch giao hàng trong ngày của các phương tiện...............................130
7.9.
Tổng kết ..........................................................................................................132
7.9.1.
Kết luận....................................................................................................132

7.9.2.
Hướng phát triển ......................................................................................132


DANH SÁCH CÁC ĐỊNH LÝ, TÍNH CHẤT, MỆNH ĐỀ

K
H
O
A

C
N
TT



Đ

H

K
H
TN

Tính chất 3.1. .....................................................................................................................11
Tính chất 3.2 ......................................................................................................................11
Định lý 3.3: định lý Ford – Fullkerson về lát cắt nhỏ nhất ................................................14
Định lý 3.4: định lý về đường tăng trưởng ........................................................................14
Định lý 3.5: định lý về tính nguyên ...................................................................................14

Định lý 3.6: Định lý lát cắt nhỏ nhất mở rộng ...................................................................16
Định lý 3.7: điều kiện tồn tại luồng khả thi trên mạng lưu thông......................................19
Định lý 3.8 .........................................................................................................................19
Tính chất 3.9 ......................................................................................................................21
Tính chất 3.10 ...................................................................................................................21
Định lý 4.1: Các điều kiện tối ưu về chu trình âm.............................................................29
Tính chất 4.2 .....................................................................................................................30
Định lý 4.3: Các điều kiện tối ưu với chi phí rút gọn ........................................................30
Định lý 4.4 :Các điều kiện tối ưu bổ sung .........................................................................31
Định lý 4.5: Tính chất nguyên ...........................................................................................35
Bổ đề 4.6 ...........................................................................................................................36
Bổ đề 4.7 ............................................................................................................................36
Định lý 5.1: định lý về đường tăng trưởng ........................................................................49
Tính chất 5.2 ......................................................................................................................50
Tính chất 5.3 ......................................................................................................................58
Tính chầt 5.4 ......................................................................................................................59
Bổ đề 5.5 ............................................................................................................................64
Tính chất 6.1 ......................................................................................................................67
Tính chất 6.2 ......................................................................................................................68
Tính chất 6.3 ......................................................................................................................69
Tính chất 6.4 ......................................................................................................................69
Định lý 6.5: Các điều kiện tối ưu về luồng tổng quát ........................................................71
Tính chất 6.6: Các điều kiện tối ưu về cấu trúc rừng tăng trưởng .....................................72


DANH SÁCH CÁC HÌNH

K
H
O

A

C
N
TT



Đ

H

K
H
TN

Hình 2-1 ...............................................................................................................................6
Hình 3-1 Mơ tả mạng thặng dư............................................................................................9
Hình 3-2 Ví dụ về một lát cắt s – t.....................................................................................10
Hình 3-3 Ví dụ về một mạng tăng trưởng ....................................................................11
Hình 3-4: Bài tốn luồng cực đại khơng có luồng tương thích..........................................15
Hình 3-5 Minh họa đồ thị thặng dư ...................................................................................22
Hình 4-1 Minh họa thuật tốn Khử chu trình âm..............................................................34
Hình 4-2 Minh họa thuật tốn đường đi ngắn nhất liên tiếp..............................................39
Hình 4-3 Minh họa thuật tốn Primal - dual ......................................................................42
Hình 5-1 Minh họa sự bắt cặp gồm 2 phần tử ...................................................................48
Hình 5-2 Minh họa sự bắt cặp gồm 3 phần tử ...................................................................49
Hình 5-3: Chuyển đổi bài tốn bắt cặp các thành phần thành bài tốn luồng cực đại .......51
Hình 5-4 Phát triển 1 cây xen kẽ........................................................................................52
Hình 5-5 Hai vì dụ về hoa..................................................................................................58

Hình 5-6 Sự thu gọn hoa....................................................................................................59
Hình 5-7 Xác định 1 luồng tăng trưởng trong mạng thu gọn ............................................63
Hình 5-8 Xác định 1 đường tăng trưởng trong mạng ban đầu...........................................64
Hình 6-1: Luồng trên đường đi trong 1 đồ thị tổng quát ...................................................67
Hình 6-2 Ví dụ về cây tăng trưởng và luồng tăng trưởng..................................................70
Hình 6-3 Minh họa tính tốn các khả năng của đỉnh .........................................................75
Hình 6-4 Tính luồng trên các cung thuộc cây....................................................................76
Hình 6-5 Minh họa q trình tính luồng cho 1 cây tăng trưởng ........................................78
Hình 7-1 Mơ hình bài tốn phân phối hàng .......................................................................85
Hình 7-2 Biểu đồ Use Case................................................................................................90
Hình 7-3 Sơ đồ các lớp dữ liệu ..........................................................................................97
Hình 7-4 Mơ tả dữ liệu tính tốn .....................................................................................102
Hình 7-5 Sơ đồ lớp sử lý..................................................................................................102
Hình 7-6 Sơ đồ các màn hình ..........................................................................................105
Hình 7-7 Thực đơn của ứng dụng ....................................................................................105
Hình 7-8 Thanh cơng cụ của ứng dụng............................................................................106
Hình 7-9 Màn hình chính.................................................................................................108
Hình 7-10 Màn hình thay đổi nhu cầu của một đại lý .....................................................108
Hình 7-11 Màn hình thay đổi nhu cầu của tất cả các đại lý.............................................109
Hình 7-12 Màn hình xem thơng tin, cập nhật thêm mới phương tiện .............................110
Hình 7-13 Màn hình xem lịch giao hàng tối ưu về chi phí ..............................................110
Hình 7-14 Sequence Diagram: Xem thơng tin các đại lý ................................................111
Hình 7-15 Collaboration Diagram: Xem thơng tin các đại lý..........................................112
Hình 7-16 Sequence Diagram: Thay đổi nhu cầu của các đại lý .....................................113
Hình 7-17 Collaboration Diagram: Thay đổi nhu cầu của các đại lý ..............................114
Hình 7-18 Sequence Diagram: Xem thơng tin các phương tiện ......................................115
Hình 7-19 Collaboration Diagram: Xem thơng tin các phương tiện ...............................116
Hình 7-20 Sequence Diagram: Thay đổi thơng tin về các phương tiện...........................117
Hình 7-21 Collaboration Diagram: Thay đổi thông tin về các phương tiện ....................118
Hình 7-22 Sequence Diagram: Tìm phương pháp vận chuyển tối ưu .............................119

Hình 7-23 Collaboration Diagram: Tìm phương pháp vận chuyển tối ưu.......................120
Hình 7-24 Sequence Diagram: Tìm đường đi ngắn nhất từ nhà cung cấp đến các đại lý121
Hình 7-25 Collaboration Diagram: Tìm đường đi ngắn nhất từ nhà cung cấp đến các đại
lý ......................................................................................................................................121


K
H
O
A

C
N
TT



Đ

H

K
H
TN

Hình 7-26 Sequence Diagram: Xuất lịch giao hàng ........................................................122
Hình 7-27 Collaboration Diagram: Xuất lịch giao hàng..................................................123
Hình 7-28 Màn hình chính..............................................................................................124
Hình 7-29 Đường đi ngắn nhất từ nhà cung cấp đến các đại lý.......................................125
Hình 7-30 Đường đi ngắn nhất từ nhà cung cấp đến một đại lý......................................126

Hình 7-31 Đường đi có chi phí thấp nhất ........................................................................127
Hình 7-32 Màn hình cập nhật thơng tin các đại lý...........................................................128
Hình 7-33 Màn hình cập nhật nhu cầu cho 1 đại lý .........................................................129
Hình 7-34 Màn hình thêm mới, cập nhật thông tin cho các phương tiện ........................130
Hình 7-35 Màn hình hiển thị lịch giao hàng ....................................................................131
Hình 7-36 Lịch giao hàng dưới dạng văn bản .................................................................131


BẢNG TỪ ANH_VIỆT
Tiếng Anh Tiếng Việt
Admissible path Đường đi có thể chấp nhận
Advance Tiến tới
Alternating tree Cây xen kẽ

K
H
TN

Alternating Xen kẽ
Assigment Sự phân công

Augmented forest structures Các cấu trúc rừng tăng trưởng

Augmenting path algorithm Thuật toán đường tăng trưởng
Bucket Ngăn

H

Capacity Độ thơng qua


Composite cost Chi phí kết hợp

Đ

Cut Lát cắt



Cycle-canceling Khử chu trình
Decomposition Sự phân rã

C
N
TT

Distance label Nhãn khoảng cách
Feasible flow Luồng khả thi

Feasible solution Lời giải khả thi

Flower and blossom Hoa và nụ

K
H
O
A

Flows with lower bound Luồng có chặn dưới
Generalized flow Luồng tổng quát


Label-correcting algorithm Thuật toán hiệu chỉnh nhãn
Label-setting algorithm Thuật toán gán nhãn
Matching Sự bắt cặp
Network flows Luồng trên mạng
Nonsaturating Chưa bão hòa

NP-complete NP-đầy đủ
ε -optimal flows Luồng tối ưu ε

Priority list Danh sách ưu tiên


Pseudoflow Luồng giả
Reduced cost Chi phí rút gọn
Residual capacity Độ thông qua thặng dư
Residual network Mạng thặng dư
Retreat Quay lui
∆ -scaling phase Pha tỉ lệ ∆

K
H
TN

Saturating Bão hòa

K
H
O
A


C
N
TT



Đ

H

Symmetric difference Sự khác biệt đối xứng


CHƯƠNG 1: MỞ ĐẦU

CHƯƠNG 1 :
1.1.

MỞ ĐẦU

Ý nghĩa và mục tiêu của đề tài

Lý thuyết đồ thị là ngành khoa học xuất hiện từ lâu nhưng lại có nhiều ứng
dụng hiện đại. Những ý tưởng cơ bản của nó được đưa ra từ thế kỷ 18 bởi nhà toán

K
H
TN

học Thụy Sĩ Leonhard Euler. Ông đã dùng đồ thị để giải quyết bài tốn cây cầu

Konigsberg nổi tiếng. Từ đó lý thuyết đồ thị ngày càng khẳng định được vị trí

quan trọng của mình trong việc áp dụng để giải các bài tốn thực tế nhờ vào việc
tìm ra ngày càng nhiều của các định lý, cơng thức và thuật tốn.

Một bộ phận quan trọng của lý thuyết đồ thị là dạng bài toán luồng trên

H

mạng, xuất hiện từ những nghiên cứu của Gustav Kirchhoff, và được những nhà
nghiên cứu tiên phong như Lester Ford và Ray Fulkerson phát triển thành một lĩnh

Đ

vực khoa học độc lập. Bài tốn này có nhiều biến thể như: bài tốn luồng có chi



phí cực tiểu, bài toán đường đi ngắn nhất, bài toán luồng cực đại, bài toán vận
chuyển, bài toán luồng tổng quát, bài toán luồng nhiều mặt hàng…

C
N
TT

Với sự xuất hiện ngày càng nhiều của các hệ thống mạng như: hệ thống
mạng điện, mạng sản xuất và phân phối hàng hóa, mạng giao thông …, và phổ
biến nhất hiện nay là mạng internet đã làm nảy sinh ra nhu cầu vận chuyển các
chất liệu trên các mạng này sao cho đạt hiệu quả cao nhất; chất liệu ở đây có thể là
dịng điện, dữ liệu, hàng hóa…; hiệu quả ở đây có thể xét theo tiêu chuẩn về thời


K
H
O
A

gian, độ dài quãng đường, chi phí tiền bạc, mức độ an tồn…, bài tốn luồng trên

mạng ngày càng khẳng định được tính quan trọng của nó trong các ngành khoa học

hiện đại. Sự phát triển mạnh mẽ của ngành công nghệ thông tin cùng với khả năng
tính tốn rất nhanh của máy tính đã giúp việc giải quyết các bài toán luồng trên

mạng hiệu quả hơn và đem lại nhiều ứng dụng thực tiễn hơn.
Với sự hướng dẫn của Tiến sĩ Dương Anh Đức, chúng em đã tập trung thực

hiện đề tài “NGHIÊN CỨU MỘT SỐ VẤN ĐỀ CỦA LÝ THUYẾT ĐỒ THỊ
ỨNG DỤNG TRONG VIỆC GIẢI QUYẾT BÀI TOÁN THỰC TẾ” nhằm tìm
hiểu, thử nghiệm và ứng dụng các thuật tốn của bài tốn luồng trên mạng, nhất là
bài tốn luồng có chi phí cực tiểu, dạng tổng quát nhất của bài toán luồng trên

1


CHƯƠNG 1: MỞ ĐẦU

mạng, trong đó bao gồm việc xây dựng ứng dụng Distribution phục vụ cho việc
lập kế hoạch giao hàng của nhà phân phối đến các đại lý với chi phí tối thiểu.

1.2.


Nội dung của luận văn

Luận văn gồm 7 chương:
Chương 1: Mở đầu giới thiệu tổng quan về đề tài.

K
H
TN

Chương 2: Tổng quan về lý thuyết đồ thị giới thiệu một số khái niệm,

phép biến đổi được sử dụng trong bài toán luồng trên mạng và một số lớp bài toán
luồng trên mạng cùng ứng dụng của chúng.

Chương 3: Bài tốn luồng cực đại mơ tả bài toán luồng cực đại, giới thiệu

khái niệm lát cắt cùng với thuật toán tổng quát, và đưa ra một số thuật toán cải tiến

H

để giải bài toán này.

Chương 4: Bài tốn luồng có chi phí cực tiểu định nghĩa bài tốn luồng

Đ

có chi phí cực tiểu, các điều kiện tối ưu của bài toán, các thuật giải tổng quát và




một số cải tiến nhằm tối ưu hóa thời gian chạy của thuật tốn.
Chương 5: Bài tốn phân cơng và bắt cặp giới thiệu 3 dạng tiêu biểu là

C
N
TT

bài toán bắt cặp lớn nhất trên đồ thị phân đơi, bài tốn bắt cặp có trọng số trên đồ
thị phân đơi, bài toán bắt cặp trên đồ thị tổng quát. Chương này cũng đưa ra một ví
dụ và các thuật tốn để giải các bài toán này.
Chương 6: Luồng tổng quát tập trung vào các cấu trúc cây tăng trưởng và
rừng tăng trưởng, cách xác định khả năng và luồng cho một cấu trúc rừng tăng

K
H
O
A

trưởng.

Chương 7: Xây dựng ứng dụng Distribution trình bày về thuật tốn cơ

bản để xây dựng nên chương trình, cơ sở dữ liệu, hướng dẫn sử dụng chương trình.

2


CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT ĐỒ THỊ


CHƯƠNG 2 :

TỔNG QUAN VỀ BÀI TOÁN
LUỒNG TRÊN MẠNG

2.1.

Một số khái niệm

đổi đồ thị sẽ được sử dụng trong luận văn:

2.1.1.

Đồ thị có hướng và vơ hướng.

™

Đỉnh đầu và đỉnh cuối.

™

Bậc của đỉnh.

™

Đường đi.

™

Chu trình.


™

Sự liên thơng.

™

Lát cắt.



Đ

H

™

C
N
TT

2.1.2.

Đồ thị

K
H
TN

Trong phần này, chúng ta liệt kê một số khái niệm cơ bản và các phép biến


™

Cây.

™

Mạng thặng dư.

Các phép biến đổi đồ thị

Một số phép biến đổi đồ thị được sử dụng nhằm biến đổi một đồ thị tổng

K
H
O
A

quát thành một đồ thị đơn giản, nhờ đó, ta có thể áp dụng các thuật tốn vào những
đồ thị này. Đó là các phép biến đổi:
™

Loại bỏ chặn dưới khác 0 của cạnh.

™

Loại bỏ chặn trên của cạnh.

™


Đảo cạnh.

™

Tách nút.

3


CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT ĐỒ THỊ

2.2.

Các bài toán luồng trên mạng

Các bài toán thuộc lớp bài toán luồng trên mạng:
™

Bài tốn luồng có chi phí cực tiểu (minimum cost flow

problem).
Bài toán đường đi ngắn nhất (shortest path problem).

™

Bài toán luồng cực đại (maximum flow problem).

™

Bài toán phân cơng (assignment problem).


™

Bài tốn vận tải (transportation problem).

™

Bài tốn lưu thơng (circulation problem).

™

Bài tốn luồng đa hàng hóa (multicommodity flow problem).

™

Bài toán cây khung tối tiểu (minimum spanning tree

H

K
H
TN

™

problem).
™

Đ


Một số ứng dụng cho bài toán luồng trên mạng



2.3.

Bài toán cặp ghép (matching problem).

2.3.1.

C
N
TT

Bài tốn luồng trên mạng có rất nhiều ứng dụng trong thực tế. Có những bài tốn
ta dễ dàng nhận thấy sự hiện diện của mạng, nhưng cũng có những bài tốn mạng
bị che khuất bởi phát biểu của nó. Để áp dụng được các thuật tốn luồng trên mạng
ta phải thiết lập được mơ hình mạng cho các bài toán này. Sau đây là một số ứng
dụng thực tế, được trình bày theo các lớp bài tốn luồng trên mạng.

Đường đi ngắn nhất

™

K
H
O
A

Bài toán chở hàng trên tàu.


™

Lập lịch cho tổng đài viên.

™

Xếp sách trong thư viện.

™

Bài tốn đổi tiền (có thể ứng dụng với máy bán hàng tự động).

2.3.2.

Luồng cực đại

2.3.2.1.

Ứng dụng 1 : Luồng khả thi

Bài toán luồng khả thi là bài toán xác định một luồng trên mạng thỏa mãn
các ràng buộc sau :



{ j:(i , j )∈A}

xij −


∑ xij = b(i)∀i ∈ N

(2.1)

{ j:( j ,i )∈A}

4


CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT ĐỒ THỊ

0 ≤ xij ≤ u ij ∀(i, j ) ∈ A

(2.2)

∑ b(i) = 0

Trong đó :

i∈N

Ta có thể giải bài tốn luồng khả thi bằng cách tìm luồng cực đại trên một
mạng G’ như sau: ta thêm vào hai nút mới, một nút nguồn s và một nút đích t. Với
mỗi nút có b(i) > 0, ta thêm vào cung (s,i) với độ thơng qua là b(i), và với mỗi nút

K
H
TN

b(i) có b(i) < 0, ta thêm vào cung (i,t) với độ thơng qua là –b(i). Sau đó giải bài


tốn luồng cực đại truyền từ s đến t trên mạng này. Nếu tất cả các cung (s,i) và (j,t)
đều bão hoà (nghĩa là xsi = usi và xjt = ujt ) thì bài tốn có luồng khả thi, ngược lại là
khơng có luồng khả thi.

Bài tốn luồng khả thi có một số ứng dụng thực tế, chẳng hạn: ứng dụng về

H

phân phối hàng hoá. Trên một mạng lưới các hải cảng một số cảng có hàng hố
khác mà những cảng khác cần. Ta biết lượng hàng có tại các cảng, biết nhu cầu về

Đ

các loại hàng hoá này cũng như biết khả năng vận chuyển tối đa trên mỗi tuyến

C
N
TT

cấp trong mạng hay khơng.



đường. Ta cần biết liệu có thể đáp ứng được mọi nhu cầu dựa trên các nguồn cung

2.3.2.2.

Ứng dụng 2 : Bài toán bầu chọn đại biểu


Một thị trấn có r cư dân : R1 , R2 , …, Rr; q câu lạc bộ : C1 , C2 ,…, Cq; và p
đảng phái chính trị : P1 , P2 , …, Pp.

Mỗi người dân tham gia ít nhất 1 CLB và theo duy nhất một đảng. Mỗi

K
H
O
A

CLB phải chọn 1 trong số các thành viên của nó làm đại diện cho hội đồng thị trấn
sao cho số thành viên hội đồng của một đảng Pk không quá uk người.
Bài tốn đặt ra nhằm trả lời: có thể tìm đựơc một hội đồng đáp ứng được

yêu cầu trên hay không?
Giả sử r = 7 , q = 4 , p = 3 .

Ta biểu diễn bài toán trên như sau :

5


Đ

H

K
H
TN


CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT ĐỒ THỊ

C
N
TT

Ri biểu diễn cho cư dân i



Hình 2-1

Cj biểu diễn cho câu lạc bộ j

Pk biểu diễn cho tổ chức chính trị k
Cạnh (Ci, Rj) cho biết cư dân Rj là thành viên của câu lạc bộ Cj.
Cạnh (Rj, Pk) cho biết cư dân Rj tham gia đảng Pk.

K
H
O
A

Cạnh (Pk, t) có trọng lượng là uk đơn vị .
Các cạnh còn lại có trọng lượng 1 đơn vị .

Bài tốn trên giải bằng cách giải bài toán luồng cực đại từ đỉnh s đến đỉnh t.

Nếu luồng cực đại có giá trị bằng q thì ta có lời giải tối ưu .


2.3.3.

Luồng có chi phí cực tiểu

Ứng dụng của bài tốn luồng có chi phí cực tiểu là bài tốn giao hàng từ

một nhà phân phối đến các đại lý sẽ được mơ tả chi tiết trong phần chương trình
ứng dụng.

6


CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT ĐỒ THỊ

2.3.4.

Phân công và xếp cặp

Trong một số trường hợp, chúng ta muốn phân bổ con người với các cơng
việc, phịng ở hoặc với một người khác. Mỗi sự phân công này đều được đánh giá
mức độ hợp lý và chúng ta mong muốn phân công sao cho đạt được mức đánh giá
cao nhất. Sau đây là một số ứng dụng về phân cơng nhân sự. Ví dụ:

K
H
TN

Một cơng ty cần th n nhân viên cho n chỗ làm dựa trên các cuộc kiểm tra
về khả năng , điểm tốt nghiệp và thư giới thiệu. Dùng chỉ số uij biểu diễn sự phân
công nhân viên i vào công việc j. Giá trị của uij là sự đánh giá cho sự phân công

này. Mục tiêu của chúng ta là xác định một cách phân công sao cho tổng chỉ số uij
là lớn nhất.

Một huấn luyện viên bơi lội phải lựa chọn từ 8 vận động viên xuất sắc nhất

H

một đội bơi tiếp sức gồm 4 người. Mỗi người sẽ bơi một kiểu (bơi sấp, bơi ngửa,

Đ

bơi bướm, bơi tự do). Huấn luyện viên biết rõ thời gian cho mỗi vận động viên
thực hiện kiểu bơi của mình. Vấn đề đặt ra là phải tìm ra một đội với các vận động



viên và thứ tự bơi phù hợp sao cho tổng thời gian tiếp sức giữa hai kiểu bơi là ít

C
N
TT

nhất. Nhận thấy bài tốn phân cơng này có |N1|>|N2|. Tuy nhiên, chúng ta có thể
thêm vào một số các nút giả nhằm làm cho |N1| = |N2| .

2.4.

Tóm tắt chương 2

Trong chương 2, chúng em liệt kê một số khái niệm, và một số phép biến

đổi đồ thị mà chúng em sẽ dùng trong luận văn này. Ngồi ra, chúng em cũng mơ

K
H
O
A

tả sơ lược về một số ứng dụng của bài toán luồng trên mạng trong thực tế. Các
thuật toán để giải các bài tốn này sẽ được chúng em trình bày trong các chương

sau.

7


CHƯƠNG 3: LUỒNG CỰC ĐẠI

CHƯƠNG 3 :
3.1.

LUỒNG CỰC ĐẠI

Định nghĩa và ký hiệu

Cho đồ thị G = (N,A) có độ thông qua của mỗi cạnh uij ≥ 0.
Đặt U = max {uij: (i. j) ∈ A}.

K
H
TN


A(i) là tập các cạnh kề với nút i.

G có chứa 2 nút đặc biệt: nút nguồn s và nút đích t.

Vấn đề đặt ra là xác định luồng cực đại từ nút nguồn s đến nút đích t thỏa
độ thơng qua của các cạnh và ràng buộc cân bằng khối lượng của từng nút.
Ta có thể phát biểu bài tốn như sau:

for all i ∈ N -{s and t}
for i - t

∀ (i,j) ∈ A

(3.1)

(3.2)

C
N
TT

0 ≤ xij ≤ uij

=

Đ




for i=s





xij −
x ji
{ j:(i , j )∈A} { j:( j ,i )∈A}

⎧⎪⎫⎪ v
⎨0
⎪⎩⎪⎭ -v

H

Cực đại giá trị v thỏa mãn:

Chúng ta gọi vectơ x = {xij} thỏa mãn (3.1) và (3.2) là một luồng và giá trị
tương ứng của v là giá trị luồng. Không mất tính tổng quát, chúng ta sẽ chỉ xem
xét bài toán luồng cực đại thỏa mãn các điều kiện sau (vì mọi bài tốn luồng cực
đại đều có thể được biến đổi để thỏa các điều kiện này):

K
H
O
A

1) Đồ thị liên thông.


2) Trọng lượng cạnh là số nguyên không âm.
3) Đồ thị khơng chứa đường đi có hướng từ đỉnh s đến đỉnh t gồm tồn

các cung có độ thơng qua khơng xác định.
4) Nếu (i,j) ∈ A thì (j,i) ∈ A.
5) Đồ thị không chứa cạnh song song.

3.2.

Luồng và lát cắt

Trước khi nêu ra các thuật toán giải quyết các bài toán luồng trên mạng, ta đưa ra
một số khái niệm:

8


CHƯƠNG 3: LUỒNG CỰC ĐẠI

3.2.1.

Mạng thặng dư

Khái niệm mạng thặng dư sẽ đóng vai trị trung tâm trong q trình xây
dựng các thuật tốn tìm luồng cực đại mà chúng ta sẽ đề cập.
Giả sử có 1 luồng x, độ thông qua thặng dư rij của 1 cung (i,j) bất kỳ là giá
trị luồng tối đa có thể gửi từ nút i đến nút j thông qua cung (i,j) và cung (j,i). Khả

K
H

TN

năng thơng qua thặng dư rij có 2 thành phần:
6) uij - xij là khả năng thông qua còn chưa dùng của cung (i,j).

7) giá trị luồng hiện hành xij trên cung (i,j) và ta có thể loại bỏ để tăng

luồng từ nút i đến nút j.

Như vậy, rij = uij - xij + xji. Ta gọi mạng G(x) chứa các cung với độ thông

K
H
O
A

C
N
TT



Đ

H

qua thặng dư không âm rij (ứng với luồng x) là mạng thặng dư.

3.2.2.


Hình 3-1 Mô tả mạng thặng dư

Lát cắt s-t

Lát cắt là một phân hoạch chia tập nút N thành 2 tập con S và S = N - S
Ký hiệu: [S, S ].

Mỗi lát cắt là một tập các cạnh, mỗi cạnh có 1 nút thuộc tập S, nút cịn lại
thuộc tập S .
Lát cắt s-t: là lát cắt có s ∈ S và t ∈ S .

9


CHƯƠNG 3: LUỒNG CỰC ĐẠI

Ta gọi cung (i,j) với i ∈ S và j ∈ S là cung tới;cung (i,j) với j ∈ S và i ∈ S là

K
H
TN

cung lùi của lát cắt [S, S ].

3

H

Hình 3-2 Ví dụ về một lát cắt s – t


Giả sử (S, S ) là tập hợp các cung tới và ( S , S) là tập hợp các cung lùi thì

Đ

với lát cắt của hình 3.2, ta có (S, S ) = {(2,4), (3,6)} và ( S , S) ={(5,2), (5,3)}.



Độ thông qua của lát cắt s-t [S, S ] được ký hiệu là: u[S, S ] là tổng các độ

C
N
TT

thông qua của các cung tới trong lát cắt.

u[S, S ] =



u ij
(i , j )∈( S ,S )

Như vậy độ thông qua của một lát cắt s-t là chặn trên của giá trị luồng tối đa
ta có thể gửi từ các nút trong S đến các nút trong S .
Lát cắt tối thiểu là lát cắt s-t có độ thơng qua nhỏ nhất.

Độ thông qua thặng dư của một lát cắt s-t

K

H
O
A

3.2.3.

Độ thông qua thặng dư của một lát cắt s-t [S, S ] là tổng các độ thông qua

thặng dư của các cung tới trong lát cắt
r[S, S ] =

3.2.4.



(3.3)

rij

( i , j )∈ ( S , S )

Luồng qua một lát cắt s-t

Ta có một số tính chất quan trọng sau:

10


CHƯƠNG 3: LUỒNG CỰC ĐẠI


Tính chất 3.1.
Giá trị của một luồng bất kỳ nhỏ hơn hay bằng khả năng thông qua của mọi
lát cắt trong mạng.
v≤



u ij
(i , j )∈( S , S )

[ ]

= u S, S

(3.4)

Như vậy nếu ta phát hiện ra một luồng x mà giá trị của nó bằng khả năng

K
H
TN

thơng qua của một lát cắt [S, S ] nào đó thì x chính là luồng cực đại và lát cắt [S, S ]
chính là lát cắt tối thiểu.
Tính chất 3.2

Với mọi luồng có giá trị x trong mạng, lượng luồng có thể gửi thêm từ s đền

3.3.


Thuật tốn đường tăng trưởng

H

t ln nhỏ hơn độ thông qua thặng dư của một lát cắt s-t bất kỳ.

Đ

Đây chính là thuật tốn cơ bản nhất để giải bài toán luồng cực đại.
Ta gọi một đường đi từ nút nguồn s đến nút đích t là một đường tăng



trưởng. Gọi độ thông qua thặng dư của một đường tăng trưởng là độ thông qua

C
N
TT

thặng dư nhỏ nhất của các cung trong con đường này.
3

1

5

3

K
H

O
A

1

2

1

4
1

2

Hình 3-3 Ví dụ về một mạng tăng trưởng

Ví dụ trong mạng tăng trưởng trên chứa duy nhất một đường tăng trưởng:

1-3-2-4 và độ thông qua thặng dư của nó là min{1,2,1} = 1. Như vậy độ thông qua
thặng dư của một đường tăng trưởng ln ln dương
Vì vậy, nếu mạng thặng dư chứa một đường tăng trưởng thì ta có thể tăng
giá trị luồng gửi từ s đến t trong mạng. Thuật toán đường tăng trưởng dựa trên cơ

sở nhận xét vừa nêu. Thuật tốn hoạt động theo quy trình lặp đi lặp lại việc tìm
một đường tăng trưởng và tăng giá trị luồng gửi từ s đến t dọc theo đường này.

11


CHƯƠNG 3: LUỒNG CỰC ĐẠI


Thuật toán đường tăng trưởng
begin
x:= 0 ;
while (G(x) chứa một đường đi có hướng từ s đến t ) do
begin
Xác định đường tăng trưởng P từ s đến t ;

K
H
TN

δ := min {rij: (i,j) ∈ P} ;

Tăng giá trị luồng thêm δ dọc theo P và cập nhật lại G(x) ;
end;
end;

Thuật toán gán nhãn và định lý lát cắt tối thiểu

H

3.4.

Trong mục này, chúng ta sẽ khảo sát thuật toán đường tăng trưởng một cách

Đ

chi tiết hơn. Trong mục trước, khi khảo sát thuật toán này, chúng ta đã bỏ qua một




số chi tiết quan trọng, chẳng hạn như: làm sao để tìm ra 1 đường tăng trưởng hay
khẳng định luồng tăng trưởng không tồn tại trong mạng? Liệu thuật tốn có dừng

C
N
TT

sau 1 số lần lặp hữu hạn hay không và dừng ở đâu, liệu thuật tốn có thật sự tìm ra
được luồng cực đại như mong muốn hay không? Chúng ta sẽ xem xét các vấn đề
trên với 1 phiên bản cài đặt của thuật toán tăng trưởng được biết dưới tên gọi: thuật
toán gán nhãn.

Thuật toán gán nhãn sử dụng một kỹ thuật tìm kiếm (theo chiều rộng hay

K
H
O
A

chiều sâu) để tìm một đường đi từ nút nguồn s đến nút đích t trong mạng G(x).

Thuật toán sẽ lần đến tất cả các nút có thể đến từ nút nguồn theo một đường đi có
hướng. Tại mỗi bước, thuật tốn phân hoạch tập các nút của mạng thành hai nhóm:
nhóm các nút được gán nhãn và nhóm các nút khơng được gán nhãn. Các nút được
gán nhãn là các nút mà tại thời điểm đang xét, thuật tốn phát hiện ra ít nhất một
đường đi nối từ nút nguồn đến nút này. Những nút cịn lại là những nút khơng
được gán nhãn. Thuật tốn lặp đi lặp lại q trình chọn một nút có nhãn và quét
theo danh sách các nút kề với nó để gán nhãn cho các nút chưa được gán nhãn.

Quá trình được tiếp tục cho đến khi nút t được gán nhãn. Khi đó, ta tìm được một

đường đi từ s đến t. Đây chính là một đường tăng trưởng. Gửi một lượng luồng tối

12


CHƯƠNG 3: LUỒNG CỰC ĐẠI

đa có thể có dọc theo con đường này ta sẽ tăng được giá trị x trong mạng ban đầu.
Với mạng G(x) mới, ta tiếp tục q trình gán nhãn và tăng luồng cho đến khi
khơng thể gán nhãn cho nút t. Thuật toán dừng tại đây. Dưới đây là thuật toán gán
nhãn:
Thuật toán gán nhãn
repeat
Đặt mọi nút ở trạng thái không gán nhãn;
Với mọi nút j ∈ N, đặt prev(j) = 0;
Gán nhãn cho nút s và đặt LIST = {s};
while (LIST ≠ {} và t chưa có nhãn) do

H

begin

K
H
TN

begin


Đ

Lấy 1 nút từ LIST ;

For(mỗi cung (i,j) trong mạng thặng dư )do

C
N
TT

begin



if(rij > 0 và nút j chưa có nhãn)then
Đặt prev(j) = i ;
Gán nhãn cho j ;
Thêm j vào LIST ;

end;

end;

K
H
O
A

if (t được gán nhãn)then Tăng luồng ;


until (t khơng có nhãn);

end;

Hàm Tăng luồng

begin

dùng giá trị nhãn prev() để tìm đường tăng trưởng P từ s đến t ;
δ := min {rij: (i,j) ∈ P} ;

Tăng δ đơn vị luồng dọc theo P và cập nhật độ thông qua thặng dư trong
mạng thặng dư ;
end;
13


CHƯƠNG 3: LUỒNG CỰC ĐẠI

Định lý 3.3: định lý Ford – Fullkerson về lát cắt nhỏ nhất
Giá trị cực đạicủa luồng gửi từ nút nguồn s đến nút đích t trên mạng bằng
khả năng thông qua của lát cắt nhỏ nhất.
Định lý 3.4: định lý về đường tăng trưởng
Một luồng x* là luồng cực đại khi và chỉ khi mạng thặng dư G(x*) không

K
H
TN

chứa đường tăng trưởng.

Định lý 3.5: định lý về tính ngun

Nếu khả năng thơng qua của tất cả các cung trên mạng đều là số nguyên thì
luồng cực đại có giá trị nguyên.

Độ phức tạp của thuật toán gán nhãn

H

3.4.1.

Đ

Ta sẽ khảo sát độ phức tạp của thuật toán trong trường hợp xấu nhất. Nhắc



lại, sau mỗi lần lặp, ngoại trừ lần sau cùng, thuật toán thực hiện một lần tăng
luồng. Mỗi lần tăng luồng tốn chi phí 0(m). Vấn đề cịn lại là xác định tối đa có

C
N
TT

bao nhiêu lần tăng luồng. Nếu tất cả các cung đều có độ thơng qua ngun ≤ U, độ
thơng qua của lát cắt (s,N-{s} ) không vượt quá nU. Như vậy, giá trị luồng cực đại
không quá nU. Từ đây suy ra độ phức tạp của thuật toán là 0(nmU).

3.4.2.


Hạn chế của thuật toán gán nhãn

K
H
O
A

Thuật toán gán nhãn có thể là thuật tốn đơn giản nhất dùng để giải bài toán
luồng cực đại trên mạng. Trong thực nghiệm, thuật toán họat động đủ tốt. Tuy

nhiên trường hợp xấu nhất của thuật tốn sẽ khơng thỏa mãn u cầu về tốc độ khi
U quá lớn. Ví dụ, nếu U=2n, chi phí thuật tốn sẽ là hàm mũ của số nút trên mạng.

Hơn nữa, thuật toán sẽ thực hiện rất nhiều vịng lặp.
Hạn chế thứ hai của thuật tốn là nếu độ thông qua của các cung là số vô tỷ,

thuật tốn có thể khơng dừng. Vì vậy, để đảm bảo tính hiệu quả của thuật tốn, ta
cần chọn đường tăng trưởng một cách cẩn thận.
Hạn chế thứ ba là sự lãng phí. Trong mỗi bước lặp, ta thực hiện quá trình

gán nhãn các nút lại từ đầu, trong khi trong nhiều trường hợp, thông tin về nhãn

14


CHƯƠNG 3: LUỒNG CỰC ĐẠI

của bước trước vẫn còn giá trị ở lần lặp sau. Việc giữ lại các thông tin này sẽ làm
giảm đáng kể chi phí thực hiện thuật tốn.


3.5.

Luồng có chặn dưới

Trong phần này chúng ta sẽ khảo sát bài toán luồng cực đại trên mạng với
một cách hình thức như sau:
Cực đại hóa v thỏa ràng buộc:

∑ xij − ∑ x ji =

0 ≤ xij ≤ uij

{ j:( j ,i )∈A}

for i=s

for all i ∈ N -{s and t}
for i - t

∀ (i,j) ∈ A

H

{ j:(i , j )∈A}

⎧⎪⎫⎪ v
⎨0
⎪⎩⎪⎭ -v

K

H
TN

các cung có khả năng thơng qua tối thiểu lớn hơn khơng. Bài tốn có thể phát biểu

Đ

Trong mục trước, ta đã khảo sát trường hợp đặc biệt của bài toán này khi tất
cả lij = 0. Trong khi bài tốn luồng trên mạng có chặn dưới bằng khơng ln có lời



giải thì bài tốn luồng trên mạng lớn hơn khơng có thể khơng có lời giải thích hợp.

C
N
TT

Ví dụ:

K
H
O
A

Hình 3-4: Bài tốn luồng cực đại khơng có luồng tương thích

Bài tốn trên khơng có lời giải vì cung (1,2) phải mang tối thiểu đơn vị

luồng trong khi cung (2,3) chỉ mang được tối đa 4 đơn vị luồng. Như vậy, ta không

thể thỏa mãn cân bằng vật chất tại nút 2.
Như vậy, mọi bài toán tìm luồng cực đại có chặn dưới phải giải quyết hai

vấn đề:
™

Xác định xem bài tốn có tồn tại luồng khả thi khơng.

™

Nếu có thì thiết lập luồng cực đại.

15


×