Releases: MATPOWER/most
MOST 1.3.1
What's New in MOST 1.3.1
Released Jul 12, 2025
Below is a summary of the changes since version 1.3 of MOST. See the CHANGES.md file for all the gory details. For release notes for previous versions, see Appendix B of the MOST User's Manual.
Changes:
most_summary()now skips display of non-existent contingencies.- Include HiGHS solver (via HiGHSMEX interface), if available, in unit commitment tests.
Bugs Fixed:
- Fix issue #45 where
most()does not properly handle cases with contingencies defined only in some periods/scenarios. Thanks to Stefano Nicolin. - Fix issue with
most_summary()when ramp results are missing. - Tweak tests to work around bug in HiGHS-based
linprogandintlinprogin Optimization Toolbox R2024a and R2024b. - Fix issue caused by tiny non-zero values for commitment variables. Don't count on MP-Opt-Model's
miqps_<solver>()functions to round integer variable solutions.
PRO Version
- There is now a PRO version of MOST that adds support for MATPOWER DC lines as described in Section 7.6.3 of the MATPOWER User's Manual. Please contact [email protected] for information on obtaining this version.
MOST 1.3
What's New in MOST 1.3
Released May 10, 2024
Below is a summary of the changes since version 1.2 of MOST. See the
CHANGES.md file for all the gory details. For release notes for
previous versions, see Appendix B of the MOST User's Manual.
New Features:
- New Sphinx-based Reference documentation.
Changes:
- Reduce memory requirements for long horizon cases with storage by
forming/storing transposes of matrices for storage constraints.
Requires MP-Opt-Model 4.2 or later. - Speed up building unit commitment (min up/down time) constraints.
Improvement can be quite substantial on large problems.
Bugs Fixed:
- Fix issue #37 which caused a fatal error in storage input
checks with multiple storage units under some circumstances.
Thanks to Keir Steegstra. - Fix issue #39 in which the value of
mdi.Delta_T, the number
of hours represented by each period, was not being accounted for in
most of the terms in the objective function.
Thanks to Stefano Nicolin.
Incompatible Changes:
- Remove extra column in
mdo.results.ExpectedRampCostand ignore for
single period.
MOST 1.2
What's New in MOST 1.2
Released Dec 13, 2022
Below is a summary of the changes since version 1.1 of MOST. See the
CHANGES.md file for all the gory details. For release notes for
previous versions, see Appendix B of the MOST User's Manual.
Changes:
- Ramping reserves and constraints are now included for the
transition from the initial state into period 1, except for
single-period problems. - Added calculation of expected TLMP (temporal locational marginal
price) based on work by Guo, Chen, Tong in [1,
2, 3]. For generators, these are
returned inmdo.results.GenTLMPandmdo.results.CondGenTLMP.
For storage units they are returned inmdo.results.StorageTLMPc,
mdo.results.StorageTLMPd,mdo.results.CondStorageTLMPc, and
mdo.results.CondStorageTLMPd. See Table 5-13 in the
MOST User's Manual. - For deterministic cases with storage where
ForceCyclicStorageis 0,
ensure that initial storage bounds are equal to initial storage and
output a warning if they are modified. Fix deterministic UC tests
where this was causing results to change depending on value ofrho.
Bugs Fixed:
- Plotting of commitment schedule using
plot_uc()did not work
properly in a subplot, such as int_most_uc(). Thanks to Lim Han. - Fix tests that were failing under Octave 7.x.
- Fix issue #29 where a typo caused a check on
md.UC.MinDown> 1
to be skipped. Thanks to Talha Iqbal.
Incompatible Changes:
- Modified definition of ramping reserves for period t (and all
corresponding input and output parameters) to refer to the transition
from t-1 to t, not t to t+1. This means that the ramping
reserves for the transition into the first period are now optimization
variables and the corresponding constraints are explicit. This is for
multiperiod problems only. Ramping reserves and contraints are explicitly
excluded for single-period problems.
Note: This change also corrects an error in (4.11), where \gamma^t
is now correct. Previously it should have been \gamma^{t+1}, as it was
in the code.
References
-
Y. Guo, C. Chen and L. Tong, “Pricing Multi-Interval Dispatch Under
Uncertainty Part I: Dispatch-Following Incentives,” IEEE Transactions
on Power Systems, vol. 36, no. 5, pp. 3865–3877, Sept. 2021,
doi: 10.1109/TPWRS.2021.3055730. -
C. Chen, Y. Guo and L. Tong, “Pricing Multi-Interval Dispatch Under
Uncertainty Part II: Generalization and Performance,” IEEE Transactions
on Power Systems, vol. 36, no. 5, pp. 3878–3886, Sept. 2021,
doi: 10.1109/TPWRS.2020.3045162. -
C. Chen and L. Tong, “Pricing Real-time Stochastic Storage Operations,”
2022 Power Systems Computation Conference (PSCC), June 27–July 1, 2022,
doi: 10.48550/arXiv.2204.08140.
MOST 1.1
What's New in MOST 1.1
Released Oct 8, 2020
Below is a summary of the changes since version 1.0.2 of MOST. See the
CHANGES.md file for all the gory details. For release notes for
previous versions, see Appendix B of the MOST User's Manual.
Changes:
- Requires MATPOWER 7.1 or later.
- Output of
most_summary()includes sections for fixed loads and for
expected stored energy for storage units. - Relies on MP-Opt-Model 3.0, which can be found at
https://github.com/MATPOWER/mp-opt-model and is included in
MATPOWER 7.1.- Significant performance improvement for some problems when constructing
sparse matrices for linear constraints or quadratic costs (e.g. during
problem setup).
Thanks to Daniel Muldrew. - Uses the
@opt_model/solve()method rather than calling
miqps_matpower()orqps_matpower()directly. - Uses the
@opt_model/get_soln()method to extract variable and shadow
price results, rather than doing the indexing manually.
- Significant performance improvement for some problems when constructing
Bugs Fixed:
- Fix bug #6 where building a model without solving it, or solving a
previously built model resulted in a fatal error.
Thanks to Baraa Mohandes. - Fix bug #11 where storage constraints were not correct for
t=1andrhonot equal to 1. Thanks to Baraa Mohandes. - Fix issue #16, where the
omfield of the output MOST data struct
(mdo) was a handle to the same object as as theomfield of the
input MOST data struct (mdi), meaning that changing one would modify
the other. Thanks to Baraa Mohandes.
Incompatible Changes:
- Objective function value returned in
mdo.QP.fupdated to include the
previously missing constant term.
MOST 1.0.2
What's New in MOST 1.0.2
Released Jun 20, 2019
Below is a summary of the changes since version 1.0.1 of MOST. See the
CHANGES.md file for all the gory details. For release notes for
previous versions, see Appendix B of the MOST User's Manual.
Bugs Fixed:
- Fix default solver selection issue in
t_most_w_dstest.
Other Changes:
- Add
CITATIONfile. - Other miscellaneous documentation updates, e.g. MATPOWER website
links updated to https://matpower.org, separate references for
MATPOWER software and User's Manual, with DOIs.
MOST 1.0.1
What's New in MOST 1.0.1
Released Oct 30, 2018
Below is a summary of the changes since version 1.0 of MOST. See the
CHANGES.md file for all the gory details. For release notes for
previous versions, see Appendix B of the MOST User's Manual.
Bugs Fixed:
- Fix bugs in
plot_uc_data()resulting in incorrect legends. - Fix dimension of
RampWearcost indexing ifmdi.OpenEndedis true. - Add missing constant term to objective function value reported by
most_summary.
Other Changes:
- LaTeX source code for MOST User's Manual included in
docs/src. - Updated to use OOP notation for
opt_modelobject, and avoid calls
to deprecated methods, usinginit_indexed_name()and
add_lin_constraint()instead. - Updated to use MATPOWER's new quadratic costs in
opt_modelin
place of the legacy cost model.
Incompatible Changes:
- Failure of the optimization no longer halts execution and jumps to
the debugger. - Requires MATPOWER 7.x or later.