Professional Documents
Culture Documents
Kết Hợp Giải Thuật Di Truyền Và Logic Mờ Giải Bài Toán Tối Ưu Đa Mục Tiêu
Kết Hợp Giải Thuật Di Truyền Và Logic Mờ Giải Bài Toá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 http://www.lrc-tnu.edu.vn
2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
3
MỞ ĐẦU
Nhiều bài toán tối ưu trong thực tế là bài toán tối ưu đa mục tiêu, đặc biệt
là trong thiết kế. Chẳng hạn người ta muốn thiết kế sản phẩm sao cho chi phí
thấp, tiết kiệm nguyên liệu nhưng chất lượng tốt, hoặc thiết kế một bể chứa
nước với yêu cầu dung lượng lớn mà chi phí thấp…. Đã có nhiều nhà toán học
và tin học đã nghiên cứu về vấn đề này và đưa ra nhiều phương pháp giải khác
nhau. Một số những phương pháp thường được sử dụng để giải bài toán đa
mục tiêu như: phương pháp nhượng bộ dần, phương pháp tìm nghiệm có
khoảng cách ngắn nhất đến nghiệm lý tưởng, phương pháp trọng số,….
Được sự đồng ý của Hội đồng Khoa học khoa Công Nghệ Thông Tin,
cùng sự hướng dẫn của thầy giáo Vũ Mạnh Xuân, em chọn đề tài khóa
luận của mình nhằm nghiên cứu một phương pháp tiếp cận khác để giải
bài toán tối ưu đa mục tiêu là sử dụng giải thuật di truyền kết hợp logic
mờ.
Mục đích nghiên cứu: tìm hiểu một số phương pháp giải bài toán tối ưu
đa mục tiêu, giải thuật di truyền và logic mờ, trên cơ sở đó sử dụng giải thuật
di truyền kết hợp với logic mờ để giải bài toán tối ưu đa mục tiêu.
Nội dung của đề tài: gồm 3 chương
1) Chương 1. Giải thuật di truyền
2) Chương 2. Logic mờ
3) Chương 3. Kết hợp giải thuật di truyền và logic mờ giải bài toán tối ưu
đa mục tiêu
Để tiến hành nghiên cứu đề tài này, em đã sử dụng phối hợp một số
phương pháp như: phương pháp nghiên cứu tài liệu (nghiên cứu tài liệu về các
giải thuật di truyền, bài toán tối ưu đa mục tiêu, logic mờ, ngôn ngữ lập trình
matlab 7.0); phương pháp lấy ý kiến chuyên gia (giáo viên hướng dẫn, tham
khảo trên mạng).
Khi thực hiện đề tài này, bước đầu em đã tìm hiểu được một số phương
pháp giải bài toán tối ưu đa mục tiêu, một số vấn đề về giải thuật di truyền, logic
mờ. Kết quả là đã đề xuất một kỹ thuật kết hợp giải thuật di truyền với logic mờ
để giải bài toán tối ưu đa mục tiêu và đã lập trình thử nghiệm trên một số bài toán
cụ thể.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
5
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.
1.2. Các vấn đề cơ bản của giải thuật di truyền
1.2.1. Mã hóa
Việc mô tả di truyền cho lời giải cho bài toán gồm hai phần cơ bản:
+ Xây dựng cấu trúc gen cho mỗi lời giải của bài toán để từ mỗi lời giải ta có
thể mã hoá thành một NST (chuỗi các gen).
Đây là vấn đề cần giải quyết trước khi giải bài toán với GA. Tuỳ thuộc vào
nội dung của mỗi bài toán mà ta có cách mã hoá khác nhau.
Mã hoá dạng chuỗi nhị phân: đây là phương pháp thông dụng và cơ bản nhất
được sử dụng ngay từ bước ban đầu khi nghiên cứu GA. Trong phương pháp
này mỗi NST là một chuỗi các bit 0 và 1.
Mã hoá thứ tự: được sử dụng trong bài toán có sắp xếp thứ tự. Ở đây mỗi
NST là một chuỗi các số nguyên thể hiện thứ tự phân bố lời giải của bài toán.
Mã hoá theo giá trị: được sử dụng trong các bài toán mà mỗi lời giải là tập các
giá trị (ví dụ tập số thực). Trong phương pháp này, mỗi NST là một chuỗi các
giá trị có mối quan hệ tương ứng với bài toán.
Mã hoá dạng cây: được sử dụng chủ yếu trong các biểu thức toán học, trong
phương pháp mã hoá này mỗi NST là một cây của một nhóm đối tượng nào
đó.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
6
x /
y 5
Mã hoá số thực : Mỗi NST được mã hoá là một véc tơ trong không gian R m
chẳng hạn X = (a1, a2, ..., am) với các ai R. Cách mã hoá này thường tự nhiên
đối với các bài toán tối ưu số và được phát triển rất mạnh trong thời gian gần
đây.
1.2.2. Tạo lập lời giải ban đầu (khởi tạo quần thể)
Tập lời giải ban đầu thường được khởi tạo ngẫu nhiên từ miền xác định của
các lời giải. Cách tạo lập tập lời giải ban đầu phụ thuộc rất nhiều vào cách mã
hoá NST.
Với phương pháp mã hoá nhị phân: xây dựng NST bằng cách tạo ngẫu nhiên
chuỗi các bit 0 hoặc 1.
Với phương pháp mã hoá thứ tự: xây dựng NST ban đầu bằng cách hoán vị
ngẫu nhiên các thứ tự.
Với phương pháp mã hoá theo giá trị: tạo ngẫu nhiên từng giá trị trong miền
xác định của lời giải để tạo ra chuỗi NST ban đầu.
Với mã hoá số thực: tạo ngẫu nhiên N véc tơ thực trong Rm.
Hàm phù hợp đánh giá khả năng phù hợp của tập lời giải theo yêu cầu bài
toán. Hàm này được xây dựng cho từng bài toán với yêu cầu cụ thể. Thông
thường trong các bài toán tối ưu hàm này chính là hàm mục tiêu của bài toán.
Trong quá trình thực hiện của giải thuật di truyền, sau mỗi lần tiến hoá ta chỉ
giữ lại các cá thể có độ phù hợp cao còn các cá thể phù hợp thấp bị loại bỏ.
Toán tử chọn lọc thường giữ lại 50% các cá thể phù hợp nhất. Tuy nhiên
người ta cũng phát triển nhiều sơ đồ chọn khác nhau nhằm là tăng tính đa dạng
của quần thể, tránh sự hội tụ sớm.
b. Toán tử lai ghép là toán tử di truyền cơ bản trong GA, tiến trình lai ghép
như sau :
Bước 1: Tạo ra tập NST để tạo sinh từ quần thể bằng cách chọn ngẫu nhiên N
NST từ M NST (M là kích cỡ quần thể).
Chọn ngẫu nhiên theo thứ tự: lặp N lần việc tạo ngẫu nhiên ra một số nguyên i
thuộc khoảng [1, M] để chọn NST thứ i.
Chọn theo trọng số: tạo trọng số tích luỹ cho M NST theo công thức:
i
pi (với bài toán tìm min)
k 1 k
M
M i 1
pi (với bài toán tìm max)
M
k 1
k
Sau khi có trọng số tích luỹ cho NST, ta lần lượt tạo các xác suất ngẫu nhiên r
và duyệt từ NST đầu tiên đến khi gặp NST có trọng số tích luỹ lớn hơn r thì
chọn nó.
Bước 2: Sau khi chọn được N NST, lần lượt lấy ra từng cặp NST để lai ghép
tạo ra hai NST mới. Một số dạng toán tử lai ghép hay dùng là :
Lai ghép 1 điểm: chọn ngẫu nhiên một vị trí sau đó hoán vị phần đứng sau vị
trí vừa chọn giữa hai NST cha và mẹ để nhận được hai NST con.
Lai ghép hai điểm: chọn ngẫu nhiên hai vị trí trong một NST, sau đó hoán vị
các giá trị đứng giữa hai điểm đã chọn của hai NST cha mẹ để nhận được hai
NST con.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
8
Lai ghép mặt nạ: tạo một mặt nạ ngẫu nhiên có số bit bằng chiều dài của NST.
Ta sẽ hoán vị các giá trị của hai NST cha và mẹ ở những vị trí tương ứng với
vị trí bit 1 của mặt nạ.
c. Toán tử đột biến: Toán tử đột biến được xây dựng để tránh việc nhận được
giá trị tối ưu cục bộ. Đột biến gây ra thay đổi ngẫu nhiên trên từng bit của
NST để tạo ra một NST mới.
d. Tạo sinh: Chọn các cá thể từ quần thể hiện thời làm quần thể mới cho lần
lặp kế tiếp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
9
Phép lai này chọn một số thực a (0<a<1); các con X' và Y' được tính bởi:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
10
Trong công thức này, thường là số ngẫu nhiên phân bố đều trong
khoảng đơn vị. Tham số xác định ảnh hưởng của lần tạo sinh thứ t trên phân
bố của đột biến trong miền [0, x].
1.5. Mô hình Markov của 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 http://www.lrc-tnu.edu.vn
11
Trong giải thuật di truyền, mỗi quần thể được tạo sinh có đặc trưng là
chỉ phụ thuộc theo xác suất vào quần thể trước đó, do vậy GA có thể được mô
hình hóa bởi một xích Markov. Các tính chất của quần thể hữu hạn, chẳng hạn
như xu hướng di truyền có thể được khảo sát cẩn thận sử dụng xích Markov
hữu hạn. Không giống như nhiều phương pháp mô phỏng khác, xích Markov
có thể mô tả chính xác và chi tiết cho mỗi lớp đặc biệt. Từ năm 1992, Nix và
Vose đã mô hình hóa GA kinh điển (biểu diễn chuỗi nhị phân chiều dài cố
định, lai ghép một điểm, chọn lọc tỷ lệ) như một xích Markov trong đó mỗi
trạng thái là một quần thể. Vose đã mở rộng mô hình này đến mô hình “tìm
kiếm ngẫu nhiên Heuristic” trong đó mỗi cá thể của lần tạo sinh kế tiếp được
chọn theo một phân bố xác suất trên các cá thể của không gian tìm kiếm.
Suzuki đã giới thiệu mô hình của một lớp giải thuật di truyền ưu tú và đưa ra
kết quả về số lần tạo sinh cần thiết để hội tụ dựa trên xác suất đột biến. Năm
1996, Aytug và Koehler đưa ra chặn trên cho số lần tạo sinh cần thiết đối với
GA kinh điển để hội tụ đến quần thể có chứa chuỗi tối ưu dựa trên xác suất đột
biến.
Phần dưới đây trình bày vắn tắt mô hình xích Markov của giải thuật di
truyền đơn giản
1.5.1. Tính Markov
Một hệ vật lý hoặc hệ trạng thái nào đó gọi là có tính Markov nếu sự
tiến triển của hệ trong tương lai chỉ phụ thuộc vào hiện tại và độc lập với
quá khứ. VD sự tăng dân số.
Ký hiệu E là không gian trạng thái của X(t); nếu X(t) có tính Markov
và E là tập đếm được thì X(t) gọi là xích Markov. Nếu giá trị của thời điểm
t là 0, 1, … thì ta nói xích Markov với thời gian rời rạc. Nếu t [0, ] thì
ta có xích Markov với thời gian liên tục.
với bất kỳ t0 < t1 < … < tn < tn+1 < … ; i0, … , in, j E
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
12
Đặt p(s,i,t,j) = P {X(t) = j | X(s) = i} (s<t) là xác suất có điều kiện để hệ tại
thời điểm s ở trạng thái i, đến thời điểm t chuyển đến trạng thái j và gọi là
xác suất chuyển của hệ. Nếu xác suất này chỉ phụ thuộc vào t-s hay
p(s,i,t,j) = p(s+h, i, t+h, j) thì hệ là thuần nhất theo thời gian.
pij( n m ) p
kE
n
ik p njk
(1.1)
Một ví dụ về GA được mô hình hóa bởi một xích Markov: Ta bắt đầu bằng
mô hình đơn tử (haploid model) của sự tái tạo ngẫu nhiên, khi không xét
đến những tác nhân đột biến và thiên hướng chọn lọc (mutation pressures
and selective forces). Giả sử ta xét cỡ loài cố định gồm 2N gene kết hợp từ
các cá thể loại a và loại A. Sự hình thành thế hệ sau được xác định bởi 2N
phép thử nhị thức độc lập như nhau: Nếu loài bố mẹ có j a-gene và (2N - j)
A-gene thì mỗi phép thử có kết quả là a hay A với xác suất tương ứng là
j j
pj và q j 1
2N 2N
Các chọn lọc được lặp lại và được tiến hành có thay thế. Bằng cách
này ta có xích Markov { X n } trong đó Xn là số a-gene ở thế hệ thứ n trong
cỡ loài không đổi gồm 2N cá thể. Không gian trạng thái E = {0,1,2, ..., 2N}
gồm 2N + 1 giá trị. Ma trận xác suất chuyển P = (pjk) tính theo phân phối nhị
thức là:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
13
Chú ý rằng các trạng thái Xn = 0 (hoặc 2N) là hấp thụ hoàn toàn theo
nghĩa khi Xn = 0 (hoặc 2N) thì Xn+k = 0 (hoặc 2N, tương ứng) với mọi k 0.
Một trong những vấn đề thú vị là xác định xác suất để loài sẽ đạt tới
fixation (nghĩa VN) với điều kiện X0 = i, tức là nó sẽ trở thành một quần thể
thuần chủng chỉ có a-gene hoặc A-gene. Việc xác định tốc độ đạt tới fixation
cũng là điều đáng quan tâm. Ta sẽ nghiên cứu những vấn đề như thế trong
phân tích tổng quát về xác suất hấp thụ.
Một mô hình đầy đủ hơn phải tính đến những mutation pressures (tác
nhân đột biến). Ta giả sử rằng trước khi hình thành thế hệ mới, mỗi gene có
xác suất đột biến, tức là xác suất chuyển thành gene của loại kia. Đặc biệt, ta
giả sử rằng đối với mỗi gene hiện tượng đột biến a A xảy ra với xác suất x1
và hiện tượng đột biến A a xảy ra với xác suất x2.
Một lần nữa ta lại giả sử rằng sự hình thành của thế hệ sau được xác
định bởi 2N phép thử nhị thức. Các giá trị liên quan của pj và qj khi loài cha
mẹ có j a-gene lúc này có dạng:
1 x1 1 x2
j j
pj
2N 2N
(1.3)
j j
Vµ q j x1 1 1 x2
2N 2N
Lập luận như sau: các tác nhân đột biến hoạt động đầu tiên, sau đó một
gene mới được chọn bằng cách chọn lọc ngẫu nhiên từ loài. Bây giờ xác suất
của chọn lọc một a-gene sau khi tác nhân đột biến hoạt động chính là 1/2N lần
số a-gene hiện có. Vì vậy xác suất trung bình (lấy trung bình đối với những
đột biến có thể) là 1/2N lần số trung bình của a-gene sau đột biến. Nhưng số
trung bình này rõ ràng là j(1-x1) + (2N - j)x2. Từ đó dẫn đến công thức (1.3).
Xác suất chuyển của xích Markov tương ứng được tính bởi công thức
(1.2) ở trên với các pj, qj được tính bởi công thức (1.3) vừa viết.
Nếu x1, x2 > 0 thì fixation sẽ không xảy ra ở bất cứ trạng thái nào. Thay
vào đó, khi n hàm phân phối của Xn sẽ tiến đến phân phối trạng thái vững
của biến ngẫu nhiên trong đó P{=k}=k; k = 0, 1, ..., 2N (k = 1, k > 0).
Hàm phân phối của được gọi là phân phối tần số gene tại trạng thái vững.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
14
Ta trở lại mô hình giao phối (mating model) ngẫu nhiên đơn giản và
bàn về khái niệm thiên hướng chọn lọc, hoạt động về a-gene chẳng hạn. Giả
sử muốn đặt một ưu tiên chọn lọc cho a-gene đối với A-gene sao cho số con
sinh ra có kỳ vọng với tỉ lệ (1+ s) và 1 tương ứng, trong đó s là nhỏ và dương.
j j (1 s) j
Ta thay pj = và qj = 1 bằng pj = và qj = 1 - pj rồi xây dựng
2N 2N 2 N sj
thế hệ sau theo mẫu nhị thức như trước.
Nếu thế hệ cha mẹ có j a-gene, thì ở thế hệ sau cỡ loài trung bình của a-
gene và A-gene tương ứng là
2N
1 s j và 2N
2 N j .
2 N sj 2 N sj
Tỷ số các cỡ loài trung bình của a-gene đối với A-gene tại thế hệ thứ
(n + 1) là:
1 s j 1 s Sè a - gene ë thÕ hÖ thø n
1 2 N j 1 sè A - gene ë thÕ hÖ thø n
- Phân phối của hệ tại thời điểm n cho bởi công thức
pj(n) = P(Xn = j) ; n = 0, 1, 2, …; j E
Đặt (n) = {pj(n) ; jE) và gọi = (0) là phân phối ban đầu của hệ.
- Phân phối ban đầu gọi là dừng nếu (n) không phụ thuộc vào n
nghĩa là = (n) .
- Vấn đề là phân phối dừng có tồn tại không? có duy nhất không?
cách tìm nó?
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
15
- Định nghĩa phân phối dừng: Giả sử P = (pij) là ma trận chuyển của
xích Markov (Xn) có không gian trạng thái hữu hạn E = {1, 2, ..., N}, nghiệm
không âm (1, ...,N) của phương trình:
xj = x
kE
k p kj ; j E
sao cho j = 1 được gọi là phân phối dừng (hay bất biến) của xích
Markov với ma trận xác suất chuyển P = (pij).
Ý nghĩa: Nếu ta lấy (1, ...,N) là phân phối ban đầu của xích Markov,
tức là j = P(X0 = j); j = 1, 2, ..., N. Khi đó: j(1) = P(X1=j)= k pkj j
k
Tổng quát ta có: j(n) P(Xn = j) = j, tức là: X0, X1, ..., Xn, ... có phân phối
xác suất như nhau, ta có thể chứng minh phân phối đồng thời của các biến ngẫu
nhiên Xk, Xk+1, ..., Xk+m không phụ thuộc vào k đối với mọi m. Quá trình có tính
chất như thế được gọi là quá trình dừng. Viết dưới dạng ma trận thì phân phối
dừng là véctơ cột bất biến đối với ma trận chuyển vị của P, nghĩa là:
p11 p21 ... pN 1 1 1
p12 p22 ... pN 2 2 2 .
... ... ... ... ... ...
p1N p2 N ... pNN N N
Xét bài toán: Cho một hàm f : J R+ và JL là tập rời rạc hóa J. Cần tìm một
phần tử i JL sao cho f(i) = max{f(j) | j JL }
Gọi tập tất cả các quần thể hợp lệ là S và giả thiết ta xét quần thể với
kích cỡ cố định M (M = |k| với k S). Khi đó số các quần thể hợp lệ là:
Ta xét giải thuật di truyền đơn giản với các toán tử như sau:
- Toán tử chọn lọc tỷ lệ, chọn cá thể i trong quần thể k với xác suất:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
16
f (i) * Z (i, k )
pik
r
h 0
f (h) * Z (h, k )
trong đó Z(i,k) là biến cố xảy ra khi cá thể i thuộc vào quần thể k.
- Toán tử đột biến là phép đảo bit tại vị trí đột biến.
Với giải thuật này, GA có thể được mô hình hóa như một xích Markov
thời gian rời rạc, mỗi quần thể xem như một trạng thái của xích. Rõ ràng là
trạng thái hiện tại chỉ phụ thuộc vào một trạng thái ngay trước nó, vì nếu ký
hiệu Xn là quần thể tại lần tạo sinh thứ n thì với n = 1,2,... ta có:
nghĩa là Xn thỏa tính chất của xích Markov. Ký hiệu ma trận chuyển của xích
Markov này là Q.
Rudolph đã chỉ ra rằng giải thuật di truyền đơn giản như trên không hội
tụ đến tối ưu toàn cục. Sự hội tụ của giải thuật di truyền được định nghĩa theo
Rudolph như sau:
Định nghĩa 1: Giả sử Bt = max{f(i) | Z(i, Xi) 0, i = 0,1, ..., r-1} là chuỗi biến
ngẫu nhiên của độ thích nghi cao nhất trong một quần thể biểu diễn trạng thái
Xt tại bước thứ t. Giải thuật di truyền là hội tụ đến tối ưu toàn cục nếu và chỉ
nếu lim P( Bt f *) 1 , ở đây f* = max{f(j) | j JL } là lời giải tối ưu của bài
t
Định nghĩa 2: Khoảng cách Hamming giữa hai chuỗi bit là số vị trí bit không
trùng nhau của hai chuỗi đó (chẳng hạn H(„0100‟, „0001‟) = 2). Đặt Hij là
tổng khoảng cách Hamming giữa các cá thể trong quần thể i và j:
M 1
H ij H (ih , jh )
h 0
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
17
ở đây ih là một cá thể trong quần thể i, jh là một cá thể trong quần thể j với
h=0, ..., M-1; i,j = 1, ..., N và H(ih, jh) là khoảng cách Hamming giữa ih và jh.
Định nghĩa 3 : Ma trận A gọi là nguyên sơ nếu tồn tại số tự nhiên k sao cho
ma trận Ak là ma trận dương (ma trận mà mọi phần tử đều là số dương).
Bổ đề 1 : Ma trận chuyển của giải thuật di truyền đơn giản với xác suất đột
biến pm (0, 1), sử dụng lai ghép và chọn lọc tỷ lệ là ma trận nguyên sơ.
Từ những ký hiệu và kết quả trên Rudolph đã chứng minh định lý sau:
Định lý 1: Giả sử hàm thích nghi không ấn định một giá trị thích nghi cho mỗi
cá thể, giải thuật di truyền đơn giản với các giả thiết như trong bổ đề trên
không hội tụ đến lời giải tối ưu.
Tuy nhiên để tăng hiệu lực của GA, De Jong đã đề xuất một chiến lược
ưu tú, Suzuki ([9]) đã chứng minh sự hội tụ đến lời giải toàn cục của GA với
chiến lược ưu tú sửa đổi. Cụ thể như sau: Giả sử số cá thể M của quần thể là
một số lẻ, i* là cá thể có giá trị thích nghi cao nhất của quần thể hiện tại.
Chiến lược ưu tú được sửa đổi là: quần thể kế tiếp luôn chứa i* .
Với chiến lược này, toán tử tạo sinh phần tử i* luôn được thực hiện đầu
tiên tại mỗi bước của quá trình. Sau đó M-1 cá thể còn lại được sinh ra theo
các toán tử di truyền thông thường. Dưới đây ta giả thiết là bài toán chỉ có một
lời giải tối ưu toàn cục.
Với mỗi quần thể k (k = 1,2,..., N), ký hiệu i*(k) là cá thể có độ thích nghi cao
nhất trong quần thể. Đặt N(i) là số các quần thể mà trong quần thể đó, i là cá
thể có độ thích nghi cao nhất (i = 0,1,...,r-1). Ta gán nhãn cho mỗi cá thể i =
0,1,..., r-1 theo thứ tự f(i) giảm dần sử dụng một quy tắc luân phiên tiền định
nào đó đối với các cá thể có cùng độ thích nghi. Ta cũng gán nhãn cho mỗi
quần thể k = 1,2,...,N theo thứ tự giảm dần của i*(k) theo một quy tắc luân
phiên tiền định nào đó cho những quần thể có cùng i*(k). Giả sử các trạng thái
trong tập K = {1, 2, ..., N(0)} là các trạng thái tối ưu toàn cục.
Với các ký hiệu trên, điều kiện hội tụ của GA có thể phát biểu là:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
18
Giải thuật di truyền hội tụ tới tối ưu toàn cục nếu và chỉ nếu lim X t K
t
Ma trận chuyển Q+ đối với chiến lược ưu tú sửa đổi như sau:
Q0 0 0 0
0 Q1 0 0
...
0 0 0 Qr 1
Q+ gồm r ma trận con Q0, Q1, ..., Qr-1 , mỗi ma trận có phần trên đường
chéo chính bằng 0. Kích cỡ của Qi là N(i)xN(i). Có thể thấy N(i) tính được là
số tổ hợp chập (r-i-1) của (r-i+M-2).
Dựa trên các ký hiệu trên, Suzuki đã đưa ra công thức tính xác suất
chuyển từ trạng thái k đến trạng thái v là:
r 1
1
( M 1)! r ( j , k ) Y ( j ,v ) i * ( k ) i * (v )
qkv j 0 Y ( j , v )!
0 i * ( k ) i * (v )
trong đó
Z ( j, k ) j i * (k )
Y ( j, k )
Z ( j , k ) 1 j i * (k )
ỏ đây Z(j,k) là xác suất để cá thể j thuộc vào quần thể k; r(j,k) là xác suất để cá
thể j được tạo lập bởi các toán tử di truyền từ quần thể k. Nếu p m > 0 thì r(j,k)
> 0. Bởi vậy qkv > 0 với k, v K vì i*(k) = i*(v). Điều này cũng có nghĩa là
Q0 là ma trận dương và là nguyên sơ. Tuy nhiên cấu trúc của ma trận không
thể suy ra nhờ trực giác bằng sự nghiên cứu mỗi toán tử di truyền. Toán tử
chọn lọc không thể tạo cá thể mới và cũng không thể làm tăng i*(k). Toán tử
lai ghép và đột biến đều tạo cá thể mới và có xác suất dương khi chuyển đến
quần thể mới có cá thể cao hơn i*(k).
Định lý 2: Giải thuật di truyền với chiến lược ưu tú sửa đổi như trên và
pm (0, 1) hội tụ đến tối ưu toàn cục.
Chứng minh: Từ những phân tích trên, ta có Q+ là không phân ly được
và Q0 là ma trận nguyên sơ. Theo lý thuyết xích Markov, ta có
lim Q0k 0
Q lim(Q ) k
k
0
n
R
trong đó R là ma trận ngẫu nhiên chứa các xác suất chuyển từ trạng thái
không tối ưu toàn cục đến trạng thái tối ưu toàn cục. Điều này cho thấy xác
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
19
suất sống sót của trạng thái không tối ưu toàn cục có khuynh hướng giảm dần
đến 0 còn xác suất sống sót của trạng thái tối ưu toàn cục hội tụ về 1.
Như vậy, định lý này cho thấy giải thuật di truyền có khả năng hội tụ về
tối ưu toàn cục sau quá trình tiến hoá.
Việc mô hình GA qua xích Markov có ý nghĩa quan trọng. Nó vừa chứng tỏ
được sự hội tụ của giải thuật một cách chính xác, vừa là mô hình toán học để
có thể tính toán chi tiết các yếu tố ảnh hưởng đến khả năng và tốc độ hội tụ
của giải thuật. Tuy nhiên, thực hiện thuật toán qua xích Markov sẽ gặp khó
khăn rất lớn do không gian trạng thái cần xét đến là rất lớn. Vì vậy mô hình
này thường chỉ được phát triển về phương diện lý luận.
Kết Luận: phần trên giới thiệu những vấn đề khái quát về giải thuật di truyền
(GA) làm cơ sở cho việc ứng dụng giải bài toá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 http://www.lrc-tnu.edu.vn
20
Chương 2: LOGIC MỜ
Chương này giới thiệu những vấn đề khái quát về logic mờ làm cơ sở cho
việc ứng dụng giải bài toán tối ưu đa mục tiêu.[1]
2.1. Tập mờ
2.1.1. Định nghĩa tập con mờ
Một tập con cổ điển A của X được định nghĩa bởi một hàm đặc trưng
A lấy giá trị 0 đối với những phần tử của X không thuộc A và lấy giá trị 1
với những phần tử X thuộc A:
A : X 0,1
Định nghĩa 2.1: Một tập con mờ A của X được định nghĩa bởi một hàm
thuộc, gán cho mỗi phần tử x của X, độ thuộc fA(x), nằm giữa 0 và 1, theo đó
x thuộc A:
f A : X 0,1
Trường hợp đặc biệt, trong đó fA chỉ lấy những giá trị bằng 0 hay 1, tập
con mờ A là một tập con cổ điển của X. Vậy một tập con cổ điển là một
trường hợp riêng của tập con mờ.
Từ nay về sau, ta sẽ ký hiệu F(X) là tập tất cả các tập con mờ của X. Ký
pháp sau đây vẫn được dùng để biểu diễn tập con mờ A, mặ dù nó không liên
quan gì đến ý lấy tổng hoặc láy tích phân. Nó chỉ ra với mọi phần tử x của X,
độ thuộc fA(x) của nó vào A:
A xX f A ( x) / x
Ký pháp: A f ( x) / x
x A
2.1.2. Các đặc trưng của một tập con mờ
Những đặc trưng hữu ích nhất của một tập con mờ A của X để mô tả nó
là những đặc trưng chỉ rõ nó khác với một tập con thông thường của X ở điểm
nào.
Đặc trưng thứ nhất là giá của A, là tập những phần tử của X ít nhất có
thuộc A một chút.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
21
Định nghĩa 2.2: Giá của A, ký hiệu supp(A), là bộ phận của X trên đó
hàm thuộc của A khác không:
Supp(A)= x X / f A ( x) 0
Đặc trưng thứ hai của A là chiều cao của nó, ký hiệu h(A), là độ thuộc
lớn nhất mà một phần tử của X thuộc A.
Định nghĩa 2.3: Chiều cao, ký hiệu h(A), của tập con mờ A của X là giá
trị lớn nhất mà hàm thuộc có thể lấy được:
Người ta thường dùng các tập con mờ được chuẩn hóa, có nghĩa với
chúng có ít nhất một phần tử của X thuộc tuyệt đối (với độ thuộc 1) vào A.
Nói riêng, lý thuyết khả năng cần tới những tập con mờ được chuẩn hóa.
Định nghĩa 2.4: Tập con mờ A của X là được chuẩn hóa nếu chiều cao
h(A) của nó bằng 1.
Một tập con mờ được chuẩn hóa giả định có tồn tại những phần tử của
X điển hình cho tính chất được liên kết với nó. Đó là những phần tử thuộc A
tuyệt đối và tập những phần tử đó được gọi là hạt nhân của A.
Định nghĩa 2.5: Hạt nhân của A, ký hiệu ker(A), là tập các phần tử của
X tại đó hàm thuộc của A có giá trị 1:
Ker(A)= x X / f A ( x) 1
Khi tập X là hữu hạn, ta cón đặc trưng tập con mờ A của X bởi lực
lượng của nó, chỉ rõ độ thuộc tổng thể mà các phần tử của X thuộc A.
Định nghĩa 2.6: Lực lượng của tập con mờ A của X được định nghĩa
bởi:
|A|= xX
f A ( x)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
22
Nếu A là tập con thông thường của X, chiều cao của nó bằng 1; nó
được chuẩn hóa và đồng nhất với giá và hạt nhân của nó; lực lượng của nó
chính là số phần tử của tập theo định nghĩa cổ điển.
a. Sự bằng nhau và sự bao hàm (chứa nhau) của các tập con mờ
Định nghĩa 2.7: Hai tập con mờ A và B của X là bằng nhau nếu các
hàm thuộc của chúng lấy cùng giá trị với mọi phần tử của X:
x X : f A ( x) f B ( x)
Định nghĩa 2.8: Cho hai tập con mờ A và B của X, ta nói rằng A bao
hàm trong B, ký hiệu A B , nếu các hàm thuộc của chúng thỏa điều kiện
x X : f A ( x) f B ( x)
Định nghĩa 2.9: Giao của hai tập con mờ A và B của X là tập con mờ C,
ký hiệu A B , sao cho:
Định nghĩa 2.10: Hợp của hai tập con mờ A và B của X là tập con mờ
D, ký hiệu là A B sao cho:
Tính chất 1:
A X A, A
A A, A X X
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
23
A B A A B
A B A B A B
Định nghĩa 2.11: Phần bù AC của một tập con mờ A của X được định
nghĩa là tập con mờ của X với hàm thuộc:
x X : f A ( x) 1 f A ( x)
Tính chất 2:
( Ac ) c A
c X
Xc
A Ac X
Tính chất 3: Giá và hạt nhân của A và phần bù của nó nghiệm đúng:
Định nghĩa 2.12: Cho các tập con mờ A1, A2, …, Ar được xác định
tương ứng trên X1,X2, …, Xr, ta định nghĩa tích Descartes của chúng
A=A1*A2*…*Ar như một tập con mờ của X có hàm thuộc:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
24
Định nghĩa 2.13: Hình chiếu trên X1 của tập con mờ A của X1*X2 là tập
con mờ Pr ojX ( A) của X1, với hàm thuộc được xác định bởi:
1
Hình chiếu của A trên X2 cũng được định nghĩa tương tự.
Định nghĩa 2.14: hình chiếu trên Xa*Xb*….*Xk của tập con mờ A của
X1*X2*…Xr là tập con mờ Proj(A) của Xa*Xb*…*Xk với hàm thuộc được
định nghĩa là:
xa X a ,...., xk X k ,
Định nghĩa 2.15: Khuếch trụ của một tập con mờ B của Xa*Xb*…*Xk
trên X= X1*X2*…Xr được định nghĩa là:
2.2. Quan hệ mờ
Quan hệ mờ đóng vai trò quan trọng trong Logic mờ và lập luận xấp xỉ.
Khái niệm quan hệ mờ là sự tổng quát hoá trực tiếp của khái niệm quan hệ
(quan hệ rõ). Trước hết ta nhắc lại về khái niệm quan hệ .
1 nếu (x,y) R
R(x,y) =
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
25
0 nếu (x,y) R
1 0 0 1 1
R= 1 1 0 0 2
0 0 1 1 3
a b c d
Bây giờ ta xét quan hệ “anh em họ gần” trên một tập người U nào đó.
Quan hệ này không thể đặc trưng bởi tập rõ của tích UU. Một cách hợp lý
nhất là xác định quan hệ này bởi một tập mờ R trên UU.
Chẳng hạn R(a,b) = 1 nếu a là anh em ruột của b; R(a,b) = 0,9 nếu a là
anh em con chú con bác của b; R(a,b) = 0,75 nếu a là anh em cháu cô, cháu
cậu của b;...
Một quan hệ mờ từ U đến V là một tập mờ trên tích đề các UV. Tổng
quát, một quan hệ mờ n ngôi là một tập R trong không gian tích đề các của n
không gian U1x U2 x … x Un.
6. Phép hợp thành RS với RU W, S W U được định nghĩa như sau:
R được gọi là quan hệ tương tự ( quan hệ tương đương mờ) nếu nó có các
tính chất:
Phản xạ.
Đối xứng.
Bắc cầu.
R được gọi là quan hệ không tương tự nếu nó là phần bù của một quan hệ
tương tự hay một các tương đương, nó thỏa mãn các tính chất:
Ký hiệu dR(u, v) = R(u, v). Khi đó chúng ta thấy nó có các tính chất sau:
a. dR(u, v) 0.
b. dR(u, v) = dR(v, u).
c. dR(u, v) = dR(u, w) dR(w, v).
Như vậy dR(u, v) có các tính chất tương tự như khoảng cách trong
không gian hình học và được gọi là khoảng cách Min_Max.
Phản xạ.
Đối xứng.
Phản phản xạ
Đối xứng
Như vậy bao đóng bắc cầu R^ của quan hệ giống nhau là quan hệ tương
tự. R^ được tính theo công thức:
R^ = R1 R2 .... Rk ....
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
27
Trong đó:
Rk = Rk-1R.
0,5 1 0 1
0,9 0 0,42 3
a b c
Kết luận: phần trên giới thiệu những vấn đề khái quát về logic mờ làm cơ sở
cho việc ứng dụng giải bài toá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 http://www.lrc-tnu.edu.vn
28
Chương này trình bày những vấn đề ứng dụng cơ sở lý thuyết để giải
bài toán tối ưu đa mục tiêu
3.1 . Bài toán tối ưu đa mục tiêu
Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế và kế hoạch hóa
trong các ngành kinh tế - kĩ thuật, điều khiển các hoạt động sản xuất, chúng
ta thường gặp những bài toán liên quan đến việc phân tích, lựa chọn
phương án tốt nhất thoả mãn nhiều mục tiêu khác nhau. Đó là bài toán tối
ưu đa mục tiêu.
Y ( X ) max(min)
X D Rn
Trong đó: Y ( X ) (Y1 ( X ),..., Yk ( X )) R k gọi là vectơ mục tiêu.
Các bài toán tối ưu đa mục tiêu thường có nhiều hàm mục tiêu với các
ràng buộc khác nhau và các lời giải khác nhau. Các lời giải này thưòng không
so sánh được với nhau. Vì vậy người ta đưa ra tập lời giải tối ưu Pareto.
Lời giải trội( phương án trội): Lời giải X được gọi là trội hơn lời giải Y
nếu i ta đều có: Fi ( X ) Fi (Y ) , còn Y được gọi là phương án bị trội bởi X.
Phương án Pareto tối ưu: Một phương án X được gọi là phương án
Pareto tối ưu nếu X không thể bị trội bởi bất kì phương án nào khác thuộc
miền giới hạn.
Nếu bài toán tối ưu đa mục tiêu có nghiệm được gọi là tối ưu theo một
cách định nghĩa nào đó thì không phụ thuộc vào cách định nghĩa đã chọn,
nghiệm tối ưu đó phải là một phương án Pareto tối ưu.
3.1.2. Một số phương pháp giải
Có nhiều phương pháp để giải bài toán tối ưu đa mục tiêu như: phương
pháp nhượng bộ dần, phương pháp tìm nghiệm có khoảng cách ngắn nhất đến
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
29
nghiệm lý tưởng, phương pháp giải theo dãy mục tiêu đã được sắp xếp,
phương pháp trọng số...nhưng trong phạm vi nghiên cứu của đề tài chỉ trình
bày một số phương pháp giải sau:
3.1.2.1 Phương pháp trọng số
Trong phương pháp này hàm lợi ích U tuyến tính theo các giá trị phương
án
k
U (Y ( X )) p , Y ( X ) piYi ( X )
i 1
X D (1.2)
Về mặt thực tiễn pi có thể xem là tỉ lệ quy đổi thứ nguyên của mục tiêu
thứ i. Chẳng hạn ta quy đổi tất cả các mục tiêu về dạng tiền tệ, khi đó pi biểu
diễn rằng: Một đơn vị mục tiêu thứ i có thể được thay thế bởi pi đơn vị tiền tệ.
Bài toán (1.1), (1.2) là một bài toán quy hoạch đơn chỉ phụ thuộc tham
số. Đặc biệt nếu mọi Yi(i=1,…,k) là các hàm tuyến tính thì ta có một bài toán
quy hoạch tuyến tính phụ thuộc tham số ở hàm mục tiêu.
Ở đây quan hệ , ~ được rút ra thông qua việc so sánh hàm mục tiêu
(1.1).
3.1.2.2 . Phương pháp tìm nghiệm có khoảng cách ngắn nhất đến nghiệm
lý tưởng
Nghiệm lý tưởng ta là một nghiệm (nói chung không nhất thiết là phương án
chấp nhận được), mà tại đó giá trị của mỗi hàm mục tiêu riêng rẽ đều đạt cực
đại.
Ở đây giá trị hàm lợi ích tỉ lệ với khoảng cách từ phương án X D đến cái gọi
là nghiệm lý tưởng. Phương án X 1 X 2 khi và chi khi X1 gần nghiệm lý
tưởng hơn X2.
Giả sử X1, X2 Rn. Khoảng cách giữa hai điểm X1, X2 là một số dα xác
định bởi:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
30
n
dα = X i X i
1 2
i 1
k
*
Mindi = min Y X Y1 i
X D X D i 1
k
Tương đương với tìm: max Y ( X ) i
X D i 1
k k
Và X 1 X 2 Yi ( X 1 ) Yi ( X 2 ) .
i 1 i 1
Trường hợp α = ∞:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
31
Y*1-Yi(X) W i = 1,k
X D (1.6)
Nếu X* là nghiệm của (1.5), (1.6) thì nó là nghiệm thoả hiệp tốt nhất
theo nghĩa X D: X* X hoặc X hoặc X* ~ X (trường hợp sau xảy ra khi
X cũng là nghiệm tối ưu).
Ở đây 1 = Y* 1 - W ta hiểu là nhượng bộ của mục tiêu thứ 1, như thế
quan điểm nhượng bộ ở đây là dựa trên nhượng bộ đồng đều theo tất cả các
chỉ tiêu, phương án X* là trội nhất nếu nhượng bộ “đều ” của nó là nhỏ nhất.
Trong trường hợp chung, tập các nghiệm của (1.3), (1.4) là tập các nghiệm
thoả hiệp tốt nhất. Người ta cũng chứng minh được rằng tập các nghiệm thỏa hiệp
tốt nhất là một tập con của tập các nghiệm không cải tiến được.
Zeleny (1974) đã chứng minh: Tập các nghiệm thoả hiệp ứng với
dα(1 α ∞) nằm trong khoảng nghiệm ứng với d1 và dα.
Còn trong trường hợp α = ∞ Xalucvatde có nêu ra một thuật toán thoả
hiệp. Ở đây các quan hệ , ~ được dựa trên các metric dα:
k k
X1 X2 Y *i Yi ( X 1 ) < Y *i Yi ( X 2 )
i 1 i 1
k k
X1 ~ X2 Y *i Yi ( X 1 ) < Y *i Yi ( X 2 )
i 1 i 1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
32
nhiên để đảm bảo độ phù hợp nhất của mỗi cá thể ta lựa chọn ai tại mỗi bước
lặp ai có giá trị lớn nhất. Và cá thể phù hợp nhất sẽ được giữ lại cho bước tiến
hóa (ở đây là tư tưởng dùng tính mờ của độ phù hợp mỗi cá thể kết hợp với
thuật toán di truyền tại mỗi bước lặp trong thuật toán di truyền. Bởi thực chất
ra thuật toán di truyền cũng là giải thuật toán xác xuất, vì thế ta dùng việc lựa
chọn ai như trên để đánh giá và lựa chọn cá thể phù hợp nhất tại mỗi bước lặp).
Bước 2: Tiến hóa
Trong quần thể QT, ta thực hiện:
2.1: Chọn ngẫu nhiên 2 cá thể cha mẹ. Lai ghép tạo ra 2 cá thể con mới.
2.2: Thực hiện đột biến (với xác suất đột biến là pm) một trong hai cá
thể con vừa tạo ra.
2.3: Tính độ phù hợp của mỗi cá thể vừa tạo.
2.4: So sánh các cá thể cha mẹ với các con vừa tạo. Cá thể nào có độ
phù hợp tốt hơn thì được đưa vào quần thể kế tiếp.
Bước 3: Nếu chưa thỏa mãn điều kiện dừng thì chuyển về B2.
Bước 4: Đưa ra quần thể cuối cùng cho người dùng lựa chọn
Tiêu chuẩn để so sánh 2 cá thể là
Cá thể x “tốt hơn” y nếu
a1F1(x) + … + akFk(x) < a1F1(y) + … + akFk(y)
trong đó các ai khởi tạo ngẫu nhiên sao cho a1 + … + ak = 1.
véctơ thực 6 chiều. Trong đó 6 thành phần đầu biểu diễn các giá trị biến xi
(i=1,…,3); thành phần thứ 4, thứ 5 để ghi giá trị các hàm mục tiêu f1, f2 ứng
với cá thể này. Thành phần thứ 6 để ghi giá trị hàm tổ hợp các mục tiêu của cá
thể khi sử dụng giải thuật đề xuất, và để ghi giá trị độ thích nghi của từng cá
thể khi sử dụng GA nhằm đánh giá trong việc chọn các cá thể đưa vào quần
thể mới .
b. Các toán tử lai, đột biến:
Giả sử x = (x1, x2 , ... xn) và y = (y1, y2 , ..., yn) là hai cá thể cha mẹ đã
chọn để tạo sinh. Khi đó hai cá thể con c1 = (c11, ... , c1n) và c2 = (c21, ... , c2n )
được sinh ra theo công thức:
1
1
(2 * u ) if u 0.5
1 (2.6)
1 1
( ) otherwise
2 * (1 u )
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
34
yy1=0.5*((1+beta)*y(1,v2)+(1-beta)*y(2,v2));
yy2=0.5*((1+beta)*y(2,v2)+(1-beta)*y(1,v2));
if (yy1>=left)&(yy1<=righ);
y(1,v2)=yy1;
else;
y(1,v2)=u*x2(i1,v2)+(1-u)*x2(i2,v2);;
end;
if (yy2>=left)&(yy2<=righ);
y(2,v2)=yy2;
else;
y(2,v2)=(1-u)*x2(i1,v2)+u*x2(i2,v2);;
end;
end;
Toán tử đột biến: sử dụng đột biến đều, với một gen i được chọn ngẫu
nhiên để đột biến từ cá thể b = (x1 , x2, ... , xN), thành phần xi được thay thế
bởi một số ngẫu nhiên trong khoảng xác định [li, ui] của xi .
Thủ tục đột biến như sau:
%Dot bien
vd=1+fix(n*rand); %vi tri dot bien
if rand<pm; %dot bien
if rand<0.5;
db=left+rand*(righ-left);
y(1,vd)=db;
else
db=left+rand*(righ-left);
y(2,vd)=db;
end;
end;
c. Các tham số :
Các tham số được sử dụng trong bài toán này là:
Kích thước quần thể: 30
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
35
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
36
Bước 3:Với 2 cá thể con vừa sinh ra trong phép lai ghép trên, ta thực hiện đột
biến (nếu xác suất đột biến là 0.1) và đột biến tại một trong hai cá thể này tùy
thuộc vào giá trị ngẫu nhiên tạo ra.
Bước 4: Tính giá trị các hàm mục tiêu của 2 cá thể sau khi đột biến, từ đó tính giá
trị tổ hợp các mục tiêu của chúng. So sánh chúng với cha mẹ để chọn cá thể đưa
vào quần thể sau.
Bước 5: Nếu chưa thỏa mãn điều kiện dừng thì chuyển về B2.
e. Kết quả được cho trong bảng sau:
Lần thử thứ 1 Lần thử thứ 35 Lần thử thứ 100
GA GA+FL GA GA+FL GA GA+FL
x1 0.53317 0.54056 0.52367 0.54489 0.51699 0.52863
x2 0.52933 0.54953 0.52627 0.54569 0.51106 0.52954
x3 0.52571 0.53832 0.53282 0.55695 0.50434 0.54802
0.00690 0.00364 0.01327 0.00550
f1 0.007445 0.002469
1 4 9 5
f2 0.97464 0.97682 0.97434 0.97779 0.97134 0.97564
Giá trị
0.4908 0.4902 0.4909 0.4903 0.4924 0.4906
trung bình
Bảng 3.1: Một số lời giải sử dụng GA và GA kết hợp FL của bài toán 1.
Trong bảng trên, cột GA là kết quả quá trình tiến hóa quần thể gồm 30 cá
thể sau 1000 thế hệ và sau 100 lần lặp thì cập nhật lại giá trị lý tưởng sử dụng độ
thích nghi đế đánh giá và chọn lọc cá thể, còn cột GA + FL là kết quả quá trình
tiến hóa quần thể gồm 30 cá thể sau 1000 thế hệ sử dụng giá trị tổ hợp các mục
tiêu để đánh giá và chọn lọc cá thể.
1 1
Theo tác giả [10], các hàm mục tiêu đạt giá trị tốt nhất khi x , .
3 3
Kết quả ở bảng trên cũng hoàn toàn phù hợp với kết quả này, giá trị các hàm
mục tiêu càng tiến dần tới Min khi giá trị của các xi xấp xỉ bằng nhau và
1 1
x , . Việc sử dụng giải thuật GA và giải thuật đề xuất có những ưu
3 3
nhược điểm nhất định, tùy vào mục đích yêu cầu của người sử dụng mà ta có
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
37
thể chọn phương pháp giải cho bài toán cho phù hợp. Trong hai giải thuật này
thì giải thuật đề xuất cho kết quả mà giá trị trung bình của các hàm mục tiêu
nhỏ hơn, nghĩa là các cá thể được chọn đến quần thể cuối cùng trong giải thuật
này có tính đồng đều hơn.
g 100 * 5 (( xi 0.5) 2 cos(2 * ( xi 0.5)))
6
2
xi 0,1, i 1,...n
n 6
a. Mã hóa
Bài toán này gồm có 2 hàm mục tiêu đều tiến đến Min, mỗi hàm bao
gồm 6 biến. Vì vậy, mỗi cá thể (lời giải của bài toán) được mã hóa là một
véctơ thực 9 chiều. Trong đó 6 thành phần đầu biểu diễn các giá trị biến xi
(i=1,…,6); thành phần thứ 7, thứ 8 để ghi giá trị các hàm mục tiêu f 1, f2 ứng
với cá thể này; thành phần thứ 9 để ghi giá trị hàm tổ hợp các mục tiêu của cá
thể khi sử dụng giải thuật đề xuất, và để ghi giá trị độ thích nghi của từng cá
thể khi sử dụng GA nhằm đánh giá trong việc chọn các cá thể đưa vào quần
thể mới .
b. Các toán tử lai, toán tử đột biến, các tham số và thuật toán của bài toán 2
đều tương tự như bài toán 1.
c. Kết quả được cho trong bảng sau:
Lần thử thứ 1 Lần thử thứ 35 Lần thử thứ 100
GA GA+FL GA GA+FL GA GA+FL
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
38
Bảng 3.2: Một số lời giải sử dụng GA và GA kết hợp FL của bài toán 2.
Trong bảng trên, cột GA là kết quả quá trình tiến hóa quần thể gồm 30 cá
thể sau 1000 thế hệ và sau 100 lần lặp thì cập nhật lại giá trị lý tưởng sử dụng độ
thích nghi đế đánh giá và chọn lọc cá thể, còn cột GA + FL là kết quả quá trình
tiến hóa quần thể gồm 30 cá thể sau 1000 thế hệ sử dụng giá trị tổ hợp các mục
tiêu để đánh giá và chọn lọc cá thể.
Theo tác giả [5], các hàm mục tiêu đạt giá trị tốt nhất khi x=0.5. Kết quả
ở bảng trên cũng hoàn toàn phù hợp với kết quả này, giá trị các hàm mục tiêu
càng tiến dần tới Min khi giá trị của các xi xấp xỉ bằng nhau và x 0.5. Trong
hai giải thuật này thì giải thuật đề xuất cho kết quả mà giá trị trung bình của
các hàm mục tiêu nhỏ hơn. Tuy nhiên, giá trị mục tiêu thì trong mỗi lần chạy
lại cho những kết quả không cố định nên tùy vào yêu cầu của người nhận lời
giải mà chọn phương pháp phù hợp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
39
F1(x) x 1 min
F2(x) g(x) * (1 - (x1 /g(x))) min
n
g(x) = 1 + 9 * ( x i )/(n - 1)
i2
x [0,1]; i 1..30
n 30
a. Mã hóa
Bài toán này gồm có 2 hàm mục tiêu đều tiến đến Min, mỗi hàm bao
gồm 30 biến. Vì vậy, mỗi cá thể (lời giải của bài toán) được mã hóa là một
véctơ thực 33 chiều. Trong đó 30 thành phần đầu biểu diễn các giá trị biến xi
(i=1,…,30); thành phần thứ 31, thứ 32 để ghi giá trị các hàm mục tiêu f 1, f2
ứng với cá thể này; thành phần thứ 33 để ghi giá trị hàm tổ hợp các mục tiêu
của cá thể khi sử dụng giải thuật đề xuất, và để ghi giá trị độ thích nghi của
từng cá thể khi sử dụng GA nhằm đánh giá trong việc chọn các cá thể đưa vào
quần thể mới.
b. Các toán tử lai, toán tử đột biến, các tham số và thuật toán của bài toán 3
đều tương tự như bài toán 1.
c. Kết quả được cho trong bảng sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
40
Lần thử thứ 1 Lần thử thứ 35 Lần thử thứ 100
Giá trị trung bình 2.602948 2.553414 2.777312 2.515 2.747602 2.626977
Bảng 3.3: Một số lời giải sử dụng GA và GA kết hợp FL của bài toán 3.
Trong bảng trên, cột GA là kết quả quá trình tiến hóa quần thể gồm 30 cá thể
sau 1000 thế hệ và sau 100 lần lặp thì cập nhật lại giá trị lý tưởng sử dụng độ thích
nghi đế đánh giá và chọn lọc cá thể, còn cột GA + FL là kết quả quá trình tiến hóa
quần thể gồm 30 cá thể sau 1000 thế hệ sử dụng giá trị tổ hợp các mục tiêu để đánh
giá và chọn lọc cá thể.
Theo tác giả [10], các hàm mục tiêu đạt giá trị tốt nhất khi x1 [0,1] và
xi=0. Kết quả khi chạy chương trình cũng tương đối phù hợp với kết quả này.
Việc sử dụng giải thuật GA và giải thuật đề xuất có những ưu nhược điểm nhất
định, tùy vào mục đích yêu cầu của người sử dụng mà ta có thể chọn phương
pháp giải cho bài toán cho phù hợp.
3.3.2. Bài toán tối ưu đa mục tiêu điều khiển mức H trong bình khuấy trộn liên
tục
dây truyền. Sự thay đổi liên tục của Q3 làm cho mức dung dịch H thay đổi theo.
Do vậy trong quá trình sản xuất thì mức dung dịch H liên tục biến động, nên vấn
đề giữ cho mức H ổn định nhanh chóng và chính xác được quan tâm. Từ sơ đồ
cấu trúc của dây truyền ta đưa ra hai hàm mục tiêu nhằm đáp ứng tối ưu các vấn
đề trên như sau:
+ Mục tiêu 1: Để ổn định mức dung dịch H chính xác nhất (tức là sai lệch
tĩnh e(t) là nhỏ nhất) ta sử dụng phiếm hàm:
+ Mục tiêu 2: Để mức dung dịch H ổn định nhanh nhất (tức là thời gian
quá độ bé nhất) ta sử dụng phiếm hàm:
Từ đó dùng giải thuật di truyền giải bài toán hai mục tiêu tối ưu trên với ẩn
bài toán là bộ thông số của bộ điều khiển (có thể là cả 3 hệ số: KP; KI; KD của bộ
điều khiển PID). Sau đó lấy nghiệm của bài toán tối ưu hai mục tiêu trên lắp vào
bộ điều khiển từ đó mô phỏng kết quả điều khiển mức dung dich H trên Matlab
Simulink và quan sát và đánh giá kết quả.
3.3.2.2. Tính toán hai hàm mục tiêu.
Từ sơ đồ khối điều khiển mức dung dịch H trong bình trộn (hình 3.1), giả sử
bộ điều khiển với luật điều khiển là PD ta có hàm truyền của bộ điều khiển như
sau: WBDK (s) KP KD s.
43
U(s)
E(s) Q1 1 H
Uđk
PD K W1 s 1
(-)
H(s
+ )
1
K W2 s
Q2 H
2
WH
Nếu khoảng giá trị của các hệ số KD và KP được chọn như sau:
25 K P 100
1,35 K D 50
thì nghiệm của phương trình đặc trưng là:
44
k1 1,4 K D 1 D
0.03 0.03
1,4 K D 1 1,4 K D 1 1,4 K 1 0,084.K P
2
k2
D
0.03 0.03
Khi đó nghhiệm của phương trình vi phân (1) như sau:
E (t ) e k1t e k2t .
+ Mục tiêu 1: Để ổn định mức dung dịch H chính xác nhất (tức là sai lệch
tĩnh E(t) là nhỏ nhất) ta sử dụng phiếm hàm:
J1 E 2 (t )dt min
J1 ek1t ek2t dt
2
min
J1 e 2 k1t 2e k1 k2 t e 2 k2t dt min
2
1 2 k1t 2 1 2 k 2t
J1 e e k1 k2 t e min
2k1 k1 k2 2k 2
+ Mục tiêu 2: Để mức dung dich H ổn định nhanh nhất (tức là thời gian
quá độ bé nhất) ta sử dụng phiếm hàm:
J2 E (t )dt min
e k1t e k2t
J2 min
k1 k2
Trong đó:
45
k1 1,4 K D 1 D
0.03 0.03
1,4 K D 1 1,4 K D 1 1,4 K 1 0,084.K P
2
k2
D
0.03 0.03
Sau khi thay t = 3(s) và chọn = 0,03 vào các hàm mục rút ra được bài toán điều
khiển tối ưu đa mục tiêu cho bình khuấy trộn liên tục với các ràng buộc như sau:
1 2 k1t 2 1 2 k2t
J1 e e k1 k2 t e min
2k1 k1 k2 2k 2
ek1t ek2t
J2 min
k1 k2
25 K P 100
1,35 K D 50
46
Bắt đầu
Dem = 1
Kết thúc
Ghi chú:
* Việc đánh giá cá thể “tốt hơn” như sau:
1) Trong 200 lần tiến hoá đầu tiên tiêu chí đánh giá dựa trên hàm mục tiêu f1
2) Trong 200 lần tiến hoá tiếp theo tiêu chí đánh giá dựa trên hàm mục tiêu f2
3) Trong 200 lần tiến hoá cuối cùng tiêu chí đánh giá dựa trên cả hai hàm
mục tiêu với trọng số f1, f2
Các tham số này hoàn toàn có thể thay đổi tuỳ theo ý của người sử dụng.
Các tham số dùng trong thuật toán này:
Kích cỡ quần thể: 30.
Xác suất lai ghép = 1.
Xác suất đột biến pm = 0,1.
Toán tử lai ghép là lai số học.
Toán tử đột biến là đột biến đều.
Số lần tiến hoá: 600.
3.3.2.4. Kết quả chạy chương trình tính toán bằng giải thuật.
STT KP KD J1 J2
1 25.895 18.995 -0.00014 -0.01473
2 25.895 19.113 -0.00015 -0.01517
3 25.895 18.759 -0.00013 -0.01387
4 25.895 18.887 -0.00014 -0.01433
5 25.895 19.195 -0.00016 -0.01548
6 25.895 18.824 -0.00013 -0.01411
7 25.895 19.445 -0.00017 -0.01646
8 25.895 18.956 -0.00014 -0.01458
9 25.895 18.349 -0.00011 -0.01246
10 25.895 19.456 -0.00017 -0.0165
11 25.895 18.52 -0.00011 -0.01304
12 25.895 19.112 -0.00015 -0.01517
13 25.895 19.331 -0.00017 -0.01601
49
Bảng 3.2 Kết quả chạy chương trình giải thuật di truyền
50
Nhận xét:
Qua kết quả mô phỏng trên Matlab Simulink với các bộ giá trị của (KP và
KD) lấy từ tập nghiệm của thuật toán giải thuật di truyền, ta có thể tìm thấy một
bộ nghiệm tối ưu mà ở đó ta thấy chất lượng điều khiển mức dung dịch H tăng rõ
rệt, độ sai lệch và thời gian quá độ đều nhỏ hơn so với các bộ giá trị khác.
Kết luận: phần trên trình bày những vấn đề ứng dụng cơ sở lý thuyết để giải bài
toán tối ưu đa mục tiêu điều khiển mức H trong bình khuấy trộn liên tục
53
KẾT LUẬN
Sau khi tìm hiểu đề tài: “Kết hợp logic mờ và giải thuật di truyền giải bài
toán tối ưu đa mục tiêu.”, em đã hiểu được một số vấn đề sau:
- Những nội dung cơ bản về giải thuật di truyền nhất là giải thuật di truyền
mã hoá số thực và logic mờ.
- Một số phương pháp giải bài toán tối ưu đa mục tiêu.
- Bước đầu nắm được kỹ thuật sử dụng giải thuật di truyền kết hợp với logic
mờ để giải bài toán tối ưu đa mục tiêu trong hai bài toán cụ thể.
- Biết xây dựng được chương trình bằng ngôn ngữ lập trình matlab 7.0.
Hướng phát triển
- Áp dụng cho lớp các bài toán khác phức tạp hơn.
- Phát triển thuật toán hoặc tích hợp với các kỹ thuật khác như mạng nơron
làm tăng hiệu suất tính toán và xử lý mềm dẻo hơn.
Do thời gian và trình độ còn hạn chế nên đề tài chỉ dừng lại ở mức đơn giản,
chương trình ứng dụng còn hạn chế, vì vậy đề tài không tránh khỏi những thiếu
sót cần bổ sung sửa chữa. Em mong nhận được sự nhận xét và góp ý của các thầy,
cô giáo và các bạn để đề tài được hoàn thiện hơn.
1. Hồ Thuần, Đặng Thanh Hà, “Logic mờ và ứng dụng”, NXB ĐHQGHN, 2007.
2. Nguyễn Đình Thúc, “Lập trình tiến hoá”, NXB KH&KT, 2003.
3. Bùi Minh Trí, “Quy hoạch toán học”, NXB KHKT, 2006.
4. Vũ Mạnh Xuân, “Một số giải pháp ứng dụng giải thuật di truyền trong tối ưu
đa mục tiêu”.
Tiếng Anh
10. Kalyanmoy Deb, Associate Member, IEEE, Amrit, Sameer Agarwal, and T.
Meyarivan, A Fast and Elitist Multiobjective Genetic Algorithm: NSGA
– II.
55
PHỤ LỤC
Chương trình tính toán 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 bằng giải thuật di truyền.
5. Chương trình giải bài toán tối ưu hai mục tiêu J1, J2.
%chuong trinh bai toan điều khiển mức
clear; format long g;
left1=25; righ1=100;
left2=1.35; righ2=50;
lap=600; %so lan lap
pm=0.1;
m=30; n=4; %m: kich co QT; n: chieu;
pm=0.1; % xac suat dot bien
x=zeros(m,n); %Khoi tao quan the x; x(1): kp; x(2): kd; x(3):f1; x(4): f2
xx=x;
mt=zeros(1,2);
y=zeros(2,n); %cac ca the con
t1=clock;
%khoi tao
for v1=1:m;
kp=left1+rand*(righ1-left1);
kd=left2+rand*(righ2-left2);
x(v1,1)=kp;
x(v1,2)=kd;
x(v1,3)=f1(kp,kd);
x(v1,4)=f2(kp,kd);
end;
m1=min(x(:,3))
m2=min(x(:,4))
mt(1)=m1; mt(2)=m2; %muc tieu ly tuong
xx=x;
for v1=1:lap;
57
if rem(v1,100)==0;
mt(1)=min(xx(:,3));
elseif rem(v1,200)==0;
mt(2)=min(xx(:,4));
end;
%lai ghep
i1=1+fix(m*rand);
i2=1+fix(m*rand);
kp1=xx(i1,1); kp2=xx(i2,1); %lai 1 diem
kd1=xx(i1,2); kd2=xx(i2,2);
r=rand;
kpm=r*kp1+(1-r)*kp2; %Lai so hoc
kdm=r*kd1+(1-r)*kd2;
%kpm=kp2;kdm=kd1;
y(1,1)=kpm; y(1,2)=kdm;
y(1,3)=f1(kpm,kdm); y(1,4)=f2(kpm,kdm);
%kpm=(1-r)*kp1+r*kp2; kdm=(1-r)*kd1+r*kd2;
kpm=kp1; kdm=kd2;
if rand<pm; %dot bien
if rand<0.5;
kpm=left1+rand*(righ1-left1);
else
kdm=left2+rand*(righ2-left2);
end;
end;
y(2,1)=kpm; y(2,2)=kdm;
y(2,3)=f1(kpm,kdm); y(2,4)=f2(kpm,kdm);
if v1<200;
58
if (xx(i1,3)>y(1,3));
xx(i1,:)=y(1,:);
end;
if (xx(i2,3)>y(2,3));
xx(i2,:)=y(2,:);
end;
elseif v1<400;
if (xx(i1,4)>y(1,4));
xx(i1,:)=y(1,:);
end;
if (xx(i2,4)>y(2,4));
xx(i2,:)=y(2,:);
end;
else
if (xx(i1,3)*0.4+xx(i1,4)*0.6>y(1,3)*0.4+y(1,4)*0.6);
xx(i1,:)=y(1,:);
end;
if (xx(i2,3)*0.4+xx(i2,4)*0.6>y(2,3)*0.4+y(2,4)*0.6);
xx(i2,:)=y(2,:);
end;
end;
end;
t2=etime(clock,t1) %tinh thoi gian chay
%200 lan lap dau toi uu theo f2; 200 lan sau theo f1
%cac lan lap cuoi toi uu theo trong so tu bien doi