基于MATLAB約束優(yōu)化方法教學(xué)軟件包的畢業(yè)設(shè)計(jì)_第1頁(yè)
基于MATLAB約束優(yōu)化方法教學(xué)軟件包的畢業(yè)設(shè)計(jì)_第2頁(yè)
基于MATLAB約束優(yōu)化方法教學(xué)軟件包的畢業(yè)設(shè)計(jì)_第3頁(yè)
基于MATLAB約束優(yōu)化方法教學(xué)軟件包的畢業(yè)設(shè)計(jì)_第4頁(yè)
基于MATLAB約束優(yōu)化方法教學(xué)軟件包的畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、瓷學(xué)院畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告中文題目:關(guān)于MATLAB約束優(yōu)化算法軟件包的設(shè)計(jì) 英文題目:DESIGN OF RESTRAINT OPTIMIZATION SOFTWAREFOR INSTRUCTION BASED ON MATLAB院 系:機(jī)械電子工程學(xué)院 專 業(yè):機(jī)械設(shè)計(jì)制造與其自動(dòng)化37 / 37摘 要優(yōu)化設(shè)計(jì)作為現(xiàn)代設(shè)計(jì)方法之一,在各個(gè)領(lǐng)域起著越來(lái)越重要的作用。機(jī)械優(yōu)化設(shè)計(jì)是機(jī)械設(shè)計(jì)類(lèi)專業(yè)的一門(mén)必修課程,其中優(yōu)化設(shè)計(jì)方法理論性較強(qiáng),學(xué)生不易理解,從而使得學(xué)生在學(xué)習(xí)過(guò)程中倍感吃力。本課題研制了一個(gè)基于MATLAB的約束優(yōu)化算法軟件包,該軟件包有著友好的圖形用戶界面(GUI)和求解的直觀

2、性。圖形用戶界面由參數(shù)輸入框、結(jié)果輸出框和結(jié)果圖形化三部分組成。運(yùn)用該軟件可以幫助學(xué)生更好地理解優(yōu)化算法的尋優(yōu)過(guò)程,使抽象的問(wèn)題具體化。本文介紹了約束優(yōu)化算法軟件包的開(kāi)發(fā)過(guò)程和其使用方法,對(duì)計(jì)算機(jī)輔助教學(xué)有一定的幫助。關(guān)鍵詞:優(yōu)化設(shè)計(jì) 軟件包 圖形用戶界面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è)計(jì)的數(shù)學(xué)模型822約

6、束優(yōu)化算法9221 懲罰函數(shù)點(diǎn)法102212 懲罰函數(shù)點(diǎn)法的迭代步驟:122213 應(yīng)注意的問(wèn)題:13222 DFP變尺度法162221 DFP變尺度法的原理162222 DFP變尺度法的計(jì)算步驟18223 懲罰函數(shù)外點(diǎn)法192231 懲罰函數(shù)外點(diǎn)法的原理192232 懲罰函數(shù)外點(diǎn)法的迭代步驟:21224 懲罰函數(shù)混合法232241 懲罰函數(shù)混合法的原理232242 懲罰函數(shù)混合法的迭代步驟:25225 三種算法的比較253軟件開(kāi)發(fā)與其使用2731 軟件開(kāi)發(fā)過(guò)程2732 軟件的使用284.1 優(yōu)化算例304.2 結(jié)果分析315 結(jié)論33致34參考文獻(xiàn)351 緒論機(jī)械產(chǎn)品的傳統(tǒng)設(shè)計(jì)方法,是根據(jù)產(chǎn)

7、品的功能要求與使用條件,通過(guò)估算,類(lèi)比或?qū)嶒?yàn)確定設(shè)計(jì)方案,然后進(jìn)行強(qiáng)度、剛度、穩(wěn)定性和動(dòng)態(tài)特性等的分析驗(yàn)算,如果達(dá)不到要求,則修改有關(guān)參數(shù),再進(jìn)行驗(yàn)算,直至滿足設(shè)計(jì)要求,這種設(shè)計(jì)方法不僅消耗大量的時(shí)間與精力,而且最終方案也是一種可行方案,并不是最佳方案。    機(jī)械優(yōu)化設(shè)計(jì)就是把機(jī)械設(shè)計(jì)與數(shù)學(xué)規(guī)劃理論與方法相結(jié)合,借助電子計(jì)算機(jī),尋求最優(yōu)設(shè)計(jì)方案和最佳設(shè)計(jì)參數(shù)。優(yōu)化設(shè)計(jì)是設(shè)計(jì)方法上的一大進(jìn)步,在工程設(shè)計(jì)中采用優(yōu)化設(shè)計(jì)方法,可以提高產(chǎn)品的設(shè)計(jì)質(zhì)量,減輕設(shè)備自重,降低材料消耗與制造成本?,F(xiàn)代計(jì)算機(jī)技術(shù)的快速發(fā)展,促進(jìn)了數(shù)值計(jì)算尋優(yōu)方法的發(fā)展和推廣應(yīng)用,設(shè)計(jì)者在建立了優(yōu)

8、化設(shè)計(jì)的數(shù)學(xué)模型基礎(chǔ)上,可通過(guò)各種語(yǔ)言編制優(yōu)化方法程序,用計(jì)算機(jī)進(jìn)行迭代計(jì)算求解。1.1 本課題的現(xiàn)狀與其研究意義從70 年代起, 優(yōu)化方法開(kāi)始應(yīng)用于工程設(shè)計(jì),各個(gè)專業(yè)的優(yōu)化設(shè)計(jì)研究工作有了不同程度的發(fā)展,出現(xiàn)了許多與各專業(yè)相聯(lián)系的工程優(yōu)化設(shè)計(jì)軟件。在機(jī)械行業(yè)中, 有許多用于工程設(shè)計(jì)的優(yōu)化軟件, 目前最常見(jiàn)的有華中科技大學(xué)的優(yōu)化方法程序庫(kù)OPB-2和優(yōu)化方法程序庫(kù)OPB-1等。這類(lèi)優(yōu)化軟件著重于優(yōu)化方法的研究和實(shí)現(xiàn), 不僅提供了一批可高效可靠地處理連續(xù)設(shè)計(jì)變量?jī)?yōu)化問(wèn)題的方法與程序,而且提供了一批可處理混合離散設(shè)計(jì)變量?jī)?yōu)化問(wèn)題的方法與程序, 其中優(yōu)化方法程序庫(kù)OPB-2包含了許多現(xiàn)代設(shè)計(jì)方法,

9、如人工智能等方法。另外還有一些與專業(yè)聯(lián)系緊密的優(yōu)化設(shè)計(jì)軟件, 如減速器的優(yōu)化設(shè)計(jì)軟件等, 主要是各應(yīng)用單位自行研制, 有很強(qiáng)的針對(duì)性。這些應(yīng)用軟件豐富多樣, 大大推動(dòng)了優(yōu)化方法在機(jī)械工程結(jié)構(gòu)設(shè)計(jì)中的應(yīng)用。在我國(guó), 優(yōu)化設(shè)計(jì)的推廣和應(yīng)用也遇到很多問(wèn)題, 主要表現(xiàn)在目前的優(yōu)化設(shè)計(jì)應(yīng)用軟件都存在一定的局限性。例如, 機(jī)械優(yōu)化設(shè)計(jì)軟件應(yīng)把各種機(jī)械優(yōu)化設(shè)計(jì)模型、各種優(yōu)化方法與一些其他輔助功能集成為一個(gè)有機(jī)的整體, 以便用戶使用。但現(xiàn)有許多通用的優(yōu)化設(shè)計(jì)應(yīng)用軟件和專業(yè)聯(lián)系并不是十分緊密, 可視性、可操作性不是很好。當(dāng)用戶進(jìn)行實(shí)際工程結(jié)構(gòu)優(yōu)化設(shè)計(jì)時(shí), 不僅必須創(chuàng)建自己復(fù)雜的數(shù)學(xué)模型, 而且要編制一些程序,

10、然后調(diào)用軟件中的某一優(yōu)化子程序。這就要求用戶除了必須熟悉編程環(huán)境外, 還要對(duì)程序庫(kù)本身有一定的了解, 這使設(shè)計(jì)人員的工作量加大, 專業(yè)性加強(qiáng), 阻礙了優(yōu)化設(shè)計(jì)的推廣和應(yīng)用。有些專用的優(yōu)化軟件雖然與專業(yè)設(shè)計(jì)聯(lián)系十分緊密, 但優(yōu)化模型的針對(duì)性太強(qiáng), 優(yōu)化設(shè)計(jì)模型與優(yōu)化方法都比較單一。同時(shí), 現(xiàn)有的優(yōu)化軟件考慮軟件的擴(kuò)展性較少, 使用很不方便, 甚至無(wú)法求解。面對(duì)千差萬(wàn)別的工程設(shè)計(jì)問(wèn)題, 要求優(yōu)化模型與優(yōu)化方法具有多樣性。國(guó)外的優(yōu)化軟件目前來(lái)說(shuō)較成熟和應(yīng)用較廣的為MATLAB的優(yōu)化工具箱。MATLAB(MATrix LABoratory)是功能十分強(qiáng)大的工程計(jì)算與數(shù)值分析軟件。80年代中期,Math

11、works公司將MATLAB投向市場(chǎng)。90年代又逐步拓展其數(shù)值計(jì)算、符號(hào)解析運(yùn)算、文字處理、圖形功能等等,并采用面向?qū)ο蟮某呒?jí)語(yǔ)言作為用戶界面,使MATLAB成為一個(gè)多領(lǐng)域、多學(xué)科、多功能的優(yōu)秀科技應(yīng)用軟件,占據(jù)了數(shù)值型軟件市場(chǎng)的主導(dǎo)地位。 利用MATLAB的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標(biāo)規(guī)劃問(wèn)題。運(yùn)用此工具箱進(jìn)行優(yōu)化求解時(shí),要先對(duì)優(yōu)化問(wèn)題進(jìn)行分析,建立優(yōu)化數(shù)學(xué)模型,定義目標(biāo)函數(shù),對(duì)于約束優(yōu)化問(wèn)題要同時(shí)定義出其約束條件,列出約束函數(shù)。然后利用文件編輯器編寫(xiě)一個(gè)能返回函數(shù)值的m文件,即把函數(shù)表達(dá)式寫(xiě)入MATLAB系統(tǒng)中,再在命令窗口調(diào)用優(yōu)化程序,就能得到優(yōu)化解。 不論是國(guó)研制

12、的優(yōu)化方法程序庫(kù)OPB-1、優(yōu)化方法程序庫(kù)OPB-2、具有很強(qiáng)專業(yè)性的優(yōu)化設(shè)計(jì)軟件,還是國(guó)外常用的matlab的優(yōu)化工具箱,都沒(méi)有提供圖形用戶界面,使用起來(lái)非常不方便,而且對(duì)于一般的院校來(lái)說(shuō),為了教學(xué)而去購(gòu)買(mǎi)那些軟件是很不現(xiàn)實(shí)的,基于此,開(kāi)發(fā)一種用于教學(xué)的可視化優(yōu)化設(shè)計(jì)軟件包是很有意義的。12 本課題的主要工作利用Matlab軟件開(kāi)發(fā)和編寫(xiě)約束優(yōu)化方法軟件包,包括間接解法中的點(diǎn)、外點(diǎn)和混合懲罰函數(shù)法,并提供用戶可視化界面。主要做了以下工作:(1) 編寫(xiě)點(diǎn)、外點(diǎn)和混合懲罰函數(shù)法源程序;(2) 制作用戶圖形界面(GUI),并使其有以下功能特點(diǎn): 該軟件易于使用,操作簡(jiǎn)單,界面友好,不需要用戶具備編

13、程能力; 為用戶提供輸入數(shù)學(xué)模型、選擇算法、確定初始操作參數(shù)、顯示運(yùn)行結(jié)果等一系列服務(wù); 通過(guò)良好的可視化界面,可以較直觀地了解尋優(yōu)求解的過(guò)程。(3) 軟件具有一定的錯(cuò)誤檢測(cè)功能;(4) 優(yōu)化計(jì)算結(jié)果可以達(dá)到一定的精度。2 優(yōu)化算法原理“最優(yōu)化設(shè)計(jì)”是在現(xiàn)代計(jì)算機(jī)廣泛應(yīng)用的基礎(chǔ)上發(fā)展起來(lái)的一項(xiàng)新技術(shù),是根據(jù)最優(yōu)化原理和方法綜合各方而的因素,以人機(jī)配合方式或“自動(dòng)探索”方式,在計(jì)算機(jī)上進(jìn)行的半自動(dòng)或自動(dòng)設(shè)計(jì),以選出在現(xiàn)有工程條件下的最佳設(shè)計(jì)方案的一種現(xiàn)代設(shè)計(jì)方法。其設(shè)計(jì)原則是最優(yōu)設(shè)計(jì);設(shè)計(jì)手段是電子計(jì)算機(jī)與計(jì)算程序;設(shè)計(jì)方法是采用最優(yōu)化數(shù)學(xué)方法。2.1 最優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型選取設(shè)計(jì)變量、列出目標(biāo)

14、函數(shù)、給定約束條件后便可構(gòu)造最優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型。任何一個(gè)最優(yōu)化問(wèn)題均可歸結(jié)為如下的描述,即:在滿足給定的約束條件(決定n維空間En中的可行域)下,選取適當(dāng)?shù)脑O(shè)計(jì)變量x,使其目標(biāo)函數(shù)f(x)達(dá)到最憂值。其數(shù)學(xué)表達(dá)式(數(shù)學(xué)模型)為設(shè)計(jì)變量 =T,XEn在滿足約束條件 v=1,2,p u=1,2,m的條件下,求目標(biāo)函數(shù)f(x)的最優(yōu)值。目標(biāo)函數(shù)的最優(yōu)值一般可用最小值(或最大值)的形式來(lái)體現(xiàn),因此,最優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型可簡(jiǎn)化表示為mins.t.(subject to) v=1,2,p u=1,2,m建立數(shù)學(xué)模型是最優(yōu)化過(guò)程中非常重要的一步,數(shù)學(xué)模型直接影響設(shè)計(jì)效果。對(duì)于復(fù)雜的問(wèn)題,建立數(shù)學(xué)模型往往會(huì)

15、遇到很多困難,有時(shí)甚至比求解更為復(fù)雜。這時(shí)要抓住關(guān)鍵因素,適當(dāng)忽略不重要的成分,使問(wèn)題合理簡(jiǎn)化,以易于列出數(shù)學(xué)模型。另外,對(duì)于復(fù)雜的最優(yōu)化問(wèn)題,可建立不同的數(shù)學(xué)模型。這樣,在求最優(yōu)解時(shí)的易難程度也就不一樣。有時(shí),在建立一個(gè)數(shù)學(xué)模型后由于不能求得最優(yōu)解而必須改變數(shù)學(xué)模型的型式。由此可見(jiàn),在最優(yōu)化設(shè)計(jì)工作中開(kāi)展對(duì)數(shù)學(xué)模型的理論研究,十分重要。22約束優(yōu)化算法優(yōu)化問(wèn)題按有無(wú)約束可分為無(wú)約束優(yōu)化問(wèn)題和約束優(yōu)化問(wèn)題。無(wú)約束優(yōu)化問(wèn)題指的是對(duì)設(shè)計(jì)變量的取值圍不加任何限制,無(wú)約束優(yōu)化問(wèn)題的一般形式為:求n維設(shè)計(jì)變量 =T使目標(biāo)函數(shù)為 min x對(duì)X沒(méi)有任何限制。在實(shí)際工程中,大部分問(wèn)題的變量取值都有一定的限制

16、,也就是屬于有約束條件的尋優(yōu)問(wèn)題。與無(wú)約束問(wèn)題不同,約束問(wèn)題目標(biāo)函數(shù)的最小值是滿足約束條件下的最小值,即是由約束條件所限定的可行域的最小值。如圖2-1(a)所示,而不一定是目標(biāo)函數(shù)的自然最小值。另外,只要由約束條件所決定的可行域是一個(gè)凸集,目標(biāo)函數(shù)是凸函數(shù),其約束最優(yōu)解就是全域最優(yōu)解。否則,將由于所選擇的初始點(diǎn)的不同,而探索到不同的局部最優(yōu)解上,如圖2-1 (b)所示。所以在這種情況下,探索結(jié)果經(jīng)常與初始點(diǎn)的選擇有關(guān)。為了能得到全域最優(yōu)解,在探索過(guò)程中最好能改變初始點(diǎn),有時(shí)甚至要改換幾次。 (a) (b)圖2-1 約束最優(yōu)解的解域?qū)ψ顑?yōu)解的影響(a)行域?yàn)橥辜?(b)可行域?yàn)榉峭辜s束最優(yōu)化問(wèn)

17、題有解的條件為:(1)目標(biāo)函數(shù)和約束函數(shù)為連續(xù)、可微函數(shù),且存在一個(gè)有界的可行域;(2)可行域應(yīng)是一個(gè)非空集,即存在滿足約束條件的點(diǎn)列:(k=1,2,)。機(jī)械優(yōu)化設(shè)計(jì)的問(wèn)題,大多數(shù)屬于約束優(yōu)化設(shè)計(jì)問(wèn)題,起數(shù)學(xué)模型為mins.t.(subject to) v=1,2,p u=1,2,m約束優(yōu)化問(wèn)題的約束條件一般有等式約束和不等式約束,根據(jù)求解方式的不同,可分為直接解法和間接解法等。221 懲罰函數(shù)點(diǎn)法懲罰函數(shù)點(diǎn)法是求解不等式約束最優(yōu)化問(wèn)題的一種十分有效的方法,但不能處理等式約束。其特點(diǎn)是將構(gòu)造的新的無(wú)約束目標(biāo)函數(shù)懲罰函數(shù)定義于可行域,并在可行域求懲罰函數(shù)的極值點(diǎn),即求解無(wú)約束問(wèn)題時(shí)的探索點(diǎn)總是保

18、持在可行域部。2211 懲罰函數(shù)點(diǎn)法原理對(duì)于目標(biāo)函數(shù)受約束于的最優(yōu)化問(wèn)題,利用點(diǎn)法求解時(shí)懲罰函數(shù)的一般表達(dá)式為=或=而對(duì)于受約束于的最優(yōu)化問(wèn)題,其懲罰函數(shù)的一般表達(dá)式為=或=式中 懲罰因子,是遞減的正數(shù)序列。即>>>>>>>0,。通常取10,01,001,0001,。 上述懲罰函數(shù)表達(dá)式的右邊的第二項(xiàng),稱為懲罰項(xiàng),有時(shí)還稱為障礙項(xiàng)。只要設(shè)計(jì)點(diǎn)x在探索過(guò)程中始終保持為可行點(diǎn),則懲罰項(xiàng)必為正值,且當(dāng)設(shè)計(jì)點(diǎn)又由可行域部遠(yuǎn)離約束邊界處移向邊界()時(shí),則懲罰項(xiàng)的值就要急劇增大并趨向無(wú)窮大,于是懲罰函數(shù)亦隨之急劇增大直至無(wú)窮大。這時(shí)對(duì)設(shè)計(jì)變量起懲罰作用,使其在迭代

19、過(guò)程中始終不會(huì)觸與約束邊界。因此,第二項(xiàng)使約束邊界成為探索點(diǎn)的一個(gè)不能跳出可行域之外的障礙,所以又稱為障礙項(xiàng)或障礙函數(shù),也有稱圍墻函數(shù)的。由懲罰函數(shù)的表達(dá)式可知,對(duì)懲罰函數(shù)求無(wú)約束極值時(shí),其結(jié)果將隨給定的懲罰因子而異。為了取得約束面上的最優(yōu)解,在迭代過(guò)程中就要逐漸減小懲罰因子的值,直至為零,這樣才能迫使的極值點(diǎn)X*()收斂到原函數(shù)的約束最優(yōu)點(diǎn)X*??梢园衙看蔚蟮玫牡臒o(wú)約束極值的最優(yōu)解X*()看作是以為參數(shù)的一條軌跡,當(dāng)取>>>>>>>0且時(shí),點(diǎn)列X*()就沿著這條軌跡趨于的約束最優(yōu)點(diǎn)。因此,懲罰因子又稱為懲罰參數(shù)。點(diǎn)法是隨著懲罰參數(shù)的遞減序列,使

20、懲罰函數(shù)的無(wú)約束極值點(diǎn)X*()從可行域的部向原目標(biāo)函數(shù)的約束最優(yōu)點(diǎn)逼近,直到達(dá)到最優(yōu)點(diǎn)。2212 懲罰函數(shù)點(diǎn)法的迭代步驟:1) 取初始懲罰因子0(例如取1),允許誤差c0;2) 在可行域選取初始點(diǎn),令kl;3) 從點(diǎn)出發(fā)用無(wú)約束最優(yōu)化方法求解:的極值點(diǎn)X*(); 4) 檢驗(yàn)迭代終止準(zhǔn)則:如果滿足和則停止迭代計(jì)算,并以X*()為原目標(biāo)函數(shù)的約束最憂解,否則轉(zhuǎn)入下一步;5) 取C,X*(),kk+1,轉(zhuǎn)向步驟3)。遞減系數(shù)C01一05,常取01,亦可取002。點(diǎn)法的計(jì)算程序框圖如圖2-2所示:圖2-2 點(diǎn)法程序框圖2213 應(yīng)注意的問(wèn)題:1) 初始點(diǎn)的選擇因?yàn)辄c(diǎn)法將懲罰函數(shù)定義于可行域,故要求嚴(yán)格

21、滿足全部約束條件,且應(yīng)避免位于邊界上,即應(yīng)使。在機(jī)械最優(yōu)化設(shè)計(jì)中,只要不顧與函數(shù)值的大小,這種點(diǎn)還是容易取得的。但當(dāng)約束條件多而復(fù)雜時(shí),要確定一個(gè)初始可行點(diǎn)也并不十分容易。為此可先對(duì)設(shè)計(jì)問(wèn)題估計(jì)一個(gè)初始點(diǎn),這一點(diǎn)可能已滿足s個(gè)不等式約束條件,而剩下的(s-1)個(gè)約束條件未滿足,即先求 然后將作為目標(biāo)函數(shù),求使受約束于 (u=1,2,s) (u=s+1,s+2,m)由此構(gòu)造懲罰函數(shù)并利用程序自身的懲罰函數(shù)法求它的極值點(diǎn)。在計(jì)算中一旦取得即可以停機(jī)以節(jié)省時(shí)間,這樣得到的點(diǎn)作為初始點(diǎn)至少比原初始點(diǎn)要多滿足一個(gè)約束條件。如此反復(fù)進(jìn)行下去,直到所有約束條件均滿足為止。求初始可行點(diǎn)的另一種常用方法,可按下

22、述迭代計(jì)算步驟進(jìn)行:I) 任取一點(diǎn),(例如?。?,令k=0;II) 定出下標(biāo)集與: III) 檢查是否為空集,若是則停止迭代,并取塞為初始點(diǎn),否則進(jìn)行下一步;IV) 以為初始點(diǎn),解問(wèn)題受約束于令所得的這個(gè)問(wèn)題的最優(yōu)解為,轉(zhuǎn)下一步;V) 令 (C可取為01一05,常取01亦可取002),令kk+1,轉(zhuǎn)向步驟II)。 還可以采用隨機(jī)選擇初始點(diǎn)的方法來(lái)尋找可行的初始點(diǎn)。2) 初始懲罰參數(shù)的選擇的選擇對(duì)SUMT法的計(jì)算效率影響很大,在SUMT法中是個(gè)比較重要的環(huán)節(jié),選擇時(shí)需有一定的技巧和經(jīng)驗(yàn)。若值選得太小,則在新目標(biāo)函數(shù)即懲罰函數(shù)中懲罰項(xiàng)的作用就會(huì)很小,這時(shí)求的無(wú)約束極值,猶如求原目標(biāo)函數(shù)本身的無(wú)約束極

23、值,而這個(gè)極值點(diǎn)又不大可能接近的約束極值點(diǎn),且有跑出可行域的危險(xiǎn)。相反,若值取得太大,則開(kāi)始幾次構(gòu)造的懲罰函數(shù)的無(wú)約束極值點(diǎn)就會(huì)離約束邊界很遠(yuǎn),將使計(jì)算效率降低??扇一50,但多數(shù)情況是取=1。通常,當(dāng)初始點(diǎn)是一個(gè)嚴(yán)格的點(diǎn)時(shí),則應(yīng)使懲罰項(xiàng)在新目標(biāo)函數(shù)中所起的作用與原目標(biāo)函數(shù)的作用相當(dāng),于是得倘若約束區(qū)域是非凸的且初始點(diǎn)亦不靠近約束邊界,則的取值可更小些,約為上式算得值的0105倍。當(dāng)初姑點(diǎn)是一個(gè)接近邊界的點(diǎn)時(shí),按上式所求得的就會(huì)過(guò)小。這時(shí)應(yīng)當(dāng)加大值。但如果值又取得太大,則又會(huì)發(fā)生上述毛病。所以在求解時(shí),應(yīng)對(duì)做幾次試算,以取得最合適值。222 DFP變尺度法懲罰函數(shù)點(diǎn)法步驟3)中用到的無(wú)約束優(yōu)

24、化算法為DFP變尺度法。變尺度法是無(wú)約束最優(yōu)化方法在最近二十多年來(lái)發(fā)展中最有影響的研究成果之一,它被公認(rèn)為求解無(wú)約束極值問(wèn)題最有效的算法之一,這種方法是在牛頓法的基礎(chǔ)上發(fā)展起來(lái)的。2221 DFP變尺度法的原理牛頓法以與修正牛頓法雖然收斂很快,但是計(jì)算較繁,需要計(jì)算二階偏導(dǎo)數(shù)矩陣(Hessian矩陣)的逆矩陣,即,才能求得探索方向即牛頓方向:-如果能設(shè)法構(gòu)造出一個(gè)對(duì)稱正定矩陣來(lái)代替,并在迭代過(guò)程中使逐漸逼近,那末就簡(jiǎn)化了牛頓法的計(jì)算,且保持丁牛頓法收斂快的優(yōu)點(diǎn),這就是變尺度法的基本思想。由于這一類(lèi)方法的迭代形式與牛頓法類(lèi)似。 變尺度法的法代公式為式中:步長(zhǎng),可由式求得;探索方向nxn階對(duì)稱正定

25、矩陣。因?yàn)樗怯脕?lái)代替的,而且從一次迭代到另一次迭代是變化的,故稱為變尺度矩陣。其遞推形式為式中: E校正矩陣,它應(yīng)只依賴于本次迭代的,和相應(yīng)的梯度,向量。在迭代過(guò)程中應(yīng)逐漸地逼近。如果能利用變尺度條件構(gòu)造出一個(gè)矩陣來(lái)代替,再如果 能用來(lái)表示,而其中校正矩陣又可用一個(gè)統(tǒng)一的公式表示時(shí),則只要知道(1)便可求出(2),并依次求出(3),(4),或者若已知,則可利用上式求出(k+1),(k+2),。計(jì)算時(shí)可取(0)I,即第l步探索是用負(fù)梯度方向。WCDavido提出并經(jīng)過(guò)RF1etcher和MJDPowell修改的求校正矩陣的公式即所謂DFP公式為因?yàn)閚 x n階對(duì)稱正定矩陣,故上式可寫(xiě)為式中 利

26、用上式求出校正矩陣后,便可按式求出下一輪迭代的(k+1),。求出(k+1)后,便可按式的方法決定新的探索方向:可以證明,這樣產(chǎn)生的方向也是共扼方向,而且對(duì)于非二次函數(shù)來(lái)說(shuō),它比用其它方法產(chǎn)生的共輛方向共扼性更好。DFP變尺度法在函數(shù)的梯度向量容易求出的情況下,是非常有效的。對(duì)于多維(n100)問(wèn)題,由于收斂快、效果亦佳,被認(rèn)為是無(wú)約束極值問(wèn)題最好的優(yōu)化方法之一。但是計(jì)算的程序較復(fù)雜,且需要較大的存貯量,特別是在有舍入誤差時(shí),也存在數(shù)值穩(wěn)定性不夠理想的情況。2222 DFP變尺度法的計(jì)算步驟1) 選定初始點(diǎn)并給定計(jì)算精度,維數(shù)n;2) 置k0,(0)I(單位矩陣),計(jì)算,這時(shí)探索方向?yàn)椋?- 3

27、) 進(jìn)行一維探索求,使4) 計(jì)算,如果,則即為極小點(diǎn),停止迭代,否則轉(zhuǎn)下一步;5)檢查迭代次數(shù),若k=n(問(wèn)題的維數(shù)),則=,并轉(zhuǎn)向步驟2),若k<n,則進(jìn)行下一步;6) 構(gòu)造新的探索方向?yàn)榇藨?yīng)計(jì)算然后令 k=k+1,轉(zhuǎn)向步驟3)。變尺度法的計(jì)算程序框圖如圖下所示:圖2-3 變尺度法程序框圖223 懲罰函數(shù)外點(diǎn)法2231 懲罰函數(shù)外點(diǎn)法的原理與懲罰函數(shù)點(diǎn)法將懲罰函數(shù)定義于可行域且求解無(wú)約束問(wèn)題的探索點(diǎn)總是保持在可行域的特點(diǎn)不同,外點(diǎn)法的特點(diǎn)是將懲罰函數(shù)定義于約束可行域之外,且求解無(wú)約束問(wèn)題的探索點(diǎn)是從可行域外部逼近原日標(biāo)函數(shù)的約束最優(yōu)解的。對(duì)于目標(biāo)函數(shù)受約束于的最優(yōu)化設(shè)計(jì)問(wèn)題利用外點(diǎn)法求

28、解時(shí),作為無(wú)約束新目標(biāo)函數(shù)的懲罰函數(shù),其一般表達(dá)式為式中右邊第二項(xiàng)懲罰項(xiàng);構(gòu)造懲罰項(xiàng)函數(shù)的指數(shù),其值將影響函數(shù)等值線在約束面處的性質(zhì),一般取2;懲罰因子,是大于零的一個(gè)遞增數(shù)列,即應(yīng)滿足: 0<<<<<<<(當(dāng)時(shí))在懲罰項(xiàng)中:(當(dāng)時(shí))由此可見(jiàn),當(dāng)探索點(diǎn)在可行城時(shí),懲罰項(xiàng)為零;若不在可行域,則不為零,且愈大,則受到的“懲罰”亦愈大。因此,要使極小,必須迫使懲罰項(xiàng)等于零,亦即要求滿足約束條件,即迫使。這就保證了在可行域與是等價(jià)的。當(dāng)約束條件為,則函數(shù)的一般表達(dá)式為:一般=2。同樣有: 0<<<<<<<(當(dāng)時(shí))在懲罰

29、項(xiàng)中:(當(dāng)時(shí))當(dāng)約束條件包括 (v1,2,p)的等式約束時(shí),則在式中的右邊尚需加進(jìn)第三項(xiàng)懲罰項(xiàng)。對(duì)懲罰函數(shù)求無(wú)約束極值,其結(jié)果將隨給定的懲罰因子的值而異??梢詫土P函數(shù)無(wú)約束極值問(wèn)題的最優(yōu)解看作是以為參數(shù)的一條軌跡,當(dāng)取0<<<<<<<時(shí)點(diǎn)列就沿著這條軌跡趨于原目標(biāo)函數(shù)的約束最優(yōu)解。因此,外點(diǎn)法是隨著懲罰因子(參數(shù))的遞增序列,使懲罰函數(shù)的無(wú)約束極值點(diǎn)從可行域外部向原目標(biāo)函數(shù)的約束最優(yōu)點(diǎn)逼近,直至達(dá)到最優(yōu)點(diǎn)。2232 懲罰函數(shù)外點(diǎn)法的迭代步驟:1) 選擇參數(shù):初始懲罰因子0(例如取1);允許誤差 (均應(yīng)大于零);遞增系數(shù)C(C,C5一10,可取8);初

30、始點(diǎn) (可在可行域外部或部任意選擇,不論怎樣選擇,的無(wú)約束極值點(diǎn)均在可行域外);懲罰因子的控制量R,當(dāng)R時(shí)即可判別是否達(dá)到收斂精度要求。令計(jì)算次數(shù)k1。2) 從點(diǎn)出發(fā)用無(wú)約束最優(yōu)化方法求解:得其中3) 計(jì)算點(diǎn)違反約束的最大量:4) 檢驗(yàn)迭代終止準(zhǔn)則:如果滿足則可以認(rèn)為點(diǎn)已接近約束邊界,停止迭代。否則轉(zhuǎn)入下一步。5) 檢驗(yàn)R?若R,再用靠近約束面附近的條件極值點(diǎn)的移動(dòng)距離作為迭代終止準(zhǔn)則來(lái)檢驗(yàn),即當(dāng)時(shí),則停止迭代;若或上式不成立,則取=C;=;k=k+1,并轉(zhuǎn)向步驟2)。外點(diǎn)法的計(jì)算程序框圖如下所示: 圖2-4 外點(diǎn)法程序框圖224 懲罰函數(shù)混合法2241 懲罰函數(shù)混合法的原理鑒于點(diǎn)法和外點(diǎn)法備

31、有優(yōu)缺點(diǎn),因此在懲罰函數(shù)法中又出現(xiàn)了所謂混合法。它是將點(diǎn)法與外點(diǎn)法的懲罰函數(shù)形式結(jié)合在一起,用來(lái)求解既有不等式約束又有等式約束條件的最優(yōu)化問(wèn)題的。求解原目標(biāo)函數(shù)的極小值:mins.t.(subject to) (v=1,2,p) (u=1,2,m)根據(jù)混合法的基本思想,作為新目標(biāo)函數(shù)的懲罰函數(shù),其懲罰項(xiàng)由兩部分組成,一部分反映不等式約束的影響并以點(diǎn)法的構(gòu)造形式列出;另一部分反映等式約束的影響并以外點(diǎn)法的構(gòu)造形式列出,即混合法懲罰函數(shù)的一股表達(dá)式為即所構(gòu)造的混合法的懲罰函數(shù),同時(shí)含有障礙函數(shù)和衰減函數(shù)。根據(jù)Fiacco等建議的關(guān)系式將懲罰因子統(tǒng)一用表示,則混合法的懲罰函數(shù)又可表達(dá)為或當(dāng)受約束于時(shí)

32、,則混合法的懲罰函數(shù)的表達(dá)式為或混合法與點(diǎn)法與外點(diǎn)法一樣,屆于序列無(wú)約束極小化(SUMT)方法中的一種。利用上述方法構(gòu)造混合法的懲罰函數(shù)時(shí),其求解具有點(diǎn)法的特點(diǎn)。這時(shí),其初始點(diǎn)應(yīng)為點(diǎn);而值可參照點(diǎn)法選??;其迭代程序則與點(diǎn)法的相類(lèi)似。2242 懲罰函數(shù)混合法的迭代步驟:1) 選擇初始懲罰因子的值,在許多SUMT程序中,為了簡(jiǎn)化計(jì)算規(guī)定允許誤差o。2) 在可行域選擇一個(gè)嚴(yán)格滿足所有不等式約束的初始點(diǎn)。3) 求解,得。 4) 撿驗(yàn)迭代終止準(zhǔn)則,如果滿足要求,則停止迭代,并以為原目標(biāo)函數(shù)的約束最優(yōu)解,否則轉(zhuǎn)入下一步。5) 取=C,kk+1,轉(zhuǎn)向步驟3)。常取C01?;旌戏ǖ某绦蚩驁D與點(diǎn)法的框圖相類(lèi)似,

33、此處略。225 三種算法的比較算法特點(diǎn)適用場(chǎng)合懲罰函數(shù)點(diǎn)法將約束優(yōu)化問(wèn)題轉(zhuǎn)化為一系列無(wú)約束優(yōu)化問(wèn)題,初始點(diǎn)應(yīng)取為嚴(yán)格滿足各個(gè)不等式約束條件的點(diǎn),懲罰因子應(yīng)取為單調(diào)遞減的正數(shù)序列,初試罰因子的選擇恰當(dāng)與否對(duì)收斂速度和求解成敗有較大影響。用于求解只含有不等式約束的中等維度的優(yōu)化問(wèn)題。懲罰函數(shù)外點(diǎn)法將約束優(yōu)化問(wèn)題轉(zhuǎn)化為一系列無(wú)約束優(yōu)化問(wèn)題,初始點(diǎn)可任意選,罰因子應(yīng)取為單調(diào)遞增數(shù)列,初試罰因子與遞增系數(shù)應(yīng)取適當(dāng)?shù)慕檀笾?。用于求解含有不等式約束和等式約束的中等維度的優(yōu)化問(wèn)題。懲罰函數(shù)混合法將約束優(yōu)化問(wèn)題轉(zhuǎn)化為一系列無(wú)約束優(yōu)化問(wèn)題,初試點(diǎn)的選取與點(diǎn)法一樣。用于求解含有不等式約束和等式約束的中等維度的優(yōu)化問(wèn)

34、題。3.軟件開(kāi)發(fā)與其使用MATLAB(MATrix LABoratory)是功能十分強(qiáng)大的工程計(jì)算與數(shù)值分析軟件。80年代中期,Mathworks公司將MATLAB投向市場(chǎng)。90年代又逐步拓展其數(shù)值計(jì)算、符號(hào)解析運(yùn)算、文字處理、圖形功能等等,并采用面向?qū)ο蟮某呒?jí)語(yǔ)言作為用戶界面,使MATLAB成為一個(gè)多領(lǐng)域、多學(xué)科、多功能的優(yōu)秀科技應(yīng)用軟件,占據(jù)了數(shù)值型軟件市場(chǎng)的主導(dǎo)地位。MATLAB具有強(qiáng)大的圖形用戶界面(Graphical User Interfaces ,GUI)開(kāi)發(fā)功能。圖形用戶界面是由窗口、光標(biāo)、按鍵、菜單、文字說(shuō)明等對(duì)象(Objects)構(gòu)成的一個(gè)用戶界面。用戶通過(guò)一定的方法(如

35、鼠標(biāo)或鍵盤(pán))選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等。如果想向別人提供應(yīng)用程序,想進(jìn)行某種技術(shù)、方法的演示,想制作一個(gè)供反復(fù)使用且操作簡(jiǎn)單的專用工具,那么圖形用戶界面也許是最好的選擇之一。31 軟件開(kāi)發(fā)過(guò)程1) 前期準(zhǔn)備:查找和收集一些與本課題相關(guān)的文章,大致了解課題目前的現(xiàn)狀;2) 根據(jù)下達(dá)的任務(wù)書(shū),學(xué)習(xí)并掌握優(yōu)化算法和matlab方面的知識(shí);3) 編制罰函數(shù)點(diǎn)、外點(diǎn)、混合和DFP算法的程序;4) 制作用戶圖形界面(GUI)并編制回調(diào)函數(shù);5) 調(diào)試、完善軟件系統(tǒng)。最終的軟件界面如圖3-1所示:圖3-132 軟件的使用1) 打開(kāi)Matlab軟件,在comman

36、d window中輸入youhua,按回車(chē),即可啟動(dòng)優(yōu)化軟件;2) 對(duì)于一個(gè)優(yōu)化問(wèn)題的數(shù)學(xué)模型,首先選擇優(yōu)化算法,罰函數(shù)點(diǎn)法不能用于求解含有等式約束的優(yōu)化問(wèn)題;3) 參數(shù)的輸入:目標(biāo)函數(shù)、約束條件、變量的上下界值、收斂精度、懲罰因子等;其中,約束條件的輸入需要事先在參數(shù)輸入框中的和中分別輸入不等式和等式約束的個(gè)數(shù),然后鼠標(biāo)左鍵單擊確定,便自動(dòng)生成約束條件的輸入框,在其中輸入約束條件即可;特別注意:約束條件的輸入方式為標(biāo)準(zhǔn)格式,如x1+x2>0應(yīng)寫(xiě)為-x1-x2<0,而當(dāng)目標(biāo)函數(shù)多個(gè)變量時(shí)(如x1,x2),約束條件為少變量形式時(shí)(如x1>0),應(yīng)轉(zhuǎn)變?yōu)闃?biāo)準(zhǔn)格式:-x1+0*x2

37、<0.4) 待所以參數(shù)錄入完成后,單擊按鈕,軟件自動(dòng)尋優(yōu),計(jì)算結(jié)束后,尋優(yōu)結(jié)果顯示在結(jié)果輸出框中;5) 對(duì)于二維數(shù)學(xué)模型,可以以圖象的形式顯示尋優(yōu)結(jié)果,在計(jì)算完畢后,單擊按鈕,則可以在左邊的繪圖框中顯示目標(biāo)函數(shù)的等值線、約束條件圖形線和每次迭代尋優(yōu)所得的點(diǎn)。圖形縮放條的作用是縮放圖形的大小,以利于更好的理解迭代尋優(yōu)的過(guò)程;6) 如果要進(jìn)行下一次的尋優(yōu)計(jì)算,則可單擊 按鈕,把輸入?yún)?shù)、輸出參數(shù)以與圖形全部清除。4 優(yōu)化算例與分析4.1 優(yōu)化算例算例一:s. t. 理論最優(yōu)解:1 1T1 分別用本課題開(kāi)發(fā)的軟件和matlab優(yōu)化工具箱中優(yōu)化函數(shù)求解,結(jié)果如表4-1所示:算法最優(yōu)點(diǎn)最優(yōu)值迭代次

38、數(shù)罰函數(shù)點(diǎn)法1 1112罰函數(shù)外點(diǎn)法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分別用本課題開(kāi)發(fā)的軟件和matlab優(yōu)化工具箱中優(yōu)化函數(shù)求解,結(jié)果如表4-2所示: 算法最優(yōu)點(diǎn)最優(yōu)值迭代次數(shù)罰函數(shù)點(diǎn)法-罰函數(shù)外點(diǎn)法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求解時(shí),命令窗口中出現(xiàn)如下提示:Maximum number of function evaluations exceeded;increase OPTIONS.MaxFunEvals.這說(shuō)明優(yōu)化工具箱的使用是比較煩鎖的。4.2 結(jié)果分析從以上兩個(gè)算例的結(jié)果可以看出:(1) 本課題開(kāi)發(fā)的軟件起搜索精度是高的;(2) 相對(duì)優(yōu)化工具箱的優(yōu)化函數(shù)而言,其收斂速度不夠快,還有待改進(jìn),但優(yōu)化工具箱中的優(yōu)化函數(shù)是matlab自帶的函數(shù),其優(yōu)先級(jí)最高;(3) 在人機(jī)交互方面,本軟件有著絕對(duì)的優(yōu)勢(shì),圖形用戶界面友好、易懂,而優(yōu)化工具箱中的優(yōu)化函數(shù)使用起來(lái)頗費(fèi)周章。5 結(jié)論 本課題研制開(kāi)發(fā)了一個(gè)可視化的約束優(yōu)化設(shè)計(jì)軟件,適用于教學(xué)過(guò)程中幫助學(xué)生更好的理解優(yōu)化算法的尋優(yōu)過(guò)程,主要完成了以下工作:(1)完成了懲罰函數(shù)點(diǎn)、外點(diǎn)和混合法程序的編制;(2)算法具有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論