Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Primal Decomposition non-convergence with ExaGO #615

Open
tabholt opened this issue Apr 14, 2023 · 6 comments
Open

Primal Decomposition non-convergence with ExaGO #615

tabholt opened this issue Apr 14, 2023 · 6 comments
Assignees

Comments

@tabholt
Copy link

tabholt commented Apr 14, 2023

When using HiOp pri-dec solver with Ipopt as the sub-problem solver in ExaGO scopflow I am running into non-convergence issues on the HiOp side. This problem seems to occur when the grid is tight, ie the unit commitment has few enough generators such that the system is close to needing to shed load.

However I can confirm that load-shedding is not necessary in these contingencies when solving them as a single system with Ipopt. I can also confirm that if we activate all of the generators in the provided case file then it will converge.

I am using Ipopt 3.13.5 and HiOp 0.7.1 as available on the ORNL Crusher machine.

Here is how the problem can be re-produced:

contfile="ACTIVSg500_contingencies.cont"
datafile="datafiles/ACTIVSg500_modified.m"
n_conts=3
n_ranks=$((n_conts+1))

srun -n $n_ranks scopflow -netfile $datafile -scopflow_enable_multicontingency 1 -opflow_include_loadloss_variables 1 -ctgcfile $contfile -scopflow_Nc $n_conts -print_output 1 -scopflow_solver HIOP -scopflow_subproblem_solver IPOPT -save_output

Both the datafile and the contingencies file are attached. (Changed to .txt to upload to github.)
ACTIVSg500_modified.m.txt
ACTIVSg500_contingencies.cont.txt

@tabholt
Copy link
Author

tabholt commented Apr 14, 2023

@jwang125 Slaven Peles suggested I tag you :)

@cnpetra
Copy link
Collaborator

cnpetra commented Apr 14, 2023

just to confirm, are you seeing the non-convergence issues in HiOp-PriDec, correct? Not in HiOp as the subproblem solver. Sending us the log(s) (emailing them is fine) would help us greatly.

@tabholt
Copy link
Author

tabholt commented Apr 14, 2023

Yes this is correct. HiOp Pridec with Ipopt as the sub-problem solver. The logs are infinitely long with all of the runs of Ipopt in there.

I can supress the Ipopt output though if that isn't helpful. Are there certain verbosity levels you would like so that I can give you a useful log?

@tabholt
Copy link
Author

tabholt commented Apr 14, 2023

I have emailed a log with 55 iterations with vebosity_level 3 on HiOp and ipopt supressed. I'll also add it here.

If you would like me to run with other settings please let me know.

hiop_non_convergence.log

@jwang125
Copy link
Collaborator

Hi Tim, based on your log, I suggest you do set_alpha_min(1e3) for the hiopAlgPrimalDecomp class object and see if the results improve. I need to add in general however, neither primal decomp nor exago is implemented in a way that guarantees convergence. So there could be issues with difficult cases. Thank you!

@cnpetra
Copy link
Collaborator

cnpetra commented Jun 6, 2023

closing this, feel free to reopen if you need additional assistance

@cnpetra cnpetra closed this as completed Jun 6, 2023
@nychiang nychiang reopened this Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants