-
Notifications
You must be signed in to change notification settings - Fork 35
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
RE Optimization w/ Dynamic Surrogates #172
RE Optimization w/ Dynamic Surrogates #172
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #172 +/- ##
==========================================
+ Coverage 89.69% 89.76% +0.07%
==========================================
Files 67 74 +7
Lines 8303 8854 +551
==========================================
+ Hits 7447 7948 +501
- Misses 856 906 +50
☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a few minor comments.
There seems to be a bit of duplicated code in this PR, but I guess its not a huge concern.
dispatches/case_studies/renewables_case/RE_surrogate_optimization_steadystate.py
Outdated
Show resolved
Hide resolved
dispatches/case_studies/renewables_case/RE_surrogate_optimization_steadystate.py
Show resolved
Hide resolved
There's still the issue of loading Keras serialized models that causes one of the tests to fail on Windows. We can look into this (possibly through |
@lbianchi-lbl will try to see if |
@dguittet just want to confirm this is the problem that affects model loading on Windows: After checking out this PR's head branch and installing in a fresh Conda environment, I ran the following: (test-dispatches-172)
lbian@DESKTOP-BMTV081 MINGW64 ~/proj/dispatches/dispatches (re_surrogate_opt)
$ python -c 'from dispatches.case_studies.renewables_case.RE_surrogate_optimization_steadystate import *; load_surrogate_model(re_nn_dir)' And this is what I get:
Running the same command on Linux seems to be working just fine. |
|
My tensorflow version is 2.9.1. |
Yesterday I changed the Keras models to those that @Xinhe-Chen retrained using Tensorflow 2.10, and pinned that version in
|
Finally merging this after re-training the model (@Xinhe-Chen) and figuring out the root cause of the remaining Windows error (@dguittet), which was fixed by marking those files as binary with |
Addresses issue:
Wind + PEM Hybrid Optimization for December Milestone
Requires IDAES branch for grid integration changes: IDAES/idaes-pse#1019
Files for running conceptual design w/ dynamic surrogates:
dispatches.case_studies.renewables_case/RE_surrogate_optimization.py
dispatches.case_studies.renewables_case/SurrogateDesignResults.ipynb
: shows cost curve, and optimal size surfaces of surrogate model vs prescient sweep; upcoming analysis on comparison with double loop revenue resultsFiles for running Double Loop with parameterized bid curve:
workflow.parametrized_bidder.py
: class interface for a bidder, implementation of a DataFrame-based PerfectForecasterdispatches.case_studies.renewables_case.PEM_parametrized_bidder.py
: implementation of bidder using Wind + PEM bid structure from Prescient sweepsdispatches.case_studies.renewables_case/wind_PEM_double_loop.py
: implementation of a grid-integration wrapper for the Wind + PEM flowsheet modeldispatches.case_studies.renewables_case/run_double_loop_PEM.py
: script to run the double loopSummary:
Wind size is fixed to the original plant size (847 MW for 303_WIND_1) since the parameter sweep didn't vary the wind plant size
Optimal design:
Wind capacity = 847.0 MW
PEM capacity = 247.70494311964453MW
Plant bid = $29.711626518965524
Plant Revenue Annual = $24927.081507569157
Plant NPV = $-1252263849.6855943
TODO
2.122.10 (@Xinhe-Chen)Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution: