一种分布式柔性流水车间调度系统、方法、终端及介质

文档序号:30583280发布日期:2022-06-29 13:39阅读:342来源:国知局
一种分布式柔性流水车间调度系统、方法、终端及介质

1.本发明属于数据处理技术领域,尤其涉及一种分布式柔性流水车间调度系统、方法、终端及介质。


背景技术:

2.目前,各种现实世界的应用被转化为连续优化问题,这些问题随着问题规模的扩大而变得复杂,传统的优化算法难以解决。目前的研究主要集中在解决连续优化问题的可行和有效的优化算法上,随着问题规模的扩大一个连续的优化问题被定义为min f(x),x=[x1,x2,

,xd],其中的目标是寻找出的最大或最小值f(x),并输出最优解x,为了直接解决连续优化问题,研究人员提出了各种优化算法。然而,在处理这些连续优化问题时,传统的数学方法的性能受到了问题规模的限制。由于方法的复杂性,当问题的规模扩大到一定数量时,原有的数学方法很难解决连续优化问题。因此,元启发式的不同机制已经被提出并利用来解决复杂的连续优化问题;群体智能优化算法swarm intelligence(si)是解决复杂连续优化问题的可行和有效方法。在过去的几十年里,si算法的研究已经成为一个引人注目的研究和实践领域。si算法是受生物行为和自然现象启发的随机仿生优化方法。由于其集体和智能机制,si对高维复杂和多变的连续优化问题是满意的。
[0003]
在过去的几十年里,对si算法的研究一直在持续,广泛的研究导致了一系列优化算法的出现。例如,遗传算法genetic algorithm(ga)、进化策略evolutionary strategy(es)、进化编程evolutionary programming(ep)和遗传编程genetic programming(gp)。其他si算法模仿自然界中群居动物的社会行为,如布谷鸟搜索算法cuckoo search(cs)、蝙蝠算法bat algorithm(ba)、蚁群优化算法ant colony optimization(aco),人工蜂群优化算法artificial bee colony(abc),粒子群优化算法particle swarm optimization(pso);每种si算法都代表一种智能集体行为。群体的个体合作形成了集体智慧。集体智能是个体迭代学习的结果。在大多数si算法中,学习机制表现为当前个体与其他个体随机交换邻域的信息。这种策略在迭代过程中很容易导致群体的恶化。因此,在算法的迭代过程中,个体的学习机制是非常重要的。
[0004]
帝王蝶优化算法monarch butterfly optimization(mbo)是一种典型的有前途的基于蜂群的元启发算法,其灵感来自于美国北部和加拿大南部的帝王蝶个体的迁移行为;与其他现有的只有一个种群的si算法不同,mbo算法有两个属于两个不同子种群的基本算子。子种群1中的迁移算子migration operator(mo)和子种群2中的蝴蝶调整算子butterfly adjusting operator(bao)分别执行,但在进化过程中协同合作。位于不同子种群的子代个体与其他个体交换邻域信息,实现个体迁移,从而使mbo算法成为一种高级别的合作学习机制。在mbo算法的启发式搜索中,mo和bao合作控制局部搜索和全局搜索操作。mbo算法有吸引力的创新之处在于mo和bao的合作,这导致了探索和开发的平衡。然而,mo和bao的独特交叉限制了mbo算法对高维复杂多变的连续优化问题的处理。在复杂问题上,mbo算法的集约化和多样化不能得到很好的平衡。因此,为了提高mbo算法在提高精度和增加收
敛速度方面的有效性,在过去的几年里,人们提出了各种改进。
[0005]
在最初的mbo算法中,子代个体被接受为新一代的候选方案。然而,个体健身的信息被忽略了。因此,提出了一种带有贪婪机制和自适应交叉算子greedy mechanism and a self-adapting crossover operator(gcmbo)的新型mbo算法改进方案。在gcmbo算法中,自适应杂交算子在后期开发过程中提高了种群的多样性。在蝴蝶调整算子中提出了贪婪机制以加速gcmbo算法的收敛。在该算法中,与亲代个体相比,优秀的子代个体被接受为新一代的候选方案。结果表明,在大多数基准函数中,gcmbo算法明显优于原始mbo算法。同时,在gcmbo算法中,子代个体与保留的优秀父代个体交换邻域信息,因此算法的集体智慧在这个过程中得到加强。然而,gcmbo算法在高维复杂连续优化问题上的表现往往不能令人满意。在opmbo算法中引入了基于反对的学习opposition-based learning(obl)和随机局部扰动random local perturbation(rlp)。obl在初始化时将优化算法与学习机制相结合。然而,opmbo算法中的学习机制对于高维复杂问题的表现并不突出。
[0006]
mbo算法与其他算法的结合引起了研究人员和从业人员的广泛关注。lmbo-de结合了差分进化(de)和mbo,根据lmbo-de的思想,de的变异算子被整合到mbo中以增强探索性,后代个体从差分项中获得邻域信息。实验结果表明,lmbo-de算法与原来的mbo算法相比,表现出色。然而,线性化迁移算子是由一个随机迁移参数控制的mn.变量的不可分性很容易被破坏,使得lmbo-de算法在不可分问题上的表现并不突出。此外,cui,chen和yin提出了一种结合了微分进化
[0007]
(de)和基于mbo的局部搜索机制的算法(de-lsmbo)。局部搜索策略提高了算法在后期迭代中的搜索能力。该机制加强了后代个体的迭代学习。在搜索过程中,通过邻域的信息获得集体智慧。然后,de被纳入,以平衡探索和利用的关系。混合abc/mbo通过利用mbo算法的修改后的算子增加原始abc算法的多样性来平衡探索和开发。在探索过程中,蜜蜂和帝王蝶的智慧被有效地结合起来以获得集体智慧。该算法为实现集体智慧提供了一种有希望的方式。此外,原始和增强的mbo算法已被广泛用于各种实际应用问题。
[0008]
研究已经表明,学习机制是在算法的迭代过程中提高集体智慧的一种有前途的方式。关于利用自学习和自适应程序来改进mbo算法的学习机制的报道很少。
[0009]
通过上述分析,现有技术存在的问题及缺陷为:现有技术还没有改进mbo算法的学习机制的相关系统或方法,将知识驱动的帝王蝶优化算法解决实际流水车间调度问题的相关研究较少。
[0010]
解决以上问题及缺陷的难度为:
[0011]
在大多数si算法中,学习机制被表示为当前个体随机地与其他个体交换、共享邻域的信息。但是,正是由于这种随机性,则该策略很容易导致算法在迭代过程中尤其是迭代的后期种群的恶化。因此,个体之间的学习内容以及学习时机很重要,换句话说,是后代更新产生新个体时要在什么时候学习,向哪些其他个体学习,究竟学习到什么程度则是需要解决的关键问题。
[0012]
实际生产、加工过程中的各项调度任务十分复杂,对于各种指标的优化并不能使用科学的方法直接求解,因此,建立相关问题的混合整数线性规划数学模型至关重要。分布式柔性流水车间调度系列问题就是一类非常难于求解的混合整数规划问题。同样,解决分布式柔性流水车间相关调度问题的首要任务则是研究并建立其混合整数规划模型。其次,
是采用科学的、合理的方法对模型进行求解,并根据所求相关问题的解调整实际生产、加工的各个流程,从而达到某个或多个指标的优化。
[0013]
求解流水车间调度问题的常用方法有数学方法、启发式算法和群智能优化算法等。经典数学方法可将调度问题归结为在等式约束或者不等式约束下,对一个或者多个目标函数的优化。通常采用整数规划法、混合整数规划法或动态规划法等数学工具建立问题的优化模型。数学规划法是隐含枚举整个空间的搜索方法,搜索效率低。尽管该方法在理论上能够提供问题的最优解,但难以在有限时间内解决大规模的调度问题。
[0014]
解决以上问题及缺陷的意义为:
[0015]
复杂制造系统的优化调度理论与方法是目前国际学术界和工业界一个跨学科的前沿的研究方向,具有很强的工程应用背景,涉及系统工程、运筹学、人工智能、控制理论、计算机技术、管理工程等多门学科。有效调度算法和优化技术的研究与应用,是制造企业实现生产过程合理化、自动化、集成化,提高生产效益与市场竞争力的基础和关键。调度研究的问题是将稀缺资源分配给在一定时间内的不同任务。具体的说,就是针对某项可以分解的工作,在满足一定技术和资源约束的条件下,合理安排各部分工作所占用的资源、加工时间以及加工次序,最终使某项性能指标或多项性能指标达到最优或近优。生产调度问题具有诸多复杂性,譬如建模困难(表现为数学模型或仿真模型难以建立等)、计算复杂(表现为数学模型难以求解、性能评价费时甚至不准确等),存在多约束(表现为工艺条件约束、加工能力约束等)、不确定(表现为加工数据或生产环境的随机性等)、多极小(表现为相应的优化曲面存在多个分布不规则的极小解等)、大规模(表现为工件数量庞大,解空间可能随问题规模的增长而指数增长等)、多目标(表现为必须同时考虑多个冲突目标的优化等)、离散和连续变量并存(表现为组合优化与函数优化的混合)等。实验表明,绝大多数调度问题属于np-hard性质的问题。因此,将知识驱动的帝王蝶优化算法用以解决实际工业调度问题具有重要的学术意义和工程价值。


技术实现要素:

[0016]
针对现有技术存在的问题,本发明提供了一种分布式柔性流水车间调度系统、方法、终端及介质。具体涉及一种基于知识驱动的学习型帝王蝶优化方法的分布式柔性流水车间调度方法及系统。
[0017]
本发明是这样实现的,一种基于知识驱动的学习型帝王蝶优化方法的分布式柔性流水车间调度方法包括:
[0018]
利用基于知识驱动的学习型帝王蝶优化方法构造分布式装配柔性流水车间各个加工工厂中待加工工件的调度序列,该序列用于表示各个加工工厂中工件的加工工艺流程;
[0019]
利用基于知识驱动的学习型帝王蝶优化方法构造分布式装配柔性流水车间装配工厂中待装配产品的调度序列,该序列用于表示装配工厂中产品的组装工艺流程;
[0020]
利用使用基于知识驱动的学习型帝王蝶优化方法对产生的加工序列与装配序列进行优化,以产生分布式装配柔性流水车间调度序列,该序列用于表示分布式装配柔性流水车间加工、组装的工艺流程。
[0021]
本发明利用基于知识驱动的学习型帝王蝶优化方法建立了其混合整数规划模型。
采用科学的、合理的利用基于知识驱动的学习型帝王蝶优化方法对模型进行求解,并根据所求相关问题的解调整实际生产、加工的各个流程,从而达到某个或多个指标的优化。
[0022]
进一步,根据各个工件总处理时间的排序,在分布式柔性加工流水车间中,以最小化加工完成时间为优化目标,构造产生各个加工车间中的加工序列;
[0023]
根据所提供的各个工厂中的加工序列,结合各个产品的工件构成、开始组装时间、组装过程耗时,在装配工厂中,以最小化装配完成时间为优化目标,构造装配车间中的组装序列;
[0024]
根据产生的加工序列与组装序列,产生分布式装配柔性流水车间调度序列,并使用知识驱动的协同学习优化系统对该调度序列进行优化,以达到最大装配完成时间最优。
[0025]
进一步,所述基于知识驱动的学习型帝王蝶优化方法包括:
[0026]
步骤一,进行分布式柔性流水车间调度中各个加工车间中各个工件完成最少时间参数的初始化,以及装配工厂中待装配产品最小化装配完成时间参数的初始化,计算候选解决方法的适用性;
[0027]
步骤二,生产学习迁移算子和蝴蝶调整算子;
[0028]
步骤三,交叉策略和参数自适应;
[0029]
步骤四,基于候选解决方法适用性计算结果输出最佳解决方式。
[0030]
进一步,所述计算候选解决方法的适用性包括:
[0031]
(1)将用户分成两个子群,在两个子群中分别生成相应的候选解决方法;
[0032]
(2)将两个新产生的亚群进行结合,确定两个亚群的交叉点,评估新的候选解决方法;
[0033]
所述在两个子群中分别生成相应的候选解决方法包括:
[0034]
所述两个子群分别为子群1与子群2;
[0035]
在两个子群中分别生成相应的候选解决方法包括:利用lmo算法在子群1中生成子群1的解决方法;利用lbao算法在子群2中生成子群2的解决方法。
[0036]
进一步,所述利用lmo算法在子群1中生成子群1的解决方法包括:
[0037]
利用下式生成候选方案:
[0038][0039]
利用下式生成候选解:
[0040][0041]
其中,表示i代中的第6个解决方法t+1,表示i代中的第6个解决方法t;个体表示从第一代中随机选出的n
×
rand的成员中随机选出;t.n表示种群的数量;fi表示f个体使用的参数xi,f∈[0,1]是控制突变幅度的突变算子;个体表示从群体中随机选择;个体是从子种群2中随机选择的;是从子种群1中随机选择;和是从子种群2中随机选择的;lr
mo
表示学习率;
[0042]
所述利用lbao算法在子群2中生成子群2的解决方法包括:
[0043]
利用下式生成候选方案:
[0044][0045][0046]
其中,为j代中的第6个解决方法t+1,是第j代中的第6个解决方法t;个体是这一代种群中的最佳个体t;fj是f个体所使用的参数xj,参数f∈[0,1]是控制变异幅度的变异算子;个体是从子种群1中随机选择的;表示该种群中最差的个体,在代t.该和址从种群中随机选择的;lr
bao
表示学习率。
[0047]
进一步,所述学习率计算公式如下:
[0048]
当迭代的先验知识t迭代的先验知识,迭代中合适的行动t+1迭代时的知识指导下进行的,t迭代时的知识为指导,则学习率lr
mo
和lr
bao
利用下式得到:
[0049]
如果和不等于0:
[0050][0051]
如果and不等于0:
[0052][0053]
当迭代的先验知识t迭代来自于历史知识,迭代中的行动t迭代中的行动是由历史知识指导的,则学习率lrmo和lrbao利用下式得到:
[0054]
如果或等于0:
[0055][0056]
如果and等于0:
[0057][0058]
本发明的另一目的在于提供一种基于知识驱动的学习型帝王蝶优化方法的分布式柔性流水车间调度系统包括:
[0059]
基于知识驱动的学习型帝王蝶优化模块,用于构造分布式装配柔性流水车间各个加工工厂中待加工工件的调度序列,该序列用于表示各个加工工厂中工件的加工工艺流程;还用于构造分布式装配柔性流水车间装配工厂中待装配产品的调度序列,该序列用于表示装配工厂中产品的组装工艺流程;
[0060]
分布式装配柔性流水车间调度序列生成模块,用于利用使用基于知识驱动的学习型帝王蝶优化方法对产生的加工序列与装配序列进行优化,以产生分布式装配柔性流水车间调度序列,该序列用于表示分布式装配柔性流水车间加工、组装的工艺流程;
[0061]
初始化模块,用于进行参数的初始化;
[0062]
适用性计算模块,用于计算候选解决方法的适用性;
[0063]
输出模块,用于基于候选解决方法适用性计算结果输出最佳解决方法。
[0064]
所述适用性计算模块包括:
[0065]
用户分类单元,用于对用户进行分类;
[0066]
候选方案生成单元,用于基于用户分类结果分别在不同类用户中生成相应的候选解决方法;
[0067]
用户合并单元,用于将两个新产生的亚群进行结合;
[0068]
交叉确定模块,用于确定两个亚群的交叉点;
[0069]
评估单元,用于评估新的候选解决方法。
[0070]
本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行本发明所述方法。
[0071]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本发明所述方法。
[0072]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
[0073]
本发明提出了一种基于知识驱动学习机制的mbo算法(kdlmbo),作为mbo算法的一种新的变体,以加强原算法的自学习和自适应能力。在kdlmbo算法中,算法的先验知识被定义。邻域的信息由四种行动来表示。kdlmbo的适当行动是由合作学习机制引导的。根据wilcoxon测试的结果,在算法的迭代中有效地利用了健身和信息。从对29个基准测试的结果来看,kdlmbo算法的性能比lmbode增加了240.40%,与原始mbo算法相比,明显增加了459.03%。学习机制有效地提高了算法的自组织能力,保持了变量的不可分性。在算法的迭代过程中,集体智慧是自我学习并由机制实现的。因此,kdlmbo的进化过程不是随机搜索,而是一种智能机制。从实验结果来看,知识驱动的学习机制是可行的、有贡献的和有前途的。本发明出了一种改进的具有知识驱动的学习机制的帝王蝶优化算法(kdlmbo),能够有效地进化,具有自学习能力。从候选解中提取的邻域信息被视为kdlmbo算法的先验知识。学习机制由学习迁移算子和学习蝶形调整算子组成。然后,在算法的迭代过程中,由这两个合作算子实现自我学习的集体智能。实验结果证明了所提出的kdlmbo算法的效率和意义。可在分布式柔性流水车间调度中进行应用,提高了工作效率。
附图说明
[0074]
图1是本发明实施例提供的知识驱动的学习型帝王蝶优化系统结构示意图。
[0075]
图2是本发明实施例提供的学习机制示意图。
[0076]
图3是本发明实施例提供的参数的主效应图。
[0077]
图4是本发明实施例提供的d=10的排名示意图。
[0078]
图5是本发明实施例提供的d=30的排名示意图。
[0079]
图6是本发明实施例提供的d=50的排名示意图。
[0080]
图7是本发明实施例提供的d=100时的排名示意图。
[0081]
图中:1、初始化模块;2、适用性计算模块;3、输出模块;4、基于知识驱动的学习型帝王蝶优化模块;5、分布式装配柔性流水车间调度序列生成模块。
具体实施方式
[0082]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0083]
针对现有技术存在的问题,本发明提供了一种知识驱动的学习型帝王蝶优化系统,下面结合附图对本发明作详细的描述。
[0084]
本发明提供一种基于知识驱动的学习型帝王蝶优化方法的分布式柔性流水车间调度方法包括:
[0085]
利用基于知识驱动的学习型帝王蝶优化方法构造分布式装配柔性流水车间各个加工工厂中待加工工件的调度序列,该序列用于表示各个加工工厂中工件的加工工艺流程;
[0086]
利用基于知识驱动的学习型帝王蝶优化方法构造分布式装配柔性流水车间装配工厂中待装配产品的调度序列,该序列用于表示装配工厂中产品的组装工艺流程;
[0087]
利用使用基于知识驱动的学习型帝王蝶优化方法对产生的加工序列与装配序列进行优化,以产生分布式装配柔性流水车间调度序列,该序列用于表示分布式装配柔性流水车间加工、组装的工艺流程。
[0088]
本发明利用基于知识驱动的学习型帝王蝶优化方法建立了其混合整数规划模型。采用科学的、合理的利用基于知识驱动的学习型帝王蝶优化方法对模型进行求解,并根据所求相关问题的解调整实际生产、加工的各个流程,从而达到某个或多个指标的优化。
[0089]
在一实施例中,根据各个工件总处理时间的排序,在分布式柔性加工流水车间中,以最小化加工完成时间为优化目标,构造产生各个加工车间中的加工序列;
[0090]
根据所提供的各个工厂中的加工序列,结合各个产品的工件构成、开始组装时间、组装过程耗时,在装配工厂中,以最小化装配完成时间为优化目标,构造装配车间中的组装序列;
[0091]
根据产生的加工序列与组装序列,产生分布式装配柔性流水车间调度序列,并使用知识驱动的协同学习优化系统对该调度序列进行优化,以达到最大装配完成时间最优。
[0092]
如图1所示,本发明实施例提供的知识驱动的学习型帝王蝶优化系统包括:
[0093]
初始化模块1,用于进行参数的初始化;
[0094]
适用性计算模块2,用于计算候选解决方法的适用性;
[0095]
输出模块3,用于基于候选解决方法适用性计算结果输出最佳解决方法。
[0096]
基于知识驱动的学习型帝王蝶优化模块4,用于构造分布式装配柔性流水车间各个加工工厂中待加工工件的调度序列,该序列用于表示各个加工工厂中工件的加工工艺流程;还用于构造分布式装配柔性流水车间装配工厂中待装配产品的调度序列,该序列用于表示装配工厂中产品的组装工艺流程;
[0097]
分布式装配柔性流水车间调度序列生成模块5,用于利用使用基于知识驱动的学习型帝王蝶优化方法对产生的加工序列与装配序列进行优化,以产生分布式装配柔性流水车间调度序列,该序列用于表示分布式装配柔性流水车间加工、组装的工艺流程。
[0098]
本发明实施例提供的适用性计算模块2包括:
[0099]
用户分类单元,用于对用户进行分类;
[0100]
候选方案生成单元,用于基于用户分类结果分别在不同类用户中生成相应的候选解决方法;
[0101]
用户合并单元,用于将两个新产生的亚群进行结合;
[0102]
交叉确定模块,用于确定两个亚群的交叉点;
[0103]
评估单元,用于评估新的候选解决方法。
[0104]
本发明实施例提供的知识驱动的学习型帝王蝶优化方法包括:
[0105]
进行参数的初始化,计算候选解决方法的适用性;基于候选解决方法适用性计算结果输出最佳解决方法。
[0106]
本发明实施例提供的计算候选解决方法的适用性包括:
[0107]
(1)将用户分成两个子群,在两个子群中分别生成相应的候选解决方法;
[0108]
(2)将两个新产生的亚群进行结合,确定两个亚群的交叉点,评估新的候选解决方法。
[0109]
本发明实施例提供的在两个子群中分别生成相应的候选解决方法包括:
[0110]
两个子群分别为子群1与子群2;
[0111]
在两个子群中分别生成相应的候选解决方法包括:利用lmo算法在子群1中生成子群1的解决方法;利用lbao算法在子群2中生成子群2的解决方法。
[0112]
本发明实施例提供的利用lmo算法在子群1中生成子群1的解决方法包括:
[0113]
利用下式生成候选方案:
[0114][0115]
利用下式生成候选解:
[0116][0117]
其中,表示i代中的第6个解决方法t+1,表示i代中的第6个解决方法t;个体表示从第一代中随机选出的n
×
rand的成员中随机选出;t.n表示种群的数量;f1i表示f个体使用的参数xi,f∈[0,1]是控制突变幅度的突变算子;个体表示从群体中随机选择;个体是从子种群2中随机选择的;是从子种群1中随机选择;和是从子种群2中随机选择的;lr
mo
表示学习率。
[0118]
本发明实施例提供的利用lbao算法在子群2中生成子群2的解决方法包括:
[0119]
利用下式生成候选方案:
[0120][0121][0122]
其中,为j代中的第6个解决方法t+1,是第j代中的第6个解决方法t;个体是这一代种群中的最佳个体t;fj是f个体所使用的参数xj,参数f∈[0,1]是控制变异幅度的变异算子;个体是从子种群1中随机选择的;表示该种群中最差的个体,在
代t.该和是从种群中随机选择的:lr
bao
表示学习率。
[0123]
本发明实施例提供的学习率计算公式如下:
[0124]
当迭代的先验知识t迭代的先验知识,迭代中合适的行动t+1迭代时的知识指导下进行的,t迭代时的知识为指导,则学习率lr
mo
和lr
bao
利用下式得到:
[0125]
如果和不等于0:
[0126][0127]
如果and不等于0:
[0128][0129]
当迭代的先验知识t迭代来自于历史知识,迭代中的行动t迭代中的行动是由历史知识指导的,则学习率lrmo和lrbao利用下式得到:
[0130]
如果或等于0:
[0131][0132]
如果and等于0:
[0133][0134]
下面结合具体实施例对本发明的技术方案做进一步说明。
[0135]
实施例1:
[0136]
1、帝王蝶优化算法
[0137]
1.1帝王斑蝶的迁徙行为
[0138]
mbo是一种高效的元启发式算法,其灵感来自于加拿大南部和美国北部的帝王斑蝶的迁徙行为,每年夏末秋初,特殊的蝴蝶群体都会从这里飞往墨西哥和加利福尼亚,飞行数千英里。在mbo算法中,在算法的迭代过程中,一只单独的帝王斑蝶代表一个候选解决方法。在进化过程的开始,候选解决方法按健身值进行排序。然后,种群被分为两部分。美国北部的子种群1和墨西哥的子种群2。迁移算子产生子种群1中的后代个体。其他候选方案由子种群2的蝴蝶调整算子产生。子种群1和子种群2中的帝王蝶数量为
[0139]
np1和np2分别由公式(1)和公式(2)给出。
[0140][0141]
np2=n-np1
ꢀꢀ
(2)
[0142]
其中n是人口的规模。p=5/12是子种群1的迁移率。
[0143]
1.2迁徙操作员
[0144]
在子群1中,根据公式(3)和公式(4)生成候选解决方法。
[0145][0146]
r=rand*peri
[0147]
其中t是该算法的当前迭代代数,是迭代t+1时第i个解的第k个元素(维度),
是迭代t时第r1个解的第k个元素(维度),是迭代t时第r2个解的第k个元素(维度)。r是基于等式2.4的随机数。peri被设置为1.2。r1是代表子种群1中随机个体的随机数。r2是代表子种群2中随机个体的随机数。
[0148]
1.3蝶形调整操作者
[0149]
在子群2中,产生的候选解决方法为
[0150][0151]
其中是迭代t+1时第j个解的第k个元素(维度),是子种群1和子种群2在迭代t时整个种群最佳解的第k个元素。是迭代t时第r3个解的第k个元素(维度)。r3是代表子种群2中随机个体的随机数。然后,如果rand>p&rand>5/12,候选解将根据公式(6)~公式(8)进一步改进。
[0152][0153]
α=s
max
/t2[0154][0155]
其中k的第1个元素j迭代时的第1个解t+1根据公式(6)进行更新。α是基于公式(7)的加权因子。s
max
是最大步长,它是平衡探索和开发的关键参数。在迭代的开始阶段。
[0156]smax
是最大步长,它是平衡探索和开发的关键参数,在迭代初期,设置的步长比迭代后期大。在公式(8),dx是来自levy飞行的步长。
[0157]
1.4 mbo算法的机制
[0158][0159]
在mbo算法中,首先在迭代开始时随机产生候选解。其次,计算候选方案的适用性,并根据其适用性对方案进行排序。第三,人口被分为两个子群(子群1和子群2)。位于不同子
种群的子代候选方案与其他个体交换邻域信息,实现个体迁移。在每个新的子种群产生后,新产生的两个子种群被合并为子代种群。两个合作操作者在不同的子种群中履行其职责,以实现集体进化的过程。最后,当当前迭代次数超过最大迭代次数时,输出最佳解决方法。原始mbo的框架显示在算法1中。
[0160]
2、知识驱动的学习君子兰蝴蝶优化
[0161]
2.1初始化
[0162]
在这种知识驱动的学习型mbo算法中,问题的初始解被随机地分散在一个维度的问题空间中。d维的问题空间中,每个候选方案代表问题的一个初始解决方法。然后,初始群体按照每个候选者的适配度进行排序。第三,人口被分为两部分子群1和子群2,如同原始的mbo。
[0163]
2.2变异
[0164]
(1)历史档案
[0165]
在这项研究中,为了保持种群的多样性,在学习迁移算子中提供了历史档案。历史档案群的最大规模为a是n*2.在第一代中,历史档案种群a是初始种群。然后,历史档案人口a被生成为
[0166][0167]
其中a
t+1
的组合。a
t
和的组合。是这一代中比父母差的个体的集合。t代的个体。每当历史档案规模超过|a|时,就会随机选择并删除一些元素来存储新插入的个体。
[0168]
(2)学习迁移操作者在kdlmbo算法中,子群1中的候选解是由公式(10)~公式(12)定义的学习迁移算子生成的。
[0169][0170][0171][0172]
其中为i代中的第6个解决方法t+1,是i代中的第6个解决方法t.个体是从第一代中随机选出的n
×
rand的成员中随机选出。t.n是种群的数量。fi是f个体使用的参数xi.该参数f∈[0,1]是控制突变幅度的突变算子。个体是从群体中随机选择的。该个体是从子种群2中随机选择的。是从子种群1中随机选择的。和是从子种群2中随机选择的。lr
mo
是学习率。公式。(11)在第一代中使用,公式。(12)在接下来的几代中使用。
[0173]
迁移算法的主要过程见算法2。
[0174][0175]
(3)学习蝶形调整操作者
[0176]
在kdlmbo中,子群2中的候选解是由公式(13)~公式(14)定义的学习蝶形调整算子产生的。
[0177][0178][0179][0180]
其中为j代中的第6个解决方法t+1,是第j代中的第6个解决方法t。个体是这一代种群中的最佳个体t。fj是f个体所使用的参数xj,同时,该参数f∈[0,1]是控制变异幅度的变异算子。而个体是从子种群1中随机选择的。该是该种群中最差的个体。在代t.该和是从种群中随机选择的。lr
bao
是学习率。蝴蝶调整算子的主要过程显示在算法3中。
[0181]
2.3交叉和参数适应
[0182]
在kdlmbo中,运算符lmo和lbao在变异过程中产生候选解。然后,两个子种群被合并成一个子代候选种群。在de中广泛使用的交叉算子(storn&price,1997)在kdlmbo的下一次迭代中被考虑,如公式(16)所定义。
[0183][0184]
其中是k的第3个元素i迭代时的第3个解t+1,而是k的第3个元素i迭代中的第3个解的第1个元素t.k
rand
是一个索引,它是一个从[1,d]中随机抛出的数字,[1,d].cr是交叉率。
[0185]
在本发明中,变异算子f和交叉率cr根据公式(17)和公式(18)生成。
[0186]
cri=randni(μ
cr
,0.1) (17);fi=randci(μf,0.1)(18);
[0187]
[0188][0189]
其中randni(μ,δ2)是从正态分布中随机抽取的,其平均值为μ和方差δ2.randci(μ,δ2)是从具有平均数和方差的cauchy分布中随机抽取的。μ和方差δ2.cri∈[0,1]和fi∈[0,1].在第一次迭代时。μcr和μf被设置为0.5,并根据公式(19)和公式(20)生成。
[0190]
μcr=0.9*μcr+0.1*meanwa(scr)
ꢀꢀꢀ
(19)
[0191]
μf=0.9*μf+0.1*meanl(sf)
ꢀꢀꢀ
(20)
[0192]
其中scr是成功的组合cri的组合,其中子代个体是最优秀的。sf是成功者的组合fi的组合,其中子代个体是卓越的。meanl(*)是lehmer平均值,和meana(*)是加权平均数,定义如公式(21)~公式(23)。
[0193][0194][0195][0196]
算法3 lbao的主要程序
[0197]
2.4学习机制
[0198]
为了加强算法对连续优化问题的学习能力,kdlmbo算法中提供了学习机制。在迭代过程中t时,算法的先验知识包括函数问题的适配度和从候选解的邻域获得的信息。基于适配度的子代个体在迭代的不同阶段通过选择自己的不同行动来学习邻域的信息。邻域信息被表示为四种行动。在算法的早期迭代中,行动1与行动2相比在lmo中是有效的,可以提高收敛率。此外,在后期迭代中,动作2使子群1难以达到局部最优。与早期迭代中的动作4相比,动作3在lbao中很有用,它可以接近最佳解并逃避最差解。在后期迭代中,动作4也使子群2难以陷于局部最优。这四个动作在迭代的不同阶段起作用,为子代提供信息。集体智能是由上述机制实现的。因此,在这个拟议的算法中,利用之间没有明确的区别。因此,算法的探索和利用是由学习迁移算子和学习蝶形调整算子的合作来平衡的。总的来说,知识驱动的学习机制有效地提高了算法的自学习和自适应能力。集体智能的策略以自组织学习机制为代表。在生成之初,算法的先验知识为空。因此,行动是根据公式(11)和公式(14)随机选择的。学习机制的过程如图2所示。
[0199]
如图2所示,动作1和动作2是lmo中提出的新的变异操作符。mo中的原始动作限制了mbo算法的性能。动作1是为了加速改进后的算法的收敛性。动作2的目的是增加子群1的多样性。行动3和行动4是lbao中给出的新型突变行动。原始的bao破坏了变量的不可分割
性,这使得mbo不适合于不可分割的问题。因此,提供了动作3和动作4来避免变量的不可分性被破坏。总的来说,合作学习机制平衡了kdlmbo的探索和利用。
[0200]
在kdlmbo算法中,先验知识的定量表示是由每个动作的分数来表示的。因此,如果适配性比以前好,当前行动的得分就由公式(24)产生。然而,在不同的迭代中,每个行动的得分被考虑到两种情况。在第一种情况下,迭代的先验知识t迭代的先验知识,迭代中合适的行动t+1迭代时的知识指导下进行的。t迭代时的知识为指导。学习率lr
mo
和lr
bao
由公式(25)和公式(26)生成。
[0201][0202][0203][0204]
然后,在第二种情况下,迭代的分数为0。t这意味着所有的子代都比父代差。因此,该1迭代到t-1迭代被考虑。迭代的先验知识t迭代来自于历史知识。而迭代中的行动t迭代中的行动是由历史知识指导的。学习率lrmo和lrbao由公式(27)和公式(28)生成。
[0205][0206][0207]
2.5kdlmbo的过程
[0208]
kdlmbo的首要框架如算法4所示。
[0209][0210]
3、实验结果和分析
[0211]
3.1实验环境
[0212]
为了验证所提出的kdlmbo算法的性能,本发明将其与mbo算法的变体、标准mbo以及一些最先进的算法mbo,gcmbo,bbo,iwo,jaya,cma-es,lmbo-de在cec-2017基准的29个测试函数上。
[0213]
cec-2017基准的29个测试函数涉及单模态函数f1,f3,多模态函数f4-f10混合函数f11-f20和组合函数f21-f30.函数评价的最大适配度被设定为d
×
10,000.对比算法用matlab编程语言仔细地重新实现,并在一台装有2.60ghz intel(r)-core i7-9750h cpu、16gb内存、64位操作系统的pc上运行。所有算法独立运行51次,以确保实验结果的可靠性。
[0214]
3.2参数分析
[0215]
在本发明中,突变的参数是自学的。在交叉中,参数是在迭代预期开始时自适应的。因此,种群的数量n,突变算子f和交叉运算符cr被选来分析kdlmbo中参数的影响。这些参数的不同组合有三个级别,包括表1所示的大规模、中等规模和小规模。因此,参数的正交设计是必要的。在本实验中,实验结果取决于三个因素,每个因素有三个水平,共有9个测试组合。表2中列出了参数的正交阵列。实验结果在10d和30d9个测试组合的实验结果显示在表2中。所有的组合结果都是按照蒙特卡洛规则进行的实验。ave和tave显示了每个组合的性能。根据表2中的tave,计算出每个参数的重要性并列于表3。f是其他四个参数中最重要的参数。第二位是cr.这两个参数控制了候选方案中元素的变化范围。群体的多样性是由候选数的选择机制保证的。根据表3和图4,kdlmbo算法的选定参数被设定为如下。n=16
×
d,f=0.3,cr=0.5.
[0216]
表1各参数等级设置
[0217][0218]
表2参数组合及实验结果
[0219][0220]
表3参数重要性分析
[0221][0222]
3.3结果和分析
[0223]
在本实验中,kdlmbo和比较算法在选定的基准上独立运行了51次,其平均值在表4~7中显示,个体的维度d=10,30,50,100,其中小于1e-8的均值被视为0,实验结果中最小值的文字被设置为粗体。
[0224]
(1)视觉分析
[0225]
为了对实验结果进行清晰的比较,实验结果的可视化显示在图3中。横轴标示的是测试函数的数量。纵轴是归一化的平均值。为了清楚地显示性能上的差距,表4~7中的平均值通过公式(29)进行了归一化。
[0226]
normalized value=log
10
(mean)
[0227]
其中mean从图3中可以看出,kdlmbo的大部分曲线都在图的底部,这意味着与其他算法相比,kdlmbo对大多数基准函数的结果是最好的。对于混合函数f11-f20,与其他实验算法相比,kdlmbo是一种优秀的算法。在一些简单的单模函数、多模函数和组合函数中,kdlmbo比其他实验算法更好。通过kdlmbo的变异和交叉,保持了变量的不可分割性。学习机制在维持kdlmbo的收敛性和多样性的平衡方面发挥了重要作用。总的来说,可视化的实验结果表明,kdlmbo中提出的机制是可行的,kdlmbo的性能是可以预期的。
[0228]
表.4 10维实验的均值结果
[0229][0230]
表5 30维实验的均值结果
[0231][0232]
表.6 50维实验的均值结果
[0233][0234]
表.7 100维实验的均值结果
[0235][0236]
为了分析kdlmbo在不同基准函数上的性能,kdlmbo和比较算法的收敛曲线中可以看出,kdlmbo算法的精确性在f5和f
21
上相比其他对比算法是最佳的。kdlmbo算法在简单的多峰函数和混合函数方面表现出色。原因是学习机制平衡了kdlmbo的收敛速度和准确性。kdlmbo的lmo和lbao算子避免了种群陷入局部最优状态。总之,kdlmbo算法对于解决收敛速度和准确性方面的连续优化问题是可行的、有效的。
[0237]
为了分析kdlmbo在不同基准函数上的性能,kdlmbo和被比较的算法在95%置信区间内的均值图。横轴标注了8种算法,纵轴显示了51次独立测试的归一化值。为了清楚地显
示差距,根据公式(30)对51个独立测试的健身值进行了归一化。
[0238]
normalized values=log
10
(mean of 51 independent tests)
[0239]
其中,参数mean是51个独立实验运行的基准的平均值。图(10)~图(13)显示了95%置信区间下的分布中心。中心是51次独立试验的平均值,分布是51次独立试验的数值。较小的平均值代表较好的结果。小的分布标志着强大的稳定性。如果两个平均值的区间不重叠,结果可能具有统计学意义。可以看出,与其他七种算法相比,kdlmbo是一种优秀的算法。
[0240]
为了验证改进后的算法在基准问题上的稳定性,kdlmbo和比较算法的29个函数的平均图和95%的置信区间。为了清楚地显示性能,29个函数的适配度通过公式(31)进行了归一化。
[0241]
normalized datas
[0242]
=log
10
(mean of 29 functions)-log
10
(mean
best
)
[0243]
其中29个函数的平均值为表4~7中的数据。mean
best
是实验算法中的最佳结果。从均值图上看,在d=10,30,50,100时,kdlmbo的中心在图的底部。此外,kdlmbo的分布是最小的。在=10和d=30时没有置信区间的重叠。d=10和d=30。结果在95%的置信区间内是有统计学意义的。在=50和d=100时有置信区间重叠。d=50和d=100时有重叠。然而,kdlmbo的中心是在95%的置信区间,kdlmbo的表现很突出。为了使分析可信,下面提供了统计学实验的情况。
[0244][0245]
[0246][0247][0248]
(2)弗里德曼检验
[0249]
为了对kdlmbo和其他被比较的算法进行统计比较,本发明采用了friedman检验,这是一种非参数统计检验,用于确定多个(相关)样本的显著差异。friedman检验的结果如下表所示。可以发现,kdlmbo的平均等级是最小的。此外,在90%和95%的置信区间内,kdlmbo的性能与其他的相比是非常好的。总的来说,这些算法之间存在着明显的差异,kdlmbo的平均等级比其他算法最小,分别为d=10,30,50,100。
[0250]
(3)wilcoxon测试
[0251]
此外,还采用了wilcoxon检验法,对kdlmbo和其他被比较的算法进行了配对比较。该方法是在成对观察数据的符号检验基础上发展起来的,比传统的单纯的加减符号更有效。wilcoxon符号检验的结果见表8。r+代表与其他对比算法相比,结果很突出。r-则相反。在wilcoxon测试中,如果p-值小于α,就意味着成对的算法存在明显差异。kdlmbo与七种算法进行了比较,所有的p值都小于α,在d=10,30,50,100.因此,从wilcoxon测试来看,kdlmbo与其他算法相比是有希望的。
[0252]
表8 kdlmbo及其对比算法wilcoxon检验结果
[0253][0254]
本发明提出了一种基于知识驱动学习机制的mbo算法(kdlmbo),作为mbo算法的一种新的变体,以加强原算法的自学习和自适应能力。在kdlmbo算法中,算法的先验知识被定义。邻域的信息由四种行动来表示。kdlmbo的适当行动是由合作学习机制引导的。根据wilcoxon测试的结果,在算法的迭代中有效地利用了健身和信息。从对29个基准测试的结果来看,kdlmbo算法的性能比lmbode增加了240.40%,与原始mbo算法相比,明显增加了459.03%。学习机制有效地提高了算法的自组织能力,保持了变量的不可分性。在算法的迭代过程中,集体智慧是自我学习并由机制实现的。因此,kdlmbo的进化过程不是随机搜索,而是一种智能机制。从实验结果来看,知识驱动的学习机制是可行的、有贡献的和有前途的。
[0255]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0256]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1