请问怎样确定遗传算法的参数

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:23:13
也就是怎样确定种群大小,交叉率,变异率等。希望高手给与解答

不是概率问题吗/

遗传算法的参数设计对于不同的实际问题都不同
目前还没有完整的理论来参考

种群大小越大 收敛效果越好 但计算量也会增大
在空间复杂度(内存大小)和计算速度允许的情况下 尽量大一些 不过如果问题的解空间不大或者是变化的话 则要另加考虑(解空间不大就没必要把种群定得很大了)

交叉率。。。一般都是全部参与交叉(染色体都会交叉嘛) 只是交叉方式的设计问题,有单点,多点,随机等等 另外还要考虑交叉后解的可行性 对于具体问题,可以各种方法都试一下(这方面的理论实在是很弱)

变异率不要设高,一般在%5以下,变异是为了避免把个体局限在较优的局部解空间内(模拟退火算法就有这个问题,所以经常会结合遗传算法)

总结一下,这个算法的理论支持目前还较弱,但是很实用,反正算得快,多算几遍,参数多改改,一般和近似解都很接近

种群大小一般可取80~320;
交叉率一般取0.7~0.9;
变异率0.05~0.15就可以了,一般比较小的时候稳定,也容易找到最佳值,但是有时候找不到最佳,可以取大一点尝试一下!这就是我用遗传的经验,希望能帮上你!