Với cơ chếchọn theo vòng thi đấu, cá thể có tính thích nghi cao hơn sẽcó nhiều cơ
hội hơn tham gia vào quá trình tái tổ ợ h p để sinh ra các cá thể con ở h thế ệ tiếp theo.
4.2.4.2 Tái tổ hợp
Quá trình tái tổ ợ h p là một trong các chức năng quan trọng nhất trong chuỗi tiến hóa sinh học. Tương tự trong thu t toánậ GA, t mộ cơ chế tái tổ ợ h p thông minh và hiệu quả ẽ s nâng cao hiệu năng của thuật toán Tái t. ổ ợ h p trong GA bao gồm hai loại
thao tác là lai và đột bi n. ế
Thao tác lai sử ụ d ng phương pháp heuristic trao đ i chéo liên quan đổ ến khoảng cách giữa các gene. Theo đó, một điểm cắt ngẫu nhiên được thực hi n trên hai nhiệ ễm sắc thể. Phương pháp sẽ ắ đầ b t u so sánh các gene ngay sau vị trí c t. Ví d : ắ ụ
NST1: K H E D G F E | B I J A L
Giả ử s gene B là gene đầu tiên trong nhiễm sắc thể con. Khi đó, gene L được hoán v v i ị ớ gene B trong NST2 đểtránh sự ặ l p lại sau đó. ếK t quảsau hoán vị thu được:
NST 1: K H E D G F E | B I J A L NST 2: C E G A D F | L B K I J H NST con: B _ _ _ _ _ _ _ _ _ _ _
Sau đó, so sánh khoảng cách gi a gene B v i hai gene li n sau I và K và ch n gene ữ ớ ề ọ
nào có khoảng cách gần B hơn. Gi s K ả ử là gene được ch n, tọ ức d(B,K) <d(B,I).
Khi đó, gene I phải được hoán v vị ới gene K trong NST1 để tránh s trùng l p. K t ự ặ ế
quả sau hoán vị thu được:
NST 1: I H E D G F E | B K J A L NST 2: C E G A L D F | B K I J H NST con: B K _ _ _ _ _ _ _ _ _ _
X ử lý được lặp lại cho đến khi nhiễm sắc thểcon có sốgene bằng với s ốgene trong nhiễm sắc th ểcha/ . mẹ
Thao tác đột bi n trong thuế ật toán di truyền có th là thao tác chèn, xóa, hoán v m t ể ị ộ
gene hoặc đoạn gene. Cho bài toán VRPTW, bởi vì chiều dài của nhiễm sắc thể là c ố định (tức là sốkhách hàng cố định ban đầu) nên các thao tác chèn, xóa hoàn toàn không thích hợp. Do đó, chỉ có thao tác hoán vị có th ể được áp dụng và thường sử
dụng hoán vịgene.
4.2.5 Tạo thế hệ mới
Ở ỗ m i th h , các cá th tế ệ ể ốt được ch n l a ra t qu n th hi n t iọ ự ừ ầ ể ệ ạ. Sau đó, tùy theo các xác suất lai và đột biến, các thao tác di truy có thền ể được áp dụng lên các cá thể này nh m t o ằ ạ ra các cá thể con m i và chúng s ớ ẽ thay thế cha m ẹ trong thế ệ h tiếp theo N. ếu thao tác di truyền không được áp d ng, cá thụ ểđược sao chép nguyên
Sau khi thế ệ ớ h m i được hình thành, thuật toán đánh giá các cá thểtrong quần thể
của thế ệ ớ h m i và thực hiện thay thếcá thể ấ x u nhất bởi cá thể ố t t nhất của quần thể ở ế ệ th h trư c đó.ớ Nh th , cá th t t nh t trong qu n th th h sau luôn m b o ờ ế ể ố ấ ầ ể ở ế ệ đả ả
tốt hơn hoặc bằng cá thể ố t t nhất trong quần thể ở h thế ệ trước đó. Thuật toán di truyền gi i ả bài toán VRPTW:
• Bước 1: Kh i t o qu n th ở ạ ầ ể ban đầu g m N cá th (m t ph n qu n th ồ ể ộ ầ ầ ể được khởi tạo từ ờ l i giải khả thi S c a PFIH và các lân củ ận Nλ(S); một phần quần thểđược khởi tạo ngẫu nhiên).
• Bước 2: Đánh giá tính thích nghi của các cá th trong qu n th ể ầ ểban đầu. Tính max
D và thiết lập một sốthông số ầ c n thi t cho thu t toán. ế ậ
• Bước 3: L p tu n t t ặ ầ ự ừbư c 3.1 đ n bư c 3.5 cho đớ ế ớ ến khi s th h ố ế ệvượt quá s h lốthế ệ ớn nhất cho phép.
Bước 3.1: Tìm cá th t t nh t trong qu n th hi n t i, c p nh t l i gi i ể ố ấ ầ ể ệ ạ ậ ậ ờ ả
tốt nhất hiện tại.
Bước 3.2: T o qu n th m i b ng cách l p l i cáạ ầ ể ớ ằ ặ ạ c bư c sau cho đớ ến khi quần th mể ới có đủ N cá th . ể
Bước 3.2.1: Ch n l a các cá th cha m bọ ự ể ẹ ằng phương pháp
chọn theo vòng thi đấu.
Bước 3.2.2: Th c hiự ện trao đổi chéo trên t ng c p cá th ừ ặ ể
cha mẹ ứ ng với xác suất trao đ i chéo cho trưổ ớc. Nếu thao tác trao đổi chéo không được thực hi n, cá thệ ểcon được sao chép nguyên y từ cá th cha m . ể ẹ
Bước 3.2.3: Th c hiự ện đột bi n các cá th con m i ng v i ế ể ớ ứ ớ
xác suấ ột đ t biến cho trước.
Bước 3.4: Tìm cá th x u nh t trong qu n th m i. ể ấ ấ ầ ể ớ
Bước 3.5:Th c hi n thay th cá th x u nh t b ng cá th t t nh t c a ự ệ ế ể ấ ấ ằ ể ố ấ ủ
quần th ểtrước.
• Bước 4: K t xu t l i gi i t t nh t và k t thúc thu t toán. ế ấ ờ ả ố ấ ế ậ
4.3 Thuật toán di truyền song song giải bài toán VRPTW
Qua khảo sát thu t toá di truyậ n ền, d dàng nh n th y thao tác chễ ậ ấ ọn lọc liên quan n đế
tất cảcác cá thểtrong quần thể. Trong khi đó các thao tác lai, độ, t biến và tính toán tính thích nghi của các cá thể chỉ liên quan đến một hoặc m t vài cá thộ ểtrong quần thể. Do đó, các thao tác này hoàn toàn có thể phân b ổcho các tiến trình khác nhau
để ự th c hi n song song nh m rút ng n th i gian tính toán. ệ ằ ắ ờ
Trong thuật toán di truyền, bước đánh giá tính thích nghi của các cá thể trong quần thể thường tiêu tốn nhiều thời gian tính toán nhất. Bởi l , thao tác này phẽ ụ thuộc nhiều vào thời gian giải mã nhiễm sắc thểthành lời giải tương ứng và th i gian tính ờ
toán theo một s tiêu chí hay m c tiêố ụ u; Đồng thời, thuật toán phả ặi l p qua nhiều thế
h ệ và số cá thể ở ỗ m i thế ệ ớ h l n. Chính vì vậy, đa số các giải thuật di truyền song song chỉsong song hóa giai đo n đánh giá tính thích nghi cạ ủa các cá thể.
Ở đây, gi i thu t di truyả ậ ền song song cho bài toán VRPTW đư c đợ ề xu t d a theo ấ ự
mô hình song song d ng chạ ủ ớ t . Thuật toán thao tác trên m t qu n th và lộ ầ ể ặp qua các thế ệ h . Theo đó, tiến trình chủ (master) điều khiển quá trình th c thi cự ủa giải thuật di truy n và thề ực hiện thao tác chọn lọc cá thể cha mẹ trong quần th . Các tiể ến trình t (slave) th c hiớ ự ện các thao tác lai (trao đ i chéo), đổ ột bi n và tính toán giá trế ị
thích nghi c a các cá thủ ể. Truy n thông chính giề ữa ti n trình ch và các tiế ủ ến trình tớ
là truy n các c p cá thề ặ ể cha/mẹ đến các ti n trình tế ớ và nh n vậ ềcác c p cá thặ ể con