Investment mode in case of multiple inputs/outputs of oemof-solph component

Hello everyone,

I was wondering what is the correct way to proceed to perform an investment optimization on, say a transformer with 1 input and 2 outputs?

Using the example from the oemof-solph docs:

b_gas = solph.buses.Bus(label='natural_gas')
b_el = solph.buses.Bus(label='electricity')
b_th = solph.buses.Bus(label='heat')

solph.components.Transformer(
    label='pp_chp',
    inputs={b_gas: Flow()},  # should I put the Invesment here
    outputs={b_el: Flow(nominal_value=30),  # or here?
             b_th: Flow(nominal_value=40)},  # here as well ?
    conversion_factors={b_el: 0.3, b_th: 0.4}) 

I would tend to think it doesn’t make sense to have more Investment object than component, so I would be tempted to write it in the input, or in one of the output, then which one?

I could not find an answer in the examples nor in the documentation of oemof-solph

Thanks in advance for your answer

Hi @pierre-francois.duc,

From the mathematical perspective, it doesn’t matter which Flow you pick. In fact, one of the nominal values is redundant, as the conversion factors already define the ratio. Having said that, I’d decide based on the device I am modelling, just to simplify calculating the power/price: A CHP is probably rated by the electrical output, a heat pump (for heating) by the thermal output, and an electrolyser by the electrical input.

1 Like

Thanks @pschoen for your answer and hints :slight_smile: