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ẠCKẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong khóa luận này, chúng tôi đã giới thiệu, nghiên cứu và đưa ra giải pháp cho 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 tôi áp dụng thuật toán VNS và thuật toán TS để đưa ra lời giải tối ưu cho bài toán. Kết quả thực nghiệm cho thấy, thuật toán hoạt động hiệu quả và đưa ra lời giải gần đúng trong thời gian chấp nhận được, đáp ứng được các ràng buộc của bài toán, giảm thiểu chi phí cũng như số lượng xe sử dụng. Trong thời gian tới, đề tài có thể mở rộng tập ràng buộc, giải một số biến thể khác có liên quan của bài toán EVRP như bài toán điều phối xe điện với thời gian sạc tại trạm biến đổi,… và nghiên cứu phương pháp mới để tối ưu bài toán hơn.
Trang 1- -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
Trang 2MỞ ĐẦ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ànhmộ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ảmthiểu vấn đề ô nhiễm khí nhà kính đã được thông qua Vấn đề vận tải đường bộ đangdần được chú ý nhiều hơn Mật độ các phương tiện tham gia giao thông ngày càngnhiề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 xethô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ênquan để 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ệmnă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ớimọ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ềucầ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 trongthự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ạmsạc
3 Nhiệm vụ 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ả
4 Phương pháp nghiên cứu
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ế
5 Kết cấu khóa luận
Khóa luận được tổ chức như sau:
Trang 3 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
Trang 4LỜ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
Trang 5NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 6
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 7
DANH MỤC HÌNH ẢNH
Trang 8DANH MỤC BẢNG BIỂU
Trang 9DANH MỤC TỪ VIẾT TẮT
E
E-VRP-NL Electric Vehicle Routing
Problem With NonlinearCharging Function
Vấn đề định tuyến xe điện vớichức năng sạc phi tuyến
E-VRPTW The Electric Vehicle Routing
Problem with Time Windows
Bài toán điều phối xe điện vớithời gian cửa sổ
EVRP Electric Vehicle Routing
G
Trang 10MỤC LỤC
Trang 11CHƯƠ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 địnhtuyến xe “xanh” (Green Vehicle Routing Problem - GVRP) do Erdogan và Miller-Hook đề 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 chomộ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 chothờ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ạctrong 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ênquan 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ủakhá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ộttuyế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ượtquá 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
Trang 12Hì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ầnhoặ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ề khosau 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áccung
3 Tốc độ sạc lại pin là không đổi
4 Pin được sạc lại đầy mỗi lần sau khi đến trạm sạc
5 Tổng giới hạn giờ làm việc của EV là 8 giờ
6 Đả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áchhà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ó haihướ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ángầ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ảitố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
Trang 13a 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ằngcá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ờigian 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ộtsiê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ậptrung vào vấn đề định tuyến xe điện với chức năng sạc phi tuyến (Electric VehicleRouting 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ắcrố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ìmtrạm sạc cho xe điện (EVs) Trong khi đó, theo quan điểm về điều kiện giao thôngthự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ủatấ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
Trang 14Dijkstra cổ điển được áp dụng để tìm các đường dẫn được gọi là đường dẫn tiếtkiệ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ệntạ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ằngcá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ìnhthường, nhanh và siêu nhanh Trong các tùy chọn nhanh hơn, pin được sạc cùngnă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ủachú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 Problemwith 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ộcvà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ậpcá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ạin+1 Ví dụ: Từ đó, E-VRPTW có thể được xác định trên đồ thị có hướng hoànchỉ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ênkế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
Trang 15Tạ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 đượcsạ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ònlạ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ânbằ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ốtkhi 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)
Trang 16Rà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ượngcung đ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 giannạ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ảmxuố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ácheuristic, 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ạngố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
Trang 17MÔ 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ácgiả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ảichứ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ừnglạ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ớitậ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ặcnhiều số liệu ( có thể là các hàm gần đúng) đã được đưa vào một không gian giảiphá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ó
Trang 18giả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ệnhà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épbiến đổi như vậy cho đến khi không còn có thể cải thiện được phương án nữa
Ý 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ườngkhô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ìmthấ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ừ 1tớ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âncận
Trang 19Hì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