multi-vector-simulator icon indicating copy to clipboard operation
multi-vector-simulator copied to clipboard

Develop needed constraints for MVS (ongoing)

Open smartie2076 opened this issue 5 years ago • 3 comments

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):

  • [ ] Connection of transformer in/out capacities (further discuss in #24)
  • [ ] Limit feed-in to avoid unbound solutions (issue #1)

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

smartie2076 avatar Feb 26 '20 10:02 smartie2076

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 avatar Feb 26 '20 10:02 smartie2076

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.

smartie2076 avatar Feb 26 '20 12:02 smartie2076

maximum installed capacity constraint (maximumCap) was added for

  • dispatchable and non dispatchable source (energyProduction) in #237
  • transformers in #243
  • storages in #243.

SabineHaas avatar Jun 16 '20 13:06 SabineHaas