このコードの何が問題になっていますか?:
SolverContext sc = SolverContext.GetContext();
Model m = sc.CreateModel();
m.AddDecision(new Decision(Domain.IntegerNonnegative, "a"));
m.AddDecision(new Decision(Domain.IntegerNonnegative, "b"));
m.AddConstraint(null, "a < 2");
m.AddConstraint(null, "b == If[a == 2, 2, 1]");
var sol = sc.Solve();
Console.WriteLine(sol.GetReport());
ソルバーがフリーズし、結果が得られません。オペレーターがどのように機能するかを試してIf
いますが、期待どおりの動作をしていないようです。私がそれを正しい方法で使用しているかどうかはわかりません(私は、等しい場合は等しくなければならない、そうでない場合はそう言いたいと思ってa
います)。2
b
2
1
私も試しました
m.AddConstraint(null, "If[a == 2, b == 2, b == 1]");
同じ結果で。