[Feature]: Write DDP upper & lower bound each iteration when solving multi-stage with foresight
JesseJenkins opened this issue · comments
Feature description
When solving multi-stage with foresight, GenX applies a dual dynamic decomposition method. We currently record the progression of upper and lower bound from the decomposition stages, showing the progression towards convergence, but we only write this to stats_multi_stage.csv
only after completing the GenX run. We should modify the code to write to this file after each forward and backward pass, so that we can see the progression of DDP convergence as it continues, in case we have cases that terminate prior to finishing (e.g. hit a wall clock time limit).
Motivation
Helps debug large-scale multi-stage problems with foresight that might not complete before a wall clock limit is reached.
Implementation strategy
Modify write_multi_stage_stats.jl
to write to stats_multi_stage.csv
at the end of each forward pass and the end of each backwards pass (as bounds update).
Additional context
No response
This is now fixed on the release branch
Addressed on release/0.4.0 and v0.3.