薛亞宏,王加毅
(1.甘肅工業(yè)職業(yè)技術學院電信學院,甘肅 天水 741025;2.同濟大學土木工程學院,上海 200092)
工程項目管理以最低成本均衡資源,控制工程質量為目標,由工期子系統(tǒng)、費用子系統(tǒng)、質量子系統(tǒng)和資源控制子系統(tǒng)組成,從經(jīng)濟學角度來看,工程項目管理中進度目標、質量目標和環(huán)境保護目標的相互制約關系產生了多目標協(xié)同問題,即多目標優(yōu)化。
“多目標優(yōu)化”(Multiobjective Optimization Problem,MOP)是作為最優(yōu)化的重要組成部分,它主要研究在某種意義下多個數(shù)值目標的同時最優(yōu)化問題。在國防建設、工程設計、工程管理、數(shù)量經(jīng)濟學等領域都具有重要作用。近年來,傳統(tǒng)多目標優(yōu)化方法得到了很大發(fā)展,遺傳算法、模糊優(yōu)化、神經(jīng)網(wǎng)絡等現(xiàn)代技術也被應用到多目標優(yōu)化中,使多目標優(yōu)化方法取得很大進步。理論上,因素和指標考慮越全面對深入地研究問題越有價值,但這樣會使問題變更為復雜和龐大,在條件允許的情況下,通常將目標減少到最少程度進行研究,即“單目標最優(yōu)化問題”。盡管如此,多目標線性規(guī)劃問題仍然是運籌學所面臨的主要課題。
本文將從工程項目管理中所涉及的多目標優(yōu)化問題的數(shù)學模型、無約束多目標函數(shù)的最小二乘求解、單目標轉換、多目標優(yōu)化問題的Pareto解集、極值問題、目標規(guī)劃問題求解等方面進行基礎性研究,并對每一種解析求解思路給出基于的算法設計。
多目標優(yōu)化問題的數(shù)學模型一般表示為
其中
以上表示形式又稱為多目標最優(yōu)化問題的標準數(shù)學模型,下面將給出幾種多目標最優(yōu)化問題的求解途徑及其算法實現(xiàn)。
假設多目標規(guī)劃問題的目標函數(shù)F(x)=[f1(x),f2(x),…,fp(x)]T,則可以按照以下方式將其轉化為單目標問題
這樣,便可以用基本代數(shù)方程的形式求解。在Matlab 中,調用 lsqnonlin()函數(shù)
其中,F(xiàn)為給定目標函數(shù)寫的M函數(shù)、匿名函數(shù)或inline()函數(shù),該函數(shù)為向量函數(shù)。x0為初始搜索點。最優(yōu)化完成后,結果將在變量x中返回,其范數(shù)由nf返回。
如對如下無約束非線性多目標規(guī)劃問題
取 xm=[0;0;0];xM[3,pi;5];x=lsqnonlin(f,xm,xm),求最小值為 x=[3,3.1415,0]。
在多目標問題中,根據(jù)問題的實際情況,確定一個目標為主要目標,其余作為次要目標,并選取一定的界限值,即將其作為約束來處理,于是就將原多目標問題轉化成一個在新的約束條件下,求主要目標的單目標最優(yōu)化問題,如加權或最小二乘處理等。
對于一般多目標問題單目標化,最為常見的方法是對兩個指標的側重情況引入加權,使得目標函數(shù)改寫成標量形式
其中,ω1+ω+…ωp=1,且 0≤ω1,ω,…,ωp≤1[2]。對于這類加權變換后的目標函數(shù)使用linprog(ω1,ω2,…Aep,Bep,xm)進行優(yōu)化,最終構造出不同加權系數(shù)下的最優(yōu)化方案。
多目標線性規(guī)劃問題的最小二乘表示
可由函數(shù) zeros(d1,d2),Aep=[];Bep[];xm[];xM=[]以及l(fā)sqlin()直接得出。
對于特殊線性規(guī)劃問題
和傳統(tǒng)線性規(guī)劃問題不同,其目標函數(shù)是矩陣而非向量。每一個目標函數(shù)fi(x)=cix可以理解為第i方的利益分配[3],所以這樣的最優(yōu)化問題可以認為是各方利益的最大分配。在約束條件的相互制約下,不可能每變量能真正最大化,此時各變量需作出適當妥協(xié),得出唯一的最佳妥協(xié)解。其解析算法及程序實現(xiàn)如下:
①單獨求解每個單目標函數(shù)的最優(yōu)化問題,得出最優(yōu)解 fk,k=1,2,…,p。
②通過規(guī)范化構造單獨的目標函數(shù)
③應用單目標線性規(guī)劃問題求最佳妥協(xié)解。根據(jù)以上算法,設計最佳妥協(xié)解的求解程序
由于一般情況下多目標優(yōu)化問題的解是不唯一的,其解可能隨著決策傾向不同而不同。若重新考慮原始多目標優(yōu)化問題,假設某一個目標函數(shù)分量取一系列離散點,則原來問題的目標函數(shù)的個數(shù)將減少,這樣的處理將會產生新的解析結果[4]。
圖1 Pareto解集示意圖
考慮一個雙目標函數(shù)的問題,可以先得出可行解的離散點,將這些點先在二維平面上顯示出來(圖 1)。
因為原始問題是求取兩個坐標系 和 的最小值,所以可以從得出的可行解離散點提取出區(qū)域左下角的一條曲線,這條曲線就是原問題的解,稱之為Pareto front解集[5]。主函數(shù)K=Pareto fron t([f1,f2,…,fp])的調用格式為
其中,M-為可行解離散點構成的列向量,K向量指示可行解離散點是否為Pareto解集中的點。
多目標優(yōu)化的一類重要問題是極大極小問題。假設某一組有p個目標函數(shù)fi(x),對于各個目標的最大值,考慮進行最小化搜索,即。極大極小問題是在最不利的條件下尋找最優(yōu)決策方案的有效方法??紤]到各類約束條件,極大極小問題可以改寫成
使用fminimax()函數(shù)求其最優(yōu)解,調用格式為
本次調用格式接近于之前的fmincon()函數(shù),不同的是目標函數(shù)為向量形式描述。事實上,用匿名函數(shù)、inline()函數(shù)和M-函數(shù)也可以作為新目標函數(shù)的一種表示形式,只是變量調用過程稍顯復雜。
在現(xiàn)實工程中,很多問題都是多目標優(yōu)化問題,需要同時滿足兩個或者更多的目標要求,而且要同時滿足的多個目標之間往往互相沖突、此消彼長。因此,在多目標優(yōu)化問題中,不存在唯一的全局最優(yōu)解,而是產生一組可選的折中的解集,由決策過程在可選解集中作出最終選擇。文章在對最優(yōu)化求解算法分析的基礎上給出了每一類算法的實現(xiàn),其它如分布估計算法、協(xié)同進化算法等新的范例也陸續(xù)被用于求解多目標優(yōu)化問題。
[1]林銼云,董加禮.多目標優(yōu)化的方法與理論[M].吉林:吉林教育出版社,1992:58-90.
[2]薛定宇,陳陽泉.基于MATLAB/Simulink的系統(tǒng)仿真技術與應用[M].北京:清華大學出版社,2002:201-215.
[3]魏靜萱.解決單目標和多目標優(yōu)化問題的進化算法[J].西安電子科技大學博士論文,2009.
[5]王雪松,郝名林,程玉虎.一種多目標優(yōu)化問題的混合優(yōu)化算法[J].系統(tǒng)仿真學報,2011,55(16):15-21.
[5]劉仁云,張儀民,劉巧伶.基于多目標優(yōu)化策略的結構可靠性穩(wěn)健設計[J].應用力學學報,2012,40(02):25-29.
[6]吳亮紅,王耀南,袁小芳.多目標優(yōu)化問題的差分進化算法研究[J].湖南大學學報(自然科學版),2012,53(02):12-26.