Update docs

docs
Alinson S. Xavier 5 years ago
parent 2677fb6404
commit e3d2fe59f7

@ -75,13 +75,13 @@
<li > <li >
<a href="/install/">Install</a> <a href="/usage/">Usage</a>
</li> </li>
<li > <li >
<a href="/format/">Data</a> <a href="/format/">Format</a>
</li> </li>

@ -11,7 +11,7 @@
<link rel="shortcut icon" href="../img/favicon.ico"> <link rel="shortcut icon" href="../img/favicon.ico">
<title>Data - UnitCommitment.jl</title> <title>Format - UnitCommitment.jl</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@ -75,13 +75,13 @@
<li > <li >
<a href="../install/">Install</a> <a href="../usage/">Usage</a>
</li> </li>
<li class="active"> <li class="active">
<a href="./">Data</a> <a href="./">Format</a>
</li> </li>
@ -94,7 +94,7 @@
</a> </a>
</li> </li>
<li > <li >
<a rel="prev" href="../install/"> <a rel="prev" href="../usage/">
<i class="fas fa-arrow-left"></i> Previous <i class="fas fa-arrow-left"></i> Previous
</a> </a>
</li> </li>

@ -75,13 +75,13 @@
<li > <li >
<a href="install/">Install</a> <a href="usage/">Usage</a>
</li> </li>
<li > <li >
<a href="format/">Data</a> <a href="format/">Format</a>
</li> </li>
@ -99,7 +99,7 @@
</a> </a>
</li> </li>
<li > <li >
<a rel="next" href="install/"> <a rel="next" href="usage/">
Next <i class="fas fa-arrow-right"></i> Next <i class="fas fa-arrow-right"></i>
</a> </a>
</li> </li>
@ -119,40 +119,48 @@
<li class="first-level active"><a href="#unitcommitmentjl">UnitCommitment.jl</a></li> <li class="first-level active"><a href="#unitcommitmentjl">UnitCommitment.jl</a></li>
<li class="second-level"><a href="#package-components">Package Components</a></li> <li class="second-level"><a href="#package-components">Package Components</a></li>
<li class="second-level"><a href="#contents">Contents</a></li> <li class="second-level"><a href="#documentation">Documentation</a></li>
<li class="second-level"><a href="#authors">Authors</a></li> <li class="second-level"><a href="#authors">Authors</a></li>
<li class="second-level"><a href="#collaborators">Collaborators</a></li> <li class="second-level"><a href="#acknowledgments">Acknowledgments</a></li>
<li class="second-level"><a href="#license">License</a></li>
</ul> </ul>
</div></div> </div></div>
<div class="col-md-9" role="main"> <div class="col-md-9" role="main">
<h1 id="unitcommitmentjl">UnitCommitment.jl</h1> <h1 id="unitcommitmentjl">UnitCommitment.jl</h1>
<p><strong>UnitCommitment.jl</strong> is an optimization package for the Security-Constrained Unit Commitment Problem (SCUC), a fundamental optimization problem in power systems which is used, for example, to clear the day-ahead electricity markets. The problem asks for the most cost-effective power generation schedule under a number of physical, operational and economic constraints.</p> <p><strong>UnitCommitment.jl</strong> (UC.jl) is an 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 JuMP implementations of state-of-the-art mixed-integer programming formulations.</p>
<h3 id="package-components">Package Components</h3> <h3 id="package-components">Package Components</h3>
<ul> <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.</li> <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 and extended to make them more challenging and realistic, based on publicly available data from ISOs.</li> <li><strong>Benchmark Instances:</strong> The package provides a diverse collection of large-scale benchmark instances collected from the literature and extended to make them more challenging and realistic.</li>
<li><strong>Model Implementation</strong>: The package provides a Julia/JuMP implementation of state-of-the-art formulations and solution methods for SCUC. Our goal is to keep this implementation up-to-date, as new methods are proposed in the literature.</li> <li><strong>Model Implementation</strong>: The package provides a Julia/JuMP implementation of state-of-the-art formulations and solution methods for SCUC. Our goal is to keep this implementation 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> <li><strong>Benchmark Tools:</strong> The package provides automated benchmark scripts to accurately evaluate the performance impact of proposed code changes.</li>
</ul> </ul>
<h3 id="contents">Contents</h3> <h3 id="documentation">Documentation</h3>
<ul> <ul>
<li><a href="install/">Installation Guide</a></li> <li><a href="usage/">Usage</a></li>
<li><a href="format/">Data Format Specification</a></li> <li><a href="format/">Data Format</a></li>
</ul> </ul>
<h3 id="authors">Authors</h3> <h3 id="authors">Authors</h3>
<ul> <ul>
<li><strong>Alinson Santos Xavier,</strong> Argonne National Laboratory</li> <li><strong>Alinson Santos Xavier</strong> (Argonne National Laboratory)</li>
<li><strong>Feng Qiu,</strong> Argonne National Laboratory</li> <li><strong>Feng Qiu</strong> (Argonne National Laboratory)</li>
</ul> </ul>
<h3 id="collaborators">Collaborators</h3> <h3 id="acknowledgments">Acknowledgments</h3>
<ul> <ul>
<li><strong>Yonghong Chen,</strong> Midcontinent Independent System Operator</li> <li>
<li><strong>Feng Pan,</strong> Pacific Northwest National Laboratory</li> <p>We would like to thank <strong>Aleksandr M. Kazachkov</strong> (University of Florida), <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>
</ul></div> </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>
</ul>
<h3 id="license">License</h3>
<p>Released under the modified BSD license. See <code>LICENSE.md</code> for more details.</p></div>
</div> </div>
@ -257,5 +265,5 @@
<!-- <!--
MkDocs version : 1.1.2 MkDocs version : 1.1.2
Build Date UTC : 2020-11-03 21:29:52.416195+00:00 Build Date UTC : 2020-11-03 23:23:18.605231+00:00
--> -->

@ -75,13 +75,13 @@
<li > <li >
<a href="../install/">Install</a> <a href="../usage/">Usage</a>
</li> </li>
<li > <li >
<a href="../format/">Data</a> <a href="../format/">Format</a>
</li> </li>

@ -75,13 +75,13 @@
<li > <li >
<a href="../install/">Install</a> <a href="../usage/">Usage</a>
</li> </li>
<li > <li >
<a href="../format/">Data</a> <a href="../format/">Format</a>
</li> </li>

File diff suppressed because one or more lines are too long

Binary file not shown.

@ -1,288 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Solvers - UnitCommitment.jl</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/v4-shims.css">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3.3.0/build/web/hack.min.css">
<link href='//rsms.me/inter/inter.css' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,600,700&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
<link href="../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../css/base.min.css" rel="stylesheet">
<link href="../css/cinder.min.css" rel="stylesheet">
<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/styles/github.min.css">
<link href="../css/custom.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="..">UnitCommitment.jl</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="..">Home</a>
</li>
<li >
<a href="../install/">Install</a>
</li>
<li >
<a href="../format/">Data</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
<i class="fas fa-search"></i> Search
</a>
</li>
<li>
<a href="https://github.com/edit/master/src/docs/solvers.md"><i class="fab fa-github"></i> Edit on GitHub</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
<ul class="nav bs-sidenav">
<li class="first-level active"><a href="#benchmark-solver">Benchmark Solver</a></li>
<li class="second-level"><a href="#usage">Usage</a></li>
<li class="second-level"><a href="#reference">Reference</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="benchmark-solver">Benchmark Solver</h1>
<p>Solving an instance of the Unit Commitment problem typically involves more
than simply building a Mixed-Integer Linear Programming and handing it over to the
solver. Since the number of transmission and N-1 security constraints can
easily exceed hundreds of millions for large instances of the problem, it is often
necessary to iterate between MILP optimization and contingency screening, so
that only necessary transmission constraints are added to the MILP.</p>
<p><code>UnitCommitment.jl</code> includes a fast implementation of the contingency
screening method described in
<a href="https://doi.org/10.1109/TPWRS.2019.2892620">[1]</a>, which is able to
efficiently handle even ISO-scale instances of the problem. The method makes
use of Injection Shift Factors (ISFs) and Line Outage Distribution Factors
(LODFs) to model DC power flows and N-1 contingencies. If Julia is configured
to use multiple threads (through the environment variable <code>JULIA_NUM_THREADS</code>)
then multiple contingency scenarios are evaluated in parallel.</p>
<h2 id="usage">Usage</h2>
<p>To solve one of the benchmark instances using the included benchmark solver, use the method <code>UnitCommitment.solve</code>
as shown in the example below.</p>
<pre><code>julia&gt; UnitCommitment.solve("ieee_rts/case118")
[ Info: Loading instance: ieee_rts/case118
[ Info: 54 units
[ Info: 118 buses
[ Info: 186 lines
[ Info: Scaling problem (0.6 demands, 1.0 limits)...
[ Info: Using Cbc as MILP solver (0.001 gap, 4 threads)
[ Info: Computing sensitivity factors (0.001 ISF cutoff, 0.0001 LODF cutoff)...
[ Info: Building MILP model (24 hours, 0.01 reserve)...
[ Info: Optimizing...
[ Info: Optimal value: 4.033106e+06
[ Info: Solved in 8.73 seconds
</code></pre>
<p>With default settings, the solver does not consider any transmission or
security constraints, and the peak load is automatically set to 60% of the
installed capacity of the system. These, and many other settings, can be
configured using keyword arguments. See the reference section below for more
details. Sample usage:</p>
<pre><code>julia&gt; UnitCommitment.solve("ieee_rts/case118", demand_scale=0.7, security=true)
[ Info: Loading instance: ieee_rts/case118
[ Info: 54 units
[ Info: 118 buses
[ Info: 186 lines
[ Info: Scaling problem (0.7 demands, 1.0 limits)...
[ Info: Using Cbc as MILP solver (0.001 gap, 4 threads)
[ Info: Computing sensitivity factors (0.001 ISF cutoff, 0.0001 LODF cutoff)...
[ Info: Building MILP model (24 hours, 0.01 reserve)...
[ Info: Optimizing...
[ Info: Verifying flow constraints...
[ Info: Optimal value: 4.888740e+06
[ Info: Solved in 4.50 seconds
</code></pre>
<p>When transmission or N-1 security constraints are activated, the solver uses an
iterative method to lazily enforce them. See <a href="https://doi.org/10.1109/TPWRS.2019.2892620">this
paper</a> for a detailed description
of the method. Injection Shift Factors (ISF) and Line Outage Distribution
Factors (LODF) are used for the computation of DC power flows. </p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Many of the benchmark instances were not originally designed for N-1
security-constrained studies, and may become infeasible if these constraints
are enforced. To avoid infeasibilities, the transmission limits can be
increased through the keyword argument <code>limit_scale</code>.</p>
</div>
<p>By default, the MILP is solved using <a href="https://github.com/coin-or/Cbc">Cbc, the COIN-OR Branch and Cut
solver</a>. If <code>UnitCommitment</code> is loaded after
either <a href="https://github.com/JuliaOpt/CPLEX.jl">CPLEX</a> or
<a href="https://github.com/SCIP-Interfaces/SCIP.jl">SCIP</a>, then these solvers will be
used instead. A detailed solver log can be displayed by setting <code>verbose=true</code>.</p>
<h2 id="reference">Reference</h2>
<p><code>@docs
UnitCommitment.solve</code></p></div>
</div>
<footer class="col-md-12 text-center">
<hr>
<p>
<small>Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.</small><br>
<small>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</small>
</p>
</footer>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="../js/bootstrap-3.0.3.min.js"></script>
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script>var base_url = ".."</script>
<script src="../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script src="../js/mathjax.js"></script>
<script src="../search/main.js"></script>
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
<h4 class="modal-title" id="searchModalLabel">Search</h4>
</div>
<div class="modal-body">
<p>
From here you can search these documents. Enter
your search terms below.
</p>
<form>
<div class="form-group">
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here">
</div>
</form>
<div id="mkdocs-search-results"></div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
</div>
<div class="modal-body">
<table class="table">
<thead>
<tr>
<th style="width: 20%;">Keys</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td class="help shortcut"><kbd>?</kbd></td>
<td>Open this help</td>
</tr>
<tr>
<td class="next shortcut"><kbd>n</kbd></td>
<td>Next page</td>
</tr>
<tr>
<td class="prev shortcut"><kbd>p</kbd></td>
<td>Previous page</td>
</tr>
<tr>
<td class="search shortcut"><kbd>s</kbd></td>
<td>Search</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
</body>
</html>

@ -11,7 +11,7 @@
<link rel="shortcut icon" href="../img/favicon.ico"> <link rel="shortcut icon" href="../img/favicon.ico">
<title>Install - UnitCommitment.jl</title> <title>Usage - UnitCommitment.jl</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@ -75,13 +75,13 @@
<li class="active"> <li class="active">
<a href="./">Install</a> <a href="./">Usage</a>
</li> </li>
<li > <li >
<a href="../format/">Data</a> <a href="../format/">Format</a>
</li> </li>
@ -104,7 +104,7 @@
</a> </a>
</li> </li>
<li> <li>
<a href="https://github.com/edit/master/src/docs/install.md"><i class="fab fa-github"></i> Edit on GitHub</a> <a href="https://github.com/edit/master/src/docs/usage.md"><i class="fab fa-github"></i> Edit on GitHub</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -122,10 +122,7 @@
<div class="col-md-9" role="main"> <div class="col-md-9" role="main">
<h1 id="installation-guide">Installation Guide</h1> <h1 id="installation-guide">Installation Guide</h1>
<p>This package was tested and developed with <a href="https://julialang.org/">Julia 1.4</a>. To install Julia, please <p>This package was tested and developed with <a href="https://julialang.org/">Julia 1.5</a>. To install Julia, please follow the <a href="https://julialang.org/downloads/platform.html">installation guide on their website</a>. To install <code>UnitCommitment.jl</code>, run the Julia interpreter, type <code>]</code> to open the package manager, then type:</p>
follow the <a href="https://julialang.org/downloads/platform.html">installation guide on their website</a>.
To install <code>UnitCommitment.jl</code>, run the Julia interpreter, type <code>]</code> to open the
package manager, then type:</p>
<pre><code class="text">pkg&gt; add https://github.com/ANL-CEEESA/UnitCommitment.jl.git <pre><code class="text">pkg&gt; add https://github.com/ANL-CEEESA/UnitCommitment.jl.git
</code></pre> </code></pre>
Loading…
Cancel
Save