rl-institut / multi-vector-simulator

Multi-vector Simulation Tool assessing and optimizing Local Energy Systems (LES) for the E-LAND project
GNU General Public License v2.0
21 stars 10 forks source link

Develop needed constraints for MVS (ongoing) #133

Open smartie2076 opened 4 years ago

smartie2076 commented 4 years ago

There are a number of constraints that will need to be introduced to the MVS. @SabineHaas please think of possible constraints and also give a (sentence long) desctiption of the subsequent constraint. Examples: Capacity limiter, net zero energy system, emissions, connection of transformer in/out

Ongoing list of necessary constraints (with descriptions):

Details for specific constraints should be discussed in own issues as to limit this thread´s lenght.

smartie2076 commented 4 years ago

Connection of capacities of optimized transformers that cover an input/output flow

Currently, when optimizing a transformer, only the uni-lateral necessary capacity is optimized. For example, when optimizing a battery charging controller, both the charging capacity (rectifier from AC) and discharging capacity (inverter from DC) are optimized individually. This requires cost data for both capacities or a intentional setting of one of the costs to zero (expected lower flow). The capacities can be of different value (eg. peaks of charges due to PV while discharge takes place with a constant low flow, ie. rectifier-part sized large and inverter-part sized small).

However, it might be that the inverter/rectifier capacity in this example are connected or of equal size. This should be considered by linking the capacities:

def backup(model, transformer_in, transformer_out, bus):

    def equal_capacity_rule(model, t):
        expr = model.InvestmentFlow.invest[transformer_in, bus] 
        expr = - model.InvestmentFlow.invest[transformer_out, bus]
        return expr == 0

    model.stability_constraint = po.Constraint(
        model.TIMESTEPS, rule=equal_capacity_rule
    )

    return model

Touches issue #24

smartie2076 commented 4 years ago

Feedin-limit avoid unbound solutions

As described in issue #1 it could make sense to introduce constraints to feed-ins, possibly only to allow to display an error message instead of simply terminating the simulation.

SabineHaas commented 4 years ago

maximum installed capacity constraint (maximumCap) was added for