并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?

遗传算法主要有3个参数,变异率,淘汰率和染色体数量。本文通过一个并行多机调度问题,通过交叉验证的实验的方法找到这几个参数可能的最优值。

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

有3台机器要完成30个工件,计算完成所有工件的最短时间。

首先优化变异率

将淘汰率固定在25%,染色体数量固定在50条,每组参数运行100次,取平均。

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

在淘汰率和染色体数量不变的情况下变异率很显然在2-4之间有一个最优值,这里取3.很有趣的是在变异率为0的时候只靠25%的淘汰平均时间为48,变异率为100%的时候相当于完全随机,只靠淘汰平均时间为56.65.

然后将变异率固定在3%染色体数量固定在50,优化淘汰率。每组参数运行100次,取平均。

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

如果淘汰率提高,每次只把排在前几名的染色体留下来交叉,是不是得到的平均时间更短,这个实验部分的验证了这个观点。当淘汰率达到90的时候,对于50条染色体意味着只留下5条来进行交叉,但仍然可以达到42.42.但是很明显的随着淘汰率提高因为交叉样本数量少了,成绩变的不稳定。所以淘汰率取25%。

另一个很有趣的数据是当淘汰率是0的时候,也就意味着完全靠3%变异,可以得到平均之间45.53.相比0变异率完全靠25%的淘汰的48,也就表明对于遗传算法,变异率的重要性要大于淘汰。只变异不淘汰的效果要好于只淘汰不变异。特别是只淘汰不变异的情况下得到的最优时间是一个没有变化的值(从1-100都是48,完全僵化),像是过拟合的效果。

第三步,将变异率固定在3%,将淘汰率固定在25%,调节染色体数。每组参数运行200次,取平均。

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

这组数据非常明确的是,染色体数量翻一倍,平均迭代需要时间要翻三倍,比如

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

从平均时间看来染色体数量超过60以后就差不多都是42左右,

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

从整体上看染色体数量60和200的值都比较优越,60 的迭代速度更快。但是200的平均时间最少。

这道题的最优时间可能是40小时。由染色体60和染色体200分别计算5次看看达到最优值40分别用多少时间

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

所以染色体60的平均迭代次数虽然是染色体200的7.46倍,但是因为迭代速度更快,染色体60达到40的平均时间只有染色体200达到40的平均时间的83%。

所以综合起来看,

变异率可能至少有1个不大的最优值,

淘汰率在整个[0,0.95)的区间上可能有多个最优值,但是随着淘汰率的增加性能变的不稳定

染色体数量增加一倍消耗时间变成原来的3倍左右,所以在保证性能和收敛速度的前提下染色体数量也不是越多越好。

所以选择的最优参数是变异率3%,淘汰率25%,染色体数量60.

如果变异和淘汰只能选择一样,应该选择变异,因为3%变异的性能是45.53,而25%淘汰的性能是48,变异比淘汰性能优5%。

一组40小时的解

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

具体数据

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

优化淘汰率数据

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

优化染色体数量数据

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

《并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?》

    原文作者:遗传算法
    原文地址: https://blog.csdn.net/georgesale/article/details/80519763
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞