我正在运行这个 DQN 算法,该算法试图最小化车辆行驶的总距离 (VRP)。 在训练中,正如您在图像中看到的那样,一切正常。损失在减少,平均长度在减少,而奖励在增加。
然而,在评估阶段,模型的行为却出乎意料。我正在运行 100 次评估迭代。在第一次运行中,结果很好。但是,接下来的评估有时会给我很好的结果,有时会带来非常糟糕的结果。在良好的结果中,我得到最小总距离(最小长度)值
4
,但有时评估会返回最小值 13
,即使评估是在相同的训练模型上完成的。
所以我的问题是这是正常行为吗?有没有办法改善这些评估结果?
附言:
以下是评估输出的示例: 找到的最短平均长度:5.406301895156503(这是训练的值) 现在这里是评估中的 2 个解决方案的示例
解决方案1:
[0, 1, 9, 4, 2, 3, 5, 0, 6, 7, 8, 10]
length 4.955087028443813
解决方案2:
[0, 4, 9, 3, 13, 0, 7, 13, 0, 10, 0, 6, 11, 5, 12, 1, 12, 0, 2, 12, 0, 8, 0]
length 10.15813521668315
前 100 次评估与解决方案 1 类似,我重新运行另外 100 次评估,得到与解决方案 2 类似的结果。