ݺߣ

ݺߣShare a Scribd company logo
‫ذرات‬ ‫ﺗﻮده‬ ‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
1
Particle Swarm OptimizationParticle Swarm OptimizationParticle Swarm OptimzationParticle Swarm OptimizationParticle Swarm Optimization
‫اﻟﮕﻮرﻳﺘﻢ‬‫ذرات‬ ‫ﺗﻮده‬
2
‫ﻣﻘﺪﻣﻪ‬
‫اﻳﻦ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫اوﻟﻴﻦ‬‫ﺑﺎر‬‫ﺗﻮﺳﻂ‬Kennedy‫و‬Eberhart‫ﻣﻄﺮح‬‫ﮔﺮدﻳﺪ‬.‫آﻧﻬﺎ‬‫اﻳﻦ‬
‫اﻟﮕﻮرﻳﺘﻢ‬‫را‬PSO‫ﻧﺎم‬‫ﻧﻬﺎدﻧﺪ‬‫زﻳﺮا‬‫از‬‫روي‬‫رﻓﺘﺎر‬‫ﮔﺮوﻫﻲ‬‫ﭘﺮﻧﺪﮔﺎن‬‫در‬‫زﻣﺎن‬‫ﭘﺮواز‬‫اﻟﻬﺎم‬
‫ﮔﺮﻓﺘﻪ‬‫ﺷﺪه‬‫ﺑﻮد‬.
3
‫ﻫﻤﺎﻧﻨﺪ‬‫ﺳﺎﻳﺮ‬‫اﻟﮕﻮرﻳﺘﻤﻬﺎي‬‫ﺟﻤﻌﻴﺘﻲ‬،‫اﻟﮕﻮرﻳﺘﻢ‬PSO‫از‬‫ﻣﺠﻤﻮﻋﻪ‬‫اي‬‫از‬‫ﭘﺎﺳﺨﻬﺎي‬
‫ﻣﻤﻜﻦ‬‫اﺳﺘﻔﺎده‬‫ﻧﻤﻮد‬‫ﻣﻲ‬‫ﻛﻪ‬‫اﻳﻦ‬‫ﭘﺎﺳﺨﻬﺎ‬‫ﺗﺎ‬‫زﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﭘﺎﺳﺦ‬‫ﺑﻬﻴﻨﻪ‬‫ﻳﺎﻓﺖ‬‫ﺷﺪ‬‫ﻣﻲ‬
‫و‬‫ﻳﺎ‬‫ﺷﺮاﻳﻂ‬‫ﭘﺎﻳﺎن‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻣﻬﻴﺎ‬‫ﮔﺸﺖ‬‫ﻣﻲ‬‫ﺑﻪ‬‫ﺣﺮﻛﺖ‬‫ﺧﻮد‬‫اداﻣﻪ‬‫دادﻧﺪ‬‫ﻣﻲ‬.
‫ﻣﻘﺪﻣﻪ‬
‫در‬‫اﻳﻦ‬‫روش‬‫ﻫﺮ‬‫ﭘﺎﺳﺦ‬x‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻳﻚ‬‫ذره‬‫ﻧﻤﺎﻳﺶ‬‫داده‬‫ﺷﻮد‬‫ﻣﻲ‬‫و‬‫ﻳﻚ‬‫ﮔﺮوه‬
‫ذرات‬‫در‬‫ﺣﻘﻴﻘﺖ‬‫ﻳﻚ‬‫ﻣﺠﻤﻮﻋﻪ‬‫از‬‫ذرات‬‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬.
4
‫در‬‫اﻳﻦ‬،‫روش‬‫ﻣﻌﺎدﻟﻪ‬‫ﺳﺮﻋﺖ‬‫ﺿﺎﻣﻦ‬‫ﺣﺮﻛﺖ‬‫ذرات‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﻧﺎﺣﻴﻪ‬‫ﺑﻬﻴﻨﻪ‬
‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬.‫اﻳﻦ‬‫ﻣﻌﺎدﻟﻪ‬‫ﻣﻌﻤﻮﻻ‬‫ﺑﺮ‬‫اﺳﺎس‬‫ﺳﻪ‬‫ﻋﻨﺼﺮ‬‫اﺻﻠﻲ‬‫اراﺋﻪ‬‫ﺷﻮد‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﻋﺒﺎرﺗﻨﺪ‬
‫از‬:
5
‫ﺳﺮﻋﺖ‬‫ﺳﻜﻮن‬
‫ﻣﻮﻟﻔﻪ‬‫ﺷﻨﺎﺧﺘﻲ‬pbest
‫ﻣﻮﻟﻔﻪ‬‫ﺟﻤﻌﻲ‬gbest
‫ﻣﻘﺪﻣﻪ‬
‫رﻫﻴﺎﻓﺖ‬‫ﻧﻬﺎﻳﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻣﻲ‬‫ﺑﻪ‬‫ﻋﻨﻮان‬‫اﻟﮕﻮرﻳﺘﻤﻲ‬‫ﺷﻨﺎﺧﺘﻪ‬‫ﺷﻮد‬‫ﻛﻪ‬‫ﺟﺴﺘﺠﻮﻳﻲ‬‫را‬‫ﺑﻪ‬
‫ﺻﻮرت‬‫ﭼﻨﺪ‬‫ﺑﻌﺪي‬‫اﻋﻤﺎل‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.
‫در‬‫ﺷﺒﻴﻪ‬‫ﺳﺎزي‬‫اﻳﻦ‬‫اﻟﮕﻮرﻳﺘﻢ‬،‫رﻓﺘﺎر‬‫ﻫﺮ‬‫ذره‬‫ﺗﻮاﻧﺪ‬‫ﻣﻲ‬‫ﺗﺤﺖ‬‫ﺗﺎﺛﻴﺮ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ذره‬
6
‫ﻣﺤﻠﻲ‬)‫در‬‫داﺧﻞ‬‫ﻳﻚ‬‫ﻫﻤﺴﺎﻳﮕﻲ‬‫ﻣﺸﺨﺺ‬(‫و‬‫ﻳﺎ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ذره‬‫ﺑﺎﺷﺪ‬‫ﻋﻤﻮﻣﻲ‬.
دانلود رایگان فایل آموزشی کد الگوریتم بهینه سازی ازدحام ذرات PSO در متلب
‫ﺑﻪ‬‫ﻃﻮر‬‫ﻛﻠﻲ‬‫اﮔﺮ‬‫ﻧﺸﺎن‬‫دﻫﻨﺪه‬‫ﻣﻮﻗﻌﻴﺖ‬‫ذره‬‫در‬‫ﻓﻀﺎي‬‫ﺟﺴﺘﺠﻮ‬‫در‬
‫ﻟﺤﻈﻪ‬t‫ﺑﺎﺷﺪ‬،‫ﻣﻮﻗﻌﻴﺖ‬‫ﺑﺎ‬‫اﻓﺰودن‬‫ﺳﺮﻋﺖ‬‫ﺑﻪ‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﻓﻌﻠﻲ‬‫ﺑﻪ‬
‫ﺻﻮرت‬‫زﻳﺮ‬‫ﺗﻐﻴﻴﺮ‬‫ﻧﻤﺎﻳﺪ‬‫ﻣﻲ‬
)(tix
r
iP
)(tiv
r
iP
10
)()1()( tvtxtx iii
rrr
+−=
))1(())1(()1()( 2211 −−+−−+−= txPrctxPrctvtv igibiii
rrrrrr
‫اﻟﮕﻮرﻳﺘﻢ‬
‫ﻛﻪ‬‫در‬‫آن‬‫ﺑﺮدار‬‫ﺳﺮﻋﺖ‬‫در‬‫ﮔﺎم‬t-‫ام‬،c1‫و‬c2‫ﻣﻘﺎدﻳﺮ‬‫ﺛﺎﺑﺖ‬‫ﻣﺜﺒﺖ‬r1‫و‬r2
‫اﻋﺪادي‬‫ﺗﺼﺎدﻓﻲ‬‫ﻫﺴﺘﻨﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻧﺮﻣﺎل‬‫در‬‫ﺑﺎزه‬]1،0[‫ﺗﻮﻟﻴﺪ‬‫ﺷﻮﻧﺪ‬‫ﻣﻲ‬.
‫ﭘﺎراﻣﺘﺮﻫﺎي‬‫و‬‫ﺑﻪ‬‫ﺗﺮﺗﻴﺐ‬‫ﻧﺸﺎن‬‫دﻫﻨﺪه‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺗﺠﺮﺑﻪ‬‫ﺷﺨﺼﻲ‬
)(tiv
r
biP
r
gP
r
11
‫و‬‫ﺟﻤﻌﻲ‬‫ﺑﺎﺷﻨﺪ‬‫ﻣﻲ‬.
‫ﺑﻪ‬‫ﻣﻨﻈﻮر‬‫اﻳﺠﺎد‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﺑﻬﺘﺮ‬،‫ﺟﺴﺘﺠﻮ‬‫ﭘﺎراﻣﺘﺮي‬‫ﺑﻪ‬‫ﻧﺎم‬‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﺑﻪ‬‫ﺷﻜﻞ‬
‫زﻳﺮ‬‫و‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﺿﺮﻳﺒﻲ‬‫در‬‫ﭘﺎراﻣﺘﺮ‬‫ﺳﺮﻋﺖ‬‫ﺑﻪ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫اﺿﺎﻓﻪ‬‫ﮔﺮدد‬‫ﻣﻲ‬:
))1(())1(()1()( 2211 −−+−−+−= txPrctxPrctvwtv igibiii
rrrrrr
‫اﻟﮕﻮرﻳﺘﻢ‬
‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﺗﺎﺛﻴﺮ‬‫ﺳﺮﻋﺖ‬‫ذرات‬‫در‬‫ﮔﺎم‬‫ﻗﺒﻞ‬‫را‬‫ﺑﺮ‬‫ﺳﺮﻋﺖ‬‫ﻓﻌﻠﻲ‬‫ﺗﻌﻴﻴﻦ‬‫ﻧﻤﺎﻳﺪ‬‫ﻣﻲ‬.
‫ﺑﻪ‬‫اﻳﻦ‬‫ﺗﺮﺗﻴﺐ‬‫ﻛﻪ‬‫ﺑﺎ‬‫ﻣﻘﺎدﻳﺮ‬‫ﺑﺰرﮔﻲ‬‫از‬‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﺟﺴﺘﺠﻮي‬
‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻋﻤﻮﻣﻲ‬‫ﺑﻬﺒﻮد‬‫ﻳﺎﻓﺘﻪ‬‫و‬‫ﻓﻀﺎي‬‫ﺑﻴﺸﺘﺮي‬‫ﻣﻮرد‬‫ﺑﺮرﺳﻲ‬‫ﻗﺮار‬،‫ﮔﻴﺮد‬‫ﻣﻲ‬‫ﺣﺎل‬
‫آﻧﻜﻪ‬‫ﺑﺎ‬‫ﻣﻘﺎدﻳﺮ‬‫ﻛﻮﭼﻚ‬‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﻓﻀﺎي‬‫ﻣﻮرد‬‫ﺑﺮرﺳﻲ‬‫ﻣﺤﺪود‬‫ﺷﺪه‬‫و‬‫ﺟﺴﺘﺠﻮ‬
12
‫آﻧﻜﻪ‬‫ﺑﺎ‬‫ﻣﻘﺎدﻳﺮ‬‫ﻛﻮﭼﻚ‬‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﻓﻀﺎي‬‫ﻣﻮرد‬‫ﺑﺮرﺳﻲ‬‫ﻣﺤﺪود‬‫ﺷﺪه‬‫و‬‫ﺟﺴﺘﺠﻮ‬
‫در‬‫اﻳﻦ‬‫ﻓﻀﺎي‬‫ﻣﺤﺪود‬‫ﺷﺪه‬‫ﺻﻮرت‬‫ﮔﻴﺮد‬‫ﻣﻲ‬.
‫اﻟﮕﻮرﻳﺘﻢ‬
‫از‬‫ﻫﻤﻴﻦ‬‫رو‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﻣﻌﻤﻮل‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺑﺎ‬‫ﻣﻘﺪار‬‫ﺑﺰرﮔﻲ‬‫از‬‫وزن‬‫اﻳﻨﺮﺳﻲ‬‫ﺷﺮوع‬‫ﺑﻪ‬
‫ﺣﺮﻛﺖ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﺳﺒﺐ‬‫ﺟﺴﺘﺠﻮي‬‫ﮔﺴﺘﺮده‬‫ﻓﻀﺎ‬‫در‬‫اﺑﺘﺪاي‬‫اﺟﺮا‬‫ﺷﺪه‬‫و‬‫اﻳﻦ‬
‫وزن‬‫ﺑﻪ‬‫ﻣﺮور‬‫در‬‫ﻃﻮل‬‫زﻣﺎن‬‫ﻛﺎﻫﺶ‬‫ﻳﺎﺑﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﺳﺒﺐ‬‫ﺗﻤﺮﻛﺰ‬‫ﺟﺴﺘﺠﻮ‬‫در‬‫ﻓﻀﺎي‬
‫ﻛﻮﭼﻚ‬‫در‬‫ﮔﺎﻣﻬﺎي‬‫ﭘﺎﻳﺎﻧﻲ‬‫ﺷﻮد‬‫ﻣﻲ‬
13
‫ﻛﻮﭼﻚ‬‫در‬‫ﮔﺎﻣﻬﺎي‬‫ﭘﺎﻳﺎﻧﻲ‬‫ﺷﻮد‬‫ﻣﻲ‬
‫اﻟﮕﻮرﻳﺘﻢ‬
‫در‬،‫اﺑﺘﺪا‬‫ذرات‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﺗﺼﺎدﻓﻲ‬‫در‬‫ﺳﺮﺗﺎﺳﺮ‬‫ﻓﻀﺎي‬‫ﺟﺴﺘﺠﻮ‬‫ﻣﻘﺪار‬‫دﻫﻲ‬
‫ﺷﻮﻧﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫اﻳﻦ‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﻫﺎي‬‫اوﻟﻴﻪ‬‫ﺑﻪ‬‫ﻋﻨﻮان‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺗﺠﺮﺑﻪ‬‫ﺷﺨﺼﻲ‬‫ذرات‬‫ﻧﻴﺰ‬
‫ﺷﻨﺎﺧﺘﻪ‬‫ﺷﻮﻧﺪ‬‫ﻣﻲ‬(pbest).
‫در‬‫ﮔﺎم‬‫ﺑﻌﺪ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ذره‬‫از‬‫ﻣﻴﺎن‬‫ذرات‬‫ﻣﻮﺟﻮد‬‫اﻧﺘﺨﺎب‬‫ﺷﺪه‬‫و‬‫ﺑﻪ‬‫ﻧﺎم‬‫ﺑﻬﺘﺮﻳﻦ‬
22
‫در‬‫ﮔﺎم‬‫ﺑﻌﺪ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ذره‬‫از‬‫ﻣﻴﺎن‬‫ذرات‬‫ﻣﻮﺟﻮد‬‫اﻧﺘﺨﺎب‬‫ﺷﺪه‬‫و‬‫ﺑﻪ‬‫ﻧﺎم‬‫ﺑﻬﺘﺮﻳﻦ‬
‫ﭘﺎﺳﺦ‬‫ﺷﻨﺎﺧﺘﻪ‬‫ﺷﻮد‬‫ﻣﻲ‬(gbest).
‫ﺳﭙﺲ‬‫ﮔﺮوه‬‫ذرات‬‫در‬‫ﻓﻀﺎي‬‫ﺟﺴﺘﺠﻮ‬‫ﺣﺮﻛﺖ‬‫ﻧﻤﺎﻳﻨﺪ‬‫ﻣﻲ‬‫ﺗﺎ‬‫زﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﺷﺮاﻳﻂ‬
‫ﭘﺎﻳﺎن‬‫ﻣﺤﻘﻖ‬‫ﮔﺮدد‬.‫اﻳﻦ‬‫ﺣﺮﻛﺖ‬‫ﺷﺎﻣﻞ‬‫اﻋﻤﺎل‬‫ﻣﻌﺎدﻟﻪ‬‫ﺳﺮﻋﺖ‬‫ﺑﻪ‬‫ﮔﺮوه‬‫ذرات‬
‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬‫ﻛﻪ‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﻫﺮ‬‫ذره‬‫ﺑﺮ‬‫اﺳﺎس‬‫آن‬‫ﺗﻐﻴﻴﺮ‬‫ﻛﻨﺪ‬‫ﻣﻲ‬.
‫اﻟﮕﻮرﻳﺘﻢ‬
‫ﻣﻘﺪار‬‫ﺑﺮازش‬‫ﺟﺪﻳﺪ‬‫ﺣﺎﺻﻞ‬‫از‬‫ذره‬‫ﺑﺎ‬‫ﻣﻘﺪار‬pbest‫ذره‬‫ﻣﻘﺎﻳﺴﻪ‬‫ﮔﺮدد‬‫ﻣﻲ‬.‫در‬
‫ﺣﺎﻟﺘﻲ‬‫ﻛﻪ‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﺟﺪﻳﺪ‬‫داراي‬‫ﺑﺮازش‬‫ﺑﻬﺘﺮي‬‫ﺑﺎﺷﺪ‬‫اﻳﻦ‬‫ﻣﻮﻗﻌﻴﺖ‬‫ﺟﺪﻳﺪ‬
‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﻣﻮﻗﻌﻴﺖ‬pbest‫ﺷﻮد‬‫ﻣﻲ‬.
23
‫رواﻟﻲ‬‫ﻣﺸﺎﺑﻪ‬‫ﻧﻴﺰ‬‫ﺑﺮاي‬gbest‫ﻧﻴﺰ‬‫اﻧﺠﺎم‬‫ﭘﺬﻳﺮد‬‫ﻣﻲ‬.
‫اﻟﮕﻮرﻳﺘﻢ‬
‫اﻟﮕﻮرﻳﺘﻢ‬PSO‫داراي‬‫ﭘﺎراﻣﺘﺮﻫﺎي‬‫زﻳﺮ‬‫ﺑﺎﺷﺪ‬‫ﻣﻲ‬:
‫ﻣﻌﻴﺎر‬‫ﺧﺎﺗﻤﻪ‬:‫اﻳﻦ‬‫ﻣﻌﻴﺎر‬‫ﺿﻮاﺑﻂ‬‫اﺗﺨﺎذ‬‫ﺷﺪه‬‫ﺑﺮاي‬‫ﺑﻪ‬‫ﭘﺎﻳﺎن‬‫رﺳﺎﻧﺪن‬‫اﺟﺮاي‬
‫اﻟﮕﻮرﻳﺘﻢ‬‫را‬‫در‬‫ﺑﺮ‬‫دارد‬‫وﻟﻲ‬‫ﻣﻌﻤﻮﻻ‬‫ﺑﻪ‬‫ﺗﻌﺪاد‬‫دﻓﻌﺎت‬‫ﺗﻜﺮاري‬‫ﮔﻔﺘﻪ‬‫ﺷﻮد‬‫ﻣﻲ‬‫ﻛﻪ‬
24
‫اﻟﮕﻮرﻳﺘﻢ‬‫اﺟﺮا‬‫ﺧﻮاﻫﺪ‬‫ﺷﺪ‬.
‫ﺗﻌﺪاد‬‫ذرات‬:‫اﻳﻦ‬‫ﻣﻌﻴﺎر‬‫ﺑﻪ‬‫ﺗﻌﺪاد‬‫ﻛﻞ‬‫ذراﺗ‬‫ﻲ‬‫ﻛﻪ‬‫در‬‫ﻓﻀﺎي‬‫ﺟﺴﺘﺠﻮ‬‫ﺣﺮﻛﺖ‬
‫ﻛﻨﻨﺪ‬‫ﻣﻲ‬‫اﺷﺎره‬‫دارد‬.
‫اﻟﮕﻮرﻳﺘﻢ‬
Algotithm gbest PSO
(Initialize)
gbest = X0
for i=0 to Nparticles do
pbesti = Xi (initialize randomly)
fitnessi = f (Xi)
31
fitnessi = f (Xi)
if fitnessi < f (gbest) then
gbest = Xi
end if
end for
‫اﻟﮕﻮرﻳﺘﻢ‬
Algotithm gbest PSO
(Main loop)
repeat
for i=0 to Nparticles do
Vi = W* Vi + c1*r1*(pbesti– Xi )+ c2*r2*(gbest – Xi )
if Vi ∉ Vadmissible then
correct V
32
correct Vi
end if
Xi = Xi + Vi
fitnessi = f (Xi)
if fitnessi < f (pbesti) then
pbesti = Xi
end if
if fitnessi < f (gbest) then
gbest = Xi
end if
end for
until Termination criteria
‫اﻟﮕﻮرﻳﺘﻢ‬Binary PSOBinary PSOBinary PSOBinary PSO
‫ﺑﻪ‬‫ﻣﻨﻈﻮر‬‫اﺳﺘﻔﺎده‬‫از‬‫اﻟﮕﻮرﻳﺘﻢ‬PSO‫در‬‫ﺣﻞ‬‫ﻣﺴﺎﺋﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﺳﺎزي‬‫ﮔﺴﺴﺘﻪ‬‫روش‬‫زﻳﺮ‬
‫ﻗﺎﺑﻞ‬‫اراﺋﻪ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬:
 ≥ ))(()(0 tvftrif
41




<
≥
=
))(()(1
))(()(0
)(
tvftrif
tvftrif
tv
iji
iji
i
r
)(
1
1
))(( tvij ij
e
tvf −
+
= )1,0()( Utri ∈

More Related Content

دانلود رایگان فایل آموزشی کد الگوریتم بهینه سازی ازدحام ذرات PSO در متلب