You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
852 lines
54 KiB
852 lines
54 KiB
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>2. Data Format — UnitCommitment.jl<br/><small>0.3</small></title>
|
|
|
|
<link href="../_static/css/theme.css" rel="stylesheet" />
|
|
<link href="../_static/css/index.c5995385ac14fb8791e8eb36b4908be2.css" rel="stylesheet" />
|
|
|
|
|
|
<link rel="stylesheet"
|
|
href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin
|
|
href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
|
|
<link rel="preload" as="font" type="font/woff2" crossorigin
|
|
href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/sphinx-book-theme.acff12b8f9c144ce68a297486a2fa670.css" type="text/css" />
|
|
<link rel="stylesheet" type="text/css" href="../_static/custom.css" />
|
|
|
|
<link rel="preload" as="script" href="../_static/js/index.1c5a1a01449ed65a7b51.js">
|
|
|
|
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
|
<script src="../_static/jquery.js"></script>
|
|
<script src="../_static/underscore.js"></script>
|
|
<script src="../_static/doctools.js"></script>
|
|
<script src="../_static/sphinx-book-theme.12a9622fbb08dcb3a2a40b2c02b83a57.js"></script>
|
|
<link rel="index" title="Index" href="../genindex/" />
|
|
<link rel="search" title="Search" href="../search/" />
|
|
<link rel="next" title="3. Instances" href="../instances/" />
|
|
<link rel="prev" title="1. Usage" href="../usage/" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="docsearch:language" content="en" />
|
|
|
|
</head>
|
|
<body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
|
|
|
|
<div class="container-fluid" id="banner"></div>
|
|
|
|
|
|
|
|
<div class="container-xl">
|
|
<div class="row">
|
|
|
|
<div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
|
|
|
|
<div class="navbar-brand-box">
|
|
<a class="navbar-brand text-wrap" href="../">
|
|
|
|
|
|
<h1 class="site-logo" id="site-title">UnitCommitment.jl<br/><small>0.3</small></h1>
|
|
|
|
</a>
|
|
</div><form class="bd-search d-flex align-items-center" action="../search/" method="get">
|
|
<i class="icon fas fa-search"></i>
|
|
<input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" >
|
|
</form><nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
|
|
<div class="bd-toc-item active">
|
|
<ul class="current nav bd-sidenav">
|
|
<li class="toctree-l1">
|
|
<a class="reference internal" href="../usage/">
|
|
<span class="sectnum">
|
|
1.
|
|
</span>
|
|
Usage
|
|
</a>
|
|
</li>
|
|
<li class="toctree-l1 current active">
|
|
<a class="current reference internal" href="#">
|
|
<span class="sectnum">
|
|
2.
|
|
</span>
|
|
Data Format
|
|
</a>
|
|
</li>
|
|
<li class="toctree-l1">
|
|
<a class="reference internal" href="../instances/">
|
|
<span class="sectnum">
|
|
3.
|
|
</span>
|
|
Instances
|
|
</a>
|
|
</li>
|
|
<li class="toctree-l1">
|
|
<a class="reference internal" href="../model/">
|
|
<span class="sectnum">
|
|
4.
|
|
</span>
|
|
JuMP Model
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
</nav> <!-- To handle the deprecated key -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
|
|
|
|
<div class="topbar container-xl fixed-top">
|
|
<div class="topbar-contents row">
|
|
<div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
|
|
<div class="col pl-md-4 topbar-main">
|
|
|
|
<button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
|
|
data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
|
|
aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
|
|
title="Toggle navigation" data-toggle="tooltip" data-placement="left">
|
|
<i class="fas fa-bars"></i>
|
|
<i class="fas fa-arrow-left"></i>
|
|
<i class="fas fa-arrow-up"></i>
|
|
</button>
|
|
|
|
|
|
<div class="dropdown-buttons-trigger">
|
|
<button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
|
|
class="fas fa-download"></i></button>
|
|
|
|
<div class="dropdown-buttons">
|
|
<!-- ipynb file if we had a myst markdown file -->
|
|
|
|
<!-- Download raw file -->
|
|
<a class="dropdown-buttons" href="../_sources/format.md.txt"><button type="button"
|
|
class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
|
|
data-placement="left">.md</button></a>
|
|
<!-- Download PDF via print -->
|
|
<button type="button" id="download-print" class="btn btn-secondary topbarbtn" title="Print to PDF"
|
|
onClick="window.print()" data-toggle="tooltip" data-placement="left">.pdf</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Source interaction buttons -->
|
|
|
|
<div class="dropdown-buttons-trigger">
|
|
<button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
|
|
aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
|
|
<div class="dropdown-buttons sourcebuttons">
|
|
<a class="repository-button"
|
|
href="https://github.com/ANL-CEEESA/UnitCommitment.jl/"><button type="button" class="btn btn-secondary topbarbtn"
|
|
data-toggle="tooltip" data-placement="left" title="Source repository"><i
|
|
class="fab fa-github"></i>repository</button></a>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Full screen (wrap in <a> to have style consistency -->
|
|
|
|
<a class="full-screen-button"><button type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip"
|
|
data-placement="bottom" onclick="toggleFullScreen()" aria-label="Fullscreen mode"
|
|
title="Fullscreen mode"><i
|
|
class="fas fa-expand"></i></button></a>
|
|
|
|
<!-- Launch buttons -->
|
|
|
|
</div>
|
|
|
|
<!-- Table of contents -->
|
|
<div class="d-none d-md-block col-md-2 bd-toc show">
|
|
|
|
<div class="tocsection onthispage pt-5 pb-3">
|
|
<i class="fas fa-list"></i> Contents
|
|
</div>
|
|
<nav id="bd-toc-nav">
|
|
<ul class="visible nav section-nav flex-column">
|
|
<li class="toc-h2 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#input-data-format">
|
|
<span class="sectnum">
|
|
2.1.
|
|
</span>
|
|
Input Data Format
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#parameters">
|
|
Parameters
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#example">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#buses">
|
|
Buses
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id1">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#generators">
|
|
Generators
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#production-costs-and-limits">
|
|
Production costs and limits
|
|
</a>
|
|
</li>
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#additional-remarks">
|
|
Additional remarks:
|
|
</a>
|
|
</li>
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id2">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#price-sensitive-loads">
|
|
Price-sensitive loads
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id3">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#transmission-lines">
|
|
Transmission Lines
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id4">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#reserves">
|
|
Reserves
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#example-1">
|
|
Example 1
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#contingencies">
|
|
Contingencies
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id5">
|
|
Example
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h3 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#id6">
|
|
Additional remarks
|
|
</a>
|
|
<ul class="nav section-nav flex-column">
|
|
<li class="toc-h4 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#time-series-parameters">
|
|
Time series parameters
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toc-h2 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#output-data-format">
|
|
<span class="sectnum">
|
|
2.2.
|
|
</span>
|
|
Output Data Format
|
|
</a>
|
|
</li>
|
|
<li class="toc-h2 nav-item toc-entry">
|
|
<a class="reference internal nav-link" href="#current-limitations">
|
|
<span class="sectnum">
|
|
2.3.
|
|
</span>
|
|
Current limitations
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="main-content" class="row">
|
|
<div class="col-12 col-md-9 pl-md-3 pr-md-0">
|
|
|
|
<div>
|
|
|
|
<div class="section" id="data-format">
|
|
<h1><span class="sectnum">2.</span> Data Format<a class="headerlink" href="#data-format" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="input-data-format">
|
|
<h2><span class="sectnum">2.1.</span> Input Data Format<a class="headerlink" href="#input-data-format" title="Permalink to this headline">¶</a></h2>
|
|
<p>Instances are specified by JSON files containing the following main sections:</p>
|
|
<ul class="simple">
|
|
<li><p>Parameters</p></li>
|
|
<li><p>Buses</p></li>
|
|
<li><p>Generators</p></li>
|
|
<li><p>Price-sensitive loads</p></li>
|
|
<li><p>Transmission lines</p></li>
|
|
<li><p>Reserves</p></li>
|
|
<li><p>Contingencies</p></li>
|
|
</ul>
|
|
<p>Each section is described in detail below. For a complete example, see <a class="reference external" href="https://github.com/ANL-CEEESA/UnitCommitment.jl/tree/dev/instances/matpower/case14">case14</a>.</p>
|
|
<div class="section" id="parameters">
|
|
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes system-wide parameters, such as power balance penalty, and optimization parameters, such as the length of the planning horizon and the time.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="text-align:center head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Time</span> <span class="pre">horizon</span> <span class="pre">(h)</span></code></p></td>
|
|
<td class="text-align:left"><p>Length of the planning horizon (in hours).</p></td>
|
|
<td class="text-align:center"><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Time</span> <span class="pre">step</span> <span class="pre">(min)</span></code></p></td>
|
|
<td class="text-align:left"><p>Length of each time step (in minutes). Must be a divisor of 60 (e.g. 60, 30, 20, 15, etc).</p></td>
|
|
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">60</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Power</span> <span class="pre">balance</span> <span class="pre">penalty</span> <span class="pre">($/MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Penalty for system-wide shortage or surplus in production (in $/MW). This is charged per time step. For example, if there is a shortage of 1 MW for three time steps, three times this amount will be charged.</p></td>
|
|
<td class="text-align:center"><p><code class="docutils literal notranslate"><span class="pre">1000.0</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="example">
|
|
<h4>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Parameters"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Time horizon (h)"</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
|
|
<span class="nt">"Power balance penalty ($/MW)"</span><span class="p">:</span> <span class="mf">1000.0</span><span class="p">,</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="buses">
|
|
<h3>Buses<a class="headerlink" href="#buses" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes the characteristics of each bus in the system.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Load</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Fixed load connected to the bus (in MW).</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="id1">
|
|
<h4>Example<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Buses"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"b1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Load (MW)"</span><span class="p">:</span> <span class="mf">0.0</span>
|
|
<span class="p">},</span>
|
|
<span class="nt">"b2"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Load (MW)"</span><span class="p">:</span> <span class="p">[</span>
|
|
<span class="mf">26.01527</span><span class="p">,</span>
|
|
<span class="mf">24.46212</span><span class="p">,</span>
|
|
<span class="mf">23.29725</span><span class="p">,</span>
|
|
<span class="mf">22.90897</span>
|
|
<span class="p">]</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="generators">
|
|
<h3>Generators<a class="headerlink" href="#generators" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes all generators in the system, including thermal units, renewable units and virtual units.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Bus</span></code></p></td>
|
|
<td class="text-align:left"><p>Identifier of the bus where this generator is located (string).</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">(MW)</span></code> and <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">($)</span></code></p></td>
|
|
<td class="text-align:left"><p>Parameters describing the piecewise-linear production costs. See below for more details.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">costs</span> <span class="pre">($)</span></code> and <code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">delays</span> <span class="pre">(h)</span></code></p></td>
|
|
<td class="text-align:left"><p>Parameters describing how much it costs to start the generator after it has been shut down for a certain amount of time. If <code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">costs</span> <span class="pre">($)</span></code> and <code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">delays</span> <span class="pre">(h)</span></code> are set to <code class="docutils literal notranslate"><span class="pre">[300.0,</span> <span class="pre">400.0]</span></code> and <code class="docutils literal notranslate"><span class="pre">[1,</span> <span class="pre">4]</span></code>, for example, and the generator is shut down at time <code class="docutils literal notranslate"><span class="pre">00:00</span></code> (h:min), then it costs $300 to start up the generator at any time between <code class="docutils literal notranslate"><span class="pre">01:00</span></code> and <code class="docutils literal notranslate"><span class="pre">03:59</span></code>, and $400 to start the generator at time <code class="docutils literal notranslate"><span class="pre">04:00</span></code> or any time after that. The number of startup cost points is unlimited, and may be different for each generator. Startup delays must be strictly increasing and the first entry must equal <code class="docutils literal notranslate"><span class="pre">Minimum</span> <span class="pre">downtime</span> <span class="pre">(h)</span></code>.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">[0.0]</span></code> and <code class="docutils literal notranslate"><span class="pre">[1]</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Minimum</span> <span class="pre">uptime</span> <span class="pre">(h)</span></code></p></td>
|
|
<td class="text-align:left"><p>Minimum amount of time the generator must stay operational after starting up (in hours). For example, if the generator starts up at time <code class="docutils literal notranslate"><span class="pre">00:00</span></code> (h:min) and <code class="docutils literal notranslate"><span class="pre">Minimum</span> <span class="pre">uptime</span> <span class="pre">(h)</span></code> is set to 4, then the generator can only shut down at time <code class="docutils literal notranslate"><span class="pre">04:00</span></code>.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">1</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Minimum</span> <span class="pre">downtime</span> <span class="pre">(h)</span></code></p></td>
|
|
<td class="text-align:left"><p>Minimum amount of time the generator must stay offline after shutting down (in hours). For example, if the generator shuts down at time <code class="docutils literal notranslate"><span class="pre">00:00</span></code> (h:min) and <code class="docutils literal notranslate"><span class="pre">Minimum</span> <span class="pre">downtime</span> <span class="pre">(h)</span></code> is set to 4, then the generator can only start producing power again at time <code class="docutils literal notranslate"><span class="pre">04:00</span></code>.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">1</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Ramp</span> <span class="pre">up</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum increase in production from one time step to the next (in MW). For example, if the generator is producing 100 MW at time step 1 and if this parameter is set to 40 MW, then the generator will produce at most 140 MW at time step 2.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Ramp</span> <span class="pre">down</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum decrease in production from one time step to the next (in MW). For example, if the generator is producing 100 MW at time step 1 and this parameter is set to 40 MW, then the generator will produce at least 60 MW at time step 2.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum amount of power a generator can produce immediately after starting up (in MW). For example, if <code class="docutils literal notranslate"><span class="pre">Startup</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code> is set to 100 MW and the unit is off at time step 1, then it may produce at most 100 MW at time step 2.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Shutdown</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum amount of power a generator can produce immediately before shutting down (in MW). Specifically, the generator can only shut down at time step <code class="docutils literal notranslate"><span class="pre">t+1</span></code> if its production at time step <code class="docutils literal notranslate"><span class="pre">t</span></code> is below this limit.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Initial</span> <span class="pre">status</span> <span class="pre">(h)</span></code></p></td>
|
|
<td class="text-align:left"><p>If set to a positive number, indicates the amount of time (in hours) the generator has been on at the beginning of the simulation, and if set to a negative number, the amount of time the generator has been off. For example, if <code class="docutils literal notranslate"><span class="pre">Initial</span> <span class="pre">status</span> <span class="pre">(h)</span></code> is <code class="docutils literal notranslate"><span class="pre">-2</span></code>, this means that the generator was off since <code class="docutils literal notranslate"><span class="pre">-02:00</span></code> (h:min). The simulation starts at time <code class="docutils literal notranslate"><span class="pre">00:00</span></code>. If <code class="docutils literal notranslate"><span class="pre">Initial</span> <span class="pre">status</span> <span class="pre">(h)</span></code> is <code class="docutils literal notranslate"><span class="pre">3</span></code>, this means that the generator was on since <code class="docutils literal notranslate"><span class="pre">-03:00</span></code>. A value of zero is not acceptable.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Initial</span> <span class="pre">power</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Amount of power the generator at time step <code class="docutils literal notranslate"><span class="pre">-1</span></code>, immediately before the planning horizon starts.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Must</span> <span class="pre">run?</span></code></p></td>
|
|
<td class="text-align:left"><p>If <code class="docutils literal notranslate"><span class="pre">true</span></code>, the generator should be committed, even if that is not economical (Boolean).</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">false</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Reserve</span> <span class="pre">eligibility</span></code></p></td>
|
|
<td class="text-align:left"><p>List of reserve products this generator is eligibe to provide. By default, the generator is not eligible to provide any reserves.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">[]</span></code></p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="production-costs-and-limits">
|
|
<h4>Production costs and limits<a class="headerlink" href="#production-costs-and-limits" title="Permalink to this headline">¶</a></h4>
|
|
<p>Production costs are represented as piecewise-linear curves. Figure 1 shows an example cost curve with three segments, where it costs $1400, $1600, $2200 and $2400 to generate, respectively, 100, 110, 130 and 135 MW of power. To model this generator, <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">(MW)</span></code> should be set to <code class="docutils literal notranslate"><span class="pre">[100,</span> <span class="pre">110,</span> <span class="pre">130,</span> <span class="pre">135]</span></code>, and <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">($)</span></code> should be set to <code class="docutils literal notranslate"><span class="pre">[1400,</span> <span class="pre">1600,</span> <span class="pre">2200,</span> <span class="pre">2400]</span></code>.
|
|
Note that this curve also specifies the production limits. Specifically, the first point identifies the minimum power output when the unit is operational, while the last point identifies the maximum power output.</p>
|
|
<center>
|
|
<img src="../_static/cost_curve.png" style="max-width: 500px"/>
|
|
<div><b>Figure 1.</b> Piecewise-linear production cost curve.</div>
|
|
<br/>
|
|
</center>
|
|
</div>
|
|
<div class="section" id="additional-remarks">
|
|
<h4>Additional remarks:<a class="headerlink" href="#additional-remarks" title="Permalink to this headline">¶</a></h4>
|
|
<ul class="simple">
|
|
<li><p>For time-dependent production limits or time-dependent production costs, the usage of nested arrays is allowed. For example, if <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">(MW)</span></code> is set to <code class="docutils literal notranslate"><span class="pre">[5.0,</span> <span class="pre">[10.0,</span> <span class="pre">12.0,</span> <span class="pre">15.0,</span> <span class="pre">20.0]]</span></code>, then the unit may generate at most 10, 12, 15 and 20 MW of power during time steps 1, 2, 3 and 4, respectively. The minimum output for all time periods is fixed to at 5 MW.</p></li>
|
|
<li><p>There is no limit to the number of piecewise-linear segments, and different generators may have a different number of segments.</p></li>
|
|
<li><p>If <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">(MW)</span></code> and <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">($)</span></code> both contain a single element, then the generator must produce exactly that amount of power when operational. To specify that the generator may produce any amount of power up to a certain limit <code class="docutils literal notranslate"><span class="pre">P</span></code>, the parameter <code class="docutils literal notranslate"><span class="pre">Production</span> <span class="pre">cost</span> <span class="pre">curve</span> <span class="pre">(MW)</span></code> should be set to <code class="docutils literal notranslate"><span class="pre">[0,</span> <span class="pre">P]</span></code>.</p></li>
|
|
<li><p>Production cost curves must be convex.</p></li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="id2">
|
|
<h4>Example<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Generators"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"gen1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Bus"</span><span class="p">:</span> <span class="s2">"b1"</span><span class="p">,</span>
|
|
<span class="nt">"Production cost curve (MW)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">100.0</span><span class="p">,</span> <span class="mf">110.0</span><span class="p">,</span> <span class="mf">130.0</span><span class="p">,</span> <span class="mf">135.0</span><span class="p">],</span>
|
|
<span class="nt">"Production cost curve ($)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">1400.0</span><span class="p">,</span> <span class="mf">1600.0</span><span class="p">,</span> <span class="mf">2200.0</span><span class="p">,</span> <span class="mf">2400.0</span><span class="p">],</span>
|
|
<span class="nt">"Startup costs ($)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">300.0</span><span class="p">,</span> <span class="mf">400.0</span><span class="p">],</span>
|
|
<span class="nt">"Startup delays (h)"</span><span class="p">:</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">4</span><span class="p">],</span>
|
|
<span class="nt">"Ramp up limit (MW)"</span><span class="p">:</span> <span class="mf">232.68</span><span class="p">,</span>
|
|
<span class="nt">"Ramp down limit (MW)"</span><span class="p">:</span> <span class="mf">232.68</span><span class="p">,</span>
|
|
<span class="nt">"Startup limit (MW)"</span><span class="p">:</span> <span class="mf">232.68</span><span class="p">,</span>
|
|
<span class="nt">"Shutdown limit (MW)"</span><span class="p">:</span> <span class="mf">232.68</span><span class="p">,</span>
|
|
<span class="nt">"Minimum downtime (h)"</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
|
|
<span class="nt">"Minimum uptime (h)"</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
|
|
<span class="nt">"Initial status (h)"</span><span class="p">:</span> <span class="mi">12</span><span class="p">,</span>
|
|
<span class="nt">"Must run?"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
|
|
<span class="nt">"Reserve eligibility"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"r1"</span><span class="p">],</span>
|
|
<span class="p">},</span>
|
|
<span class="nt">"gen2"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Bus"</span><span class="p">:</span> <span class="s2">"b5"</span><span class="p">,</span>
|
|
<span class="nt">"Production cost curve (MW)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">0.0</span><span class="p">,</span> <span class="p">[</span><span class="mf">10.0</span><span class="p">,</span> <span class="mf">8.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">,</span> <span class="mf">3.0</span><span class="p">]],</span>
|
|
<span class="nt">"Production cost curve ($)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.0</span><span class="p">],</span>
|
|
<span class="nt">"Reserve eligibility"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"r1"</span><span class="p">,</span> <span class="s2">"r2"</span><span class="p">],</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="price-sensitive-loads">
|
|
<h3>Price-sensitive loads<a class="headerlink" href="#price-sensitive-loads" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes components in the system which may increase or reduce their energy consumption according to the energy prices. Fixed loads (as described in the <code class="docutils literal notranslate"><span class="pre">buses</span></code> section) are always served, regardless of the price, unless there is significant congestion in the system or insufficient production capacity. Price-sensitive loads, on the other hand, are only served if it is economical to do so.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="text-align:center head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Bus</span></code></p></td>
|
|
<td class="text-align:left"><p>Bus where the load is located. Multiple price-sensitive loads may be placed at the same bus.</p></td>
|
|
<td class="text-align:center"><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Revenue</span> <span class="pre">($/MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Revenue obtained for serving each MW of power to this load.</p></td>
|
|
<td class="text-align:center"><p>Required</p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Demand</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum amount of power required by this load. Any amount lower than this may be served.</p></td>
|
|
<td class="text-align:center"><p>Required</p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="id3">
|
|
<h4>Example<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Price-sensitive loads"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"p1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Bus"</span><span class="p">:</span> <span class="s2">"b3"</span><span class="p">,</span>
|
|
<span class="nt">"Revenue ($/MW)"</span><span class="p">:</span> <span class="mf">23.0</span><span class="p">,</span>
|
|
<span class="nt">"Demand (MW)"</span><span class="p">:</span> <span class="mf">50.0</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="transmission-lines">
|
|
<h3>Transmission Lines<a class="headerlink" href="#transmission-lines" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes the characteristics of transmission system, such as its topology and the susceptance of each transmission line.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Source</span> <span class="pre">bus</span></code></p></td>
|
|
<td class="text-align:left"><p>Identifier of the bus where the transmission line originates.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Target</span> <span class="pre">bus</span></code></p></td>
|
|
<td class="text-align:left"><p>Identifier of the bus where the transmission line reaches.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Reactance</span> <span class="pre">(ohms)</span></code></p></td>
|
|
<td class="text-align:left"><p>Reactance of the transmission line (in ohms).</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Susceptance</span> <span class="pre">(S)</span></code></p></td>
|
|
<td class="text-align:left"><p>Susceptance of the transmission line (in siemens).</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Normal</span> <span class="pre">flow</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum amount of power (in MW) allowed to flow through the line when the system is in its regular, fully-operational state.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Emergency</span> <span class="pre">flow</span> <span class="pre">limit</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Maximum amount of power (in MW) allowed to flow through the line when the system is in degraded state (for example, after the failure of another transmission line).</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">+inf</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Flow</span> <span class="pre">limit</span> <span class="pre">penalty</span> <span class="pre">($/MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Penalty for violating the flow limits of the transmission line (in $/MW). This is charged per time step. For example, if there is a thermal violation of 1 MW for three time steps, then three times this amount will be charged.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">5000.0</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="id4">
|
|
<h4>Example<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Transmission lines"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"l1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Source bus"</span><span class="p">:</span> <span class="s2">"b1"</span><span class="p">,</span>
|
|
<span class="nt">"Target bus"</span><span class="p">:</span> <span class="s2">"b2"</span><span class="p">,</span>
|
|
<span class="nt">"Reactance (ohms)"</span><span class="p">:</span> <span class="mf">0.05917</span><span class="p">,</span>
|
|
<span class="nt">"Susceptance (S)"</span><span class="p">:</span> <span class="mf">29.49686</span><span class="p">,</span>
|
|
<span class="nt">"Normal flow limit (MW)"</span><span class="p">:</span> <span class="mf">15000.0</span><span class="p">,</span>
|
|
<span class="nt">"Emergency flow limit (MW)"</span><span class="p">:</span> <span class="mf">20000.0</span><span class="p">,</span>
|
|
<span class="nt">"Flow limit penalty ($/MW)"</span><span class="p">:</span> <span class="mf">5000.0</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="reserves">
|
|
<h3>Reserves<a class="headerlink" href="#reserves" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes the hourly amount of reserves required.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="head"><p>Default</p></th>
|
|
<th class="text-align:center head"><p>Time series?</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Type</span></code></p></td>
|
|
<td class="text-align:left"><p>Type of reserve product. Must be either “spinning” or “flexiramp”.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>N</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Amount</span> <span class="pre">(MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Amount of reserves required.</p></td>
|
|
<td><p>Required</p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Shortfall</span> <span class="pre">penalty</span> <span class="pre">($/MW)</span></code></p></td>
|
|
<td class="text-align:left"><p>Penalty for shortage in meeting the reserve requirements (in $/MW). This is charged per time step. Negative value implies reserve constraints must always be satisfied.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">-1</span></code></p></td>
|
|
<td class="text-align:center"><p>Y</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="example-1">
|
|
<h4>Example 1<a class="headerlink" href="#example-1" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Reserves"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"r1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Type"</span><span class="p">:</span> <span class="s2">"spinning"</span><span class="p">,</span>
|
|
<span class="nt">"Amount (MW)"</span><span class="p">:</span> <span class="p">[</span>
|
|
<span class="mf">57.30552</span><span class="p">,</span>
|
|
<span class="mf">53.88429</span><span class="p">,</span>
|
|
<span class="mf">51.31838</span><span class="p">,</span>
|
|
<span class="mf">50.46307</span>
|
|
<span class="p">],</span>
|
|
<span class="nt">"Shortfall penalty ($/MW)"</span><span class="p">:</span> <span class="mf">5.0</span>
|
|
<span class="p">},</span>
|
|
<span class="nt">"r2"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Type"</span><span class="p">:</span> <span class="s2">"flexiramp"</span><span class="p">,</span>
|
|
<span class="nt">"Amount (MW)"</span><span class="p">:</span> <span class="p">[</span>
|
|
<span class="mf">20.31042</span><span class="p">,</span>
|
|
<span class="mf">23.65273</span><span class="p">,</span>
|
|
<span class="mf">27.41784</span><span class="p">,</span>
|
|
<span class="mf">25.34057</span>
|
|
<span class="p">],</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="contingencies">
|
|
<h3>Contingencies<a class="headerlink" href="#contingencies" title="Permalink to this headline">¶</a></h3>
|
|
<p>This section describes credible contingency scenarios in the optimization, such as the loss of a transmission line or generator.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:left head"><p>Key</p></th>
|
|
<th class="text-align:left head"><p>Description</p></th>
|
|
<th class="head"><p>Default</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Affected</span> <span class="pre">generators</span></code></p></td>
|
|
<td class="text-align:left"><p>List of generators affected by this contingency. May be omitted if no generators are affected.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">[]</span></code></p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:left"><p><code class="docutils literal notranslate"><span class="pre">Affected</span> <span class="pre">lines</span></code></p></td>
|
|
<td class="text-align:left"><p>List of transmission lines affected by this contingency. May be omitted if no lines are affected.</p></td>
|
|
<td><p><code class="docutils literal notranslate"><span class="pre">[]</span></code></p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="section" id="id5">
|
|
<h4>Example<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h4>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Contingencies"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"c1"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Affected lines"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"l1"</span><span class="p">,</span> <span class="s2">"l2"</span><span class="p">,</span> <span class="s2">"l3"</span><span class="p">],</span>
|
|
<span class="nt">"Affected generators"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"g1"</span><span class="p">]</span>
|
|
<span class="p">},</span>
|
|
<span class="nt">"c2"</span><span class="p">:</span> <span class="p">{</span>
|
|
<span class="nt">"Affected lines"</span><span class="p">:</span> <span class="p">[</span><span class="s2">"l4"</span><span class="p">]</span>
|
|
<span class="p">},</span>
|
|
<span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="id6">
|
|
<h3>Additional remarks<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h3>
|
|
<div class="section" id="time-series-parameters">
|
|
<h4>Time series parameters<a class="headerlink" href="#time-series-parameters" title="Permalink to this headline">¶</a></h4>
|
|
<p>Many numerical properties in the JSON file can be specified either as a single floating point number if they are time-independent, or as an array containing exactly <code class="docutils literal notranslate"><span class="pre">T</span></code> elements, if they are time-dependent, where <code class="docutils literal notranslate"><span class="pre">T</span></code> is the number of time steps in the planning horizon. For example, both formats below are valid when <code class="docutils literal notranslate"><span class="pre">T=3</span></code>:</p>
|
|
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
|
|
<span class="nt">"Load (MW)"</span><span class="p">:</span> <span class="mf">800.0</span><span class="p">,</span>
|
|
<span class="nt">"Load (MW)"</span><span class="p">:</span> <span class="p">[</span><span class="mf">800.0</span><span class="p">,</span> <span class="mf">850.0</span><span class="p">,</span> <span class="mf">730.0</span><span class="p">]</span>
|
|
<span class="p">}</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>The value <code class="docutils literal notranslate"><span class="pre">T</span></code> depends on both <code class="docutils literal notranslate"><span class="pre">Time</span> <span class="pre">horizon</span> <span class="pre">(h)</span></code> and <code class="docutils literal notranslate"><span class="pre">Time</span> <span class="pre">step</span> <span class="pre">(min)</span></code>, as the table below illustrates.</p>
|
|
<table class="colwidths-auto docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="text-align:center head"><p>Time horizon (h)</p></th>
|
|
<th class="text-align:center head"><p>Time step (min)</p></th>
|
|
<th class="text-align:center head"><p>T</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-align:center"><p>24</p></td>
|
|
<td class="text-align:center"><p>60</p></td>
|
|
<td class="text-align:center"><p>24</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:center"><p>24</p></td>
|
|
<td class="text-align:center"><p>15</p></td>
|
|
<td class="text-align:center"><p>96</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:center"><p>24</p></td>
|
|
<td class="text-align:center"><p>5</p></td>
|
|
<td class="text-align:center"><p>288</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:center"><p>36</p></td>
|
|
<td class="text-align:center"><p>60</p></td>
|
|
<td class="text-align:center"><p>36</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-align:center"><p>36</p></td>
|
|
<td class="text-align:center"><p>15</p></td>
|
|
<td class="text-align:center"><p>144</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-align:center"><p>36</p></td>
|
|
<td class="text-align:center"><p>5</p></td>
|
|
<td class="text-align:center"><p>432</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="output-data-format">
|
|
<h2><span class="sectnum">2.2.</span> Output Data Format<a class="headerlink" href="#output-data-format" title="Permalink to this headline">¶</a></h2>
|
|
<p>The output data format is also JSON-based, but it is not currently documented since we expect it to change significantly in a future version of the package.</p>
|
|
</div>
|
|
<div class="section" id="current-limitations">
|
|
<h2><span class="sectnum">2.3.</span> Current limitations<a class="headerlink" href="#current-limitations" title="Permalink to this headline">¶</a></h2>
|
|
<ul class="simple">
|
|
<li><p>Network topology remains the same for all time periods</p></li>
|
|
<li><p>Only N-1 transmission contingencies are supported. Generator contingencies are not currently supported.</p></li>
|
|
<li><p>Time-varying minimum production amounts are not currently compatible with ramp/startup/shutdown limits.</p></li>
|
|
<li><p>Flexible ramping products can only be acquired under the <code class="docutils literal notranslate"><span class="pre">WanHob2016</span></code> formulation, which does not support spinning reserves.</p></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class='prev-next-bottom'>
|
|
|
|
<a class='left-prev' id="prev-link" href="../usage/" title="previous page"><span class="sectnum">1.</span> Usage</a>
|
|
<a class='right-next' id="next-link" href="../instances/" title="next page"><span class="sectnum">3.</span> Instances</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<footer class="footer mt-5 mt-md-0">
|
|
<div class="container">
|
|
<p>
|
|
|
|
© Copyright 2020-2021, UChicago Argonne, LLC.<br/>
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
</main>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script src="../_static/js/index.1c5a1a01449ed65a7b51.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |