Let the computer do the work II: equilibriums
While optimization models are frequently used for techno-economic scenario simulations and system assessments, equilibrium models are more common for analysing detailed economic market interaction and dynamics.
They are coded using the Mixed Complementarity Problem (MCP) format that formalizes the Karush–Kuhn–Tucker (KKT) structure we introduced in Week 3. The general formulation in case of maximization is:
The complementarity condition is often formulated as:
The interpretation is the same as we introduced in the basic design of equilibrium models: either is positive, then the derivative () has to hold with equality, or is zero and the derivative can be an inequality. This corresponds to the economic intuition behind the zero-profit and market clearing constraints. The advantage of the MCP formulation is that dual variables (ie, the Lagrangian multipliers, in other words the prices) are direct variables of the model.
All continuous optimization problems can be formulated as MCP. Depending on the solver capabilities, you may prefer to keep them as optimization models, especially in the case of Linear Programs (LPs). Adding integer variables to an MCP is not possible without further model tweaking which is not recommended without sufficient knowledge on modeling and its mathematical background.
Many equilibrium models follow a more aggregated top-down approach. Often, you will be forced to make a trade-off decision between including more technical details or focusing more on economic interactions. And this often also translates into a decision whether you will go for an optimization approach (in the former case) or an equilibrium setting (in the latter case).
Partial equilibrium models, focusing on single markets or sectors, are often used when strategic competition is important, like in our oligopoly example from last week. Large-scale numerical models aiming to represent the whole economy are designed as Computable General Equilibrium (CGE) approach. If you plan to dig deeper into coding CGE models, you maybe want to have look at GAMS-MPSGE.
Naturally this course cannot provide a complete overview on the mathematics of modeling. There are more complex model approaches, eg Mathematical Programs with Equilibrium Constraints (MPECs), and there are techniques to reformulate models to obtain solutions for otherwise unsolvable problems.
However, there are plenty of books out there on this topic. You may want to start with Dantzig and Thapa (1997) or Williams (2013) to get more familiar with optimizations, and Gabriel et al. (2013) for complementarity modeling in energy markets. An applied comparison between different optimization approaches is for example provided in Ommen et al. (2014).
Dantzig, G. B. & Thapa, M. N. (1997). Linear Programming 1: 1. Introduction (Vol. 1). Springer.
Williams, H. P. (2013). Model building in mathematical programming. John Wiley & Sons.
Gabriel, S. A. et al. (2012). Complementarity modeling in energy markets (Vol. 180). Springer Science & Business Media.
Ommen, T., Markussen, W. B., & Elmegaard, B. (2014). Comparison of linear, mixed integer and non-linear programming methods in energy system dispatch modelling. Energy, 74, pp. 109-118.
A helpful reference for the design of electricity system models is Van den Bergh et al. (2014) that provides a comprehensive overview on approaches to model specific technical constraints in electricity markets.
Van den Bergh, K. et al. (2013). A Mixed Integer Linear Formulation of the Unit Commitment Problem. KU Leuven Energy Institute Working papers.
© University of Basel