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

optaplanner 开箱即用是否支持多次行程且无仓库的 VRP

宇文曦
2023-03-14

我正在研究具有以下特征的VRP:

  • 车辆一次只能接1名顾客
  • 车辆在一个地点接顾客,在目的地放下顾客
  • 送走顾客后,车辆继续接另一名顾客
  • 在两次旅行之间,没有车辆需要去的仓库。
  • 车辆在一天内尽可能多地往返接送顾客
  • 一天结束时,车辆回到指定的停车站

本质上,它就像一个出租车系统。在我看来,这是一个多次旅行(VRPMT)和没有车厂(开放VRP)的VRP。我想知道

  1. optaplanner 是否支持开箱即用的 VPRMT 和 OVRP?
  2. 如果 VPRMT 和 OVRP 不是现成的支持,那么修改现有的 CVRP/CVRPTW 示例以使其解决 OVRP 和 VPRMT 有多容易?
  3. 也许我走错了路,它甚至不是VRP。如果是这样,对于类似出租车的系统来说,正确的规划问题是什么?

提前非常感谢!

共有1个答案

夏烨霖
2023-03-14
  1. 不,示例还不包括取货和送货或多次旅行
  2. 用户以前做过添加取货和送货(如果多个客户不能同时在车上,这很容易(否则就更难了,我可能会在某一天添加一个这样的例子)。多次旅行和开放VRP应该很容易(尽管我认为你的停车场是一个停车场,你可能没有多次旅行,只是在同一次旅行中顺序有多个客户)。
  3. 这绝对是VRP的变体。请注意,每个企业都有自己的VRP风格。您总是会发现一些自定义约束(现在或以后在开发过程中)。OptaPlanner允许您根据需要添加这些定义约束。

试试这个:以OptaPlanner VRP为例,将Depot重命名为ParkingStation。将客户位置拆分为取件位置和送货位置,并调整分数规则,使软分数为以下各项的总和:

    < li >从收件到交货的所有距离 < li >到下一个提货距离的所有交货 < li >每次停车到第一次取车的距离 < li >每次最后交货至停车距离
 类似资料:
  • 问题内容: 我正在尝试使用HTML5功能。它可以使用IE8完成,但是当我尝试使用它时,却出现了JavaScript错误 所以我的问题是:IE8 可以直接使用吗?这是我的代码: 问题答案: 它确实支持,尽管您需要处于IE8模式(这在IE7模式下不起作用)。 要检查您是否在IE8模式下工作,请加载开发人员控制台。在顶部,确保已选择IE8模式。标准模式也不错。 您还需要确保的一件事是您正在使用HTML5

  • Workerman有一个依赖pthreads扩展的MT多线程版本,但是由于pthreads扩展还不够稳定,所以这个Workerman多线程版本已经不再维护。 目前Workerman及其周边产品都是基于多进程单线程的。

  • 所以,如果我们只想在Liferay startup上运行一些东西,我们可以使用其他一些答案中描述的技术,比如下面。然而,为了使用OS管理表达式来表达自己,它提供了“自动运行”功能。每次启动Liferay时,此代码都会运行。这对于portlet初始化和其他工作非常有用,每次启动Liferay时都需要执行这些操作。 但是,我想知道的是,Liferay中是否有“运行一次”功能?那么,有没有一种方法可以指

  • 我在处理多车路线问题。我正在尝试Optaplanner,看起来很好,很有前途。 提前谢了。 向你问好,费德里科。

  • Workerman有一个依赖pthreads扩展的MT多线程版本,但是由于pthreads扩展还不够稳定,所以这个Workerman多线程版本已经不再维护。 目前Workerman及其周边产品都是基于多进程单线程的。

  • 我在Unity中有项目,使用Mapbox, Mapbox包含以下支持库:support-v4-25.1.0.aar 此库以.aar文件的形式提供,而不是作为gradle命令 尝试构建项目时,我收到此错误: 无法确定任务的依赖项:启动程序:lintVitalRelease。< br >无法解析配置的所有项目:launcher:debuguntimeclass path。< br >无法转换支持-v4