-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Labels
dispatchrelated to dispatch and controlrelated to dispatch and control
Description
Separate out the Pyomo heuristic and optimization methods during the setup
- We need to define dispatch rules, even though the optimization method only uses a Pyomo class structure
- The dispatch rules are needed due to the structure of
PyomoControllerBaseClass. The code will not run if they are not defined - We can't use the
min_operating_costkeys because those are classes and do not work with the OpenMDAO structure inPyomoControllerBaseClass - We are currently using the heuristic versions just for the
tech_config.yaml, and using the optimization classes internally to the dispatch.
The following definition gives the heuristic version for the battery technology definition, but because the control strategy is set to OptimizedDispatchController, it will initialize using PyomoRuleStorageBaseclass in the setup, then use PyomoRuleStorageMinOperatingCosts in the OptimizedDispatchController class.
battery:
dispatch_rule_set:
model: "PyomoRuleStorageBaseclass"
control_strategy:
model: "OptimizedDispatchController"
performance_model:
model: "PySAMBatteryPerformanceModel"
cost_model:
model: "ATBBatteryCostModel"How to reproduce
Relevant output
System Information
- OS: <macOS 12.4>
- Python version: <3.11.4>
- H2Integrate version: <0.1.1>
- <Installed from source using an editable installation with developer tools:
pip install -e .[develop]> - Commit hash:
- <Installed from source using an editable installation with developer tools:
Relevant library versions
| Package | Version |
|---|---|
| hopp | <3.1.1> |
| numpy | <1.26.4> |
| Pyomo | <6.8.0> |
| scipy | <1.14.1> |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
dispatchrelated to dispatch and controlrelated to dispatch and control