SpineOpt.jl icon indicating copy to clipboard operation
SpineOpt.jl copied to clipboard

Add relative initial_node_state

Open kTelaar opened this issue 1 year ago • 2 comments

For short-term storage investment models the parameters initial_node_state (and cyclic_condition) are very helpful. At the moment the initial_node_state parameter works fine for a given node_state_cap (no investment).

Is your feature request related to a problem? Please describe. For a node_state_cap that will be multiplied with the chosen investment value (0 < modeled investment decision < candidate_storages) a relative definition to XX% of modeled maximum capacity would make more sense. At the moment the model identifies the optimal investment value for a storage node to achieve exactly the initial_node_state.

Describe the solution you'd like Parameter initial_node_state_relative (or possibility for configuration of the existing initial_node_state parameter)

Describe alternatives you've considered Could be defined relative to either maximum capacity or as a product relative to the node_state_cap of 1 candidate_storages

Additional context grafik

kTelaar avatar Sep 29 '23 07:09 kTelaar

I agree that we need this feature!

Another issue is that a fixed initial node state can cause an infeasibility with investments, so a relative initial node state makes a lot of sense.

We could keep initial_node_state as it is and add a new parameter called intial_investment_node_state_relative where the constraint is: node_state(t-1) = storages_invested(t) * node_state_cap * intial_investment_node_state_relative

This is a little tricky because the nodal_balance constraint will need to be relaxed in the relevant time period to ensure we don't get an infeasibility

The way to do it might be a new term in the node_injection constraint where the required energy is injected into the store in the same period as the investment we add the term + storages_invested(t) * node_state_cap * intial_investment_node_state_relative

DillonJ avatar Sep 29 '23 08:09 DillonJ

@DillonJ Is this connected to #752?

clizbe avatar Jan 12 '24 14:01 clizbe