Dear all,
I realized that in oemof, so far, it is not possible to optimize the capacity of a transformer using the Investment
class and simultaneously set a minimum load, such as 30% using the NonConvex
class.
I want to create such a model for a diesel genset which is the non-renewable part of a mini-grid power generation system. The renewable part consists of PV cells, storage (battery), and dc/ac inverter.
As we all know, diesel gensets cannot operate under a certain load (normally around 20-30%). But, since I cannot use the Investment
and NonConvex
classes simultaneously, first, I must obtain the nominal capacity of the diesel genset using only the Investment
class; then, in a second optimization problem, I must assume a fixed capacity for the diesel genset and use the NonConvex
class to implement the minimum load and the on/off status for this component.
This approach is not accurate because, according to the results of the first optimization (capacity optimization), the diesel genset operates only a few hours in full-load, but most of the time, it operates below the minimum load for this component, which is practically not feasible. Moreover, when I run the second optimization problem, the annuity associated with the diesel genset will not be part of the objective function, and the results will not represent the real optimal results.
So, to make the long story short, I know that the usage of the Investment
class is not compatible with the NonConvex
class in oemof so far, but I would like to know if it is possible to create a new transformer and use these two classes together? Or is there any other way to do it in oemof?
As you might know, in some other optimization platforms, such as gurobipy, this is possible, but since oemof offers a variety of other options besides the optimizer, I would like to create the model in oemof. I would appreciate it if someone with good oemof knowledge could help me with this issue. Thanks!
Bests,
Saeed