1鲸鱼群算法详细流程

上传人:ni****g 文档编号:550394791 上传时间:2023-05-14 格式:DOCX 页数:7 大小:32.91KB
返回 下载 相关 举报
1鲸鱼群算法详细流程_第1页
第1页 / 共7页
1鲸鱼群算法详细流程_第2页
第2页 / 共7页
1鲸鱼群算法详细流程_第3页
第3页 / 共7页
1鲸鱼群算法详细流程_第4页
第4页 / 共7页
1鲸鱼群算法详细流程_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《1鲸鱼群算法详细流程》由会员分享,可在线阅读,更多相关《1鲸鱼群算法详细流程(7页珍藏版)》请在金锄头文库上搜索。

1、.2 鲸鱼群算法为了开发用来解决函数优化问题的鲸鱼群算法,我们对鲸鱼的一些行为进行 了假设。为了简便地描述鲸鱼群算法,我们假设以下四个理想化规则:1)所有 鲸鱼在搜索区域中通过超声波进行交流;2)每条鲸鱼能够计算出自身与其它鲸 鱼的距离;3)每条鲸鱼发现的食物的优劣程度通过适应度值表示;4)鲸鱼的移 动由比它好(由适应度值判断)的鲸鱼中离它最近的鲸鱼进行引导,这种引导鲸 鱼在本文中被称为“较优且最近”的鲸鱼。1)迭代公式无线电波和光波都是电磁波,它们可以在没有任何介质的情况下传播。如果 在水中传播,由于水具有强大的导电性,它们的强度会快速衰减。声波是一种需 要通过介质传播的机械波,介质可以是水

2、、空气、木材和金属等。超声波属于声 波,其传输速度和距离很大程度上取决于介质的属性,例如,超声波在水中的传 播速度约1450m/s,这比在空气中的传播速度(约340m/s)更快。另外,一些具 有预先指定强度的超声波在空气中只能传播 2 米,但是在水下可以传播约 100 米,这是因为机械波的强度会通过介质分子连续地衰减,并且超声波在空气中传 播的强度比在水中衰减得更快。距离波源d的超声波强度p可以由如下公式表示 29:p = P e-n-d(1)0其中p0指超声波源的强度,e为自然对数,为衰减系数,它取决于介质的物理 化学性质和超声波本身的属性(例如超声波频率) 29。如公式1所示,当n恒定时,

3、p随着d的增加呈指数减小,这意味着当超声 波的传播距离变得相当远时,鲸鱼传送的超声波所携带的消息很有可能失真。所 以,当一条鲸鱼接收到来自相当远的鲸鱼的信息时,它不确定自己理解是否正确, 这时,我们假设鲸鱼将消极地朝着离自己相当远的“较优且最近”的鲸鱼随机移 动。根据上述可以知道,在捕食的时候,如果距离“较优且最近”的鲸鱼较近, 鲸鱼将积极地向它随机移动;如果距离较远,鲸鱼会消极地向其随机移动。因此, 经过一段时间,就会形成一些独立的种群。这种基于超声波衰减的随机移动规则 启发了我们获得一种新的位置迭代公式,该公式使得算法不会过早陷入局部最优, 并且能够增强种群多样性和全局搜索能力,也有助于求

4、解多个全局最优解。鲸鱼X在它的“较优且最近”的鲸鱼Y引导下的随机移动可以由如下公式表示:-edx2)ii其中,xt和xt +1分别指X的第i个元素在t步与t+1步迭代的位置;yt指Y的i i i第i个元素在t步迭代的位置;d指X与Y之间的距离;randS,p刊匕丿表示X, Y00到p -e-n-dX Y之间产生的随机数,根据大量实验的结果,对于几乎所有的实例,0P0都可以设置为2。衰减系数n取决于介质的物理化学性质和超声波本身的属性。对于函数优化 问题,影响n的因素与目标函数的特征相关,包括函数的维数、定义域和峰值分 布。因此,需要针对不同的目标函数设置适当的n值。根据大量的实验结果,为 了方

5、便工程师应用鲸鱼群算法,我们可以按照如下方法设置n的初始近似值。首先,令p - e-n(dmax9)= 0.5,即2 - e-n(dmaX9)= 0 5, d指在搜索区域内两只鲸鱼之间 o max可能的最大距离,可由d =., (xu-XL)计算得到,其中n为目标函数的维数,XL与maxiiiXU分别表示第i个变量的下限与上限。这个公式表示如果鲸鱼X与其“较优且 i最近”的鲸鱼Y之间的距离是d时,P -e-n-dx,Y应设置为0.5,它影响着鲸鱼amaxoX的移动范围。因此20 -ln (0.25 ),dmax,基于该近似初始值,很容易将调整 为最优值或近似最优值。X1P - e-ndx Y

6、= 1.60P - e-%丫 = 0.50图 2 由“较优且最近”的鲸鱼引导的随机移动示意图根据公式 2 可知,如果一条鲸鱼与它的“较优且最近”的鲸鱼之间的距离很 小,该条鲸鱼将会积极地朝其“较优且最近”的鲸鱼随机移动;否则,它将消极 地朝着其“较优且最近”的鲸鱼随机移动,正如图2所示。图2中的目标函数维 数为 2,红色五角星表示全局最优解,圆圈表示鲸鱼,用虚线标记的矩形区域是 当前迭代中鲸鱼的可达区域。2)WSA 总体框架基于上述规则,WSA的总体框架如图3所示。其中,第6行中的|Q|表示鲸 鱼群Q中的个体数,即种群大小;第7行中的见是Q中的第i条鲸鱼。从图3 可以看出,与其它大多数元启发式

7、算法类似,迭代计算之前的步骤是一些初始化 步骤,包括参数的初始化配置、初始化个体的位置以及对每个个体的评价。这里, 所有的鲸鱼个体的位置是采用随机初始化的方式。 WSA 的核心步骤是鲸鱼的移 动(第 5-13 行),每条鲸鱼通过与群体中其它鲸鱼合作向更好的位置移动。首先, 鲸鱼需要确定它的“较优且最近”的鲸鱼(第 7行)。如果它的“较优且最近” 的鲸鱼存在,那么它将根据公式2向其“较优且最近”的鲸鱼移动(第 9行); 否则,它将保持原地不动。寻找“较优且最近”的鲸鱼的伪代码如图4 所示,其 中,几込)表示鲸鱼Q,的适应度值,distg Q“)表示Q,与Q“之间的距离。WSA的总体框架输入:适应

8、度函数,鲸鱼群输出:全局最优解。1:开始2:初始化参数;3:初始化鲸鱼位置;4:评价鲸鱼(计算其适应度值);5:while 终止条件不满足 do6:for i=1 to |Q| do7:寻找Qi的“较优且最近”的鲸鱼Y;8:if Y 存在 then9:您在Y的引导下根据公式(2)进行移动;10:评价您;11:end if12:end for13:end while14:返回 全局最优解;15:结束图3 WSA的总体框架寻找“较优且最近”的鲸鱼的伪代码输入:鲸鱼群Q,鲸鱼Q。U输出:鲸鱼Q的“较优且最近”的鲸鱼。U1: 开始2:定义整型(int)变量v并初始化为0;3:定义浮点型(float)变

9、量temp并初始化为+;4: for i=1 to |Q| do5:then6:if dist0Q )temp theniu7:v=i;8:temp=dist(Q , Q );iu9:end if10:end if11: end for12: 返回 Qv;13: 结束图4寻找“较优且最近”的鲸鱼的伪代码FJSP 的编码机制FJSP 问题包含机器分配和工序排序两个子问题,因此每个个体可采用基于 随机键的两段式编码,其中各段长度相等,且分别对应机器分配方案和工序排序 方案,假设个体位置向量长度为21,则克表示为X=x(l),x(2),.x(21),各元素均 在-,内任意取值。假设车间内包含3个工件

10、,每个工件包含两道工序,则 个体位置向量的总长度为12,各元素-3,3 中任意取值(注意此处为取值为工 件的个数),并按照一定的顺序储存,如图1所示。此处大家把那个文献的图画 一下。鲸鱼群算法的求解步骤整理:1鲸鱼群算法的参数初始化的设置,此处p = 2, b幸(XU -带入X与XU 分别表示第/个变量的下限与上限值,比如混合灰狼算法里面的(-3,3)进而将 dmax的值带入耳一20 -ln(0.25 )/dmaX得到的值,然后就可以进行求解了。2 鲸鱼群算法的种群随机初始化,例如初始化种群规模为 10,3 计算每个个体对应的适应度值,也就是目标函数值,并保留最优个体 X*;4 判断是否满足算

11、法终止条件,达到设定的最大迭代次数,不满足则执行步 骤5;满足则执行步骤 6.5 对剩余 9 个个体进行鲸鱼群算法的迭代操作5.1 定义两只鲸鱼之间的距离计算方法,5.2 如果存在的话,对每一个鲸鱼寻找“较优且最近”的个体;以 Xi 为例 如下,如果不存在的话则保持不动。5.2.1找到所有适应度值大于Xi的个体如Y1,Y2,Y3。522计算每一个适应度值大于大于Xi的个体Y1,Y2,Y3与Xi之间的距离 D1,D2,D3.5.2.3对D1,D2,D3排序,选择最小的如D3,则D3所对应的个体Y3即为 Xi的“较优且最近”的个体;5.4 将 Xi 和 Y3 的值,以及初始化的参数带入迭代公式(2

12、)更新剩余的 9 个个体,返回步骤3,计算连同X*在内的10个个体的适应度值,并选择最优的 X*;6输出最优的X*,以及对应的最佳调度方案和目标函数值,总的流程时间FJSP 的编码机制FJSP 问题包含机器分配和工序排序两个子问题,因此每个个体可采用基于 随机键的两段式编码,其中各段长度相等,且分别对应机器分配方案和工序排序 方案,假设个体位置向量长度为21,则克表示为X=x(l),x(2),.x(21),各元素均 在-,内任意取值。假设车间内包含3个工件,每个工件包含两道工序,则 个体位置向量的总长度为12,各元素-3,3 中任意取值(注意此处为取值为工 件的个数),并按照一定的顺序储存,如

13、图1所示。此处大家把那个文献的图画 一下。鲸鱼群算法的求解柔性作业车间调度问题(FJSP )步骤整理:1鲸鱼群算法的参数初始化的设置,此处p = 2, d =+-,此处大家把参数 0max补充一下2 鲸鱼群算法的种群随机初始化,按照 FJSP 的编码方式,随机生成初始种 群;例如初始化种群规模为 10,3计算每个个体对应的适应度值,也就是目标函数值,并保留最优个体X*;4 判断是否满足算法终止条件,达到设定的最大迭代次数,不满足则执行步 骤5;满足则执行步骤 6.5 对剩余9 个个体进行鲸鱼群算法的迭代操作5.1 执行调度方案向个体位置向量的转换方式生成对应的初始化鲸鱼个体种 群为 95.2

14、定义两只鲸鱼之间的距离计算方法,5.3 如果存在的话,对每一个鲸鱼寻找“较优且最近”的个体;以 Xi 为例 如下,如果不存在的话则保持不动。5.3.1找到所有适应度值大于Xi的个体如Y1,Y2,Y3。5.3.2计算每一个适应度值大于大于Xi的个体Y1,Y2,Y3与Xi之间的距离 D1,D2,D3.5.3.3对D1,D2,D3排序,选择最小的如D3,则D3所对应的个体Y3即为Xi 的“较优且最近”的个体;5.4 将 Xi 和 Y3 的值,以及初始化的参数带入迭代公式(2)更新剩余的 9 个个体,执行个体位置向量向调度方案的转换方式生成对应的更新之后的 9个调 度方案,返回步骤3,计算连同X*在内的10个个体的适应度值,并选择最优的 X*;6输出最优的X*,以及对应的最佳调度方案和目标函数值,总的流程时间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号