【问题标题】:Particle Swarm Optimzation粒子群优化
【发布时间】:2015-05-16 15:22:55
【问题描述】:

我有一个关于使用 PSO 算法解决交通问题的问题。 假设我们有 n 辆车(这里只限于四辆车)这些车辆有相同的目的地。 他们有不同的起始城市。(假设我们知道他们的位置(x,y)) D:出发城市到目的地的距离。 d:它在耗尽气体之前可以行驶的最大距离。 D >> d : 每辆车加油 N 次 N=D/d 每辆车应该遵循的路径是未定义的。 任务: 我们正在寻找最少数量的加油站,以便每辆车都不会抛锚(当然是因为汽油)。加油站的数量是多少,它们的位置是什么。

【问题讨论】:

    标签: optimization traffic particles particle-swarm swarm


    【解决方案1】:

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

    首先将您的起点设置为硬编码位置。像往常一样进行 Dijkstra 搜索,记下您遇到的加油站,但暂时忽略它们。尝试在不停止加油的情况下到达目的地,但取消对所有可能耗尽加油的节点的搜索。现在,如果您在没有用完油的情况下到达目的地,那是最短的路径,并且不涉及加油站。

    但是,如果您确实用完了汽油,请将起点(和起点距离)设置为您在之前搜索中找到的加油站,这样现在您就有了多个可能的起点。然后它只是重复。如果您再次未能到达目的地,请从您在上次搜索中找到的所有加油站开始搜索。

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

    现在,如果您到达加油站用完但未能到达最终目的地的阶段,那么就没有可能到达最终目的地而不用完油的路线。

    【讨论】:

    • 谢谢你的回答,但这里的目标是使用 PSO。
    • 哦,我的错,我没有意识到你必须使用 PSO。恐怕我有点难过,因为我不确定如何用这种加油标准来评估健康水平。
    • 感谢您的回复。是的,这是我的问题,“健身”让我发疯......无论如何......你知道我可以发布这个问题的任何其他论坛吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2012-10-04
    • 1970-01-01
    相关资源
    最近更新 更多