Originally posted by: SystemAdmin
I see two choices here, in both you would keep the solution limit set to 1:
1. After the CPLEX solve returns, you explicitly check whether the returned solution is new or whether it is one of your old solutions (you could use a hash table to do this). If it is an old one, just call cplex.solve() again to find a new solution.
2. You just set the Advanced Start indicator to 0, which means to disregard all MIP starts. Of course, it could then still be that by coincidence you will get a solution that you already know.
But is it actually correct that an old solution is still feasible for the new problem? If this is not the case (i.e., the additional constraints should rule out all of the previous solutions), then there is something wrong. Either your additional constraints are not correct, or there are numerical issues, or there is a bug somewhere else.
Tobias
#CPLEXOptimizers#DecisionOptimization