【问题标题】:How to pass multiple Time Matrix (N*N) to optaplanner如何将多个时间矩阵 (N*N) 传递给 optaplanner
【发布时间】:2016-12-14 12:21:57
【问题描述】:

我想根据城市的当前交通情况更新路线时间(到达)。所以我从谷歌 API 获取了多个时间矩阵。现在,在路由时,到达时间应该从为该时间间隔获取的矩阵计算。 例如:我获取了 3 个时间矩阵。 10:00 {N * N} 12:00 {N * N} 和 14:00 {N * N} 如果 previousCustomer 的到达时间是 11:00,那么对于下一位客户,时间应该从 Matrix 12:00{} 获取。

那么我如何使用 Optaplanner 做到这一点? 让我知道是否有人需要更多解释。谢谢

【问题讨论】:

    标签: optaplanner


    【解决方案1】:

    使用 OptaPlanner 中的矩阵并不难。只需将 RoadLocation.getDistanceTo(RoadLocation) 重构为 RoadLocation.getDistanceTo(RoadLocation, LocalDateTime startingTime) 并相应地调整您的评分规则。

    最大的问题是横向扩展时的内存。如果您有 10k 个位置,那么只有 1 个时间间隔已经花费了将近 2GB RAM 内存...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      相关资源
      最近更新 更多