本发明涉及悬梁臂设计领域,特别是一种基于正余弦机制混沌蚱蜢算法的悬臂梁设计方法。
背景技术:
蚱蜢算法(grasshopperoptimizationalgorithm,goa)由澳大利亚学者shahrzadsaremi等人在2017年提出的一种模拟蚱蜢群体生物行为的新型群智能算法。在国外已经有一小部分人进行蚱蜢算法的改进与应用。anasamaireh等人结合蚁狮搜索优化算法(antlionoptimizationalgorithm,alo)改进的蚱蜢算法用来将最大旁瓣电平(sll)最小化。praveentumuluru等人提出按时间顺序排列的蚱蜢算法并且用于基因选择和癌症分类。ahmeda.ewees等人提出基于反向学习的蚱蜢算法用于解决基准优化函数和工程问题。综上所述,蚱蜢算法作为一种新型算法,容易出现早熟现象,收敛速度和寻优性能还需改进。
对于悬臂梁设计问题,这是一个np难问题,比起确定性算法,使用蚱蜢算法进行参数优化来得到悬臂梁的自重最小。已有蚁狮搜索优化算法(alo),布谷鸟搜索算法(cuckoosearchalgorithm,cs),共生生物搜索算法(symbioticorganismssearchalgorithm,sos)用于悬臂梁设计问题,但设计效果还有待提高。
技术实现要素:
有鉴于此,本发明的目的是提出一种基于正余弦机制混沌蚱蜢算法的悬臂梁设计方法,不容易陷入局部最优,收敛精度高。
本发明采用以下方案实现:一种基于正余弦机制混沌蚱蜢算法的悬臂梁设计方法,具体包括以下步骤:
步骤s1:结合混沌策略和正余弦机制对蚱蜢算法进行改进;
步骤s2:使用步骤s1改进的蚱蜢算法解决悬臂梁设计问题。
进一步地,步骤s1中,结合混沌策略对蚱蜢算法进行改进具体为:采用logistic映射混沌初始化种群,如下式:
cn=μcn-1(1-cn-1);
式中,cn的初始值为0-1之间的随机数;当μ等于4时,能够得到一组处于完全混沌的序列。
进一步地,结合正余弦机制对蚱蜢算法进行改进具体为:对传统蚱蜢算法的位置更新公式增加下式:
式中,
进一步地,参数r1的更新采用下式:
式中,t是当前迭代次数;k是最大迭代次数;a是常量,取值为2。
进一步地,步骤s2具体包括以下步骤:
步骤s21:所述悬梁臂包括5个具有方形截面的空心构件,在厚度不变的情况下,每个空心构件由一个变量定义,即包括5个结构参数;将悬梁臂的设计问题转为以下数学模型:
定义为:
目标函数为:
约束条件为:
变量定义域为:0.01≤x1,x2,x3,x4,x5≤100;
步骤s22:将改进的蚱蜢算法应用于上述数学模型的求解中,目的为最小化目标函数,得到最小自重的悬梁臂。
进一步地,步骤s22中,改进的蚱蜢算法具体包括以下步骤:
步骤s221:初始化算法参数,包括种群大小n,迭代次数t;
步骤s222:根据下式,初始化种群:
cn=μcn-1(1-cn-1);
式中,cn的初始值为0-1之间的随机数;当μ等于4时,能够得到一组处于完全混沌的序列;设置t为最优解;
步骤s223:判断当前迭代次数是否小于最大迭代次数,若是,则进入步骤s224,否则输出t;
步骤s224:检查解的上界和下界,并采用下式更新参数c:
式中,c的范围在0.00001到1之间,cmax和cmin分别为自适应系数的最大值和最小值;t是当前迭代次数,tmax是最大迭代次数;
步骤s225:适应度值根据目标函数计算得到;
步骤s226:判断个体i是否小于等于种群大小n,若是,则进入步骤s227;否则输出t;
步骤s227:初始化正余弦机制的参数r1、r2、r3、r4,其中r1采用下式更新:
式中,t是当前迭代次数;k是最大迭代次数;a是常量,取值为2;
步骤s228:根据下式得到第i个蚱蜢个体在第d维的位置:
式中,
步骤s229:采用下式更新位置,并返回步骤s223;
式中,
其中,步骤s228中,作用强度s的更新公式为:
式中,f为吸引力的强度l为有吸引力的长度比例,r为变量名。
与现有技术相比,本发明有以下有益效果:本发明所提出的算法能够改善传统算法容易陷入局部最优、收敛精度低等问题,采用本发明的算法来优化悬梁臂设计问题,可以设计出自重较小的悬梁臂。
附图说明
图1为本发明实施例的改进的sc-goa算法流程图。
图2为本发明实施例的悬梁臂设计问题示意图。
图3为本发明实施例的不同方法在悬梁臂设计问题的计算比较示意。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供了一种基于正余弦机制混沌蚱蜢算法的悬臂梁设计方法,具体包括以下步骤:
步骤s1:结合混沌策略和正余弦机制对蚱蜢算法进行改进;
步骤s2:使用步骤s1改进的蚱蜢算法解决悬臂梁设计问题。
在本实施例中,步骤s1中,结合混沌策略对蚱蜢算法进行改进具体为:采用logistic映射混沌初始化种群,如下式:
cn=μcn-1(1-cn-1);
式中,cn的初始值为0-1之间的随机数;当μ等于4时,能够得到一组处于完全混沌的序列。
在本实施例中,结合正余弦机制对蚱蜢算法进行改进具体为:对传统蚱蜢算法的位置更新公式增加下式:
式中,
在本实施例中,参数r1的更新采用下式:
式中,t是当前迭代次数;k是最大迭代次数;a是常量,取值为2。
在本实施例中,悬臂梁包括五个具有方形截面的空心构件。由图2可知,在厚度不变的情况下,每个单元由一个变量定义,总共有5个结构参数。从图2中可以看出,梁的自由端(节点6)也有竖向荷载作用,梁的右侧(节点1)是刚性支撑。在最终的优化设计中,其目的是尽量减少梁的自重。
如图1所示,在本实施例中,步骤s2具体包括以下步骤:
步骤s21:所述悬梁臂包括5个具有方形截面的空心构件,在厚度不变的情况下,每个空心构件由一个变量定义,即包括5个结构参数;将悬梁臂的设计问题转为以下数学模型:
定义为:
目标函数为:
约束条件为:
变量定义域为:0.01≤x1,x2,x3,x4,x5≤100;
步骤s22:将改进的蚱蜢算法应用于上述数学模型的求解中,目的为最小化目标函数,得到最小自重的悬梁臂。
在本实施例中,步骤s22中,改进的蚱蜢算法具体包括以下步骤:
步骤s221:初始化算法参数,包括种群大小n,迭代次数t;
步骤s222:根据下式,初始化种群:
cn=μcn-1(1-cn-1);(4)
式中,cn的初始值为0-1之间的随机数;当μ等于4时,能够得到一组处于完全混沌的序列;设置t为最优解;
步骤s223:判断当前迭代次数是否小于最大迭代次数,若是,则进入步骤s224,否则输出t;
步骤s224:检查解的上界和下界,并采用下式更新参数c:
式中,c的范围在0.00001到1之间,cmax和cmin分别为自适应系数的最大值和最小值;t是当前迭代次数,tmax是最大迭代次数;
步骤s225:适应度值根据目标函数计算得到;
步骤s226:判断个体i是否小于等于种群大小n,若是,则进入步骤s227;否则输出t;
步骤s227:初始化正余弦机制的参数r1、r2、r3、r4,其中r1采用下式更新:
式中,t是当前迭代次数;k是最大迭代次数;a是常量,取值为2;
步骤s228:根据下式得到第i个蚱蜢个体在第d维的位置:
式中,
步骤s229:采用下式更新位置,并返回步骤s223;
式中,
其中,步骤s228中,作用强度s的更新公式为:
式中,f为吸引力的强度l为有吸引力的长度比例,r为变量名。
特别的,本实施例将改进的蚱蜢算法(sc-goa)用于解决悬臂梁设计问题,并与传统的蚱蜢算法(goa),蚁狮搜索优化算法(alo),布谷鸟搜索算法(cs),共生生物搜索算法(sos)进行设计结果的比较,数据结果如图3所示。目的是最小化目标函数,即设计最小自重的悬臂梁。
在本实施例中,程序设置为种群20,最大迭代次数为650,程序重复跑30次,输出结果如图3所示。
从图3可以知道,sc-goa优化了5个结构参数,其中x1,x2和x3得到了较好的设计优化。从最终的优化结果可以知道,sc-goa算法设计效果明显优于其他4种算法,sc-goa计算得到最小的目标函数值,其次是sos算法,然后是goa,alo和cs。这意味着sc-goa在悬臂梁设计问题中表现良好,并且能设计出相对其它方法较小自重的悬臂梁。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。