2017-04-27 10 views
0

私は講義と期間といくつかの講義を持っていますは特定の期間に教える必要があります。それ、どうやったら出来るの?オプラプランナーのペナルティの代わりに報酬

scoreHolder.addHardConstraintMatch(kcontext, 10);はこれをハードな制約として解決しますか?正の10の価値は、コースが特定の期間に拘束されることを確実にしますか?

私はペナルティパターンを知っていますが、私は,CoursePeriodPenaltyの多くのオブジェクトを作成したくありません。理想的には、私だけCS101は、期間中に、私はあなたがまだOptaPlannerのための部屋を決定したい疑うよう不動計画エンティティが動作しませんし、それらをロック9:00-10:00

+0

Optaplannerがソリューションの事実を作成する方法で必要な割り当てを説明し、WMに挿入した事実はありませんか? – laune

答えて

0

べきであると言って1つのCoursePeriodRewardオブジェクトを持っているしたいのですが現在、optaplannerは変数ごとではなく、エンティティごとにMovableSelectionFilterのみをサポートしています(オープンjiraの投票)。

正のハード制約は間違いなく機能します。あなたのスコアはあなたのユーザーのために解釈するのが難しくなります。たとえば、ハードスコアが0のソリューションは実現できません(10ポイントのハードポイントを獲得しなかったか、10ポイントのハードポイントを失ったかなど)。

新しい負のハード制約タイプを追加して、!= desiredTimeslotに10ポイントをゆるめて追加することができます。

関連する問題