【问题标题】:Unlimited vehicles in VRPVRP中的无限车辆
【发布时间】:2019-01-30 16:23:57
【问题描述】:

如何让 Optaplanner 在 VRP 问题中使用无限或动态数量的车辆?

在计算分数时会尽量减少车辆数量,因为每辆车都有一个基本成本。求解器应该初始化尽可能多的车辆,因为它认为方便

@PlanningEntityCollectionProperty
@ValueRangeProvider(id = "vehicleRange")
public List<Vehicle> getVehicleList() {
    return vehicleList;
}

目前我只是用预定义的车辆数量(例如 100 000)初始化车辆列表,但我不确定这对性能的影响,因为搜索空间比必要的大得多。

【问题讨论】:

    标签: optaplanner


    【解决方案1】:

    开箱即用,这是唯一的方法。您计算出数据集的最小最大车辆数,并使用它来确定车辆数。一方面,最小最大车辆数量永远不会大于访问次数。但通常你可以证明它远不止于此。

    话虽如此,OptaPlanner 架构确实支持创建或删除车辆的 Move,至少在理论上如此。没有开箱即用的动作可以做到这一点,因此您需要构建自定义动作来做到这一点 - 它会很快变得复杂。有一天,我们打算支持开箱即用的通用创建/删除移动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2022-07-24
      相关资源
      最近更新 更多