Tracker#
Production Cost Models (PCM) computes the time-varying dispatch schedules for each resource using
simplified models. Emerging resources including IESs and industrial demand response
need to determine the optimal operations strategy to track their market dispatch
signal. The Tracker
formulates these decisions as a model predictive control
(MPC) problem. The figure below shows an example of the optimal tracking from an
integrated energy system which consists of a thermal generator and an energy storage.
The figure shows that to track the dispatch (load) the energy system can optimally
use power output from charging and discharging cycle.
Tracking Problem for Wind+PEM IES#
Here we present a tracking problem example for wind + PEM IES.
s.t.
Parameters
\(\hat{P}^{RT}_{t}\): Realized real-time dispatch level at hour t, MW.
\(\hat{P}_{wind}^{RT}\): Realized wind generation power at hour t, MW.
\(P_{max}^{PEM}\): PEM max capacity, MW.
\(C^{op}\): PEM operation cost coefficient, $/MW.
\(C_{fix}^{wind}\): Wind generator fixed cost coefficient, $/MW.
\(C_{fix}^{PEM}\): PEM fixed cost coefficient, $/MW.
\(C_{H}\): Electricity to hydrogen conversion rate, kg/MWh.
Variables
\(P_{t,0}\): IES power output to the grid at hour t in scenario 0, MW.
\(P_{t,0}^{PEM}\): Power delivered to PEM at hour t in scenario 0, MW.
\(P_{t,0}^{+}\): Power over-delivered by the IES to the grid at hour t in scenario 0, MW.
\(P_{t,0}^{-}\): Power under-delivered by the IES to the grid at hour t in scenario 0, MW.
\(m_{t,0}^{H}\): Hydrogen production mass at hour t in scenario 0, kg.
\(c_{t,0}\): IES operational cost at hour t in scenario 0, $.
- class idaes.apps.grid_integration.tracker.Tracker(tracking_model_object, tracking_horizon, n_tracking_hour, solver)[source]#
Wrap a model object to track the market dispatch signals. This class interfaces with the DoubleLoopCoordinator.
- formulate_tracking_problem()[source]#
Formulate the tracking optimization problem by adding necessary parameters, constraints, and objective function.
- Parameters:
None –
- Returns:
None
- get_last_delivered_power()[source]#
Returns the last delivered power output.
- Parameters:
None –
- Returns:
None
- record_results(**kwargs)[source]#
Record the operations stats for the model.
- Parameters:
kwargs – key word arguments that can be passed into tracking model object’s record result function.
- Returns:
None
- track_market_dispatch(market_dispatch, date, hour)[source]#
Solve the model to track the market dispatch signals. After solving, record the results from the solve and update the model.
- Parameters:
market_dispatch – a list that contains the market dispatch signals
date – current simulation date
hour – current simulation hour
- Returns:
None