-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
多目標(biāo)優(yōu)化問題的求解(多目標(biāo)優(yōu)化問題求解方法研究)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于多目標(biāo)優(yōu)化問題的求解的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、學(xué)習(xí)多目標(biāo)優(yōu)化需要掌握哪些python知識(shí)
多目標(biāo)優(yōu)化
目標(biāo)優(yōu)化問題一般地就是指通過一定的優(yōu)化算法獲得目標(biāo)函數(shù)的最優(yōu)化解。當(dāng)優(yōu)化的目標(biāo)函數(shù)為一個(gè)時(shí)稱之為單目標(biāo)優(yōu)化(Single-
objective Optimization Problem,
SOP)。當(dāng)優(yōu)化的目標(biāo)函數(shù)有兩個(gè)或兩個(gè)以上時(shí)稱為多目標(biāo)優(yōu)化(Multi-objective Optimization Problem,
MOP)。不同于單目標(biāo)優(yōu)化的解為有限解,多目標(biāo)優(yōu)化的解通常是一組均衡解。
多目標(biāo)優(yōu)化算法歸結(jié)起來有傳統(tǒng)優(yōu)化算法和智能優(yōu)化算法兩大類。
1. 傳統(tǒng)優(yōu)化算法包括加權(quán)法、約束法和線性規(guī)劃法等,實(shí)質(zhì)上就是將多目標(biāo)函數(shù)轉(zhuǎn)化為單目標(biāo)函數(shù),通過采用單目標(biāo)優(yōu)化的方法達(dá)到對多目標(biāo)函數(shù)的求解。
2. 智能優(yōu)化算法包括進(jìn)化算法(Evolutionary Algorithm, 簡稱EA)、粒子群算法(Particle Swarm Optimization, PSO)等。
Pareto最優(yōu)解:
若x*∈C*,且在C中不存在比x更優(yōu)越的解x,則稱x*是多目標(biāo)最優(yōu)化模型式的Pareto最優(yōu)解,又稱為有效解。
一般來說,多目標(biāo)優(yōu)化問題并不存在一個(gè)最優(yōu)解,所有可能的解都稱為非劣解,也稱為Pareto解。傳統(tǒng)優(yōu)化技術(shù)一般每次能得到Pareo解集中的一個(gè),而
用智能算法來求解,可以得到更多的Pareto解,這些解構(gòu)成了一個(gè)最優(yōu)解集,稱為Pareto最優(yōu)解。它是由那些任一個(gè)目標(biāo)函數(shù)值的提高都必須以犧牲其
他目標(biāo)函數(shù)值為代價(jià)的解組成的集合,稱為Pareto最優(yōu)域,簡稱Pareto集。
Pareto有效(最優(yōu))解非劣解集是指由這樣一些解組成的集合:與集合之外的任何解相比它們至少有一個(gè)目標(biāo)函數(shù)比集合之外的解好。
求解多目標(biāo)優(yōu)化問題最有名的就是NSGA-II了,是多目標(biāo)遺傳算法,但其對解的選擇過程可以用在其他優(yōu)化算法上,例如粒子群,蜂群等等。這里簡單介紹一下NSGA-II的選擇算法。主要包含三個(gè)部分:
1. 快速非支配排序
要先講一下支配的概念,對于解X1和X2,如果X1對應(yīng)的所有目標(biāo)函數(shù)都不比X2大(最小問題),且存在一個(gè)目標(biāo)值比X2小,則X2被X1支配。
快速非支配排序是一個(gè)循環(huán)分級(jí)過程:首先找出群體中的非支配解集,記為第一非支配層,irank=1(irank是個(gè)體i的非支配值),將其從群體中除去,繼續(xù)尋找群體中的非支配解集,然后irank=2。
2. 個(gè)體擁擠距離
為了使計(jì)算結(jié)果在目標(biāo)空間比較均勻的分布,維持種群多樣性,對每個(gè)個(gè)體計(jì)算擁擠距離,選擇擁擠距離大的個(gè)體,擁擠距離的定義為:
L[i]d=L[i]d+(L[i+1]m−L[i−1]m)/(fmaxm−fminm)
L[i+1]m是第i+1個(gè)個(gè)體的第m目標(biāo)函數(shù)值,fmaxm 和 fminm是集合中第m個(gè)目標(biāo)函數(shù)的最大和最小值。
3. 精英策略選擇
精英策略就是保留父代中的優(yōu)良個(gè)體直接進(jìn)入子代,防止獲得的Pareto最優(yōu)解丟失。將第t次產(chǎn)生的子代種群和父代種群合并,然后對合并后的新種群進(jìn)行非支配排序,然后按照非支配順序添加到規(guī)模為N的種群中作為新的父代。
二、利用MATLAB求多目標(biāo)線性函數(shù)優(yōu)化問題,求高手告知!最好能給出代碼
利用MATLAB求多目標(biāo)線性函數(shù)優(yōu)化問題,可以用
fgoalattain函數(shù)。求解方法:
1、建立自定義函數(shù)文件,其內(nèi)容
function f = myfun(x)
f(:,1) = a*x(1)+b*x(2)+c*x(3)+d*x(4)
f(:,2) =e*x(1)+f*x(2)+g*x(3)+h*x(4)
2、建立自定義函數(shù)文件,其內(nèi)容
function [c,ceq] =mycon(x)
ceq=1-(x(1)+x(2)+x(3)+x(4))
3、建立執(zhí)行文件,其內(nèi)容
x0=[x10,x20,x30,x40]
[x,f] = fgoalattain(myfun,x0,[],[],[],[],[],[],[0,0,0,0],[1,1,1,1],mycon)
三、pso的多目標(biāo)優(yōu)化
在多目標(biāo)優(yōu)化問題中,每個(gè)目標(biāo)函數(shù)可以分別獨(dú)立進(jìn)行優(yōu)化,然后為每個(gè)目標(biāo)找到最優(yōu)值。但是,很少能找到對所有目標(biāo)都是最優(yōu)的完美解,因?yàn)槟繕?biāo)之間經(jīng)常是互相沖突的,只能找到Pareto最優(yōu)解。
PSO算法中的信息共享機(jī)制與其他基于種群的優(yōu)化工具有很大的不同。在遺傳算法(GA)中,染色體通過交叉互相交換信息,是一種雙向信息共享機(jī)制。但是在PSO算法中,只有g(shù)Best(或nBest)給其他微粒提供信息,是一種單向信息共享機(jī)制。由于點(diǎn)吸引特性,傳統(tǒng)的PSO算法不能同時(shí)定位構(gòu)成Pareto前鋒的多個(gè)最優(yōu)點(diǎn)。雖然通過對所有目標(biāo)函數(shù)賦予不同的權(quán)重將其組合起來并進(jìn)行多次運(yùn)行,可以獲得多個(gè)最優(yōu)解,但是還是希望有方法能夠一次同時(shí)找到一組Pareto最優(yōu)解。
在PSO算法中,一個(gè)微粒是一個(gè)獨(dú)立的智能體,基于其自身和同伴的經(jīng)驗(yàn)來搜索問題空間。前者為微粒更新公式中的認(rèn)知部分,后者為社會(huì)部分,這二者在引導(dǎo)微粒的搜索方面都有關(guān)鍵的作用。因此,選擇適當(dāng)?shù)纳鐣?huì)和認(rèn)知引導(dǎo)者(gBest和pBest)就是MO-PSO算法的關(guān)鍵點(diǎn)。認(rèn)知引導(dǎo)者的選擇和傳統(tǒng)PSO算法應(yīng)遵循相同的規(guī)則,唯一的區(qū)別在于引導(dǎo)者應(yīng)按照Pareto支配性來確定。社會(huì)引導(dǎo)者的選擇包括兩個(gè)步驟。第一步是建立一個(gè)從中選取引導(dǎo)者的候選池。在傳統(tǒng)PSO算法中,引導(dǎo)者從鄰居的pBest之中選取。而在MO-PSO算法中更常用的方法是使用一個(gè)外部池來存儲(chǔ)更多的Pareto最優(yōu)解。第二步就是選擇引導(dǎo)者。gBest的選擇應(yīng)滿足如下兩個(gè)標(biāo)準(zhǔn):首先,它應(yīng)該能為微粒提供有效的引導(dǎo)來獲得更好的收斂速度;第二,它還需要沿Pareo前鋒來提供平衡的搜索,以維持種群的多樣性。文獻(xiàn)中通常使用兩種典型的方法:(1)輪盤選擇模式,該方式按照某種標(biāo)準(zhǔn)進(jìn)行隨機(jī)選擇,其目的是維持種群的多樣性;(2)數(shù)量標(biāo)準(zhǔn):按照某種不涉及隨機(jī)選擇的過程來確定社會(huì)引導(dǎo)者。
Moore最早研究了PSO算法在多目標(biāo)優(yōu)化中的應(yīng)用,強(qiáng)調(diào)了個(gè)體和群體搜索二者的重要性,但是沒有采用任何維持多樣性的方法。Coello在非劣最優(yōu)概念的基礎(chǔ)上應(yīng)用了一個(gè)外部“容器”來記錄已找到的非支配向量,并用這些解來指導(dǎo)其它微粒的飛行。Fieldsend采用一種稱為支配樹的數(shù)據(jù)結(jié)構(gòu)來對最優(yōu)微粒進(jìn)行排序。Parsopoulos應(yīng)用了權(quán)重聚合的方法。Hu應(yīng)用了動(dòng)態(tài)鄰域,并在此基礎(chǔ)上利用擴(kuò)展記憶,按詞典順序依次優(yōu)化各個(gè)目標(biāo)。Ray使用聚集機(jī)制來維持多樣性,并用一個(gè)多水平篩來處理約束。Lu使用了動(dòng)態(tài)種群策略。Bartz-Beielstein采用歸檔技術(shù)來提高算法性能。Li在PSO算法中采用NSGA-II算法中的主要機(jī)制,在局部最優(yōu)微粒及其后代微粒之間確定局部最優(yōu)微粒;并此基礎(chǔ)上又提出一種新的算法,在適應(yīng)值函數(shù)中使用最大最小策略來確定Pareto支配性。張利彪使用多個(gè)目標(biāo)函數(shù)下各最優(yōu)位置的均值來指導(dǎo)微粒飛行。Pulido使用多個(gè)子種群并采用聚類技術(shù)來求解多目標(biāo)規(guī)劃問題。Mahfouf采用加權(quán)聚合方法來計(jì)算微粒的適應(yīng)值,并據(jù)此確定引導(dǎo)微粒的搜索。Salazar-Lechuga使用適應(yīng)值共享技術(shù)來引導(dǎo)微粒的搜索。Gong提出微粒角度的概念,并使用最小微粒角度和微粒密度來確定局部最優(yōu)和全局最優(yōu)微粒?;贏ER模型,Zhang提出一種新的智能PSO模型,來將種群驅(qū)向Pareto最優(yōu)解集。Ho提出一種新的適應(yīng)值分配機(jī)制,并使用壽命(Age)變量來保存和選擇最優(yōu)歷史記錄。Huang將CLPSO算法應(yīng)用到多目標(biāo)規(guī)劃中。Ho提出另一種基于Pareto的與尺度無關(guān)的適應(yīng)值函數(shù),并使用一種基于正交試驗(yàn)設(shè)計(jì)的智能運(yùn)動(dòng)機(jī)制(IMM)來確定微粒的下一步運(yùn)動(dòng)。Branke系統(tǒng)研究了多種個(gè)體最優(yōu)微粒的選擇方法對MOPSO算法性能的影響。張勇考慮儲(chǔ)備集更新策略在多目標(biāo)PSO算法中的關(guān)鍵作用,提出一種兩階段儲(chǔ)備集更新策略。
原萍提出一種分布式PSO算法—分割域多目標(biāo)PSO算法(DRMPSO),并將其應(yīng)用到基站優(yōu)化問題。向量評價(jià)PSO算法(VEPSO)是一種受向量評價(jià)遺傳算法(VEGA)的啟發(fā)提出的一種算法,在VEPSO算法中,每個(gè)種群僅使用多個(gè)目標(biāo)函數(shù)之一來進(jìn)行評價(jià),同時(shí)各種群之間互相交互經(jīng)驗(yàn)。將每個(gè)種群分配到一臺(tái)網(wǎng)絡(luò)PC上,即可直接使VEPSO算法并行化,以加速收斂。Vlachogiannis應(yīng)用并行VEPSO算法來確定發(fā)電機(jī)對輸電系統(tǒng)的貢獻(xiàn)。熊盛武利用PSO算法的信息傳遞機(jī)制,在PSO算法中引入多目標(biāo)演化算法常用的歸檔技術(shù),并采用環(huán)境選擇和配對選擇策略,使得整個(gè)群體在保持適當(dāng)?shù)倪x擇壓力的情況下收斂于Pareto最優(yōu)解集。
由于適應(yīng)值的計(jì)算非常消耗計(jì)算資源,為了減少計(jì)算量,需要減少適應(yīng)值評價(jià)的次數(shù)。Reyes-Sierra采用適應(yīng)值繼承和估計(jì)技術(shù)來實(shí)現(xiàn)該目標(biāo),并比較了十五種適應(yīng)值繼承技術(shù)和四種估計(jì)技術(shù)應(yīng)用于多目標(biāo)PSO算法時(shí)的效果。
保持MOPSO中的多樣性的方法主要有兩種:sigma方法和ε-支配方法。Villalobos-Arias在目標(biāo)函數(shù)空間中引入條塊劃分來形成聚類,從而保持多樣性。
四、用matlab求解多目標(biāo)優(yōu)化問題的程序,如何對目標(biāo)函數(shù)進(jìn)行加權(quán)?
對各個(gè)目標(biāo)值的權(quán)重進(jìn)行計(jì)算,如有三個(gè)目標(biāo)x1,x2,x3,每個(gè)目標(biāo)的權(quán)重設(shè)分別為a(1),a(2),a(3),則最終的目標(biāo)函數(shù)為a(1)*x1+a(2)*x2+a(3)*x3。具體權(quán)重怎么設(shè)置有很多種方法,也可以根據(jù)各個(gè)目標(biāo)的重要性進(jìn)行人為的設(shè)定,設(shè)定完后三個(gè)目標(biāo)的權(quán)重之和要為1,即:a(1)+a(2)+a(3)=1.
以上就是關(guān)于多目標(biāo)優(yōu)化問題的求解相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
多約束多目標(biāo)優(yōu)化(約束多目標(biāo)優(yōu)化太難)
多目標(biāo)分類算法(多目標(biāo)分類算法是什么)
下面哪種方法不能進(jìn)行多目標(biāo)優(yōu)化(以下哪種方式不能實(shí)現(xiàn)提高任務(wù)并行度的目標(biāo))
安徽城市景觀設(shè)計(jì)加盟(安徽景觀設(shè)計(jì)院)
怎么知道自己百度賬號(hào)(怎么知道自己百度賬號(hào)密碼)