Я предполагаю, что x - это переменная в вашем коде?Тогда вы можете попробовать что-то вроде этого (если x будет параметром, это будет проще):
Equation a, b;
Variable x;
Binary Variable y;
Scalar BigM / 1e3/
SmallM /1e-3/;
a.. y*BigM =g= x;
b.. y*SmallM =l= x;
Итак, если x = 0, y также будет 0 из-за уравнения b.И если x> 0, y станет 1 из-за уравнения a.BigM вы должны выбрать как можно меньшим и настолько большим, насколько это необходимо (таким образом, это должно быть максимальное значение, которое может принять x), а SmallM наоборот.Это предполагает, конечно, что есть что-то вроде нижней и верхней границы для х, если это не 0 ...
Надежда, которая помогает!
Лутц