一种基于迭代二分遗传算法的多功能贴片机元件分配方法组成比例

技术编号:26771499 阅读:39 留言:0更新日期:2020-12-18 23:51
一种基于迭代二分遗传算法的多功能贴片机元件分配方法,它属于贴片机表面贴装技术优化技术领域。本发明专利技术解决了现有方法直接采用专家经验来限定元件类型号矩阵的搜索范围,导致搜索的随机性不足,无法输出最优解的问题。本发明专利技术在利用专家经验设计启发式算法限定搜索空间的同时,利用遗传算法来增加搜索到的元件分配结果的多样性,能够在合理的运算时间内输出最优的元件分配结果。实验结果表明,本发明专利技术提供的方法可以大幅提升贴片机的生产效率,对元件分配结果的改进达9.68%。本发明专利技术可以应用于贴片机表面贴装技术优化。

【技术实现步骤摘要】
一种基于迭代二分遗传算法的多功能贴片机元件分配方法
本专利技术属于贴片机表面贴装技术优化
,具体涉及一种基于迭代二分遗传算法的多功能贴片机元件分配方法。
技术介绍
现代生产生活中充斥着各类电子设备,电路板(PrintedCircuitBoard,PCB)正是这些电子设备的核心部件,流水线式、大规模、柔性化的电路板表面贴装任务,对贴装生产效率提出了更高的要求,等时间内能否产出更多的PCB,直接关乎生产厂商的竞争力与效益。对于特定结构的贴片机,机械运动速度已经难以提升,所以进一步提高贴装生产效率的关键瓶颈在于贴装过程的调度方案是否更优,这也就带来了贴装过程优化问题。1、多功能贴片机贴装过程如图1所示,多功能贴片机是基于xy轴运动平台实现的,两个定臂1及一个动臂2组成了拱架式悬臂系统,带有多个吸杆的贴片头由拱架式悬臂系统带动,实现在水平面内的二自由度运动。各吸杆能够沿竖直方向上下运动,各吸杆的自由端可以安装不同类型的吸嘴,用于匹配不同的元件封装完成元件的拾取与贴装。吸杆上的吸嘴可由吸嘴站3自动地拆卸与安装。在多功能贴片机的侧面设有供料器架,供料器架上开有供料器槽4,固定于供料器槽上的带式供料器5将进行元件的供应。完成元件拾取的贴片头6,将移动到固定相机7上方。随后,固定相机拍照,并确定所拾取元件的位置与角度。电路板传送带8实现将电路板9传入到指定位置等待贴装,并在贴装完成后将PCB传出。多功能贴片机能够自动完成自供料器拾取元件,而后在电路板上指定位置贴装元件,这样的一个来回称作一个拾贴周期,如此往复循环,直至完成一块电路板的贴装。一块电路板首先由传送带传入,并在贴装平台的指定位置上被固定,随后贴装过程开始,如图2所示,贴装过程将重复进行各轮拾贴周期直到完成所有元件的贴装,一轮拾贴周期中包含两个主要步骤:贴片头移动到供料器上方进行元件拾取,贴片头移动到电路板上方进行元件贴装。在每个拾贴周期开始前,需要判断是否发生要拾取的元件类型与当前装备的吸嘴类型不匹配的情形,若不匹配,贴片头需要移动至吸嘴站进行吸嘴更换。2、多功能贴片机的元件分配元件分配优化的三个目标为:拾贴周期数最小化、吸嘴更换次数最小化、同时拾取次数最大化。减少拾贴周期数,即减少贴片头在供料器与电路板之间的往返次数,从而大幅缩短贴片头的移动距离。进行一次吸嘴更换耗时很长,通常超过在一个拾贴周期中贴片头的移动耗时的两倍,因而需要追求吸嘴更换次数最小化。通过合理地安排供料器的相对位置,两个或更多个吸杆可以从供料器中同时拾取元件,图3、图4和图5所示的三种情形分别实现了6个元件的同时拾取、3个元件的同时拾取、2个元件的同时拾取,通过更多地实现同时拾取,能直接减少拾取操作的次数。综合上述三个目标,元件分配的代价函数为:E=K+e1·V-e2·SP其中,K为拾贴周期数,k=1,2,...,K为拾贴周期索引,V为吸嘴更换总次数,SP为同时拾取节省的拾取操作总次数;e1为更换吸嘴权重;e2为同时拾取权重。以单个拾贴周期的平均耗时为基准,某个目标的权重通过将该目标平均耗时进行折算得到。默认设置为,e1取2,e2取1/6。元件分配的输入为待贴装的PCB上的元件信息,元件分配的输出结果包括元件类型号矩阵以及供料器分组结果。元件类型号矩阵为一个二维矩阵,其中存储了各子周期内,各吸杆所需拾取与贴装的元件类型。供料器分组结果包含若干个供料器组,每个供料器组为一个一维数组,其中存储了一个或多个供料器,在该数组中的存储位置反映了各供料器被同时拾取时的相对位置。专利CN108925126A提供了一种实现元件分配的启发式算法,该算法由两步实现:第一步,利用专家经验来限制元件类型号矩阵的搜索范围,并且保证在被缩小的搜索范围中较大概率会包含最优解;第二步,对于每个搜索到的吸嘴类型号矩阵,其采用一种贪心算法来对供料器分组,该贪心算法在保证供料器组中所用的供料器个数不超过可用个数的同时,实现同时拾取的最大化,计算所有搜索到的元件分配结果的代价函数,并将代价函数最小的元件分配结果作为最优解输出。3、目前的研究缺陷针对多功能贴片机的元件分配优化问题,虽然目前已有有效的研究框架,但是现有解决方案在元件类型号矩阵的搜索方法上仍有提升空间,具体表现为,现有方法直接采用专家经验来限定元件类型号矩阵的搜索范围,搜索的随机性不足,导致很多能够带来改进的分配结果无法被搜索到,无法保证最后的输出为最优解。
技术实现思路
本专利技术的目的是为解决现有方法直接采用专家经验来限定元件类型号矩阵的搜索范围,导致搜索的随机性不足,无法输出最优解的问题,而提出了一种基于迭代二分遗传算法的多功能贴片机元件分配方法。本专利技术为解决上述技术问题采取的技术方案是:一种基于迭代二分遗传算法的多功能贴片机元件分配方法,该方法包括以下步骤:步骤1:导入PCB元件信息;步骤2:根据导入的PCB元件信息中的元件类型将所有贴装点分组,得到初始的元件组,以初始的元件组为当前的元件组执行步骤3;步骤3:利用当前的元件组来初始化染色体种群数组,再对染色体种群数组中的各染色体的编码信息进行解码,获得各染色体的适应度函数值;步骤4:设置对染色体种群数组进行迭代优化的终止条件;步骤5:根据步骤3的染色体种群数组和染色体的适应度函数值,使用“选择”、“交叉”和“变异”三种遗传操作,生成下一代染色体种群,更新最优染色体,且直至满足步骤4的终止条件时,停止对染色体种群数组的更新;步骤6:若步骤5的染色体种群数组更新过程中发生染色体改进,则对当前的元件组进行元件组二分操作,获得新的元件组,以新的元件组为当前的元件组来执行步骤3,重新生成染色体种群数组,并获得重新生成的染色体种群数组中各染色体的适应度函数值;然后利用重新生成的染色体种群数组以及重新生成的染色体种群数组中各染色体的适应度函数值来重复执行步骤4和步骤5,直至步骤5的染色体种群数组更新过程中未发生染色体改进,执行步骤7;否则若步骤5的染色体种群数组更新过程中未发生染色体改进,则直接执行步骤7;步骤7:输出最优染色体的元件分配结果。本专利技术的有益效果是:本专利技术提出了一种基于迭代二分遗传算法的多功能贴片机元件分配方法,本专利技术在利用专家经验设计启发式算法限定搜索空间的同时,利用遗传算法来增加搜索到的元件分配结果的多样性,能够在合理的运算时间内输出最优的元件分配结果。实验结果表明,本专利技术提供的方法可以大幅提升贴片机的生产效率,对元件分配结果的改进达9.68%。附图说明图1为多功能贴片机结构示意图;图2为多功能贴片机贴装过程的流程图;图3为六个元件被同时拾取的示意图;图4为三个元件被同时拾取的示意图;图5为两个元件被同时拾取的示意图;图6为本专利技术的算法流程图;图7为遗传算法的“轮盘赌选择”操作示意图;图8为遗传算法的“部分映射交叉”操作示意图;图9为遗传算法的“两点变异”操作示意图。...

【技术保护点】
1.一种基于迭代二分遗传算法的多功能贴片机元件分配方法,其特征在于,该方法包括以下步骤:/n步骤1:导入PCB元件信息;/n步骤2:根据导入的PCB元件信息中的元件类型将所有贴装点分组,得到初始的元件组,以初始的元件组为当前的元件组执行步骤3;/n步骤3:利用当前的元件组来初始化染色体种群数组,再对染色体种群数组中的各染色体的编码信息进行解码,获得各染色体的适应度函数值;/n步骤4:设置对染色体种群数组进行迭代优化的终止条件;/n步骤5:根据步骤3的染色体种群数组和染色体的适应度函数值,使用“选择”、“交叉”和“变异”三种遗传操作,生成下一代染色体种群,更新最优染色体,且直至满足步骤4的终止条件时,停止对染色体种群数组的更新;/n步骤6:若步骤5的染色体种群数组更新过程中发生染色体改进,则对当前的元件组进行元件组二分操作,获得新的元件组,以新的元件组为当前的元件组来执行步骤3,重新生成染色体种群数组,并获得重新生成的染色体种群数组中各染色体的适应度函数值;然后利用重新生成的染色体种群数组以及重新生成的染色体种群数组中各染色体的适应度函数值来重复执行步骤4和步骤5,直至步骤5的染色体种群数组更新过程中未发生染色体改进,执行步骤7;/n否则若步骤5的染色体种群数组更新过程中未发生染色体改进,则直接执行步骤7;/n步骤7:输出最优染色体的元件分配结果。/n...

【技术特征摘要】
1.一种基于迭代二分遗传算法的多功能贴片机元件分配方法,其特征在于,该方法包括以下步骤:
步骤1:导入PCB元件信息;
步骤2:根据导入的PCB元件信息中的元件类型将所有贴装点分组,得到初始的元件组,以初始的元件组为当前的元件组执行步骤3;
步骤3:利用当前的元件组来初始化染色体种群数组,再对染色体种群数组中的各染色体的编码信息进行解码,获得各染色体的适应度函数值;
步骤4:设置对染色体种群数组进行迭代优化的终止条件;
步骤5:根据步骤3的染色体种群数组和染色体的适应度函数值,使用“选择”、“交叉”和“变异”三种遗传操作,生成下一代染色体种群,更新最优染色体,且直至满足步骤4的终止条件时,停止对染色体种群数组的更新;
步骤6:若步骤5的染色体种群数组更新过程中发生染色体改进,则对当前的元件组进行元件组二分操作,获得新的元件组,以新的元件组为当前的元件组来执行步骤3,重新生成染色体种群数组,并获得重新生成的染色体种群数组中各染色体的适应度函数值;然后利用重新生成的染色体种群数组以及重新生成的染色体种群数组中各染色体的适应度函数值来重复执行步骤4和步骤5,直至步骤5的染色体种群数组更新过程中未发生染色体改进,执行步骤7;
否则若步骤5的染色体种群数组更新过程中未发生染色体改进,则直接执行步骤7;
步骤7:输出最优染色体的元件分配结果。


2.根据权利要求1所述的一种基于迭代二分遗传算法的多功能贴片机元件分配方法,其特征在于,所述步骤1中导入PCB元件信息,导入的PCB元件信息具体包括:
元件类型号信息:“Cpc”表示第c类元件,c=1,2,...,C,C代表元件类型总数;
各类元件对应的贴装点个数信息:Φ(c)表示第c类元件对应的贴装点个数;
吸嘴类型信息:“Nzn”表示第n个吸嘴类型,n∈{1,2,...,N},N代表吸嘴类型总数,η(c)表示第c类元件对应的吸嘴类型索引;
供料器序号信息:“Fdf”表示第f个供料器,f=1,2,...,F,F表示供料器的总个数,ξ(c)示第c类元件对应的供料器序号索引,ξ(c)∈{1,2,...,F},从第f个供料器中同时拾取时,两吸杆间最少间隔的吸杆个数为δ(f);
导入C列一维的数组md,数组md中的元素md(c)表示元件类型c可用的供料器个数,c∈{1,2,...,C},导入N列一维的数组mz,数组mz中的元素mz(n)表示吸嘴类型n可用的吸嘴个数,n∈{1,2,...,N}。


3.根据权利要求2所述的一种基于迭代二分遗传算法的多功能贴片机元件分配方法,其特征在于,所述步骤2的具体过程为:
将元件类型相同的元件分为一组,得到初始的元件组;
利用CC{ψ}表示元件组,元件组的总数为Ψ,元件组的索引为ψ=1,2,...,Ψ,元件组的总数Ψ与元件类型数C相等;
每个元件组中均包含有两个元件信息,其中第一个元件信息为元件类型号,表示为CC{ψ}(1)=c,第二个元件信息为元件类型号对应的贴装点个数,表示为CC{ψ}(2)=Φ(c)。


4.根据权利要求3所述的一种基于迭代二分遗传算法的多功能贴片机元件分配方法,其特征在于,所述步骤3的具体过程为:
步骤3.1、初始化染色体种群数组GG,染色体种群数组GG中包含的染色体数量为PP=40,染色体索引为pp=1,2,...,PP,每条染色体为1到Ψ之间所有整数的一种随机排列,即数组GG是一个PP行Ψ列的二维数组;
步骤3.2、初始化染色体索引pp=1,初始化PP列的一维数组Θ(pp),pp∈{1,2,...,PP},数组Θ(pp)用于存储第pp条染色体的适应度函数;
步骤3.3、判断pp是否小于等于PP,若是,则执行步骤3.4与步骤3.5,否则,执行步骤5;
步骤3.4、设置将第pp条染色体的编码信息解码的初始化条件及循环条件;其具体过程为:
步骤3.4.1、初始化H列一维的全一数组numC用于计数各吸杆上已经分配的元件类型个数,数组numC中的第h个元素numC(h)表示第h个吸杆上已经分配的元件类型个数,h=1,2,...,H,H表示吸杆总个数;初始化一个H列的二维矩阵Ca用于存储各吸杆上分配的元件组信息,并赋值Ca{numC(h),h}=[00],初始化一个H列一维的全零数组wl用于存储各吸杆上的工作负荷,数组wl中的第h个元素wl(h)表示第h个吸杆上的工作负荷;
步骤3.4.2、初始化染色体数组GG中第pp条染色体的元素索引
步骤3.4.3、判断是否小于等于Ψ,若是,则执行步骤3.5,否则,执行步骤3.6;
步骤3.5、预演将第个元件组分配到各吸杆h=1,2,...,H上,比较预演分配之后各吸杆的工作负荷,将工作负荷最小的吸杆作为第个元件组所分配的吸杆;其具体过程为:
步骤3.5.1、获取第个元件组获取元件组ψ中的元件类型号c=CC{ψ}(1),并获取对应元件类型号c的吸嘴类型号n=η(c);
步骤3.5.2、初始化吸杆索引h=1;初始化H列一维的全零数组nc用于标记各吸杆是否发生吸嘴更换,nc中的第h个元素nc(h)表示第h个吸杆是否发生吸嘴更换,h=1,2,...,H,初始化H列一维的全零数组maxwl用于存储预演分配到各个吸杆后,所有吸杆上的最大工作负荷,maxwl中的第h个元素maxwl(h)表示分配到第h个吸杆后,所有吸杆上的最大工作负荷;
步骤3.5.3、判断h是否小于等于H,若是,则执行步骤3.5.4与步骤3.5.5,否则,执行步骤3.5.6;
步骤3.5.4、获取第h个吸杆拾贴的最后一类元件的元件类型若不为0,则获取元件类型的吸嘴类型若不等于n,则赋值nc(h)=1,说明发生了吸嘴更换;否则,保持nc(h)=0,说明未发生吸嘴更换;
步骤3.5.5、赋值临时数组wl1=wl用于存储预演分配后的工作负荷,并更新吸杆h上的贴装点个数wl1(h)=wl1(h)+CC{ψ}(2);将数组wl1中的最大值赋值给maxwl(h);更新h=h+1,返回步骤3.5.3;
步骤3.5.6、赋值maxwl=maxwl+e1·nc,e1为更换吸嘴权重;将数组maxwl中的最小值赋值给awl;将数组maxwl中的所有大于awl的元素的索引记录于idxlarge;
步骤3.5.7、赋值临时数组wl2=wl,赋值wl2=wl2+e1·nc;
步骤3.5.8、赋值wl2(idxlarge)=wl2(idxlarge)+10000;
步骤3.5.9、将数组wl2中最小值的索引赋值给即为预演分配后,工作负荷最小的吸杆索引;更新吸杆的工作负荷更新吸杆上已经分配的元件类型个数的计数值更新吸杆上已经分配的元件组信息更新返回步骤3.4.3;
步骤3.6、由各吸杆上分配的元件组信息Ca{numC(h),h},得到预备元件类型号矩阵CA0;其具体过程为:
步骤3.6.1、将数组wl中的最大值赋值给K,初始化K行H列的二维全零矩阵CA0,CA0用于存储各拾贴周期内各个吸杆上的元件类型;
步骤3.6.2、初始化吸杆索引h=1;初始化K行H列二维全零矩阵v,v作为吸嘴更换计数矩阵;
步骤3.6.3、判断h是否小于等于H,若是,则执行步骤3.6.4与步骤3.6.5,否则,执行步骤3.6.9。
步骤3.6.4、初始化吸杆h上的元件类型的计数变量cntC=1,初始化拾贴周期开始索引idxs=1,初始化拾贴周期终止索引idxe=0;
步骤3.6.5、判断cntC是否小于等于numC(h),若是,则执行步骤3.6.6与步骤3.6.7,否则,更新h=h+1,返回步骤3.6.3;
步骤3.6.6、赋值idxe=idxe+Ca{cntC,h}(2),将CA0(idxs:idxe,h)中的元素全部赋值为Ca{cntC,h}(1);
步骤3.6.7、若cntC>1,获取元件类型号c1=Ca{cntC,h}(1)与c0=Ca{(cntC-1),h}(1),获取这两个元件类型对应的吸嘴类型号n1=η(c1)与n0=η(c0),若n1与n0不相等,说明发生了吸嘴更换,则赋值v(idxs,h)=1;
步骤3.6.8、赋值idxs=idxs+Ca{cntC,h}(2),更新cntC=cntC+1,返回步骤3.6.5;
步骤3.6.9、计算吸嘴更换总次数执行步骤3.7;
步骤3.7、由预备元件类型号矩阵CA0,得到元件类型号矩阵CApp以及CApp对应的拾贴周期数组κpp;其具体过程为:
步骤3.7.1、初始化拾贴周期索引k=2,赋值子周期计数变量L;初始化K行H列二维全...

【专利技术属性】
技术研发人员:高会军李政锴邱剑彬于兴虎
申请(专利权)人:宁波智能装备研究院有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1