Originally posted by: prashanw
I have a MIP that I run in an alternate fashion.
1. Run version 1 with random initialization.
2. Get some parameter from version 1 and run version 2.
3. Get some parameters from version 2 and run version 1.
4. Go back to step 2.
when I run version 2 it gives me 102:optimal_tolerance values and when I run version 1 it gives me 101:MIP_optimal. I have the following questions
1. Can I force only to get 101:MIP_optimal at all times? How can I do that? I tried playing around with the absolute and relative mip gaps too.
2. I am actually warm starting each iteration with all solutions from previous iterations. The idea is to use the best one so far so that the overall objective constantly keeps going down. But when I warm start with previous solutions the result is sometimes worse than the solution used to warm start. Is there something wrong with the way I am warm starting
3. For some iterations I get "1 of 1 MIP starts provided solutions.MIP start 'ws4space' defined initial solution with objective 49.0013." And for another I get "Retaining values of one MIP start for possible repair." --> which leads to "Repair heuristic found nothing." (because I have warm start effort level set to 4 ). I am puzzled by the fact that I am getting "Retaining values of one MIP start for possible repair." message for certain iterations. In fact they also tend to be the iterations that I want the warm start to have a solution. I know those solutions are not infeasible too. How can I fix this?
4. If a cplex.solve() didn't return with a 101:MIP_optimal solution does it mean that using that solution as a warm start might create a "Retaining values of one MIP start for possible repair." situation?
#CPLEXOptimizers#DecisionOptimization