基于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。
matlab机械优化设计应用实例
调用方式一: 在命令窗口中输入: [x,fval]=fminsearch('demfun1',[0,0])
调用方式二: 在命令窗口中输入: [x,fval]=fminsearch(@demfun1,[0,0])
得到的结果 X= 1.0016 0.8335
Fval= -3.3241
约束优化问题 1.线性规划
一维优化问题
一维优化问题的数学模型为:
min f (x) x1 x x2
在matlab中,一维优化问题,也就是一维搜索问题的实现是由函数fminbnd 来实现的。
具体的调用格式如下:
调用格式1:
X= fminbnd(FUN,x1,x2)
这种格式的功能是:返回在区间(x1,x2)中函数FUN最小值对应的X值。
f=[-7;-5]; A=[3,2;4,6;0,7]; b=[90;200;210]; lb=zeros(2,1);
调用linprog函数
[x,fval]=linprog(f,A,b,[],[],lb)
2 一般的约束非线性最优化问题
约束非线性最优化是指目标函数和约束函数都是定义在n维欧 几里得空间上的实值连续函数,并且至少有一个是非线性的。
X=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON)
这个函数格式同上,同时,约束中增加由函数NONLCON定义的非线性约束条件, 在函数NONLCON的返回值中包含非线性等式约束Ceq(X)=0和非线性不等式 C(X)<=0。其中,C(X)和Ceq(X)均为向量。
这种格式的功能是:给定起始点X0,求函数FUN的局 部极小点X。其中,X0可以是一个标量、向量或者矩 阵。
调用格式2: [X,FVAL]=fminsearch (FUN,X0)
机械优化设计MATLAB程序
机械优化设计MATLAB程序
1.建立目标函数和约束条件
在机械优化设计中,目标函数是需要最小化或最大化的量,可以是机械结构的重量、成本、应力等。
约束条件是指机械结构必须满足的条件,例如最大应力、最小挠度等。
在MATLAB中通过函数来定义目标函数和约束函数。
2.选择优化算法
MATLAB提供了多种优化算法,例如遗传算法、粒子群算法、模拟退火算法等。
根据实际情况选择合适的优化算法。
3.设计参数和变量范围
机械结构的优化设计通常涉及到多个参数和变量,如尺寸、材料等。
在MATLAB中通过定义参数和变量范围来限制优化过程中的空间。
4.编写优化程序
在MATLAB中,可以使用优化工具箱的相关函数来编写机械优化设计程序。
程序的基本结构包括定义目标函数、约束函数、参数和变量范围,并选择合适的优化算法进行求解。
5.运行优化程序
在编写完成程序后,可以通过运行程序来开始优化过程。
MATLAB会根据设定的目标函数和约束条件进行,并最终得到最优解。
6.分析优化结果
优化程序运行完成后,可以通过MATLAB提供的分析工具对优化结果进行评估。
可以通过绘制图表、计算相关指标等方式对结果进行分析和比较。
7.进一步优化和改进
根据优化结果,可以对机械结构进行进一步优化和改进。
可以调整参数和变量范围,重新运行优化程序,直到得到满意的结果。
总之,以上是一种用MATLAB编写机械优化设计程序的基本流程。
通过合理地利用MATLAB提供的工具和函数,可以帮助工程师进行机械结构的优化设计,提高设计效率和准确性。
matlab在机械优化设计中的应用
matlab在机械优化设计中的应用一、引言随着科技的不断发展,机械优化设计在工程领域中得到了广泛的应用。
而在机械优化设计中,matlab作为一款强大的数学软件,在优化算法的实现和结果分析等方面具有很大的优势。
本文将探讨matlab在机械优化设计中的应用。
二、matlab在机械优化设计中的基础知识1. matlab基础知识Matlab是一种交互式数值计算环境和编程语言,可用于科学计算、数据分析和可视化等多个领域。
Matlab有着丰富的函数库和工具箱,可进行各种数学运算、统计分析、图像处理、信号处理等操作。
2. 机械优化设计基础知识机械优化设计是指通过运用数学模型和计算方法对机械结构进行全面分析和综合考虑,以达到最佳性能指标或最小成本等目标。
其中包括了多目标规划、遗传算法、神经网络等多种方法。
三、matlab在机械优化设计中的应用1. 优化算法实现Matlab提供了各种常见的数值计算方法和最优化方法,如线性规划、非线性规划、遗传算法等。
通过Matlab的函数库和工具箱,可以轻松地实现各种优化算法,并且可以根据具体需求进行自定义编程。
2. 结果分析Matlab在结果分析方面也有很大的优势。
通过Matlab的图形界面,可以绘制各种图表,如散点图、折线图、柱状图等。
同时,Matlab还提供了多种统计分析方法,如方差分析、回归分析等,可以对优化结果进行全面的统计分析。
3. 机械结构设计Matlab还可以用于机械结构设计。
通过建立机械结构模型,并运用Matlab中的有限元分析工具箱进行模拟计算,可以得到机械结构在不同载荷下的应力和变形情况。
这些数据可以进一步用于优化设计和结构改进。
4. 案例应用以一台压缩机为例,利用Matlab进行机械优化设计。
首先建立压缩机的数学模型,并根据实际需求设置相关参数和目标函数。
然后采用遗传算法对压缩机进行优化设计,并得到最佳设计方案。
最后利用Matlab中的有限元分析工具箱对最佳设计方案进行模拟计算,并得到应力和变形等数据。
基于MATLAB优化工具箱的机械优化设计
1 前
言
它的返 回值 是 fa, vl该值 在 处 取得 。其 中 F UN足 用
机械最优化 没
就 足在给定 的载倚或环境 条件 卜 在
M文 件 定义 的 函数 厂( )XO是 的初 值 ; B, q B q z; A, Ae , e
忻真 , 建辗 I AD C C / AMI AE C P C I AP
基于M T B AL 优化工具 机械优化 A 箱的 设计
龚水明 , 詹小 刚
( 江 大 学 机 械 工 程 学 院 , 北 荆 州 4 4 2 长 湖 30 3
摘 要 : 以四杆机构 为例 , 介绍 了 MA L T AB优 化工具 箱在 机械优化设计 中的应 用, 根据 曲柄连杆机构 的设计 要求和特
点, 建立了曲柄连杆机构 的优化设计数学模型。以曲柄连杆机构对应位置 实际输 出值 与期望函数值 的平方偏差之和的 最小值作为实际 目标进 行优 化。利用 MA L B优化工具箱来 求解机械优化 问题 , 有编程简单、 TA 具 设计 效率高 的特点。
关键词 : T AB; MA L 机械优化设计 ; 优化工具箱 ; 非线性 有约 束优化 ; 四杆机构
中图分类 号 : P 9 . T 3 17
文 献标 识码 : A
文章 编号 :0 2 2 3 ( 0 8)0 0 9 " 3 10 - 3 3 2 0 1 — 0 2 0
M e h n c lOptm a s g s d o M ATLAB tm i a i n To l x c a i a i l De i n Ba e n Op i z to o bo G ONG h i m i g, ZHAN a - a g S u— n Xi o g n
MATLAB优化工具箱在机械优化设计中的应用
MATLAB优化工具箱在机械优化设计中的应用摘要:使用MATLAB优化工具箱开展优化设计问题求解,其编程工作量非常小,初始参数的输入步骤简单,与工程设计语言相互符合,可以增加设计的效率。
特别是面临部分采取预先选定办法可能得不到最优解的工程问题,使用MATLAB语言优化工具箱对优化问题进行求解就变得简单快速。
另外,优化工具箱使用比较稳妥的优化算法,和使用惩罚函数法获取的优化结果进行比较,在一定程度上可以增加设计精度。
关键词:MATLAB优化工具箱;机械优化设计;非线性有约束优化机械的最优化设计,主要讲以固定的负荷或者环境条件为前提的情况下,在对机械产品的性能、几何尺寸关联以及别的因素限制范围内,选择设计变量,构建目标函数且致使其可以得到最优值的一个设计办法[1]。
近年来,越来越多语言的优化办法法程序能够提供选择,但是这些程度均有个人专属的特点与合适范围。
另外,MATLAB语言是根据优化问题来设计原有的优化工具箱,工程技术人员能够直接调用效果高的优化函数进行求解,初始参数的输入步骤简单,语法简单易懂,十分容易上手,同时其编程工作量不大,优越性非常明显。
1.MATLAB语言及其优化工具箱内容MATLAB来源于美国,是其某间公司研究开发的将科学计算、数据可视化以及程序设计集中在一起的工程运用软件,近年来被普遍地使用在自动控制、机械设计以及流体力学等等工程的范围里。
工程技术者经过应用MATLAB供给的工具箱,能够有效的解决比较复杂的工程问题,同时还能够对系统开展动态的仿真,使用厉害的图形功能把数值计算的结果显示出来。
当中对优化工具箱的使用内容包含:线性和非线性的最小化,方程求解以及曲线拟合等问题中大型课题有效的求解办法法,给优化办法在工程上的具体使用应用提供了更为便捷的路径。
2.MATLAB优化工具箱函数2.1.求解无约束非线性规划的函数非线性规划问题主要指在目标函数以及约束函数中,形成一个或者多个非线性函数的情况。
基于MATLAB语言的机械优化设计_祖效群
基于M AT LAB语言的机械优化设计祖效群1 赵艳丽2(1.合肥工业大学高等职业技术学院(安庆校区),安微246001;2.西北机器厂,陕西722405)摘要:介绍了MAT LAB优化工具箱的使用方法和在机械优化设计中的应用。
以某型号传动轴为实例,建立其优化设计的数学模型,利用MAT LAB工具箱求解。
关键词:优化设计;MAT LAB;优化工具箱;传动轴中图分类号:TH122 文献标识码:AThe Mechanical Op ti m ized Design with MAT ALB LanguageZu X i a oqun Zhao Yan liAbstract:The operati on guide ofMAT ALB op ti m ized kit and its app licati on in p r ocess of mechanical op ti m ized de2 sign have been described in this article.Taking one type of the trans m issi on shaft as the exa mp le t o establish the math model for its op ti m ized design,which shall be s olved by means of MAT LAB kit.Key words:op ti m ized design;MAT LAB;op ti m ized kit;trans m issi on shaft1 引言机械优化设计是在现代机械设计理论发展基础上产生的一种新的设计方法,在连杆、凸轮、齿轮、涡轮、轴承、传动轴、机床等产品的机械设计的应用中取得了良好的效果。
机械优化设计作用是在进行某种机械产品设计时,可根据规定的约束条件,优选设计参数,使某项或几项设计指标获得最优值[1]。
KT MATLAB优化工具箱在机械优化设计中的应用
多变量约束非线性规划问题的数学模型可表示为:
m inf( x ) S. .t C ( x) [ 0 (非线性不等式约束 ) ceq( x) = 0 (非线性等式约束 ) Ax[ b (线性不等式约束 ) Aeqx = beq (线性等式约束 ) Lb [ x[ Ub (`边界约束 ) fm incon函数的使用格式如下: [ xop,t fxop,t exitflag, ou-t pu,t grad, hession] = fm incon(@ fun, x0, A, b, Aeq, beq, Lb, Ub, .
K ey words: optmi al design; MATLA B; non- linear constrain; m achinery; propeller strut
0 前言
2 MATLAB优化工具箱中有约束规划应用
机械优化设计, 就是在给定的载荷或环境条件下, 在对 机械产品的形态、几何尺寸关系以及其他因素的限制 (约束 ) 范围内, 以机械系统的功能、强度和经济性等为优化对象, 选 取设计变量, 建立目标函数和约束条件, 并使目标函数获得最 优值的一种现代设计方法 [1]。目前, 已有很多成熟的优化方 法程序可供选择, 但它们各有自己的特点和适用范围; 实际应 用时必须注意因为优化方法或初始参数选择而带来的收敛 性问题及机时问题。而 MATLAB 语言的优化工具箱则选用 最佳方法求解, 初始参数输入简单, 语法符合工程设计语言要 求, 编程工作量小, 优越性明显。
利用 MATLAB解决工程中的实际问题, 其具体步骤如下: 1)根据设计要求和目的定义优化设计问题, 判断优化 问题的类型。分析时要区分: 单目标与多目标问题; 线性 与非线性问题; 是否为线性规划问题等几种情况; 2)根据优化问题的类型建立数学模型, 选定优化函 数。例如, 本例属于单目标多变量非线性约束优化问题, 故选定 fm incon优化模块; 3)确定必要的数据和设计初始点; 4)根据目标函数的性态, 预设优化选项; 5)在所有的输入参数定义后, 调用优化函数进行优化 程序调试; 6)根据优化过程的具体提示信息, 修改优化选项的设 置, 直到达到满足优化函数所需的优化条件为止; 7)对所得优化数据和设计方案进行合理性和适应性分析。 3 采用 MATLAB 软件进行优化分析 31 1 优 化问 题示 例 如图 1所示的人字架由两个钢管组成, 其顶点受外力
MATLAB优化工具箱在机械优化设计中的应用
58 •电子技术与软件工程 Electronic Technology & Software Engineering软件应用• Software Application【关键词】MATLAB 优化工具箱 数值计算 实现算法 优化函数 机械优化设计MATLAB 是matrix 和laboratory 的组合,翻译为矩阵工厂或矩阵实验室,是由美国MathWorks 公司开发的面对科学计算、数据可视化、交互式程序设计的计算环境。
MATLAB 融合数值分析、数据可视化、矩阵计算、非线性动态系统建模、非线性动态系统仿真于一体,将上述功能集成在一个便于使用的视窗环境下。
在现代科学研究、现代工程设计、图像处理、信号处理、通信、金融等需要进行较多复杂有效数值计算的项目中应用广泛,提供了一种更加全面的计算方案。
MATLAB 的主要功能在于进行矩阵运算、实现算法、绘制数据、绘制函数、创建界面、连接程序等,其中MATLAB 的优化工具箱能够为技术人员提供优化函数。
MATLAB 优化工具箱时语法简单、初始参数不复杂、编程量小,在机械优化设计中有着十分重要的作用。
1 MATLAB语言与优化工具箱MATLAB 摒弃了以往程序语言编辑模式,适用于解决复杂工程问题。
MATLAB 基本数据单位为矩阵,指令表达式与工程、数学等常用形式相似,应用MATLAB 解决数学问题、工程问题也较为简捷。
MATLAB 结合了Maple 等软件的优点,支持C 语言、JA V A 语言、C++语言、FORTRAN 等,表现出更加强大的功能。
高效的数值计算与高效的符号计算功能,使MATLAB 更适用于繁杂的数学运算;完善的图形处理功能,使MATLAB 能够实现对计算结果的编程与数据可视化;接近数学表达式的自然化语言使MATLAB 的使用者更容易学习和掌握各类软件功能;功能丰富的信号处理工具箱、优化工具箱、通信工具箱等为使用者提供了方便、实用的处理工具。
基于MATLAB优化工具箱的机床主轴优化设计
机械装备优化设计三级项目题目:基于MATLAB优化工具箱的机床主轴优化设计班级:12级机械装备-2班设计人员(按贡献大小排序):吴涛(120101010061)李立猛(120101010091)张兆宇(120101010086)一、优化设计问题分析:主轴是机床的关键执行部件,起到传递运动和扭矩、承受切削抗力的作用,并对工件表面的加工质量、机床的加工精度和生产效率有很大影响。
因此,要求主轴具有良好的回转精度,较高的结构强度、刚度、抗振性。
从机床主轴制造成本较低、工作能力较强及加工精度较高的要求出发,需要考虑主轴的体积、强度、刚度这样3 个重要因素,对于一般的机床来说,并不追求过高的加工精度,因此,应该以主轴的体积最小为设计目标,将主轴的强度、刚度等作为约束条件。
二、优化设计方案选择:MATLAB 优化工具箱提供了对各种优化问题的一个完整的解决方案,其函数表达简洁、优化结果准确、可靠。
因此,MATLAB 优化工具箱已被广泛应用于各种结构优化设计当中。
所以本次项目运用MATLAB 工具箱对主轴的参数进行优化设计,既克服了以往设计方法中的盲目性,又提高主轴的设计效率和质量。
三、具体任务分工:吴涛:MATLAB编程、word制作李立猛:制作ppt张兆宇:word制作、查阅资料四、优化设计内容与步骤1、优化设计问题的数学建模机床主轴的输入功率P = 120 kW ,主轴的转速n = 1 000 r /min,主轴内径d = 30 mm,主轴的悬臂端受到的切削力F = 15 000 N,许用挠度[y0] = 0.04 mm,许用单位扭转角[Φ] = 0.000 25( °) /mm,主轴的许用应力[σ] = 37.5 MPa,要求主轴外径为60 mm ≤ D ≤140 mm,两支承跨度为300 mm ≤ L ≤650 mm,悬臂段长度为90 mm ≤ a ≤150 mm 。
1.1 确定设计变量和目标函数与主轴体积有关的设计变量包括主轴的内径d、外径D、两支撑跨度L 及外伸段长度a。
MATLAB优化工具箱在机械优化设计教学中的应用
[x,fval,exitflag,output] = linprog(f,A,b,Aeq,beq,lb,ub, x0,options),
式中 x0 为初始点; fval 为返回目标函数在最优解点的函数值; exitflag 为迭代终止标志; output 表示运行的详细结果; options 为设置优化项目参数。 3.2 求解无约束非线性规划的函数 如目标函数和约束函数中,存在一个或多个非线性函数 时,则为非线性规划问题。求解无约束优化问题的方法,有直 接搜索法和梯度法两类。 直接搜索法适用于目标函数高度非线性,没有导数或导 数很难求的情况,常用的直接搜索法为单纯形法,其缺点是收 敛速度慢。 在函数的导数可求的情况下,梯度法是一种更优的方法, 该法利用函数梯度(一阶导数)和 Hessian 矩阵(二阶导数)构 造算法,可获得更快的收敛速度。无约束最优化问题的数学模 型为 min f(x)。 MATLAB 优化工具箱默认使用 BFGS 变尺度法,也可以 修改参数选用 DFP 变尺度法或梯度法,通过函数 fminunc 或 fminsearch 计算。函数 fminunc 要求目标函数必须连续,函数 fminsearch 常用来处理不连续的目标函数,采用单纯形搜索算 法。对于求解二次以上的问题,fminsearch 函数比 fminunc 函数 有效。常用格式如下: x = fminunc(fun,x0,options), [x,fval,exitflag,output] = fminunc(fun,x0,options), x = fminsearch(fun,x0,options), [x,fval,exitflag,output] = fminsearch(fun,x0,options), 式中, fun 为目标函数; x0 为初始点; fval 为返回目标函数在最优解点的函数值; exitflag 为迭代终止标志; output 为运行的详细结果; options 为设置优化项目参数。 3.3 求解有约束非线性规划的函数 机械优化设计问题,大多是有约束非线性规化问题。有约 束非线性规化问题的解法很多,但这些算法仅能解决某类特 殊的非线性规划问题。早期的方法,通常是通过构造惩罚函数 来将有约束的优化问题转化为无约束优化问题进行求解。现 在这些方法,已经被更有效的基于 K- T(Kuhn- Tucker)方程解 的方法所取代。在凸规划中,K- T 方程对于全局的极小点是必 要也是充分的。MATLAB 优化工具箱采用序列二次规划法
MATLAB优化工具箱在机械优化设计中的应用
檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵檵 形, 而有限元分析时考虑了弹性变形 , 当Δ H/ H0 比 弹性变形较大 , 从而导致二者间的误差较 值较小时 , 大; 而当 Δ 塑 性 变 形 较 大, 所以 H/ H0 比 值 较 大 时 , 二者的结果吻合得较好 。 大区别 , 但镦粗的 变 形 均 可 分 为 3 个 变 形 区 域 。 同 与理论解进行了对比分析 , 当圆柱体有较大塑性 时, 变形时 , 二者的 结 果 相 吻 合 。 本 文 为 圆 柱 体 镦 粗 工 艺参数的优化设计提供了理论参考 。
机械工程
)边界 约 束 。 边 界 约 束 条 件 就 是 设 计 变 量 的 3 取值范围 , 即:
Dm i n ≤ D ≤ Dm a x 烄 烅h i n ≤h ≤h m a x 烆 m
凭借经 验 , 可 设 D 和h 的 取 值 范 围 为 2≤D ≤ 即边界约束为 : 1 0和3 0≤ h≤1 0 0, 0≤x 1 -2 烄 0-x 0≤1 1 烅 0≤x 0 2 -3 烆 0≤1 0 0-x 2 1. 4 优化数学模型 综上所 述 , 这是1个含有6个约束的二维非线 将所有函数表达式规格化 , 得到优化设 性优化问题 , 计的数学模型为 : 烄
3 结语
/ 基 于 有 限 元 软 件 AN 对铝合 S Y S L S YNA, -D 结果表 金圆柱体镦粗过程 进 行 了 三 维 有 限 元 模 拟 , 明, 由于变形量的不同 , 圆柱体内部的变形分布有很 6
, 作者简介 : 李艳 ( 女, 讲 师, 硕 士 研 究 生, 主要从事飞 1 9 7 6 -) 机机体结构修理及结构强度的教学与科研工作 。 收稿日期 : 2 0 1 2年0 2月0 3日
- 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