matlab在优化设计中的应用(19页).doc

上传人:1595****071 文档编号:34808422 上传时间:2022-08-18 格式:DOC 页数:19 大小:214.50KB
返回 下载 相关 举报
matlab在优化设计中的应用(19页).doc_第1页
第1页 / 共19页
matlab在优化设计中的应用(19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《matlab在优化设计中的应用(19页).doc》由会员分享,可在线阅读,更多相关《matlab在优化设计中的应用(19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-Matlab在优化设计中的应用摘 要常见的优化问题包括线性规划、无约束优化、约束优化、最下二乘优化、多目标规划等。本文研究了matlab在这些常见优化问题中的应用及求解。在进行研究本课题之前,我们先通过网络、电子书刊等各种有效渠道获取我们所需信息,在充分了解与熟练掌握了各种优化问题的具体特点及性质后,我们给出了关于如何用matlab进行多类优化问题的求解基本方法,在此前提下,为了体现该软件在这些优化领域的实际应用效果,我们结合若干个优化问题的实例进行分析、建模、以及运用matlab编程求解,在求解过程中,通过得到的精确数据和反应结果的图例,我们了解到matlab工具箱的功能强大,是处理优化问

2、题的非常方便的编程工具。关键词:matlab 优化问题 二、基本概念2.1.1 线性规划线性规划是优化的一个重要分支。它在理论和算法上都比较成熟,在实际中有广泛的应用。例如数学表达形式:在MTLAB提供的优化工具箱中,解决规划的命令是,它的调用格式如下,求解下列形式的线性规划:求解下面形式的线性规划:若没有不等式约束,则只需命令。求解下面形式的线性规划:若没有不等式约束,则只需令;若只有下界约束,则可以不用输入。2.1.2 无约束优化算法对于无约束优化问题,已经有许多有效的算法。这些算法基本都是迭代法,它们都遵循下面的步骤: 选取初始点x0 ,一般来说初始点越靠近最优解越好; 如果当前迭代点x

3、k不是原问题的最优解,那么就需要找一个搜索方向pk,使得目标函数f(x)从xk出发,沿方向pk有所下降; 用适当的方法选择步长ak(0),得到下一个迭代点xk+1=xk+akpk; 检验新的迭代点xk+1是否为原问题的最优解,或者是否与最优解的近似误差满足预先给定的容忍度。2.1.3单变量约束优化问题单变量约束优化问题的标准形式为即为求目标函数在区间(a,b)上的极小点。2.1.4 最小二乘法优化最小二乘优化时一类非常特殊的优化问题,它在实际中,尤其是在处理一些曲线拟合问题、线性方程组无解时的近似解等问题,用的非常多。最小二乘优化问题的目标函数一般为若干个函数的平方和,即:2.1.5多目标规划

4、问题 在大多数的优化、中,都将多目标规划的一般形式表述为:其中,、既可以为线性函数,也可以为非线性函数。三、基本方法对于解决那些常见优化问题,基本思路将在解题过程中得到体现。我们给出具体一些建模实例来体现基本算法:3.1就下列命令求下面分段函数的极小值点。解:首先编写目标函数的M文件如下: 然后为了分析直观,利用MTLAB画出目标函数的图像,步骤如下: x=-5:0.01:5; n=length(x)n = 1001 for i=1:1001y(i)=example8_7(x(i);end3.2 对于下面的线性规划问题:min x1-3x2s.t. 先利用图解法求其最优解,然后利用优化工具箱中

5、的linprog命令求解。解 图解法 先利用MATLAB 画出该线性规划的可行集及目标函数等值线:clearsyms x1 x2f=-x1-3*x2;c1=x1+x2-6;c2=-x1+2*x2-8;ezcontourf(f)axis(0 6 0 6)hold onezplot(c1)ezplot(c2)legend(f等值线,x1+x2-6=0,-x1+2*x2-8=0)title(利用图解法求线性规划问题)gtext(x)运行结果如下图:从上图中可以看出可行集的顶点x(4/3,14/3)即为线性规划的最优解,它也是两个线性约束的交点。3.3求解下面的最小二乘优化问题:其中程序输入及结果 c

6、learA=1 2 1;-2 1 3;b=1 1;C=0 -1 2;1 0 -1;-3 2 0;d=1 0 1;lb=-5 -5 -2;ub=5 5 2;Aeq=;beq=;x,resnorm,residual,exitflag,output,lambda=lsqlin(C,d,A,b,Aeq,beq,lb,ub)Warning:Large-scale method can handle bound constraints only;switching to medium-scale method.Warning: Large-scale method can handle bound con

7、straints only; using medium-scale method instead. In lsqlin at 249Optimization terminated.x = %最优解 -0.4578 -0.3133 0.1325resnorm = %残差向量2-范数的平方,即reanorm=norm(residual)2 0.5904residual = %残差向量 -0.4217 -0.5904 -0.2530exitflag = 1 %函数收敛到最优解output = iterations: 4 %迭代4次 algorithm: medium-scale: active-se

8、t %调用的积极集算法 firstorderopt: cgiterations: message: Optimization terminated.lambda = %Lagrange 乘子 lower: 3x1 double upper: 3x1 double eqlin: 0x1 double ineqlin: 2x1 double ineqlin:2xl double 3.4求下面优化问题的最优解,并求出相应的梯度、Hessian矩阵以及Lagrang乘子。 解 现将该优化问题转化为下面的标准形式:编写目标函数的M文件如下:function y=example8_9(x)y=(x(1)-

9、2)2+(x(2)-1)2;function c1,c2=nonlin(x)c1=x(1)2-x(2);c2=;clearA=1 1;b=2;Aeq=;beq=;lb=;ub=;x0=0 0;x,fval,exitflag,output,lambda,g,H=fmincon(example8_9,x0,Aeq,beq,lb,ub,nonlin)WarningLarge-scaletrust regionmethod does not currently solve this type of problemswitching to medium-scaleline search四、实际应用4.1

10、 V带轮优化设计提出问题:设计带式输送机传动装置上的普通V带传动,已知电动机额定功率P=4Kw,转速n1=1440r/min,传动比i=3,采用A型V带,每天工作不超过10小时,设计带根数尽量少,带轮直径和中心距尽量小的方案。4.1.1 数学模型建立(1)设计变量:V带传动的独立设计变量是小带轮直径和带的基准长度 即X=,= , (2)目标函数包括三个分目标: a小带轮直径 min(X)= b中心距 min(X)=a=+ 其中,=/4-(i+1)/8,=(i-1/8 c带的根数 min(X)=z=P/(+)(3)约束条件小带轮直径不小于推荐的A型带轮最小直径 即 0带速不超过最大带速即小带轮包

11、角大于即 中心距大于, 即小带轮基准直径在80100mm之间,中心距在320400mm之间,带的根数为14。4.1.2编制MATLAB优化设计% V带传动多目标优化设计P=4;i=3;n1=1440;KA=1.1; %已知条件 x0=100;1250; %初始点(小带轮直径,V带基准长度)lb=80;630; %最小带轮直径和A型V带基准长度 ub=100;4000; %最大带轮直径和A型V带基准长度goal=75,280,2; %分目标w=10-2,40-2,1.5-2; %分目标加权系数 xopt,fopt=fgoalattain(VDCD_3mb_MB,x0,goal,w,lb,ub,V

12、DCD_3mb_YS)function f=VDCD_3mb_MB(x)P=4;i=3;KA=1.1;f(1)=x(1); %f1小带轮基准直径a1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)2*(i-1)2/8;a=a1+sqrt(a12-a2);f(2)=a; %f2中心距P0=0.02424*x(1)-1.112879; %单根带额定功率 DP0=0.17; %功率增量 alpha=180-180*x(1)*(i-1)/pi/a; %小带轮包角Kalp=alpha/(0.549636*alpha+80.396114); %包角系数KL=0.20639*x(2)0.211

13、806; %长度系数f(3)=KA*P/(P0+DP0)/Kalp/KL; %V带根数functiong,ceq=VDCD_3mb_YS(x)i=3;n1=1440;g(1)=100-x(1);g(2)=pi*x(1)*n1/6e4-25;a1=x(2)/4-pi*x(1)*(i+1)/8;a2=x(1)2*(i-1)2/8;a=a1+sqrt(a12-a2);g(3)=120-180*(1-x(1)*(i-1)/a/pi);g(4)=0.7*x(1)*(i+1)-a;ceq=;4.1.3运行结果:Optimization terminated successfully: Search dir

14、ection less than 2*options.TolX and maximum constraint violation is less than options.TolConActive Constraints: 5 9xopt = 1.0e+003 * 0.1000 1.2269fopt = 100.0000 281.5293 3.5958表面最优方案为设计带根数为5或9,带轮直径和中心分别为(1.0e+003,100.0000)、(0.1000,281.5293)、(1.2269,3.5958)的方4.2 MATLAB优化设计在机件模型中的应用提出问题:有一圆形等截面的销轴一端固

15、定在机架上另一端作用着集中载荷P;50kN和扭矩M=400Nm,其简化模型如图l所示由于结构的需要,轴的长度l不得小于10cm,已知锖轴的材料的弯曲应力=120MPa;扭剪应力=80MPa;允许挠度f=o01cm;密度p=7800kgm3:弹性模量E=21105MPa现要求设计这根销轴,在满足使用要求下使其质量为最轻4.2.1建立数学模型:通过分析,我们得知性能约束条件为:1、弯曲强度要求悬臂粱的最大弯曲应力不得超过允许值,即代人数据并整理;2、扭转强度要求悬梁的最大弯曲应力不得超过允许值,即,代人数据并整理;3、刚度要求最大挠度不得超过允许值,代人数据并整理得边界约束条件: 这样就可建立数学

16、模型:二、调用MATLAB函数进行优化采用MATLAB可以简化编程NATLAB程序语言简单,也可采用交互式界面本例要MATLAB命令窗口输入如下命令即可:funf=f=00061 3x(1)x(2);目标函数funf=g=4167x(2)x(1)“3一l;I62+x(2)3x(1)41;25x(1)31;约束函数fun=funf furig;x0=8,10;给出d、I的初始值options=;参数向量取缺省值vlb=0,10;设计变量d,1的下限值vub=;设计变量无上限值X,option-constr(fun,x0,options,vcb,vub);调用有约束优化函数这时,就会输出优化结果如下:x=74692 100000options=0 0000l 00001 0,0000 0 0 0 34199 0 200000 70000 70000 0200,0000 0 00000 01000 1000表明最优方案为d=74692cm,1=lOcm,Q=options(8)=314199kg五、参考文献六、任务清单6.1本组任务分配清单资料查找胡双母桑妮资料整理朱小英马娟算法统计肖锐张海旭结果处理彭艺朱小英内容编排胡双母桑妮课程设计总结马娟肖锐七、课题研究总结母桑妮:胡双:肖锐:朱小英:马娟:张海旭:彭艺:第 19 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁