Tải bản đầy đủ - 0 (trang)
3 Lựa chọn ngẫu nhiên

3 Lựa chọn ngẫu nhiên

Tải bản đầy đủ - 0trang

Hình 10: Minh họa lai ghép một điểm

 Lai ghép đa điểm

Lai ghép đa điểm là một khái quát của lai ghép một điểm trong đó các phân

đoạn xen kẽ được hốn đổi để có được các nhiễm sắc thể mới



Hình 11: Minh họa lai ghép đa điểm



10. Đột biến

Đột biến là hiện tượng nhiễm sắc thể con mang một số đặc tính khơng có

trong mã di truyền của cha mẹ. Nói cách khác, đột biến có thể được định nghĩa là

một tinh chỉnh ngẫu nhiên nhỏ trong nhiễm sắc thể cha mẹ, để có được một giải

pháp mới. Nó được sử dụng để duy trì sự đa dạng trong quần thể di truyền và

thường được áp dụng với xác suất thấp pm.

Dưới đây, chúng tôi mô tả mốt số toán tử đột biến được sử dụng rộng rãi nhất

 Đột biến bit

Trong đột biến lật bit này, chúng tôi chọn một hoặc nhiều bit ngẫu nhiên và lật

chúng. Điều này được sử dụng cho GA mã hóa nhị phân



Hình 12: Đột biến bit

 Đột biến hoán đổi

Trong hoán đổi đột biến, chúng tôi lựa chọn ngẫu nhiên hai vị trí trên nhiễm

sắc thể và trao đổi các giá trị, điều này là phổ biến trong mã hóa dựa trên hốn vị

30



Hình 13:Đột biến hốn đổi

 Đột biến xáo trộn

Đột biến xáo trộn cũng phổ biến với các biểu diễn hốn vị. Trong đó, từ tồn

bộ nhiễm sắc thể, một tập hợp gen được chọn và các giá trị của chúng được xáo

trộn hoặc xáo trộn ngẫu nhiên



Hình 14: Đột biến xáo trộn

 Đột biến đảo ngược

Trong đột biến đảo ngược, chúng tôi chọn một tập hợp con các gen như trong

đột biến xáo trộn, nhưng thay vì xáo trộn tập hợp con, chúng tơi chỉ đảo ngược

tồn bộ chuỗi trong tập hợp con



Hình 15: Đột biến đảo ngược



Chương III: Thuật toán di truyền giải bài toán điều phối xe điện

với thời gian sạc pin và thời gian di chuyển biến đổi

Qua chương 1, chúng ta thấy việc đưa ra được lời giải với lượng dữ liệu lớn

cho bài toán điều phối xe điện là một bài tốn khó. Trong chương này, chúng tôi

sẽ áp dụng cơ sở lý thuyết đã được giới thiệu tại các chương trước để đề xuất áp

31



dụng thuật toán di truyền để giải bài toán điều phối xe điện với thời gian sạc pin

và thời gian di chuyển biến đổi. Thuật toán di truyền được áp dụng để có được

các tuyến đường, thời gian xe khởi hành tại kho, và kế hoạch sạc pin. Trong khi

đó, thuật tốn Dijkstra động được áp dụng để tìm đường đi ngắn nhất giữa bất kỳ

hai nút liền kề dọc theo các tuyến đường. Vì di truyền là một trong những thuật

toán heuristic, nên lời giải của bài toán chỉ là lời giải gần đúng



1.



Ý tưởng thuật toán

Vấn đề định tuyến xe điện với thời gian sạc và thời gian di chuyển biến đổi



được phát triển để giải quyết một số vấn đề vận hành chẳng hạn như giới hạn

phạm vi và nhu cầu sạc. Trong bài toán này, chúng tôi đưa ra một giải pháp bằng

cách sử dụng thuật tốn di truyền để có được các tuyến đường, thời gian xe khởi

hành tại kho, và kế hoạch sạc pin. Trong khi đó, thuật tốn Dijkstra động được áp

dụng để tìm đường đi ngắn nhất giữa bất kỳ hai nút liền kề dọc theo các tuyến

đường. Để ngăn chặn sự cạn kiệt của tất cả năng lượng pin và đảm bảo vận hành

an tồn trong q trình vận chuyển, xe điện khơng đủ pin có thể được sạc lại nhiều

lần tại các trạm sạc. Sự dao động trong thời gian di chuyển chính là để phản ánh

một mơi trường giao thông năng động.



2.



Khởi tạo quần thể ban đầu

Áp dụng chế độ mã hóa để sản xuất quần thể ban đầu P(gen)(|P(gen)|=N);



trong đó gen =0. Mỗi nhiễm sắc thể biểu diễn một đường đi, dưới dạng một chuỗi

số vị trí của khách hàng, trạm sạc, và ít nhất phải có một lần vị trí của một khách

hàng phải xuất hiện theo thứ tự có vị trí đầu và cuối chuỗi là như nhau. Một số

tuyến đường được coi là không hiệu quả vì khơng truy cập bất kỳ khách hàng nào.

Một ví dụ đơn giản được chúng tơi thể hiện sau đây. Ba xe, một trạm thu phí

và chín khách hàng có sẵn (màu đen, đỏ và xanh lá cây tượng trưng cho kho,

khách hàng và trạm sạc). Sau khi mã hóa, các nhiễm sắc thể được hình thành:

Tuyến đường 1



|0 5 2 1 0|



Tuyến đường 2



|0 10 0|



Tuyến đường 3

|0 4 9 6 3 7 8 10 0|

Bảng 1. Một ví dụ đơn giản về kết quả của chế độ mã hóa

32



Kết quả thu được thấy rằng: Tuyến đường 1 thăm ba khách hàng 5, 2 và 1.

Đường 2 là khơng hiệu quả vì khơng thăm bất kỳ khách hàng nào. Tuyến đường 3

lần lượt thăm 6 khách hàng 4, 9, 6, 3, 7, 8 và được sạc lại trước khi trở về kho.



3.



Tính giá trị thích nghi

Tính giá trị thích nghi của từng nhiễm sắc thể trong P(gen). Để xác định hàm



thích nghi ta có thể chọn hàm f(x) = 1/S (S: là tổng các chi phí theo các lộ trình

được mơ tả của các nhiễm sắc thể). Khi f(x) càng lớn thì độ thích nghi của cá thể

đó càng cao. Cứ sau mỗi thế hệ được hình thành, chúng ta cần tính lại độ thích

nghi cho từng cá thể để chuẩn bị cho một thế hệ mới.

Trong bước này, chúng tơi áp dụng thuật tốn Dijkstra để tìm được đường đi

có chi phí ngắn nhất giữa hai đỉnh liền kề.

Có những giao lộ lớn trong một mạng lưới đường thực sự. Điều đó phản ánh

rằng các lái xe có thể khơng di chuyển trên đường thẳng giữa hai nút. Do đó, làm

thế nào để tìm ra những con đường ngắn nhất giữa hai nút liền kề dọc theo các

tuyến đường là một vấn đề trong mơ hình EVRP-CTVTT. Vấn đề đường dẫn ngắn

nhất (Shortest path - SP) trong bài này được đề cập và giải pháp của nó được sử

dụng trong mơ hình EVRP-CTVTT. SP là để có được một con đường với tối thiểu

chi phí trong một đồ thị có hướng và đầy đủ. Phương pháp phổ biến nhất giải

quyết SP là thuật toán Dijkstra cổ điển [8] đó là một phương pháp để sửa một nút

đơn làm nút nguồn, có được các đường dẫn ngắn nhất từ nguồn tới tất cả các nút

khác trong biểu đồ và tạo ra một cây đường đi ngắn nhất. Trong cổ điển Thuật

tốn Dijkstra, trọng lượng liên kết ln được coi là khoảng cách(giá trị không đổi).

Tuy nhiên, khi di chuyển trong điều kiện giao thông phức tạp, các phương tiện

mất nhiều thời gian hơn. Phần lớn lái xe quan tâm nhiều hơn đến thời gian thay vì

khoảng cách. Do đó, thời gian di chuyển thay vì khoảng cách được coi là trọng số

liên kết. Do môi trường giao thông động, thời gian di chuyển của mỗi liên kết

không phải lúc nào cũng không đổi và thay đổi theo thời gian thực. Do đó, trọng

lượng liên kết cũng là năng động. Để giải quyết SP với thời gian đi lại thay đổi,

chúng tôi đề cập đến việc xây dựng và lý thuyết của thuật toán Dijkstra cổ điển và

thực hiện một số cải tiến so với thuật toán Dijkstra cổ điển để đề xuất một thuật

toán Dijkstra động, nơi thời gian di chuyển giữa hai nút bất kỳ trong đồ thị cần

33



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

3 Lựa chọn ngẫu nhiên

Tải bản đầy đủ ngay(0 tr)

×