本文旨在通过一维热传导方程以及牛顿冷却定律对焊接部分进行机理建模,并采用智能算法对炉温曲线进行优化。
粒子群算法是一种常见的启发式算法,模拟鸟群觅食的场景,在每个鸟都知道距离食物最近位置条件下,综合考虑自己的历史最佳位置、距离食物最近的鸟的位置以及自身的速度惯性大小,从而决定下一时刻的速度与位置。由粒子群算法可知,第i 只鸟的第d步的速度=上一步自身速度权重+自我认知部分+社会认知部分,列出公式如下:
粒子群算法流程图如下:
根据这种启发式算法,得到拟合结果以及绝对误差如下:
由上图可看出,在分段拟合的情况下,实验温度与模型得到的温度基本重合,除过200cm到250cm部分与实际情况略有偏差。但从模型温度与实验温度差曲线中看出,总体的绝对误差在4℃以内,表明拟合效果很好。且各个参数值如下表:
其中h为热交换系数与热传导率的比值,a2为热扩散率。
5.1.3 问题一各温区温度设定下的炉温曲线
将t1=173℃,t2=198℃,t3=230℃,t4=257℃,v=78cm/min=1.3cm/s代入上述模型中,得到焊接区域中心的温度曲线,同时将其与回焊炉内部温度曲线对比,用matlab作图如下,
由上图可知,炉温曲线的最高温度达到242.2832℃,且升温和降温的斜率都没有超过3℃,符合题目要求。并得到了小温区3,6,7中点以及小温区8结束处焊接区域中心的温度,见下表:
每隔0.5秒焊接区域中心的温度数据已存入result.csv中,具体见支撑材料。
同时用matlab作出焊接区域整体温度的时间空间分布图如下,
在上图中,颜色越暗代表温度越低,反之温度越高。由上图可以看出,离焊接区域中心越近,温度越低,且整体随着时间的增加温度呈现先上升,后下降的趋势。而在上述模型中,综合回焊炉温度分布以及焊接区域中心温度分布,与该图对比可以验证模型的准确性。
5.2 问题二 最大的传送带过炉速度
问题二要求求解该条件下的满足制程界限的最大传送带过炉速度。针对问题二,首先通过详细分析得传送带过炉速度与各指标都满足单调关系,因此利用matlab作出四条曲线缩小最大过炉速度所处范围,最后利用二分法代入上述模型求解得到满足制程界限的最大传送带过炉速度。
5.2.1 传送带过炉速度范围的缩小化处理
由于各温区温度的设定值为182℃(1到5小温区),203℃(小温区6),237℃(小温区7),254℃(8到9小温区),25℃(10到11小温区)。将其代入回焊炉的通用分段函数中,求得此情况下的回焊炉温度分布:
此时x=vt。因此,只有回焊炉温度分布发生变化,模型中其他等式不加改动。另外,由于小温区温度只有±10℃的调节,因此,问题一求解的决策变量K,K’在误差允许范围内可视为不变量。通过初步分析,当传送带过炉速度越大时,在控制其他条件不发生变化的情况下:①单位时间内温度上升或下旁州降的幅度变大,即炉温曲线斜率的绝对值变大;
②温度上升过程中,在温度达到150℃~190℃的时间会减小,一方面是由于传送带运动快,另一方面是由于速烂慧度快导致整个运动过程中焊接区域中心能达到的最高温度会降低;
③温度大于217℃的时间会减小,理由同②;
④峰值温度会降低,原因是速度过快导致在热传递的过程中温度来不及达到更高值。综上,最大斜率绝对值与传送带速度呈正相关运历蔽,其余变量与传送带速度呈负相关。在问题二中设定了各温区的温度分别为:T1=182℃, T2=203℃,T3=237℃, T4=254℃,T5= 25℃。在此条件下需要求出允许的最大传送带过炉速度v 。首先由题意可知,v 的调节范围是65~100cm/min,即:
因此,为简化问题,首先,运用如下公式,
其中,表示对炉温曲线离散化处理之后第i时刻的温度,表示对炉温曲线离散化的步长。满足以下条件:
我们首先使用二分法求得最大速度所在的大致区间,结果为:
5.2.2 最大传送带过炉速度
因变量都满足制程界限的要求,且传送带速度能保证尽量大。为确定精确的传送带过炉最大速度,在该区间内进行二分法查找。
通过matlab作出其他变量与传送带速度的单调函数如下,
由上图可以看出,制程界限的各个指标确实随着过炉速度的变化而单调变化,这与上述分析相符。通过二分法得到求解结果:得到最大过炉速度为:80.4425
5.3 问题三 217℃峰值温度所覆盖面积最小
问题三要求计算217℃到峰值覆盖面积的最小值。首先我们将此时间段内无限分割后小梯形面积相加的函数作为目标函数。再将制程界限与微分方程作为约束条件,利用粒子群算法求解目标函数的最小值以及对应的五个决策变量的结果。
5.3.1 217℃峰值温度所覆盖面积的计算
由于由该模型得到的微分方程的解是数值解,因此我们将从217℃到峰值温度所包围面积用t2/2-t1/2个小梯形相加的方法,如下图所示:
由上图可得
因此所求面积S为:
上式中,t1为电路板第一次到达217℃时对应的时间,t2为电路板到达峰值时对应的时间。
在本题中各小温区设定温度可以进行±10℃范围内的调整,调整时要求小温区1~5中的温度保持一致,小温区8~9中的温度保持一致,小温区10~11中的温度保持25℃,传送带的过炉速度调节范围为65~100cm/min。同时,理想的炉温曲线需满足题目所要求的制程界限。
因此,可建立如下单目标优化模型:
决策变量:
四部分小温区的面积ti(i=1~4),传送带的过炉速度v
目标函数:
目标为阴影面积最小,即
约束条件:
5.3.2 利用粒子群算法的求解流程
本问中我们利用粒子群算法进行模型的求解,基本步骤如下:
Step1:设置初始化参数及初始化粒子分布,本文中粒子个数为5。
Step2:计算出目标函数值,即炉温曲线超过217℃的覆盖面积。
Step3:不断更改粒子的速度和位置,重复计算目标函数值,找到全局最优值即覆盖面积的最小值及其所处位置。
Step4:判断是否达到迭代数,若满足则输出全局最优值及位置,否则返回Step3。
5.3.3 利用粒子群算法的求解结果
同时在该求解结果下,电路板炉温曲线如下图所示:
通过该曲线可以看出,回焊炉内部的最高温度为264.9℃,而炉温曲线的最高温度为240.3389℃,使得在满足各个制程界限条件下的超过217℃的覆盖面积达到最小。
5.4 问题四 超过217℃炉温曲线关于峰值面积尽可能对称问题
问题四要求求解满足题目要求下的尽可能对称的炉温曲线。针对问题四,将面积差的平方与时长差的平方相加最小作为优化目标,将制程界限和微分方程作为约束条件,利用粒子群算法求解目标函数的最小值以及五个决策变量的取值。
5.4.1 对该对称问题模型的建立
在问题三中已得到217℃到峰值部分炉温曲线覆盖的面积S左:
设直线y=217与炉温曲线相交对应的横坐标为t1和t3,同理可得峰值下降到217℃部分的炉温曲线覆盖面积S右:
则要使左右面积对称,需:
综上,我们将多目标函数转化为单目标多变量的优化问题,把目标函数令为:
表明左右两部分越相似决策变量仍为四部分小温区的面积ti(i=1~4)和传送带的过炉速度v
约束条件为:
同样用粒子群算法求解得到满足问题要求下的最佳指标值。
5.4.2求解结果
过炉速度为v=88.78
左半部分的面积为s左=449.17
同时在该求解结果下,电路板炉温曲线如图所示:
1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示过程。2. 可以进行手动演示,也可以自动步进式演示。
3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。
4. 不同的算法输入要求见下。
界面要求:
1. 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2. 如果无法实现图形界面,则在命令行方式渣神下也需要桥梁拿提供菜单,方便用敏搭户 *** 作。
其他要求:
1. 标识符命名遵循Windows命名规范。
2. 能够注意各种异常处理,注重提高程序运行效率。
提交内容:
1. 全部源代码。
2. 软件设计和使用说明书(UML类图;实现的功能、主要技术;使用帮助文档)
参考算法:
1. 最小生成树算法:Prim算法、Kruskal算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。
2. 单源最短路算法:Dijkstra算法。允许以下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。要求在图形方式下进行演示算法执行步骤。
3. 最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。
4. 其他可供演示的具有一定难度的算法,如关键路径问题、有向图的极大连通分支等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)