Các phép toán chính của thuật toán di truyền

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán di truyền song song giải bài toán VRP (vehicle routing problem) với hạn chế thời gian (Trang 37 - 41)

Chương 3 : Thuật toán di truyền song song

3.2 Các phép toán chính của thuật toán di truyền

Việc ch n ra các cá thọ ể cha m ẹ đem lai tạo là ngẫu nhiên dựa trên nguyên t c cá thắ ế

có mức độthích nghi cao nhất cũng tương ứng có khảnăng chọn lựa cao nh t. Quá ấ

trình ch có thọn ểđược th c hiự ện ngẫu nhiên theo vòng quay roulette với từng vùng chiếm trên vòng tròn tương ứng với xác suất tồn tại của mỗi cá thể. Hình 3.2 Vòng quay lựa chọn cá thể Xác su t tấ ồn tạ ủi c a cá thể ilà: Pi = ∑ = N j j i f f 1 Trong đó:

f là hàm thích nghi của cá thể trong quần thể có N cá thể.

Một chiến lược chọn lựa cá thể khác cũng hay được sử ụ d ng là chiến lược lựa chọn

ngẫu nhiên và được so sánh với nhau theo mức độ thích nghi, cá th nào có tính ể thích nghi cao hơn sẽđược chọn gi l i. ữ ạ Quá trình này được lặ ạp l i cho đến khi thu

được n c/2 p cá th cha m th c hi n phép lai t o (n ặ ể ẹ để ự ệ ạ là sốcá thểtrong quần thể).

3.2.2 Phép lai

t s t

Các cá thể ốt sau khi được chọn lựa từquần thể ẽ cho lai để ạo ra các cá thểcon với hi vọng k ế thừa các đặc tính di truyền từ các cá thể ố b mẹ. Tuy nhiên, không phải t t c cá thấ ả ể đề u có thể ế k t hợp với nhau mà thường có một xác su t k t hấ ế ợp nhấ ịt đnh Pcross.

Quá trình lai th c hiự ện như sau:

• Ứng v i m i cá th phát sinh cho nó mớ ỗ ể ột xác su t ngấ ẫu nhiên, n u xác suế ất này nhỏ hơn Pcross thì cá thể được lấy vào danh sách sử ụ d ng cho việc lai ghép.

• Chọ ựn l a ng u nhiên t ng c p và vẫ ừ ặ ị trí lai ghép để ự th c hiện lai ghép tạo hai cá th con thay thể ế.

Trong hiện thực, các thao tác trao đổi chéo giữa hai nhiễm sắc thểđược định nghĩa

và thời gian ph thuụ ộc nhi u vào cách ề các nhiễm sắc thể được mã hóa. Thông qua

thao tác trao đổi chéo này, quá trình tái tổ ợ h p thông tin di truyền gi a các nhiữ ễm sắc thể được thực hiện. Một số thao tác trao đổi chéo phổbiến sau:

• Trao đổi chéo một điểm c t (One-ắ Point Crossover): đây là thao tác đơn giản nhất, một điểm cắt được chọn ngẫu nhiên trên chiều dài nhi m s c th , sau ễ ắ ể đó, các gene n m phía sau điằ ểm cắt đư c hoán đợ ổi gi a hai nhiữ ễm s c th cha ắ ể

mẹ. Tham khảo minh họa Hình 3.3.

• Trao đổi chéo nhi u ề điểm c t (Multi-Point Crossover): ắ đây là thao tác mở

rộng củ thao tác trướa c với nhiều hơn m t điộ ểm cắt. rong hi T ện thực, thao

tác trao đ i chéo hai điổ ểm c t ắ thường hay được sử ụ d ng. Hình 3.4 minh h a ọ thao tác trao đổi chéo nhiều điểm c t. ắ

Hình 3.3 Thao tác trao đổi chéo một điểm cắt

Hình 3.4 Thao tác trao đổi chéo nhiều điểm cắt

• Trao đổi chéo ánh x t ng ph n (PMX – Partially Mapped Crossover): ạ ừ ầ phương thức trao đ i này thưổ ờng được s d ng tử ụ rong trường hợp các nhiễm sắc thể được mã hóa dạng chuỗi số (sốnguyên hoặc số thực) có thểhoán vị. PMX bảo tồn vị trí của nhiều gene nhất có thể trong cảhai nhiễu sắc thể. Ví d : ụ

NST 1: K H E C B D F G I J A L| | NST 2: C D B A | G F E | L K I J H

Chọn hai điểm cắt ngẫu nhiên, khi đó, phân đoạn giữa hai điểm cắt cho định nghĩa một ánh xạ (B  G, D  F, F E) . Áp dụng ánh xạ này lên các gene

của hai nhiễm sắc thể cha mẹ sẽ thu được các nhiễm sắc thể con tương ứng.

NST con 1: K H D C | G F E | I J A L B

NST con 2: C E G A | B D F | L K I J H

• Trao đổi chéo có th t ứ ự (Ordered Crossover): phương thức này b o t n th ả ồ ứ

t ự tương đối của nhiều gene nhất có th trong c ể ảhai nhiễm sắc th . Ví d : ể ụ

NST 1: K H E C | B D F | G I J A L

NST 2: C D B A | G F E | L K I J H

Xác định hai điểm cắt ngẫu nhiên, sau đó, xác định thứ tự các gene trong một nhiễm sắc thể bắt đầu với gene đầu tiên ngay sau điểm cắt thứ hai. Trong ví

gene đã tồn tại trong phân đoạn đã hoán vị giữa hai điểm cắt. Trong ví dụ trên những gene cần xóa là GFEnên phần còn lại là IJALKHCBD. Kết quả

các con là:

NST con 1: H C B D | G F E | I J A L K

NST con 2: C A G E | B D F | L K I J H

3.2.3 Phép đột biến

S ự đột biến gene cũng là một trong những nguyên nhân gây ra tiến hóa n u biế ến đổi này biểu hiện tính trạng có lợi. Trong giải thuật GA, các đột biến xảy ra v i m t xác ớ ộ

suất Pmutnào đó, với những trường hợp xảy ra đột biến thì có sự thay đổi trong gene mà không kế thừa t cá thừ ểnào.

Quá trình đột biến trong qu n thầ ể ễ di n ra như sau: Chọn ng u nhiên m t cá thẫ ộ ể và một vị trí gene với xác suất tương ứng nhỏ hơn Pmut, th c hiự ện biến đổi ngẫu nhiên tại vịtrí này.

Một số loại đột biến thường sử ụng như chèn gene d hoặc đoạn gene Hình 3.5a), ( xóa gene hoặc đoạn gene (Hình 3.5b), hoán vị gene hoặc đoạn gene diễn ra trong một nhiễm sắc thể (Hình 3.5c, Hình 3.5d).

Cần lưu ý: việc gây đột biến có thểlàm cá thể ố t t hơn nhưng cũng có thểlàm cá thể

xấu hơn. Chính vì v y, phép đậ ột biến ít nhiều sẽtác động đến quá trình hình thành quần th sau cùng (l i giể ờ ải bài toán).

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán di truyền song song giải bài toán VRP (vehicle routing problem) với hạn chế thời gian (Trang 37 - 41)

Tải bản đầy đủ (PDF)

(84 trang)