【正文】
( 1 , 2 ,ug X u?? … , m),則函數(shù)的一般表達(dá)式為: ? ?( ) ( )1( , ) ( ) m in[ 0 , ( ) ]mkkuuX M f X M g X????? ? 一般 ? =2。 變尺度法的計(jì)算程序框圖如圖下所示: 圖 23 變尺度法程序框圖 2. 2. 3 懲罰函數(shù)外點(diǎn)法 2. 2. 3. 1 懲罰函數(shù)外點(diǎn)法的原理 與懲罰函數(shù)內(nèi)點(diǎn)法將懲罰函數(shù)定義于可行域內(nèi)且求解無 約束問題的探索點(diǎn)總是保持在可行域內(nèi)的特點(diǎn)不同,外點(diǎn)法的特點(diǎn)是將懲罰函數(shù)定義于約束可行域 第 20 頁 共 36 頁 之外,且求解無約束問題的探索點(diǎn)是從可行域外部逼近原日標(biāo)函數(shù)的約束最優(yōu)解的。 DFP 變尺度法在函數(shù) ()fX的梯度向量容易求出的情況下,是非常有效的。 如果能利用變尺度條件構(gòu)造出一個(gè)矩陣 ()kA 來代替 1[ ( )]kHX? ,再如果 ()kA 能用 ( 1 ) ( ) ( )k k kA A E? ??來表示,而其中校正矩陣 ()kE 又可用一個(gè)統(tǒng)一的公式表示時(shí),則只要知道 A (1)便可求出 A (2),并依次求出 A (3), A (4)?,或者若已知 ()kA ,則可利用上式求出 A (k+1), A (k+2),?。 變尺度法的法代公式為 ( 1 ) ( ) ( ) ( ) ( ) ( ) ( ) ( )()k k k k k k k kX X A f X X S??? ? ? ? ? ? 式中: ()k? —— 步長,可由式 ( ) ( ) ( ) ( ) ( )( ) m i n ( )k k k k kf X S f X S???? ? ? 第 17 頁 共 36 頁 求得; ()kS —— 探索方向 ( ) ( ) ( )[ ] ( )k k kS A f X? ? ? ()kA —— nxn 階對(duì)稱正定矩陣。 2. 2. 2 DFP 變尺度法 懲罰函數(shù)內(nèi)點(diǎn)法步驟 3)中用到的無約束優(yōu)化算法為 DFP變尺度法。 當(dāng)初姑點(diǎn) (0)X 是一個(gè)接近 邊界的點(diǎn)時(shí),按上式所求得的 (0)r 就會(huì)過小。 若 (0)r 值選得太小,則在新目標(biāo)函數(shù)即懲罰函數(shù) ()( , )kXr? 中懲罰項(xiàng)的作用就會(huì)很小,這時(shí)求 ()( , )kXr? 的無約束極值,猶如求原目標(biāo)函數(shù) ()fX本身的無約束極值,而這個(gè)極值點(diǎn)又不大可能接近 ()fX的約束極值點(diǎn),且有跑出可行域的危險(xiǎn)。如此反復(fù)進(jìn)行下去,直到所有約束條件均滿足為止。在機(jī)械最優(yōu)化設(shè)計(jì)中,只要不顧及函數(shù)值的大小,這種點(diǎn)還是容易取得的。內(nèi)點(diǎn)法是隨著懲罰參數(shù) ()kr 的遞減序列,使懲罰函數(shù)的無約束極值點(diǎn) X*( ()kr )從可行域的內(nèi)部向原目標(biāo)函數(shù)的約束最優(yōu)點(diǎn)逼近,直到達(dá)到最優(yōu)點(diǎn)。 由懲罰函數(shù)的表達(dá)式可知,對(duì)懲罰函數(shù) ()( , )kXr? 求無約束極值時(shí),其結(jié)果將隨給定的懲罰因子 ()kr 而異。 上述懲罰函數(shù)表達(dá)式的右邊的第二項(xiàng),稱為懲罰項(xiàng),有時(shí)還稱為障礙項(xiàng)。其特點(diǎn)是將構(gòu)造的新的無約束目標(biāo)函數(shù) —— 懲罰函數(shù)定義于可行域內(nèi),并在可行域內(nèi)求懲罰函數(shù)的極值點(diǎn),即求解無約束問題時(shí)的探索點(diǎn)總是保持在可行域內(nèi)部。為了能得到全域最優(yōu)解,在探索過程 中最好能改變初始點(diǎn),有時(shí)甚至要改換幾次。如圖 21( a)所示,而不一定是目標(biāo)函數(shù)的自然最小值。 2. 2 約束優(yōu)化算法 優(yōu)化問題按有無約束可分為無約束優(yōu)化問題和約束優(yōu)化問題。另外,對(duì)于復(fù)雜的最優(yōu)化問題,可建立不同的數(shù)學(xué)模型。其數(shù)學(xué)表達(dá)式 (數(shù)學(xué)模型 )為 設(shè)計(jì)變量 X =[ 1x 2x ? nx ]T, X∈ ? ? En 在滿足約束條件 ( ) 0vhX? v=1, 2,?, p ( ) 0ugX? u=1, 2,?, m 的條件下,求目標(biāo)函數(shù) f( x)=1 ()iqjj w f X??的最優(yōu)值。 第 8 頁 共 36 頁 2 優(yōu)化算法原理 “最優(yōu)化設(shè)計(jì)”是在現(xiàn)代計(jì)算機(jī)廣泛應(yīng)用的基礎(chǔ)上發(fā)展起來的一項(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ì)方法。主要做了以下工作: ( 1) 編寫內(nèi)點(diǎn)、外點(diǎn)和混合懲罰函數(shù)法源程序; 第 7 頁 共 36 頁 ( 2) 制作用戶圖形界面( GUI),并使其有以下功能特點(diǎn): ① 該軟件易于使用,操作簡(jiǎn)單,界面友好,不需要用戶具備編程能力 。運(yùn)用此工具箱進(jìn)行優(yōu)化求解時(shí),要先對(duì)優(yōu)化問題進(jìn)行分析,建立優(yōu)化數(shù)學(xué)模型,定義目標(biāo)函數(shù),對(duì)于約束優(yōu)化問題要同時(shí)定義出其約束條件,列出約束函數(shù)。 MATLAB(MATrix LABoratory)是功能十分強(qiáng)大的工程計(jì)算及數(shù)值分析軟件。有些專用的優(yōu)化軟件雖然與專業(yè)設(shè)計(jì)聯(lián)系十分緊密 , 但優(yōu)化模型的針對(duì)性太強(qiáng) , 優(yōu)化設(shè)計(jì)模型與優(yōu)化方法都比較單一。例如 , 機(jī)械優(yōu)化設(shè)計(jì)軟件應(yīng)把各種機(jī)械優(yōu)化設(shè)計(jì)模型、各種優(yōu)化方法及一些其他輔助功能集成為一個(gè)有機(jī)的整體 , 以便用戶使用。這類優(yōu)化軟件著重于優(yōu)化方法的研究和實(shí)現(xiàn) , 不僅提供了一批可高效可靠地處理連續(xù)設(shè)計(jì)變量?jī)?yōu)化問題的方法及程序 ,而且提供了一批可處理混合離散設(shè)計(jì)變量?jī)?yōu)化問題的方法及程序 , 其中《優(yōu)化方法程序庫 OPB2》包含了許多現(xiàn)代設(shè)計(jì)方法 , 如人工智能等方法。 優(yōu)化設(shè)計(jì)是設(shè)計(jì)方法上的一大進(jìn)步,在工程設(shè)計(jì)中采用優(yōu)化設(shè)計(jì)方法,可以提高產(chǎn)品的設(shè)計(jì)質(zhì)量,減輕設(shè)備自重,降低材料消耗與制造成本。 關(guān)鍵詞 :優(yōu)化設(shè)計(jì) 軟件包 圖形用戶界面 第 3 頁 共 36 頁 ABSTRACT As one of the primary modem design ways, optimization plays a more important role then ever in kinds of areas.《 optimization design of machinics》 is one of necessity courses 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 interface (GUI) and make the resluts GUI was consisted of the parameter input frame、 the parameter output frame and the figure of 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 process of open up and the method of using were introduced about the restraint optimization software,which may apply some help for the puter aided instruction. Keywords: optimal design software package graphic user interface 第 4 頁 共 36 頁 目錄 摘 要 ................................................................................ 錯(cuò)誤 !未定義書簽。 本課題研制了一個(gè)基于 MATLAB 的約束優(yōu)化算法軟件包,該軟件包有著友好的圖形用戶界面( GUI)和求解的直觀性?!稒C(jī)械優(yōu)化設(shè)計(jì)》是機(jī)械設(shè)計(jì)類專業(yè)的一門必修課程,其中優(yōu)化設(shè)計(jì)方法理論性較強(qiáng),學(xué)生不易理解,從而使得學(xué)生在學(xué)習(xí)過程中倍感吃力。 本文介紹了約束優(yōu)化算法軟件包的開發(fā)過程和其使用方法,對(duì)計(jì)算機(jī)輔助教學(xué)有一定的幫助。 機(jī)械優(yōu)化設(shè)計(jì)就是把機(jī)械設(shè)計(jì)與數(shù)學(xué)規(guī)劃理論及方法相結(jié)合,借助電子計(jì)算機(jī),尋求最優(yōu)設(shè)計(jì)方案和最佳 設(shè)計(jì)參數(shù)。在機(jī)械行業(yè)中 , 有許多用于工程設(shè)計(jì)的優(yōu)化 軟件 , 目前最常見的有華中科技大學(xué)的《優(yōu)化方法程序庫 OPB2》和《優(yōu)化方法程序庫 OPB1》等。 在我國 , 優(yōu)化設(shè)計(jì)的推廣和應(yīng)用也遇到很多問題 , 主要表現(xiàn)在目前的優(yōu)化設(shè)計(jì)應(yīng)用軟件都存在一定的局限性。這就要求用戶除了必須熟悉編程環(huán)境外 , 還要對(duì)程序庫本身有一定的了解 , 這使設(shè)計(jì)人員的工作量加大 , 專業(yè)性加強(qiáng) , 阻礙了優(yōu)化設(shè)計(jì)的推廣和應(yīng)用。 國外的優(yōu)化軟件目前來說較成熟和應(yīng)用較廣的為 MATLAB 的優(yōu)化工具箱。 利用 MATLAB 的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標(biāo)規(guī)劃問題。 1. 2 本課題的主要工作 利用 Matlab 軟件開發(fā)和編寫約束優(yōu)化方法軟件包,包括 間接解法中的內(nèi)點(diǎn)、外點(diǎn)和混合懲罰函數(shù)法 ,并提供用戶可視化界面。 ( 3) 軟件具有一定的錯(cuò)誤檢測(cè)功能; ( 4) 優(yōu)化計(jì)算結(jié)果可以達(dá)到一定的精度。任何一個(gè)最優(yōu)化問題均可歸結(jié)為如下的描述,即:在滿足給定的約束條件(決定 n 維空間 En中的可行域 ? )下,選取適當(dāng)?shù)脑O(shè)計(jì)變量 x,使其目標(biāo)函數(shù) f( x)達(dá)到最憂值。這時(shí)要抓住關(guān)鍵因素,適當(dāng)忽略不重要的成分,使問題合理簡(jiǎn)化,以易于列出數(shù)學(xué)模型。由此可見,在最優(yōu)化設(shè)計(jì)工作中開展對(duì)數(shù)學(xué)模型的理論研究,十分重要。與無約束問題不同, 約束問題目標(biāo)函數(shù)的最小值是滿足約束條件下的最小值,即是由約束條件所限定的可行域 ? 內(nèi)的最小值。所以在這種情況下,探索結(jié)果經(jīng)常與初始點(diǎn)的選擇有關(guān)。 2. 2. 1 懲罰函數(shù)內(nèi)點(diǎn)法 懲罰函數(shù) 內(nèi)點(diǎn)法是求解不等式約束最優(yōu)化問題的一種十分有效的方法,但不能處理等式約束。 通常取 ()kr = 1. 0, 0. 1, 0. 01, 0. 001,?。因此,第二項(xiàng)使約束邊界成為探索點(diǎn)的一個(gè)不能跳出可行域之外的障礙,所以又稱為障礙項(xiàng)或障礙函數(shù),也有稱圍墻函數(shù)的。因此,懲罰因子 ()kr 又稱為懲罰參數(shù)。 內(nèi)點(diǎn)法的計(jì)算程序框圖如圖 22所示: 第