………… o0o………… Báo cáo khoa học: "PHƯƠNG PHÁP THUẬT GIẢI DI TRUYỀN VÀ TÌM MẶT CẮT DỌC TỐI ƯU ĐƯỜNG SẮT ĐÔ THỊ" PHƯƠNG PHÁP THUẬT GIẢI DI TRUYỀN VÀ TÌM MẶT CẮT DỌC TỐI ƯU ĐƯỜNG SẮT ĐÔ THỊ PGS. TS. PHẠM VĂN KÝ ThS. NCS. NGUYỄN HỮU THIỆN Trường Đại học Giao thông Vận tải Tóm tắt: Bài viết trình bày khái quát về thuật giải di truyền và ứng dụng để giải bài toán tối ưu cắt dọc đường sắt đô thị. Summary: This article presents a general idea on genetic algorithms and using it in solving optimization problems on longitudinal profile of Mass Urban Transit. I. KHÁI QUÁT VỀ THUẬT GIẢI DI TRUYỀN Thuật giải di truyền (GA) được hình thành dựa trên quan niệm cho rằng quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, tự nó đã mang tính tối ưu. Quá trình tiến hoá thể hiện tính tối ưu ở chỗ, thế hệ sau thường phát triển hoàn thiện hơn thế hệ trước. GA sử dụng các thuật ngữ của di truyền học. Ta có thể nói về những cá thể (hay kiểu gen), trong một quần thể. Những cá thể này còn được gọi là các nhiễm sắc thể (NST). Trong GA chỉ xét những cá thể có một NST. Các NST được tạo thành từ các gen. Gen với những đặc trưng nhất định, có vị trí nhất định trong NST. Mỗi NST sẽ biểu diễn một lời giải của bài toán. Một tiến trình tiến hoá được thực hiện trên một quần thể các NST tương ứng với một quá trình tìm lời giải. CT 1 GA thuộc lớp các lời giải xác suất nhưng khác các thuật giải ngẫu nhiên, chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên. GA duy trì và xử lý một tập các lời giải (quần thể). GA khá mạnh hơn các phương pháp khác. II. CÁC PHƯƠNG THỨC BIẾN HOÁ CỦA GA 2.1. Tạo sinh: Dùng những thành phần của thế hệ trước để tạo thêm thành phần của thế hệ sau. Giống như trong thiên nhiên, những thành phần nào có hệ số thích nghi lớn hơn sẽ có cơ hội được chọn để thực hiện tạo sinh. 2.1.1. Quy tắc tạo sinh đường (TSĐ) Giá trị gen của thế hệ sau được chọn trong khoảng giữa 2 giá trị cá thể cha và mẹ. Nếu 2 cá thể cha mẹ là A, B, cá thể con là C thì thành phần gen thứ i của con cháu được xác định bằng công thức sau: C i = min (A i , B i ) + α |BB i - A i | Với A i , B i , C i lần lượt là thành phần gen thứ i của cha mẹ A, B và cá thể con C, α là hệ số tỷ lệ được chọn ngẫu nhiên trong đoạn [0,1], có thể mở rộng giá trị α trong đoạn [-d, 1+d] với d ≥ 0. 2.1.2 Quy tắc tạo sinh tức thời Là 1 dạng mở rộng của TSĐ, cách tạo ra cá thể con cũng tương tự TSĐ, chỉ khác là dùng một dãy α i để tạo ra các cá thể. 2.2. Lai ghép (crossover) 2.2.1. Lai gép đơn điểm: Là dạng lai ghép đơn giản nhất, có thể áp dụng cả đối với kiểu dữ liệu chuỗi nhị phân lẫn số thực. Trước hết ta chọn ra 2 cá thể cha mẹ A, B, được chọn lọc ra từ tập cá thể. Xác định một vị trí lai ghép k ngẫu nhiên thuộc đoạn [2, N-1] với N là chiều dài NST. Điểm k sẽ chia NST của cá thể cha mẹ A thành A 1 , A 2 và B thành B 1 , B 2 . Hai NST được tạo mới nhờ gép phần đầu của cá thể A với phần cuối của cá thể B (A 1 B 2 ) và ngược lại, gép phần đầu của cá thể B với phần cuối của cá thể A (B 1 A 2 ). 2.2.2. Lai ghép đa điểm: Là một dạng tổng quát của lai ghép đơn điểm. Ở đây, thay vì chỉ chọn một điểm lai ghép ta chọn nhiều điểm lai ghép. 2.2.3. Lai gép mặt nạ: Là hình thức tổng quát nhất của lai ghép. Trong lai gép mặt nạ, liên kết với hai cá thể cha mẹ A, B là 2 mặt nạ mA, mB. Hai mặt nạ này có cùng chiều dài với A và B. Mặt nạ có thể được phát sinh một cách ngẫu nhiên khi tiến hành lai ghép hoặc thừa kế từ thế hệ trước. Giá trị bit của mặt nạ sẽ quyết định thành phần gen nào của cá thể con sẽ được trích ra từ gen của cha mẹ. 2.3. Đột biến: Là việc thay đổi trị số của một số trong dẫy số, thí dụ 0 thành 1 hoặc 1 thành 0 cho trường hợp dùng dãy số theo hệ nhị phân. So với lai ghép phương thức biến hoá dựa trên đột biến rất ít xảy ra. III. GIẢI BÀI TOÁN TỐI ƯU CẮT DỌC THEO PHƯƠNG PHÁP GA Xét mặt cắt dọc (MCD) cần nghiên cứu tối ưu, ví dụ gồm 7 đoạn như hình vẽ dưới. Ta sẽ ghi vào bảng, chi phí cho từng đoạn theo từng phương án. Vấn đề là phải tìm được một phương án MCD trên tuyến nghiên cứu có giá trị Hàm mục tiêu là Tổng chi phí nhỏ nhất. TCT1 3.1. Nhiễm sắc thể. Mỗi nhiễm sắc thể đại diện cho một phương án. Một nhiễm sắc thể gồm một số gen. Trong ví dụ này Nhiễm sắc thể chính là một chuỗi gồm 7 gen, mà mỗi gen là chi phí của mỗi đoạn từ đoạn 1 đến đoạn 7. Ví dụ: Nhiễm sắc thể biểu thị phương án: 0-13-23-33-43-53-63-7 là: 145 135 140 120 130 165 98 Trong đó mỗi giá trị số 145, 135, 98 được gọi là một gen, Cả chuỗi số 145, 135, 140, 120, 130, 165, 98 được gọi là một nhiễm sắc thể. 3.2. Hàm mục tiêu. Trong bài toán đang xét hàm mục tiêu chính là tổng chi phí các đoạn từ đoạn 1 đến đoạn 7. Cũng có thể nói đó là "giá trị" của nhiễm sắc thể. 3.3. Chọn quần thể ban đầu. Chọn 9 phương án cắt dọc, có nghĩa là 9 cá thể ban đầu, cũng có nghĩa là 9 nhiễm sắc thể. CT 1 175 145 135 140 120 130 165 98 130 145 115 140 136 165 80 130 130 115 135 140 165 80 145 125 128 130 136 98 130 100 128 130 136 165 80 120 145 145 115 136 165 80 145 130 155 120 126 160 155 130 126 155 115 120 185 98 120 130 155 130 135 175 155 3.4. Bằng cách thay đổi trật tự (order) của các ô này, ta sẽ tìm được giá trị nhỏ nhất của các phương án. a. Lai ghép. Chọn ngẫu nhiên một số gen từ một cha mẹ thứ nhất, tìm vị trí của các gen này trong một cha mẹ thứ hai, copy các gen còn lại từ cha mẹ thứ nhất sang các vị trí tương ứng ở cha mẹ thứ hai được một NST mới. Giả sử hai nhiễm sắc thể ban đầu như sau: 130 130 115 135 140 165 80 145 125 128 130 136 175 98 Với tỷ lệ lai gép 67%, nghĩa là 67% thông tin của NST cha mẹ thứ nhất, và 33% thông tin của NST cha mẹ thứ 2 được truyền lại cho NST con; Sau khi lai ghép được: 145 130 128 130 140 175 80 b. Đột biến. Hoán đổi vị trí của một số gen trong một cá thể. Tỷ lệ đột biến có thể đặt từ 0 đến 1. Khi tỷ lệ bằng 1 thì lai ghép không xảy ra và tiến hóa hoàn toàn do đột biến. Nếu tất cả dữ liệu của bài toán tối ưu nằm hết trong quần thể thì chỉ riêng toán tử lai ghép cũng đủ để giải quyết vấn đề. Trường hợp bài toán đang xét, tất cả các gen (giá trị chi phí của các đoạn) nằm hết trong quần thể, ngoài ra trật tự các gen (trật tự các đoạn tuyến) trong nhiễm sắc thể là không thể thay đổi. Như vậy ta chỉ dùng toán tử lai ghép, không dùng toán tử đột biến cho bài toán này. 1 2 3 0 1 2 3 4 5 6 7 Bảng giá trị chi phí các đoạn (Đơn vị tiền tệ) Doan 1 Doan 2 Doan 3 Doan 4 Doan 5 Doan 6 Doan 7 PA Chi phi PA Chi phi PA Chi phi PA Chi phi PA Chi phi PA Chi phi PA Chi phi 0-1.3 145 1.3 - 2.3 135 2.3 - 3.3 140 3.3 - 4.3 120 4.3 - 5.3 130 5.3 - 6.3 165 6.3 – 7 1.2 - 2.3 145 2.2 - 3.3 145 3.2 - 4.3 132 4.2 - 5.3 140 5.2 - 6.3 175 6.2 – 7 1.1 - 2.3 130 2.1 - 3.3 155 3.1 - 4.3 140 4.1 - 5.3 145 5.1 - 6.3 185 6.1 – 7 0-1.2 130 1.3 - 2.2 125 2.3 - 3.2 115 3.3 - 4.2 115 4.3 - 5.2 126 5.3 - 6.2 160 6.3 – 7 1.2 - 2.2 100 2.2 - 3.2 144 3.2 - 4.2 140 4.2 - 5.2 136 5.2 - 6.2 165 6.2 – 7 1.1 - 2.2 145 2.1 - 3.2 160 3.1 - 4.2 130 4.1 - 5.2 140 5.1 - 6.2 180 6.1 - 7 0-1.1 120 1.3 - 2.1 130 2.3 - 3.1 155 3.3 - 4.1 126 4.3 - 5.1 115 5.3 - 6.1 155 6.3 - 7 98 1.2 - 2.1 126 2.2 - 3.1 128 3.2 - 4.1 135 4.2 - 5.1 120 5.2 - 6.1 160 6.2 - 7 80 1.1 - 2.1 130 2.1 - 3.1 155 3.1 - 4.1 130 4.1 - 5.1 135 5.1 - 6.1 175 6.1 - 7 155 TCT1 (Kết quả tính toán theo GA) IV. KẾT LUẬN GA cho kết quả rất sát với phương pháp quy hoạch động. Trong ví dụ này là cực tiểu hàm mục tiêu y bằng 868 (GA) so với 865 (QHĐ), sai số khoảng 0.35%. Có thể sẽ là phức tạp trong việc tìm ra mô hình GA cho bài toán, như ý nghĩa các nhiễm sắc thể, các gen khi mới tiếp cận với phương pháp này. Phương pháp GA là một phương pháp mở, cùng một bài toán có thể xây dựng nhiều mô hình khác nhau. Đây là phương pháp mạnh, giải nhiều dạng bài toán phức tạp của ngành. Tài liệu tham khảo [1]. Hoàng Kiếm, Lê Hoàng Thái. Thuật giải di truyền. NXB Giáo dục, 2000. 2]. Masatoshi Sakawa. Genetic Algorithms and Fuzzy Multiobjective Optimization. Klower Academic, [ 2002. . Evolutionary Algorithms in Engineering and Computer Science, John Wiley & Sons Ltd, 1999 ♦ [3] CT 1 . Báo cáo khoa học: "PHƯƠNG PHÁP THUẬT GIẢI DI TRUYỀN VÀ TÌM MẶT CẮT DỌC TỐI ƯU ĐƯỜNG SẮT ĐÔ THỊ" PHƯƠNG PHÁP THUẬT GIẢI DI TRUYỀN VÀ TÌM MẶT CẮT DỌC TỐI ƯU ĐƯỜNG SẮT ĐÔ THỊ. thông Vận tải Tóm tắt: Bài viết trình bày khái quát về thuật giải di truyền và ứng dụng để giải bài toán tối ưu cắt dọc đường sắt đô thị. Summary: This article presents a general idea on. biến rất ít xảy ra. III. GIẢI BÀI TOÁN TỐI ƯU CẮT DỌC THEO PHƯƠNG PHÁP GA Xét mặt cắt dọc (MCD) cần nghiên cứu tối ưu, ví dụ gồm 7 đoạn như hình vẽ dưới. Ta sẽ ghi vào bảng, chi phí cho từng