【问题标题】:Set initial values to lpVariable declared as lpVariable.dicts将初始值设置为声明为 lpVariable.dicts 的 lpVariable
【发布时间】:2021-09-02 09:01:23
【问题描述】:

我需要将初始值分配给我的 lpVariables。 我使用 lpVariable.dicts 声明了它们。

是否可以为它们分配初始值?

代码是这样的:

temp_int = [0, 1, 2, 3, 4]

    # set problem variable
    prob = LpProblem("Supply_Chain", LpMinimize)
    
    # decision variables
    Qi_var = LpVariable.dicts("Qi_var", temp_int, lowBound=0, cat='Continuous')
    Wi_var = LpVariable.dicts("Wi", temp_int, lowBound=0, upBound=1, cat=LpInteger)
    Qai_var = LpVariable.dicts("Qai", temp_int, cat=LpInteger)
    Dip_1_var = LpVariable.dicts("Dip_i", temp_int, cat='Continuous')
    
    #constraints
    ....
    
    Qi_var.setInitialValue(0)
    Wi_var.setInitialValue(0)
    Qai_var.setInitialValue(0)
    Dip_1_var.setInitialValue(0)
    
    prob.solve(solver=PULP_CBC_CMD())

输出:

Traceback (most recent call last):
  File "C:\Users\davide.tamagnini.con\AppData\Roaming\JetBrains\PyCharmCE2021.1\scratches\example.py", line 80, in <module>
    Qi_var.setInitialValue(0)
AttributeError: 'dict' object has no attribute 'setInitialValue'

感谢您的帮助

【问题讨论】:

    标签: python dictionary set pulp


    【解决方案1】:

    我不确定提供初始值是否会对您有所帮助。但是,如果您真的想尝试,则需要遍历字典中的所有变量,即:

    for v in Qi_var.values():
        v.setInitialValue(0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多