基于先验规则和深度神经网络的舰船电气图纸布局方法与流程

文档序号:32156257发布日期:2022-11-11 23:32阅读:73来源:国知局
基于先验规则和深度神经网络的舰船电气图纸布局方法与流程

1.本发明属于装备智能设计技术领域,具体涉及基于先验规则和深度神经网络的舰船电气图纸布局方法。


背景技术:

2.在现代船舶的研发、设计和生产过程中,电气系统都起到了至关重要的作用,因此电气图纸的绘制也成为船舶设计过程中的重要一环。经过几十年的技术发展和演进,现代舰船的设计已经大规模使用cad设计软件来辅助相关技术人员的设计工作,降低了相关技术人员的设计工作强度。同时随着计算机系统在相关设计领域的大范围应用,现代舰船系统的设计数据也大部分实现了电子化。现有技术在已经实现了设计信息化的初步目标后,现在也逐步向智能化开始迈进。
3.在现在舰船设计工程中cad技术已经得到了广泛的应用,传统使用纸笔的绘制方式已经基本被淘汰。现代舰船电气布线图纸主要依靠工程技术人员操作计算机cad软件绘制,操作计算机cad软件绘制图纸的速度相对于使用纸笔来绘制来说有了较大的提升,但是由于依旧依赖于人工的一步步操作,速度还是相对较为缓慢,一个熟练的工程师绘制一张较为复杂的图纸就需要大约三天的时间,即便是比较简单的图纸也可能需要数小时的工作。绘图速度慢导致研发过程中迭代周期变长,降低了舰船的设计研发效率。同时由于人员操作cad软件绘图时总会存在各种各样的疏漏,因此现阶段人工绘图速度慢,可靠性低已经成为制约舰船设计工作进一步提升效率的瓶颈。
4.人工操作cad软件绘图主要存在的问题包括三个方面:
5.第一,人工操作软件过程步骤多且繁琐,并且各个设计步骤间存在相应的耦合和关联。一般常规舰船电气图纸设计按以下步骤设计:工程技术人员首先需要根据器件的型号和参数,将器件标志从器件库导入,然后再将器件拖动到图纸的相应位置,最后再根据电子表格中的连接关系进行布线和连接。期间可能还会根据实际的布线情况调整相应的器件布局,并相应的调整走线,经过反复的迭代调整直到完成设计,这样繁复人工设计流程直接导致了绘图速度较慢,大大拖累了船舶的设计进度。
6.第二,图纸数据的多样化导致布局设计的复用及其困难。由于图纸的多样性,很难找到一种较为科学的方法复用图纸,这就导致每一张图纸的绘制都要重复上述的绘图流程,工程技术人员在绘制每张图纸都要对上述流程进行机械重复,使得图纸的绘制效率大大降低。大量的重复劳动一方面会降低技术工作人员的设计效率,另一方面也容易导致设计疏漏。
7.第三,人工绘图的可靠性较低。复杂的流程和大量的图纸绘制工作都由工程技术人员手工完成,设计工作的工作量也会随着图纸数量越来越大,绘制人员越来越多而极大的增加。虽然一个技术人员绘制一张技术图纸出错概率极小,但是根据大数定律不难发现,庞大的工作量会导致错误的发生会成为一个确定事件不可避免,而排查这些小错误也需要耗费大量的人力和时间,因此在图纸规模逐渐变大,数量逐渐变多的过程中,人工绘图的可
靠性会逐渐变低。
8.正是因为人工设计绘图存在速度慢和效率低的缺点,越来越多的目光开始投向计算机的智能自动化绘图,人工智能技术也为解决电气图纸的设计提供了新的手段。在人工智能指导布局布线问题的理论研究方面,国内外学者的探索还处于早期阶段,缺乏一种可扩展的奖励设计体系和端到端的学习范式。国内上海交通大学研究人员为了解决芯片设计中的布局问题,提出了一种称为deepplace的联合学习方法用于放置宏和标准单元,实现了端到端的布局任务的学习。来自于美国google公司的研究人员也针对芯片布局这类问题进行了大量的研究,google的研究人员提出了一种基于深度强化学习的芯片布局的规划算法,该算法将芯片布局规划问题作为一个强化学习问题,并应用了一种基于边的图卷积神经网络架构,能够学习芯片的特征并将其表征出来,最终通过大量的训练解决芯片布局的自动化设计问题。加拿大西蒙菲莎大学的学者对于建筑设计中的布局问题,提出了一种生成器和鉴别器建立在关系架构上的图约束生成对抗网络。他们通过将约束编码到其关系网络的图结构中来实现生成器和鉴别器的关系连接的。同时由于布局问题和图论之间的紧密联系,来自加拿大的一些科学家结合组合优化与推理的场景,提出了一系列的图神经网络作为求解器或者增强精确求解器的方法。同时也基于上述研究介绍了图神经网络对于排列的不变性和输入稀疏性的一些研究结果。上述的一些研究主要是针对各类布局问题一些研究情况。针对于布线问题,国内天津大学的研究人员提出了一种协同进化算法的船舶管道布线设计方法。该方法通过将工作空间划分为三维网格单元,结合迷宫算法、非支配排序遗传算法ii和协同进化非支配排序遗传算法,实现了一种可以从帕累托最优解中提取最佳折衷管道的优化程序。
9.综上所述,针对布局问题和布线问题已经有一定的解决路径和技术方法,但是现有的研究方法往往聚焦于单一的布局或者布线问题。在布局和布线相互耦合,互相干涉的场景下,尚无一种统筹性的方法来系统性的解决问题。同时现有的一些布局优化算法,大量使用各类端到端的神经网络算法,其算法效果大大依赖于数据的数量。由于端到端神经网络主要依赖数据驱动,缺乏先验知识的支撑,存在一定的错误率,无法完全避免布线失败或是布线错误,因此距离实际的生产应用还有较大的差距。


技术实现要素:

10.本发明要解决的技术问题是:提供基于先验规则和深度神经网络的舰船电气图纸布局方法,用于在电气图纸设计中自动化布局布线。
11.本发明为解决上述技术问题所采取的技术方案为:基于先验规则和深度神经网络的舰船电气图纸布局方法,包括以下步骤:
12.s1:对电气图纸的拓扑结构进行分类,分析拓扑特点,列出树状图;
13.s2:结合图论中关于多叉树的性质与结构知识制定布局布线的先验规则;通过确定的流程和约束条件完成基础布局;基础布局包括元件串联场景、元件子图串联场景和元件子图并联场景;
14.s3:使用神经网络对布线和布局中的布局参数进行微调和优化,使图纸的布局合理美观。
15.按上述方案,所述的步骤s1中,具体步骤为:
16.树状图是图形内不包含回环的图;树状图的连接方式包括串联和并联;树状图包括元件和子图;元件是图中的最小的、不可拆分的节点;子图用于描述经过布局后的一部分元件或子图形成的整体。
17.进一步的,所述的步骤s2中,具体步骤为:
18.s21:根据串联和并联的不同场合制定先验规则,照自底向上的方法分解树状图,套用相应的先验规则进行布局,然后组合形成完整的布局;制定布局布线的先验规则的核心原则为:保证线缆连接无相交;在满足线缆无相交的情况下提高每个小结构的布局的空间利用率;
19.s22:采用迭代的方法优化布局,自底向上布置和调整布局,在每个部分的元件布局完成之后,在一个子图中将子图和子图、子图和元件、元件和元件打包成一个整体,进行迭代形成新的子图,形成包含所有元件的子图得到最终的布局图。
20.进一步的,所述的步骤s2中,
21.元件串联场景布局的单元仅包括元件,且元件之间为串联关系;
22.元件串联场景的先验规则优先考量空间利用率;
23.元件串联场景的排布算法为:
24.首先根据设定的子图长宽比计算长宽节点数,对长宽节点数的浮点数向上取整;
25.然后采用试探法试探是否有一个子图的大小可以缩小;若不行则使用向上取整之后的长宽作为所需的长宽;若可以则使用缩小后的长宽;
26.确定好布置的长宽节点数后,将元件按照顺序进行蛇形排列,完成元件串联场景的布局。
27.进一步的,所述的步骤s2中,
28.元件子图串联场景为不同元件子图的串联布局,最后一个子图较大,前面的元件为标准元件且大小相同;
29.元件子图串联场景的先验规则优先考量空间利用率;
30.元件子图串联场景的排布算法为:
31.首先将最大的子图放在最上方,并以子图的宽度作为新的布局的宽度;
32.然后在最大的子图的下方按照蛇形走线的方法布置元件;若起点元件的起点向左,则将元件对应的连接点顺延至左方;若起点元件的起点向右,则在该布局下方另起一个新行,将元件对应的连接点放置于新行的最左边,使布局的实际连接点保证在左下方,完成元件子图串联场景的布局。
33.进一步的,所述的步骤s2中,
34.元件子图并联场景为不同大小的子图和元件的并联合并场景;
35.元件子图并联场景的先验规则优先考量避免线缆相交,其次考虑布局的空间利用率;
36.元件子图并联场景的排布算法为:
37.对所有需要并联的元件和子图进行一次排序,将大的子图放在前面,小的子图或元件放在后面;
38.然后按照先大后小的顺序从左到右布置子图和元件的位置,直到布置完为止;
39.最后将父元件放在整个布局的下方正中央,将实际的连接点设置为下方的正中
央,完成元件子图并联场景的布局。
40.按上述方案,所述的步骤s2中,引入节点迭代法,选择深度优先的搜索迭代策略遍历整个多叉树并布局所有元件:
41.首先从父节点(初始节点)开始,判断父节点(初始节点)和连接的节点是否符合基础布局场景的布局情况;若符合则使用相应的基础布局场景的规则进行布局;若不符合则从该节点的第一个子节点开始,继续判断是否符合基础布局场景,按照深度优先算法进行树搜索和布局,直至到达符合基础布局场景的布局场景;
42.完成布局后将该部分元件和子图替换为布局完成的子图;当一个节点下的所有元件都被布局完成,则一定符合基础布局场景,被布局成一个完整的子图;最终得到完整的、包含所有元件的图纸布局;
43.当完成所有的布局任务之后,按照连接顺序进行连线,得到没有交叉的直接连线图,完成布线任务,实现整个电气布线图的绘制。
44.按上述方案,所述的步骤s3中,具体步骤为:
45.s31:通过传统计算机视觉算法对现有图纸的连接关系矩阵和相应的长宽比及间距进行统计,得到用于训练神经网络的数据集;使用神经网络从已有的布线数据中学习在不同情况下的布线参数的设置;
46.s32:在包括元件连接关系参数的输入数据进入神经网络之前,使用奇异值分解的方法对输入数据进行预处理,过滤一部分噪声和提取特征,用于降低神经网络的处理难度、提高神经网络的处理效率;
47.首先以一个连接关系矩阵描述所有元件之间的连接关系;将由n个元件组成的图纸的连接关系矩阵的大小设为nxn;在矩阵中将两个具有连接关系的元件对应的行列形成的坐标的元素置为1,不具有连接关系的元件对应的行列形成的坐标的元素置0;
48.然后对该矩阵进行奇异值分解,选取最大的40个奇异值作为输入参数;
49.s33:将图纸的相关信息作为输入向量交由神经网络进行预测;经过神经网络的前向传播计算后,输出结果为子图的长宽比和最佳间距两个回归值,应用于实际图纸的布局;神经网络通过内部迭代调用进行预测得到最佳输出结果。
50.一种基于先验规则和深度神经网络的舰船电气图纸布局方法的系统架构,包括连接关系数据库、元件属性数据库、神经网络参数优化器和先验规则布局器;连接关系数据库连接神经网络参数优化器的输入端,连接关系数据库、元件属性数据库和神经网络参数优化器分别连接先验规则布局器的输入端;
51.连接关系数据库和元件属性数据库通过人工导入;连接关系数据库用于描述各个元件之间的连接关系;元件属性数据库用于描述每个元件的参数和属性;
52.神经网络参数优化器包括全连接层和卷积层;神经网络参数优化器用于接收拓扑特征,利用已经训练完成的神经网络进行前向传播,根据图纸中的元件连接关系计算得出包括间距、布局比例的布局参数,优化图纸的布局;
53.先验规则布局器用于根据人工总结的先验规则,应用布局参数和连接数据进行布局;先验规则用于规定布局的流程和方法;布局参数用于约束各种元素间的间隔和布局的比例。
54.进一步的,还包括连接矩阵压缩器,连接矩阵压缩器串联在连接关系数据库与神
经网络参数优化器之间,用于使用奇异值分解的方法压缩相应的连接参数、提取拓扑特征,并输入神经网络参数优化器。
55.本发明的有益效果为:
56.1.本发明的基于先验规则和深度神经网络的舰船电气图纸布局方法,通过对于符合条件的连接场景,确定的完成布局布线任务并且不会发生布线交叉或布线失败,实现了在电气图纸设计中自动化布局布线的功能。
57.2.本发明在大部分实际的电气布线任务中,有效提高了电气布局布线工作中的自动化程度,提高了图纸的布局速度和布局布线的可靠性;实现了电气图纸正确、快速、合理的自动布线布局。
58.3.运行速度快,对于绝大部分图纸规模,可以在10秒内完成布局和布线任务。
59.4.本发明源占用低,充分利用奇异值分解的方法提取特征,降低了神经网络的运算复杂程度。
附图说明
60.图1是本发明实施例的系统架构图。
61.图2是本发明实施例的串并联示意图。
62.图3是本发明实施例的布局规则分类图。
63.图4是本发明实施例的元件串联场景图。
64.图5是本发明实施例的元件子图串联场景图。
65.图6是本发明实施例的元件子图并联场景图。
66.图7是本发明实施例的连接拓扑与连接关系矩阵的转换关系图。
67.图8是本发明实施例的奇异值分解与神经网络处理流程图。
68.图9是本发明实施例的节点迭代运行流程图。
69.图10是本发明实施例的复杂场景布局步骤1示意图。
70.图11是本发明实施例的复杂场景布局步骤2示意图。
71.图12是本发明实施例的复杂场景布局步骤3示意图。
72.图13是本发明实施例的复杂场景布局步骤4示意图。
73.图14是本发明实施例的复杂场景布局结果示意图。
具体实施方式
74.下面结合附图和具体实施方式对本发明作进一步详细的说明。
75.参见图1,本发明实施例的基于先验规则和深度神经网络的舰船电气图纸布局方法,包括以下步骤:
76.首先对电气图纸的拓扑结构进行分类,并分析其中的拓扑特点,发现其中绝大部份电气图纸的拓扑都属于树状图。
77.而后结合图论中关于多叉树的性质与结构知识,总结分析了一套布局布线规则。该方案基于先验知识的规则,通过确定的流程和约束条件可以完成基本的布局布线,部分软件模块可以在不使用大量数据训练的情况下单独工作,并不会造成布线成功率的差异。
78.在完成布局布线之后,再使用神经网络对布线和布局中的布局参数进行微调和优
化,使得图纸的布局更加的合理和美观。
79.整体结构
80.系统的整体结构主要包括两个主要部分,分别是先验规则布局器和神经网络参数优化器。
81.先验规则布局器可以根据人工总结出来的先验规则和来应用布局参数进行布局。先验规则规定了布局的流程和方法,布局参数则约束了各种元素间的间隔和布局的比例。先验规则布局器根据先验规则、布局参数和连接数据可以实现有效的正确布局,解决了布局的“有没有”问题。
82.神经网络参数优化器可以根据图纸中的元件连接关系计算出相应的布局参数。神经网络参数优化器在接收到拓扑特征后,利用已经训练完成的神经网络进行前向传播,计算得出布局所需的间距,布局比例等布局参数,而这些布局参数会通过先验知识布局器间接控制图纸的布局。通过神经网络参数优化器可以有效的优化图纸的布局,解决了布局“好不好”问题。
83.为了配合神经网络参数优化器的工作,在系统中加入了连接矩阵压缩器这一辅助部分来提取拓扑特征。
84.神经网络参数优化器在元件连接关系数据输入前,使用了一个连接矩阵压缩器来压缩相应的连接参数。该连接矩阵压缩器使用奇异值分解的方法来进行特征的提取压缩。最终将提取压缩后的特征输出,作为神经网络参数优化器的输入。
85.先验规则布局器在布局时需要使用三组数据,分别是连接关系数据库、元件属性数据库和布局参数。其中,连接关系数据库描述各个元件之间的连接关系;元件属性数据库描述了每个元件的参数和属性;布局参数则描述布局的比例和间距。这三个参数中,只有连接关系数据库和元件属性数据库需要人工导入,布局参数是连接矩阵压缩器和神经网络参数优化器利用连接关系数据库计算得到的。
86.实现方法
87.1.基础子图先验规则
88.在实际的电气接线图布线场景中,绝大部分情况都是树状的接线图布线工作,对于少部分非树状接线图也可以通过一些工程方法转换为树状布线图,因此图纸布置先验规则针对树状图进行设计。
89.首先介绍树状接线图的一些特征和性质。树状接线图一般指的是图形内不包含回环的图,这种图内部存在两种连接方式,一种是串联,一种是并联如下图所示,因而对于任何一张树状图都可以通过串联和并联的组合和级联来构造出来。因此先验规则也根据串联和并联两种场合进行设计。通过将整个树按照自底向上的方法来进行分解,套用相应的先验规则进行布局,然后再进行组合从而形成完整的布局。在实际的布局的过程中,为了便于规则的制定,将串联的场景分为两个情形分别设计规则,便于提高布局的空间利用率。
90.针对上述树状接线图的特征,提出了两项布局原则。本先验规则的设计与制定基于两个核心原则,其一是保证线缆连接无相交,其二则是在满足线缆无相交的情况下,尽量提高每个小结构的布局的空间利用率。下文将基于这两个原则,设计布局布线的方法。
91.为了更好理解本文所述的先验规则,先阐释一些相关定义。
92.定义一:元件;元件在本文中指的是图中的最小的,不可再进行拆分的节点,由于
不同元件在图纸中基本上都有着相似的大小,所以将这类元件近似到一个相同的大小,便于后续处理。
93.定义二:子图;子图描述的是经过布局后的一部分元件或子图形成的整体。在布局过程中,大量采用了迭代的方法来进行布局优化,因此自底向上进行布局的布置和调整,因此在每个部分的元件布局完成之后,使用一个子图来将这些元件和其布局形成一个整体,同时随着布局的过程中,子图和子图、子图和元件、元件和元件都会在布局完成后打包成一个整体,形成新的子图,因此子图是可以自己迭代的。最后需要说明的是,包含所有元件的子图就是最终的布局图。
94.完成上述的概念定义之后,继续对布局过程中可能出现的场景以及对应的先验规则进行描述。布局过程中,采用了自底向上的布局逻辑,因此不难穷举出所有的三种基础布局情况,即元件串联场景、元件子图串联场景和元件子图并联场景,下面来对三种基础布局的场景和规则进行描述,三种基础布局场景的规则的分类与关系如下图所示。
95.元件串联场景:该场景指的是在布局中,所布局的单元只包含元件且元件之间为串联关系。此种布局场景只要保证按照顺序进行布局排列就可以较为有效的满足线缆无交叉的原则,因此该场景的规则主要考量空间的利用率。基于空间利用率的考量在该布局场景下,首先根据设定的子图长宽比计算出长宽节点数,由于计算出的长宽节点数不一定是整数,因此首先对长宽节点数的浮点数向上取整,然后采用试探法试探子块的大小能不能有一个可以稍微缩小一点,如果不行,则使用向上取整之后的长宽作为所需的长宽,如果可以,则使用缩小后的长宽。确定好布置的长宽节点数之后,将元件按照顺序蛇形排列,即可完成元件串联场景的布局。
96.元件子图串联场景:不同元件子图的串联布局实际上只存在一种情形,也即最后一个子图较大,前面的元件为标准元件大小且大小相同。此种布局场景和上面的场景类似,线缆无交叉的原则较为容易满足,因此相应的规则同样主要出于提高空间利用率的考量。根据实际的串联特点,设计如下的排布算法。首先,将最大的子图放在最上方,并以子图的宽度作为新的布局的宽度,然后再最大子图的下方按照蛇形走线的布置方法布置元件,因此,第一个元件的位置并不是一个确定的位置,如果起点元件的起点是向左的,则将元件对应的连接点顺延至左方。如果起点元件的起点是向右的,则将在该布局下方另起一个新行,元件对应的连接点放置于新行的最左边,则布局的实际连接点依然可以保证在左下方。按照以上操作即可完成元件子图串联场景的布局。
97.元件子图并联场景:不同大小的子图和元件的并联合并场景相较于串联合并。此种布局场景如果单纯追求空间利用率,利用一些诸如贪婪算法的布局算法,可能会导致出现线缆相交的情形,导致布线任务出现困难,但是实际上希望尽量避免线缆交叉的情况的发生,因此对于此类场景,首先将避免线缆相交置于最先的优先级上,其次再考虑布局的空间利用率。由于需要避免线缆相交,该场景在布局上难度更大了,但是由于取消了顺序,则算法在实际的布局过程中,可以更加的灵活,也使得整体的布局可以更加的科学。在实际的布局层面,基于避免线缆相交的考虑,首先使用排序算法对所有需要并联的元件和子图进行一次排序,将大的子图放在前面,小的子图或元件放在后面,然后子图和元件的布置按照先大后小的顺序从左到右进行布置,直到布置完为止,最后将父元件放在整个布局的下方正中央,实际的连接点也设置为下方的正中央,即可完成元件子图并联场景的布局。
98.2.参数优化神经网络
99.神经网络优化方法在很多场景中显示出较好的优化效果。神经网络作为现代机器学习和核心理论,通过对生物的神经网络结构的研究,使用计算机软硬件系统来模拟动物的中枢神经系统的结构与功能的基于计算机体系架构的数学计算模型,用于对一些数学映射进行预判与估测。
100.但是神经网络的优化方式还是存在一定的局限性。深度学习在有些较为复杂的情况下并不能有效的达成所希望达成的目标,无法达成目标的原因很多,主要有以下两个方面的原因。第一个原因就是数据量的积累困难,由于较为复杂场景下的端到端优化方法的状态空间维度极高,因此需要极大的数据量作为神经网络的训练数据,而这些数据的获取本身就十分的困难,数据的清洗和筛选的工作量也相对较大。第二个原因就是较为复杂的场景下的端到端神经网络往往隐藏层的数量和维度都非常之大,这些情景下的神经网络的训练和优化往往需要大量的计算资源的投入,伴随着大量计算资源投入的还有巨大的电力消耗和复杂的设备管理成本,这样高昂的门槛阻挡了端到端神经网络进入一些复杂的场景。
101.本发明为了解决布局参数优化问题也引入了神经网络优化的方法。由于在图纸的布线过程中,存在大量的参数优化问题,所以需要使用神经网络来从海量的已有布线数据中,学习在不同情况下的布线参数的设置。在预测时,首先将图纸的相关信息作为输入向量交由神经网络进行计算,经过神经网络的前向传播,相关参数可以被神经网络计算出来并应用于实际图纸的布局。
102.为了提高神经网络的处理效率,使用奇异值分解的方法降低神经网络的处理难度。这样设计可以大大提高神经网络的工作效率和计算速度,也为复杂场景下利用神经网络执行优化提出了一个可行的技术方案。
103.在元件连接关系参数输入到神经网络之前,使用奇异值分解的方法来过滤一部分噪声和提取特征。输入数据进入神经网络进行处理之前,需要对输入数据进行预处理。首先将所有元件之间的连接关系以一个连接关系矩阵进行描述,例如一个由n个元件组成的图纸,则连接关系矩阵的大小为nxn,如果两个元件为连接关系,则在矩阵中两个元件对应的行列形成的坐标的元素置为1,反之则置0。由于元件本身的大小几乎相同,所以该部分数据并不加入神经网络进行计算。因此对该矩阵进行奇异值分解,然后选取最大的40个奇异值作为输入参数。
104.输入参数确定之后,使用一个神经网络来对参数进行预测。经过神经网络的前向传播计算后,神经网络的输出参数即为子图的长宽比和最佳间距。
105.神经网络的输入为前文中所提到的连接矩阵压缩器的压缩输出结果,神经网络内部主要包含了全连接层和卷积层两种结构,经过前向传播后,输出结果为两个回归值,一个回归值为子图的长宽比,另一个输出为最佳间距。在神经网络的训练过程中,通过传统计算机视觉算法对现有图纸的连接关系矩阵和相应的长宽比及间距进行统计,得到了用于训练神经网络的数据集。
106.同时该神经网络也是可以迭代调用的,例如一个包含一些元件的子图如果希望得到自己的长宽比例和最佳间距比,也可以在自己内部调用该神经网络来进行预测。
107.通过该神经网络的迭代调用可以有效的提高图纸的布局合理性和科学性。使得图
纸的生成更加的符合人的认知习惯并提高布局效率。
108.3.节点迭代法
109.由于布局布线场景的随机性,需要引入节点迭代法来帮助遍历并布局所有元件。在实际的布局过程中,所需要布局的元件的数量不确定,布局的结构层树也不确定,为了使系统具有较好的适应性,可以适应不同场景的下的布局任务,就必须使用一些算法来遍历整个树。选用迭代的方法来使得整个程序可以自行根据元件的数量和连接关系来确定布局的情况。针对实际的布局的场景和信息,采用自上而下迭代,自下而上布局的设计思路设计了相应的节点迭代算法。因此在迭代方法上选择深度优先的搜索迭代策略,这种方法对于内存的要求相对比广度优先的迭代算法要低,同时针对于应用场合,深度优先的策略也并不会影响布局结果,所以最终选择深度优先的搜索迭代策略。
110.实际节点迭代运行的实现流程如下图所示,首先从父节点(初始节点)开始出,判断父节点(初始节点)和其连接的节点是否符合三种基础布局场景的布局情况,如果符合,使用相应的基础布局场景的规则进行布局,如果不符合,从该节点的第一个子节点开始,继续判断是否符合三种基础布局场景。也即按照深度优先算法进行树搜索和布局,直到到达符合基础布局场景的布局场景,完成布局后将该部分元件和子图替换为布局完成的子图,当一个节点下的所有元件都被布局完成,那它一定符合基础布局场景,因此也可以被布局成一个完整的子图。最终可以得到完整的,包含所有元件的图纸布局。当完成所有的布局任务之后,可以按照连接顺序进行连线,不难得到,如果基于上述方法进行布局后,直接连线是一定没有交叉的,因此可以完成布线任务,从而实现整个电气布线图的绘制。
111.节点迭代法伪代码为:
[0112][0113]
以一个由8个元件组成的一个简单的电气拓扑结构为例,如图10所示;
[0114]
从“元件1”开始进行迭代和规则匹配。不难发现“元件1”及其下面的结构并不符合设定的三种基础布局场景;因此检索“元件1”的子节点,子节点“元件2”及其下面的结构也不符合设定的三种基础布局场景;因此继续探索“元件2”的子节点,此时“元件2”的第一个子节点“元件4”及其下面的节点是符合设定的三种基础布局场景中的“元件串联场景”的。因此应用“元件串联场景”的规则将“元件4”及其下面的三个节点的布局计算出来,并将这四个节点替换成一个包含了本身信息以及布局信息的子图,这样整个图形的拓扑布局就如图11所示。
[0115]
当“子图1”替换到了整个图形中之后,将“元件5”与规则匹配,发现“元件5”是一个单节点,并无串并联关系,无需处理。
[0116]
当“元件2”的子节点被全部处理完之后,结束当前层级的搜索,返回发现元件2及其下面的元件和子图符合三种基础布局场景中的“元件子图并联场景”,类似的应用“元件子图并联场景”规则将“元件2”及其下面的一个子图和一个元件的布局计算出来,并将这部分也替换成“子图2”,如图12所示。
[0117]
当“元件2”及其下面的部分被替换为“子图2”之后,与上述方式类似,“元件1”及其下面的子图和元件也可以应用“元件子图并联场景”规则进行布局。至此,成功完成一个包括8个节点的串并联拓扑的电路的布局,如图13所示。最后按照连接顺序将这些元件用线缆连接起来即可形成一个完成的电路布线图。值得注意的是,在布局布线的过程中,由于在布局的过程中已经充分考虑到线缆布置的问题并且针对该问题进行了恰当的规划和取舍,因此布线并不需要复杂的寻路和布线方法,甚至可以直接用非常简单的直线和折线进行连接,就可以完成布线的任务。最终效果图如图14所示。
[0118]
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1