1

モジュールpulpを使用していくつかの問題が発生しています。混合整数線形計画問題を作成し、それを LP ファイルとして書きたいと考えています。この後、cplexで解決します。

問題は、2 番目の制約を追加すると、目的関数が false になり (ダミーが追加され)、最初の制約のみが決定変数 x のみで追加されることです。

これは私のコードです: あなたが私を助けてくれることを願っています!

bay_model = pulp.LpProblem('Bay Problem', pulp.LpMinimize)

y = pulp.LpVariable.dicts(name = "y",indexs = (flight, flight, gates),
                          lowBound = 0, upBound = 1,cat = pulp.LpInteger)

x = pulp.LpVariable.dicts(name = "x",indexs = (flight,gates),lowBound = 0,                             
                          upBound = 1, cat=pulp.LpInteger)




bay_model += pulp.lpSum([x[i][j]*g.distance[j] for i in flight for j in gates])

for i in flight:
     bay_model += pulp.lpSum([x[i][j] for j in gates]) == 1
     print "flight must be assigned" + str(i)

for k in gates:
     bay_model += [y[i][j][k] * f.time_matrix[i][j] for i in flight for j in flight if f.time_matrix[i][j] == 1] <= g.capacity[k]
     bay_model += [(2 * y[i][j][k] - x[i][k] - x[j][k]) for i in flight for j in flight] == 0
     print "time constraint" + str(k)
4

1 に答える 1