第4章 従業員の勤務表プロジェクトへのデータモデルの作成
このセクションでは、Decision Central で従業員の勤務表サンプルプロジェクトを実行するのに必要なデータオブジェクトを作成します。
前提条件
「2章従業員の勤務表サンプルプロジェクトの設定」に従ってプロジェクトを設定している。
手順
-
新規プロジェクトで、プロジェクトパースペクティブの Data Object をクリックするか、Create New Asset
Data Object をクリックして、新しいデータオブジェクトを作成します。 最初のデータオブジェクトの名前を
Timeslotとし、パッケージ でemployeerostering.employeerosteringを選択します。OK をクリックします。
-
Data Objects パースペクティブで +add field をクリックして、
Timeslotデータオブジェクトにフィールドを追加します。 -
id フィールドで
endTimeと入力します。 -
Type の横にあるドロップダウンメニューをクリックし、
LocalDateTimeを選択します。 - Create and continue を別のフィールドに追加します。
-
id
startTimeおよび TypeLocalDateTimeを使用して、フィールドを追加します。 - Create をクリックします。
-
右上の Save をクリックして、
Timeslotデータオブジェクトを保存します。 - 右上の x をクリックして、Data Objects パースペクティブを閉じ、Assets メニューに戻ります。
前述の手順で、以下のデータオブジェクトとその属性を作成します。
Expand 表4.1 Skill id タイプ nameStringExpand 表4.2 Employee id タイプ nameStringskillsemployeerostering.employeerostering.Skill[List]Expand 表4.3 Shift id タイプ requiredSkillemployeerostering.employeerostering.Skilltimeslotemployeerostering.employeerostering.TimeslotExpand 表4.4 DayOffRequest id タイプ dateLocalDateemployeeemployeerostering.employeerostering.EmployeeExpand 表4.5 ShiftAssignment id タイプ employeeemployeerostering.employeerostering.Employeeshiftemployeerostering.employeerostering.Shift
データオブジェクトの詳細は『デシジョンサービスの使用ガイド』を参照してください。
4.1. 従業員の勤務表プランニングエンティティーの作成 リンクのコピーリンクがクリップボードにコピーされました!
従業員勤務表の計画問題を解決するには、プランニングエンティティーと Solver を作成する必要があります。プランニングエンティティーは、Red Hat Business Optimizer ドックで利用可能な属性を使用して、ドメインデザイナーに定義します。
以下の手順に従って、従業員の勤務表サンプルに、ShiftAssignment データオブジェクトをプランニングエンティティーとして定義します。
前提条件
- 従業員の勤務表サンプルを実行するには、「4章従業員の勤務表プロジェクトへのデータモデルの作成」の手順に従って、関連するデータオブジェクトとプランニングエンティティーを作成する必要があります。
手順
-
プロジェクトの Assets メニューから、
ShiftAssignmentデータオブジェクトを開きます。 -
Data Objects パースペクティブで、右側の
をクリックして Red Hat Business Optimizer ドックを開きます。
- Planning Entity を選択します。
-
ShiftAssignmentデータオブジェクトのフィールドリストでemployeeを選択します。 Red Hat Business Optimizer ドックで Planning Variable を選択します。
Value Range Id 入力フィールドに
employeeRangeを入力します。これにより、@ValueRangeProviderアノテーションがプランニングエンティティーに追加され、デザイナーのSourceタブをクリックすると表示されます。プランニング変数の値の範囲は
@ValueRangeProviderアノテーションで定義されます。@ValueRangeProviderアノテーションにはidプロパティーが常にあり、@PlanningVariableのvalueRangeProviderRefsプロパティーから参照されます。- ドックを閉じ、Save をクリックして、データオブジェクトを保存します。
4.2. 従業員の勤務表プランニングソリューションの作成 リンクのコピーリンクがクリップボードにコピーされました!
従業員勤務表の問題は、定義したプランニングソリューションに依存します。プランニングソリューションは、Red Hat Business Optimizer ドックで利用可能な属性を使用してドメインデザイナーで定義されます。
前提条件
- 「4章従業員の勤務表プロジェクトへのデータモデルの作成」および 「従業員の勤務表プランニングエンティティーの作成」 の手順に従って、従業員の勤務表サンプルを実行するのに必要なデータオブジェクトおよびプランニングエンティティーを作成している。
手順
-
識別子
EmployeeRosterでデータオブジェクトを新規作成します。 以下のフィールドを作成します。
Expand 表4.6 EmployeeRoster id タイプ dayOffRequestListemployeerostering.employeerostering.DayOffRequest[List]shiftAssignmentListemployeerostering.employeerostering.ShiftAssignment[List]shiftListemployeerostering.employeerostering.Shift[List]skillListemployeerostering.employeerostering.Skill[List]timeslotListemployeerostering.employeerostering.Timeslot[List]-
Data Objects パースペクティブで、右側の
をクリックして Red Hat Business Optimizer ドックを開きます。
- プランニングソリューション を選択します。
-
Solution Score Type は、デフォルトの
Hard soft scoreのままにします。これにより、タイプが ソリューションスコアとなるEmployeeRosterデータオブジェクトに、scoreフィールドが自動的に生成されます。 次の属性で新しいフィールドを追加します。
Expand id タイプ employeeListemployeerostering.employeerostering.Employee[List]employeeListフィールドを選択した状態で、Red Hat Business Optimizer ドックを開いて、Planning Value Range Provider ボックスを選択します。id フィールドに
employeeRangeを入力し、ドックを閉じます。- 右上で Save をクリックし、アセットを保存します。