0
で制約を宣言します。Gurobiは - 私はPythonで、以下の制約を宣言しようとしているが、それは動作しませんパイソン
これは私のコードです:
m.addConstrs((tsk*Xkt[i]).sum(k, '*') + (tbk*Qkt[i]).sum(k, "*") <= bt[i]+Ot[i] for i in range(0, t))
で制約を宣言します。Gurobiは - 私はPythonで、以下の制約を宣言しようとしているが、それは動作しませんパイソン
これは私のコードです:
m.addConstrs((tsk*Xkt[i]).sum(k, '*') + (tbk*Qkt[i]).sum(k, "*") <= bt[i]+Ot[i] for i in range(0, t))
tupledict.sum()
方法はtupledict
オブジェクトではなく、そのようtsk*Xkt[i]
などLinExpr
に適用されます。
sum()
またはquicksum()
機能を使用します:次の2つの選択肢を持っている m.addConstrs(quicksum(ts[k]*X[k,t] + tb[k]*Q[k,t] for k in Krange) <= b[t]+O[t] for t in Trange)
tupledict.prod()
メソッドを使用します
m.addConstrs(X.prod(ts, '*', t) + Q.prod(tb, '*', t) <= b[t]+O[t] for t in Trange)
いくつかのコメントを:
tupledict.prod()
の構文でのドキュメントのバグは現在あり。上記のコードは、このメソッドの正しい使い方を反映しています。ありがとうございました!私はquiksumを選んだ - 仕事をうまくやった! –
これは_not_あなたのコードです。これはあなたのコードの_line_です。 [mcve]と正確なエラーを入力してください。 –
申し訳ありません。エラーが長すぎるため、ここに貼り付けたくありませんでした。そして最後には「KeyError:0」としか書かれていません –