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