【问题标题】:Bin Packing on Python - print total costPython 上的装箱 - 打印总成本
【发布时间】:2017-08-12 14:26:44
【问题描述】:

我正在处理基于此代码Bin packing Python query with variable bin cost and sizes 的装箱问题

如何打印解决方案的总成本?即“使用 4 个垃圾箱,成本 = 50”

目前为止

for i in range(max_bins):
     if y[i].value() == 1:
          print 'bin used = cost', bincost[i]

这会打印每个使用过的垃圾箱的成本,这很好,但我想要总成本。所以我加了

print sum(bincost[i])

但是,当我使用它时,我收到错误 "'float' object is not iterable"。有没有人对解决这个问题的另一种方法有任何建议?

【问题讨论】:

  • 你的全部代码是什么?什么是 bincost?
  • bincost 是浮点数列表,例如[48.0, 36.0, 60.0, 60.0]

标签: python python-2.7 bin-packing pulp


【解决方案1】:

您正在尝试查找浮点数的总和。这是不可能的。看来你需要做print sum([bincost[i] for i in range(len(bincost)) if y[i].value() == 1])

【讨论】:

  • 这会打印所有垃圾箱的总和,我只想打印使用过的垃圾箱的总和。
  • @plshelp 现在怎么样
  • 是的,谢谢。我也找到了另一种方法,将浮点数更改为整数,然后将它们附加到列表中,然后找到总和。
猜你喜欢
  • 2020-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多