【问题标题】:Count variables and constraints PuLP and CP-Sat计算变量和约束 PuLP 和 CP-Sat
【发布时间】:2021-01-10 15:37:47
【问题描述】:

有谁知道如何打印在 Python CP-Sat 和 PuLP 中创建的每个优化问题中创建的变量和约束的数量?

谢谢

【问题讨论】:

    标签: optimization pulp cp-sat-solver


    【解决方案1】:

    我不熟悉 CP-sat,但在 PuLP 中,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
    

    请注意,只有在将变量添加到模型(在目标或约束中)并且模型已经求解后,才会计算变量。

    【讨论】:

      【解决方案2】:

      你可以这样做:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多