一种IC芯片封装时避免焊线交叉的布线方法及系统与流程

文档序号:32386978发布日期:2022-11-30 06:37阅读:214来源:国知局
一种IC芯片封装时避免焊线交叉的布线方法及系统与流程
一种ic芯片封装时避免焊线交叉的布线方法及系统
技术领域
1.本发明涉及ic芯片封装设计领域,尤其是一种ic芯片封装时避免焊线交叉的布线方法及系统。


背景技术:

2.目前市场上普遍技术是根据图纸获取有焊线相交的引脚,对该引脚上的所有线的落点进行暴力枚举,并找出不相交的组合。
3.最接近本技术的同类技术通过对芯片进行布局布线获取芯片上布线拥塞区域,获取该区域中的多个标准单元。根据拥塞区域在芯片上的位置,对多个标准单元进行调整最终解决布线拥塞。
4.最接近的现有技术无法解决焊盘不动的情况下对焊线的不交叉分离操作,因为在ic封装领域中,芯片厂家对其焊盘的位置完全固定。作为封装这部分的设计,需要考虑如何将已有固定位置的焊盘拉线至引脚上。另一方面,引线框的设计也相对固定,没有办法针对每一种芯片产品就设计出一套独立的引线框设计,这样会导致封装成本上的增加。
5.因考虑到电器元件自身需要留有安全区域,而且焊线自身有半径,所以焊线落点不能过于靠近引脚的边缘。现阶段技术无法控制焊线与引脚边缘的距离,如果一个引脚上的焊线过多,有可能焊线会被分配到距离引脚不到该线型的半径的距离。另一方面,因为打线区域并不是利用所有的引脚空间,现有焊线分离技术不能尽可能控制焊线在打线区域内不会相交,且不兼容这样的安全区域内的分离操作。综上所述,如果遇到不符合设计规范的引脚,需要人工进行拖动,人工操作效率较低,而且可能导致误操作将引线拖动到其他引脚上,人工还需要对该引脚进行焊线分离操作,如果引脚上的焊线众多很有可能花费更多的时间。在每一次操作后仍需要进行图纸的正确性检查,带来更多人力和时间上的成本。


技术实现要素:

6.发明目的:本发明的目的在于提供一种ic芯片封装时避免焊线交叉的布线方法及系统,通过借鉴数控机床上刀补的操作原理,融合km配对算法,确保引脚内的焊线落点在配置的打线区域内,且避免同一引脚上焊线的交叉,从而完成一键对引脚上焊线落点的规范化和分离操作。
7.技术方案:本发明提供的一种ic芯片封装时避免焊线交叉的布线方法,包含以下步骤:1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量;2)根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2);4)获取该引脚上所有焊线数量,统计需要生成多少焊点;
5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7);7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7);8)根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤;9)使用km算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
8.进一步的,步骤2)中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
9.进一步的,步骤3)中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含以下步骤:3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位;3.5)若交点为多段线的顶点,将射线旋转角度再次进行判断;3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
10.进一步的,步骤9)中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
11.本发明对应提供一种ic芯片封装时避免焊线交叉的布线系统,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、km算法模块、二次判断模块;配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊
线的引脚,统计该引脚上所有焊线数量;刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓;首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块;信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点;获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量;查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块;补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块;排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最大的落点和引脚上最大的焊点相连,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入km算法模块;km算法模块用以使用km算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求;二次判断模块用以判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
12.进一步的,刀补模块中,使用刀补算法计算打线区域的轮廓,刀补包含直线和直线、直线和圆弧、圆弧和直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
13.进一步的,首次判断模块中,判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含,计算距离单元、射线单元、计算交点单元、过滤交点单元、旋转角度单元、统计单元;计算距离单元用以计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上;射线单元用以做一条起点为测量点,方向为从最近点出发朝着到测量点的射线;计算交点单元用以计算该射线与多段线的交点,过滤两个交点距离过近的点位;过滤交点单元用以过滤由于射线的反向延长导致的将最近点作为交点的点位;旋转角度单元用以根据交点为多段线的顶点情况,将射线的旋转极小的角度再次进行判断;
统计单元用以统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
14.进一步的,km算法模块中,最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
15.有益效果:本发明与现有技术相比,通过借鉴数控机床上刀补的操作原理,使用刀补算法配置打线区域,同时使用km算法使得引脚内的焊线均有独立焊点且独立焊点在配置的打线区域内,通过排序与km算法配合,避免了同一引脚上焊线的交叉,完成引脚上焊线落点的规范化和分离操作。
附图说明
16.图1是本发明的流程示意图。
17.图2是本发明中打线区域参数示意图。
18.图3是本发明中刀补后打线区域轮廓图。
19.图4是本发明中排序完成后示意图。
20.图5是本发明中km算法匹配总示意图。
21.图6是本发明中km算法匹配第一及第二轮示意图。
22.图7是本发明中km算法匹配第三轮示意图。
23.图8是本发明中km算法匹配完成后示意图。
具体实施方式
24.下面结合附图及具体实施例对本发明做进一步的详细说明。
25.实施例1本发明提供的一种ic芯片封装时避免焊线交叉的布线方法,请参阅图1所示,包含以下步骤:1)配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量,如图2所示,常用的实施方式可以是通过软件界面进行配置或者通过配置文件的方式进行配置。
26.2)请参阅图3所示,根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓。
27.使用刀补算法计算打线区域的轮廓,刀补包含直线到直线、直线到圆弧、圆弧到直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
28.首先,出现在以下公式中的为刀具半径,为圆弧半径。
29.2.1)直线到直线:假设第一段直线的起点为(),终点为(),第二段直线的起点为(
),终点为();直线的方向矢量为:的方向矢量为:其中为直线的长度:同样,直线的方向矢量为:的方向矢量为:其中为直线的长度:根据转接角分为两种情况:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值2.2)直线到圆弧:假设第一段直线的起点为(),终点为(),第二段圆弧的起点为(),终点为(),圆心相对于圆弧起点的坐标为();直线的方向矢量为:的方向矢量为:
其中为直线的长度:圆弧在起点()的方向矢量为:)的方向矢量为:其中的定义为:的定义为:根据转接角分为两种情况:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值其中其中函数表示提取括号内数字的符号,即括号内结果大于0为1,括号内结果小于0为-1。
30.2.3)圆弧到直线:假设第一段圆弧的起点为(),终点为(),圆心相对于圆弧起点的坐标为(),第二段直线的起点为(),终点为();则圆弧在终点()的方向矢量为:)的方向矢量为:其中的定义为:
的定义如下:的定义如下:直线的方向矢量为:的方向矢量为:其中为直线的长度:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值其中其中函数表示提取括号内数字的符号,即括号内结果大于0为1,括号内结果小于0为-1。
31.3)判断焊线是否在该引脚内,若焊线在该引脚内部则进行下一步,若焊线不在引脚内部,则返回步骤2)。
32.判断焊线是否在引脚内,引脚都是由多段线组成,所以使用如下描述的射线法进行判断落点是否在多段线内部,设定测量点为需判断的焊线落点,多段线为引脚的边框线。
33.3.1)计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上。
34.3.2)做一条起点为测量点,方向为从最近点出发朝着到测量点的射线。
35.3.3)计算该射线与多段线的交点,过滤两个交点距离过近的点位;防止由于多端线有小型齿距导致的多个交点而影响判断。
36.3.4)过滤由于射线的反向延长导致的将最近点作为交点的点位。
37.3.5)若交点为多段线的顶点,将射线的旋转极小的角度再次进行判断,即考虑射线通过顶点的情况。
38.3.6)统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
39.4)获取该引脚上所有焊线数量,统计需要生成多少焊点。
40.5)判断该引脚位置,获取方向向量,使得焊线垂直于方向向量。
41.获取引脚在引线框哪一侧有很多不同的方式,本实施例1以封装线为依据,判断引脚在封装线的哪一侧,方向向量为2d向量,如果在左侧,方向向量的x值为-1,右侧为1,如果在上侧方向向量y的值为1,下侧为-1。
42.6)查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则进入步骤7)。
43.7)根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入步骤8),否则循环步骤7)。
44.8)请参阅图4所示,根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最左的落点和引脚上最左的焊点相连,即焊线另一端最大的坐标和引脚上最大的坐标一对一连接,一对一循环连接下来,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象进入下一个步骤。
45.9)请参阅图5所示,使用km算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求。
46.最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
47.请参阅图4所示,仍有三条线存在相交叉的情况,提取三条线各自的两个端点,将在引脚内的端点放入一个集合组u,不在引脚一侧的端点放入另一个集合组v,这样形成了左右两个点集合,此时寻找左边点集合中每个点权重最大的匹配,以此两两相连形成不交叉的线。
48.km算法的思路是尽量找权重最大的边进行连接,首先使用贪心算法初始化集合组u的期望值,如图5所示,表示的配对期望值,每个点都倾向于选择距离最近的另一端,所以期望配对值是所有配对值的最大值。
49.假设匹配的权重如图6所示,每个集合组u中的点与集合组v均有配对的可能性。
50.第一轮匹配中选择了,、的权重比较重,不是最理想的选择故这一轮匹配成功。
51.第二轮匹配中选择了,的最佳匹配是,但是因为已经匹配过,故匹配
失败,相应的和需要调整期望值,即;调整的值为参与匹配的、,选择与各自第二好,第二好为、次优选择,之间的差的最小值,即:即:则因匹配出现了问题,的期望值会增加调整的值,即。
52.第三轮选择情况如图7所示,降低了期望值,尝试更换选择,而则因选择的权重值最大,故最终选择配对,在整个流程结束后,所有选择权重的和是最大的,即我们找到了每个点权重最大的匹配,如图8所示。
53.10)判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
54.实施例2对应实施例1所述的一种ic芯片封装时避免焊线交叉的布线方法,本实施例2提供一种ic芯片封装时避免焊线交叉的布线系统,请参阅图1所示,包含配置模块、刀补模块、首次判断模块、信息采集模块、获取位置模块、查询模块、补充查询模块、排序模块、km算法模块、二次判断模块。
55.配置模块用以配置打线区域和焊线落点间隔的参数,遍历图纸,获取存在多根焊线的引脚,统计该引脚上所有焊线数量,如图2所示,常用的实施方式可以是通过软件界面进行配置或者通过配置文件的方式进行配置。
56.刀补模块用以根据配置的打线区域,使用刀补算法计算出该引脚的打线区域轮廓。
57.请参阅图3所示,使用刀补算法计算打线区域的轮廓,刀补包含直线到直线、直线到圆弧、圆弧到直线三种不同的情况,通过每三个点计算出刀补的点位的方式计算出整个多段线所有的对应刀补点位,绘制出轮廓线;每三个点计算刀补,即取第一、第二段线段/圆弧的起点及终点,共三个点,第一段线段/圆弧的终点等于第二段线段/圆弧的起点,进行计算。
58.首先,出现在以下公式中的为刀具半径,为圆弧半径。
59.直线到直线:假设第一段直线的起点为(),终点为(),第二段直线的起点为(),终点为();直线的方向矢量为:的方向矢量为:
其中为直线的长度:同样,直线的方向矢量为:的方向矢量为:其中为直线的长度:根据转接角分为两种情况:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值直线到圆弧:假设第一段直线的起点为(),终点为(),第二段圆弧的起点为(),终点为(),圆心相对于圆弧起点的坐标为();直线的方向矢量为:的方向矢量为:其中为直线的长度:圆弧在起点()的方向矢量为:)的方向矢量为:
其中的定义为:的定义为:根据转接角分为两种情况:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值其中其中函数表示提取括号内数字的符号,即括号内结果大于0为1,括号内结果小于0为-1。
60.圆弧到直线:假设第一段圆弧的起点为(),终点为(),圆心相对于圆弧起点的坐标为(),第二段直线的起点为(),终点为();则圆弧在终点()的方向矢量为:)的方向矢量为:其中的定义为:的定义为:的定义为:的定义如下:的定义如下:直线的方向矢量为:
其中为直线的长度:当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值当时,即,使用如下公式计算刀补转接点坐标值使用如下公式计算刀补转接点坐标值其中其中函数表示提取括号内数字的符号,即括号内结果大于0为1,括号内结果小于0为-1。
61.首次判断模块用以判断焊线是否在该引脚内,若焊线在该引脚内部则进如信息采集模块,若焊线不在引脚内部,则返回刀补模块。
62.判断焊线是否在引脚内,设定测量点为需判断的焊线落点,多段线为引脚的边框线,包含,计算距离单元、射线单元、计算交点单元、过滤交点单元、旋转角度单元、统计单元。
63.计算距离单元用以计算测量点距离多段线的最短距离点位,判断最短距离点位是否与测量点相同,若相同则表示测量点在多段线上。
64.射线单元用以做一条起点为测量点,方向为从最近点出发朝着到测量点的射线。
65.计算交点单元用以计算该射线与多段线的交点,过滤两个交点距离过近的点位。
66.过滤交点单元用以过滤由于射线的反向延长导致的将最近点作为交点的点位。
67.旋转角度单元用以根据交点为多段线的顶点情况,将射线的旋转极小的角度再次进行判断。
68.统计单元用以统计交点个数,若交点为偶数表示测试点在多段线外部,即引脚外部,若交点个数为奇数表示测试点在多段线内部,即引脚内部。
69.信息采集模块用以获取该引脚上所有焊线数量,统计需要生成多少焊点。
70.获取位置模块用以判断该引脚位置,获取方向向量,使得焊线垂直于方向向量。
71.获取引脚在引线框哪一侧有很多不同的方式,本实施例1以封装线为依据,判断引脚在封装线的哪一侧,方向向量为2d向量,如果在左侧,方向向量的x值为-1,右侧为1,如果
在上侧方向向量y的值为1,下侧为-1。
72.查询模块用以查询符合要求的焊点,使得引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则进入补偿查询模块。
73.补充查询模块用以根据引脚的标号文字对齐点为中心向两侧寻找符合要求的焊点,方向为计算出的垂直方向向量,每次查找间隔为配置的间隔,每次寻找轮廓线与该垂直方向射线的交点,计算两个交点间的距离,根据间隔判断出能放多少个焊点作为独立焊点并记录,将计算出的独立焊点从所有焊点数中减除,再次判断是否所有在引脚上的焊线均有独立焊点,若均有独立焊点则进入排序模块,否则循环补充查询模块。
74.排序模块用以根据该引脚上的焊线的另一端落点的坐标进行排序,根据焊线另一端落点的坐标和引脚上现有焊点的坐标分配,计算出相应焊点,将计算出的相应焊点和焊线的另一端落点均按照坐标的x轴和y轴的大小由大到小进行排序,排序后按照焊线另一端最左的落点和引脚上最左的焊点相连,即焊线另一端最大的坐标和引脚上最大的坐标一对一连接,直至焊线的另一端落点均与引脚上的焊点对应连接,连接后进行焊线交叉检测,如果焊线依然存在交叉现象则进入km算法模块。
75.km算法模块用以使用km算法将仍存在交叉的焊线进行配对,计算得到最大权重,最大权重下的焊线符合配置要求。
76.最大权重下的焊线符合配置要求,提取所有交叉焊线的端点,将在引脚内的端点放入一个集合组,将焊线的另一端点放入另一个集合组,计算两个集合组之间的距离,将权重即为距离的导数,距离越小,权重越大。
77.请参阅图4所示,仍有三条线存在相交叉的情况,提取三条线各自的两个端点,将在引脚内的端点放入一个集合组u,不在引脚一侧的端点放入另一个集合组v,这样形成了左右两个点集合,此时寻找左边点集合中每个点权重最大的匹配,以此两两相连形成不交叉的线。
78.km算法的思路是尽量找权重最大的边进行连接,首先使用贪心算法初始化集合组u的期望值,如图5所示,表示的配对期望值,每个点都倾向于选择距离最近的另一端,所以期望配对值是所有配对值的最大值。
79.假设匹配的权重如图6所示,每个集合组u中的点与集合组v均有配对的可能性。
80.第一轮匹配中选择了,、的权重比较重,不是最理想的选择故这一轮匹配成功。
81.第二轮匹配中选择了,的最佳匹配是,但是因为已经匹配过,故匹配失败,相应的和需要调整期望值,即;调整的值为参与匹配的、,选择与各自第二好,第二好为、次优选择,选择之间的差的最小值,即:即:则因匹配出现了问题,的期望值会增加调整的值,即。
82.第三轮选择情况如图7所示,降低了期望值,尝试更换选择,而则因选择
的权重值最大,故最终选择配对,在整个流程结束后,所有选择权重的和是最大的,即我们找到了每个点权重最大的匹配,如图8所示。
83.二次判断模块用以判断是否仍有交叉的焊线,若无,则结束,若仍存在交叉的焊线,则重新修改打线区域和间隔的配置参数再次尝试。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1