【发布时间】:2022-01-20 12:47:25
【问题描述】:
我正在尝试使用 for 循环为这个线性优化问题添加约束。约束是... x1A + x1B + x1C + x1D = 1,x2A + x2B + x2C + x2D = 1,等等...
Traceback 错误发生在循环的第一次运行时,我正在努力找出原因。任何帮助将不胜感激!
problem2 = LpProblem("Problem_2",LpMinimize)
Letter=['A','B','C','D']
Number=['1','2','3','4']
NumArray = [185,225,193,207],[200,190,175,225],[330,320,315,300],[375,389,425,445]
NumArray=makeDict([Number,Letter], NumArray)
[problem2_vars = LpVariable.dicts("x",(Number, Letter),lowBound=0,cat='Binary')
problem2_vars\['1'\]\['A'\]
problem2 += lpSum(\[problem2_vars\[i\]\[j\]*NumArray\[i\]\[j\] for i in Number for j in Letter\])
for j in Number:
problem2 += lpSum(\[problem2_vars\[j,'A'\]\]) == 1,"%s"%j][1]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-31-04a89d6c02e1> in <module>
2
3 for j in Number[0:]:
----> 4 problem2 += lpSum([problem2_vars[j,'A']]) == 1,"%s"%j
KeyError: ('1', 'A')
【问题讨论】:
标签: python jupyter-notebook pulp