Tải bản đầy đủ

GIẢI THUẬT GẦN ĐÚNG KẾT HỢP GIẢI BÀI TOÁN ĐIỀU PHỐI XE ĐIỆN VỚI THỜI GIAN CỬA SỔ VÀ ĐA TRẠM SẠC

KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
Đề tài

GIẢI THUẬT GẦN ĐÚNG KẾT HỢP GIẢI BÀI TOÁN ĐIỀU
PHỐI XE ĐIỆN VỚI THỜI GIAN CỬA SỔ VÀ ĐA TRẠM SẠC

Hà Nội, Năm 2019


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

MỞ ĐẦU
1. Lý do chọn đề tài

Trong những năm gần đây, ảnh hưởng của hiệu ứng nhà kính đang trở thành
một chủ đề chính trị nóng trên toàn thế giới. Các luật cũng như các chế độ nhằm giảm

thiểu vấn đề ô nhiễm khí nhà kính đã được thông qua. Vấn đề vận tải đường bộ đang
dần được chú ý nhiều hơn. Mật độ các phương tiện tham gia giao thông ngày càng
nhiều đã tác động trực tiếp đến môi trường sống và sức khỏe cộng đồng. Mọi người
đang trở nên ý thức được về vấn đề môi trường và các chi phí cho việc vận chuyển.
Chính vì vậy, xe điện (EVs) được cho là một sự thay thế đầy hứa hẹn cho các loại xe
thông thường. Một số quốc gia trên thế giới đã bắt đầu thiết lập các chính sách liên
quan để tạo sự thuận lợi cho sự phát triển và phổ biến cho EVs. Evs được coi tiết kiệm
năng lượng hơn so với hệ thống xe sử dụng xăng dầu thông thường.
Việc nghiên cứu bài toán EVRP để tìm ra các tuyến đường tối ưu phù hợp với
mọi chi phí vận chuyển và khắc phục một số vấn đề liên quan đến môi trường là điều
cần thiết.
Bài toán điều phối xe điện (Electric Vehicle Routing Problems - EVRP) đã
được chứng minh là bài toán thuộc lớp NP - khó [1] . Bài toán có nhiều ứng dụng trong
thực tế, đặc biệt là trong lĩnh vực giao thông vận tải đường bộ.
Mục tiêu của bài toán EVRP là đưa ra một lộ trình tối ưu cho đội xe với mục
đích hạn chế được chi phí thời gian, chi phí năng lượng và số lượng xe được gửi đi.
2. Mục tiêu nghiên cứu
 Đưa ra lời giải tối ưu cho bài toán định tuyến xe điện với thời gian cửa sổ và đa trạm

sạc
3.






Nhiệm vụ nghiên cứu

4.



5.

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

Tìm hiểu bài toán định tuyến xe điện (EVRP)
Hiểu bài toán định tuyến với thời gian cửa sổ và đa trạm sạc
Tìm hiểu thuật toán Variable Neighborhood Search và Tabu Search
Xây dựng và cài đặt thuật toán
Kiểm tra kết quả

Tìm kiếm và đọc hiểu các tài liệu liên quan đến đề tài
Sử dụng ngôn ngữ lập trình C++ để cài đặt thuật toán
Tối ưu thuật toán đã thiết kế

Kết cấu khóa luận
Khóa luận được tổ chức như sau:
2


GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B

Chương 1: Tổng quan bài toán điều phối xe điện (EVRP)
Chương 2: Thuật toán tìm kiếm lân cận biến đổi (Variable Neighborhood Search -

VNS) và thuật toán tìm kiếm Tabu (Tabu Search - TS)
 Chương 3: Kết hợp thuật toán tìm kiếm lân cận biến đổi (VNS) và tìm kiếm Tabu



(TS) giải bài toán điều phối xe điện với thời gian cửa sổ và đa trạm sạc
Chương 4: Cài đặt thực nghiệm
Danh sách tài liệu tham khảo

3


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

LỜI CẢM ƠN
Trước tiên, em xin chân thành gửi tới cô Bùi Thị Thủy lời cảm ơn sâu sắc,
người đã hướng dẫn và giúp đỡ em tận tình trong suốt quá trình thực hiện bài
khóa luận này.
Em xin được dành lời cảm ơn tới các thầy cô giáo khoa Công nghệ thông tin,
trường Đại học Sư phạm Hà Nội đã nhiệt tình giảng dạy, truyền đạt cho em
những kiến thức bổ ích trong suốt thời gian học tập tại trường.
Mặc dù đã cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất. Song do
kiến thức và kinh nghiệm còn nhiều hạn chế nên không thể tránh khỏi những
thiếu sót. Em rất mong nhận được ý kiến đóng góp của quý thầy cô giáo để bài
khóa luận được hoàn chỉnh hơn.
Em xin chân thành cảm ơn!
Hà Nội, tháng 5 năm 2019
Sinh viên

Quách Thị Bích Mai

4


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

5


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

6


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

DANH MỤC HÌNH ẢNH

7


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

DANH MỤC BẢNG BIỂU

8


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

DANH MỤC TỪ VIẾT TẮT
E
E-VRP-NL
E-VRPTW

EVRP
EVs
G
GVRP

Electric
Vehicle
Routing
Problem With
Nonlinear
Charging Function
The Electric Vehicle Routing
Problem with Time Windows
Electric
Vehicle
Routing
Problems

Vấn đề định tuyến xe điện với
chức năng sạc phi tuyến

Electric Vehicles

Xe điện

Green
Vehicle
Problem

Bài toán điều phối xe điện với
thời gian cửa sổ

Bài toán điều phối xe điện

Routing Định tuyến xe “xanh”

O
OOP

Object Oriented Programming

Ngôn ngữ lập trình hướng đối
tượng

S
SA

Simulated Annealing

Mô phỏng luyện kim

Tabu Search

Thuật toán tìm kiếm Tabu

T

TS
V

VNS

Variable
Search

Neighborhood Thuật toán tìm kiếm lân cận
biến đổi

9


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

MỤC LỤC

10


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

CHƯƠNG I: TỔNG QUAN BÀI TOÁN ĐIỀU PHỐI XE ĐIỆN
(ELECTRIC VEHICLE ROUTING PROBLEMS - EVRP)
Trong chương này, chúng tôi sẽ giới thiệu bài toán điều phối xe điện và các biến
thể của bài toán, từ đó đi sâu vào giới thiệu bài toán và đưa ra mô hình bài toán điều
phối xe điện với thời gian cửa sổ và đa trạm sạc.
1 Bài toán điều phối xe điện

Bài toán điều phối xe điện (EVRP) được xem là một biến thể của bài toán định
tuyến xe “xanh” (Green Vehicle Routing Problem - GVRP) do Erdogan và MillerHook đề xuất năm 2012[2] . Mục tiêu của bài toán EVRP là thiết lập tuyến đường cho
một tập các xe điện xuất phát từ một kho thực hiện đưa đón các khách hàng sao cho
thời gian đi lại, chi phí vận chuyển và số lượng xe điện được tối thiểu.
Trong bài toán EVRP, xe điện trong phạm vi giới hạn có thể sạc lại tại trạm sạc
trong các hoạt động đón khách (hoặc trả khách), với điều kiện cơ sở các trạm sạc đã có
sẵn trong khu vực dịch vụ. Mô hình EVRP được đề xuất có tính đến các chi phí liên
quan không chỉ thời gian di chuyển mà còn cả mức tiêu thụ điện. Tại mỗi địa điểm của
khách hàng, có một nhu cầu hoặc được đón hoặc trả. Hơn nữa, tất cả các tuyến xe bắt
đầu và kết thúc tại một bến duy nhất.
EVRP được đề xuất tìm chiến lược định tuyến tối ưu trong đó tổng chi phí (nghĩa là
chi phí thời gian đi lại và chi phí năng lượng) được giảm thiểu sao cho:


Mỗi khách hàng có mặt chính xác một lần trên một phương tiện trên một



tuyến
Tổng nhu cầu của khách hàng phục vụ trên một tuyến đường không vượt

quá khả năng của phương tiện
 Mỗi trạm sạc có thể được truy cập nhiều lần bởi các phương tiện giống nhau
và khác nhau
 Số lượng xe điện tối thiểu là cần thiết để phục vụ tất cả các khách hàng
trong khu vực dịch vụ.
Các thành phần chính của EVRP bao gồm: kho (Depot), tập các khách hàng
(Customers), các trạm sạc (Station) và các lộ trình.

11


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Hình 1: Đồ thị mô tả bài toán điều phối xe điện

Quy tắc sạc lại pin được xác định như sau: khi các xe điện (EVs) bắt đầu tuyến
đường tại kho (O), pin của nó được sạc đầy ở O1; EVs có thể được sạc lại một lần
hoặc nhiều hơn tại bất kỳ trạm sạc F trong quá trình định tuyến; và khi nó trở về kho
sau khi hoàn thành tất cả các nhiệm vụ, nó sẽ được sạc lại với dung lượng pin đầy ở
O1 khi kết thúc .
Các EVRP đề xuất để đáp ứng các điều kiện :
1. Có một kho duy nhất mà tất cả các tuyến xe bắt đầu và kết thúc.
2. Tốc độ di chuyển trên mỗi cung là không đổi và có thể khác nhau giữa các
3.
4.
5.
6.

cung.
Tốc độ sạc lại pin là không đổi.
Pin được sạc lại đầy mỗi lần sau khi đến trạm sạc.
Tổng giới hạn giờ làm việc của EV là 8 giờ.
Đảm bảo tính liên lục trên mỗi tuyến đường hoặc tại các điểm dừng (khách

hàng hoặc trạm sạc).
7. Không có giới hạn cửa sổ thời gian được xem xét cho khách hàng.
8. Có sự kết hợp giữa dịch vụ giao hàng và nhận hàng trên tuyến xe.
Điều phối xe điện đã được chứng minh là bài toán thuộc lớp NP - khó [1] . Có hai
hướng tiếp cận để giải bài toán như là: áp dụng thuật toán chính xác hoặc thuật toán
gần đúng. Nhóm thuật toán chính xác đưa ra tất cả các khả năng có thể và chọn lời giải
tối ưu nhất. Nhóm thuật toán gần đúng thông thường đưa ra các giải pháp ban đầu, sau
đó cải tiến các giải pháp bản đầu và đưa ra lời giải cuối cùng.
2 Các biến thể của bài toán EVRP

12


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

a. Bài toán điều phối xe điện với chức năng sạc phi tuyến (The electric vehicle

routing problem with nonlinear charging function)[3]
Bài toán điều phối xe điện (EVRP) mở rộng các vấn đề định tuyến cổ điển để
xem xét phạm vi lái xe hạn chế của xe điện. Hạn chế này được khắc phục bằng
cách đưa các đường vòng theo kế hoạch đến các trạm sạc pin. Hầu hết các mô
hình EVRP hiện tại đều cho rằng mức sạc pin là chức năng tuyến tính của thời
gian sạc, nhưng trong thực tế, chức năng này là phi tuyến. Bài toán đề xuất một
siêu dữ liệu lai kết hợp các thành phần đơn giản và các thành phần được thiết kế
đặc biệt cho vấn đề này. Kết quả của cho thấy rằng bỏ qua việc sạc phi tuyến có
thể dẫn đến các giải pháp không thể hoặc quá đắt.
b. Một phép toán cho vấn đề định tuyến xe điện với các trạm sạc điện (A

Matheuristic for the Electric Vehicle Routing Problem with Capacitated
Charging Stations)[4]
Bài toán nghiên cứu hiện tại về các vấn đề định tuyến xe điện (EVRP) giả
định rằng các trạm sạc có thể sạc đồng thời một số lượng xe điện không giới hạn.
Tuy nhiên, trên thực tế, các trạm sạc có số lượng bộ sạc hạn chế. Bài toán tập
trung vào vấn đề định tuyến xe điện với chức năng sạc phi tuyến (Electric Vehicle
Routing Problem With Nonlinear Charging Function - E-VRP-NL).
c. Bài toán điều phối xe điện với nhu cầu sạc và tiêu thụ năng lượng (Electric

Vehicle - Routing Problem With Charging Demands And Energy
Consumption)[5]
Bài toán điều phối xe điện (EVRP) được phát triển để giải quyết một số rắc
rối phân phối vận hành như hạn chế năng lượng pin và khó khăn trong việc tìm
trạm sạc cho xe điện (EVs). Trong khi đó, theo quan điểm về điều kiện giao thông
thực tế và các tính năng của EV, mức tiêu thụ năng lượng với tốc độ di chuyển và
tải hàng hóa được xem xét trong mô hình EVRP. Hơn nữa, để tránh sự cạn kiệt của
tất cả năng lượng pin và đảm bảo hoạt động an toàn, EVs không đủ pin có thể
được sạc lại tại các trạm sạc nhiều lần trong quá trình vận chuyển. Mô hình EVRP
được giải quyết dựa trên thuật toán di truyền lai để có được các tuyến đường và kế
hoạch tính phí. Thuật toán Dijkstra động với một số cải tiến so với thuật toán

13


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Dijkstra cổ điển được áp dụng để tìm các đường dẫn được gọi là đường dẫn tiết
kiệm năng lượng nhất giữa bất kỳ hai nút truy cập liền kề nào trong các tuyến.
d. Phương pháp cho bài toán điều phối xe điện với thời gian cửa sổ và bộ sạc
nhanh (A Matheuristic Method for the Electric Vehicle Routing Problem with
Time Windows and Fast Chargers)[6]
Một EV có phạm vi lái xe hạn chế do dung lượng pin và có thể cần sạc lại
để hoàn thành lộ trình. Việc sạc lại có thể được thực hiện ở bất kỳ mức pin nào và
có thể ở bất kỳ số lượng nào tùy theo dung lượng pin. Hơn nữa, các trạm có thể
được trang bị bộ sạc với nguồn điện khác nhau, điện áp nguồn, các tùy chọn hiện
tại tối đa ảnh hưởng đến thời gian sạc. Bài toán mô hình hóa E-VRPTW bằng
cách cho phép sạc một phần với ba cấu hình sạc có thể được gọi là sạc bình
thường, nhanh và siêu nhanh. Trong các tùy chọn nhanh hơn, pin được sạc cùng
năng lượng trong thời gian ngắn hơn nhưng với chi phí cao hơn. Mục tiêu của
chúng tôi là giảm thiểu tổng chi phí sạc trong khi vận hành số lượng xe tối thiểu.
3 Bài toán điều phối xe điện với thời gian cửa sổ và đa trạm sạc

Bài toán điều phối xe điện với thời gian cửa sổ (The Electric Vehicle Routing Problem
with Time Windows - E-VRPTW) đã được giới thiệu bởi Schneider và các cộng sự
năm 2014[7]. Một EVRP với thời gian cửa sổ và trạm sạc nhằm giảm thiểu tổng quãng
đường đi của một đội xe bắt đầu từ kho. Mô hình xem xét thời gian sạc pin tùy thuộc
vào mức pin còn lại khi đến trạm sạc. Và mức tiêu thụ pin là một hàm của khoảng cách
di chuyển (tốc độ di chuyển trên các cung được giả định là không đổi).
Đặt là một tập hợp các đỉnh có , trong đó I biểu diễn tập hợp các khách hàng và là
tập hợp các đỉnh giả được tạo để cho phép một số lượt truy cập vào mỗi đỉnh trong tập
các trạm sạc.
Đặt và biểu thị cùng một kho, trong đó mọi tuyến đường bắt đầu từ 0 và kết thúc tại
n+1 . Ví dụ: . Từ đó, E-VRPTW có thể được xác định trên đồ thị có hướng hoàn
chỉnh , với tập các cung. Với mỗi cung, khoảng cách và thời gian di chuyển được liên
kết với nhau. Mỗi vòng cung đi được sẽ tiêu thụ lượng , biểu thị mức tiêu hao không
đổi.

14


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Tại kho, một tập hợp các loại xe đồng nhất được đặt với công suất tối đa . Mỗi đỉnh
được giao một nhu cầu , nếu . Hơn nữa, mỗi đỉnh có một thời gian cửa sổ và tất cả
các khách hàng có thời gian phục vụ . Thời gian phục vụ không thể bắt đầu trước ,
điều này có thể gây ra thời gian chờ đợi và không được phép bắt đầu sau nhưng có thể
kết thúc sau. Tại trạm sạc, chênh lệch giữa mức phí hiện tại và dung lượng pin được
sạc lại với tốc độ sạc pin ( thời gian sạc lại phát sinh tùy thuộc vào mức nhiên liệu của
xe khi đến trạm tương ứng ).
Chúng tôi sử dụng các biến quyết định gắn liền với đỉnh để theo dõi trạng thái xe,
do đó số lượng các biến được yêu cầu thấp. Biến chỉ định thời gian đến, hàng hóa còn
lại và là mức phí còn lại khi đến tại đỉnh . Các biến quyết định nhận giá trị nhị phân
bằng 1 nếu một cung được di chuyển và bằng 0 nếu ngược lại.
Hàm mục tiêu của E - VRPTW là phân cấp.


Mục tiêu đầu tiên là để giảm thiểu số lượng xe, tức là một giải pháp tốt

khi số lượng xe là tối thiểu.
 Mục tiêu thứ hai là giảm thiểu tổng quãng đường đã đi.
Các ràng buộc của mô hình E - VRPTW như sau[8]:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10
)
(11
)
(12
)
Hình 2: Các ràng buộc của mô hình E - VRPTW

Hàm mục tiêu được định nghĩa trong biểu thức (1).
Ràng buộc (2) thực thi kết nối của khách hàng (tạo cung (i,j)).

15


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Ràng buộc (3) xử lý kết nối của các lượt truy cập đến trạm sạc.
Ràng buộc (4) thiết lập bảo toàn tại mỗi đỉnh : số lượng cung tròn bằng với số lượng
cung đi ( mỗi đỉnh chỉ được đi qua 1 lần ).
Ràng buộc (5) đảm bảo tính khả thi về thời gian cho các cung rời khỏi khách hàng và
kho.
Ràng buộc (6) làm tương tự đối với các cung để lại các lần truy cập nạp lại. thời gian
nạp lại là để sạc lại hoàn toàn với tốc độ g từ mức sạc yi khi đến dung lượng pin tối đa
Q.
Các ràng buộc (7) đảm bảo rằng mọi đỉnh được truy cập trong cửa sổ thời gian của nó.
Các ràng buộc (8) và (9) đảm bảo đáp ứng nhu cầu tại tất cả các khách hàng bằng cách
đảm bảo tải trọng hàng hóa không âm khi đến bất kỳ đỉnh nào.
Cuối cùng, các ràng buộc (10) và (11) đảm bảo rằng mức sạc pin không bao giờ giảm
xuống dưới 0.

CHƯƠNG II: THUẬT TOÁN TÌM KIẾM LÂN CẬN BIẾN ĐỔI
(VARIABLE NEIGHBORHOOD SEARCH - VNS) VÀ THUẬT
TOÁN TÌM KIẾM (TABU SEARCH - TS)
Trong chương tiếp theo này, chúng tôi sẽ giới thiệu thuật toán tìm kiếm lân cận
biến đổi và thuật toán tìm kiếm Tabu. Từ đó là cơ sở để áp dụng thuật toán vào bài
toán được nói rõ hơn ở trong chương III.
1. Thuật toán tìm kiếm lân cận biến đổi

Thuật toán tìm kiếm lân cận biến đổi, được đề xuất bởi Mladenović, Hansen năm
1997[9] . VNS là thuật toán tìm kiếm theo kinh nghiệm, hoặc khung để xây dựng các
heuristic, dựa trên những thay đổi có hệ thống của các vùng lân cận cả trong giai đoạn
gốc, để tìm mức tối thiểu cục bộ và trong giai đoạn nhiễu loạn xuất hiện từ vùng tương
ứng.
16


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

MÔ HÌNH THUẬT TOÁN VNS
Một bài toán tối ưu hóa tổ hợp (Tìm ra giải pháp tốt nhất từ tất cả các giải pháp khả
thi) được xác định với:
(*)
Cho là không gian các giải pháp của bài toán đang cần tối ưu hóa
là tập hợp các khả thi có thể sử dụng
là giải pháp khả thi và hàm mục tiêu có giá trị thực tương ứng
Một giải pháp được gọi là tối ưu nếu :

Thuật toán chính xác cho vấn đề (*) sẽ là tìm được 1 giải pháp tối ưu trong số các
giải pháp hoặc nếu thuật toán không thể thực hiện được trong giới hạn cho phép phải
chứng minh nó không có giải pháp nào khả thi tức là X là tập hợp rỗng hoặc giải pháp
đề ra không bị ràng buộc.
Hơn nữa, trong thực tế thời gian cần đề làm (thực thi thuật toán) phải là hữu hạn
(không quá lâu). Để tối ưu hóa, thật hợp lý khi cho phép một số dung sai, tức là dừng
lại chương trình khi phát hiện đủ độ hội tụ, một giải pháp khả thi đã được tìm thấy
Chúng ta hãy biểu thị là một tập hợp các cấu trúc lân cận được chọn trước và với
tập hợp các giải pháp trong vùng lân cận thứ của .
Hầu hết, các heuristic tìm kiếm địa phương chỉ sử dụng một cấu trúc vùng lân cận, tức
là . Thông thường các vùng lân cận được lồng nhau và có thể được tạo ra từ một hoặc
nhiều số liệu ( có thể là các hàm gần đúng) đã được đưa vào một không gian giải
pháp .
Một giải pháp tối ưu là một giải pháp khả thi khi đạt đến mức tối thiểu. Chúng ta có
được coi là tối thiểu địa phương của phương trình (*) đối với vùng lân cận . Nếu ko có
17


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

giải pháp sao cho . Khi đó chúng ta sẽ dực vào kỹ thuật tìm kiếm địa phương để cố
gắng tiếp tục tìm kiếm bằng các cách khác nhau để tìm ra giải pháp tối ưu.
Tìm kiếm địa phương thường được áp dụng để giải các bài toán tìm lời giải tối ưu:
Xuất phát từ một phương án nào đó, áp dụng các phép biến đổi lên phương án hiện
hành để được một phương án mới tốt hơn phương án đã có. Lặp lại việc áp dụng phép
biến đổi như vậy cho đến khi không còn có thể cải thiện được phương án nữa.
VNS dựa trên các nhận thức:
1

Một tối thiểu địa phương liên quan tới một cấu trúc lân cận không nhất thiết
phải như vậy đối với cái khác

2

Tối thiểu toàn cầu là mức tối thiểu cục bộ đối với tất cả các cấu trúc lân cận có
thể

3

Đối với nhiều vấn đề, tối thiểu địa phương đối với một hoặc một vùng lân cận .
thì tương đối gần nhau.

Ý tưởng chính: thay đổi hệ thống các vùng lân cận trong khi tìm kiếm
Như quan sát, theo kinh nghiệm, một tối ưu cục bộ thường cung cấp một số thông tin
về toàn cầu. Chẳng hạn, nó có thể là một vài biến có cùng giá trị trong cả 2 giải pháp.
Tuy nhiên, người ta thường không biết biến nào là như vậy vì các biến này thường
không thể xác định được trước, nên người ta phải tiến hành một nghiên cứu có tổ chức
về các vùng lân cận tối ưu cục bộ cho tới khi giải pháp mới hơn, tối ưu hơn được tìm
thấy.
Để giải quyết phương trình (*) bằng cách sử dụng các vùng lân cận, các sự kiện từ 1
tới 3 có thể được sử dụng theo 3 cách khác nhau: xác định, ngẫu nhiên, cả xác định và
ngẫu nhiên.
Trước tiên chúng ta cung cấp thuật toán 1: Chức năng di chuyển và thay đổi vùng lân
cận
18


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Hình 3: Mô tả chức năng di chuyển và thay đổi vùng lân cận của VNS


NeighborhoodChange() so sánh giá trị đương nhiệm với giá trị mới thu được từ
vùng lân cận thứ k.



Nếu một sự tối ưu được lấy, đương nhiệm mới được cập nhật và k được trả về
giá trị ban đầu



Mặt khác, lân cận tiếp theo được xem xét

19


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Tìm một giải pháp ban đầu x

Điều kiện dừng

Y

N

N
dừng (thời gian hoặc số
lần lặp tối đa)

Y
Tạo x’ ngẫu nhiên từ của x

N

Y

Hình 4: Mô hình VNS




Một tập hợp cấu trúc lân cận được xác định.
Ở mỗi lần lặp, một giải pháp ban đầu x được tạo ngẫu nhiên.

20

Exit


GVHD: ThS.Bùi Thị Thủy




SVTH: Quách Thị Bích Mai - K65B

Một giải pháp hàng xóm ngẫu nhiên x' được tạo ra trong vùng lân cận hiện tại .
Quy trình tìm kiếm cục bộ được áp dụng cho giải pháp x' để tạo ra giải pháp x'’.
Nếu giải pháp x'’ tốt hơn giải pháp x thì giải pháp x" trở thành giải pháp hiện tại

mới và tìm kiếm bắt đầu từ giải pháp hiện tại.
 Nếu giải pháp x" không tốt hơn giải pháp x, tìm kiếm sẽ chuyển sang vùng lân
cận tiếp theo, tạo ra giải pháp mới trong vùng lân cận này và cố gắng cải thiện
nó.
 Các hoạt động này được lặp lại cho đến khi một tiêu chí dừng thỏa mãn.
2. Thuật toán tìm kiếm Tabu

Thuật toán tìm kiếm Tabu, được giới thiệu bởi Fred W. Glover vào năm 1986 và
được chính thức hóa vào năm 1989 [10] , là một phương pháp tìm kiếm kinh nghiệm,
thực hiện thủ tục tìm kiếm kinh nghiệm để khám phá những không gian giải pháp tối
ưu ngoài địa phương
Các tìm kiếm cục bộ (vùng lân cận) đưa ra giải pháp tiềm năng cho một vấn đề và
kiểm tra các lân cận trực tiếp của nó (nghĩa là các giải pháp tương tự ngoại trừ rất ít
chi tiết nhỏ) với hy vọng tìm ra giải pháp cải tiến. Các phương pháp tìm kiếm cục bộ
có xu hướng bị mắc kẹt trong các khu vực dưới mức tối ưu hoặc trên các cao nguyên
nơi có nhiều giải pháp phù hợp như nhau.
Tìm kiếm Tabu tăng cường hiệu suất của tìm kiếm địa phương bằng cách nới lỏng
quy tắc cơ bản của nó. Đầu tiên, ở mỗi bước, các bước đi hỏng có thể được chấp nhận
nếu không có động thái cải thiện nào (như khi tìm kiếm bị kẹt ở mức tối thiểu cục bộ
nghiêm trọng). Ngoài ra, các lệnh cấm (từ đó gọi là thuật ngữ Tabu) được đưa ra để
ngăn cản việc tìm kiếm quay trở lại các giải pháp đã truy cập trước đó.
Việc thực hiện tìm kiếm Tabu sử dụng các cấu trúc bộ nhớ mô tả các giải pháp
được truy cập hoặc bộ quy tắc do người dùng cung cấp. Nếu một giải pháp tiềm năng
đã được truy cập trước đó trong một khoảng thời gian ngắn nhất định hoặc nếu nó đã
vi phạm quy tắc, thì nó được đánh dấu là "Tabu" (bị cấm) để thuật toán không xem xét
khả năng đó nhiều lần.

21


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Bắt đầu

Khởi tạo giải pháp hiện tại x

Tạo một danh sách ứng cử viên
hàng xóm cho giải pháp hiện tại

Tìm giải pháp tốt nhất x’từ danh
sách ứng cử viên

x’ có trong danh sách Tabu?

Xóa x’ khỏi danh sách
ứng cử viên

Yes
No
Đặt giải pháp x = x’ và cập
nhật danh sách tabu

No

Dừng với tiêu chí thỏa mãn?

Yes
Kết thúc

Hình 5: Mô hình thuật toán TS

22


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Mô tả cơ bản:
Tìm kiếm Tabu sử dụng quy trình tìm kiếm cục bộ hoặc lân cận để chuyển từ một
giải pháp tiềm năng sang một giải pháp cải tiến trong vùng lân cận của , cho đến khi
một số tiêu chí dừng được thỏa mãn. Các thủ tục tìm kiếm cục bộ thường bị mắc kẹt
trong các khu vực có điểm kém hoặc khu vực có điểm phù hợp như nhau. Để tránh bị
như vậy và khám phá các khu vực của không gian tìm kiếm sẽ không được khám phá
bởi các quy trình tìm kiếm cục bộ khác, Tabu Search cẩn thận khám phá vùng lân cận
của mỗi giải pháp khi quá trình tìm kiếm tiến triển. Các giải pháp được nhận vào vùng
lân cận mới,, được xác định thông qua việc sử dụng các cấu trúc bộ nhớ. Sử dụng các
cấu trúc bộ nhớ này, quá trình tìm kiếm tiến triển bằng cách lặp đi lặp lại từ giải pháp
hiện sang một giải pháp cải tiến trong .
Các cấu trúc bộ nhớ này tạo thành cái được gọi là danh sách Tabu, một bộ quy tắc
và các giải pháp bị cấm được sử dụng để lọc các giải pháp nào sẽ được chấp nhận cho
vùng lân cận khám phá bởi tìm kiếm. Ở dạng đơn giản nhất, danh sách Tabu là một
tập hợp ngắn hạn các giải pháp đã được truy cập trong quá khứ gần đây (ít hơn lặp lại
trước đây, trong đó là số lượng giải pháp trước đó được lưu trữ - còn được gọi là
nhiệm kỳ Tabu). Thông thường hơn, một danh sách Tabu bao gồm các giải pháp đã
thay đổi bởi quá trình chuyển từ giải pháp này sang giải pháp khác.
Các loại bộ nhớ:
Các cấu trúc bộ nhớ được sử dụng trong tìm kiếm Tabu có thể được chia thành ba
loại:


Ngắn hạn: Danh sách các giải pháp được xem xét gần đây. Nếu một giải pháp
tiềm năng xuất hiện trong danh sách Tabu, nó không thể được xem xét lại cho

đến khi đạt đến điểm hết hiệu lực.
 Trung hạn: Các quy tắc tăng cường nhằm thiên vị tìm kiếm đối với các khu vực
đầy hứa hẹn của không gian tìm kiếm.
 Dài hạn: Đa dạng hóa các quy tắc thúc đẩy tìm kiếm vào các khu vực mới
(nghĩa là liên quan đến việc đặt lại khi tìm kiếm bị kẹt trong một cao nguyên
hoặc ngõ cụt dưới mức tối ưu).

23


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Bộ nhớ ngắn hạn, trung hạn và dài hạn có thể chồng chéo trong thực tế. Trong các
loại này, bộ nhớ có thể được phân biệt bằng các biện pháp như tần suất và tác động của
những thay đổi được thực hiện.
Một ví dụ về cấu trúc bộ nhớ trung hạn là một cấu trúc cấm hoặc khuyến khích các
giải pháp có chứa các thuộc tính nhất định (ví dụ: các giải pháp bao gồm các giá trị
không mong muốn hoặc mong muốn cho các biến nhất định) hoặc cấu trúc bộ nhớ
ngăn chặn hoặc gây ra một số di chuyển nhất định (ví dụ: dựa trên bộ nhớ tần số áp
dụng cho các tính năng chia sẻ giải pháp chung với các giải pháp không hấp dẫn hoặc
hấp dẫn được tìm thấy trong quá khứ). Trong bộ nhớ ngắn hạn, các thuộc tính được
chọn trong các giải pháp được truy cập gần đây được gắn nhãn "hoạt động Tabu". Các
giải pháp có chứa các yếu tố hoạt động Tabu đều bị cấm. Tiêu chí nguyện vọng được
sử dụng để ghi đè trạng thái Tabu của giải pháp, do đó bao gồm giải pháp loại trừ khác
trong tập hợp được phép (với điều kiện là giải pháp đủ tốt theo tiêu chuẩn chất lượng
hoặc đa dạng). Một tiêu chí nguyện vọng đơn giản và thường được sử dụng là cho
phép các giải pháp tốt hơn giải pháp tốt nhất hiện được biết đến.
Chỉ riêng bộ nhớ ngắn hạn có thể đủ để đạt được giải pháp vượt trội so với những
phương pháp tìm kiếm địa phương thông thường, nhưng cấu trúc trung hạn và dài hạn
thường là cần thiết để giải quyết các vấn đề khó khăn hơn. Tìm kiếm Tabu thường
được điểm chuẩn so với các phương pháp siêu hình khác - chẳng hạn như mô phỏng
luyện kim, thuật toán di truyền, thuật toán tối ưu hóa đàn kiến, tối ưu hóa tìm kiếm
phản ứng, tìm kiếm cục bộ có hướng dẫn hoặc tìm kiếm thích ứng ngẫu nhiên tham
lam. Ngoài ra, tìm kiếm Tabu đôi khi được kết hợp với các phương pháp siêu hình
khác để tạo ra các phương thức lai.

Mã giả:
Thuật toán (bên dưới) cung cấp danh sách mã giả của thuật toán Tìm kiếm Tabu để
giảm thiểu hàm chi phí. Danh sách hiển thị thuật toán Tìm kiếm Tabu đơn giản với bộ
nhớ ngắn hạn, không có quản lý bộ nhớ trung gian và dài hạn.

24


GVHD: ThS.Bùi Thị Thủy

SVTH: Quách Thị Bích Mai - K65B

Hình 6: Thuật toán TS

Heuristic


TS được thiết kế để quản lý một heuristic leo đồi nhúng, mặc dù có thể được
điều chỉnh để quản lý bất kỳ heuristic thăm dò khu phố nào.



Tìm kiếm Tabu được thiết kế cho và chủ yếu được áp dụng cho các miền
riêng biệt như các vấn đề tối ưu hóa tổ hợp.

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×