魯欣欣 王淮冬
摘 要:粒子群算法獨(dú)特的運(yùn)算結(jié)構(gòu)和出色的收斂速度被用于各行各業(yè)解決優(yōu)化問(wèn)題。如今生產(chǎn)模式智能化的速度加快,單目標(biāo)的粒子群算法已經(jīng)無(wú)法滿足各行業(yè)對(duì)算法優(yōu)化的需求,粒子群算法的多目標(biāo)優(yōu)化應(yīng)運(yùn)而生,通過(guò)對(duì)算法改進(jìn)實(shí)現(xiàn)了粒子群算法解決多目標(biāo)優(yōu)化問(wèn)題,但解決多目標(biāo)優(yōu)化的同時(shí),影響粒子群算法的因素也增多了。文章重點(diǎn)介紹了多目標(biāo)粒子群算法的影響因素和改進(jìn)策略。
關(guān)鍵詞:粒子群算法;多目標(biāo);改進(jìn)策略
0 ? 引言
多目標(biāo)粒子群算法在解決多變量的優(yōu)化問(wèn)題時(shí)也加大了算法本身的運(yùn)算難度,并且影響運(yùn)算結(jié)果的因素也多于單目標(biāo)粒子群算法。本文主要對(duì)多目標(biāo)粒子群算法的影響因素進(jìn)行研究闡述,并介紹改進(jìn)辦法。對(duì)多目標(biāo)粒子群算法運(yùn)算中遇到主要問(wèn)題進(jìn)行分析,并介紹幾種解決算法問(wèn)題的方法和途徑。
1 基本粒子群算法
PSO基于群體的隨機(jī)優(yōu)化,通過(guò)一組隨機(jī)解初始化,通過(guò)迭代搜尋最優(yōu)解。PSO模擬社會(huì),每個(gè)可能產(chǎn)生的解表述成群里的一個(gè)微粒,每個(gè)粒子有屬于自己的最佳速度和最佳位置,以及一個(gè)由目標(biāo)函數(shù)決定的適應(yīng)度。所有粒子在搜索空間中以一定速度飛行或在規(guī)定的速度范圍變速飛行,以最快的速度追隨當(dāng)前空間內(nèi)搜尋到的最優(yōu)值來(lái)確定全局最優(yōu)值[1]。具體算法的流程如圖1所示。
速度更新公式為:
vi(t)=w*vi-1(t-1)+c1*r1(xpbest(t-1)-xi(t-1))+c2*r2(xgbest(t-1)-xi(t-1))
位置更新公式為:
xi(t)=xi(t-1)+vi(t)
公式中各算子的含義:
(1)w:慣性權(quán)重(為大于零的數(shù),w越接近0,收斂?jī)?yōu)化越快,取值范圍一般為[0.4,0.8])。
(2)c1,c2:個(gè)體學(xué)習(xí)因子、群體學(xué)習(xí)因子(取值范圍[0,4],一般取值為2)。
(3)r1,r2:兩個(gè)隨機(jī)函數(shù),取值范圍[0,1],以增加更新速度的隨機(jī)性。
(4)pbest:個(gè)體經(jīng)歷的最佳位置。
(5)gbest:全局最佳位置。
2 多目標(biāo)粒子群算法
多目標(biāo)的粒子群算法主要分為以下六類:復(fù)合加權(quán)粒子群算法、字典排序粒子群算法、帶有子種群的粒子群算法、基于Pareto方法的粒子群算法、混雜的粒子群算法、其他創(chuàng)新型粒子群算法[2]。
目前的多目標(biāo)粒子群算法大多采用Pareto最優(yōu)集的方法對(duì)多目標(biāo)解進(jìn)行尋優(yōu)運(yùn)算,采用Pareto方法的多目標(biāo)粒子群算法的運(yùn)算框架已經(jīng)成為一種固定的程序流程和理論方法。因?yàn)樵诙嗄繕?biāo)進(jìn)化算法中已有成熟的處理相似問(wèn)題的辦法,所以對(duì)這些方法進(jìn)行有針對(duì)性的取舍可解決大部分多目標(biāo)粒子群優(yōu)化的問(wèn)題。
MOPSO算法的步驟:
(1)和單目標(biāo)粒子群算法相同,初始化種群以及參數(shù)設(shè)置;
(2)將粒子帶入目標(biāo)函數(shù),求得各粒子的函數(shù)值;
(3)初始化各粒子位置以及速度,并用Pareto方法將解以集合的方式儲(chǔ)存;
(4)從集合中選取最優(yōu)值,并用核心更新公式將速度和位置進(jìn)行更新;
(5)迭代出新的粒子參數(shù)再次帶入目標(biāo)函數(shù)計(jì)算出新粒子的函數(shù)值;
(6)從集合中更新最優(yōu)值;
(7)更新外部?jī)?chǔ)存的集合;
(8)若沒(méi)有達(dá)到優(yōu)解的條件返回步驟(4)繼續(xù)運(yùn)算,直到輸出符合條件的優(yōu)解。
當(dāng)算法運(yùn)用到多目標(biāo)的優(yōu)化上,必然會(huì)遇到下面兩個(gè)問(wèn)題。
(1)個(gè)體最優(yōu)解(pbest)的選擇問(wèn)題。
對(duì)于單目標(biāo)優(yōu)化來(lái)說(shuō)選擇pbest,只需要對(duì)比一下就可以選擇出哪個(gè)較優(yōu)。但是對(duì)于多目標(biāo)來(lái)說(shuō),兩個(gè)粒子的對(duì)比,并不能對(duì)比出哪個(gè)好一些。如果粒子的每個(gè)目標(biāo)都要好的話,則該粒子更優(yōu)。若有些更好,有些更差的話,就無(wú)法嚴(yán)格地說(shuō)哪個(gè)好些,哪個(gè)差些。
(2)全局最優(yōu)解(gbest)的選擇問(wèn)題。
對(duì)于單目標(biāo)在種群中只有一個(gè)最優(yōu)的個(gè)體。而對(duì)于多目標(biāo)來(lái)說(shuō),最優(yōu)的個(gè)體有很多個(gè)。對(duì)粒子群算法來(lái)說(shuō),每個(gè)粒子只能選擇一個(gè)作為最優(yōu)的個(gè)體(領(lǐng)導(dǎo)者)。
為解決以上兩個(gè)問(wèn)題,多目標(biāo)粒子群算法(MOPSO)對(duì)于第一個(gè)問(wèn)題的做法是在空間中隨機(jī)選擇相對(duì)優(yōu)秀粒子中的一個(gè)作為歷史最優(yōu),因?yàn)槎嗄繕?biāo)的前提下,無(wú)法通過(guò)嚴(yán)格的篩選機(jī)制選擇出真正的全局最優(yōu)粒子[3]。對(duì)于第二個(gè)問(wèn)題,MOPSO則在最優(yōu)集里面根據(jù)粒子的疏密度選擇出全局最優(yōu)。盡量選擇空間中粒子較為稀少的位置作為“精英粒子”帶領(lǐng)其他粒子尋最優(yōu)解。
在設(shè)計(jì)多目標(biāo)算法時(shí),處理大部分的影響因素都可借鑒其他成熟的多目標(biāo)智能算法的解決方法。例如選取個(gè)體最優(yōu)時(shí),可用集合的優(yōu)解代替?zhèn)€體的優(yōu)解,或者隨機(jī)選擇,將中心放在全局優(yōu)解的選取上。所以處理全局最好位置的選取是MOPSO的重要影響因素,這一步驟也是MOPSO的重要設(shè)計(jì)環(huán)節(jié)。
對(duì)于全局最好位置的選取,研究者們提出了很多有效可行的方法。而最常用到的方法是通過(guò)選取領(lǐng)導(dǎo)粒子(也被稱為領(lǐng)袖粒子),將這樣的粒子當(dāng)作全局的最優(yōu)解,領(lǐng)導(dǎo)其他粒子達(dá)到真正的全局最優(yōu)解。而每代的全局最優(yōu)粒子(領(lǐng)導(dǎo)粒子)的選擇主要分3個(gè)途徑。
一是通過(guò)以集合的方式選取。判斷所含粒子解較好的集合作為選取領(lǐng)導(dǎo)粒子的集,然后用網(wǎng)格法隨機(jī)選取粒子作為全局的最優(yōu)解。這種選取方式收斂快,容易使算法陷入局部最優(yōu)的境地。
二是引入兩個(gè)粒子群的方法選取。第一個(gè)粒子群用于計(jì)算粒子的更新速度,調(diào)整粒子群飛向全局最優(yōu)解,用另一個(gè)粒子群計(jì)算目標(biāo)優(yōu)解,篩選出粒子群要跟隨的優(yōu)秀粒子。這種方法能選取更好的全局最優(yōu)解,但需要大量的數(shù)據(jù)作為鋪墊,不適用于數(shù)據(jù)量較少的優(yōu)化問(wèn)題。
三是引入共享概念??梢怨蚕砩俨糠至W?,使他們先成為全局最好的粒子,也可以優(yōu)中選優(yōu),經(jīng)過(guò)二次篩選,選取全局最優(yōu);或者將適應(yīng)度共享,根據(jù)適應(yīng)度的值為每個(gè)粒子尋找最優(yōu)解。這種尋找全局最優(yōu)的方式比較靈活,不過(guò)需要對(duì)算法的運(yùn)算結(jié)構(gòu)進(jìn)行改進(jìn),并且需要注意提高在收斂后期對(duì)全局的搜素速度。
3 改進(jìn)與展望
針對(duì)不同領(lǐng)域的優(yōu)化問(wèn)題,研究人員提出了很多具有針對(duì)性的改進(jìn)方案,提高了MOPSO各方面的性能。預(yù)計(jì)將來(lái),初代粒子的均衡性、算子的運(yùn)算機(jī)邏輯、最優(yōu)粒子的選擇機(jī)制、粒子間信息共享的方式是多目標(biāo)的粒子群算法優(yōu)化的主要方向。引進(jìn)新的算法進(jìn)化機(jī)制,提高算法處理復(fù)雜問(wèn)題的能力和算法的運(yùn)行效率也是改進(jìn)MOPSO的有效途徑。
雖然MOPSO運(yùn)用在調(diào)度方面已經(jīng)有有效且成熟的方法策略,但在其他問(wèn)題如路線選擇的優(yōu)化和多個(gè)智能算法組合優(yōu)化的問(wèn)題上還有欠缺。由于粒子群算法中各粒子的速度和位置是跟隨迭代次數(shù)不斷更新的,是連續(xù)的變量,在求取靜態(tài)優(yōu)化問(wèn)題時(shí)需要對(duì)算法的結(jié)構(gòu)和參數(shù)進(jìn)行更改才能應(yīng)用。目前對(duì)于此方面提出的有效策略還需要繼續(xù)深入研究,創(chuàng)新改進(jìn)方法。
[參考文獻(xiàn)]
[1]楊明軒.粒子群算法的改進(jìn)及應(yīng)用研究[D].長(zhǎng)沙:湖南理工學(xué)院,2020.
[2]鄭友蓮,樊俊青.多目標(biāo)粒子群優(yōu)化算法研究[J].湖北大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(4):351-355.
[3]馮茜,李擎,全威,等.多目標(biāo)粒子群優(yōu)化算法研究綜述[J].工程科學(xué)學(xué)報(bào),2020(3):10.
(編輯 何 琳)
Influencing factors and improvement strategies of multi-objective particle swarm optimization algorithm
Lu Xinxin1, Wang Huaidong2
(1. Basic teaching and Research Department of Jilin University of business and technology, Changchun 130507, China; 2. School of electrical and electronic engineering, Changchun University of technology, Changchun 130012, China)
Abstract:Particle swarm optimization algorithm is used to solve optimization problems in all walks of life because of its unique operation structure and excellent convergence speed. Nowadays, the speed of intelligent production mode is accelerating, and the single objective particle swarm optimization algorithm can not meet the needs of various industries for algorithm optimization. The multi-objective optimization of particle swarm optimization algorithm is born. Through the improvement of the algorithm, the particle swarm optimization algorithm is realized to solve the multi-objective optimization problem, but while solving the multi-objective optimization, the factors affecting the particle swarm optimization algorithm are also increasing. This paper focuses on the influencing factors and improvement strategies of multi-objective particle swarm optimization algorithm.
Key words:particle swarm optimization; multi objective; improvement strategy
作者簡(jiǎn)介:魯欣欣(1989— ),女,吉林四平人,助教,碩士研究生;研究方向:智能算法,大數(shù)據(jù)。