基于遗传算法(GA)的计算卸载策略的求解(一)

0、参考文献

本节旨在研究遗传算法(GA)及其相关衍生算法在计算卸载系统中的应用。基于遗传算法(GA)的计算卸载策略的求解(一)(二)均基于论文《改进GA的边缘计算任务卸载与资源分配策略_贾觐》、《改进遗传算法的边缘计算卸载策略_葛海波》、《基于遗传算法的移动边缘计算混合关键任务卸载_邓添》、《一种基于遗传算法的多边缘协同计算卸载方案_高基旭》、《一种基于遗传算法的多站点协同计算卸载算法_季子豪》。

1、遗传算法简介

遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中的遗传和进化的过程而形成的自适应全局优化搜索算法。

更新策略的核心就是复制、交叉和变异,但是这几个操作如何实现呢,我们提出了将十进制的接转化为二进制的编码,全部将解变为0和1的组合,复制操作的话就直接进行复制,交叉的话直接将对应位置的二进制编码进行交叉互换,变异直接就是将0变为1或者将1变为0;最后我们求解到最优解的话可以直接对我们的二进制解进行解码,就得到我们的十进制的最优解。

复制也存在一些复制的策略,一般用的较多的就是轮盘赌法,将个体适应度大小映射为概率进行复制,应度高的个体有更大概率复制,且复制的份数越多;交叉:按顺序,两两个体之间按概率交叉。变异:每个个体都进行变异,或者选择其他的变异策略,可以不是每个个体都变异,相关的策略自己制定。

基本概念:

  1. 染色体和基因:在遗传算法中,问题的一个可行解被称为一条“染色体”,一个可行解可以有多个元素组成,每个元素称为一个“基因”。

  1. 适应度函数:在自然界中,似乎存在着一个上帝,它能够选择出每一代中比较优良的个体,而淘汰一些环境适应度较差的个人。那么在遗传算法中,如何衡量染色体的优劣呢?这就是由适应度函数完成的。适应度函数在遗传算法中扮演者这个“上帝”的角色。遗传算法在运行的过程中会进行N次迭代,每次迭代都会生成若干条染色体。适应度函数会给本次迭代中生成的所有染色体打个分,来评判这些染色体的适应度,然后将适应度较低的染色体淘汰掉,只保留适应度较高的染色体,从而经过若干次迭代后染色体的质量将越来越优良。

  1. 交叉:染色体通过交叉,生成下一代更优秀的染色体。

  1. 变异:当我们通过交叉生成了一条新的染色体后,需要在新染色体上随机选择若干个基因,然后随机修改基因的值,从而给现有的染色体引入了新的基因,突破了当前搜索的限制,更有利于算法寻找到全局最优解。

  1. 复制:每次进化中,为了保留上一代优良的染色体,需要将上一代中适应度最高的几条染色体直接原封不动地复制给下一代。

2、算法步骤

遗传算法的基本步骤:

  1. 编码:GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点;

浮点数编码:是指将个体范围映射到对应浮点数区间范围,精度可以随浮点数区间大小而改变。

  1. 初始群体生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体,N个个体构成了一个群体。GA以这N个串结构数据作为初始点进行进化;

  1. 适应度评估:适应度表明个体或解的优劣行,不同的问题,适应度函数的定义也不同。

  1. 选择:选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。遗传算法通过选择过程体现这一思想,进行选择的原则是适应性强的个体为下一代贡献一个或多个后代的概率大。选择体现了达尔文的适者生存原则;

  1. 交叉:交叉操作是遗传算法中最主要的遗传操作。通过交叉操作可以得到新一代个体,新个体组合了其父辈个体的特性。交叉体现了信息交换的思想;

  1. 变异:变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机的改变串结构数据中某个串的值。同生物界一样,GA中变异发生的概率很低,通常取值很小。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于遗传算法(Genetic Algorithm,GA)改进CloudSim资源调度策略是一种常用的方法,它能够优化资源的分配和任务调度,以提高云计算环境下的性能和效率。下面是一般的步骤: 1. 定义适应度函数:首先,需要定义一个适应度函数来评估每个个体(即资源调度策略)的优劣。适应度函数可以根据任务完成时间、资源利用率等指标来衡量。 2. 初始化种群:使用GA时,需要初始化一个初始种群,其中每个个体代表一个资源调度策略。可以随机生成或者采用其他启发式方法生成初始种群。 3. 选择操作:通过选择操作,从当前种群中选择一部分较好的个体作为下一代的父代。常用的选择操作包括轮盘赌选择、锦标赛选择等。 4. 交叉操作:通过交叉操作,将选中的父代个体进行交叉,产生新的后代个体。交叉操作可以使用单点交叉、多点交叉等方式。 5. 变异操作:为了保持种群的多样性,在交叉操作后,需要对新生成的后代个体进行变异操作。变异操作可以随机改变个体的某些特征或参数。 6. 更新种群:根据选择、交叉和变异操作生成的后代个体,更新当前种群。 7. 重复步骤3至6,直到满足终止条件。终止条件可以是达到最大迭代次数或者达到一定的收敛程度。 8. 选择最优解:在GA的最后一代种群中,根据适应度函数选择最优的个体作为最终的资源调度策略。 需要注意的是,具体的GA实现可以根据你的需求和实际情况进行调整。你可以根据CloudSim的框架和API,将GA的操作嵌入到资源调度策略中,并根据实验结果对其进行优化和调整。此外,还可以考虑使用GA的变种或结合其他优化算法来进一步改进资源调度策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

武力TYの武

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

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

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

打赏作者

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

抵扣说明:

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

余额充值