2017-08-12 14 views
0

を印刷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] 

を持っています。だから私は、私はこれを使用するとき、私はエラー"'float' object is not iterable"を取得し、しかし

print sum(bincost[i]) 

を追加しました。誰かがこれにアプローチする別の方法の提案を持っていますか?

+0

あなたのコード全体は何ですか? bincostとは何ですか? –

+0

bincostは浮動小数点のリストです。 [48.0、36.0、60.0、60.0] – plshelp

答えて

2

あなたはフロートの合計を見つけようとしています。これは不可能です。あなたがする必要があると思われるprint sum([bincost[i] for i in range(len(bincost)) if y[i].value() == 1])

+0

これは、すべてのビンの合計を出力します。使用されたビンの合計を印刷するだけです。 – plshelp

+0

@plshelp今はどうですか –

+1

はい、動作します、ありがとうございます。浮動小数点数をintに変更してリストに追加し、合計を見つけることで別の方法も見つけました。 – plshelp

関連する問題