十分钟了解完多目标优化算法
文章目錄
- 多目標(biāo)優(yōu)化快速入門 多目標(biāo)優(yōu)化
- 一、前言
- 二、多目標(biāo)優(yōu)化問題的一般數(shù)學(xué)描述
- 三、進(jìn)化算法一般性特點(diǎn)
- 四、多目標(biāo)優(yōu)化算法發(fā)展歷史
- 總結(jié)
多目標(biāo)優(yōu)化快速入門 多目標(biāo)優(yōu)化
一、前言
????正如生活中,你想買一輛車,又想汽車的性能好,外觀不錯,價格還比較低,對于這同時滿足這三個條件,我們應(yīng)該如何進(jìn)行考慮呢?
????在投資的時候,我們想投入的資金最少,所付出的風(fēng)險(xiǎn)最小,同時收益是最大的,如何同時進(jìn)行實(shí)現(xiàn)呢?在數(shù)學(xué)學(xué)習(xí)中,求求函數(shù) f1(x1,x2,…,xn)=x1^2 +x2^2 +…+xn^2 及函數(shù) f2(x1,x2,…,xn)=(x1-1)^2+ (x2-1)^2 +…+(xn-1)^2 同時達(dá)到最小的 (x1,x2,…,xn) 的取值,不存在一組 (x1,x2,…,xn) 的取值,使 f1 和 f2 同時達(dá)到最小值,這時候怎么辦呢?
????帕累托最優(yōu)
????帕雷托最優(yōu)是指資源分配的一種理想狀態(tài)。帕雷托最優(yōu)的狀態(tài)就是不可能再有更多的帕雷托改善的狀態(tài);換句話說,不可能再改善某些人的境況,而不使任何其他人受損。進(jìn)化計(jì)算
????最早的是達(dá)爾文的進(jìn)化論-物競天擇,適者生存
????后來是約翰.霍蘭德提出的遺傳算法
????1.遺傳算法(Genetic Algorithm, GA)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計(jì)算模型,通過模擬自然進(jìn)化過程搜索最優(yōu)解。
????2.該算法通過數(shù)學(xué)的方式,利用計(jì)算機(jī)仿真運(yùn)算,將問題的求解過程轉(zhuǎn)換成類似生物進(jìn)化中的染色體基因的交叉、變異等過程。在求解較為復(fù)雜的組合優(yōu)化問題時,相對一些常規(guī)的優(yōu)化算法,通常能夠較快地獲得較好的優(yōu)化結(jié)果。
????3.遺傳算法已被人們廣泛地應(yīng)用于組合優(yōu)化、機(jī)器學(xué)習(xí)、信號處理、自適應(yīng)控制和人工生命等領(lǐng)域。
具體步驟是:
- (1)種群中個體隨機(jī)初始化.
- (2)每個個體通過評價得到一個適應(yīng)度值.
- (3)適應(yīng)度值大的個體有更大的概率保留下來.
- (4)通過對適應(yīng)度值大的個體交叉變異產(chǎn)生新的個體.
- 不斷的迭代第 (2)-(4) 步驟,經(jīng)過足夠多的迭代次后,最終能得到好的解.
二、多目標(biāo)優(yōu)化問題的一般數(shù)學(xué)描述
????基本概念 MOP 1.求解單個函數(shù) f1 的最小值為單目標(biāo)優(yōu)化問題(SOP)
????同時求解多個函數(shù) f1 和 f2 的最小值為多目標(biāo)優(yōu)化問題(MOP)
????多目標(biāo)優(yōu)化問題的一般數(shù)學(xué)描述:
- 1.對于兩個個體 X1 和 X2 以及目標(biāo)函數(shù) F(X),若 X1 的每一個目標(biāo)函數(shù)值 fi(X1) 都比 X2 對應(yīng)的目標(biāo)函數(shù)值 fi(X2) 要小,則認(rèn)為 X1 要比 X2 更好,稱 X1 支配(dominate) X2 ,記作 X1 ? X2 (它具有傳遞性)
- 2.若存在 i 和 j 使得 fi(X1) < fi(X2) 且 fj(X1) > fj(X2), 則認(rèn)為 X1 和 X2 無法比較,視為一樣好,稱 X1 與 X2 是非支配 (non-dominated)的,記作 X1 ? X2 且 X2 ? X1。即針對個體X1,X2。在目標(biāo)函數(shù)1中,個體X1表現(xiàn)較好,在目標(biāo)函數(shù)2中,個體X2表現(xiàn)較好。
- 對于一組個體,若 Xa 不被其它任何一個個體支配,則 Xa 也稱為是非支配的;Xa 也叫做 Pareto 最優(yōu)解
- 對于一個多目標(biāo)優(yōu)化問題,目的是求出一組 Pareto 最優(yōu)解 Xi ,i=1,2,…,并使得目標(biāo)函數(shù)的值盡可能地小
????根據(jù)左圖中目標(biāo)變量可知 ,帕累托最優(yōu)解往往在左下角,值相對偏小。
????在右圖中,可以看出,B支配C,D兩點(diǎn),在A點(diǎn),B是被支配的,其余空間則是非支配
????1.想要求得多目標(biāo)問題的最優(yōu)解,我們利用計(jì)算機(jī)強(qiáng)大的計(jì)算能力,在決策空間中隨機(jī)產(chǎn)生大量個體,并找出其中最好的(不被支配的)個體。也就是不斷地“試”,來找到越來越好的個體。隨機(jī)尋找個體的過程稱為 搜索
????2.但無法做到遍歷決策空間中每一個個體,我們需要在更短的時間里利用隨機(jī)的方法找到更好的個體
????3.利用進(jìn)化算法的策略,可以朝著越來越好的方向隨機(jī)產(chǎn)生個體,而不是在決策空間中完全盲目地產(chǎn)生個體。
三、進(jìn)化算法一般性特點(diǎn)
?得到的不是問題的精確結(jié)果,而是近似的結(jié)果
?每次得到的結(jié)果不一樣
?結(jié)果的精度隨著迭代次數(shù)的增加而不斷上升
?往往以算法得到的結(jié)果的精度來評價算法的性能
????進(jìn)化算法的一般策略
1.不同的算法,產(chǎn)生的結(jié)果是不同的,從結(jié)果可以看出各個算法性能的好壞
2.算法產(chǎn)生的解集的好壞標(biāo)準(zhǔn):
?接近真實(shí)前沿面(收斂性)
?在空間上分布性好(分布性)
3.還有許多量化的評價解集的好壞的標(biāo)準(zhǔn)
四、多目標(biāo)優(yōu)化算法發(fā)展歷史
????發(fā)展歷程
古典多目標(biāo)時期
????傳統(tǒng)的多目標(biāo)優(yōu)化方法是將各個子目標(biāo)聚合成一個帶正系數(shù)的單目標(biāo)函數(shù),系數(shù)由決策者決定,或者由優(yōu)化方法自適應(yīng)調(diào)整。
????為了獲取近似Pareto最優(yōu)集,一些優(yōu)化方法使用不同的系數(shù)來實(shí)施動態(tài)優(yōu)化。常見的古典方法有加權(quán)法(利用斜率來判斷最優(yōu)解)、約束法、目標(biāo)規(guī)劃法以及極大極小法等
進(jìn)化多目標(biāo)時期
????最早提到可以利用EA來解決多目標(biāo)優(yōu)化問題的是Richard S. Rosenburg 于1967年在他的博士論文 “Simulation of genetic populations with biochemical properties”中,David Goldberg 于1989年首次提出了Pareto Ranking的概念:MOEA中個體必須經(jīng)由Pareto支配關(guān)系來選出,同時他也指出了MOEA中分布性保持的重要性,主要采取Fitness Share的策略Carlos M. Fonseca 和 Peter J. Fleming 于1993年提出了Multiobjective Optimization Genetic Algorithm (MOGA)。MOGA采用基于排序數(shù)的適應(yīng)度賦值機(jī)制以及自適應(yīng)的適應(yīng)度共享的策略,風(fēng)靡一時。
????Kalyanmoy Deb于1994年提出了Non-dominated Sorting Genetic Algorithm (NSGA),采用分層的非支配排序機(jī)制以及適應(yīng)度共享機(jī)制。然而算法缺陷是計(jì)算復(fù)雜度為O(MN3),隨后,Deb跟他的學(xué)生在2000年提出了NSGA的改進(jìn)版本NSGA2,文章于2002年發(fā)表TEVC。NSGA2采用快速非支配排序以及擁擠距離的策略,時間復(fù)雜度在O(MN2)。由于其速度及效果上的優(yōu)勢,許多年來NSGA2都被作為對比算法。
????Eckart Zitzler 在1998年一個會議上提出Strength Pareto Evolutionary Algorithm (SPEA),第二年文章被TEVC收錄。SPEA在算法中使用了一個外部Archive來保留搜索到的好解,稱之為Elitism。Elitism的使用隨后也開始流行,隨后不久Zitzler等人又對SPEA進(jìn)行了改進(jìn)SPEA2,主要引入了較細(xì)的適應(yīng)度賦值方式以及密度估計(jì)方式(Truncation Method)。
????2006年,張青富跟李輝首次提出了基于分解的多目標(biāo)優(yōu)化算法,MOEAD,是將MOP問題分解成SOP問題并同時對這些子問題進(jìn)行優(yōu)化。MOEAD不僅在速度上有優(yōu)勢,而且搜到的結(jié)果很規(guī)律。在MOEA領(lǐng)域開辟了一條新的通道。
????2014年,Deb的NSGA3分成上下兩個部分發(fā)表在TEVC上。主要是用來處理高維多目標(biāo)問題。采用了基于參考點(diǎn)以及分解的策略。是NSGA2 + MOEAD 的結(jié)合
????其中目前最經(jīng)典的算法還是NSGA-II 和MOEAD,
總結(jié)
本文學(xué)習(xí)他人的博文筆記。
作者:電氣-余登武
附一張喜歡的女主播。
總結(jié)
以上是生活随笔為你收集整理的十分钟了解完多目标优化算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 播放器色觉辅助功能开发,助力提升色觉障碍
- 下一篇: 【MM32F5270开发板试用】四、SP