粒子群优化算法

时间:2015-05-16 15:22:55

标签: optimization traffic particles particle-swarm swarm

我有一个使用PSO算法解决流量问题的问题。 假设我们有n辆车(仅限于四辆车)这些车辆具有相同的目的地。 他们有不同的起始城市。(假设我们知道他们的位置(x,y)) D:起始城市和目的地之间的距离。 d:气体耗尽前的最大距离。 D>> d:每辆车必须加油N次,N = D / d 每辆车应该遵循的路径是不确定的。 任务: 我们正在寻找最少数量的加油站,以便每辆车都不会损坏(当然是因为气体)。加油站的数量是多少?它们的位置是什么。

1 个答案:

答案 0 :(得分:0)

我相信你可以用标准的Dijkstra搜索算法解决这个问题,只需稍微增加。

首先将起点设置为硬编码位置。像往常一样Dijkstra进行搜索,记录你遇到的加油站,但现在却忽略了它们。尝试到达目的地而不停止加油,但取消搜索您将耗尽汽油的所有节点。现在,如果你到达目的地而没有耗尽气体,这是最短的路径,它不涉及气体停止。

但是,如果您的燃气耗尽,则将起点(和起始距离)设置为您在上次搜索中找到的加油站,因此现在您有多个潜在的起点。然后它重复一遍。如果再次无法到达目的地,请从最后一次搜索中找到的所有加油站开始搜索。

保持这样做,直到您从上一个查询中的所有起点到达目的地为止。计算距离并选择最短路径。

现在,如果你到达一个没有气体停止并且未能到达最终目的地的阶段,那么没有可能的路线到达最终目的地而没有燃气。