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.
UnitCommitment.jl/0.4/guides/problem-off/index.html

11 lines
11 KiB

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>- · UnitCommitment.jl</title><meta name="title" content="- · UnitCommitment.jl"/><meta property="og:title" content="- · UnitCommitment.jl"/><meta property="twitter:title" content="- · UnitCommitment.jl"/><meta name="description" content="Documentation for UnitCommitment.jl."/><meta property="og:description" content="Documentation for UnitCommitment.jl."/><meta property="twitter:description" content="Documentation for UnitCommitment.jl."/><script data-outdated-warner src="../../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="../.."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../../assets/documenter.js"></script><script src="../../search_index.js"></script><script src="../../siteinfo.js"></script><script src="../../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../../assets/themeswap.js"></script><link href="../../assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../../">UnitCommitment.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../../">Home</a></li><li><span class="tocitem">Tutorials</span><ul><li><a class="tocitem" href="../../tutorials/usage/">Getting started</a></li><li><a class="tocitem" href="../../tutorials/customizing/">Model customization</a></li><li><a class="tocitem" href="../../tutorials/lmp/">Locational Marginal Prices</a></li><li><a class="tocitem" href="../../tutorials/market/">Market Clearing</a></li><li><a class="tocitem" href="../../tutorials/decomposition/">Decomposition methods</a></li></ul></li><li><span class="tocitem">User guide</span><ul><li><a class="tocitem" href="../problem/">Problem definition</a></li><li><a class="tocitem" href="../format/">JSON data format</a></li><li><a class="tocitem" href="../instances/">Benchmark instances</a></li></ul></li><li><a class="tocitem" href="../../api/">API Reference</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>-</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>-</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/ANL-CEEESA/UnitCommitment.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/ANL-CEEESA/UnitCommitment.jl/blob/dev/docs/src/guides/problem-off.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h2 id="8.-Transmission-interfaces"><a class="docs-heading-anchor" href="#8.-Transmission-interfaces">8. Transmission interfaces</a><a id="8.-Transmission-interfaces-1"></a><a class="docs-heading-anchor-permalink" href="#8.-Transmission-interfaces" title="Permalink"></a></h2><p>In some applications, such as energy exchange studies, it is important to enforce flow limits not only on individual lines, but also on groups of transmission lines. These groups are known as <em>interfaces</em>. More precisely, an interface is composed by two sets of lines: the <em>inbound</em> and the <em>outbound lines</em>. The flow across the interface is defined as the sum of the flow in all inbound lines minus the sum of the flow in all outbound lines. An upper and a lower limit may be imposed on the flow across the interface, and a penalty is imposed if the limit is exceeded.</p><h3 id="Sets-and-constants"><a class="docs-heading-anchor" href="#Sets-and-constants">Sets and constants</a><a id="Sets-and-constants-1"></a><a class="docs-heading-anchor-permalink" href="#Sets-and-constants" title="Permalink"></a></h3><table><tr><th style="text-align: left">Symbol</th><th style="text-align: left">Unit</th><th style="text-align: left">Description</th></tr><tr><td style="text-align: left"><span>$L^\text{inbound}_{si}$</span></td><td style="text-align: left"></td><td style="text-align: left">Set of inbound lines for interface <span>$i$</span> in scenario <span>$s$</span>.</td></tr><tr><td style="text-align: left"><span>$L^\text{outbound}_{si}$</span></td><td style="text-align: left"></td><td style="text-align: left">Set of outbound lines for interface <span>$i$</span> in scenario <span>$s$</span>.</td></tr><tr><td style="text-align: left"><span>$M^\text{limit-down}_{sit}$</span></td><td style="text-align: left">MW</td><td style="text-align: left">Lower flow limit for interface <span>$i$</span> at time at time <span>$t$</span> and scenario <span>$s$</span> (negative number).</td></tr><tr><td style="text-align: left"><span>$M^\text{limit-up}_{sit}$</span></td><td style="text-align: left">MW</td><td style="text-align: left">Upper flow limit for interface <span>$i$</span> at time at time <span>$t$</span> and scenario <span>$s$</span> (positive number).</td></tr><tr><td style="text-align: left"><span>$Z^\text{overflow}_{sit}$</span></td><td style="text-align: left"><span>$</span>/MW</td><td style="text-align: left">Overflow penalty for interface <span>$l$</span> at time <span>$t$</span> and scenario <span>$s$</span>.</td></tr><tr><td style="text-align: left"><span>$\text{IF}$</span></td><td style="text-align: left"></td><td style="text-align: left">Set of transmission interfaces.</td></tr></table><h3 id="Decision-variables"><a class="docs-heading-anchor" href="#Decision-variables">Decision variables</a><a id="Decision-variables-1"></a><a class="docs-heading-anchor-permalink" href="#Decision-variables" title="Permalink"></a></h3><table><tr><th style="text-align: left">Symbol</th><th style="text-align: left">JuMP name</th><th style="text-align: left">Unit</th><th style="text-align: left">Description</th><th style="text-align: left">Stage</th></tr><tr><td style="text-align: left"><span>$y^\text{i-flow}_{sit}$</span></td><td style="text-align: left"><code>interface_flow[s,i,t]</code></td><td style="text-align: left">MW</td><td style="text-align: left">Flow across interface <span>$i$</span> at time <span>$t$</span> and scenario <span>$s$</span>.</td><td style="text-align: left">2</td></tr><tr><td style="text-align: left"><span>$y^\text{i-overflow}_{sit}$</span></td><td style="text-align: left"><code>interface_overflow[s,i,t]</code></td><td style="text-align: left">MW</td><td style="text-align: left">Flow above limit for interface <span>$i$</span> at time <span>$t$</span> and scenario <span>$s$</span>.</td><td style="text-align: left">2</td></tr></table><h3 id="Objective-function-terms"><a class="docs-heading-anchor" href="#Objective-function-terms">Objective function terms</a><a id="Objective-function-terms-1"></a><a class="docs-heading-anchor-permalink" href="#Objective-function-terms" title="Permalink"></a></h3><ul><li>Penalty for exceeding interface limits:</li></ul><p class="math-container">\[ \sum_{s \in S} p(s) \left[
\sum_{i \in \text{IF}} \sum_{t \in T} y^\text{i-overflow}_{sit} Z^\text{overflow}_{sit}
\right]\]</p><h3 id="Constraints"><a class="docs-heading-anchor" href="#Constraints">Constraints</a><a id="Constraints-1"></a><a class="docs-heading-anchor-permalink" href="#Constraints" title="Permalink"></a></h3><ul><li>Definition of interface flow (<code>eq_if_flow</code>):</li></ul><p class="math-container">\[y^\text{i-flow}_{sit} = \sum_{b \in B} y^\text{inj}_{sbt} \left[
\sum_{l \in L^\text{outbound}_{si}} \delta_{sbl} -
\sum_{l \in L^\text{inbound}_{si}} \delta_{sbl}
\right]\]</p><ul><li>Interface flow limits (<code>eq_if_limit_up</code> and <code>eq_if_limit_up</code>)</li></ul><p class="math-container">\[\begin{align*}
y^\text{i-flow}_{sit} &amp; \leq M^\text{limit-up}_{sit} + y^\text{i-overflow}_{sit} \\
-y^\text{i-flow}_{sit} &amp; \leq -M^\text{limit-down}_{sit} + y^\text{i-overflow}_{sit}
\end{align*}\]</p><h2 id="9.-Contingencies"><a class="docs-heading-anchor" href="#9.-Contingencies">9. Contingencies</a><a id="9.-Contingencies-1"></a><a class="docs-heading-anchor-permalink" href="#9.-Contingencies" title="Permalink"></a></h2><h2 id="10.-Reserves"><a class="docs-heading-anchor" href="#10.-Reserves">10. Reserves</a><a id="10.-Reserves-1"></a><a class="docs-heading-anchor-permalink" href="#10.-Reserves" title="Permalink"></a></h2></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.2.1 on <span class="colophon-date" title="Tuesday 21 May 2024 10:56">Tuesday 21 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>