Optimization 计算纸浆和CP Sat的变量和约束

Optimization 计算纸浆和CP Sat的变量和约束,optimization,pulp,cp-sat-solver,Optimization,Pulp,Cp Sat Solver,有人知道我如何打印在Python中创建的每个优化问题(CP Sat和纸浆)中创建的变量和约束的数量吗 谢谢你我不熟悉CP sat,但实际上,LpProblem类有一个方法numVariables(),它将返回变量的数量 例如: import pulp prob = pulp.LpProblem("minimize",pulp.LpMinimize) single_var = pulp.LpVariable('single_var') set_of_var = pulp.L

有人知道我如何打印在Python中创建的每个优化问题(CP Sat和纸浆)中创建的变量和约束的数量吗


谢谢你

我不熟悉CP sat,但实际上,
LpProblem
类有一个方法
numVariables()
,它将返回变量的数量

例如:

import pulp

prob = pulp.LpProblem("minimize",pulp.LpMinimize)

single_var = pulp.LpVariable('single_var')
set_of_var = pulp.LpVariable.dicts("x_i,j", ((i, j) for i in range(3) for j in range(2)))

print(prob.numVariables())

# Add objective
prob += single_var + pulp.lpSum([set_of_var[i, j] for i in range(3) for j in range(2)])
print(prob.numVariables())

# Solve
prob.solve()
print(prob.numVariables())
将返回:

0
0
7
请注意,变量仅在添加到模型(在目标或约束中)且模型已求解后才进行计数。

您可以执行以下操作:

count=0
for v in prob.variables():
    count+=1