使用 OR-Tools 解决 VRP 的二次延迟成本

问题描述

我希望使用 C++ 中的 or 工具解决具有软时间窗口的车辆路线问题。 但是,在我的用例中,迟到成本应该是二次方的,因此如果车辆迟到 x 个时间单位,则成本为 x^2。 因此,我似乎无法使用 SetCumulVarSoftUpperBound,因为它会产生线性成本。

有什么好的办法吗?

我看过 SetCumulVarPiecewiseLinearCost 但它似乎要求我为每个时间单位和每个时间变量创建一个数据点数组。由于我的图中有大约 1000 个节点并且时域非常大,因此这种方法似乎相当昂贵。我希望也许有某种方法可以使用 lambda 而不是显式分段线性函数来做到这一点。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)