In HighsMipSolverData::transformNewIntegerFeasibleSolution, when an integer feasible solution for the presolved MIP is transformed and found not feasible for the original problem, an attempt to rectify the situation is made by creating a new HiGHS instance and solving the LP with the integer variables fixed to the transformed integer feasible solution. For this LP:
presolve isn't used - why?
scaling isn't used - presumably because @lgottwald wasn't sure that the unscaled LP would be solved to the desired tolerances, but this is guaranteed now - and this can lead to bad numerics leading to lack of termination, as experienced by JR.
no time limit is set - and this may explain some overrunning, which is particularly bad if the simplex solver doesn't terminate!
In
HighsMipSolverData::transformNewIntegerFeasibleSolution
, when an integer feasible solution for the presolved MIP is transformed and found not feasible for the original problem, an attempt to rectify the situation is made by creating a new HiGHS instance and solving the LP with the integer variables fixed to the transformed integer feasible solution. For this LP: