当前位置:文档之家› 启发式开料算法

启发式开料算法

开料介绍以及启发式算法研究目前针对PCB行业没有存在可以异形拼版的软件。

但是有部分软件可以满足此功能都是应用在其他的行业,如果钢材切割,玻璃。

五金之类的行业,这个些行业与PCB的拼版要求有很多工艺上的不一致。

比如在钢材比较注重实际的利用率,玻璃行业在留下余料的时候需要考虑加工上的一些可行性。

还有就是卷材行业有也类似应用。

下面针对启发式算法做些了初步的探讨算法分析问题说明:一般的开料算法可以简单的表示成如下数学语言:开料问题是寻找平面最优布局的优化问题,即将一系列二维不规则零件P1,P2,…Pn 合理地排放在原料板 B 中,使材料的利用率(使用面积总和/占用得原料板面积)最高,并满足下面的约束条件;l)料Pi,Pj 互不重叠:i,j=l,2,…n。

2)料Pi 必须放在原料板B 中:i=1,2,…n。

3)满足一定的排样要求。

4)满足加工的便捷以及可能性。

开料问题可以从两个方面加以说明,一个是开料过程中的几何问题,主要是针对规则或者不规则形状的零件,如何确定物料的最佳排放位置,检测物料位置的合理性以及相关算法。

另一个是物料的调度问题,即如何从参加物料的物料库中选出最优的物料零件,如何得到一个优化的物料排样顺序。

无论是几何问题还是调度问题,都是非常复杂的问题。

这种复杂性一方面来源于物料形状的不规则性,同时也与参与物料零件的多样性以及零件的批量、生产周期、排样方向性要求等有关。

这些因素相互没有明确逻辑关系,也很难达到一个预期的全局最优解。

在很多情况下,得到的结果都是局部最优解或者是次优解,当然如果只是针对PCB行业,在物料的多样性比其他的开料可能相对比较简单些,一般不会有太多的料需要进行一起拼版,一般针对开料优化搜索算法有启发式搜索算法、人工神经网络算法、模拟退火算法、遗传算法或者他们的组合来解决开料问题。

也有这些算法的结果进行比较与分析,以寻求一种最好的优化算法。

然而,研究结果表明这些开料算法的开料效率运行时间极长,利用率没有手工开料的高。

也有开始从料的形状着手,通过求解任意多边形的临界多边形(NFP)来研究开料问题。

目前的NFP 算法大都只能计算两个凸多边形或者一个凸多边形和一个凹多边形的临界多边形。

而对于两个凹多边形的临界多边形问题,算法没有很好的解决.人工开料让我们来看看人工在开料是如何考虑的:当人手工排样时,需要估计出最佳状态,然后估计料的最佳组合,然后以此为模式不断的排放零件到板材上。

从而实现一种零件的优化排样。

在此之前已经将加工需要处理的问题(如在有无法开料的情况,计算出来的利用率再高无法用于实际的生产也是没有任何意义的)考虑进去了考虑策略针对上述问题,一般在开料的算法搜索策略上可有如下方面的考虑:1.针对利用率2.针对加工便捷,包括开料的便捷。

3.如果是异形,考虑单个料的优化组合4.如果是异形,考虑多个料的优化组合这样就可以使得算法能够找到一个相对优的开料组合。

根据这些分析我们可以如下处理:将各种形状的料处理成矩形,然后按一定的方向进行排版,比如从左上或者左下开始,所有的料尽可能的往这个方向排,依此类推,直到完成所有。

针对PCB行业的加工以及现在存在的拼版模式,此类方法可以满足大部分的硬板在开料方面的需要,由于软板在外型等各方面都比硬板要复杂,所以需要对软板的外形进行特别的处理,比如在找最小矩形时候,如何提高算法的速度已经在开料过程中的利用率都在考虑的范畴内。

在实际的PCB开料和拼版过程中,开料开出来的联片尺寸间距和每个Panel所需留言的电镀边为一常量,所以PCB的板子利用率的决定因素有二,分别为每个Panel的板材净利用率和Panel的数量。

一般在采用不同的算法和方式对后续的计算时间以及得到的解的优劣度有不同的结果。

我们在其过程中必须将开料结合实际PCB中的问题进行参考和校验。

得到相对最优解。

具体步骤在PCB开料的过程中有多个决定原因是工程人员在制作拼板的参考因素,我们将这些因素考虑在二个步骤进行:1. Set拼Panel2.针对Panel进行大料切割Set拼Panel针对启发式算法的拼板的过程可以视为在排放状态的变化过程.启发式搜索的思路在于不用遍历某一结点的所有可能后继状态,而是运用人的直觉经验和有关知识,直接构造”可能最佳的后继状态,并在其中选最优的.这些经验和有关知识可以归结为:(1)新拼板应与已排拼板或原料边界保持接触且不重叠.(2)新拼板的最优位置与其方向和相对已排零件的位置有关,最佳方向和相对位置的确定,缺乏可借用的先验知识,只能靠沿已排拼板边界移动的试探法来寻找,这将是算法中耗时最长的部分.(3) 拼板边界移动只需沿已排拼板的合成多边形边界进行.(4)用已排拼板和新排拼板形成的凸包面积来确定评估标准根据上述分析,我们认为自动拼板过程主要解决三个问题:一是新拼板的排放问题;一是状态评估问题;三是整理和后续准备问题.为此我们围绕这三个问题设计的自动拼板图形学算法有:(1)移动算法.在保证排料约束条件和零件紧密靠接基础上,将新零件沿合成多边形的边界移动,以便对移动的每一位置作出状态评估,选出最优位置.(2) 状态评估算法.将新排料在每个移动位置与已排料合成的面积或者其他评估方法,作为排料排放位置优劣的评估依据.(3)合成多边形算法.求处于最佳位置和方向的新拼板和已排拼板以及原料边界的台成多边形,这是下一个拼板排放移动的基准.详细分析:1.初始化针对目前板的外形等做些处理,减少在后续算法的复杂度2.移动算法由于移动算法在拼板中应用频率最高,耗时最多.长期以来,国外较为广泛使用是临界多边形法.待排多边形B不改变方向地靠接但不重叠已排区域(多边形) 绕行一圈,B的一个固定顶点所形成的轨迹叫临界多边形.排放的最好的位置在临界处临界多边形法虽然确立了求取排放B相对A的最佳位置的基本原则,但A,B中只要有一个是凹多边形,在绕行时就可能出现A,B重叠的现象,因此,每移动一步都要作重叠判断.同时,这种事后的重叠判断给移动的步长选取带来了盲目性,且步长不宜过大.对无需重叠判断的情况(两个凸多边形),临界多边形法的算法复杂度只是O(M+Ⅳ),其中M.N 为A,B的边数.而对需要进行重叠判断的情况,每次判断的复杂度为O(M×Ⅳ).临界多边形算法的复杂度为0(( +Ⅳ)×MN).如果能得到图形学的一些结果作为先验知识,事先求出一次移动不发生重叠的最佳步长,它可以省略多边形A,B重叠的事后判断.大幅度提高算法的效率.目前有关的图形学结论的基本特征是考虑了A,B的边的某些特征在多边形靠接过程中的作用.定义1.对一任意的N边形,可以用 N个按逆时针顺序排列的顶点集合S,其中y >Y.在集合s中,存在点序列V= {VK (XK,YK ),? ,VL(XL,YL )),如果,1<K<L<N,且Y都是递增,则称由点序列V组成的一组线段为沿轴的递增线段族;如果1<K<L<N,且Y都是递减,则称由点序列组成的一组线段为沿轴的递减线段族.命题.根据定义,若多边形A和B满足移动条件,则多边形B沿x轴移动与多边形相接触的部分为B的递增线段族的顶点,或线段与的递减线段族的顶点或线段之间的接触.这样一来,只需计算出单调线族的点到边距离,就可得出每次移动的最佳步长.算法l_(1)根据多边形A,B初始位置判断多边形B沿A 边或B边移动的方向形成角度X,并计算出移动边的边长.(2)判断B沿形成的角度移动满足接触条件的递增线段的所有顶点,计算出这些顶点到A的递减线段族的线段的距离。

(3)判别A的满足接触条件的递减线段族的所有顶点,计算出这些顶点到B 的递增线段族的线段的距离(4)从中选出最小的距离作为移动的步长;将B移动到新位置算法1实际上给出的是多边形从一个顶点移动到另一个顶点的距离,即B 沿A(B)的一条边可以移动的最大距离.按照A,B形成的凸包面积最小的评判原则,B在这条边上的最佳位置不一定在移动的最大距离的顶点上,但B靠一侧排放会使原料的剩余面积不至于太零碎,这对下一个零件的排放是有利的,因此,B在A(B)的一条边上只按最佳步长移动一次(图2),再按B每次移动到顶点的凸包面积选择B该排放的最佳位置.这比事后的重叠判断造成的多次步长试探和重叠判断计算量小.算法简捷.另一方面,由于A,B是封闭图形.可以认为递增、递减线族的顶点数分别只是全部顶数的一半,每次求最佳步长的计算量只相当于一次重叠判断的1/4.角度的考虑:在考虑其旋转角度只考虑如下数据的角度:90,180,270以及关于X轴对称,关于Y轴对称等,在PCB加工和实际生产过程中一般不会对其操作与加工对象无法进行全角度处理,一般是上述几个角度进行调整与参考。

在提高其算法收敛度以及是否需要对SET的图形进行评估和旋转参考,在算法中,设置阀值,如果通过一系列的变化都无法达到设置的阀值。

将对原有的图形进行矩形处理。

具体见下文中描述针对普通的硬板,其复杂外形可以制定一系列的收敛策略加快算法计算速度3.状态评估在启发式算法中,可以自己根据实际的开料的情况进行选择和修正状态评估参数和方程在满足PCB实际情况,在Panel拼板时,我们可以侧重考虑如下方面1.实际的板才利用率2.实际的加工难度3.剩料面积有些PCB开料软件和其他行业的一些下料软件在使用启发算法时候,对其评估模型的考虑是多种多样的。

例如有些针对钢板重心之类方面进行评估和参考,构造其评价参数与方程.3.1实际板才利用率权值参数设置以及系数在权值的设置上按照实际在PCB制造过程中的参考改造成如下状态评估参数实际板在基于矩形状得到的板材利用率为基点比如:在一个L为225,W为129的尺寸中,可以达到的按一般矩形进行拼版的的材料利用率可以达到80.62%,在实际考虑权值我们将使用此数值做为算法的阀值,在状态评估参数上我们使用阶段参数在收敛和增长速度上参考如下方程:Aq=a*(100*(Xsj-Xfz)+C1)2+b*N+c其中n为阶段参数权值,C1为初始参数权值。

在异形拼版软件中,在评价Panel拼版的优劣度也可以参考此计算3.2实际加工难度在PCB实际加工过程中很多参数无法正常加载,考虑到实际加工过程中存在的问题已经此阶段在实际的状态中参照的比例同样的基准点在将实际的可以得到的加工为起点其参数分为:加工次数,Panel中Set构成数量,以总Panel构成数量Nq=a*(Nsj-Nfz)+C1+b*(1-Ps)+c*(1-S);其中n为阶段参数权值,C1为初始参数权值。

在做Panel拼版过程中,构造其过程一样可以借助其评价模型,进行最优选择。

3.3剩料面积PCB中存在很多板材浪费,在拼板过程中如果能够将剩下的多余的物料能够有效利用起来那将得到可观的收益。

相关主题