I am doing research that involves incrementally loosening the relative parameter setting of a MIPS optimizer, in order to enable faster termination. Normally, this strategy works quite well. However, very rarely a call to optimize! will take several times more time than the time limit should allow. A small violation of the time limit, on the order of a few seconds, is expected behavior from both CPLEX and Gurobi, the two optimizers I have tried this with. However, this massive violation is unacceptable, and has been observed using both optimizers.
JuliaOptHeuristics/new_trial.xlsx at 8180515770e990515b0e1162bea53de573448c66 · Antelling/JuliaOptHeuristics · GitHub is an excel file containing data that demonstrates this problem.
I generate these results on a large university compute server, while recording the load of the server. Although I previously had a problem with a memory leak in JuMP/Julia (this issue, which I solve by manually calling GC.gc()) filling up the server’s RAM, now the server is never at the limits of its specs. CPU usage is around 15% of capacity, RAM usage is around 50%, nothing else is high.
This issue only seems to occur with high time limits (around five minutes per optimize! call). I get good, expected, error free results with smaller time limits.