一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于PG-MACO算法的舰船管路布置设计方法

2022-12-19 20:55:19 来源:中国专利 TAG:

一种基于pg-maco算法的舰船管路布置设计方法
技术领域
1.本发明属于舰船管路自动布置优化领域,涉及一种基于信息素高斯扩散多蚁群协同算法(pheromone gaussian diffusion multi ant colony algorithm,pg-maco)的舰船管路布置设计方法。


背景技术:

2.随着计算机技术的不断发展,计算机辅助设计技术在舰船管路设计问题上的应用越来越广泛,设计的效率和质量得到了大幅度的提升,但以往的设计方式仍然主要依赖于人工经验和手动设计,尚未实现管路的自动布置设计。
3.近年来,国内外学者对管路的自动布置问题展开了研究,现有的主要管路布置算法可以分为确定性算法与启发式算法,确定性算法的优势在于求解速度快,常见的有a*算法、dijkstra算法等,启发式算法具有更强的随机性和全局搜索能力,常见的有粒子群算法(pso)、遗传算法(ga)、蚁群算法(aco)等,其中蚁群算法因其出色的鲁棒性和全局搜索能力,以及适用于空间路径规划问题,被广泛应用于管路问题。
4.蚁群算法是一种模拟蚂蚁觅食过程中,不断优化食物与洞穴之间路径而提出的仿生算法,蚂蚁之间的相互作用主要源自信息素,在蚂蚁经过的地方会释放信息素,某位置的信息素浓度主要受经过此处的蚂蚁数量以及蚂蚁当前路径的长度影响,后续蚂蚁再次路过时会根据信息素浓度高低进行选择,最终实现蚂蚁种群汇聚在某条路径上。
5.jiang等
1.对传统的蚁群算法进行改进,采用矢量信息素的形式,并结合协同进化框架进行多管路和分支管路的研究。wang等
2.提出了一种基于人机合作机制的蚁群算法,将对人工解和算法解有机结合,综合利用人工经验和计算机算力。陈杨
[3-4]
对蚁群算法进行改进,包括信息素的表达与更新方式、路径点的选取规则等,提高了蚁群算法的性能。熊勇等
[4]
将快速扩展随机树(rrt)算法与蚁群算法相结合,提出变步长搜索策略和利用蚁群算法优化路径,提升了算法的效率和鲁棒性。
[0006]
以上方法对蚁群算法进行适当的改进,优化了算法性能,加强了算法的适用性,但仍存在计算过程繁琐、计算量大、自动化程度不足、对工程实际考虑较少等问题。
[0007]
参考文献
[0008]
[1]jiang wy,lin y,chen m,yu yy.a co-evolutionary improved multi-ant colony optimization for ship multiple and branch pipe route design[j].ocean engineering,2015,102:63-70
[0009]
[2]wang yl,yu yy,guan g.a human-computer cooperation improved ant colony optimization for ship pipe route design[j]:ocean engineering,2018,150:12-20
[0010]
[3]陈杨.基于改进蚁群算法和solidworks二次开发的船舶管路规划研究[d].江苏:江苏科技大学,2019.
[0011]
[4]熊勇,张加,余嘉俊,等.船舶三维管路智能布局优化算法[j].计算机应用,
2020,40(7):2164-2170.


技术实现要素:

[0012]
为了更好地实现蚁群算法在三维空间中自动布置管路,需要解决两个关键问题,其一是要更加贴近工程实际,例如应减少弯头的存在,避免在蚂蚁个体在状态转移时出现过多折弯,以及在布管时要尽量考虑沿舱壁或障碍物表面布置,并且成组的管路应当尽量并行布置等因素;其二是要提高算法的运行效率及适用性,提升算法处理复杂环境下计算混合管路的能力。针对上述问题,本发明提出的技术方案是:一种基于pg-maco算法的舰船管路布置设计方法,包括以下步骤:
[0013]
(1)将布置空间栅格化,并根据障碍物空间信息,对障碍物进行包络简化,简化为算法可识别的长方体形式,记录各障碍物的对角坐标;
[0014]
(2)算法根据计算精度自动对布置空间进行平移和缩放,将布置空间的真实模型转化为用于算法计算的简化模型,对障碍物所处栅格进行特定赋值,使之可被算法识别为不可达;
[0015]
(3)输入待布置管路的起点、终点的坐标值,和管径列表,每次在求解路径前,对地图进行初始化或更新;
[0016]
(4)根据设备信息生成能量区,用于引导管路靠近设备或远离设备布置;
[0017]
(5)根据当前栅格地图和待布置管路起、终点等信息,采用pg-maco进行混合管路的路径寻优,计算长度尽量短、弯头尽量少、尽量符合工程要求的管道布置方案。
[0018]
步骤(3)中,每次在求解路径前,对地图进行初始化或更新,需要考虑三个方面:首先,将障碍物包络体所在的栅格赋值为不可达,其次,将除了当前布置管路的起点和终点之外的其他管路的起点、终点赋值为不可达并进行适当膨胀,膨胀范围考虑当前管径和需要预留给管路的安全距离加和后的长度与栅格单元尺寸之间的倍数关系,最后,如果当前管路布置前已有其他管路布置完成,需要根据管路类型考虑是否将已布置结果更新为障碍物。
[0019]
步骤(4)中,根据设备信息生成能量区,是指根据地图和设备信息,为地图中的各节点赋予不同的能量数值,在搜索管路时,通过加入对能量值的考虑实现引导管路靠近或远离某些空间区域,现有的研究中,能量区主要分为禁止、优势、过渡和常规区域四种,不同区域赋予不同的能量数值,但其缺点在于需要人为设置,不利于算法自动化,并且空间中的能量区类型较少,算法计算时较粗略,因此本发明提出基于二次函数递减的空间能量区生成策略,计算方式如下:
[0020][0021][0022]
其中,d
threshold
为需要更新信息素的空间距离阈值,由当前节点距离障碍物表面最近节点的曼哈顿距离所决定,d为障碍物长方体位置向外扩张的距离,c为常数,
epeak
为能量区的峰值,e
base
为能量值的下限,e为节点能量值。
[0023]
进一步地,所述采用pg-maco进行混合管路的路径寻优,计算长度尽量短、弯头尽
量少、尽量符合工程要求的管道布置方案包括以下步骤:
[0024]
s1:根据混合管路的输入信息对管路进行分类,分为单管路、多管路、分支管路三种,分别采取不同的机制进行计算;
[0025]
s2:单管路的布置根据地图信息和管路信息,采用pg-maco算法进行单条管路路径寻优;s3:多管路的布置转化为按照固定顺序或随机顺序的多条单管路布置,布置过程需要考虑协同进化,包括竞争机制和协调机制,竞争机制在于先布置的管路相对于后布置的管路而言被视为障碍物,协调机制在于通常为成组布置的多管路希望管路与管路之间并行布置长度尽可能长;
[0026]
s4:分支管路的布置则将一个起点多个终点的管路布置问题转化为具有相同起点的多条管路的布置,分支管路的布置仅需要考虑协调机制,即通常希望管路与管路之间并行布置长度尽可能长,并且尽可能重叠布置;
[0027]
进一步地,所述根据地图信息和管路信息,采用pg-maco算法进行单条管路路径寻优包括以下步骤:
[0028]
s1:设定pg-maco算法的参数:迭代次数、蚂蚁数量、信息素总量、信息素挥发因子、信息素重要程度因子、启发式因子、高斯分布期望、高斯分布方差基值、高斯分布方差阈值等;
[0029]
s2:某代的蚂蚁种群中的某个蚂蚁个体开始寻路;
[0030]
s3:根据蚂蚁所处位置和地图信息探索空间中六个方向下的可行节点集合,并判断可行域中是否包含终点,若包含则该蚂蚁寻路结束,进行s7,若不包含则进行下一步;
[0031]
s4:根据当前节点的可行域信息和启发式信息进行探索方向的选择,根据可行域集合和探索方向确定待转移节点,利用改进后的启发式函数计算状态转移概率,并进行轮盘赌选择移动到下一节点;
[0032]
s5:判断是否达到寻路过程要求的最大循环次数,如达到最大次数则舍弃当前个体,避免算法停滞,若未达到最大次数则返回s3;
[0033]
s6:更新种群间的信息素,并根据改进后的适应度函数,判断当前蚂蚁所找到的路径是否优于全局最优解以及局部最优解,若是,则替换最优解为当前路径;
[0034]
s7:判断是否种群中所有蚂蚁均完成寻路,若均完成寻路,则进入下一轮迭代,若存在蚂蚁未完成,则返回s2;
[0035]
s8:判断是达到最大迭代次数,若达到最大迭代次数,则返回当前全局最优结果,完成当前管路布置。
[0036]
进一步地,所述根据当前节点的可行域信息和启发式信息进行探索方向的选择的计算方式如下:
[0037][0038]
[0039][0040]
其中,为定义在自变量x上的分段函数,为从起点到终点的三维向量,为绝对坐标系下六个方向上的单位向量中的某个,m为距离余量,di为启发式信息的影响值,fi为可行域信息的影响值,该方向上各可行节点的信息素之和,代表某个方向上可行域的长度以及信息素浓度的情况,为选择某方向的归一化后的概率。
[0041]
进一步地,所述利用改进后的启发式函数计算状态转移概率的计算方式如下:
[0042][0043]
其中,tj为节点的信息浓度,ej为节点的能量值,mj为节点到终点的曼哈顿距离,α,β为信息素启发因子和期望启发因,c为常数。本方法考虑到终点的曼哈顿距离、信息素浓度、能量值的位移选择方法,可以更全面的综合各因素的影响,使得路径搜索的过程更符合管路布置工程实际需求。
[0044]
进一步地,所述更新种群间的信息素计算方式如下:
[0045][0046][0047][0048][0049]
ph
now
=(ph
last
×
phd)
×
(1-ρ)
[0050]
其中,为定义在自变量上的高斯分布概率密度公式,为期望,θ为方差,在本方法中影响正态分布衰减速率,θ
base
为正态分布标准差基值,θ
threshold
为最小标准差阈值;fitness为当前管路的适应度值,fitness
min
和fitness
max
分别为本次迭代中当前种群中最优个体和最劣个体的适应度值;为当前更新信息素的路径的扩散距离,φ(d)为信息素距离衰减因子,是受随距离变化的函数;q为信息素总量,l为路径长度,为距离变量,为在与管路行进方向正交的二维平面内的点到管路节点的曼哈顿距离,phd为与管路距离为d的节点的信息素增量,ph
last
为上一代中某节点信息素浓度值,ph
now
为本次迭代中该节点信息素浓度更新后的值,ρ为信息素挥发因子。
[0051]
进一步地,所述改进的适应度函数分为单管路布置和多管路布置两种,如下:
[0052]
fitness
single
=ln[c1×
(a1×
l a2×
b a3×
installation) c2]
[0053][0054]
其中,fitness
single
为单管路情况下的适应度,fitness
multi
为多管路情况下的适应度,l是管路的长度,b是管路的弯头数,l
overlap
是重叠部分长度,b
overlap
为重叠的弯头数,l
parallel
是当前管路与已布置好的管路之间并行布置的长度,d
parallel
为并行布置下两个管路间的距离,a1,a2,a3为对应权重,通过设置权重使得管路的优化更具倾向性,通常将权重设置为使各因素对目标函数影响程度相近,c1是缩放因子,控制适应度函数变化的剧烈程度,c2是移动因子,控制适应度函数图像的变化区间。
[0055]
本发明的有益效果为:一种信息素高斯扩散多蚁群协同算法(pg-maco),研究对象是舰船的混合管路布置。(1)通过采用改进蚂蚁状态转移计算方式,大幅度减少传统蚁群算法出现的不必要弯头,同时引入能量区,并在启发式函数进行了考虑,实现了引导管路向某些特定区域靠近的目标。更加贴近工程实际,避免了在蚂蚁个体在状态转移时出现过多折弯以及在布管时要尽量考虑沿舱壁或障碍物表面布置,并且成组的管路应当尽量并行布置等因素。
[0056]
(2)pg-maco引入了协同进化机制,使得本算法可以处理混合管路,包括单管路、多管路和分支管路,提高了算法的适用性和处理复杂布置情况的能力,利用信息素向外扩散并离管路越近扩散的信息素越强,来引导管路在空间搜索时更容易接收到其他蚂蚁的信息素指引,从而加快蚂蚁的寻路效率,加速算法收敛。
[0057]
(3)传统的蚁群算法仅在蚂蚁行走过的路径上留下信息素,由于管路布置问题属于三维空间路径规划问题的范畴,为了提高计算效率,考虑扩展蚂蚁的信息素影响范围,本发明引入基于高斯分布衰减函数的信息素扩展机制,在已布置的管路周围更新信息素,随距离增大信息素量逐渐减弱,直至衰减至最低阈值,从而引导后续管路搜寻时朝着信息素高的位置靠近,同时结合概率选择函数实现提高搜索效率并避免陷入局部最优解。
附图说明
[0058]
为了进一步验证本发明在实际应用中的效果和更清晰地表达本算法计算流程,下面对所使用到的附图进行简要介绍,附图中所示为本发明的一些应用案例,需要声明的是,本发明不局限于在这些案例中,对于本领域其他技术人员而言,在不付出创造性劳动的前提下,可以根据本发明获得其他附图,但都属于本发明保护的范围。
[0059]
图1中(a)是核级管路布置案例一的实际模型;(b)是核级管路布置案例一的包络后的简化模型。
[0060]
图2中(a)是核级管路布置案例二的实际模型;(b)是核级管路布置案例二的包络后的简化模型。
[0061]
图3是本技术中算法整体流程图。
[0062]
图4是求解单管路时的算法流程图。
[0063]
图5是求解多管路时的算法流程图。
[0064]
图6是求解分支管路时的算法流程图。
[0065]
图7(a)是案例一的算法布置效果图;(b)是案例一的实际布置效果图。
[0066]
图8(a)是案例二的算法布置效果图;(b)是案例二的实际布置效果图。
具体实施方式
[0067]
为了更详细地介绍本发明的目的、技术方案以及优势,下面将结合核级一回路管道布置实际案例进行验证和说明,一种基于信息素高斯扩散多蚁群协同算法(pheromone gaussian diffusion multi ant colony algorithm,pg-maco)的舰船管路布置设计方法包括以下步骤:
[0068]
(1)对实际模型空间进行简化,对障碍物以规则长方体的形式进行aabb包围盒简化,图1(a)、图2(a)为实际模型示意图,图1(b)、图2(b)为包络简化后的模型示意图,而后获取包围盒的对角顶点坐标,根据布置空间范围对障碍物顶点坐标进行平移、缩放等操作,而后生成栅格地图,在python中以三维数组的形式表达,0代表不可达,1代表可达;
[0069]
(2)根据输入的管路节点信息,将单管路、多管路、分支管路的管路起、终点分别存入python字典对应位置,并在地图中,根据管径大小赋予管路节点处栅格为不可达;
[0070]
(3)根据能量区计算公式初始化与栅格地图对应的能量值数组,为了符合实际需求和减少计算量,将障碍物由近到远的区域设置为能量值依次递减,直至达到阈值后区域生成结束,采用python的三维数组进行表达,设置初始值和阈值为1;
[0071]
(4)考虑到布置工况的复杂程度和特性,按照分支管路、多管路、单管路的顺序依次进行布置,先布置完成的管路将作为后续管路布置时的障碍物体现在地图中,其中分支管路和多管路需要遵循协同进化的机制进行求解;
[0072]
单管路的布置根据地图信息和管路信息,采用pg-maco算法进行单管路路径寻优;算法流程图详见图4;
[0073]
多管路的布置转化为按照固定顺序或随机顺序的多条单管路布置,布置过程包括竞争机制和协调机制的协同进化:竞争机制在于先布置的管路相对于后布置的管路而言被视为障碍物,协调机制在于通常为成组布置的多管路希望管路与管路之间能并行布置的长度为尽可能长,因此提出一种计算管路之间并行程度的方法,即两条管段若满足并行性,则需要满足三个条件,首先在同一维度,其次是两条管段在该维度上有重合的部分,再次是在另外两个维度所组成的平面中,管段的中心点之间的距离应当满足一定要求。算法流程图详见图5;
[0074]
分支管路的布置则将一个起点多个终点的管路布置转化为具有相同起点的多条管路的布置,起点的选择为到其他节点曼哈顿距离之和最小的节点,求解时的顺序采用随机的顺序,从而增大计算的随机性,分支管路的布置采用协调机制,在布置过程中不需要相互之间干涉问题,且希望管路与管路之间能并行重叠布置长度为尽可能长。算法流程图详见图6;
[0075]
在计算单管路或者由多管路或分支管路转化而来的单管路时,目标在于找到一条长度尽可能短、弯头尽可能少、能量值尽可能高的管路,其评价函数如下:
[0076]
fitness
single
=ln[c1×
(a1×
l a2×
b a3×
installation) c2]
[0077]
l是管路的长度,b是管路的弯头数,installation是满足施工性约束的管路所获得的奖励值,a1,a2,a3为对应权重,采用对数函数的形式构建适应度函数其目的在于可以在实现算法初期适应度值变化较明显的基础上,同时促进在算法后期放大适应度值的变化程度,从而对最优解的出现及捕捉更为敏感。
[0078]
当在协同框架下求解管路时,管路的评价体系为从每一代最优蚂蚁的路径中,选
取与之前已布置好的管路之间协同效果最佳的管路,因此在协同的框架下的算法评价函数为:
[0079][0080]
l是管路的长度,b是管路的弯头数,l
overlap
是重叠部分长度,b
overlap
为重叠的弯头数,l
parallel
是当前管路与已布置好的管路之间并行布置的长度,d
parallel
为并行布置下两个管路间的距离,a1,a2,a3为对应权重。
[0081]
pg-maco算法具体实施步骤如下:
[0082]
s1:设定算法的参数,种群数量为10,迭代次数为20,信息素总量为500,信息素挥发因子为0.4,信息素重要程度因子为2,启发式因子为2,高斯分布期望为0,高斯分布方差的基值为3,高斯分布方差阈值为1;
[0083]
s2:某代的蚂蚁种群中的某个蚂蚁个体开始寻路;
[0084]
s3:探索当前节点的可行域节点集合,并判断可行域中是否包含终点,若包含则该蚂蚁寻路结束,若不包含则进行下一步;
[0085]
s4:计算探索方向并确定待转移节点,计算状态转移概率,并进行轮盘赌选择移动到下一节点:
[0086][0087]
di为启发式信息的影响值,fi为可行域信息的影响值,指某个方向的可行域长度和信息素浓度信息,即该方向上各可行节点的信息素之和,为选择某方向的归一化后的概率,
tj
为节点的信息浓度,
ej
为节点的能量值,
mj
为节点到终点的曼哈顿距离,α,β为信息素启发因子和期望启发因子;
[0088]
s5:为避免算法停滞,需要判断探索下一节点的次数是否超限,如达到最大次数则舍弃当前个体,若未达到最大次数则返回s3继续探索下一节点;
[0089]
s6:根据单管路的适应度函数进行筛选当前的全局最优解和蚂蚁个体的局部最优解并记录,而后根据当前管路的路径更新种群间的信息素,指导后续寻路过程:
[0090][0091][0092]
[0093][0094]
ph
now
=(ph
last
phd)
×
(1-ρ)
[0095]
其中,f(x)为定义在自变量x上的高斯分布概率密度公式,μ为期望,θ为方差,在本方法中影响正态分布衰减速率,θ
base
为正态分布标准差基值,θ
threshold
为最小标准差阈值;fitness为当前管路的适应度值,fitness
min
和fitness
max
分别为本次迭代中当前种群中最劣个体和最优个体的适应度值;d为当前更新信息素的路径的扩散距离,φ(d)为信息素距离衰减因子,是受随距离变化的函数;q为信息素总量,l为路径长度,phd为与管路距离为d的节点的信息素增量,ph
last
为上一代中某节点信息素浓度值,ph
now
为本次迭代中该节点信息素浓度更新后的值,ρ为信息素挥发因子。改进后的优势在于,蚁群算法主要通过蚂蚁间的信息素进行通信,传统的蚁群算法仅在蚂蚁行走过的路径上留下信息素,由于管路布置问题属于三维空间路径规划问题的范畴,为了提高计算效率,考虑扩展蚂蚁的信息素影响范围,本发明引入基于高斯分布衰减函数的信息素扩展机制,在已布置的管路周围更新信息素,随距离增大信息素量逐渐减弱,直至衰减至最低阈值,从而引导后续管路搜寻时朝着信息素高的位置靠近,同时结合概率选择函数实现提高搜索效率并避免陷入局部最优解;
[0096]
s7:判断是否种群中所有蚂蚁均完成寻路,若均完成寻路,则进入下一轮迭代,若存在蚂蚁未完成,则返回s2;
[0097]
s8:判断是达到最大迭代次数,若达到最大迭代次数,则返回当前全局最优结果,完成当前管路布置;
[0098]
s9:若当前处理的是多管路或分支管路则从当前种群中挑选出协同性最好的蚂蚁个体,而后将其定义为障碍物,并在地图中进行更新,而后计算下一条管路,当本组管路计算完成后,继续计算下一组管路。
[0099]
在图7(a)中展示了分支管路布置示例,图7(b)中展示了混合管路布置示例,包括单管路、多管路和分支管路,如图所示在多个接口的分支管路布置时,协同性较好,重叠布置长度较长,在布置成组多管路时可以考虑并行性,在布置混合管路时可以考虑协同进化下的干涉问题,整体结果符合目标要求。
[0100]
需要说明的是,以上实施案例仅用以验证和说明本发明的技术方案,并不对其存在限制,在处理与其中部分或全部技术特征不同的情况下,可以通过根据前述实施案例对本发明的详细说明进行适当的修改或替换,但前提是并不应使技术方案脱离本发明各实施案例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献