gpt4 book ai didi

java - 不允许硬性规则破坏,即使可以为空的解决方案在 VRS 中也可以

转载 作者:行者123 更新时间:2023-12-02 01:10:59 25 4
gpt4 key购买 nike

我正在使用 OptaPlanner 的车辆路由模块。在网站上的这个示例中,车辆必须访问所有客户,无论它是否违反硬约束(容量等)。从技术上讲,代码中是否可以实现不违反任何硬性规则,甚至更少或不发生车辆和客户的分配。

最佳答案

如果我正确理解这个问题,您所说的是过度约束的规划情况,其中所有客户的需求总和大于车队的总容量。

您希望 OptaPlanner 只提出可行的解决方案,即不超过任何车辆的容量(因为这在物理上是不可能的),即使以不拜访所有客户为代价(这在物理上是可能的)。

我认为由于车辆路由域的建模方式,目前这是不可能的。它被称为variable chaining 。在这种情况下,每个初始化的实体(客户)都是链的一部分。未访问的客户是不属于任何链的客户,因此是未初始化的实体,但求解器无法取消初始化实体。

作为解决方法,您可以使用具有无限容量的幽灵车辆实体,并将其用作后备来访问由于容量限制而无法通过真实车辆访问的客户。通过这种方法,您必须调整评分函数以激励使用真实车辆而不是幽灵车辆。

关于java - 不允许硬性规则破坏,即使可以为空的解决方案在 VRS 中也可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59414137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com