Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Các thuật toán đúng gần đúng giải bài toán cực tiểu hóa độ trễ
PREMIUM
Số trang
131
Kích thước
5.9 MB
Định dạng
PDF
Lượt xem
1704

Các thuật toán đúng gần đúng giải bài toán cực tiểu hóa độ trễ

Nội dung xem thử

Mô tả chi tiết

ĐH Bách khoa Hà Nội

Ban Hà Bằng

Các thuật toán đúng gần đúng giải bài toán

cực tiểu hóa độ trễ

Chuyên ngành: Khoa học máy tính Mã số: 62480101

Nghiên cứu sinh: Ban Hà Bằng

Người hướng dẫn khoa học:

PGS.TS. Nguyễn Đức Nghĩa

2014

i

LỜI CAM ĐOAN

Tôi xin cam đoan luận án này là kết quả nghiên cứu của tôi. Các kết quả viết chung với các

tác giả khác đều đã được sự nhất trí của các đồng tác giả khi đưa vào luận án. Những kiến

thức tham khảo để hoàn thành luận án đều được trích dẫn đầy đủ từ danh mục tài liệu tham

khảo.

Người hướng dẫn khoa học

PGS.TS. Nguyễn Đức Nghĩa

Hà Nội, 04-2014

Tác giả luận án

Ban Hà Bằng

ii

LỜI CẢM ƠN

Luận án này được hoàn thành tại Bộ môn Khoa học Máy tính, Viện Công nghệ Thông tin và

Truyền thông, Trường Đại học Bách Khoa Hà Nội dưới sự hướng dẫn của PGS. TS. Nguyễn

Đức Nghĩa. Tôi xin chân thành cảm ơn Thầy hướng dẫn, người đã trực tiếp hướng dẫn khoa

học và tận tình giúp đỡ tôi trong quá trình nghiên cứu.

Tôi xin bày tỏ lòng biết ơn tới Bố Mẹ và Gia đình đã giúp đỡ, tạo điều kiện cho tôi

trong quá trình học tập và hoàn thành luận án này.

Tôi cũng xin gửi lời cảm ơn tới các thầy cô trong Viện Công Nghệ Thông Tin, cũng

như các thầy cô trong trường Đại học Bách khoa Hà Nội đã truyền thụ những kiến thức bổ

ích trong quá trình tôi học tập và nghiên cứu tại Trường.

Mặc dù đã rất cố gắng nhưng do thời thời gian và kiến thức còn hạn chế nên luận án

chắc còn có nhiều thiếu sót. Tôi rất mong nhận được những ý kiến đóng góp quý báu từ các

Thầy Cô và các bạn.

iii

Mục Lục

LỜI CAM ĐOAN ....................................................................................................i

LỜI CẢM ƠN ........................................................................................................ii

Tóm tắt .........................................................................................................v

Danh mục thuật ngữ .........................................................................................vii

Danh mục bảng ................................................................................................viii

Danh mục hình vẽ ...............................................................................................x

CHƢƠNG 1 TỔNG QUAN VỀ BÀI TOÁN ...........................................................1

1.1 Mô hình toán học của bài toán cực tiểu hóa độ trễ ........................ 2

1.2 Một số hướng tiếp cận giải bài toán tối ưu hóa tổ hợp.................. 5

1.2.1 Thuật toán nhánh cận .................................................................. 5

1.2.2 Thuật toán di truyền...................................................................... 8

1.2.3 Thuật toán đàn kiến.................................................................... 10

1.2.4 Thuật toán Tabu .......................................................................... 10

1.2.5 Thuật toán lân cận biến đổi....................................................... 11

1.3 Các nghiên cứu liên quan giải bài toán MLP................................. 11

1.3.1 Thuật toán đúng .......................................................................... 12

1.3.2 Thuật toán gần đúng cận tỷ lệ .................................................. 12

1.3.3 Thuật toán meta-heuristic.......................................................... 13

1.4 Mục đích, phạm vi nghiên cứu ......................................................... 14

1.5 Dữ liệu thực nghiệm........................................................................... 15

1.6 Kết quả của luận án ........................................................................... 18

1.7 Cấu trúc của luận án.......................................................................... 20

CHƢƠNG 2 THUẬT TOÁN NHÁNH CẬN .........................................................21

2.1 Lược đồ thuật toán.............................................................................. 22

2.2 Kết quả thực nghiệm.......................................................................... 26

2.2.1 Thực nghiệm bộ dữ liệu ngẫu nhiên........................................ 26

2.2.2 Thực nghiệm bộ dữ liệu thực ................................................... 28

2.3 Kết luận chương 2............................................................................... 35

CHƢƠNG 3 CÁC THUẬT TOÁN GẦN ĐÚNG CẬN TỶ LỆ...............................36

iv

3.1 Đánh giá thực nghiệm hiệu quả của các thuật toán gần đúng cận

tỷ lệ ....................................................................................................... 37

3.1.1 Các thuật toán gần đúng cận tỷ lệ ........................................... 37

3.1.2 Kết quả thực nghiệm.................................................................. 45

3.2 Thuật toán dựa trên phương pháp Subgradient ........................... 53

3.2.1 Lược đồ thuật toán ..................................................................... 53

3.2.2 Kết quả thực nghiệm .................................................................. 58

3.3 Kết luận chương 3.......................................................................... 65

CHƢƠNG 4 CÁC THUẬT TOÁN META-HEURISTIC........................................66

4.1. Thuật toán di truyền ........................................................................... 67

4.1.1 Lược đồ của thuật toán.............................................................. 67

4.1.2 Kết quả thực nghiệm................................................................. 72

4.2 Thuật toán di truyền lai ghép đàn kiến............................................. 83

4.2.1 Lược đồ của thuật toán.............................................................. 84

4.2.2 Kết quả thực nghiệm .................................................................. 89

4.3 Thuật toán lai thuật toán Tabu và thuật toán lân cận biến đổi..... 96

4.3.1 Lược đồ của thuật toán.............................................................. 96

4.3.2 Kết quả thực nghiệm ................................................................ 104

4.4 Kết luận chương 4............................................................................ 112

KẾT LUẬN .....................................................................................................113

DANH MỤC CÁC CÔNG TRÌNH ......................................................................116

CÔNG BỐ ĐƢỢC SỬ DỤNG TRONG LUẬN ÁN ............................................116

TÀI LIỆU THAM KHẢO ....................................................................................117

v

Tóm tắt

Bài toán cực tiểu hóa độ trễ (Minimum latency problem - MLP) dưới dạng tổng quát có thể

phát biểu trong ngôn ngữ của lý thuyết đồ thị như sau: Cho G = (V, E) là đồ thị vô hướng có

trọng số không âm trên mỗi cạnh e  E. Giả sử, T là một hành trình xuất phát từ đỉnh s,

chúng ta định nghĩa độ trễ của một đỉnh v bất kỳ thuộc T là độ dài của đường đi từ đỉnh xuất

phát s đến v trên T. Độ trễ của hành trình T được định nghĩa như là tổng độ trễ của tất cả các đỉnh

thuộc hành trình T. Bài toán cực tiểu hóa độ trễ MLP yêu cầu tìm một hành trình T bắt đầu từ

đỉnh xuất phát s đi qua tất cả các đỉnh còn lại của đồ thị với tổng độ trễ là nhỏ nhất.

Bài toán MLP có nhiều ứng dụng trong thực tiễn. Cụ thể, trong lý thuyết lập lịch khi

một máy chủ hay một người thợ phải lên kế hoạch phục vụ một tập các yêu cầu sao cho tổng

(trung bình) thời gian chờ đợi của các yêu cầu là cực tiểu. Trong tìm đường đi trên mạng, bài

toán cũng được ứng dụng để tìm hành trình với tổng độ trễ là nhỏ nhất. Trong bài toán tìm

kiếm thông tin, bài toán MLP được ứng dụng để cực tiểu hóa độ trễ của việc tìm kiếm thông

tin trên mạng.

Mục đích nghiên cứu của chúng tôi trong luận án này là đề xuất các thuật toán giải bài

toán MLP với chất lượng lời giải tốt hơn chất lượng lời giải của các thuật toán giải bài toán

MLP đã được công bố. Đối với một bài toán NP-khó như bài toán MLP, hiện tại có ba hướng

tiếp cận chính để phát triển thuật toán giải: 1) hướng tiếp cận đúng, 2) hướng tiếp cận gần

đúng cận tỷ lệ, 3) hướng tiếp cận meta-heuristic. Đóng góp của chúng tôi trong luận án là đề

xuất các thuật toán giải theo cả ba hướng tiếp cận:

 Phát triển thuật toán đúng đưa ra lời giải tối ưu cho bài toán MLP với kích thước

bài toán lên đến 40 đỉnh.

 Khảo sát thực nghiệm về hiệu quả của các thuật toán gần đúng cận tỷ lệ hiện biết,

là cơ sở để đề xuất thuật toán gần đúng mới có cận tỷ lệ tốt hơn.

 Phát triển ba thuật toán theo hướng tiếp cận meta-heuristic. Chúng tôi đề xuất

thuật toán dựa trên lược đồ của thuật toán di truyền để giải bài toán MLP và một

số kỹ thuật mới được tích hợp vào từng bước của thuật toán. Nhằm nâng cao chất

lượng lời giải và thời gian chạy thuật toán, chúng tôi đề xuất hai thuật toán meta￾heuristic lai là: Thuật toán (ACO-GA) lai ghép giữa thuật toán di truyền (GA) và

thuật toán đàn kiến (ACO); và thuật toán TS-VNS lai ghép giữa thuật toán Tabu

(TS) và thuật toán lân cận biến đổi (VNS).

vi

Để đánh giá hiệu quả của các thuật toán đề xuất, chúng tôi tiến hành thực nghiệm trên các bộ

dữ liệu chuẩn và so sánh kết quả thu được với kết quả của các công trình nghiên cứu liên

quan. Kết quả thực nghiệm chỉ ra các thuật toán đề xuất đưa ra lời giải tốt hơn các thuật toán

tốt nhất hiện biết trên nhiều bộ dữ liệu.

vii

Danh mục thuật ngữ

STT Từ viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt

1 ACO Ant conoly optimization Tối ưu hoá đàn kiến

2 ACO-GA -

Thuật toán di truyền lai ghép thuật

toán đàn kiến

3 GA Genetic algorithm Thuật toán di truyền

4 TS Tabu search Tìm kiếm Tabu

5 VNS Variable neighborhood search Tìm kiếm lân cận biến đổi

6 TS-VNS -

Thuật toán tabu lai ghép thuật toán

đa lân cận

7 MLP Minimum latency problem Bài toán cực tiểu hóa độ trễ

8 TSP Traveling salesman problem Bài toán người du lịch

9 TRP Traveling repairman problem Bài toán thợ sửa chữa lưu động

10 DMP Delivery man problem Bài toán người giao hàng

11 TDTSP

Time dependent traveling

Salesman pproblem

Bài toán người du lịch với thời gian

bị chặn

12 DP Dynamic programming Quy hoạch động

13 B&B Branch and bound Phương pháp nhánh cận

14 CP Constraint programming Quy hoạch ràng buộc

15 - Approximation algoirthm Thuật toán gần đúng

16 - Simulated annealing algorithm Thuật toán phỏng tôi luyện

17 - Local search Tìm kiếm địa phương

18 GRASP

Greedy randomized adaptive

search procedure

Thủ tục tìm kiếm tham lam ngẫu

nhiên tự thích nghi

19 ILS Iterated local search Tìm kiếm địa phương leo đồi

20 RVND

Random variable neighborhood

descend

Tụt lân cận biến đổi ngẫu nhiên

21 k-MST k-minimum spanning tree

Bài toán cây khung nhỏ nhất đi qua

k đỉnh

22 k-troll Minimum k-troll problem

Bài toán hành trình ngắn nhất đi qua

k đỉnh

23 PCST Prize collecting steiner tree Bài toán cây Steiner

24 -

Polynomial time algorithm

(Polynomial algorithm)

Thuật toán thời gian tính đa thức

25 Benchmark test Bộ dữ liệu chuẩn

26 OPT Best known solution Lời giải tốt nhất hiện biết

27 SDT Social disaster technique Kỹ thuật hủy diệt

viii

Danh mục bảng

Bảng 1. 1 Mô tả các bộ dữ liệu .............................................................................................................16

Bảng 2. 1 Thời gian chạy của thuật toán trong bộ dữ liệu ngẫu nhiên 1 (tính theo phút).....................30

Bảng 2. 2 Thời gian chạy của thuật toán trong bộ dữ liệu ngẫu nhiên 2 (tính theo phút).....................31

Bảng 2. 3 Thời gian chạy của thuật toán trong bộ dữ liệu thực 2 (tính theo phút) ...............................32

Bảng 2. 4 Thời gian chạy của thuật toán trong bộ dữ liệu ngẫu nhiên 3 (TPR-10-Rx) (tính theo giây)

...............................................................................................................................................33

Bảng 2. 5 Thời gian chạy của thuật toán trong bộ dữ liệu ngẫu nhiên 3 (TPR-20-Rx) (tính theo giây)

...............................................................................................................................................34

Bảng 2. 6 Thời gian chạy của thuật toán cho các file dữ liệu nhỏ trong...............................................34

Bảng 3. 1 Kết quả thực nghiệm các thuật toán trong các bộ dữ liệu nhỏ..............................................49

Bảng 3. 2 Kết quả thực nghiệm các thuật toán trên bộ dữ liệu ngẫu nhiên 3 (TPR-50-Rx) .................50

Bảng 3. 3 Kết quả thực nghiệm các thuật toán trên bộ dữ liệu ngẫu nhiên 3 (TPR-100-Rx) ...............51

Bảng 3. 4 Kết quả thực nghiệm các thuật toán trên bộ dữ liệu thực 1 ..................................................52

Bảng 3. 5 Kết quả thực nghiệm cho các bộ dữ liệu nhỏ .......................................................................61

Bảng 3. 6 Kết quả thực nghiệm với bộ dữ liệu ngẫu nhiên 3 (TPR-50-Rx) .........................................62

Bảng 3. 7 Mô tả

1 2 gap gap ,

đối với các bộ dữ liệu nhỏ .....................................................................62

Bảng 3. 8 Mô tả

T

đối với các bộ dữ liệu nhỏ......................................................................................62

Bảng 3. 9 Kết quả thực nghiệm với bộ dữ liệu ngẫu nhiên 3 (TPR-100-Rx) .......................................63

Bảng 3. 10 Kết quả thực nghiệm với bộ dữ liệu thực 1 ........................................................................64

Bảng 3.11 Mô tả

1 2 gap gap ,

đối với các bộ dữ liệu lớn .....................................................................64

Bảng 3. 12 Mô tả

T

đối với các bộ dữ liệu lớn.....................................................................................64

Bảng 4. 1 Thực nghiệm lựa chọn kích thước quần thể .........................................................................74

Bảng 4. 2 Thực nghiệm lựa chọn tham số xác xuất lai ghép và đột biến..............................................74

Bảng 4. 3 Thực nghiệm lựa chọn kích thước nhóm..............................................................................74

Bảng 4. 4 Thực nghiệm lựa chọn tỷ lệ

1

 ............................................................................................75

Bảng 4. 5 Thực nghiệm xác định giá trị NGD ......................................................................................75

Bảng 4. 6 Thực nghiệm xác định giá trị NGT.......................................................................................75

Bảng 4. 7 Kết quả thực nghiệm các thuật toán cho các bộ dữ liệu nhỏ ................................................79

Bảng 4. 8 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-50-Rx)..................80

Bảng 4. 9 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-100-Rx)................80

Bảng 4. 10 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-200-Rx)..............81

Bảng 4. 11 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu thực 1.................................................82

Bảng 4. 12 Mô tả

T

theo phút đối với các bộ dữ liệu lớn.....................................................................82

Bảng 4. 13 Kết quả thực nghiệm của các thuật toán.............................................................................90

Bảng 4. 14 Kết quả so sánh các thuật toán cho cho các bộ dữ liệu nhỏ................................................92

Bảng 4. 15 Kết quả so sánh các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-50-Rx)........................93

Bảng 4. 16 Kết quả so sánh các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-100-Rx)......................93

ix

Bảng 4. 17 Kết quả so sánh các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-200-Rx)......................94

Bảng 4. 18 Kết quả so sánh các thuật toán cho bộ dữ liệu thực 2.........................................................95

Bảng 4. 19 Mô tả

T

đối với các bộ dữ liệu lớn......................................................................................95

Bảng 4. 20 Kết quả thực nghiệm các thuật toán cho các bộ dữ liệu nhỏ ............................................107

Bảng 4. 21 Kết quả thực nghiệm các thuật toán cho các bộ dữ liệu ngẫu nhiên 3 (TPR-50-Rx) .......108

Bảng 4. 22 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu ngẫu nhiên 3 (TPR-100-Rx)............108

Bảng 4. 23 Kết quả thực nghiệm các thuật toán cho các bộ dữ liệu ngẫu nhiên 3 (TPR-200-Rx) .....109

Bảng 4. 24 Kết quả thực nghiệm các thuật toán cho các bộ dữ liệu ngẫu nhiên 3 (TPR-500-Rx) .....109

Bảng 4. 25 Kết quả thực nghiệm các thuật toán cho bộ dữ liệu thực 1...............................................110

Bảng 4. 26 So sánh độ lệch chuẩn độ trễ lời giải của các thuật toán ..................................................111

Bảng 4. 27 Mô tả

T

đối với các bộ dữ liệu lớn...................................................................................111

Bảng 5. 1 Tổng hợp các thuật toán đề xuất.........................................................................................115

x

Danh mục hình vẽ

Hình 1. 1 Minh họa bài toán MLP trên cây có trọng số..........................................................................3

Hình 1. 2 Minh họa bài toán MLP trên đường thẳng..............................................................................3

Hình 1. 3 Quá trình phân nhánh..............................................................................................................6

Hình 1. 4 Phân hoạch tập con .................................................................................................................7

Hình 2. 1 Thời gian chạy trung bình các file dữ liệu (n = 30) trong các bộ dữ liệu..............................27

Hình 2. 2 Thời gian chạy trung bình các file dữ liệu (n = 35) trong các bộ dữ liệu..............................27

Hình 2. 3 Thời gian chạy trung bình các file dữ liệu (n = 40) trong các bộ dữ liệu..............................27

Hình 2. 4 Thời gian chạy trung bình các file dữ liệu (n = 10, 20) của bộ dữ liệu ngẫu nhiên 3 ...........27

Hình 2. 5 Thời gian chạy trung bình các file dữ liệu trong mỗi nhóm của bộ dữ liệu thực 2...............28

Hình 2. 6 Thời gian chạy trung bình các file dữ liệu nhỏ trong bộ dữ liệu thực 2................................28

Hình 3. 1 Hình vuông (bounding box) bao phủ các đỉnh......................................................................43

Hình 3. 2 Phân chia ô vuông và quadtree tương ứng............................................................................43

Hình 3. 3 Tập các portal........................................................................................................................44

Hình 3. 4 Minh họa crossing đi qua các portal .....................................................................................44

Hình 3. 5 Cận tỷ lệ thực nghiệm trung bình của các thuật toán đối với các bộ dữ liệu nhỏ .................47

Hình 3. 6 Cận dưới trung bình của các thuật toán đối với các bộ dữ liệu nhỏ......................................47

Hình 3. 7 Thời gian chạy trung bình của các thuật toán đối với các bộ dữ liệu nhỏ.............................47

Hình 3. 8 Cận tỷ lệ trung bình của các thuật toán đối với các bộ dữ liệu lớn.......................................47

Hình 3. 9 Thời gian chạy trung bình của các thuật toán đối với các bộ dữ liệu lớn .............................48

Hình 4. 1 Minh họa sự hội tụ của thuật toán GA−SDT và GA−no−SDT tại file test 1 trong bộ dữ liệu

ngẫu nhiên 1 qua các thế hệ...................................................................................................76

Hình 4. 2 Minh họa sự hội tụ của thuật toán GA−SDT và GA−no−SDT tại file test 1 trong bộ dữ liệu

ngẫu nhiên 2 qua các thế hệ...................................................................................................76

Hình 4. 3 Minh họa sự hội tụ của thuật toán GA−SDT và GA−no−SDT tại file KroA100 trong bộ dữ

liệu thực 2 qua các thế hệ ......................................................................................................76

Hình 4.4 Minh họa hành trình MLP tốt nhất hiện biết trên một số file dữ liệu ..................................106

1

CHƢƠNG 1

TỔNG QUAN VỀ BÀI TOÁN

Chương này giới thiệu bài toán cực tiểu hoá độ trễ (Minimum latency problem - MLP), trình

bày một số hướng tiếp cận để giải bài toán, các nghiên cứu liên quan, phạm vi nghiên cứu, bộ

dữ liệu thực nghiệm, đóng góp và cấu trúc của luận án.

Bài toán thiết kế mạng là một vấn đề được rất nhiều nhà nghiên cứu quan tâm. Việc

lựa chọn một cấu hình tối ưu hoặc thiết kế một mạng tối ưu có rất nhiều ứng dụng trong thực

tiễn như trong giao thông, mạng máy tính, … . Trong bài toán thiết kế mạng, nếu độ trễ của

một nút được hiểu là độ dài đường đi từ nút nguồn đến nút đó, thì mục đích đặt ra là tìm một

hành trình bắt đầu từ nút nguồn đến các nút còn lại trên mạng sao cho tổng độ trễ là cực tiểu.

Xét ví dụ minh họa, xét mạng gồm 6 nút, trong đó khoảng cách giữa các nút được cho bởi ma

trận trọng số C = (cij) sau đây:

0 12 40 10 9 16

12 0 19 12 70 15

40 19 0 21 60 17

10 12 21 0 10 16

9 70 60 10 0 10

10 15 17 16 10 0

C

 

 

 

 

  

 

 

 

 

Xét hành trình T bắt đầu từ nút nguồn 1 đi qua tất cả các nút còn lại trên mạng: (1, 5, 4, 2, 3,

6). Khi đó, độ trễ của một nút trên T được hiểu là độ dài của đoạn đường trên T đi từ nút

nguồn 1 đến nó và độ trễ của hành trình T là tổng độ trễ của tất cả các nút trong T: 9 + (9 +

10) + (9 + 10 + 12) + (9 + 10 + 12 + 19) + (9 + 10 + 12 + 19 + 17) = 192. Hành trình T* = (1,

5, 4, 2, 6, 3) với độ trễ 168, đây cũng là hành trình có tổng độ trễ nhỏ nhất. Mục đích đặt ra là

tìm hành trình xuất phát từ nút nguồn 1 đi qua các nút còn lại trên mạng với độ trễ là nhỏ

nhất. Bài toán vừa phát biểu là một ví dụ về bài toán cực tiểu hóa độ trễ.

Bài toán cực tiểu hóa độ trễ (MLP) là một dạng khác của bài toán thợ sửa chữa lưu động

(Traveling repairman problem – TRP) [4, 14, 40], bài toán người giao hàng (Delivery man

problem – DMP) [12, 30, 31]. Bài toán cực tiểu hóa độ trễ cũng là một trường hợp đặc biệt

của bài toán người du lịch với thời gian bị chặn (Time dependent traveling salesman problem

– TDTSP) [28, 36], trong đó để tính tổng chi phí của một hành trình của bài toán TDTSP,

2

khoảng cách giữa hai đỉnh thứ i và đỉnh thứ (i + 1) trong hành trình cần được nhân với trọng

số w(i) trước khi chúng được cộng lại. Rõ ràng là bài toán người du lịch (Traveling salesman

problem – TSP) thu được từ bài toán TDTSP khi đặt w(i) = 1; còn nếu đặt w(i) = n – i, ta thu

được bài toán MLP. Chúng ta có thể thấy điểm giống nhau của hai bài toán TSP và MLP đều

là tìm một hành trình tối ưu. Tuy nhiên, Blum et al. [6] chỉ ra rằng bài toán MLP được xem là

khó hơn so với bài toán TSP. Với một sự thay đổi nhỏ trong hàm mục tiêu và đồ thị đầu vào

thì bài toán MLP không có đặc tính cục bộ giống như bài toán TSP. Trong bài toán TSP, nếu

hoán đổi vị trí của một vài đỉnh trong hành trình thì sự thay đổi trong hàm mục tiêu chỉ mang

tính cục bộ. Trong khi đó, việc hoán đổi như vậy lại có thể dẫn đến sự thay đổi lớn trong hàm

mục tiêu của bài toán MLP [6]. Một đặc điểm khác nữa của bài toán MLP đó là chỉ cần một

thay đổi nhỏ trong đồ thị đầu vào, đã có thể dẫn đến sự thay đổi lớn trong hành trình tối ưu

của bài toán [43]. Điều này cho thấy, chúng ta khó có thể thiết kế một thuật toán theo hướng

chia để trị để giải bài toán MLP. Bởi vì các bài toán bộ phận có mối liên hệ với các bài toán

bộ phận khác, nên ta khó có thể tìm được cách chia bài toán cần giải ra thành các bài toán bộ

phận; sau đó, tìm lời giải tối ưu của từng bài toán bộ phận bằng cách trị đệ qui chúng, và cuối

cùng, cần xây dựng được phương pháp hiệu quả để tổng hợp lời giải tối ưu của các bài toán

bộ phận này để thu được lời giải tối ưu cho bài toán đặt ra.

Bài toán MLP có nhiều ứng dụng trong thực tiễn. Cụ thể, trong lý thuyết lập lịch khi

một máy chủ hay một người thợ phải lên kế hoạch phục vụ một tập các yêu cầu sao cho tổng

(trung bình) thời gian chờ đợi của các yêu cầu là cực tiểu [6, 41]. Trong tìm đường đi trên

mạng, bài toán cũng được ứng dụng để tìm hành trình với tổng độ trễ là nhỏ nhất [42]. Trong

bài toán tìm kiếm thông tin, bài toán MLP được ứng dụng để cực tiểu hóa độ trễ của việc tìm

kiếm thông tin trên mạng [42].

Bài toán MLP được chứng minh thuộc lớp bài toán NP-khó trong trường hợp tổng

quát [41] và thậm chí vẫn là NP-khó ngay cả với đồ thị là cây có trọng số [44]. Hơn thế nữa,

ngoại trừ P = NP, một lược đồ xấp xỉ với thời gian đa thức trong trường hợp tổng quát là

không tồn tại [41]. Bên cạnh đó, trong một số trường hợp đặc biệt, bài toán giải được bởi

thuật toán có độ phức tạp thời gian đa thức, được đề cập trong các công trình [6, 14, 31, 49].

1.1 Mô hình toán học của bài toán cực tiểu hóa độ trễ

Bài toán cực tiểu hóa độ trễ (MLP) dưới dạng tổng quát có thể phát biểu trong ngôn ngữ của

lý thuyết đồ thị như sau: Cho G = (V, E) là đồ thị vô hướng có trọng số không âm trên mỗi

Tải ngay đi em, còn do dự, trời tối mất!