1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các thuật toán tìm đường đi ngắn nhất với đồ thị có trọng số thay đổi theo thời gian

60 61 0

Đ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 60
Dung lượng 2,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÊN ĐỀ TÀI: CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT VỚI ĐỒ THỊ CÓ TRỌNG SỐ THAY ĐỔI THEO THỜI GIAN .... NHIỆM VỤ VÀ NỘI DUNG: - Tìm hiểu mô hình và các giải thuật của bài toán tìm đường

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

HOÀNG XUÂN LỘC

CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT

VỚI ĐỒ THỊ CÓ TRỌNG SỐ THAY ĐỔI

THEO THỜI GIAN

Chuyên ngành : KHOA HỌC MÁY TÍNH

Mã số : 60.48.01

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 01 năm 2015

Trang 2

ĐẠI HỌC QUỐC GIA TP.HCM

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Hoàng Xuân Lộc MSHV: 12073124 Ngày, tháng, năm sinh: 30/12/1989 Nơi sinh: Kiên Giang Chuyên ngành: Khoa học máy tính Mã số : 60.48.01

I TÊN ĐỀ TÀI: CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT VỚI

ĐỒ THỊ CÓ TRỌNG SỐ THAY ĐỔI THEO THỜI GIAN

II NHIỆM VỤ VÀ NỘI DUNG:

- Tìm hiểu mô hình và các giải thuật của bài toán tìm đường đi ngắn nhất theo thời

gian Từ đó đề xuất giải thuật tìm đường đi xe buýt theo thời gian trên địa bàn Tp

Hồ Chí Minh

- Xây dựng dữ liệu xe buýt theo thời gian từ dữ liệu thu về từ các thiết bị định vị

được gắn trên các phương tiện

- Xây dựng ứng dụng cho phép người dùng thực hiện chức năng tìm đường đi xe

buýt theo thời gian dựa trên giải thuật đã đề xuất

III NGÀY GIAO NHIỆM VỤ : 07/07/2014

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 07/12/2014

(Họ tên và chữ ký)

Trang 3

LỜI CẢM ƠN

Xin chân thành cảm ơn sự giảng dạy của các thầy cô trong khoa đã giúp đỡ tôi những kiến thức quý báu Đặc biệt, xin chân thành cảm ơn thầy Trần Văn Hoài

và thầy Dương Ngọc Hiếu đã hướng dẫn và hỗ trợ cho tôi trong thời gian vừa qua

Cuối cùng, tôi xin cảm ơn gia đình, đồng nghiệp và bạn bè đã động viên, hỗ trợ giúp tôi có thể hoàn thành đề tài luận văn này

TP Hồ Chí Minh, Ngày 08 Tháng 12 Năm 2014

Ký tên

Hoàng Xuân Lộc

Trang 4

TÓM TẮT

Bài toán tìm đường đi ngắn nhất (shortest path) đã được nghiên cứu từ nhiều

thập niên trước và cho đến nay vẫn có sức thu hút lớn đối với các nhà khoa học Đã

có nhiều công trình trong và ngoài nước nghiên cứu về bài toán tìm đường đi ngắn nhất giải cho những dạng đồ thị có điều kiện và ràng buộc Trong đó, bài toán tìm

đường đi ngắn nhất trên đồ thị thay đổi theo thời gian tạo ra nhiều thách thức với

các nhà khoa học Bài toán này được đặt ra dựa trên yêu cầu thực tiễn vốn dĩ rất đa dạng và phức tạp Xuất phát từ bài toán tìm đường đi xe buýt cho Tp Hồ Chí Minh, luận này sẽ tập trung nghiên cứu về đồ thị đường đi của xe buýt với những ràng buộc liên quan Đồng thời luận văn cũng đề xuất giải thuật tìm đường xe buýt theo thời gian thực Dữ liệu sử dụng cho thực nghiệm là dữ liệu xe buýt trên địa bàn Tp

Hồ Chí Minh

Trang 5

ABSTRACT

The problem of finding the shortest path has been studied for many decades ago and until now this problem is also very attracting to scientists There have been several researches about the problem of finding the shortest path on graphs having conditions and constraints In particular, the problem of finding the shortest path on the graphs changing over time has been raising a lot of challenges for scientists This problem was raised by practical demand that is so diverse and complex From the shortest path problem of bus routing in Ho Chi Minh City, this thesis considered

to the graph of bus routing with several relevant constraints In addition, an algorithm solving the shortest path problem of bus routing in real time was also proposed The data used for the experiment is the bus data of Ho Chi Minh City

Trang 6

LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác

Người thực hiện (ký tên)

Hoàng Xuân Lộc

Trang 7

MỤC LỤC

LỜI CẢM ƠN i

TÓM TẮT ii

ABSTRACT iii

LỜI CAM ĐOAN iv

MỤC LỤC v

DANH MỤC HÌNH, BẢNG BIỂU vii

DANH MỤC VIẾT TẮT viii

CHƯƠNG 1 GIỚI THIỆU 1

1.1 Giới thiệu vấn đề 1

1.2 Phạm vi nghiên cứu 2

1.3 Phương pháp nghiên cứu 3

1.4 Ý nghĩa nghiên cứu 3

1.5 Tóm tắt kết quả đã đạt được 3

1.6 Cấu trúc của luận văn 4

CHƯƠNG 2 TỔNG QUAN 5

2.1 Mở rộng theo thời gian (time-expanded) 5

2.2 Phụ thuộc thời gian (time-dependent) 6

2.3 Kết luận 6

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT 8

3.1 Các định nghĩa và quy ước 8

3.2 Phương pháp gán nhãn 9

3.2.1 Phương pháp gán nhãn cho trường hợp đơn mục tiêu 9

3.2.2 Phương pháp gán nhãn cho trường hợp đa mục tiêu 11

3.3 Đồ thị phụ thuộc thời gian 12

3.4 Bài toán tìm đường đi ngắn nhất với đồ thị phụ thuộc thời gian 14

CHƯƠNG 4 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 18

4.1 Đồ thị xe buýt 18

Trang 8

4.2 Mô hình đồ thị xe buýt 19

4.3 Bài toán tìm đường đi xe buýt với ràng buộc 23

4.4 Giải quyết bài toán tìm đường đi bằng xe buýt theo thời gian 26

CHƯƠNG 5 XÂY DỰNG ÚNG DỤNG TÌM ĐƯỜNG XE BUÝT THEO THỜI GIAN 31

5.1 Phân tích dữ liệu và xử lý dữ liệu 31

5.2 Hiện thực chương trình 35

5.3 Kết quả thử nghiệm 37

5.3.1 Một số kết quả tìm đường đi theo thời gian 38

5.3.2 Mô phỏng trên bản đồ 3D 41

KẾT LUẬN 44

CÔNG TRÌNH CÔNG BỐ 46

TÀI LIỆU THAM KHẢO 47 BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH A

LÝ LỊCH TRÍCH NGANG B

Trang 9

DANH MỤC HÌNH, BẢNG BIỂU

Hình 1.1 Sơ đồ tuyến xe buýt ở thành phố Hồ Chí Minh 2

Hình 3.1 Ví dụ về đồ thị phụ thuộc thời gian 13

Hình 3.2 Hàm độ trễ cạnh mô tả theo từng khoảng thời gian 13

Hình 4.1 Hình vẽ mô tả việc kết nối giữa các đỉnh 19

Hình 4.2 Minh họa việc chuyển từ đa đồ thị sang đơn đồ thị 21

Hình 4.3 Minh họa việc chuyển từ đa đồ thị sang đơn đồ thị ở trường hợp tổng quát 22

Hình 4.4 Minh họa việc chuyển từ đa đồ thị sang đơn đồ thị, khi nối cạnh đi bộ giữa các trạm 22

Hình 5.1 Đường đi và vị trí của các tín hiện trên bản đồ 2D 31

Hình 5.2 Đường đi của các xe buýt phủ khắp Tp.Hồ Chí Minh trên bản đồ 2D 31

Hình 5.3 Những tín hiệu bị ngắt quãng một thời gian lớn 32

Hình 5.4 Mô tả những đoạn màu đỏ được tính là gần với đoạn đường <v 1 ,v 2 > 33

Hình 5.5 Bảng lưu trữ thông tin của trạm xe buýt 35

Hình 5.6 Bảng lưu trữ thông tin của tuyến xe buýt 35

Hình 5.7 Bảng lưu trữ thông tin về lộ trình của xe buýt 36

Hình 5.8 Bảng lưu trữ các khoảng thời gian trong ngày 36

Hình 5.9 Bảng lưu trữ thông tin về vận tốc, thời gian di chuyển giữa hai trạm tại một khoảng thời gian 37

Hình 5.10 Thời gian di chuyển tại các thời điểm trong ngày 37

Hình 5.11 Vận tốc trung bình tại các thời điểm trong ngày 38

Hình 5.12 Kết quả của giải thuật CSP 39

Hình 5.13 Kết quả của giải thuật TDSP ràng buộc 2 lần chuyển tuyến 39

Hình 5.14 Kết quả giải thuật TDSP ràng buộc 1 lần chuyển tuyến 40

Hình 5.15 Kết quả đi vào lúc 5h với thời gian 1 giờ 26 phút 40

Hình 5.16 Kết quả đi vào lúc 8h với thời gian 1 giờ 30 phút 41

Hình 5.17 Kết quả đi vào lúc 17h với thời gian 1 giờ 45 phút 41

Hình 5.18 Trực quan hóa một lộ trình của xe buýt xuất phát từ bến xe An Sương đến Chợ Lớn bắt đầu từ lúc 8h trên bản đồ 3D , có góc nhìn từ trên xuống 42

Hình 5.19 Trực quan hóa một lộ trình của xe buýt xuất phát từ bến xe An Sương đến Chợ Lớn bắt đầu từ lúc 15h trên bản đồ 3D , có góc nhìn từ trên xuống 43

Hình 5.20 Kết quả giống như hình 5.18, nhưng có góc nhìn ngang thể hiển hiện thời gian di chuyển theo độ cao 43

Trang 10

DANH MỤC VIẾT TẮT

SP : Shortest Path

SPP : Shortest Path Problem

CSP : Constrained Shortest Path

TDSP : Time-Dependent Shortest Path GPS : Global Positioning System

FIFO : First In - First Out

Trang 11

CHƯƠNG 1 GIỚI THIỆU

Phần này sẽ giới thiệu vấn đề, mục tiêu và nội dung sơ lược của đề tài, từ đó cho thấy sự cần thiết để thực hiện đề tài

1.1 Giới thiệu vấn đề

Hiện nay, chủ đề giao thông ở các thành phố lớn như thành phố Hồ Chí Minh, Hà Nội đang được nhiều người quan tâm về nhiều khía cạnh Tuy nhiên việc thiếu dữ liệu và công cụ hỗ trợ nên việc đánh giá thực trạng giao thông tại các thành phố lớn đối mặt nhiều thách thức Tương tự, việc thiếu công cụ hỗ trợ tìm kiếm thông tin giao thông tại các thành phố cũng gây không ít khó khăn trong đời sống hằng ngày của người dân Tại các nước tiên tiến, việc tra cứu thông tin giao thông thông qua website hay ứng dụng điện thoại là rất phổ biến và chính xác Lý do quan trọng của sự thành công này là sự đầu tư đúng mức về việc xây dựng cơ sở dữ liệu giao thông Tại Việt Nam, từ năm 2000 đến nay có khá nhiều website cung cấp thông tin giao thông như diadiem.com, vietbando.vn, thodia.vn … Tuy nhiên những thông tin giao thông đặc biệt là giao thông công cộng trên các website này chưa có

Tại Tp Hồ Chí Minh, xe buýt từ lâu đã là phương tiện giao thông công cộng phục vụ cho việc đi lại và dần trở thành phương tiện giao thông chính yếu của phần lớn người dân đặc biệt là thành phần sinh viên, học sinh và thành phần lao động có thu nhập trung bình thấp Thời gian trước đây, việc thiếu thông tin về tuyến xe buýt gây không ít khó khăn trong việc tìm tuyến xe buýt chính xác Để xác định chính xác tuyến xe buýt cần đi, người dân chủ yếu dựa vào kinh nghiệm hoặc chỉ dẫn lẫn nhau Một số khác thì tra cứu dựa vào bản đồ mạng lưới giao thông xe buýt trên giấy như hình 1.1

Tuy nhiên hiện nay với công nghệ viễn thông và thông tin phát triển mạnh, các xe buýt di chuyển trong địa bàn Tp Hồ Chí Minh đều được gắn thiết bị định vị cho phép quản lý được vị trí xe buýt theo thời gian Đây là nguồn dữ liệu quý giá giúp cho những nhà phân tích có thể phân tích được tình trạng giao thông của Tp

Hồ Chí Minh Bên cạnh đó việc đầu tư đúng mức của các cấp lãnh đạo trong việc xây dựng hệ thống thông tin lưu trữ và chia sẽ tuyến xe buýt thông qua mạng internet đã giúp ích rất nhiều cho người đi xe buýt Do đó đặt ra một bài toán tuy

không mới nhưng khó giải, đó là bài toán tìm đường đi xe buýt ngắn nhất Đường đi

ngắn nhất ở đây có thể xét trên nhiều tiêu chí như ít nhảy tuyến xe buýt nhất, thời gian nhanh nhất, ít tiền vé nhất, khoảng đường đi bộ ngắn nhất…

Trang 12

Hình 1.1 Sơ đồ tuyến xe buýt ở thành phố Hồ Chí Minh

1.2 Phạm vi nghiên cứu

Như đã biết, bài toán tìm đường đi ngắn nhất (shortest path) đã được nghiên

cứu từ nhiều thập niên trước và cho đến nay vẫn có sức thu hút lớn đối với các nhà khoa học Đã có nhiều công trình trong và ngoài nước nghiên cứu về bài toán tìm đường đi ngắn nhất giải cho những dạng đồ thị có điều kiện và ràng buộc Trong đó,

bài toán tìm đường đi ngắn nhất trên đồ thị thay đổi theo thời gian tạo ra nhiều

thách thức với các nhà khoa học Bài toán này được đặt ra dựa trên yêu cầu thực tiễn vốn dĩ rất đa dạng và phức tạp Đối với bài toán tìm đường đi xe buýt, để giải quyết ta sẽ phải tiến hành tuần tự các bước sau:

- Thu thập dữ liệu mạng lưới tuyến xe buýt tại địa bàn Tp Hồ Chí Minh

- Phân tích và xử lý dữ liệu trả về từ thiết bị định vị gắn trên xe buýt

- Dựa vào dữ liệu đã xử lý, xây dựng mô hình đồ thị đường đi xe buýt và

Trang 13

1.3 Phương pháp nghiên cứu

Luận văn sử dụng phương pháp kết hợp giữa nghiên cứu lý thuyết và nghiên cứu thực tiễn Để giải quyết các bước công việc trên ta phải tiến hành các bước cụ thể sau:

- Mạng lưới tuyến xe buýt ở thành phố Hồ Chí Minh được thu thập từ website

http://www.buyttphcm.vn Cho đến hiện tại, dữ liệu tuyến xe buýt được cung cấp từ website này có độ chính xác cao và thường xuyên được cập nhật

- Dữ liệu định vị xe buýt cũng được thu thập trong vòng một tháng từ các thiết

bị định vị gắn trên các xe buýt

- Tiến hành tiền xử lý dữ liệu trước khi sử dụng cho việc xây dựng mô hình dữ liệu xe buýt hướng thời gian Bao gồm xử lý dữ liệu lỗi, nội suy dữ liệu thiếu theo không gian, thời gian …

- Nghiên cứu thuật giải tìm đường xe buýt theo thời gian thực Tiêu chí của thuật giải được nghiên cứu là phải cho kết quả chính xác, tìm ra nghiệm tối

ưu cho bài toán, và trong thời gian nhanh chóng Giải thuật nghiên cứu ở đây dựa trên giải thuật gán nhãn, một biến thể của giải thuật Dijsktra, dùng để giải quyết các bài toán hồi quy, đa mục tiêu, hay các bài toán một mục tiêu kèm theo nhiều ràng buộc

1.4 Ý nghĩa nghiên cứu

- Kết quả nghiên cứu đề xuất một mô hình lưu trữ tuyến xe buýt theo không gian và thời gian Dựa vào dữ liệu này cho phép các nhà phân tích có thể phân tích dữ liệu giao thông Tp Hồ Chí Minh dựa trên góc nhìn dữ liệu giao

thông công cộng

- Kết quả nghiên cứu cũng giới thiệu một giải thuật mới giải quyết bài toán tìm đường đi ngắn nhất cho loại hình đồ thị hướng thời gian Từ đó kết quả nghiên cứu là một ứng dụng thực tiễn, giải quyết bài toán tìm xe buýt cho

người dân, vốn đang rất thiếu và cần thông tin

Trang 14

1.6 Cấu trúc của luận văn

Luận văn được trình bày gồm có 5 chương:

- Chương 1: Giới thiệu Giới thiệu vấn đề, mục tiêu và nội dung sơ lược của

đề tài, từ đó cho thấy sự cần thiết để thực hiện đề tài

- Chương 2: Tổng quan về các vấn đề tìm đường đi ngắn nhất Trình bày sơ

lược về những nghiên cứu của các vấn đề liên qua Và bài toán mà đề tài quan tâm

- Chương 3: Cơ sở lý thuyết Các giải thuật liên quan tới bài toán tìm đường

đi ngắn nhất và bài toán tìm đường đi trên đồ thị phụ thuộc thời gian

- Chương 4: Bài toán tìm đường đi xe buýt theo thời gian Trình bày về mô

hình đồ thị xe buýt và giải thuật trình đường đi xe buýt trên đồ thị phụ thuộc thời gian

- Chương 5: Xây dựng ứng dụng tìm đường đi xe buýt theo thời gian

Trình bày về dữ liệu xe buýt theo thời gian và dựa trên đó hiện thực giải thuật tìm đường xe buýt theo thời gian đã được trình bày ở Chương 4

Trang 15

CHƯƠNG 2 TỔNG QUAN

Như đã biết bài toán tìm đường đi ngắn nhất (shortest path – SP) có độ phức tạp đa thức Tuy nhiên khi xét đến bài toán tìm đường đi ngắn nhất với các ràng buộc (constrained shortest path - CSP) thì bài toán này thuộc lớp bài toán NP-hard Tương tự bài toán tìm đường đi ngắn nhất trên đồ thị phụ thuộc thời gian (time-dependent shortest path - TDSP) cũng là bài toán NP-hard Do đó trong thời gian qua đã có rất nhiều nghiên cứu về hai bài toán này và đề xuất những giải thuật tìm

ra lời giải xấp xỉ cũng như lời giải tối ưu với những loại đồ thị khác nhau

Việc đầu tiên khi đối mặt với bài toán tìm đường đi ngắn nhất là làm sao mô hình bài toán thực tế thành một dạng đồ thị Đối với mỗi loại đồ thị mô hình cho những bài toán thực tế khác nhau sẽ có những đặc tính khác nhau Trong [8] đề cập tới mạng truyền tải liên lạc và những ràng buộc về việc truyền tải, từ đó đưa ra một giải thuật xấp xỉ để giải quyết bài toán Và trong [1][2] cũng đề cập về mạng liên lạc giữa các máy tính với theo thời gian với những quy định về việc truyền dữ liệu

Trong [3] các tác giả quan tâm về mạng đường đi với đặc tính vào-trước-ra-trước

(First-In-First-Out hoặc viết tắt là FIFO) Tính chất FIFO cho biết một đồ thị phụ thuộc thời gian có tính FIFO nếu mọi cạnh của đồ thị đó có tính FIFO

Bài toán tìm đường đi xe buýt là bài toán khó và độ khó tuỳ thuộc vào số lượng ràng buộc đặt ra cho bài toán Nếu chỉ xét bài toán tìm đường đi ngắn nhất trên đồ thị có yếu tố thời gian, có thể chia ra hai lớp bài toán: mở rộng theo thời gian (time-expanded) và phụ thuộc theo thời gian (time-dependent)

2.1 Mở rộng theo thời gian (time-expanded)

Đối với dạng bài toán này, tại một trạm xe buýt (tương ứng với một node trong đồ thị thời gian) ta sẽ quan tâm đến lịch các xe buýt thực sẽ đến trạm khi nào Yếu tố này đóng vai trò then chốt trong việc xây dựng trong số của các cạnh trong

đồ thị mô phỏng mạng lưới xe buýt và đồ thị này là đồ thị có trọng số cố định Trong [13] Schulz và các cộng sự đề xuất áp dụng phương pháp này để giải quyết bài toán tìm đường cho hệ thống đường sắt (có tính chất tương tự hệ thống xe buýt) Trong đó nhóm tác giả đã mô hình hoá bản đồ đường sắt kết hợp lịch chạy thành một mô hình đồ thị có trọng số cố định Nhóm tác giả Hannenmann [12] tiếp tục phát triển nghiên cứu của Schulz với sự bổ sung về tối ưu giá vé và số lần chuyển tuyến Đóng chính của các nhóm tác giả để giải quyết bài toán tìm đường đi ngắn nhất khi xét lịch trình xe là việc mô hình tất cả những yêu cầu thực tiển thành đồ thị

Trang 16

có trọng số Sau khi đã xây dựng đồ thị trên, để giải quyết bài toán tìm đường đi ngắn nhất, các nhóm tác giả áp dụng giải thuật tìm đường kinh điển là Dijkstra Tuy nhiên các nhóm tác giả đã có những kỹ thuật cải tiến mới nhằm tăng tốc thời gian chạy của giải thuật Trong [14] Schulz cũng đã tóm tắt lại rất rõ ràng những nghiên cứu của ông và cộng sự liên quan đến bài toán tìm đường đi cho hệ thống đường sắt

Đối với những nghiên cứu trong nước, bài toán tìm đường đi xe buýt là bài toán mới, do đó có rất ít nghiên cứu về bài toán này Có thể hiểu rằng việc thiếu dữ liệu thực nghiệm là một trong những nguyên nhân chính Trong [11] Vo Dang Khoa

và cộng sự đưa ra phương pháp tìm đường đi xe buýt có quan tâm đến lịch chạy của

xe buýt Trong nghiên cứu, nhóm tác giả ứng dụng giải thuật gán nhãn để tìm đường đi xe buýt Tuy nhiên kết quả cũng chỉ dừng lại mức nghiên cứu chứ chưa thể áp dụng cho thực tế Lý do chính là hệ thống xe buýt tại Việt Nam tuy có thời gian biểu của xe, nhưng đa phần các xe buýt không chạy đúng giờ và đúng tuyến

2.2 Phụ thuộc thời gian (time-dependent)

Đối với cách tiếp cận này, ta không hướng đến xây dựng đồ thị có trọng số

cố định mà hướng đến xây dựng đồ thị có trọng số cạnh phụ thuộc thời gian the-fly) Điều này ảnh hưởng lớn đến việc hiệu chỉnh giải thuật tìm đường sao cho tương thích với dạng đồ thị đặc biệt này Trong [15][16] các nhóm tác giả đề xuất phương pháp lập trình quy hoạch động để giải quyết bài toán tìm đường đi ngắn nhất Tuy nhiên nhóm tác giả cũng nhấn mạnh rằng họ không đảm bảo hiệu suất tốt của phương pháp đề xuất Orda và Rom [1] có những nghiên cứu về độ phức tạp của bài toán tìm đường đi ngắn nhất cho phương pháp phụ thuộc thời gian Từ đó nhóm tác giả đưa ra những giải thuật hiệu quả [17][18] nhóm tác giả tiếp tục có những nghiên cứu sâu hơn công trình của Orda và Rom và đã chứng minh được trên phương diện lý thuyết rằng phương pháp phụ thuộc thời gian hiệu quả hơn phương pháp mở rộng thời gian

(on-2.3 Kết luận

Từ những phân tích trên, ta thấy phương pháp phụ thuộc thời gian chứng minh được những ưu điểm so với phương pháp mở rộng thời gian trên cả hai phương diện lý thuyết lẫn thực tiễn Đối với bài toán xe buýt tại Việt Nam (Tp Hồ Chí Minh), nhận xét thấy rằng việc xe buýt chạy sai tuyến, sai giờ, bỏ trạm … là thách thức lớn cho nhà quản lý cũng như cho những nhà khoa học trong việc giải

Trang 17

quyết bài toán tìm đường đi ngắn nhất Từ đó đề tài đề xuất giải thuật gán nhãn, là một biến thể của giải thuật Dijsktra, dùng để giải quyết các bài toán hồi quy, đa mục tiêu, hay các bài toán một mục tiêu kèm theo nhiều ràng buộc

Ngoài ra, đề tài cũng quan tâm tới với một mô hình mạng cụ thể và dựa vào những đặc tính của nó để đưa ra những kỹ thuật, heuristic tối ưu thuật giải Như đã trình bày mô hình mạng trong đề tài này là mạng xe buýt của thành phố Hồ Chí Minh Và có một số giả định ban đầu trên mô hình mạng này:

 Đồ thị có trọng số không âm Thời gian di chuyển được dùng làm trọng số để tính chi phí, và đây là giá trị không âm, nên phù hợp với giả định được đưa

ra

 Giả định mỗi cạnh của đồ thị đều có tính chất FIFO [3] Vì do điều kiện giao thông, đường xá nhỏ, mật độ lưu thông lớn, kích thước xe buýt lớn, nên trong mạng đường đi xe buýt có thể hầu như đàm bảo tính chất FIFO này

Trang 18

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT

k R V V

c:   (v i,v j)c,j (c1,j,c2,j, ,c k,j), với c l,j  0 , l1 , ,l

 Một đường đi p từ đỉnh v iđến v j, được định nghĩa như sau:

j i

, , 

j l l

j i

c p

f

) , ( ,)

( ,l1, ,kCho hai đường đi p,qP,j, làm thế nào để xét xem chi phí f ( p) và f (q), cái nào tốt hơn thì cần thêm định nghĩa sau:

Định nghĩa 3.1: Cho hai vectơ k

R b

a,  ,Ta có:

Trang 19

k

l b a b

aR kll,  1, ,

Định nghĩa 3.2: Cho đường đi p,qP,j,chúng ta nói rằng đường đi p có chi phí tốt hơn(hiệu quả hơn) đường đi q, kí hiệu là pD q khi và chỉ khi

) ( ) (p f q

f  và f(p)R k f(q)

3.2 Phương pháp gán nhãn

Giải thuật gán nhãn là một biến thể của giải thuật Dijsktra, dùng để giải quyết những bài toán hồi quy, cụ thể như bài toán tìm đường đi ngăn nhất giữa hai điểm cho trước, hay từ một điểm tới các điểm còn lại, hay bài toán tìm đường đi ngắn nhất với nhiều mục tiêu Trong phần này của luận văn sẽ trình bày về một số kỹ thuật của giải thuật gán nhãn Từ đó đề xuất giải thuật để giải quyết bài toán mà luận văn đã đề ra

3.2.1 Phương pháp gán nhãn cho trường hợp đơn mục tiêu

Bài toán tìm đường đi ngắn nhất đơn mục tiêu là bài toán cổ điển đã được nghiên cứu nhiều Ở đó bài toán chỉ quan tâm tới một mục tiêu duy nhất, và chỉ cố gắng tối ưu mục tiêu đó Để giải quyết bài toán này có thể dùng phương pháp gán nhãn mà chỉ với mỗi một đỉnh của đồ thị chỉ cần có một nhãn để lưu giá trị tốt nhất

ở đỉnh đó

Việc khởi tạo của giải thuật thực hiện bằng đánh dấu tất cả các đỉnh là "marked"

ngoại trừ đỉnh bắt đầu s Đỉnh s được gán chi phí là 0, chi phí tốt nhất để đi từ s đến

s, và những đỉnh khác được gán với chi phí lớn nhất () Theo giải thuật thì mỗi bước chọn ra một đỉnh "unmarked" v i, từ đó xét tới các đỉnh v j mà có cạnh nối từ

i

v , (v i,v j) Evà tính toán chi phí cho đỉnh v j và đánh dấu cho nó là "unmarked" Giải thuật ngừng thi không còn đỉnh nào được "unmarked" thêm Khi hiện thực, những đỉnh "unmarked" được chứa trong một tập X Giải thuật gán nhán có mã giả như sau:

Trang 20

Trong giải thuật trên, ở bước chọn một nhãn từ tập X ,có hai kĩ thuật để thực

hiện việc này: chọn nhãn có định hướng ( label setting) và chọn nhãn không định hướng ( label correcting) Chọn nhãn không định hướng thì không cần điều kiện để

chọn một nhãn từ X , mà chọn bất kì nhãn nào cũng được Nhưng kĩ thuật chọn nhãn có định hướng thì chọn ra một nhãn có giá trị mục tiêu là tốt nhất Hai kĩ thuật này đã được chứng minh đều tìm được đường đi ngắn nhất từ một đỉnh bắt đầu đến một đỉnh kết thúc Nhưng với kĩ thuật chọn nhãn có định hướng thì có thể tìm ra

đường đi ngắn nhất mà khong cần phải xây dựng xong cây ngắn nhất có gốc từ đỉnh

bắt đầu (cây ngắn nhất được tạo thành từ các đường đi ngắn nhất từ đỉnh bắt đầu đến các đỉnh còn lại của đồ thị) Ngược lại, kĩ thuật chọn nhãn không định hướng thì phải xây dựng xong cây ngắn nhất, rồi mới xác định được đường đi ngắn nhất từ một đỉnh bắt đầu đến một đỉnh kết thúc Với đặc điểm này thì kĩ thuật chọn nhãn có định hướng phù hợp và hiệu quả với bài toán tìm đường đi giữa hai đỉnh cho trước Khi hiện thực giải thuật này thì tùy vào kĩ thuật chọn nhãn kế tiếp mà chọn cấu trúc dữ liệu để lưu trữ tập nhãn X cho phù hợp.Với chọn nhãn không định hướng

thì chỉ đơn giản dùng một hàng đợi theo luật vào trước- ra trước (first in - first out)

Còn chọn nhãn có định hướng thì cần tới một cấu trúc dữ liệu phức tạp hơn để thực

i

p* là đường đi tốt nhất từ đỉnh s đến đỉnh i ở thởi điểm hiện tại

endif endfor endwhile

Trang 21

hiện thao tác lấy ra nhãn tốt nhất khi cần Có thể dùng cấu trúc heap để hiện thực cho tập nhãn X

3.2.2 Phương pháp gán nhãn cho trường hợp đa mục tiêu

Trong trường hợp đơn mục tiêu thì chỉ tìm ra chỉ một đường đi ngắn nhất từ một

đỉnh xuất phát s đến đỉnh kết thúc e (thực tế có thể có nhiều đường đi ngắn nhất có

cùng giá trị mục tiêu, nhưng phương pháp trình bày ở trên chỉ có thể tìm ra một đường đi ngắn nhất) Còn trong trường hợp đa mục tiêu thì có thể có nhiều đường đi ngắn nhất từ một đỉnh xuất phát s đến đỉnh kết thúc e, vì tương ứng với mỗi mục tiêu sẽ có một đường đi ngắn nhất theo mục tiêu đó và cách đường đi ngắn nhất này không thể loại trừ, hoặc so sánh cái nào tốt hơn Do đó, trong trường hợp này tập nhãn L i không chỉ có một giá trị cho một đỉnh v i, mà nó lưu trữ một tập các đường

đi từ đỉnh s đến v i, và các đường đi trong tập nhãn này không loại trừ nhau được (non-dominated set) Khi có một đường đi mới p từ đỉnh s đến v i , thì p được thêm vào tập L i khi và chỉ khi pD q, qL i, tức là p cũng là đường đi tốt so với tập L i, kí hiệu là p  D L i Và khi pđược thêm vào tập L i thì phải loại ra những đường đi bị loại trừ bởi p:

L jj  { }   j : D Giải thuật gán nhãn cho trường hợp đa mục tiêu được mô tả như sau:

p v i v j q

endif endfor endwhile

endwhile

Trang 22

Trong giải thuật này, thì việc dùng kĩ thuật chọn nhãn có định hướng chưa thể áp dụng được vì kĩ thuật này có thao tác chọn ra nhãn có giá trị mục tiêu tốt nhất trong mỗi vòng lặp, những ở đây chỉ ta có một tập nhãn có giá trị tốt nhất, mà không thể

so sánh với nhau được Do đó để sử dụng được kĩ thuật này thì có thể một trong các cách như sau:

 Chọn ta một mục tiêu trong các mục tiêu làm mục tiêu duy nhất để so sánh, còn các mục tiêu còn lại chuyển thành điều kiện ràng buộc Khi đó thì trường hợp này trở thành trường hợp đơn mục tiêu có các ràng buộc

 Đánh trọng số cho các mục tiêu và kết hợp thêm một hàm phụ trợ để tính ra được một giá trị từ các mục tiêu và trọng số số tương ừng của nó Từ đó có thể so sánh các đường đi thông qua hàm phụ trợ này

3.3 Đồ thị phụ thuộc thời gian

Đồ thị phụ thuộc thời gian (time-dependent graph) G T(V,E,W)(hoặc viết tắt là

Hàm độ trễ-cạnh (edge-delay function) w,j(t)xác định thời gian đề di chuyển

từ đỉnh v iđến đỉnh v j nếu xuất phát từ đỉnh v ivào thời điểm t

Trang 23

Hình 3.1 Ví dụ về đồ thị phụ thuộc thời gian Hình 3.1 là ví dụ về đồ thị phụ thuộc thời gian được để cập trong bài báo [3], với mỗi cạnh của đồ thị sẽ có một hàm mô tả trọng số (độ trễ) của cạnh theo thời gian

Hàm độ trễ-cạnh có nhiều cách để mô tả và lưu trữ, như hình trên là những hàm tuyến tính tường đoạn (piece-wise- function) Hoặc được mô tả bởi những khoảng thời gian cùng với trọng số trong khoảng đó như hình 3.2 là thể hiện của hàm bước (step-function):

Hình 3.2 Hàm độ trễ cạnh mô tả theo từng khoảng thời gian

Trang 24

3.4 Bài toán tìm đường đi ngắn nhất với đồ thị phụ thuộc thời gian

Định nghĩa: Bài toán tìm đường đi ngắn nhất với đồ thị phụ phuộc thời gian là

tìm đường đi với có thời gian di chuyển ngắn nhất từ điểm bắt đầu v s đến điểm đích e

v với thời điểm bắt đầu t s Thời gian di chuyển (travel time) là thời điểm đến điểm đích (arrival time) trừ thời điểm bắt đầu (starting time) Gọi tắt là bài toán TDSP

(time-dependent shorsted path)

Trong bài bào [3] cũng đề cập tới bài toán TDSP tìm ra đường đi ngắn nhất và thời điểm bắt đầu cho vấn đề vận chuyển Còn ở đây, với yêu cầu của vấn đề xe buýt là tìm ra đường đi phù hợp ở mỗi thời điểm được biết trước

Ở mỗi đỉnh v icó các thông số:

w~(v i)kí hiệu cho thời gian đợi (waiting time) tại đỉnh v i

arrive(v i)kí hiệu cho thời điểm đến đỉnh v i

depart(v i)kí hiệu cho thời điểm xuất phát từ đỉnh v i

Mối quan hệ của ba đại lượng trên được thể hiện qua công thức sau:

) (

~ ) ( )

(v i arrive v i w v i depart  Cho một đường đi pv1,v2, ,v k1,v k  ,và thời điểm bắt đầu là t s,

s t v arrive( 1)

)) ( (

) ( )

(v2 depart v1 w1,2 depart v1arrive  

)) ( (

) ( )

(v kdepart v k1 w k1,k depart v k1arrive

) ( )

p : }

) ( { )

(*)

~ ,

w p s s

p t t f t t

Như được mô tả trong bài báo [3], bài toán TDSP này có ba kiểu giải thuật có thể áp dụng để tìm lời giải:

 Giải thuật rời rạc hóa thời gian (descrete-time) : với ý tưởng chia thời gian

thành k khoảng thời gian nhỏ, từ đó tạo thành một đồ thị không phụ thuộc

vào thời gian xấp xỉ với đồ thị phụ thuộc thời gian bằng cách tách tập các

đỉnh và các cạnh thành k lần Với đồ thị mới được tạo thành, có thể áp dụng

Trang 25

thuật toán ở Chương 2 để giải quyết và cho kết quả xấp xỉ với kết quả tối ưu

với số k càng lớn càng tốt

 Giải thuật A* : dùng hàm ước lượng để tìm đường đi:

s e k s p s

(

Với f (t)

k

p là thời gian đến điểm v k từ v s theo đường đi p kvào thời điểm bắt

đầu là t ; d ,e là giá trị ước lượng thời gian đi từ v k tới v e d ,e có thể là một hàm theo thời gian hoặc không có yếu tố thời gian tùy thuộc vào bài toán Vì việc ước lượng này có thể không cho kết quả tốt nhất

 Phương pháp gán nhãn: một biến thể của giải thuật Dijsktra luận văn sẽ dựa trên giải thuật này để đề xuất một giải thuật mới dùng để giải quyết bài toán tìm đường xe buýt theo thời gian

Giải thuật sau dùng phương pháp gán nhãn (labeling method) sử dụng để giải quyết bài toán TDSP dựa trên đề xuất từ [9], nhưng giải thuật này hoạt động trên đồ thị thỏa mãn giả định là các cạnh của đồ thị đều có tính chất FIFO [3][10] Tính FIFO: Một cạnh (v i,v j) có tính FIFO nếu và chỉ nếu w,j(t0)tw,j(t0t) với t 0

hoặc t1w,j(t1) t2w,j(t2)với t2 t1 Tính chất này khẳng định nếu bắt đầu xuất phát

ở một cạnh trước thì sẽ ra khỏi cạnh đó trước Tính chất này phù hợp với việc lưu thông trên đường nếu mọi xe đều chạy với đúng tốc độ hiện tại trên đường đó, và cũng phù hợp với phương tiện là xe buýt, với kích thước lớn trong khi đường lại nhỏ trong địa bàn Tp.Hồ Chí Minh Giải thuật tìm đường đi có thời gian di chuyển ngắn nhất trên đồ thị phụ thuộc thời gian :

Trang 26

Đầu vào: Đơn đồ thị G T

Điểm bắt đầu s và điểm cuối e; thời gian bắt đầu t s

Đầu ra: Đường đi p từ s đến e

~)(

~ ) (

i

f   Q.enque(f , k v k)

s

p , p 

endif

Trang 27

Giải thuật trên gồm hai phần:

 Phần 1 (P1): Giải thuật gán nhãn cho trường hợp đơn mục tiêu và dùng kĩ thuật gán nhãn có định hướng để thực hiện việc gán nhãn cho các đỉnh cho đến khi tìm đến điểm kết thúc ehoặc Q là rỗng (không tìm thấy đường đi) Ở

đó dùng một hàng đợi ưu tiên chứa các cặp f , i v i với giá trị f i tăng dần, f i

là thời gian di chuyển đến đỉnh v i từ đỉnh xuất phát s Ngoài ra, còn có tập nhãn L, mà L i chứa cặp giá trị f , i v r cũng cho biết f i là thời gian di chuyển đến đỉnh v i từ đỉnh xuất phát s và đỉnh liền trước của v iv r trên đường đi từ s đến v i

 Phần 2 (P2): Xác định đường đi p từ s đến e dựa vào tập nhãn L Phần này chỉ đơn giản là một vòng lặp để truy ngược ra đường đi p , bằng các tìm lần lượt đỉnh liền trước của mỗi đỉnh trên đường đi p Vòng lặp bắt đầu từ việc tìm đỉnh liền trước của e , cho đến khi tìm đến s Thực ra, đường đi p có thể xác định được từ P1 bằng cách lưu đường đi trên tập nhãn L, nhưng việc này có thể dẫn đến tốn không gian lưu trữ lớn cho tập nhãn này Do đó, luận văn đề xuất chỉ lưu một cặp giá trị cho mỗi phần tử của tập nhãn Và sau đó tìm ra đường đi bằng thực hiện P2

Trang 28

CHƯƠNG 4 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

Như đã trình bày, mục tiêu của luận văn là giải quyết vấn đề tìm đường đi bằng

xe buýt theo thời gian Để giải quyết vấn đề này, luận văn đã tìm hiểu và thực hiện các công việc sau:

 Thu thập dữ liệu về xe buýt: trạm dừng, danh sách tuyến, lộ trình và lịch trình của các tuyến xe buýt trong phạm vi Tp Hồ Chí Minh

 Mô hình hóa đồ thị xe buýt một cách tổng thể để có thể áp dụng các giải thuật trên mô hình này

 Giải quyết bài toán tìm đường đi ngắn trên có ràng buộc trên mô hình đồ thị xe buýt Đây là cơ sở để so sánh, đánh giá, cũng như phát triển thành giải thuật cho bài toán tìm đường đi xe buýt theo thời gian

 Đề xuất mô hình cho bài toán tìm đường đi xe buýt theo thời gian và giải thuật để giải quyết bài toán này

 Có khoảng hơn 4300 trạm dừng

 Các trạm dừng được nối với nhau bởi các tuyến đi qua đó

Mô tả mạng lưới xe buýt ở Tp Hồ Chí Minh dưới góc nhìn đồ thị:

 Các đỉnh là các trạm xe buýt

 Các cạnh là đường đi của các tuyến xe buýt đi qua 2 trạm kế nhau Mỗi cặp trạm kế nhau có thể có nhiều tuyến xe buýt đi qua, mỗi tuyến đi qua cặp trạm tạo thành một cạnh của đồ thị và cạnh này là cạnh có hướng Mỗi cạnh có thông tin về quãng đường đi và thời gian đi Ngoài ra, giữa những trạm ở gần nhau (ở mỗi trạm sẽ có một tập các trạm lân cận) có thể di chuyển qua lại bằng cách đi bộ, từ đó tạo thêm những cạnh mới cho đồ thị xe buýt Việc thêm cạnh này để phù hợp với thực tế khi đi xe buýt

 Có khoảng gần 10000 cạnh nối bởi xe buýt, và khoảng 14000 cạnh nối bởi các trạm gần nhau

Trang 29

j i j

i

w

d r v

v

,

,

) , ,

o r cho biết tuyến nào đi qua cạnh đó

o d,jcho biết quãng đường di chuyển giữa hai đỉnh

o w,jcho biết thời gian để di chuyển giữa hai đỉnh Thông thường đại lượng này có thể tính được nếu có vận tốc di chuyển xác định Và ở chương 3 đại lượng này sẽ là một hàm phụ thuộc vào thời gian w,j(t)

o Ở đây, mỗi cạnh có thể là một vectơ nhiều chiều, tùy vào các yếu tố chúng ta quan tâm tới, ví dụ như giá vé của từng tuyến, Và hiện tại luận văn chỉ quan tâm tới hai yếu tố là quãng đường di chuyển và thời gian di chuyển

Hình 4.1 Hình vẽ mô tả việc kết nối giữa các đỉnh

Trang 30

Như hình 4.1 cho biết đỉnh v iv j được nối với nhau bởi hai tuyến r ir j, tạo thành hai cạnh của đa đồ thị, còn đỉnh v jv k được nối với nhau bởi tính chất hai trạm gần nhau (có khoảng cách nhỏ hơn một giá trị d cho trước) có thể di chuyển qua lại bằng cách đi bộ qua lại Với việc mô tả đồ thị xe buýt bằng đa đồ thị

có hướng, khi có hai đỉnh kế nhau còn phải xác định tuyến nào đi qua thì mới xác định được một cạnh của đồ thị Và đa đồ thị cũng gây khó khăn cho việc mô hình toán học của bài toán tìm đường đi ngắn nhất Do đó, trong luận văn đề xuất việc chuyển đa đồ thị có hướng này về đơn đồ thị có hướng tương tương, và từ đó dùng

nó để mô hình và xây dựng các giải thuật để giải quyết các bài toán được đề ra

Chuyển đa đồ thị có hướng G(V,E,R)thành đơn đồ thị có hướng G'(V',E'):

V'  v i là tập các đỉnh của đồ thị

V V

E   là tập các cạnh của đồ thị

),(v i v jE ,

j i

r k w d v v

, , , ,

) ,

k j

0

)(

,1, , cho biết một cạnh đó có phải là cạnh đổi tuyến (giá trị là 1) hay không đổi tuyến (giá trị là 0)

o Có các loại cạnh trong đơn đồ thị này:

 Loại a: Cạnh được kết nối bởi tuyến xe buýt r,j, với d ,j

quãng đường di chuyển, w,jlà thời gian di chuyển, k,j 0tức

là đi từ đỉnh v i đến đỉnh v j bởi một tuyến xác định

 Loại b: Cạnh cho biết thông tin chuyển tuyến, với r,j 0 (tức

là không đi bằng xe buýt), d,j  0 do việc chuyển tuyến đơn giản là đứng ở một trạm và đợi tuyến khác đến,w,j ở đây là thời gian đợi tại một trạm để chuyển sang tuyến mới (trong chương 5 sẽ đề cập tới việc thời gian đợi sẽ được tính toán như thế nào với đồ thị xe buýt), còn k,j 1để xác định cạnh này là cạnh chuyển tuyến

Ngày đăng: 27/01/2021, 00:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm