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

或工具-车辆路径问题-防止从初始解决方案中删除节点

袁成化
2023-03-14

我们有一个具有时间和容量约束的VRP示例。

我们的场景如下:

  • 我们有5辆车

我们的问题是,算法有时在得到新请求时,会丢弃一些我们已经标记为可行并添加到车辆调度中的节点(乘客请求)。如何防止丢弃已经添加到解决方案(然后在初始解决方案中)的节点?

我们尝试从初始解决方案中为节点设置int.max惩罚,并对我们当前添加的节点设置稍微小的惩罚。当已经确认的节点稍后被删除时,它确实减少了事件的数量,但它仍然会发生。我们认为部分解决方案也不是正确的方法,因为如果符合容量和时间限制,车辆必须能够在运输乘客A时接受乘客B。锁定车辆看起来也不合适,因为它阻止我们向已解决的解决方案添加新乘客。

我们只需要一种方法,以某种方式防止某些节点被丢弃。在我们的示例中-已经添加到解决方案中的节点。换句话说,我们的初始解决方案可以更改,但不能删除任何节点。

提前谢谢你的帮助。

共有1个答案

盖泽宇
2023-03-14

我们设法通过删除惩罚来解决这个问题。因为我们为每个请求运行算法,我们的目标是尽可能多地接收客户,所以没有必要使用惩罚。当惩罚未使用或工具将在解决方案不可行时删除所有节点。在我们的例子中,这意味着如果新请求的解决方案不可行,这意味着我们必须拒绝请求。Or-tools将删除所有节点,但我们只是跳过保存新解决方案的部分(在这种情况下——不可行)。这样我们仍然有保存之前的旧可行结果。我们对即将到来的请求使用这个“旧”解决方案。

 类似资料:
  • 我有一个使用Google的工具或python库实现的工作车辆路径问题解决方案。我有一个包含9个位置的时间矩阵,每个位置都有时间窗口。所有值均以秒为单位。 (例如,第一个时间窗口是从28800到28800。28800秒相当于上午8:00。我希望在上午8:00访问此位置,即车辆段) 我有意只用一辆车来解决这个问题(本质上是解决一个旅行推销员问题)。我相信我正确地增加了我的维度,但我肯定可能犯了一个错误

  • 要求 我有一个车队。每辆车都有一个容量和它的存款,这个存款有一个时间窗口。从VRP的OptaPlanner的例子来看,我只对我作为浮点处理的容量做了一个变化。据我所知,OptaPlanner示例中的所有车辆都被移动到一个仓库。在我的情况下,每辆车都有自己的车辆段,每辆车都有自己固定的车辆段,有可能几辆车都有同一个车辆段。 R2-我有访问(送货服务)。每次访问都有一个需求和一个时间窗口。从VRP的O

  • 基于这个来自云平衡问题的示例,我尝试将客户从工作解决方案中删除,如下所示: 结果我得到了这个例外: java.lang.IllegalStateException:实体(Customer--6361356485874019865)有一个值为(Customer--902742678799526425)的变量(previousStandstill),该变量有一个值为(null)的sourceVaria

  • 本文向大家介绍nodejs的路径问题的解决,包括了nodejs的路径问题的解决的使用技巧和注意事项,需要的朋友参考一下 最近公司的一个开发项目,后端用的是nodejs。这两天需要打包给客户演示,就让公司一个小伙把之前3D机房的打包工具移植过来。打包之后,发现原本在开发环境下的跑的好好的项目,不能访问了。出现项目的首页不能访问的问题: can not get file index.html expr

  • 本文向大家介绍Nginx tp3.2.3 404问题解决方案,包括了Nginx tp3.2.3 404问题解决方案的使用技巧和注意事项,需要的朋友参考一下 最近我把Apache给换成nginx,当我把tp项目搬过去运行的时候发现404 错误 ,原来是因为nginx不支持 pathinfo 模式,需要自己配置 下面我配置 在server配置里面 保存配置之后,重启 nginx ,配置成功 直接支持类

  • 解决方案常见问题 Windows Needing to re-target the Windows SDK XCode XCode PNG Compression issue It is possible that your PNG images contain incorrect color profiles. You can convert color profiles using Image