【发布时间】:2012-06-17 14:25:27
【问题描述】:
我刚开始接触遗传算法,我正在用它来解决旅行商问题。但是,我对应该使用哪些参数感到困惑。让我解释一下参数的含义。
参数:
人口规模
生育子女数
突变数
我确信上述参数取决于我遇到的问题中的城市数量,以及我的 crossover 和 mutations 规范的确切形式。但到底是什么关系呢?
对于什么参数应该是什么类型或经验法则?任何形式的提示或建议都会很棒。
这是我对 5 个城市问题所做的详细说明:
1) 我生成了 20 条随机路径,population = 20
2) 选出 14 条最佳路径(丢弃 6 条最差路径)
3) 从 14 条最佳路径中随机选择的两条路径创建 2 个突变体
突变数 = 2
(对于突变,我只是随机交换了两个城市的顺序
例如:0,1,2,3,4,0 可以变成 0,1,3,2,4,0
4) 我从 8 条最佳路径中创建了 4 个孩子。
孩子数 = 4
(对于交叉,我保留了共同的子路径,其余的都是
随机生成)
例如:父 1:0,1,2,3,4,0,父 2:0,2,1,3,4,0
3,4 是共同的,因此子路径将从
3,4,其余随机。子路径可能是:
0,3,4,1,2,0 或 0,2,3,4,1,0
5) 现在我有 2 个突变体和 4 个孩子,我将它们添加到我的 14 条最佳路径中 我有 20 条路径。
6) 执行步骤 2)、3)、4)、5),依此类推。
我纯粹是随意设置参数?他们还好吗?我应该用什么?对于 15 个城市的问题,我应该使用哪些参数? 48个城市? 500 个城市?
提前致谢。
【问题讨论】:
标签: algorithm genetic-algorithm