当前位置: 首页 > 知识库问答 >
问题:

OR-TOOLS RL VRPTW问题中的移位长度约束?

汤洋
2023-03-14

我试图在OR-TOOLS RL VRPTW问题中强制执行换档长度约束。换档长度是车辆从到达第一个位置到离开最后一个位置的总时间。

看起来时间维度是完美的选择,但它会累积第一个位置的窗口开始,这并不好。

因此,为了重新迭代-我想要一个维度来累积传输时间、服务时间和等待时间(对于每个位置的时间窗口),但我不希望它累积路由中第一个位置的窗口开始时间(因为这正是这个驱动程序的转变开始的地方。如果驱动程序在节点i开始并在节点j结束,我希望约束是:time_dimension。CumulVar(j)-time_dimension。CumulVar(i)

有没有什么明显的造型技巧是我遗漏的?


共有1个答案

百里智勇
2023-03-14

感谢您@ihadanny的回答。为了给其他人提供更具体的帮助,我发布了以下答案:要将车辆的最大路线长度设置为600,您可以执行以下操作:

for vehicle_id in range(data['num_vehicles']):
        time_dimension.SetSpanUpperBoundForVehicle(600, vehicle_id) 
 类似资料:
  • 我遇到的问题是,当我在Flexbox中输入内容时,它的高度会增加。我不是100%确定为什么会发生这种情况,但我相信这与它没有处于绝对位置,从而保持其高度属性有关。 包括代码笔,我在这里为我正在制作的Flexbox风格的站点设置了HTML和CSS(也包括下面的代码片段),这里有一些关于它的信息 1-我有一个围绕网站内容的包装div,这样我可以控制背面的流程和背景 2-我为Flexbox的每一“行”设

  • 问题内容: 在MySQL中创建非NULL约束以使fieldA和fieldB不能都为NULL的最佳方法是什么。我不在乎任何一个本身是否为NULL,只要另一个字段具有非NULL值即可。而且,如果它们都具有非NULL值,那就更好了。 问题答案: MySQL 5.5引入了SIGNAL,因此我们不再需要Bill Karwin的答案中的额外列。Bill指出您还需要一个更新触发器,因此我也将其包括在内。

  • 我正在使用freemarker..想找到赋值变量的长度..我使用了size和length函数..但它失败并返回错误..请帮助我在如何找到赋值变量的长度 请找到下面我尝试过的代码... 对于“?size”左手操作数:需要扩展哈希、序列或扩展集合,但计算结果为markup_output(wrapper:f.c.templatexmloutputmodel):

  • 问题内容: 我正在创建一个asp.net 2.0 Web服务,它将json作为输出,并且存在一个很大的,无法分解的数据集,该数据集超过了最大长度限制 我在互联网上进行搜索,并且在.net 3.5和4上有解决方案,但没有2.0。 有谁能告诉我如何增加JSON长度限制? 问题答案: 我也有同样的问题。看到3.5和4.0解决方案感到沮丧。事实证明,您执行相同的操作,只需在Web.config中的标记中添

  • 代码如下: 在下拉框选择值后,就赋值arr的数组,然后去匹配列表的processName,在其的长度上相同的去掉, 期望下拉框选择值后,arr的数组只能选择一个,它的length

  • 问题内容: 我确定这对任何人来说都是一件容易的事! 为什么在Java中代码像 打印 这对我来说没有意义。是一个64位数字-而它看起来像上面的一个。我知道bitshifted s会进行int提升,但是在这种情况下我看不到发生了什么。 任何关于这里发生的事情的指针都将是很好的:) 谢谢 编辑 :感谢所有的答案-单击“提交”后,我意识到发生了什么,但是进入了模式,我无法删除!非常感谢! 问题答案: 这是