Yalmip interprets Maximum Iterations when it hit the Time Limit #1255
-
Dear Professor Löfberg, I want to point out that Yalmip gives errorcode 3 (Maximum iterations exceeded) when it hits a constraint of Time Limit given to the solver. My opinion is that, as part of the constraints I give the mathematical problem, reaching the Time Limit should be considered part of the problem's natural solution and instead give errorcode 0 (Successfully solved). This is because even though I set a Time Limit to reach the answer, the solver finds feasible solutions. I can demonstrate the behaviour by the appended Live Script and MatFile. I didn't make a simplified script because the point of the script is solely to demonstrate the phenomena. The solver finds some feasible good solutions quite fast; given the very strict TimeLimit and MIPGap, it finalizes without the gap reaching the MIPGap tolerance. You can observe that if you comment line Might seem very trivial, but in case there is a purpose for this I would be happy to understand. Did a quick review over the Google Group and in here (Github) but didn't find anybody else with this observation. Thanks for your time. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
If a solver fails to find a solution satisfying feasibility and optimality tolerances within prescribed time, and explicitly says that is what happened, it would make absolutely no sense to say the problem was successfully solved. The code you have appears to assume model is infeasible if solver times out. gurobi has not failed to find a feasible solution, it easily finds one already in the root node. BTW, you probably mean |
Beta Was this translation helpful? Give feedback.
If a solver fails to find a solution satisfying feasibility and optimality tolerances within prescribed time, and explicitly says that is what happened, it would make absolutely no sense to say the problem was successfully solved.
The code you have appears to assume model is infeasible if solver times out. gurobi has not failed to find a feasible solution, it easily finds one already in the root node.
BTW, you probably mean
yalmip('clear')