基于MATLAB优化工具箱的机械优化设计
基于MATLAB算法的机械优化设计

文章编号:100320794(2004)1120011202基于MAT LAB算法的机械优化设计刘鹤松,姜 晶(哈尔滨工业大学汽车工程学院,山东威海264209)摘要:结合工程实例,介绍了MAT LAB优化工具箱在机械优化设计中的应用。
以齿轮减速器为例,根据其设计要求和特点,建立了减速器的优化设计数学模型,在保证零件强度和刚度等前提条件下,要求设计的齿轮组两轮子的体积及相关轴的体积均最小。
利用MAT LAB优化工具箱求解优化问题,不用编写大量算法程序,提高了设计效率,算法可靠,非常实用。
关键词:MAT LAB;机械优化设计;应用实例中图号:TH122文献标识码:A1 前言机械优化设计是以数学规划为理论基础,以计算机为工具,寻求最佳机械设计方案的现代设计方法之一。
是在给定的载荷或环境条件下,在对机械产品的性态、几何尺寸关系或其他因素的限制(约束)范围内,选取设计变量,建立目标函数并使其获得最优值的一种新的设计方法。
目前,已有很多成熟的优化方法程序可供选择,但它们各有自己的特点和适用范围。
实际应用时必须注意因为优化方法或初始参数选择而带来的收敛性问题及机时问题。
而MAT LAB语言的优化工具箱则选用最佳方法求解,初始参数输入简单,语法符合工程设计语言要求,编程工作量小,优越性明显。
2 MAT LAB语言及优化工具箱M A T LA B是由美国Mathw orks公司开发的集科学计算、数据可视化和程序设计为一体的工程应用软件,分总包和若干个工具箱,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能,已被广泛应用于教学和科研中。
其中优化工具箱的应用包括:线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便、快捷的途径。
3 MAT LAB优化工具箱中有约束规划应用由于机械优化设计多数是非线性约束最小化问题,目前,对于非线性约束优化问题的解法很多,但这些算法仅仅能解决一类特殊的非线性规划问题。
MATLAB在机械优化设计中的应用

MATLAB在机械优化设计中的应用MATLAB在机械优化设计中的应用随着科技的不断发展,优化设计在机械工程领域的重要性日益凸显。
优化设计旨在找到最佳的设计方案,以提高产品的性能、降低成本并最大限度地提高效率。
MATLAB是一种广泛使用的科学计算软件,其内置的优化工具箱可应用于各种机械设计问题中。
1.概述MATLAB优化工具箱提供了多种优化算法和建模工具,以解决各种实际问题。
这些算法可应用于连续变量、离散变量和非线性问题等。
在机械优化设计中,MATLAB可帮助设计师找到满足所有约束条件的最佳设计方案。
2.应用实例首先,我们需要建立一个描述这个问题的数学模型。
我们可以使用MATLAB的优化工具箱来定义问题的目标函数和约束条件。
在这个例子中,目标函数可能是零件的总成本,而约束条件可能包括性能指标(如强度或刚度)必须满足给定的标准。
然后,我们可以使用MATLAB的优化工具箱中的算法来解决这个问题。
我们可能会使用一种迭代方法,尝试不同的设计方案,直到找到最优的设计方案。
在这个过程中,MATLAB会自动调整设计参数,以满足我们定义的约束条件并最小化目标函数。
3.结论总的来说,MATLAB在机械优化设计中具有广泛的应用前景。
其强大的数学计算和优化工具箱可以有效地解决各种复杂的机械设计问题。
通过使用MATLAB,设计师可以在更短的时间内找到最优的设计方案,从而提高产品的性能和效率。
然而,尽管MATLAB提供了许多强大的工具和算法,但设计师仍需要了解基本的优化理论和方法才能有效地使用这些工具。
此外,设计师还需要对机械设计领域有深入的理解,以便建立正确的数学模型和约束条件。
未来,随着科技的不断发展,我们可以预期MATLAB将在更多领域得到应用。
例如,随着增材制造(3D打印)等新型制造技术的出现,优化设计将变得越来越重要。
在这种情况下,MATLAB可以帮助设计师找到最佳的设计方案,以最大限度地提高制造效率和降低成本。
Matlab与机械优化设计(5.优化工具箱)

无约束优化问题
[x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options)
输入参数:
fun: 目标函数,以函数句柄的形式给出。函数句柄的构
造:
1. 函数首先用m文件定义好,然后采用下列方式构造函数句柄:
fhandle=@ function_name 如: f_h=@sin; f_h=@cos 2. 匿名函数的形式(Anonymous function),函数的表达式直接给出: fhandle=@ (var_list) expression(var_list),如: f_h=@(x) sin(x); f_h=@(x) cos(x);
4. fmincon函数 [实例分析]
2 计算使函数f ( x) e x1 (4 x12 +2x2 +4x1 x2 +2 x2 +1)取最小值时的x值,
约束条件为x1 x2 x1 x2 -1.5, x1 x2 10 分析:将非线性约束条件化为标准的不等式形式: x1 x2 x1 x2 +1.5 0,
MATLAB代码: %首先编写目标函数的.m文件: function f = objfun(x) f = exp(x(1))*(4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + 1); %编写非线性约束函数的.m文件: function [c, ceq] = confun(x) c = [1.5 + x(1)*x(2) - x(1) - x(2); -x(1)*x(2) - 10]; ceq = [ ]; %求解优化问题: x0 = [-1,1]; options = optimset('LargeScale','off'); [x, fval] = fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)
机械优化实例及matlab工具箱

s
f (x)
( xMi xmi )2 ( yMi ymi )2
i 1
设计实例2:
3)确定约束条件
(1)由曲柄存在条件,可得:
g1(x) l1 l2 l3 l4 0 g2 (x) l1 l3 l2 l4 0 g3(x) l1 l4 l2 l3 0
l1 ) 2
]
0
优化设计工具
优化设计工具
第1部分 MATLAB基础 第2部分 优化计算工具
第1部分 MATLAB基础
1.1 MATLAB环境简介 1.2 数据表示 1.3 数组 1.4 源文件(M-文件)
1.1 MATLAB窗口
启动MATLAB 其窗口如右
1、Command Window (命令窗口)
g3 ( x)
1
7 45
x13 x2
0
g4 ( x)
1
1 321
x1 x22
0
g5 (x) x1 0
g6 (x) x2 0
盖板优化实例
盖板优化实例
运行结果:
x = 0.6332 25.3264 fval = 101.3056
function f=myfun(x) f=3*x(1)^2+2*x(1)*x(2)+x(2)^2
%然后调用函数 fminunc x0=[1,1];
[x,fval]=fminunc(myfun,x0)
2.2 无约束非线性优化函数
[结果] x=
1.0e-008 * -0.7512 0.2479 fval = 1.3818e-016
[代码] f = [-5; -4; -6]; A = [1 -1 1;3 2 4;3 2 0]; b = [20; 42; 30]; lb = zeros(3,1); [x,fval] = linprog(f,A,b,[],[],lb)
Matlab机械优化设计实例教程

设在甲机床上加工工件1、2和3的数量分别为x1、x2和x3,在乙机床上加工 工件1、2和3的数量分别为x4、x5和x6。根据三种工种的数量限制,有
2
1.1 优化工具箱中的函数
优化工具箱中的函数包括下面几类: 最小化函数
函 数 描 述 fminbnd linprog fminsearch, fminunc fminimax 有边界的标量非线性最小化 线性规划 无约束非线性最小化 最大最小化
fmincon
quadprog fgoalattain
18
[例五] 工件加工任务分配问题 某车间有两台机床甲和乙,可用于加工三种工件。假定这两台机床的可 用台时数分别为700和800,三种工件的数量分别为300、500和400,且 已知用三种不同机床加工单位数量的不同工件所需的台时数和加工费用 (如表2所示),问怎样分配机床的加工任务,才能既满足加工工件的 要求,又使总加工费用最低? 表2 机床加工情况表
1.3线性规划及其优化函数
应用实例 [ [例三] 生产决策问题 某厂生产甲乙两种产品,已知制成一吨产品甲需用资源A 3吨,资源B 4m3;制成一吨产品乙需用资源A 2吨,资源B 6m3,资源C 7个单位。 若一吨产品甲和乙的经济价值分别为7万元和5万元,三种资源的限制 量分别为90吨、200m3和210个单位,试决定应生产这两种产品各多少 吨才能使创造的总经济价值最高? 令生产产品甲的数量为x1,生产产品乙的数量为x2。由题意可以 建立下面的模型: 该模型中要求目标函数最大化,需要按照Matlab的要求进行转换,即 目标函数为 首先输入下列系数: f = [-7;-5]; A = [3 2 4 6 0 7];
应用MATLAB工具箱实现机械优化设计

6 结束语本文提出的利用位图图片获得零件实体模型的方法,适用于各种可用正视图与轴剖视图绘制的零件,对于各截面形状相同的平面元件,如钣金件、直齿圆柱齿轮、平面凸轮等,则更简单,可以采用扫描仪获得零件实物的截面位图作为正视图,无需由剖视图获得旋转体。
获得的三维实体模型准确、快速,并且简便易行,成本低廉,具有较高的实用价值。
参考文献:[1] 景作军,方建军,徐宏海.计算机辅助设计与工程分析(M ).北京:化学工业出版,2002[2] 王贤坤.机械CAD/CAM 技术应用与开发(M ).北京:机械工业出版,2000[3] 徐灏.机械设计手册(4)(M ).北京:机械工业出版社,2000[4] 张晋西.Vis ual Basic 与AutoCAD 二次开发(M ).北京:清华大学出版社,2002[5] (美)Evangelos Petroutsos,邱仲潘,等译.Visual 从入门到精通(M ).北京:电子工业出版社,2002 作者简介:张晋西(1962-),男,硕士,副教授,主要研究方向:CAD/CAM 。
收稿日期:2002-10-08文章编号:1006-2343(2003)03-040-03应用MATLAB 工具箱实现机械优化设计席平原(淮海工学院 机械系,江苏连云港 222001)摘 要:采用新的软件解决机械优化问题,介绍了M AT L AB 优化工具箱在机械优化设计中的应用。
通过给出的优化实例可以看出,应用该软件求解机械优化设计问题非常方便。
关键词:MATLAB;机械优化设计;应用实例中图分类号:T H122 文献标识码:A 机械优化设计是以数学规划为理论基础,以计算机为工具,寻求机械设计问题最佳方案的现代设计方法之一,现在已经有很多成熟的优化方法程序可供选择,但是每种优化方法都有自己的特点和适用范围,实际应用中很容易因为优化方法或初始参数选择不当而无法得到全局最优解,而M AT-L AB 语言的优化工具箱则选用最佳方法来求解,初始参数输入简单,语法特征符合科技人员对数学表达式的书写,编程工作量大大减少,有着很大的优越性。
机械优化设计论文(基于MATLAB工具箱的机械优化设计)

基于MATLAB 工具箱的机械优化设计长江大学机械1:程学院机械11005班刘刚 摘 要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中 找出最佳方案,从而大大提高设计效率和质量。
本文系统介绍了机械优化设计的 研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了 MATLAB 在工程上的应用。
关键词:机械优化设计;应用实例:MATLAB 工具箱;优化目标优化设计是20世纪60年代随计算机技术发展起来的一门新学科,是构成和 推进现代设计方法产生与发展的重要内容。
机械优化设计是综合性和实用性都很 强的理论和技术,为机械设计提供了一种可靠、高效的科学设计方法,使设计者 由被动地分析、校核进入主动设计,能节约原材料,降低成本,缩短设计周期, 提高设计效率和水平,提升企业竞争力、经济效益与社会效益。
国内外相关学者 和科研人员对优化设计理论方法及其应用研究十分觅视,并开展了大最工作, 其基本理论和求解手段己逐渐成熟。
国内优化设计起步较晚,但在众多学者和科研人员的不懈努力下,机械优 化设计发展迅猛,在理论上和工程应用中都取得了很大进步和丰硕成果,但与 国外先进优化技术相比还存在一定差距,在实际工程中发挥效益的优化设计方 案或设计结果所占比例不大。
计算机等辅助设备性能的提高、科技与市场的双重 驱动,使得优化技术在机械设计和制造中的应用得到了长足发展,遗传算法、神 经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。
目前,优化 设计已成为航空航天、汽午制造等很多行业生产过程的一个必须且至关重要的环 节。
一、机械优化设计研究内容概述机械优化设计是一种现代、科学的设计方法,集思考、绘图、计算、实验于 一体,其结果不仅“可行”,而且“最优S 该“最优”是相对的,随着科技的 发展以及设计条件的改变,最优标准也将发生变化。
优化设计反映了人们对客观 世界认识的深化,要求人们根据事物的客观规律,在一定的物质基和技术条件 下充分发挥人的主观能动性,得出最优的设计方案a优化设计的思想是最优设计,利用数学手段建立满足设计要求优化模型, 方法是优化方法,使方案参数沿着方案更好的方向自动调整,以从众多可行设 计方案中选出最优方案,手段是计算机,计算机运算速度极快,能够从大量方 案中选出“最优方案“。
机械优化设计Matlab-优化工具箱基本用法

Matlab 优化工具箱x = bintprog (f , A, b, Aeq, Beq , x0, options ) 0—1规划 用MATLAB 优化工具箱解线性规划命令:x=linprog(c ,A ,b ) 2、模型:命令:x=linprog(c ,A ,b ,Aeq ,beq ) 注意:若没有不等式:存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ].min z=cX1、模型:3、模型:命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)[2]x=linprog(c,A,b,Aeq,beq,VLB,VUB, X0)注意:[1] 若没有等式约束,则令Aeq=[ ],beq=[]. [2]其中X0表示初始点4、命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.例1 max解编写M文件小xxgh1。
m如下:c=[-0.4 —0。
28 —0.32 —0.72 -0.64 -0。
6];A=[0。
01 0.01 0.01 0.03 0。
03 0.03;0。
02 0 0 0。
05 0 0;0 0。
02 0 0 0。
05 0;0 0 0.03 0 0 0。
08];b=[850;700;100;900];Aeq=[]; beq=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)例2解: 编写M文件xxgh2.m如下:c=[6 3 4];A=[0 1 0];b=[50];Aeq=[1 1 1];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub例3 (任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。
假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Optimiza tion t erminated: first -order optimality measure less than options.TolFun
and maximum constraint violation is less than options.TolCon. Active inequalities(to within options.TolCon = 1e-006):
(2)对建立的数学模型进行具体的分析和研究,选择恰当
的求解方法。(3)根据最优化方法的算法,选择 MATLAB优
化函数,然后编写求解程序,最后利用计算机求出最优解。
3 应用实例—— —按期望函数设计四杆机构
设计一个曲柄摇杆机构,当原动件的转角
准=准0~(准0+90°)
要求从动件摇杆的输出角实现函数
φ=φ0+
(2)传动角限制
为了使四杆机构具有良好的传动性能,通常要求其
最小传动角 γmin≥40°~50°。γmin 出现在曲柄与机架共线的
两位置之一处,如图 2,这时有
γ1=acos
x2 1
+x22 -(d-a)2 2x1x2
(a、d
重合共线),
γ2=1
80°-acos
x2 1
+x22 -(d+a)2 2x1x2
文献标识码:A
文章编号:1002-2333(2008)10-0092-03
Mechanical Optimal Design Based on MATLAB Optimization Toolbox GONG Shui-ming, ZHAN Xiao-gang
(College of Mechanical Engineering, Yangtze University,Jingzhou 434023,China)
lower upper ineqlin ineqnonlin 2
x= 2.5698 5.4218
fval = 0.0688
它的返回值是 fval,该值在 x 处取得。其中 FUN 是用
M 文件定义的函数 f (x);X0 是 x 的初值;A,B,Aeq,Beq
定义了线性约束 A*X≤B,Aeq*X=Beq,如果没有等式约
束,则 A=[],B=[],Aeq=[],Beq=[];LB 和 UB 是变量 x
的下界和上界,如果上界和下界没有约束,则 LB=[],UB=
(准-准0)2,设经过
设计好
的四
杆机构
实际
实现的函
数
为 φs=F(x)。由于机构的待定参数较少,故一般不能准确
地实现期望函数,但我们要 φs 尽量逼近 φ,所以取一系列
的实际输出值 φsi 与对应位置期望函数值 φi 的平方偏差
之和的最小值作为设计目标。取 i=30,则即目标函数为
30
Σ min (f x)=min (φi-φs)i 2。 i=0
当 0<准≤π 时,φs=π-(∠BDC+∠BDA) 当 π<准<2π 时,φs=π-(∠BDC-∠BDA) 即建立了用 x1、x2 表示 φs 的关系式。
B x1
a准
A
d
Cγ α
δ x2
φ D
F v
图2
3.3 确定约束条件
(1)杆长条件
x1>0,x2>0,a+d≤x1+x2,a+x1≤x2+d,a+x2≤x1+d
(2)编写约束函数 M 文件并以文件名 mycon 保存在
MATLAB 目录下的 work 文件夹中。
function[g,ceq]=mycon(x); a=1;d=5; g=[x(1)^2+x(2)^2-(d-a)^2-2*x(1)*x(2)*cos(40/180*pi);-(x(1)^2+ x(2)^2 -(d -a)^2)+2*x(1)*x(2)*cos(50/180*pi);(x(1)^2 +x(2)^2 (d +a)^2)-2*x(1)*x(2)*cos(130/180*pi);-(x(1)^2 +x(2)^2 -(d +a) ^2)+2*x(1)*x(2)*cos(140/180*pi)]; ceq=[];
制造业信息化
MANUFACTURING INFORMATIZATION 仿真 / 建模 /CAD/CAM/CAE/CAPP
基于 MATLAB优化工具箱的机械优化设计
龚水明, 詹小刚 ( 长江大学 机械工程学院,湖北 荆州 434023)
摘 要:以 四 杆 机构 为 例 ,介绍 了 MATLAB 优 化工 具 箱 在机 械 优 化设 计 中 的应 用 ,根 据曲 柄 连 杆机 构 的 设 计 要 求 和 特
(3)在命令窗口调用优化程序
x0=[4.5;4]; a=1;d=5; A=[-1,-1;1,-1;-1,1]; b=[-a-d;d-a;d-a]; lb=[0;0];ub=[ ]; [x,fval]=fmincon('obj',x0,A,b,[],[],lb,ub,'mycon')
(4)运行结果如下
知条件曲柄、摇杆的转
角期望为
准=准0+0.5πi/s,φ=φ0+
2 3π
(准-准0)2,
即建立了用 x1、x2 表示 φ 的关系式。 (3)在图 2 中求曲柄、摇杆的实际转角
BD= 姨a2+d2-2adcos准 ∠BDC=acos[(BD2+x22 -x21)/2BD·x2] ∠BDA=acos[(BD2+d2-a2)/2BD·d]
点,建立了曲柄连杆机构的优化设计数学模型。 以曲柄连杆机构对应位置实际输出值与期望函数值的平方偏差之和的
最小值作为实际目标进行优化。 利用 MATLAB 优化工具箱来求解机械优化问题,具有编程简单、设计效率高的特点。
关键词:MATLAB; 机械优化设计; 优化工具箱; 非线性有约束优化; 四杆机构
中图分类号:TP391.7
1前言
机械最优化设计,就是在给定的载荷或环境条件下在
对机械产品的性能、几何尺寸关系或其它因素的限制(约束)
范围内,选取设计变量,建立目标函数并使其获得最优值的
一种设计方法。目前,已有很多语言的优化方法程序可供选
择,但它们各有自己的特点和适用范围。而 MATLAB 语言
则专门针对优化问题设计了现成的优化工具箱,我们可直
MATLAB 目录下的 work 文件夹中。
function f=ob(j x); s=30;a=1;d=5;fx=0; fai0=acos(((a+x(1))^2-x(2)^2+d^2)(/ 2*(a+x(1))*d)); pusi0=acos(((a+x(1))^2-x(2)^2+d^2)(/ 2*x(2)*d)); for i=1:50 fai=fai0+0.5*pi*i/s; pusi=pusi0+2*(fai-fai0)^2(/ 3*pi); BD=sqr(t a^2+d^2-2*a*d*cos(fai)); jBDC=acos((BD^2+x(2)^2-x(1)^2)(/ 2*BD*x(2))); jBDA=acos((BD^2+d^2-a^2)(/ 2*BD*d)); if fai>0&fai<=pi; pusis=pi-(jBDC+jBDA); elseif fai>pi&fai<=2*pi; pusis=pi-(jBDC-jBDA); end fx=fx+(pusi-pusis)^2; end f=fx;
[],如果 x 无下界,则 LB=-inf,如果 x 无上界,则 UB=inf;
NONLCON 是用 M 文件定义的非线性向量函数 C(x),
Ceq(x);OPTIONS 定义了优化参数,可以使用 Matlab 缺
省的参数设置。
利用 MATLAB 解决工程中的实际问题,其具体步骤
如下:(1)根据实际的最优化问题,建立相应的数学模型。
92 机械工程师 2008 年第 10 期
制造业信息化
仿真 / 建模 /CAD/CAM/CAE/CAPP MANUFACTURING INFORMATIZATION