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.3/index.html

26 lines
16 KiB

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · UnitCommitment.jl</title><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.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/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="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><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>Home</a><ul class="internal"><li><a class="tocitem" href="#Package-Components"><span>Package Components</span></a></li><li><a class="tocitem" href="#Table-of-Contents"><span>Table of Contents</span></a></li><li><a class="tocitem" href="#Authors"><span>Authors</span></a></li><li><a class="tocitem" href="#Acknowledgments"><span>Acknowledgments</span></a></li><li><a class="tocitem" href="#Citing"><span>Citing</span></a></li><li><a class="tocitem" href="#License"><span>License</span></a></li></ul></li><li><a class="tocitem" href="usage/">Usage</a></li><li><a class="tocitem" href="format/">Data Format</a></li><li><a class="tocitem" href="instances/">Instances</a></li><li><a class="tocitem" href="model/">JuMP Model</a></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"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Home</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/ANL-CEEESA/UnitCommitment.jl/blob/dev/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="UnitCommitment.jl"><a class="docs-heading-anchor" href="#UnitCommitment.jl">UnitCommitment.jl</a><a id="UnitCommitment.jl-1"></a><a class="docs-heading-anchor-permalink" href="#UnitCommitment.jl" title="Permalink"></a></h1><p><strong>UnitCommitment.jl</strong> (UC.jl) is a Julia/JuMP optimization package for the Security-Constrained Unit Commitment Problem (SCUC), a fundamental optimization problem in power systems used, for example, to clear the day-ahead electricity markets. The package provides benchmark instances for the problem and Julia/JuMP implementations of state-of-the-art mixed-integer programming formulations.</p><h2 id="Package-Components"><a class="docs-heading-anchor" href="#Package-Components">Package Components</a><a id="Package-Components-1"></a><a class="docs-heading-anchor-permalink" href="#Package-Components" title="Permalink"></a></h2><ul><li><strong>Data Format:</strong> The package proposes an extensible and fully-documented JSON-based data specification format for SCUC, developed in collaboration with Independent System Operators (ISOs), which describes the most important aspects of the problem. The format supports all the most common generator characteristics (including ramping, piecewise-linear production cost curves and time-dependent startup costs), as well as operating reserves, price-sensitive loads, transmission networks and contingencies.</li><li><strong>Benchmark Instances:</strong> The package provides a diverse collection of large-scale benchmark instances collected from the literature, converted into a common data format, and extended using data-driven methods to make them more challenging and realistic.</li><li><strong>Model Implementation</strong>: The package provides a Julia/JuMP implementations of state-of-the-art formulations and solution methods for SCUC, including multiple ramping formulations (<a href="https://doi.org/10.1109/59.871739">ArrCon2000</a>, <a href="https://doi.org/10.1109/TPWRS.2013.2251373">MorLatRam2013</a>, <a href="https://doi.org/10.1007/s10107-015-0919-9">DamKucRajAta2016</a>, <a href="https://doi.org/10.1287/opre.2016.1520">PanGua2016</a>), multiple piecewise-linear costs formulations (<a href="https://doi.org/10.1109/AIEEPAS.1962.4501405">Gar1962</a>, <a href="https://doi.org/10.1109/TPWRS.2006.876672">CarArr2006</a>, <a href="https://doi.org/10.1109/TPWRS.2017.2783850">KnuOstWat2018</a>) and contingency screening methods (<a href="https://doi.org/10.1109/TPWRS.2019.2892620">XavQiuWanThi2019</a>). Our goal is to keep these implementations up-to-date as new methods are proposed in the literature.</li><li><strong>Benchmark Tools:</strong> The package provides automated benchmark scripts to accurately evaluate the performance impact of proposed code changes.</li></ul><h2 id="Table-of-Contents"><a class="docs-heading-anchor" href="#Table-of-Contents">Table of Contents</a><a id="Table-of-Contents-1"></a><a class="docs-heading-anchor-permalink" href="#Table-of-Contents" title="Permalink"></a></h2><ul><li><a href="usage/#Usage">Usage</a></li><li class="no-marker"><ul><li><a href="usage/#Installation">Installation</a></li><li><a href="usage/#Typical-Usage">Typical Usage</a></li><li class="no-marker"><ul><li><a href="usage/#Solving-user-provided-instances">Solving user-provided instances</a></li><li><a href="usage/#Solving-benchmark-instances">Solving benchmark instances</a></li></ul></li><li><a href="usage/#Advanced-usage">Advanced usage</a></li><li class="no-marker"><ul><li><a href="usage/#Customizing-the-formulation">Customizing the formulation</a></li><li><a href="usage/#Generating-initial-conditions">Generating initial conditions</a></li><li><a href="usage/#Verifying-solutions">Verifying solutions</a></li></ul></li></ul></li><li><a href="format/#Data-Format">Data Format</a></li><li class="no-marker"><ul><li><a href="format/#Input-Data-Format">Input Data Format</a></li><li class="no-marker"><ul><li><a href="format/#Parameters">Parameters</a></li><li><a href="format/#Buses">Buses</a></li><li><a href="format/#Generators">Generators</a></li><li><a href="format/#Price-sensitive-loads">Price-sensitive loads</a></li><li><a href="format/#Transmission-lines">Transmission lines</a></li><li><a href="format/#Reserves">Reserves</a></li><li><a href="format/#Contingencies">Contingencies</a></li><li><a href="format/#Additional-remarks">Additional remarks</a></li></ul></li><li><a href="format/#Output-Data-Format">Output Data Format</a></li><li><a href="format/#Current-limitations">Current limitations</a></li></ul></li><li><a href="instances/#Instances">Instances</a></li><li class="no-marker"><ul><li><a href="instances/#MATPOWER">MATPOWER</a></li><li class="no-marker"><ul><li><a href="instances/#MATPOWER/UW-PSTCA">MATPOWER/UW-PSTCA</a></li><li><a href="instances/#MATPOWER/Polish">MATPOWER/Polish</a></li><li><a href="instances/#MATPOWER/PEGASE">MATPOWER/PEGASE</a></li><li><a href="instances/#MATPOWER/RTE">MATPOWER/RTE</a></li></ul></li><li><a href="instances/#PGLIB-UC-Instances">PGLIB-UC Instances</a></li><li class="no-marker"><ul><li><a href="instances/#PGLIB-UC/California">PGLIB-UC/California</a></li><li><a href="instances/#PGLIB-UC/FERC">PGLIB-UC/FERC</a></li><li><a href="instances/#PGLIB-UC/RTS-GMLC">PGLIB-UC/RTS-GMLC</a></li></ul></li><li><a href="instances/#OR-LIB/UC">OR-LIB/UC</a></li><li><a href="instances/#Tejada19">Tejada19</a></li><li><a href="instances/#References">References</a></li></ul></li><li><a href="model/#JuMP-Model">JuMP Model</a></li><li class="no-marker"><ul><li><a href="model/#Decision-variables">Decision variables</a></li><li class="no-marker"><ul><li><a href="model/#Generators">Generators</a></li><li><a href="model/#Buses">Buses</a></li><li><a href="model/#Price-sensitive-loads">Price-sensitive loads</a></li><li><a href="model/#Transmission-lines">Transmission lines</a></li></ul></li><li><a href="model/#Objective-function">Objective function</a></li><li><a href="model/#Constraints">Constraints</a></li><li><a href="model/#Inspecting-and-modifying-the-model">Inspecting and modifying the model</a></li><li class="no-marker"><ul><li><a href="model/#Accessing-decision-variables">Accessing decision variables</a></li><li><a href="model/#Fixing-variables,-modifying-objective-function-and-adding-constraints">Fixing variables, modifying objective function and adding constraints</a></li><li><a href="model/#Adding-new-component-to-a-bus">Adding new component to a bus</a></li></ul></li><li><a href="model/#References">References</a></li></ul></li><li><a href="api/#API-Reference">API Reference</a></li><li class="no-marker"><ul><li><a href="api/#Read-data,-build-model-and-optimize">Read data, build model &amp; optimize</a></li><li><a href="api/#Modify-instance">Modify instance</a></li><li><a href="api/#Formulations">Formulations</a></li><li><a href="api/#Solution-Methods">Solution Methods</a></li><li><a href="api/#Randomization-Methods">Randomization Methods</a></li></ul></li></ul><h2 id="Authors"><a class="docs-heading-anchor" href="#Authors">Authors</a><a id="Authors-1"></a><a class="docs-heading-anchor-permalink" href="#Authors" title="Permalink"></a></h2><ul><li><strong>Alinson S. Xavier</strong> (Argonne National Laboratory)</li><li><strong>Aleksandr M. Kazachkov</strong> (University of Florida)</li><li><strong>Ogün Yurdakul</strong> (Technische Universität Berlin)</li><li><strong>Feng Qiu</strong> (Argonne National Laboratory)</li></ul><h2 id="Acknowledgments"><a class="docs-heading-anchor" href="#Acknowledgments">Acknowledgments</a><a id="Acknowledgments-1"></a><a class="docs-heading-anchor-permalink" href="#Acknowledgments" title="Permalink"></a></h2><ul><li><p>We would like to thank <strong>Yonghong Chen</strong> (Midcontinent Independent System Operator), <strong>Feng Pan</strong> (Pacific Northwest National Laboratory) for valuable feedback on early versions of this package.</p></li><li><p>Based upon work supported by <strong>Laboratory Directed Research and Development</strong> (LDRD) funding from Argonne National Laboratory, provided by the Director, Office of Science, of the U.S. Department of Energy under Contract No. DE-AC02-06CH11357</p></li><li><p>Based upon work supported by the <strong>U.S. Department of Energy Advanced Grid Modeling Program</strong> under Grant DE-OE0000875.</p></li></ul><h2 id="Citing"><a class="docs-heading-anchor" href="#Citing">Citing</a><a id="Citing-1"></a><a class="docs-heading-anchor-permalink" href="#Citing" title="Permalink"></a></h2><p>If you use UnitCommitment.jl in your research (instances, models or algorithms), we kindly request that you cite the package as follows:</p><ul><li><strong>Alinson S. Xavier, Aleksandr M. Kazachkov, Ogün Yurdakul, Feng Qiu</strong>, &quot;UnitCommitment.jl: A Julia/JuMP Optimization Package for Security-Constrained Unit Commitment&quot;. Zenodo (2020). <a href="https://doi.org/10.5281/zenodo.4269874">DOI: 10.5281/zenodo.4269874</a>.</li></ul><p>If you use the instances, we additionally request that you cite the original sources, as described in the <a href="instances/">instances page</a>.</p><h2 id="License"><a class="docs-heading-anchor" href="#License">License</a><a id="License-1"></a><a class="docs-heading-anchor-permalink" href="#License" title="Permalink"></a></h2><pre><code class="language-text hljs">UnitCommitment.jl: A Julia/JuMP Optimization Package for Security-Constrained Unit Commitment
Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to
endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="usage/">Usage »</a><div class="flexbox-break"></div><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></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.21 on <span class="colophon-date" title="Sunday 17 July 2022 15:54">Sunday 17 July 2022</span>. Using Julia version 1.7.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>