多元宇宙优化算法(Multi-verse Optimization, MVO)——附Matlab代码

目录

摘要:

MVO算法逻辑介绍:

MVO算法流程:

多目标MVO算法介绍:

Matlab代码运行效果展示:

1. MVO

 2. MOMVO

完整Matlab代码分享: 


摘要:

多元宇宙优化算法(Multi-verse Optimization, MVO)是由S Mirjalili于2015年提出的,它源于宇宙有一个膨胀率,利用白洞具有较高的膨胀率,黑洞具有较低的膨胀率,宇宙中的粒子通过虫洞从白洞向黑洞位置转移的原理进行搜索的模拟。不管宇宙中物质的膨胀率大小,宇宙里所有的物质都会通过虫洞随机移动,到达最佳宇宙的位置。其中,在整个宇宙中的迭代次数,可以确保改善平均膨胀率。在每一次迭代过程中,根据他们的膨胀率大小的分类,依靠轮盘赌机制来产生个白洞。

多元宇宙优化算法是近年来提出的一种新型的元启发式优化算法,具有参数少、结构简单、效率高、易于理解等优点,但和其他启发式算法一样,多元宇宙优化算法本身也会存在一些不足,如算法容易陷入局部最优,算法在后期运行过程中会出现收敛速度慢等问题。因此,研究改进多元宇宙优化算法的性能有着重要的理论意义和应用前景。

本文代码提供了多种测试函数进行验证,可自行更换

MVO算法逻辑介绍:

多元宇宙优化算法利用白洞和虫洞的概念来探索搜索空间,相反,虫洞在多元宇宙优化算法中协助开发搜索空间。假设每个解都是一个宇宙,每个解中的变量都是一个宇宙中的对象。在解决优化问题过程中,以下规则被应用到多元宇宙优化算法中:物体是可以通过白洞、黑洞隧道在不同的宇宙之间移动。当白洞,黑洞隧道之间建立两个宇宙,宇宙有一个膨胀率,利用具有较高膨胀率的宇宙有白洞,具有较低膨胀率的宇宙被认为有黑洞,宇宙中的粒子通过虫洞从白洞向黑洞位置转移的原理进行搜索的模拟。这个机制允许宇宙之间很容易地交换对象,不管宇宙中物质的膨胀率大小,宇宙里所有的物质都会通过虫洞随机移动,到达最佳宇宙的位置。其中,在整个宇宙中的迭代次数,可以确保改善平均膨胀率。在每一次迭代过程中,根据他们的膨胀率大小的分类,依靠轮盘赌机制来产生个白洞。白洞黑洞虫洞示意图:

算法个体的构成如下:

其中d是变量的数量,n是宇宙的个数(候选解)。

 

MVO算法流程:

Step1.初始化控制参数:宇宙个数N,参数WEP,TDR,阈值H和最大迭代次数iterMax;

Step2.初始化宇宙群,寻找当前宇宙黑洞及其位置,并计算其适应度值;

Step3.按Step2所得的计算值,初始化最优值和最优记录点。

Step4.所有个体由白洞从虫洞向黑洞转移聚集。以当前最优宇宙位置点为中心,按照转移聚集规则产生新最优位置的点,替换原来的点。

Step5.计算各点的适应度,记录最优值和最优宇宙点。

Step6.黑洞个体更新。设置WEP,如果2rWEP且更新后黑洞个体适应度值比原来更优,则按照更新公式(2.3)更新个体,否则不更新。

Step7.记录最优值和最优点。

Step8.对整个宇宙群体进行评价,并分析结果。

Step9.迭代次数加1,若迭代次数小于指定次数则转Step4,否则转Step10。

Step10.若满足算法的结束前提条件则输出最优解并结束,否则继续执行步骤Step4。

多目标MVO算法介绍:

为了解决多目标优化问题,MirjaliliS.等人又提出了多目标多元宇宙算法(Multi Objective Multi-Verse Optimizer,MOMVO)(MirjaliliS.,2017)。多目标多元宇宙算法其为多元宇宙算法的多目标版本,为了开发MVO的多目标版本,首先将存档机制集成到MVO中。MOMVO的档案存储迄今为止获得的最佳非支配解的存储库。MOMVO中的搜索机制与MVO非常相似,其中使用白洞、黑洞和虫洞改进了解决方案。为了从存档中选择合适的解以在各个解之间建立隧道,本文采用了领导者选择机制。在这种方法中,首先选择档案中每个解之间的拥挤距离,并将邻域中的解数量作为覆盖或多样性的度量。MOMVO需要从档案中群体数目较少的区域选择带有轮盘赌的解,以改善档案中解在所有目标中的分布,其选择概率公式为:

式中:c大于1的常数,Ni为第i个解其附近所有解的个数。

多元宇宙的存档只能够容纳有限数量的非支配解,并且在优化过程中,多元宇宙的存档会存满,极有可能遗漏关键解。因此,算法应该有一种从存档中删除不需要的解的机制。不受欢迎的解是具有许多相邻解的解,因此本文要求存档丢弃此类解。利用上式的倒数式给那些被MOMVO算法遗弃的不受欢迎的解设置更高的被丢弃概率。

使用上述算子,MOMVO算法能够将帕累托最优解存储在存档中,并在迭代过程中对其进行改进。当以类似于中的方式将解决方案比较和添加到存档时,此算法遵循以下原则:

1如果一个新的解决方案支配了档案中的任何解决方案,它应该立即被它们替换。

2如果一个新的解决方案没有支配档案中的一个解决方案,它应该被丢弃并且不允许进入存档。

3如果一个解决方案相对于档案中的所有解决方案都是非支配的,则应将其添加到档案中。

如果存档已满,则应删除不需要的解决方案,新的非支配解决方案应进入存档。

为了比较MOMVO中的所有解,使用了帕累托最优和帕累托最优解的概念。这是因为在多目标搜索空间中,解决方案无法与关系算子进行比较。

Matlab代码运行效果展示:

1. MVO

 

 

 

 2. MOMVO

完整Matlab代码分享: 

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多元宇宙优化器(Multi-verse Optimizer)是一种任务优化工具,灵感来自于多元宇宙理论。这个概念认为,在我们所处的宇宙外,可能存在着许多平行宇宙,每个宇宙中可能存在着不同的物理规律和属性。多元宇宙优化器利用这个概念,提出了一种全新的优化算法。 与传统的优化算法不同,多元宇宙优化器使用了一种全新的搜索策略,称为“探索-利用”。它使用大量的虚拟粒子在搜索空间中进行随机漫步,每个粒子代表一个可能解。这些粒子根据其在给定问题中的表现进行评估和更新。整个搜索过程会模拟出多个“宇宙”,每个宇宙都有自己的一组物理规律和属性。 多元宇宙优化器的一个重要特点是它的并行性。因为它模拟了多个宇宙,每个宇宙都可以独立地进行搜索和优化,从而加快了整个优化过程的速度。 多元宇宙优化器已经在多个领域取得了显著的成果。在机器学习领域,它能够帮助优化神经网络的结构和超参数,提高模型的性能和准确性。在工程领域,它能够帮助寻找最佳设计或参数配置,从而提高产品的效率和质量。在金融领域,它能够帮助优化投资组合,提高投资回报率。 总之,多元宇宙优化器是一种创新的优化工具,利用多元宇宙理论概念来提高任务优化的效率和效果。它在多个领域都有着广泛的应用前景,并且将继续发展和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值