将初始值设置为声明为 lpVariable.dicts 的 lpVariable
Set initial values to lpVariable declared as lpVariable.dicts
我需要为我的 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'
感谢您的帮助
我不确定提供初始值是否对您有帮助。但是如果你真的想尝试你需要遍历字典中的所有变量,即做:
for v in Qi_var.values():
v.setInitialValue(0)
我需要为我的 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'
感谢您的帮助
我不确定提供初始值是否对您有帮助。但是如果你真的想尝试你需要遍历字典中的所有变量,即做:
for v in Qi_var.values():
v.setInitialValue(0)