Как объединить реальные и целые числа с предопределенным набором значений в choco-solver? - PullRequest
0 голосов
/ 13 января 2020

Я хотел бы знать, как объединить real и int var с предопределенными доменами, чтобы обрезать возможные значения в домене каждого из них.

Во-первых, как определить набор значений для вещественных вары? После этого, как я могу объединить обе переменные в одном и том же ограничении?

Model model = new Model();

RealVar x = model.realVar("x", new double[]{0.16, 1.0, 400.0, 500.0});
IntVar y = model.intVar("y", new int[]{63, 80, 335, 500});

// 0.16 <= x <= 450.0 <-> 63 <= y <= 355
x.ge(0.16).and(x.le(450.0)).iff(y.ge(63).and(y.le(355))).post();
x.eq(1.0).post();

model.getSolver().propagate();

System.out.println(model);
// Values for "x" should be [1.0]
// Values for "y" should be [63, 80, 335] 
...