姓名:車文揚 學(xué)號:16020199006
轉(zhuǎn)載至:https://www.cnblogs.com/yncxzdy/p/4280207.html,有刪節(jié)
【嵌牛導(dǎo)讀】:什么是標準粒子群算法
【嵌牛鼻子】:PSO
【嵌牛提問】:標準粒子群算法的基本步驟是什么?
【嵌牛正文】:
粒子群算法思想的起源
????? 粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受人工生命研究結(jié)果的啟發(fā)套菜、通過模擬鳥群覓食過程中的遷徙和群聚行為而提出的一種基于群體智能的全局隨機搜索算法,自然界中各種生物體均具有一定的群體行為耍属,而人工生命的主要研究領(lǐng)域之一是探索自然界生物的群體行為撬槽,從而在計算機上構(gòu)建其群體模型。自然界中的鳥群和魚群的群體行為一直是科學(xué)家的研究興趣茫虽,生物學(xué)家Craig Reynolds在1987年提出了一個非常有影響的鳥群聚集模型,在他的仿真中既们,每一個個體遵循:
????? (1) 避免與鄰域個體相沖撞濒析;
????? (2) 匹配鄰域個體的速度;
????? (3) 飛向鳥群中心啥纸,且整個群體飛向目標号杏。
????? 仿真中僅利用上面三條簡單的規(guī)則,就可以非常接近的模擬出鳥群飛行的現(xiàn)象斯棒。1995年盾致,美國社會心理學(xué)家James Kennedy和電氣工程師Russell Eberhart共同提出了粒子群算法主经,其基本思想是受對鳥類群體行為進行建模與仿真的研究結(jié)果的啟發(fā)。他們的模型和仿真算法主要對Frank Heppner的模型進行了修正庭惜,以使粒子飛向解空間并在最好解處降落罩驻。Kennedy在他的書中描述了粒子群算法思想的起源。
算法原理:
PSO從這種模型中得到啟示并用于解決優(yōu)化問題蜈块。PSO 中鉴腻,每個優(yōu)化問題的潛在解都是搜索空間中的一只鳥,稱之為粒子百揭。所有的粒子都有一個由被優(yōu)化的函數(shù)決定的適值( fitness value) 爽哎,每個粒子還有一個速度決定它們飛翔的方向和距離。然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索器一。
PSO初始化為一群隨機粒子(隨機解)课锌,然后通過迭代找到最優(yōu)解。在每一次迭代中祈秕,粒子通過跟蹤兩個極值來更新自己渺贤;第一個就是粒子本身所找到的最優(yōu)解,這個解稱為個體極值请毛;另一個極值是整個種群目前找到的最優(yōu)解志鞍,這個極值是全局極值。另外也可以不用整個種群而只是用其中一部分作為粒子的鄰居方仿,那么在所有鄰居中的極值就是局部極值固棚。
假設(shè)在一個D維的目標搜索空間中,有N個粒子組成一個群落仙蚜,其中第i個粒子表示為一個D維的向量
其中:c1和c2為學(xué)習(xí)因子此洲,也稱加速常數(shù)(acceleration constant),w為慣性因子委粉,r1和r2為[0呜师,1]范圍內(nèi)的均勻隨機數(shù)。式(2-1)右邊由三部分組成贾节,第一部分為“慣性(inertia)”或“動量(momentum)”部分汁汗,反映了粒子的運動“習(xí)慣(habit)”,代表粒子有維持自己先前速度的趨勢栗涂;第二部分為“認知(cognition)”部分知牌,反映了粒子對自身歷史經(jīng)驗的記憶(memory)或回憶(remembrance),代表粒子有向自身歷史最佳位置逼近的趨勢戴差;第三部分為“社會(social)”部分送爸,反映了粒子間協(xié)同合作與知識共享的群體歷史經(jīng)驗铛嘱,代表粒子有向群體或鄰域歷史最佳位置逼近的趨勢暖释,i=1,2,3...?,vid是粒子的速度,vid是常數(shù)袭厂,由用戶設(shè)定用來限制粒子的速度。r1和r2是介于[0,1]之間的隨機數(shù)球匕。
標準粒子群算法流程
算法的流程如下: