Algorithm 用遗传算法求解TSP问题时的参数

Algorithm 用遗传算法求解TSP问题时的参数,algorithm,genetic-algorithm,Algorithm,Genetic Algorithm,我刚刚开始对遗传算法有所了解,我正在用它来解决旅行商问题。然而,我对应该使用什么参数感到困惑。让我解释一下我所说的参数是什么意思 参数: 人口规模 生产的儿童数量 突变数 我确信上述参数取决于我的问题中的城市数量,以及我的交叉和突变规范的确切形式。但这种关系是什么呢 关于参数应该是什么,有什么经验法则吗?任何类型的提示或建议都会很好 以下是我针对5个城市问题所做的详细说明: 1) 我生成了20条随机路径,总体=20 2) 选择14条最佳路径(丢弃6条最差路径) 3) 从14条最佳路径中随机选择两

我刚刚开始对遗传算法有所了解,我正在用它来解决旅行商问题。然而,我对应该使用什么参数感到困惑。让我解释一下我所说的参数是什么意思

参数:

人口规模

生产的儿童数量

突变数

我确信上述参数取决于我的问题中的城市数量,以及我的交叉突变规范的确切形式。但这种关系是什么呢

关于参数应该是什么,有什么经验法则吗?任何类型的提示或建议都会很好

以下是我针对5个城市问题所做的详细说明:

1) 我生成了20条随机路径,总体=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个城市


提前谢谢。

你的问题非常有趣,也很难回答,很抱歉没有确切的答案。我写了一本关于遗传算法的书,在这本书将近500页的篇幅中,我反复强调参数取决于你的问题

关于您的具体示例,让我们分析您的参数。你有20个人口,每一代你将产生6个不同的孩子。假设你有50代人,你将分析314种解决方案(20个原始个体加上49*6)。假设你有5个城市,你就有5个=120种可能的解决方案,因此使用遗传算法比穷举搜索更耗时

我知道这是一个象征性的问题,你关心的是更大的问题(用你的例子来说是15、48和500)。然而,经验法则是覆盖一小部分搜索空间(在48和500的情况下,这是自动的),以便使用遗传算法的良好特性来指导搜索,您可能会得到一个好的结果。我建议将高达0001%的搜索空间视为整个执行过程中生成的个人总数(对于像500个城市这样的大问题,这可能仍然太多)

关于使用的操作符,有很多话要说(在我的书中,它超过50页)。因此,我将向您推荐一篇作者撰写的精彩评论。尽管它有点旧,但它将为您更好地探索您的问题提供指导。如果您想要更快的引用,请考虑./P>
我很抱歉广告,但它不是为了卖书(毕竟,我的书只有葡萄牙语和西班牙语,所以我不认为这个名单上的大多数成员会买它)。我只是想指出,有很多关于这个主题的文献。如果你需要一本有趣的读物(而且你不会说葡萄牙语),我建议,它所提出的观点肯定会帮助你深入了解你的问题。

谢谢你的帮助。你的帖子很有帮助。我现在意识到,我应该问另一个问题,看看我应该从GA那里得到什么。