Điện, điện tử - Một cách tiếp cận mới dựa trên giải thuật di truyền để tìm đường đi tối ưu của bài toán đa nguồn đi, đa đích đến trên google maps

Vấn đề tìm đường đi trong tập các nút để cho đường đi đơn ngắn nhất giữa 2 nút trong đồ thị đã

được giải quyết bằng một số thuật toán như Dijkstra, Hueristic, Floyd, Bài toán này gọi là bài

toán đơn nguồn đi, đơn đích đến. Tuy nhiên, trong thực tế cuộc sống của chúng ta cần phải giải

quyết bài toán phức tạp hơn là làm thế nào để tìm đường đi tối ưu nhất từ đa điểm lựa chọn xuất

phát, đa điểm lựa chọn đích đến cho công việc của người đưa thư, người giao hàng hay đi du lịch

hàng ngày, . là vấn đề đang được quan tâm nghiên cứu. Những bài toán dạng này còn được gọi là

bài toán đơn nguồn đi, đa đích đến hoặc đa nguồn đi, đa đích đến mà các giải thuật đang tồn tại

như Dijkstra, Floyd, . khó giải quyết được. Nghiên cứu này đề xuất thuật toán tối ưu dựa trên tiếp

cận giải thuật di truyền để giải quyết bài toán tìm đường đi qua đa điểm, thuộc lớp bài toán đa

nguồn đi, đa đích đến, từ đó đề xuất một ứng dụng tối ưu hóa chi phí đi lại dựa trên dữ liệu Google

Maps. Kết quả thí nghiệm chỉ ra rằng phương pháp đề xuất tối ưu hơn về đường đi và thời gian khi

so sánh với các ứng dụng phổ biến như Google Maps, Địa điểm và thuật toán Dijkstra. Nghiên cứu

này hy vọng mang lại những nền tảng ứng dụng để giải các bài toán giao thông trong đời sống một

cách hiệu quả.

pdf 8 trang dienloan 17840
Bạn đang xem tài liệu "Điện, điện tử - Một cách tiếp cận mới dựa trên giải thuật di truyền để tìm đường đi tối ưu của bài toán đa nguồn đi, đa đích đến trên google maps", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Điện, điện tử - Một cách tiếp cận mới dựa trên giải thuật di truyền để tìm đường đi tối ưu của bài toán đa nguồn đi, đa đích đến trên google maps

Điện, điện tử - Một cách tiếp cận mới dựa trên giải thuật di truyền để tìm đường đi tối ưu của bài toán đa nguồn đi, đa đích đến trên google maps
 ISSN: 1859-2171 
e-ISSN: 2615-9562 
TNU Journal of Science and Technology 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 89 
MỘT CÁCH TIẾP CẬN MỚI DỰA TRÊN GIẢI THUẬT DI TRUYỀN 
ĐỂ TÌM ĐƯỜNG ĐI TỐI ƯU CỦA BÀI TOÁN ĐA NGUỒN ĐI, ĐA ĐÍCH ĐẾN 
TRÊN GOOGLE MAPS 
Hoàng Phước Lộc1*, Nguyễn Phong1, Lê Thanh Hiếu2 
1Trường Cao đẳng Sư phạm Quảng Trị, 2Trường Đại học Sư phạm Huế 
TÓM TẮT 
Vấn đề tìm đường đi trong tập các nút để cho đường đi đơn ngắn nhất giữa 2 nút trong đồ thị đã 
được giải quyết bằng một số thuật toán như Dijkstra, Hueristic, Floyd,  Bài toán này gọi là bài 
toán đơn nguồn đi, đơn đích đến. Tuy nhiên, trong thực tế cuộc sống của chúng ta cần phải giải 
quyết bài toán phức tạp hơn là làm thế nào để tìm đường đi tối ưu nhất từ đa điểm lựa chọn xuất 
phát, đa điểm lựa chọn đích đến cho công việc của người đưa thư, người giao hàng hay đi du lịch 
hàng ngày, ... là vấn đề đang được quan tâm nghiên cứu. Những bài toán dạng này còn được gọi là 
bài toán đơn nguồn đi, đa đích đến hoặc đa nguồn đi, đa đích đến mà các giải thuật đang tồn tại 
như Dijkstra, Floyd, ... khó giải quyết được. Nghiên cứu này đề xuất thuật toán tối ưu dựa trên tiếp 
cận giải thuật di truyền để giải quyết bài toán tìm đường đi qua đa điểm, thuộc lớp bài toán đa 
nguồn đi, đa đích đến, từ đó đề xuất một ứng dụng tối ưu hóa chi phí đi lại dựa trên dữ liệu Google 
Maps. Kết quả thí nghiệm chỉ ra rằng phương pháp đề xuất tối ưu hơn về đường đi và thời gian khi 
so sánh với các ứng dụng phổ biến như Google Maps, Địa điểm và thuật toán Dijkstra. Nghiên cứu 
này hy vọng mang lại những nền tảng ứng dụng để giải các bài toán giao thông trong đời sống một 
cách hiệu quả. 
Từ khóa: Đường đi ngắn nhất, Đồ thị, Google Maps, Giải thuật di truyền, Đa nguồn đi đa đích đến 
Ngày nhận bài: 30/9/2019; Ngày hoàn thiện: 14/10/2019; Ngày đăng: 25/10/2019 
A NEW APPROACH BASED ON GENETIC ALGORITHM 
FOR FINDING THE OPTIMAL ROAD IN MULTI-SOURCE, 
MULTI-DESTINATION OF GOOGLE MAPS 
Hoang Phuoc Loc
1*
, Nguyen Phong
1
, Le Thanh Hieu
2 
1Quang Tri Teacher Training College, 2Hue University of Education 
ABSTRACT 
Searching path problem in two points of graph is solved by some algorithms such as Dijkstra, 
Hueristic, Floyd, etc. This problem is belong to single source, single destination problem. 
However, in our real life, we need to solve more complexity problems, which are how to find the 
optimal path through multi-source selection, multi-destination for some works such as postman, 
roundsman or travel man, etc. are interesting research problems. The Dijkstra and Floyd 
algorithms can not solve the finding path problem in multi-source and multi-destination. This 
research proposes an optimal algorithm based on genetic algorithm approach to solve finding path 
problem through multi-point, which belong to class of multi-source, multi-destination problem. 
And also proposes an application for optimizing travel cost based on Google Maps database. The 
experiment results pointed out that the proposed method is more optimal in time and travel cost in 
comparison with some real applications such as the Google Maps and Địa điểm applications, and 
also Dijkstra algorithm. We hope that, this study brings the application grounds to solve travel 
problems in the real life effectively. 
Key words: Shortest path, Graph, Google Maps, Genetic algorithm, Multiple sources multiple 
destinations 
Received: 30/9/2019; Revised: 14/10/2019; Published: 25/10/2019 
* Corresponding author. Email: loc_hp@qtttc.edu.vn 
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 90 
1. Giới thiệu 
Tìm đường đi ngắn nhất là bài toán được áp 
dụng rộng rãi trong giao thông, truyền thông 
và trong mạng máy tính. Nó giải quyết những 
thách thức để xác định một đường đi với lộ 
trình chi phí nhỏ nhất về khoảng cách, thời 
gian hay giá trị từ nguồn đến đích thỏa mãn 
những yêu cầu nào đó của người sử dụng. 
Trong lớp các bài toán tìm đường đi ngắn 
nhất, bài toán giao thông là một bài toán lớn, 
có tác động sâu rộng đến đời sống của con 
người về nhu cầu vận chuyển, đi lại với một 
lộ trình thông minh và ít chi phí nhất. Do đó, 
ứng dụng khoa học công nghệ vào phát triển 
các dịch vụ hỗ trợ để lựa chọn phương án 
giao thông tốt nhất là một yêu cầu luôn được 
đặt ra với những nhà nghiên cứu. 
Tuy nhiên, những công bố liên quan đến bài 
toán tìm đường đi ngắn nhất hầu hết giải 
quyết bài toán tìm đường đi ngắn nhất giữa 
một đỉnh nguồn và một đích đến. Những bài 
toán tìm đường đi giữa đơn nguồn đi và đa 
đích đến hoặc đa nguồn đi và đơn đích đến 
cũng đã được nghiên cứu nhưng kết quả vẫn 
còn khiêm tốn. Với bài toán tìm đường đi 
giữa Đa Nguồn Đi và Đa Đích Đến (ĐNĐ, 
ĐĐĐ) được mô tả là bài toán tìm điểm xuất 
phát tốt nhất trong n điểm và đồng thời phải 
tìm lộ trình qua tập đa điểm (n-1 điểm còn lại) 
được lựa chọn tùy ý theo một cách nào đó để 
đạt chi phí nhỏ nhất là bài toán lớn, phức tạp 
ít được nghiên cứu và công bố. Bài toán dạng 
này được bắt gặp rất phổ biến trong đời sống 
của chúng ta đặt ra như: Làm thế nào để 
người giao hàng hay người du lịch chọn một 
lộ trình trong tập n điểm cần đến với quãng 
đường ngắn nhất và chi phí đi lại rẻ nhất. Đây 
là những bài toán thực tế đang đặt ra và hết 
sức cần thiết mà đa số thuật toán tỏ ra không 
hiệu quả hoặc khó giải quyết được. Thuật 
toán Dijkstra được biết đến là một thuật toán 
phổ biến để tìm đường đi ngắn nhất trên đồ 
thị xuất phát từ một nguồn s và một đích đến t 
xác định. Hạn chế của thuật toán Dijkstra là 
khó để xác định được đường đi tối ưu nhất để 
đi qua n đỉnh nào đó mà đỉnh nguồn và đích 
là bất kỳ trong n đỉnh và những hạn chế khác 
được chỉ ra ở [1]. Những công bố gần đây cho 
thấy, với thuật toán Heuristic tìm ra đường đi 
tốt nhất trong đa nguồn đi của n nút nhưng chỉ 
giải quyết được trong một đích đến đơn của 
đồ thị [2]. Liang và Wenjia ở [3] cũng đề xuất 
một thuật toán mới để tìm đường đi trong đồ 
thị đa nguồn đi và một đích đến để giải quyết 
bài toán dịch vụ định tuyến trong truyền 
thông. Có thể nói rằng, các giải thuật 
Heuristic cũng tỏ ra hạn chế để giải quyết bài 
toán ĐNĐ, ĐĐĐ đã được chứng minh là bài 
toán có độ phức tạp NP-đầy đủ. 
Với những hạn chế về chi phí đường đi của 
thuật toán Dijkstra và các thuật toán Heuristic 
trong việc giải quyết các bài toán tìm đường 
đi ngắn nhất trên đồ thị, trên mạng định tuyến 
hay định đường đi của robot. Giải thuật di 
truyền (GA) ra đời và mang lại những ưu thế 
nỗi trội trong việc giải quyết bài toán tối ưu 
hóa đường đi này [4]. Hiện nay, giải thuật GA 
được ứng dụng trong khá nhiều lĩnh vực khác 
nhau như: tối ưu hóa đường đi trong mạng 
máy tính; tìm đường đi cho bản đồ video 
game; tìm đường đi ngắn nhất cho rô bốt, kết 
hợp lai ghép giải thuật GA với các giải thuật 
khác để giải quyết bài toán nào đó. Ở [5], các 
tác giả sử dụng GA trong việc tối ưu hóa định 
tuyến để chuyển các tín hiệu giao thông từ 
nguồn đến đích. Một nghiên cứu khác ứng 
dụng GA để tìm đường đi đơn trong đồ thị đa 
nút của mạng chuyển mạch gói với thời gian 
chấp nhận được [6]. Những nghiên cứu tương 
tự sử dụng giải thuật GA để tìm đường đi 
ngắn nhất trong mạng chuyển mạch gói giữa 
nút nguồn và nút đích cũng được chỉ ra ở [7], 
[8], [9] và [10]. Tuy nhiên, những công bố 
này chỉ tập trung nghiên cứu để tìm đường đi 
tối ưu từ nguồn đến đích hoặc cho kết quả 
đường đi đơn từ đồ thị đa đỉnh xuất phát từ 
một đỉnh nguồn. Ở [11], các tác giả thể hiện 
một tiếp cận giải thuật di truyền mới để giải 
quyết vấn đề bài toán tìm đường đi ngắn nhất 
giữa hai thành phố chỉ ra của bản đồ giao 
thông. Một số ứng dụng trên thiết bị di động 
sử dụng GA để xác định lộ trình đường đi 
giữa 2 nút giao thông cũng được công bố ở 
[12], [13] và [14]. Những ứng dụng này giải 
quyết các bài toán thuộc lớp đơn nguồn đi, 
đơn đích đến đơn giản và lĩnh vực này có 
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 91 
nhiều công bố. Một hướng tiếp cận khác là 
tác giả sử dụng thuật toán lai ghép GA với 
giải thuật tối ưu hóa đàn kiến hoặc giải thuật 
Dijkstra và GA để giải quyết bài toán tìm 
đường đi ngắn nhất của mạng không dây [15] 
và [16]. Những ứng dụng được công bố này 
cũng chủ yếu tập trung giải quyết bài toán tìm 
đường đi ngắn nhất giữa 2 nút của bản đồ hay 
mạng không dây. Từ những phân tích ở trên, 
có thể dễ nhận thấy giải thuật di truyền được 
ứng dụng rộng rãi trong nhiều lĩnh vực để giải 
quyết các bài toán thực tế của đời sống con 
người. Tuy nhiên, những ứng dụng đề cập ở 
trên thuộc lớp ứng dụng chủ yếu là tìm đường 
đi tối ưu từ nguồn đến đích xác định hoặc cho 
kết quả đường đi đơn trong đồ thị đa đỉnh 
xuất phát từ một đỉnh nguồn. Các ứng dụng 
mở rộng trên bản đồ đa nguồn lựa chọn và đa 
đích đến nhằm tìm kiếm giải pháp tối ưu cho 
bài toán giao thông vẫn còn chưa được nghiên 
cứu đúng mức, chưa tối ưu trong việc đưa ra 
lời giải cuối hoặc chưa hỗ trợ tìm kiếm qua 
ĐNĐ, ĐĐĐ. Từ những lập luận trên, trong 
bài báo này các tác giả đã nghiên cứu và đề 
xuất một thuật toán mới dựa trên tiếp cận di 
truyền để tìm đường đi tối ứu nhất trong 
ĐNĐ, ĐĐĐ dựa trên dữ liệu vào của Google 
Maps. Kết quả thực nghiệm chỉ ra rằng 
phương pháp đề xuất tối ưu hơn khi so sánh 
với kết quả tìm kiếm đường đi của ứng dụng 
Google Maps, ứng dụng Địa điểm 
( và so sánh với kết 
quả của giải thuật Dijkstra. 
Phần còn lại của bài báo được cấu trúc như 
sau: Phần 2 mô tả về giải thuật di truyền và 
giải pháp đề xuất. Đề xuất thuật toán dựa trên 
cách tiếp cận của giải thuật di truyền để tìm 
đường đi ngắn nhất trong đa điểm của Google 
Maps được đặt ở Phần 3. Kết quả thực 
nghiệm và so sánh đánh giá với các ứng dụng 
và giải thuật khác được đặt ở phần 4, những 
kết luận và kiến nghị được đặt ở Phần 5 của 
bài báo. 
2. Giải thuật di truyền 
Giải thuật di truyền dựa trên ý tưởng quá trình 
tiến hóa của sinh vật trong tự nhiên để mô 
phỏng giải thuật nhằm giải quyết các bài toán 
tối ưu hóa và đưa ra lời giải tốt nhất với mong 
muốn tối ưu theo sự tiến hóa của các loài vật 
trong thế giới tự nhiên. 
Giải thuật di truyền được mô tả một cách cơ 
bản như sau. Đầu tiên, chúng ta xác định các 
tham số vào của bài toán và sau đó khởi tạo 
quần thể ban đầu là các tập nghiệm của bài 
toán. Tiếp đến, xác định độ thích nghi của các 
cá thể trong quần thể, tức là thỏa mãn điều 
kiện của bài toán nêu ra và nếu lời giải đạt tối 
ưu thì thông báo kết quả của bài toán và kết 
thúc. Ngược lại, nếu lời giải chưa tối ưu, ta 
tiến hành chọn lọc các cá thể theo một 
ngưỡng nào đó và tiến hành lai tạo nhằm tạo 
ra quần thể mới. Cuối cùng tiến hành đột biến 
nhằm tạo ra các cá thể có độ thích nghi cao 
hơn. Quá trình này lặp lại và được gọi là quá 
trình di truyền để tạo ra các nghiệm tối ưu 
nhất. Dựa vào sơ đồ giải thuật này, các tác giả 
đã xây dựng, cải tiến thuật toán và tạo một 
ứng dụng Demo1 để tính chi phí đi lại tối ưu 
trong đa điểm. Ở thí nghiệm mô phỏng này 
các trọng số của bài toán được sinh ra một 
cách ngẫu nhiên. Bảng 1 mô tả một phần ma 
trận đường đi và các phương án lựa chọn 
được sinh ra từ thuật toán. Theo kết quả của 
Bảng 1 thì phương án lựa chọn theo tiếp cận 
ĐNĐ, ĐĐĐ để đạt đường đi tối ưu nhất là tập 
các đỉnh theo thứ tự xuất phát: 14 11 4 9 15 1 
7 19 6 17 10 2 8 13 0 18 3 12 16 5, với quãng 
đường ngắn nhất là 30. Nếu thực hiện giải 
thuật theo tiếp cận đơn nguồn đi, đa đích đến 
và đỉnh xuất phát là đỉnh 0 và đỉnh đến là N 
đỉnh bất kỳ thì lộ trình tối ưu nhất là: 0 18 3 9 
15 1 7 19 6 2 8 13 12 16 5 14 11 4 17 10 với 
quãng đường là 39. Từ đây ta dễ dàng nhận 
thấy rằng trong các bài toán giao thông, cách 
tiếp cận ĐNĐ, ĐĐĐ là bài toán phức tạp với 
nhiều ràng buộc, tuy nhiên kết quả chi phí 
thực tế của người sử dụng là tối ưu hơn nhiều 
cách tiếp cận đơn nguồn đi, đơn đích đến 
hoặc đơn nguồn đi, đa đích đến. 
3. Đề xuất thuật toán và ứng dụng tìm 
đường đi tối ưu trong ĐNĐ, ĐĐĐ 
Trong thực tế cho thấy, bài toán vận tải hay 
du lịch, người sử dụng muốn lập một kế 
hoạch để thực hiện lộ trình N điểm đến với 
1  
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 92 
một chi phí về lộ trình nhỏ nhất là một nhu 
cầu lớn. Với ý nghĩa đó, các tác giả đã đề xuất 
thuật toán dựa trên tiếp cận của giải thuật di 
truyền và xây dựng hệ thống tìm kiếm đường 
đi trong đa điểm Google Maps. Hình 1 mô tả 
thuật toán tìm kiếm đường đi tối ưu trong đa 
điểm Google Maps. Tiến trình của thuật toán 
được mô tả một cách ngắn gọn bằng ngôn 
ngữ tự nhiên như sau: Trước tiên, thuật toán 
xử lý dữ liệu và đọc các điểm từ Google 
Maps vào ma trận. Kế đến, tiến hành xử lý 
mảng và tính khoảng cách giữa các điểm. Sau 
đó kiểm tra có hay không sự tồn tại của 
đường đi theo yêu cầu của bài toán. Nếu 
không tồn tại đường đi thì thông báo đường đi 
không tồn tại và kết thúc. Nếu tồn tại đường 
đi, thuật toán tiến hành kiểm tra có tồn tại 
đường đi đơn không, nếu chỉ tồn tại đường đi 
đơn thì thông báo tồn tại đường đi duy nhất 
và tiến hành xuất đường đi trên Google Maps 
và kết thúc. Nếu đường đi tồn tại và không 
duy nhất, chúng ta chuyển sang bước tiếp 
theo là tìm đường đi tối ưu trong đa điểm đã 
xuất ra ở ma trận dựa trên tiếp cận của giải 
thuật GA. Sau quá trình tính toán sẽ cho ra 
đường đi tối ưu và chuyển sang bước tiếp 
theo là xuất đường đi trên Google Maps và 
kết thúc thuật toán. Thuật toán: CGTĐĐG liệt 
kê chi tiết những modul cơ bản của giải thuật 
cải tiến của Hình 1. Hình 2 mô tả ứng dụng 
Demo
2
 được phát triển nhằm hỗ trợ người 
dùng tìm đường đi tối ưu trong đa điểm 
Google Maps. Hình 2 còn thể hiện lộ trình 
đường đi chi tiết trên bản đồ để người dùng có 
thể nhìn thấy một cách trực quan đường đi của 
mình trên máy tính, tablet hay thiết bị di động. 
Đồng thời hiển thị thông tin tóm tắt gồm chi phí 
quãng đường, thời gian đi dự kiến bằng taxi, đề 
xuất lộ trình điểm khởi đầu, các điểm cần đi qua 
và điểm đầu cuối cần đến. 
Bảng 1. Mô tả ma trận đường đi và những phương án lựa chọn2 
Chuỗi gen di truyền Quãng đường 
14 11 4 9 15 1 7 19 6 17 10 2 8 13 0 18 3 12 16 5 [30] 
7 19 6 2 8 16 5 14 11 4 13 0 18 3 9 15 1 17 10 12 [37] 
2 8 16 5 14 11 4 13 0 18 3 9 15 1 7 17 10 12 19 6 [40] 
10 17 12 3 9 15 1 7 19 6 2 8 16 5 14 11 4 13 0 18 [44] 
15 1 7 19 6 2 8 16 5 14 11 4 13 0 18 3 9 12 10 17 [44] 
8 10 16 5 14 11 4 13 0 18 3 9 15 1 7 19 6 2 17 12 [49] 
3 9 15 7 19 6 2 8 16 5 14 11 4 13 0 18 1 12 10 17 [52] 
13 8 16 5 14 11 4 2 0 18 3 9 7 19 6 17 10 12 15 1 [58] 
16 5 14 11 4 13 0 18 3 9 15 1 7 19 6 2 8 17 10 12 [41] 
19 6 2 8 16 5 14 11 4 13 0 18 3 9 15 1 7 12 10 17 [47] 
Hình 1. Tìm đường đi tối ưu trong ĐNĐ, ĐĐĐ trên Google Maps theo tiếp cận di truyền 
2
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 93 
Bảng 2. Danh sách đa điểm thực nghiệm (N=10) 
STT Địa điểm cần đến 
1 Hùng Vương, Đông Hà, Quảng Trị 
2 Trần Cao Vân, Đông Hà, Quảng Trị 
3 Lê Lợi, Đông Hà, Quảng Trị 
4 Lê Duẩn, Đông Hà, Quảng Trị 
5 Hàm Nghi, Đông Hà, Quảng Trị 
6 Nguyễn Huệ, Đông Hà, Quảng Trị 
7 Trần Hưng Đạo, Đông Hà, Quảng Trị 
8 Nguyễn Đình Chiểu, Đông Hà, Quảng Trị 
9 Lý Thường Kiệt, Đông Hà, Quảng Trị 
10 Điện Biên Phủ, Đông Hà, Quảng Trị 
Thuật toán: CGTĐĐG (Cải tiến Giải thuật di truyền Tìm đường đi trên ĐNĐ, 
ĐĐĐ của Google Maps) 
Input: Đa điểm tìm kiếm trên Google Maps. 
Output: Một đường đi tối ưu qua đa điểm trên Google Maps. 
Method: 
1: Tạo một danh sách sẽ chứa đa điểm trên bản đồ; 
2: { 
3: Tạo mảng chứa đa điểm cần tìm kiếm; 
4: Thêm mảng đa điểm vào các vị trí của Google Maps tương ứng; 
5: } 
6: Xử lý đa điểm trên Google Maps; 
7: { 
8: Xử lý đa điểm; 
9: Kiểm tra đường đi tồn tại; 
10: Tính toán khoảng cách của 2 điểm tồn tại trên Google Maps; 
11: } 
12: Truy vấn tính toán đường đi ngắn nhất của ĐNĐ, ĐĐĐ dựa trên tiếp cận di 
truyền; 
//Có N phương án chọn nguồn đi và N phương án chọn đích đến chưa xác định. 
13: { 
14: Khởi tạo các tham số (các điểm, quần thể, GEN, đột biến, .vv); 
15: Tìm và chọn đường đi tối ưu; 
16: { 
17: Sinh ra và chọn lọc những phương án GEN tối ưu; 
18: { 
19: Tìm và chọn lọc chuỗi GEN tốt nhất trong các GEN là 
phương án đường đi tối ưu; 
20: } 
21: } 
23: } 
24: Thông báo đương đi tối ưu qua N điểm trên Google Maps; 
25: Return. 
4. Kết quả thực nghiệm 
Trong nghiên cứu này, các tác giả đã tiến 
hành thực nghiệm để tìm đường đi tối ưu nhất 
trong ĐNĐ, ĐĐĐ (N=10), với lộ trình mỗi 
điểm là tọa độ tìm kiếm điểm gần nhất của 
đường giao nhau từ cơ sở dữ liệu ở Google 
Maps được chỉ ra ở Bảng 2. Hình 2 là kết quả 
thực nghiệm của phương pháp đề xuất, nó chỉ 
ra thứ tự các nút được đi qua để cho kết quả 
đường đi tối ưu nhất. Ở bài báo này, các tác 
giả cũng đã tiến hành chạy thực nghiệm để so 
sánh giải pháp đề xuất với các ứng dụng phổ 
biến: (1) Google Maps 
(https://www.google.com/maps/). (2) Ứng 
dụng Địa điểm ( là 
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 94 
một trong những ứng dụng tìm đường đi phổ 
biến nhất ở Việt Nam và (3) thuật toán 
Dijkstra. Kết quả so sánh được thể hiện chi 
tiết ở Bảng 3. Kết quả này cho thấy phương 
pháp đề xuất tối ưu hơn các ứng dụng khác cả 
về đường đi tối ưu và chi phí thời gian. Ứng 
dụng đề xuất thực hiện lộ trình với quãng 
đường là 21,8 Km và thời gian dự kiến bằng 
phương tiện ô tô là 46,65 phút, chi tiết được 
thể hiện ở Hình 2. Trong khi đó ứng dụng 
Google Maps (1) thực hiện lộ trình với quãng 
đường là 27,1 Km và thời gian dự kiến là 57 
phút. Cụ thể kết quả được chỉ ra ở Hình 3. 
Ứng dụng tìm địa điểm (2) không hỗ trợ tìm 
kiếm đường đi theo dạng ĐNĐ, ĐĐĐ. Ứng 
dụng này chỉ hỗ trợ thực hiện tìm kiếm đường 
đi theo đoạn kiểu một nguồn đi, một đích đến, 
chi tiết được chỉ ra ở Hình 4. Trong nghiên 
cứu này, các tác giả cũng tiến hành cài đặt 
dựa trên thuật toán Dijkstra để tìm kiếm 
đường đi tối ưu cho bài toán đề cập. Kết quả 
thuật toán Dijkstra không thể thực hiện được 
bài toán với ràng buộc lựa chọn ĐNĐ, ĐĐĐ. 
Kết quả thực nghiệm này cho thấy rằng, 
phương pháp đề xuất để tìm kiếm đường đi 
tối ưu trong đa điểm với dữ liệu và bản đồ 
thực tế được chiết xuất từ Google Maps có 
nhiều ưu thế nổi trội và tối ưu hơn các ứng 
dụng phổ biến khác được so sánh. Phương 
pháp này có thể được sử dụng để xây dựng 
các ứng dụng về bài toán liên quan đến giao 
thông trong thế giới thực nhằm tiết kiệm chi 
phí và hứa hẹn mang lại hiệu quả kinh tế lớn 
trong thế giới số ngày nay. 
Hình 2. Kết quả tìm đường đi tối ưu trong đa điểm của phương pháp đề xuất 
Bảng 3. Kết quả so sánh thực nghiệm 
 Phương pháp đề xuất 
(CGTĐĐG) 
Google Maps 
(1) 
Địa điểm 
(2) 
Thuật toán 
Dijkstra (3) 
Quãng đường 
(Km) 
21,8 27,1 (#), (*) (##) 
Chi phí thời gian 
(phút) 
46,65 58 (*) (##) 
#: Ứng dụng không hỗ trợ để thực hiện tìm kiếm đường đi theo dạng ĐNĐ, ĐĐĐ. 
(*): Ứng dụng chỉ thực hiện tìm kiếm đường đi theo đoạn kiểu một nguồn đi, một đích đến, kết quả đường 
đi và chi phí thời gian được tính theo lộ trình mà người sử dụng nhập vào. 
(##): Thuật toán cài đặt không thể thực hiện được lời giải với bài toán ĐNĐ, ĐĐĐ. 
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 95 
Hình 3. Tìm đường đi trong đa điểm của ứng dụng Google Maps 
Hình 4. Tìm đường đi của ứng dụng Địa điểm (diadiem.com) 
5. Kết luận và kiến nghị 
Trong bối cảnh ứng dụng công nghệ thông tin 
theo xu thế thời đại công nghiệp 4.0 đang 
diễn ra và hướng đến một cuộc cách mạng 5.0 
sắp tới. Việc xây dựng các giải pháp tối ưu để 
giảm chi phí cho bài toán đi lại càng trở nên 
cần thiết nhằm góp phần phát triển kinh tế, xã 
hội của mỗi quốc gia trên thế giới. Trong bài 
báo này, các tác giả đã dựa trên tiếp cận của 
giải thuật di truyền để xây dựng một giải 
thuật nhằm tìm kiếm đường đi tối ưu trên cơ 
sở dữ liệu đa điểm của Google Maps. Giải 
thuật này được dùng để phát triển một ứng 
dụng tìm kiếm đường đi tối ưu cho bài toán 
ĐNĐ, ĐĐĐ trên bản đồ Google Maps. Ứng 
dụng thực nghiệm được đánh giá qua tập dữ 
liệu vào N=10 nút. Kết quả thực nghiệm này 
được so sánh với các ứng dụng phổ biến như 
https://www.google.com/maps/, 
 và thuật toán 
Dijkstra. Kết quả so sánh cho thấy giải pháp 
đề xuất tối ưu hơn các ứng dụng và thuật toán 
được so sánh về chi phí khoảng cách và thời 
gian. Với kết quả này, các tác giả hy vọng 
giải pháp sẽ được sử dụng vào các lĩnh vực 
khác nhau trong giao thông, trong du lịch, 
trong vận hay các công việc khác. 
Trong nghiên cứu này, khi sử dụng ứng dụng 
được đề xuất để tìm đường đi với số điểm khá 
lớn, bước xử lý mảng và tính khoảng cách các 
điểm của thuật toán còn chậm. Do mất thời 
gian hàng đợi khi đọc và chuyển đổi dữ liệu 
thực phụ thuộc vào dữ liệu của Google Maps. 
Đây cũng là công việc mà nhóm tác giả sẽ 
nghiên cứu để cải tiến và đề xuất giải thuật tối 
ưu hơn trong tương lai. Hơn nữa, trên nền 
ứng dụng này, xây dựng các ứng dụng đi kèm 
để giải quyết các công việc khác nhằm áp 
dụng vào đời sống xã hội cũng là nhiệm vụ 
trong tương lai mà nhóm tác giả hướng đến. 
Hoàng Phước Lộc và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ ĐHTN 208(15): 89 - 96 
 Email: jst@tnu.edu.vn 96 
TÀI LIỆU THAM KHẢO 
[1]. R. Avash and J. Ashi, "Genetic Algorithm 
based Logistics Route Planning," International 
Journal of Innovation, Management and 
Technology, vol. 1, pp. 4, 2009. 
[2]. K. Faisal and A. Nabil, "An Efficient Multiple 
Sources Single-Destination MSSD) Heuristic 
Algorithm Using Nodes Exclusions," 
International Journal of Soft Computing · January 
2015, vol. 10, pp. 6, 2015. 
[3]. Z. Liang and W. Wenjia, 
"A New Path Search Algorithm for Providing 
Paths among Multiple Origins and 
One Single Destination"International 
Journal of Computer Science and Application (IJC
SA), vol. 3, pp. 5, 2014. 
[4]. S. Yagvalkya, C. S. Subhash, and B. Manisha, 
"Comparison of Dijkstra’s Shortest Path 
Algorithm with Genetic Algorithm for Static and 
Dynamic Routing Network," International 
Journal of Electronics and Computer Science 
Engineering, vol. 1, pp. 10, 2016. 
[5]. K. Rakesh and K. Mahesh, "Exploring 
Genetic Algorithm for Shortest Path Optimization 
in Data Networks," Global Journal of Computer 
Science and Technology, vol. 10, p. 5, 2010. 
[6]. V. Hars, B. Shreejith, H. Wanjun, R. Miguel, 
S. Arularasi, T. Limin, M. Paolo, T. Marco, and F. 
Andrea, "Finding a Simple Path with Multiple 
Must-include Nodes," 2009. 
[7]. G. Bilal and S. J. L., "Genetic Algorithm 
Finding the Shortest Path in Networks," presented 
at the Fifth International Conference on Genetic 
and Evolutionary Computing, San Diego, 
California, USA, 2011. 
[8]. V. Anusuya and R. Kavitha, "Genetic 
Algorithm for Finding Shortest Path in a 
Network," Intern. J. Fuzzy Mathematical Archive, 
vol. 2, pp. 6, 2013. 
[9]. C. Anu and K. P. Neeraj, "Genetic algorithm 
for shortest path in packet switching networks," 
Journal of Theoretical and Applied Information 
Technology, vol. 29, pp. 11, 2011. 
[10]. Y. H. Ahmed and M. R. Hassan, "A Genetic 
Algorithm To Solve The Minimum-Cost Paths 
Tree Problem," International Journal of Computer 
Networks & Communications (IJCNC), vol. 7, pp. 
11, 2015. 
[11]. A. Sachith, G. Baladasan, and K. Saluka, "A 
Genetic Algorithm Approach to Solve the Shortest 
Path Problem for Road Maps," in International 
Conference on Information and Automation, 
Colombo, Sri Lanka, 2005. 
[12]. A. Umit, R. K. Ismail, G. Cevdet, Y. Beyza, 
and M. O. Ilhami, "An Idea for Finding the 
Shortest Driving Time Using Genetic Algorithm 
Based Routing Approach on Mobile Devices," 
International Journal of Mathematics and 
Computers In Simulation, vol. 6, pp. 8, 2012. 
[13]. B. Saeed and A. A. Alia, "Developing a 
Genetic Algorithm for Solving Shortest Path 
Problem," presented at the International 
conference on Urpan planing and transportation, 
Heraklion, Crete Island, Greece, 2008. 
[14]. A. Nouara and C. Mohamed, "Mobile Robots 
Path Planning using Genetic Algorithms," in The 
Seventh International Conference on Autonomic 
and Autonomous Systems, 2011. 
[15]. B. Eşref and B. Selami, "A Hybrid Genetic 
Algorithm for Mobile Robot Shortest Path 
Problem," International Journal of Intelligent 
Systems and Applications in Engineering, vol. 1, 
pp. 8, 2016. 
[16]. S. Aravindh and G. Michael, "Hybrid Of Ant 
Colony Optimization And Genetic Algorithm For 
Shortest Path In Wireless Mesh Networks," 
Journal of Global Research in Computer Science, 
vol. 3, pp. 4, 2012. 

File đính kèm:

  • pdfdien_dien_tu_mot_cach_tiep_can_moi_dua_tren_giai_thuat_di_tr.pdf