- Assume we have 100% feasible solution for the model with decision variable
- Then we are changing the objective function on something similar to
minimize sum(i in…)maxl(0, a[i]-100)and trying to use our feasible solution as a start solution.
- Sometimes we are lucky but sometimes we have a message: "No solution found from 1 MIP starts. Retaining values of one MIP start for possible repair" – in my case it means that I’ll nether get any solution because of model complexity. I suppose
maxlmakes some magic here.
Is there any way to tell CPLEX to use my start solution on every start with
maxl in the objective?
- After analizing LP file I tried to change the model by adding
b[i]==a[i]-100) with corresponding changes in objective (minimize
sum(i in…)maxl(0, b[i])) and providing start values for it together with starting values for
a[i]– no effect except increasing solving time for succeed warmstarts.
- I'm using OPL libraries for c#. Fixing all variables from the previous solution by GetStart and SetStart methods gives nothing. I had to use Attach method for some "float" variables to make a model accept the start solution. The list of variables for a successful warmstart was formed after experiments.
- I have an extra model to avoid numerical instability which fixes the precision of all numeric variables to 10^-3 and provides a feasible solution.