如何将多个时间矩阵 (N*N) 传递给 optaplanner
How to pass multiple Time Matrix (N*N) to optaplanner
我想根据 city.So 中的当前流量更新路线时间(到达)我从 Google API.Now 中获取了多个时间矩阵,而路由到达时间应该是从为该时间间隔获取的矩阵计算。
例如:我已经获取了 3 个时间矩阵。 10:00 {N * N} 12:00 {N * N} 和 14:00{N * N}
如果上一个客户的到达时间是 11:00,那么下一个客户的到达时间应该从 Matrix 12:00{} 中获取。
那么我如何使用 Optaplanner 来做到这一点?
让我知道是否有人需要更多解释。谢谢
使用 OptaPlanner 中的矩阵并不难。只需将 RoadLocation.getDistanceTo(RoadLocation)
重构为 RoadLocation.getDistanceTo(RoadLocation, LocalDateTime startingTime)
并相应地调整您的分数规则。
最大的问题是横向扩展时的内存。如果您有 10k 个位置,那么仅 1 个时间间隔就已经花费了将近 2GB RAM 内存...
我想根据 city.So 中的当前流量更新路线时间(到达)我从 Google API.Now 中获取了多个时间矩阵,而路由到达时间应该是从为该时间间隔获取的矩阵计算。 例如:我已经获取了 3 个时间矩阵。 10:00 {N * N} 12:00 {N * N} 和 14:00{N * N} 如果上一个客户的到达时间是 11:00,那么下一个客户的到达时间应该从 Matrix 12:00{} 中获取。
那么我如何使用 Optaplanner 来做到这一点? 让我知道是否有人需要更多解释。谢谢
使用 OptaPlanner 中的矩阵并不难。只需将 RoadLocation.getDistanceTo(RoadLocation)
重构为 RoadLocation.getDistanceTo(RoadLocation, LocalDateTime startingTime)
并相应地调整您的分数规则。
最大的问题是横向扩展时的内存。如果您有 10k 个位置,那么仅 1 个时间间隔就已经花费了将近 2GB RAM 内存...