Algorithm 对于使用遗传算法的封闭路径规划任务,什么是良好的个体表示?
有一个n*n网格,网格的一个单元中有一个代理a。 A可以移动T个细胞 网格中的每个单元格都有一些权重,而A的路径必须最大化该权重 A还必须返回其行程T内的起始位置 什么是一个好的个体表示来表示路径 我尝试过的方法:Algorithm 对于使用遗传算法的封闭路径规划任务,什么是良好的个体表示?,algorithm,graph,genetic-algorithm,Algorithm,Graph,Genetic Algorithm,有一个n*n网格,网格的一个单元中有一个代理a。 A可以移动T个细胞 网格中的每个单元格都有一些权重,而A的路径必须最大化该权重 A还必须返回其行程T内的起始位置 什么是一个好的个体表示来表示路径 我尝试过的方法: 染色体是一个坐标列表 染色体是一系列的方向。每个基因都是向上、向下、向右、向右等方向。中间路径从不间断。 这两种方法的问题在于,交叉几乎总是生成无效路径。道路在中间变得破碎。它们不会形成一条封闭的路径。我似乎找不出一个好方法来表示单个解决方案和适当的交叉方法。请帮助。首先,我想说,这
这两种方法的问题在于,交叉几乎总是生成无效路径。道路在中间变得破碎。它们不会形成一条封闭的路径。我似乎找不出一个好方法来表示单个解决方案和适当的交叉方法。请帮助。首先,我想说,这个问题更适合其他方法,例如,贪婪的方法,提供足够好的解决方案等。气体可能不太适合您描述的确切原因 但是,如果必须使用气体,以下两种可能的模型可能值得研究:
首先,我想说,这个问题更适合其他方法,例如,贪婪的方法,可以提供足够好的解决方案等。气体可能不太适合你描述的确切原因 但是,如果必须使用气体,以下两种可能的模型可能值得研究:
您可以将路径编码为参考列表: 假设这些是您的位置
(123456789)
(1 2 3 4 8)
的子集路由可以进行编码(1 2 1 4)
现在带上两个父母
p1=(1 1 2 1 | 4 1 3 1)
p2=(5 1 5 | 5 3 2 1)
那会产生什么
o1=(1 1 2 1 5 3 2 1)
o2=(51541311)
它们将被解码成这些定位路线
o1=1-2-4-3-9-7-8-6-5
氧气=5-1-7-8-6-2-9-3-4
这样,交叉总是会产生有效的结果(这种表示是否能帮助您更好地解决问题是另一个问题)
可以找到一些附加信息。您可以将路径编码为参考列表: 假设这些是您的位置
(123456789)
(1 2 3 4 8)
的子集路由可以进行编码(1 2 1 4)
现在带上两个父母
p1=(1 1 2 1 | 4 1 3 1)
p2=(5 1 5 | 5 3 2 1)
那会产生什么
o1=(1 1 2 1 5 3 2 1)
o2=(51541311)
它们将被解码成这些定位路线
o1=1-2-4-3-9-7-8-6-5
氧气=5-1-7-8-6-2-9-3-4
这样,交叉总是会产生有效的结果(这种表示是否能帮助您更好地解决问题是另一个问题)
可以找到一些额外的信息。实际上,我决定使用遗传算法,因为互联网上有很多论文提供了从地图上的a点到B点的某种方法,并使用遗传算法获得最佳路径。让我的问题不同的是,我不一定想要最短路径。我想最大化路径覆盖的单元格中的wights,同时将路径的总长度保持在代理的最大范围内。根据问题中无效路径的数量,可能会导致适应环境变得极其参差不齐。搜索过程可能会恶化为随机搜索。如果可以,您应该尝试从无效路径中获得一些有意义的信息(与二分法分类相反的无效性度量是很好的)。我也会尝试ACO方法,因为用遗传算法来表示你的问题可能很困难。事实上,我决定使用遗传算法,因为互联网上有很多论文提供了一些方法,可以从地图上的a点到B点,并使用遗传算法获得最佳路径。我的问题不同之处在于,我不一定想要最短路径。我想最大化路径覆盖的单元格中的wights,同时将路径的总长度保持在代理的最大范围内。根据问题中无效路径的数量,可能会导致适应环境变得极其参差不齐。搜索过程可能会恶化