解决全局优化和离散问题的二进制多宇宙算法

Binary multi‑verse optimization algorithm for global optimization and discrete problems

1.摘要

多宇宙算法已经被证明在解决一些困难问题的时候也有很好的性能。原始版本的多宇宙算法能够解决连续变量的问题,本文将其扩展到离散问题上。转换的方法是设计了一个 V-shaped转换函数。最后与其他二进制优化算法,如二进制蝙蝠算法,二进制粒子群优化,二进制龙算法,和二进制灰狼优化器进行了比较。

2.介绍

MVO的灵感来自于物理学中的多重宇宙理论,它基于宇宙学中的三个概念:白洞、黑洞和虫洞。这三个概念的数学模型已经被开发出来进行探索、开发和局部搜索。
MVO的原论文为: Multi-verse optimizer: a nature-inspired algorithm for global optimization,发表于2016。
由于与连续变量的问题相比,二进制问题通常有更多的变量,因此这种行为允许MVO更好地处理由大量变量产生的局部解。

3.MVO

种群和个体:MVO生成的每个候选解决方案都称为宇宙,并表示一个真实元素的向量如下: [ x i 1 , x i 2 , … , x i d ] [x^1_i,x_i^2,…,x_i^d] [xi1xi2xid],其中 d d d是问题的维数, i i i是人口中个体的数量。一组个体形成一个种群 P P P,如下图所示:
在这里插入图片描述
其中n是种群个体数

黑白洞通道:两个宇宙(解)之间沟通方式。首先,根据宇宙的膨胀率(现在我们的宇宙在加速膨胀,适合度值)进行排序,然后通过轮盘赌轮选择机制选择一个白洞(解决方案 x k x_k xk)。表示黑洞的宇宙 x i x_i xi和所选宇宙 x k x_k xk之间的交换机制是在等式中给出的2。
在这里插入图片描述
其中, j j j表示宇宙中物体的数量。 N I ( U i ) NI(U_i) NI(Ui)是宇宙 i i i的归一化后的膨胀率, r 1 r_1 r1是0-1的一个随机数。归一化定义如下:
在这里插入图片描述
应该注意的是,MVO算法在轮盘赌中没有使用标准化。标准化需要能够在等式进行决策时使用膨胀率。由于r1是[0,1]区间内的随机数,因此膨胀率也应该在这个范围内被归一化。换句话说,膨胀率被转换为在MVO算法中进行决策的概率值。为此,当前迭代的膨胀率只被归一化为[0,1]的区间。
虫洞隧道:该算法假设在任何宇宙和迄今为止最好的宇宙之间都可以建立一个虫洞隧道。该概念由下式实现:
在这里插入图片描述
其中 X j X_j Xj是迄今为止形成的最佳宇宙的第 j j j元素, l b j lb_j lbj u b j ub_j ubj分别是第 j j j个元素的下界和上界。 r 2 、 r 3 r_2、r_3 r2r3 r 4 r_4 r4是为区间[0,1]上的随机数。
TDR(行距离率)和WEP(虫洞存在概率)是的自适应系数,代表优化过程从勘探过程到开发过程的过渡。迭代时,这两个参数会自动根据下式调整:
在这里插入图片描述
其中 l l l是当前迭代, L L L是最大迭代次数,最小和最大分别设置为0和2的最小值和最大可能值。 p p p是一种开发增强剂。
可以看出,WEP的值随着迭代的进展而增加,从而加强了开发过程。相比之下,TDR会降低,以便在迭代中执行更窄的局部搜索。

4.二进制MVO

上一节表明,MVO在优化过程中交换解的变量。这使得它适合于在解决二进制问题时交换二进制值。
在之前的研究中,研究人员使用V和S型函数将连续变量转换为二元变量。在这篇文献S-shaped versus v-shaped transfer functions for binary particle swarm optimization里,有讲到V-shaped转换函数会比S的更好。V型函数如下。
在这里插入图片描述
因此,本文为MVO配备了一个v形函数来改变宇宙的比特。
本图显示,传递函数将域的任何连续区间映射到[0,1]中的连续概率区间。
在BMVO中,TDR和WEP都是使用与连续MVO方程相同的方程来计算的。。然而,对于BMVO,引入了一个新的连续变量M(用来控制V函数),它基于TDR和最好的宇宙 X j Xj Xj,并如等式所示进行了计算。
在这里插入图片描述
其中 r a n d rand rand r 3 r3 r3是随机数, X j X_j Xj是迄今为止发现的最好的宇宙的第j个元素。
包含参数 M M M V V V函数定义如下:
在这里插入图片描述

V V V形值的结果与一个 r a n d rand rand的随机数进行了比较。基于这种比较,每个位选择要么保持原样,要么转换为相反的位,如下式所示。
在这里插入图片描述
BMVO算法框架
在这里插入图片描述
在这里插入图片描述

5.实验

本文将MVO与其他三种著名的元启发式算法进行了比较:BPSO[23,27],BBAT[34,38],BDA[31]和BGWO[13,14]。

为了进行公平的比较,所有的实验都执行30次独立运行,每次运行包括200次迭代和100个解决方案。请注意,文献中推荐的BBAT、[34]、BDA、[31]、BGWO、[14]和BPSO、[32]的通用参数设置如下表所示。
在这里插入图片描述
作为案例研究,我们在文献[11,37,50,51]中选择了13个基准函数,如下所列。
在这里插入图片描述
在这里插入图片描述
我们采用下式编码,例如,F1以−100,100作为上、下界,所以我们需要7位(1100100),对于每个连续数,我们需要2*71=15位。为F1创建一个5维的宇宙,我们首先初始化5个随机连续数,然后使用15位将每个数字转换为二进制表示。这就给出了一个有75位的宇宙。
值得注意的是,为了与其他算法(BBAT,BPSO、BDA和BGWO)相比,我们以同样的方式重新表述它们,如解决方案中使用的比特数和浮点数的表示以得到更准确的结果。

结果
为了评估所提出的BMVO技术,我们使用具有不同维数的(5,10,20)的基准函数来测试其在解决具有不同数量变量的问题时的效率。将所有结果与BBAT、BPSO、BDA和BGWO算法应用于相同函数的算法进行了比较。
结果显示,BMOV比其他算法性能普遍更优。

特征提取和背包问题
结果显示,在特征提取和背包问题上BMVO性能普遍更好。

返回受约束的多目标优化问题优秀论文及总结目录

离散二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)是一种基于群体智能的优化算法,用于解决背包问题。BPSO算法的原理如下: 1. 初始化:首先,随机生成一群粒子,每个粒子代表一个解,即一个可行解。每个粒子都有一个二进制向量,表示是否选择对应的物品放入背包中。 2. 适应度计算:对于每个粒子,根据其二进制向量计算适应度函数值。适应度函数可以根据具体的背包问题定义,通常是考虑物品的重量和价值的线性组合。 3. 全局最优和个体最优更新:记录全局最优解以及每个粒子的个体最优解。个体最优解是该粒子自身历史上最好的解,全局最优解是所有粒子历史上最好的解。 4. 粒子位置更新:根据公式更新粒子的二进制向量位置。位置更新公式包括三个部分:个体认知部分(根据个体最优解调整位置)、社会认知部分(根据全局最优解调整位置)和惯性部分(根据当前位置调整位置)。 5. 重复步骤2-4直到满足停止条件:重复执行适应度计算、全局最优和个体最优更新以及粒子位置更新的步骤,直到满足停止条件,如达到最大迭代次数或找到满意的解。 6. 输出结果:输出全局最优解作为问题的最优解。 BPSO算法通过不断调整粒子的位置来搜索最优解,其中个体最优和全局最优的信息共享使得算法能够在搜索空间中快速收敛到较好的解。通过将问题表示为二进制向量,BPSO算法可以应用于背包问题离散优化问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小怪兽会微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值