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