1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc

66 434 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 6,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực thi, quần thể các lời giải tiến ho

Trang 2

Luận văn được hoàn thành với lòng tri ân sâu sắc mà tôi xin kính gửi đến các thầy cô, bạn bè, đồng nghiệp, đồng môn và gia đình thân yêu của tôi.

Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến TS Phạm Thanh Hà, Thầy đã định hướng cho tôi chọn đề tài, trực tiếp tận tình hướng dẫn giúp đỡ tôi, thày không quản ngại thời gian, công sức để giúp tôi hoàn thành luận văn này

Tôi xin chân thành cảm ơn Ban giám hiệu, Phòng Đào tạo sau Đại học, Khoa Toán cùng các thày cô trong trường Đại học sư phạm Hà Nội 2 đã nhiệt tình giúp đỡ, giảng dạy, tạo điều kiện tốt nhất cho tôi trong thòi gan học tập tại trường

Tôi xin gửi lời cảm ơn sâu sắc đến gia đình tôi, họ đã luôn sát cánh bên tôi, che chở động viên tôi Tôi xin cảm ơn BGH, Phòng đào tạo&NCKH, Phòng khảo thí KĐCL - Trường Cao Đẳng Y tế Phú Thọ đã tạo điều kiện tốt nhất cho tôi để tôi yên tâm học tập, làm việc và nghiên cứu

Cuối cùng, tôi xin chân thành cảm ơn các bạn đồng khóa cao học KI 7 - Đợt 2 (2013 -2015) nói chung và chuyên ngành Toán ứng dụng nói riêng đã giúp đỡ, động viên tôi hoàn thành luận văn này

Một lần nữa tôi xin chân thành cảm ơn!

Hà Nội, tháng 12 năm 2015

Học viên

Đỗ Thị Minh Phương

Trang 3

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.

Các số liệu, kết quả nêu ttong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác

Học viên

Đỗ Thị Minh Phương

Trang 4

M Ở Đ Ầ U 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 2

3 Nhiệm vụ nghiên cứu 2

4 Đối tượng và phạm vi nghiên cứu 2

5 Đóng góp mới của đề tà i 2

6 Phương pháp nghiên c ứ u 2

Chương 1 CÁC KHÁI NIỆM c ơ BẢN VỀ GIẢI THUẬT DI TRUYỀN 3

1.1 Mở đ àu 3

1.2 Các khái niệm cơ bản của giải thuật di truyền 4

1.2.1 Giới thiệu chung 4

1.2.2 Giải thuật di truyền đơn giản 5

1.3 Cơ chế hoạt động của giải thuật di truyền 9

Chương 2 GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN TỐI U\J ĐA RÀNG BUỘC 23

2.1 Giải thuật di truyền với biểu diễn thực 23

2.1.1 Biểu diễn nhiễm sắc thể bằng số thực 23

2.1.2 Nhóm toán tử đột biến 24

2.1.3 Nhóm toán tử lai tạ o 26

2.2 Vấn đề tối ưu số và xử lý ràng buộc 28

2.2.1 Bài toán tối ưu s ố 28

2.2.2 Đột biến đồng dạng 31

2.2.3 Đột biến biên 32

2.2.4 Đột biến không đồng dạng 32

2.2.5 Lai số học 32

Trang 5

TOÁN TỐI ƯU HÓA KHẨU PHẦN THỨC ĂN CHĂN N U Ô I 343.1 Bài toán tối ưu hóa khẩu phần thức ăn chăn nuôi 343.2 Xây dựng giải thuật di truyền xác định khẩu phần thức ăn chănnuôi 403.2.1 Xác định hàm mục tiêu và các ràng buộc 403.2.2 Xây dựng giải thuật di truyền tối ưu hóa khẩu phần thức ănlợn 42KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 59TÀI LIỆU THAM KHẢO 60

Trang 6

Bảng 1.1 Minh họa quá trình chọn lọc 8

Bảng 1.2 Minh họa quá trình lai ghép 9

Bảng 2.1 Minh họa quá trình đột b iến 20

Bảng 2.2 Các vị trí đột b iến 21

Bảng 3.1 Bảng dinh dưỡng tại các thời kỳ nuôi 35

Bảng 3.2 Khuyến cáo chất dinh dưỡng cần thiết trong một khẩu phần thức ăn 36

Bảng 3.3 Thành phần thức ăn thường sử dụng trong khẩu phần thức ăn 37

Bảng 3.4: Giá các thành phần dinh dưỡng tại Việt Nam 51

Bảng 3.5: Phân tích khẩu phàn thức ăn - thử nghiệm 1 52

Bảng 3.6: Phân tích khẩu phàn thức ăn - thử nghiệm 2 53

Bảng 3.7: Phân tích khẩu phần thức ăn - thử nghiệm 3 54

Bảng 3.8: Phân tích khẩu phần thức ăn - thử nghiệm 4 55

Bảng 3.9: Phân tích khẩu phàn thức ăn - thử nghiệm 5 56

Bảng 3.10: Phân tích khẩu phần thức ăn - thử nghiệm 6 57

Trang 7

Hình 1.1 Sơ đồ lai ghép 1 điểm c ắ t 6 Hình 1.2 Minh họa bánh xe R u let 12 Hình 2.2 Biểu diễn giá trị của A 25

Trang 8

MỞ ĐẦU

1 Lý do chọn đề tài

Cho đến nay đã có nhiều thuật toán tìm lời giải tối ưu cho nhiều lĩnh vực bài toán, ví dụ như trong bài toán tìm kiếm trên danh sách, cây, đồ thị các nhà khoa học đã đưa ra thuật toán tìm kiếm quay lui, vét cạn Các thuật toán này tuy tìm được nghiệm tối ưu nhưng chỉ áp dụng được cho các bài toán có không gian tìm kiếm nhỏ

Đe khắc phục các hạn chế như trên các nhà khoa học cũng đã đưa ra các thuật toán tìm kiếm heurictics, đây là thuật toán có sử dụng các tri thức về lĩnh vực bài toán để nhằm giảm thòi gian tìm kiếm Tuy nhiên các thuật toán này lại vấp phải một vấn đề là các tri thức thường là kinh nghiệm của con người, do đó nó có thể chưa chính xác, đày đủ và điều này có thể dẫn tới sự chệch hướng trong quá trình tìm kiếm

Giải thuật tiến hóa cung cấp những kỹ thuật tìm kiếm tối ưu giúp ta giải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lòi giải tối

ưu trên các không gian lớn, nguyên tắc cơ bản của giải thuật tiến hóa là mô phỏng quá trình tiến hóa của tự nhiên Cho đến nay lĩnh vực nghiên cứu về giải thuật tiến hóa đã thu được nhiều thành tựu, giải thuật tiến hóa được ứng dụng trong nhiều lĩnh vực phức tạp, các vấn đề khó có thể giải quyết được bằng phương pháp thông thường

Một trong những vấn đề đang được quan tâm hiện nay là bài toán tối ưu phi tuyến tổng quát:

Tìm X để hàm/(x), x=(xi, Rq đạt giá trị tối ưu thỏa:

p>0 phương trình gj(x)=0,j=0, ,p và

m-p bất phương trình hj(x),j=p+ 1 , ,m

Cho đến nay vẫn chưa có phương pháp nào giúp xác định cực tậ cho bài toán tối ưu tổng quát, chỉ khi hàm mục tiêu và các ràng buộc gj và hj thỏa một

Trang 9

số tính chất nào đó thì đôi khi mới tìm được tối ưu toàn cục.

Với khả năng tiềm tàng của giải thuật di truyền, đề tài luận văn sẽ đi nghiên cứu cơ sở toán học và xây dựng giải thuật di truyền để giải bài toán tối

ưu phi tuyến như đã đề cập Ngoài ra đề tài sẽ nghiên cứu triển khai một ứng dụng lập khẩu phần ăn cho gia súc ừên cơ sở tối ưu giá thành sản xuất

2 Mục đích nghiên cứu

- Nghiên cứu giải thuật di truyền giải bài toán tối ưu đa ràng buộc

- Nghiên cứu ứng dụng giải thuật di truyền trong bài toán tối ưu hóa khẩu phàn thức ăn chăn nuôi

3 Nhiệm vụ nghiên cứu

- Nghiên cứu các khái niệm cơ bản và cơ sở toán học của giải thuật di truyền

- Nghiên cứu cơ chế hoạt động của giải thuật di truyền trong bài toán tìm cực tri hàm nhiều biến

- Nghiên cứu bài toán tối ưu phi tuyến đa ràng buộc và xây dựng cơ sở toán học và giải thuật di truyền giải bài toán này

4 Đổi tượng và phạm vi nghiên cứu

- Nghiên cứu các khái niệm cơ bản của giải thuật tiến hóa

- Nghiên cứu cơ chế hoạt động của giải thuật di truyền

- Xây dựng giải thuật di truyền cho bài toán tối ưu hóa hàm phi tuyến

- Nghiên cứu bài toán lập khẩu phàn ăn cho gia súc và ứng dụng giải thuật di truyền trong bài toán lập khẩu phần ăn cho gia súc

5 Đóng góp mới của đề tài

Luận văn hệ thống các kiến thức về giải thuật di truyền, xây dựng giải thuật giải bài toán tối ưu hóa đa ràng buộc và ứng dụng giải thuật vào bài toán tối ưu hóa khẩu phàn thức ăn chăn nuôi

6 Phương pháp nghiên cứu

- Nghiên cứu lý thuyết kết hợp với cài đặt thực nghiệm

Trang 10

Chương 1 CÁC KHÁI NIỆM C ơ BẢN VỀ GIẢI THUẬT DI TRUYỀN

1.1 Mở đầu

Giải thuật di truyền (Gennetic Algoritìim, viết tắt là GA) là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán khác nhau dựa trên cơ chế chọn lọc tự nhiên của ngành di truyền học

Trong cơ thể sinh vật, các gen liên kiết với nhau theo cấu trúc dạng chuỗi gọi là nhiễm sắc thể, nó đặc trưng cho mỗi loài và quyết định sự sống còn của

cơ thể đó

Một loài muốn tồn tại phải thích nghi với môi trường, cơ thể sống nào thích nghi với môi trường hơn thì sẽ tồn tại và sinh sản với số lượng ngày càng nhiều hơn, trái lại những loài không thích nghi với môi trường sẽ dàn dần bị diệt chủng

Môi trường tự nhiên luôn biến đổi, nên cấu trúc nhiễm sắc thể cũng thay đổi để thích nghi với môi trường, và ở thế hệ sau luôn có độ thích nghi cao hơn ở thế hệ trước, cấu trúc này có được nhờ vào sự trao đổi thông tin ngẫu nhiên với môi trường bên ngoài hay giữa chúng với nhau

Dựa vào đó các nhà khoa học máy tính xây dựng nên một giải thuật tìm kiếm tinh tế dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hóa, gọi là giải thuật di truyền

Các nguyên lý cơ bản của giải thuật được tác giả Holland đề xuất lần đàu vào năm 1962 Nen tảng toán học của giải thuật GA được tác giả công bố

trong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất

bản năm 1975

Giải thuật GA được xem như một phương pháp tìm kiếm có bước chuyển

Trang 11

ngẫu nhiên mang tính tổng quát để giải các bài toán tối ưu hoá [1,3,4,9].

1.2 Các khái niệm cơ bản của giải thuật di truyền

1.2.1 Giới thiệu chung

Giải thuật GA thuộc lớp các giải thuật tìm kiếm tiến hoá Khác với phần lớn các giải thuật khác tìm kiếm theo điểm, giải thuật GA thực hiện tìm kiếm

song song ừên một tập được gọi là quần thể các lời giải có thể.

Thông qua việc áp dụng các toán tử di truyền, giải thuật GA tráo đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả năng kết thúc giải thuật tại một cực ừị địa phương Trong thực tế, giải thuật GA đã được áp dụng thành công trong nhiều lĩnh vực

Giải thuật GA làn đầu được tác giả Holland giới thiệu vào năm 1962

Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt

nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực

thi, quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn.

Giải thuật GA duy trì một quần thể các lòi giải có thể của bài toán tối ưu hoá Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các

gien Giá trị của các gien có trong chuỗi được lấy từ một bảng các ký tự được định nghĩa trước Mỗi chuỗi gien được liên kết với một giá trị được gọi là độ phù hợp Độ phù họp được dùng trong quá trình chọn lọc.

Cơ chế chọn lọc đảm bảo các cá thể có độ phù họp tốt hơn có xác suất được lựa chọn cao hơn Quá trình chọn lọc sao chép các bản sao của các cá

thể có độ phù hợp tốt vào một quần thể tạm thời được gọi là quần thể bổ mẹ

Các cá thể trong quần thể bố mẹ được ghép đôi một cách ngẫu nhiên và tiến

hành lai ghép tạo ra các cá thể con.

Sau khi tiến hành quá trình lai ghép, giải thuật GA mô phỏng một quá

trình khác trong tự nhiên là quá trình đột biến, trong đó các gien của các cá

thể con tự thay đổi giá trị với một xác suất nhỏ

Trang 12

Tóm lại, có 6 khía cạnh cần được xem xét, trước khi áp dụng giải thuật

GA để giải một bài toán, cụ thể:

+ Mã hoá lời giải thành cá thể dạng chuỗi

+ Hàm xác định giá tn độ phù hợp

+ Sơ đồ chọn lọc các cá thể bố mẹ

+ Toán tử lai ghép

+ Toán tử đột biến

+ Chiến lược thay thế hay còn gọi là toán tử tái tạo

Có nhiều lựa chọn khác nhau cho từng vấn đề ttên Phần tiếp theo sẽ đưa

ra cách lựa chọn theo J.H Holland khi thiết kế phiên bản giải thuật GA đầu

tiên Giải thuật này được gọi là giải thuật di truyền đơn giản (SGA).

1.2.2 Giải thuật di truyền đơn giản

Trong giải thuật di truyền của mình J H Holland sử dụng mã hoá nhị phân để biểu diễn các cá thể, lý do là phần lớn các bài toán tối ưu hoá đều có thể được mã hoá thành chuỗi nhị phân khá đơn giản [2,3]

Hàm mục tiêu, hàm cần tối ưu, được chọn làm cơ sở để tính độ phù hợp

của từng chuỗi cá thể Giá tri độ phù hợp của từng cá thể sau đó được dùng để tính toán xác suất chọn lọc

Sơ đồ chọn lọc trong giải thuật SGA là sơ đồ chọn lọc tỷ lệ Trong sơ đồ

chọn lọc này, cá thể có độ phù hợp /; có xác suất chọn lựa

ở đây N là số cá thể có trong quần thể.

Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt Giả sử chuỗi cá thể có độ dài L (có L bít), toán tử lai ghép được tiến hành qua

hai giai đoạn là:

+ Hai cá thể trong quần thể bố mẹ được chọn một cách ngẫu nhiên với phân bố xác suất đều

Trang 13

+ Sinh một số ngẫu nhiên j trong khoảng [1, L-1] Hai cá thể con được tạo ra bằng cách sao chép các ký tự từ 1 đến j và hoán đổi các ký tự từ 7 + 1

Hình 1.1 Sơ đồ lai ghép 1 điểm cắt

Điều đáng lưu ý là giải thuật GA không yêu càu toán tử lai ghép luôn xảy ra đối với hai cá thể bố mẹ được chọn Sự lai ghép chỉ xảy ra khi số ngẫu nhiên tương ứng với cặp cá thể bố mẹ được sinh ra trong khoảng [0, 1) không

lớn hơn một tham số Pc (gọi là xác suất lai ghép) Nếu số ngẫu nhiên này lớn

hơn Pc, toán tử lai ghép không xảy ra Khi đó hai cá thể con là bản sao trực tiếp của hai cá thể bố mẹ

Tiếp theo, J H Holland xây dựng toán tử đột biến cho giải thuật SGA

Toán tử này được gọi là toán tử đột biển chuẩn Toán tử đột biến duyệt từng

gien của từng cá thể con được sinh ra sau khi tiến hành toán tử lai ghép và

tiến hành biến đổi giá tri từ 0 sang 1 hoặc ngược lại với một xác suất pm được gọi là xác suất đột biến.

Cuối cùng là chiến lược thay thế hay còn gọi là toán tử tái tạo Trong giải thuật SGA, quàn thể con được sinh ra từ quàn thể hiện tại thông qua 3 toán tử

là chọn lọc, lai ghép và đột biến thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo

Trang 14

Sơ đồ tổng thể của giải thuật được thể hiện qua thủ tục GSA() trình bày dưới đây:

Thủ tục SGAO /* G iả i b à i to á n tổ i ưu * /

do { // Chuyển đổi giả trị hàm mục tiêu thành giá trị độ phù họp và

II tiến hành chọn lọc tạo ra quần thể bổ mẹ p parent

p parent = c h ọ n _ lọ c (Pk ) Ị

// Tiến hành lai ghép và đột biển tạo ra quần thể cá thể con p child

Pchild = đ ộ t_ b iến (la i_ g h ép (Pparent));

// Thay thế quần thể hiện tại bằng quần thể cá thể con

k = k + 1;

P k = Pchildỉ

tính_hàm_mục_tiêu (Pk);

// Neu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần

//thểP ỵ lớn hon giá trị hàm mục tiêu của xbest thì thay thể lời giải

X = tốt_nhất (Pk);

Trang 15

if(o b j(X )> o b j(X best) ) X best = X;

} while ( k < G); /* Tiến hành G thể hệ * /

return (Xbest); /* Trả về lời giải của giải thuật GA*/

}

Giải thuật di truyền phụ thuộc vào bộ 4 (N, Pc, p m, G), ừong đó:

N - số cấ thể trong quần thể; Pc - xác suất lai ghép; pm - xác suất đột biến; G - số thế hệ cần tiến hoá.

Đó chính là các tham số điều khiển của giải thuật SGA Cá thể có giá trị hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng của giải thuật SGA Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên

Ví dụ: xét bài toán tìm max của hàm f ( x ) = X với X là số nguyên trên đoạn [0,31]

Để sử dụng giải thuật di truyền ta mã hóa mỗi số nguyên X trong đoạn [0,31] bởi một số nhị phân có độ dài 5, chẳng hạn chuỗi 11000 là mã của số nguyên 24

Hàm thích nghi được xác định chính là hầmf(x)=x2.

Quần thể ban đầu gồm 4 cá thể (kích thước quần thể n=4)

Thực hiện quá trình chọn lọc ta có bảng sau, trong bảng này ta thấy cá thể 2 có độ thích nghi cao nhất nên nó được chọn 2 lần, cá thể 3 có độ thích nghị thấp nhất không được chọn làn nào, mỗi cá thể 1 và 4 được chọn 1 làn

Bảng 1.1 Minh họa quá trình chọn lọc

Sô lân được chọn

Trang 16

Thực hiện quá trình lai ghép vói xác suất lai ghép P c = l, cả 4 cá thể sau chọn lọc đều được lai ghép.

Ket quả lai ghép được cho trong bảng sau, trong bảng này, chuỗi thứ nhất được lai ghép với chuỗi thứ hai với điểm lai ghép là 4, hai chuỗi còn lại được lai ghép với nhau với điểm ghép là 2

Bảng 1.2 Minh họa quá trình lai ghép Quân thê sau

chon loc • •

Đỉêm ghép

Quân thê sau lai ghép

X

Độ thích nghi f(x)=x2

Để thực hiện quá trình đột biến, ta chọn xác suất đột biến pm=0.001, tức

là ta hy yọng có 5 X 4 X 0.001 = 0.02 bit được đột biến, do đó sẽ không có bit nào được đột biến

Như vậy thế hệ quần thể mói là quàn thể sau lai ghép

Ta thấy rằng trong thế hệ ban đàu độ thích nghi cao nhất là 576 và độ thích nghi trung bình là 292 Còn trong thế hệ mới, độ thích nghi cao nhất là

729 và độ thích nghi trung bình là 438 Như vậy chỉ qua một thế hệ, các cá thể

đã “tốt lên” rất nhiều

1.3 Cơ chế hoạt động của giải thuật di truyền

Giải thuật di truyền với biểu diễn nhiễm sắc thể bằng mã hóa nhị phân đã được đề cập sơ bộ trong chương 1 Trong phần này chúng ta sẽ tìm hiểu sâu hơn về giải thuật di truyền này thông qua một bài toán tối ưu số [4,9]

Không làm mất tính tổng quát, ta giả định bài toán tối ưu là bài toán tìm

cực đại của hàm nhiều biến / Bài toán tìm cực tiểu hàm g chính là bài toán

Trang 17

tìm cực đại h à m /= -g, hơn nữa ta có thể giả định hàm mục tiê u /c ó giá trị dương trên miền xác định của nó, nếu không ta có thể cộng thêm một hằng số

c dương

Cụ thể bài toán được đặt ra như sau: Tìm cực đại một hàm k biến

Giả sử thêm là mỗi biến Xị có thể nhận giá trị ừong miền

Di = [ai,bi\ ç= R và/ộCl, , JCk) > 0 với mọi Xi € Dị Ta muốn tối ưu hàm /vớ i độ chính xác cho trước: giả sử cần n số lẻ đối với giá trị của các biến.

Để đạt được độ chính xác như vậy mỗi miền Dị cần được phân cắt thành (bị - a¡) X 10n miền con bằng nhau, gọi m là số nguyên nhỏ nhất sao cho

{bị - a, ) X10" < 2 m‘ - 1

Như vậy mỗi biến Xi được biểu diễn bằng một chuỗi nhị phân có chiều dài Biểu diễn như trên rõ ràng thoả mãn điều kiện về độ chính xác theo yêu cầu Công thức sau tính giá ừị thập phân của mỗi chuỗi nhị phân biểu

Bây giờ, mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng một

chuỗi nhị phân có chiều dài m = , m\ bit đầu tiên biểu diễn giá trị trong

khoảng [ai,bí\, m 2 bit kế tiếp biểu diễn giá trị trong khoảng [a2,b2], .

Để khởi tạo quàn thể, chỉ cần đơn giản tạo pop_sỉze nhiễm sắc thể ngẫu nhiên theo từng bit

Phần còn lại của giải thuật di truyền rất đơn giản, trong mỗi thế hệ, ta lượng giá từng nhiễm sắc thể (tính giá trị hàm /ừ ên các chuỗi biến nhị phân đã được giải mã), chọn quần thể mới tìioả mãn phân bố xác suất dựa trên độ thích nghi và thực hiện các phép đột biến và lai để tạo ra các cá thể thế hệ mới

Trang 18

Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắc thể tốt nhất sẽ được xem như lời giải của bài toán tối ưu (thường là toàn cục) Thông thường ta cho dừng giải thuật sau một số bước lặp cố định tuỳ ý tuỳ thuộc vào điều kiện tốc độ và tài nguyên máy tính.

Đối với tiến trình chọn lọc (chọn quàn thể mới thoả phân bố xác suất dựa trên các độ thích nghi), ta dùng bánh xe quay Rulet với các rãnh được định kích thước theo độ thích nghi

Ta xây dựng bánh xe Rulet như sau (giả định rằng các độ thích nghi đều dương)

+ Tính độ thích nghi eval(vi) của mỗi nhiễm sắc thể Vj (ỉ = 1, , popjsize)

+ Tìm tổng giá ừị thích nghi toàn quần thể: F = 'ỵj°^~sizeeval(v¡ )

+ Tính xác suất chọnPi cho mỗi nhiễm sắc thể Vi, (i = 1 , ,pop_size):

p¡ - eval(v¡ ) / F

+ Tính vị trí xác suất q¡ của mỗi nhiễm sắc thể Vị, (ỉ = 1 , ,pop_size):

Vi = z ‘M Pi

Tiến trình chọn lọc thực hiện bằng cách quay bánh xe Rulet pop_size

làn, mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quàn thể mới theo cách sau:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0 1]

+ Nếu r < qi thì chọn nhiễm sắc thể đàu tiên V i , ngược lại thì chọn nhiễm sắc thể thứ i, Vị (2 < i <pop_size) sao cho qn< r<qi

Như vậy có thể có một số nhiễm sắc thể được chọn nhiều lần, điều này là phù hợp vì các nhiếm sắc thể tốt nhất càn có nhiều bản sao hơn, các nhiễm sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất thì chết đi

Trang 19

Hình 1.2 Minh họa bánh xe rulet

Bây giờ ta có thể áp dụng phép toán di truyền: kết họp và lai ghép các cá thể trong quần thể vừa được chọn từ quần thể cũ như trên

Một trong những tham số của giải thuật là xác suất lai p c Xác suất này cho ta số nhiếm sắc thể pop_sỉzexpc mong đợi, các nhiễm sắc thể này được

dùng trong tác vụ lai tạo Ta tiến hành theo cách sau đây:

Đối với mỗi nhiễm sắc thể trong quần thể mới:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0,1]

+ Nếu r < P c, hãy chọn nhiễm sắc thể đó để lai tạo

Bây giờ ta ghép đôi các nhiễm sắc thể đã được chọn một cách ngẫu nhiên: đối với mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên

một số nguyên pos trong khoảng [1, ra-1] (m là tổng chiều dài - số bit - của một nhiễm sắc thể), số pos cho biết vị trí của điểm lai Hai nhiễm sắc thể:

• -bposbpos+ 1 • • -^m ) V ã (C iC 2,- • • CposCpos+1 • • 'Crrò

được thay bằng một cặp con của chúng:

• ■ bposCpos+1 • • • Cm) V ä (C jC 2 • ■ Cpo¡bpos+1 • • • ^ m )

Trang 20

Phép toán kế tiếp là phép đột biến, được thực hiện trên cơ sở từng bit Một tham số khác của giải thuật là xác suất đột biến p m, cho ta số bit đột biến

thể) có cơ hội bị đột biến như nhau, nghĩa là đổi từ 0 thành 1 hoặc ngược lại

Vì thế ta tiến hành theo cách sau đây:

Đối với mỗi nhiễm sắc thể trong quàn thể hiện hành (nghĩa là sau khi lai)

và đối với mỗi bit trong nhiễm sắc thể:

+ Phát sinh ngẫu nhiên một số r ừong khoảng [0,1]

+ Nếu r<pm hãy đột biến bit đó

Sau quá trình chọn lọc, lai và đột biến, quàn thể mới đến lượt lượng giá

kế tiếp của nó Lượng giá này được dùng để xây dựng phân bố xác suất (cho tiến trình chọn lựa kế tiếp), nghĩa là để xây dựng lại bánh xe Rulet với các rãnh được định kích thước theo các giá ừị thích nghi hiện hành Phần còn lại của tiến hoá chỉ là lặp lại chu trình của những bước trên

Toàn bộ tiến trình sẽ được minh hoạ trong một ví dụ cực đại hoá hàm:

/( * ! ,JC2) = 21.5 + JC1 sin( Anxx) + x2 sin( 20 ĩỉx 2 )

Giả sử kích thước quần thể pop_size = 20, các xác suất di truyền tương

ứng là p c = 0.25 và p m = 0.01.

Giả sử càn tính chính xác đến 4 số lẻ đối với mỗi biến Miền của biến Xi

chiều dài 15.1, điều kiện chính xác đòi hỏi đoạn [-3.0, 12.1] cần được chia thành các khoảng có kích thước bằng nhau, ít nhất là 15.1x10000 khoảng, điều này cần 18 bit làm phần đâu tiên của nhiễm sắc thể: 217 < 151000 < 218

Miền của biến x2 có chiều dài là 1.7, điều kiện chính xác đòi hỏi đoạn

[4.1,5.8] cần được chia thành các khoảng có kích thước bằng nhau là 1.7x10000 khoảng, điều này nghĩa là cần 15 bit làm thành phần cuối của nhiễm sắc thể: 214 < 17000 < 215

Chiều dài toàn bộ nhiễm sắc thể (vectơ lời giải) là m =18+15 = 33.

Trang 21

Để cực đại hoá hàm /bằng giải thuật di truyền ta tạo ra một quần thể có

pop_sỉze = 20 nhiễm sắc thể Cả 33 bit trong tất cả các nhiễm sắc thể đều

được khởi tạo ngẫu nhiên

Giả sử sau tiến trình khởi tạo ta có quần thể sau đây:

Trang 22

Rõ ràng nhiễm sắc thể Vi5 mạnh nhất và nhiễm sắc thể v2 yếu nhất.

Tiếp theo ta xây dựng bánh xe Rulet cho tiến trình chọn lọc Tổng độ thích nghi của quần thể là:

Trang 24

Tiếp theo ta quanh bánh xe Rulet 20 lần, mỗi lần chọn một nhiễm sắc thể cho quần thể mới Giả sử thứ tự (ngẫu nhiên) của 20 số trong khoảng [0,1]được phát sinh là:

Số đầu tiên r = 0.513870 lớn hơn qiữ và nhỏ hơn q n ,nghĩa là nhiễm sắc

thể Vu được chọn vào quàn thể mới, số thứ hai r = 0.175741 lớn hơn q3 nhỏ

hơn q4, nghĩa là v4 được chọn cho quần thể mới,

Như vậy quần thể mới gồm các nhiễm sắc thể sau:

Trang 25

25% nhiễm sắc thể sẽ tham gia lai tạo Ta tiến hành theo cách sau:

+ Đối với mỗi nhiễm sắc thể trong quần thể mới ta phát sinh ngẫu nhiên

một số r trong khoảng [0,1],

+ Nếu r < 0.25 ta chọn một nhiễm sắc thể cho trước để lai tạo

Giả sử thứ tự các số ngẫu nhiên là

Trang 26

Cặp nhiễm sắc thể đầu tiên là:

Trang 27

Phép toán kế tiếp, đột biến thực hiện trên cơ sở từng bit một Xác suất

đột biến p m = 0.01, vì thế ta hy vọng 1/100 số bit sẽ qua đột biến Có 660 bit

thế hệ

Mỗi bit có cơ hội đột biến ngang nhau, nên với mỗi bit trong quần thể ta

phát sinh một số ngẫu nhiên r trong khoảng [0,1], nếu r < 0.01 thì ta đột biến

bit này

Điều này có nghĩa ta phát sinh 660 số ngẫu nhiên Giả sử có 5 trong 660

số này nhỏ hơn 0.01 (bảng dưới)

Bảng 1.3 Minh họa quá trình đột biến

V ịtr íb it Sô ngâu nhiênR 1 * A

Trang 30

Chương 2 GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN TỐI ƯU ĐA RÀNG BUỘC

2.1 Giải thuật di truyền với biểu diễn thực

2.1.1 Biểu diễn nhiễm sắc thể bằng số thực

Trong biểu diễn thực, mỗi véc tơ nhiễm sắc thể được mã hoá thành vectơ thực có cùng chiều dài với véc tơ lời giải Mỗi phần tử được chọn lúc khởi tạo sao cho thuộc miền xác định của nó, và các toán tử được thiết kế để bảo toàn các ràng buộc này [1,3,4] (không có vấn đề như vậy ừong biểu diễn nhị phân, nhưng thiết kế của các toán tử này khá đơn giản, ta không thấy điều đó là bất lợi, mặt khác nó lại cung cấp các lợi ích khác được trình bày dưới đây)

Ví dụ: Xét bài toán cực đại hàm 4 biến/(jci, x2, , x4) với miền ràng

Trang 31

Sự chính xác của cách tiếp cận như thế chỉ tuỳ thuộc máy tính nhưng nói chung là tốt hơn nhiều so với biểu diễn nhị phân Đương nhiên ta luôn có thể tăng độ chính xác của biểu diễn nhị phân khi thêm các bit, nhưng điều đó làm giải thuật chậm đi đáng kể như đã thảo luận ở phàn trước.

Thêm nữa biểu diễn thực có khả năng biểu diễn một miền rất rộng (hoặc các trường hợp miền xác định không biết trước cụ thể) Mặt khác trong biểu diễn nhị phân, độ chính xác sẽ giảm khi tăng kích thước miền, do chiều dài nhị phân cố định cho trước

Các toán tử ta sẽ sử dụng rất khác các toán tử cổ điển, vì chúng làm việc ừong một không gian khác (có giá tậ thực) Hơn nữa một vài toán tử không đồng bộ, nghĩa là hành động của chúng phụ thuộc vào tuổi của quần thể (tuổi của quần thể hiện tại là số thứ tự của thế hệ đang xét)

2.1.2 Nhóm toán tử đôt biến

+ Đột biến đồng bộ:

Đột biến đồng bộ được định nghĩa tương tự với định nghĩa của phiên bản

cổ điển: nếu sv =<V1, vn> là nhiễm sắc thể, thì mỗi phần tử vk có cơ hội ừải

qua tiến trình đột biến ngang nhau

Kết quả của một lần ứng dụng toán tử này là véc tơ ỉ'v =<V1,

vn> và V fe là giá trị ngẫu nhiên trong miền tham số tương ứng

Ví dụ: Giả sử phần tử thứ 3 của véc tơ

S 3 = (-0.221, -0.901, -4.361, -0.010) được chọn cho đột biến

Biết *3 e [-4.631,-3.631]

Do đóx 3 được chọn ngẫu nhiên trong [-4.631, -3.631], chẳng hạnx ’i= -4.12.

+ Đột biến không đồng bộ:

Đột biến không đồng bộ là một ừong những toán tử có nhiệm vụ về tìm

độ chính xác của hệ thống Nó được định nghĩa như sau: nếu s \ = < V1, vm>

là nhiễm sắc thể và phần tử Vjt được chọn đột biến này (miền của Vit là [4 ,uk ]).

Trang 32

Kết quả của đột biến không đồng bộ là một vectơ s t+1v = < V 1 , , V v m> với k € [1, , rĩ] và

\vk + A (í, uk - v k) neu chu so ngau nhỉen ỉa 0

vk = 1 [ vk - A (í, vk - l k) neu chu so ngau nhỉen la 1

Trong đó, hàm A(t, ỵ) trả về giá trị trong khoảng [0, y ] sao cho xác suất

của A (í, y) gần bằng 0 sẽ tăng khi t tăng Xác suất này buộc toán tử tìm kiếm không gian thoạt đầu là đồng bộ (khi t nhỏ) và rất cục bộ ở những giai đoạn

sau Ta sử dụng hàm sau:

A(í,y) = y x ( l - r T ), với r là số ngẫu nhiên trong khoảng [0 1], T là

số thế hệ tối đa và b là tham số hệ thống xác định mức độ không đồng bộ.Hình dưới đây biểu diễn giá tri của À đối với hai lần được chọn, hình này hiển thị rõ ràng cách ứng xử của toán tử

At, ỳ)

Hình 2.1 Biểu diễn giá trị của A

Hơn nữa ngoài cách áp dụng đột biến chuẩn ta có một số cơ chế mới: đột biến không đồng bộ cũng được áp dụng cho một vectơ lời giải thay vì chỉ một phàn tử duy nhất của nó

Ví dụ: Giả sử phần tử thứ 2 của vectơ

Ä4 = (-0.370, -0.950, -4.071, -0.051) được chọn cho đột biến

Trang 33

2.1.3 Nhóm toán tử lai tạo

+ Lai đom giản: Phép lai đơn giản được xác định như sau:

Neu s \ =<V1, vm>s‘w =<Wị, wm> được lai ghép ở vị trí thứ k,

+ Lai số học đơn: Phép lai số học đơn được xác định như sau:

Neu Ä V =< VI, vm> và s‘w = < W I , w m> được lai ghép ứiì kết quả là:

Ngày đăng: 17/06/2016, 20:49

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Sơ đồ lai ghép 1 điểm cắt - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Hình 1.1. Sơ đồ lai ghép 1 điểm cắt (Trang 13)
Bảng 1.2. Minh họa quá trình lai ghép Quân thê sau - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 1.2. Minh họa quá trình lai ghép Quân thê sau (Trang 16)
Hình 1.2. Minh họa bánh xe rulet - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Hình 1.2. Minh họa bánh xe rulet (Trang 19)
Bảng 1.3.  Minh họa quá trình đột biến - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 1.3. Minh họa quá trình đột biến (Trang 27)
Bảng 1.4. Các vị trí đột biến - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 1.4. Các vị trí đột biến (Trang 28)
Hình 2.1. Biểu diễn giá trị của A - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Hình 2.1. Biểu diễn giá trị của A (Trang 32)
Bảng 3.1: Bảng dinh dưỡng tại các thời kỳ nuôi - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.1 Bảng dinh dưỡng tại các thời kỳ nuôi (Trang 42)
Bảng 3.2. Khuyến cáo chất dinh dưỡng cần thiết trong một khẩu phần - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.2. Khuyến cáo chất dinh dưỡng cần thiết trong một khẩu phần (Trang 43)
Bảng 3 3 : Thành phần thức ăn thường sử dụng trong khẩu phần thức ăn - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3 3 : Thành phần thức ăn thường sử dụng trong khẩu phần thức ăn (Trang 44)
Bảng 3.5: Phân tích khẩu phần thức ăn -  thử nghiệm 1 - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.5 Phân tích khẩu phần thức ăn - thử nghiệm 1 (Trang 59)
Bảng 3.6: Phân tích khẩu phần thức ăn -  thử nghiệm 2 - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.6 Phân tích khẩu phần thức ăn - thử nghiệm 2 (Trang 60)
Bảng 3.7: Phân tích khẩu phần thức ăn -  thử nghiệm 3 - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.7 Phân tích khẩu phần thức ăn - thử nghiệm 3 (Trang 61)
Bảng 3.9: Phân tích khẩu phần thức ăn -  thử nghiệm 5 - Luận văn giải thuật di truyền giải bài toán tối ưu đa ràng buộc
Bảng 3.9 Phân tích khẩu phần thức ăn - thử nghiệm 5 (Trang 63)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w