我目前正在实施自己的启发式方法来解决gurobi python界面中的MILP问题。我的所有变量在开始时都是连续的,在某个时间点,解变为整数,这是我的终止条件。
现在,要检查变量的二元性,我遍历所有变量,并检查它们是否为0或1,如下所示:
for var in model.getVars():
if (var.x >= intFeasTol and var.x <= 1.0-intFeasTol):
break
其中intFeasTol = 10^-4
。我正在尝试查看最佳解决方案中的任何变量值在公差范围内是否不是0或1。
是否有更好的方法或api调用来检查解决方案是否为二进制?