{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/samgdotson/osier/env-instructions?labpath=docs%2Fsource%2Fexamples%2Fdispatch_tutorial.ipynb)\n", "\n", "# Dispatch Tutorial\n", "\n", "In this tutorial you will learn how to run a dispatch model in `osier` using\n", "\n", "1. `osier` technology objects\n", "\n", "2. The `osier` dispatch algorithm\n", "\n", "A dispatch model determines the amount of energy each technology produces at each timestep. This implementation uses a linear program constructed with `Pyomo`. Since it is a linear program, the model has perfect foresight and \n", "minimizes total variable cost.\n", "\n", "First, we must import some key ingredients." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solver set: cbc\n" ] } ], "source": [ "# basic imports\n", "import pandas as pd \n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from unyt import kW, minute, hour, day, MW\n", "import sys\n", "\n", "# osier imports\n", "from osier import DispatchModel, LogicDispatchModel\n", "import osier.tech_library as lib\n", "\n", "\n", "# automatically set the solver\n", "if \"win32\" in sys.platform:\n", " solver = 'cplex'\n", "elif \"linux\" in sys.platform:\n", " solver = \"cbc\"\n", "else:\n", " solver = \"cbc\"\n", "\n", "print(f\"Solver set: {solver}\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Creating the technology portfolio\n", "\n", "In order to run a dispatch model you must provide a mix of energy generating technologies. The technologies used in the dispatch model should be added to a python `list`. \n", "\n", "In general, **dispatch models do not optimize the capacity of each generator.** They only optimize the amount of energy each generator produces (i.e., dispatches). \n", "\n", "If you forget what technologies are available in `osier` (or what they're called), simply look at the catalog!" ] }, { "cell_type": "code", "execution_count": 2, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Import NameTechnology Name
0batteryBattery
1biomassBiomass
2coalCoal_Conv
3coal_advCoal_Adv
4natural_gasNaturalGas_Conv
5natural_gas_advNaturalGas_Adv
6nuclearNuclear
7nuclear_advNuclear_Adv
8solarSolarPanel
9windWindTurbine
\n", "
" ], "text/plain": [ " Import Name Technology Name\n", "0 battery Battery\n", "1 biomass Biomass\n", "2 coal Coal_Conv\n", "3 coal_adv Coal_Adv\n", "4 natural_gas NaturalGas_Conv\n", "5 natural_gas_adv NaturalGas_Adv\n", "6 nuclear Nuclear\n", "7 nuclear_adv Nuclear_Adv\n", "8 solar SolarPanel\n", "9 wind WindTurbine" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lib.catalog()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[NaturalGas_Conv: 8375.1331 MW]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# create a capacity portfolio of only natural gas.\n", "\n", "technology_mix = [lib.natural_gas]\n", "display(technology_mix)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Adding energy demand\n", "\n", "The other thing a dispatch model needs in order to run is a demand profile to optimize. We will create a dummy demand profile for a 48-hour period for our model to optimize." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_hours = 24 # hours per day\n", "n_days = 2 # days to model\n", "N = n_hours*n_days # total number of time steps\n", "phase_shift = 0 # horizontal shift [radians]\n", "base_shift = 2 # vertical shift [units of demand]\n", "hours = np.linspace(0,N,N)\n", "demand = (np.sin((hours*np.pi/n_hours*2+phase_shift))*-1+np.ones(N)*(base_shift+1))\n", "\n", "with plt.style.context(\"dark_background\"):\n", " plt.plot(hours, demand, color='cyan')\n", " plt.grid(alpha=0.2)\n", " plt.ylabel('Demand [MW]')\n", " plt.xlabel('Time [hr]')\n", " plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The demand peaks in the afternoon and reaches a minimum around 6 A.M. Although reasonable, we could make it slightly more \"realistic\" by adding some random noise. We can also adjust curve so the area under the curve matches a known amount of demand." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "total_demand = 185 # [MWh], sets the total demand [units of energy]\n", "demand = (np.sin((hours*np.pi/n_hours*2+phase_shift))*-1+np.ones(N)*(base_shift+1))\n", "\n", "np.random.seed(1234) # sets the seed for repeatability\n", "\n", "noise = np.random.random(N)\n", "demand += noise\n", "\n", "demand = demand/demand.sum() * total_demand # rescale\n", "\n", "with plt.style.context(\"dark_background\"):\n", " plt.plot(hours, demand, color='cyan')\n", " plt.ylabel('Demand [MW]')\n", " plt.xlabel('Time [hr]')\n", " plt.grid(alpha=0.2)\n", " plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Creating the Dispatch Model\n", "\n", "\n", "This is the simplest model in `osier`. The dispatch model minimizes total operational cost of the system and requires two pieces of data:\n", "\n", "1. A list of `osier.Technology` objects that can meet the specified demand.\n", "\n", "2. A **net** demand profile (i.e., if you want to model renewable energy, you should provide a production curve for the given time period of interest). The net demand is the demand minus the non-dispatchable energy production at each time step (e.g., demand - wind production - solar production). \n", "\n", "In order to solve the model, simply call `DispatchModel.solve(solver=\"SOLVER_NAME\")`. This function returns `None`, but you can check that it succeeded by printing `DispatchModel.objective`.\n", "\n", "The default values for the model are:\n", "\n", "1. Energy -- Megawatts [MW]\n", "\n", "2. Time -- 1 hour [hr]\n", "\n", "3. Cost -- million dollars per unit [M$/unit]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0041415950022387\n", "Model ran in 0.843126 seconds.\n" ] } ], "source": [ "import time\n", "start = time.perf_counter()\n", "model = DispatchModel(technology_list=technology_mix,\n", " net_demand=demand\n", " )\n", "model.solve(solver=solver) # add your preferred solver here!\n", "end = time.perf_counter()\n", "print(model.objective)\n", "print(f\"Model ran in {(end-start):3f} seconds.\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Verifying the results\n", "\n", "Since this is only a dispatch model, the only costs that contribute to the merit order is the marginal cost of producing electricity (i.e., the variable costs). Although there are two types of variable costs in an `osier.Technology` object, fuel and operating and management (O&M). They are automatically combined into a single variable cost (`osier` tries to enforce consistent units as well by using the `unyt` library).\n", "\n", "In order to verify that the results make sense, we can divide the model objective by the total demand, and that should equal the variable cost for the natural gas technology (though I use the `np.isclose` command to account for any floating point wonkiness)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.True_" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tol = 1e-6\n", "np.isclose((model.objective / total_demand), \n", " model.technology_list[0].variable_cost, \n", " rtol=tol)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The variables agree! Which means the model ran successfully and nothing strange happened!" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Checking the results" ] }, { "cell_type": "code", "execution_count": 8, "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", " \n", "
NaturalGas_ConvCurtailmentCost
03.487598-0.00.000078
13.669428-0.00.000082
23.199753-0.00.000072
33.351018-0.00.000075
43.172340-0.00.000071
\n", "
" ], "text/plain": [ " NaturalGas_Conv Curtailment Cost\n", "0 3.487598 -0.0 0.000078\n", "1 3.669428 -0.0 0.000082\n", "2 3.199753 -0.0 0.000072\n", "3 3.351018 -0.0 0.000075\n", "4 3.172340 -0.0 0.000071" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show the first 5 hours of the system.\n", "model.results.head()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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xYnpSy+9xPDhw/n6668zIh4RERERyaEs7gtPSEjgr7/+yohYRERERCQHszgxnTdvHmPGjMmIWEREREQkB7O4K//9999n/fr1+Pn5ceLECWJjY1N83rt3b6sFJyIiIiI5h8WJ6fz582nTpg1bt27l5s2bmTbhSURERESyN4sT08GDB9O7d29+/fXXjIhHRERERHIoi8eY3rp1C39//4yIRURERERyMIsT07fffpupU6fi5uaWEfGIiIiISA5lcVf+iy++SPny5QkKCuLChQv3TH6qV6+e1YITERERkZzD4sR0zZo1GRCGiIiIiOR0Fiem06ZNy4g4LDJ69GjGjBmD0WjxSAQRERERsVNpyuzy5s3LiBEjmDlzJvny5QOgTp06FCtWzKrBPYiPjw/e3t40bNgwU+oTERERkYxncYtpjRo12Lx5M6GhoZQpU4Yvv/ySkJAQevbsSenSpRkyZEhGxCkiIiIi2ZzFLaZz585lyZIlVKpUibt37ya/v2HDBlq2bGnV4EREREQk57A4MW3QoAELFiy45/3AwECKFClilaBEREREJOexODG9e/cuefLkuef9ypUrc+PGDasEJSIiIiI5j8WJ6dq1a3nrrbdwdDQPTzWZTJQsWZLZs2fz008/WT1AEREREckZLE5M//e//1GoUCGuX7+Om5sb27dvx8/Pj/DwcN58802Lyho/fjx79+4lLCyMoKAgVq9eTaVKlSwNSURERESyAYtn5YeHh9OiRQvatGlD3bp1MRqNHDx4kC1btlhceatWrfj000/Zt28fjo6OzJgxg02bNlGtWjUiIyMtLk9EREREsi6LE9MkW7duZevWremqvEuXLileDxs2jBs3blCvXj127tyZrrJFREREJGuxKDE1GAwMHTqUXr16UaZMGUwmE+fPn+fHH39k6dKl6Q4mb968ANy6deu+nzs7O+Pi4pL82sPDIzEwo/mQnCfpu9f3n3PpHhDQfSC6B+xa6r8TixLTdevW0bVrV44cOcKxY8cwGAxUrVqVJUuW0KtXL3r27GlxqP82d+5cdu7cia+v730/nzBhAm+//fa9H3hVg5g76apbsiiDAQpUAExgMtk6GrEF3QMCug9E94A9c8qV6lNTnZgOHTqUli1b0q5dO7Zt25biszZt2rBmzRqefvrpNLecfvLJJ9SsWZPmzZs/8JxZs2Yxd+7c5NceHh4EBgZC0AmIDk1TvZLFGYyAAa4dA1OCraMRW9A9IKD7QHQP2DNnj1SfmurEdMCAAcycOfOepBTM401nz57NoEGD0pSYfvzxxzz++OO0bNnSnGg+QExMDDExMfd+YErQTZiTJX3/ugdyLt0DAroPRPeA3Ur995HqTv+aNWvy22+/PfDzDRs2UKtWrVRXnGT+/Pn06tWLtm3bcuHCBYuvFxEREZHsIdUtpvnz5ycoKOiBnwcFBZEvXz6LKv/0008ZOHAgPXr0IDw8HC8vLwBCQ0O5e/euRWWJiIiISNaW6hZTBwcH4uLiHvh5fHx88m5QqTV69Gg8PT3Zvn07165dSz769+9vUTkiIiIikvWlOpM0GAwsWbKE6Ojo+37+72WcLClTRERERAQsSEy//vrrR57zzTffpCsYEREREcm5Up2YDh8+PCPjEBEREZEcTtsjiIiIiIhdUGIqIiIiInYhSyamo0ePxtfXl71799o6FBERERGxkiyZmPr4+ODt7U3Dhg1tHYqIiIiIWEmWTExFREREJPtRYioiIiIidkGJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF1QYioiIiIidkGJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF3IkomptiQVERERyX6yZGKqLUlFREREsp8smZiKiIiISPajxFRERERE7IISUxERERGxC0pMRURERMQuKDEVEREREbugxFRERERE7IISUxERERGxC0pMRURERMQuKDEVEREREbuQJRNTbUkqIiIikv1kycRUW5KKiIiIZD9ZMjEVERERkexHiamIiIiI2AUlpiIiIiJiF5SYioiIiIhdUGIqIiIiInZBiamIiIiI2AUlpiIiIiJiF5SYioiIiIhdUGIqIiIiInZBiamIiIiI2IUsmZiOHj0aX19f9u7da+tQRERERMRKsmRi6uPjg7e3Nw0bNrR1KCIiIiJiJVkyMRURERGR7EeJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF1QYioiIiIidsGmiWmLFi1Yt24dgYGBmEwmevToYctwRERERMSGbJqYuru7c+TIEV544QVbhiEiIiIidsDRlpX/9ttv/Pbbb7YMQURERETshE0TU0s5Ozvj4uKS/NrDw8P8Pwaj+ZCcJ+m71/efc+keENB9ILoH7Frqv5MslZhOmDCBt99++94PvKpBzJ1Mj0fsgMEABSoAJjCZbB2N2ILuAQHdB6J7wJ455Ur1qVkqMZ01axZz585Nfu3h4UFgYCAEnYDoUBtGJjZjMAIGuHYMTAm2jkZsQfeAgO4D0T1gz5w9Un1qlkpMY2JiiImJufcDU4Juwpws6fvXPZBz6R4Q0H0gugfsVuq/Dw3EEBERERG7YNMWU3d3dypUqJD8umzZstSqVYtbt24REBBgw8hEREREJLPZNDGtX78+27ZtS349b948AJYsWcKwYcNsFJWIiIiI2IJNE9Pt27djMBhsGYKIiIiI2AmNMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC5kycR09OjR+Pr6snfvXluHIiIiIiJWkiUTUx8fH7y9vWnYsKGtQxERERERK8mSiamIiIiIZD9KTEVERETELigxFRERERG7oMRUREREROyCElMRERERsQtKTEVERETELigxFRERERG7oMRUREREROyCElMRERERsQtZMjHVlqQiIiIi2U+WTEy1JamIiIhI9pMlE1MRERERyX6UmIqIiIiIXVBiKiIiIiJ2QYmpiIiIiNgFJaYiIiIiYheUmIqIiIiIXVBiKiIiIiJ2QYmpiIiIiNgFJaYiIiIiYheyZGKqLUlFREREsp8smZhqS1IRERGR7CdLJqYiIiIikv0oMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC4oMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC4oMRURERERu5AlE9PRo0fj6+vL3r17bR2KiIiIiFhJlkxMfXx88Pb2pmHDhrYORURERESsJEsmpiIiIiKS/SgxFRERERG7oMRUREREROyCElMRERERsQtKTEVERETELtg8MX3++ec5d+4cUVFR7N+/n+bNm9s6JBERERGxAZsmpv369ePDDz9kxowZ1KlTh507d7JhwwZKlixpy7BERERExAZsmpi+8sorfPXVV3z11VecOnWKcePGERAQwPPPP2/LsERERETEBhxtVbGTkxP16tVj9uzZKd7ftGkTTZs2ve81zs7OuLi4JL/28PAw/49LngyLU+ycwQjOucElL5gSbB2N2ILuAQHdB6J7wJ455071qTZLTAsWLIijoyNBQUEp3g8KCqJIkSL3vWbChAm8/fbb937wyvEMiFBERERErMXDw4Pw8PCHnmOzxDSJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with plt.style.context(\"dark_background\"):\n", " fig, ax = plt.subplots(figsize=(8,4))\n", " ax.grid(alpha=0.2)\n", " ax.minorticks_on()\n", " ax.fill_between(hours, \n", " y1=0, \n", " y2=model.results['NaturalGas_Conv'].values, \n", " color='tab:orange', \n", " label='Natural Gas')\n", " ax.plot(hours, model.net_demand, color='cyan', label='Net Demand')\n", " ax.set_xlim(0,48)\n", " ax.set_ylim(0,5.5)\n", " ax.legend()\n", " ax.set_ylabel(\"Demand [MW]\")\n", " ax.set_xlabel(\"Time [hr]\")\n", " plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We see that the natural gas plant perfectly fulfilled the demand at each time step." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Hierarchical Dispatch\n", "\n", "`osier` offers a second, faster, dispatch algorithm called\n", "`osier.LogicDispatchModel`. Although this model is faster, it is myopic.\n", "Therefore, optimality is not guaranteed. Especially for systems with a lot of\n", "renewable energy and battery storage.\n", "\n", "`LogicDispatchModel` can be used as a drop-in replacement for the original `DispatchModel`." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0041415950000000005\n", "Model ran in 0.101489 seconds.\n" ] } ], "source": [ "start = time.perf_counter()\n", "model = LogicDispatchModel(technology_list=technology_mix,\n", " net_demand=demand\n", " )\n", "model.solve() # add your preferred solver here!\n", "end = time.perf_counter()\n", "print(model.objective)\n", "print(f\"Model ran in {(end-start):3f} seconds.\")" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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xYnpSy+9xPDhw/n6668zIh4RERERyaEs7gtPSEjgr7/+yohYRERERCQHszgxnTdvHmPGjMmIWEREREQkB7O4K//9999n/fr1+Pn5ceLECWJjY1N83rt3b6sFJyIiIiI5h8WJ6fz582nTpg1bt27l5s2bmTbhSURERESyN4sT08GDB9O7d29+/fXXjIhHRERERHIoi8eY3rp1C39//4yIRURERERyMIsT07fffpupU6fi5uaWEfGIiIiISA5lcVf+iy++SPny5QkKCuLChQv3TH6qV6+e1YITERERkZzD4sR0zZo1GRCGiIiIiOR0Fiem06ZNy4g4LDJ69GjGjBmD0WjxSAQRERERsVNpyuzy5s3LiBEjmDlzJvny5QOgTp06FCtWzKrBPYiPjw/e3t40bNgwU+oTERERkYxncYtpjRo12Lx5M6GhoZQpU4Yvv/ySkJAQevbsSenSpRkyZEhGxCkiIiIi2ZzFLaZz585lyZIlVKpUibt37ya/v2HDBlq2bGnV4EREREQk57A4MW3QoAELFiy45/3AwECKFClilaBEREREJOexODG9e/cuefLkuef9ypUrc+PGDasEJSIiIiI5j8WJ6dq1a3nrrbdwdDQPTzWZTJQsWZLZs2fz008/WT1AEREREckZLE5M//e//1GoUCGuX7+Om5sb27dvx8/Pj/DwcN58802Lyho/fjx79+4lLCyMoKAgVq9eTaVKlSwNSURERESyAYtn5YeHh9OiRQvatGlD3bp1MRqNHDx4kC1btlhceatWrfj000/Zt28fjo6OzJgxg02bNlGtWjUiIyMtLk9EREREsi6LE9MkW7duZevWremqvEuXLileDxs2jBs3blCvXj127tyZrrJFREREJGuxKDE1GAwMHTqUXr16UaZMGUwmE+fPn+fHH39k6dKl6Q4mb968ANy6deu+nzs7O+Pi4pL82sPDIzEwo/mQnCfpu9f3n3PpHhDQfSC6B+xa6r8TixLTdevW0bVrV44cOcKxY8cwGAxUrVqVJUuW0KtXL3r27GlxqP82d+5cdu7cia+v730/nzBhAm+//fa9H3hVg5g76apbsiiDAQpUAExgMtk6GrEF3QMCug9E94A9c8qV6lNTnZgOHTqUli1b0q5dO7Zt25biszZt2rBmzRqefvrpNLecfvLJJ9SsWZPmzZs/8JxZs2Yxd+7c5NceHh4EBgZC0AmIDk1TvZLFGYyAAa4dA1OCraMRW9A9IKD7QHQP2DNnj1SfmurEdMCAAcycOfOepBTM401nz57NoEGD0pSYfvzxxzz++OO0bNnSnGg+QExMDDExMfd+YErQTZiTJX3/ugdyLt0DAroPRPeA3Ur995HqTv+aNWvy22+/PfDzDRs2UKtWrVRXnGT+/Pn06tWLtm3bcuHCBYuvFxEREZHsIdUtpvnz5ycoKOiBnwcFBZEvXz6LKv/0008ZOHAgPXr0IDw8HC8vLwBCQ0O5e/euRWWJiIiISNaW6hZTBwcH4uLiHvh5fHx88m5QqTV69Gg8PT3Zvn07165dSz769+9vUTkiIiIikvWlOpM0GAwsWbKE6Ojo+37+72WcLClTRERERAQsSEy//vrrR57zzTffpCsYEREREcm5Up2YDh8+PCPjEBEREZEcTtsjiIiIiIhdUGIqIiIiInYhSyamo0ePxtfXl71799o6FBERERGxkiyZmPr4+ODt7U3Dhg1tHYqIiIiIWEmWTExFREREJPtRYioiIiIidkGJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF1QYioiIiIidkGJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF3IkomptiQVERERyX6yZGKqLUlFREREsp8smZiKiIiISPajxFRERERE7IISUxERERGxC0pMRURERMQuKDEVEREREbugxFRERERE7IISUxERERGxC0pMRURERMQuKDEVEREREbuQJRNTbUkqIiIikv1kycRUW5KKiIiIZD9ZMjEVERERkexHiamIiIiI2AUlpiIiIiJiF5SYioiIiIhdUGIqIiIiInZBiamIiIiI2AUlpiIiIiJiF5SYioiIiIhdUGIqIiIiInZBiamIiIiI2IUsmZiOHj0aX19f9u7da+tQRERERMRKsmRi6uPjg7e3Nw0bNrR1KCIiIiJiJVkyMRURERGR7EeJqYiIiIjYBSWmIiIiImIXlJiKiIiIiF1QYioiIiIidsGmiWmLFi1Yt24dgYGBmEwmevToYctwRERERMSGbJqYuru7c+TIEV544QVbhiEiIiIidsDRlpX/9ttv/Pbbb7YMQURERETshE0TU0s5Ozvj4uKS/NrDw8P8Pwaj+ZCcJ+m71/efc+keENB9ILoH7Frqv5MslZhOmDCBt99++94PvKpBzJ1Mj0fsgMEABSoAJjCZbB2N2ILuAQHdB6J7wJ455Ur1qVkqMZ01axZz585Nfu3h4UFgYCAEnYDoUBtGJjZjMAIGuHYMTAm2jkZsQfeAgO4D0T1gz5w9Un1qlkpMY2JiiImJufcDU4Juwpws6fvXPZBz6R4Q0H0gugfsVuq/Dw3EEBERERG7YNMWU3d3dypUqJD8umzZstSqVYtbt24REBBgw8hEREREJLPZNDGtX78+27ZtS349b948AJYsWcKwYcNsFJWIiIiI2IJNE9Pt27djMBhsGYKIiIiI2AmNMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC5kycR09OjR+Pr6snfvXluHIiIiIiJWkiUTUx8fH7y9vWnYsKGtQxERERERK8mSiamIiIiIZD9KTEVERETELigxFRERERG7oMRUREREROyCElMRERERsQtKTEVERETELigxFRERERG7oMRUREREROyCElMRERERsQtZMjHVlqQiIiIi2U+WTEy1JamIiIhI9pMlE1MRERERyX6UmIqIiIiIXVBiKiIiIiJ2QYmpiIiIiNgFJaYiIiIiYheUmIqIiIiIXVBiKiIiIiJ2QYmpiIiIiNgFJaYiIiIiYheyZGKqLUlFREREsp8smZhqS1IRERGR7CdLJqYiIiIikv0oMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC4oMRURERERu6DEVERERETsghJTEREREbELSkxFRERExC4oMRURERERu5AlE9PRo0fj6+vL3r17bR2KiIiIiFhJlkxMfXx88Pb2pmHDhrYORURERESsJEsmpiIiIiKS/SgxFRERERG7oMRUREREROyCElMRERERsQtKTEVERETELtg8MX3++ec5d+4cUVFR7N+/n+bNm9s6JBERERGxAZsmpv369ePDDz9kxowZ1KlTh507d7JhwwZKlixpy7BERERExAZsmpi+8sorfPXVV3z11VecOnWKcePGERAQwPPPP2/LsERERETEBhxtVbGTkxP16tVj9uzZKd7ftGkTTZs2ve81zs7OuLi4JL/28PAw/49LngyLU+ycwQjOucElL5gSbB2N2ILuAQHdB6J7wJ455071qTZLTAsWLIijoyNBQUEp3g8KCqJIkSL3vWbChAm8/fbb937wyvEMiFBERERErMXDw4Pw8PCHnmOzxDSJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with plt.style.context(\"dark_background\"):\n", " fig, ax = plt.subplots(figsize=(8,4))\n", " ax.grid(alpha=0.2)\n", " ax.minorticks_on()\n", " ax.fill_between(hours, \n", " y1=0, \n", " y2=model.results['NaturalGas_Conv'].values, \n", " color='tab:orange', \n", " label='Natural Gas')\n", " ax.plot(hours, model.net_demand, color='cyan', label='Net Demand')\n", " ax.set_xlim(0,48)\n", " ax.set_ylim(0,5.5)\n", " ax.legend()\n", " ax.set_ylabel(\"Demand [MW]\")\n", " ax.set_xlabel(\"Time [hr]\")\n", " plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Time Benchmarking" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "955 ms ± 118 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ "%%timeit\n", "model = DispatchModel(technology_list=technology_mix,\n", " net_demand=demand\n", " )\n", "model.solve(solver=solver)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "264 ms ± 2.28 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ "%%timeit\n", "model = LogicDispatchModel(technology_list=technology_mix,\n", " net_demand=demand\n", " )\n", "model.solve() " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We observe almost a 4x speed-up using the `LogicDispatchModel` over the\n", "`DispatchModel`." ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.6" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }