uđiểm c aăph ngăphápănƠyăsoăv iăcácăph ngăphápătốiă uătoƠnăc c khác (mô ph ng tôi luy n (Simulated Annealing), di truyền (Genetic Algorithm) là): v i sốl ng l n cá thể có thể giúp gi i thu tăv tăquaăđ c các c c tr c c b .
Gi i thu t tốiă uăhóaăb yăđàn (PSO) l năđ uătiênăđ c gi i thi uăvƠoănĕmă 1995 b i Kennedy, J. và Eberhart, R trong m t h i th o quốc t c a IEEE về m ng neural t i Perth, Australia.
PSOăđ căkh iăt oăb iăm tănhómăng uănhiênăcácăcáăthể,ăsauăđóătìmăki măgi iă phápătốiă uăbằngăvi căc pnh tăcácăth ăh ă(l nălặp).ăTrongăm iăth ăh ,ăm iăcáăthể đ căc pănh tăb iăhaiăgiáătr :ăgiáătr ăth ănh tăPBest lƠănghi mătốtănh tăđ tăđ că cho t iăth iăđiểmăhi năt i, giáătr ăth ăhaiăGBest lƠănghi mătốtănh tămƠăcáăthểălơnă c năcáăthểănƠyăđ tăđ căchoăt iăth iăđiểmăhi năt i.ăNóiăcáchăkhác,ăm iăcáăthểă trongăqu năthểăc pănh tăv ătríătheoăv ătríătốtănh tăhay các cáăthểăkhác trongăqu nă thểătínhăt iăth iăđiểmăhi năt i.ăQuáătrìnhăc pănh tăcácăcáăthể d aătrênăhaiăcôngă th căsau:
( 1) ( ) ( ) ( )
,k . ,k 1* ()*( , ,k ) 2* ()*( ,k )
i m i m i m i m m i m
v wv c rand Pbest x c Rand Gbest x (3.6)
( 1) ( ) ( 1), , , , , , k k k i m i m i m x x v ;ăi=1,2,ầ,n ;ăm=1,2,ầ,d (3.7) Trong đó: n: số ph n tử trong nhóm. d: kíchăth c qu n thể (dimension). k: số l n lặp l i. ( ) , k i m v : v n tốc c a cá thể th i t i th h th k. w: h số tr ngăl ng quán tính. c1,c2: h số gia tốc.
Rand (): là m t số ng u nhiên trong kho ng (0,1).
( ) ,
k i m
HVTH: Dương Trần Đình Thảo 26 GVHD: TS. Nguyễn Minh Tâm i best P : v trí tốt nh t c a cá thể th i. i best G : v trí tốt nh t c a cá thể trong qu n thể.
3.8 Các khái ni m c b n trong gi i thu t b y đƠn PSO
- Cá th : m i cá thể trong thu t toán biểu di n m t l i gi i c aăbƠiătoánănh ngă
ch aăph i là l i gi i tốiă u.ăTùyăvƠoătừng bài toán mà m i cá thểđ c biểu di n b i nh ngăcáchăkhácănhauănh ăchu i nh phân, cây, chu i số,ăv.vầ
- Qu n th : m t t p h p các cá thể có cùng m t số đặcăđiểmănƠoăđ y. Trong
gi i thu t tốiă uăb yăđƠn,ăqu n thể là m t t p các l i gi i c a m t bài toán. Các cá thể trong qu n thể có thể có thông tin về toàn b qu n thể hoặc ch có thông tin về m t ph n c a qu n thể. Thôngătinăđóăth ng là thông tin về cá thể tốt nh t vƠăđ căđánhăgiáăthôngăquaăgiáătr c a hàm m c tiêu.
- V trí: m i bài toán tốiă uăcóăm t không gian l i gi i c aănó,ăkhôngăgianăđóă
có thể là m t chiều hoặcăđaăchiều. M i l i gi i trong bài toán có thểcoiănh ăm t v tríătrongăkhôngăgianăđó.
- V n t c: trong PSO, m i cá thể có m t v n tốc riêng, đ c dùngăđể tính v trí
ti p theo c a cá thể trong không gian bài toán. N u không gian bài toán là không gian n chiều, thì m i cá thể m i chiều s có m t v n tốc, hay nói cách khác v n tốcăcũngălƠăm t vector n chiều.
M i cá thể s ắdiăchuyển”ătrongăkhôngăgianăbƠiătoánăđể tìm ra l i gi i tối u.ăTùyăvƠoăbƠiătoánăc thể mà có cách biểu di n hàm v n tốc phù h p. Hàm v n tốc là m t trong nh ng tham số quan tr ng b c nh t trong gi i thu t PSO, đôiăkhiăch c năthayăđ i cách biểu di n hàm v n tốc có thể gi i m t bài toán khác.
Hàm m c tiêu: hàm mô t yêu c u bài toán c năđ t t i, hƠmănƠyădùngăđể đánhăgiáăcácăl i gi i c a bài toán. Tùy vào từng bài toán mà hàm m c tiêu khác nhau.
HVTH: Dương Trần Đình Thảo 27 GVHD: TS. Nguyễn Minh Tâm
3.9 Mô t thu t toán PSO
Gi sử, qu n thểbanăđ u g m n cá thể (m i cá thể là m t l i gi i cho bài toán nh ngăch aătốiă u).ăM i cá thể th i trong qu n thểđ c biểu di n b i m t vector v trí xi và m t vector v n tốc vi, i = 1,ần. Hàm m c tiêu c aăbƠiătoánăđ c ch n:
2 0 ( ) Fitness e t dt (3.8) V i e(t) là sai số.
Pbest là v trí tốt nh tăchoăđ n th iăđiểm hi n t i c a cá thể th i trong qu n thể. Gbest là v trí tốt nh t c a c qu n thể t i th iăđiểm hi n t i.
HVTH: Dương Trần Đình Thảo 28 GVHD: TS. Nguyễn Minh Tâm
Gi i thu t PSO có thể vi tăd i d ng mã gi iănh ăsau:ă For Each particle
Kh iăt oăparticle End for
Do
For Each particle Tính fitness value
If fitness value < Pbest Then Pbest = the fitness value End if
End For
If Pbest < Gbest then
Gbest = Pbest
End if For each particle
Tínhăv nătốcătheoăcôngăth că (3.7) C pănh tăv ătríătheoăcôngăth că (3.8) End For
HVTH: Dương Trần Đình Thảo 29 GVHD: TS. Nguyễn Minh Tâm
Sai
Số l n lặp l i l n nh tăđƣăđ ch a?
Đúng
Hình 3.9: Lưu đồ giải thuật c a thuật toán PSO
B tăđ u Kh i t o - Kíchăth c qu n thể n - Tr ngăl ng quán tính w - H số gia tốc c1,c2 Kh i t o các cá thể v i v trí và v n tốc ng u nhiên Tìm hàm thích nghi Tìm Pbest c a m i ph n tử và Gbest c a qu n thể
C p nh t giá tr v n tốc, v trí, Gbest và Pbest c a các cá thể
HVTH: Dương Trần Đình Thảo 30 GVHD: TS. Nguyễn Minh Tâm
S ăđ thu t toán trên sử d ng cho bài toán tốiă uăc c tiểu giá tr hàm m c tiêu. T i m iăb c lặp c p nh t l i giá tr tốt nh t c a từng cá thể trong quá kh cho t i th iăđiểm hi n t i và giá tr tốt nh t c a toàn b qu n thể cho t i th iăđiểm hi n t i.
Tối uăhóaăb yăđƠnălƠăcóătốcăđ tìm ki mănhanhăh năsoăv i các thu t gi i ti n hóa truyền thống khác. Tuy nhiên thu tă toánă nƠyă th ngă tìmă raă điểm c c tr đ a ph ngăr tănhanhănh ngăl i b m c kẹt nh ngăđiểmăđó.ă
Để tránh vi c này, có thểtĕngăsố l ng các cá thể lên, tuy nhiên th i gian tính toánă cũngă tĕngă lên.ă Trongă m i bài toán riêng, có thể đ aă vƠoă cácă thamă số ng u nhiênănh ăhai vector ng u nhiên R1, R2 trong thu t toán d ngăc ăb n trên. Các tham số ng u nhiên này làm gi m kh nĕngăthu t toán b m c vào c c tr c c b .
Điều ki n k t thúc lặp c a thu t toán r tăđaăd ng. Có thể là sau m t số l n lặp choătr c hoặc là sau m t số l n lặpămƠăkhôngăthuăđ c k t qu tốtăh n.
Tùy vào từng bài toán c thể, cách biểu di n cá thể khácăđi,ăkhiăđóăcáchăbiểu di n hàm v n tốc và v trí c a cá thể s không giốngănh ătrongămôăhìnhăthu t toán trên.
Từ cách mô t gi i thu t trên, các v năđề c n quan tâm khi xây d ng gi i thu t PSO bao g m:
Xây d ng cách mã hóa các cá thể.
Ph ngăphápăkh i t o qu n thểbanăđ u n. Đ nhănghƿaăhƠmăthíchănghiăc a các cá thể. Cách xây d ng hàm v n tốc v.
HVTH: Dương Trần Đình Thảo 31 GVHD: TS. Nguyễn Minh Tâm
3.10 Nh ng v n đ c n quan tâm khi xây d ng gi i thu t PSO
3.10.1 Mã hóa cá th
Trong PSO, m i cá thể biểu di n m t l i gi i theo m tăcáchănƠoăđóăs ch aăđ các thông tin c n thi t về l i gi i. Các cá thể t o nên m t qu n thể, là không gian l i gi i c a bài toán đang kh o sát.
Cách mã hóa cá thể là m t trong nh ng y u tố quan tr ng trong xây d ng gi i thu t. Hi n nay, có r t nhiềuăph ngăphápămƣăhóaăcáăthể tùy thu c vào các tri th c riêng c a từng bài toán đ c l a ch n hay xây d ng cách biểu di n cá thể riêng phù h p v i bài toán.
3.10.2 Mã hóa nh phân
Mã hóa nh phơnălƠăph ngăphápămƣăhóaăcáăthể ph bi n nh t. Trong mã hóa nh phân, m i cá thể là m t chu i nh phân, m i bit trong nó có thể biểu di n m t đặc tính c a nghi m.
Ví d : hai cá thể 1 và 2 có chiều dài là 16
Cá thể 1: 101 1001 0011 0110 Cá thể 2: 1101 1110 0001 1110
Mã hóa nh phơnăth ng hay dùng trong các bài toán tốiă uăcácăhƠmăm t bi n hay nhiều bi n.ăKhiăđó,ăm i chu i nh phân s biểu di n hàm t i m t t p giá tr c a các bi n. Ngoài ra, nóăcònăđ c áp d ng trong nhiều lo i bài toán khác n a.
Ví d :TrongăbƠiătoánăcáiătúi,ăđể biểu di n m t cách x păđ vào túi, dùng m t
chu i nh phơnăcóăkíchăth c bằng số đ v t. M iăbităt ngă ng v i m iăđ v t s có hai giá tr : giá tr 0 n uăđ v tăđóăkhôngăđ c cho vào túi và giá tr 1 n uăđ v t đ c cho vào túi.
Mã hóa nh phân tuy ph bi nănh ngăcóăm tănh căđiểm là có thể t o ra không gian mã hóa l năh năsoăv i không gian giá tr c a cá thể.ăDoăđó,ănhiều bài toán đ c biểu di n theoăph ngăpháp nh phân là không h u hi u.
HVTH: Dương Trần Đình Thảo 32 GVHD: TS. Nguyễn Minh Tâm
3.10.3 Mã hóa hoán v .
Mã hóa hoán v có thể đ c sử d ngătrongăcácăbƠiătoánăliênăquanăđ n th t nh ăbƠiătoánăduălch hay bài toán l p l ch.
Trong mã hóa hoán v , m i cá thể là m t chu i các số biểu di n m t trình t .
Ví d :
Cá thể 1: 1 5 4 3 2 6 7 9 8 Cá thể 2: 9 1 7 3 8 5 6 4 2
Mã hóa hoán v phù h păchoăcácăbƠiătoánăliênăquanăđ n th t .ăĐối v i các bài toán này, vi c thao tác trên các nhi m s c thể chính là hoán v các số trong chu iăđó lƠmăthayăđ i trình t c a nó.
Ví d : TrongăbƠiătoánăng i du l ch, biểu di năcáchăđiăc aăng i du l ch ph i
sử d ng m t cá thể mà trình t các số trong chu i cho bi t th t các thành phố mà ng i du l chăđiăqua.
3.10.4 Mã hóa theo giá tr
Mã hóa tr c ti p theo giá tr có thể đ c dùng trong các bài toán sử d ng giá tr ph c t pănh ătrongăsố th c.ăTrongăđó,ăm i cá thể là m t chu i các giá tr . Các giá tr có thể là b t kì y u tố nƠoăliênăquanăđ n bài toán, từ số nguyên, số th c, kí t v.vầăchoăđ năcácăđối t ng ph c t păh n.
Ví d :
Cá thể 1: 1.29 4.36 0.34 Cá thể 2: ( KP) ( KI ) ( KD)
3.10.5 Mã hóa theo c u trúc cây
Trong mã hóa theo c u trúc cây, m i cá thể là m tăcơyăcácăđốiăt ng. Cácăđối t ng có thể là các hàm, các l nh c a ngôn ng hoặc các giá tr c a bi n,ăv.vầ
HVTH: Dương Trần Đình Thảo 33 GVHD: TS. Nguyễn Minh Tâm
Hình 3.10: Cá thể biểu diễn một biểu th c toán học
3.10.6 Kh i t o qu n th ban đ u
Kh i t o qu n thể banăđ uălƠăb căđ u tiên trong gi i thu t PSO. Trong bài toán tốiă uăđaăm c tiêu k t qu t o ra m t cách ng u nhiên các l i gi i, có thể các l i gi i th a mãn ràng bu c c aăbƠiătoánănh ngăch aăbi t tốiă uăhayăch a tùy vào từng bài toán c thể s cho ra cácăph ngăphápăkh i t o khác nhau.
Ví d : BƠiătoánăđiều khiển m ch ch nhăl uăba pha PWM, s kh i t o ng u
nhiên các giá tr KP, KIbanăđ u.
Ch tăl ng c a qu n thể banăđ u càng cao l i gi i do gi i thu tăPSOăđ aăraă càng tốt. N uăbƠiătoánăđiều khiển m ch chnhăl uăbaăphaăPWMă trên t oăđ c các giá tr KP, Ki trong qu n thểbanăđ uăđaăd ng và có giá tr càng g n m c tiêu thì đi n áp càng tốt.ăDoăđó, nhiều gi i thu t PSO. th ng sử d ng các gi i thu tăđƣăcóăđể gi i bài toán cho ra k t qu khá tốt trong vi c kh i t o qu n thểbanăđ u.
Sốl ngăhayăkíchăth căbanăđ u c a qu n thể n. Cũngăđóngăvaiătròăquanătr ng trong gi i thu t vì kích th c qu n thể quy tăđnh nhiềuăđ n s h i t nhanh hay ch m c a gi i thu t kh nĕngăthoátăraăkh i nh ng c c tr c c b c a qu n thể. Kích th c qu n thể nh thì gi i thu t s h i t nhanh, k t qu là các c c tr c c b ch không ph i c c tr toàn c c nh ămong muốn (Vì số l ng cá thể ít thì qu n thể d m c vào nh ng c c tr c c b vƠăkhôngăthoátăraăđ c).
Tuy nhiên, số l ng cá thể quá l n làm thu t toán c n nhiều th i gian, h i t ch m, kíchăth c qu n thể thích h p tùy vào từng bài toán c thể.
HVTH: Dương Trần Đình Thảo 34 GVHD: TS. Nguyễn Minh Tâm
3.10.7 Hàm thích nghi (hàm m c tiêu):
Hàm thích nghi là m t trong nh ng y u tố quan tr ng quy tă đnh s thành công c a gi i thu t để đánhăgiáăcácăcáăthể tốt trong qu n thể.ăHƠmăthíchănghiăđ c xây d ng sao cho giá tr thích nghi ph i ph năánhăđ căđúngăgiáătr th c c a cá thể trong vi căđápă ng yêu c u c a bài toán.
Do ch tăl ngăđiều khiển mong muốnăthôngăth ng là tối thiểu sai số ngõ ra nên hàm thích nghi có thể ch nănh ăsau:
2 0 ( ) Fitness e t dt 3.10.8 Hàm v n t c v:
Chuyểnăđ ng c a m i cá thểđ c tính bằng công th c v n tốc sau:
( 1) ( ) ( ) ( )
,k . ,k 1* ()*( , ,k ) 2* ()*( ,k )
i m i m i m i m m i m
v wv c rand Pbest x c Rand Gbest x (3.9)
Nh ăv y, m i cá thể s t tínhătoánăb c di chuyển k ti p d a trên ba y u tố V n tốc chuyểnăđ ng hi n th i Vki,m.
V trí tốt nh t trong quá kh c a cá thể.ăĐã điăquaăchoăt i th iăđiểm hi n t i, trong t nhiên các tri th c, hiểu bi t mà cá thể đóăđƣătíchălũyă đ c ắkinhă nghi m”ăb n thân c a m i cá thể trong qu n thể.
V trí tốt nh t c a c qu n thể, trong quá kh tính t i th iăđiểm hi n t i. Y u tốnƠyăđóngăvaiătròălƠăắxuăh ng”ăc a c qu n thể. Qu n thể s điătheoăcáăthể nào tốt nh tăđểđ aăc qu n thể t i v trí tốtăh n.
HVTH: Dương Trần Đình Thảo 35 GVHD: TS. Nguyễn Minh Tâm
Hình 3.11: Chuyển động c a cá thể
Trong th c t , m i cá thể s t quy tăđ nhăh ngăđiăc a mình d a trên v trí hi n t i, kinh nghi m cá thể và xu th chung c a b yăđƠn.
M i cá thể trong qu n thể có m t tính cách, thể hi n qua hai tham số ng u nhiên R1, R2. M i cá thể s không chuyểnăđ ng ngay l p t c theoăh ng v trí tốt nh t mà sau m t th i gian m i từ từ chuyểnăđ ngătheoăcácăh ngăđó.ăTrongăPSO, tham số này giúp cho qu n thể tránh kh i vi c b m c vào c c tr c b (do không ph i cá thểnƠoăcũngăđ ng th i chuyểnăđ ng vềh ng v trí tốt nh t m i tìm ra).
Thôngăth ng, giá tr R1, R2 thu c kho ng [0,1] đ c t o ra trong m iăb c; c1 và c2 là các hằng số mô t sốl ng cá thểh ng về v trí tốt nh t, đặcătr ngăchoă kinh nghi m và tính xã h i. V trí đơyătốt nh t là c c tr toàn c c hay v trí tốt nh t đƣăđiăquaăc a cá thể. Tùy bài toán c thể, giá tr thích h p c1, c2 thu c kho ng [0,1].
3.10.9 C p nh t v trí t t nh t cho c qu n th
Trong PSO, bi năgă(globalăbest)ăđ i di n cho c qu n thể đóngăvaiătròălƠăbi n môiătr ng c a qu n thể. Thông qua bi n này, các cá thểt ngătácăv i nhau, v i c qu n thể,ăcĕnăc vƠoăđóămƠăđiều ch nhăb c di chuyển ti p theo c a mình. Bi n này thể hi n tr ng thái, v trí hi n t i c a c qu n thể,ăđóngăvaiătròăquanătr ng trong vi c đ nhă h ng qu n thể.ă Điều này giốngă nh ă trongă qu n thể sinh v t có nh ng xu h ng chung n i b t và các cá thể luôn cóăxuăh ngăđiătheoăcá thể tốt nh tăđể mong muốnămìnhăcũngăđ c tốtăh n.
HVTH: Dương Trần Đình Thảo 36 GVHD: TS. Nguyễn Minh Tâm
C p nh t trong từngăb c lặp
Trong m iăb c lặp, c p nh t ngay giá tr g (t c là khi có m t cá thể m i di chuyển t i v trí m i thì l p t c xét xem v trí m iăđóăcóăph i là v trí tốt nh t c a c qu n thể hay không). Để c p nh t g vào giá tr m iănƠyăcóătácăđ ngăngayăđ n các cá thểkhác,ăđểcóăh ng di chuyển thích h p.