第四章 优化计算工具简介_第1页
第四章 优化计算工具简介_第2页
第四章 优化计算工具简介_第3页
第四章 优化计算工具简介_第4页
第四章 优化计算工具简介_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2005年6月优化计算工具目录1-OPB-2优化设计程序库2-基于PROE的行为建模3-MATLAB优化工具包4-LINGO软件5-ANSYS优化模块6-几种计算工具比较7-ISIGHT多学科优化平台7.1OPB-2优化设计程序库总体结构

OPB-X(1,2,3)是一个优化程序库。OPB-2以求解混合离散变量的设计问题为主,它在OPB-1的基础上增加了多目标优化设计、结构优化设计、形状优化设计及常用机械零部件与机构的优化设计等内容。OPB-2总体结构OPB-2混合离散变量优化设计方法及程序DOPB连续变量优化设计方法及程序COPB多目标优化设计方法及程序MOOP结构优化设计方法及程序OOSOP优化设计数学模型的前处理分析专家系统ESAMN1机械零部件及机构的优化设计程序MDS1.0约束变尺度法及程序CVM01拟牛顿乘子法及程序QNM01可行约束变尺度法及程序CVMFD1采用拟梯度的序列二次规划法及程序CVMQG1单调性分析的序列二次规划法及程序CVMQG1广义简约梯度法及程序GRG-2及GRG-C混合罚函数法及程序MPOP混合离散优化的综合求解策略及程序库MDOP2.0混合离散优化遗传基因算法及程序库MDOP2.1人工神经网络优化算法及程序库MDOP3.0混合离散优化方法及程序CVM02拟离散序列二次规划法及程序CVM03基于人工智能技术的离散二次规划法及程序MQRA1混合离散变量优化方法及程序的考核程序包基于工程软件的优化分析当前世界上流行的一些主流工程软件,一般具有结构参数优化分析和设计的功能。在掌握工程设计问题优化设计的基础知识和熟悉工程软件有关功能的基础上,可以在工程软件系统平台上,对产品在三维造型进行结构参数优化分析,使CAD过程智能化;或是调用工程软件的优化工具箱函数,简洁方便地解决工程优化设计问题。

7.2基于PRO/ENGINEER

行为建模的结构参数优化

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

Pro/ENGINEER扩展的功能模块,它极大地扩展了PTC软件的参数化设计功能,使CAD软件不但可以用于造型,而且能够进行智能设计,自动寻找最优解决方案。行为建模作为一种参数化设计的分析工具,需要建立分析特征(AnalysisFeature),利用分析特征对模型进行若干的物理性质、曲线性质、曲面性质、运动性质等参数的测量。在特征参数(FeatureParameter)的产生和作用下,明确定义设计变量与设计目标后,通过约束参数的设定,从中系统会寻找出合理的模型参数,并且通过改变参数来修改模型结构形状,使设计过程智能化。

行为建模与参数分析过程

7.2.2分析特征分析特征(AnalysisFeature)属于基准特征(DatumFeature)的一种,其目的是对要设计优化或可行的参数(如物理特征、曲线特征、曲面特征、运动特征等参数)进行分析,建立模型分析参数。建立分析特征的方法是,建立模型文件后,单击窗口右边“分析特征”按钮,或者选择菜单栏中的“插入”

→“基准”

→“分析”命令,系统弹出分析(Analysis)对话框。分析(Analysis)对话框的功能菜单内容包括了分析特征(AnalysisFeature)功能的八项类型(Type):测量(Measure)模型分析(ModelAnalysis)曲线分析(CurveAnalysis)曲面分析(SurfaceAnalysis)自定分析(UDA)关系(Relation)运动分析

(MotionAnalysis)电子表格分析(ExcelAnalysis)1、测量(Measure)在模型上进行度量,将测量结果建立参数(Parameter)进而产生分析基准(AnalysisDatum)。

测量类型内容包括:曲线长度(LENGTH)、距离(DISTANCE)、角度(ANGLE)、面积(AREA)、直径(DIAMETER)。2、模型分析(ModelAnalysis)在模型上进行各种物理量的计算,将测量结果建立参数(Parameter),进而产生分析基准(AnalysisDatum)。模型分析内容包括:测量模型体积(VOLUME)、模型表面积(SURF­_AREA)、模型质量(MASS)、主惯性矩(INERTIA)、重心(COG)、惯量(WP_I)、重心各轴角度(ROT_ANGL_)、单侧体积:测量位于基准平面一侧的模型体积(ONE_SIDE_VOL)。6、关系(Relation)由关系式的定义加以约束某些特定的关联性,以保持模型的一致性。例如,薄壳容器的容积inner的估算原则是:它等于薄壳产生前的实体体积solid减去薄壳产生后的实体体积shell。因此,必须在抽壳特征(ShellFeature)产生前、后分别测量实体体积,然后相减。表达式如下:{关系特征名称}={参数名称}:fid_{特征名称}—{参数名称}:fid_{特征名称}例如

inner=one_side_vol:fid_solid—

one_side_vol:fid_shell

例7-1对图示的容器进行

高度测量和容积分析。

1)打开已经建立的容器造型文件(cb1.prt)及其模型树(ModelTree)。

2)建立容器的液面和高度测量分析特征①单击建立基准平面按钮→在菜单管理器(MenuManager)中选择偏距(Offset)方式→在模型中单击容器底面FRONT作为参考面→单击容器顶斜面最低处作为偏移距离→单击菜单管理器(MenuManager)中Done,返回零件(PARA)菜单,生成基准面DTM1;

②单击建立基准平面按钮→在菜单管理器(MenuManager)中选择偏距(Offset)方式→在模型中基准面DTM1作为参考面→单击偏距(Offset)菜单中输入值(EnterValue)选项,在基准面DTM1上出现向上箭头(表示偏距方向)→在提示区的文本框中输入偏距值“-25”→单击文本框右边的按钮,生成基准面DTM2作为容器内的液面;③单击窗口右边“分析特征”按钮→打开分析(Analysis)对话框→输入分析特征名称cb1_gd,按回车键→选择测量(Measure)→Next→打开测量(Measure)对话框→测量项目选择距离(Distance)→单击容器底面FRONT→单击基准平面DTM1→在结果栏显示“Distance=178.875”

,这就是容器底面到容器顶斜面最低处的距离→单击Close,关闭测量(Measure)对话框→选择按钮,关闭分析(Analysis)对话框。在模型树中已经建立模型的高度测量分析特征CB1_gd。3)建立容器的容积分析特征容器的容积是抽壳前、后的体积差。从模型树可见,模型抽壳特征是Shellid927。①模型抽壳前的体积(基准平面DTM1与底面FRONT之间)分析特征将模型树最下面的插入模式(InsertMode)红色箭头拖放到Shellid927特征之前。这时模型显示抽壳前的实体状态。单击“分析特征”按钮→打开分析(Analysis)对话框→输入分析特征名称solid,按回车键→选择模型分析(ModelAnalysis)→Next→打开模型分析(ModelAnalysis)对话框→测量项目选择单侧体积(One-SidedVolume)→单击基准平面DTM1,出现一个向上箭头→选择菜单管理器(MenuManager)中方向(DIRECTION)项,单击flip(反向),使箭头反向朝下→单击Compute按钮→在结果栏显示模型抽壳前的体积“1.918193e+06MM^3”

→单击Close,关闭模型分析(ModelAnalysis)对话框→单击按钮,关闭分析(Analysis)对话框。在模型树中已经建立模型的高度测量分析特征SOLID。②模型抽壳后的体积(基准平面DTM1与底面FRONT之间)分析特征将模型树中的插入模式(InsertMode)红色箭头拖放到Shellid927特征之后,按照上述方法建立模型抽壳后的体积分析特征SHELL,在结果栏显示模型抽壳后的体积是“1.688492e+05MM^3”。③建立模型抽壳前、后体积差(基准平面DTM1与底面FRONT之间)的关系特征单击“分析特征”按钮→打开分析(Analysis)对话框→输入分析特征名称inner,按回车键→关系分析(Relation)→Next→打开关系编辑器→输入关系式:Inner=one_side_vd:fid_one_side_vol:fid_shell

将关系文件(rel.ptd)存盘,关闭关系编辑器→返回分析(Analysis)对话框→单击按钮,关闭分析(Analysis)对话框。在模型树中已经建立模型的容积关系分析特征INNER。右击模型树中的容积关系分析特征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)/最优化分析(OptimizationAnalysis)项→打开可行性分析(FeasibilityAnalysis)/最优化分析(OptimizationAnalysis)对话框→在研究类型/名称(StudyType/Name)中单选可行性(Feasibility)→

在设计约束(DesignConstraints)选项区中单击增加(Add…)按钮→在弹出的设计约束(DesignConstraints)对话框参数(Parameter)下拉列表中选择INNER:INNER选项→选择设置(Set)→在值(Value)的文本框中输入数值“1.8e+06”,单击确定(OK)按钮,关闭参数(Parameter)对话框→在设计变量(DesignVariables)选项区中,单击增加尺寸(AddDimension)按钮→单击模型中基准平面DTM1,出现尺寸标注178.875(基准平面DTM1与底面FRONT之间的距离)→单击尺寸标注178.875→在设计变量(DesignVariables)选项区中出现“d14:CB1min160.987824max195.762896”,说明容器模型CB1高度尺寸d14=178.875改变的最小值与最大值限制范围→单击计算(Compute)按钮,得到容器液面尺寸标注d14的标定值是“183.26”

,同时自动更新模型→单击关闭(Close)按钮,关闭可行性分析(FeasibilityAnalysis)/最优化分析(OptimizationAnalysis)对话框,弹出确认模型修改(ConfirmModelChange)对话框→单击确认(Confirm)按钮,确认尺寸的修改。7.3MATLAB优化工具箱MATLAB是由MathWorks公司于1984年推出的一套数值计算软件,分为总包和若干个工具箱,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能。它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以解决问题。Matlab的特点•编程语言简单易学。•函数种类极多,编程工作量小。•计算功能强大,符号、数值的各种形式和规模的计算都能完成,强大的矩阵运算能力以及稀疏矩阵的处理能力使大型问题可以解决。•图形表达功能强大。•可扩展性强,用户可编辑自己的工具箱。Matlab的工具箱•ControlSystemToolbox•CurveFittingToolbox•FinancialToolbox•FinancialDerivativesToolbox•FinancialTimeSeriesToolbox•Fixed-IncomeToolbox•FuzzyLogicToolbox•GARCHToolbox•GeneticAlgorithmandDirectSearchToolbox•NeuralNetworkToolbox•OptimizationToolbox•StatisticsToolbox•SymbolicMathToolbox•SimulinkOptimizationToolboxMATLAB优化工具箱(OptimizationToolbox)中包含有一系列优化算法和模块,可以用于求解约束线性最小二乘优化、约束非线性或无约束非线性极小值问题、非线性最小二乘逼近和曲线拟合、非线性系统方程和复杂结构的大规模优化问题。处理优化设计问题的分析和计算时,根据优化设计的数学模型,按照所选用优化工具函数的要求,输入初始点,与约束条件相应的约束函数和系数矩阵,将优化工具函数作为“黑箱”调用,即可获得与所有条件都相容的优化结果。1、求解多维无约束优化问题的

函数fminuncfminunc是基于梯度搜索法实现的优化工具箱函数,它的语法说明如下:

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

其中,输出参数有:x是返回目标函数的最优解;fval是返回目标函数在最优解x点的函数值;exitflag是返回算法的终止标志;output是返回优化算法的信息的一个数据结构;grad是返回目标函数在最优解x点的梯度;hessian是返回目标函数在最优解x点的hessian矩阵值。输入参数有:fun是调用目标函数的函数文件名;x0是初始点;options是设置优化选项参数,包括有18个元素,用以在计算时控制精度要求、输出形式、算法选择、迭代次数、梯度等重要问题。可用空矩阵符号“[]”表示它的默认值;P1、P2等是传递给fun的附加参数。[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)

例7-3已知梯形截面管道的参数是:底边长度为

,高度为

,面积

,斜边与底边的夹角为

。管道内液体的流速与管道截面的周长

的倒数成比例关系。试按照使液体流速最大确定该管道的参数。

解:1、建立优化设计的数学模型管道截面周长由管道截面面积得到底边长度关系式

将它代入式管道截面周长的关系式中,得到

因此,取与管道截面周长有关的两个独立参数作为设计变量,即

为使液体流速最大,取管道截面周长最小作为目标函数,即

这是一个二维无约束非线性优化问题。

2、编制MATLAB目标函数文件

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);

编制调用无约束优化工具函数fminunc文件

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

程序运行后得到优化结果:

x=192.9983(梯形截面高度)

60.0000(梯形截面斜边与底边夹角)

fval=668.5656(梯形截面周长)

3、编制绘制目标函数等值线和曲面图的程序

xx1=linspace(100,300,25);%在100到300间等分取25个点

xx2=linspace(30,120,25);[x1,x2]=meshgrid(xx1,xx2);%生成矩形域上网格节点矩阵f=64516./x1-x1./tan(x2*pi/180)+2*x1./sin(x2*pi/180);subplot(1,2,1);%在一个视窗内生成a行b列个图形,当前图形为第c个h=contour(x1,x2,f);%画f的等高线

clabel(h);%标注等高线的高度axis([10030030120])%用设定x和y轴的最小最大值来定义坐标轴

xlabel('高度

h(mm)')%为x轴命名

ylabel('倾斜角

(度)')%为y轴命名

title(‘目标函数等值线’)%图形的标题

subplot(1,2,2);

surfc(x1,x2,f);%将等高线画在光滑曲面的下方axis([100300301206001200])title('目标函数曲面图')2、求解约束极小值问题的函数fminconfmincon是求解多维约束优化问题

的优化工具箱函数。它的语法说明如下:

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

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

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

其中,输入参数有:

x是返回目标函数的最优解;

fval是返回目标函数在最优解x点的函数值;

exitflag是返回算法的终止标志;

output是返回优化算法的信息的一个数据结构;

grad是返回目标函数在最优解x点的梯度;

hessian是是返回目标函数在最优解x点的hessian矩阵值。输出参数有:

fun是调用目标函数的函数文件名;

x0是初始点;线性不等式约束条件的系数矩阵A和常数向量b;线性等式约束条件的系数矩阵Aeq和常数向量beq;设计变量的下界向量Lb和上界向量Ub;‘Nlc’是定义非线性约束条件的函数名;

options是设置优化选项参数;

P1、P2等是传递给fun的附加参数。参数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某二级斜齿圆柱齿轮减速器,高速级输入功率

,转速

;总传动比

,齿轮宽度系数

,齿轮材料和热处理:大齿轮45号钢正火187~207HB,小齿轮45号钢调质228~255HB,工作寿命10年以上。要求按照总中心距

最小来确定齿轮传动方案。解:将涉及总中心距

齿轮传动方案的六个独立参数作为设计变量式中,

分别为高速级和低速级齿轮副的模数;分别为高速级和低速级小齿轮齿数;为高速级传动比;为齿轮副螺旋角。

减速器总中心距

最小的目标函数

性能约束包括:齿面接触强度条件,齿根弯曲强度条件,高速级大齿轮与低速轴不干涉条件等。根据齿轮材料与热处理规范,得到齿面许用接触应力和齿根许用弯曲应力。根据传递功率和转速,在齿轮强度计算条件中代入有关数据:高速轴转矩,中间轴转矩,高速轴和低速轴载荷系数。边界约束包括:根据传递功率与转速估计高速级和低速级齿轮副模数的范围;综合考虑传动平稳、轴向力不能太大、轴齿轮的分度圆直径不能太小与两级传动的大齿轮浸油深度大致相近等因素,估计两级传动大齿轮的齿数范围、高速级传动比范围和齿轮副螺旋角范围等。因此,建立了如下17个不等式约束条件。

高速级齿轮副接触强度条件低速级齿轮副接触强度条件高速级大齿轮齿根弯曲强度条件低速级大齿轮齿根弯曲强度大齿轮与轴不干涉条件高速级齿轮副模数的下限

高速级齿轮副模数的上限低速级齿轮副模数的下限低速级齿轮副模数的上限高速级小齿轮齿数的下限高速级小齿轮齿数的上限低速级小齿轮齿数的下限

低速级小齿轮齿数的上限高速级传动比的下限高速级传动比的上限齿轮副螺旋角的下限齿轮副螺旋角的上限这是一个有17个不等式约束的六维非线性优化问题。

由~共12个线性不等式约束,列出各设计变量系数矩阵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非线性不等式约束(性能约束)的常数向量

Ceq=0线性不等式约束(边界约束)的常数向量

b=[-25,-3.5,6,-14,22,-16,22,-5.8,7,-0.1396,0.2618]-1000001000000-1000001000000-1000001000000-1000001000000-1000001000000-100000112x6设计变量的上界和下界lb=[2,3.5,14,16,5.8,0.1396]

ub=[5,

6,

22,22,7,

0.2618]没有等式约束,故对应的系数矩阵参数Aeq和常数向量参数beq定义为空矩阵符号“[]”。1、编制函数fmincon要调用的两个函数文件:1)目标函数的函数文件jsq_f.m%两级斜齿轮减速器总中心距的目标函数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)非线性不等式约束的函数文件jsq_y.m%非线性不等式约束函数(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、编制调用目标函数与非线性约束的函数文件jsq_fy.m%调用目标函数文件与非线性约束文件%设计变量的初始值x0=[2;4;18;20;6.4;10];%设计变量的下界与上界lb=[2;3.5;14;16;5.8;8];ub=[5;6;22;22;7;15];%线性不等式约束(g6-g17)中设计变量的系数矩阵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;%线性不等式约束中常数项列阵b=[-2;5;-3.5;6;-14;22;-16;22;-5.8;7;-8;15];%调用多维约束优化函数%等式约束参数Aeq,beq定义为空矩阵符号“[]”[x,fval]=fmincon(@jsq_f,x0,a,b,[],[],lb,ub,@jsq_y)

x=2.0456(高速级齿轮副模数)

3.6059(低速级齿轮副模数)

18.5206(高速级小齿轮齿数)

16.0000(低速级小齿轮齿数)

5.8000(高速级传动比)

8.0000(齿轮副螺旋角)fval=317.4186(两级斜齿轮传动总中心距)

3、程序运行结果4、优化结果处理经检验,最优点位于性能约束

和边界约束

的交集。高速级和低速级齿轮副模数按照规范圆整为标准值

;高速级小齿轮齿数圆整为整数

;根据高速级传动比

,则高速级大齿轮齿数为

;根据低速级传动比

,计算出低速级大齿轮齿数为

;减速器总中心距

如果将减速器总中心距圆整为

,则齿轮副螺旋角调整为

7.4LINGO软件简介功能与界面建立线性优化模型结果分析敏感性分析7.4.1LINGO软件简介

LINGO8.0试用版,最多可求解包括300个变量和150个约束的线性规划问题。

LINDO和LINGO是美国LINDOSystemsInc系统公司开发的一套专门用于求解最优化问题的软件包。LINDO用于求解线性规划和二次规划,LINGO除有LINDO的全部功能外,还可求解非线性规划,也可以用于一些线性和非线性方程组的求解以及代数方程求根等。两大软件的最大特色在于可以允许优化模型中的决策变量是整数(即整数规划),而且执行速度很快。LINGO实际上还是最优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其它数据文件(如文本文件、EXCEL电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题。由于这些特点,LINDO和LINGO软件在教学、科研和工业、商业、服务等领域得到广泛应用。

LINGO的求解机制与结果类型求解机制:LINGO的求解线性规划问题采用单纯形法或内点法结果类型不可行(Nofeasiblesolution)可行(Feasible)

有最优解(OptimalSolution)

解无界(UnboundedSolution)7.4.2LINGO界面

LINGO菜单LINGO/Solve:将当前模型送入内存求解。LINGO/Solution:指定查看当前内存中求解结果的某些内容。LINGO/Range:产生当前模型的灵敏性分析报告,运用前应先激活灵敏性分析(运行LINGO/Options…,选择GeneralSolverTab,在DualComputations列表框中,选择PricesandRanges选项)

LINGO/Look:查看全部的或选中的模型文本内容。选项卡——通用求解器对偶计算内容:对偶价格及敏感性分析选项卡——线性求解器求解时的算法:自动选择算法原始单纯形法对偶单纯形法内点法7.4.3建立线性优化模型农药管理问题max=140*x1+100*x2;0.9*x1+0.5*x2<=632.5;x1+x2<=1000;书写格式:注意事项书写模型的原形,因为LINGO可以自动将原形转化为标准形不必输入非负约束,因为LINGO默认变量非负算术运算符:^(乘方),﹡(乘)每一行都要以分号“;”结束7.4.4结果分析求解器状态窗口计算结果窗口求解器状态窗口更新时间间隔

变量数

约束数

非零系数的数目内存使用模型类型LP,QP,ILP,NLP…计算结果表示2次迭代后得到全局最优解

最优值最优解变量微小变动时,目标函数的变化

第2、3、...行分别对应第1、2、…个约束对偶价格

第1行表示目标函数松驰变量的值

ReducedCost基变量的reducecost值应为0,对于非基变量Xj相应的reducecost值表示Xj增加一个单位(此时假定其他非基变量保持不变)时目标函数减小的量(max型问题)。RreduceCost值为0时,表示微小扰动不影响目标函数。DualPrice“DualPrice”表示当对应约束有微小变动时,目标函数的变化率,输出结果中对应每一个约束有一个对偶价格。例如本例中,土地面积增加1个单位,目标函数将增加50个单位(max型问题)。

7.4.5灵敏度分析

灵敏度分析的内容:目标函数系数在什么范围变化时(此时假定其它系数保持不变),最优解不变化约束右端项在什么范围变化时(此时假定其它系数保持不变),对应项约束的对偶价格(边际值)不变。

灵敏度分析结果当前目标函数系数取值当前约束右边项取值允许增加值允许减少值ObjectiveCoefficientRanges对本例而言:种植蔬菜(x1)的净收益在100~180范围内变化时,最优解不变种植粮食(x2)的净收益在88.8~140范围内变化时,最优解不变ObjectiveCoefficientRangesCurrentAllowableAllowableVariableCoefficientIncreaseDecreaseX1140.000040.0000040.00000X2100.000040.0000022.22222RighthandSideRanges对本例而言:入湖农药限量(约束1)在500~900范围内变化时,农药限制量的对偶价格(边际值)不变=100种植面积(约束2)在702.8~1265范围内变化时,种植面积的对偶价格(边际值)不变=50RighthandSideRangesRowCurrentAllowableAllowableRHSIncreaseDecrease2632.5000267.5000132.500031000.000265.0000297.2222注意对某个目标函数系数或约束项进行灵敏度分析时,假设其它系数和约束条件不变灵敏性分析给出的只是最优解或对偶价格保持不变的充分条件,而不一定是必要条件。一般而言,当变化超出灵敏性分析给出范围时,最优解或对偶价格是否改变,不能从灵敏性分析报告中直接得到的。此时,应该重新用新数据求解规划模型,才能做出判断7.5ANSYS优化模块7.5.1优化模块中的三大变量:设计变量(DV):即自变量。ANSYS优化模块中允许定义不超过60个设计变量。状态变量(SV):用来体现优化的边界条件,是设计变量的函数。目标函数(OBJ):最终的优化目的。它必须是设计变量的函数,而且只能求其最小值。7.5.2ANSYS优化模块中的两种求解模式ANSYS优化模块的求解有两种运行模式,一是在GUI方式下运行,即已打开ANSYS的分析界面后进行分析;另一种是Batch模式,无需打开ANSYS分析界面,后台运行求解。GUI方式运行涉及到两个重要的文件:

*.inp

的ANSYS分析文件,对于一个工程问题,该文件中包括参数定义、参数建模、求解、结果提取、目标函数赋值的一个全过程(由于优化求解是一个不断跌代的过程,ANSYS分析文件其实是包涵了一个完整的循环)。

另一个文件是*.inp

的优化控制文件,基本语句是定义三大变量、优化方式、优化控制等。有了这样两个文件,简单的在命令窗口把优化控制文件输入进去(其中的opanl

命令会自动调用指定的ANSYS分析文件),就可以完成整个优化过程。以上是完全使用命令流的GUI方式,另外可在菜单中进行优化过程的定制,但没有命令流方式快捷。另一种方式是后台运行的Batch方式,它只需要一个输入命令流文件(batch文件)。该文件可以简单的把GUI方式下ANSYS分析文件和优化控制文件合并得到。例:当水杯高度和杯底直径为多少时,能在原料耗费最少的情况下使杯子的容积最大。分析文件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),且假设水杯表面积不能大于100。建立一优化分析文件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运行及结果在Ansys命令输入框中键入/input,optvolu,inp/optoptlist,all

优化结果合并、处理上例,得到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用来要求保留最优解的DB执行优化指定优化方法注意:1、需要把optanl

语句去掉,因为在batch文件中,不需要提供ANSYS分析文件名字,系统默认batch文件中/opt语句以前的所有部分为ANSYS分析文件内容。2、以前为防止在GUI方式下的重新定义错误而引入的一些语句,如/cle,nostart

需要去除。假定batch.inp

在目录bvolu

下,在cmd

命令行方式下进入bvolu

目录,执行命令:ansys61-b-jbvolu-pane3flds-ibatch.inp–ooutput.txt

命令中-b参数指定用batch模式求解;

-jbvolu

参数指定该求解默认工作名字为bvolu(不指定就默认为file)-pane3flds参数指定使用ANSYS/Multiphysics/LS-DYNA求解器

-ibatch.inp

参数指定输入batch文件为batch.inp-ooutput.txt参数指定把输出导向到output.txt中,便于查看过程纠错运行结果可看output.txt文件

——文件output.txt中的一部分数据>>>>>>SOLUTIONHASCONVERGEDTOPOSSIBLEOPTIMUM<<<<<<

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

其结果与用GUI方式求解完全一样,生成的bvolu.opt

文件中也有最优解的信息,同时还能看到求解整个参数迭代求解过程。ANSYS优化设计的万能三步曲如图一带孔薄板,长4000mm,宽2000mm,顶部中心部分1800mm处受压力42MP,左右两长圆孔中心分别踞四周1000mm。设长圆长轴与水平方向夹角为α。为使得孔边缘应力集中最小,要求α∈[0,π/2],以在固定H的情况下达到长圆孔周围应力集中最小。问题描述:长圆孔的具体形式薄板受压的模型图1构建优化分析文件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:孔边缘最大应力值优化分析文件(续)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构建优化控制文件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优化求解打开ANSYS的GUI界面,输入/input,optcircle,inp,开始求解。计算结果最优解在α=48.422°,H=161.79附近。7.6几种计算工具比较常用的数学软件•Matlab、Mathematica、Maple、MathCAD、SPSS、SAS、Lingo、Lindo、OriginMathematica

简介•Mathematica

是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。Mathematica的特点•输入简便,输入和输出很直观。•符号运算功能强大•数值运算精度高•图形功能强大,图样美观EXCEL简介Excel是一种“电子表格程序”,它是一种可以用来记录、分析以及呈现数量信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论