MATPOWER / most

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

Running 1 year simulation #44

Open fsanniti opened 6 months ago

fsanniti commented 6 months ago

Hi all,

I've been gaining experience with MOST for a year and a half. Now, I'm trying to run a 1 year simulation, for transmission planning purposes. The network is made of 180 buses, 229 branches, and 94 generation points, including storage units. I added deterministic profiles to unpredictable generation (on Pmax value) and loads. My purpose is to solve a Deterministic Multiperiod OPF, by using CPLEX. Of course, when I run it with mdi.Delta_T=1 (8760 periods) it returns out-of-memory issues (with an Intel(R) Xeon(R) CPU X5690 @ 3.47GHz and 96 GB of RAM), which is at the end predictable.

So I'm trying to "aggregate" periods to run 1 year simulation with less periods, by increasing, at the same time, the mdi.Delta_T parameter. For example, I tried to run 365 periods (mdi.Delta_T=24). I know that in this case storage and generation raping lose significance since the period is too large, but for a first try it's ok for me. In this case, I get exit flag -3 and, with mdi.Delta_T=4, I get exit flag -8. Differently, if I run the same number of periods with mdi.Delta_T=1, a solution is found in any case (but the solution is unrealistic for my purposes). My guess is that, with higher mdi.Delta_T, MOST is not well conditioned and it experiences some problem to find a solution. I also tried to remove storage units, but the problem is still present.

Any suggestion?

Thanks to all, Francesco

rdzman commented 6 months ago

The first thing to mention is that MOST 1.3** has some improvements/fixes that may be relevant to your case (see CHANGES file). In particular, the memory usage of long horizon cases with storage is substantially decreased.

The other suggestion, if a single problem with a year-long hourly horizon is still not workable, is to solve the case in multiple overlapping runs. For example, solve one month at a time, using a 6-week horizon and only keeping the results for the initial month. Each month will have initial conditions derived from the run for the previous month. Think of it as a rolling-horizon approach. I suspect the impacts of inter-temporal constraints and costs typically extend only a week or so, at most. So I would think a week or two of overlap should result in essentially the same solution as optimizing everything together in a single problem. You could play with the horizon length and overlap amount. It would be interesting to see their impact on the overall annual solution.

Hope this helps.

** MOST 1.3 will be officially released with MATPOWER 8, hopefully in a matter of a few days. It requires MP-Opt-Model 4.2 (also to be included in MATPOWER 8). You can either wait for the official release and then download the MATPOWER 8 ZIP file, or if you want to try it now, you can grab the latest master branch on GitHub for MOST and MP-Opt-Model, and use them to replace the current versions in your MATLAB path.

fsanniti commented 6 months ago

Thank you very much for these suggestions. I may follow a rolling-horizon approach. I'll keep you updated on the results!