Initializing energy system needs long and calculation uses only one cpu

Dear community,

starting point is a new installation of oemof.solph v.0.4.1. The basic example runs with the preset time steps without any problems. However, if you increase the time steps, the problem arises that at the step model = solph.Model(energysystem) the program takes a very long time for the calculation. With 24751 time steps (nearly 1 year) it takes approx. 10 h. In addition, the calculation runs only on one cpu (same issue on two different computers and venvs). Beyond that, the solver (CBC) does not find a solution.

The question: what could be the reason that the initialization of the model takes so long? Is there a way to speed up the step here? Is it possible to set the program to run on more than one cpu? Can this problem be caused by the oemof version 0.4.1? This problem did not occur with version 0.2.3.

Some hints to solve the problem would be great!
Heidi

Hi @heidi_h I don’t use oemof myself but here are two earlier links on the same theme:

Hi @robbie.morrison,
thanks for the hint but the problem does not belong to the solver.

Hi @heidi_h, with an increasing number of time steps, the computation time increases strongly exponentially. The calculation time of 10 h does not surprise me. If you work at a university you can get a free license for the Gurobi solver, which is much faster, but not open-source. https://www.gurobi.com/academia/academic-program-and-licenses/

The solver does not find a solution? Are you sure that the model is solvable at all?

I just saw the other answer that it’s not the solver. I had a similar problem when Pyomo was updated. I was able to solve the problem by using the pyomo version Pyomo==5.7.1.

2 Likes

Thanks. Changing the Pyomo version solves the problem.

Thank you. had the same problem with pyomo 5.7.3 and fixed it using 5.7.2. @cklm: Did you inform the pyomo developers?

No i didn’t. I don’t know what the exact problem is and what I would have to pass on to the pyomo developer.