适用于大型数据集的OptaPlanner

时间:2016-05-31 21:04:20

标签: optaplanner

客户要求我使用Drools处理项目。看看Drools文档,我认为他们正在谈论OptaPlanner。

该公司接收来自许多客户的运输订单,并将这些订单链接到多个运营商的预订。去年的订单超过了100,000。 "优化"当前发生的是基于服务,分配和费率并且是线性的(使用约束将每个订单分配给承运人但不考虑周围订单)。要求是将池中的非关键订单保留若干天,并使用相同的约束优化池中的订单以获得最低成本。

最初他们想要运行"如果""去年的命令微调约束。如果此练习成功,他们希望在他们的实时系统中使用它。

我的问题是OptaPlanner是否是这项任务的正确工具,如果有的话,是否有一个例子可以让我开始使用。

1 个答案:

答案 0 :(得分:1)

看看vehicle routing videos,因为听起来你有车辆路线问题。

如果仅使用Drools分配订单,则基本上构建构造启发式(=贪婪算法)。如果您使用OptaPlanner分配订单(以及Drools来计算解决方案的质量(=得分)),那么您将获得更好的解决方案。请参阅false assumptions on vehicle routing以了解原因。

要扩展到100k订单(=计划实体),请使用Nearby Selection(最高可达10k)和分区搜索(a sign of weakness但需要10k以上)。

相关问题