李羿良 張英 陳冠宇 趙夢(mèng)薇 林超



摘 要
多目標(biāo)優(yōu)化算法可以對(duì)控制系統(tǒng)的多個(gè)控制目標(biāo)進(jìn)行控制優(yōu)化,具有普適性強(qiáng)、靈活性高和優(yōu)化結(jié)果全面的優(yōu)點(diǎn)。多目標(biāo)優(yōu)化算法種類(lèi)較多,不同種類(lèi)的算法針對(duì)具體問(wèn)題求解的適用性存在差異[1]。針對(duì)控制優(yōu)化問(wèn)題的求解,對(duì)三種典型多目標(biāo)優(yōu)化算法的適用性進(jìn)行研究。選擇三項(xiàng)不同類(lèi)型的應(yīng)用案例,分別對(duì)三種典型多目標(biāo)優(yōu)化算法的求解性能進(jìn)行試驗(yàn)與分析,在此基礎(chǔ)上確定出一種最適用于控制優(yōu)化的多目標(biāo)優(yōu)化算法,可對(duì)多目標(biāo)控制優(yōu)化問(wèn)題中算法的選擇提供指導(dǎo)和參考。
關(guān)鍵詞
多目標(biāo)優(yōu)化算法,控制優(yōu)化,適用性研究
中圖分類(lèi)號(hào): U463.33? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.19.078
0 引言
控制優(yōu)化問(wèn)題的優(yōu)化目標(biāo)往往不止一個(gè),當(dāng)多個(gè)優(yōu)化目標(biāo)之間存在沖突時(shí),該控制優(yōu)化問(wèn)題就成為多目標(biāo)優(yōu)化問(wèn)題。通常多個(gè)優(yōu)化目標(biāo)難以同時(shí)達(dá)到絕對(duì)的最優(yōu),但可以達(dá)到相互制約條件下的相對(duì)最優(yōu),即Pareto最優(yōu)。所有Pareto最優(yōu)解的集合形成了多目標(biāo)優(yōu)化問(wèn)題的最優(yōu)邊界,因此求解多目標(biāo)優(yōu)化問(wèn)題的本質(zhì)是找到該問(wèn)題的最優(yōu)邊界。理論上,采用多目標(biāo)優(yōu)化算法對(duì)多目標(biāo)優(yōu)化問(wèn)題進(jìn)行求解,可以無(wú)限逼近最優(yōu)邊界從而得到理論最優(yōu)解集。但由于多目標(biāo)優(yōu)化算法種類(lèi)較多,在解決不同的優(yōu)化問(wèn)題時(shí),不同的算法之間存在較大的性能差異。適用性更好的算法可以在得到更好結(jié)果的同時(shí)節(jié)省計(jì)算時(shí)間和計(jì)算力。因此需要對(duì)不同多目標(biāo)優(yōu)化算法在控制優(yōu)化中的適用性進(jìn)行研究。根據(jù)所采用智能優(yōu)化算法的不同,可以對(duì)多目標(biāo)優(yōu)化算法進(jìn)行分類(lèi)。目前常用的多目標(biāo)優(yōu)化算法包括多目標(biāo)進(jìn)化算法、多目標(biāo)蟻群算法和多目標(biāo)粒子群算法[2]。為了避免算法自身缺陷對(duì)控制參數(shù)優(yōu)化帶來(lái)的不利因素,確保優(yōu)化效果,本文利用標(biāo)準(zhǔn)測(cè)試函數(shù)和兩個(gè)典型控制優(yōu)化模型對(duì)這三種典型多目標(biāo)優(yōu)化算法分別進(jìn)行性能試驗(yàn)和結(jié)果分析,在此基礎(chǔ)上確定出一種最適用于控制優(yōu)化的多目標(biāo)優(yōu)化算法。
1 三種典型多目標(biāo)優(yōu)化算法的描述[3]
1.1 多目標(biāo)優(yōu)化問(wèn)題與多目標(biāo)優(yōu)化算法的一般化描述
多目標(biāo)優(yōu)化算法是一種以Pareto支配關(guān)系為基礎(chǔ)對(duì)多目標(biāo)優(yōu)化問(wèn)題進(jìn)行求解的算法。多目標(biāo)優(yōu)化算法的核心步驟是針對(duì)每一次迭代后的種群,依據(jù)Pareto支配關(guān)系尋找當(dāng)前Pareto最優(yōu)解集,然后通過(guò)智能優(yōu)化算法的更新法則對(duì)該解集進(jìn)行迭代更新,迭代完成后最新的Pareto最優(yōu)解集就是優(yōu)化問(wèn)題的解。
1.2 多目標(biāo)進(jìn)化算法
多目標(biāo)進(jìn)化算法種類(lèi)繁多,雖然每個(gè)種類(lèi)的具體算法各不相同,但它們的基本思路是一致的:通過(guò)對(duì)種群B(t)執(zhí)行評(píng)價(jià)、選擇和變異等操作產(chǎn)生下一代種群B(t+1);在每一代進(jìn)化過(guò)程中,首先將種群B(t)中所有的非劣解個(gè)體都復(fù)制到外部集A(t)中,然后運(yùn)用截?cái)嗨阕犹蕹鼳(t)中的受支配解和一些距離較近的非劣解,以盡快得到分布均勻的下一代外部集A(t+1);并且按照精英集中度Pe(t)從A(t+1)中選擇一定數(shù)量的優(yōu)秀個(gè)體與A(t)種群交配;在進(jìn)化結(jié)束時(shí),將外部集中的非劣解個(gè)體作為最優(yōu)解輸出。多目標(biāo)進(jìn)化算法的一般框架如圖1所示。
本文測(cè)試的典型多目標(biāo)進(jìn)化算法采用Matlab2010b中自帶的NSGA2函數(shù),即改進(jìn)型非劣排序遺傳算法,于2002年提出。該算法作為一種典型多目標(biāo)進(jìn)化算法,常被作為其他多目標(biāo)優(yōu)化算法的比較對(duì)象[4]。
1.3 多目標(biāo)蟻群算法
蟻群算法通過(guò)模擬蟻群通過(guò)信息素尋找目標(biāo)的方式進(jìn)行尋優(yōu)。當(dāng)一只螞蟻移動(dòng)到一個(gè)新的點(diǎn)時(shí),會(huì)根據(jù)此點(diǎn)對(duì)應(yīng)的目標(biāo)函數(shù)值釋放信息素,同時(shí)信息素會(huì)隨著迭代步數(shù)的增長(zhǎng)慢慢消散。蟻群的移動(dòng)以搜索范圍內(nèi)各點(diǎn)積聚的信息素作為參考因素,趨向于信息素積聚較多的點(diǎn)移動(dòng)。由此形成一種正反饋機(jī)制,即最優(yōu)路徑上的信息素?cái)?shù)量越來(lái)越大,而其他路徑上的信息素?cái)?shù)量卻會(huì)隨著迭代步數(shù)增長(zhǎng)而消減,最終整個(gè)蟻群會(huì)找出最優(yōu)路徑,實(shí)現(xiàn)優(yōu)化問(wèn)題的求解[5]。
本文測(cè)試的典型多目標(biāo)蟻群算法通過(guò)Pareto支配關(guān)系來(lái)決定螞蟻釋放信息素的多少,通過(guò)全局最優(yōu)經(jīng)驗(yàn)指導(dǎo)保持算法的多樣性并簡(jiǎn)化搜索方式,通過(guò)基于最大活動(dòng)范圍的行進(jìn)策略加強(qiáng)局部搜索能力。算法步驟如圖2所示。
1.4 多目標(biāo)粒子群算法
粒子群算法是由Kennedy和Eberhart于1995年受鳥(niǎo)類(lèi)群體行為研究結(jié)果的啟發(fā)而提出的一種基于群體智能的計(jì)算技術(shù)。在粒子群算法中,每個(gè)粒子代表解空間的一個(gè)可行解,粒子在搜索空間以各自的速度飛行,飛行速度根據(jù)自身最優(yōu)位置、群體最優(yōu)位置和隨機(jī)因素進(jìn)行動(dòng)態(tài)調(diào)整。多次迭代后粒子群將收斂于最終的群體最優(yōu)位置,即為最優(yōu)化問(wèn)題的解。
本文測(cè)試的多目標(biāo)粒子群算法對(duì)每次迭代的結(jié)果進(jìn)行Pareto支配篩選,根據(jù)篩選結(jié)果更新外部精英集,迭代結(jié)束后外部精英集即為多目標(biāo)優(yōu)化問(wèn)題的解集。算法具體步驟如圖3所示。
2 多目標(biāo)優(yōu)化算法的評(píng)價(jià)指標(biāo)
多目標(biāo)優(yōu)化算法的目標(biāo)是快速搜索逼近真實(shí)Pareto最優(yōu)前端并且在其上均勻分布,因此評(píng)價(jià)一個(gè)多目標(biāo)進(jìn)化算法的性能可以從4個(gè)方面去考慮[6]:
(1)收斂性:評(píng)價(jià)所求Pareto最優(yōu)解集到真實(shí)Pareto最優(yōu)前端的趨近程度。
(2)分布性:評(píng)價(jià)所求Pareto最優(yōu)解集在目標(biāo)空間分布的均勻程度。
(3)覆蓋性:評(píng)價(jià)兩組Pareto最優(yōu)解相互支配的程度。
(4)搜索速度:評(píng)價(jià)算法求解優(yōu)化問(wèn)題的速度。
Zitzter等人[7]對(duì)多目標(biāo)優(yōu)化評(píng)估指標(biāo)進(jìn)行了分類(lèi)研究。本課題中選擇了4個(gè)目前常用的評(píng)估指標(biāo),具體為距離指標(biāo)[8]GD、分布性指標(biāo)[9]SP、覆蓋指標(biāo)[7]C和運(yùn)行時(shí)間t。
2.1 距離指標(biāo)GD