期間またはShift
期間のいずれかにEmployee
を割り当てたいとします。OptaPlannerで複数の@PlanningEntityCollectionPropertyを使用できますか?
@PlanningSolution
public class RosterSolution implements Solution<HardSoftScore> {
@PlanningEntityCollectionProperty
private List<Shift> shift = new ArrayList<Shift>();
@PlanningEntityCollectionProperty
private List<Reserve> reserve = new ArrayList<Reserve>();
....
}
各シフトと予約エンティティは
@PlanningVariable(valueRangeProviderRefs={"employees"}, nullable= true)
private Employee emp;
の単一@PlanningVariableそれが溶液中で複数の@PlanningEntityCollectionProperty注釈を使用することは可能ですがありますか?その使用法の例は見ていません。 @PlanningSolutionのドキュメントには、「それぞれの計画ソリューションは、少なくとも1 PlanningEntityCollectionPropertyまたはPlanningEntityPropertyプロパティを持っている必要がありますが、実装方法はわかりません。
タイプコードを使用するプランニングエンティティのリストを避けようとしていますが、タイプコードを(状態コード/ストラテジパターンと置き換えることができる)場合を除き、可能です。
Java8では、同じタイプの複数の注釈を使用できます。私は彼らが実際にOptaPlannerで動作するかどうかはわかりません... –
ありがとうございます。私はフレームワークが複数の@PlanningEntityCollectionPropertyアノテーションでどのように動作するかにもっと関心があります。私はそれが大丈夫コンパイル知っている。 – busdrivingtupperware