2016-04-29 25 views
1

私はPythonとGurobiでとても新しいです! は最近、私は問題をコーディングし始め、私はこの制約をコーディングする必要があります。Gurobi pythonの制約をコーディングする方法

for each i and j (while i is not equal to j): 
(y[i][j]) * (D[i] - d[i][j])) <= T 

また、私は同じ部分を考慮していないと起動しようとしたと書きました:

for i in people: 
    for j in people: 
      m.addConstr((carpools[i][j])*(distance[i]-distBtw[i][j])) <= 400 

を、私はこのエラーを受け取りました。

TypeError: unsupported operand type(s) for *: 'int' and 'NoneType' 

答えて

0

これは構文エラーです。あなたはaddConstr中にあなた<=が必要になります。

for i in people: 
    for j in people: 
      m.addConstr((carpools[i][j])*(distance[i]-distBtw[i][j]) <= 400, 
     name = '%s_%s_constraint'%(i, j) 
) 

FYIあなたの乗算つもりがある中で、あなたに解決策を見つけるためにgurobiのためのそれは非常に困難になることができ、二次制約を与えます。

+0

ありがとうございました。その二次制約D [i]とd [i] [j] sはパラメータであり、y [i] [j]はバイナリ変数なので、線形です。 –

関連する問題