D0L:10.13374/.issn1001-053x.2012.11.007 第34卷第11期 北京科技大学学报 Vol.34 No.11 2012年11月 Journal of University of Science and Technology Beijing Now.2012 基于LabVIEW并行运算的优化算法及其在Ni一Ti合 金线材无模拉拔中应用 张红钢姜雁斌张志豪四谢建新 北京科技大学新材料技术研究院,北京100083 ☒通信作者,E-mail:nth2279@163.com 摘要提出了一种采用LabVIEW并行运算提高传统遗传算法计算速度的方法,可实现多核计算机多线程的同时运算,从而 大幅度提高运算效率.Ni-Ti合金线材无模拉拔初始阶段拉拔速度路径优化结果表明,在八核计算机上采用基于L山VIEW的 多线程并行运算程序,与基于文本编程的MATLAB运算程序相比,前者运算时间仅为后者的1/8左右.N-Ti合金线材无模 拉拔实验结果表明,采用本文智能优化后的拉拔速度路径,可使线材直径波动长度缩短至24m,远小于线性或S线型路径的 最小直径波动长度. 关键词并行计算:优化:镍合金;钛合金:拉拔 分类号TG302:TG359 Optimization algorithm based on LabVIEW parallel operation and its application in Ni-Ti alloy wire dieless drawing ZHANG Hong-gang,JIANG Yan-bin,ZHANG Zhi-hao,XIE Jian-xin Institute for Advanced Materials and Technology,University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail:ntzzh2279@163.com ABSTRACT A optimization method based on LabVIEW parallel operation was proposed to improve the computing speed of the tradi- tional genetic algorithm.When applied in a multi-core computer,the optimization method can achieve multithreading concurrent opera- tions,thereby improving the efficiency of computation obviously.The initial speed-path of Ni-Ti alloy wire dieless drawing was optimized in an eight-core computer by using the optimization method.Compared with a method based on MATLAB program,the operation time of the optimization method is only about 1/8 as long as that of the former.Experimental results show that after adopting the optimized speed-path,the length of diameter fluctuation is about 24 mm,which is far less than that of other speed-paths such as the SHine style or linear path KEY WORDS parallel operations:optimization:nickel alloys:titanium alloys:drawing 随着计算机技术的发展,有限元模拟技术已成 可能出现不连续,因此很难通过梯度法对有限元模 为优化金属塑性加工成形工艺的重要手段.目前, 拟结果进行优化. 常用最优化方法主要有基于梯度的优化方法和非梯 非梯度的优化方法比如遗传算法或者粒子群算 度的优化方法. 法只需要目标函数在某点上的取值,而不必求该点 基于梯度的优化方法通常假设目标函数和约束 处的梯度,因此能获得全局优化结果口.然而,基于 函数是连续的、平滑的以及处处有定义的.然而,有 非梯度的智能优化方法往往要动辄几百次甚至上万 限元求解过程中需要采用通过隐式反复迭代才能完 次计算目标函数回.应用于金属塑性加工工艺的优 成,所优化的目标函数无法显式表述,且在搜索空间 化时,计算目标函数往往需要调用有限元程序,模拟 收稿日期:201203-22 基金项目:国家自然科学基金资助项目(50634010)
第 34 卷 第 11 期 2012 年 11 月 北京科技大学学报 Journal of University of Science and Technology Beijing Vol. 34 No. 11 Nov. 2012 基于 LabVIEW 并行运算的优化算法及其在 Ni--Ti 合 金线材无模拉拔中应用 张红钢 姜雁斌 张志豪 谢建新 北京科技大学新材料技术研究院,北京 100083 通信作者,E-mail: ntzzh2279@ 163. com 摘 要 提出了一种采用 LabVIEW 并行运算提高传统遗传算法计算速度的方法,可实现多核计算机多线程的同时运算,从而 大幅度提高运算效率. Ni--Ti 合金线材无模拉拔初始阶段拉拔速度路径优化结果表明,在八核计算机上采用基于 LabVIEW 的 多线程并行运算程序,与基于文本编程的 MATLAB 运算程序相比,前者运算时间仅为后者的 1 /8 左右. Ni--Ti 合金线材无模 拉拔实验结果表明,采用本文智能优化后的拉拔速度路径,可使线材直径波动长度缩短至 24 mm,远小于线性或 S 线型路径的 最小直径波动长度. 关键词 并行计算; 优化; 镍合金; 钛合金; 拉拔 分类号 TG302; TG359 Optimization algorithm based on LabVIEW parallel operation and its application in Ni-Ti alloy wire dieless drawing ZHANG Hong-gang,JIANG Yan-bin,ZHANG Zhi-hao ,XIE Jian-xin Institute for Advanced Materials and Technology,University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail: ntzzh2279@ 163. com ABSTRACT A optimization method based on LabVIEW parallel operation was proposed to improve the computing speed of the traditional genetic algorithm. When applied in a multi-core computer,the optimization method can achieve multithreading concurrent operations,thereby improving the efficiency of computation obviously. The initial speed-path of Ni-Ti alloy wire dieless drawing was optimized in an eight-core computer by using the optimization method. Compared with a method based on MATLAB program,the operation time of the optimization method is only about 1 /8 as long as that of the former. Experimental results show that after adopting the optimized speed-path,the length of diameter fluctuation is about 24 mm,which is far less than that of other speed-paths such as the S-line style or linear path. KEY WORDS parallel operations; optimization; nickel alloys; titanium alloys; drawing 收稿日期: 2012--03--22 基金项目: 国家自然科学基金资助项目( 50634010) 随着计算机技术的发展,有限元模拟技术已成 为优化金属塑性加工成形工艺的重要手段. 目前, 常用最优化方法主要有基于梯度的优化方法和非梯 度的优化方法. 基于梯度的优化方法通常假设目标函数和约束 函数是连续的、平滑的以及处处有定义的. 然而,有 限元求解过程中需要采用通过隐式反复迭代才能完 成,所优化的目标函数无法显式表述,且在搜索空间 可能出现不连续,因此很难通过梯度法对有限元模 拟结果进行优化. 非梯度的优化方法比如遗传算法或者粒子群算 法只需要目标函数在某点上的取值,而不必求该点 处的梯度,因此能获得全局优化结果[1]. 然而,基于 非梯度的智能优化方法往往要动辄几百次甚至上万 次计算目标函数[2]. 应用于金属塑性加工工艺的优 化时,计算目标函数往往需要调用有限元程序,模拟 DOI:10.13374/j.issn1001-053x.2012.11.007
第11期 张红钢等:基于LabVIEW并行运算的优化算法及其在Ni一Ti合金线材无模拉拔中应用 ·1295· 次数过多,在Visual Basic、C++和JAVA等文本编 和模拟目标值的输出.为此,本文采用DEFORM软 程语言的基础上进行编写的程序只能按照先后顺序 件进行有限元计算. 执行,整个程序运算时间很长,即便采用多核高性能 在运行机制上,LabVIEW与文本编程语言平台 计算机,也只能进行单核运算,即无法发挥多核计算 有本质的区别,开发LabVIEW应用程序需考虑不同 机硬件的功能,使该优化方法在金属塑性加工领域 进程之间的互斥、同步及死锁现象等问题) 无法获得广泛应用.目前,虽然有研究者采用混合 在遗传算法或者粒子群算法程序编写过程中, 智能优化0或微型遗传算法优化技术B减少智能 LabVIEW并行程序与基于MATLAB等文本编程语 优化过程的模拟次数,但并未从根本上解决智能优 言平台程序的主要区别是能并行计算每一代(或迭 化过程计算时间成本较高的问题. 代次数)的个体(或粒子)的目标值,在此基础上进 LabVIEW是以数据流而不是命令的先后顺序 行适应度函数计算.此外,LabVIEW程序可以调用 决定程序框图元素的执行顺序,可创建具有并行操 MATLAB脚本节点,实现初始化个体(或粒子)以及 作的程序框图.因此,若能将LabVIEW的多线程 更新个体(或粒子)等步骤,这些步骤的运算时间与 并行运算应用于金属塑性加工工艺智能优化领域, 个体(或粒子)的有限元计算时间相比较可以忽略 有望大幅度缩短计算时间,提高运算效率,对金属塑 不计 性加工工艺智能优化方法的推广具有重要意义,同 采用LabVIEW编写了金属塑性加工工艺智能 时对工艺参数的在线控制仿真具有潜在的应用 优化的两线程并行程序如图1所示.该框图完成每 价值. 一代(或迭代次数)的个体(或粒子)的目标值计算, 本文提出了一种基于LabVIEW并行运算的智 在FOR循环包含一个平铺式顺序结构,该结构先后 能优化算法,以满足金属塑性加工工艺智能优化设 完成DB数据库的生成、有限元并行运算和目标值 计的时效性.在此基础上,以无模拉拔成形初始阶 的计算三个步骤.DB数据库的生成和目标值的计 段拉拔速度路径优化为例,采用基于LabVIEW平台 算分别调用MATLAB脚本节点,而有限元并行运算 的遗传算法和有限元模拟相结合的方法对无模拉拔 以“执行系统命令”同时启动多个DEFORM软件的 初始阶段的拉拔速度路径进行了优化,比较了基于 DB数据库文件计算. LabVIEW和MATLAB平台的运算时间,并对优化结 DB数据库的生成主要是通过修改DEFORM软 果进行实验验证 件的key文件中功能关键词(Action Keywords) 1利用LabVIEW设计智能优化并行程序 “USRDEF”下的10行字符,这些字符由个体(或粒 子)的值转换而来,然后以命令行DEF_PRE.EXE< DEFORM数值模拟软件专用于模拟金属体积 DF_SIM_CTL.TXT将修改后的key文件生成新的 成形(如锻造、轧制和拉拔),该软件允许用户无需 DB数据库 进入图形用户界面而采用文本模式就能对其数据库 有限元并行运算主要是通过命令行SDEF 进行操作,经过二次开发可以完成自变量的输入 ARM_CTL.com problemid B来运行新生成的数据库 DB数据库生成 有限元并行运算 目标值的计算 ■1g■1n1n■11a1■ ■■■■■。n可 山n1■■1a■nga■11a口 HATLAB seript HATLAB seript objvi=objeale((1ti2,:),1) 工作且「 HATLAB script AILAB seript ae6g+2,),2 bjv2=objcale(x(2+i2,),2) 图1金属塑性加工工艺智能优化的LabVIEW并行程序 Fig.I LabVIEW parallel operation program of intelligent optimization for metal plastic processing
第 11 期 张红钢等: 基于 LabVIEW 并行运算的优化算法及其在 Ni--Ti 合金线材无模拉拔中应用 次数过多,在 Visual Basic、C + + 和 JAVA 等文本编 程语言的基础上进行编写的程序只能按照先后顺序 执行,整个程序运算时间很长,即便采用多核高性能 计算机,也只能进行单核运算,即无法发挥多核计算 机硬件的功能,使该优化方法在金属塑性加工领域 无法获得广泛应用. 目前,虽然有研究者采用混合 智能优化[1]或微型遗传算法优化技术[3--4]减少智能 优化过程的模拟次数,但并未从根本上解决智能优 化过程计算时间成本较高的问题. LabVIEW 是以数据流而不是命令的先后顺序 决定程序框图元素的执行顺序,可创建具有并行操 作的程序框图[5]. 因此,若能将 LabVIEW 的多线程 并行运算应用于金属塑性加工工艺智能优化领域, 有望大幅度缩短计算时间,提高运算效率,对金属塑 性加工工艺智能优化方法的推广具有重要意义,同 时对工艺参数的在线控制仿真具有潜在的应用 价值. 图 1 金属塑性加工工艺智能优化的 LabVIEW 并行程序 Fig. 1 LabVIEW parallel operation program of intelligent optimization for metal plastic processing 本文提出了一种基于 LabVIEW 并行运算的智 能优化算法,以满足金属塑性加工工艺智能优化设 计的时效性. 在此基础上,以无模拉拔成形初始阶 段拉拔速度路径优化为例,采用基于 LabVIEW 平台 的遗传算法和有限元模拟相结合的方法对无模拉拔 初始阶段的拉拔速度路径进行了优化,比较了基于 LabVIEW 和 MATLAB 平台的运算时间,并对优化结 果进行实验验证. 1 利用 LabVIEW 设计智能优化并行程序 DEFORM 数值模拟软件专用于模拟金属体积 成形( 如锻造、轧制和拉拔) ,该软件允许用户无需 进入图形用户界面而采用文本模式就能对其数据库 进行操作[6],经过二次开发可以完成自变量的输入 和模拟目标值的输出. 为此,本文采用 DEFORM 软 件进行有限元计算. 在运行机制上,LabVIEW 与文本编程语言平台 有本质的区别,开发 LabVIEW 应用程序需考虑不同 进程之间的互斥、同步及死锁现象等问题[7]. 在遗传算法或者粒子群算法程序编写过程中, LabVIEW 并行程序与基于 MATLAB 等文本编程语 言平台程序的主要区别是能并行计算每一代( 或迭 代次数) 的个体( 或粒子) 的目标值,在此基础上进 行适应度函数计算. 此外,LabVIEW 程序可以调用 MATLAB 脚本节点,实现初始化个体( 或粒子) 以及 更新个体( 或粒子) 等步骤,这些步骤的运算时间与 个体( 或粒子) 的有限元计算时间相比较可以忽略 不计. 采用 LabVIEW 编写了金属塑性加工工艺智能 优化的两线程并行程序如图 1 所示. 该框图完成每 一代( 或迭代次数) 的个体( 或粒子) 的目标值计算, 在 FOR 循环包含一个平铺式顺序结构,该结构先后 完成 DB 数据库的生成、有限元并行运算和目标值 的计算三个步骤. DB 数据库的生成和目标值的计 算分别调用 MATLAB 脚本节点,而有限元并行运算 以“执行系统命令”同时启动多个 DEFORM 软件的 DB 数据库文件计算. DB 数据库的生成主要是通过修改 DEFORM 软 件的 key 文件中功能关键词 ( Action Keywords) “USRDEF”下的 10 行字符,这些字符由个体( 或粒 子) 的值转换而来,然后以命令行DEF_PRE. EXE < DF_SIM_CTL. TXT 将修改后的 key 文件生成新的 DB 数据库. 有限元并行运算主要是通过命令行 $ DEF _ ARM_CTL. com problemid B 来运行新生成的数据库 ·1295·
·1296· 北京科技大学学报 第34卷 文件“problemid”是DB数据库的生成步骤的 为轴向位置,t。+△t时线材外形轮廓为R(x,t。+ MATLAB脚本输出值,以字符串形式输出.在 △).to时刻体积为πRn△t的部分金属在△t时间 DEFORM有限元计算时会自动生成临时文件 内完全通过截面A,同时体积为Rvm△t的部分金 “FORO03”和“FOR003.LOCK”,这两个文件会阻止 属完全通过初始变形截面B,截面A和B之间的距 该目录下的其他DEFORM数据库的运算,具有互斥 离为LAB 性.因此在程序运行前,必须建立多个文件夹,即多 冷却器 加热线图, 个“执行系统命令”的工作目录,以解决程序运行时 有限元计算进程之间对共享资源的互斥,保证 DEFORM数据库在不同的文件夹顺利计算.同时, +A 在LabVIEW并行程序运算前,必须对DEFORM软 稳定变形 件进行二次开发,使节点或单元数据以t文件的格 式输出.可以采用FORTRAN语言对DEFORM软件 图2无模拉拔初始阶段成形示意图 安装目录UserRoutine DEF_SIM下的f文件进行 Fig.2 Schematic illustration of dieless drawing process in the early 编写,然后用文件DEF_SIM_USR_Absoft70.gvi对该 drawing stages f文件进行编译成DEF_SIM.exe文件,复制到“执行 忽略弹性变形以及热膨胀引起的体积变化,由 系统命令”的工作目录下.为了保证有限元并行运 体积不变原理有 算的同步性,有限元计算的单次运行时间最好相近, 提高并行运算的效率.当DEFORM数据库运算完 mRA+π0R(x,o)dk= 成后,节点或单元数据会在各个工作目录下以xt文 0+A 件格式输出. R(x,+△0d+π。0Rd山.(①) 目标值的计算主要对有限元并行运算步骤xt 整理得 文件中的输出量进行计算,其结果以数组形式输出. J。 (R2(x,to)-R2(x,t。+△t))d= 如果数据库DB文件较大,在此MATLAB脚本节点 程序可对数据库DB文件进行删除,只复制xt文件 r(o0-n)R2d山 (2) 备份,以免占用硬盘空间.当FOR循环完成后,根 若t6=0时R(x,to)=Rm,则有 据DEFORM获得的节点或单元数据计算所有个体 (或粒子)的适应度函数.随后进行其他智能优化 R 步骤 (3) 在以上多线程程序设计时,变量都以数组的形 广.0-ak 式定义,按行列进行索引,防止同名变量的出现而发 式(3)并不涉及无模拉拔的温度和拉拔力的变化, 生死锁现象 适合于各种材料以及不同无模拉拔成形工艺条件. 对初始阶段的拉拔速度路径进行优化,即优化式 2应用实例 (3)中的vm(t),其目的是使得△1时间内变形进入 拉拔速度路径(在一定时间内拉拔速度由进料 稳定阶段,线材直径波动长度与稳定变形区长度之 速度增加至稳态拉拔速度的路径)是无模拉拔成形 和L最小.由于无模拉拔成形过程具有非线性特 过程中线材直径波动的主要影响因素之一0,线 性,难于求式(3)的解析解 材直径波动长度(从初始变形到稳定变形之间的线 2.2遗传算法的LabVIEW并行运算 材长度)能反映线材在初始阶段直径波动的持续 图3为遗传算法的并行计算流程图.遗传算法 性.因此,寻求优化的拉拔速度路径,对于线材尺寸 采用LabVIEW程序编写,并行运算程序由图1扩展 波动的精确控制、减小直径波动长度(从初始变形 到八线程,有限元模拟采用DEFORM--2D软件在后 到稳定变形之间的线材长度)具有重要意义 台运行.本文有限元模拟采用的N一Ti合金的本构 2.1无模拉拔初始阶段数学模型 关系见文献1],感应加热边界条件见文献2], 无模拉拔初始阶段成形过程如图2所示,线材 其他材料常数见文献3].Ni-i合金线材无模拉 的原始半径R。,进料速度va,拉拔速度vm(t)是时 拔加工过程的几何模型是半径为3mm、长度为 间t的函数,在t。时刻线材外形轮廓为R(x,to),x 200mm的轴对称二维模型,采用平面四边形单元划
北 京 科 技 大 学 学 报 第 34 卷 文件,“problemid”是 DB 数据库的生成步骤的 MATLAB脚 本 输 出 值,以 字 符 串 形 式 输 出. 在 DEFORM有限元计算时 会自动生成临时文件 “FOR003”和“FOR003. LOCK”,这两个文件会阻止 该目录下的其他 DEFORM 数据库的运算,具有互斥 性. 因此在程序运行前,必须建立多个文件夹,即多 个“执行系统命令”的工作目录,以解决程序运行时 有限元计算进程之间对共享资源的互斥,保 证 DEFORM数据库在不同的文件夹顺利计算. 同时, 在 LabVIEW 并行程序运算前,必须对 DEFORM 软 件进行二次开发,使节点或单元数据以 txt 文件的格 式输出. 可以采用 FORTRAN 语言对 DEFORM 软件 安装目录 $ UserRoutine \DEF_SIM 下的 f 文件进行 编写,然后用文件 DEF_SIM_USR_Absoft70. gvi 对该 f 文件进行编译成 DEF_SIM. exe 文件,复制到“执行 系统命令”的工作目录下. 为了保证有限元并行运 算的同步性,有限元计算的单次运行时间最好相近, 提高并行运算的效率. 当 DEFORM 数据库运算完 成后,节点或单元数据会在各个工作目录下以 txt 文 件格式输出. 目标值的计算主要对有限元并行运算步骤 txt 文件中的输出量进行计算,其结果以数组形式输出. 如果数据库 DB 文件较大,在此 MATLAB 脚本节点 程序可对数据库 DB 文件进行删除,只复制 txt 文件 备份,以免占用硬盘空间. 当 FOR 循环完成后,根 据 DEFORM 获得的节点或单元数据计算所有个体 ( 或粒子) 的适应度函数. 随后进行其他智能优化 步骤. 在以上多线程程序设计时,变量都以数组的形 式定义,按行列进行索引,防止同名变量的出现而发 生死锁现象. 2 应用实例 拉拔速度路径( 在一定时间内拉拔速度由进料 速度增加至稳态拉拔速度的路径) 是无模拉拔成形 过程中线材直径波动的主要影响因素之一[8--10],线 材直径波动长度( 从初始变形到稳定变形之间的线 材长度) 能反映线材在初始阶段直径波动的持续 性. 因此,寻求优化的拉拔速度路径,对于线材尺寸 波动的精确控制、减小直径波动长度( 从初始变形 到稳定变形之间的线材长度) 具有重要意义. 2. 1 无模拉拔初始阶段数学模型 无模拉拔初始阶段成形过程如图 2 所示,线材 的原始半径 Rin,进料速度 vin,拉拔速度 vout ( t) 是时 间 t 的函数,在 t0 时刻线材外形轮廓为 R( x,t0 ) ,x 为轴向位置,t0 + Δt 时线材外形轮廓为 R( x,t0 + Δt) . t0 时刻体积为 πR2 in vinΔt 的部分金属在 Δt 时间 内完全通过截面 A,同时体积为 πR2 in voutΔt 的部分金 属完全通过初始变形截面 B,截面 A 和 B 之间的距 离为 LAB . 图 2 无模拉拔初始阶段成形示意图 Fig. 2 Schematic illustration of dieless drawing process in the early drawing stages 忽略弹性变形以及热膨胀引起的体积变化,由 体积不变原理有 πR2 in vinΔt + π ∫ LAB 0 R2 ( x,t0 ) dx = π ∫ LAB 0 R2 ( x,t0 + Δt) dx + π ∫ 0t +Δt t0 vout ( t) R2 in dt. ( 1) 整理得 ∫ LAB 0 ( R2 ( x,t0 ) - R2 ( x,t0 + Δt) ) dx = ∫ 0t +Δt t0 ( vout ( t) - vin ) R2 in dt. ( 2) 若 t0 = 0 时 R( x,t0 ) = Rin,则有 ∫ LAB ( 0 1 - R2 ( x,Δt) R2 ) in dx = ∫ Δt 0 ( vout ( t) - vin ) dt. ( 3) 式( 3) 并不涉及无模拉拔的温度和拉拔力的变化, 适合于各种材料以及不同无模拉拔成形工艺条件. 对初始阶段的拉拔速度路径进行优化,即优化式 ( 3) 中的 vout ( t) ,其目的是使得 Δt 时间内变形进入 稳定阶段,线材直径波动长度与稳定变形区长度之 和 LAB最小. 由于无模拉拔成形过程具有非线性特 性,难于求式( 3) 的解析解. 2. 2 遗传算法的 LabVIEW 并行运算 图 3 为遗传算法的并行计算流程图. 遗传算法 采用 LabVIEW 程序编写,并行运算程序由图 1 扩展 到八线程,有限元模拟采用 DEFORM--2D 软件在后 台运行. 本文有限元模拟采用的 Ni--Ti 合金的本构 关系见文献[11],感应加热边界条件见文献[12], 其他材料常数见文献[13]. Ni--Ti 合金线材无模拉 拔加工 过 程 的 几 何 模 型 是 半 径 为 3 mm、长 度 为 200 mm的轴对称二维模型,采用平面四边形单元划 ·1296·
第11期 张红钢等:基于LabVIEW并行运算的优化算法及其在Ni一Ti合金线材无模拉拔中应用 ·1297· 分网格,共有7524个节点、6830个单元,如图4所 路径可以如下分段函数进行描述: 示.速度边界条件为进料速度0.5mm·s,拉拔速 tom(t)= 度随时间变化,即所优化的目标 n+(,-a)th' 0≤1≤tam; 遗传算法的LabVIEW并行运算主要步骤如下: 1+(g2-)nt-amh' th/n≤t≤2u/n; (1)确定拉拔速度的区间以及遗传算法参数; (2)随机产生初始群体,进行多线程并行有限 Lbn-1+(tom-tn-i)n-(n-l)ta/mhs,(n-l)thn≤1≤s 元模拟计算,利用有限元模拟结果进行计算适应度 (4) 函数值; 式中,vm≥vn-1≥…≥2≥U1≥tm·如果n足够大, (3)通过选择、交叉和变异等遗传操作对群体 式(4)可以近似描述任意线型的拉拔速度路径. 更新,进行新群体译码,进行八线程并行有限元模拟 计算,根据模拟结果进行计算适应度函数值: (4)更新进化循环,判断新群体是否满足终止 条件,满足则执行步骤(5),否则跳至步骤(3); (5)得到最优方案,退出迭代优化,拉拔速度路 径优化结束,输出优化结果 开始 确定拉拔速度的区问和遗传算法参数 时间 产生初始群体 新群体 图5拉拔速度随时间变化示意图 八线程 有限元模拟 Fig.5 Curve of drawing speed with time 并行计算 在自主研发的无模拉拔设备上对Ni-Ti合金进 计算适应度函数 行成形实验,线材原始半径为3mm,加热电流为 选择 140A,冷热源距离为15mm,断面收缩率为50%(即 满足条件? 目标半径为2.12mm),进料速度为0.5mms-1,参 Y 输出结果 照文献B-10]选择拉拔速度路径函数分别为S线 型和线性,升速时间t.为30、50和70s.S线型拉拔 结束 速度路径如图6(a)所示,其函数为 图3遗传算法的并行运算流程 tot(t)= Fig.3 Computational flow chart for the parallel operation of the ge- 0.5+0.5(31/2t)2, 0≤t≤th3; neric algorithm 0.375+0.751/t, th3≤t≤2th/3: 冷却器、 ,加热线图 1-0.5B(t-th)/2t]2,2t./3≤t≤tk O S 一线材 (5) ←”一串田←. 线性拉拔速度路径为vm(t)=0.5+0.5t/ha,如图6 图4无模拉拔加工过程的有限元模型 (b)所示 Fig.4 Finite element model of dieless drawing process 图7是不同拉拔速度路径条件下经无模拉拔成 2.3拉拔速度路径的表示方法及区间的确定 形后的线材半径.图7的横坐标0点离冷却器入口 拉拔速度路径可以看成由一系列在速度一时间 5 mm. 二维坐标内的点的连线构成.路径的初始坐标和终 参照国家标准设定无模拉拔后N-Ti合金线材 止坐标都己知,时间具有先后顺序,速度可以任意排 直径允许偏差为±0.05mm,本文将线材拉拔变形 列,拉拔速度路径可以将升速时间t.划分为n段, 后直径偏差在±0.05mm内时视为成形进入稳定阶 各时刻的速度在进料速度和稳态阶段的拉拔速度之 段,以此标准并以图7横坐标位置的0点为起点来 间随机选取,然后线性连接,如图5所示.拉拔速度 计算线材直径波动长度
第 11 期 张红钢等: 基于 LabVIEW 并行运算的优化算法及其在 Ni--Ti 合金线材无模拉拔中应用 分网格,共有 7 524 个节点、6 830 个单元,如图 4 所 示. 速度边界条件为进料速度 0. 5 mm·s - 1 ,拉拔速 度随时间变化,即所优化的目标. 遗传算法的 LabVIEW 并行运算主要步骤如下: ( 1) 确定拉拔速度的区间以及遗传算法参数; ( 2) 随机产生初始群体,进行多线程并行有限 元模拟计算,利用有限元模拟结果进行计算适应度 函数值; ( 3) 通过选择、交叉和变异等遗传操作对群体 更新,进行新群体译码,进行八线程并行有限元模拟 计算,根据模拟结果进行计算适应度函数值; ( 4) 更新进化循环,判断新群体是否满足终止 条件,满足则执行步骤( 5) ,否则跳至步骤( 3) ; ( 5) 得到最优方案,退出迭代优化,拉拔速度路 径优化结束,输出优化结果. 图 3 遗传算法的并行运算流程 Fig. 3 Computational flow chart for the parallel operation of the generic algorithm 图 4 无模拉拔加工过程的有限元模型 Fig. 4 Finite element model of dieless drawing process 2. 3 拉拔速度路径的表示方法及区间的确定 拉拔速度路径可以看成由一系列在速度—时间 二维坐标内的点的连线构成. 路径的初始坐标和终 止坐标都已知,时间具有先后顺序,速度可以任意排 列,拉拔速度路径可以将升速时间 tds划分为 n 段, 各时刻的速度在进料速度和稳态阶段的拉拔速度之 间随机选取,然后线性连接,如图 5 所示. 拉拔速度 路径可以如下分段函数进行描述: vout ( t) = vin + ( v1 - vin ) nt /tds, 0≤t≤tds /n; v1 + ( v2 - v1 ) n( t - tds /n) /tds, tds /n≤t≤2tds /n; … vn - 1 + ( vout - vn - 1 ) n[t - ( n - 1) tds /n]/tds, ( n - 1) tds /n≤t≤tds . ( 4) 式中,vout≥vn - 1≥…≥v2≥v1≥vin . 如果 n 足够大, 式( 4) 可以近似描述任意线型的拉拔速度路径. 图 5 拉拔速度随时间变化示意图 Fig. 5 Curve of drawing speed with time 在自主研发的无模拉拔设备上对 Ni--Ti 合金进 行成形实验,线材原始半径为 3 mm,加热电流为 140 A,冷热源距离为 15 mm,断面收缩率为 50% ( 即 目标半径为 2. 12 mm) ,进料速度为 0. 5 mm·s - 1 ,参 照文献[8--10]选择拉拔速度路径函数分别为 S 线 型和线性,升速时间 tds为 30、50 和 70 s. S 线型拉拔 速度路径如图 6( a) 所示,其函数为 vout ( t) = 0. 5 + 0. 5( 3t /2tds) 2 , 0≤t≤tds /3; 0. 375 + 0. 75t /tds, tds /3≤t≤2tds /3; 1 - 0. 5[3( t - tds) /2tds ]2 , 2tds /3≤t≤tds { . ( 5) 线性拉拔速度路径为 vout ( t) = 0. 5 + 0. 5t /tds,如图 6 ( b) 所示. 图 7 是不同拉拔速度路径条件下经无模拉拔成 形后的线材半径. 图 7 的横坐标 0 点离冷却器入口 5 mm. 参照国家标准设定无模拉拔后 Ni--Ti 合金线材 直径允许偏差为 ± 0. 05 mm,本文将线材拉拔变形 后直径偏差在 ± 0. 05 mm 内时视为成形进入稳定阶 段,以此标准并以图 7 横坐标位置的 0 点为起点来 计算线材直径波动长度. ·1297·
·1298· 北京科技大学学报 第34卷 1.0(a) 1.0 =30s 50s 70s =30s 508 70s 0.8 0.8 0.6 0.6 20 40 60 20 40 60 时向s 时向/s 图6无模拉拔速度路径.(a)S线型:(b)线性 Fig.6 Dieless drawing speed-paths:(a)SHine style paths:(b)linear paths 拉拔方向 拉拔方向 =70s 4=708 a=50s t-50s 拉断 =30s =308 50 100150200 250 300 50 100150200250 300 位置/mm 位置/mm 图7不同拉拔速度路径条件下的线材半径.(a)S线型:(b)线性 Fig.7 Effect of the different drawing speed paths on wire radius:(a)S-ine style paths:(b)linear paths 表1为不同拉拔速度路径条件下的直径波动长 拉拔速度增量相关参数为P,第j段拉拔速度增量 度.从表1可以看出:对于S线型路径,升速时间为 30s时,线材被拉断;升速时间从50s增加到70s 占总增量05mms的百分比为P/三P× 时,直径波动长度减小.线性路径、升速时间为30s 条件下的直径波动长度为251mm;升速时间增加到 100%,则有=+05那/P:,=1+ 50s时,直径波动长度减小到78mm;而升速时间再 增加到70s时,直径波动长度反而增加到152mm. 0.5P pi=2-9)=w+05P/ 设定拉拔速度增量相关参数P,(=1~10)的区间为 表1不同拉拔速度路径条件下的直径波动长度 Table 1 Effect of drawing speed paths on the waving length of diameter O,1],由于P,呈相同比例时,适应度函数会出现相 路径 升速时间⅓ 直径波动长度/mm 同的结果,所以设定P1为区间0,1]的中间值0.5. 30 断裂 2.4适应度函数的制定 S线型路径 50 162 如果依据直径波动长度作为拉拔速度路径优劣 70 84 的判据,将会使得部分升速路径模拟的总时间步很 30 251 长,才能获得直径波动长度,同时可能拉拔速度升速 线性路径 50 78 过快而出现网格畸形,需重新划分网格,这都会增加 70 152 单次的模拟运算时间.同时为了保证多线程并行运 算的同步,设定每次模拟的总时间步长相同,需寻求 无模拉拔实验在升速时间50s条件下能获得较 一种拉拔速度路径优劣的判据. 小的直径波动长度78mm,因此选取式(4)中的升速 基于对初始阶段变形区轮廓的观察,变形区轮 时间为50s.将升速时间均分为10段(n值), 廓能最快地趋近至稳态的轮廓时,直径波动长度达 5is(i=1~9)对应拉拔速度,第j段(=1~10) 到最小值。依据该拉拔速度路径优劣的判据,适应
北 京 科 技 大 学 学 报 第 34 卷 图 6 无模拉拔速度路径. ( a) S 线型; ( b) 线性 Fig. 6 Dieless drawing speed-paths: ( a) S-line style paths; ( b) linear paths 图 7 不同拉拔速度路径条件下的线材半径. ( a) S 线型; ( b) 线性 Fig. 7 Effect of the different drawing speed paths on wire radius: ( a) S-line style paths; ( b) linear paths 表 1 为不同拉拔速度路径条件下的直径波动长 度. 从表 1 可以看出: 对于 S 线型路径,升速时间为 30 s 时,线材被拉断; 升速时间从 50 s 增加到 70 s 时,直径波动长度减小. 线性路径、升速时间为 30 s 条件下的直径波动长度为 251 mm; 升速时间增加到 50 s 时,直径波动长度减小到 78 mm; 而升速时间再 增加到 70 s 时,直径波动长度反而增加到 152 mm. 表 1 不同拉拔速度路径条件下的直径波动长度 Table 1 Effect of drawing speed paths on the waving length of diameter 路径 升速时间/s 直径波动长度/mm 30 断裂 S 线型路径 50 162 70 84 30 251 线性路径 50 78 70 152 无模拉拔实验在升速时间 50 s 条件下能获得较 小的直径波动长度 78 mm,因此选取式( 4) 中的升速 时间为 50 s. 将 升 速 时 间 均 分 为 10 段 ( n 值) , 5i s ( i = 1 ~ 9) 对应拉拔速度 vi,第 j 段( j = 1 ~ 10) 拉拔速度增量相关参数为 Pj ,第 j 段拉拔速度增量 占总增 量 0. 5 mm·s - 1 的 百 分 比 为 Pj ∑ 10 j = 1 Pj × 100% ,则 有 v1 = vin + 0. 5P1 ∑ 10 j = 1 Pj ; vi = vi - 1 + 0. 5Pi ∑ 10 j = 1 Pj ( i = 2 ~ 9) ; vout = v9 + 0. 5P10 ∑ 10 j = 1 Pj . 设定拉拔速度增量相关参数 Pj ( j = 1 ~ 10) 的区间为 [0,1],由于 Pj 呈相同比例时,适应度函数会出现相 同的结果,所以设定 P1 为区间[0,1]的中间值 0. 5. 2. 4 适应度函数的制定 如果依据直径波动长度作为拉拔速度路径优劣 的判据,将会使得部分升速路径模拟的总时间步很 长,才能获得直径波动长度,同时可能拉拔速度升速 过快而出现网格畸形,需重新划分网格,这都会增加 单次的模拟运算时间. 同时为了保证多线程并行运 算的同步,设定每次模拟的总时间步长相同,需寻求 一种拉拔速度路径优劣的判据. 基于对初始阶段变形区轮廓的观察,变形区轮 廓能最快地趋近至稳态的轮廓时,直径波动长度达 到最小值. 依据该拉拔速度路径优劣的判据,适应 ·1298·