Minimum_uptime and maximum_downtime

Dear community,

I want to add a minimum uptime and maximum downtime for a transformer in oemof.solph. For example, I want a transformer that must be on for a minimum of 8 continuous hours and after that it can be turned off for a maximum of 20 minutes. For the minimum uptime, it is working fine by adding it in the non-convex flow, but I cannot figure out how to add a maximum downtime for the transformer to be switched off.

Currently, solph supports minimum_uptime and minimum_downtime. A maximum downtime does not exist. I guess nobody ever asked for this. Would you describe your use case, i.e. what do you want to model by a maximum downtime?

An example for that can be a component that cannot be shutdown for more than a certain time to avoid heat losses let’s say.

The common approach to model this as a minimum_downtime that includes the time needed to re-reach the old temperature level. You could also add startup_costs or shutdown_costs and some maximum gradients to model shutdown and startup ramps. Maybe it’s wishful thinking but I hope that a “facility that cannot be shut down” does not exist. Of course in some small time frame you want to optimise, a maximum downtime might be the straightforward way.

Concluding, it’s a feature that can be added to solph analogue to the existing constraints. So, based on your time and skills, there are three options:

  1. You add the feature by yourself. Inspiration at https://github.com/oemof/oemof-solph/blob/dev/src/oemof/solph/blocks/non_convex_flow.py#L435. We are glad to help with contributions and even provide some kind of dev tutorial meeting in early December.
  2. You provide a more detailed use case that motivates me to do it, and wait for the next release.
  3. You decide that you don’t need a maximum downtime.