MATLAB中果蝇味道浓度判定函数,基于果蝇优化算法对栓接结合部间距的优化方法与流程...
本发明涉及机床基础制造领域,特别是涉及基于果蝇优化算法优化机床结合部螺栓之间间距的研究。
背景技术:
栓接结合部作为组成机床的基本部件,由于栓接结构在机床的组装和拆卸过程中的方便、简易,而被广泛用在机床设备中,在高精度机床中,栓接结合部是最常见的结合部形式,这些结合部不但破坏结构的连续性,而且会增加整体的复杂性,栓接结合部的质量直接影响着机床的加工精度,作为提高机床加工精度的重要影响因素,栓接结合部质量的优化显得尤为的重要,影响结合部特性的参数很多,主要有:结合部外部载荷、材料、加工方法及表面粗糙度、结合部结构类型与尺寸等[1],
而螺栓间距作为影响栓接结合部质量关键因素之一,对结合部的质量有着重要的影响,。
在生产实践中,机床上螺栓间距的布置多是采用国家标准来进行设计,间距在一个较大的区间范围之内变化,对于普通机床,因为没有过高的要求,国家标准完全适用,但是在高精度机床中,结合部的质量作为影响加工质量的一个关键因素,螺栓的粗略布置就对结合部的质量产生很大影响,进而影响机床的加工质量,所以有必要对高精度机床的螺栓间距进行优化,提高结合部质量,进而提高加工质量。传统分析中,主要采用有限元分析计算不同螺栓间距对工件的影响,没有采用有效的优化算法对螺栓间距进行优化。
本文采用果蝇优化算法,基于ANSYS有限元分析和MATLAB数值计算,并采用联合优化软件isight,对建立所建立模型进行螺栓间距的优化,使其在设定的参数范围内达到结合部刚度最大的预期设定的目标。
技术实现要素:
本发明目的是:为了能够通过优化高精度机床螺栓之间的距离,进而提高栓接结合部刚度,最终影响机床的加工精度,通过使用果蝇优化算法,以有限元分析软件ANSYS和计算软件MATLAB为优化工具,采用isight集合功能,对所建立的栓接结合部模型进行螺栓间距优化,使结合部刚度达到最大。因此本发明提供了一种基于果蝇优化算法模拟栓接结合部间距优化的计算方法。
本发明所采取的技术方案是:
基于果蝇优化算法对栓接结合部间距的优化方法,包括如下步骤:
步骤一、在ANSYS中对所建立的初始栓接结合部模型进行有限元分析,获取结合部各节点的节点编号和节点压力,同时生成ANSYS的命令流文件;
步骤二、以分形接触理论为基础,运用MATLAB软件,编写计算程序,计算各节点的接触刚度;
步骤三、基于果蝇优化算法,采用isight集合功能,将ANSYS和MATLAB软件集合到isight中,确定优化间距长度(long)和宽度(width)的范围、粒子群大小、迭代次数和最终的优化目标等参数,不同的参数设定直接影响优化的能力,进行循环迭代,寻找最大的结合部刚度值。
所述步骤一具体为:
建立栓接结合部模型,进行有限元划分,施加约束和模拟螺栓预紧力,进行有限元静力分析,提取各节点的节点压力;
所述步骤二具体为:
利用结构函数法计算出结合部的分形参数,结合部栓接表面法的轮廓曲线利用Weierstrass-Mandelbrot函数表示
式中z—粗糙表面轮廓高度;
x—表面采样长度坐标;
D—轮廓曲线的分形维数;
G—粗糙表面的特征尺度系数;
γ—谱密度的尺寸参数;
φn—随机相位;
n—频率指数;
对于独立的微凸体形貌表述,根据单频率(γn=1/l)的W-M函数来获得,独立微凸体Z0(x)数学公式为:
对于一个给定接触点截面面积为a′的微凸体,其变形量δ由z0(x)在x=0处求得:
在微观尺度下,认为a′=l2,微凸体的顶点曲率半径为:
由Hertz理论可知单个微凸体的弹性载荷为Fe=4Er3/3R,式中r为真实接触面积半径
将其带入Fe=4Er3/3R,可得
在MB模型中,微凸体接触点数与截面面积关系为
其中a′L为最大微接触点平截面积
根据刚度定义可得到单个微凸体的法向接触刚度为:
结合微凸体截面积分布函数积分得到结合部的总刚度为:
根据以上公式,在MATLAB中编写出节点刚度计算公式,并对各节点刚度进行加和计算。
所述步骤三具体为:
果蝇优化算法作为常用优化方法,又被称之为FOA算法,可以总结为以下几个重要的步骤:
1)随机初始果蝇群体位置X,Y;
2)配置独立果蝇使用嗅觉寻找食物的随机搜索方向与距离,rand()是寻优过程中随机生成的一个0-1之间的一个值:
Xi=X+rand(),Yi=Y+rand()
3)估算果蝇与搜索原点之间的距离D,之后计算味道浓度的判定值S,S为距离参数D的倒数值:
D=(Xi2+Yi2)0.5,S=1/D
4)将味道浓度判定数值引用到味道浓度判定函数来求求独立果蝇个体的位置味道浓度smell:
smell=Function(S)
5)寻到得到果蝇群体中所有独立果蝇味道浓度最大的果蝇:
[bestsmellbestindex]=max(smell)
6)保留味道浓度最大的果蝇的最佳味道浓度值与X、Y的坐标,之后果蝇种群会利用视觉朝向该最大值位置飞去:
smellbest=bestsmell
X=X(bestindex)
Y=Y(bestindex)
7)进入果蝇算法迭代寻优,重复之上的步骤2)~5),并且判断味道的浓度是否优于之前迭代的味道浓度,若是则进行步骤6);
所述步骤四具体为:
进入isight软件中optimization组块,在此插入果蝇优化算法,设置总迭代次数、粒子群数量等参数,选择变量为long和width,并设置变化区间,设置约束和优化目标参数。MATLAB输出总刚度结果计入optimization,optimization变换long和width的数值,等于变化了一个果蝇的飞行方向,循环迭代进入ANSYS输入,optimization会根据总刚度值的结果变换long和width的变化方向,使long和width的变化向着总刚度最大的目标变化,等于变化了果蝇群体的飞行方向。
与现有技术相比较,基于isight、ANSYS和MATLAB软件和果蝇优化算法的螺栓间距的研究,可以有效的对给定的参数在一定区间内进行寻优,筛选出最优的间距距离,使结合部刚度达到最大值。
附图说明
图1结合部正面分布图。
图2单个微凸体形貌图。
图3 isight、ANSYS和MATLAB优化流程图。
具体实施方式
以下结合附图和实施例对本方法进行详细说明。
基于果蝇优化算法模拟栓接结合部间距优化的计算方法,包括如下步骤:
步骤一、在ANSYS中对所建立的初始栓接结合部模型进行有限元分析,获取结合部各节点的节点编号和节点压力,同时生成ANSYS的命令流文件;
步骤二、以分形接触理论为基础,运用MATLAB软件,编写计算程序,计算各节点的接触刚度;
步骤三、基于果蝇优化算法,采用isight集合功能,将ANSYS和MATLAB软件集合到isight中,确定优化间距长度(long)和宽度(width)的范围、粒子群大小、迭代次数和最终的优化目标等参数,不同的参数设定直接影响优化的能力,进行循环迭代,寻找最大的结合部刚度值。
所述步骤一具体为:
建立栓接结合部模型,进行有限元划分,施加约束和模拟螺栓预紧力,进行有限元静力分析,提取各节点的节点压力;
所述步骤二具体为:
利用结构函数法计算出结合部的分形参数,结合部栓接表面法的轮廓曲线利用Weierstrass-Mandelbrot函数表示
式中z—粗糙表面轮廓高度;
x—表面采样长度坐标;
D—轮廓曲线的分形维数;
G—粗糙表面的特征尺度系数;
γ—谱密度的尺寸参数;
φn—随机相位;
n—频率指数;
对于独立的微凸体形貌表述,可以根据单频率(γn=1/l)的W-M函数来获得,独立微凸体的形貌如图2所示:
数学公式为:
对于一个给定接触点截面面积为a′的微凸体,其变形量δ由z0(x)在x=0处求得:
在微观尺度下,可以认为a′=l2,微凸体的顶点曲率半径为:
由Hertz理论可知单个微凸体的弹性载荷为Fe=4Er3/3R,式中r为真实接触面积半径
将其带入Fe=4Er3/3R,可得
在MB模型中,微凸体接触点数与截面面积关系为
其中a′L为最大微接触点平截面积
根据刚度定义可得到单个微凸体的法向接触刚度为:
结合微凸体截面积分布函数积分得到结合部的总刚度为:
根据以上公式,在MATLAB中编写出节点刚度计算公式,并对各节点刚度进行加和计算。
所述步骤三具体为:
果蝇优化算法作为常用优化方法,又被称之为FOA算法,可以总结为以下几个重要的步骤:
1)随机初始果蝇群体位置X,Y;
2)配置独立果蝇使用嗅觉寻找食物的随机搜索方向与距离,rand()是寻优过程中随机生成的一个0-1之间的一个值:
Xi=X+rand(),Yi=Y+rand()
3)估算果蝇与搜索原点之间的距离D,之后计算味道浓度的判定值S,S为距离参数D的倒数值:
D=(Xi2+Yi2)0.5,S=1/D
4)将味道浓度判定数值引用到味道浓度判定函数来求求独立果蝇个体的位置味道浓度smell:
smell=Function(S)
5)寻到得到果蝇群体中所有独立果蝇味道浓度最大的果蝇:
[bestsmellbestindex]=max(smell)
6)保留味道浓度最大的果蝇的最佳味道浓度值与X、Y的坐标,之后果蝇种群会利用视觉朝向该最大值位置飞去:
smellbest=bestsmell
X=X(bestindex)
Y=Y(bestindex)
7)进入果蝇算法迭代寻优,重复之上的步骤2)~5),并且判断味道的浓度是否优于之前迭代的味道浓度,若是则进行步骤6);
所述步骤四具体为:
进入isight软件中optimization组块,在此插入果蝇优化算法,设置总迭代次数、粒子群数量等参数,选择变量为long和width,并设置变化区间,设置约束和优化目标参数。MATLAB输出总刚度结果计入optimization,optimization变换long和width的数值,等于变化了一个果蝇的飞行方向,循环迭代进入ANSYS输入,optimization会根据总刚度值的结果变换long和width的变化方向,使long和width的变化向着总刚度最大的目标变化,等于变化了果蝇群体的飞行方向。Isight整体设置流程如图3所示:
基于isight、ANSYS和MATLAB软件和果蝇优化算法的螺栓间距的研究,可以有效的对给定的参数在一定区间内进行寻优,筛选出最优的间距距离,使结合部刚度达到最大值。
当前第1页1 2 3 
MATLAB中果蝇味道浓度判定函数,基于果蝇优化算法对栓接结合部间距的优化方法与流程...相关推荐
- MATLAB中果蝇味道浓度判定函数,果蝇优化算法的加权策略研究
摘 要: 针对基本果蝇优化算法(FOA)收敛速度慢和寻优精度不高的缺点,在位置更新公式中引入加权因子,提出了基于线性递减策略和先增后减策略的两种加权果蝇优化算法(WFOA),从而增强了种群的多样性. ...
- MATLAB中果蝇味道浓度判定函数,果蝇优化算法
1.随机初始果蝇群体位置. X_axis=10*rand(); Y_axis=10*rand(); 2.附与果蝇个体利用嗅觉搜寻食物之随机方向与距离. X(i)=X_axis+2*rand()-1; ...
- MATLAB中果蝇味道浓度判定函数,果蝇优化算法-matlab实现、过程剖析
1.随机初始果蝇群体位置. Init X_axis Init Y_axis 2.附与果蝇个体利用嗅觉搜寻食物之随机方向与距离. Xi= X_axis + Random Value Yi= Y_axis ...
- MATLAB中果蝇味道浓度判定函数,果蝇优化算法MATLAB实现
果蝇优化算法MATLAB实现 发布时间:2018-10-12 23:28, 浏览次数:1183 , 标签: MATLAB 果蝇优化算法--Matlab实现 1果蝇优化算法原理介绍 果蝇是一种广泛存在于 ...
- MATLAB中果蝇味道浓度判定函数,果蝇优化算法的分析.PDF
果蝇优化算法的分析 2017 年 第 26 卷 第 2 期 计 算 机 系 统 应 用 果蝇优化算法的分析① 韩 虎 (兰州交通大学 电子与信息工程学院, 兰州 730070) 摘 要: 本文针对果蝇 ...
- 基于粒子群算法的智能车辆避障路径规划方法研究
基于粒子群算法的智能车辆避障路径规划方法研究 1.环境生成 1.1 环境生成方法的选择 1.2 坐标法生成环境 1.3 车辆简化 1.4 障碍物数据 2.粒子初始化 2.1 速度迭代设置 2.2 避障 ...
- 基于人工蜂鸟算法的函数寻优及工程优化应用
文章目录 一.理论基础 1.人工蜂鸟算法 (1)初始化 (2)引导觅食 (3)区域性觅食 (4)迁徙觅食 2.AHA伪代码 二.仿真实验与分析 1.函数测试与数值分析 2.求解压缩弹簧设计优化问题 3 ...
- matlab中洛伦兹拟合,基于MATLAB洛伦兹线型非线性拟合算法实现
[1] Yao Hua. Research on Remote Sensing of Methane Based Tunable Diode Laser Absorption Spectroscopy ...
- matlab中图像的阈值分割,基于MATLAB的图像阈值分割技术汇总
数字图像处理课程论文 基于MATLAB的图像阈值分割技术 摘要:本文主要针对图像阈值分割做一个基于MATLAB的分析.通过双峰法,迭 代法以及OUTS法三种算法来实现图像阈值分割,并且就这三种算法做了 ...
最新文章
- 架构的“一小步”,业务的一大步
- 基于 RocketMQ 的基金数字化陪伴体系的架构实践
- professor‘s great paper in multi agent system
- zabbix_fetion_alter
- python进阶(十七)xml(下)
- SaaS窘境[欣赏然后翻译之]
- 文件断点续传原理与实现
- trie树 Codeforces Round #367 D Vasiliy's Multiset
- 95-18-015-配置-AbstractBootstrapConfig
- Lesson 05 for Plotting in R for Biologists
- SeedLab5: The Mitnick Attack Lab
- PLSQL Developer 13.0.0.1883 注册码
- PHPUnit简介及使用
- OLAP和OLTP的介绍
- gridControl控件的gridView实现全选
- Android 集成百度身份证识别
- 面试官:你对Redis缓存了解吗?面对这11道面试题你是否有很多问号?
- MBT测试实例:做个“机器人”,使其随机、持续的对“web页面”做交互性测试(前奏)MBT整体思考
- 值班c语言程序,5.值班安排C语言程序报告.doc
- PHP仿百度网盘文件分享dzzoffice网盘系统源码