【问题标题】:int objective not iterable errorint 目标不可迭代错误
【发布时间】:2017-12-13 03:01:08
【问题描述】:

我是使用 python 编码的新手,但我必须为我的学校完成一项与原油调度问题相关的项目工作。当我运行代码时,我收到一条错误消息

int 目标不可迭代错误。

我的代码:

enter code here 
#Here my code:
#indeces:
T = [1,2,3,4,5,6]
M = [1,2,3,4]  
#Continuous Variables:
for m in M:
    for c in C:
        for t in T:
            VCT[m,c,t] = model.addVar(obj = 0.0, vtype = 'C', name = 'VCT[%s,%s,%s]'%(m,c,t))
for m in M:
    for t in T:
        V[m,t] = model.addVar(obj = 0.0, vtype = 'C' , name = 'V[%s,%s]'%(m,t))
#Constraints:
for m in M:
    for t in T:
        model.addConstr(V[m,t], '=', quicksum(VCT[m,c,t] for c in C)) #28 
        model.addConstr(V[m,t], '<=',V_U[m]) #29
        model.addConstr(V[m,t], '>=',V_L[m]) #30 

【问题讨论】:

  • 程序中没有c列表,你能不能改一下并添加完整的程序
  • 并提供回溯
  • 'C = ['SAL','OMN']
  • 错误发生在哪里,VCTV_UV_LV 是什么?
  • 如何提供回溯?我尝试使用 print tb(),但它不起作用。

标签: python int typeerror


【解决方案1】:

当然,这个错误是有道理的......
没有“C”数组 for c in C: 这将如何工作......?我不知道“C”是什么意思!!
因此,创建一个名为“C”的数组,或者如果您不需要它则将其删除....详细说明您的代码会有所帮助..

【讨论】:

  • 但我正在总结 c... quicksum(..... for c in C)。无论如何,我在我的代码中添加了 c (for c in C),但我得到了同样的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-23
  • 2021-03-02
  • 2018-08-17
  • 2020-11-28
  • 1970-01-01
  • 2022-12-06
  • 2021-04-19
相关资源
最近更新 更多