有一张带点的地图:
每个点旁边的绿色数字是该点的ID,红色数字是该点的奖励。我必须找到在#1点开始和结束的最快周期,并且至少获得x(在这种情况下为15)奖励积分。我可以多次使用城市;但是,我只会获得一次奖励积分。 我必须使用近似算法来做到这一点,但我真的不知道从哪里开始。
输出如下:
(1,3,5,2,1) (11.813 length)
答案 0 :(得分:0)
这不是NP问题吗?如果是这样的话,你就找不到最快的一个而不测试所有可能性,这需要相当长的时间。
问题类似于Traveling Sales Man,恕我直言。到目前为止,这个问题最着名的解决方案是Ant Colony Solution。该解决方案并不能保证始终找到最佳解决方案,但它会在可接受的时间内找到至少一个非常好的解决方案。
我认为有可能通过以某种方式考虑奖励积分来修改蚁群解决方案以解决您的问题。可能不是你跳过的答案,但是我现在必须提供的最好的答案。