Chương 7: Bài Tốn Vận Tải Số lượng vận tả

Một phần của tài liệu Lập trình tiến hóa trí tuệ nhân tạo (Trang 74 - 75)

M Chương 6: Xử Lý Ràng Buộc LAI SỐ HỌC

m Chương 7: Bài Tốn Vận Tải Số lượng vận tả

Số lượng vận tải 5 1ã 1ã 18 lỗ 9 5 Ợ 10 25 0 10 15 0 5 5 0 0 9

7.1.1. Thuật giải di truyền cổ điển giải bài tốn uận tải cân bằng

Khi nĩi thuật giải di truyền “cổ điển”, chúng tơi muốn nối đến một thuật giải mà trong đĩ các nhiễm sắc thể (nghĩa là, cách biểu diễn lời giải) là những chuỗi bit - đanh sách các số 0 và 1. Một phương pháp dễ hiểu để định nghĩa một vectơ bit cho 1 lời giải bài

tốn vận tải là tạo một veckd <0;„uz,....0,> (p = n * k), sao cho mỗi thành phần 0; ( = 1, 2...., p), là một vectơ bit <tøo,... uy. > và biểu

diễn một số nguyên liên quan đến hàng j và cột m trong ma trận

phân phối, mà ở đây j = |Œ-1)/ + LÍ và m = (/-1) mod k + 1. Chiêu

đài của các vectơ „ (tham số ƒ quyết định số nguyên lớn nhất (2 *'.

1) cân cĩ để biểu diễn một lời giải.

'Ta sẽ thảo luận một cách ngắn gọn về cách biểu diễn này và

việc phải thơa mãn ràng buộc, cũng như về hàm lượng giá và các tốn tử đi truyền.

Thỏa mãn ràng buộc: Rõ ràng là mỗi vectơ lời giải phải thỏa các ràng buộc sau đây:

... bị =sourfc+1j i=ck+1 c= 0,1/2,..,n—1 km 2 u57 =desl[mj], m=1,2,..,k Uyạ>0, q=1.2..,n; J=1,2,,È-n 146 Tối Ưu Số [.¬Ệ

Chú ý là ràng buộc cuối cùng luơn được thỏa (ta thơng dịch một

chuỗi các số 0 và 1 là một. số nguyên dương). Hai ràng buộc đầu thế hiện tổng cung và tổng cầu tại mỗi nguồn và mỗi đích. mặc dù những

cơng thức này khơng đối xứng.

Hàm lượng giá: Hàm lượng giá đơn giản là tính tổng chi phí vận

tải từ các nguồn đến các đích và được tính theo:

epal(<U1,0u,..0p>) = Ư "” 0.cosf[jJưn]

trong đĩ, j z L-1)/È + LÍ và m = (È-1) mod k + 1.

Các tốn tử đi truyền: Khơng cĩ định nghĩa tự nhiên nào về các

thơng tin di truyền đối với bài tốn vận tải trong biểu diễn như trên.

Đột biến thường được định nghĩa là thay đổi của một bit trong một

vectơ lời giải. Điều này tương ứng với thay đổi của một giá trị nguyên 0¡. Đối với những bài tốn của ta, đột biến như vậy lại cĩ thể gây ra một chuỗi những thay đổi ở những điểm khác nhau (ft nhất là ba thay đổi liên quan) để duy trì các ràng buộc. Chú ý là ta luơn phải nhớ thay đổi đã xảy ra trong cột nào và hàng nào - mặc đù là biểu

diễn vectơ nhưng ta suy nghĩ và thực hiện theo cách các hàng và các

cột (các nguồn và các đích). Đây là lý do khiến cơng thức trở nên phức tạp; đấu hiệu đầu tiên của tính phức tạp này là mất đi tính đối xứng khi điễn tả các ràng buộc.

Cũng cĩ một số thắc mắc khác đặt ra. Đột biến được hiểu là

những thay đổi nhỏ trong vectơ lời giải, nhưng theo những gì ta biết trước đây, chỉ một thay đổi trong một số nguyên lại cĩ thể gây ra ít

nhất ba thay đổi khác tại những vị trí thích hợp. Giả sứ hai điểm

ngẫu nhiên (ơ; và „, với £ < m) được chọn sao cho chúng thuộc cùng

một hàng hay một cột. Ta hãy giả sử rằng 0; 0, 0, 0, ( < j < k < m) là những thành phần của vectơ lời giải (được chọn để đột biến)

m Chương 7 : Bài Tốn Vận Tải

sao cho ø; và uy cũng như 0; và U„ thuộc một cột, và u„ ơ, cũng như 0„ u„ thuộc cùng một hàng.

Tức là, trong biểu điền ma trận, ta cĩ:

Uị .. Ơ)

Đp ... Đm

Bây giờ, ta gặp một khĩ khăn khi phải xác định thay đổi cần thiết trong vectơ lời giải. Ta nên tăng hay giảm 0; ? Ta cĩ thể chọn cách đổi nĩ thành một (thay đổi nhỏ nhất cĩ thể) hay thành một số ngẫu nhiên nào đĩ trong khoảng <0, Ì..., 0>. Nếu tăng giá trị 0, theo một hằng số C ta phải giảm mỗi giá trị u; và 0, theo cùng hằng số đĩ. Điều gì xây ra nếu ø; < C hoặc uy < C ? Ta cĩ thể chọn € = min (»„u„0,), nhưng như thế, phần lớn các đột biến sẽ cĩ kết quả khơng thay đổi gì cả, do xác suất của việc chọn ba phần tử khơng là 0 cĩ

thể gần bằng 0 (nhồ hơn 1⁄ø đối với các vectơ cĩ kích thước n?), Như vậy phương pháp thay đổi 1 bịt làm cho các tốn tử đột

Một phần của tài liệu Lập trình tiến hóa trí tuệ nhân tạo (Trang 74 - 75)