本发明涉及压力容器设计领域,特别是一种基于群体智能算法的压力容器设计方法。
背景技术:
对于压力容器成本最小化的设计问题,这属于一种存在多约束条件的非线性规划问题。相对于工程当中的试算方式,已有引力搜索算法(gravitationalsearchalgorithm,gsa),进化策略算法(evolutionarystrategies,es),遗传算法(geneticalgorithm,ga)用于优化压力容器设计问题,但是设计效果还有待改善。
蝗虫算法(grasshopperoptimizationalgorithm,goa)是由澳大利亚团队—shahrzadsaremi等人在2017年提出的一种新型群智能算法,此算法在求解问题最优化中具有良好的性能,但其仍存在早熟现象,容易陷入局部最优等问题。
技术实现要素:
有鉴于此,本发明的目的是提出一种基于群体智能算法的压力容器设计方法,采用优化后的蝗虫算法来解决压力容器的设计问题,能够较好地优化了压力容器的成本设计。
本发明采用以下方案实现:一种基于群体智能算法的压力容器设计方法,包括以下步骤:
步骤s1:将压力容器的数学模型定义为:
步骤s2:进行种群初始化,即初始化步骤s1中四个变量的初始值,得到n行四列的矩阵作为解的空间,其中n为种群数量;
步骤s3:同时采用以下两个式子对蝗虫个体的位置进行更新:
式中,
步骤s4:检查解的范围是否超过变量范围,并更新自适应系数c,计算目标函数;
步骤s5:判断是否遍历完当前种群,若否,重复返回步骤s3,若遍历完当前种群,进入步骤s6;
步骤s6:判断当前迭代次数是否小于最大迭代次数,若是,则返回步骤s3,否则输出目标函数的最小值,作为压力容器的最小设计成本。
进一步地,步骤s1中,所述压力容器的数学模型的约束条件为:
进一步地,步骤s1中,所述压力容器的数学模型的变量范围为:0≤x1,x2≤99,10≤x3,x4≤200。
进一步地,步骤s2中,采用sinusoidal混沌映射初始化种群,如下式:
式中,a取2.3,初始矩阵yk经过sinusoidal混沌操作后得到带有混沌性质的新矩阵yk+1。
进一步地,步骤s4中,自适应系数c的更新采用下式:
式中,cmax、cmin分别为自适应系数的最大值和最小值;t表示目前的迭代次数;tmax表示最大迭代次数。
进一步地,步骤s3中,作用强度s的更新采用下式:
式中,f表示吸引力强度;l表示有吸引力的长度范围。
与现有技术相比,本发明有以下有益效果:本发明对于蝗虫算法收敛精度低,容易陷入局部最优等不足之处,提出了一种高斯变异和混沌理论相结合优化的蝗虫算法。对于目前已有算法的压力容器设计性能缺陷,本发明提出了高斯变异和混沌理论改进蝗虫算法并优化压力容器的成本设计问题,能够较好地设计出成本较小的压力容器。
附图说明
图1为本发明实施例的压力容器设计示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种基于群体智能算法的压力容器设计方法,包括以下步骤:
步骤s1:将压力容器的数学模型定义为:
步骤s2:进行种群初始化,即初始化步骤s1中四个变量的初始值,得到n行四列的矩阵作为解的空间,其中n为种群数量;
步骤s3:同时采用以下两个式子对蝗虫个体的位置进行更新:
其中,原蝗虫算法采用上式对蚱蜢进行位置更新,但其容易陷入局部最优而无法获得全局最优解,因此本实施例结合高斯变异和logistic混沌对其进行改进,公式如下:
式中,
步骤s4:检查解的范围是否超过变量范围,并更新自适应系数c,计算目标函数;
步骤s5:判断是否遍历完当前种群,若否,重复返回步骤s3,若遍历完当前种群,进入步骤s6;
步骤s6:判断当前迭代次数是否小于最大迭代次数,若是,则返回步骤s3,否则输出目标函数的最小值,作为压力容器的最小设计成本。
在本实施例中,步骤s1中,所述压力容器的数学模型的约束条件为:
在本实施例中,步骤s1中,所述压力容器的数学模型的变量范围为:0≤x1,x2≤99,10≤x3,x4≤200。
较佳的,在本实施中,gc-goa算法的种群初始化对应于圆柱容器的壳厚度(t),半球形封头的厚度(s),半球形封头的内半径(r),圆柱容器的长度(l)这四个变量在各自变量范围内的n组初始值,即初始位置。n指种群数量,对应背景问题中n组可行解,一组可行解是四维数组,所以整个解的空间为n行四列的矩阵。
在本实施例中,原始蝗虫算法是随机生成种群的初始解,这样初始数据的多样性差。本实施例采用sinusoidal混沌映射初始化种群,混沌的效果是增加数据初始分布的多样性,具体的,步骤s2中,采用sinusoidal混沌映射初始化种群,如下式:
式中,a取2.3,利用该混沌对种群进行初始化可使蝗虫初始位置分布更均匀,减小种群陷入局部最优的概率。初始矩阵yk经过sinusoidal混沌操作后得到带有混沌性质的新矩阵yk+1。
在本实施例中,步骤s4中,自适应系数c的更新采用下式:
式中,cmax、cmin分别为自适应系数的最大值和最小值;t表示目前的迭代次数;tmax表示最大迭代次数。
在本实施例中,步骤s3中,作用强度s的更新采用下式:
式中,f表示吸引力强度;l表示有吸引力的长度范围。
在本实施例中,本实施例算法的伪代码如下:
本实施例将改进的蝗虫算法(gc-goa)进行压力容器的相对最小成本设计,并与引力搜索算法(gsa)、进化策略算法(es)、遗传算法(ga)、原始的蝗虫算法(goa)进行设计效果的比较,数据结果如表1所示。目的是最小化目标函数,即设计出最小成本的压力容器。
程序的参数设置为种群60,最大迭代次数为500,程序重复运行30次,输出结果如下表所示。
从上表可知,gc-goa通过优化壳厚度(t),半球形封头的厚度(s),半球形封头的内半径(r),圆柱容器的长度(l)这四个主要影响因素,最后计算出相对其它四个算法较小的成本结果。设计数据的排序分别为gsa最大,其次是goa,es,ga,相对最小的是本实施例的gc-goa。这说明本实施例的方法比较好地优化了压力容器的成本设计。
本实施例采用高斯变异和混沌理论改进蝗虫算法并优化压力容器成本最小化的设计问题。压力容器设计问题可以抽象成4个结构参数,4个约束条件和1个目标函数的数学模型用于算法的优化设计。从设计的数据可以看出,所提出的算法(gc-goa)能够较好的设计出成本较小的压力容器。对于蝗虫算法收敛精度低,容易陷入局部最优等不足之处,本实施例提出了一种高斯变异和混沌理论相结合优化的蝗虫算法。对于目前已有算法的压力容器设计性能缺陷,本实施例提出了高斯变异和混沌理论改进蝗虫算法并优化压力容器的成本设计问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。