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