{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Tutorial VI.1\n", "\n", "Consider a long-term multi-year investment problem where **CSP (Concentrated Solar Power)** has a learning curve such that\n", "\n", "$$LCOE = c_0 \\left(\\frac{x_t}{x_0}\\right)^{-\\gamma} + c_1$$\n", "\n", "where $c_0$ is cost at start, $c_1$ is material cost and $x_t$ is cumulative\n", "capacity in the investment interval $t$. Thus, $x_0$ is the initial cumulative CSP capacity.\n", "\n", "Additionally, there are **nuclear** and **coal** generators for which there is no potential for reducing their LCOE.\n", "\n", "We build an optimisation to minimise the cost of supplying a flat demand $d=100$ with the given technologies between 2020 and 2050, where a CO$_2$ budget cap is applied.\n", "\n", "> **Hint:** Problem formulation is to be found further along this notebook.\n", "\n", "**Task:** Explore different discount rates, learning rates, CO$_2$ budgets. For instance\n", "* No learning for CSP and no CO$_2$ budget would result in a coal-reliant system.\n", "* A CO$_2$ budget and no learning prefers a system built on nuclear.\n", "* A CO$_2$ budget and learning results in a system with CSP." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## Imports" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "from pyomo.environ import ConcreteModel, Var, Objective, NonNegativeReals, Constraint, Suffix, exp\n", "from pyomo.opt import SolverFactory\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "plt.style.use('bmh')\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parameters" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
coalnuclearCSPunit
current LCOE50.0100.0150.0LCOE EUR/MWh_el
specific emissions1.00.00.0tCO2/MWh_el
potential LCOE50.0100.035.0EUR/MWh_el
current volume1000000.01000000.0200.0GW
\n", "
" ], "text/plain": [ " coal nuclear CSP unit\n", "current LCOE 50.0 100.0 150.0 LCOE EUR/MWh_el\n", "specific emissions 1.0 0.0 0.0 tCO2/MWh_el\n", "potential LCOE 50.0 100.0 35.0 EUR/MWh_el\n", "current volume 1000000.0 1000000.0 200.0 GW" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "techs = [\"coal\",\"nuclear\",\"CSP\"]\n", "colors = [\"#707070\",\"#ff9000\",\"#f9d002\"]\n", "parameters = pd.DataFrame(data=[[50.,100.,150.,\"LCOE EUR/MWh_el\"],\n", " [1.,0.,0., \"tCO2/MWh_el\"],\n", " [50.,100.,35., \"EUR/MWh_el\"],\n", " [1e6,1e6,200,\"GW\"]],\n", " index=[\"current LCOE\",\"specific emissions\",\"potential LCOE\",\"current volume\"],\n", " columns=techs+[\"unit\"])\n", "parameters" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "#discount rate\n", "rate = 0.05\n", "\n", "#demand in GW\n", "demand = 100.\n", "\n", "#learning rate of CSP\n", "gamma_csp = 0.4\n", "\n", "# carbon budget in average tCO2/MWh_el\n", "co2_budget = 0.2\n", "\n", "# considered years\n", "years = list(range(2020,2050))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Build Model\n", "> **Note:** We use [pyomo](https://pyomo.readthedocs.io/en/stable/) for building optimisation problems in python. This is also what pypsa uses under the hood." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "model = ConcreteModel(\"discounted total costs\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$G_{t,a}$$" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "model.generators = Var(techs, years, within=NonNegativeReals)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$LCOE_{t,a}$$" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "model.costs = Var(techs, years, within=NonNegativeReals)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The objective is to minimise the system costs:\n", "\n", "$$\\min \\quad \\sum_{t\\in T, a\\in A} G_{t,a}\\cdot LCOE_{t,a} \\cdot \\frac{8760}{10^6\\cdot (1+r)^{t}}$$" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "# in billion EUR\n", "model.objective = Objective(expr=sum(model.generators[tech,year]*model.costs[tech,year]*8760/1e6/(1+rate)**(year-years[0])\n", " for year in years\n", " for tech in techs))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add a constraint such that demand is met by generator dispatch:\n", "\n", "$$\\forall a\\in A: \\quad d = \\sum_{t \\in T} G_{t,a}$$" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "def balance_constraint(model, year):\n", " return demand == sum(model.generators[tech,year] for tech in techs)\n", "model.balance_constraint = Constraint(years, rule=balance_constraint)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Add a constraint on carbon dioxide emissions:\n", "\n", "$$\\sum_{t\\in T, a\\in A} G_{t,a} \\cdot e_{t} \\leq \\hat{e} \\cdot |A| \\cdot d$$" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "def co2_constraint(model):\n", " return co2_budget*len(years)*demand >= sum(model.generators[tech,year]*parameters.at[\"specific emissions\",tech] for tech in techs for year in years)\n", "model.co2_constraint = Constraint(rule=co2_constraint)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "def lcoe_constraint(model,tech,year):\n", " if tech != \"CSP\":\n", " return model.costs[tech,year] == parameters.at[\"current LCOE\",tech]\n", " else:\n", " return model.costs[tech,year] == parameters.at[\"current LCOE\",tech]*(1+sum(model.generators[tech,yeart] for yeart in years if yeart < year))**(-gamma_csp)\n", "model.lcoe_constraint = Constraint(techs, years, rule=lcoe_constraint)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Hint:** You can print the model formulation with model.pprint()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solve Model" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "opt = SolverFactory(\"ipopt\")" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "results = opt.solve(model,suffixes=[\"dual\"],keepfiles=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optimised cost:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "231.63436487305015\n" ] } ], "source": [ "print(model.objective())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The unoptimized cost (where everything is supplied by coal) is:" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1314.0\n" ] } ], "source": [ "print(8760*demand*parameters.at[\"current LCOE\",\"coal\"]*len(years)/1e6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting the development of the technology mix of the optimal solution over time:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "capacities = pd.DataFrame(0.,index=years,columns=techs)\n", "for year in years:\n", " for tech in techs:\n", " capacities.at[year,tech] = model.generators[tech,year].value" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'capacity [GW]')" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "