\documentclass{cumcmthesis} %\documentclass[withoutpreface,bwprint]{cumcmthesis} %去掉封面与编号页,电子版提交的时候使用。 \usepackage[framemethod=TikZ]{mdframed} \usepackage{float} \usepackage{url} % 网页链接 \usepackage{subcaption} % 子标题 \title{基于遗传算法的炉温曲线优化} \tihao{A} \baominghao{4321} \schoolname{西南石油大学} \membera{ 周莉 2020110010 } \memberb{ } \memberc{ } \supervisor{ } \yearinput{2021} \monthinput{08} \dayinput{22} \begin{document} \maketitle \begin{abstract} 在集成电路板等电子产品生产过程中,让回焊炉的各个部分保持工艺要求的温度,是实际生产中面对的一大问题。本文结合实际情况,对回焊炉工作状态做出合理假设,建立了基于热传导方程和牛顿冷却定律的温度分布模型。在满足各项约束条件的前提下,利用遗传算法寻找到各温区的温度设定,确定出最优过炉速度以及回焊炉工作效率最大化。引入炉温曲线特性,添加约束条件求解双重目标函数规划问题,为实际生产与测试提供理论参考。 对于问题一:炉内空气温度随时间变化到稳定,根据炉前、炉后以及各个间区之间的温度分布,建立了焊接区域中心所满足的热传导方程,又引入牛顿冷却定律,建立温度分布模型。通过拟合获得电路板温度和间隔温度变化情况。最后通过对不同温区设立冷却系数,利用有限差分法对温度发布模型进行求解,得到了小温区3、6、7中点以及小温区8结束点焊接区域中心的温度,如下表: \begin{table}[H] \centering \begin{tabular}{ccccc} \toprule[1.5pt] 位置 & 小温区3中点 & 小温区6中点 & 小温区7中点 & 小温区8结束点 \\ \midrule[1pt] 温度 & 129.5263℃ & 168.6669℃ & 189.8242℃ & 224.5287℃\\ \bottomrule[1.5pt] \end{tabular} \end{table} 对于问题二:建立了以最大过炉速度为目标函数的单目标优化模型,约束条件为满 足问题一所建立的模型和工艺所要求的制作界限,求解得到最优为76.1700cm/min。 对于问题三:以衡量累计高温区域大小所对应的阴影面积最小作为目标函数,建立起了一个以各个温区问题和过炉速度为决策变量的优化模型。约束条件包括制程界限、温度分布所满足的微分方程模型,采用了遗传算法,求得最小阴影面积为384.96 ,此时过炉速度为89.112cm/min,各个温区温度如下: \begin{table}[H] \centering \begin{tabular}{ccccc} \toprule[1.5pt] 位置 & 小温区3中点 & 小温区6中点 & 小温区7中点 & 小温区8结束点 \\ \midrule[1pt] 温度 & 129.5263℃ & 168.6669℃ & 189.8242℃ & 224.5287℃\\ \bottomrule[1.5pt] \end{tabular} \end{table} 对于问题四:给定高温区炉温曲线对称性指标——两函数之差的范数,建立起了以高温区炉温曲线对称性和高温累计区域面积为目标的双目标规划模型,将两目标规划化并采用动态综合加权法将多目标优化转化为单目标优化,最后通过遗传算法求得最小阴影面积为404.57 ,此时过炉速度为89.460cm/min,各个温区温度如下: \begin{table}[H] \centering \begin{tabular}{ccccc} \toprule[1.5pt] 位置 & 小温区3中点 & 小温区6中点 & 小温区7中点 & 小温区8结束点 \\ \midrule[1pt] 温度 & 129.5263℃ & 168.6669℃ & 189.8242℃ & 224.5287℃\\ \bottomrule[1.5pt] \end{tabular} \end{table} \keywords{ 热传导方程\quad 牛顿冷却定律\quad 遗传算法\quad 动态综合加权法 } \end{abstract} \section{问题重述} \subsection{问题背景} 在过去的几十年里,电子产品行业取得了飞速的发展,随着电子产品的竞争日趋加速,生产的不确定性不断加大。为此对电子设备的焊接提出了更高的要求,在集成电路板等电子产品的生产中,需要安装有各种电子元件的印刷电路板放置在回焊炉中,通过加热将电子元件自动焊接到电路板上。在这个过程中,让回焊炉的各部分保持工艺要求的温度对产品质量至关重要,回焊炉温度控制技术和焊接工艺是回焊最关键的部分。 \subsection{问题重述} 问题一:根据焊接区域的温度变化规律建立数学模型,在建立的数学模型的基础上,给定传送带过炉速度和各温区温度的情况下,给出焊接区域中心温度变化情况,列出小温区3、6、7中点及小温区8结束处焊接区域中心的温度。画出相应的炉温曲线。 问题二:在给定个温区温度条件下,同时考虑到制程界限约束,确定最大传送带过炉速度问题。 问题三:为了最优化炉温曲线,要求超过217℃到峰值温度所覆盖的面积最小。确定各个温区设立温度和传送带过炉速度,给出覆盖面积。 问题四:在问题三的基础上,要求以峰值温度为中心线的两侧超过217℃的炉温曲线,应该尽量对称已完善最优炉温曲线,给出炉温曲线以及各温区设定的温度及传送带过炉速度,并给出相应的指标值。 \section{问题分析} 问题一:根据温度变化规律建立数学模型,该模型不仅要能够反映出电路板焊接的物理过程,同时又要与题目中所给的焊接区域温度变化曲线吻合。针对此问题,本文在热传导方程以及牛顿冷却定律的基础上拟合建立起了温度分布模型。 问题二:在第一问以求得到的参数基础上,又给定了个各个温区温度要求,确定电路板炉温曲线满足题目中所要求的制程界限时电路板的最大锅炉速度。本文先通过二分法求得最大速度的大致区间,又在大致区间中利用算法搜索,最后获得了最大传输速度。 问题三:确定各温区的设定温度和传送带的过炉速度,要使得理想的炉温曲线超过217℃到峰值所覆盖的面积最小。由于变量个数增多。解空间变大,故难点增大,本文通过遗传算法进行求解。 问题四:在问题三的基础上,确定各温区的温度以及传送带过炉速度,使得以峰值温度为中心线的两侧超过217℃的炉温曲线尽量对称,同时还要使得理想的炉温曲线超过峰值所覆盖的面积最小。考虑到如何给地对称性指标并且该问题属于多目标优化问题,本文通过加权法将多目标函数转化为单目标函数进行求解。 \section{模型假设} \begin{enumerate} \item 不考虑空气对流。 \item 假设电路板材料均匀,各向同性。 \item 当小温区之间的温度差较小时,环境温度在两边温度不等的间隙中随位移线形变化且不考虑小温区边界附近的温度变化 \item 当小温区之间的温度差较大时,考虑小温区温度之间的影响。 \item 炉前及炉后区域中,环境温度随空间距离平缓变化最终趋于室温。 \end{enumerate} \section{符号说明} \begin{table}[H] \centering \begin{tabular}{ccccc} \toprule[1.5pt] 符号 & 说明 & 单位 \\ \midrule[1pt] \nu & 传送带过炉速度 & cm/\min \\ H & 室温 & cm/\min \\ $ {T_1} $ & 温区1~5设立的温度 & ℃ \\ $ {T_2} $ & 温区6设置的温度 & ℃ \\ $ {T_3} $ & 温区7设置的温度 & ℃ \\ $ {T_4} $ & 温区8~9设置的温度 & ℃ \\ \nu & 牛顿冷却方程中的冷却系数 & cm/\min \\ \bottomrule[1.5pt] \end{tabular} \end{table} \section{模型建立和求解} \subsection{建模准备} \subsubsection{问题的数学化处理} 电路板在回焊炉内焊接时,实际上是三维立体温度扩散。本文假设不计空气对流。因此可以忽略平行板的高度和宽度,将立体平行板简化为只与厚度有关的一维空间。 \subsubsection{环境温度} (1)两边温度不等的间隙 根据热传导方程 (1) 到达稳态后温度不随时间变化 (2) 进而 (3) 得到 (4) 进而由(4)可知小温区之间的温度随空间距离呈线性变化。 (2)两边温度相等的间隙 两边恒热源不断向间隙内供热,直到间隙内温度处处与两端温度相等。 环境温度如图: \subsubsection{牛顿冷却定律} 牛顿指出,冷却温度损失速度与系统和环境的温差成正比,即牛顿冷却定律 (5) 其中: 是温度(T)的时间(t)函数,其倒数表示降温速度, 表示室温, 表示冷却系数。 由上述公式两边取积分: (6) (7) 求积分的解 (8) (9) (10) 假定已知在 时刻,温度为 ,简写为 ,带入上述公式 (11) (12) 进而可推导出公式: (13) 进行离散化处理后,推导出下面的公式: \[(T_i=H+(T_(i-1)-H) e^(-α∆t) #(14) )\] \subsection{问题一的建模和求解} \subsubsection{基于热传导方程的温度分布模型} 电路板在回焊炉内焊接过程满足一维热传导方程即 (15) 电路板在进入回焊炉之前整体温度为25℃,即满足初始条件 根据牛顿冷却定理可知电路板两端需满足边界条件 (16) \subsubsection{基于牛顿冷却定律的温度分布模型} 由于电路板的导热性能较好而电路板的厚度仅为0.15mm,当电路板受热时其内部温度很快接近一致,即同一时刻,温度在电路板上分布一致,故而将电路板看做一个整体。因此,在上述基于热传导方程的温度分布模型中,只有边界条件起作用,从而将模型简化为 \[(T_i=H+(T_(i-1)-H) e^(-α∆t) #(17) )\] \subsubsection{问题一模型求解} 由于热传导方程模型和牛顿冷却定律模型都存在未知参数,故需要先确定最优参数,再对模型进行求解。 最优参数求解 由于建立的热传导方程属于抛物方程,边界条件复杂,难以求的解析值,采用有限差分法将连续的定解区域用有效个离散点构成的网络来代替,把定解区域上的连续函数用网格上定义的离散变量的函数来近似,把原方程和定解条件中的微商用差商来近似,通过迭代求得参数下的电路板温度,最后通过最小二乘法确定最优参数。 模型求解 步骤: Step1:通过对时间的划分设置步长为0.01,建立在各个温区中环境温度随时间线性变化的模型,找出环境温度变化的线性规律; Step2:通过牛顿冷却定律,对五大温区的冷却系数分别设置为 ,计算出在不同温度下,炉温曲线的数据; Step3:代入 的初始值,进行迭代,计算出每次迭代的炉温曲线数据,与附件一数据进行对比,通过最小二乘法拟合来得到其误差平方和; Step4:代入数据,将得到的五个参数的现最优解进行细化,缩小每一次迭代的步长为0.001,重新迭代,重复Step3,获得一定范围的最优的5个冷却比例。 (3)问题一的结果 改变各个温区温度和传送带过炉速度后,小温区3、6、7中点以及小温区8结束点焊接区域中心的温度,如下表: 位置 小温区3中点 小温区6中点 小温区7中点 小温区8结束点 温度 129.5263℃ 168.6669℃ 189.8242℃ 224.5287℃ 改变各个温区温度和传送带过炉速度后的炉温曲线如图 \subsection{问题二的建模与求解} \subsubsection{模型建立} 决策变量:传送带速度 目标函数:目标为求使的电路板在回焊炉中炉温曲线满足制程界限的最大传输速度,即 (18) 约束条件:速度需要满足的制程界限,即: (19) 约束条件中加入 \subsubsection{模型求解} 步骤: Step1:利用二分法求最大速度的大致区间 Step2:在大致区间内搜索 Step3:得到最大传输速度 结果: 求解得到最优为76.1700cm/min。 最大过炉速度下的炉温曲线 \subsection{问题三的建模与求解} \subsubsection{问题三模型建立} 在本题中各个小温区设定温度可以进行范围内的调整,调整时要求小温区1到5的温度保持一致,小温区8到9的温度保持一致,小温区10到11的温度保持25℃,传送带的过炉速度调节范围为65到100 。 因此,建立如下单目标优化模型。 目标函数: S=∫_t3^t4▒〖[T(t)-217〗]dt (20) 决策变量:阴影面积S 模型: (21) 约束条件: 速度温度满足上下限: (22) 炉温曲线满足制程界限: -3≤(T(i)-T(i-1))/∆t≤3 60≤t_(150≤T≤190)≤120 40≤t_(T≥217)≤90 240≤maxT(t)≤250 \subsubsection{模型求解} 本题中决策变量较多,且决策变量变化范围大,故解空间大,故而采用遗传算法对其进行求解。 遗传算法思路: 第一:input: 适应度函数种群规模NIND,变量个数NVAR,交叉率,变异率,遗传代数MAXGEN; 第二:生成初代种群; 第三:种群的第一代 第四:循环 (结束条件: MAXGEN),计算个体适应度,选择操作,交叉操作,变异操作,生成新一代种群 第五步:output: 最小面积 ;各个温区的温度 ,传送带的速度 \subsubsection{求解结果} 以衡量累计高温区域大小所对应的阴影面积最小作为目标函数,建立起了一个以各个温区问题和过炉速度为决策变量的优化模型。约束条件包括制程界限、温度分布所满足的微分方程模型,采用了遗传算法,求得最小阴影面积为384.96 ,此时过炉速度为89.112cm/min,各个温区温度如下: 位置 6 7 温度 174.51℃ 192.31℃ 225.77℃ 264.97℃ 此时最优曲线图为: \subparagraph{问题四的建模与求解} \subsubsection{模型的建立} 本题不仅要求以峰值温度为中心线的两侧超过217℃的罗曲线尽量对称,同时还要求满足问题三中阴影部分面积 最小,故为一个多目标优化问题。对于多目标优化问题,通常解法是将多个指标量化再进行加权平均。 对称面积 : █(S_0=〖{∫_t3^t4▒〖[T_1 (t)-217〗]dt-∫_t3^t4▒〖[T_1 (t)-217〗]dt}〗^2 #(23) ) 运动时间的差值 : █(t_0=[(t_5-t_4 )-(t_4-t_3 )]^2 #(24) ) 对称度 :用来衡量是否对称, 越小越对称。 █(h=〖{∫_t3^t4▒〖[T(t)-217〗]dt-∫_t3^t4▒〖[T(t)-217〗]dt}〗^2/S_0 +[(t5-t4)-(t4-t3)]^2/t_0 #(25) ) 面积量化:将多变量转化为单变量,即 S_1=∫_t3^t4▒〖[T_1 (t)-217〗]dt (26) S_C={∫_t3^t4▒〖[T(t)-217〗]}dt-S_1}/10 (27) 将多目标优化问题转化为单目标优化问题后建立起单目标优化模型,即 目标函数:A=h+S_C 决策变量:即两面积的对称度和面积差的和A 数学模型: min⁡A (28) 其中,S_C是面积量化,即计算得到的面积减去之前得到的最优面积。 最后对称度和面积差按1:1进行量化。 \subsubsection{模型的求解} 本题仍然使用遗传算法。 步骤: Step1:通过遗传算法对 进行求解, Step2:将多目标优化模型量化为单目标优化模型,即 量化,引入对称度 。Step3:以min⁡A为目标函数,以A=h+S_C加权得到面积最小时对应设定温度和传送带的过炉速度。 计算过程要求: 对称时间点的温度值尽量相等 对称时间点的温度变化率之和尽量为0 峰值温度两侧超过217℃的时长尽量相等 \subsubsection{求解结果} 给定高温区炉温曲线对称性指标——两函数之差的范数,建立起了以高温区炉温曲线对称性和高温累计区域面积为目标的双目标规划模型,将两目标规划化并采用动态综合加权法将多目标优化转化为单目标优化,最后通过遗传算法求得最小阴影面积为404.57 ,此时过炉速度为89.460cm/min,各个温区温度如下: 位置 6 7 温度 175.28℃ 189.61℃ 228.24℃ 263.50℃ 此时的最优曲线为: \begin{figure}[H] \centering \includegraphics[width=.6\textwidth]{stupid1} \caption{拟合曲线} \label{fig:circuit-diagram1} \end{figure} \section{结果检验与误差分析} \subsection{问题二结果检验} 在问题二中,对传送带最大过炉速度进一步验证,当对最大过路速度进行适度的升高时,可以发现电路板的炉温曲线不再满足题中要求的制程界限;对最大过炉速度进行适当的降低,可以发现电路板的炉温曲线满足题目中所要求的制程界限,因此可以验证问题二中最大过炉速度的正确性。 \subsection{问题三、四结果检验} 固定已经得到的结果 的值,任意更改多次 的值,发现总体目标函数都有所上升,这初步验证了结果的较优性。 第四问中观察图像的对称性,再次验证就结果的合理性。 \begin{figure}[H] \centering \includegraphics[width=.6\textwidth]{stupid2} \caption{拟合曲线} \label{fig:circuit-diagram2} \end{figure} \section{模型评价} \subsection{模型优点} 利用热传导方程模型,能够较好地反映出电路板在回焊炉中焊接的物理过程,考虑到了电路板在回焊炉中温度在电路板厚度上的分布。基于牛顿冷却定律建立的温度分布模型是在热传导方程基础上简化条件后建立的相比较热传导方程,基于牛顿冷却定律的温度分布模型不再考虑温度在电路板厚度上的分布,求解过程简化,求解效率大大提高。 \subsection{模型缺点} 热传导方程模型求解过程复杂,在较短的时间内难以求得最优的参数。基于牛顿冷却定律建立的温度分布模型没有考虑到电路板在回焊炉中温度在电路板厚度上的分布,对于厚度较厚的电路板,此模型过于简单,结果误差较大。 %参考文献 \begin{thebibliography}{9}%宽度9 \bibitem[1]{xxx}周莉.\newblock 论枝枝是否是最大的傻瓜. \newblock 电子工业出版社, 成都, 2021. \end{thebibliography} \newpage %附录 \begin{appendices} \section{遗传算法--matlab 源程序} \begin{lstlisting}[language=matlab] kk=2;[mdd,ndd]=size(dd); while ~isempty(V) [tmpd,j]=min(W(i,V));tmpj=V(j); for k=2:ndd [tmp1,jj]=min(dd(1,k)+W(dd(2,k),V)); tmp2=V(jj);tt(k-1,:)=[tmp1,tmp2,jj]; end tmp=[tmpd,tmpj,j;tt];[tmp3,tmp4]=min(tmp(:,1)); if tmp3==tmpd, ss(1:2,kk)=[i;tmp(tmp4,2)]; else,tmp5=find(ss(:,tmp4)~=0);tmp6=length(tmp5); if dd(2,tmp4)==ss(tmp6,tmp4) ss(1:tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)]; else, ss(1:3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)]; end;end dd=[dd,[tmp3;tmp(tmp4,2)]];V(tmp(tmp4,3))=[]; [mdd,ndd]=size(dd);kk=kk+1; end; S=ss; D=dd(1,:); \end{lstlisting} \end{appendices} \end{document}