并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?
遺傳算法主要有3個參數(shù),變異率,淘汰率和染色體數(shù)量。本文通過一個并行多機調(diào)度問題,通過交叉驗證的實驗的方法找到這幾個參數(shù)可能的最優(yōu)值。
有3臺機器要完成30個工件,計算完成所有工件的最短時間。
首先優(yōu)化變異率
將淘汰率固定在25%,染色體數(shù)量固定在50條,每組參數(shù)運行100次,取平均。
在淘汰率和染色體數(shù)量不變的情況下變異率很顯然在2-4之間有一個最優(yōu)值,這里取3.很有趣的是在變異率為0的時候只靠25%的淘汰平均時間為48,變異率為100%的時候相當于完全隨機,只靠淘汰平均時間為56.65.
然后將變異率固定在3%染色體數(shù)量固定在50,優(yōu)化淘汰率。每組參數(shù)運行100次,取平均。
如果淘汰率提高,每次只把排在前幾名的染色體留下來交叉,是不是得到的平均時間更短,這個實驗部分的驗證了這個觀點。當淘汰率達到90的時候,對于50條染色體意味著只留下5條來進行交叉,但仍然可以達到42.42.但是很明顯的隨著淘汰率提高因為交叉樣本數(shù)量少了,成績變的不穩(wěn)定。所以淘汰率取25%。
另一個很有趣的數(shù)據(jù)是當淘汰率是0的時候,也就意味著完全靠3%變異,可以得到平均之間45.53.相比0變異率完全靠25%的淘汰的48,也就表明對于遺傳算法,變異率的重要性要大于淘汰。只變異不淘汰的效果要好于只淘汰不變異。特別是只淘汰不變異的情況下得到的最優(yōu)時間是一個沒有變化的值(從1-100都是48,完全僵化),像是過擬合的效果。
第三步,將變異率固定在3%,將淘汰率固定在25%,調(diào)節(jié)染色體數(shù)。每組參數(shù)運行200次,取平均。
這組數(shù)據(jù)非常明確的是,染色體數(shù)量翻一倍,平均迭代需要時間要翻三倍,比如
從平均時間看來染色體數(shù)量超過60以后就差不多都是42左右,
從整體上看染色體數(shù)量60和200的值都比較優(yōu)越,60 的迭代速度更快。但是200的平均時間最少。
這道題的最優(yōu)時間可能是40小時。由染色體60和染色體200分別計算5次看看達到最優(yōu)值40分別用多少時間
所以染色體60的平均迭代次數(shù)雖然是染色體200的7.46倍,但是因為迭代速度更快,染色體60達到40的平均時間只有染色體200達到40的平均時間的83%。
所以綜合起來看,
變異率可能至少有1個不大的最優(yōu)值,
淘汰率在整個[0,0.95)的區(qū)間上可能有多個最優(yōu)值,但是隨著淘汰率的增加性能變的不穩(wěn)定
染色體數(shù)量增加一倍消耗時間變成原來的3倍左右,所以在保證性能和收斂速度的前提下染色體數(shù)量也不是越多越好。
所以選擇的最優(yōu)參數(shù)是變異率3%,淘汰率25%,染色體數(shù)量60.
如果變異和淘汰只能選擇一樣,應該選擇變異,因為3%變異的性能是45.53,而25%淘汰的性能是48,變異比淘汰性能優(yōu)5%。
一組40小時的解
具體數(shù)據(jù)
優(yōu)化淘汰率數(shù)據(jù)
優(yōu)化染色體數(shù)量數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的并行多机调度遗传算法调参记录---变异和淘汰哪个更重要?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚁群算法调参记录
- 下一篇: 神经网络有可能被公式化表达吗?