Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
824,5 KB
Nội dung
TI U HểA KT CU GVHD: TS V TRNG V MC LC I.1: GII THIU CHUNG I.2: í NGHA I.2.1: í ngha khoa hc I.2.2: í ngha thc tin I.3: NG DNG I.4: THUT TON BY KIN I.4.1: Gii thiu chung v thut toỏn by kin I.4.2: S chung ca thut toỏn by kin I.4.3: Ni dung ca thut toỏn by kin I.4.3.1: Mó gi cho thut toỏn I.4.3.2: Cỏc s thut toỏn I.4.3.2.1: Thut toỏn Ant System (AS) I.4.3.2.2: Thut toỏn Ant Colony System(ACS) I.4.3.2.3: Thut toỏn MaxMin Ant System(MMAS) I.4.3.2.4: Thut toỏn Rank-Based Ant System(RBAS) I.4.3.2.5: Thut toỏn Best-Worst Ant System(BWAS) I.5: P DNG Nhúm: 3 3 4 10 11 12 13 14 16 17 18 20 Trang TI U HểA KT CU GVHD: TS V TRNG V I.1: GII THIU CHUNG Trc núi v ni dung thut toỏn by kin ta i tỡm hiu v n kin t nhiờn, xem cỏc c im v cỏch hot ng ca n kin t nhiờn T ú cú th a cỏc c im cn thit, tỏc ng ti thut toỏn by kin Hỡnh: n kin t nhiờn n kin t nhiờn: L mt loi cú t chc cao, mi kin di chuyn s li mt lng thụng tin pheromone trờn mt t õy l phng tin ỏnh du v n kin trao i thụng tin tỡm kim thc n Khi i tỡm kim thc n: Sau tỡm thy ngun thc n, thỡ mi kin s tỡm ng i ca nú i t t ti ngun thc n Chỳng s giao tip trao i thụng tin vi nhau, sau mt thi gian c n kin gn nh tỡm v i theo ng ngn nht t t ti ngun thc n Sau nghiờn cu cho thy c ch hot ng ca n kin t nhiờn quỏ trỡnh tỡm ung i ngn nht t t ti ngun thc n da trờn cỏc nguyờn tc sau: ng i ngn nht c xỏc nh thụng qua cỏc thụng tin v Pheromone, l mt loi húa cht m cỏc kin dựng trao i thụng tin vi Khi di chuyn thỡ mi kin s li mt lng Pheromone trờn ng i m nú ó i qua Trong quỏ trỡnh di chuyn tỡm ng i, cỏc kin s c nh hng bi cỏc thụng tin pheromone ó c li trờn ng i Mi kin di chuyn mt cỏch ngu nhiờn khụng cú thụng tin v pheromone trờn on ng i Cỏc ng i cú lng pheromone ln thỡ xỏc sut c chn cng cao, ngc li cỏc on ng cú lng pheromone thp thỡ xỏc sut c chn l T vic nghiờn cu c ch hot ng ca n kin t nhiờn ó cho i thut toỏn by kin Mt cỏch khụng chớnh thc cú th núi thut toỏn by kin l mt by kin nhõn to gii bi toỏn a Ti u n kin (ACO) L mt n kin nhõn to (Artificial Ants) mụ phng cỏc hot ng ca n kin t nhiờn Trong ú hot ng chớnh ca cỏc kin nhõn to l cỏch tỡm ng i t t ti ngun thc n ca cỏc kin t nhiờn n nú Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V c ci tin a dng v cú nhiu ng dng Trc gii thiu phng phỏp ACO, lun ỏn gii thiu phng thc trao i thụng tin giỏn tip ca cỏc kin v mụ hỡnh kin nhõn to Trờn ng i, mi kin li mt cht húa hc gi l vt mựi dựng ỏnh du ng i Bng cỏch cm nhn vt mựi, kin cú th ln theo ng i n ngun thc n c cỏc kin khỏc khỏm phỏ theo phng thc chn ngu nhiờn cú nh hng theo nng vt mựi xỏc nh ng i ngn nht t t n ngun thc n Ngoi cỏc kin cú th trao i thụng tin cú c vi nhau, thc hin tớnh toỏn cn thit, cp nht mựi Nh cỏc kin nhõn to ny (v sau cng gi n gin l kin) Dorigo (1991) ó xõy dng h kin (AS) gii bi toỏn ngi cho hng, hiu qu ca nú so vi cỏc phng phỏp mụ phng t nhiờn khỏc nh AS, GA ó c kim chng bng thc nghim v c phỏt trin, ng dng phong phỳ vi tờn gi chung l phng phỏp ACO I.2: í NGHA I.2.1: í ngha khoa hc p dng lý thuyt ca thut toỏn n kin ACO ỏp dng cỏc bi toỏn ti u t hp So sỏnh v ỏnh giỏ hiu qu ca thut toỏn di truyn v thut toỏn n kin ACO vic gii bi toỏn I.2.2: í ngha thc tin Thut toỏn n kin cú th ỏp dng cỏc bi toỏn thc t: lp lch i hnh trỡnh vi chi phớ ti thiu, nh tuyn trờn mng, cỏch di chuyn lp t dm cu qua cỏc chng ngi vt ngn v nhanh nht, .vv I.3: NG DNG Thut toỏn ACO c ng dng cho mt s lng ln bi toỏn ti u t hp Nhng ng dng hin ca ACO chia thnh hai lp ng dng: Lp ng dng th nht: Lp bi toỏn ti u t hp NP-hard cho cho cụng ngh c thng ớt thc n c tớnh thnh cụng nht ca ng dng ACO ti nhng bi toỏn m ú kin kt hp vi vựng tỡm kim cú cỏch gii quyt tt nht Lp ng dng th hai l bi toỏn tỡm ng i ngn nht, ú khong cỏch bi toỏn gii quyt thay i thi gian thc thi bi toỏn Nhng thay i ny cú th nh hng khụng i ca bi toỏn nh ó cú sn, nu nh hng b ln ln , c tớnh c coi nh chi phớ cnh, thay i theo thi gian Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V I.4: THUT TON BY KIN I.4.1: Gii thiu chung v thut toỏn by kin Cỏc thut toỏn kin ln u tiờn c gii thiu bi Dorigo v cỏc cng s nh l cỏch tip cn a tỏc t ti cỏc v ti u t hp khú, nh bi toỏn ngi du lch (TSP), bi toỏn ngi a th Hin s lng cỏc ng dng cng ngy cng tng v cỏc nh khoa hc ó ng dng nú vo rt nhiu cỏc ti u ri rc Cỏc ng dng gn õy cú th k n nh cỏc bi toỏn lp lch, tụ mu th, nh hng mng truyn thụng, v.v Cỏc thut toỏn kin l cỏc thut toỏn da vo s quan sỏt cỏc by kin thc Kin l loi cỏ th sng by n Chỳng giao tip vi thụng qua mựi m chỳng li trờn hnh trỡnh m chỳng i qua Mi kin i qua mt on ng s li trờn on ú mt cht m chỳng ta gi l mựi S lng mựi s tng lờn cú nhiu kin cựng i qua Cỏc kin khỏc s tỡm ng da vo mt mựi trờn ng, mt mựi cng ln thỡ chỳng cng cú xu hng chn Da vo hnh vi tỡm kim ny m n kớờn tỡm c ng i ngn nht t t n ngun thc n v sau ú quay tr t ca mỡnh Sau õy l vớ d v lung i ca n kin thc t: Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V Hỡnh 1: Mụ phng ng i ca by kin a Kin i theo ng thng gia A v E b Khi cú chng ngi vt kin s chn hng i, cú hai hng vi kh nng kin s chn l nh c Trờn ng ngn hn thỡ nhiu mựi (pheromone) hn Hỡnh 2: Mụ phng khong cỏch ng i ca by kin Xem hỡnh 2a l gii thớch rừ tỡnh hỡnh 1b Gi s khong cỏch DH=BH=DB qua C v =1, C l im nm gia B v D(hỡnh 2a) Bõy gi chỳng ta xem xột iu gỡ xy ti nhng khong thi gian ri rc: t=0, 1, Gi nh rng 30 kin mi i t A n B, 30 t E n D, mi kin di chuyn vi tc mt n v thi gian v di chuyn kin ti thi im t Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V mt vt pheromone vi nng l n gin chỳng ta xột lng pheromone bay hi hon ton v liờn tc khong thi gian (t+1, t+2) Ti thi im t=0, thỡ khụng cú vt mựi no trờn cnh v cú 30 kin B, 30 D Vic la chn ng i ca chỳng ta ngu nhiờn ú, trung bỡnh t mi nỳt cú 15 kin s i n H v 15 s i n C (hỡnh 2b) Ti thi im t=1, 30 kin mi i t A n B, lỳc ny nú s chn hng n C hoc hng n H Ti hng n H cú vt mựi 15 15 kin i t B n H, ti hng n C cú vt mựi 30 15 kin i t B n D v 15 i t D n B thụng qua C (hỡnh 2c) Do ú kh nng kin hng n chn ng n C, ú s kin mong mun i n C s gp ụi s kin i n H (20 n C v 10 n H) Tng t nh vy cho 30 kin mi i t D n B Quỏ trỡnh s liờn tc cho n tt c kin s chn ng i ngn nht Trờn õy chỳng ta mụ t hnh vi tỡm kim ca by kin thc.Sau õy , chỳng ta s tỡm hiu sõu hn v cỏc thut toỏn kin Thut toỏn ti u by kin (ACO) nghiờn cu cỏc h thng nhõn to da vo hnh vi tỡm kim ca by kin thc v c s dng gii quyt cỏc v ti u ri rc.Thut toỏn by kin siờu tỡm kim(ACO meta_heuristic) ln u tiờn c Dorigo, Di Caro v Gambardella xut vo nm 1999 Metaheuristic l mt cỏc khỏi nim v thut toỏn c s dng xỏc nh cỏc phng thc tỡm kim thớch hp cho mt cỏc khỏc Hay núi cỏch khỏc, mt siờu tỡm kim ( meta-heuristic) cú th coi l mt phng thc tỡm kim a nng ACO l mt meta-heuristic, ú mt cỏc kin nhõn to phi hp tỡm kim cỏc gii phỏp tt cho cỏc v ti u ri rc S phi hp l yu t ci lừi ca cỏc thut toỏn ACO Cỏc kin nhõn to liờn lc vi thụng qua trung gian m ta thng gi l mựi Cỏc thut toỏn ACO c s dng gii quyt cỏc v ti u t hp tnh v ng Cỏc tnh l cỏc m ú cỏc c tớnh ca l khụng thay i sut quỏ trỡnh gii quyt Cũn cỏc ng thỡ ngc li l mt hm cỏc tham s m giỏ tr ca nú l ng hay thay i quỏ trỡnh gii quyt , vớ d bi toỏn ngi a th l mt dynamic problem H thng ACO ln u tiờn c Marco Dorigo gii thiu lun ca mỡnh vo nm 1992, v c gi l H thng kin (Ant System, hay AS) AS l kt qu ca vic nghiờn cu trờn hng tip cn trớ tu mỏy tớnh nhm ti u t hp m Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V Dorigo c hng dn Politecnico di milano vi s hp tỏc ca Alberto Colorni v Vittorio Maniezzo AS ban u c ỏp dng cho bi toỏn ngi du lch (TSP) v QAP Cng vo nm 1992, ti hi ngh s sng nhõn to ln u tiờn chõu u , Dorigo v cỏc cng s ó cụng b bi: s ti u c phõn b bi n kin Tip theo ti hi ngh quc t th hai v gii quyt cỏc song song t nhiờn H Lan (1992), ụng v cỏc cng s ó cụng b bi: nghiờn cu v cỏc c tớnh ca mt gii thut kin K t nm 1995 Dorigo, Gambardella v Stỹtzle ó phỏt trin cỏc s AS khỏc Dorigo v Gambardella ó xut H thng by kin (Ant Colony System, hay ACS) Stỹtzle and Hoos xut MAX-MIN Ant System (MMAS) Tt c u ỏp dng cho bi toỏn ngi du lch i xng hay khụng i xng v cho kt qu m Dorigo, Gambardella and Stỹtzle cng xut nhng phiờn bn lai ca ACO vi tỡm kim a phong Vo nm 1995, L.M Gambardella v M Dorigo ó xut h thng Ant-Q, l mt cỏch tip cn hc tng cng cho cho bi toỏn TSP.V nú c ỏp dng Hc Mỏy Tip ú, vo nm 1996, bi bỏo cụng ngh ca mỡnh ti Bruxelles M Dorigo v L.M Gambardella ó cụng b h thng Ant Conoly System õy l h thng cp n cỏch hc phi hp ỏp dng cho bi toỏn TSP Cng nm 1996 ny, T Stỹtzle v H H Hoos ó xut ht thng MaxMin Ant System õy l mt h thng ci tin h thng AntSystem ban u v c ỏnh giỏ l h thng tớnh toỏn tng lai Sau ú, vo nm 1997, G Di Caro v M Dorigo ó xut h thng AntNet õy l cỏch tip cn v nh hng s thớch nghi V phiờn bn cui cựng ca h thng AntNet v iu khin mng truyn thụng ó c cụng b vo nm 1998 Cng nm 1997, h thng Rank-based Ant System, mt h thng ci tin h thng kin ban u v nghiờn cu h thng tớnh toỏn ó c xut bi B Bullnheimer, R F Hartl v C Strauss Phiờn bn cui cựng ca h thng ny c cụng b vo nm 1999 Vo nm 2001, C Blum, A Roli, v M Dorigo ó cho cụng b v h thng kin mi l Hyper Cube ACO Phiờn bn m rng tip ú ó c cụng b vo nm 2004 Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V Hu ht cỏc nghiờn cu gn õy v ACO trung vo vic phỏt trin cỏc thut toỏn bin th lm tng hiu nng tớnh toỏn ca thut toỏn Ant System ban u Trờn õy l s lc chung v cỏc thut toỏn kin, mc tip theo s mụ t v s chung ca thut toỏn kin I.4.2: S chung ca thut toỏn by kin Procedure ACO Initial(); While (!K dng) ConstructSolutions(); LocalSearch(); /*Tu ý, cú th cú hoc khụng UpdateTrails(); End; End; ú: K dng (tc l iu kin dng) l iu kin t c thut toỏn trng thỏi kt thỳc Vi bi toỏn ngi a th thỡ K dng l iu kin t c s vũng lp ca thut toỏn = s vũng lp ln nht ngi dựng t nh ngha hoc l tt c n kin u i theo mt ng (tc l ng i ngn nht) ConstrucSolutions() l hm xõy dng mt gii phỏp cú th theo phng phỏp siờu tỡm kim(meta-heuristic), vi bi toỏn ngi a th thỡ ú l hm xõy dng chu trỡnh cho mi kin UpdateTrails() l hm cp nht mựi cho hnh trỡnh m kin ó i qua LocalSearch() l hm tỡm kim a phng, giỳp tỡm ti u cc b Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V Hỡnh: S chung ca thut toỏn by kin T thut toỏn trờn ta cú th rỳt cỏc bc gii quyt mt bi toỏn ng dng vi thut toỏn n kin: Bc 1: Th hin bi toỏn khung cu cỏc thnh phn v s chuyn i hoc bi mt th c ỏnh du bi kin xõy dng cỏch gii quyt Bc 2: nh ngha thớch hp cho mựi l rs l mt xu hng quyt nh ú l mt bc ch yu vic hỡnh thnh thut toỏn ACO v xỏc nh rừ mựi l khụng l mt nhim v tm thng v nú tớnh toỏn yờu cu bờn bi toỏn sau ỏp ỏn Bc 3: nh ngha thớch hp kinh nghim cho mi quyt nh mt kin cú th xõy dng cỏch gii quyt, vớ d: nh ngha thụng tin kinh nghim nrs kt hp Nhúm: Trang TI U HểA KT CU GVHD: TS V TRNG V mi thnh phn hoc trng thỏi chuyn i Thụng tin kinh nghim ch yu cho vic tỡm kim tt nu thut toỏn tỡm kim vựng khụng cú sn hoc khụng th ng dng Bc 4: Nu thc hin c, to mt vựng thut toỏn tỡm kim hiu qu cho bi toỏn sau ỏp ỏn bi vỡ kt qu ca nhiu ng dng ACO cho bi toỏn t hp ti u NP-hard th hin s tỡm kim tt nht t c ACO cú vựng lc quan Bc 5: La chn mt thut toỏn ACO v cỏc ng dng nú vo nhng bi toỏn cn gii quyt Bc 6: Cỏc tham s phự hp cu thut toỏn ACO Mt im bt u tt cho tham s phự hp l s dng ci t tham s tỡm kim tt ng dng thut toỏn ACO vo bi toỏn n gin hoc cỏc bi toỏn khỏc Mt khỏc chi phi thi gian nhim v phự hp l s dng th tc ng cho tham s phự hp Nú nờn xúa i cỏc bc tip cú th ch a mt hng dn s dng thut toỏn ACO Thờm na, vic s dng l s kt hp cỏc quỏ trỡnh ú vi vi bi toỏn sõu hn v hot ng ca thut toỏn, vi la chn ban u cn phi sa li Cui cựng, chỳng ta mun trờn thc t, iu quan trng nht ca cỏc bc l u tiờn phi khp bi vỡ la chn ti trng thỏi ny tớnh khụng th tớnh vi mt tham s gc phự hp tt I.4.3: Ni dung ca thut toỏn by kin Bi toỏn cn gii s c a v dng mt th y vi cỏc rng buc ca bi toỏn c th hin bng cỏc cụng thc toỏn hc Vic gii bi toỏn t ta cú s a v l tỡm mt ng i (hoc cỏc nh) tha cỏc rng buc ca bi toỏn Cỏc nguyờn tc sau c a ra: Thụng tin pheromone c tớnh toỏn v t trờn mi on ng Nỳt ban u cho ng i ca mi kin c chn mt cỏch ngu nhiờn ng i c la chn da trờn cỏc nguyờn tc sau: Da vo thụng tin pheromone cú trờn cỏc on ng tớnh xỏc sut ca cỏc on tip theo c chn vo lm ng i ca kin Xỏc sut ln hn cho on ng i cú nhiu lng pheromone c t hn V cỏc ng i cú lng thụng tin pheromone s cú xỏc sut c chn thp hn Con kin tip tc vic tỡm ng i cho ti hon thnh mt ng i ca nú (tha iu kin dng ca kin) Mt ng i hon chnh c gi l mt li gii (solution) cho bi toỏn t Cỏc li gii s c phõn tớch, so sỏnh v ỏnh giỏ tỡm phng ỏn ti u nht cú th ú l li gii ti u ca bi toỏn Nhúm: Trang 10 TI U HểA KT CU GVHD: TS V TRNG V Sau tt c kin n hon thnh li gii ca nú thỡ s tin hnh cp nht thụng tin pheromone cho cỏc cung S lng ca pheromone s c tớnh toỏn v iu chnh tỡm c phng ỏn ti u tt hn Cỏc li gii tt hn s cú lng pheromone ln hn t trờn cỏc cung ó c i qua Ngc li cỏc li gii ti hn s cú lng pheromone hn Xỏc sut cao hn cho mt kin chn ng i cú pheromone ln Quỏ trỡnh lp cho n phn ln kin n kin chn cựng mt ng i (phng ỏn hi t ca li gii) I.4.3.1: Mó gi cho thut toỏn Procedure AntColonyAlgorithm B1: Khi to cỏc thụng tin Pheromone cho cỏc ng i B2: Do while (Cha tha iu kin dng) B3: Do until (Mi Ant hon thnh mt ng i) B4: Cp nht thụng tin pheromone cc b (Local trail update) B5: End Do B6: Phõn tớch cỏc li gii thu c (Analyze solution) B7: Cp nht thụng tin pheromone ton cc (Global trail update) B8: End Do End Procedure i vi thut toỏn ACO, s hi t c m bo nhiờn tc v thi gian thỡ khụng bit trc, thng s dng gii quyt cỏc ti thiu v giỏ thnh Thng cỏc bi toỏn trc c gii bng thut toỏn ACO phi c bin i a v dng th y cú trng s Bao gm cỏc nỳt v cỏc cung khụng nh hng Sau i bin i bi toỏn v dng phự hp mi ỏp dng thut toỏn ACO gii Trờn th ny cỏc kin s i xõy dng cỏc li gii cho bi toỏn Sau õy l mụ hỡnh c th hn v thut toỏn ACO Mụ t v thut toỏn ACO vi vic thc hin song song hot ng ca cỏc kin: Procedure ACO_Metaheuristic parameter_initialization while (termination_criterion_not_satisfied) schedule_activities ants_generation_and_activity ( ) pheromone_evaporation ( ) daemon_actions ( ) {optional} end schedule_activities end while 10 end Procedure Nhúm: Trang 11 TI U HểA KT CU GVHD: TS V TRNG V Procedure ants_generation_and_activity ( ) repeat in parallel for k=1 to m (number_of_ants) new_ant (k) end repeat in parallel end Procedure Procedure new_ant (ant_id) initialize_ant (ant_id) L = update_ant_memory ( ) While (current_state target_state) P = compute_transition_probabilities (A , L , ) next_state = apply_ant_decision_policy (P , ) move_to_next_state (next_state) If (on_line_step-by-step-pheromone_update) deposit_pheromone_on_the_visited_edge ( ) end if L = update-internal_state ( ) 10 end while if (online_delayed_pheromone_update) 11 for each visited edge 12 deposit_pheromone_on_the_visited_edge ( ) 13 end for end if 14 release_ant_resources (ant_id) 15 end Procedure Trong ú th tc ants_generation_and_activity() l th tc chớnh, c bn ca gii thut Th tc ny cụng vic chớnh gm: To v to cỏc thụng s cho n kin Vi mi kin n s tin hnh xõy dng mt li gii cho bi toỏn cha tha iu kin dng Ngoi cú hai th tc ph thờm vo l: Pheromone_evaporation(): L tỏc ng ca mụi trng lm gim thụng tin pheromone theo thi gian Th tc ny trỏnh b tc tỡm kim v cho phộp n kin m rng khụng gian tỡm kim Daemon_action(): L th tc h tr thờm v khụng gp thc t (khụng cú n kin t nhiờn) L mt th tc iu chnh cỏc thụng s cn thit lm tng tớnh hiu qu ca thut toỏn Vớ d: Th tc tỡm kim cc b, th tc to li cỏc thụng tin pheromone gp b tc tỡm kim I.4.3.2: Cỏc s thut toỏn Nhiu thut toỏn ó c a da trờn mụ hỡnh thut toỏn metaheuristic ACO Trong cỏc mụ hỡnh a gii quyt cỏc bi toỏn t hp ti u NP-khú lun trỡnh by chi tit v mụ hỡnh Cỏc mụ hỡnh ny l phỏt trin da trờn mụ hỡnh Nhúm: Trang 12 TI U HểA KT CU GVHD: TS V TRNG V thut toỏn ACO c th trỡnh by phn 3.2 trờn Theo cỏc nghiờn cu cho thy s dng thut toỏn by kin núi chung cỏc thụng tin pheromone v heuristic cú th ỏp dng cho cỏc nỳt hoc cnh ni Trong cỏc thut toỏn a sau õy thỡ thụng tin pheromone v heuristic ch gn vi cỏc cnh m thụi I.4.3.2.1: Thut toỏn Ant System (AS) c phỏt trin bi Dorigo, Maniezzo v Colorni nm 1991, l thut toỏn ACO u tiờn Ban u cú bin th khỏc l: AS-Density, AS-Quantity v AS-Cycle khỏc bi cỏch thc cp nht thụng tin Pheromone Trong ú: AS-Density: Thỡ n kin s t thờm pheromone quỏ trỡnh xõy dng li gii (online step-by-step pheromone update), lng pheromone cp nht l mt hng s AS-Quantity: Thỡ n kin s t thờm pheromone quỏ trỡnh xõy dng li gii (online step-by-step pheromone update), lng pheromone cp nht l ph thuc vo mong mun (thụng tin heuristic) vi on ng i qua ij AS-Cycle: Thụng tin pheromone s c cp nht li gii ó hon thnh (online delayed pheromone update) õy l mụ hỡnh cho kt qu tt nht v c coi nh l thut toỏn AS Nh vy theo mụ hỡnh ca AS-cycle thỡ pheromone s cp nht tt c kin hon thnh li gii ca mỡnh.Vic cp nht pheromone c tin hnh nh sau: u tiờn tt c pheromone trờn cỏc cung s c gim i bi mt hng s (pheromone evaporation) rs (1 p ). rs Vi khong (0,1) l tc bay hi ca pherromone Tip theo mi kin n s t thờm mt lng thụng tin pheromone, lng pheromone ny l hm ca cht lng li gii m kin xõy dng rs rs + rsk , ars Sk Trong ú: rsk = f ( C ( S k ) ) Ban u AS khụng s dng daemon action, nhiờn s cng tt hn nu thờm vo ú mt th tc tỡm kim cc b lm tng cht lng ca li gii Cũn phng trỡnh xỏc nh nỳt tip theo quỏ trỡnh xõy dng li gii ca kin nh sau: Nhúm: Trang 13 TI U HểA KT CU GVHD: TS V TRNG V rs rs , s N k (r ) k prs = k ru ru , uN r trỏi lại 0, Túm tt v thut toỏn ny nh sau: Procedure new_ant (ant_id) k = ant_id ; r = generate_initial_state ; S k = r Lk = r while (current-state target_state) rs ] [ rs ] [ k for each s N k (r) prs = uN [ ru ] [ ru ] k r 10 11 next_state = apply_ant_decision_policy (P , N k (r ) ) r = next_state ; S k =< S k , r > Lk = Lk r end while { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge ars : rs = ( p ) rs } for each edge ars Sk rs = rs + f ( C ( S k ) ) 12 13 end for 14 release_ant_resources (ant_id) 15 end Procedure I.4.3.2.2: Thut toỏn Ant Colony System(ACS) Phỏt trin t thut toỏn AS vi mt s ci thin nh sau: S dng mt lut khỏc cho vic di chuyn, gi l pseudo-random proportional rule Gi k l kin ang ng ti nỳt r q0 l mt tham s, v mt giỏ tr ngu nhiờn q Trong ú giỏ tr ca q v q0 l khong (0,1) Nỳt s tip theo c chn di chuyn kin k ti c chn nh sau: If q qo : prsk 1, = 0, s = arg max { ru ru }, u Nk (r ) trỏi lại else ( q > qo ) : Nhúm: Trang 14 TI U HểA KT CU GVHD: TS V TRNG V prsk = 0, rs rs u N k r ru ru , s N k (r ) trỏi lại Cú Daemon action, thc hin vic cp nht pheromone ch nht vi li gii Sglobal-best Cp nht theo cụng thc nh sau: rs (1 p ). rs , ars S global best , rs rs + p f (C ( S global best )), ars S global best p dng online step-by-step pheromone update rs (1 ). rs + Trong ú l mt tham s gim pheromone th hai sau Cũn l mt tham s rt (nh l ngng di ca pheromone) c chn Túm tt v thut toỏn ny nh sau: Procedure new_ant (ant_id) k = ant_id ; r = generate_initial_state ; S k = r Lk = r while (current-state target_state) for each s N k (r ) compute brs = rs rs q = generate_random_value_in_[0 , 1] If ( q rs = (1 ). rs + 0: Lk = Lk r 10 end while 11 12 release_ant_resources (ant_id) 13 end Procedure V th tc cp nht: Procedure daemon_actions for each S k local_search ( Sk ) Scurrent best = best_solution ( S k ) Nhúm: {optional} Trang 15 TI U HểA KT CU GVHD: TS V TRNG V if (better ( Scurrent best , S global best )) S global best = Scurrent best end if for each edge ars S global best { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge ars : rs = ( p ) rs } rs = rs + p f ( C ( S global best ) ) end for 10 end Procedure I.4.3.2.3: Thut toỏn MaxMin Ant System(MMAS) c phỏt trin bi Stutzle v Hooss vo nm 1996, c m rng lờn t h thng AS Mt s c im c m rng t h thng AS nh sau: Ging nh ACS, MMAS thc hin offline pheromone trail update, tc l sau ton b kin n hon thnh li gii thỡ vic cp nht c tin hnh cho li gii ti u u tiờn thc hin bay hi bt thụng tin pheromone (pheromone evaporation) trờn tt c cỏc cnh rs ( ) rs Sau ú ch cú cỏc cnh thuc li gii tt nht c cp nht thụng tin pheromone rs rs + f ( C ( Sbest ) ) , ars Sbest Thụng thng MMAS cỏc li gii c tinh chnh bng cỏch ti u cc b (local optimizer) trc cp nht thụng tin pheromone Mt ci tin quan trng h thng MMAS l vic thờm vo gii hn cn trờn v di ca thụng tin Pheromone ( max v ), iu ú giỳp trỏnh hi t ti im ti u cc b Khi to tt c thụng s Pheromone giỏ tr cn trờn u tiờn vic khai phỏ khụng gian tỡm kim Cn trờn max thng c chn l giỏ tr ln nht m Pheromone cú th t c vũng lp cui cựng * max = 1/( p C ( S * )) Trong ú S l li gii ti u, bi vỡ li gii ti u khụng bit trc nờn thụng thng c thay th bi Sglobal-best tớnh toỏn Cỏch chn cn di , thụng thng ngi ta chn tha theo t l gia cn trờn v cn di max / = 2n Do ú tớnh = max / 2n T l ny phi chn khụng nờn quỏ cao, bi vỡ ú xỏc sut chn ng i cú mc Pheromone thp l quỏ nh Mt khỏc nu chn Nhúm: Trang 16 TI U HểA KT CU GVHD: TS V TRNG V t l ny quỏ ln thỡ xỏc sut chn ng i co Pheromone cao l gn vi xỏc sut chn ng i cú mc Pheromone thp Khi to thụng tin pheromone cho cỏc thnh phn thỡ tt c nhn giỏ tr ln nht cú th ca Pheromone l max nhm tng cng vic khai phỏ khụng gian tỡm kim Mt chỳ ý h thng MMAS l xy hi t cc b thỡ cú c ch to li thụng tin pheromone cho cỏc nỳt v giỏ tr to li l max Hm cp nht Daemon action ca thut toỏn MMAS nh sau: Procedure daemon_actions for each S k local_search ( Sk ) Scurrent best = best_solution ( S k ) if (best ( Scurrent best , S global best )) S global best = Scurrent best end if Sbest = decision ( S global best , Scurrent best ) for each edge ars Sbest rs = rs + f ( C ( Sbest ) ) 10 if ( rs < ) rs = 11 end for 12 if (stagnation_condition) 13 for each edge ars rs = max 14 end if 15 end Procedure I.4.3.2.4: Thut toỏn Rank-Based Ant System(RBAS) õy cng l mt thut toỏn c m rng phỏt trin t h thng AS a bi Bullnheimer, Hartl v Strauss vo nm 1997 Thut toỏn ny a vo ý tng xp hng cho cỏc li gii thc hin cp nht pheromone C th nh sau: u tiờn, m kin c xp hng theo th t gim dn da theo cht lng li gii m nú thu c Vớ d: (S 1, S2, Sm-1, Sm) ú S1 l phng ỏn tt nht Pheromone ch c t thờm trờn cỏc cung ca -1 kin cú li gii tt nht Lng pheromone cng ph thuc trc tip vo th hng sp xp ca kin Cỏc on ng i ca li gii tt nht c nhn thờm mt lng pheromone ph thuc vo cht lng li gii Cỏc cụng thc nh sau: rs rs + rsgb + rsrank Nhúm: Trang 17 TI U HểA KT CU Trong ú GVHD: TS V TRNG V f (C ( S global best )), ars S global best rsgb = trỏi lại 0, V rsrank ' ' ( ) f C ( S ) , ars S = =1 0, trỏi lại ( ) Túm tt th tc cp nht pheromone ca thut toỏn ny: Procedure daemon_actions for each S k local_search ( Sk ) {optional} rank ( S1 , , S m ) in decreasing order of solution quality into ( S1' , , Sm' ) if (best ( S1' , S global best )) S global best = S1' end if for =1 to ' for each edge ars S 10 11 12 ( rs = rs + ( ) f C ( S à' ) ) end for end for for each edge ars S global best ( rs = rs + f C ( S global best ) 13 14 end for 15 end Procedure ) I.4.3.2.5: Thut toỏn Best-Worst Ant System(BWAS) Thut toỏn c a bi Cordon vo nm 1999 Thut toỏn ny bao gm mt thut toỏn m rng khỏc ca AS l MMAS (v lut di chuyn v vic bay hi ca pheromone) Bờn cnh ú thut toỏn ny cũn quan tõm ti ca vic ti u cc b mt cỏch h thng nõng cao cht lng li gii ca kin Trong thut toỏn BWAS cú daemon action thờm vo gm cú: u tiờn, ỏp dng lut cú tờn best-worst pheromone update tng cng pheromone trờn cỏc on ng i qua bi li gii tt nht ton cc (global best solution) Thờm vo ú lut ny s pht nhng cnh ca li gii ti nht ln lp Scurrent-worst p dng Pheromone trail mutation i theo cỏc hng khỏc quỏ trỡnh tỡm kim BWAS cú c ch to li thụng tin pheromone thut toỏn b ỡnh tr, bng cỏch thit lp pheromone trail cho tt c cỏc thnh phn bng Nhúm: Trang 18 TI U HểA KT CU GVHD: TS V TRNG V Mụ hỡnh th tc Daemon action ca thut toỏn BWAS nh sau: Procedure daemon_actions for each S k local_search ( Sk ) Scurrent best = best_solution ( S k ) if (best ( Scurrent best , S global best )) S global best = Scurrent best end if for each edge ars S global best rs = rs + p f ( C ( S global best ) ) sum = sum + rs 10 end for 11 threshold = sum | S globad best | Scurrent worst = worst _ solution ( S k ) 12 13 for each edge ars Scurrent worst and ars S global best rs = (1 p ). rs 14 15 end for mut = mut ( it , threshold ) 16 17 for each nỳt / component r {1, , l} 18 z = generate_random_value_in_[0,1] 19 if ( z < = Pm ) 20 s = generate_random_value_in_[1,, 1] 21 a = generate_random_value_in_[0,1] 22 if (a = 0) rs = rs + mut 23 else rs = rs mut 24 end if 25 end for 26 if (stagnation_condition) 27 for each ars rs = 28 end if 29 end Procedure Mc ny ch a mụ hỡnh thut toỏn ACO phỏt trin t h thng Ant System Nhng ú ch l mt s cỏc dng tiờu biu ca thut toỏn ACO, cũn tn ti rt nhiu cỏc bin th khỏc V ỏn s ỏp dng thut toỏn theo mụ hỡnh h thng MMAS gii bi toỏn CPMP Mụ hỡnh thut toỏn MMAS l mt cỏc thut toỏn hiu qu nht ca cỏc thut toỏn by kin Nhúm: Trang 19 TI U HểA KT CU GVHD: TS V TRNG V I.5: P DNG Ti liu tham kho [1] [2] [3] [4] [5] [6] [7] [8] [9] Nhúm: Nguyn c Ngha, Nguyn Tụ Thnh - Toỏn ri rc Nh xut bn i hc Quc Gia H Ni, 2001 Nguyn c Ngha Giỏo trỡnh Phõn tớch v thit k thut toỏn, H Ni, 2003 Nguyn c Ngha Giỏo trỡnh Nhp mụn tớnh toỏn khoa hc, H Ni, 2002 Nguyn c Ngha Ti u húa: quy hoch tuyn tớnh v ri rc, Nh xut bn Giỏo Dc, 1999 Marco Dorigo and ThomasStuă tzle: Ant Conoly Optimization, A Bradford Book, The MIT Press, Cambridge, Massachusetts, London, England M Dorigo, V Maniezzo & A Colorni: Ant System IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41,1996 M Dorigo, Optimization, Learning and Natural Algorithms: Elitist Ant System , 1992 David E Goldberg The parameter-less genetic algorithm in practice, 2003 Kumara Sastry, David Goldberg Genetic Algorithm Trang 20