1

I fear I am a bit in over my head. I have profiled a Mixed Integer Problem (MIP) with cProfile and gprof2dot. The MIP is implemented via the pulp library. The MIP problem is solvable, which I tested on smaller problems. I profiled the MIP on a larger problem, for which it could not find a solution.

In the following picture of the cProfile output, it can be seen that 88.83% of the time the file is active in the function WaitForSingleObject. I am not familiar enough with the pulp source code to know what times are appropriate for this part of ActualSolve. Intuitively, I expected that most time needs to be spend in the ActualSolve. However, for me it seems like within this function, the most time is spent waiting. Is it possible to reduce this waiting time?

Thanks in advance and kind regards. Profile of MIP

6'38''4
  • 23
  • 5
  • 1
    In fact the waiting time is pulp waiting for the solver (CPLEX in this case) to finish solving the problem. If you want to interrupt the solving after a fixed time you can pass a `timeLimit` parameter to the solver. – pchtsp Jan 26 '22 at 17:57
  • Thank you pchtsp, that makes a lot of sense! – 6'38''4 Jan 27 '22 at 18:40

0 Answers0