Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
第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 メニューに戻ります。
前述の手順で、以下のデータオブジェクトとその属性を作成します。
表4.1 Skill
id タイプ nameString表4.2 Employee
id タイプ nameStringskillsemployeerostering.employeerostering.Skill[List]表4.3 Shift
id タイプ requiredSkillemployeerostering.employeerostering.Skilltimeslotemployeerostering.employeerostering.Timeslot表4.4 DayOffRequest
id タイプ dateLocalDateemployeeemployeerostering.employeerostering.Employee表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でデータオブジェクトを新規作成します。 以下のフィールドを作成します。
表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フィールドが自動的に生成されます。 次の属性で新しいフィールドを追加します。
id タイプ employeeListemployeerostering.employeerostering.Employee[List]employeeListフィールドを選択した状態で、Red Hat Business Optimizer ドックを開いて、Planning Value Range Provider ボックスを選択します。id フィールドに
employeeRangeを入力し、ドックを閉じます。- 右上で Save をクリックし、アセットを保存します。