Tải bản đầy đủ (.pdf) (94 trang)

Nghiên cứu ứng dụng giả thuật di truyền cho bài toán điều khiển tối ưu đa mục tiêu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 94 trang )




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

1


LỜI CAM ĐOAN

Tôi xin cam đoan: Đề tài “Nghiên cứu ứng dụng giải thuật di truyền cho
bài toán điều khiển tối ƣu đa mục tiêu” do PGS. TS Lại Khắc Lãi hƣớng dẫn là
công trình nghiên cứu của riêng tôi. Tất cả các tài liệu tham khảo đều có nguồn gốc,
xuất sứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng nhƣ nội
dung trong đề cƣơng và yêu cầu của thầy giáo hƣớng dẫn, nếu sai tôi hoàn toàn xin
chịu trách nhiệm trƣớc hội đồng khoa học và trƣớc pháp luật.



Thái Nguyên, ngày 30/07/2010
Tác giả luận văn


Đặng Ngọc Trung












Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2
LỜI CẢM ƠN

Sau sáu tháng nghiên cứu, làm việc khẩn trƣơng, với tinh thần trách nhiệm
cao, đƣợc sự động viên, giúp đỡ và hƣớng dẫn tận tình của thầy giáo hƣớng dẫn
luận văn với đề tài “Nghiên cứu ứng dụng giải thuật di truyền cho bài toán điều
khiển tối ƣu đa mục tiêu” đã hoàn thành đúng thời hạn.
Tác giả xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hƣớng dẫn PGS. TS Lại Khắc Lãi đã tận tình, giúp đỡ tác giả
hoàn thành luận văn này.
Khoa đào tạo sau đại học, các thầy cô giáo thuộc Bộ môn Kỹ thuật điện –
khoa Điện - Trƣờng Đại học Kỹ thuật Công nghiệp đã tạo điều kiện và giúp đỡ tác
giả trong suốt quá trình học tập cũng nhƣ trong suốt quá trình nghiên cứu thực hiện
luận văn.
Toàn thể đồng nghiệp, bạn bè, gia đình và ngƣời thân đã quan tâm động viên
tác giả trong suốt quá trình học tập và hoàn thành luận văn này.



Tác giả luận văn




Đặng Ngọc Trung







Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

3
MỤC LỤC
Nội dung
Trang phụ bìa
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC BẢNG, HÌNH VẼ, ĐỒ THỊ 7
MỞ ĐẦU 8
1. Lý do chọn đề tài. 8
2. Mục đích của đề tài 9
3. Đối tƣợng và phạm vi nghiên cứu 9
4. Ý nghĩa khoa học và thực tiễn của đề tài 9
5. Cấu trúc của luận văn 10
Chương 1 TỔNG QUAN VỀ GIẢI THUẬT DI TRUYỀN 11
1.1. CÁC GIẢI THUẬT TÍNH TOÁN TIẾN HÓA-GIẢI THUẬT DI TRUYỀN 11
1.1.1. Khái quát. 11
1.1.2. Giải thuật di truyền kinh điển. 13
1.1.2.1. Mã hóa – Biểu diễn các biến bằng véctơ nhị phân. 14
1.1.2.2. Toán tử chọn lọc. 15

1.1.2.3. Toán tử lai ghép. 17
1.1.2.4. Toán tử đột biến. 19
1.1.2.5. Hàm phù hợp. 20
1.1.3. Giải thuật di truyền mã hóa số thực. 23
1.1.3.1. Toán tử chọn lọc. 24
1.1.3.2. Toán tử lai ghép. 24
1.1.3.3. Toán tử đột biến. 26
1.2. CHIẾN LƢỢC TIẾN HOÁ 27
1.2.1. Tái tổ hợp trong ES 27
1.2.2. Đột biến trong ES. 28



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

4
1.2.3. Chọn lọc tạo sinh trong ES. 28
1.3. MỘT SỐ KỸ THUẬT ĐỀ XUẤT 29
1.3.1. Phân tích các dạng lai ghép kinh điển trong RCGA. 29
1.3.2. Cải biên toán tử lai ghép SBX. 31
1.3.2.1. SBX có thể biểu diễn nhiều dạng toán tử lai ghép khác. 31
1.3.2.2. Ý nghĩa của tham số

. 32
1.3.2.3 Toán tử SBX sử dụng phân phối Cauchy. 32
Kết luận chƣơng 1 33
Chương 2
LÝ THUYẾT ĐIỀU KHIỂN TỐI ƢU VÀ TỐI ƢUĐA MỤC TIÊU 34
2.1. CHẤT LƢỢNG TỐI ƢU 34
2.1.1. Đặc điểm của bài toán tối ƣu. 34

2.1.1.1. Khái niệm. 34
2.1.1.2. Điều kiện thành lập bài toán tối ƣu. 36
2.1.1.3. Tối ƣu hoá tĩnh và động. 38
2.1.2. Xây dụng bài toán tối ƣu. 39
2.1.2.1. Tối ƣu hóa không có điều kiện ràng buộc 39
2.1.2.2. Tối ƣu hóa với các điều kiện ràng buộc 40
2.1.3. Các phƣơng pháp điều khiển tối ƣu 45
2.1.3.1. Phƣơng pháp biến phân cổ điển Euler_Lagrange. 45
2.1.3.2. Phƣơng pháp quy hoạch động Bellman. 53
2.1.3.3. Nguyên lý cực tiểu Pontryagin _ Hamilton 57
2.2. TỐI ƢU ĐA MỤC TIÊU 60
2.2.1. Quy hoạch đa mục tiêu. 60
2.2.2. Một số phƣơng pháp giải. 64
2.2.2.1. Mô hình toán học của bài toán. 64
2.2.2.2. Phƣơng pháp nhƣợng bộ dần. 65
2.2.2.3. Phƣơng pháp thỏa hiệp. 65



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

5
2.2.2.4. Phƣơng pháp tìm nghiệm có khoảng cách nhỏ nhất đến nghiệm lý
tƣởng. 66
2.2.2.5. Phƣơng pháp giải theo dãy mục tiêu đã đƣợc sắp. 66
2.2.2.6. Phƣơng pháp từng bƣớc của Benayoun. 66
2.2.3. Giải thuật di truyền đa mục tiêu. 68
2.2.4. Phƣơng pháp đề xuất. 69
2.2.4.1. Giải thuật di truyền với các giá trị mục tiêu tự xác định. 69
2.2.4.2. Thuật toán tối ƣu từng mục tiêu 71

Kết luận chƣơng 2 72
Chương 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN GIẢI QUYẾT BÀI
TOÁN ĐIỀU KHIỂN TỐI ƢU ĐA MỤC TIÊU 73
3.1. SƠ ĐỒ HỆ THỐNG KHUẤY TRỘN LIÊN TỤC 73
3.1.1. Giới thiệu sơ đồ hệ thống khuấy trộn dung dịch. 73
3.1.2. Hàm truyền đạt của bộ chuyển đổi dòng điện – khí nén (I/P). 76
3.1.3. Hàm truyền đạt của van. 76
3.1.4. Hàm truyền đạt của thiết bị đo mức. 77
3.2. THIẾT LẬP BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU 77
3.2.1. Đặt bài toán. 77
3.2.2. Tính toán hai hàm mục tiêu. 78
3.3. CHƢƠNG TRÌNH TÍNH TOÁN TỐI ƢU BẰNG GIẢI THUẬT DI TRUYỀN
CHO BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU ĐIỀU KHIỂN MỨC DUNG DỊCH H
CỦA BÌNH KHUẤY TRỘN LIÊN TỤC 82
3.3.1. Lƣu đồ thuật toán thực hiện chƣơng trình……………………………… 82
3.3.2. Kết quả chạy chƣơng trình tính toán bằng giải thuật. 84
3.4. KẾT QUẢ MÔ PHỎNG TRÊN Matlab Simulink. 85
KẾT LUẬN VÀ KIẾN NGHỊ 87
TÀI LIỆU THAM KHẢO 89
PHỤ LỤC………………………………………………………………………….91
1. Khai báo hệ số k
1
. 91



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

6
2. Khai báo hệ số k

2
. 91
3. Khai báo hàm mục tiêu J
1
. 91
4. Khai báo hàm mục tiêu J
2
. 91
5. Chƣơng trình giải bài toán tối ƣu hai mục tiêu J
1
, J
2
. 92





























Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

7
DANH MỤC CÁC BẢNG, HÌNH VẼ, ĐỒ THỊ

Hình 1.1 Vòng tròn Roulette với 4 khe 4 chuỗi bảng 1.
Hình 1.2 Hàm Rastringin hai chiều.
Bảng 1.1 Mƣời cá thể của quần thể khởi tạo ngẫu nhiên.
Bảng 1.2 Kết quả của 20 lần chạy độc lập.
Hình 2.1 Sơ đồ hệ thống điều khiển.
Hình 2.2 Tối ƣu cục bộ và tối ƣu toàn cục.
Hình 2.3 Động cơ một chiều kích từ độc lập.
Hình 2.4 Đặc tính thời gian của hệ tổn hao năng lƣợng tối thiểu (a) và hệ tác
động nhanh (b).
Hình 2.5 Hàm chuyển đổi mẫu và bộ điều khiển tối ƣu.
Hình 2.6 Minh họa tập Pareto.
Hình 2.7 Minh họa phân lớp không trội.
Hình 3.1 Các biến của quá trình huấy trộn.
Hình 3.2 Thiết bị khuấy trộn.

Hình 3.3 Sơ đồ điều khiển mức của bình trộn
Hình 3.4 Sơ đồ công nghệ điều khiển mức bình trộn.
Hình 3.5 Sơ đồ khối điều khiển mức bình trộn với bộ điều khiển PD.
Hình 3.6 Lƣu đồ thuật toán
Hình 3.7 Sơ đồ mô phỏng điều khiển mức trên Simulink.
Hình 3.8 Kết quả mô phỏng với bộ giá trị thứ 9 của K
D
và K
P
trong bảng 3.1.
Hình 3.9 So sánh kết quả mô phỏng của bộ giá trị thứ 9 với bộ giá trị khác của
K
P
và K
D.

Bảng 3.1 Kết quả chạy chƣơng trình giải thuật di truyền.








Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

8

MỞ ĐẦU

1. Lý do chọn đề tài.
Trong các dây chuyền sản xuất công nghiệp hiện nay đa số các hệ thống có
nhiều tín hiệu đầu vào và nhiều tín hiệu đầu ra, do vậy các bài toán điều khiển gắn
với thực tế là là các bài toán tối ƣu đa mục tiêu. Tuy nhiên chƣa có nhiều nghiên
cứu về các bài toán này. Hiện nay các đề tài khoa học chủ yếu mới chỉ giải quyết và
ứng dụng các bài toán tối ƣu một mục tiêu. Ví dụ ta xét công nghệ gia nhiệt phôi
kim loại trong lò nung là một trong những quá trình có tham số biến đổi chậm,
trong đó các hàm mục tiêu đặt ra với lò gia nhiệt nhƣ sau: nung nhanh nhất, nung
chính xác nhất, nung ít bị ôxi hóa nhất; hoặc trong các bài toán điều khiển mức của
dây truyền sản xuất nƣớc ngọt thì các hàm mục tiêu có thể là: ổn định mức dung
dịch H chính xác nhất, thời gian ổn định nhanh nhất
Đã có nhiều phƣơng pháp tiếp cận khác nhau nhằm giải quyết các loại bài toán
này, song gần đây việc ứng dụng các giải thuật tính toán tiến hóa hứa hẹn nhiều
triển vọng. Hiện nay nghiên cứu về lĩnh vực này trong nƣớc ta chƣa nhiều, nhất là
chƣa đƣa ra đƣợc những mô hình ứng dụng thực tế cụ thể trong khi nhu cầu ứng
dụng lại rất cao.
Xuất phát từ tình hình thực tế và góp phần vào công cuộc CNH - HĐH đất
nƣớc nói chung và phát triển ngành Tự động hóa nói riêng, trong khuôn khổ của
khóa học Cao học, chuyên ngành Tự động hóa tại trƣờng Đại học Kỹ thuật Công
nghiệp Thái nguyên, đƣợc sự tạo điều kiện giúp đỡ của nhà trƣờng, khoa sau Đại
học và PGS. TS Lại Khắc Lãi, tác giả đã lựa chọn đề tài tập trung chủ yếu vào việc
xây dựng bài toán tối ƣu nhiều mục tiêu cho dây chuyền công nghệ thực tế và ứng
dụng giải thuật di truyền (Genetic Algorithm – GA) để giải quyết bài toán tối ƣu đó,
nhằm tiết kiệm thời gian và đảm bảo chất lƣợng sản phẩm đầu ra là tốt nhất với tên
đề tài là: “Nghiên cứu ứng dụng giải thuật di truyền cho bài toán điều khiển tối
ưu đa mục tiêu”.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


9
2. Mục đích của đề tài
- Xây dựng bài toán tối ƣu đa mục tiêu gắn liền với các hệ thống thực hiện nay.
- Ứng dụng giải thuật gen di truyền (GA) để tìm lời giải tối ƣu cho bài toán tối ƣu đa
mục tiêu.
- Tiếp tục nghiên cứu và hoàn thiện hơn nữa việc lựa chọn và tính toán phƣơng án
nâng cao chất lƣợng điều khiển mức cho dây chuyền sản xuất nƣớc ngọt.
3. Đối tượng và phạm vi nghiên cứu
- Nghiên cứu lý thuyết của bài toán điều khiển tối ƣu.
- Các kỹ thuật trong giải thuật gen di truyền GA.
- Các hệ thống điều khiển có nhiều đầu vào và nhiều đầu ra với các ràng buộc
và hạn chế, cụ thể là điều khiển tối ƣu đa mục tiêu cho bài toán điều hiển mức dung
dịch.
- Mô hình hóa và mô phỏng hệ thống để kiểm nghiệm kết quả nghiên cứu.
4. Ý nghĩa khoa học và thực tiễn của đề tài
a. Ý nghĩa khoa học
Bài toán tối ƣu đa mục tiêu là một hƣớng nghiên cứu mới có thể ứng dụng cho
nhiều dây chuyền công nghệ trong nhiều lĩnh vực khác nhau, nhằm tìm kiếm ra
phƣơng án tối ƣu nhất trong sản xuất và kinh doanh về các chỉ tiêu chất lƣợng nhƣ
trong ngành luyện kim, ngành hóa chất, ngành năng lƣợng Trong khi sản phẩm
đầu ra lại phụ thuộc rất nhiều vào các yếu tố trong quá trình công nghệ. Trong đề tài
này ứng dụng giải thuật di truyền nhằm giải quyết bài toán tối ƣu với hai chỉ tiêu
chất lƣợng chính trong bài toán điều khiển mức nhƣ sau:
+ Ổn định chính xác nhất: Chỉ tiêu sai lệch mức điều khiển là nhỏ nhất.
+ Thời gian ổn định nhanh nhất: Chỉ tiêu thời gian quá độ nhỏ nhất.
Bằng việc ứng dụng giải thuật di truyền vào giải quyết bài toán sẽ giúp cho
việc tính toán đƣợc thông minh hơn, nhanh gọn hơn, mềm dẻo hơn và đặc biệt có
ƣu điểm hơn hẳn trong tìm kiếm toàn cục.




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

10
b. Ý nghĩa thực tiễn
Khi đề tài hoàn thành sẽ là một tài liệu quan trọng trong việc giải quyết bài toán điều
khiển thực tế có những công nghệ tƣơng đƣơng nhƣ: sản xuất gạch men, sản xuất kính
Giải quyết bài toán tối ƣu đa mục tiêu sẽ thực sự gắn với những hệ thống thực bao
gồm nhiều đầu vào và nhiều đầu ra có những mối quan hệ ràng buộc và hạn chế mà trong
các dây chuyền sản xuất đang tồn tại. Hơn nữa nội dung của bài toán tối ƣu đa mục tiêu
này sẽ đƣợc ứng dụng trong nhiều lĩnh vực khác nhƣ: Khí tƣợng thủy văn, môi trƣờng,
chứng khoán Với giải thuật di truyền nhờ ƣu điểm của quá trình tìm kiếm cực trị toàn
cục dựa trên quá trình chọn lọc thích nghi tự nhiên và cơ chế song song ẩn, giải pháp này
sẽ cho ra kết quả tối ƣu, nhanh nhất và có tính linh hoạt cao.
5. Cấu trúc của luận văn
Luận văn gồm 3 chƣơng, 94 trang, 15 tài liệu tham khảo, 21 hình vẽ và bảng
biểu.



















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

11
Chương 1
TỔNG QUAN VỀ GIẢI THUẬT DI TRUYỀN
(Genetic Algorithm - GA)

1.1. CÁC GIẢI THUẬT TÍNH TOÁN TIẾN HÓA-GIẢI THUẬT DI TRUYỀN
1.1.1. Khái quát.
Giải thuật di truyền ( GA – Genetic Algorithm) 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 thực tế khác nhau, dựa trên cơ chế
chọn lọc của tự nhiên: Từ tập lời giải ban đầu, thông qua nhiều bƣớc tiến hóa, hình
thành tập lời giải mới phù hợp hơn, và cuối cùng dẫn đến lời giải tối ƣu toàn cục.
Trong tự nhiên, mỗi cá thể muốn tồn tại và phát triển phải thích nghi với môi
trƣờng, cá thể nào thích nghi hơn thì tồn tại, cá thể nào kém thích nghi thì bị tiêu
diệt. Trong mỗi cá thể, các gen liên kết với nhau theo cấu trúc dạng chuỗi, gọi là
nhiễm sắc thể (NST). Mỗi NST đặc trƣng cho mỗi loài và quyết định sự sống còn
của cá thể đó. Do môi trƣờng tự nhiên luôn biến đổi nên cấu trúc NST cũng thay đổi
để thích nghi với môi trƣờng và thế hệ sau luôn thích nghi hơn thế hệ trƣớc. Cấu
trúc này có đƣợc do sự trao đổi thông tin có tính ngẫu nhiên với môi trƣờng bên
ngoài hoặc giữa các NST với nhau.
Từ ý tƣởng đó, các nhà khoa học đã nghiên cứu và xây dựng nên giải thuật di
truyền dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hóa. Giải thuật di truyền sử
dụng các thuật ngữ đƣợc lấy từ di truyền học nhƣ: lai ghép, đột biến, NST, cá thể,…

Ở đây mỗi cá thể đƣợc đặc trƣng bởi một tập nhiễm sắc thể, nhƣng để đơn giản khi
trình bày, ta xét trƣờng hợp tế bào mỗi cá thể chỉ một NST. Các NST đƣợc chia nhỏ
thành các gen đƣợc sắp xếp theo một dãy tuyến tính. Mỗi cá thể (hay NST) biểu
diễn một lời giải có thể của bài toán. Một xử lý tiến hóa duyệt trên tập các NST
tƣơng đƣơng với việc tìm kiếm lời giải trong không gian lời giải của bài toán. Quá
trình tìm kiếm phải đạt đƣợc hai mục tiêu:
 Khai thác lời giải tốt nhất.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

12
 Xem xét trên toàn bộ không gian tìm kiếm.
Giải thuật di truyền có thể mô tả vắn tắt nhƣ sau:
Proceduce Giải_thuật_di_truyền;
Begin
t:=0;
Khởi tạo ngẫu nhiên quần thể P(t);
Đánh giá độ phù hợp từng cá thể trong P(t);
Repeat
t:= t + 1;
Chọn các cá thể từ P(t – 1);
Lai tạo các cá thể đã chọn tạo ra P(t) mới;
Đột biến các cá thể trong P(t) theo xác suất P
m
;
Đánh giá độ phù hợp các cá thể trong tạp P(t);
Until (thỏa mãn điều kiện dừng);
End;

Giải thích:
Tại lần lặp thứ t, GA xác định một tập hợp các lời giải có thể (các cá thể hay
NST) gọi là quần thể
 
 
12
, , ,
t t t
n
P t x x x
. Mỗi lời giải
t
i
x
đƣợc đánh giá nhằm xác
định độ phù hợp của nó. Sau đó, một tập hợp các lời giải đƣợc hình thành nhờ sự
lựa chọn các lời giải phù hợp hơn. Một số phần tử của tập hợp này đƣợc tái xuất
thông qua lai ghép và đột biến. Từ đó hình thành quần thể mới P(t + 1) với hy vọng
chứa các cá thể phù hợp hơn quần thể trƣớc đó.
Toán tử “lai ghép” kết hợp các đặc trƣng của hai NST cha và mẹ hình thành
hai NST con tƣơng ứng chẳng hạn bằng cách hoán vị các đoạn thích hợp của hai
NST cha và mẹ. Ví dụ, nếu cặp nhiễm sắc thể cha mẹ đƣợc biểu diễn dƣới dạng hai
véctơ:
   
1 1 1 1 1 2 2 2 2 2
, , , , ; , , , ,a b c d e a b c d e
thì cặp véctơ con cháu nhận đƣợc sau khi lai
ghép có thể là:
   
1 1 1 2 2 2 2 2 1 1

, , , , ; , , , , .a b c d e a b c d e




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

13
Toán tử “đột biến” thay đổi một hay một số gen của NST đƣợc chọn theo
quy tắc thay đổi ngẫu nhiên với xác suất bằng tỷ lệ đột biến.
Nhƣ vậy, bản chất GA là một giải thuật lặp, nhằm giải quyết các bài toán tìm
kiếm dựa trên cơ chế chọn lọc nhân tạo và sự tiến hóa của các gen. Trong quá trình
đó, sự sống còn của cá thể phụ thuộc vào hoạt động của các NST và quá trình chọn
lọc (tham gia vào việc tái tạo ra các chuỗi NST mới bằng cách giải mã các chuỗi
NST và tạo ra mối liên kết giữa các NST trong các cá thể khác nhau).
GA sử dụng các toán tử: chọn lọc, lai ghép, đột biến trên các NST để tạo ra
chuỗi mới. Những toán tử này thực chất là việc sao chép chuỗi, hoán vị các chuỗi
con và sinh số ngẫu nhiên.
Cơ chế của GA đơn giản nhƣng lại có sức mạnh hơn các giải thuật thông
thƣờng khác nhờ có sự đánh giá và chọn lọc sau mỗi bƣớc thực hiện. Do vậy, khả
năng tiến gần đến lời giải tối ƣu của GA sẽ nhanh hơn nhiều so với các giải thuật
khác.
Có thể nói GA khác với những giải thuật tối ƣu thông thƣờng ở những đặc
điểm sau:
 GA làm việc với tập mã của biến chứ không phải bản thân biến.
 GA thực hiện tìm kiếm trên một quần thể các cá thể chứ không phải trên một
điểm nên giảm bớt khả năng kết thúc tại một điểm tối ƣu cục bộ mà không
tìm thấy tối ƣu toàn cục.
 GA chỉ cần sử dụng thông tin của hàm mục tiêu để phục vụ tìm kiếm chứ
không đòi hỏi các thông tin hỗ trợ khác.

 Các thao tác cơ bản trong giải thuật dựa trên khả năng tích hợp ngẫu nhiên,
mang tính xác suất chứ không tiềm định.
1.1.2. Giải thuật di truyền kinh điển.
Mô tả giải thuật
Giải thuật di truyền kinh điển sử dụng mã hóa nhị phân, mỗi cá thể đƣợc mã
hóa là một chuỗi nhị phân có chiều dài cố định.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

14
1.1.2.1. Mã hóa – Biểu diễn các biến bằng véctơ nhị phân.
Ta sử dụng véctơ nhị phân có độ dài L nhƣ một NST để biểu diễn giá trị thực
của biến
 
;.
xx
x l u
Độ dài L của NST phụ thuộc vào yêu cầu cụ thể của bài toán.
Một bit mã hóa x ứng với một giá trị trong khoảng
0;2
L


sẽ đƣợc ánh xạ lên giá trị
thực thuộc miền
 
;.
xx

lu
Nhờ đó, ta có thể kiểm soát miền giá trị của các biến và
tính chính xác của chúng. Tỷ lệ co giãn của ánh xạ đƣợc tính nhƣ sau:
Giá trị x tƣơng ứng với chuỗi NST nhị phân là:
 
*.
x
x l decimal NST g

Trong đó,
 
decimal NST
là giá trị thập phân của chuỗi NST nhị phân và
2
xx
L
ul
g


.
Chẳng hạn, ta muốn tìm cực tiểu của một hàm k biến
 
1
, , : .
k
k
f x x 

Giả sử thêm là mỗi biến

i
x
có thể nhận giá trị trong miền
 
;
i i i
D a b

   
1
, , 0
k i i
f x x x D  
. Ta muốn tối ƣu hóa hàm f với độ chính xác cho trƣớc là
6 số lẻ đối với giá trị của các biến.
Rõ ràng là để đạt đƣợc độ chính xác nhƣ vậy mỗi miền
i
D
đƣợc phân cắt
thành
 
6
*10
ii
ba
miền con bằng nhau. Gọi
i
m
là số nguyên nhỏ nhất sao cho:
 

6
*10 2 1
m
ii
ba  
.
Nhƣ vậy, mỗi biến
i
x
đƣợc biểu diễn bằng một chuỗi nhị phân có chiều dài
i
m
. Biểu diễn nhƣ trên rõ ràng thỏa mãn điều kiện về độ chính xác yêu cầu. Công
thức sau tính giá trị thập phân của mỗi chuỗi nhị phân biểu diễn biến
i
x
:
 
2
1100 01 . .
21
i
ii
ii
m
ba
x a decimal





Trong đó, decimal(chuỗi
2
) cho biết giá trị thập phân của chuỗi nhị phân đó.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

15
Bây giờ, mỗi NST (là một lời giải) đƣợc biễu diễn bằng chuỗi nhị phân có
chiều dài
1
.
k
i
i
Lm



Trong đó,
i
m
bit đầu tiên biểu diễn các giá trị trong miền
 
;
ii
ab
;…;

k
m
bit cuối cùng biểu diễn các giá trị trong miền
 
;.
kk
ab

Để khởi tạo quần thể, chỉ cần đơn giản tạo pop – size (kích cỡ quần thể)
nhiễm sắc thể ngẫu nhiên theo từng bit. Phần còn lại của thuật giải di truyền rất đơn
giản: Trong mỗi thế hệ, ta lƣợng giá từng NST (tính giá trị của hàm f trên các chuỗi
biến nhị phân đã đƣợc giải mã), chọn quần thể mới thỏa 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. Sau một số thế hệ, khi không còn cải thiện thêm đƣợc gì nữa, NST 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 thuật giải di truyền sau một số bƣớc lặp cố định tùy thuộc vào điều kiện
về tốc độ về tài nguyên máy tính.
1.1.2.2. Toán tử chọn lọc.
a) Sử dụng bánh xe Roulette.
Có nhiều cách để thực hiện toán tử chọn lọc, nói chung đều theo tƣ tƣởng cá thể
có độ thích nghi cao hơn thì khả năng đƣợc chọn nhiều hơn. Nhƣng có lẽ đơn giản
và hiệu quả nhất là sử dụng bánh xe Roulette (roulette wheet), mỗi cá thể trong
quần thể chiếm một khe có độ rộng tỷ lệ thuận với giá trị phù hợp. Độ rộng của khe
đƣợc tính bằng tỷ lệ phần trăm giá trị phù hợp của một cá thể trên tổng giá trị phù
hợp của toàn quần thể.
Gọi
i
f
là độ phù hợp của cá thể thứ i trong quần thể gồm N cá thể. Khi đó, cá
thể i sẽ đƣợc chọn với xác suất

1
.
i
N
i
i
i
f
p
f



Trên vòng tròn Roulette, mỗi chuỗi
trong quần thể chiếm một khe có độ rộng tỷ lệ với độ phù hợp của chuỗi. Độ rộng
của khe đƣợc tính theo tỷ lệ phần trăm độ phù hợp của chuỗi với tổng độ phù hợp
của toàn quần thể là 100%. Các bƣớc tiến hành thủ tục quay Roulette:



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

16
- Đánh số các cá thể trong quần thể. Tính tổng độ phù hợp của bài
toán quần thể sumfitness, và ứng với mỗi cá thể tính một tổng chạy
subtotal bằng tổng độ phù hợp của cá thể đó với độ phù hợp của các
cá thể đứng phía trƣớc.
- Sinh một số ngẫu nhiên r trong khoảng từ 0 đến tổng độ phù hợp
sumfitness.
- Cá thể đầu tiên trong quần thể có tổng chạy subtotal lớn hơn hoặc

bằng r sẽ đƣợc chọn.
Trên thực tế, ngƣời ta thƣờng sử dụng toán tử chọn lọc tỷ lệ đƣợc mô tả nhƣ
sau:

 
 
 
 
,
1
,
1
,
: 0;1 ;
: 1;
While and Do : 1;
Select ;
t
jt
j
m
jt
j
jt
r random
i
fb
i m r i i
fb
b







     







b) Chọn lọc xếp hạng
Với dạng này các cá thể đƣợc sắp xếp theo giá trị của hàm mục tiêu. Cá thể
đầu tiên là cá thể tốt nhất và cá thể cuối cùng là cá thể tốt nhất. Cá thể thứ
 
Nj

trong dãy sẽ có xác suất chọn lựa là:
1
.
N
Nj
k
j
p
k






Các bƣớc tiến hành của thủ tục là:
 Sắp xếp các chuỗi theo thứ tự giảm dần của hàm mục tiêu (bài toán cực đại)
hoặc theo thứ tự tăng đần của hàm mục tiêu (bài toán cực tiểu).
49,2%
30,9%
14, 4%
5,5%
Hình 1.1 Vòng tròn Roulette với 4 khe
4 chuỗi



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

17
 Tính độ phù hợp của chuỗi
 Sử dụng thủ tục quay Rulet chọn chuỗi để sao chép sang quần thể tạm thời.
c) Chọn lọc cạnh tranh
 Chọn t cá thể từ quần thể hiện tại một cách ngẫu nhiên và chọn cá thể tốt nhất
trong t cá thể đó để sao chép sao chép sang quần thể tạm thời.
 Lặp lại bƣớc trên N lần chúng ta sẽ có quần thể tạm thời.
Giá trị t đƣợc gọi là kích cỡ của chọn lọc cạnh tranh. Khi
2t 
chúng ta chọn lọc
cạnh tranh nhị phân.
1.1.2.3. Toán tử lai ghép.

 Lai ghép một điểm
Lai ghép một điểm đƣợc thực hiện rất đơn giản. Với hai cá thể cha mẹ đã chọn
12
,;PP
toán tử này cần sinh một vị trí ngẫu nhiên k
 
1 kL
, sau đó hai cá thể
con đƣợc tạo thành bằng cách tráo đổi các gen của cặp cha mẹ tính từ điểm cắt.
Chẳng hạn,
   
12
111 0 0 0 1 0 1 0 ,PP0 1 0 1 1 0 0 1 1 1
là hai chuỗi nhị
phân độ dài 10, giả sử điểm cắt đã chọn là
7,k 
thế thì hai con đƣợc sinh ra là:
   
12
111 0 0 0 1 01 0CC1 1 1 0 1 0 1 1 0 0

Thủ tục lai ghép đơn giản nhƣ sau:
Procedure lai_mot_diem (k, P1, P2; var C1, C2);
Begin
For i:= 1 to k do
Begin
C1[i]:= P1[i]; C2[i]:= P2[i];




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

18
End;
For i:= k + 1 to L do
Begin
C1[i]:= P2[i]; C2[i]:= P1[i];
End;
End;
 Lai ghép nhiều điểm
Lai ghép nhiều điểm đƣợc thực hiện tƣơng tự nhƣ lai ghép một điểm. Với hai
cá thể cha mẹ đã chọn P
1
, P
2
; toán tử này cần sinh ngẫu nhiên k vị trí
1
, , ;
k
ii
có thể
giả thiết thêm
1
.
k
ii
Các điểm cắt này chia các cá thể đã chọn thành các đoạn
đƣợc đánh số chẵn lẻ; sau đó hai cá thể con đƣợc tạo thành bằng cách tráo đổi các
gen của cặp cha mẹ tùy theo các đoạn chẵn hay lẻ đã nêu. Trong lai ghép nhiều
điểm thì lai ghép hai điểm cắt đƣợc quan tâm nhiều nhất.

Chẳng hạn,
   
12
111 0 0 0 1 0 1 0 ,PP0 1 0 1 1 0 0 1 1 1
là hai chuỗi nhị phân
độ dài 10, giả sử các điểm cắt đã chọn là 2, 5, 8 thế thì hai con đƣợc sinh ra là:
   
12
1 01 1011 01 0CC1 1 0 0 1 1 1 0 0 0
.
Thủ tục lai ghép đƣợc viết tƣơng tự nhƣ trên.
 Lai ghép mặt nạ
Loại lai ghép này còn gọi là lai ghép đều; với hai cá thể cha mẹ đã chọn P
1
,
P
2
trƣớc hết phát sinh một chuỗi nhị phân ngẫu nhiên cũng có độ dài L gọi là chuỗi
mặt nạ. Sau đó các con đƣợc tạo ra dựa trên chuỗi mặt nạ này để quyết định lấy
thành phần của cá thể cha hay mẹ. Chẳng hạn gen thứ I của cá thể con C
1
đƣợc lấy



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

19
là gen thứ i của P
1

nếu bit mặt nạ tƣơng ứng là 1 và lấy gen thứ i của P
2
nếu bit mặt
nạ là 0. Cá thể con C
2
đƣợc tạo ngƣợc lại.
Ví dụ: Với
   
12
111 0 0 0 1 0 1 0 ,PP0 1 0 1 1 0 0 1 1 1
là hai chuỗi nhị
phân có độ dài 10, giả sử chuỗi bit nhị phân (mặt nạ) đƣợc khởi tạo ngẫu nhiên là
 
0 11 0 011 0 0 1U 
thế thì hai con đƣợc sinh ra là:
   
12
11 0 1 0 0 0 0 01CC0 1 1 1 1 1 0 0 0 1

Thủ tục lai ghép nhƣ sau:
Procedure lai_mat_na (U, P1, P2; var C1, C2);
Begin
For i:=1 to N do
Begin
If U[i] = 1 then
Begin C1[i]:= P1[i]; C2[i]:= P2[i]; End
Else
Begin C1[i]:= P2[i]; C2[i]:= P1[i]; End;
End;
End;

1.1.2.4. Toán tử đột biến.
Toán tử đột biến làm thay đổi các thông tin của quần thể ở mức bit (gen).
Đột biến làm thay đổi giá trị của một bit bất kỳ theo xác suất p
m
. Mỗi bit đều có cơ
hội đột biến nhƣ nhau. Thuật toán đột biến thƣờng dùng là:



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

20
For i:= 1 to m do
If random[0,1] < p
m
then invert(Parent[i]);
Trong đó, invert(u) là hàm đảo ngƣợc bit u.
1.1.2.5. Hàm phù hợp.
Biến đổi hàm mục tiêu thành hàm phù hợp:
Do giá trị phù hợp trong giải thuật di truyền là không âm, nên để áp dụng GA
cho bài toán tối ƣu ta cần phải chuyển giá trị hàm mục tiêu thành hàm phù hợp.
Nếu bài toán tối ƣu là cực tiểu hàm mục tiêu
 
gx
thì ta chuyển sang hàm
phù hợp nhƣ sau:
 
   
 
0

max max
max
C g x g x C
fx
g x C









Trong đó,
max
C
là tham số đầu vào do ngƣời sử dụng chọn, thƣờng chọn
max
C

là giá trị lớn nhất của hàm mục tiêu trong tập hiện tại.
Nếu bài toán tối ƣu là cực đại hàm mục tiêu
 
gx
thì ta chuyển sang hàm
phù hợp nhƣ sau:
 
   
 

0
00
min min
min
C g x g x C
fx
g x C

  







Trong đó,
min
C
là tham số đầu vào,
min
C
có thể là giá trị tuyệt đối bé nhất của
các hàm mục tiêu trong tập hiện tại hoặc trong k vòng lặp cuối.
Bài toán minh họa giải thuật di truyền kinh điển
Ta xét bài toán sau:
Cực tiểu hóa hàm Rastrigin:
   
 
2

1
10* 10*cos 2* *
n
ii
i
f x n x x


  


Để đơn giản, ta xét trƣờng hợp n = 2; khi đó bài toán là: cực tiểu hóa hàm:
   
 
 
 
22
, 20 10*cos 2* * 10*cos 2* *f x y x x y y

    




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

21
Trong đó:
5.12 5.12; 1.28 5.12.xy     


Trƣớc hết để mã hóa bài toán, giả thiết rằng cần độ chính xác đến 10
4
. Trên
miền xác định của x có độ dài
 
 
5.12 5.12 10.24  
, cần đƣợc chia thành
4
10.24*10 102400
khoảng bằng nhau. Từ đó, số bit cần thiết để mã hóa x phải là
17 vì
16 17
2 65536 102400 2 131072   
. Tƣơng tự nhƣ vậy, biến y cần 16 bit để
mã hóa vì
15 16
2 32768 64000 2 65536   
.
Nhƣ vậy, mỗi nhiễm sắc thể cần đƣợc mã hóa thành một chuỗi nhị phân 33
bit. 17 bit đầu dành cho x và 16 bit sau dành cho y.
Bảng 1.1 cho một ví dụ về quần thể khởi tạo gồm 20 cá thể. Các giá trị tƣơng
ứng của x, y và hàm f(x, y) đƣợc tính cụ thể để tiện theo dõi.


Giải thuật trình bày trong ví dụ này sử dụng các tham biến sau:
- Kích cỡ quần thể cố định là 20 cá thể.
- Xác suất lai ghép là 1, xác suất đột biến là 0.01.
Giải thuật đƣợc tiến hành với 20 lần chạy độc lập, mỗi lần chạy một quần thể
đƣợc khởi tạo ngẫu nhiên, sau đó thực hiện ba lần lặp, mỗi lần lặp ứng với

một dạng toán tử lai ghép đƣợc chọn. Chúng tôi trình bày ba dạng của toán
tử lai ghép là lai ghép 1 điểm, lai ghép 2 điểm và lai ghép mặt nạ.
Hình 1.2 Hàm Rastringin 2 chiều



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

22
Thuật toán cho mỗi lần chạy đƣợc mô tả nhƣ sau:
Khởi_tạo_quần_thể(qt);
x = qt;
dem = 0;
Bắt đầu lặp
dem = dem + 1;
x = đột_biến (lai_1_diem(x));
Kết thúc khi dem > 100;
Best = Cá_thể_tốt_nhất(x);
Nhiễm sắc thể
X
y
f(x, y)
1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1
1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
5.014
0.458
45.034
0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1
1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1
-0.587

0.334
34.059
0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0
0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1
-1.939
-0.611
22.524
0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0
1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0
-1.880
-1.302
21.137
0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1
0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1
-2.513
-0.043
9.278
0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1
1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0
-1.679
1.622
36.983
1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1
1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0
3.686
1.196
35.643
0 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1
1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1
-3.611

0.477
50.830
0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1
1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0
-2.296
0.579
37.278
0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1
1 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0
-4.316
1.093
35.528
0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1
1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1
-1.556
1.077
24.112

Bảng 1.1 10 cá thể của quần thể khởi tạo ngẫu nhiên
Bảng 1.2 trình bày kết quả thu đƣợc sau 20 lần chạy độc lập. Để tiện so sánh,
cùng một quần thể khởi tạo sẽ lần lƣợt trải qua ba lần tiến hóa, mỗi lần sử dụng một
dạng lai ghép, là ghép 1 điểm, lai ghép 2 điểm, lai ghép mặt nạ. Mỗi lần tiến hóa
thực hiện lặp 100 lần. Giá trị hàm mục tiêu của các cá thể tốt nhất khi khởi tạo và cá
thể tốt sau tiến hóa đƣợc ghi nhận. Cuối bảng là giá trị trung bình theo mỗi cột của
bảng 1.2.
Lần chạy
Khởi tạo
Lai một điểm
Lai hai điểm
Lai mặt nạ

1
18.9940
4.5914
2.3519
1.5755
2
1.7636
1.4756
0.0073
0.0041
3
10.2420
6.2550
2.2117
1.0201



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

23
4
7.5143
1.2903
1.0606
0.0028
5
7.9467
0.1667
0.2841

4.1525
6
16.3020
4.4567
2.0663
2.7704
7
6.1811
1.7508
2.0428
1.6922
8
6.2127
1.2000
1.3285
2.7298
9
10.3900
1.3797
1.2943
1.1844
10
4.0596
3.0146
2.1287
1.9961
…….





Trung
bình
8.3498
2.7631
1.4358
1.3749
Bảng 1.2 Kết quả của 20 lần chạy độc lập
1.1.3. Giải thuật di truyền mã hóa số thực.
Trong phần này chỉ nghiên cứu giải thuật di truyền mã hóa số thực (RCGA –
Real – Coded Genetic Algorithm ) để giải các bài toán tối ƣu giá trị thực trong
không gian
n

và không có các ràng buộc đặc biệt.
Một cách tổng quát, bài toán tối ƣu số thực có thể xem là một cặp
 
,Sf
,
trong đó
n
S  

:f S S
là một hàm n biến. Bài toán đặt ra là tìm véc tơ
 
1
, ,
n
x x x S

sao cho
 
fx
đạt giá trị cực tiểu trên S. Nghĩa là với mọi
yS

phải có
   
f x f y
. Hàm f ở đây có thể không liên tục nhƣng cần bị chặn trên S
(đối với các bài toán tìm cực đại có thể chuyển về cực tiểu một cách đơn giản).
Trong GA mã hóa số thực, mỗi các thể đƣợc biểu diễn bằng một nhƣ một
véctơ n chiều:
 
1
, , , .
ni
b x x x

Nhƣ vậy một quần thể kích cỡ m là một tập hợp có m véctơ trong
n

. Ta cũng
có thể xem một quần thể kích cỡ m nhƣ một ma trận thực cấp
 
mn
, đây là cách
mã hóa tự nhiên và thuận tiện trong việc thực hiện các toán tử tiến hóa. Sau đây ta
xem xét cụ thể hơn các toán tử này trong giải thuật di truyền mã hóa số thực.




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

24
1.1.3.1. Toán tử chọn lọc.
Ta thấy toán tử chọn lọc đã trình bày trong GA kinh điển không cần một đòi
hỏi đặc biệt nào trong việc mã hóa số thực, vì vậy trong GA mã hóa số thực, toán tử
chọn lọc vẫn đƣợc áp dụng nhƣ đối với GA kinh điển. Cụ thể gồm các dạng: chọn
lọc tỷ lệ, chọn lọc xếp hạng hay chọn lọc cạnh tranh.
1.1.3.2. Toán tử lai ghép.
GA mã hóa số thực cũng đƣợc áp dụng các toán tử lai ghép nhƣ GA kinh điển
bao gồm lai ghép một điểm, lai ghép nhiều điểm, lai ghép mặt nạ. Ngoài ra do cách
mã hóa quần thể, ngƣời ta còn nghiên cứu và đề xuất nhiều dạng khác nhau của toán
tử lai ghép trong RCGA. Dƣới đây là một số dạng toán tử lai ghép thƣờng đƣợc sử
dụng với giả thiết cặp cá thể cha mẹ chọn để tiến hành lai ghép là:
 
1
, ,
m
X x x

 
1
, ,
m
Y y y
.
a) Lai ghép 1 điểm (One – point Crosover).
Lai ghép một điểm là lai ghép đơn giản nhất đƣợc sử dụng cả trong GA mã

hóa nhị phân lẫn trong mã hóa số thực. Với cặp cha mẹ X, Y là các véc tơ m chiều,
toán tử lai ghép một điểm lai ghép chọn ngẫu nhiên một vị trí k (1  k  m ) rồi sinh
ra hai cá thể con theo công thức:
X

= (x
1
,… , x
k
, y
k+1
,…, y
m
),
Y

= (y
1
,…, y
k
, x
k+1
,…, x
m
).
b) Lai ghép đa điểm (Multi – point Crosover).
Toán tử lai ghép đa điểm đƣợc mô tả nhƣ sau:
Chọn ngẫu nhiên k điểm j
1
, …, j

k
(1 j
1
< j
2
< ….< j
k
< m), lai ghép đa điểm
tạo ra cặp con (X

, Y’) bằng cách đánh số các đoạn [ j
t
, j
t+1
] từ 0 trở đi sau đó:
x

i
lấy bằng x
i
tại các đoạn có số hiệu chẵn và bằng y
i
tại các đoạn có số hiệu lẻ.
y

i
lấy bằng x
i
tại các đoạn có số hiệu lẻ và bằng y
i

tại các đoạn có số hiệu chẵn.
c) Lai ghép đều hoặc lai ghép mặt nạ (Uniform Crosover).
Trong lai ghép mặt nạ, ta chọn ngẫu nhiên k vị trí 1< i
1
< i
2
<…< i
k
< m. Các cá
thể con đƣợc lập nhƣ sau:



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

25

 
 
 
 
11
''
11
, , , ,
, , , ,
i k i k
ii
i k i k
x i i i y i i i

xy
y i i i x i i i








.
d) Lai số học (Arithmetic Crosover).
Phép lai này chọn một số thực a (0< a <1); các con X

, Y

đƣợc tính bởi:
''
* (1 )* , * (1 )* .
i i i i i i
x a x a y y a y a yx     

e) Lai ghép Heuristic.
Giả sử với cặp bố mẹ (X, Y) đã chọn, trong đó cá thể X có độ thích nghi (giá trị
hàm mục tiêu) tốt hơn các thể Y thì toán tử này tạo một con duy nhất X

từ

cặp X, Y
bởi:

'
*( )
i i i i
x a x y x  
với 0< a < 1.
Ngoài các dạng lai ghép kinh điển trên, sau đây sẽ trình bày một số dạng lai ghép
khác trong RCGA.
f) Lai ghép BLX-

(Blend Crosover).
Ký hiệu cặp nhiễm sắc thể đã chọn lai ghép là:
X = (x
1
,…, x
k
, x
k+1
,…,x
n
),
Y = (y
1
,…, y
k
, y
k+1
,…,y
n
).
Với các ký hiệu cá thể cha mẹ đƣợc lai ghép nhƣ trên, đặt:

I = max (x
i
, y
i
) – min (x
i
, y
i
) với mỗi i.
Khi đó thành phần thứ i của cá thể con tạo ra là một số ngẫu nhiên chọn trong
khoảng
 
( , ) * ( , ) * .
i i i i
min x y I max x y I   

Toán tử BLX -  đã đƣợc thử nghiệm và chứng minh tính hiệu quả của nó với giá
trị tốt nhất là
  
.
g) Toán tử lai ghép SBX .
Toán tử SBX là toán tử lai ghép áp dụng cho giải thuật di truyền mã hóa số
thực (RCGA), tại hai cá thể con từ một cặp cá thể cha mẹ chọn lọc . SBX đƣợc Deb
và Agrawal giới thiệu năm 1995 và đã đƣợc chọn làm toán tử tạo sinh cơ bản trong
nhiều nghiên cứu khác.
Giải thuật được trình bày chi tiết như sau:

×