CN108829957A - 一种基于混合差分人工蜂群算法的焊接梁设计方法 - Google Patents

一种基于混合差分人工蜂群算法的焊接梁设计方法 Download PDF

Info

Publication number
CN108829957A
CN108829957A CN201810558311.8A CN201810558311A CN108829957A CN 108829957 A CN108829957 A CN 108829957A CN 201810558311 A CN201810558311 A CN 201810558311A CN 108829957 A CN108829957 A CN 108829957A
Authority
CN
China
Prior art keywords
algorithm
formula
value
individual
penalty
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810558311.8A
Other languages
English (en)
Inventor
杜振鑫
韩德志
余学山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Maritime University
Hanshan Normal University
Original Assignee
Shanghai Maritime University
Hanshan Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Maritime University, Hanshan Normal University filed Critical Shanghai Maritime University
Priority to CN201810558311.8A priority Critical patent/CN108829957A/zh
Publication of CN108829957A publication Critical patent/CN108829957A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于混合差分人工蜂群算法的焊接梁设计方法,包含以下过程:通过融合三角搜索策略和混合差分人工蜂群算法(EABC‑BB)产生服从高斯分布的候选解,在不降低算法开采能力的同时避免算法陷入局部最优解,有利于抑制算法早熟收敛;在EABC‑BB算法中,为了增强算法适应解决不同问题的能力,根据前一代的成功搜索经验动态地调整交叉概率;采用惩罚函数方法将焊接梁设计问题转化为无约束优化问题,最后采用EABC‑BB算法求解焊接梁设计问题所转化的无约束优化问题。本发明采用开采能力和适应能力都强且不容易早熟收敛的EABC‑BB算法,精确求解焊接梁设计问题最优解,能提高工程质量和最小化总的工程制造代价。

Description

一种基于混合差分人工蜂群算法的焊接梁设计方法
技术领域
本发明涉及工程优化问题领域,特别涉及一种基于混合差分人工蜂群算法的焊接梁设计方法。
背景技术
焊接梁设计优化问题普遍存在大量的局部最优点,如何在保证全局搜索能力的同时,加强有潜力区域的开采,成为算法设计的重要问题。
人工蜂群算法由于参数较少、对比其他进化算法性能较高而得到大量关注,目前已经被广泛应用于分类问题、模糊系统、非线性系统、神经网络训练、网络攻击、并行聚类、特征选择等问题,并都取得了较好的效果。尽管人工蜂群算具有一定的优势,但是也存在一定的弱点,其每次只更新一维,虽然这保证人工蜂群算法不容易早熟收敛,却也导致对于复杂函数优化问题存在收敛速度较慢的缺点。与人工蜂群算法相反,差分算法每次更新多个维度,有助于加快收敛速度,但是也容易导致早熟收敛。相关学者提出一种混合差分人工蜂群算法(Gaussian bare-bones artificial bee colony algorithm,ABC-BB),充分利用这两种算法的优点而避免它们的缺点,实验结果表明该算法具有较好的性能。但是,在ABC-BB中,所有个体都向gbest学习,这种单一的学习模式仍然容易导致算法陷入局部最优解.而且,在ABC-BB采用的交叉概率CR采用固定的参数,难以较好的适应各种复杂的优化问题.为了解决上述问题,本文提出一种基于三角搜索策略的骨干人工蜂群方法.同时,为了增强算法适应各种不同特性优化问题的能力,利用上一代的成功搜索经验动态的调整交叉概率.实验表明,改进算法EABC-BB明显好于ABC-BB及多种最新改进的进化算法,在焊接梁设计问题上达到目前最好水平。
发明内容
本发明的目的是提供一种基于混合差分人工蜂群算法的焊接梁设计方法,通过融合三角搜索策略和混合差分人工蜂群算法(EABC-BB),产生一个服从高斯分布的候选解,能够避免陷入局部最优解有利于抑制算法早熟收敛,再根据前一代的成功搜索经验动态调整交叉概率。使用惩罚函数法将焊接梁设计问题转换成无约束优化问题,再使用本文的EABC-BB算法求解无约束优化问题,实现开采能力强、不会早熟收敛适应力强、求解焊接梁设计问题效果好的目的。
为了实现以上目的,本发明是通过以下技术方案实现的:
一种基于混合差分人工蜂群算法的焊接梁设计方法,其特点是,包含以下过程:
步骤S1、融合混合差分人工蜂群算法和三角搜索策略形成EABC-BB算法,克服其它算法容易陷入局部最优解导致早熟收敛的缺点;
步骤S2、EABC-BB算法在混合差分人工蜂群算法的基础上,根据三角搜索策略产生高斯分布候选解;
步骤S3、在S2的基础上,根据前一代的成功搜索经验动态调整交叉概率CR,增强算法适应解决不同问题的能力;
步骤S4、采用惩罚函数方法将焊接梁设计问题转化为无约束优化问题;
步骤S5、用EABC-BB算法求解焊接梁设计问题所转化的无约束性问题。
所述的混合差分人工蜂群算法是基于人工蜂群算法结合以差分进化算法形成的;
所述的人工蜂群算法中人工蜂群包含了3种不同类型的蜜蜂:雇佣蜂、观察蜂以及侦察蜂,人工蜂群算法采用一个随机生成的群体开始迭代搜索;设食物源的规模为SN,其中,食物源xi=(xi1,xi2,…,xiD)代表一个候选解,首先按照公式(1)生成SN个初始解;
其中,i=1,2,…,SN,j=1,2,…,D.D是变量的维数.与xj U分别是第j维的下界与上界,算法开始迭代之后,人工蜂群算法根据蜜蜂的类型将搜索过程分为3个阶段:
步骤S1.1、雇佣蜂阶段:每只雇佣蜂在对应的食物源xi处根据公式(2)生成一个候选解vi=(vi1,vi2,...,viD),若vi的适应值比xi的适应值更优,则用vi替换xi
vi,j=xi,ji,j(xi,j-xk,j) (2)
其中,是[-1,1]之间的随机数,k∈{1,2,…,SN}是随机选择的一个食物源,且k≠i,j∈{1,2,…,D}是随机选择的一个维度;
步骤S1.2、观察蜂阶段:在所有雇佣蜂完成勘探之后,观察蜂按照公式(3)定义的概率随机选择一个食物源i进一步开采:
式中,fiti是食物源xi的适应度值.从上述公式可见,食物源的适应度值越大,被观察蜂选中的概率越高;其中,fiti按公式(4)计算:
在公式(4)中,fi是第i个解的目标函数值;
步骤S1.3、侦察蜂阶段:当雇佣蜂对应的食物源经过limit次未更新,说明该食物源已被开采耗尽;这种情况下,重新随机初始化一个新食物源代替xi;
所述的差分进化算法中差分进化是一种利用NP个D维参数向量的并行直接搜索方法,参数形式如下:
xi,G,l.=1,2...NP
差分进化的基本策略可以描述如下:
步骤S2.1、对于每个目标矢量xi,G,i=1,2...NP,一个突变载体是根据公式(5)计算:
其中,随机索引r1,r2,r3∈{1,2,…,NP}并且为整数,相互不同且F>0,随机选择的整数r1,r2和r3的选择与行程索引i不同,其中F是控制微分变异放大的实数常数因子范围为[0,2];
步骤S2.2、通过交叉增加扰动参数向量的多样性,为此,试用矢量如公式(6)所示:
ui,G+1=(u1i,G+1,u2i,G+1,...,uDi,G+1) (6)
公式(6)中:
j={1,2,…,D}. (7)
在公式(7)中,randb(j)是统一的随机数发生器的第j个评估,其结果为[0,1],CR是交叉常数必须由用户决定范围为[0,1]。,rnbr(i)是随机选择的索引在{1,2,…,D}中能够确保ui,G+1从vi,G+1中获取至少一个参数;
步骤S2.3、为了决定ui,G+1是否应该成为G+1代种群的成员,使用贪婪准则将试验向量ui,G+1与目标向量xi,G进行比较。如果向量ui,G+1比xi,G产生更小的代价函数值;那么xi,G+1被设置为ui,G+1;否则,旧值xi,G被保留。
所述的三角搜索策略是指在ABC-BB算法的观察蜂阶段搜索公式基础上,从种群中适应度最好的比例为p的个体中随机选择一个精英解xe,与xi,xbest合作产生新的候选解vi,以三者的平均值作为均值,以三者差的绝对值的均值作为标准差,产生服从高斯分布的候选解;
所述的ABC-BB观察蜂阶段搜索公式如公式(8):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j)/2,标准差是|xi,j-xbest,j|,randj是第j维生成的[0,1]之间的随机数,CR是交叉概率,公式第二行的含义是当randj>CR的时候,vi,j仍然保留当前个体xi的第j维,xbest是全局最优解;
所述的服从高斯分布的候选解如公式(9):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j+xe,j)/3,标准差是(|xi,j-xbest,j|+|xbest,j-xe,j|+|xe,j-xi,j|)/3,randj表示在第j维生成的[0,1]之间的随机数;公式第二行的含义表示当randj>CR时,vi,j为候选解vi的第j维仍然取当前解xi,j的第j维。
所述的动态调整交叉概率CR的策略,使得算法能够根据具体优化问题的不同而自适应的调整并增强算法的鲁棒性;
所述的动态调整交叉概率CR如公式(10):
其中,代表正态分布,均值是标准差是0.1;代表上一代所有个体使用CR成功更新时使用的CR的均值,在迭代中按照公式(11)动态调整:
其中,SCR表示所有获得成功更新的个体使用的参数CR,算法开始时,CR设置初值0.3;随后,CR的值随着算法不断迭代而动态调整。
所述的惩罚函数是一类约束函数,对于约束非线性规划问题:
形如式(13)的约束函数称为惩罚函数,其中的M叫惩罚因子;
所述的约束优化问题可以描述为一个具有D维变量、M个约束条件的约束优化问题:
xjmin<xj<xjmax,j=1,2,...D (15)
其中,x=(x1,x2,...,xD)是解向量,f(x)是目标函数,gi(x)与hi(x)分别代表不等式与等式约束,xjmin与xjmax分别是xj的下界与上界。
所述的无约束性优化问题是通过惩罚函数法将焊接梁设计问题转换而来的,根据惩罚函数法,所述的约束优化问题转化为无约束优化问题:
公式(16)中,M是惩罚因子,σ是等式约束的容忍值。
用EABC-BB求解的过程包含:
对于进化种群中没有违反约束条件的个体x,由于这时所有约束条件都满足:
步骤S3.1、对于不等式约束,由于前面已经假设个体x满足所有约束条件,则必然满足所有不等式约束条件,即:g1(x)<0,g2(x)<0,…gn(x)<0,其中g1(x)<0,g2(x)<0,…gn(x)是约束不等式,n是不等式约束条件的个数,显然,由于g1(x)<0,则0与g1(x)二者中最大者是0,从而可得max(0,g1(x))=0,其中的max是求最大值函数;
同理可得,max(0,g2(x))=0,max(0,g3(x))=0,…max(0,gn(x))=0
从而可得
步骤S3.2、由于前面假设x满足所有约束条件,也即满足所有等式约束条件:h1(x)=0,h2(x)=0,…hn(x)=0,其中n是等式约束条件的个数;
由于h1(x)=0,因此|h1(x)|-σ<0,其中σ称为等式约束的容忍值,是一个预先定义的正常数,进一步得到:在0与|h1(x)|-σ二者中,0是最大值,因此可得max(0,|h1(x)|-σ)=0,其中的max是求最大值函数;
同理,可以得到:
max(0,|h2(x)|-σ)=0,max(0,|h3(x)|-σ)=0,…,max(0,|hn(x)|-σ)=0因此得到:其中n是等式约束条件的个数;
综合步骤S3.1、S3.2,可得如下公式:
对于没有违反约束条件的个体x,加入惩罚项以后的惩罚函数值F(x)与原来的函数值f(x)相等,对于没有违反约束条件的个体x,惩罚项不起任何作用;对于违反约束条件的个体x,由于违反了约束条件,其惩罚项>0,会导致该个体的惩罚函数值F(x)大于原来函数值f(x),使得该个体在进化中由于惩罚函数值较差而被逐步淘汰。
用EABC-BB求解的过程包含:
对于进化种群中没有违反约束条件的个体x,由于这时所有约束条件都满足。
对于违反约束条件的个体x:
步骤S4.1、若x违反了某个不等式约束条件gi(x),则必然导致gi(x)>0,从而使得max(0,gi(x))=gi(x)>0,进一步得到
步骤S4.2、如果违反了某个等式约束条件hi(x),必然使得hi(x)≠0,也即|hi(x)|>0,由于等式约束容忍值σ是一个正常数,可以看成σ≈0,因此|hi(x)|-σ>0,从而推得max(0,|hi(x)|-σ)=|hi(x)|-σ>0;
只有当x违反等式约束条件hi(x)超过σ时,才会施加惩罚;如果hi(x)违反约束较轻微,此时|hi(x)|-σ<0,从而使得max(0,|hi(x)|-σ)=0,因此认为x没有违反约束不加惩罚;
综合S4.1、S4.2,如果某个个体x违反了不等式约束条件或者等式约束条件,都会导致公式(16)中的惩罚项大于0,从而使得该个体在原来函数值f(x)基础上,加上了一个正的惩罚值,使得该个体的适应度降低,从而在进一步的进化中被逐步淘汰。
本发明与现有技术相比,具有以下优点:
1、融合三角搜索策略和混合差分人工蜂群算法(EABC-BB),产生一个服从高斯分布的候选解,能够避免陷入局部最优解有利于抑制算法早熟收敛。
2、动态调整交叉概率增强算法适应不同问题的能力。
3、惩罚函数法转将焊接梁设计问题转换成无约束优化问题从而能够使用EABC-BB算法求得最优解。
附图说明
图1为本发明一种基于混合差分人工蜂群算法的焊接梁设计方法的流程图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1所示,本发明一种基于混合差分人工蜂群算法的焊接梁设计方法,该方法在开采能力、早熟收敛问题、适应能力、求解焊接梁设计问题效果等方面有着明显优化和提升。该检测方法包含以下过程:
步骤S1、融合混合差分人工蜂群算法(ABC-BB)和三角搜索策略形成EABC-BB算法,克服其它算法容易陷入局部最优解导致早熟收敛的缺点;
步骤S2、EABC-BB算法在ABC-BB算法的基础上根据三角搜索策略产生高斯分布候选解;
步骤S3、在S2的基础上,根据前一代的成功搜索经验动态调整交叉概率CR,增强算法适应解决不同问题的能力;
步骤S4、采用惩罚函数方法将焊接梁设计问题转化为无约束优化问题;
步骤S5、用EABC-BB算法求解焊接梁设计问题所转化的无约束优化问题。
本实例中,上述的方法是通过一种基于混合差分人工蜂群算法的焊接梁设计优化算法来实现,该算法设有参数与函数评价次数,算法设计包含以下步骤:建立所述EABC-BB算法模型,所述EABC-BB是混合差分人工蜂群算法(ABC-BB)并结合了三角搜索策略形成的EABC-BB算法,ABC-BB算法是结合了差分进化算法(DE)的蜂群算法(ABC)形成的改进的蜂群算法。
所述的ABC算法中,人工蜂群包含了3种不同类型的蜜蜂:雇佣蜂、观察蜂以及侦察蜂,ABC采用一个随机生成的群体开始迭代搜索;设食物源的规模为SN,其中,食物源xi=(xi1,xi2,…,xiD)代表一个候选解,首先按照公式(1)生成SN个初始解;
其中,i=1,2,…,SN,j=1,2,…,D.D是变量的维数.xj L与xj U分别是第j维的下界与上界,算法开始迭代之后,ABC根据蜜蜂的类型将搜索过程分为3个阶段:
步骤S1.1、雇佣蜂阶段:每只雇佣蜂在对应的食物源xi处根据公式(2)生成一个候选解vi=(vi1,vi2,...,viD),若vi的适应值比xi的适应值更优,则用vi替换xi
vi,j=xi,ji,j(xi,j-xk,j) (2)
其中,是[-1,1]之间的随机数,k∈{1,2,…,SN}是随机选择的一个食物源,且k≠i,j∈{1,2,…,D}是随机选择的一个维度;
步骤S1.2、观察蜂阶段:在所有雇佣蜂完成勘探之后,观察蜂按照公式(3)定义的概率随机选择一个食物源i进一步开采:
其中,fiti是食物源xi的适应度值.从公式(3)可见,食物源的适应度值越大,被观察蜂选中的概率越高.其中,fiti按公式(4)计算:
在公式(4)中,fi是第i个解的目标函数值;
步骤S1.3、侦察蜂阶段:当雇佣蜂对应的食物源经过limit次未更新,说明该食物源已被开采耗尽;这种情况下,重新随机初始化一个新食物源代替xi;
所述的DE算法中,差分进化(DE)是一种利用NP个D维参数向量的并行直接搜索方法,参数形式如下:
xi,G,i=1,2...NP
DE的基本策略可以描述如下:
步骤S2.1、突变。对于每个目标矢量xi,G,i=1,2...NP,一个突变载体是根据公式(5)中计算:
随机索引r1,r2,r3∈{1,2,…,NP},且为整数,相互不同且F>0。随机选择的整数r1,r2和r3的选择与个体i不同。F是控制微分变异放大的实数常数因子范围为[0,2]。
步骤S2.2、交叉。为了增加扰动参数向量的多样性,引入了交叉。为此,试用矢量如公式(6)所示:
ui,G+1=(u1i,G+1,u2i,G+1,...,uDi,G+1) (6)
公式(7)中:
j={1,2,…,D}. (7)
在公式(7)中,randb(j)是统一的随机数发生器的第j个评估,其结果为[0,1]。CR是交叉常数必须由用户决定范围为[0,1]。rnbr(i)是随机选择的索引在{1,2,…,D}中能够确保ui,G+1从vi,G+1中获取至少一个参数;
步骤S2.3、选择。为了决定ui,G+1是否应该成为G+1代种群的成员,使用贪婪准则将试验向量ui,G+1与目标向量xi,G进行比较。如果向量ui,G+1比xi,G产生更小的代价函数值;那么xi,G+1被设置为ui,G+1;否则,旧值xi,G被保留。
所述的三角搜索策略是指在ABC-BB算法的观察蜂阶段搜索公式基础上,从种群中适应度最好的比例为p的个体中随机选择一个精英解xe,与xi,xbest合作产生新的候选解vi,以三者的平均值作为均值,以三者差的绝对值的均值作为标准差,产生一个服从高斯分布的候选解;
所述的ABC-BB观察蜂阶段搜索公式如公式(8):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j)/2,标准差是|xi,j-xbest,j|,randj是第j维生成的[0,1]之间的随机数,CR是交叉概率,公式第二行的含义是当randj>CR的时候,vi,j仍然保留当前个体xi的第j维,xbest是全局最优解;
所述的服从高斯分布的候选解如公式(9):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j+xe,j)/3,标准差是(|xi,j-xbest,j|+|xbest,j-xe,j|+|xe,j-xi,j|)/3,randj表示在第j维生成的[0,1]之间的随机数;公式第二行的含义表示当randj>CR时,vi,j为候选解vi的第j维仍然取当前解xi,j的第j维。
所述的动态调整交叉概率CR的策略,使得算法能够根据具体优化问题的不同而自适应的调整,增强算法的鲁棒性;
所述的动态调整交叉概率CR如公式(10):
其中,代表正态分布,均值是标准差是0.1;代表上一代所有个体使用CR成功更新时使用的CR的均值,在迭代中按照公式(11)动态调整:
式(11)中,SCR表示所有获得成功(Success)更新的个体使用的参数CR,算法开始时,CR设置初值0.3;随后,CR的值随着算法不断迭代而动态调整。所述的惩罚函数是一类约束函数,对于约束非线性规划问题:
它的形如式(13)的约束函数称为惩罚函数,其中的M叫惩罚因子(或罚参数);
所述的约束优化问题可以描述为一个具有D维变量、M个约束条件的约束优化问题:
xjmin<xj<xjmax,j=1,2,...D (15)
其中,x=(x1,x2,...,xD)是解向量,f(x)是目标函数,gi(x)与hi(x)分别代表不等式与等式约束。xjmin与xjmax分别是xj的下界与上界;
所述的无约束性优化问题是通过惩罚函数法将焊接梁设计问题转换而来的,根据惩罚函数法,权力要求(5)中的约束优化问题可以转化为无约束优化问题:
公式(16)中,M是惩罚因子,σ是等式约束的容忍值。
公式(16)如何把带约束优化的焊接梁设计问题,转化为无约束优化问题,从而可以利用EABC-BB求解的过程可分为两种情况:
(1)对于进化种群中没有违反约束条件的个体x,由于这时所有约束条件都满足,下面分别从不等式约束与等式约束方面进行分析:
步骤S3.1、对于不等式约束,由于前面已经假设个体x满足所有约束条件,则必然满足所有不等式约束条件,即:g1(x)<0,g2(x)<0,…gn(x)<0,其中g1(x)<0,g2(x)<0,…gn(x)是约束不等式,n是不等式约束条件的个数。显然,由于g1(x)<0,则0与g1(x)二者中最大者是0,从而可得max(0,g1(x))=0,其中的max是求最大值函数。
同理可得,max(0,g2(x))=0,max(0,g3(x))=0,…max(0,gn(x))=0从而可得
步骤S3.2、由于前面假设x满足所有约束条件,也即满足所有等式约束条件:h1(x)=0,h2(x)=0,…hn(x)=0,其中n是等式约束条件的个数。
由于h1(x)=0,因此|h1(x)|-σ<0,其中σ称为等式约束的容忍值,是一个很小的预先定义的正常数。显然,可以进一步得到:在0与|h1(x)|-σ二者中,0是最大值,因此可得max(0,|h1(x)|-σ)=0,其中的max是求最大值函数。
同理,可以得到:
max(0,|h2(x)|-σ)=0,max(0,|h3(x)|-σ)=0,…,max(0,|hn(x)|-σ)=0
因此得到:其中n是等式约束条件的个数。
综合S3.1、S3.2步骤,可得公式(16):
可见,对于没有违反约束条件的个体x,加入惩罚项以后的惩罚函数值F(x)与原来的函数值f(x)相等。换句话说,对于没有违反约束条件的个体x,惩罚项不起任何作用。后面我们可以看到,对于违反约束条件的个体x,由于违反了约束条件,其惩罚项会导致该个体的惩罚函数值F(x)大于原来函数值f(x),从而使得该个体在进化中由于惩罚函数值较差而被逐步淘汰,这样一方面使得违反约束条件的个体仍然有进一步进化的机会,另一方面由于该个体得到了惩罚,会在进化中处于劣势,因此会导致没有违反约束条件的个体逐渐占优势。
(2)对于违反约束条件的个体x.根据前面的分析:
步骤S4.1、若x违反了某个不等式约束条件gi(x),则必然导致gi(x)>0,从而使得max(0,gi(x))=gi(x)>0,进一步得到
步骤S4.2、如果违反了某个等式约束条件hi(x),必然使得hi(x)≠0,也即|hi(x)|>0,由于等式约束容忍值σ是一个很小的正常数,可以看成σ≈0,因此当|hi(x)|较大时,|hi(x)|-σ>0,从而推得max(0,|hi(x)|-σ)=|hi(x)|-σ>0.而当|hi(x)|较小时,也即x违反约束条件|hi(x)|较轻时,由于|hi(x)|-σ<0,从而使得max(0,|hi(x)|-σ)=0.换句话说,只有当x违反等式约束条件hi(x)超过σ时,才会施加惩罚,当违反等式约束hi(x)较轻时,认为x没有违反约束(即可以容忍),不加惩罚。
综合S4.1、S4.2,如果某个个体x违反了不等式约束条件或者等式约束条件,都会导致公式(16)中的惩罚项大于0,从而使得该个体在原来函数值f(x)基础上,加上了一个正的惩罚值,使得该个体的适应度降低,从而在进一步的进化中被逐步淘汰。参数M为惩罚因子,如果M取很大的数值,则即使个体x违反约束条件比较轻微,也会导致惩罚值很大,从而导致该个体在进化中被淘汰的几率增大。
对于违反约束条件的个体,之所以通过施加惩罚项,而不是直接淘汰,是由于该个体可能仅违反了若干约束条件中的一个,如果直接淘汰,会导致该个体中的合理的值也被淘汰。而通过施加惩罚项,当该个体违反约束条件时得到了惩罚,会促使该个体向符合约束条件的区域移动,从而将该个体改造成符合约束条件的解。
综合(1)、(2)两种情况,通过施加惩罚项,公式(16)将约束条件优化问题转化为无约束条件优化问题。
所述的焊接梁设计问题是优化领域广泛采用的实际工程优化问题,这个问题是一个难以求解的非线性优化问题,具有大量的局部最优点,而且具有复杂的约束条件;由于EABC-BB最初是为解决无约束优化问题而提出的,因而可用于求解该约束优化问题;最后实验中,EABC-BB求解焊接梁问题,运行算法得出最好的解。
优选地,所述的焊接梁设计问题是优化领域广泛采用的实际工程优化问题,这个问题是一个难以求解的非线性优化问题,具有大量的局部最优点,而且具有复杂的约束条件。由于EABC-BB最初是为解决无约束优化问题而提出的,因而可用于求解该约束优化问题。
焊接梁设计问题目的是最小化总的制造代价,数学模型描述如下:
x=[x1,x2,x3,x4]=[h,l,t,b]
Minimize:
Subject to:
g1(x)=τ(x)-τmax≤0
g2(x)=σ(x)-σmax≤0
g3(x)=δ(x)-δmax≤0
g4(x)=x1-x4≤0
g5(x)=P-Pc(x)≤0
g6(x)=0.125-x1≤0
变量取值范围:
0.1≤x1≤2
0.1≤x2≤10
0.1≤x3≤10
0.1≤x1≤2
其中,
P=6000lb,L=14in,δmax=0.25in.,E=30×106,G=12×106,τmax=13600psi,σmax=30000psi所述的惩罚函数法是在不合格的解中加上一个惩罚项使得某些只有某一维上违反约束的不合格解不会被放弃能够继续迭代,从而避免了种群中合格的解越来越少的问题,同时得到质量较差的解进而使得未违反约束的解成为好解,逐渐淘汰这些质量较差的解。即将约束性优化问题转换成了无约束优化问题。根据惩罚函数法,上述约束优化问题可以转化为无约束优化问题:
其中,M是惩罚因子,σ是等式约束的容忍值。
最后实验中,EABC-BB求解焊接梁问题,运行算法得出最好的解。
本发明中,为检测基于混合差分人工蜂群算法的焊接梁设计算法的性能,进行了相关实验。EABC_elite采用上述惩罚函数法求解焊接梁问题,参数设置;SN=30,limit=SN×D;p=0.1,M=1010.最大函数评价次数max_Fes=12×104,算法共运行30次。
表1EABC-BB算法与国际最新算法结果对比表
从表1对比可以看出,显然本文提出的算法得到了更好的结果,本发明在焊接梁设计问题求解中得到了制造代价最小的解。总体而言,本发明在功能和性能上都优于其他比较的方案。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (8)

1.一种基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,包含以下过程:
步骤S1、融合混合差分人工蜂群算法和三角搜索策略形成EABC-BB算法,克服其它算法容易陷入局部最优解导致早熟收敛的缺点;
步骤S2、EABC-BB算法在混合差分人工蜂群算法的基础上,根据三角搜索策略产生高斯分布候选解;
步骤S3、在S2的基础上,根据前一代的成功搜索经验动态调整交叉概率CR,增强算法适应解决不同问题的能力;
步骤S4、采用惩罚函数方法将焊接梁设计问题转化为无约束优化问题;
步骤S5、用EABC-BB算法求解焊接梁设计问题所转化的无约束优化问题。
2.如权利要求1所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,所述的混合差分人工蜂群算法是基于人工蜂群算法结合以差分进化算法形成的;
所述的人工蜂群算法中人工蜂群包含了3种不同类型的蜜蜂:雇佣蜂、观察蜂以及侦察蜂,人工蜂群算法采用一个随机生成的群体开始迭代搜索;设食物源的规模为SN,其中,食物源xi=(xi1,xi2,…,xiD)代表一个候选解,首先按照公式(1)生成SN个初始解;
其中,i=1,2,…,SN,j=1,2,…,D.D是变量的维数.xj L与xj U分别是第j维的下界与上界,算法开始迭代之后,人工蜂群算法根据蜜蜂的类型将搜索过程分为3个阶段:
步骤S1.1、雇佣蜂阶段:每只雇佣蜂在对应的食物源xi处根据公式(2)生成一个候选解vi=(vi1,vi2,...,viD),若vi的适应值比xi的适应值更优,则用vi替换xi
vi,j=xi,ji,j(xi,j-xk,j) (2)
其中,是[-1,1]之间的随机数,k∈{1,2,…,SN}是随机选择的一个食物源,且k≠i,j∈{1,2,…,D}是随机选择的一个维度;
步骤S1.2、观察蜂阶段:在所有雇佣蜂完成勘探之后,观察蜂按照公式(3)定义的概率随机选择一个食物源i进一步开采:
在式(3)中,fiti是食物源xi的适应度值.从上述公式可见,食物源的适应度值越大,被观察蜂选中的概率越高;其中,fiti按公式(4)计算:
在公式(4)中,fi是第i个解的目标函数值;
步骤S1.3、侦察蜂阶段:当雇佣蜂对应的食物源经过limit次未更新,说明该食物源已被开采耗尽;这种情况下,重新随机初始化一个新食物源代替xi
所述的差分进化算法中差分进化是一种利用NP个D维参数向量的并行直接搜索方法,参数形式如下:
xi,G,i=1,2...NP
差分进化的基本策略可以描述如下:
步骤S2.1、对于每个目标矢量xi,G,i=1,2...NP,一个突变载体是根据公式(5)计算:
其中,随机索引r1,r2,r3∈{1,2,…,NP}并且为整数,相互不同且F>0,随机选择的整数r1,r2和r3的选择与行程索引i不同,其中F是控制微分变异放大的实数常数因子范围为[0,2];
步骤S2.2、通过交叉增加扰动参数向量的多样性,为此,试用矢量如公式(6)所示:
ui,G+1=(u1i,G+1,u2i,G+1,…,uDi,G+1) (6)
公式(6)中:
在公式(7)中,randb(j)是统一的随机数发生器的第j个评估,其结果为[0,1],CR是交叉常数必须由用户决定范围为[0,1],rnbu(i)是随机选择的索引在{1,2,…,D}中能够确保ui,G+1从vi,G+1中获取至少一个参数;
步骤S2.3、为了决定ui,G+1是否应该成为G+1的成员,使用贪婪准则将试验向量ui,G+1与目标向量xi,G进行比较,如果向量ui,G+1比xi,G产生更小的代价函数值,那么xi,G+1被设置为ui,G+1,从而使得ui,G+1成为第G+1代种群成员;否则,旧值xi,G被保留。
3.如权利要求2所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,所述的三角搜索策略是指在ABC-BB算法的观察蜂阶段搜索公式基础上,从种群中适应度最好的比例为p的个体中随机选择一个精英解xe,与xi,xbest合作产生新的候选解vi,以三者的平均值作为均值,以三者差的绝对值的均值作为标准差,产生服从高斯分布的候选解;
所述的ABC-BB观察蜂阶段搜索公式如公式(8):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j)/2,标准差是|xi,j-xbest,j|,randj是第j维生成的[0,1]之间的随机数,CR是交叉概率,公式第二行的含义是当randj>CR的时候,vi,j仍然保留当前个体xi的第j维,xbest是全局最优解;
所述的服从高斯分布的候选解如公式(9):
其中,N(·)表示高斯分布,均值是(xi,j+xbest,j+xe,j)/3,标准差是(|xi,j-xbest,j|+|xbest,j-xe,j|+|xe,j-xi,j|)/3,randj表示在第j维生成的[0,1]之间的随机数;公式第二行的含义表示当randj>CR时,vi,j为候选解vi的第j维仍然取当前解xi,j的第j维。
4.如权利要求3所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,所述的动态调整交叉概率CR的策略,使得算法能够根据具体优化问题的不同而自适应的调整并增强算法的鲁棒性;
所述的动态调整交叉概率CR如公式(10):
其中,代表正态分布,均值是标准差是0.1;代表上一代所有个体使用CR成功更新时使用的CR的均值,在迭代中按照公式(11)动态调整:
其中,SCR表示所有获得成功更新的个体使用的参数CR,算法开始时,
CR设置初值0.3;随后,CR的值随着算法不断迭代而动态调整。
5.如权利要求4所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,所述的惩罚函数是一类约束函数,对于约束非线性规划问题:
形如式(13)的约束函数称为惩罚函数,其中的M叫惩罚因子;
所述的约束优化问题可以描述为一个具有D维变量、M个约束条件的约束优化问题:
xjmin<xj<xjmax,j=1,2,...D (15)
其中,x=(x1,x2,...,xD)是解向量,f(x)是目标函数,gi(x)与hi(x)分别代表不等式与等式约束,xjmin与xjmax分别是xj的下界与上界。
6.如权利要求5所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,所述的无约束性优化问题是通过惩罚函数法将焊接梁设计问题转换而来的,根据惩罚函数法,所述的约束优化问题转化为无约束优化问题:
公式(16)中,M是惩罚因子,σ是等式约束的容忍值。
7.如权利要求6所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,用EABC-BB求解的过程包含:
对于进化种群中没有违反约束条件的个体x,这时所有约束条件都满足,分别对不等式约束、等式约束进行讨论如下:
步骤S3.1、对于不等式约束,由于前面已经假设个体x满足所有约束条件,则必然满足所有不等式约束条件,即:g1(x)<0,g2(x)<0,…gn(x)<0,其中g1(x)<0,g2(x)<0,…gn(x)是约束不等式,n是不等式约束条件的个数,显然,由于g1(x)<0,则0与g1(x)二者中最大者是0,从而可得max(0,g1(x))=0,其中的max是求最大值函数;
同理可得,max(0,g2(x))=0,max(0,g3(x))=0,…max(0,gn(x))=0
从而可得
步骤S3.2、由于前面假设x满足所有约束条件,也即满足所有等式约束条件:h1(x)=0,h2(x)=0,…hn(x)=0,其中n是等式约束条件的个数;
由于h1(x)=0,因此|h1(x)|-σ<0,其中σ称为等式约束的容忍值,是一个预先定义的正常数,进一步得到:在0与|h1(x)|-σ二者中,0是最大值,因此可得max(0,|h1(x)|-σ)=0,其中的max是求最大值函数;
同理,可以得到:
max(0,|h2(x)|-σ)=0,max(0,|h3(x)|-σ)=0,…,max(0,|hn(x)|-σ)=0因此得到:其中n是等式约束条件的个数;
综合步骤S3.1、S3.2,可得如下公式:
总之,对于没有违反约束条件的个体x,加入惩罚项以后的惩罚函数值F(x)与原来的函数值f(x)相等,对于没有违反约束条件的个体x,惩罚项不起任何作用;对于违反约束条件的个体x,由于违反了约束条件,其惩罚项>0,会导致该个体的惩罚函数值F(x)大于原来函数值f(x),使得该个体在进化中由于加入惩罚函数值而被逐步淘汰。
8.如权利要求6所述的基于混合差分人工蜂群算法的焊接梁设计方法,其特征在于,用EABC-BB求解的过程包含:
对于进化种群中没有违反约束条件的个体x,由于这时所有约束条件都满足:
对于违反约束条件的个体x:
步骤S4.1、若x违反了某个不等式约束条件gi(x),则必然导致gi(x)>0,从而使得max(0,gi(x))=gi(x)>0,进一步得到
步骤S4.2、如果违反了某个等式约束条件hi(x),必然使得hi(x)≠0,也即|hi(x)|>0,由于等式约束容忍值σ是一个正常数,可以看成σ≈0,因此|hi(x)|-σ>0,从而推得max(0,|hi(x)|-σ)=|hi(x)|-σ>0;
可以看出,只有当x违反等式约束条件hi(x)超过σ时,才会施加惩罚;如果hi(x)违反约束较轻微,此时|hi(x)|-σ<0,从而使得max(0,|hi(x)|-σ)=0,因此认为x没有违反约束不加惩罚;
综合S4.1、S4.2,如果某个个体x违反了不等式约束条件或者等式约束条件,都会导致公式(16)中的惩罚项大于0,从而使得该个体在原来函数值f(x)基础上,加上了一个正的惩罚值,使得该个体的适应度降低,从而在进一步的进化中被逐步淘汰,通过加入惩罚项,使得违反约束条件的个体仍然有进化的机会,而加入惩罚项,则迫使这些违反约束条件的个体逐步向可行区域靠拢。
CN201810558311.8A 2018-06-01 2018-06-01 一种基于混合差分人工蜂群算法的焊接梁设计方法 Pending CN108829957A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810558311.8A CN108829957A (zh) 2018-06-01 2018-06-01 一种基于混合差分人工蜂群算法的焊接梁设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810558311.8A CN108829957A (zh) 2018-06-01 2018-06-01 一种基于混合差分人工蜂群算法的焊接梁设计方法

Publications (1)

Publication Number Publication Date
CN108829957A true CN108829957A (zh) 2018-11-16

Family

ID=64145512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810558311.8A Pending CN108829957A (zh) 2018-06-01 2018-06-01 一种基于混合差分人工蜂群算法的焊接梁设计方法

Country Status (1)

Country Link
CN (1) CN108829957A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111781920A (zh) * 2019-11-26 2020-10-16 北京京东乾石科技有限公司 自动驾驶方法、装置和存储介质
CN112434398A (zh) * 2019-08-26 2021-03-02 富士通株式会社 组合优化设备、组合优化方法以及计算机可读记录介质
CN112949207A (zh) * 2021-03-25 2021-06-11 上海电机学院 一种基于改进最小二乘支持向量机的短期负荷预测方法
CN113407896A (zh) * 2021-06-15 2021-09-17 电子科技大学 一种核电阀门寿命试验中的最佳应力和样本分配确定方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434398A (zh) * 2019-08-26 2021-03-02 富士通株式会社 组合优化设备、组合优化方法以及计算机可读记录介质
CN111781920A (zh) * 2019-11-26 2020-10-16 北京京东乾石科技有限公司 自动驾驶方法、装置和存储介质
CN112949207A (zh) * 2021-03-25 2021-06-11 上海电机学院 一种基于改进最小二乘支持向量机的短期负荷预测方法
CN113407896A (zh) * 2021-06-15 2021-09-17 电子科技大学 一种核电阀门寿命试验中的最佳应力和样本分配确定方法
CN113407896B (zh) * 2021-06-15 2022-10-14 电子科技大学 一种核电阀门加速寿命试验中的最佳应力和样本分配确定方法

Similar Documents

Publication Publication Date Title
CN108829957A (zh) 一种基于混合差分人工蜂群算法的焊接梁设计方法
CN108846472A (zh) 一种自适应遗传粒子群混合算法的优化方法
CN105676649A (zh) 一种基于自组织神经网络的污水处理过程控制方法
CN105955930A (zh) 引导型策略搜索强化学习算法
JP2022528657A (ja) 多目的原油混合用オンライン最適化方法
CN109215344B (zh) 用于城市道路短时交通流量预测的方法和系统
CN109325580A (zh) 一种用于服务组合全局优化的自适应布谷鸟搜索方法
CN105843036A (zh) 一种基于神经网络的污水处理过程控制方法
CN108573274A (zh) 一种基于数据稳定性的选择性聚类集成方法
CN108765228A (zh) 一种计算机自适应私教学习方法
CN110942175B (zh) 基于烟花爆炸人工蜂群算法的大规模电力系统经济调度问题优化方法
CN110008332A (zh) 通过强化学习提取主干词的方法及装置
CN101819408B (zh) 一种基于数据驱动的差别化纤维纺丝工艺交互式设计方法
CN104392317A (zh) 一种基于遗传文化基因算法的项目调度方法
Nawa et al. Fuzzy logic controllers generated by pseudo-bacterial genetic algorithm with adaptive operator
Huang et al. Study on the Application of Fuzzy TOPSIS to the Multi-objective Decision Making
CN114298376A (zh) 一种基于启发式离散人工蜂群算法的软件项目调度方法
CN105701542A (zh) 一种基于多局部搜索的神经网络进化方法
CN115511052A (zh) 一种神经网络搜索方法、装置、设备及存储介质
López-Herrera et al. Applying multi-objective evolutionary algorithms to the automatic learning of extended Boolean queries in fuzzy ordinal linguistic information retrieval systems
CN109447231A (zh) 蚁群算法求解共享经济背景下多属性双边匹配问题的方法
CN112785376B (zh) 一种基于多任务学习的多领域推荐方法
CN111985598A (zh) 一种分布式电源的配置方法
CN111273545A (zh) 基于多群多选择交流策略的quatre算法的自动寻优控制方法
Li et al. Research on intelligent volume algorithm based on improved genetic annealing algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181116

RJ01 Rejection of invention patent application after publication