我在PySCIPOpt中解決了IP問題,並且在Julia解決了同樣的問題,並發現解決方案時間顯着不同。 Julia使用Cbc在25秒內解決了問題,而PySCIPOpt使用內置求解器花費了198秒。在逐行運行代碼時,我發現大部分時間都花在了PySCIPOpt中的問題表達部分,而實際上是在解決它。我想知道這是否是預期的事情,或者是否有一些方法可以使這種效率更高(或與Julia性能相當)。PySCIPOpt的性能下降
編輯:下面是我有的表述。
model=Model("Route_Selection")
start_time=time.clock()
x={}
for j in range(J):
x[j]=model.addVar(vtype = 'B', name = 'x (%s)' %j)
y={}
for i in range(I):
y[i]=model.addVar(vtype='C', name = 'y (%s)' %i)
model.setObjective(quicksum(C[j]*x[j] for j in range(J))+ M* quicksum(y[i] for i in range(I)), "minimize")
for i in range(I):
model.addCons(quicksum(A_mat[i,j]*x[j] for j in range(J))+y[i] ==1, name='coverage of (%s)' %i)
model.addCons(quicksum(x[j] for j in range(J))<= N, name = 'vehicle constraint')
model.optimize()
print (time.clock()-start_time, "seconds")
怎麼樣分享你的配方? – mattmilten