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

Optaplanner员工与VRPTW排班

牧梓
2023-03-14

我正在研究一个用例,它是护士排班示例和VRP问题的组合。单独来看,我理解并可以在一定程度上调整两者,但我不太确定如何合并它们。

为了进一步说明我的用例,我正在尝试安排护士(考虑技能、合同和偏好)前往位于20-40英里半径内的患者之家。

例如,具有“胰岛素”技能的护士需要前往患者处,在特定时间窗口内到达,执行一项任务15分钟,然后前往另一个患者处,执行相同的任务,并继续工作,直到8小时轮班结束。需要考虑多种技能和任务。

我回顾了护士名册示例,它非常适合我的用例,但我看不出如何修改它以考虑在“轮班地点”之间的旅行。VRPTW示例再次非常适合,但它没有考虑技能、合同和偏好。

关于如何模拟这个问题的任何想法都将受到高度赞赏。

共有1个答案

何禄
2023-03-14

即使我的答案可能仍然过于笼统,您无法使用,我也会以或多或少类似于以下内容的方式将这两种模型结合起来:

  • 使用护士排班示例的模型作为起点
  • 在该模型中,包括所有干预位置的属性;这至少包括:干预位置数据、在该位置进行干预的时间窗口,以及在本地进行干预所需的技能
  • 将两个模型的约束结合起来,不要忘记至少惩罚对技能集不足的地点进行访问的约束(听起来像是硬约束)和惩罚长旅行时间/距离的约束

我还怀疑,由于这两种模型的结合,阴影变量的使用更加频繁。

也许听起来还是太模糊了,但这将是我努力的方向。

 类似资料:
  • 我已经安装了openshift版本的员工花名册演示。我正在使用UI中的呼叫中心示例。在“点花名册”选项卡中,当我将某些点标记为未分配并单击“求解”按钮时,我看到Optaplanner开始优化,并看到软约束和硬约束的分数。即使在完成优化后,标记为未分配的内容仍然保持为未分配。我可以看到硬约束分数:0。为什么这些位置没有分配给可用的员工?

  • 如何使用约束流api计算员工的公平性。 https://www.optaplanner.org/blog/2017/02/03/FormulaForMeasuringUnfairness.html 我在网球求解器示例中看到了上述流口水的实现。 https://github.com/kiegroup/optaplanner/blob/581d10fb8140f37b7491d06b2bab8d5ac

  • 我已经为我的计划问题调整了课程时间安排示例......但我不知道如何确保连续或形容词周期。我的日程计划有活动,每个活动都有一个持续时间,我已将其转换为周期。例如......一个活动大约是120分钟,而时间段大约是30分钟,所以我创建了4个时隙活动。这种方式似乎很容易使活动适应不同的时期......但我找不到一种简单的方法来确保所有这些时隙活动必须是连续的。关于如何实现这一点有什么想法吗? 提前感谢

  • 您可将员工导入您的企业,便于后续对他们的用车行为进行管理。管理方式包括对员工的新增、删除、修改;以及对员工信息的编辑修改(角色、用车制度的分配)等。系统同时支持手工操作与批量操作两种方式,便于您更好地管理员工。 您需要登录滴滴企业版用车管理后台,点击左侧边栏“员工”选项,即可进入员工管理页面。下面将为您介绍员工管理的具体方式。

  • 我正在享受Optaplanner的旅程。Java不是我的“母语”,但令我惊讶的是(陡峭?)Optaplanner学习曲线 到目前为止,我得到了什么:我已经制作了一个带有必要类的项目。为了回答我的问题,我将简化为:一个类、一个类、一个类和类,我想在其中获得我完美的Opta计划时间表。 我的员工类有一个变量

  • 祝所有Optaplanner用户新年快乐, 一次旅行的开始时间可能不同,取决于几个条件(即,在旅行开始之前必须生产出要交付的货物;只有有限数量的卡车可以同时在工厂门口提供服务;卡车必须在开始新的旅行之前返回)。方法:同样,旅行的顺序也可能不同,而且卡车旅行之间的时间间隔可能会发生。 我的设计计划是,在Optaplanners VRPTW-example中将TourStartTime注释为第二个规划