如何最好地使用我的目标函数来快速找到可行的解决方案(Gurobi)



我有一个有效的ILP-Gurobi模型(仅限二进制变量(。减少运行时间并找到一个可行的解决方案对我来说比最优解决方案更有价值。将我的SolutionLimit减少到1确实有帮助。我意识到我的目标函数是把成千上万的变量加在一起。如果我真的不关心最优性,我能以某种方式简化我的目标函数以减轻求解器的负担吗
这是我目前的目标函数:

m.setObjective(quicksum(h[x,y,c,p,t] + v[x,y,c,p,t]
for x in range(0,Nx)
for y in range(0,Ny)
for c in range(0,C)
for p in range(0,P)
for t in range(0,T)), GRB.MINIMIZE)

我不想挑剔,但没有所谓的"更优化";解决方案-";最佳";已经是最高级了。如果你真的只是在寻找一个可行的解决方案,而不考虑目标函数,你应该听从欧文的建议,不要设置目标函数。然而,很难相信你当前的目标函数是完全没有意义的,所以更好的方法可能是将目标函数减少到只包括几个变量,并设置更高的MIPGap来提前终止求解。

最新更新