Originally posted by: rocarvaj
Hello.
I'm trying to give CPLEX a MIP start solution for the markshare2 problem in MIPLIB 2017, using the C Callable library. In fact, I'm using the optimal solution provided by MIPLIB 2017 (http://miplib.zib.de/downloads/solutions/markshare2/1/markshare2.sol.gz). The problem is that CPLEX (I tried with 12.7.1 and 12.8) is not recognizing the solution as feasible.
The optimal objective value is 1, but as you can see in this case CPLEX finds a feasible solution way worst.
Since the solution format used in MIPLIB is a list of variable names and their values (one per line), I have to read them, find the index of the corresponding variable by using the CPXgetcolindex function, and then add the solution by using CPXaddmipstarts.
Naturally, I thought that I had an error when translating the solution from the file to CPLEX, but I tried with another solver (sorry for bringing up the competition) by just changing the CPXgetcolindex and CPXaddmipstarts calls for their equivalents in the other solver. This time the solution is recognized as feasible.
I'm using markshare2 as an example, but it has happened with other instances from MIPLIB 2017 too.
Am I missing something?
I have isolated the code that does the reading and that adds the MIP start solution and it is available in the following repo in case that someone would like to try and replicate this: https://github.com/rocarvaj/mipstart-example
Thanks in advance,
Rodolfo
#CPLEXOptimizers#DecisionOptimization