Hey everyone,
I have written a greenfield/dispatch/transportation MIP model and it has weird problems staying feasible.
If I let it run for shorter periods of time like 3 or 5 month, it works most of the time. It doesnt matter which month of the year I use, already tested that. But when I let it compute the whole year, it gets infeasible.
Even weirder for 5 month I have the case that in scenario 1 to 3 it is infeasible, but starting with scenario 4 till 6 it was feasible. That’s weird because the scenarios are made like that:
So the changing thing is the supply security, which is used in an equation as … =g= supply_security. So by definition every result in scenario 4 (5/6) is a result for scenario 1 (2/3), but I get infeasible for scenario 1-3.
I already included: epmrk = 0.9 ; mipemphasis = 1 ; fpheur = 2 ; datacheck = 2 ; ModelName.scaleopt = 1 as well as manual scaling as far as possible and the datacheck does only result in one kind of error, where I divide monthly production by the number of days in that month to get daily production. So nothing too serious.
Additionally I now try scaind = 1 ; numericalemphasis = 1 and mipkappastats = 1 to to see, if it helps (waiting for the results).
The only warnings I get, when receiving a result are the following:
And after the automatic fixing of the integer variables and the final LP solve: CPLEX Warning 1033: Detected 100.00% (1) suspicious condition number(s) >= 1e+07.
When infeasible, he has problems with occuring singularities and it looks like this:
My coefficient ranges are like that:
— Range statistics (absolute non-zero finite values)
— RHS [min, max] : [ 2.934E-02, 2.030E+01] - Zero values observed as well
— Bound [min, max] : [ NA, NA] - Zero values observed as well
— Matrix [min, max] : [ 9.468E-06, 8.537E+02] - Zero values observed as well
So to conclude, I’m getting out of ideas, what I can do to make the model consistently work. Especially as I sometimes get solutions and sometimes I don’t, it feels totally random. It seems like numerical issues, especially with the CPLEX Warnings before final LP, so I tried a lot of manual scaling variations and increased the processing time already, but yeah…
Has anyone further ideas what to try?
Is there a way to identifiy the concrede variables I get the warnings for?
I appreciate your help