【发布时间】:2017-08-03 21:07:04
【问题描述】:
我在 PySCIPOpt 中解决了一个 IP 问题,在 Julia 中也解决了同样的问题,发现解决时间明显不同。 Julia 使用 Cbc 在 25 秒内解决了这个问题,而 PySCIPOpt 使用内置求解器需要 198 秒。在逐行运行代码时,我发现与实际解决问题相比,大部分时间都花在了 PySCIPOpt 的问题制定部分。我想知道这是否是预期的,或者是否有一些方法可以提高效率(或与 Julia 的性能相当)。
编辑:以下是我的公式。
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")
【问题讨论】:
-
分享一下你的配方怎么样?
标签: scip