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