s o SANH M O T S O PHl/ONG PHAP TIM KIEM TOI iTU UNG DUNG TRONG KY
T H U A TTS. NGUYEN QUAN THANG Phdng Khoa hpc Cdng nghe MT Bp Tu lenh Cdng binh
TS. NGUYEN TUAN ANH Bp mdn Ky thudt A TGT
Tru&ng Dgi hpc Giao thdng Van tdi ThS. NGUYEN THE MINH
Bd mdn Xe mdy Cdng binh Hpc vien Ky thudt Qudn su
Tdm tdt: Bdi bdo gidi thieu kit qud nghien ci'ni. ddnh gid mdt sd thudt todn lim kiim tdi uu dua trin ca sa md phong Monte - Carlo dang dugc iing dung di giai cdc bdi todn ky thudt trin thi gidi. Kit qua nghien ciiu cd ihi dp dung cho bdi lodn tdi uu ung dung.
Summary: The article is introduced about result searched and evaluated for some optimal method bese on Monte - Carlo simulation that he using in the world. The result can be apllied for optimal mechanism design.
I. DAT VAN DE
l.L Xac dinh nhiem vu ciia bai toan tdi uu
Trong ky thuat, khi giai quyet bat ky nhiem vu nao chimg ta deu mong mudn cd phuang an tot nhit theo mpt hoac mot vai tieu chi nao dd. Cd the liet ke rat nhieu nhQ-ng vi du cu the nhu:
tilt kiem thdi gian nhit, chi phi nhd nhat, nang suat ldn nhat, quang dudng di ngan nhat, thiet ke kit ciu vdi trpng lugng vat lieu nhd nhat... De giai dugc nhiing bai toan nay, loan hgc da cho ra ddi mdt nganh la "Quy hoach toan hpc" hay "toi uu hda" [1], [3].
Bai toan toi uu ndi chung dupe viet dudi dang toan hpc nhu sau:
Tim gia trj circ tieu (hoac cue dai) ham: ' f(x) -^ min(max);x G R "
(1) Vdi cac dieu kien:
g,(x) > 0;
h,(x) = 0;
1,2,.
1,2..
m
T?p chi KHOA HQC GIAO THONG VAN TAI So 29 - 03/2010
\
Bai toan dat ra yeu can la tim tap hgp cac bien x;, i = 1, ... ,n thoa man cac dieu kien rang budc ddng thdi ham f(x) dat gia trj cue tieu (hoac cue dai). Thuc ra tim cue tieu hoac cue dai trong toan hpc khdng khac nhau nhieu (dimg phep bien ddi ham ngugc), do vay trong bai bao nay cbii yeu ta xet bai toan tim cue tieu.
Ham f(x) trong bieu thirc (1) dugc ggi la ham muc tieu hoac tieu chuan tdi uu, bieu dien mdi quan he giQa tieu chuan chat lugng ciia qua trinh khao sat va cac bien ddc lap x.
Cac ham sd gi(x), h,(x) la cac dieu kien rang budc ciia bai toan tdi uu dudi dang dang thirc va bat dang thirc. Trong khdng gian cac bien, cac ham sd nay tao ra mien gidi han D cac kha
nang cho phep ciia ham f(x). v Neu nhu D = R" (vdi R la sd chieu cua ham muc tieu), cd nghia la khdng tdn tai bat ky mdt
dieu kien gidi ban nao ta ndi rang bai toan quy hoach phi tuyen khdng cd dieu kien rang budc.
Tuy nhien trong phan ldn cac bai loan tdi im, ngudi sii dung thudng cd ban khoan dd la:
ket qua nhan dugc tir qua trinh tinh da that su la phuong an tdt nhat chua. De minh hga van de nay ta cd the xet vi du nhu ham Peaks (2) - hai bien la ham don dieu da cue trj, dugc bieu dien bang dd thj nhu tren hinh 1.
2 (-x2-(x +1)2) f(x) = 3.(l-Xj)-^.e I 2 10.(-
3 5 (-x2-x2) 1 (-(x+l)2-x2)
•x, -X2).e ' ^ - - . e ' ^ (2)
•••. • ' ' : B ' ' ' '
-.
;• 1
if|!5|x>
,
It • ,' 1
Hinh 1. Minh hog Idi ini todn cue
Nhu tren binh 1. xung quanh phuong an tdt nhat (d day chgn la diem thap nhat - diem A) cdn cd mdt diem dat cue trj dja phuong la diem B va mdt sd diem nghi ngd cd cue tieu khac.
Trong qua trinh giai, rat cd kha nang ket qua giai bai toan tdi uu cua chiing ta bj "ket" tai mdt cue trj nao dd (khdng phai diem A) va khdng thoat ra dugc. Vi vay, viec phat trien cac thuat toan du manh tiem can dugc gia trj tdi uu ludn duac ngudi lam ky thuat quan tam.
1.2. Cac dang bai toan tim kiem toi uu dua tren co sd md phdng Monte - Carlo
Vdi cac phuong phap cd dien, nhung bai loan tim kiem tdi uu trong khdng gian tim kiem nhd la tuong doi phii hpp. Tii\ nhien de tim dupe nghiem tiem can tdi uu trong khdng gian tim kiem Idn cin thill phai cd nhiing ky thuat tim kiem dac biet dua tren nhung hieu biet ve tri tue nhan tao va md phdng cac hien tugng vat ly hay sinh hgc. Trong sd dd ndi bat len la cac phuong phap tim kiem tdi uu Monte - Carlo sau:
- Thuiil giai di lru>en (Genetic Algorithms - GA)
T?p chi KHOA HQC GIAO THON^ V^ TAI So 29 - 03/2010 95
- Thuat tiln boa vi phan (Differential Evolution Algorithm - DE)
Day la cac thuat toan thugc ldp cac thuat giai xac suit, hien dai va dang dugc quan tam irng dung vao giai cac bai toan tdi uu ky- thuat.
II. NGUVEN LY HOAT DONG VA SO DO THUAT TOAN
2.1. Thuat giai di truyen a. Nguyen ly hogt dgng
Giai thuat di truyln - GA do D.E. Goldberg d l xuit nam 1968, sau nay dugc phat trien bdi L.Davis va Z.Michalevicz, Day la thuat toan hinh thanh tu viec nhan xet the gidi tir nhien: Qua trinh tiln hoa tu nhien la qua trinh tdi uu nhit, hoan hao nhit. Day dugc xem nhu mdt tien de dimg, khdng chirng minh dugc, nhimg phu hgp vdi thuc te khach quan. Tinh tdi uu ciia qua trinh tiln boa thi hien d cho thi he sau bao gid cung tot hon (phat trien hon. hoan thien hon va phii hgp vdi mdi trudng hon) thi he trudc. Xu\-en sudt qua trinh tien boa, cac the he mdi dugc sinh ra dl bd sung, thay thi thi he cu, trong qua trinh nay ca the nao phat trien ban thich u'ng hon vdi mdi trudng se ton tai, ca thi nao kem thich irng hon se bj dao thai. Nhu vay thuat toan di truyln diu md phdng bon qua trinh tien boa ca ban: lai ghep, dot bien, sinh san, chgn lgc tu nhien.
b. Xdy dtmg so' eld thudt todn
Sa dd thuat toan dugc trinh bay tren hinh 2a.
Ma boa cac biln va xay dung quin thi ban diu (khoi 1. 2): Ky hieu npop_size la sd ca the trong mdt quin thi; nlu bai loan cd n biln ddc lap va mdi bien dugc bieu dien bdi mi(i) bit thi moi phuong an cin nx = Xmi(j)bit dl bieu dien. Tuong irng, toan bd bai toan can
j - i
(npop_size*nx) bit. D I cd quin thi ban diu ta chgn ngau nhien npop_size ca the trong pham vi cho phep.
Qua trinh chpn Ipc cac ca the (khdi 4) trong GA dua tren dp thich nghi cua chung (khdi 3) thdng qua xac suit lira chpn nhu djnh nghia bdi bieu thirc (4). De tinh .xac suat lira chgn thuc hien cac budc sau:
- Tinh do thich nghi eval(Vi) cho mdi ca the; V| (i = 1,2,..., npop_size) - Tinh tdng gia trj thich nghi cho toan bd quan the:
npop_size
F = X eval(v ) 1=1 i
(3)
- Tinh xac suat lira chgn p; cho mdi ca the v,;
96 Tap chi KHOA HQC GIAO THONG VAN TAI S6 29 - 03/2010
eval(v )
p = -.— i
j npop^size
(4)
"Z eval(v )
1=1 1
- Tinh vj tri xac suat q, cho mdi ca the Vj (i = 1,2,..., npop_size)
q = i p
1 • J = l 1
(5) Tien trinh chgn lgc dugc thuc hien bang each quay banh xe Rulet npop_size lan; mdi mdt lan se chgn dugc mdt ca the de dua vao quan the mdi.
Nhu vay se cd mdt sd ca the dugc chgn hon mdt lan va cd ca the da bj loai bd.
Trong qua trinh lai ghep (khdi 5), thdng sd cd y nghia ddi vdi viec lai ghep la xac suat lai ghep Po tham sd nay cho biet sd ca the se tham gia lai ghep trong quan the la (pc*npop_size).
Thudng p,=0.25 [1], [2], [4].
- Chpn ngau nhien (pc*npop_size) ca the trong quan the, tiep tuc lai chpn ngau mdt cap ca the trong sd cac ca the se lai ghep.
- Chpn ngau nhien diem lai ghep va tien hanh lai ghep.
Ddi vdi qua trinh dot bien (khdi 6), thdng sd khac dieu khien qua trinh la xac suat dot bien p,,,. Tham sd nay cho biet sd bit se dot bien la (p„,. nx . npop_size). Cach thuc hien nhu sau:
- Phat (pi„*nx*npop size) lan sd ngau nhien r phan bd deu trong khoang [1, (nx*npop_size)]. Neu r trung vdi vj tri nao se tien tien hanh dot bien bit dd, cd nghia la neu gia trj ciia bit dd bang 0 thi chuyen thanh 1 hoac ngupe lai.
2.2. Thuat md phdng luyen kim a. Nguyen ly hogt dgng
Nhu ta da biet khi ddt ndng cac phan tir ciia thuy tinh hoac kim loai chuyen ddng tir do, nhiet dp la thude do mirc nang lupng trong timg phan tir cung nhu toan bd he thdng. Neu nhir nhiet dp giam nhanh chdng, cac phan tu- ay se ddng dac lai nhu mdt ket cau phu'c hgp, Tuy nhien nlu nhiet do giam chain hon thi dang tinh the ciia chung se injn hon nhieu. Trong trudng hgp nay nhiing phin tir cua cac linh the ran ay d trang thai nang lugng cue tieu. Nam 1983, S. Kirkpalrick, C. D. Gelatt va M. P. Vecchi da md phdng lai qua trinh tu nhien xay ra vdi mang tinh thi ciia thuy tinh hoac kim loai khi lam ngudi de tim nghiem tdi im, do vay phuong phap dugc dl xuat cd ten la Md phong luyen kim (SA).
h. yYdr dinig sir do thudt lodn
So do thuat toan dugc trinh bay tren hinh 2b.
Khac vdi thuat toan di truyen, trong thuat toan md phdng luyen kim chi cd mdt diem ban dau dugc khoi tao theo qu\- luat ngau nhien phan bd deu trong mien .xac djnh ciia bai toan sau
T^p chi KHOA HQC GIAO THONG VijiN TAI So 29 - 03/2010 97
dan thdng qua viec dieu khien nhiet dp (khdi 3). Sau do mpt diem mdi XP(i) trong mien xac djnh cua bai toan cung dugc xac lap (khdi 4). Diem mdi nay phu thugc vao diem ban dau X(i) cung nhu vao vec to- dieu chinh chieu dai budc Vm(i). Sai sd gia tri ham tai cap diem tren tinh theo cdng thu-c ' ' • '
A = f(XP) - f(X). (6) Gia trj nay dugc su- dung de xem xet danh gia nham xac djnh hirdng chuyen ddng tiep theo
trong qua trinh tim nghiem (khdi 5). Trong bai toan tim Max, chuyen ddng di len (A>0 - uphill) dugc chap nhan, thi diem mdi se thay thi diem cQ [X(i)=XP(i)] - (khdi 7). Mdt budc di xudng (A<0 dowhill), cung cd the dugc chap nhan neu thda man tieu chuan kiem tra Metropolis (khdi 8, 9). Bang each nhu vay thuat toan cd the thoat khdi nhQng cue trj cue bd va se du-na lai khi thoa man dieu kien dQ-ng (khdi 10).
2.3. I Uuat lien !ioa \ i jilian a. Nguyen ly hogt dgng
Tren co- sd y tudng ciia thuat toan GA. vao nam 1995, Ramer Stom va Kenneth Price da hoan thien co- che dot bien va lai ghep de tao ra mdt thuat toan mdi tin cay. hieu qua ho-ii- Diem khac biet ldn nhat cua DE so vdi GA la ludn duy tri va bd sung mdt cap 2 vecta b^o gdm (njiopsize) quan the vdi (m) chieu cac tham sd thuc va da irng dung thanh cdng cho nhieu bai loan tdi uu d cac linh vuc khac nhau.
h. Xdy dimg so' do ihugt lodn
So- dd thuat toan dugc trinh bay tren hinh 2c.
CQng nhu thuat toan GA da trinh bay d tren, thuat toan tien hoa vi phan cung khdi t^o quin the cac diem ban dau P(t) theo quy luat ngau nhien phan bd deu trong mien xac djnh Ijai toan sau khi cho cac thdng sd ban dau (khdi 1, 2). Mdi phan tii- trong quan the ban dau nay cuhg dugc DE thuc hien tren mien tham sd thuc vdi cdng thirc sau [5]:
X =rand(0,l)*(BU -BL ) + BL (7) ij ij iJ ij
Trong dd: x,, - gia trj ciia phan tir ij vdi: i - sd ca the xem xet ciia bai toan; j - so biln ciia bai toan tdi uu; BU,,, BL„ - gidi ban tren va gidi ban dudi cua bien X,J; rand (0,1) - so ngiu nhien phan bd deu trong khoang [0. 1].
Ngay sau qua trinh tao quan the ban dau, khac vdi GA, thuat toan DE thuc hien ludn tiln trinh dot bien (khdi 3). Trong tien trinh nay, DE tilp tiic tao ra mdt quin thi dugc dot bien [V]
dua tren quan the ban dau. Ky thuat dot bien trong thuat toan DE la su kit hgp giiia he sd ty le cho trudc va cac qua trinh ngau nhien. Phuong trinh (8) bilu dien gia trj phin tir dot biln V; iQ- viec td hgp ba phan tu khac nhau dirpc chpn ngau nhien trong quin thi ban diu [X].
V = x + F * ( x -X ) (8) ij ro,j rl,j r2,j
98 Tap chi KHOA HQC GIAO THONG Vi^N TAI So 29 - 03/2010
Trong dd: ry, r;, r^ - cac gia trj ngau nhien khac nhau dupe chpn theo luat phan bd deu trong khoang [0, n _ p o p s i z e ] ; F - hang sd ty le. F e (0,1) la mdt sd thuc d u o n g d i l u khien mirc dp tien
hda cua quan the. ' Trong qua trinh lai ghep (khdi 4), DE cung tien hanh lai ghep theo kieu cap ddi (dual
crossover) tao ra mdt quan the lai ghep [U] cd gia trj cac tham sd d u g c lira chgn ngau nhien tu- cac quan the [X] va [V] ban dau. Ky thuat lai ghep sii- dung trong lap trinh cua DE cd the bieu dien nhu sau:
U
if r a n d ( 0 , 1 ) £ C or j = rand(j)
otherwise (9)
Trong dd: C, - xac suat lai ghep. Cr e (0,1) d u g c ngudi sir dung djnh nghia nham dieu khien mdt phan cac tham sd d u g c sao chep tir quan the dot bien. T h e m vao dd gia trj cua phan tu lai ghep u,j vdi chi sd chgn ngau nhien j = rand(]) d u g c lay tu' quan the dot bien [V] se dam bao chae chan phan tir lai ghep khdng triing vdi phan tir ban dau Xjj.
Trong qua trinh chgn lgc va tai sinh (khdi 5, 6), cac ca the trong quan the lai ghep [U] dugc so sanh vdi cac ca the trong quan the ban dau [X] theo hirdng ca the nao cd gia trj ham muc tieu thap hon se dugc lira chgn vao quan the mdi [Y]. Ky thuat lua chgn cua DE cd the bieu dien nhu sau:
u ;if f(u ).£f(x ) ij iJ ij X ; otherwise
ij
(10)
Qua trinh lai smh se d u g c Ibirc hien bang phep gan [X] = [Y].
Dieu kien dimg cua thuat loan DE cung rat de dang va thuan tien. Cac khdi 7, 8, 9 bieu dien dieu kien kiem tra dirng va xuat ket qua cua thuat toan. Cac gia trj ve sd the he tien boa (Su,) hoac mdt giii Irj vd cimg be (EPS) dugc dua ra so sanh vdi cac sai lech cua qua trinh tinh. Bieu Ibiic dieu kien dirng cua thuat loan DE cd the viet nhu sau:
Np Z F(x) F(x) . i=l
^ ' m m N ,
£ e ; ( i i ;
Trong dd: F(x)„„„ - gia trj nhd nhat ciia ham muc tieu tai t h i he xet; F(x)i - gia trj ham miic lieu cua ca the thir i; N|,(= n_popsize) - tdng sd ca the trong quan the dang xet; 8 - gia trj vd cimg be cho trudc (ihiriTiig chgn = 10 •* ^ 1 0 " tuy theo loai bai loan).
. 9p chi KHOA HQC GIAO THONG VyjiN TAI So 29 - 03/2010 99
In ket qua
a) b)
Hmh 2. Sa dd cdc thudt todn GA, SA vd DE
C)
HI. MOT SO BAI TOAN THU NGHIEM VA SO SANH 3.1. Mot sd bai toan thu nghiem
a. Bdi todn I: Tim cue tilu ham Generalized Rosenbrock
Tim cue tieu ham sd sau:
f(x)= I (100.(x.^|-x2)2+(x -1)2;
j=0 J J
Cac dieu kien ban che cd dang:
-30 < x , < 3 0 ; j = 0,1,2, ... , D - 1;D>1 Do thj ham Generalized Rosenbrock vdi 2 biln dugc bilu dien nhu hinh 3.
b. Bdi lodn 2: Tim cue tilu ham Ackley Tim cue tieu ham sd sau:
D-1
Hinh 3. Dd thi hdm Generalized Rosenbrock
1 D-1
f(x) = -20.exp(-0,2. —. I xf )-exp(— X cos(2.7i.x .)) + 2 0 + e;
^ D j=0 J D j=0 J Cac dilu kien ban che cd dang:
- 3 0 < x , < 3 0 ; j = 0,l,2, . . . , D - 1 ; D > 1 Do thj ham Ackley vdi 2 bien dugc bieu dien nhu hinh 4.
100 Tap chi KHOA HQC GIAO THONG VAl^ TAI So 29 - 03/20101
-30 .y)
Hinh 4. Dd thi hdm Ackley c. Bdi loan 3: Tim cue dai ham Zbigniew Michalewicz Tim cue dai ham sd sau:
f(x) = 21,5-^x sin 4;rx - ^ x s i n 2 0 7 r x
\ { \J 2 { 2 Cac dieu kien ban che cd dang:
-3.0 < X| < 12.1; 4.1 < X2< 5.8 Dd thi ham Zbigniew Michalewicz dugc bieu dien nhu hinh 5.
////;/( 5. Dl) thi hdm Zbigniew Michalewicz d. Ket qua linh lodn cdc hdi lodn ihw iighieiii
Ket qua tinh loan ba bai toan thu nghiem tren bang chuong trinh tinh viet bang ngdn ngQ- FOR TRAN 95 dugc the hien tren baim nhu sau:
Tinh loan
(iA SA DE
Bai toan 1 (n = 6) -2 < X, < 2 nf
- 12000 19350
t - 14
2
X*
-
|0.9|
in
f(x*) - 0,0036
0
Bai loan 2 (n = 6) -30 < X, < 30 nf
- 13801 12421
t - 3 3
X*
- 10}
| 0 | f(x*)
- 0 0
Bai loan 3 (n = 2) -3 < X | < 12,1;4,1 <X2<5,8 nf
702 2601
870 t 0 3 0
X*
11,645 5,522 11,625
5,225 11,625
5,725
f(x*) 38,209 38,350 38,850 Trong dd: nf - sd lan tinh gia trj ham; 1 - thdi gian tinh toan (% sec); x* - gia trj toi uu cua cac bien; f(x*) - gui trj ham d diem tdi uu.
. 9p chi KHOA HQC GIAO THONG VAN TAI So 29 - 03/2010 101
TQ- cac tai lieu tham khao va ket qua lap trinh, tinh toan cu the cho cac bai toan thir nghiem, nhan thay uu nhupc diem cua ba phuong phap tren nhu sau:
Uu diem
Nhupc diem
GA
- Thupc ldp thuat toan Monte- Carlo va do xem xet nhieu ca the trong mdt quan the nen cd the vupt qua cue trj dja phuong, tiem can diem tdi uu ciia bat toan.
- Viec xay dung tieu chuan du-ng rat khd khan.
- Rat khd sir dung ddi vdi cac ham sd bien ddi trai dau ngau nhien.
SA
- Thupc ldp thuat toan Monte - Carlo, cd kha nang tao ra cac dot bien de tiem can diem tdi im cua bai toan.
- Cd tieu chuan dirng rd rang.
- Thdi gian tinh thudng keo dai hon so vdi cac phuong phap GA, DE do sd lugng vdng lap trong chuong trinh nhieu.
DE
- Cd day dti cac uu diem cua GA va SA.
- Thdi gian tinh rat nhanh.
- Dugc danh gia la mdt thuat toan hien dai nhat trong tdi im.
- Viec lira chgn cac he sd ty le F va he sd xac suat lai ghep C^
phu thupc rat nhieu vao kinh nghiem ngudi sir dung
\ I . K I : T L U A N
Qua qua trinh nghien cQ-ii va thir nghiem nhieu lan tren may tinh dien tir cac thuat toan tdi uu tren ket hgp vdi ket qua thir nghiem mdt sd bai toan man nhu da de cap, cd the dua ra mdt sd ket luan sau:
- Theo quan diem thuan tuy toan hgc, viec chirng minh nghiem tdi im cua mdt bai toan that sir khdng don gian dac biet vdi bai toan ky thuat. Tuy vay, cac phuong phap neu tren cung chi ra cho chimg ta mdt birc tranh kha tdt ve tim kiem nghiem tdi uu ti-ong khdng gian ldn ciia bai toan da cue trj, khdng lien tuc kha phd bien trong ky thuat. Vdi ca ba phirang phap da trinh biy thi nghiem dat dirge chi it cQng la phuong an tdt nhat (theo mdt tieu chuan xac djnh) trong tit ca cac phuong an da xem xet.
- Thdng thudng de giai cac bai toan tdi uu thuc te trong ky thuat qua trinh tinh toan thudng mat rat nhieu thdi gian. Vi du dimg thuat toan GA de giai bai toan tdi uu kit ciu trong mdi trudng Matlab thudng mat nhieu tieng. Do dd, viec rut ngan dugc thdi gian trong tinh toan tdi uu cua thuat toan DE la mdt uu diem vupt trdi so vdi cac thuat toan khac trang qua trinh tim nghiem, dac biet vdi bai toan ma gia trj ham khdng the bilu dien dugc bing nhung ham dai so tudng minh va vdi sd bien ldn.
Tai lieu tham khao
[1]. Hodng Kiim, Thuat giai di truyen, NXB Giao due, Ha noi, 2000.
[2]. Nguyin Dinh Thuc, Tn tue nhan lao - Lap trinh hin hoa, NXB Giao due. Ha noi, 2001.
[3]. Bill Minh Tri, Bai tap tdi iru hoa, NXB Khoa hoc Ky thuat. Ha noi, 2002.
[4]. Zbigniew Michalewicz, Genetic Algorithms + Data Stmctures = Evolution Programs Sprineer Verlag, 1994. • F fa • [5]. Kenneth Price, Rainer Stom, Jouni Lampinen, Differiential Evolution A Practical Approach to Global Optimization, Springer, Verlag, 2005*