Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
2.2.5.2. 従業員のシフト数のバランスを取るガイド付きルールの作成
ガイド付きルール BalanceEmployeesShiftNumber は、可能な限りバランスを取るように従業員にシフトを割り当てるソフト制約を作成します。これは、シフトの分配が平等でなくなると増えるスコアペナルティーを作成することで行います。ルールによって実装されたスコア式により、Solver がよりバランスの取れるようにシフトを分散させます。

手順
- Business Central で、Menu → Design → Projects に移動して、プロジェクト名をクリックします。
- Add Asset → Guided Rule の順にクリックします。
-
Guided Rule 名 に
BalanceEmployeesShiftNumberと入力し、Package でemployeerostering.employeerosteringを選択します。 - OK をクリックして、ルールアセットを作成します。
-
WHEN フィールドで
をクリックして、WHEN 条件を追加します。
-
Add a condition to the rule ウィンドウで
Employeeを選択します。+OK をクリックします。 -
Employee条件でクリックして制約を修正し、変数名$employeeを追加します。 WHEN 条件
From Accumulateを追加します。-
From Accumulate条件の上で click to add pattern をクリックし、ドロップダウンリストでファクトタイプNumberを選択します。 -
変数名
$shiftCountをNumber条件に追加します。 -
From Accumulate条件の下で click to add pattern をクリックして、ドロップダウンリストでShiftAssignmentファクトタイプを選択します。 -
変数名
$shiftAssignmentをShiftAssignmentファクトタイプに追加します。 -
ShiftAssignment条件を再度クリックし、Add a restriction on a field ドロップダウンリストでemployeeを選択します。 -
employee制約の横にあるドロップダウンリストでequal toを選択します。 -
ドロップダウンボタンの横の
アイコンをクリックして変数を追加し、Field value ウィンドウで Bound variable をクリックします。
-
ドロップダウンリストで
$employeeを選択します。 -
Function ボックスに
count ($shiftAssignment)と入力します。
-
-
THEN フィールドで
をクリックして、THEN 条件を追加します。
Add a new actionウィンドウで Modify Soft Score を選択します。+OK をクリックします。-
ボックスに
- ($shiftCount.intValue()*$shiftCount.intValue())と入力します。
-
ボックスに
- 右上隅の Validate をクリックし、ルール条件がすべて有効であることを確認しますルールの妥当性確認に失敗したら、エラーメッセージに記載された問題に対応し、ルールの全コンポーネントを見直し、エラーが表示されなくなるまでルールの妥当性確認を行います。
- Save をクリックして、ルールを保存します。
ガイド付きルールの作成方法は ガイド付きルールを使用したデシジョンサービスの作成 を参照してください。