第 12 章 在 IDE 中使用 Red Hat build of OptaPlanner: employee rostering 示例

作为自定义规则开发人员,您可以使用 IDE 来构建、运行和修改 optaweb-employee-rostering starter 应用程序,该应用程序使用红帽构建的 OptaPlanner 功能构建、运行和修改。

先决条件

  • 您可以使用集成开发环境,如 Red Hat CodeReady Studio 或 IntelliJ IDEA。
  • 您已了解 Java 语言。
  • 您已了解 React 和 TypeScript。这个要求需要开发 OptaWeb UI。

12.1. 员工入门应用程序概述

员工入门程序应用为员工分配在机构的不同位置上移动的员工。例如,您可以使用应用程序在 nurses 之间分发转换,保护任务在多个位置间移动,或者在 worker 间移动行。

最佳员工必须考虑多个变量。例如,在不同位置上移动需要不同的知识。另外,一些员工可能不适用于一些时间插槽,或者可能首选特定的时间插槽。此外,员工可以有一个合同,限制员工可在单一时间段内工作的小时数。

红帽为此入门应用程序构建的 OptaPlanner 规则使用硬和软限制。在优化过程中,规划引擎可能无法违反硬限制,例如,如果员工不可用(开箱即用),或者员工无法在单个迁移中工作两个点。规划引擎尝试遵循软限制,如员工的首选项无法进行特定的转换,但如果最佳解决方案需要,则可能会违反它们。