我想用cplex python解决一个整数编程模型。我有这个模型:
a和h是0和1s的矩阵。 p是一组数字。这是该模型的我的Cplex代码的一部分:
x=mdl.binary_var_dict(p,name='x')
#objective
mdl.minimize(0)
#constraints
#1
mdl.add_constraints(mdl.sum(h[i][k]*x[i] for i in p)==4 for k in T)
#2
mdl.add_constraints(mdl.sum(a[i][k]*x[i] for i in p)==4 for k in T)
mdl.print_information()
Solution = mdl.solve(log_output=False)
mdl.get_solve_status()
print(Solution)
运行程序时出现此错误:
Error: Adding trivial infeasible linear constraint: 0 == 4, rank: 1
Error: Adding trivial infeasible linear constraint: 0 == 4, rank: 1
Error: Adding trivial infeasible linear constraint: 0 == 4, rank: 23
Error: Adding trivial infeasible linear constraint: 0 == 4, rank: 23
我不知道问题出在哪里。
错误消息告诉您发生了什么:您添加了一个不可行的约束,即显然无法满足的约束。从错误消息看来,您似乎添加了一些== 4
约束,并且左侧为空。
从您的代码看来,如果p
为空,则会发生这种情况。