6a. Tutorial - Optimal Capacity Expansion

Site: RUB Moodle
Course: Case Study "Novel flexibility options in the German electricity grid"
Book: 6a. Tutorial - Optimal Capacity Expansion
Printed by: Gast
Date: Friday, 9 May 2025, 7:20 PM

Introduction

In this part of the tutorial, we are gonna study optimal capacity expansion. Therefore, we are going to enlarge the system from the previous tutorial.

Written description follows the picture

Written system descritption for accesibility: The fuel grid contains four nodes: lignite, gas, hard coal and biomass. There are five units: lignite powerplant Tudo, CCGT powerplant Rubbo, Hard coal powerplant Rubbo, CCGT powerplant Tudo and biomass powerplant Tudo. The latter two are only investment options. They are connected to the respective fuel node. In the electric grid, there are two nodes: Tudo and Rubbo, which have a billateral connection with a capacity of 400 MW. The lignite powerplant Tudo, the CCGT powerplant Tudo and the biomass powerplant Tudo are connected to the electric node Tudo, the two other units are connected to the electric node Rubbo.

Additional information on investments

Investment decisions in backbone need various input data. In this file the different parameters are explained.

  • Investment Costs: Investment Costs are the investment, that has to be made when first installing the powerplant. They usually have the unit currency/MW
  • Fixed operation and maintenance costs: Fixed operation and maintenance costs (FOM costs) are costs which must be paid each year the unit is operating. They usually have the unit currency/MW/a.
  • Annuity: The annuity describes the amount of investment costs that is to be repaid each year. It is calculated by multiplying the annuity factor with the investment costs. The annuity factor is influenced by the lifetime of the plant and the discount rate. It is calculated by:
    equation: annuityFactor = r/(1-(1+r)^(-lifetime))
    with discount rate r
     and unit lifetime lifetime.
  • Integer Investment: When using integer investment, the number of investment units must be an integer. For example, with a unit size for the gas turbine of 50 MW, only an investment of 50 MW/100 MW/150 MW etc. is possible. When using continuous investment, also all numbers in between are possible. Integer investment is closer to reality (you cannot build a gas turbine with a capacity of 0.01 MW) but need more computational resources.

Adapt backbone input excel

  1. A big aluminium company wants to build a factory in Tudo. To deal with the expected rise in load, Tudo needs to invest in new powerplants. The new load profile looks like this:

    timestep

    t000001

    t000002

    t000003

    t000004

    t000005

    t000006

    t000007

    t000008

    t000009

    t000010

    t000011

    t000012

    Rubbo

    230

    180

    130

    130

    150

    200

    380

    500

    560

    500

    400

    460

    Tudo

    300

    310

    280

    150

    100

    170

    230

    210

    300

    350

    410

    200

    At this load to the sheet ts_influx.
  2. Investments shall be made into two units: a CCGT power plant and a biomass power plant. Initialize these units withthe following parameter (you have to look at node, unit, unittype, unitUnittype, p_gn, p_gnu_io and p_unit). Use "CCGT powerplant Tudo" and "Biomass powerplant Tudo" as unit names.

     

    CCGT powerplant Tudo

    Biomass powerplant Tudo

    Unit size (MW)

    50

    30

    Variable costs (€/MWh)

    60

    80

    Minimum load (MW)

    40

    20

    Efficiency (%)

    53

    29

  3. These units do not exist yet, therefore set their capacity in p_gnu_io to 0. 
  4. In p_gnu_io, investment costs, fixed operation and maintenance costs and annuities must be added. Take the information from the following table and add them to the two new units in p_gnu_io. You find more information on these parameters in the chapter "Additional information on investments".

     

    Investment Costs (€/MW)

    Fixed Operation and Maintenance costs (€/MW/a)

    Lifetime (years)

    Discount rate

    CCGT

    800000

    2.5% of investment costs

    30

    0.07

    Biomass

    1000000

    3% of investment costs

    25

    0.07

  5. The next adaption necessary to make investments must be made in p_unit: for the new biomass and CCGT powerplants, a maxUnitCount must be defined. Assume, that there is a lot of space to build gas turbines and biomass powerplants. Therefore, set maxUnitCount to inf (infinity). The parameter investMIP determines whether integer investment is used or not. As we want to use integer investment, set investMIP=1 for the new solar and CCGT powerplant.

Run backbone

Open backbone.gms in GAMS studio and change the path in the command line to your new excel input file. If you need a reminder of how to run backbone, go back to the previois tutorial (Chapter Run backbone). If you experience errors, check the Common errors chapter from the previous tutorial.

Hint: A very common error in this tutorial origins from the table ts_influx. If your results do not contain any generation at all, take a look back at Tutorial Part 1 at the section about ts_influx and check your ts_influx for errors.

Analyze results

Look into the output folder and look at the file results.gdx or the corresponding excel files to answer the following questions.

Guest users do not have permission to interact with embedded questions.

Guest users do not have permission to interact with embedded questions.

Guest users do not have permission to interact with embedded questions.

Further material

These two tutorials covered all the backbone abilities you need to complete the case study. Yet, there are some areas that we did not cover (e.g. the implementation of renewable energies). If you are interested, there is a tutorial with a bigger scope to be found on this website: https://www.ee.ruhr-uni-bochum.de/ee/forschung/backbone.html.en

You can also consult the official Backbone wiki (https://gitlab.vtt.fi/backbone/backbone/-/wikis/home) or the wiki of our group ( https://gitlab.ruhr-uni-bochum.de/ee/backbone-tools/-/wikis/home) if you have further questions.