(2X2) 数独ゲームを作成しており、パズルを完成させる必要があります。これは、一部の数字が不変であることを意味します (それらは別の場所に移動することはできません。
2X2 ゲームでは、16 個Digitの s があります。問題の事実はrow、s、columns、およびblocks (分かりますか?) です。が唯一のrow計画変数です。
boolean fixedの属性として指定しましたDigit。しかし(ユーザーガイドによると)、それを実装する場所が見つかりませんでした。
いくつかの計画エンティティを実際に不変にする方法は何ですか?
私はこれらの方法を見つけます:
- 不変の場合にのみ
moveFactoryを変更する を実装します。rowこのメソッドは文書化されていません。 rowが a と等しくない場合はfixed_row、ハード制約を破ります。- を使用し
@ValueRangeFromPlanningPropertyます。不変エンティティvalue_rangeには単一の要素があり、可変エンティティには固定行を除外するリストがあります。これは、数独プロジェクトよりも大きなものには持続不可能に思えますよね? そして、(私の?) ソルバーを脱線させるとされる落とし穴がありますか?
追加の質問: 方法 #3 は、時間割の問題のようなものに推奨される方法ですか (可能な期間に教科教師を割り当てる)?