Mathematical programming with equilibrium constraints: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
Line 2: Line 2:


==Introduction==
==Introduction==
A Mathematical Program with Equilibrium Constraint (MPEC) are special class of constrained optimization problems inside of nonlinear programming (NLP) [1]. These are constrained optimization problems where the constraints include equilibrium constraints like variational inequalities or complementary conditions. MPECs have applications in fields of engineering design, economic equilibrium, high level games, and modeling of transportation [2]. The feasible set of MPEC violates most of the standard constraint qualifications and are difficult to solve due to the feasible region not necessarily being convex or connected [1]. It is necessary to consider suitable optimality conditions for solving these optimization problems. Throughout this article, the theory and methodology behind MPEC will be discussed and an example will be given as well discussion on the applications pertaining to MPEC will occur.  
A Mathematical Program with Equilibrium Constraint (MPEC) are special class of constrained optimization problems inside of nonlinear programming (NLP) <ref name=":0">Joshi, B.C. Some Results on Mathematical Programs with Equilibrium Constraints. ''Oper. Res. Forum'' 2, 53 (2021). <nowiki>https://doi.org/10.1007/s43069-021-00061-4</nowiki></ref>. These are constrained optimization problems where the constraints include equilibrium constraints like variational inequalities or complementary conditions. MPECs have applications in fields of engineering design, economic equilibrium, high level games, and modeling of transportation <ref name=":1">M. Ferris, S. Dirkse, and A. Meeraus. Mathematical Programs with Equilibrium Constraints: Automatic Reformulation and Solution via Constrained Optimization. Northwestern University,  Evanston, Illinois, July 2002.</ref>. The feasible set of MPEC violates most of the standard constraint qualifications and are difficult to solve due to the feasible region not necessarily being convex or connected <ref name=":0" />. It is necessary to consider suitable optimality conditions for solving these optimization problems. Throughout this article, the theory and methodology behind MPEC will be discussed and an example will be given as well discussion on the applications pertaining to MPEC will occur.  


==Theory/Methodology/Algorithms==
==Theory/Methodology/Algorithms==
Line 25: Line 25:
<math>y \in S(x)</math>
<math>y \in S(x)</math>


represents the equilibrium constraints. The MPEC optimization problem becomes useful when these equilibrium constraints represent engineering or economic equilibrium states that can be modeled here as variational inequalities [3].  
represents the equilibrium constraints. The MPEC optimization problem becomes useful when these equilibrium constraints represent engineering or economic equilibrium states that can be modeled here as variational inequalities <ref name=":2">Z.-Q. Luo, J.-S. Pang, and D. Ralph, Mathematical Programs with Equilibrium Constraints. Cambridge: Cambridge University Press, 1996. <nowiki>https://www-cambridge-org.proxy.library.cornell.edu/core/books/mathematical-programs-with-equilibrium-constraints/03981C32ABDD55A4001BF58BA0C57444</nowiki></ref>.  


=== Targeted Approaches ===
=== Targeted Approaches ===
Three different types of algorithmic approaches can be used to solve MPEC. These are the penalty interior point approach (PIPA), the implicit programming approach, and the piecewise sequential quadratic programming (SQP) approach [3].
Three different types of algorithmic approaches can be used to solve MPEC. These are the penalty interior point approach (PIPA), the implicit programming approach, and the piecewise sequential quadratic programming (SQP) approach <ref name=":2" />.


==== PIPA ====
==== PIPA ====
Line 59: Line 59:
<u>Step 2:</u> Calculate the step size.
<u>Step 2:</u> Calculate the step size.


<u>Step 3:</u> Compute the termination check to see if the optimal solution has been reached. If the optimal solution has not been reached, repeat steps 1-3 for v = v + 1 [3].
<u>Step 3:</u> Compute the termination check to see if the optimal solution has been reached. If the optimal solution has not been reached, repeat steps 1-3 for v = v + 1 <ref name=":2" />.


A basic termination condition is:
A basic termination condition is:
Line 76: Line 76:
<u>Step 0:</u> Initialize scalars and the initial iterate.
<u>Step 0:</u> Initialize scalars and the initial iterate.


<u>Step 1:</u> Solve the defined subproblem to obtain the solution dx<sup>v</sup> if dx<sup>v</sup> = 0, the optimal solution has been found and (x<sup>v</sup>, y<sup>v</sup>) is a stationary point. If not, determine the step size and repeat until the optimal solution has been found [3].
<u>Step 1:</u> Solve the defined subproblem to obtain the solution dx<sup>v</sup> if dx<sup>v</sup> = 0, the optimal solution has been found and (x<sup>v</sup>, y<sup>v</sup>) is a stationary point. If not, determine the step size and repeat until the optimal solution has been found <ref name=":2" />.


==== Piecewise SQP ====
==== Piecewise SQP ====
Line 94: Line 94:
[[File:SQP Subproblem.png|thumb|357x357px|alt=|none]]
[[File:SQP Subproblem.png|thumb|357x357px|alt=|none]]


<u>Step 2:</u> Set x<sup>v+1</sup> <math>\equiv</math> x<sup>v</sup> + dx<sup>v</sup> and check for termination. If check fails, repeat steps 1 and 2 with v = v + 1 [3].
<u>Step 2:</u> Set x<sup>v+1</sup> <math>\equiv</math> x<sup>v</sup> + dx<sup>v</sup> and check for termination. If check fails, repeat steps 1 and 2 with v = v + 1 <ref name=":2" />.
=== General Approaches ===
=== General Approaches ===
Note that the above approaches do not cover all formulations of MPEC problems. Aside from these formulations, one of the main approaches for the solution of optimization problems with constraints is a reformulation of the problem as a standard nonlinear program which allows the solution to use existing non-linear programming algorithms. There have been three advances in the past two decades which have increased the capability of a modeler to solve large scale complementarity problems. First was the implementation of large-scale complementarity solvers which utilize advance methods in linear algebra and nonlinear optimization. Some of these solvers are MILES, PATH and SMOOTH. The second advancement is the start of modeling systems that are able to express complementarity problems as part of their syntax and pass the model to the solver. The third advancement was the interactions in which the first two develop. A modeler is able to generate realistic large-scale models which allow the solvers to be tested on large and more difficult class of models. By solving larger and complex programming problems with additional constraints, this furthers the development of new applied economic models [2].  
Note that the above approaches do not cover all formulations of MPEC problems. Aside from these formulations, one of the main approaches for the solution of optimization problems with constraints is a reformulation of the problem as a standard nonlinear program which allows the solution to use existing non-linear programming algorithms. There have been three advances in the past two decades which have increased the capability of a modeler to solve large scale complementarity problems. First was the implementation of large-scale complementarity solvers which utilize advance methods in linear algebra and nonlinear optimization. Some of these solvers are MILES, PATH and SMOOTH. The second advancement is the start of modeling systems that are able to express complementarity problems as part of their syntax and pass the model to the solver. The third advancement was the interactions in which the first two develop. A modeler is able to generate realistic large-scale models which allow the solvers to be tested on large and more difficult class of models. By solving larger and complex programming problems with additional constraints, this furthers the development of new applied economic models <ref name=":1" />.  


==At least one numerical example==
==At least one numerical example==
Line 104: Line 104:


=== Energy Pricing ===
=== Energy Pricing ===
One type of problem solved using MPEC is finding market equilibrium in the energy sector. If we assume that there is only one strategic player in an energy market (leader) and there are several smaller fringe firms we can setup an MPEC with the constraints bounded by a fixed demand in the network and firms focused on maximizing profits. In this case the top level of the problem is solved with the market leader, and the lower-level equilibrium problem is made up of the competitive fringe firms where an independent system operator (ISO) is making decisions on the quantities produced by each fringe firm. This lower level problem is used as a starting point for the equilibrium constraints of the MPEC. This technique is shown to solve a fifteen-node network representative of the Western European power grid.[4]
One type of problem solved using MPEC is finding market equilibrium in the energy sector. If we assume that there is only one strategic player in an energy market (leader) and there are several smaller fringe firms we can setup an MPEC with the constraints bounded by a fixed demand in the network and firms focused on maximizing profits. In this case the top level of the problem is solved with the market leader, and the lower-level equilibrium problem is made up of the competitive fringe firms where an independent system operator (ISO) is making decisions on the quantities produced by each fringe firm. This lower level problem is used as a starting point for the equilibrium constraints of the MPEC. This technique is shown to solve a fifteen-node network representative of the Western European power grid <ref>S. A. Gabriel and F. U. Leuthold, “Solving discretely-constrained MPEC problems with applications in electric power markets,” ''Energy Economics'', vol. 32, no. 1, pp. 3–14, 2010. <nowiki>https://doi.org/10.1016/j.eneco.2009.03.008</nowiki></ref>.


A similar model is presented for the United States power grid by Hobbs, Metzler, and Pang [5]. The single-firm model consists of a dominant firm that interprets competitor firms’ bids and seeks to maximize its own profits. An MPEC is utilized with a penalty interior point algorithm to iterate through the single-firm problem to determine the optimum profit of the system, and ensure it is a global solution.
A similar model is presented for the United States power grid by Hobbs, Metzler, and Pang <ref>B. F. Hobbs, C. B. Metzler and J. -. Pang, "Strategic gaming analysis for electric power systems: an MPEC approach," in ''IEEE Transactions on Power Systems'', vol. 15, no. 2, pp. 638-645, May 2000, doi: 10.1109/59.867153.</ref>. The single-firm model consists of a dominant firm that interprets competitor firms’ bids and seeks to maximize its own profits. An MPEC is utilized with a penalty interior point algorithm to iterate through the single-firm problem to determine the optimum profit of the system, and ensure it is a global solution.


=== Transportation Tolls ===
=== Transportation Tolls ===
MPEC problems are also used to solve pricing for highway tolls in a given area. Congestion on highways is one of the leading causes of accidents which has led to safety researchers to investigate ways to reduce traffic flow in certain areas. These problems are set up in a way that the different roadways between nodes are evaluated for demand and whether tolls can be placed on the road. This type of setup is considered a second-best toll pricing problem, which can be represented as a MPEC formulation of a bi-level optimization problem. [6]
MPEC problems are also used to solve pricing for highway tolls in a given area. Congestion on highways is one of the leading causes of accidents which has led to safety researchers to investigate ways to reduce traffic flow in certain areas. These problems are set up in a way that the different roadways between nodes are evaluated for demand and whether tolls can be placed on the road. This type of setup is considered a second-best toll pricing problem, which can be represented as a MPEC formulation of a bi-level optimization problem <ref>Lawphongpanich, S., Hearn, D. An MPEC approach to second-best toll pricing. ''Math. Program., Ser. A'' 101''',''' 33–55 (2004). <nowiki>https://doi.org/10.1007/s10107-004-0536-5</nowiki></ref>.


==Conclusions==
==Conclusions==
Line 115: Line 115:


==References==
==References==
[1] Joshi, B.C. Some Results on Mathematical Programs with Equilibrium Constraints. ''Oper. Res. Forum'' 2, 53 (2021). <nowiki>https://doi.org/10.1007/s43069-021-00061-4</nowiki>
<references />
 
[2] M. Ferris, S. Dirkse, and A. Meeraus. Mathematical Programs with Equilibrium Constraints: Automatic Reformulation and Solution via Constrained Optimization. Northwestern University,  Evanston, Illinois, July 2002.
 
[3] Z.-Q. Luo, J.-S. Pang, and D. Ralph, Mathematical Programs with Equilibrium Constraints. Cambridge: Cambridge University Press, 1996. <nowiki>https://www-cambridge-org.proxy.library.cornell.edu/core/books/mathematical-programs-with-equilibrium-constraints/03981C32ABDD55A4001BF58BA0C57444</nowiki>
 
[4] S. A. Gabriel and F. U. Leuthold, “Solving discretely-constrained MPEC problems with applications in electric power markets,” ''Energy Economics'', vol. 32, no. 1, pp. 3–14, 2010. <nowiki>https://doi.org/10.1016/j.eneco.2009.03.008</nowiki>
 
[5] B. F. Hobbs, C. B. Metzler and J. -. Pang, "Strategic gaming analysis for electric power systems: an MPEC approach," in ''IEEE Transactions on Power Systems'', vol. 15, no. 2, pp. 638-645, May 2000, doi: 10.1109/59.867153.
 
[6] Lawphongpanich, S., Hearn, D. An MPEC approach to second-best toll pricing. ''Math. Program., Ser. A'' 101''',''' 33–55 (2004). <nowiki>https://doi.org/10.1007/s10107-004-0536-5</nowiki>

Revision as of 18:35, 27 November 2021

Authors: Andrew Amerman, Hannah Levy, Juan Henriquez, Matthew Baccaro, and Taha Shamshudin (SYSEN 5800 Fall 2021)

Introduction

A Mathematical Program with Equilibrium Constraint (MPEC) are special class of constrained optimization problems inside of nonlinear programming (NLP) [1]. These are constrained optimization problems where the constraints include equilibrium constraints like variational inequalities or complementary conditions. MPECs have applications in fields of engineering design, economic equilibrium, high level games, and modeling of transportation [2]. The feasible set of MPEC violates most of the standard constraint qualifications and are difficult to solve due to the feasible region not necessarily being convex or connected [1]. It is necessary to consider suitable optimality conditions for solving these optimization problems. Throughout this article, the theory and methodology behind MPEC will be discussed and an example will be given as well discussion on the applications pertaining to MPEC will occur.

Theory/Methodology/Algorithms

Definition

The MPEC problem is defined as a nonlinear programming optimization problem which includes variables of the sets  and   where there are one or more parametric variational inequality constraints for primary variables y and parameter vector x [3].

The standard form for MPEC problems is:

where for all

F refers to the equilibrium function of the inner problem.

Note that the above definition defines a nonlinear programming problem. The constraint:

represents the equilibrium constraints. The MPEC optimization problem becomes useful when these equilibrium constraints represent engineering or economic equilibrium states that can be modeled here as variational inequalities [3].

Targeted Approaches

Three different types of algorithmic approaches can be used to solve MPEC. These are the penalty interior point approach (PIPA), the implicit programming approach, and the piecewise sequential quadratic programming (SQP) approach [3].

PIPA

The PIPA approach considers an MPEC optimization problem with parametric complementary constraints as follows:

(y,w) 0, wTy = 0

And defines the following optimality constraint:

Given:

u* (x*, y*, w*, z*) F

u* is a stationary point if and only if:

du T(u*; F)

The following algorithm is employed:

Step 0: Initialize scalars and the initial iterate.

Step 1: Solve the quadratic programming subproblem at v such that (dxv,dyv,dwv,dzv) is the unique solution. Set penalty parameter αv using the selected penalty update rule.

Step 2: Calculate the step size.

Step 3: Compute the termination check to see if the optimal solution has been reached. If the optimal solution has not been reached, repeat steps 1-3 for v = v + 1 [3].

A basic termination condition is:

||dxv,dyv,dwv,dzv|| tolerance

Implicit Descent

The implicit descent approach solves MPEC problems of the form:

The following subproblem can be defined:

Where Qv is a symmetric positive definite matrix.

The following method can be used to solve this formulation:

Step 0: Initialize scalars and the initial iterate.

Step 1: Solve the defined subproblem to obtain the solution dxv if dxv = 0, the optimal solution has been found and (xv, yv) is a stationary point. If not, determine the step size and repeat until the optimal solution has been found [3].

Piecewise SQP

The piecewise SQP approach solves MPEC problems of the form:

,

,

The following Netwon-type method is employed:

Step 0: Initialize , ,

Step 1: Let (dxv, ) be a KKT pair for:

Step 2: Set xv+1 xv + dxv and check for termination. If check fails, repeat steps 1 and 2 with v = v + 1 [3].

General Approaches

Note that the above approaches do not cover all formulations of MPEC problems. Aside from these formulations, one of the main approaches for the solution of optimization problems with constraints is a reformulation of the problem as a standard nonlinear program which allows the solution to use existing non-linear programming algorithms. There have been three advances in the past two decades which have increased the capability of a modeler to solve large scale complementarity problems. First was the implementation of large-scale complementarity solvers which utilize advance methods in linear algebra and nonlinear optimization. Some of these solvers are MILES, PATH and SMOOTH. The second advancement is the start of modeling systems that are able to express complementarity problems as part of their syntax and pass the model to the solver. The third advancement was the interactions in which the first two develop. A modeler is able to generate realistic large-scale models which allow the solvers to be tested on large and more difficult class of models. By solving larger and complex programming problems with additional constraints, this furthers the development of new applied economic models [2].

At least one numerical example

encouraged to have more than one

Applications

MPEC can be found in a variety of real world applications such as: power management, highway pricing, chemical process engineering, and traffic planning. One of the common two-level problems solved through MPEC is a single-leader Stackelberg game. This model is defined by a leader firm which moves first in the market, then other firms follow. Two of the most common fields this theory is applied to is energy pricing and transportation tolls.

Energy Pricing

One type of problem solved using MPEC is finding market equilibrium in the energy sector. If we assume that there is only one strategic player in an energy market (leader) and there are several smaller fringe firms we can setup an MPEC with the constraints bounded by a fixed demand in the network and firms focused on maximizing profits. In this case the top level of the problem is solved with the market leader, and the lower-level equilibrium problem is made up of the competitive fringe firms where an independent system operator (ISO) is making decisions on the quantities produced by each fringe firm. This lower level problem is used as a starting point for the equilibrium constraints of the MPEC. This technique is shown to solve a fifteen-node network representative of the Western European power grid [4].

A similar model is presented for the United States power grid by Hobbs, Metzler, and Pang [5]. The single-firm model consists of a dominant firm that interprets competitor firms’ bids and seeks to maximize its own profits. An MPEC is utilized with a penalty interior point algorithm to iterate through the single-firm problem to determine the optimum profit of the system, and ensure it is a global solution.

Transportation Tolls

MPEC problems are also used to solve pricing for highway tolls in a given area. Congestion on highways is one of the leading causes of accidents which has led to safety researchers to investigate ways to reduce traffic flow in certain areas. These problems are set up in a way that the different roadways between nodes are evaluated for demand and whether tolls can be placed on the road. This type of setup is considered a second-best toll pricing problem, which can be represented as a MPEC formulation of a bi-level optimization problem [6].

Conclusions

MPEC optimization problems are complex constrained optimization problems commonly used to approach feasible sets that are not convex or connected. The problems are generally approached three different way: PIPA, implicit descent, and piecewise SQP which provides for a technique to solve a MPEC of a variety of forms. With the ability to solve complex bi-level optimization problems, MPEC are commonly applied to transportation problems along with Stackelberg leadership game scenarios to find the optimal solution.

References

  1. 1.0 1.1 Joshi, B.C. Some Results on Mathematical Programs with Equilibrium Constraints. Oper. Res. Forum 2, 53 (2021). https://doi.org/10.1007/s43069-021-00061-4
  2. 2.0 2.1 M. Ferris, S. Dirkse, and A. Meeraus. Mathematical Programs with Equilibrium Constraints: Automatic Reformulation and Solution via Constrained Optimization. Northwestern University, Evanston, Illinois, July 2002.
  3. 3.0 3.1 3.2 3.3 3.4 Z.-Q. Luo, J.-S. Pang, and D. Ralph, Mathematical Programs with Equilibrium Constraints. Cambridge: Cambridge University Press, 1996. https://www-cambridge-org.proxy.library.cornell.edu/core/books/mathematical-programs-with-equilibrium-constraints/03981C32ABDD55A4001BF58BA0C57444
  4. S. A. Gabriel and F. U. Leuthold, “Solving discretely-constrained MPEC problems with applications in electric power markets,” Energy Economics, vol. 32, no. 1, pp. 3–14, 2010. https://doi.org/10.1016/j.eneco.2009.03.008
  5. B. F. Hobbs, C. B. Metzler and J. -. Pang, "Strategic gaming analysis for electric power systems: an MPEC approach," in IEEE Transactions on Power Systems, vol. 15, no. 2, pp. 638-645, May 2000, doi: 10.1109/59.867153.
  6. Lawphongpanich, S., Hearn, D. An MPEC approach to second-best toll pricing. Math. Program., Ser. A 101, 33–55 (2004). https://doi.org/10.1007/s10107-004-0536-5