Предполагая, что целевая функция является минимизацией, и вы просто хотите отследить максимальное значение чего-либо, скажем, энергетический пик,
Если m.addConstr (x> = 0) является реальным требованием, то выможно просто установить y = x, что не имеет смысла, так как x останется неотрицательным само по себе, без необходимости y
ИЛИ
вы можете использовать
m.addConstr(x>=0)
m.addConstr(x>=y)
и поместите x в целевую функцию с положительным коэффициентом стоимости.Это будет держать x привязанным к максимальному (0, y)
ref https://orinanobworld.blogspot.com/2011/01/max-and-min-functions-in-mip.html