は、このように、のは、整数プログラミングのための3つの整数の変数を持っているとしましょう:整数計画:整数の変数のモデルの一意性
a \in {1,2,3}
b \in {1,2,3}
c \in {1,2,3}
今、私はすべての変数が異なっていることをモデル化します。明らかに私はすべての組み合わせ(この場合は3つ)に対して以下のことを行うことができます。私はaとbでそれを示します。
a <= b - 1 + bin1 * bigM
a >= b + 1 - (1 - bin1) * bigM
bin1 \in {0, 1}
新しい制約、bigMs、およびバイナリ変数をたくさん作成しなくても簡単な方法はありますか?
私は、線形計画法を用いたより良い定式化について知らない。私はそれが実際に組み合わせ最適化の問題であるので、あなたはできないと思います。制約プログラミングソルバー/言語はグローバル制約を実装しています。[z3 Distinct](http://z3prover.github.io/api/html/namespacez3py.html#aa79af225f3b27b84fef346c257d2e406)および[Minizinc all_different](http://www.minizinc.org /2.0/doc-lib/doc-globals-alldifferent.html)を参照してください。 – Emilien