InvestNonConvexFlow and Full Load Hours

Hi there,

I am currently trying to implement a Converter which has several constraints:

  • Up to 10 MW of capacity to be invested in
  • Binary mode of use: either 0% or more than 90% (therefore using the InvestNonConvex Flow)
  • Maximum 6000 full load hours

I found out, that the last constraint does not end up in LP file, meaning the last constraint will not be implemented using the InvestNonConvexFlow?
However, if I switch back to the normal InvestFlow the contraint can be found in the model again.

I couldn’t find anything in the documentation, so I hope I have made an error.

Can somebody confirm?

All the best,

Hello again,

as I am looking further into, it seems, that the full load hour constraints are bound to nominal_value.
Can it be, that in 0.5.1 the nominal value is not being used in InvestNonConvexFlows anymore?

Have a nice weekend,

Hi @fred,

seems like you found a (long existing) issue: As far as I see, full load hours are not considered for any Flow with NonConvex attribute. This is not only the case for InvestNonConvexFlow, but also for NonConvexFlow. Carefully reading the documentation knowing that there is an issue, it’s not claimed that the constraint will be created. (It’s really not created. I checked the code.) However, as the Flow offers the keyword and does not warn, I would definitely call it a bug. Would you create an issue at (If you don’t I will try to recall the problem the next days and create one myself. I hope it can be fixed soon.)


Thanks for clarification, @pschoen !
I created an issue at github.

Looking forward to using nonconvex flows with full load hours constraints!