MATPOWER / most

MOST – MATPOWER Optimal Scheduling Tool, for steady-state power systems scheduling problems.
https://matpower.org/
Other
31 stars 11 forks source link

most_summary & get_idx #10

Closed lordleoo closed 4 years ago

lordleoo commented 4 years ago

In MATPOWER-MOST cases with large nt (i.e. nt>100), the label "t = ...." starts drifting off away from the numbers below it. 1) I modified MOST_SUMMARY to utilize cell arrays, and the "pad" command to prevent this. 2) Made some lines print in bold 3) By default, this MOST_SUMMARY file also prints the load(t) and state-of-charge of energy-storage devices, at time (t), based on the value stored in Storage.ExpectedStorageState 3) Added the functionality/feature, to allow the user to request printing certain variables (which, otherwise, are not printed by default). example for that is: [res, repository] = most_summary(mdo, {'v', 'w', 'Psc'})

the variables 'v', 'w' and 'Psc' will be printed, which normally wouldn't happen. Furthermore, the values for 'v', 'w' and 'Psc' would be extracted from mdo.QP.x, and returned in the structure "repository". This feature only works on variables whose names are declared in mdo.om.var.idx.i1 variables inside MPC or UC or TSTEP, are not recognized.

5) The new MOST_SUMMARY file automatically checks whether a variable is binary or continuous. Binary variables are printed as 1 or -O-

The new MOST_SUMMARY file is a bit slower than the original; but it still takes a few seconds to finish anyway

================ for get_idx, the original file only returns variables (vv), linear constraints (ll), nonlinear constraints (nnli) and legacy costs (cc); but wouldn't return quadratic costs. I added that small bit as the last output-argument

rdzman commented 4 years ago

Thanks again @lordleoo for your contributions.

A few quick reminders and tips to help get you up to speed with the process and streamline future contributions.

So, if you could go ahead and create two separate pull requests, one on the most repo for the most_summary.m changes and one on the matpower repo for the @opt_model/get_idx.m changes, that would be helpful.

These are small enough changes that I can grab them manually and do my own commits if you don't have time, but it's nice to do it in a way that tracks issues and PRs consistently and where GitHub shows you as the author for your commits that get merged.

rdzman commented 4 years ago

Please add your additional most_summary() updates in #12.

rdzman commented 4 years ago

get_idx() updates included in MATPOWER/matpower@ee27a86a9127538c3013366e3044674c1fe58645