Chương 3 : Thuật toán di truyền song song
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
Hình 4.2 Mô hình giải thuật song song dạng chủ tớ
Mô hình song song d ng chạ ủ ớ t là mô hình thư ng đườ ợc sử ụ d ng nhất. Tuy mô hình
đơn giản nhưng khá hiệu qu và r t thích h p tri n khai trên các h th ng cluster ả ấ ợ ể ệ ố
bao gồm nhiều máy tính k t h p lế ợ ại.
Thuật toán di truyền song song giải bài toán VRPTW: • Bước 1: c các tham s và d liĐọ ố ữ ệu đầu vào
Tiến trình ch th c hiủ ự ện đọc các tham s c u hình cho thu t toán t ố ấ ậ ừ
tập tin cấu hình và gử ếi đ n đến t c ất ảcác tiến trình tớ.
Tiến trình ch th c hiủ ự ện đọc d liữ ệu đầu vào (d li u khách hàng) t ữ ệ ừ
tập tin và gửi toàn bộ ữ d liệu đến tấ ảt c các tiến trình tớ.
Tất cả các tiến trình tớ thực hiện nhận các dữ liệu được gửi đến bởi tiến trình chủ. Thiế ập môi trườt l ng thực thi cần thiết.
• Bước 2: Kh i t o qu n th ở ạ ầ ểban đầu
Tiến trình ch th c hi n 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; m t phộ ần quần th ểđược kh i t o ngở ạ ẫu nhiên).
Tiến trình chủphân chia công việc và g i các cá th n các tiử ể đế ến trình t . ớ
Các tiến trình tớthực hiện nhận các cá thể được gử ếi đ n bởi tiến trình chủ. Sau đó, đánh giá tính thích nghi của các cá th và gể ửi giá trị đánh giá trở ề v cho ti n trình ch . ế ủ
Tiến trình ch nh n k t qu ủ ậ ế ả đánh giá t các ti n trình t và c p nh t ừ ế ớ ậ ậ
các cá thể trong quần thể.
• Bước 4: L p tu n t t ặ ầ ự ừbước 4.1 đ n bưế ớc 4.5 cho đến khi s th h ố ế ệvượt quá s h lốthế ệ ớn nhất cho phép.
Bước 4.1: Ti n trình ch th c hi n 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 4.2: Ti n trình ch th c hi n 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 4.3: T o các cá th ạ ểcon.
Tiến trình ch phân chia công vi c và g i các c p cá th cha ủ ệ ử ặ ể
m ẹ đến các tiến trình tớ.
Các tiến trình tớ thực hiện nhận các cặp cá thể được chuyển đến từ ế ti n trình chủ. Sau đó, 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 . ể ẹ
Tiếp theo, 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. K ế tiếp, th c hiự ện đánh giá
tính thích nghi c a các cá thủ ể con m i. Sau cùng, gớ ửi các cặp cá thểcon mới trở ề v cho tiến trình chủ.
l quại ần thể. Bước 4.4: Ti n trình ch th c hi n tìm cá th x u nh t trong qu n th ế ủ ự ệ ể ấ ấ ầ ể m ới. Bước 4 .5: Ti n trình ch 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 5: Ti n trình ch th c hi n k t xu t l i gi i t t nh t. ế ủ ự ệ ế ấ ờ ả ố ấ