|
5 | 5 | **Dispatchable/Non-dispatchable generators**
|
6 | 6 | ===============================================
|
7 | 7 |
|
8 |
| -Loren ipsum |
| 8 | +**Overview** |
| 9 | + |
| 10 | +Electric power systems rely on a mix of generation technologies. Broadly, these fall into two categories: |
| 11 | + * Dispatchable generators: Facilities whose output can be adjusted up or down by the system operator (e.g., natural gas, coal), subject to physical limits (ramping limits, minimum up/down times). |
| 12 | + * Non‑dispatchable generators: Units that produce energy according to an exogenous resource profile (e.g., wind turbines, solar PV), with limited or no ability for the operator to increase output beyond what nature provides. |
| 13 | + |
| 14 | +**Dispatchable generators** |
| 15 | + |
| 16 | +We model the operation of dispatchable generators using three variables: |
| 17 | + |
| 18 | + * Dispatch variable :math:`p_{g,t}`: Power output of generator :math:`g` at time :math:`t`. More specifically, it is split into "above-min" generation :math:`p'_{g,t}` and "at-min" generation :math:`\underline{P}_g` |
| 19 | + * Commitment variable :math:`u_{g,t} \in \{0,1\}`: Binary indicator if :math:`g` is online. |
| 20 | + * Starting/Shutdown variable :math:`v_{g,t}, w_{g,t} \in \{0,1\}`: Binary indicator if :math:`g` is starting up or shutting down at time :math:`t`. |
| 21 | + |
| 22 | +Each dispatchable generator is subject to constraints: |
| 23 | + |
| 24 | + * Capacity: The capacity is constrainted by the minimum and maximum capacity. |
| 25 | + :math:`\underline{P}_g \times u_{g,t} \le P'_{g,t} + \underline{P}_g \le \bar{P}_g \times u_{g,t}` |
| 26 | + |
| 27 | + * Ramping limit: The change in power output from :math:`t` to :math:`t+1` cannot be over the ramping limit. |
| 28 | + * Minimum up/down time: Once started or stopped, the unit remains in that state for the specified duration. |
| 29 | + * Must take: If the unit has to be included in the generation profile. |
| 30 | + |
| 31 | +We then minimize the cost of generation, for which the cost of individual dispatchable generator is given by: |
| 32 | + |
| 33 | + * Fixed cost: Fixed cost is a function of rated capacity and fixed cost per unit. |
| 34 | + :math:`c_{g,t}^{fixed} = \bar{P}_g \times {fixed\_cost\_per\_unit}_g \times u_{g,t}` |
| 35 | + |
| 36 | + * Variable cost: Variable cost is a function of fuel cost, heat rate, and operating cost. |
| 37 | + :math:`c_{g,t}^{var} = (({fuel\_price}_g \times {heat\_rate}_g) + {opex}_g) \times p_{g,t}` |
| 38 | + |
| 39 | + * Startup cost: Startup cost is a function of rated capacity and startup cost per unit. |
| 40 | + :math:`c_{g,t}^{start} = P_g^{max} \times {startup\_cost}_g \times v_{g,t}` |
| 41 | + |
| 42 | + * Curtailment cost: Curtailing "must-take" thermal output is priced as the same variable rate. |
| 43 | + :math:`c_{g,t}^{curt} = (({fuel\_price}_g \times {heat\_rate}_g) + {opex}_g) \times p^curt_{g,t}` |
| 44 | + |
| 45 | +**Non-dispatchable generators** |
| 46 | + |
| 47 | +For non-dispatchable generators, the model's decision is to dispatch, curtail, or store the renewable energy produced. We therefore have: |
| 48 | + |
| 49 | + * Dispatched :math:`pdispatch_{g,t}` |
| 50 | + * Curtailed :math:`pcurtail_{g,t}` |
| 51 | + * Charged :math:`pcharge_{g,t}` |
| 52 | + |
| 53 | +Non-dispatchable generators are subject to constraints: |
| 54 | + |
| 55 | + * Available capacity: |
| 56 | + :math:`pdispatch_{g,t} \le available\_capacity_{g,t}` |
| 57 | + * Energy balance: |
| 58 | + :math:`pdispatch_{g,t} + pcurtail_{g,t} + pcharge_{g,t} = available\_capacity_{g,t}` |
| 59 | + |
| 60 | +We assume non-dispatchable generators do not have a fixed or start-up cost, and we get the variable cost from the contract price: |
| 61 | + |
| 62 | + * Variable cost: |
| 63 | + :math:`c_{g,t}^{var} = {contract\_price}_g \times pdispatch_{g,t}` |
0 commit comments