改进
约束
人工
蜂群
算法
金融
应用
支俊阳
Computer Engineering and Applications计算机工程与应用2023,59(7)约束优化问题广泛存在于生活及工程优化中,例如:减速器设计1-4、焊接梁设计、拉压弹簧设计、压力容器设计、投资组合优化等问题。对于这类问题的求解通常是将其转化为数学模型,从而利用各种优化方法在多种解决方案中找出最优解决方案,以便决策者选择。约束优化问题常被构建为如下模型:min f()xs.t.|gi()x 0,i=1,2,mhi()x 0,j=m+1,m+2,nLdxdUd,d=1,2,D(1)其中,D是问题的维数,gi()x,i=1,2,m为不等式约束;Ld、Ud为搜索空间的上下界;hi()x,j=m+1,m+2,n为等式约束。由于智能优化算法具有不依赖梯度信息,且无需设置初值等信息的优点,被广泛应用于约束优化问题的求解中。人工蜂群(artificial bee colony,ABC)算法是Karaboga5于 2005年提出的一种基于仿生学的群智能优化算法,其具有参数较少、结构简单、鲁棒性好等优点,但利用原始的人工蜂群算法求解约束优化问题时具有一定的局限性。近年来,学者们对人工蜂群算法进行改进约束人工蜂群算法及金融应用支俊阳1,王贞1,2,崔轲轲11.北方民族大学 数学与信息科学学院,银川 7500212.咸阳师范学院 数学与统计学院,陕西 咸阳 712000摘要:为了有效求解约束优化问题,提出一种改进人工蜂群算法。该算法引入Pareto支配准则提高算法探索能力,避免算法早熟。在雇佣蜂阶段,通过识别种群当前状态自适应选取搜索方程与约束处理策略,引导种群快速进入可行区域。在跟随蜂阶段,利用全局最优解引导种群进行搜索,提高算法开发能力。通过对CEC 2006中20个测试函数实验结果分析表明,该算法能够有效求解约束优化问题。进而,将该算法应用于求解投资组合优化问题,通过数值实验说明该算法是求解投资组合优化问题的有效算法,可以用于求解此类金融问题。关键词:约束优化;改进人工蜂群算法;可行性规则;Pareto支配;投资组合优化文献标志码:A中图分类号:TP301.6doi:10.3778/j.issn.1002-8331.2111-0031Improved Constrained Artificial Bee Colony Algorithm and Its Financial ApplicationZHI Junyang1,WANG Zhen1,2,CUI Keke11.School of Mathematics and Information Science,North Minzu University,Yinchuan 750021,China2.School of Mathematics and Statistics,Xianyang Normal University,Xianyang,Shaanxi 712000,ChinaAbstract:An improved artificial bee colony algorithm is proposed for constrained optimization problems.The Paretodominate criterion is introduced to improve the exploration ability of the algorithm and avoid the premature convergenceof the algorithm.In the employed bee stage,the searching equations and constraint handling strategies are selectedadaptively by identifying the current state of the population,which can guide the population into the feasible region quickly.In the onlooker bee stage,the global optimal solution is used for guiding the population searching,which can improve theexploitation ability of the algorithm.Experimental results on 20 benchmark test functions in CEC 2006 show that thisalgorithm can effectively solve constrained optimization problems.Furthermore,the portfolio optimization problems aresolved by this algorithm.The numerical experiments show the effectiveness of this algorithm for portfolio optimizationproblems,which can solve this kind of financial problem effectively.Key words:constrained optimization;improved artificial bee colony algorithm;feasibility rule;Pareto dominationapproach;portfolio optimization基金项目:国家社会科学基金(20BTJ026);宁夏自然科学基金(2019AAC03131);北方民族大学研究生创新项目(YCX21165)。作者简介:支俊阳(1997),女,硕士研究生,研究方向为智能计算;王贞(1983),通信作者,女,博士,教授,CCF会员,研究方向为智能计算、金融数学等,E-mail:;崔轲轲(1997),女,硕士研究生,研究方向为金融统计与风险管理。收稿日期:2021-11-02修回日期:2022-01-20文章编号:1002-8331(2023)07-0302-093022023,59(7)改进并将其应用于各个领域已成为一种趋势。2017年,Liang等6针对全局引导人工蜂群算法过早收敛问题,提出了一种改进的人工蜂群算法(I-ABC),通过基于排序的选择方式和当前最优解引导平衡算法的开发与探索能力。Bansal等7针对GABC算法易过早收敛的问题,通过结合基于个体运动适应度概率的概念对GABC算法的雇佣蜂和跟随蜂阶段进行改进,提出了改进的GABC算法(MGABC)。2018年,Gao等8为了解决模糊投资组合优化问题,通过结合方向学习和精英学习提出了一种新的基于人工蜂群机制的算法(LL-ABC)。2021年,李文霞等9提出一种改进的人工蜂群算法,在雇佣蜂与跟随蜂阶段使用两种组合策略并使用不同的更新机制平衡算法的勘探和开采能力。陈兰等10针对人工蜂群算法开发能力弱、收敛速度慢、易陷入局部最优等缺陷,提出一种极值个体引导的人工蜂群算法,使用全局极值与局部极值引导算法进行搜索,避免算法早熟。以往研究表明,对于求解约束优化问题,研究者们通常利用可行性规则保留较优个体。这种约束处理方式会忽略搜索过程中发现的较优不可行个体信息,造成搜索资源的浪费。尤其当最优解位于可行区域边界时,算法难以收敛到最优值,会造成早熟现象。其次,在雇佣蜂阶段更新种群个体时,大多的改进算法,如文献7-10中仅使用一种策略来自适应调整种群位置,帮助种群靠近最优解。但这种单一策略较难精准识别种群当前状态并作出相应的调整,并且在提高算法收敛精度的同时维持种群多样性方面仍具有较大的改进空间。为了解决上述问题,本文提出一种改进的人工蜂群(improve artificial bee colony,IABC)算法求解约束优化问题。在雇佣蜂阶段,设计了两种不同的更新策略,分别使用Pareto支配准则和可行性规则选择个体。通过当前种群中的可行性比例准确识别种群当前所处的状态,并自适应地在这两种更新策略中进行选择,以提高算法收敛速度,避免算法早熟。在跟随蜂阶段,提出一种新的概率计算方式,有效识别较优个体,并利用最优个体引导提高算法的收敛精度。通过求解CEC 2006中20个测试函数,验证IABC算法的寻优能力。最后,通过两个投资组合优化问题数值实例实验结果表明,该算法能够有效求解模糊投资组合优化问题。1改进人工蜂群算法人工蜂群算法(ABC)是一种基于仿生学的群智能优化算法,通过模拟蜜蜂觅食行为将蜂群分为三类:雇佣蜂、跟随蜂、侦察蜂,通过对搜索区域进行一系列探索,找出具有最大花蜜量的蜜源。该算法具有并行计算、收敛速度快、控制参数少、原理简单等优点,能够有效的解决高度复杂的非线性优化问题,受到广大研究者的普遍关注。受动态混合框架(DyHF)11的启发,本文针对约束优化问题提出一种改进人工蜂群算法(IABC)。在该算法的雇佣蜂阶段,提出了两种不同的搜索方程和选择策略,并通过种群中不可行解比例动态调整。跟随蜂阶段,利用全局最优个体引导种群进行搜索并使用一种新的方式计算跟随蜂的选择概率。具体思路及流程如下。1.1初始化过程在 IABC算法中使用随机初始化方法生成初始种群,如下所示:xi,j=xjmin+rand()0,1()xjmax-xjmin(2)其中,i=1,2,SN,SN是食物源的数量,j=1,2,D,D是问题维数,xjmax、xjmin为搜索空间第j维的上下界。1.2约束处理策略在求解可行区域占搜索空间比例较小的约束优化问题时,位于可行区域边界的个体对搜索起着关键的作用,对这些个体进行开发可以引导种群进入可行区域。由于可行性规则过于严格,拒绝接受具有较好目标函数值且约束违反程度较小的个体,使得种群难以搜索到位于可行区域边界的个体,使算法极易陷入局部最优。在本文中,当种群中可行解较少时引入非支配准则,对具有较小目标函数值与较小约束违反程度的个体进一步开发,引导种群进入可行区域。当种群中可行个体较多时使用可行性规则处理约束,对种群中较优个体进行开发,寻找最优解。可行性规则与Pareto支配准则定义如下。定义1(可行性规则)12若xi优于xj,则必须满足下列条件之一:(1)conVi=conVj=0,且fi0;(3)conVi0,conVj0,且conViconVj。其中,conVi、conVj分别代表个体xi与xj的约束违反程度,fi、fj分别代表个体xi与xj的目标函数值。定义 2(Pareto支配准则)12若xi支配xj,即xixj,则必须满足下列条件:(1)fifj并且conViconVj,i,j1,2,SN;(2)fifj或者conViconVj,i,j1,2,SN。其中,conVi、conVj分别代表个体xi与xj的约束违反程度,fi、fj分别代表个体xi与xj的目标函数值。1.3雇佣蜂阶段在雇佣蜂阶段,IABC算法采用了两种不同的策略对搜索空间进行探索和开发,并利用当代种群不可行解比例在这两种策略中进行选择。两种搜索策略方程如式(3)和式(4)所示:vi,j=xi,j+F(xr1,j-xr2,j)+i,j(xbest,j-xi,j)(3)其中,xbest是当前子种群中的最优个体,j=1,2,D,F=0.5,r1,r21,2,SN,r1r2i,i,j-1,1。支俊阳,等:改进约束人工蜂群算法及金融应用303Computer Engineering and Applications计算机工程与应用2023,59(7)vi,j=xi,j+(xi,j-xk,j)(4)其中,k1,2,SN,ki,j1,2,D,-1,1。若种群中不可行解比例较大,则需要在搜索空间中探索更多可行解。这时在搜索空间中随机产生一个个体sol,计算种群Pt中每个个体与so