0
現在、Pythonのパルプモジュールを使用した最適化の問題に取り組んでいます。変数を7500の整数倍に設定したいのですが、私は以下のようにconstriantを作成しましたが、エラーを表示しています。パルプを使用した最適化の制約を与える
import pandas as pd
import numpy as np
from pulp import *
prob = LpProblem('Cost minimization' , LpMinimize)
X = LpVariable.dicts('',tsap.varName, lowBound=0, upBound=None, cat=LpInteger)
prob += lpSum(X[i] * j for i,j in zip(tsap.varName, tsap.coeff)),'Total cost'
l=7500
for i in X:
prob += i % l == 0
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-73548ad8b39f> in <module>()
1 for i in X:
----> 2 prob += i % l == 0
3
TypeError: not all arguments converted during string formatting
希望の目標を達成する方法はありますか?
あなたは線形計画ではできないモジュロ演算子を使用しようとしています。しかし、おそらく、整数でなければならないダミーのLpVariable、kを設定し、次にi == 7500 * kという制約を追加することができます。 – thomaskeefe