Help about Error code 10001

Dear Mr Robert,

Please find attached the entire log of the code 10001 erreur for which I previously requested your help, to see if there is additional information which can permit you to help more.

Also I would like to ask you for the larger of gurobi_options nodefilestart values up to what values can I take.

Regards.
5_99fe_YNDNS.dat (135.6 KB)

I can see now that the memory error occurs when the barrier method tries to solve the continuous relaxation of your mixed-integer program. After the barrier method has finished its pre-ordering phase, but before it has started its iterations, it displays the following statistics:

Barrier statistics:
 AA' NZ     : 1.615e+09
 Factor NZ  : 5.914e+10 (roughly 500.0 GB of memory)
 Factor Ops : 1.067e+16 (roughly 220000 seconds per iteration)
 Threads    : 3

This says that about 500 gigabytes of memory will be needed to solve the linear system required at each iteration of the barrier method. This is more than your computer has available (probably, a lot more) and so the barrier method runs out of memory immediately:

Barrier performed 0 iterations in 10058.11 seconds (9412.75 work units)
Optimization exhausted available memory

Because the memory requirement is so great, it seems very unlikely that you will be able to use the barrier method to solve the continuous relaxation.

By default, Gurobi solves the continuous relaxation by running the barrier, primal simplex, and dual simplex methods concurrently, stopping when one of them reaches a solution:

Deterministic concurrent LP optimizer: primal simplex, dual simplex, and barrier
Showing barrier log only...

You could try setting method=1 to use only the dual simplex, or method=0 to use only the primal simplex, just to see if they work better. However, you might find that the root relaxation is not solvable using any method, in which case you are going to have to consider using smaller problems or making your problem easier. It is not easy to know how to do this, but definitely it will help to experiment first with a smaller version of your problem that can actually be solved.

Two other comments:

  • Since Gurobi has not been able to solve the problem’s continuous relaxation, it has never reached the tree-search part of the algorithm. Thus the setting of nodefilestart is not making any difference.

  • You may want to figure out why Gurobi is reporting that your model has a quadratic objective, quadratic constraints, and a few “general” constraints — I can’t tell just by looking at the logs. All of these can make the problem a lot harder.

Thank you very much Mr Robert for your valuable help.