This is supposed to be a fairly difficult MIQP. However, when I run it I get quickly: INFEASIBLE:
Tried aggregator 2 times. Total time on 1 threads = 0.05 sec. Nodes Cuts/ 0 0 infeasible 5 Root node processing (before b&c): Problem is integer infeasible. **** SOLVER STATUS 1 Normal Completion |
OK, but that sounds not really correct. I found a good integer solution with a linearized objective (same constraints). So lets fix the integer variables and see what happens:
* solve MIP
solve gms1 minimizing z using mip;
* fix integer variables
x.fx(i,t) = x.l(i,t);
* and feed it into MIQP solver
solve gms2 minimizing z using miqcp;
Now I see:
Tried aggregator 1 time. Total time on 1 threads = 0.00 sec. Proven optimal solution. MIP Solution: 14817439.000000 (0 iterations, 0 nodes) |
Hmm, so not integer infeasible after all. Some more experiments yielded:
- Using MIPSTART with the MIP solution allowed the MIQP solver to proceed
- Scaling the objective cause the MIQP to proceed also. The scaling looks like:
objective2.. z =e= sum(t,sqr(reserves(t)))/1e6;
Don’t always trust the messages from the solvers…