我在用gurobi求解一个混合整数二阶锥问题(MISOCP)时发现:对于问题的求解速度很慢,要经过很多次的迭代才能得到最优解,gurobi的内点法需要很多次迭代才能将gap优化为0,如何设置参数才能使得gurobi接受一个可行解而不是最优解,输出这解?针对这种混合整数二阶锥问题的参数。
设置混合整数规划的 Gap 小于 10^(-4) 或者时间达到300秒后停止,返回当前解方法:
(1)Matlab + Yalmip + Gurobi设置
gurobi_stop_gap = 10^(-4); % 设置求解混合整数规划的 Gap 为10^(-4)
longest_solve_time = 300; % 设置最长求解时间为 300 秒
optionsGurobi = sdpsettings(........, 'gurobi.timelimit',longest_solve_time,'gurobi.MIPGap', gurobi_stop_gap, ...........)
(2)Python + Gurobi
model = Model('my_model')
my_model.Params.MIPGap = 10**(-4) # 设置求解混合整数规划的 Gap 为10^(-4)
my_model.Params.TimeLimit = 300 # 设置最长求解时间为 300 秒
请问,你的问题解决了么?我也在写一个混合整数二阶锥优化问题的程序,但是出现0/1变量过多导致计算量过大,而无法求解成功的问题,如果你的问题解决了,可以说一下解决的方法么?