第四章 優(yōu)化計算工具簡介_第1頁
第四章 優(yōu)化計算工具簡介_第2頁
第四章 優(yōu)化計算工具簡介_第3頁
第四章 優(yōu)化計算工具簡介_第4頁
第四章 優(yōu)化計算工具簡介_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2005年6月優(yōu)化計算工具目錄1-OPB-2優(yōu)化設(shè)計程序庫2-基于PROE的行為建模3-MATLAB優(yōu)化工具包4-LINGO軟件5-ANSYS優(yōu)化模塊6-幾種計算工具比較7-ISIGHT多學科優(yōu)化平臺7.1OPB-2優(yōu)化設(shè)計程序庫總體結(jié)構(gòu)

OPB-X(1,2,3)是一個優(yōu)化程序庫。OPB-2以求解混合離散變量的設(shè)計問題為主,它在OPB-1的基礎(chǔ)上增加了多目標優(yōu)化設(shè)計、結(jié)構(gòu)優(yōu)化設(shè)計、形狀優(yōu)化設(shè)計及常用機械零部件與機構(gòu)的優(yōu)化設(shè)計等內(nèi)容。OPB-2總體結(jié)構(gòu)OPB-2混合離散變量優(yōu)化設(shè)計方法及程序DOPB連續(xù)變量優(yōu)化設(shè)計方法及程序COPB多目標優(yōu)化設(shè)計方法及程序MOOP結(jié)構(gòu)優(yōu)化設(shè)計方法及程序OOSOP優(yōu)化設(shè)計數(shù)學模型的前處理分析專家系統(tǒng)ESAMN1機械零部件及機構(gòu)的優(yōu)化設(shè)計程序MDS1.0約束變尺度法及程序CVM01擬牛頓乘子法及程序QNM01可行約束變尺度法及程序CVMFD1采用擬梯度的序列二次規(guī)劃法及程序CVMQG1單調(diào)性分析的序列二次規(guī)劃法及程序CVMQG1廣義簡約梯度法及程序GRG-2及GRG-C混合罰函數(shù)法及程序MPOP混合離散優(yōu)化的綜合求解策略及程序庫MDOP2.0混合離散優(yōu)化遺傳基因算法及程序庫MDOP2.1人工神經(jīng)網(wǎng)絡(luò)優(yōu)化算法及程序庫MDOP3.0混合離散優(yōu)化方法及程序CVM02擬離散序列二次規(guī)劃法及程序CVM03基于人工智能技術(shù)的離散二次規(guī)劃法及程序MQRA1混合離散變量優(yōu)化方法及程序的考核程序包基于工程軟件的優(yōu)化分析當前世界上流行的一些主流工程軟件,一般具有結(jié)構(gòu)參數(shù)優(yōu)化分析和設(shè)計的功能。在掌握工程設(shè)計問題優(yōu)化設(shè)計的基礎(chǔ)知識和熟悉工程軟件有關(guān)功能的基礎(chǔ)上,可以在工程軟件系統(tǒng)平臺上,對產(chǎn)品在三維造型進行結(jié)構(gòu)參數(shù)優(yōu)化分析,使CAD過程智能化;或是調(diào)用工程軟件的優(yōu)化工具箱函數(shù),簡潔方便地解決工程優(yōu)化設(shè)計問題。

7.2基于PRO/ENGINEER

行為建模的結(jié)構(gòu)參數(shù)優(yōu)化

7.2.1概述行為建模功能(BehavioralModelingExtension)是

Pro/ENGINEER擴展的功能模塊,它極大地擴展了PTC軟件的參數(shù)化設(shè)計功能,使CAD軟件不但可以用于造型,而且能夠進行智能設(shè)計,自動尋找最優(yōu)解決方案。行為建模作為一種參數(shù)化設(shè)計的分析工具,需要建立分析特征(AnalysisFeature),利用分析特征對模型進行若干的物理性質(zhì)、曲線性質(zhì)、曲面性質(zhì)、運動性質(zhì)等參數(shù)的測量。在特征參數(shù)(FeatureParameter)的產(chǎn)生和作用下,明確定義設(shè)計變量與設(shè)計目標后,通過約束參數(shù)的設(shè)定,從中系統(tǒng)會尋找出合理的模型參數(shù),并且通過改變參數(shù)來修改模型結(jié)構(gòu)形狀,使設(shè)計過程智能化。

行為建模與參數(shù)分析過程

7.2.2分析特征分析特征(AnalysisFeature)屬于基準特征(DatumFeature)的一種,其目的是對要設(shè)計優(yōu)化或可行的參數(shù)(如物理特征、曲線特征、曲面特征、運動特征等參數(shù))進行分析,建立模型分析參數(shù)。建立分析特征的方法是,建立模型文件后,單擊窗口右邊“分析特征”按鈕,或者選擇菜單欄中的“插入”

→“基準”

→“分析”命令,系統(tǒng)彈出分析(Analysis)對話框。分析(Analysis)對話框的功能菜單內(nèi)容包括了分析特征(AnalysisFeature)功能的八項類型(Type):測量(Measure)模型分析(ModelAnalysis)曲線分析(CurveAnalysis)曲面分析(SurfaceAnalysis)自定分析(UDA)關(guān)系(Relation)運動分析

(MotionAnalysis)電子表格分析(ExcelAnalysis)1、測量(Measure)在模型上進行度量,將測量結(jié)果建立參數(shù)(Parameter)進而產(chǎn)生分析基準(AnalysisDatum)。

測量類型內(nèi)容包括:曲線長度(LENGTH)、距離(DISTANCE)、角度(ANGLE)、面積(AREA)、直徑(DIAMETER)。2、模型分析(ModelAnalysis)在模型上進行各種物理量的計算,將測量結(jié)果建立參數(shù)(Parameter),進而產(chǎn)生分析基準(AnalysisDatum)。模型分析內(nèi)容包括:測量模型體積(VOLUME)、模型表面積(SURF-_AREA)、模型質(zhì)量(MASS)、主慣性矩(INERTIA)、重心(COG)、慣量(WP_I)、重心各軸角度(ROT_ANGL_)、單側(cè)體積:測量位于基準平面一側(cè)的模型體積(ONE_SIDE_VOL)。6、關(guān)系(Relation)由關(guān)系式的定義加以約束某些特定的關(guān)聯(lián)性,以保持模型的一致性。例如,薄殼容器的容積inner的估算原則是:它等于薄殼產(chǎn)生前的實體體積solid減去薄殼產(chǎn)生后的實體體積shell。因此,必須在抽殼特征(ShellFeature)產(chǎn)生前、后分別測量實體體積,然后相減。表達式如下:{關(guān)系特征名稱}={參數(shù)名稱}:fid_{特征名稱}—{參數(shù)名稱}:fid_{特征名稱}例如

inner=one_side_vol:fid_solid—

one_side_vol:fid_shell

例7-1對圖示的容器進行

高度測量和容積分析。

1)打開已經(jīng)建立的容器造型文件(cb1.prt)及其模型樹(ModelTree)。

2)建立容器的液面和高度測量分析特征①單擊建立基準平面按鈕→在菜單管理器(MenuManager)中選擇偏距(Offset)方式→在模型中單擊容器底面FRONT作為參考面→單擊容器頂斜面最低處作為偏移距離→單擊菜單管理器(MenuManager)中Done,返回零件(PARA)菜單,生成基準面DTM1;

②單擊建立基準平面按鈕→在菜單管理器(MenuManager)中選擇偏距(Offset)方式→在模型中基準面DTM1作為參考面→單擊偏距(Offset)菜單中輸入值(EnterValue)選項,在基準面DTM1上出現(xiàn)向上箭頭(表示偏距方向)→在提示區(qū)的文本框中輸入偏距值“-25”→單擊文本框右邊的按鈕,生成基準面DTM2作為容器內(nèi)的液面;③單擊窗口右邊“分析特征”按鈕→打開分析(Analysis)對話框→輸入分析特征名稱cb1_gd,按回車鍵→選擇測量(Measure)→Next→打開測量(Measure)對話框→測量項目選擇距離(Distance)→單擊容器底面FRONT→單擊基準平面DTM1→在結(jié)果欄顯示“Distance=178.875”

,這就是容器底面到容器頂斜面最低處的距離→單擊Close,關(guān)閉測量(Measure)對話框→選擇按鈕,關(guān)閉分析(Analysis)對話框。在模型樹中已經(jīng)建立模型的高度測量分析特征CB1_gd。3)建立容器的容積分析特征容器的容積是抽殼前、后的體積差。從模型樹可見,模型抽殼特征是Shellid927。①模型抽殼前的體積(基準平面DTM1與底面FRONT之間)分析特征將模型樹最下面的插入模式(InsertMode)紅色箭頭拖放到Shellid927特征之前。這時模型顯示抽殼前的實體狀態(tài)。單擊“分析特征”按鈕→打開分析(Analysis)對話框→輸入分析特征名稱solid,按回車鍵→選擇模型分析(ModelAnalysis)→Next→打開模型分析(ModelAnalysis)對話框→測量項目選擇單側(cè)體積(One-SidedVolume)→單擊基準平面DTM1,出現(xiàn)一個向上箭頭→選擇菜單管理器(MenuManager)中方向(DIRECTION)項,單擊flip(反向),使箭頭反向朝下→單擊Compute按鈕→在結(jié)果欄顯示模型抽殼前的體積“1.918193e+06MM^3”

→單擊Close,關(guān)閉模型分析(ModelAnalysis)對話框→單擊按鈕,關(guān)閉分析(Analysis)對話框。在模型樹中已經(jīng)建立模型的高度測量分析特征SOLID。②模型抽殼后的體積(基準平面DTM1與底面FRONT之間)分析特征將模型樹中的插入模式(InsertMode)紅色箭頭拖放到Shellid927特征之后,按照上述方法建立模型抽殼后的體積分析特征SHELL,在結(jié)果欄顯示模型抽殼后的體積是“1.688492e+05MM^3”。③建立模型抽殼前、后體積差(基準平面DTM1與底面FRONT之間)的關(guān)系特征單擊“分析特征”按鈕→打開分析(Analysis)對話框→輸入分析特征名稱inner,按回車鍵→關(guān)系分析(Relation)→Next→打開關(guān)系編輯器→輸入關(guān)系式:Inner=one_side_vd:fid_one_side_vol:fid_shell

將關(guān)系文件(rel.ptd)存盤,關(guān)閉關(guān)系編輯器→返回分析(Analysis)對話框→單擊按鈕,關(guān)閉分析(Analysis)對話框。在模型樹中已經(jīng)建立模型的容積關(guān)系分析特征INNER。右擊模型樹中的容積關(guān)系分析特征INNER,在彈出的快捷菜單中選擇Info(信息)→特征(Feature)→打開信息窗口(INFORMATIONWINDOW(feature.inf)),顯示模型的容積是1.749343e+06MM^3。例7-2標定容器容量的可行性分析。從上例知容器的容積是1.749343e+06MM^3。如果處標定容器的容積是1.8e+06MM^3,要求確定容器基準平面DTM1與底面FRONT之間的距離。

將模型樹中的插入模式(InsertMode)紅色箭頭拖放到cb1_gd特征之后。單擊窗口上方下拉式功能菜單分析(Analysis)項→選擇可行性分析(FeasibilityAnalysis)/最優(yōu)化分析(OptimizationAnalysis)項→打開可行性分析(FeasibilityAnalysis)/最優(yōu)化分析(OptimizationAnalysis)對話框→在研究類型/名稱(StudyType/Name)中單選可行性(Feasibility)→

在設(shè)計約束(DesignConstraints)選項區(qū)中單擊增加(Add…)按鈕→在彈出的設(shè)計約束(DesignConstraints)對話框參數(shù)(Parameter)下拉列表中選擇INNER:INNER選項→選擇設(shè)置(Set)→在值(Value)的文本框中輸入數(shù)值“1.8e+06”,單擊確定(OK)按鈕,關(guān)閉參數(shù)(Parameter)對話框→在設(shè)計變量(DesignVariables)選項區(qū)中,單擊增加尺寸(AddDimension)按鈕→單擊模型中基準平面DTM1,出現(xiàn)尺寸標注178.875(基準平面DTM1與底面FRONT之間的距離)→單擊尺寸標注178.875→在設(shè)計變量(DesignVariables)選項區(qū)中出現(xiàn)“d14:CB1min160.987824max195.762896”,說明容器模型CB1高度尺寸d14=178.875改變的最小值與最大值限制范圍→單擊計算(Compute)按鈕,得到容器液面尺寸標注d14的標定值是“183.26”

,同時自動更新模型→單擊關(guān)閉(Close)按鈕,關(guān)閉可行性分析(FeasibilityAnalysis)/最優(yōu)化分析(OptimizationAnalysis)對話框,彈出確認模型修改(ConfirmModelChange)對話框→單擊確認(Confirm)按鈕,確認尺寸的修改。7.3MATLAB優(yōu)化工具箱MATLAB是由MathWorks公司于1984年推出的一套數(shù)值計算軟件,分為總包和若干個工具箱,可以實現(xiàn)數(shù)值分析、優(yōu)化、統(tǒng)計、偏微分方程數(shù)值解、自動控制、信號處理、圖像處理等若干個領(lǐng)域的計算和圖形顯示功能。它將不同數(shù)學分支的算法以函數(shù)的形式分類成庫,使用時直接調(diào)用這些函數(shù)并賦予實際參數(shù)就可以解決問題。Matlab的特點?編程語言簡單易學。?函數(shù)種類極多,編程工作量小。?計算功能強大,符號、數(shù)值的各種形式和規(guī)模的計算都能完成,強大的矩陣運算能力以及稀疏矩陣的處理能力使大型問題可以解決。?圖形表達功能強大。?可擴展性強,用戶可編輯自己的工具箱。Matlab的工具箱?ControlSystemToolbox?CurveFittingToolbox?FinancialToolbox?FinancialDerivativesToolbox?FinancialTimeSeriesToolbox?Fixed-IncomeToolbox?FuzzyLogicToolbox?GARCHToolbox?GeneticAlgorithmandDirectSearchToolbox?NeuralNetworkToolbox?OptimizationToolbox?StatisticsToolbox?SymbolicMathToolbox?SimulinkOptimizationToolboxMATLAB優(yōu)化工具箱(OptimizationToolbox)中包含有一系列優(yōu)化算法和模塊,可以用于求解約束線性最小二乘優(yōu)化、約束非線性或無約束非線性極小值問題、非線性最小二乘逼近和曲線擬合、非線性系統(tǒng)方程和復雜結(jié)構(gòu)的大規(guī)模優(yōu)化問題。處理優(yōu)化設(shè)計問題的分析和計算時,根據(jù)優(yōu)化設(shè)計的數(shù)學模型,按照所選用優(yōu)化工具函數(shù)的要求,輸入初始點,與約束條件相應(yīng)的約束函數(shù)和系數(shù)矩陣,將優(yōu)化工具函數(shù)作為“黑箱”調(diào)用,即可獲得與所有條件都相容的優(yōu)化結(jié)果。1、求解多維無約束優(yōu)化問題的

函數(shù)fminuncfminunc是基于梯度搜索法實現(xiàn)的優(yōu)化工具箱函數(shù),它的語法說明如下:

[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)

其中,輸出參數(shù)有:x是返回目標函數(shù)的最優(yōu)解;fval是返回目標函數(shù)在最優(yōu)解x點的函數(shù)值;exitflag是返回算法的終止標志;output是返回優(yōu)化算法的信息的一個數(shù)據(jù)結(jié)構(gòu);grad是返回目標函數(shù)在最優(yōu)解x點的梯度;hessian是返回目標函數(shù)在最優(yōu)解x點的hessian矩陣值。輸入?yún)?shù)有:fun是調(diào)用目標函數(shù)的函數(shù)文件名;x0是初始點;options是設(shè)置優(yōu)化選項參數(shù),包括有18個元素,用以在計算時控制精度要求、輸出形式、算法選擇、迭代次數(shù)、梯度等重要問題。可用空矩陣符號“[]”表示它的默認值;P1、P2等是傳遞給fun的附加參數(shù)。[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)

例7-3已知梯形截面管道的參數(shù)是:底邊長度為

,高度為

,面積

,斜邊與底邊的夾角為

。管道內(nèi)液體的流速與管道截面的周長

的倒數(shù)成比例關(guān)系。試按照使液體流速最大確定該管道的參數(shù)。

解:1、建立優(yōu)化設(shè)計的數(shù)學模型管道截面周長由管道截面面積得到底邊長度關(guān)系式

將它代入式管道截面周長的關(guān)系式中,得到

因此,取與管道截面周長有關(guān)的兩個獨立參數(shù)作為設(shè)計變量,即

為使液體流速最大,取管道截面周長最小作為目標函數(shù),即

這是一個二維無約束非線性優(yōu)化問題。

2、編制MATLAB目標函數(shù)文件

functionf=sc_wysyh(x)a=64516;f=a/x(1)-x(1)/tan(x(2)*pi/180)+2*x(1)/sin(x(2)*pi/180);

編制調(diào)用無約束優(yōu)化工具函數(shù)fminunc文件

x0=[25;45];[x,fval]=fminunc(@sc_wysyh,x0)

程序運行后得到優(yōu)化結(jié)果:

x=192.9983(梯形截面高度)

60.0000(梯形截面斜邊與底邊夾角)

fval=668.5656(梯形截面周長)

3、編制繪制目標函數(shù)等值線和曲面圖的程序

xx1=linspace(100,300,25);%在100到300間等分取25個點

xx2=linspace(30,120,25);[x1,x2]=meshgrid(xx1,xx2);%生成矩形域上網(wǎng)格節(jié)點矩陣f=64516./x1-x1./tan(x2*pi/180)+2*x1./sin(x2*pi/180);subplot(1,2,1);%在一個視窗內(nèi)生成a行b列個圖形,當前圖形為第c個h=contour(x1,x2,f);%畫f的等高線

clabel(h);%標注等高線的高度axis([10030030120])%用設(shè)定x和y軸的最小最大值來定義坐標軸

xlabel('高度

h(mm)')%為x軸命名

ylabel('傾斜角

(度)')%為y軸命名

title(‘目標函數(shù)等值線’)%圖形的標題

subplot(1,2,2);

surfc(x1,x2,f);%將等高線畫在光滑曲面的下方axis([100300301206001200])title('目標函數(shù)曲面圖')2、求解約束極小值問題的函數(shù)fminconfmincon是求解多維約束優(yōu)化問題

的優(yōu)化工具箱函數(shù)。它的語法說明如下:

[x,fval,exitflag,output,grad,hession]=

fmincon(@fun,x0,A,b,Aeq,beq,Lb,

Ub,‘Nlc’,options,P1,P2,…)

其中,輸入?yún)?shù)有:

x是返回目標函數(shù)的最優(yōu)解;

fval是返回目標函數(shù)在最優(yōu)解x點的函數(shù)值;

exitflag是返回算法的終止標志;

output是返回優(yōu)化算法的信息的一個數(shù)據(jù)結(jié)構(gòu);

grad是返回目標函數(shù)在最優(yōu)解x點的梯度;

hessian是是返回目標函數(shù)在最優(yōu)解x點的hessian矩陣值。輸出參數(shù)有:

fun是調(diào)用目標函數(shù)的函數(shù)文件名;

x0是初始點;線性不等式約束條件的系數(shù)矩陣A和常數(shù)向量b;線性等式約束條件的系數(shù)矩陣Aeq和常數(shù)向量beq;設(shè)計變量的下界向量Lb和上界向量Ub;‘Nlc’是定義非線性約束條件的函數(shù)名;

options是設(shè)置優(yōu)化選項參數(shù);

P1、P2等是傳遞給fun的附加參數(shù)。參數(shù)A,b,Aeq,beq,Lb,Ub,options如果沒有定義,可用空矩陣符號“[]”代替。[x,fval,exitflag,output,hession]=

fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,‘Nlc’,options,P1,P2,…)例7-4某二級斜齒圓柱齒輪減速器,高速級輸入功率

,轉(zhuǎn)速

;總傳動比

,齒輪寬度系數(shù)

,齒輪材料和熱處理:大齒輪45號鋼正火187~207HB,小齒輪45號鋼調(diào)質(zhì)228~255HB,工作壽命10年以上。要求按照總中心距

最小來確定齒輪傳動方案。解:將涉及總中心距

齒輪傳動方案的六個獨立參數(shù)作為設(shè)計變量式中,

分別為高速級和低速級齒輪副的模數(shù);分別為高速級和低速級小齒輪齒數(shù);為高速級傳動比;為齒輪副螺旋角。

減速器總中心距

最小的目標函數(shù)

性能約束包括:齒面接觸強度條件,齒根彎曲強度條件,高速級大齒輪與低速軸不干涉條件等。根據(jù)齒輪材料與熱處理規(guī)范,得到齒面許用接觸應(yīng)力和齒根許用彎曲應(yīng)力。根據(jù)傳遞功率和轉(zhuǎn)速,在齒輪強度計算條件中代入有關(guān)數(shù)據(jù):高速軸轉(zhuǎn)矩,中間軸轉(zhuǎn)矩,高速軸和低速軸載荷系數(shù)。邊界約束包括:根據(jù)傳遞功率與轉(zhuǎn)速估計高速級和低速級齒輪副模數(shù)的范圍;綜合考慮傳動平穩(wěn)、軸向力不能太大、軸齒輪的分度圓直徑不能太小與兩級傳動的大齒輪浸油深度大致相近等因素,估計兩級傳動大齒輪的齒數(shù)范圍、高速級傳動比范圍和齒輪副螺旋角范圍等。因此,建立了如下17個不等式約束條件。

高速級齒輪副接觸強度條件低速級齒輪副接觸強度條件高速級大齒輪齒根彎曲強度條件低速級大齒輪齒根彎曲強度大齒輪與軸不干涉條件高速級齒輪副模數(shù)的下限

高速級齒輪副模數(shù)的上限低速級齒輪副模數(shù)的下限低速級齒輪副模數(shù)的上限高速級小齒輪齒數(shù)的下限高速級小齒輪齒數(shù)的上限低速級小齒輪齒數(shù)的下限

低速級小齒輪齒數(shù)的上限高速級傳動比的下限高速級傳動比的上限齒輪副螺旋角的下限齒輪副螺旋角的上限這是一個有17個不等式約束的六維非線性優(yōu)化問題。

由~共12個線性不等式約束,列出各設(shè)計變量系數(shù)矩陣A的非零元素為

a(1,1)=-1;a(2,1)=1a(3,2)=-1;a(4,2)=1a(5,3)=-1;a(6,3)=1a(7,4)=-1;a(8,4)=1a(9,5)=-1;a(10,5)=1a(11,6)=-1;a(12,6)=1非線性不等式約束(性能約束)的常數(shù)向量

Ceq=0線性不等式約束(邊界約束)的常數(shù)向量

b=[-25,-3.5,6,-14,22,-16,22,-5.8,7,-0.1396,0.2618]-1000001000000-1000001000000-1000001000000-1000001000000-1000001000000-100000112x6設(shè)計變量的上界和下界lb=[2,3.5,14,16,5.8,0.1396]

ub=[5,

6,

22,22,7,

0.2618]沒有等式約束,故對應(yīng)的系數(shù)矩陣參數(shù)Aeq和常數(shù)向量參數(shù)beq定義為空矩陣符號“[]”。1、編制函數(shù)fmincon要調(diào)用的兩個函數(shù)文件:1)目標函數(shù)的函數(shù)文件jsq_f.m%兩級斜齒輪減速器總中心距的目標函數(shù)functionf=jsq_f(x);a1=x(1)*x(3)*(1+x(5));a2=x(2)*x(4)*(1+31.5/x(5));

cb=2*cos(x(6)*pi/180);f=(a1+a2)/cb;2)非線性不等式約束的函數(shù)文件jsq_y.m%非線性不等式約束函數(shù)(g1-g5)function[c,ceq]=jsq_y(x);c(1)=cos(x(6)*pi/180).^3-3.079e-6*x(1).^3*x(3).^3*x(5);c(2)=x(5).^2*cos(x(6)*pi/180).^3-1.701e-4*x(2).^3*x(4).^3;c(3)=cos(x(6)*pi/180).^2-9.939e-5*(1+x(5))*x(1).^3*x(3).^2;c(4)=x(5).^2*cos(x(6)*pi/180).^2-1.076e-4*(31.5+x(5))*x(2).^3*x(4).^2;c(5)=x(5)*(2*(x(1)+50)*cos(x(6)*pi/180)+x(1)*x(2)*x(3))-x(2)*x(4)*(31.5+x(5));ceq=[];2、編制調(diào)用目標函數(shù)與非線性約束的函數(shù)文件jsq_fy.m%調(diào)用目標函數(shù)文件與非線性約束文件%設(shè)計變量的初始值x0=[2;4;18;20;6.4;10];%設(shè)計變量的下界與上界lb=[2;3.5;14;16;5.8;8];ub=[5;6;22;22;7;15];%線性不等式約束(g6-g17)中設(shè)計變量的系數(shù)矩陣a=zeros(12,6);a(1,1)=-1;a(2,1)=1;a(3,2)=-1;a(4,2)=1;a(5,3)=-1;a(6,3)=1;a(7,4)=-1;a(8,4)=1;a(9,5)=-1;a(10,5)=1;a(11,6)=-1;a(12,6)=1;%線性不等式約束中常數(shù)項列陣b=[-2;5;-3.5;6;-14;22;-16;22;-5.8;7;-8;15];%調(diào)用多維約束優(yōu)化函數(shù)%等式約束參數(shù)Aeq,beq定義為空矩陣符號“[]”[x,fval]=fmincon(@jsq_f,x0,a,b,[],[],lb,ub,@jsq_y)

x=2.0456(高速級齒輪副模數(shù))

3.6059(低速級齒輪副模數(shù))

18.5206(高速級小齒輪齒數(shù))

16.0000(低速級小齒輪齒數(shù))

5.8000(高速級傳動比)

8.0000(齒輪副螺旋角)fval=317.4186(兩級斜齒輪傳動總中心距)

3、程序運行結(jié)果4、優(yōu)化結(jié)果處理經(jīng)檢驗,最優(yōu)點位于性能約束

、

和邊界約束

、

、

的交集。高速級和低速級齒輪副模數(shù)按照規(guī)范圓整為標準值

;高速級小齒輪齒數(shù)圓整為整數(shù)

;根據(jù)高速級傳動比

,則高速級大齒輪齒數(shù)為

;根據(jù)低速級傳動比

,計算出低速級大齒輪齒數(shù)為

;減速器總中心距

如果將減速器總中心距圓整為

,則齒輪副螺旋角調(diào)整為

。

7.4LINGO軟件簡介功能與界面建立線性優(yōu)化模型結(jié)果分析敏感性分析7.4.1LINGO軟件簡介

LINGO8.0試用版,最多可求解包括300個變量和150個約束的線性規(guī)劃問題。

LINDO和LINGO是美國LINDOSystemsInc系統(tǒng)公司開發(fā)的一套專門用于求解最優(yōu)化問題的軟件包。LINDO用于求解線性規(guī)劃和二次規(guī)劃,LINGO除有LINDO的全部功能外,還可求解非線性規(guī)劃,也可以用于一些線性和非線性方程組的求解以及代數(shù)方程求根等。兩大軟件的最大特色在于可以允許優(yōu)化模型中的決策變量是整數(shù)(即整數(shù)規(guī)劃),而且執(zhí)行速度很快。LINGO實際上還是最優(yōu)化問題的一種建模語言,包括許多常用的函數(shù)可供使用者建立優(yōu)化模型時調(diào)用,并提供與其它數(shù)據(jù)文件(如文本文件、EXCEL電子表格文件、數(shù)據(jù)庫文件等)的接口,易于方便地輸入、求解和分析大規(guī)模最優(yōu)化問題。由于這些特點,LINDO和LINGO軟件在教學、科研和工業(yè)、商業(yè)、服務(wù)等領(lǐng)域得到廣泛應(yīng)用。

。

LINGO的求解機制與結(jié)果類型求解機制:LINGO的求解線性規(guī)劃問題采用單純形法或內(nèi)點法結(jié)果類型不可行(Nofeasiblesolution)可行(Feasible)

有最優(yōu)解(OptimalSolution)

解無界(UnboundedSolution)7.4.2LINGO界面

LINGO菜單LINGO/Solve:將當前模型送入內(nèi)存求解。LINGO/Solution:指定查看當前內(nèi)存中求解結(jié)果的某些內(nèi)容。LINGO/Range:產(chǎn)生當前模型的靈敏性分析報告,運用前應(yīng)先激活靈敏性分析(運行LINGO/Options…,選擇GeneralSolverTab,在DualComputations列表框中,選擇PricesandRanges選項)

LINGO/Look:查看全部的或選中的模型文本內(nèi)容。選項卡——通用求解器對偶計算內(nèi)容:對偶價格及敏感性分析選項卡——線性求解器求解時的算法:自動選擇算法原始單純形法對偶單純形法內(nèi)點法7.4.3建立線性優(yōu)化模型農(nóng)藥管理問題max=140*x1+100*x2;0.9*x1+0.5*x2<=632.5;x1+x2<=1000;書寫格式:注意事項書寫模型的原形,因為LINGO可以自動將原形轉(zhuǎn)化為標準形不必輸入非負約束,因為LINGO默認變量非負算術(shù)運算符:^(乘方),﹡(乘)每一行都要以分號“;”結(jié)束7.4.4結(jié)果分析求解器狀態(tài)窗口計算結(jié)果窗口求解器狀態(tài)窗口更新時間間隔

變量數(shù)

約束數(shù)

非零系數(shù)的數(shù)目內(nèi)存使用模型類型LP,QP,ILP,NLP…計算結(jié)果表示2次迭代后得到全局最優(yōu)解

最優(yōu)值最優(yōu)解變量微小變動時,目標函數(shù)的變化

第2、3、...行分別對應(yīng)第1、2、…個約束對偶價格

第1行表示目標函數(shù)松馳變量的值

ReducedCost基變量的reducecost值應(yīng)為0,對于非基變量Xj相應(yīng)的reducecost值表示Xj增加一個單位(此時假定其他非基變量保持不變)時目標函數(shù)減小的量(max型問題)。RreduceCost值為0時,表示微小擾動不影響目標函數(shù)。DualPrice“DualPrice”表示當對應(yīng)約束有微小變動時,目標函數(shù)的變化率,輸出結(jié)果中對應(yīng)每一個約束有一個對偶價格。例如本例中,土地面積增加1個單位,目標函數(shù)將增加50個單位(max型問題)。

7.4.5靈敏度分析

靈敏度分析的內(nèi)容:目標函數(shù)系數(shù)在什么范圍變化時(此時假定其它系數(shù)保持不變),最優(yōu)解不變化約束右端項在什么范圍變化時(此時假定其它系數(shù)保持不變),對應(yīng)項約束的對偶價格(邊際值)不變。

靈敏度分析結(jié)果當前目標函數(shù)系數(shù)取值當前約束右邊項取值允許增加值允許減少值ObjectiveCoefficientRanges對本例而言:種植蔬菜(x1)的凈收益在100~180范圍內(nèi)變化時,最優(yōu)解不變種植糧食(x2)的凈收益在88.8~140范圍內(nèi)變化時,最優(yōu)解不變ObjectiveCoefficientRangesCurrentAllowableAllowableVariableCoefficientIncreaseDecreaseX1140.000040.0000040.00000X2100.000040.0000022.22222RighthandSideRanges對本例而言:入湖農(nóng)藥限量(約束1)在500~900范圍內(nèi)變化時,農(nóng)藥限制量的對偶價格(邊際值)不變=100種植面積(約束2)在702.8~1265范圍內(nèi)變化時,種植面積的對偶價格(邊際值)不變=50RighthandSideRangesRowCurrentAllowableAllowableRHSIncreaseDecrease2632.5000267.5000132.500031000.000265.0000297.2222注意對某個目標函數(shù)系數(shù)或約束項進行靈敏度分析時,假設(shè)其它系數(shù)和約束條件不變靈敏性分析給出的只是最優(yōu)解或?qū)ε純r格保持不變的充分條件,而不一定是必要條件。一般而言,當變化超出靈敏性分析給出范圍時,最優(yōu)解或?qū)ε純r格是否改變,不能從靈敏性分析報告中直接得到的。此時,應(yīng)該重新用新數(shù)據(jù)求解規(guī)劃模型,才能做出判斷7.5ANSYS優(yōu)化模塊7.5.1優(yōu)化模塊中的三大變量:設(shè)計變量(DV):即自變量。ANSYS優(yōu)化模塊中允許定義不超過60個設(shè)計變量。狀態(tài)變量(SV):用來體現(xiàn)優(yōu)化的邊界條件,是設(shè)計變量的函數(shù)。目標函數(shù)(OBJ):最終的優(yōu)化目的。它必須是設(shè)計變量的函數(shù),而且只能求其最小值。7.5.2ANSYS優(yōu)化模塊中的兩種求解模式ANSYS優(yōu)化模塊的求解有兩種運行模式,一是在GUI方式下運行,即已打開ANSYS的分析界面后進行分析;另一種是Batch模式,無需打開ANSYS分析界面,后臺運行求解。GUI方式運行涉及到兩個重要的文件:

*.inp

的ANSYS分析文件,對于一個工程問題,該文件中包括參數(shù)定義、參數(shù)建模、求解、結(jié)果提取、目標函數(shù)賦值的一個全過程(由于優(yōu)化求解是一個不斷跌代的過程,ANSYS分析文件其實是包涵了一個完整的循環(huán))。

另一個文件是*.inp

的優(yōu)化控制文件,基本語句是定義三大變量、優(yōu)化方式、優(yōu)化控制等。有了這樣兩個文件,簡單的在命令窗口把優(yōu)化控制文件輸入進去(其中的opanl

命令會自動調(diào)用指定的ANSYS分析文件),就可以完成整個優(yōu)化過程。以上是完全使用命令流的GUI方式,另外可在菜單中進行優(yōu)化過程的定制,但沒有命令流方式快捷。另一種方式是后臺運行的Batch方式,它只需要一個輸入命令流文件(batch文件)。該文件可以簡單的把GUI方式下ANSYS分析文件和優(yōu)化控制文件合并得到。例:當水杯高度和杯底直徑為多少時,能在原料耗費最少的情況下使杯子的容積最大。分析文件File:volu.inpR=1H=1S=2*3.14*R*H+2*3.14*R*RV=10000/(3.14*R*R*H)水杯初始半徑為R=1,高度為H=1(DV),且假設(shè)水杯表面積不能大于100。建立一優(yōu)化分析文件optvolu.inpFile:optvolu.inp/clear,nostart/input,volu,inp/optopanl,volu,inpopvar,R,dv,1,10,1e-2opvar,H,dv,1,10,1e-2opvar,S,sv,,100,1e-2opvar,V,obj,,,1e-2opkeep,onoptype,subpopsave,optvolu,opt0opexec運行及結(jié)果在Ansys命令輸入框中鍵入/input,optvolu,inp/optoptlist,all

優(yōu)化結(jié)果合并、處理上例,得到Batch方式下需要的batch文件File:batch.inpR=1H=1S=2*3.14*R*H+2*3.14*R*RV=10000/(3.14*R*R*H)/optopvar,R,dv,1,10,1e-2opvar,H,dv,1,10,1e-2opvar,S,sv,,100,1e-2opvar,V,obj,,,1e-2opkeep,onoptype,subpopsave,optvolu,opt0opexec用來要求保留最優(yōu)解的DB執(zhí)行優(yōu)化指定優(yōu)化方法注意:1、需要把optanl

語句去掉,因為在batch文件中,不需要提供ANSYS分析文件名字,系統(tǒng)默認batch文件中/opt語句以前的所有部分為ANSYS分析文件內(nèi)容。2、以前為防止在GUI方式下的重新定義錯誤而引入的一些語句,如/cle,nostart

需要去除。假定batch.inp

在目錄bvolu

下,在cmd

命令行方式下進入bvolu

目錄,執(zhí)行命令:ansys61-b-jbvolu-pane3flds-ibatch.inp–ooutput.txt

命令中-b參數(shù)指定用batch模式求解;

-jbvolu

參數(shù)指定該求解默認工作名字為bvolu(不指定就默認為file)-pane3flds參數(shù)指定使用ANSYS/Multiphysics/LS-DYNA求解器

-ibatch.inp

參數(shù)指定輸入batch文件為batch.inp-ooutput.txt參數(shù)指定把輸出導向到output.txt中,便于查看過程糾錯運行結(jié)果可看output.txt文件

——文件output.txt中的一部分數(shù)據(jù)>>>>>>SOLUTIONHASCONVERGEDTOPOSSIBLEOPTIMUM<<<<<<

(BASEDONDVTOLERANCESBETWEENFINALTWODESIGNS)FINALVARIABLESARESET22(FEASIBLE)S(SV)99.997R(DV)2.2851H(DV)4.6830V(OBJ)130.23

其結(jié)果與用GUI方式求解完全一樣,生成的bvolu.opt

文件中也有最優(yōu)解的信息,同時還能看到求解整個參數(shù)迭代求解過程。ANSYS優(yōu)化設(shè)計的萬能三步曲如圖一帶孔薄板,長4000mm,寬2000mm,頂部中心部分1800mm處受壓力42MP,左右兩長圓孔中心分別踞四周1000mm。設(shè)長圓長軸與水平方向夾角為α。為使得孔邊緣應(yīng)力集中最小,要求α∈[0,π/2],以在固定H的情況下達到長圓孔周圍應(yīng)力集中最小。問題描述:長圓孔的具體形式薄板受壓的模型圖1構(gòu)建優(yōu)化分析文件File:circle.inpPI=3.14159My_H=150My_sita=45sita=My_sita/180*PIr=0.2H=My_H/1000!CustomizetheEnvironmentkeyw,pr_struc,1/prep7et,1,shell63r,1,0.12,0.12,0.12,0.12uimp,1,ex,dens,nuxy,2.1e9,1.2,0.375!Modeling!Createplatek,1,0,0k,2,2,0k,3,2,2k,4,0,2k,5,0.9,2k,6,1,1l,1,2l,2,3My_sita:表征角αMy_H:表征高度H(兩者的初始值分別為0°和100mm)Mysmax:孔邊緣最大應(yīng)力值優(yōu)化分析文件(續(xù))arsym,x,2,,,,0,0nummer,all,,,,lowaadd,1,2/auto,1gplot!Meshingtheplanesmrt,6amesh,all!AddDOFDK,2,UX,0,,,UYDK,14,UX,0,,,UY!AddPressureSFL,4,PRES,42SFL,11,PRES,42/solusolve/post1ar11=ndinqr(0,14)_s1=*dim,_s1,,ar11*vget,_s1(1),node,1,s,1*vscfun,mysmax,max,_s1(1)l,3,5l,5,4l,4,1al,1,2,3,4,5!Createhole!Createmycoordinatek,7,1+H*cos(sita),1+H*sin(sita)k,10,1+H*cos(sita),1+H*sin(sita),100k,8,1+r*cos(sita+PI/2),1+r*sin(sita+PI/2)cskp,11,0,6,7,8csys,11!CreateHolek,9,H,rl,7,9l,7,6adrag,6,,,,,,7arotat,6,,,,,,7,10,-90arsys,y,2,3,1arsym,x,2,5,1aadd,2,3,4,5,6,7,8,9asba,1,10csys,02構(gòu)建優(yōu)化控制文件File:optcircle.inp/optopclrfini/clear,nostart/input,circle,inp/optopanl,circle,inpopvar,My_sita,dv,0,90opvar,H,dv,100,200opvar,mysmax,objopkeep,onoptype,subpopsave,optcircle,opt0opexec3優(yōu)化求解打開ANSYS的GUI界面,輸入/input,optcircle,inp,開始求解。計算結(jié)果最優(yōu)解在α=48.422°,H=161.79附近。7.6幾種計算工具比較常用的數(shù)學軟件?Matlab、Mathematica、Maple、MathCAD、SPSS、SAS、Lingo、Lindo、OriginMathematica

簡介?Mathematica

是美國Wolfram研究公司生產(chǎn)的一種數(shù)學分析型的軟件,以符號計算見長,也具有高精度的數(shù)值計算功能和強大的圖形功能。Mathematica的特點?輸入簡便,輸入和輸出很直觀。?符號運算功能強大?數(shù)值運算精度高?圖形功能強大,圖樣美觀EXCEL簡介Excel是一種“電子表格程序”,它是一種可以用來記錄、分析以及呈現(xiàn)數(shù)量信息

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論