Я пытаюсь построить целочисленную программу, которая имеет решение x2> x1 при x3 = 1, однако cplex кажется чем-то нечетным с ограничением c1 (x2 - x1 + 99 x3> -99), возможно, это ошибка округления. Есть ли другой синтаксис, который я могу использовать для выражения c1 (x2 - x1 + 99 x3> -99), чтобы получить желаемый результат? БлагодаряILOG CPLEX: x2> x1 (целочисленное ограничение)
Проблема Файл
Maximize
obj: x1 + x2
Subject To
c1: x2 - x1 + 99 x3 > -99
c3: x3 = 1
Bounds
1 <= x1 <= 2
1 <= x2 <= 2
Binary
x3
General
x1
x2
CPLEX Решение
MIP - Integer optimal solution: Objective = 4.0000000000e+00
Solution time = 0.00 sec. Iterations = 0 Nodes = 0
Deterministic time = 0.00 ticks (1.11 ticks/sec)
CPLEX> Incumbent solution
Variable Name Solution Value
x1 2.000000
x2 2.000000
Речь идет не о форматировании. Ограничение, которое у вас есть, тривиально выполняется для любого значения (x1, x2) в (1,2). Вместо этого попробуйте это ограничение: 'c1: x2 - x1 - 99x3> -98.999' (RHS - -99 плюс эпсилон) –