Model

The production-cost model is formulated as an optimization problem. The solution to this optimization problem tells us how to match supply and demand across the network and allows us to determine the marginal cost of production, a.k.a. the price of electricity.

All optimization problems can be broken down into 3 parts:

  1. Objective function - the value the model optimizes.
  2. Decision variables - the 'levers' that can be pulled to find the objective function's optimal value.
  3. Constraints - restrictions on the values that decision variables can take.

In the case of the production-cost model, the objective is to minimize the total cost of running the system. The decision variables are how each plant generates at a given time. And the constraints correspond to the physical and economic limitations of the electrical infrastructure.

Objective function

In the context of least-cost dispatch, the objective function is the system's total cost. To calculate total system cost, we multiply the short-run marginal cost of production [USD/MWh] by the volume a generator is dispatched [MWh], and sum for all time steps.

Visually, this amounts to finding the area under the supply stack used to meet the demand for each time step (or 'producer costs' in economics parlance) and summing for each time.

While the above explains the core principle behind our objective function, there are some additional components to be included in total system cost

  • Ancillary service procurement costs - Similar to calculating the total cost of production for meeting demand for electricity, the objective function includes the total cost of procuring ancillary services. This is calculated as the cost of delivery multiplied by the delivered quantity, summed over all time. Since the objective function considers the cost of both energy and ancillary services, their procurement is co-optimized. Ancillary Service prices are determined by the Ancillary Services Model. This co-optimization of ancillary services and energy reflects the market mechanisms we would expect to see as the result of real-time co-optimization.
  • Loss of load costs - A common idea in optimization problems is the introduction of 'slack variables,' or in the context of energy system modeling, a 'generator of last resort.' In the event of loss of load within the model, the objective function reflects a penalty of $5,000/MWh (the price cap) for each MWh of unmet demand.

Decision variables

In the context of least-cost dispatch, the decision variables are the amount of energy supplied by each generation unit to meet total system demand at each point in time at the lowest cost.

Constraints

In the context of least-cost dispatch, these constraints represent the real-world physical and economic limitations of power infrastructure. The key constraint within the model is the 'market clearing' constraint, which ensures that supply and demand are always balanced at each location. Other important constraints include limiting the quantity of energy each plant can generate based on Generation capacity, Technologies' technical characteristics, Outages, and the Load factors of renewable generation.

Power prices

In electricity markets, the price of electricity is defined as the 'cost of the marginal MWh'; that is, if I were to increase demand by 1 MWh, how much would it cost? This is a common concept in microeconomics and optimization problems and is ofter referred to as the 'shadow value of a constraint'.

Specifically, the 'shadow value of a constraint' reflects the change in the value of an objective function when a constraint is relaxed by a single unit. Translating this to our model, the power price is defined as the shadow price of the market clearing constraint for energy; to calculate the price of electricity, we examine the change in the system's total cost when demand for electricity (at a given location) is increased by 1 MWh.