当解决方案是一个2D数组时,我想在OR工具中打印解决方案,每次都有不同数量的对。
例如我有这样的代码
from ortools.sat.python import cp_model
model = cp_model.CpModel()
solver = cp_model.CpSolver()
numberOfPairs = 4
listOfPairs = [[model.NewIntVar(0, 5, 'x_{i}'.format(i=i+2*j)) for i in range(2)] for j in range(numberOfPairs)]
status = solver.Solve(model)
if status in [cp_model.OPTIMAL, cp_model.FEASIBLE]:
###############################
else:
print('unsat')
我需要用什么来替换######'s,以打印出解决方案x_0 = 4,x_1 = 3,x_2 = 2 .........等
1条答案
按热度按时间rdrgkggo1#
看起来你所做的就是创建一些变量,这些变量的范围可能从0到5。你永远不会对这些变量设置任何约束,因此求解后的变量将始终为false。下面是一些代码来显示一个变量在你的例子中永远不为真: