第12章 IDE での Red Hat ビルドの OptaPlanner の使用: 従業員の勤務表サンプル

ビジネスルールの作成者は、IDE を使用して Red Hat ビルドの OptaPlanner 機能を使用する optaweb-employee-rostering スターターアプリケーションのビルド、実行、および変更が可能です。

前提条件

  • Red Hat CodeReady Studio、IntelliJ IDEA などの統合開発環境を使用すること。
  • Java 言語を理解していること。
  • React および TypeScript を理解していること。この要件は、OptaWeb UI を開発するために必要です。

12.1. 従業員勤務表スターターアプリケーションの概要

従業員勤務表スターターアプリケーションは、組織内のさまざまな場所に従業員を割り当てます。たとえば、アプリケーションを使用して、病院での看護師のシフト、さまざまな場所での警備勤務シフト、作業者の組み立てラインのシフトを割り当てます。

従業員勤務表を最適化するには、多くの変数を考慮する必要があります。たとえば、業務が異なれば、求められるスキルが異なります。また、従業員の中には、特定の時間帯に勤務できない場合や、特定の時間帯での勤務を希望する場合があります。さらに、従業員によっては、1 回に就業できる時間に制限がある契約を交わしている可能性があります。

このスターターアプリケーションの Red Hat ビルドの OptaPlanner ルールは、ハード制約およびソフト制約を使用します。最適化時に、従業員が勤務できない (または病欠の) 場合や、ある 1 つのシフト内の 2 つのスポットで働くことができない場合など、プランニングエンジンはハード制約に違反することができません。プランニングエンジンは、ソフト制約 (特定のシフトで勤務しないという従業員の希望など) に順守しようとしますが、最適なソリューションには違反が必要だと判断した場合は、違反することができます。