一种改进排球超级联赛算法在背包问题中的应用方法技术

技术编号:26845779 阅读:15 留言:0更新日期:2020-12-25 13:08
本发明专利技术涉及计算机智能领域,具体为一种改进后的排球超级联赛算法在经典0‑1背包问题中的应用方法。此方法包含以下步骤:S1、初始化所有队伍中队员的属性;S2、赛前相关准备和竞赛;S3、获胜的队伍落实胜出方策略,输的队伍落实队伍调整策略和知识分享策略;S4、所有的队伍落实学习阶段策略S5、判断整个赛季是否都已结束,若是,则结束算法;若否,重复S1至S4。本发明专利技术通过使用自适应因子、权重和柯西分布,对原有排球超级联赛算法进行改进,使得该方法在对于0‑1背包问题的求解中,收敛表现更优、所得解更精确有效。

【技术实现步骤摘要】
一种改进排球超级联赛算法在背包问题中的应用方法
本专利技术涉及计算机智能领域,具体涉及一种改进后的排球超级联赛算法在经典0-1背包问题中的应用方法。
技术介绍
NP难问题是目前计算机等研究领域的一大热点。生产生活中,NP难问题时常出现,且随着相关问题的层次结构不断复杂化,优化的难度也同时急剧升高。目前有很多的技术手段来可以用来尝试解决NP难问题。其中比较热门的一种技术是使用元启发式算法。这类算法一般是从某种群体(可以是生物群体、物理现象、化学反应等)上汲取灵感,研究的内容是这些群体之间的相互竞争或合作等共存形式。从这些形式中总结出经验公式,或者用数学理论准确合理地表达出来,以解决目标优化问题。当下元启发式算法层出不穷,比如蚁群算法、粒子群算法、模拟退火算法等。元启发式算法可以一般地分为五种,即物理类、化学类、生物类、生理类和其他。物理类的算法,有雨水算法、质量和能量平衡算法、水文循环算法等,以研究某些物理现象的表面或深层次原理为目标。化学类的算法,有化学反应优化算法等,以研究化学中出现的反应或现象的表面或内部规律为目标。生物类的算法,有蚁群、粒子群、磷虾群、鲸鱼算法等,以研究这些生物的某种习性或整体发展变化为目标。生理类的算法,有遗传算法、进化算法等,以研究某类生理特性和生理构造中的演变或周期规律为目标。所有不能分到上述四个种类中的算法都直接归类到其他条目中。目前国内外,不断有学者提出新颖的元启发式算法,或者改进某种现存较为成熟的元启发式算法,以提高算法的性能,比如全局搜索能力、鲁棒性等。工程领域中许多实际难题,可以建立优化模型进行求解以克服。所以,有些研究者将自身改进后的算法与实际应用场景结合,很好地解决了许多具有实际意义的优化问题。比如任勇等提出的《一种面向水下多智能体的Q学习蚁群路由方法》,其结合了强化学习和蚁群算法,综合调配了链路稳定性、节点的能量和深度等因素,使得节点的端到端延迟有效降低,使得数据递送率有效提高,也使得水下无线传感器网络的寿命得到延长。王华等通过调整策略,综合考虑了各节点的流量、能耗和延迟,提出《基于蚁群算法的网络探测优化方法》,从而达到整体网络节能的目的。苏毅珊等在《一种基于蚁群算法的水下传感器网络节点通信路径选择方法》中,改进了转发概率和信息素更新过程,使得整体网络能量得到均衡,同时也延长了网络的寿命。背包问题在很多工程领域都有应用,比如配电厂资源调度、货物运输调度、大工业用户用能的优化管理、电动汽车充电调度和泵站优化等。问题内容为,往一个容量为C(能放得下的物品重量不能超过C)的背包中装物品。现有一批物品,每个物品有两个属性,即重量和价格。在放进背包的物品重量总和不超过C的约束下,求解价格总和的最大值。排球超级联赛算法由RezaMoghdani等提出,是一种根据排球超级联赛中的比赛规则、队员的合作表现、教练的指导作用等因素,综合观察、科学总结,并以数学表达出来的元启发式算法。原有排球超级联赛算法在背包问题中的使用,存在两个问题,即收敛速率不够快、过早陷入局部最优而不能求得全局最优。
技术实现思路
本专利技术针对现有的排球超级联赛算法在背包问题中的使用时收敛速率不够快、过早陷入局部最优而不能求得全局最优的缺陷,提供一种改进排球超级联赛算法在背包问题中的应用方法,应用在0-1背包问题的解决场景中。本方法通过柯西分布、权重策略、改进的学习策略,对原算法进行改进,提高了算法的收敛速度和求解准确率,使得算法能有效地解决NP难问题,本专利技术的技术方案包括:本专利技术涉及的改进排球超级联赛算法主要由六个部分组成,分别为:初始化、竞赛、胜出者策略、队伍调整策略、学习阶段策略和知识分享策略。其中,初始化是将所有队伍中的每一位首发和候补队员的相关属性进行初始化。竞赛过程,是每个赛季中两两队伍之间进行的胜负比拼。每场竞赛由每个赛季单独合理地进行安排,即哪两个队伍之间进行比赛。胜出者策略,是对于每个赛季中每轮比赛的胜出方而言的。在比赛获得胜利后,胜出的队伍会落实这个策略,对自己的队伍进行相应的调整。队伍调整策略和知识分享策略都是对每个赛季每轮比赛中落败方而言的。在比赛结束后,失败的队伍,其教练会积极地与队员们沟通,并落实队伍调整策略和知识分享策略。具体地说,教练根据自己的丰富经验和现场的仔细观察,会做出一系列动作,包含对场上队员的位置进行合理调整;对场上队员和候补队员之间进行人员替换;向所有队员分享自己的可靠作战经验;合理布局并把控整个队伍赛场上的作战。对于所有队伍中的每一位队员,学习阶段策略都是要落实到位的,其目的是让每支队伍都能发挥出自己最好的水平。该策略的具体内容为,向目前场上表现最优秀的三支队伍进行学习,研究他们的作战方法和作战经验。这个过程主要也是由每支队伍所属的教练,或者教练聘请的场外专家来进行相关指导。S1、初始化所有队伍中队员的属性:整个比赛中,有指定数目的队伍参赛,而每支队伍都由队员和教练组成,而队员又包括场上队员和场下候补队员,在初始化所有队员的属性的过程中,我们视场上队员和场下候补队员是无差别的,故场上队员和场下候补队员在随机赋予属性数值的时候是一致的。在每位队员都有了自身的属性值后,我们先计算一次每支队伍的整体水平,用经过目标函数后的结果作为指标。其中,指标数值最好的队伍,被选作目前的最佳队伍。队员属性的初始化公式:其中,ubt和lbt分别表示第t支队伍队员属性值的上下界,表示第t支队伍的场上队员的属性,则是表示第t支队伍的候补队员的属性,r表示随机数。S2、赛前相关准备和比赛过程:在每个赛季前,我们需要做一些必要的准备,比如设置整个赛程安排,即指定哪两支队伍进行竞赛以及比赛的前后顺序。比赛过程中,每支队伍的表现决定最后的输赢。我们通过一个指标TE来指定每支队伍的表现,称为队伍能量,公式表达如下:其中,f()是目标函数,TA是参加比赛的队伍数目。每轮比赛中的两支队伍t1和t2,根据各自的队伍能量来决定这一轮的各自胜出概率,具体公式表达如下:哪一支队伍胜出由下面规则决定:S3、获胜的队伍落实胜出方策略,输的队伍落实队伍调整策略和知识分享策略:对于每轮比赛中胜出的队伍,需要落实胜出方的具体策略,根据自身过往表现和队员的状态,学习目前表现最佳的队伍的优秀因素,进行相应调整作战,使得队伍的作战水平更上一层楼。数学表达如下:其中,c1~c4是本方法使用的稳定柯西分布函数生成的随机数,可以提高算法的收敛速度,Tf(n)*表示最佳队伍,即其作战水平是目前所有队伍中最好的,η(n)表示此队伍中第n位队员的权重,本方法通过使用该权重能使算法具备自适应能力,可以在局部搜索和全局搜索之间取得相对平衡,提高求解结果的准确率,具体由以下数学表达式求得:其中,t表示的是第t支队伍,n是该队伍中的第n位队员,δ是求本方法所用柯西分布的因子,取值0.2。对于每轮比赛中落败的队伍,需要先落实队伍调整策本文档来自技高网
...

【技术保护点】
1.一种改进排球超级联赛算法在背包问题中的应用方法,其特征在于,该应用方法包括如下步骤:/nS1、初始化所有队伍中队员的属性:/n队员属性的初始化公式:/n

【技术特征摘要】
1.一种改进排球超级联赛算法在背包问题中的应用方法,其特征在于,该应用方法包括如下步骤:
S1、初始化所有队伍中队员的属性:
队员属性的初始化公式:






其中,ubt和lbt分别表示第t支队伍队员属性值的上下界,表示第t支队伍的场上队员的属性,则是表示第t支队伍的候补队员的属性,r表示随机数;
S2、赛前相关准备和比赛过程:
通过指标TE来指定每支队伍的表现,称为队伍能量,公式表达如下:



其中,f(·)是目标函数,TA是参加比赛的队伍数目;
每轮比赛中的两支队伍t1和t2,根据各自的队伍能量来决定这一轮的各自胜出概率,具体公式表达如下:



哪一支队伍胜出由下面规则决定:



S3、获胜的队伍落实胜出方策略,输的队伍落实队伍调整策略和知识分享策略;
S4、所有的队伍落实学习阶段策略;
S5、判断整个赛季是否都已结束,若是,则结束算法;若否,重复S1至S4。


2.根据权利要求1所述的改进排球超级联赛算法在背包问题中的应用方法,其特征在于,所述S3中,胜出方策略的具体公式为:
Tf(n+1)=η(n)×Tf(n)+c1×c2×(Tf(n)*-Tf(n))
Ts(n+1)=η(n)×Ts(n)+c3×c4×(Ts(n)*-Ts(n))(5)
其中,c1~c4是稳定的柯西分布函数生成的随机数,Tf(n)*最佳队伍,即其作战水平是目前所有队伍中最好的,η(n)表示此队伍中第n位队员的权重。


3.根据权利要求1所述的改进排球超级联赛算法在背包问题中的应用方法,其特征在于,所述S3中,对于每轮比赛中落败的队伍,需要先落实队伍调整策略...

【专利技术属性】
技术研发人员:徐友云李大鹏蒋锐
申请(专利权)人:南京爱而赢科技有限公司南京南邮通信网络产业研究院有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1