You are on page 1of 10

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN TRONG

ĐIỀU KHIỂN HỆ THỐNG TRUYỀN ĐỘNG ĐIỆN


l.Giới thiệu về thuật giải di truyền
Thuật giải di truyền (Genetic Algorithms) là một thuật toán được phát
triển đầu tiên bởi John Holland (Michigan University) vào những năm 1970.
Những thuật toán đó dựa trên quá trình chọn lọc tự nhiên và di truyền. Trong tự
nhiên, các cá thể khoẻ, có khả năng phù hợp tốt với môi trường sẽ được tái sinh
và nhân bản tiếp ở các thế hệ sau. Mỗi cá thể có cấu trúc Gen đặc trưng cho
phẩm chất của cá thể đó.
Trong quá trình sinh sản, các cá thể con có thể thừa hưởng phẩm chất của cả cha
và mẹ, cấu trúc gen của nó mang một phân cấu trúc gen của cả cha và mẹ. Ngoài
ra, trong quá trình tiến hóa, có thể xẩy ra hiện tượng đột biến, cầu trúc gen của cá
thể con có thể chứa các gen mà cả cha và mẹ đều không có.
Trong thuật toán di truyền, mỗi cá thể được mã hoá bởi một cấu trúc dữ
liệu mô tả cấu trúc gen của cá thể đó, ta có thể gọi nó là nhiễm sắc thể
(chromosome). Mỗi nhiễm sắc thể được tạo thành từ các đơn vị gọi là gen, mỗi
gen kiểm soát một số đặc trưng. Gen với đặc trưng nhất định có vị trí nhất định
trong nhiễm sắc thể, và nó có thể nhận những giá trị khác nhau về tính năng.
Chẳng hạn, trong các thuật toán di truyền cổ điển, các nhiễm sắc thể là các chuỗi
nhị phân, tức là mỗi cá thể được biểu diễn bởi một chuỗi nhị phân. Mỗi nhiễm
sắc thể sẽ biểu diễn một lời giải của bài toán đang giải. Một tiến trình tiến hóa
được thực hiện trên một quần thể các nhiễm sắc thể tương ứng với một quá trình
tìm kiếm lời giải trong không gian lời giải. Như vậy thuật toán di truyền sẽ làm
việc trên các quần thể gồm nhiều cá thể. Một quần thể ứng với một giai đoạn
phát triển gọi là một thế hệ. Từ thế hệ ban đầu được tạo ra, thuật toán di truyền
bắt chước chọn lọc tự nhiên và di truyền để biến đổi các thế hệ tiếp theo. 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 được
xem như là lời giải của bài toán tối ưu.
2. Các toán tử chính của thuật giải di truyền
2.1. Toán tử tái sinh (Reproduction) và chọn lọc (Se/ection).
Trong giai đoạn này sẽ đánh giá độ phù hợp của mỗi nhiễm sắc thể. Giá
trị phù hợp này được sử dụng trong quá trình chọn 1ọc các cá thể cho thế hệ tiếp
theo. Cũng giống như quá trình chọn lọc tự nhiên những nhiễm sắc thể có độ phù
hơp cao hơn thì cơ hội được chọn sẽ cao hơn.
Một trong những phương pháp chọn lọc thông thường là sử dụng
phương pháp chọn lọc bánh xe Rouette như hình 1. Mỗi cá thể được gán cho một
phần của bánh xe Rouette. Kích thước của phần này tỉ 1ệ với độ phù hợp của mỗi
cá thể. Một cái kim sẽ quay tròn và nó dừng lại ở cá thể nào thì cá thể đó được
chọn lựa. Quá trình chọn lọc này tiềp tục cho đến khi thỏa mãn tiêu chuẩn chọn
lọc. Khả năng của một cá thể được chọn tỉ lệ với độ phù hơp của nó.
Với phương pháp này thì một cá thể có thể được chọn nhiều lần cho việc tái tạo
quần thể và những cá thể này phải mang đặc tính trội hơn.

Hình 1. Mô tả bánh xe Roulette

2.2. Toán tử lai ghép (Crossovcr)


Sau khi quá trình chọn lọc hoàn thiện, thuật toán lai ghép được khởi tạo.
Toán tử lai ghép trao đổi hai phần nào đó của hai cá thể được chọn lựa để tạo ra
cá thể mới nhằm giữ lại những phần tốt của nhiễm sắc thể cũ và tạo ra nhiễm sắc
thể mới tốt hơn. Ta giả sử rằng mã gen của cá thể nào đó trên mức trung bình sẽ
tạo ra một cá thể mới tốt hơn. Xác suất lai ghép chỉ ra quá trình lai ghép được thể
hiện như thế nào. Ví dụ xác suất lai ghép là 0% có nghĩa là thế hệ con cái sẽ thực
sự là bản sao của cha mẹ chúng và xác suất 100% có nghĩa là mỗi thế hệ sẽ gồm
toàn bộ con cái mới. Phương pháp lai ghép đơn giản nhất là lai ghép điểm
đơn.Một số phương pháp lai ghép phức tạp hơn là lai ghép nhiều điểm và lai
ghép đồng bộ. Phương pháp lai ghép nhiều điểm là sự mở rộng của phương pháp
lai ghép điểm đơn .
2. 3.Toán tử đột biến (Mutation)
Sử dụng toán tử lai ghép và đột biến trong quần thể sẽ tạo ra một số lượng
lớn các cá thể khác nhau. Tuy nhiên có hai vấn đề chính là:
-Phụ thuộc vào việc chọn lựa quần thể ban đầu có thể sẽ không đủ sự đa
dạng đối với các cá thể ban đầu để bảo đảm thuật toán gen sẽ tìm kiếm toàn bộ
không gian của bài toán.
- Thuật toán gen có thể hội tụ Ở những cá thể chưa tối ưu vì quần thể ban
đầu chọn lựa không tốt.
Vì vậy có thể khắc phục vấn đề này bằng việc đưa vào toán tử đột biến.
Đột biến là gây ra sự thay đổi ngẫu nhiên của một bit nào đó trong một chuỗi. Nó
được xem xét như một toán tử nền trong thuật toán gen. Xác xuất của đột biến
thường rất thấp vì một tỉ lệ đột biến cao có thể sẽ phá hủy những cá thể tốt và
làm thoái hóa thuật toán gen thành tìm kiếm ngẫu nhiên. Xác suất đột biến
thường nằm trong khoảng 0,1% đến 0,01%.
2.4. Mô hình phát triển các tầng lớp ưu tú trong quần thể (Elitism)
Đây là một trong những mô hình quan trọng không thể thiếu được của
thuật giải di truyền. Vì trong quá trình lai ghép và đột biến sẽ có một rủi ro cao,
những giải pháp tốt có thể bị mất và không thể bảo đảm được những toán tử này
sẽ giữ 1ại những cá thể tốt. Do đó để khắc phục tình trạng này mô hình Elitism
thường được sử dụng, trong mô hình này thì những cá thể tốt trong một quần thể
sẽ được lưu lại trước khi có bất cứ một thay đổi nào trong quần thể. Sau khi quần
thể mới được hình thành và đánh giá, nếu như thế hệ mới này tốt thì nó sẽ được
duy trì còn nếu không thì các cá thể được lưu lại trước đó sẽ được đưa trở lại
quần thể.
3. Các bước giải một bài toán tối ưu sử dụng thuật toán gen

3.1. Cách mã hóa các biến trong thuật giải di truyền


Bài toán tối ưu được đặt ra là: tìm giá trị cực đại cho hàm f, đối với bài
toán tìm giá trị cực tiếu cho hàm f ta chỉ cần tìm giá trị cực đại cho hàm g = -f
Minf(x) - max g(x) = max {-f(x)}. (1)
Ta giả định rằng hàm mục tiêu f 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, nghĩa là: max g(x) -
max {g (x) + C} .
Để đạt độ chính xác như vậy thì mỗi miền Di phải được phân cắt thành
(bi - ai) *106 miền con bằng nhau. Gọi mi là số nguyên nhỏ nhất sao cho
m
(bi - ai) *106 < 2 - 1 (2)
i

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 là m i
thì thỏa mãn điều kiện về độ chính xác yêu cầu. Công thức tính giá trị thập phân
của mỗi chuỗi nhị phân biểu diễn biến xi.bi −ai
mi
xi= ai +decimal(101101..O112) 2 (3)
k
Trong đó decimal cho biết giá trị thập phân của chuỗi nhị phân đó.∑ Nhưmi
vậy mỗi nhiễm sắc thể được biểu diễn bằng chuỗi nhị phân có chiều dài m= i=l
, ml bít đầu tiên biểu diễn các giá trị trong khoảng [a1, a2]… m2 bít kế tiếp biểu
diễn giá trị trong khoảng [a2, b2],…. mk bít cuối cùng biểu diễn giá trị trong
khoảng [ak,, bk].
3.2. Các bước giải một bài toán di truyền
Xác định hàm mục tiêu (objective function) và các tham số ảnh hưởng đến
hàm mục tiêu. Đây chính là các tham số phải tìm kiếm của bài toán.
Một tổ hợp các tham số phải tìm chính là một giải pháp của bài toán tối
ưu.
Ta phải mã hoá cho mỗi giải pháp một kí hiệu. Một tập hợp các giải pháp
được gọi là một quần thể (population). Trong đó mỗi giải pháp được coi là một cá
thể (individual). Kí hiệu mã hoá của một cá thể được gọi là nhiễm sắc thể
(chroniosome). Tất cả các tham số tối ưu phải được đặt tại một vị trí nào đó trong
cấu trúc của nhiễm sắc thể (NST).
-Tạo ra một quần thể ngẫu nhiên với kích thước xác định. Kích thước của
quần thể ảnh hưởng đến hiệu quả và tính chất của thuật toán gen. Kết quả của
thuật toán gen sẽ kém chất lượng nếu như kích thước của quần thể là nhỏ còn nếu
như kích thước của quần thể là lớn thì nó sẽ ảnh hưởng rất mạnh tởi tính chất của
thuật toán gen. Với những ứng dụng đặc trưng thì kích thước của quần thể có thể
nằm trong khoảng 10-160 nhiễm sắc thể. Quần thể khởi tạo từ m nhiễm sắc thể:
c1, c2, c3,...,cm .
- Đánh giá độ phù hơp của mỗi giải pháp dựa trên hàm mục tiêu đã đề ra.
Có nhiều phương pháp để đánh giá độ phù hơp và ấn định một số thực cho mỗi
nhiễm sắc thể. Một phương pháp được sử dụng thông dụng nhất đó là phương
pháp chọn lọc tỷ 1ệ.

F ( xi ) F ( xi )

Fitness(xi)= ∑ F( x i ) ∑ F( x i )
(4)

Chọn các nhiễm sắc thể cho việc lai ghép bằng phương pháp chọn ngẫu
nhiên ví dụ phương pháp bánh xe Roulette với các rãnh được định kích thước
theo độ phù hơp. Quá trình chọn lọc được thực hiện bằng cách quay bánh xe
Roulette 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ở £ qi .
Như vậy có thể có một nhiễm sắc thể được chọn nhiều lần, các nhiễm sắc thể tốt
nhất có nhiều bản sao hơn, các nhiễm sắc thể trung bình thì không thay đổi, các
nhiễm sắc thể kém nhất thì chết đi, cá thể nào có độ phù hợp lớn thì cơ hội được
chọn sẽ 1ớn.
-Thực hiện toán tử lai ghép từ các cá thể bố mẹ được chọn. Phương pháp
lai ghép thường được ứng dụng nhất đó là lai ghép một điểm (single point
crossover).
Một trong những tham số của hệ di truyền là xác suất lai pc. Xác suất này cho ta
sồ nhiễm sắc thể pop-size x pc mong đợi, các nhiễm sắc thể này được dùng trong
phép lai tạo theo cách sau đây:
Phát sinh một số ngẫu nhiên r trong khoảng [0 . . . 1]
-Nếu r<pc thì chọn nhiễm sắc thể đó để lai tạo.
Thực hiện toán tử đột biền nhằm tạo ra những thông tin mới trong quần
thể lai tạo tại các vị trí bít nào đó trong cá thể được chọn để đột biền. Một tham
số khác của hệ thồng di truyền pm cho ta số bít đột biến pm x m x pop_ size mong
đợi . Mỗi bít trong tất cả các nhiễm sắc thể trong quần thể có cơ hội đột biến như
nhau, nghĩa là đổi từ 0 thành 1 hoặc ngược lại. Lặp lại từ bước 4 đến bước 7 cho
đến khi số cá thể mới sinh ra vượt quá kích thước của thế hệ trước.
Thay thế quần thể cha mẹ bằng các thế hệ mới.
Lặp lại bước 4 đến bước 9 cho đến khi hội tụ tới tiêu chuẩn đã đề ra
hoặc là đã đạt đền một số thếhệ đủ lớn.
Toàn bộ các bước trên có thể được mô tả bằng thuật toán sau:
Procedure Genetic Algorithm.
Begin
T=0
Khởi tạo thế hệ ban đầu P(t),
Đánh giá P(t) theo hàm phù hơp,
Repeat
T=T+1
Sinh ra thế hệ mới P(t) từ P(t-1) bởi
Chọn lọc
Lai ghép
Đột biến;
Đánh giá P(t);
Until Điều kiện kết thúc đươc thoả mãn,'
end
Trong thủ tục trên, điều kiện kết thúc vòng lặp có thể là một số lớn thế
hệ nào đó, hoặc độ phù hợp của các cá thể tốt nhất trong các thế hệ tiếp nhau
khác nhau không đáng kể. Khi thuật toán dừng, cá thể tốt nhất trong thế hệ cuối
cùng được chọn lọc làm nghiệm cần tìm.
3.3. Ưu điểm ứng dụng của thuật giải di truyền
Thuật toán gen thực chất khác với các phương pháp tìm kiếm thông
thường khác và các phương pháp tối ưu khác. Có 5 điểm khác nhau cơ bản 1à.
1 . Thuật toán gen tìm kiếm một quần thể các điểm đồng thời chứ không
phải là một điểm đơn.
2. Thuật toán gen không yêu cầu nhiều thông tin hoặc những kiến thức
bổ trợ khác. Chỉ hàm mục tiêu và mức độ phù hợp tương ứng ảnh hưởng đến kết
quả tìm kiếm.
3 . Thuật toán gen sử dụng luật xác suất chuyển tiếp chứ không phải luật
xác định.
4. Thuật toán gen làm việc dựa trên việc mã hóa một tham số được đặt
chứ không phải tham số được đặt bởi chính nó.
5. Thuật toán gen có thể cung cấp một số lượng lớn các giải pháp tiềm
năng cho một bài toán và chọn lựa giải pháp cuồi cùng đến người sử dụng.
Thuật giải di truyền có nhiều ứng dụng trong thực tế thuộc nhiều lĩnh
vực khác nhau như: trong y tế, trong kinh tế, xã hội, toán học, tin học, trong kỹ
thuật, đặc biệt trong lĩnh vực liều khiển người sử dụng thuật giải di truyền để tìm
thông tồi ưu của hệ thống điều khiển như:
- Tìm thông số tối ưu của bộ điều khiển PID;
- Ứng dụng thuật giải di truyền trong điều khiển mờ để xác định các hàm
thuộc và các luật tối ưu của mờ;
- Trong mạng nơ ron sử dụng thuật giải di truyền để xác định các trọng
số của mạng;
- Trong điều khiển bền vững.
4. Ứng dụng thuật giải di truyền để xác định tham số tối ưu của PID
4. Sử dụng thuật di truyền tìm thông số tối ưu của một số bộ điều
khiển
Để áp dụng thuật giải di truyền, trong tài liệu này thực hiện tìm thông số
tối ưu của một số bộ điều khiển (PID, I_P và I_PD) dùng cho hệ thống truyền
động điện gồm động cơ, khớp nối và tải, các thông số của chúng cho dưới đây.
1 . Hàm mục tiêu
Tuỳ theo mục tiêu của hệ thống mà sử dụng các hàm mục tiêu khác
nhau.
Các hàm mục tiêu thường được sử dụng trong tính toán tham số tối ưu
cho bộ điều khiển và được xây dựng theo các tiêu chuẩn: ITAE, IAE, ISE và
MSE.
2. Chương trình ứng dụng
Chương trình được viết dưới dạng m-file trong Matlab. Chương trình
được trình bày với những nội dung sau:
a. Dao diện chương trình
* Các thông số đầu vào:
- Thông số mô hình khớp mềm. Jm, K, Ks;
- Chọn bộ điều khiển: PID, I-P, I-PD;
- Chọn hàm phù hợp: ITAE, IAE, ISE, MSE.
* Tham số đầu ra:
- Đặc tính tải, động cơ;
- Tham số bộ điều khiển: Kp, KI, KD
b. Viết chương trình (Do dung lượng bài báo hạn chế nên trong bài này
không công bố chương trình, đọc giả nào cần tham khảo xin liên hệ với tác giả).
3. Kết quả sau khi chạy chương trình tối ưu với các bộ điều khiển:
-Tham số của thuật toán gen
-Phương pháp lai ghép: lai ghép điểm đơn;
-Hàm chọn lựa: phương pháp bánh xe Roulette;
-Hàm đột biến: phương pháp đồng bộ;
-Kích thước quần thể: 20;
-Xác suất lai ghép: 0.9;
-Xác suất đột biến: 0. 012;
-Số thế hệ tối đa: 30.
-Tham số của mô hình đối tượng:
1. Mô men quán tính của động cơ:JM=7,455.105[KGm2]
2.Tỷ số quán tính: K= Jl/JM =0.75
3. Độc cứng của trục nối:Ks=0.28[Nm/rad]
4.Tần số cộng chống hưởng wa=70,7660[rad/s]
ω0
5.Tần số cộng hưởng w0=93,6146[rad/s]
=√ 1+ K=1 , 3229
6. Tỷ số cộng hưởng:R = ωa
1. Bộ điều khiển PID truyền thống:
Trên bảng 1 Cho tham số bộ điều chỉnh PID
Bảng 1. Tham số bộ điều chỉnh PID
Tiêu chuẩn tối ưu ITAE IAE ISE MSE
KP 0.009876 0.008448 0.0067
KI 0.1938 0.3211 0.2664
KD 0 0 0
Overshoot(%) 29.3 34.8 39.9
Setting time (s) 0.205 0.181 0.165
Rise time(sec) 0.0388 0.0171 0.036
Kết quả chạy chương trình cho ở hình 2 và hình 3

Hình 2 Trước khi sử dụng thuật toán Gen Hình 3 Sau khi sử dụng thuật toán Gen
2. Bộ điều khiển I_P truyền thống:
Trên bảng 2 Cho tham số bộ điều chỉnh I_P
Bảng 2. Tham số bộ điều chỉnh I_P
Tiêu chuẩn tối ưu ITAE IAE ISE MSE
KP 0.009223 0.01223 0.0089 0.0122
KI 0.2359 0.3136 0.2312 0.3565
KD 0 0 0
Overshoot(%) 4.37 1.76 5.2 5.31
Setting time (s) 0.115 0.151 0.118 0.151
Rise time(sec) 0.034 0.0324 0.0626 0.0296

Kết quả chạy chương trình cho ở hình 4 và hình 5

Hình 4.Trước khi sử dụng thuật giải Gen Hình 5.Sau khi sử dụng thuật giải Gen

3. Bộ điều khiển I_P truyền thống:


Trên bảng 3 Cho tham số bộ điều chỉnh I_PD
Bảng 3. Tham số bộ điều chỉnh I_PD
Tiêu chuẩn tối ưu ITAE IAE ISE MSE
KP 0.00533 0.0061 0.005697 0.00544
KI 0.1252 0.1529 0.1278 0.1316
KD -4.8859e-5 -3.4637e-5 -3.9955e-5 -4.7986e-5
Overshoot(%) 2.36 4.28 1.18 3.07
Setting time (s) 0.127 0.128 0.093 0.125
Rise time(sec) 0.0683 0.0644 0.0699 0.0667
Kết quả chạy chương trình cho ở hình 6 và hình 7

Hình 6 Trước khi dùng thuật toán Gen Hình 7 Sau khi dùng thuật toán Gen

So sánh các đặc tính điều khiển cho ở hình 8 và 9

Hình 8 Đặc tính tốc độ của động cơ Hình 9 Đặc tính tốc độ tải

Nhận xét:Từ các đặc tính trên ta thấy bộ điều chỉnh I_PD cho đặc tính
tốt nhất, độ quá điều chỉnh nhỏ,so với bộ điều khiển PI thì khi sử dụng bộ điều
chỉnh I_PD độ quá độ chỉ còn 3% đối với tốc độ động cơ; 5% đối với tốc độ tải,
hệ thống nhanh xác lập(0,015gy), đặc biệt là hệ thống nhanh chóng trở lại xác lập
khi có nhiễu của tải (0,1gy).
Áp dụng thuật giải di truyền để tìm thông số tối ưu cho bộ điều khiển
truyền động điện khớp mềm là một ứng dụng mới và cho kết quả tốt. Từ nghiên
cứu trên cho thấy rằng dùng bộ điều chỉnh I_PD được tối ưu hóa bằng thuật giải
di truyền có đặc tính tốc độ tốt nhất.
Tài liệu tham khảo:
1.Bùi Chính Minh (2007)Nghiên cứu nâng cao chất lượng hệ truyền
động. Luận án tiến sĩ ,Hà nội
2.Gloria Suh and Jung-II Park(2002) Autonomous controller Design
Using Genetic Algorythms in a two-interia Motor system, IFAC. 15 th
World congress.
USING THE GENETIC ALGORYTHMS IN CONTROL OF
ELECTRICAL DRIVE SYSTEM.
Today modern theory is used wiedly in electrical drive systems in which a
genetic theorie. In the article author introduces the application of the Genetic
Algorythms in finding optimal parameters of the controllers.

ỨNG DỤNG THUẬT TOÁN DI TRUYỀN TRONG ĐIỀU KHIỂN


HỆ THỐNG TRUYỀN ĐỘNG ĐIỆN

Ngày nay nhiều lý thuyết hiện đại đươc dùng trong điều khiển như như lý
thuyết mờ, trí tuệ nhân tạo, lý thuyết trượt, lý thuyết điều chỉnh thích nghi. Những năm
gần đây người ta đã đưa lý thuyết Gen- xuất phát từ lý thuyết phát triển và bảo tồn sinh
vật vào trong điều khiển truyền động. Bài báo này giới thiệu về lý thuyết Gen ứng dụng
trong việc lựa chọn các thông số tối ưu của các bộ điều chỉnh cho các hệ thống truyền
động điện.

You might also like