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

Add AlternativeForwardPass #611

Merged
merged 5 commits into from
May 14, 2023
Merged

Add AlternativeForwardPass #611

merged 5 commits into from
May 14, 2023

Conversation

odow
Copy link
Owner

@odow odow commented May 13, 2023

Closes #419

Needs

  • Docs
  • Tests
  • An AC-OPF/DC-OPF example

But yeah. We had all the infrastructure for this. It was trivial to implement.

src/alternative_forward.jl Outdated Show resolved Hide resolved
src/alternative_forward.jl Outdated Show resolved Hide resolved
@andrewrosemberg
Copy link
Contributor

Creating a AC-OPF/DC-OPF example. Will post here in a few minutes. Taking advantage of the code used in PowerModelsAnnex.jl.

@andrewrosemberg
Copy link
Contributor

case3.zip

The ACDC test case. I used PowerModels.jl just to create the reference dictionary to make things a bit easier, but I can try to do it manually.

@andrewrosemberg
Copy link
Contributor

I added a few comments and the example based on personal interest, but if it confuses things, please disregard them.

@odow odow force-pushed the od/new-forward-pass branch 2 times, most recently from e067774 to 9c0165c Compare May 13, 2023 23:46
@odow odow changed the title WIP: use a different forward model during training Add AlternativeForwardPass May 13, 2023
@odow
Copy link
Owner Author

odow commented May 13, 2023

Once I merge #612 and rebase, this might take the record for the most complicated feature implemented in the fewest lines of code. It's really only two one-line functions...

docs/src/examples/pglib_opf.jl Outdated Show resolved Hide resolved
docs/src/examples/pglib_opf.jl Outdated Show resolved Hide resolved
@odow
Copy link
Owner Author

odow commented May 14, 2023

Provided two models have the same graph structure and state variables, we now have a lot of freedom:

  • Simulating with the true distribution, training with the discretized SAA (sampling schemes, Add SimulatorSamplingScheme #594)
  • Simulating with the discrete model, training with the continuous relaxation (happens by default)
  • Training with a non-convex model, training with a convex approximation (this PR)

docs/src/examples/pglib_opf.jl Outdated Show resolved Hide resolved
@odow
Copy link
Owner Author

odow commented May 14, 2023

@odow odow mentioned this pull request May 14, 2023
1 task
@odow
Copy link
Owner Author

odow commented May 14, 2023

@andrewrosemberg this tutorial is so cool: https://odow.github.io/SDDP.jl/previews/PR611/tutorial/pglib_opf/.

It's like a mini-HydroPowerModels.jl.

These new features should make it easy for people to replicate and build upon your paper now.

@odow odow merged commit f1fcadb into master May 14, 2023
@odow odow deleted the od/new-forward-pass branch May 14, 2023 02:36
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

Successfully merging this pull request may close these issues.

[Research idea] ForwardPass plugins
2 participants