diff --git a/benchmark/Makefile b/benchmark/Makefile index be4c39b..59ac848 100644 --- a/benchmark/Makefile +++ b/benchmark/Makefile @@ -87,18 +87,48 @@ INSTANCES_MATPOWER := \ matpower/case6515rte/2017-02-01 \ matpower/case6515rte/2017-08-01 +INSTANCES_ORLIB := \ + or-lib/20_0_1_w \ + or-lib/20_0_5_w \ + or-lib/50_0_2_w \ + or-lib/75_0_2_w \ + or-lib/100_0_1_w \ + or-lib/100_0_4_w \ + or-lib/100_0_5_w \ + or-lib/200_0_3_w \ + or-lib/200_0_7_w \ + or-lib/200_0_9_w + +INSTANCES_TEJADA19 := \ + tejada19/UC_24h_290g \ + tejada19/UC_24h_623g \ + tejada19/UC_24h_959g \ + tejada19/UC_24h_1577g \ + tejada19/UC_24h_1888g \ + tejada19/UC_168h_72g \ + tejada19/UC_168h_86g \ + tejada19/UC_168h_130g \ + tejada19/UC_168h_131g \ + tejada19/UC_168h_199g + SAMPLES := 1 2 3 SOLUTIONS_MATPOWER := $(foreach s,$(SAMPLES),$(addprefix results/,$(addsuffix .$(s).sol.json,$(INSTANCES_MATPOWER)))) SOLUTIONS_PGLIB := $(foreach s,$(SAMPLES),$(addprefix results/,$(addsuffix .$(s).sol.json,$(INSTANCES_PGLIB)))) +SOLUTIONS_ORLIB := $(foreach s,$(SAMPLES),$(addprefix results/,$(addsuffix .$(s).sol.json,$(INSTANCES_ORLIB)))) +SOLUTIONS_TEJADA19 := $(foreach s,$(SAMPLES),$(addprefix results/,$(addsuffix .$(s).sol.json,$(INSTANCES_TEJADA19)))) -.PHONY: tables save small large clean-mps matpower pglib +.PHONY: tables save small large clean-mps matpower pglib orlib -all: matpower pglib +all: matpower pglib orlib tejada19 matpower: $(SOLUTIONS_MATPOWER) pglib: $(SOLUTIONS_PGLIB) +orlib: $(SOLUTIONS_ORLIB) + +tejada19: $(SOLUTIONS_TEJADA19) + clean: @rm -rf tables/benchmark* tables/compare* results diff --git a/instances/README.md b/instances/README.md index 3d28541..26a1fb0 100644 --- a/instances/README.md +++ b/instances/README.md @@ -1,29 +1,53 @@ -UnitCommitment.jl Instances -=========================== +Instances +========= + +UnitCommitment.jl provides a large collection of benchmark instances collected +from the literature and converted to a common data format. If you use these instances in your research, we request that you cite UnitCommitment.jl, as well as the original sources, as listed below. [See documentation for more details](https://anl-ceeesa.github.io/UnitCommitment.jl/). References ---------- -### PGLIB-UC - -* Coffrin, Carleton and Knueven, Bernard. "Power Grid Lib - Unit Commitment". https://github.com/power-grid-lib/pglib-uc +### UnitCommitment.jl -* Knueven, Bernard, James Ostrowski, and Jean-Paul Watson. "On mixed integer programming formulations for the unit commitment problem." Pre-print available at http://www.optimization-online.org/DB_HTML/2018/11/6930.pdf (2018). +* [UCJL] **Alinson S. Xavier, Feng Qiu.** "UnitCommitment.jl: A Julia/JuMP Optimization Package for Security-Constrained Unit Commitment". Zenodo (2020). [DOI: 10.5281/zenodo.4269874](https://doi.org/10.5281/zenodo.4269874) -* Krall, Eric, Michael Higgins, and Richard P. O’Neill. "RTO unit commitment test system." Federal Energy Regulatory Commission. Available: http://ferc.gov/legal/staff-reports/rto-COMMITMENT-TEST.pdf (2012). ### MATPOWER -* https://github.com/MATPOWER/matpower +* [MTPWR] **D. Zimmerman, C. E. Murillo-Sandnchez and R. J. Thomas.** "Matpower: Steady-state operations, planning, and analysis tools forpower systems research and education", IEEE Transactions on PowerSystems, vol. 26, no. 1, pp. 12 –19, Feb. 2011. [DOI: 10.1109/TPWRS.2010.2051168](https://doi.org/10.1109/TPWRS.2010.2051168) + +* [PSTCA] **University of Washington, Dept. of Electrical Engineering.** "Power Systems Test Case Archive". Available at: (Accessed: Nov 14, 2020) + +* [JoFlMa16] **C. Josz, S. Fliscounakis, J. Maeght, and P. Panciatici.** "AC Power Flow +Data in MATPOWER and QCQP Format: iTesla, RTE Snapshots, and PEGASE". [ArXiv (2016)](https://arxiv.org/abs/1603.01533). + +* [FlPaCa13] **S. Fliscounakis, P. Panciatici, F. Capitanescu, and L. Wehenkel.** +"Contingency ranking with respect to overloads in very large power +systems taking into account uncertainty, preventive and corrective +actions", Power Systems, IEEE Trans. on, (28)4:4909-4917, 2013. +[DOI: 10.1109/TPWRS.2013.2251015](https://doi.org/10.1109/TPWRS.2013.2251015) + -* R. D. Zimmerman, C. E. Murillo-Sanchez, and R. J. Thomas, "MATPOWER: Steady-State Operations, Planning and Analysis Tools for Power Systems Research and Education," Power Systems, IEEE Transactions on, vol. 26, no. 1, pp. 12–19, Feb. 2011. +### PGLIB-UC + +* [PGLIB] **Carleton Coffrin and Bernard Knueven.** "Power Grid Lib - Unit Commitment". Available at: (Accessed: Nov 14, 2020) -* C. Josz, S. Fliscounakis, J. Maeght, and P. Panciatici, "AC Power Flow Data in MATPOWER and QCQP Format: iTesla, RTE Snapshots, and PEGASE" https://arxiv.org/abs/1603.01533 +* [KrHiOn12] **Eric Krall, Michael Higgins and Richard P. O’Neill.** "RTO unit commitment test system." Federal Energy Regulatory Commission. Available at: (Accessed: Nov 14, 2020) -* S. Fliscounakis, P. Panciatici, F. Capitanescu, and L. Wehenkel, "Contingency ranking with respect to overloads in very large power systems taking into account uncertainty, preventive and corrective actions", Power Systems, IEEE Trans. on, (28)4:4909-4917, 2013. https://doi.org/10.1109/TPWRS.2013.2251015 +* [KnOsWa20] **Bernard Knueven, James Ostrowski and Jean-Paul Watson.** "On Mixed-Integer Programming Formulations for the Unit Commitment Problem". INFORMS Journal on Computing (2020). [DOI: 10.1287/ijoc.2019.0944](https://doi.org/10.1287/ijoc.2019.0944) ### RTS-GMLC * https://github.com/GridMod/RTS-GMLC -* Barrows, Clayton, Aaron Bloom, Ali Ehlen, Jussi Ikaheimo, Jennie Jorgenson, Dheepak Krishnamurthy, Jessica Lau et al. "The IEEE Reliability Test System: A Proposed 2019 Update." IEEE Transactions on Power Systems (2019). +* [BaBlEh19] **Clayton Barrows, Aaron Bloom, Ali Ehlen, Jussi Ikaheimo, Jennie Jorgenson, Dheepak Krishnamurthy, Jessica Lau et al.** "The IEEE Reliability Test System: A Proposed 2019 Update." IEEE Transactions on Power Systems (2019). [DOI: 10.1109/TPWRS.2019.2925557](https://doi.org/10.1109/TPWRS.2019.2925557) + +### OR-LIB + +* [ORLIB] **J.E.Beasley.** "OR-Library: distributing test problems by electronic mail", Journal of the Operational Research Society 41(11) (1990). [DOI: 10.2307/2582903](https://doi.org/10.2307/2582903) + +* [FrGe06] **A. Frangioni, C. Gentile.** "Solving nonlinear single-unit commitment problems with ramping constraints" Operations Research 54(4), p. 767 - 775, 2006. [DOI: 10.1287/opre.1060.0309](https://doi.org/10.1287/opre.1060.0309) + +### Tejada19 + +* [TeLuSa19] **D. A. Tejada-Arango, S. Lumbreras, P. Sanchez-Martin and A. Ramos.** "Which Unit-Commitment Formulation is Best? A Systematic Comparison," in IEEE Transactions on Power Systems. [DOI: 10.1109/TPWRS.2019.2962024](https://ieeexplore.ieee.org/document/8941313/). diff --git a/instances/or-lib/100_0_1_w.json.gz b/instances/or-lib/100_0_1_w.json.gz new file mode 100644 index 0000000..79a4adb Binary files /dev/null and b/instances/or-lib/100_0_1_w.json.gz differ diff --git a/instances/or-lib/100_0_2_w.json.gz b/instances/or-lib/100_0_2_w.json.gz new file mode 100644 index 0000000..8f0c6d0 Binary files /dev/null and b/instances/or-lib/100_0_2_w.json.gz differ diff --git a/instances/or-lib/100_0_3_w.json.gz b/instances/or-lib/100_0_3_w.json.gz new file mode 100644 index 0000000..9063143 Binary files /dev/null and b/instances/or-lib/100_0_3_w.json.gz differ diff --git a/instances/or-lib/100_0_4_w.json.gz b/instances/or-lib/100_0_4_w.json.gz new file mode 100644 index 0000000..0b49995 Binary files /dev/null and b/instances/or-lib/100_0_4_w.json.gz differ diff --git a/instances/or-lib/100_0_5_w.json.gz b/instances/or-lib/100_0_5_w.json.gz new file mode 100644 index 0000000..e466f9f Binary files /dev/null and b/instances/or-lib/100_0_5_w.json.gz differ diff --git a/instances/or-lib/10_0_1_w.json.gz b/instances/or-lib/10_0_1_w.json.gz new file mode 100644 index 0000000..e25abd3 Binary files /dev/null and b/instances/or-lib/10_0_1_w.json.gz differ diff --git a/instances/or-lib/10_0_2_w.json.gz b/instances/or-lib/10_0_2_w.json.gz new file mode 100644 index 0000000..8e7ddc3 Binary files /dev/null and b/instances/or-lib/10_0_2_w.json.gz differ diff --git a/instances/or-lib/10_0_3_w.json.gz b/instances/or-lib/10_0_3_w.json.gz new file mode 100644 index 0000000..d686f5b Binary files /dev/null and b/instances/or-lib/10_0_3_w.json.gz differ diff --git a/instances/or-lib/10_0_4_w.json.gz b/instances/or-lib/10_0_4_w.json.gz new file mode 100644 index 0000000..b017c6e Binary files /dev/null and b/instances/or-lib/10_0_4_w.json.gz differ diff --git a/instances/or-lib/10_0_5_w.json.gz b/instances/or-lib/10_0_5_w.json.gz new file mode 100644 index 0000000..56fdf29 Binary files /dev/null and b/instances/or-lib/10_0_5_w.json.gz differ diff --git a/instances/or-lib/150_0_1_w.json.gz b/instances/or-lib/150_0_1_w.json.gz new file mode 100644 index 0000000..19e2a45 Binary files /dev/null and b/instances/or-lib/150_0_1_w.json.gz differ diff --git a/instances/or-lib/150_0_2_w.json.gz b/instances/or-lib/150_0_2_w.json.gz new file mode 100644 index 0000000..6080538 Binary files /dev/null and b/instances/or-lib/150_0_2_w.json.gz differ diff --git a/instances/or-lib/150_0_3_w.json.gz b/instances/or-lib/150_0_3_w.json.gz new file mode 100644 index 0000000..20db366 Binary files /dev/null and b/instances/or-lib/150_0_3_w.json.gz differ diff --git a/instances/or-lib/150_0_4_w.json.gz b/instances/or-lib/150_0_4_w.json.gz new file mode 100644 index 0000000..851ed57 Binary files /dev/null and b/instances/or-lib/150_0_4_w.json.gz differ diff --git a/instances/or-lib/150_0_5_w.json.gz b/instances/or-lib/150_0_5_w.json.gz new file mode 100644 index 0000000..3c4ed35 Binary files /dev/null and b/instances/or-lib/150_0_5_w.json.gz differ diff --git a/instances/or-lib/200_0_10_w.json.gz b/instances/or-lib/200_0_10_w.json.gz new file mode 100644 index 0000000..dd797b3 Binary files /dev/null and b/instances/or-lib/200_0_10_w.json.gz differ diff --git a/instances/or-lib/200_0_11_w.json.gz b/instances/or-lib/200_0_11_w.json.gz new file mode 100644 index 0000000..73a3d8a Binary files /dev/null and b/instances/or-lib/200_0_11_w.json.gz differ diff --git a/instances/or-lib/200_0_12_w.json.gz b/instances/or-lib/200_0_12_w.json.gz new file mode 100644 index 0000000..a79acf9 Binary files /dev/null and b/instances/or-lib/200_0_12_w.json.gz differ diff --git a/instances/or-lib/200_0_1_w.json.gz b/instances/or-lib/200_0_1_w.json.gz new file mode 100644 index 0000000..797ddbf Binary files /dev/null and b/instances/or-lib/200_0_1_w.json.gz differ diff --git a/instances/or-lib/200_0_2_w.json.gz b/instances/or-lib/200_0_2_w.json.gz new file mode 100644 index 0000000..634c705 Binary files /dev/null and b/instances/or-lib/200_0_2_w.json.gz differ diff --git a/instances/or-lib/200_0_3_w.json.gz b/instances/or-lib/200_0_3_w.json.gz new file mode 100644 index 0000000..fdca1d5 Binary files /dev/null and b/instances/or-lib/200_0_3_w.json.gz differ diff --git a/instances/or-lib/200_0_4_w.json.gz b/instances/or-lib/200_0_4_w.json.gz new file mode 100644 index 0000000..2f558a1 Binary files /dev/null and b/instances/or-lib/200_0_4_w.json.gz differ diff --git a/instances/or-lib/200_0_5_w.json.gz b/instances/or-lib/200_0_5_w.json.gz new file mode 100644 index 0000000..b4f807f Binary files /dev/null and b/instances/or-lib/200_0_5_w.json.gz differ diff --git a/instances/or-lib/200_0_6_w.json.gz b/instances/or-lib/200_0_6_w.json.gz new file mode 100644 index 0000000..96b84fc Binary files /dev/null and b/instances/or-lib/200_0_6_w.json.gz differ diff --git a/instances/or-lib/200_0_7_w.json.gz b/instances/or-lib/200_0_7_w.json.gz new file mode 100644 index 0000000..4136dc2 Binary files /dev/null and b/instances/or-lib/200_0_7_w.json.gz differ diff --git a/instances/or-lib/200_0_8_w.json.gz b/instances/or-lib/200_0_8_w.json.gz new file mode 100644 index 0000000..f6fbd0e Binary files /dev/null and b/instances/or-lib/200_0_8_w.json.gz differ diff --git a/instances/or-lib/200_0_9_w.json.gz b/instances/or-lib/200_0_9_w.json.gz new file mode 100644 index 0000000..bab7a62 Binary files /dev/null and b/instances/or-lib/200_0_9_w.json.gz differ diff --git a/instances/or-lib/20_0_1_w.json.gz b/instances/or-lib/20_0_1_w.json.gz new file mode 100644 index 0000000..c4f7e2b Binary files /dev/null and b/instances/or-lib/20_0_1_w.json.gz differ diff --git a/instances/or-lib/20_0_2_w.json.gz b/instances/or-lib/20_0_2_w.json.gz new file mode 100644 index 0000000..4e18ec6 Binary files /dev/null and b/instances/or-lib/20_0_2_w.json.gz differ diff --git a/instances/or-lib/20_0_3_w.json.gz b/instances/or-lib/20_0_3_w.json.gz new file mode 100644 index 0000000..d3aa07b Binary files /dev/null and b/instances/or-lib/20_0_3_w.json.gz differ diff --git a/instances/or-lib/20_0_4_w.json.gz b/instances/or-lib/20_0_4_w.json.gz new file mode 100644 index 0000000..3e0a5d0 Binary files /dev/null and b/instances/or-lib/20_0_4_w.json.gz differ diff --git a/instances/or-lib/20_0_5_w.json.gz b/instances/or-lib/20_0_5_w.json.gz new file mode 100644 index 0000000..be6dab0 Binary files /dev/null and b/instances/or-lib/20_0_5_w.json.gz differ diff --git a/instances/or-lib/50_0_1_w.json.gz b/instances/or-lib/50_0_1_w.json.gz new file mode 100644 index 0000000..89f02d4 Binary files /dev/null and b/instances/or-lib/50_0_1_w.json.gz differ diff --git a/instances/or-lib/50_0_2_w.json.gz b/instances/or-lib/50_0_2_w.json.gz new file mode 100644 index 0000000..a2ffbde Binary files /dev/null and b/instances/or-lib/50_0_2_w.json.gz differ diff --git a/instances/or-lib/50_0_3_w.json.gz b/instances/or-lib/50_0_3_w.json.gz new file mode 100644 index 0000000..1107598 Binary files /dev/null and b/instances/or-lib/50_0_3_w.json.gz differ diff --git a/instances/or-lib/50_0_4_w.json.gz b/instances/or-lib/50_0_4_w.json.gz new file mode 100644 index 0000000..4be1c33 Binary files /dev/null and b/instances/or-lib/50_0_4_w.json.gz differ diff --git a/instances/or-lib/50_0_5_w.json.gz b/instances/or-lib/50_0_5_w.json.gz new file mode 100644 index 0000000..96e4666 Binary files /dev/null and b/instances/or-lib/50_0_5_w.json.gz differ diff --git a/instances/or-lib/75_0_1_w.json.gz b/instances/or-lib/75_0_1_w.json.gz new file mode 100644 index 0000000..c17047a Binary files /dev/null and b/instances/or-lib/75_0_1_w.json.gz differ diff --git a/instances/or-lib/75_0_2_w.json.gz b/instances/or-lib/75_0_2_w.json.gz new file mode 100644 index 0000000..217e0e3 Binary files /dev/null and b/instances/or-lib/75_0_2_w.json.gz differ diff --git a/instances/or-lib/75_0_3_w.json.gz b/instances/or-lib/75_0_3_w.json.gz new file mode 100644 index 0000000..93776ef Binary files /dev/null and b/instances/or-lib/75_0_3_w.json.gz differ diff --git a/instances/or-lib/75_0_4_w.json.gz b/instances/or-lib/75_0_4_w.json.gz new file mode 100644 index 0000000..42b5fee Binary files /dev/null and b/instances/or-lib/75_0_4_w.json.gz differ diff --git a/instances/or-lib/75_0_5_w.json.gz b/instances/or-lib/75_0_5_w.json.gz new file mode 100644 index 0000000..026785e Binary files /dev/null and b/instances/or-lib/75_0_5_w.json.gz differ diff --git a/instances/tejada19/UC_168h_105g.json.gz b/instances/tejada19/UC_168h_105g.json.gz new file mode 100644 index 0000000..da4b4a6 Binary files /dev/null and b/instances/tejada19/UC_168h_105g.json.gz differ diff --git a/instances/tejada19/UC_168h_110g.json.gz b/instances/tejada19/UC_168h_110g.json.gz new file mode 100644 index 0000000..37c6979 Binary files /dev/null and b/instances/tejada19/UC_168h_110g.json.gz differ diff --git a/instances/tejada19/UC_168h_125g.json.gz b/instances/tejada19/UC_168h_125g.json.gz new file mode 100644 index 0000000..cdae0c8 Binary files /dev/null and b/instances/tejada19/UC_168h_125g.json.gz differ diff --git a/instances/tejada19/UC_168h_130g.json.gz b/instances/tejada19/UC_168h_130g.json.gz new file mode 100644 index 0000000..c3731b5 Binary files /dev/null and b/instances/tejada19/UC_168h_130g.json.gz differ diff --git a/instances/tejada19/UC_168h_131g.json.gz b/instances/tejada19/UC_168h_131g.json.gz new file mode 100644 index 0000000..24086c3 Binary files /dev/null and b/instances/tejada19/UC_168h_131g.json.gz differ diff --git a/instances/tejada19/UC_168h_140g.json.gz b/instances/tejada19/UC_168h_140g.json.gz new file mode 100644 index 0000000..a6b657d Binary files /dev/null and b/instances/tejada19/UC_168h_140g.json.gz differ diff --git a/instances/tejada19/UC_168h_165g.json.gz b/instances/tejada19/UC_168h_165g.json.gz new file mode 100644 index 0000000..81ac577 Binary files /dev/null and b/instances/tejada19/UC_168h_165g.json.gz differ diff --git a/instances/tejada19/UC_168h_175g.json.gz b/instances/tejada19/UC_168h_175g.json.gz new file mode 100644 index 0000000..2a5a0af Binary files /dev/null and b/instances/tejada19/UC_168h_175g.json.gz differ diff --git a/instances/tejada19/UC_168h_179g.json.gz b/instances/tejada19/UC_168h_179g.json.gz new file mode 100644 index 0000000..8fdde57 Binary files /dev/null and b/instances/tejada19/UC_168h_179g.json.gz differ diff --git a/instances/tejada19/UC_168h_188g.json.gz b/instances/tejada19/UC_168h_188g.json.gz new file mode 100644 index 0000000..9a26e1f Binary files /dev/null and b/instances/tejada19/UC_168h_188g.json.gz differ diff --git a/instances/tejada19/UC_168h_192g.json.gz b/instances/tejada19/UC_168h_192g.json.gz new file mode 100644 index 0000000..637a47b Binary files /dev/null and b/instances/tejada19/UC_168h_192g.json.gz differ diff --git a/instances/tejada19/UC_168h_199g.json.gz b/instances/tejada19/UC_168h_199g.json.gz new file mode 100644 index 0000000..129e135 Binary files /dev/null and b/instances/tejada19/UC_168h_199g.json.gz differ diff --git a/instances/tejada19/UC_168h_36g.json.gz b/instances/tejada19/UC_168h_36g.json.gz new file mode 100644 index 0000000..71baf94 Binary files /dev/null and b/instances/tejada19/UC_168h_36g.json.gz differ diff --git a/instances/tejada19/UC_168h_38g.json.gz b/instances/tejada19/UC_168h_38g.json.gz new file mode 100644 index 0000000..c7ae4fc Binary files /dev/null and b/instances/tejada19/UC_168h_38g.json.gz differ diff --git a/instances/tejada19/UC_168h_40g.json.gz b/instances/tejada19/UC_168h_40g.json.gz new file mode 100644 index 0000000..90f4b09 Binary files /dev/null and b/instances/tejada19/UC_168h_40g.json.gz differ diff --git a/instances/tejada19/UC_168h_53g.json.gz b/instances/tejada19/UC_168h_53g.json.gz new file mode 100644 index 0000000..77db66d Binary files /dev/null and b/instances/tejada19/UC_168h_53g.json.gz differ diff --git a/instances/tejada19/UC_168h_58g.json.gz b/instances/tejada19/UC_168h_58g.json.gz new file mode 100644 index 0000000..4a36b79 Binary files /dev/null and b/instances/tejada19/UC_168h_58g.json.gz differ diff --git a/instances/tejada19/UC_168h_59g.json.gz b/instances/tejada19/UC_168h_59g.json.gz new file mode 100644 index 0000000..bd93cc0 Binary files /dev/null and b/instances/tejada19/UC_168h_59g.json.gz differ diff --git a/instances/tejada19/UC_168h_72g.json.gz b/instances/tejada19/UC_168h_72g.json.gz new file mode 100644 index 0000000..1358790 Binary files /dev/null and b/instances/tejada19/UC_168h_72g.json.gz differ diff --git a/instances/tejada19/UC_168h_84g.json.gz b/instances/tejada19/UC_168h_84g.json.gz new file mode 100644 index 0000000..4aa391d Binary files /dev/null and b/instances/tejada19/UC_168h_84g.json.gz differ diff --git a/instances/tejada19/UC_168h_86g.json.gz b/instances/tejada19/UC_168h_86g.json.gz new file mode 100644 index 0000000..9ef10f4 Binary files /dev/null and b/instances/tejada19/UC_168h_86g.json.gz differ diff --git a/instances/tejada19/UC_168h_88g.json.gz b/instances/tejada19/UC_168h_88g.json.gz new file mode 100644 index 0000000..aaf3cf9 Binary files /dev/null and b/instances/tejada19/UC_168h_88g.json.gz differ diff --git a/instances/tejada19/UC_168h_93g.json.gz b/instances/tejada19/UC_168h_93g.json.gz new file mode 100644 index 0000000..c00592b Binary files /dev/null and b/instances/tejada19/UC_168h_93g.json.gz differ diff --git a/instances/tejada19/UC_24h_1069g.json.gz b/instances/tejada19/UC_24h_1069g.json.gz new file mode 100644 index 0000000..050eb53 Binary files /dev/null and b/instances/tejada19/UC_24h_1069g.json.gz differ diff --git a/instances/tejada19/UC_24h_1130g.json.gz b/instances/tejada19/UC_24h_1130g.json.gz new file mode 100644 index 0000000..8174a5a Binary files /dev/null and b/instances/tejada19/UC_24h_1130g.json.gz differ diff --git a/instances/tejada19/UC_24h_1376g.json.gz b/instances/tejada19/UC_24h_1376g.json.gz new file mode 100644 index 0000000..f5652ed Binary files /dev/null and b/instances/tejada19/UC_24h_1376g.json.gz differ diff --git a/instances/tejada19/UC_24h_1393g.json.gz b/instances/tejada19/UC_24h_1393g.json.gz new file mode 100644 index 0000000..f195fca Binary files /dev/null and b/instances/tejada19/UC_24h_1393g.json.gz differ diff --git a/instances/tejada19/UC_24h_1577g.json.gz b/instances/tejada19/UC_24h_1577g.json.gz new file mode 100644 index 0000000..ca2d888 Binary files /dev/null and b/instances/tejada19/UC_24h_1577g.json.gz differ diff --git a/instances/tejada19/UC_24h_1615g.json.gz b/instances/tejada19/UC_24h_1615g.json.gz new file mode 100644 index 0000000..35d6b54 Binary files /dev/null and b/instances/tejada19/UC_24h_1615g.json.gz differ diff --git a/instances/tejada19/UC_24h_1632g.json.gz b/instances/tejada19/UC_24h_1632g.json.gz new file mode 100644 index 0000000..1030f74 Binary files /dev/null and b/instances/tejada19/UC_24h_1632g.json.gz differ diff --git a/instances/tejada19/UC_24h_1768g.json.gz b/instances/tejada19/UC_24h_1768g.json.gz new file mode 100644 index 0000000..3c62a8e Binary files /dev/null and b/instances/tejada19/UC_24h_1768g.json.gz differ diff --git a/instances/tejada19/UC_24h_1804g.json.gz b/instances/tejada19/UC_24h_1804g.json.gz new file mode 100644 index 0000000..1942415 Binary files /dev/null and b/instances/tejada19/UC_24h_1804g.json.gz differ diff --git a/instances/tejada19/UC_24h_1820g.json.gz b/instances/tejada19/UC_24h_1820g.json.gz new file mode 100644 index 0000000..9a35d54 Binary files /dev/null and b/instances/tejada19/UC_24h_1820g.json.gz differ diff --git a/instances/tejada19/UC_24h_1823g.json.gz b/instances/tejada19/UC_24h_1823g.json.gz new file mode 100644 index 0000000..00ed15b Binary files /dev/null and b/instances/tejada19/UC_24h_1823g.json.gz differ diff --git a/instances/tejada19/UC_24h_1888g.json.gz b/instances/tejada19/UC_24h_1888g.json.gz new file mode 100644 index 0000000..4de3623 Binary files /dev/null and b/instances/tejada19/UC_24h_1888g.json.gz differ diff --git a/instances/tejada19/UC_24h_214g.json.gz b/instances/tejada19/UC_24h_214g.json.gz new file mode 100644 index 0000000..07be60c Binary files /dev/null and b/instances/tejada19/UC_24h_214g.json.gz differ diff --git a/instances/tejada19/UC_24h_250g.json.gz b/instances/tejada19/UC_24h_250g.json.gz new file mode 100644 index 0000000..6866a18 Binary files /dev/null and b/instances/tejada19/UC_24h_250g.json.gz differ diff --git a/instances/tejada19/UC_24h_290g.json.gz b/instances/tejada19/UC_24h_290g.json.gz new file mode 100644 index 0000000..1f597e1 Binary files /dev/null and b/instances/tejada19/UC_24h_290g.json.gz differ diff --git a/instances/tejada19/UC_24h_480g.json.gz b/instances/tejada19/UC_24h_480g.json.gz new file mode 100644 index 0000000..2c44354 Binary files /dev/null and b/instances/tejada19/UC_24h_480g.json.gz differ diff --git a/instances/tejada19/UC_24h_505g.json.gz b/instances/tejada19/UC_24h_505g.json.gz new file mode 100644 index 0000000..c8eff53 Binary files /dev/null and b/instances/tejada19/UC_24h_505g.json.gz differ diff --git a/instances/tejada19/UC_24h_623g.json.gz b/instances/tejada19/UC_24h_623g.json.gz new file mode 100644 index 0000000..1c00a34 Binary files /dev/null and b/instances/tejada19/UC_24h_623g.json.gz differ diff --git a/instances/tejada19/UC_24h_647g.json.gz b/instances/tejada19/UC_24h_647g.json.gz new file mode 100644 index 0000000..c650dbe Binary files /dev/null and b/instances/tejada19/UC_24h_647g.json.gz differ diff --git a/instances/tejada19/UC_24h_836g.json.gz b/instances/tejada19/UC_24h_836g.json.gz new file mode 100644 index 0000000..7ff637d Binary files /dev/null and b/instances/tejada19/UC_24h_836g.json.gz differ diff --git a/instances/tejada19/UC_24h_850g.json.gz b/instances/tejada19/UC_24h_850g.json.gz new file mode 100644 index 0000000..8893046 Binary files /dev/null and b/instances/tejada19/UC_24h_850g.json.gz differ diff --git a/instances/tejada19/UC_24h_918g.json.gz b/instances/tejada19/UC_24h_918g.json.gz new file mode 100644 index 0000000..278158d Binary files /dev/null and b/instances/tejada19/UC_24h_918g.json.gz differ diff --git a/instances/tejada19/UC_24h_931g.json.gz b/instances/tejada19/UC_24h_931g.json.gz new file mode 100644 index 0000000..84dbbd0 Binary files /dev/null and b/instances/tejada19/UC_24h_931g.json.gz differ diff --git a/instances/tejada19/UC_24h_940g.json.gz b/instances/tejada19/UC_24h_940g.json.gz new file mode 100644 index 0000000..67a188a Binary files /dev/null and b/instances/tejada19/UC_24h_940g.json.gz differ diff --git a/instances/tejada19/UC_24h_957g.json.gz b/instances/tejada19/UC_24h_957g.json.gz new file mode 100644 index 0000000..3e565ec Binary files /dev/null and b/instances/tejada19/UC_24h_957g.json.gz differ diff --git a/instances/tejada19/UC_24h_959g.json.gz b/instances/tejada19/UC_24h_959g.json.gz new file mode 100644 index 0000000..88145b9 Binary files /dev/null and b/instances/tejada19/UC_24h_959g.json.gz differ diff --git a/src/docs/instances.md b/src/docs/instances.md index 66d2fa8..a989da8 100644 --- a/src/docs/instances.md +++ b/src/docs/instances.md @@ -1,96 +1,13 @@ # Instances -UnitCommitment.jl provides a collection of large-scale benchmark instances collected -from the literature in a [standard data format](format.md) and, in some cases, extended with realistic unit commitment data, produced by data-driven methods. If you use these instances in your research, we request that you cite UnitCommitment.jl, as well as the original sources (as listed below). +UnitCommitment.jl provides a large collection of benchmark instances collected +from the literature and converted to a [common data format](format.md). In some cases, as indicated below, the original instances have been extended, with realistic parameters, using data-driven methods. +If you use these instances in your research, we request that you cite UnitCommitment.jl, as well as the original sources. Raw instances files are [available at our GitHub repository](https://github.com/ANL-CEEESA/UnitCommitment.jl/tree/dev/instances). Benchmark instances can also be loaded with -`UnitCommitment.read_benchmark(name)`, as explained in the [usage section](usage.md), where `name` is one of the names below. +`UnitCommitment.read_benchmark(name)`, as explained in the [usage section](usage.md). -## 1. PGLIB-UC Instances - -[PGLIB-UC](https://github.com/power-grid-lib/pglib-uc) is a benchmark library curated and maintained by the [IEEE PES Task Force on Benchmarks for Validation of Emerging Power System Algorithms](https://power-grid-lib.github.io/). - - -### 1.1 PGLIB-UC/California - -Test cases based on publicly available data from the California ISO. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). - -| Name | Buses | Generators | Lines | Contingencies | References | -|------|-------|------------|-------|---------------|--------| -| `pglib-uc/ca/2014-09-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-09-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-09-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-09-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-12-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-12-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-12-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2014-12-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-03-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-03-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-03-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-03-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-06-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-06-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-06-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/2015-06-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/Scenario400_reserves_0` | 1 | 611 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/Scenario400_reserves_1` | 1 | 611 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/Scenario400_reserves_3` | 1 | 611 | 0 | 0 | [KnOsWa18, KrHiOn12] -| `pglib-uc/ca/Scenario400_reserves_5` | 1 | 611 | 0 | 0 | [KnOsWa18, KrHiOn12] - - -### 1.2 PGLIB-UC/FERC - -Test cases based on publicly available unit commitment test instance from the Federal Energy Regulatory Commission. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). - -| Name | Buses | Generators | Lines | Contingencies | References | -|------|-------|------------|-------|---------------|--------| -| `pglib-uc/ferc/2015-01-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-01-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-02-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-02-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-03-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-03-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-04-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-04-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-05-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-05-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-06-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-06-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-07-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-07-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-08-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-08-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-09-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-09-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-10-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-10-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-11-02_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-11-02_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-12-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa18] -| `pglib-uc/ferc/2015-12-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa18] - - -### 1.3 PGLIB-UC/RTS-GMLC - -[RTS-GMLC](https://github.com/GridMod/RTS-GMLC) is an updated version of the RTS-96 test system produced by the United States Department of Energy's [Grid Modernization Laboratory Consortium](https://gmlc.doe.gov/). The PGLIB-UC/RTS-GMLC instances are modified versions of the original RTS-GMLC instances, with modified ramp-rates and without a transmission network. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). - -| Name | Buses | Generators | Lines | Contingencies | References | -|------|-------|------------|-------|---------------|--------| -| `pglib-uc/rts_gmlc/2020-01-27` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-02-09` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-03-05` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-04-03` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-05-05` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-06-09` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-07-06` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-08-12` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-09-20` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-10-27` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-11-25` | 1 | 154 | 0 | 0 | [BaBlEh19] -| `pglib-uc/rts_gmlc/2020-12-23` | 1 | 154 | 0 | 0 | [BaBlEh19] - -## 2. MATPOWER +## 1. MATPOWER [MATPOWER](https://github.com/MATPOWER/matpower) is an open-source package for solving power flow problems in MATLAB and Octave. It contains a number of power flow test cases, which have been widely used in the power systems literature. @@ -108,7 +25,7 @@ Because most MATPOWER test cases were originally designed for power flow studies For each MATPOWER test case, UC.jl provides two variations (`2017-02-01` and `2017-08-01`) corresponding respectively to a winter and to a summer test case. -### 2.1 MATPOWER/UW-PSTCA +### 1.1 MATPOWER/UW-PSTCA A variety of smaller IEEE test cases, [compiled by University of Washington](http://labs.ece.uw.edu/pstca/), corresponding mostly to small portions of the American Electric Power System in the 1960s. @@ -126,7 +43,7 @@ A variety of smaller IEEE test cases, [compiled by University of Washington](htt | `matpower/case300/2017-08-01` | 300 | 69 | 411 | 320 | [MTPWR, PSTCA] -### 2.2 MATPOWER/Polish +### 1.2 MATPOWER/Polish Test cases based on the Polish 400, 220 and 110 kV networks, originally provided by **Roman Korab** (Politechnika Śląska) and corrected by the MATPOWER team. @@ -149,7 +66,7 @@ Test cases based on the Polish 400, 220 and 110 kV networks, originally provided | `matpower/case3375wp/2017-02-01` | 3374 | 590 | 4161 | 3245 | [MTPWR] | `matpower/case3375wp/2017-08-01` | 3374 | 590 | 4161 | 3245 | [MTPWR] -### 2.3 MATPOWER/PEGASE +### 1.3 MATPOWER/PEGASE Test cases from the [Pan European Grid Advanced Simulation and State Estimation (PEGASE) project](https://cordis.europa.eu/project/id/211407), describing part of the European high voltage transmission network. @@ -166,7 +83,7 @@ Test cases from the [Pan European Grid Advanced Simulation and State Estimation | `matpower/case13659pegase/2017-02-01` | 13659 | 4092 | 20467 | 13932 | [JoFlMa16, FlPaCa13, MTPWR] | `matpower/case13659pegase/2017-08-01` | 13659 | 4092 | 20467 | 13932 | [JoFlMa16, FlPaCa13, MTPWR] -### 2.4 MATPOWER/RTE +### 1.4 MATPOWER/RTE Test cases from the R&D Division at [Reseau de Transport d'Electricite](https://www.rte-france.com) representing the size and complexity of the French very high voltage transmission network. @@ -189,11 +106,202 @@ Test cases from the R&D Division at [Reseau de Transport d'Electricite](https:// | `matpower/case6515rte/2017-02-01` | 6515 | 1368 | 9037 | 6063 | [MTPWR, JoFlMa16] | `matpower/case6515rte/2017-08-01` | 6515 | 1368 | 9037 | 6063 | [MTPWR, JoFlMa16] -## 3. References + +## 2. PGLIB-UC Instances + +[PGLIB-UC](https://github.com/power-grid-lib/pglib-uc) is a benchmark library curated and maintained by the [IEEE PES Task Force on Benchmarks for Validation of Emerging Power System Algorithms](https://power-grid-lib.github.io/). + +### 2.1 PGLIB-UC/California + +Test cases based on publicly available data from the California ISO. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). + +| Name | Buses | Generators | Lines | Contingencies | References | +|------|-------|------------|-------|---------------|--------| +| `pglib-uc/ca/2014-09-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-09-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-09-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-09-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-12-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-12-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-12-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2014-12-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-03-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-03-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-03-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-03-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-06-01_reserves_0` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-06-01_reserves_1` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-06-01_reserves_3` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/2015-06-01_reserves_5` | 1 | 610 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/Scenario400_reserves_0` | 1 | 611 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/Scenario400_reserves_1` | 1 | 611 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/Scenario400_reserves_3` | 1 | 611 | 0 | 0 | [KnOsWa20, KrHiOn12] +| `pglib-uc/ca/Scenario400_reserves_5` | 1 | 611 | 0 | 0 | [KnOsWa20, KrHiOn12] + + +### 2.2 PGLIB-UC/FERC + +Test cases based on publicly available unit commitment test instance from the Federal Energy Regulatory Commission. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). + +| Name | Buses | Generators | Lines | Contingencies | References | +|------|-------|------------|-------|---------------|--------| +| `pglib-uc/ferc/2015-01-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-01-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-02-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-02-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-03-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-03-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-04-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-04-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-05-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-05-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-06-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-06-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-07-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-07-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-08-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-08-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-09-01_hw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-09-01_lw` | 1 | 979 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-10-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-10-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-11-02_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-11-02_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-12-01_hw` | 1 | 935 | 0 | 0 | [KnOsWa20] +| `pglib-uc/ferc/2015-12-01_lw` | 1 | 935 | 0 | 0 | [KnOsWa20] + + +### 2.3 PGLIB-UC/RTS-GMLC + +[RTS-GMLC](https://github.com/GridMod/RTS-GMLC) is an updated version of the RTS-96 test system produced by the United States Department of Energy's [Grid Modernization Laboratory Consortium](https://gmlc.doe.gov/). The PGLIB-UC/RTS-GMLC instances are modified versions of the original RTS-GMLC instances, with modified ramp-rates and without a transmission network. For more details, see [PGLIB-UC case file overview](https://github.com/power-grid-lib/pglib-uc). + +| Name | Buses | Generators | Lines | Contingencies | References | +|------|-------|------------|-------|---------------|--------| +| `pglib-uc/rts_gmlc/2020-01-27` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-02-09` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-03-05` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-04-03` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-05-05` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-06-09` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-07-06` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-08-12` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-09-20` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-10-27` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-11-25` | 1 | 154 | 0 | 0 | [BaBlEh19] +| `pglib-uc/rts_gmlc/2020-12-23` | 1 | 154 | 0 | 0 | [BaBlEh19] + +## 3. OR-LIB/UC + +[OR-LIB](http://people.brunel.ac.uk/~mastjjb/jeb/info.html) is a collection of test data sets for a variety of operations research problems, including unit commitment. The UC instances in OR-LIB are synthetic instances generated by [**Antonio Frangioni** random UC generator](http://groups.di.unipi.it/optimize/Data/UC.html). + +| Name | Hours | Buses | Generators | Lines | Contingencies | References | +|------|-------|-------|------------|-------|---------------|------------| +| `or-lib/10_0_1_w` | 24 | 1 | 10 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/10_0_2_w` | 24 | 1 | 10 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/10_0_3_w` | 24 | 1 | 10 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/10_0_4_w` | 24 | 1 | 10 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/10_0_5_w` | 24 | 1 | 10 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/20_0_1_w` | 24 | 1 | 20 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/20_0_2_w` | 24 | 1 | 20 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/20_0_3_w` | 24 | 1 | 20 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/20_0_4_w` | 24 | 1 | 20 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/20_0_5_w` | 24 | 1 | 20 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/50_0_1_w` | 24 | 1 | 50 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/50_0_2_w` | 24 | 1 | 50 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/50_0_3_w` | 24 | 1 | 50 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/50_0_4_w` | 24 | 1 | 50 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/50_0_5_w` | 24 | 1 | 50 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/75_0_1_w` | 24 | 1 | 75 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/75_0_2_w` | 24 | 1 | 75 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/75_0_3_w` | 24 | 1 | 75 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/75_0_4_w` | 24 | 1 | 75 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/75_0_5_w` | 24 | 1 | 75 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/100_0_1_w` | 24 | 1 | 100 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/100_0_2_w` | 24 | 1 | 100 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/100_0_3_w` | 24 | 1 | 100 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/100_0_4_w` | 24 | 1 | 100 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/100_0_5_w` | 24 | 1 | 100 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/150_0_1_w` | 24 | 1 | 150 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/150_0_2_w` | 24 | 1 | 150 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/150_0_3_w` | 24 | 1 | 150 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/150_0_4_w` | 24 | 1 | 150 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/150_0_5_w` | 24 | 1 | 150 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_10_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_11_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_12_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_1_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_2_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_3_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_4_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_5_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_6_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_7_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_8_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] +| `or-lib/200_0_9_w` | 24 | 1 | 200 | 0 | 0 | [ORLIB, FrGe06] + +## 4. TejadaArango19 + + Test cases used in the paper **"Which Unit-Commitment Formulation is Best? A Comparison Framework"** by D. Tejada-Arango, S. Lumbreras, P. Sanchez-Martin and A. Ramos (2019). + + These instances are similar to OR-LIB/UC, in the sense that they have also been generated using [Antonio Frangioni's random instance generator](http://groups.di.unipi.it/optimize/Data/UC.html), but are much larger. + +| Name | Hours | Buses | Generators | Lines | Contingencies | References | +|------|-------|-------|------------|-------|---------------|------------| +| `tejada19/UC_24h_214g` | 24 | 1 | 214 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_250g` | 24 | 1 | 250 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_290g` | 24 | 1 | 290 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_480g` | 24 | 1 | 480 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_505g` | 24 | 1 | 505 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_623g` | 24 | 1 | 623 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_647g` | 24 | 1 | 647 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_836g` | 24 | 1 | 836 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_850g` | 24 | 1 | 850 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_918g` | 24 | 1 | 918 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_931g` | 24 | 1 | 931 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_940g` | 24 | 1 | 940 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_957g` | 24 | 1 | 957 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_959g` | 24 | 1 | 959 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1069g` | 24 | 1 | 1069 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1130g` | 24 | 1 | 1130 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1376g` | 24 | 1 | 1376 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1393g` | 24 | 1 | 1393 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1577g` | 24 | 1 | 1577 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1615g` | 24 | 1 | 1615 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1632g` | 24 | 1 | 1632 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1768g` | 24 | 1 | 1768 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1804g` | 24 | 1 | 1804 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1820g` | 24 | 1 | 1820 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1823g` | 24 | 1 | 1823 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_24h_1888g` | 24 | 1 | 1888 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_36g` | 168 | 1 | 36 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_38g` | 168 | 1 | 38 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_40g` | 168 | 1 | 40 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_53g` | 168 | 1 | 53 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_58g` | 168 | 1 | 58 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_59g` | 168 | 1 | 59 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_72g` | 168 | 1 | 72 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_84g` | 168 | 1 | 84 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_86g` | 168 | 1 | 86 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_88g` | 168 | 1 | 88 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_93g` | 168 | 1 | 93 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_105g` | 168 | 1 | 105 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_110g` | 168 | 1 | 110 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_125g` | 168 | 1 | 125 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_130g` | 168 | 1 | 130 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_131g` | 168 | 1 | 131 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_140g` | 168 | 1 | 140 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_165g` | 168 | 1 | 165 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_175g` | 168 | 1 | 175 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_179g` | 168 | 1 | 179 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_188g` | 168 | 1 | 188 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_192g` | 168 | 1 | 192 | 0 | 0 | [TeLuSa19] +| `tejada19/UC_168h_199g` | 168 | 1 | 199 | 0 | 0 | [TeLuSa19] + +## 5. References * [UCJL] **Alinson S. Xavier, Feng Qiu.** "UnitCommitment.jl: A Julia/JuMP Optimization Package for Security-Constrained Unit Commitment". Zenodo (2020). [DOI: 10.5281/zenodo.4269874](https://doi.org/10.5281/zenodo.4269874) -* [KnOsWa18] **Bernard Knueven, James Ostrowski and Jean-Paul Watson.** "On Mixed-Integer Programming Formulations for the Unit Commitment Problem". INFORMS Journal on Computing (2020). [DOI: 10.1287/ijoc.2019.0944](https://doi.org/10.1287/ijoc.2019.0944) +* [KnOsWa20] **Bernard Knueven, James Ostrowski and Jean-Paul Watson.** "On Mixed-Integer Programming Formulations for the Unit Commitment Problem". INFORMS Journal on Computing (2020). [DOI: 10.1287/ijoc.2019.0944](https://doi.org/10.1287/ijoc.2019.0944) * [KrHiOn12] **Eric Krall, Michael Higgins and Richard P. O’Neill.** "RTO unit commitment test system." Federal Energy Regulatory Commission. Available at: (Accessed: Nov 14, 2020) @@ -210,4 +318,10 @@ actions", Power Systems, IEEE Trans. on, (28)4:4909-4917, 2013. * [MTPWR] **D. Zimmerman, C. E. Murillo-Sandnchez and R. J. Thomas.** "Matpower: Steady-state operations, planning, and analysis tools forpower systems research and education", IEEE Transactions on PowerSystems, vol. 26, no. 1, pp. 12 –19, Feb. 2011. [DOI: 10.1109/TPWRS.2010.2051168](https://doi.org/10.1109/TPWRS.2010.2051168) -* [PSTCA] **University of Washington, Dept. of Electrical Engineering.** "Power Systems Test Case Archive". Available at: (Accessed: Nov 14, 2020) \ No newline at end of file +* [PSTCA] **University of Washington, Dept. of Electrical Engineering.** "Power Systems Test Case Archive". Available at: (Accessed: Nov 14, 2020) + +* [ORLIB] **J.E.Beasley.** "OR-Library: distributing test problems by electronic mail", Journal of the Operational Research Society 41(11) (1990). [DOI: 10.2307/2582903](https://doi.org/10.2307/2582903) + +* [FrGe06] **A. Frangioni, C. Gentile.** "Solving nonlinear single-unit commitment problems with ramping constraints" Operations Research 54(4), p. 767 - 775, 2006. [DOI: 10.1287/opre.1060.0309](https://doi.org/10.1287/opre.1060.0309) + +* [TeLuSa19] **D. A. Tejada-Arango, S. Lumbreras, P. Sanchez-Martin and A. Ramos.** "Which Unit-Commitment Formulation is Best? A Systematic Comparison," in IEEE Transactions on Power Systems. [DOI: 10.1109/TPWRS.2019.2962024](https://ieeexplore.ieee.org/document/8941313/). \ No newline at end of file