基于MATLAB的拉刀设计参数的优化系统

合集下载

基于VB和MATLAB的计算机辅助刀具与工艺参数优选系统研究

基于VB和MATLAB的计算机辅助刀具与工艺参数优选系统研究

工 过 程 起 着举 足 轻 重 的作 用 。 另外 ,切 削参 数 的 选 择 不 当 会导 致 刀具 磨 损 严 重 、机 床 颤 振 和 工 件 质 量 超 差 等 问 题 发 生 Ⅱ。如 何 保 证 在满 足零 件加 1 工 质量 的前 提 下 尽 可 能地 提 高 生 产 率 和 降 低 生 产
= = =
▲ t千 、敦 擎理 , MMM维 Q sv 3 佶M ee 4鱼6 5执 s r献件I
… M3
M4

使用说明书
耋 墨 黧

册j m … .IF m 0册 s .
r数 理
… ¨ l
’ 。

切工学 削 动物 加力理
、 可 隶 视 ,
图1 切 削加 工软件 系统I F 图 DE 0
格 式文件 生成 、
格 、 定 [
维 J ±“ l
要 l r I
格文生 、 式件成
名炎 信 图 结 等 中间 息、 形、 果 输出O l
nIh B 拦 I
千t t t

优 结 、 刖 力 仿 结 等 息 出 2 化 果 切动 学真 果 信输 O 、
的 结 构 模 型 。 如 图 1 示 ,本 系 统 有 系 统 管 理 、 所
选 系统 。
国外 已研 究 出针对切 削加 工过程 的刀具库 和切
切 削 加 工 数 据 库 、 刀具 优 选 、切 削 过 程 动 力 学仿 真 和 前 后 台 处理 五个 主 要 功 能 模 块 ,其 中每 个 主 要 模 块 根 据 需 求 又划 分 若 干 子 模 块 。 系统 管 理 模 块 包 括 用 户 管 理 、权 限 管 理 、 系统 日志 和 用 户切

Matlab机械优化设计实例教程

Matlab机械优化设计实例教程
机床类 型 甲 乙 单位工作所需加工台时数 工件1 0.4 0.5 工件2 1.1 1.2 工件3 1.0 1.3 单位工件的加工费用 工件1 13 11 工件2 9 12 工件3 10 8 可用 台时数 700 800
设在甲机床上加工工件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工具箱实现机械优化设计

应用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工具箱的机械优化设计)

基于MATLAB 工具箱的机械优化设计长江大学机械1:程学院机械11005班刘刚 摘 要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中 找出最佳方案,从而大大提高设计效率和质量。

本文系统介绍了机械优化设计的 研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了 MATLAB 在工程上的应用。

关键词:机械优化设计;应用实例:MATLAB 工具箱;优化目标优化设计是20世纪60年代随计算机技术发展起来的一门新学科,是构成和 推进现代设计方法产生与发展的重要内容。

机械优化设计是综合性和实用性都很 强的理论和技术,为机械设计提供了一种可靠、高效的科学设计方法,使设计者 由被动地分析、校核进入主动设计,能节约原材料,降低成本,缩短设计周期, 提高设计效率和水平,提升企业竞争力、经济效益与社会效益。

国内外相关学者 和科研人员对优化设计理论方法及其应用研究十分觅视,并开展了大最工作, 其基本理论和求解手段己逐渐成熟。

国内优化设计起步较晚,但在众多学者和科研人员的不懈努力下,机械优 化设计发展迅猛,在理论上和工程应用中都取得了很大进步和丰硕成果,但与 国外先进优化技术相比还存在一定差距,在实际工程中发挥效益的优化设计方 案或设计结果所占比例不大。

计算机等辅助设备性能的提高、科技与市场的双重 驱动,使得优化技术在机械设计和制造中的应用得到了长足发展,遗传算法、神 经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。

目前,优化 设计已成为航空航天、汽午制造等很多行业生产过程的一个必须且至关重要的环 节。

一、机械优化设计研究内容概述机械优化设计是一种现代、科学的设计方法,集思考、绘图、计算、实验于 一体,其结果不仅“可行”,而且“最优S 该“最优”是相对的,随着科技的 发展以及设计条件的改变,最优标准也将发生变化。

优化设计反映了人们对客观 世界认识的深化,要求人们根据事物的客观规律,在一定的物质基和技术条件 下充分发挥人的主观能动性,得出最优的设计方案a优化设计的思想是最优设计,利用数学手段建立满足设计要求优化模型, 方法是优化方法,使方案参数沿着方案更好的方向自动调整,以从众多可行设 计方案中选出最优方案,手段是计算机,计算机运算速度极快,能够从大量方 案中选出“最优方案“。

MATLAB中的优化工具箱详解

MATLAB中的优化工具箱详解

MATLAB中的优化工具箱详解引言:在科学研究和工程领域中,优化是一个非常重要的问题。

优化问题涉及到如何找到某个问题的最优解,这在很多实际问题中具有重要的应用价值。

MATLAB作为一种强大的数学软件,提供了优化工具箱,为用户提供了丰富的优化算法和工具。

本文将以详细的方式介绍MATLAB中的优化工具箱,帮助读者深入了解和使用该工具箱。

一、优化问题的定义1.1 优化问题的基本概念在讨论MATLAB中的优化工具箱之前,首先需要了解优化问题的基本概念。

优化问题可以定义为寻找某个函数的最大值或最小值的过程。

一般地,优化问题可以形式化为:minimize f(x)subject to g(x) ≤ 0h(x) = 0其中,f(x)是待优化的目标函数,x是自变量,g(x)和h(x)是不等式约束和等式约束函数。

优化问题的目标是找到使目标函数最小化的变量x的取值。

1.2 优化工具箱的作用MATLAB中的优化工具箱提供了一系列强大的工具和算法,以解决各种类型的优化问题。

优化工具箱可以帮助用户快速定义和解决优化问题,提供了多种优化算法,包括线性规划、非线性规划、整数规划、多目标优化等。

同时,优化工具箱还提供了用于分析和可视化优化结果的功能,使用户能够更好地理解和解释优化结果。

二、MATLAB优化工具箱的基本使用步骤2.1 问题定义使用MATLAB中的优化工具箱,首先需要定义问题的目标函数、约束函数以及自变量的取值范围。

可以使用MATLAB语言编写相应的函数,并将其作为输入参数传递给优化工具箱的求解函数。

在问题的定义阶段,用户需要仔细考虑问题的特点,选择合适的优化算法和参数设置。

2.2 求解优化问题在问题定义完成后,可以调用MATLAB中的优化工具箱函数进行求解。

根据问题的特性,可以选择不同的优化算法进行求解。

通常,MATLAB提供了各种求解器,如fmincon、fminunc等,用于不同类型的优化问题。

用户可以根据具体问题选择合适的求解器,并设置相应的参数。

使用Matlab进行优化和最优化

使用Matlab进行优化和最优化

使用Matlab进行优化和最优化在现代科学和工程领域中,优化和最优化是一种广泛应用的工具和方法。

优化和最优化的目标是找到使某个系统或者过程达到最佳状态的最优解决方案。

在过去的几十年中,随着计算机和数学建模的发展,优化和最优化的方法也得到了极大的提升。

Matlab是一种功能强大的数值计算和科学编程软件,被广泛用于科学研究、工程设计、数据分析等领域。

Matlab提供了丰富的优化和最优化工具箱,可以帮助科研人员和工程师进行高效的优化和最优化工作。

首先,让我们来了解一下优化和最优化的基本概念。

优化问题通常可以被描述为一个数学模型,其中包含一个目标函数和一组约束条件。

目标函数是需要最大化或最小化的函数,而约束条件则是定义了问题的限制条件。

优化问题的目标是找到使目标函数满足约束条件下取得最优值的变量值。

在Matlab中,可以使用优化工具箱中的函数来解决各种类型的优化问题。

例如,如果目标函数是可导的并且不包含约束条件,可以使用fminunc函数进行无约束优化。

在使用fminunc函数时,可以指定优化算法和优化选项,以得到最佳结果。

对于包含约束条件的优化问题,Matlab提供了fmincon函数来进行有约束优化。

在使用fmincon函数时,用户需要提供目标函数和约束函数,并且指定约束类型(等式约束或者不等式约束)。

fmincon函数将自动寻找满足约束条件的最优解。

除了简单的优化问题外,Matlab还提供了许多高级的优化和最优化工具。

例如,Global Optimization Toolbox提供了全局优化算法来寻找多个局部最优解中的全局最优解。

Optimization Toolbox提供了一系列优化算法,包括线性规划、整数规划、非线性规划等。

在使用Matlab进行优化和最优化时,还可以结合使用其他工具箱来完成更复杂的任务。

例如,可以使用Symbolic Math Toolbox来进行符号计算和函数求导,从而简化优化问题的建模过程。

MATLAB优化工具箱在机械优化设计中的应用

MATLAB优化工具箱在机械优化设计中的应用

MATLAB优化工具箱在机械优化设计中的应用摘要:使用MATLAB优化工具箱开展优化设计问题求解,其编程工作量非常小,初始参数的输入步骤简单,与工程设计语言相互符合,可以增加设计的效率。

特别是面临部分采取预先选定办法可能得不到最优解的工程问题,使用MATLAB语言优化工具箱对优化问题进行求解就变得简单快速。

另外,优化工具箱使用比较稳妥的优化算法,和使用惩罚函数法获取的优化结果进行比较,在一定程度上可以增加设计精度。

关键词:MATLAB优化工具箱;机械优化设计;非线性有约束优化机械的最优化设计,主要讲以固定的负荷或者环境条件为前提的情况下,在对机械产品的性能、几何尺寸关联以及别的因素限制范围内,选择设计变量,构建目标函数且致使其可以得到最优值的一个设计办法[1]。

近年来,越来越多语言的优化办法法程序能够提供选择,但是这些程度均有个人专属的特点与合适范围。

另外,MATLAB语言是根据优化问题来设计原有的优化工具箱,工程技术人员能够直接调用效果高的优化函数进行求解,初始参数的输入步骤简单,语法简单易懂,十分容易上手,同时其编程工作量不大,优越性非常明显。

1.MATLAB语言及其优化工具箱内容MATLAB来源于美国,是其某间公司研究开发的将科学计算、数据可视化以及程序设计集中在一起的工程运用软件,近年来被普遍地使用在自动控制、机械设计以及流体力学等等工程的范围里。

工程技术者经过应用MATLAB供给的工具箱,能够有效的解决比较复杂的工程问题,同时还能够对系统开展动态的仿真,使用厉害的图形功能把数值计算的结果显示出来。

当中对优化工具箱的使用内容包含:线性和非线性的最小化,方程求解以及曲线拟合等问题中大型课题有效的求解办法法,给优化办法在工程上的具体使用应用提供了更为便捷的路径。

2.MATLAB优化工具箱函数2.1.求解无约束非线性规划的函数非线性规划问题主要指在目标函数以及约束函数中,形成一个或者多个非线性函数的情况。

利用Matlab求解机械设计优化问题的分析

利用Matlab求解机械设计优化问题的分析

利用Matlab求解机械设计优化问题的分析董洪峰,化工学院,1012207123摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。

本文浅谈MATLAB在机械设计优化问题的几点应用。

关键词:MATLAB约束条件机械设计优化0 前言在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。

1.两种约束条件求极值方法1)无约束条件的极值问题的解算方法设有Rosenbrock函数如下:f(X1,X2)=100(X2-X1*X1)2+(1-X1)2求向量X取何值时,F(x)的值最小及最小值是多少?先用MATLAB语言的编辑器编写求解该问题的程序如下:%把函数写成MATLAB语言表达式fun=’100*(X(2)-X(1)*X(1)2+(1-X(1))2%猜自变量的初值X0=[-1 2]; %所有选项取默认值options=[ ];%调用最优化函数进行计算。

%函数最小值存放在数组元素options(8)中%与极值点对应的自变量值存放在向量X里%计算步数存放在数组元素options(10)中[X,options]=fmins(fun,X0,options);%显示与极值点对应的自变向量X的值。

%显示函数最小值options(8)%显示函数计算步数options(10)把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:X=9.999908938395383e-0019.99982742178110e-001ans=1.706171071794760e-001ans=195显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins(),它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。

利用Matlab求解机械设计优化问题的讲解

利用Matlab求解机械设计优化问题的讲解

利用MATLAB求解机械设计优化问题的分析周婷婷(能源与动力学院,油气0701)摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。

本文浅谈MATLAB在机械设计优化问题的几点应用。

关键词:MATLAB 约束条件机械设计优化引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。

1无约束条件的极值问题的解算方法设有Rosenbrock函数如下:f(X1,X2)=100(X2-X1*X1)2+(1-X1)2求向量X取何值时,F(x)的值最小及最小值是多少?先用MATLAB语言的编辑器编写求解该问题的程序如下:%把函数写成MATLAB语言表达式fun=’100*(X(2)-X(1)*X(1)2+(1-X(1))2%猜自变量的初值X0=[-1 2]; %所有选项取默认值options=[ ];%调用最优化函数进行计算。

%函数最小值存放在数组元素options(8)中%与极值点对应的自变量值存放在向量X里%计算步数存放在数组元素options(10)中[X,options]=fmins(fun,X0,options);%显示与极值点对应的自变向量X的值。

%显示函数最小值options(8)%显示函数计算步数options(10)把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:X=9.999908938395383e-0019.99982742178110e-001ans=1.706171071794760e-001ans=195显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins(),它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。

第9章基于MATLAB优化工具箱的优化计算

第9章基于MATLAB优化工具箱的优化计算

第9章基于MATLAB优化工具箱的优化计算MATLAB是一种功能强大的数值计算和编程环境,其中的优化工具箱提供了各种用于求解数学优化问题的函数和工具。

在本章中,我们将介绍如何使用MATLAB优化工具箱来进行优化计算。

首先,我们需要了解什么是优化问题。

优化问题是指在给定的约束条件下,寻找使目标函数取得最大或最小值的变量值。

优化问题广泛应用于工程、经济学、物理学等领域中。

MATLAB优化工具箱提供了多种优化算法,其中包括线性规划、非线性规划、整数规划等。

在MATLAB中,可以使用`optimproblem`函数创建一个优化问题对象。

例如,下面的代码创建一个最小化问题,并定义了目标函数和约束条件:```problem = optimproblem('Minimize');x = optimvar('x', 'LowerBound', 0);y = optimvar('y', 'LowerBound', 0);problem.Objective = x^2 + y^2;problem.Constraints.constr1 = x + y >= 1;problem.Constraints.constr2 = x - y <= 2;```在定义好优化问题后,可以使用`solve`函数求解该问题。

例如,下面的代码使用内置的`fmincon`函数来求解问题,并获取最优解和最优目标值:```[solution, fval] = solve(problem);```在上述例子中,`solution`是一个结构体,包含了最优变量值。

`fval`是一个标量,表示在最优解下的目标函数值。

如果想要使用不同的求解器求解问题,可以使用`optimoptions`函数创建一个选项对象,并在`solve`函数中指定求解器和选项。

例如,下面的代码使用`fmincon`求解器,并设置了最大迭代次数为100:```options = optimoptions('fmincon', 'MaxIterations', 100);[solution, fval] = solve(problem, 'Options', options);```除了使用现成的优化算法,MATLAB优化工具箱还提供了`optimtool`函数,可以打开一个图形用户界面,通过交互式的方式进行优化计算。

MATLAB在优化中的应用

MATLAB在优化中的应用
MATLAB具有非常强大的计算功能,其已成为世界 上应用最广泛的工程计算应用软件之一。 (Mathematica、Maple)
MATLAB主要功能和特点
主要功能 1,数字计算功能 2,符号计算功能 3,数据分析和可视化分
析功能 4,文字处理功能 5,SIMULINK动态仿真功

主要特点 1,功能强大 含有四十多个应用于不同

f ( x1) 3.686 164
x x | k1- k |
继续作下去,经10次迭代后,得到最优解 x 0 0 T
f (x) 0
梯度法的特点
(1)理论明确,程序简单,对初始点要求不严格。 (2)对一般函数而言,梯度法的收敛速度并不快,因
为最速下降方向仅仅是指某点的一个局部性质。 (3)梯度法相邻两次搜索方向的正交性,决定了迭代
X* X (K) [H (X (K) )]1f (X (K) )
3.5 约束优化方法
约束优化设计问题,其数学模型为
minf(X) s.t. gu(X)≤0 (u=1,2,…,m)
hv(X)=0 (v=1,2,…,p<n)
根据求解方式的不同,约束优化设计问题 可分为:直接解法、间接解法
linprog,quadprog,fgoalattain, fmincon, fminimax
linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit,
lsqnonlin 除fminbnd外所有优化函数
fminbnd 所有优化函数
3. 优化函数的输出变量下表:
f ( x0 ) 104
f
(x0)

2x1

Matlab与机械优化设计(5.优化工具箱)

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优化工具箱的介绍及8种函数的使用方法

优化设计-Matlab优化工具箱的介绍及8种函数的使用方法

性 能 约 束
最大带速 <25m/s
2x1 dd 1(i 1) g 3 ( X ) min 1 min 1801 120 180 1 0
g 4 ( X) 0.7d d1 (i 1) a 2.8x1 a 0 g 5 ( X) 80 x1 0 g 6 ( X) x1 100 0
• 优化工具箱的结构
• 模型输入时要注意的问题 (1)目标函数最小化 优化函数fminbnd、 fminunc、 fmincon、 fminsearch、 fgoalattain、 fminimax都 要求目标函数最小化。 (2)约束非正 工具箱对非线性不等式约束的格式要求 为Ci(x)≤0。
3 优化问题简介
fminunc
可求解复杂优化问题
3.2.1函数fminbnd
1.使用格式: [xopt,fopt]=fminbnd(fun,x1,x2,options)
设置优化选项参数 迭代搜索区间 目标函数
返回目标函数的最优值
返回目标函数的最优解
运行结果: 1.例题: xopt = 求解一维无约束优化问题f(x)=(x3+cosx+xlogx/ex) 0.5223 fopt = 在区间[0,1]中的极小值。 0.3974 解:(1)编制求解优化问题的M文件。 %求解一维优化问题 fun=inline(‘(x^3+cos(x)+x*log(x))/exp(x)’,‘x’);%目标函 数 x1=0;x2=1;%搜索区间 [xopt,fopt]=fminbnd(fun,x1,x2) (2)编制一维函数图形的M文件。 ezplot(fun,[0,10]) title('(x^3+cosx+xlogx)/e^x') grid on

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

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

课程设计报告班级:机0801姓名:徐勤秀学号:081101225指导老师:边义祥日期:2012.2.17基于MATLAB算法的机械优化设计摘要:将MA TLAB算法应用于机械优化设计,提出了MATLAB算法的优化原理及其数学模型的建立,给出求解方法,最后结合实例,求解机械优化设计的最优化问题。

关键词:MATLAB;优化设计;非线性约束最小化1.概论自MathWorks公司1984年推出MA TLAB以来,历经20多年的发展和竞争,MATLAB 语言就成为最具吸引力、应用最为广泛的数值科学计算语言。

随着其功能的不断完善,可以说,MATLAB已成为集数值计算功能、符号计算功能和计算可视化为一身的强大的科学计算语言。

本文运用MA TLAB6.5的优化工具求解机械工程设计中的最优化问题。

在国民经济各部门和科学技术的各个领域中普遍存在着最优化问题,最优化问题就是从所有可能的方案中选择出最合理的、达到最优目标的方案,即最优方案,搜索最优方案的方法就是最优化方法。

将MATLAB运用于最优化方法,使得机械优化设计更趋于科学性,同时MATLAB不用编写复杂的运算程序和各种难于掌握的优化算法,而且通俗易学,从而使优化问题更通俗化。

MATLAB的最优化技术主要包括以下两个方面的内容:(1)建立数学模型。

即用数学方法来描述最优化问题。

模型中的数学关系反映了最优化问题所要达到的目标和各种约束条件。

(2)数学求解。

数学模型建好以后,选择合理的优化方法进行求解。

2.MA TLAB优化算法的几何描述由于机械优化设计多数是非线性约束最小优化问题,通常要将问题转换为更简单的子问题,这些子问题可以求解并作为迭代过程的基础。

早期的方法通常是通过构造惩罚函数等来将有约束的最优化问题转换为无约束最优化问题进行求解。

现在,这些方法已经被更有效的基于K-T(Kuhh-Tucker)方程解的方法所取代。

K-T方程是有约束最优化问题求解的必要条件,是非线性规划算法的基础,这些算法直接计算拉格朗日乘子,通过拟牛顿法更新过程,给K-T方程积累二阶信息,可以保证有约束拟牛顿法的线性收敛。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第29卷 第4期2005年8月武汉理工大学学报(交通科学与工程版)Jou rnal of W uhan U n iversity of T echno logy(T ran spo rtati on Science &Engineering )V o l .29 N o.4A ug .2005基于M A TLAB 的拉刀设计参数的优化系统 收稿日期:20050508 盛 精:男,40岁,博士生,副教授,主要研究领域为机械设计,机械CAD CA PP ,现代设计方法的研究与应用盛 精1,2) 苑伟政1)(西北工业大学1) 西安 710072) (湖北汽车工业学院2) 十堰 442002)摘要:从提高圆孔拉刀切削效率出发,建立了优化拉刀参数的目标函数和约束条件,从而确定拉刀的齿升量和齿距两个主要参数.用C ++Builder 软件设计接口,实现了从知识库、数据库中获取拉刀设计资料;其次,量化了约束条件各系数,并动态地建立了在M atlab 中计算优化模型各参数的M 文件;最后通过对M atlab 优化工具的调用,获得了优化拉刀的齿升量和齿距设计参数.这种优化方法同样也适合其他类型拉刀的参数设计.关键词:拉刀;数学模型;优化;M atlab 中图法分类号:TH 122 拉刀设计中需要选择的参数有许多,如:齿升量a f ,齿距t ,容屑系数K ,同时工作齿数Z e ,拉削余量A ,拉削长度L 等.这些参数可以分为两类:一类为独立参数,如拉削余量A ,拉削长度L ,刀具的前角和后角等,这类参数基本上不受其他参数的影响;另一类为非独立的参数,如齿升量a f ,齿距t ,容屑系数K ,容屑槽深度h 等,这些参数是相互联系和制约的.显然,第一类参数可以直接从设计资料中获取,如拉削余量采用经验公式;前角和后角的选择及机床型号、工件材料等相关资料均存入数据库中,可用人机对话或者程序自动获取.第二类参数选择较复杂,可采用现代设计方法解决,优化设计则是其中一种.在拉刀设计中,设计参数中最重要的也是最复杂的是粗切齿齿升量a f 和齿距t 选择,它们对加工件的制造质量、生产效率和拉刀的制造成本起着关键性的作用.确定上述两个主设计参数则是本系统的目标.该优化系统是拉刀CAD 和信息管理系统的一个子系统,见图1.优化过程自然也是借助于计算机完成的,那么建立数学模型和得到优化结果则是拉刀设计参数优化的关键.数学模型可通过建立目标函数和含有设计变量(粗切齿齿升量a f 和齿距t )的约束方程来实现,而优化以前则是由许多人依据不同的优化算法通过编程完成或者通过设计接口调用商业优化算法模块来完成.本系统则是基于数学模型,借助M atlab 中的优化工具完成了拉刀设计参数的优化过程.图1 刀具CAD 与信息管理系统结构1 拉刀设计参数优化的数学模型1.1 设计变量和目标函数的确定粗切齿齿升量a f 和齿距t 是拉刀设计中重要的参数.优化设计时可以将这两个参数作为设计变量,即x =x 1x 2=a f t 在保证拉削质量的前提下,力求提高拉削效率、降低拉刀制造成本以及刃磨工作量,为此,使得拉刀设计长度最短就成为拉刀优化设计的目标函数.而粗拉削部分长短直接决定了拉刀总体长度,所以目标函数转化为拉刀粗切齿的长度.不论是普通内孔拉刀还是综合轮切式拉刀、轮切式拉刀其粗切拉削部分的长度都正比于A0 a f,为简化这种情况,将它们的设计参数优化目标函数约定如下.1.2 约束条件拉刀设计时,必须满足以下几个条件或要求.1)设备要求 要保证工件的加工质量,要求设备有足够的拉力,因此F m ax-[Q]≤0 普通拉刀F m ax=3.33pD Z e综合轮切式拉刀F m ax=3.33p D2Z e轮切式拉刀F m ax=3.33pD Z eZ c式中:[Q]=k[Q m ax],k为机床状况系数,一般为0.5~0.9;F m ax为最大拉削力,N;p为单位刀刃上的切削力,N mm;D为被加工孔的公称尺寸, mm;Z e为同时工作齿数;Z c为分块式每个齿组齿数.2)拉刀强度要求 对于拉刀而言,其危险截面在拉刀的柄部和粗拉齿部分的第一齿槽处.F m axA1-[Ρ1]≤0F m axA2-[Ρ2]≤0式中:[Ρ1]为拉刀的柄部材料的许用应力;[Ρ2]为拉刀的粗拉齿部分材料的许用应力;A1为拉刀的柄部最小截面面积;A2为拉刀的第一粗拉齿齿槽处截面面积.3)拉刀齿部的容屑要求 为保证拉削质量和拉刀的耐用度,容屑槽的尺寸大小需要满足容屑条件cK m in a f l0-Πh24≤0式中:c为系数,普通内孔拉刀、轮切式拉刀c=1,综合轮切式拉刀c=2;K m in为容屑系数;h为容屑槽槽深,mm;l0为工件拉削长度,mm.操作界面见图2. 4)拉刀设计变量的边界条件 齿升量a f一般给定范围:0.015~0.20,显然范围过大,本系统则根据设计资料提供的范围,巧妙地设计程序,点击表格数据,可将由拉刀类型和工件材料选定在较理想的范围内,见图2.齿距t可由经验值选取,一般为1.25l0~1.9l0.图2 确定拉刀齿升量范围综上拉刀设计要求限制,得到其约束条件为s.t. g1(x)=F m ax-[Q]≤0g2(x)=F m axA1-[Ρ1]≤0g3(x)=F m axA2-[Ρ2]≤0g4(x)=cK m in x1l0-Πh24≤0g5(x)=a m in-x1≤0g6(x)=x1-a m ax≤0g7(x)=1.25l0-x2≤g8(x)=x2-1.9l0≤02 优化程序设计子系统的主宿语言是C++B u ilder,从设计资料中选取约束条件中系数计算用的数据是通过调用数据库实现的.图3所示是系统运行中的一个界面.图3 拉刀类型及其齿槽的选择在工程应用中,一般用C++B u ilder语言编写应用程序,实现交互界面、数据采集和端口操作等,但C++B u ilder在数值处理分析和算法工具等方面,其效率远远低于M atlab语言.M atlab提供功能强大的工具箱,优化工具则是其中之一.但M atlab的缺点是不能实现端口操作和实时控制.因此,若能将两者结合运用,实现优势互补,将获・416・武汉理工大学学报(交通科学与工程版)2005年 第29卷得很好的效果. 在M atlab 环境中,也可以用如下3个M 文件完成优化处理.Yh .m (求最小值)内容为x 0=[5;0.05] [x ,fval ,exitflag ]=f m incon (’m yobjective’,x 0,[],[],[],[],[],[],’m ycon’) m yob jective .m (目标函数)内容为functi on f =m yobjective (x ) f =x (2) x (1)(约束条件)内容为functi on [c ,ceq ]=m ycon (x ) c =[-7.2513x (2)+40.0;-9.4773x (2)+40.0;-6.6273x (2)+40.0;160.0003x (1)-19.6;0.015-x(1);x (1)-0.020;7.9-x (2);x (2)-12.0]ceq =[];%无等式约束最后一个m ycon .m 文件,其约束条件中各系数都是通过获取数据后,进行计算得到的,因此它是一个不定文件,用写文件的方式可实现文件内各系数值的变化.系统采用直接调用的方式,其功能如同上述文件功能.实现思路是利用M atlab 的32位动态连接库(DLL ),生成相应的可以被C ++B u ilder 调用的DLL ,用来提供两者之间的基本支撑环境.只需在用户程序中加载该DLL ,即可实现其数据段的共享.然后在用户程序中操作DLL 数据段的数据,并通过某种方式在用户程序中使M at 2lab 执行该DLL ,就可实现用户程序对M atlab 的调用.其形式可以是混合编程或函数调用,非常方便而高效.M atlab 提供了可外部连接的DLL 文件,通过将其转换为相应的L ib 文件,并加以必要的设置,就可以在C ++B u ilder 中直接进行M at 2lab 函数调用,实现C ++B u ilder 语言与M atlab 语言的混合编程.在C ++B u ilder 编辑环境中,建立一个工程文件,其内容如图4示.图4 优化工程文件的组成程序主要部分如下.#include <vcl .h >#p ragm a hdrstop #include “U —m atlab .h ”#include “Engine .h ”#define BU FS IZE 256#p ragm a package (s m art —init )#p ragm a resource “3.df m ”……vo id ——fastcall T Fo r m 1::btn M atL abC lick (TO bject 3Sender ){Engine 3ep ;m xA rray 3T =NULL ,3result =NULL ;char buffer [BU FS IZE ];if (!(ep =engOpen (“0”))){fp rintf (stderr ,“ nCan’t start M A TLAB engine n ”);return ;} 3启动M A TLAB 引擎3 T =m xC reateDouble M atrix (1,10,m xR EAL ); 3创建一个矩阵3m xSetN am e (T ,“T ”); 3设置矩阵的名字为“T ”3 m em cpy ((vo id 3)m xGetP r (T ),(vo id 3)ti m e ,sizeof(ti m e ));3向矩阵“T ”赋值3 engPutA rray (ep ,T ); 3把矩阵“T ”置入M A TLAB引擎3 ……}上述M 文件的内容可写入程序中,完成需要在M atlab 环境中实现的功能.3 接口设计1)C ++B u ilder 与数据库间的数据交互 用C ++B u ilder 开发数据库,需要应用C ++B u ilder 提供的各种数据库组件与数据库引擎BD E (Bo rland D atabase Engine )对数据库进行操作,见图5.图5 高级语言与数据库间的交互上述提及的BD E 参数设置也是必不可少的,需要设置数据库的路径、类型和语言驱动器.具体实例略.2)M atlab 与数据库间的交互 在M atlab 环境中操作数据库有许多方法,本系统采用ODBC 方式,完成了对数据库中的读取与存入.(1)先建立系统的ODBC ,命名为b roach ;(2)在m atlab 中连接ODBC :conn =database (’b roach’,’用户名’,’密码’);(3)执行查询语句:cu rs =exec (conn ,’select nam e ,param eter 1from b roach’);(4)将数据导入m atlab 变量:cu rs =fetch (cu rs );%这个函数可以指定输出数据的格式,字符串,数字等;・516・ 第4期盛 精等:基于M A TLAB 的拉刀设计参数的优化系统(5)引用数据:a =cu rs .data 或者a =cu rs .data (1,1)3)C ++B u ilder 调用M atlab C ++B u ilder 调用M atlab 的方法有很多种,本系统采用了M atlab 引擎实现的.在工程文件中3.lib 文件的生成是在DO S环境中完成的.其命令格式为I m p lib ???.lib ???.def在...... ex tern include 目录下,提供了如下3个.D ef 文件:—l ibeng .def ,—libm at .def ,—lib 2m x .def ,通过上述命令可以生成相应的3个L ib文件.这些L ib 文件中包含了可外部调用的M at 2lab 函数的必要信息.另外,在工程文件中,还需要打开P ro ject Op ti on 对话框,点击D irecto ries Conditi onals .在Include Path 中,加入目录路径 ex tern include ,该路径包含了engine .h 和m atlab .h 等有用的头文件;在L ib rary Path 中,加入 b in 和 ex tern include .这两个目录路径包含了可外部调用的DLL 和L I B 文件.4)M atlab 环境中M 文件的生成 拉刀优化处理是在M atlab 环境中运行的,而由于拉刀中优化的目标函数和约束中的系数皆是变量,所以要求M 文件是动态变化.为解决此问题,该系统通过采用C 语言写文件的方式,很好地解决了系数变动的问题.这个过程是在拉刀设计过程中完成的.4 结束语该子系统作为拉刀CAD 总系统的一部分,采用C ++B u ilder 通过从设计资料数据库获取数据和对M atlab 的调用,基于建立的拉刀优化数学模型,很好地完成了拉刀设计主参数——粗切齿齿升量a f 和齿距t 的优化.该系统最大的特点是一方面能使得优化目标和约束方程动态变化,一方面使得该优化系统很好地集成于CAD 系统中,更为突出的特点是拉刀参数的优化过程包含在拉刀的设计过程中.因此,该优化系统为拉刀的CAD 与信息管理系统奠定了可靠的基础,也必将提高企业的设计能力.参考文献1 四川省机械工业局.复杂刀具设计手册.北京:机械工业出版社,1979.50~2002 楼希翱,薄化川.拉刀设计与使用.北京:机械出版社,1990.20~1003 王贤坤,陈淑梅,陈 亮.机械CAD CAM 技术、应用与开发.北京:机械工业出版社,2001.20~604 王沫然.M A TLAB 5.X 与科学计算.北京;清华大学出版社,2000.60~106Op ti m al System fo r D esign Param eters ofB roaches Based on M atlabSheng J i ng1,2) Y uan W e izheng 1)(N orthw estern P oly techn ica l U n iversity ,X i ’an 710072)1)(H ubei A u to m otive Ind ustries Institu te ,S huy an 442002)2)AbstractA b roach is an efficien t cu tting too l in m ach in ing indu stry .B ased on i m p roving efficiency on round b roach ,the p aper in troduces how to estab lish ob jective functi on and con strain t conditi on of op 2ti m izing the design p aram eters of a b roach in o rder to ob tain tw o key param eters .i.e .the teeth space and rise per teeth .F irst ,th rough the in terface p rogramm ed by C ++B u ilder ,the system gets data from the know ledge base and database .Second ,the coefficien t in the con strain t conditi on are quan ti 2fied ,and M file calcualting the param eters of m odel in M atlab environm en t is also set up dynam ically .T hen the tw o design param eters of the b roach m en ti oned above are ach ieved by calling the op ti m al too l.T he m ethod is also su ited to design o ther type of b roaches .Key words :b roach ;m athem atic m odel ;op ti m izati on ;M atlab・616・武汉理工大学学报(交通科学与工程版)2005年 第29卷。

相关文档
最新文档