APP下载

基于MATLAB优化工具箱车床主轴优化设计

2016-09-10宋效凯刘亚飞王思琪

装备制造技术 2016年5期
关键词:工具箱车床约束条件

陈 凯,宋效凯,刘亚飞,王思琪

(长安大学工程机械学院,陕西西安710064)

基于MATLAB优化工具箱车床主轴优化设计

陈凯,宋效凯,刘亚飞,王思琪

(长安大学工程机械学院,陕西西安710064)

为了解决复杂的优化问题,提出了使用MATLAB优化工具箱处理优化问题的方法。主要介绍了基于优化工具箱求解非线性问题的步骤和方法,最后给出车床主轴优化实例,验证MATLAB优化工具箱在求解复杂优化约束中的方便、简单、有效性,对使用优化工具箱解决复杂优化问题具有重要的参考价值。

优化工具箱;非线性;有效性

优化设计在解决复杂优化问题时需要编制大量程序,M语言是一种高效率的MATLAB语言,其语法简单,符合人的思维方式,易学易懂,并且MATLAB软件包含丰富算法,可供各专业人员使用。但是对于目标函数复杂,高度非线性约束问题[1],编写MATLAB程序就显得很费时,困难。本文通过介绍优化工具箱以及使用优化工具箱的步骤,结合车床主轴的优化实例[2],说明了优化工具箱强大功能,是学习优化设计的好工具。其用法比较灵活,对其有关模块作适当修改,可解决许多实际问题。

1 优化工具箱的应用[3]

为了使用优化工具箱,首先应该编写一个M文件,并且这个M文件必须接受一个行向量,同时返回一个标量。根据实际问题,行向量的长度就是目标函数中独立变量的个数。下面以求函数f(x1,x2)=x21-2x1x2+6x1+x22的最小值为例。

(1)新建一个菜单项,然后选择“File”,在编辑器中建立一个新的M文件,在M文件中录入代码:

function z=fun1(x)

Z=x(1)^2-2*x(1)*(2)+6*x(1)+x(2))^2;

最后在MATLAB路径指定的目录中保存该M文件。

(2)根据约束条件,设置变量的取值范围,线性等式约束条件矩阵,线性不等式约束条件矩阵。

(3)运行优化程序。优化工具箱两种使用方式包括通过命令行调用函数或通过图形用户界面GUI.使用命令行调用函数时,其基本语法格式为[x fval]=fun(@fitfun,nvars,options),其中@fitfun是适应度函数句柄,nvars是独立变量的个数,options是包含算法选项参数。

在使用图形用户界面GUI时,可以使用算法而不用工作在命令行,打开算法工具,可键入命令gatool.

2 车床主轴优化设计实例

已知普通车床主轴为空心轴,轴外伸长度a=90 mm,内径d=40 mm.作用在主轴外伸端处的载荷F=15 000 N,许用切应力为[τ]=200 MPa,许用扰度[y]=0.125 mm,允许扭转角[θ]=0.02 rad.主轴材料的弹性模量E=210 GPa,剪切模量G=80 GPa,主轴材料的密度为ρ=7 800 kg/m3.主轴转速n=80 r/min,主轴最大输入功率P=7.5 kW.优化的目的是使主轴质量最小,约束条件是满足刚度要求。

2.1理论分析

首先根据设计要求,确定设计变量为:

其中D和L分别表示主轴的外径和轴长。

然后确定目标函数,由主轴质量计算公式可知

其中D,d,L,ρ分别表示轴的内径、外径、轴长和轴材料的密度。

最后确定约束条件,包括刚度约束、强度约束、边界约束。

(1)刚度约束

由于轴外伸端扰度约束为

所以

由于轴外端扭转角约束为

所以

(2)强度约束条件

由于主轴切应力约束为

所以

(3)边界约束

边界约束条件为设计变量的取值范围[0kg 14kg],即:

50=Dmin≤D≤Dmax=150

300=Lmin≤L≤Lmax=750

这个是已知的,根据实际设计需要优化结果在这个范围内,所以:

2.2目标函数及约束条件分析

2.2.1目标函数曲面

根据目标函数(2)用MATLAB软件绘制目标函数曲面如图1所示,由图1可知,主轴质量取值范围为0 kg~14 kg.

图1 目标函数曲面

2.2.2约束条件特性

根据轴优化设计约束条件(3)(4)(5)(6),用MATLAB软件绘制扭转角约束曲线、扰度约束曲线和可行域,如图2所示,由图可知轴外径取值范围是48 mm~78mm,轴长度取值范围是270mm~750mm.

图2 约束条件曲线及可行区域

2.3轴的优化设计程序

轴的优化设计程序主要内容包括调用优化工具箱函数和编写目标函数M文件。

首先,在命令行调用MATLAB优化工具箱中fmincon函数和ga函数来实现,其主要格式为:

[x,fval]=fmincon(@fun3,x0,[],[],[],[],x1,[],@fun2,options);

[x,fval]=ga(@fun3,2,[],[],[],[],x1,[],@fun2,options);

然后,编写待优化目标函数M文件

function f=fun3(x)

f=1/4*pi*rou*(x(1)^2-d^2)*x(2);

function[c ceq]=fun2(x)

y0=pi*(x(1)^4-d^4)/64;

y1=pi*(x(1)^4-d^4)/32;

y2=pi*(x(1)^4-d^4)/(16*x(1));

P(1)=W*a^2*x(2)/(3*P*y0)-ymax;

P(2)=Z*x(2)/(G*y1)-thit;

P(3)=Z/y2-tao;

P(4)=Dmin-x(1);

P(5)=x(1)-Dmax;

P(6)=Lmin-x(2);

P(7)=x(2)-Lmax;

ceq=[];

程序运行结果为:

x=0.0630 0.3000

fval=3.5701

exitflag=4

由此可知,优化后轴的外径63 mm,轴长度为300 mm,由图(2)和图(3)可知其优化结果在可行域内。优化前轴的质量为9.4 kg,优化后轴的质量为

3.57kg,优化后轴的质量大约是优化前轴质量38%,可见优化设计可获得满意结果。

3 结束语

基于MATLAB的优化工具箱提供了一个标准的、可扩展、简单算法,利用matlab的强大的矩阵运算能力,使用者可以节省大量编程的时间和精力,将精力集中在优化算法的改进和具体问题中去。

[1]陈广洲,解华明,鲁祥友.Matlab遗传算法工具箱在非线性优化中的应用[J].计算机技术与发展,2008,(03):246-248.

[2]雷英杰,张善文.遗传算法工具箱及其应用[M].西安:西安电子科技大学出版社,2005.

[3]周琛琛.基于Matlab遗传算法工具箱的函数优化问题求解[J].现代计算机,2006,(12):84-86.

Optim ization Design of Lathe Spindle based on MATLAB Optim ization Toolbox

CHEN Kai,SONG Xiao-kai,LIU Ya-fei
(School of Engineering Machinery,Chang'an University,Xi'an Shaanxi 710064,China)

In order to solve the complex optimization problem,this paper proposes a method to solve the optimization problem by using the MATLAB optimization toolbox.It introduces the steps and methods for solving nonlinear optimization problem based on genetic toolbox,finally give example and verifies MATLAB optimization toolbox in solving nonlinear constrained in convenient and simple,effective.It has important reference value in using genetic toolbox to solve complex nonlinear problems.

optimization toolbox;nonlinear;effectiveness

TH122

A

1672-545X(2016)05-0222-02

2016-02-03

陈凯(1990-),男,湖北仙桃人,在读硕士研究生,主要研究方向:计算机辅助设计和制造。

猜你喜欢

工具箱车床约束条件
CW6163B车床在线铣削烧结台车操作实践
基于一种改进AZSVPWM的满调制度死区约束条件分析
车床三爪卡盘找正组合工具
基于人机工程学的卧式车床整机防护装置的设计
会“叫”的工具箱和工具
基于MATLAB优化工具箱优化西洋参总皂苷提取工艺
CM6132型卧式车床控制系统的PLC改造
机械加工机床工具箱的优化设计
基于半约束条件下不透水面的遥感提取方法
爸爸的工具箱