Python 2.7 当模型给出不可行解时求约束的解

Python 2.7 当模型给出不可行解时求约束的解,python-2.7,optimization,gurobi,Python 2.7,Optimization,Gurobi,我正在编写一个优化问题。该模型给出了不可行解。我想检查哪个约束给出了不可行的解。到目前为止,我已经在网上查过了,但还没有找到解决问题的办法。有人能帮我吗?例如:在下面的代码中,由于约束3模型是不可行的。如何从解决方案中确定它?谢谢 from gurobipy import * # Create a new model m = Model("mip1") # Create variables x1 = m.addVar(vtype=GRB.INTEGER, name="x1") x2 = m.

我正在编写一个优化问题。该模型给出了不可行解。我想检查哪个约束给出了不可行的解。到目前为止,我已经在网上查过了,但还没有找到解决问题的办法。有人能帮我吗?例如:在下面的代码中,由于约束3模型是不可行的。如何从解决方案中确定它?谢谢

from gurobipy import *

# Create a new model
m = Model("mip1")

# Create variables
x1 = m.addVar(vtype=GRB.INTEGER, name="x1")
x2 = m.addVar(vtype=GRB.INTEGER, name="x2")


# Integrate new variables
m.update()

# Set objective
m.setObjective(7*x1 + 2*x2, GRB.MAXIMIZE)


m.addConstr(-x1 + 2 * x2 <= 4, "constraint-0")


m.addConstr(5*x1 + x2 <= 20, "constraint-1")
m.addConstr(-2*x1 -2*x2 <= -7, "constraint-2")
m.addConstr(x1 <= -2, "constraint-3")
m.addConstr(x2 <= 4, "constraint-4")

m.optimize()

for v in m.getVars():
    print('%s %g' % (v.varName, v.x))

print('Obj: %g' % m.objVal)
例如:

从gurobipy导入* 创建一个新模型 m=Modelmip1 创建变量 x1=m.addVarlb=0,ub=62,vtype=GRB.INTEGER,name=x1 x2=m.addVarlb=0,ub=50,vtype=GRB.INTEGER,name=x2 m、 更新 m、 addConstr-x1+2*x2一个例子:

从gurobipy导入* 创建一个新模型 m=Modelmip1 创建变量 x1=m.addVarlb=0,ub=62,vtype=GRB.INTEGER,name=x1 x2=m.addVarlb=0,ub=50,vtype=GRB.INTEGER,name=x2 m、 更新
m、 addConstr-x1+2*x2使用。@sudipta为什么x1必须小于或等于-2?只是出于好奇。@sudipta为什么x1必须小于或等于-2?只是出于好奇