Python 给定值2的二进制类型变量

Python 给定值2的二进制类型变量,python,pulp,Python,Pulp,所以我写了几个条件 keys=['a','b','c'] var=LpVariable.dicts('var',(keys,[1,2,3]),cat='Binary') for key in keys: prob+=lpSum([var[key][j] for j in [1,2,3]])==2 尽管我得到了最佳结果,但对于一些关键点,我看到var的值为2.0。为什么会发生这种情况?有什么解决办法吗?LpStatus[prob.status]是否返回最佳状态?我假设情况并非如此,因为变

所以我写了几个条件

keys=['a','b','c']
var=LpVariable.dicts('var',(keys,[1,2,3]),cat='Binary')

for key in keys:
   prob+=lpSum([var[key][j] for j in [1,2,3]])==2

尽管我得到了最佳结果,但对于一些关键点,我看到var的值为2.0。为什么会发生这种情况?有什么解决办法吗?

LpStatus[prob.status]是否返回最佳状态?我假设情况并非如此,因为变量超出了边界,返回的是最优值。我也试着分配边界,但它又一次越过了边界。你分享了一个完整的最小的例子,重现了这个问题吗?