




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、瓷學院畢業(yè)設(shè)計(論文)開題報告中文題目:關(guān)于MATLAB約束優(yōu)化算法軟件包的設(shè)計 英文題目:DESIGN OF RESTRAINT OPTIMIZATION SOFTWAREFOR INSTRUCTION BASED ON MATLAB院 系:機械電子工程學院 專 業(yè):機械設(shè)計制造與其自動化37 / 37摘 要優(yōu)化設(shè)計作為現(xiàn)代設(shè)計方法之一,在各個領(lǐng)域起著越來越重要的作用。機械優(yōu)化設(shè)計是機械設(shè)計類專業(yè)的一門必修課程,其中優(yōu)化設(shè)計方法理論性較強,學生不易理解,從而使得學生在學習過程中倍感吃力。本課題研制了一個基于MATLAB的約束優(yōu)化算法軟件包,該軟件包有著友好的圖形用戶界面(GUI)和求解的直觀
2、性。圖形用戶界面由參數(shù)輸入框、結(jié)果輸出框和結(jié)果圖形化三部分組成。運用該軟件可以幫助學生更好地理解優(yōu)化算法的尋優(yōu)過程,使抽象的問題具體化。本文介紹了約束優(yōu)化算法軟件包的開發(fā)過程和其使用方法,對計算機輔助教學有一定的幫助。關(guān)鍵詞:優(yōu)化設(shè)計 軟件包 圖形用戶界面ABSTRACTAs one of the primary modem design ways, optimization plays amore important role then ever in kinds of areas.optimization design of machinicsis one of necessity cou
3、rses of machinical design domain,in which optimization methods were abstrctive,it is hard to understand and this reslut the students felt difficulty in study process.In this task, the design of restraint optimization software based on MATLAB is introduced,what has a very friendly graphic user interf
4、ace (GUI) and make the resluts visual.The GUI was consisted of the parameter input frame、the parameter output frame and the figure of outcomes.The software can help the students understanding the process of looking for the best point,and to change the abstractive problem specific.In this paper,the p
5、rocess of open up and the method of using were introduced about the restraint optimization software,which may apply some help for the computer aided instruction.Keywords: optimal design software package graphic user interface目錄摘要2Abstract31 緒論51.1 本課題的現(xiàn)狀與其研究意義512 本課題的主要工作62 優(yōu)化算法原理82.1 最優(yōu)化設(shè)計的數(shù)學模型822約
6、束優(yōu)化算法9221 懲罰函數(shù)點法102212 懲罰函數(shù)點法的迭代步驟:122213 應注意的問題:13222 DFP變尺度法162221 DFP變尺度法的原理162222 DFP變尺度法的計算步驟18223 懲罰函數(shù)外點法192231 懲罰函數(shù)外點法的原理192232 懲罰函數(shù)外點法的迭代步驟:21224 懲罰函數(shù)混合法232241 懲罰函數(shù)混合法的原理232242 懲罰函數(shù)混合法的迭代步驟:25225 三種算法的比較253軟件開發(fā)與其使用2731 軟件開發(fā)過程2732 軟件的使用284.1 優(yōu)化算例304.2 結(jié)果分析315 結(jié)論33致34參考文獻351 緒論機械產(chǎn)品的傳統(tǒng)設(shè)計方法,是根據(jù)產(chǎn)
7、品的功能要求與使用條件,通過估算,類比或?qū)嶒灤_定設(shè)計方案,然后進行強度、剛度、穩(wěn)定性和動態(tài)特性等的分析驗算,如果達不到要求,則修改有關(guān)參數(shù),再進行驗算,直至滿足設(shè)計要求,這種設(shè)計方法不僅消耗大量的時間與精力,而且最終方案也是一種可行方案,并不是最佳方案。 機械優(yōu)化設(shè)計就是把機械設(shè)計與數(shù)學規(guī)劃理論與方法相結(jié)合,借助電子計算機,尋求最優(yōu)設(shè)計方案和最佳設(shè)計參數(shù)。優(yōu)化設(shè)計是設(shè)計方法上的一大進步,在工程設(shè)計中采用優(yōu)化設(shè)計方法,可以提高產(chǎn)品的設(shè)計質(zhì)量,減輕設(shè)備自重,降低材料消耗與制造成本?,F(xiàn)代計算機技術(shù)的快速發(fā)展,促進了數(shù)值計算尋優(yōu)方法的發(fā)展和推廣應用,設(shè)計者在建立了優(yōu)
8、化設(shè)計的數(shù)學模型基礎(chǔ)上,可通過各種語言編制優(yōu)化方法程序,用計算機進行迭代計算求解。1.1 本課題的現(xiàn)狀與其研究意義從70 年代起, 優(yōu)化方法開始應用于工程設(shè)計,各個專業(yè)的優(yōu)化設(shè)計研究工作有了不同程度的發(fā)展,出現(xiàn)了許多與各專業(yè)相聯(lián)系的工程優(yōu)化設(shè)計軟件。在機械行業(yè)中, 有許多用于工程設(shè)計的優(yōu)化軟件, 目前最常見的有華中科技大學的優(yōu)化方法程序庫OPB-2和優(yōu)化方法程序庫OPB-1等。這類優(yōu)化軟件著重于優(yōu)化方法的研究和實現(xiàn), 不僅提供了一批可高效可靠地處理連續(xù)設(shè)計變量優(yōu)化問題的方法與程序,而且提供了一批可處理混合離散設(shè)計變量優(yōu)化問題的方法與程序, 其中優(yōu)化方法程序庫OPB-2包含了許多現(xiàn)代設(shè)計方法,
9、如人工智能等方法。另外還有一些與專業(yè)聯(lián)系緊密的優(yōu)化設(shè)計軟件, 如減速器的優(yōu)化設(shè)計軟件等, 主要是各應用單位自行研制, 有很強的針對性。這些應用軟件豐富多樣, 大大推動了優(yōu)化方法在機械工程結(jié)構(gòu)設(shè)計中的應用。在我國, 優(yōu)化設(shè)計的推廣和應用也遇到很多問題, 主要表現(xiàn)在目前的優(yōu)化設(shè)計應用軟件都存在一定的局限性。例如, 機械優(yōu)化設(shè)計軟件應把各種機械優(yōu)化設(shè)計模型、各種優(yōu)化方法與一些其他輔助功能集成為一個有機的整體, 以便用戶使用。但現(xiàn)有許多通用的優(yōu)化設(shè)計應用軟件和專業(yè)聯(lián)系并不是十分緊密, 可視性、可操作性不是很好。當用戶進行實際工程結(jié)構(gòu)優(yōu)化設(shè)計時, 不僅必須創(chuàng)建自己復雜的數(shù)學模型, 而且要編制一些程序,
10、然后調(diào)用軟件中的某一優(yōu)化子程序。這就要求用戶除了必須熟悉編程環(huán)境外, 還要對程序庫本身有一定的了解, 這使設(shè)計人員的工作量加大, 專業(yè)性加強, 阻礙了優(yōu)化設(shè)計的推廣和應用。有些專用的優(yōu)化軟件雖然與專業(yè)設(shè)計聯(lián)系十分緊密, 但優(yōu)化模型的針對性太強, 優(yōu)化設(shè)計模型與優(yōu)化方法都比較單一。同時, 現(xiàn)有的優(yōu)化軟件考慮軟件的擴展性較少, 使用很不方便, 甚至無法求解。面對千差萬別的工程設(shè)計問題, 要求優(yōu)化模型與優(yōu)化方法具有多樣性。國外的優(yōu)化軟件目前來說較成熟和應用較廣的為MATLAB的優(yōu)化工具箱。MATLAB(MATrix LABoratory)是功能十分強大的工程計算與數(shù)值分析軟件。80年代中期,Math
11、works公司將MATLAB投向市場。90年代又逐步拓展其數(shù)值計算、符號解析運算、文字處理、圖形功能等等,并采用面向?qū)ο蟮某呒壵Z言作為用戶界面,使MATLAB成為一個多領(lǐng)域、多學科、多功能的優(yōu)秀科技應用軟件,占據(jù)了數(shù)值型軟件市場的主導地位。 利用MATLAB的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標規(guī)劃問題。運用此工具箱進行優(yōu)化求解時,要先對優(yōu)化問題進行分析,建立優(yōu)化數(shù)學模型,定義目標函數(shù),對于約束優(yōu)化問題要同時定義出其約束條件,列出約束函數(shù)。然后利用文件編輯器編寫一個能返回函數(shù)值的m文件,即把函數(shù)表達式寫入MATLAB系統(tǒng)中,再在命令窗口調(diào)用優(yōu)化程序,就能得到優(yōu)化解。 不論是國研制
12、的優(yōu)化方法程序庫OPB-1、優(yōu)化方法程序庫OPB-2、具有很強專業(yè)性的優(yōu)化設(shè)計軟件,還是國外常用的matlab的優(yōu)化工具箱,都沒有提供圖形用戶界面,使用起來非常不方便,而且對于一般的院校來說,為了教學而去購買那些軟件是很不現(xiàn)實的,基于此,開發(fā)一種用于教學的可視化優(yōu)化設(shè)計軟件包是很有意義的。12 本課題的主要工作利用Matlab軟件開發(fā)和編寫約束優(yōu)化方法軟件包,包括間接解法中的點、外點和混合懲罰函數(shù)法,并提供用戶可視化界面。主要做了以下工作:(1) 編寫點、外點和混合懲罰函數(shù)法源程序;(2) 制作用戶圖形界面(GUI),并使其有以下功能特點: 該軟件易于使用,操作簡單,界面友好,不需要用戶具備編
13、程能力; 為用戶提供輸入數(shù)學模型、選擇算法、確定初始操作參數(shù)、顯示運行結(jié)果等一系列服務; 通過良好的可視化界面,可以較直觀地了解尋優(yōu)求解的過程。(3) 軟件具有一定的錯誤檢測功能;(4) 優(yōu)化計算結(jié)果可以達到一定的精度。2 優(yōu)化算法原理“最優(yōu)化設(shè)計”是在現(xiàn)代計算機廣泛應用的基礎(chǔ)上發(fā)展起來的一項新技術(shù),是根據(jù)最優(yōu)化原理和方法綜合各方而的因素,以人機配合方式或“自動探索”方式,在計算機上進行的半自動或自動設(shè)計,以選出在現(xiàn)有工程條件下的最佳設(shè)計方案的一種現(xiàn)代設(shè)計方法。其設(shè)計原則是最優(yōu)設(shè)計;設(shè)計手段是電子計算機與計算程序;設(shè)計方法是采用最優(yōu)化數(shù)學方法。2.1 最優(yōu)化設(shè)計的數(shù)學模型選取設(shè)計變量、列出目標
14、函數(shù)、給定約束條件后便可構(gòu)造最優(yōu)化設(shè)計的數(shù)學模型。任何一個最優(yōu)化問題均可歸結(jié)為如下的描述,即:在滿足給定的約束條件(決定n維空間En中的可行域)下,選取適當?shù)脑O(shè)計變量x,使其目標函數(shù)f(x)達到最憂值。其數(shù)學表達式(數(shù)學模型)為設(shè)計變量 =T,XEn在滿足約束條件 v=1,2,p u=1,2,m的條件下,求目標函數(shù)f(x)的最優(yōu)值。目標函數(shù)的最優(yōu)值一般可用最小值(或最大值)的形式來體現(xiàn),因此,最優(yōu)化設(shè)計的數(shù)學模型可簡化表示為mins.t.(subject to) v=1,2,p u=1,2,m建立數(shù)學模型是最優(yōu)化過程中非常重要的一步,數(shù)學模型直接影響設(shè)計效果。對于復雜的問題,建立數(shù)學模型往往會
15、遇到很多困難,有時甚至比求解更為復雜。這時要抓住關(guān)鍵因素,適當忽略不重要的成分,使問題合理簡化,以易于列出數(shù)學模型。另外,對于復雜的最優(yōu)化問題,可建立不同的數(shù)學模型。這樣,在求最優(yōu)解時的易難程度也就不一樣。有時,在建立一個數(shù)學模型后由于不能求得最優(yōu)解而必須改變數(shù)學模型的型式。由此可見,在最優(yōu)化設(shè)計工作中開展對數(shù)學模型的理論研究,十分重要。22約束優(yōu)化算法優(yōu)化問題按有無約束可分為無約束優(yōu)化問題和約束優(yōu)化問題。無約束優(yōu)化問題指的是對設(shè)計變量的取值圍不加任何限制,無約束優(yōu)化問題的一般形式為:求n維設(shè)計變量 =T使目標函數(shù)為 min x對X沒有任何限制。在實際工程中,大部分問題的變量取值都有一定的限制
16、,也就是屬于有約束條件的尋優(yōu)問題。與無約束問題不同,約束問題目標函數(shù)的最小值是滿足約束條件下的最小值,即是由約束條件所限定的可行域的最小值。如圖2-1(a)所示,而不一定是目標函數(shù)的自然最小值。另外,只要由約束條件所決定的可行域是一個凸集,目標函數(shù)是凸函數(shù),其約束最優(yōu)解就是全域最優(yōu)解。否則,將由于所選擇的初始點的不同,而探索到不同的局部最優(yōu)解上,如圖2-1 (b)所示。所以在這種情況下,探索結(jié)果經(jīng)常與初始點的選擇有關(guān)。為了能得到全域最優(yōu)解,在探索過程中最好能改變初始點,有時甚至要改換幾次。 (a) (b)圖2-1 約束最優(yōu)解的解域?qū)ψ顑?yōu)解的影響(a)行域為凸集 (b)可行域為非凸集約束最優(yōu)化問
17、題有解的條件為:(1)目標函數(shù)和約束函數(shù)為連續(xù)、可微函數(shù),且存在一個有界的可行域;(2)可行域應是一個非空集,即存在滿足約束條件的點列:(k=1,2,)。機械優(yōu)化設(shè)計的問題,大多數(shù)屬于約束優(yōu)化設(shè)計問題,起數(shù)學模型為mins.t.(subject to) v=1,2,p u=1,2,m約束優(yōu)化問題的約束條件一般有等式約束和不等式約束,根據(jù)求解方式的不同,可分為直接解法和間接解法等。221 懲罰函數(shù)點法懲罰函數(shù)點法是求解不等式約束最優(yōu)化問題的一種十分有效的方法,但不能處理等式約束。其特點是將構(gòu)造的新的無約束目標函數(shù)懲罰函數(shù)定義于可行域,并在可行域求懲罰函數(shù)的極值點,即求解無約束問題時的探索點總是保
18、持在可行域部。2211 懲罰函數(shù)點法原理對于目標函數(shù)受約束于的最優(yōu)化問題,利用點法求解時懲罰函數(shù)的一般表達式為=或=而對于受約束于的最優(yōu)化問題,其懲罰函數(shù)的一般表達式為=或=式中 懲罰因子,是遞減的正數(shù)序列。即>>>>>>>0,。通常取10,01,001,0001,。 上述懲罰函數(shù)表達式的右邊的第二項,稱為懲罰項,有時還稱為障礙項。只要設(shè)計點x在探索過程中始終保持為可行點,則懲罰項必為正值,且當設(shè)計點又由可行域部遠離約束邊界處移向邊界()時,則懲罰項的值就要急劇增大并趨向無窮大,于是懲罰函數(shù)亦隨之急劇增大直至無窮大。這時對設(shè)計變量起懲罰作用,使其在迭代
19、過程中始終不會觸與約束邊界。因此,第二項使約束邊界成為探索點的一個不能跳出可行域之外的障礙,所以又稱為障礙項或障礙函數(shù),也有稱圍墻函數(shù)的。由懲罰函數(shù)的表達式可知,對懲罰函數(shù)求無約束極值時,其結(jié)果將隨給定的懲罰因子而異。為了取得約束面上的最優(yōu)解,在迭代過程中就要逐漸減小懲罰因子的值,直至為零,這樣才能迫使的極值點X*()收斂到原函數(shù)的約束最優(yōu)點X*。可以把每次迭代所求得的的無約束極值的最優(yōu)解X*()看作是以為參數(shù)的一條軌跡,當取>>>>>>>0且時,點列X*()就沿著這條軌跡趨于的約束最優(yōu)點。因此,懲罰因子又稱為懲罰參數(shù)。點法是隨著懲罰參數(shù)的遞減序列,使
20、懲罰函數(shù)的無約束極值點X*()從可行域的部向原目標函數(shù)的約束最優(yōu)點逼近,直到達到最優(yōu)點。2212 懲罰函數(shù)點法的迭代步驟:1) 取初始懲罰因子0(例如取1),允許誤差c0;2) 在可行域選取初始點,令kl;3) 從點出發(fā)用無約束最優(yōu)化方法求解:的極值點X*(); 4) 檢驗迭代終止準則:如果滿足和則停止迭代計算,并以X*()為原目標函數(shù)的約束最憂解,否則轉(zhuǎn)入下一步;5) 取C,X*(),kk+1,轉(zhuǎn)向步驟3)。遞減系數(shù)C01一05,常取01,亦可取002。點法的計算程序框圖如圖2-2所示:圖2-2 點法程序框圖2213 應注意的問題:1) 初始點的選擇因為點法將懲罰函數(shù)定義于可行域,故要求嚴格
21、滿足全部約束條件,且應避免位于邊界上,即應使。在機械最優(yōu)化設(shè)計中,只要不顧與函數(shù)值的大小,這種點還是容易取得的。但當約束條件多而復雜時,要確定一個初始可行點也并不十分容易。為此可先對設(shè)計問題估計一個初始點,這一點可能已滿足s個不等式約束條件,而剩下的(s-1)個約束條件未滿足,即先求 然后將作為目標函數(shù),求使受約束于 (u=1,2,s) (u=s+1,s+2,m)由此構(gòu)造懲罰函數(shù)并利用程序自身的懲罰函數(shù)法求它的極值點。在計算中一旦取得即可以停機以節(jié)省時間,這樣得到的點作為初始點至少比原初始點要多滿足一個約束條件。如此反復進行下去,直到所有約束條件均滿足為止。求初始可行點的另一種常用方法,可按下
22、述迭代計算步驟進行:I) 任取一點,(例如?。頺=0;II) 定出下標集與: III) 檢查是否為空集,若是則停止迭代,并取塞為初始點,否則進行下一步;IV) 以為初始點,解問題受約束于令所得的這個問題的最優(yōu)解為,轉(zhuǎn)下一步;V) 令 (C可取為01一05,常取01亦可取002),令kk+1,轉(zhuǎn)向步驟II)。 還可以采用隨機選擇初始點的方法來尋找可行的初始點。2) 初始懲罰參數(shù)的選擇的選擇對SUMT法的計算效率影響很大,在SUMT法中是個比較重要的環(huán)節(jié),選擇時需有一定的技巧和經(jīng)驗。若值選得太小,則在新目標函數(shù)即懲罰函數(shù)中懲罰項的作用就會很小,這時求的無約束極值,猶如求原目標函數(shù)本身的無約束極
23、值,而這個極值點又不大可能接近的約束極值點,且有跑出可行域的危險。相反,若值取得太大,則開始幾次構(gòu)造的懲罰函數(shù)的無約束極值點就會離約束邊界很遠,將使計算效率降低。可取l一50,但多數(shù)情況是取=1。通常,當初始點是一個嚴格的點時,則應使懲罰項在新目標函數(shù)中所起的作用與原目標函數(shù)的作用相當,于是得倘若約束區(qū)域是非凸的且初始點亦不靠近約束邊界,則的取值可更小些,約為上式算得值的0105倍。當初姑點是一個接近邊界的點時,按上式所求得的就會過小。這時應當加大值。但如果值又取得太大,則又會發(fā)生上述毛病。所以在求解時,應對做幾次試算,以取得最合適值。222 DFP變尺度法懲罰函數(shù)點法步驟3)中用到的無約束優(yōu)
24、化算法為DFP變尺度法。變尺度法是無約束最優(yōu)化方法在最近二十多年來發(fā)展中最有影響的研究成果之一,它被公認為求解無約束極值問題最有效的算法之一,這種方法是在牛頓法的基礎(chǔ)上發(fā)展起來的。2221 DFP變尺度法的原理牛頓法以與修正牛頓法雖然收斂很快,但是計算較繁,需要計算二階偏導數(shù)矩陣(Hessian矩陣)的逆矩陣,即,才能求得探索方向即牛頓方向:-如果能設(shè)法構(gòu)造出一個對稱正定矩陣來代替,并在迭代過程中使逐漸逼近,那末就簡化了牛頓法的計算,且保持丁牛頓法收斂快的優(yōu)點,這就是變尺度法的基本思想。由于這一類方法的迭代形式與牛頓法類似。 變尺度法的法代公式為式中:步長,可由式求得;探索方向nxn階對稱正定
25、矩陣。因為它是用來代替的,而且從一次迭代到另一次迭代是變化的,故稱為變尺度矩陣。其遞推形式為式中: E校正矩陣,它應只依賴于本次迭代的,和相應的梯度,向量。在迭代過程中應逐漸地逼近。如果能利用變尺度條件構(gòu)造出一個矩陣來代替,再如果 能用來表示,而其中校正矩陣又可用一個統(tǒng)一的公式表示時,則只要知道(1)便可求出(2),并依次求出(3),(4),或者若已知,則可利用上式求出(k+1),(k+2),。計算時可取(0)I,即第l步探索是用負梯度方向。WCDavido提出并經(jīng)過RF1etcher和MJDPowell修改的求校正矩陣的公式即所謂DFP公式為因為n x n階對稱正定矩陣,故上式可寫為式中 利
26、用上式求出校正矩陣后,便可按式求出下一輪迭代的(k+1),。求出(k+1)后,便可按式的方法決定新的探索方向:可以證明,這樣產(chǎn)生的方向也是共扼方向,而且對于非二次函數(shù)來說,它比用其它方法產(chǎn)生的共輛方向共扼性更好。DFP變尺度法在函數(shù)的梯度向量容易求出的情況下,是非常有效的。對于多維(n100)問題,由于收斂快、效果亦佳,被認為是無約束極值問題最好的優(yōu)化方法之一。但是計算的程序較復雜,且需要較大的存貯量,特別是在有舍入誤差時,也存在數(shù)值穩(wěn)定性不夠理想的情況。2222 DFP變尺度法的計算步驟1) 選定初始點并給定計算精度,維數(shù)n;2) 置k0,(0)I(單位矩陣),計算,這時探索方向為:=- 3
27、) 進行一維探索求,使4) 計算,如果,則即為極小點,停止迭代,否則轉(zhuǎn)下一步;5)檢查迭代次數(shù),若k=n(問題的維數(shù)),則=,并轉(zhuǎn)向步驟2),若k<n,則進行下一步;6) 構(gòu)造新的探索方向為此應計算然后令 k=k+1,轉(zhuǎn)向步驟3)。變尺度法的計算程序框圖如圖下所示:圖2-3 變尺度法程序框圖223 懲罰函數(shù)外點法2231 懲罰函數(shù)外點法的原理與懲罰函數(shù)點法將懲罰函數(shù)定義于可行域且求解無約束問題的探索點總是保持在可行域的特點不同,外點法的特點是將懲罰函數(shù)定義于約束可行域之外,且求解無約束問題的探索點是從可行域外部逼近原日標函數(shù)的約束最優(yōu)解的。對于目標函數(shù)受約束于的最優(yōu)化設(shè)計問題利用外點法求
28、解時,作為無約束新目標函數(shù)的懲罰函數(shù),其一般表達式為式中右邊第二項懲罰項;構(gòu)造懲罰項函數(shù)的指數(shù),其值將影響函數(shù)等值線在約束面處的性質(zhì),一般取2;懲罰因子,是大于零的一個遞增數(shù)列,即應滿足: 0<<<<<<<(當時)在懲罰項中:(當時)由此可見,當探索點在可行城時,懲罰項為零;若不在可行域,則不為零,且愈大,則受到的“懲罰”亦愈大。因此,要使極小,必須迫使懲罰項等于零,亦即要求滿足約束條件,即迫使。這就保證了在可行域與是等價的。當約束條件為,則函數(shù)的一般表達式為:一般=2。同樣有: 0<<<<<<<(當時)在懲罰
29、項中:(當時)當約束條件包括 (v1,2,p)的等式約束時,則在式中的右邊尚需加進第三項懲罰項。對懲罰函數(shù)求無約束極值,其結(jié)果將隨給定的懲罰因子的值而異。可以將懲罰函數(shù)無約束極值問題的最優(yōu)解看作是以為參數(shù)的一條軌跡,當取0<<<<<<<時點列就沿著這條軌跡趨于原目標函數(shù)的約束最優(yōu)解。因此,外點法是隨著懲罰因子(參數(shù))的遞增序列,使懲罰函數(shù)的無約束極值點從可行域外部向原目標函數(shù)的約束最優(yōu)點逼近,直至達到最優(yōu)點。2232 懲罰函數(shù)外點法的迭代步驟:1) 選擇參數(shù):初始懲罰因子0(例如取1);允許誤差 (均應大于零);遞增系數(shù)C(C,C5一10,可取8);初
30、始點 (可在可行域外部或部任意選擇,不論怎樣選擇,的無約束極值點均在可行域外);懲罰因子的控制量R,當R時即可判別是否達到收斂精度要求。令計算次數(shù)k1。2) 從點出發(fā)用無約束最優(yōu)化方法求解:得其中3) 計算點違反約束的最大量:4) 檢驗迭代終止準則:如果滿足則可以認為點已接近約束邊界,停止迭代。否則轉(zhuǎn)入下一步。5) 檢驗R?若R,再用靠近約束面附近的條件極值點的移動距離作為迭代終止準則來檢驗,即當時,則停止迭代;若或上式不成立,則取=C;=;k=k+1,并轉(zhuǎn)向步驟2)。外點法的計算程序框圖如下所示: 圖2-4 外點法程序框圖224 懲罰函數(shù)混合法2241 懲罰函數(shù)混合法的原理鑒于點法和外點法備
31、有優(yōu)缺點,因此在懲罰函數(shù)法中又出現(xiàn)了所謂混合法。它是將點法與外點法的懲罰函數(shù)形式結(jié)合在一起,用來求解既有不等式約束又有等式約束條件的最優(yōu)化問題的。求解原目標函數(shù)的極小值:mins.t.(subject to) (v=1,2,p) (u=1,2,m)根據(jù)混合法的基本思想,作為新目標函數(shù)的懲罰函數(shù),其懲罰項由兩部分組成,一部分反映不等式約束的影響并以點法的構(gòu)造形式列出;另一部分反映等式約束的影響并以外點法的構(gòu)造形式列出,即混合法懲罰函數(shù)的一股表達式為即所構(gòu)造的混合法的懲罰函數(shù),同時含有障礙函數(shù)和衰減函數(shù)。根據(jù)Fiacco等建議的關(guān)系式將懲罰因子統(tǒng)一用表示,則混合法的懲罰函數(shù)又可表達為或當受約束于時
32、,則混合法的懲罰函數(shù)的表達式為或混合法與點法與外點法一樣,屆于序列無約束極小化(SUMT)方法中的一種。利用上述方法構(gòu)造混合法的懲罰函數(shù)時,其求解具有點法的特點。這時,其初始點應為點;而值可參照點法選?。黄涞绦騽t與點法的相類似。2242 懲罰函數(shù)混合法的迭代步驟:1) 選擇初始懲罰因子的值,在許多SUMT程序中,為了簡化計算規(guī)定允許誤差o。2) 在可行域選擇一個嚴格滿足所有不等式約束的初始點。3) 求解,得。 4) 撿驗迭代終止準則,如果滿足要求,則停止迭代,并以為原目標函數(shù)的約束最優(yōu)解,否則轉(zhuǎn)入下一步。5) 取=C,kk+1,轉(zhuǎn)向步驟3)。常取C01?;旌戏ǖ某绦蚩驁D與點法的框圖相類似,
33、此處略。225 三種算法的比較算法特點適用場合懲罰函數(shù)點法將約束優(yōu)化問題轉(zhuǎn)化為一系列無約束優(yōu)化問題,初始點應取為嚴格滿足各個不等式約束條件的點,懲罰因子應取為單調(diào)遞減的正數(shù)序列,初試罰因子的選擇恰當與否對收斂速度和求解成敗有較大影響。用于求解只含有不等式約束的中等維度的優(yōu)化問題。懲罰函數(shù)外點法將約束優(yōu)化問題轉(zhuǎn)化為一系列無約束優(yōu)化問題,初始點可任意選,罰因子應取為單調(diào)遞增數(shù)列,初試罰因子與遞增系數(shù)應取適當?shù)慕檀笾?。用于求解含有不等式約束和等式約束的中等維度的優(yōu)化問題。懲罰函數(shù)混合法將約束優(yōu)化問題轉(zhuǎn)化為一系列無約束優(yōu)化問題,初試點的選取與點法一樣。用于求解含有不等式約束和等式約束的中等維度的優(yōu)化問
34、題。3.軟件開發(fā)與其使用MATLAB(MATrix LABoratory)是功能十分強大的工程計算與數(shù)值分析軟件。80年代中期,Mathworks公司將MATLAB投向市場。90年代又逐步拓展其數(shù)值計算、符號解析運算、文字處理、圖形功能等等,并采用面向?qū)ο蟮某呒壵Z言作為用戶界面,使MATLAB成為一個多領(lǐng)域、多學科、多功能的優(yōu)秀科技應用軟件,占據(jù)了數(shù)值型軟件市場的主導地位。MATLAB具有強大的圖形用戶界面(Graphical User Interfaces ,GUI)開發(fā)功能。圖形用戶界面是由窗口、光標、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個用戶界面。用戶通過一定的方法(如
35、鼠標或鍵盤)選擇、激活這些圖形對象,使計算機產(chǎn)生某種動作或變化,比如實現(xiàn)計算、繪圖等。如果想向別人提供應用程序,想進行某種技術(shù)、方法的演示,想制作一個供反復使用且操作簡單的專用工具,那么圖形用戶界面也許是最好的選擇之一。31 軟件開發(fā)過程1) 前期準備:查找和收集一些與本課題相關(guān)的文章,大致了解課題目前的現(xiàn)狀;2) 根據(jù)下達的任務書,學習并掌握優(yōu)化算法和matlab方面的知識;3) 編制罰函數(shù)點、外點、混合和DFP算法的程序;4) 制作用戶圖形界面(GUI)并編制回調(diào)函數(shù);5) 調(diào)試、完善軟件系統(tǒng)。最終的軟件界面如圖3-1所示:圖3-132 軟件的使用1) 打開Matlab軟件,在comman
36、d window中輸入youhua,按回車,即可啟動優(yōu)化軟件;2) 對于一個優(yōu)化問題的數(shù)學模型,首先選擇優(yōu)化算法,罰函數(shù)點法不能用于求解含有等式約束的優(yōu)化問題;3) 參數(shù)的輸入:目標函數(shù)、約束條件、變量的上下界值、收斂精度、懲罰因子等;其中,約束條件的輸入需要事先在參數(shù)輸入框中的和中分別輸入不等式和等式約束的個數(shù),然后鼠標左鍵單擊確定,便自動生成約束條件的輸入框,在其中輸入約束條件即可;特別注意:約束條件的輸入方式為標準格式,如x1+x2>0應寫為-x1-x2<0,而當目標函數(shù)多個變量時(如x1,x2),約束條件為少變量形式時(如x1>0),應轉(zhuǎn)變?yōu)闃藴矢袷剑?x1+0*x2
37、<0.4) 待所以參數(shù)錄入完成后,單擊按鈕,軟件自動尋優(yōu),計算結(jié)束后,尋優(yōu)結(jié)果顯示在結(jié)果輸出框中;5) 對于二維數(shù)學模型,可以以圖象的形式顯示尋優(yōu)結(jié)果,在計算完畢后,單擊按鈕,則可以在左邊的繪圖框中顯示目標函數(shù)的等值線、約束條件圖形線和每次迭代尋優(yōu)所得的點。圖形縮放條的作用是縮放圖形的大小,以利于更好的理解迭代尋優(yōu)的過程;6) 如果要進行下一次的尋優(yōu)計算,則可單擊 按鈕,把輸入?yún)?shù)、輸出參數(shù)以與圖形全部清除。4 優(yōu)化算例與分析4.1 優(yōu)化算例算例一:s. t. 理論最優(yōu)解:1 1T1 分別用本課題開發(fā)的軟件和matlab優(yōu)化工具箱中優(yōu)化函數(shù)求解,結(jié)果如表4-1所示:算法最優(yōu)點最優(yōu)值迭代次
38、數(shù)罰函數(shù)點法1 1112罰函數(shù)外點法1 10.999998罰函數(shù)混合法0.99999 1111matlab優(yōu)化工具箱中優(yōu)化函數(shù)fmincon1 11-表4-1算例二:s. t. 理論最優(yōu)解:3.512 0.217 3.552T961.715分別用本課題開發(fā)的軟件和matlab優(yōu)化工具箱中優(yōu)化函數(shù)求解,結(jié)果如表4-2所示: 算法最優(yōu)點最優(yōu)值迭代次數(shù)罰函數(shù)點法-罰函數(shù)外點法3.5193 0.21847 3.5607961.54051罰函數(shù)混合法3.5121 0.21699 3.5522961.715210matlab優(yōu)化工具箱中優(yōu)化函數(shù)fmincon1.38452.6553 1.1071977.5
39、471-表4-2 算例二中,用matlab優(yōu)化工具箱中優(yōu)化函數(shù)fmincon求解時,命令窗口中出現(xiàn)如下提示:Maximum number of function evaluations exceeded;increase OPTIONS.MaxFunEvals.這說明優(yōu)化工具箱的使用是比較煩鎖的。4.2 結(jié)果分析從以上兩個算例的結(jié)果可以看出:(1) 本課題開發(fā)的軟件起搜索精度是高的;(2) 相對優(yōu)化工具箱的優(yōu)化函數(shù)而言,其收斂速度不夠快,還有待改進,但優(yōu)化工具箱中的優(yōu)化函數(shù)是matlab自帶的函數(shù),其優(yōu)先級最高;(3) 在人機交互方面,本軟件有著絕對的優(yōu)勢,圖形用戶界面友好、易懂,而優(yōu)化工具箱中的優(yōu)化函數(shù)使用起來頗費周章。5 結(jié)論 本課題研制開發(fā)了一個可視化的約束優(yōu)化設(shè)計軟件,適用于教學過程中幫助學生更好的理解優(yōu)化算法的尋優(yōu)過程,主要完成了以下工作:(1)完成了懲罰函數(shù)點、外點和混合法程序的編制;(2)算法具有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 客運火車站旅客服務規(guī)范考核試卷
- 供應鏈協(xié)同案例解析考核試卷
- 低溫倉儲庫存管理與控制考核試卷
- 家用縫紉機維修實操考核試卷
- 土地利用規(guī)劃中的社區(qū)開放空間設(shè)計考核試卷
- 創(chuàng)業(yè)投資風險防范體系建設(shè)與實施路徑考核試卷
- 政府融資合同范本模板
- 自用高爾夫轉(zhuǎn)讓合同范本
- 工地叉車租憑合同范本
- 電氣質(zhì)量安全培訓課件
- 2024農(nóng)村宅基地轉(zhuǎn)讓合同范本
- 各類學校校園安全應急預案匯編-(附應急全套流程圖)
- 胃管非計劃拔管原因分析
- 微信欠條合同范本
- 博士高校面試答辯模板
- JT-T-1211.1-2018公路工程水泥混凝土用快速修補材料第1部分:水泥基修補材料
- 城區(qū)燃氣管道等老化更新改造項目(給水管網(wǎng)部分)施工圖設(shè)計說明
- 2024年邵陽工業(yè)職業(yè)技術(shù)學院單招職業(yè)技能測試題庫附答案
- 2024管廊電纜隧道電纜溝自動滅火裝置選型
- 保安列隊培訓方案
- 2024年山東淄博市城市資產(chǎn)運營有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論