V z (uạ) Rồi tạo một ma trận con (pxg), W= (øy), từ tất cả các phần tử của ma trận theo cách sau: một phần tử ø„ e ở trong W nếu
Thí dụ 1.4 Lấy lại bài tốn trong thí dụ 7
3 V; V,
Giả sử các ma trận V¡ và V¿ sau đây đã được chọn làm cha-mẹ 3 3
để lai tạo: 0|0|313|2 1|02|4|1 Vị V; 0/4|0|10|0 0|4|0|0|I0 11141412 1015133 1010710 010|5|10|13 2|0|13|10{|1 11|310|1 01401010 0|41010|0 ¡x
Chương trình tiến hĩa này ta gọi là hệ GENETIC-H.
2|1|4|0|5 0|0|5|7|109 #.3. Bài tốn vận tải phi tuyến ` = 4‡ nhị x
010|6|0|9 3|1|0|012 Phần này, ta bàn về chương trình tiến hĩa giải bài tốn vận tải
phi tuyến cân bằng, theo 5 thành phần của thuật giải di truyền: biểu
diễn , khởi tạo, lượng giá, các tốn tử và các tham số. Hệ thống cũng
đặt tên là GENETIC-3 như trong trường hợp tuyến tính.
Các ma trận DIV và REM là: DIV REM
ololslasln 1lolililt 7.2.1. Biểu diễn
0|4|ø0|o|0 010J0|0|0 Cũng như trường hợp tuyến tính, ta chọn một cấu trúc hai chiều
ølililili để biểu điễn lời giải (một nhiễm sắc thể) của bài tốn vận tải: một
1014132 ma trận W= (z¿) (1 < ¿ < È, 1 <j < n). Lần này mỗi z„ là một số thực.
110]1310|1 1J11010|0
7.2.2. Khởi tạo
Hai ma trận REM; và REM; lá:
Thủ tục khởi tạo cũng giống như trong trường hợp tuyến tính
REM, REM; (phần 7.1.3). Cũng vậy, nĩ tạo một ma trận cĩ tối đa &+n-ï các phần
ololilol 1lololilo tử khác 0 sao cho các tất cä các ràng buộc đều được thỏa.
ololololo ø|ololol9 7.2.8. Lượng giá
011|10|1|0 0|0|1|1011 Trong trường hợp này ta phải tối ưu hĩa chỉ phí, một hàm phi 110|0|0|0 0|11010|0 tuyến của các giá trị của ma trận.
189
m : Chương 7 : Bài Tốn Vận Tải
7.8.4. Các tốn tử
'Ta định nghĩa bai tốn tử di truyền, đột biến và lai số học.
ĐỘT BIẾN
Cĩ hai loại đột biến được định nghĩa, Loại thứ nhất, đột_biến-1, giống như tốn tử đã được dùng trong trường hợp tuyến tính và đưa
vào càng nhiều số 0 vào ma trận càng tốt. Loại thứ hai, đột_biến-9,
được hiệu chỉnh để tránh chọn phải các số 0 bằng cách chọn các giá trị trong một khoảng. Tốn tử đột biến-? cơ bản cũng như đột _biến-1 ngoại trừ việc sử dụng một phiên bản được hiệu chỉnh của thủ tục khởi tạo để tính tốn lại các ma trận con được chọn.
Trong thủ tục khởi tạo ở phần 7.1.3 ta thay dịng:
gai © min (sourli], dest [j])
_bằng các lệnh:
0øl © mắn (sour[], dest [jÌ)
Nếu (¡ là hàng sẵn cĩ cuối cùng) Or Ứ là cột sẵn cĩ cuối cùng)
Thì:
0dÏ 0qÏ\
Ngược lại uaÏ số thực ngẫu nhiên trong khoảng <0, pai>
Thay đối này tạo ra các số thực thay vì các số nguyên hoặc số 0, nhưng thủ tục này cần được biến đổi thêm vì hiện tại nĩ tạo ra ma trận cĩ thể vi phạm các ràng buộc.
Thí dụ, sử dụng lại ma trận ở Thí dụ 7.1, giả sử chuỗi các số 3
được chọn là (3, 6, 12, 8, 10, 1,9, 4, 9, 11, 7, ð) và số thực đầu tiên ¿
được phát sinh cho số 3 (hàng 1 cột 3) là 7,3 (là số thuộc khoảng
160
Tối Ưu Số [-:
{0.0, mín(sour[1], dest[3])] = [0.0, 15.0). Số thực ngẫu nhiên thứ hai ' cho số 6 (hàng 2, cột 2) là 12.1, và các số thực cịn lại được phát sinh bằng thủ tục khởi tạo mới là: 3.3, 5.0, L0, 3.0, 1.9, 1.7, 0.4, 0.3,
7.4, 0.5. Ma trận kết quả là: g.0 | 15.0 | 18.0 | 10.0 15.0 3.0 1.9 T13 17 25.0 05 | 121 | 74 5.0 5.0 0.4 1.0 9.3 3.3
Chỉ cân cộng thêm 1.1 vào phần tử z;; các ràng buộc cĩ thể được thỏa mãn hồn tồn. Như vậy, ta cần thêm vào dịng cuối cùng của thuật giải đột_biến-2 câu:
“Tạo các điều kiện cần thiết”
Điều này bổ sung cho việc thay đổi thủ tục khi tạo.
LAI TẠO
Bắt đầu với hai cha-mẹ (các ma trận Ù và V) tốn tử lai sẽ sinh
ra hai con X và Y, trong đĩ: X=c;*Ù + c;*V và: Y =c;*V+ c;*U,
(Với e;, c¿ > Ư uờ e;+c; = 1). Do tập ràng buộc buộc là lổi nên việc
thực hiện này bảo đảm rằng cả hai con sinh ra đều thỏa mãn nếu cả cha và mẹ chúng thỏa mãn ràng buộc. Đây là cách giản đơn hĩa rất quan trọng của trường hợp tuyến tính mà ở đây cĩ thêm một yêu cầu
nữa là giữ lại tất cả các thành phân của ma trận là các số nguyên. 161