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.
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…