Mathematical programming with equilibrium constraints: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
m (sources update)
m (update styling)
 
(33 intermediate revisions by 3 users not shown)
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) <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. Variational inequalities are inequalities that involve a function and must be solved for all possible values of a given variable <ref name=":1" />. 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" />. Constraint qualifications are assumptions of a feasible set of optimization problem. These qualifications confirm that the KKT conditions are true at any local minimum <ref name=":0" />. It is necessary to consider suitable optimality conditions, which are derived studying the behavior of the functions and their derivatives at that point, 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. [https://doi.org/10.1007/s43069-021-00061-4 Some Results on Mathematical Programs with Equilibrium Constraints]. ''Oper. Res. Forum'' 2, 53 (2021). </ref>. These are constrained optimization problems where the constraints include equilibrium constraints like variational inequalities or complementary conditions. Variational inequalities are inequalities that involve a function and must be solved for all possible values of a given variable <ref name=":1" />. 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. [https://faculty.wcas.northwestern.edu/~lchrist/Ferris_mathematical_programs2.pdf 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" />. Constraint qualifications are assumptions of a feasible set of optimization problem. These qualifications confirm that Karush–Kuhn–Tucker (KKT) conditions are true at any local minimum <ref name=":0" />. It is necessary to consider suitable optimality conditions, which are derived studying the behavior of the functions and their derivatives at that point, 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 19: Line 19:
where <math>(v-y)^T</math><math>F(x,y) \geq 0</math> for all <math>v \in C(x)</math>
where <math>(v-y)^T</math><math>F(x,y) \geq 0</math> for all <math>v \in C(x)</math>


F refers to the equilibrium function of the inner problem.
<math>F</math> refers to the equilibrium function of the inner problem.


Note that the above definition defines a nonlinear programming problem. The constraint:
Note that the above definition defines a nonlinear programming problem. The constraint:
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 <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>.  
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, [https://www-cambridge-org.proxy.library.cornell.edu/core/books/mathematical-programs-with-equilibrium-constraints/03981C32ABDD55A4001BF58BA0C57444 Mathematical Programs with Equilibrium Constraints]. Cambridge: Cambridge University Press, 1996. </ref>.  


Given vector x:   
Given vector x:   
Line 36: Line 36:


=== 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 <ref name=":2" />.
Four different types of algorithmic approaches can be used to solve MPEC. Of the 4 techniques, three of these specialized techniques include the penalty interior point approach (PIPA), the implicit programming approach, and the piecewise sequential quadratic programming (SQP) approach <ref name=":2" />. Additionally, some MPEC problems can be reformulated as a relaxed NLP which can then be solved using other NLP techniques. <ref name=":3">Nocedal, Jorge and Wright, Stephen J., [https://doi.org/10.1007/978-0-387-40065-5_12 “Theory of Constrained Optimization”], in ''Numerical Optimization'', New York, NY: Springer New York, 2006, bll 304–354.</ref>


==== PIPA ====
==== PIPA ====
The PIPA approach considers an MPEC optimization problem with parametric complementary constraints as follows:
The PIPA methodology has been applied to applications in finance, target classification, and electricity markets. This technique generates a sequence of iterates as shown below that are strictly within the bounds. The iterates are calculated by solving a quadratic direction-finding problem. PIPA combines aspects of interior-point and SQP methods.<ref>S. Leyffer, [http://dx.doi.org/10.1080/10556780500140078 “Penalty Interior-Point Method Fails to  Converge”], ''Optimization  Methods and Software'', vol 20,  11 2003.</ref>
 
This approach considers an MPEC optimization problem with parametric complementary constraints as follows:


<math>\min f(x,y,w,z)</math>
<math>\min f(x,y,w,z)</math>
Line 47: Line 49:
<math>F(x,y,w,z) = 0</math>
<math>F(x,y,w,z) = 0</math>


(y,w) <math>\geq</math> 0, w<sup>T</sup>y = 0
<math>(y, w) \geq 0, w^T y = 0</math>


And defines the following optimality constraint:
And defines the following optimality constraint:
Line 53: Line 55:
Given:
Given:


u* <math>\equiv</math> (x*, y*, w*, z*) <math>\in</math> F
<math>u^* = (x^*, y^*, w^*, z^*) \in F</math>


u<sup>*</sup> is a stationary point if and only if:
<math>u^*</math> is a stationary point if and only if:


du <math>\in</math> T(u*; F) <math>\Rightarrow</math> <math>\nabla f(u^*)^T</math><math>du \geq 0</math>
<math>du \in T(u^*;F) \Longrightarrow \bigtriangledown f(u^*)^T du \geq 0</math>


The following algorithm is employed:
The following algorithm is employed:
Line 63: Line 65:
<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 quadratic programming subproblem at v such that (dx<sup>v</sup>,dy<sup>v</sup>,dw<sup>v</sup>,dz<sup>v</sup>) is the unique solution. Set penalty parameter α<sub>v</sub> using the selected penalty update rule.
<u>Step 1:</u> Solve the quadratic programming subproblem at v such that <math>(dx^v, dy^v, dw^v, dz^v)</math> is the unique solution. Set penalty parameter α<sub>v</sub> using the selected penalty update rule.


<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 <ref name=":2" />.
<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 <math>v = v+1</math> <ref name=":2" />.


A basic termination condition is:
A basic termination condition is:


||dx<sup>v</sup>,dy<sup>v</sup>,dw<sup>v</sup>,dz<sup>v</sup>|| <math>\leq</math> tolerance
<math>\parallel dx^v, dy^v, dw^v, dz^v \parallel \leq tolerance</math>
 
==== Implicit Programming ====
The implicit programming approach is appropriate for use when complementarity constraints meet specific regularity conditions. This occurs when they are limited to solve the resulting nonsmooth problem in the variable x, as seen below<ref name=":1" />.
 
This approach solves MPEC problems of the form:
 
<math>min f(x,y)
 
</math>
 
<math>s.t.  (x,y)\in F \overset{\underset{\mathrm{def}}{}}{=} (X * R^m) \cap Gr(S)
</math>


==== Implicit Descent ====
The implicit descent approach solves MPEC problems of the form:
[[File:ImplicitDescent Definition.png|none|thumb]]
The following subproblem can be defined:
The following subproblem can be defined:
[[File:ImplicitSubproblem Definition.png|none|thumb|336x336px]]
 
<math>min (df_x^v)^T dx + (df_y^v)^T (y^v)' (x^v; dx) +0.5(dx)^T Q_v dx
</math>
 
<math>s.t.  x^v + dx \in X</math>
 
Where Q<sub>v</sub> is a symmetric positive definite matrix.
Where Q<sub>v</sub> is a symmetric positive definite matrix.


Line 84: Line 100:
<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 <ref name=":2" />.
<u>Step 1:</u> Solve the defined subproblem to obtain the solution <math>dx^v </math>if <math>dx^v = 0</math>, the optimal solution has been found and <math>(x^v, y^v) </math> 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 ====
The piecewise SQP approach solves MPEC problems of the form:
The Piecewise SQP technique is a numerical method for solving certain MPECs, based on the different sequential quadratic programming method for NLP problems. This can be applied to any MPEC whose lower-level problem is a mixed complementarity problem and indirectly to any MPEC where the lower-level problem is at the class of variational inequalities. <ref>D. Ralph, [https://doi.org/10.1007/0-306-48332-7_371 “Optimization with equilibrium constraints: A piece-wise SQP approachOptimization with Equilibrium Constraints: A Piecewise SQP Approach”], in ''Encyclopedia of Optimization'', C. A. Floudas en P. M. Pardalos, Reds Boston, MA: Springer US, 2001, bll 1897–1903.</ref>
 
This approach solves MPEC problems of the form:


<math>\min f(x)</math>
<math>\min f(x)</math>
Line 95: Line 113:
<math>g_i(x) \leq 0</math>, <math>i = l+1, ..., m+l</math>
<math>g_i(x) \leq 0</math>, <math>i = l+1, ..., m+l</math>


The following Netwon-type method is employed:
The following Newton-type method is employed:


<u>Step 0:</u> Initialize <math>x^0 \in R^n</math>, <math>\pi^0 \in R^{l+m}</math>, <math>v = 0</math>
<u>Step 0:</u> Initialize <math>x^0 \in R^n</math>, <math>\pi^0 \in R^{l+m}</math>, <math>v = 0</math>


<u>Step 1:</u> Let (dx<sup>v</sup>, <math>\pi^{v+1}</math>) be a KKT pair for:
<u>Step 1:</u> Let (<math>dx^v</math>, <math>\pi^{v+1}</math>) be a KKT pair for:
[[File:SQP Subproblem.png|thumb|357x357px|alt=|none]]
 
<math>min \bigtriangledown f(x^v)^T dx + 0.5 dx^T \bigtriangledown^2_{xx} L^{NLP}(v^v, \pi^v)dx</math>
 
<math>s.t. g_i (x^v) + \bigtriangledown g_i (x^v)^T dx = 0, i =1...,l</math>
 
<math>g_i (x^v) + \bigtriangledown g_i (x^v)^T dx \leq 0, i = l+1,...,l+m</math>
 
<u>Step 2:</u> Set <math>x^{v+1} = x^v + dx^v</math> and check for termination. If check fails, repeat steps 1 and 2 with <math>v = v+1</math><ref name=":2" />.
 
==== NLP Reformulation ====
NLP Reformulation technique is applicable to MPECs that fall into the same grouping as piecewise SQP. It is possible to generate positive slack variables on optimization function and constraints while setting the constraint equalities to zero. With this reformulation is it now possible to apply other NLP techniques to solving a MPEC such as the Karush- Kuhn-Tucker approach<ref>S. A. Sadat en L. Fan, “[https://doi.org/10.1109/PESGM.2017.8273875 Mixed integer linear programming formulation for chance constrained mathematical programs with equilibrium constraints]”, in ''2017 IEEE Power Energy Society General Meeting'', 2017, bll 1–5.</ref>. The general form of MPECs that can be reformulated is:
 
<math>\min f(x)</math>
 
<math>s.t.  g_i(x) = 0</math>, <math>i = 1, ..., l</math>
 
<math>g_i(x) \leq 0</math>, <math>i = l+1, ..., m+l</math>
 
From here, the KKT method is used to address this NLP problem and find the minimum of the optimization function. This process consists of 4 steps :
 
<u>Step 0:</u> Let <math>J = \{ j | g_j(x)= 0 \} </math> where <math>J </math> is an index of active inequalities.
 
<u>Step 1:</u>  Set <math>J = \emptyset, \mu_j = 0, j = 1, 2, ..., p.  </math>
 
<u>Step 2:</u> Formulate equations for linear dependence of gradients and constraint feasibility; solve for <math>x, \lambda_i, i = 1, 2, ..., m,</math> and <math>  \mu_j, j \in J</math>
 
<math>\bigtriangledown f(x) + \sum_{i=1}^m \lambda_i \cdot \bigtriangledown h_i (x) +  \sum_{j \in J} \mu_j \cdot \bigtriangledown g_j (x) = 0</math>
 
<math>h_i (x) = 0, i = 1, ... , m</math>
 
<math>g_j (x) = 0, j \in J</math>
 
<u>Step 3:</u> If <math>g_j (x) \leq 0</math> and <math>\mu_j \geq 0, j = 1, 2, ..., p. \Longrightarrow</math>STOP. Solution has been found.
 
<u>Step 4:</u> If any <math>g_j (x) > 0</math> and/or any <math>\mu_j < 0</math>, then:
 
# Drop the active constraint (ie. violates the condition above) with the largest magnitude.
# Add the violated constraints to <math>J </math> making them active.
# Return to <u>Step 2</u> <ref>You, F. Lecture on “Nonlinear Programming”. Archives for SYSEN 6800 Computational Optimization (2021FA), Cornell University, Ithaca, NY (2021).</ref>.


<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 <ref name=":1" />.  
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<ref>J. X. Ban, H. X. Liu, M. C. Ferris, en B. Ran, [https://doi.org/10.1016/j.mcm.2005.11.001 “A general MPCC model and its solution algorithm for continuous network design problem”], ''Mathematical and Computer Modelling'', vol 43, no 5, bll 493–505, 2006.</ref>. Some of these algorithms are mentioned here on this wiki including [[Quasi-Newton methods]] and [[Trust-region methods|trust-region method]]. 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" />.


==Numerical example==
==Numerical example==
Bilevel program considered by Dempe <ref name=":2" /><blockquote>minimize    <math>(x-3.5)^2+(z+4)^2 </math>    [[File:Image line1.png|left|frameless]]</blockquote>


The numerical example below contains a feasible region that is not necessarily convex or connected. The example also involves variational inequalities as shown by the two constraints. The methodology utilized below has the initial form as an NLP problem. Realistically, the initial problem would start as an MPEC and transform into an NLP.
Consider the following MPEC example by Savard and Gauvin <ref>[https://dl.acm.org/doi/10.1016/0167-6377%2894%2990086-8 Savard, G, and Gauvin, J, The Steepest Descent for the Nonlinear Bilevel Programming Problem. Operation Research Letters 15 (1994), 265-272.]</ref>
<math>\min x_1^2+(x_2-10)^2</math>
s.t. <math> -4x_1-8x_2-x_3+120\leq0 </math>
<math> x_1+x_2-20\leq0 </math>
<math> 0\leq x_1\leq15, x_2\geq0, x_3\geq0 </math>
Solving the MPEC by technique of identifying a KTT point:
<math>\min f(x)= x_1^2+(x_2-10)^2</math>
s.t. <math> g_1=-4x_1-8x_2-x_3+120\leq0 </math>
<math> g_2=x_1+x_2-20\leq0 </math>
<math> g_3=x_1-15\leq0
</math>
<math> g_4=-x_1\leq0 </math>
<math> g_5=-x_2\leq0 </math>
<math>g_6=-x_3\leq0</math>
<math>\nabla f=\begin{bmatrix} 2x_1 \\\ 2x_2-20 \\0\end{bmatrix}</math>, <math>\nabla g_1=\begin{bmatrix} -4 \\\ -8 \\-1\end{bmatrix}</math>, <math>\nabla g_2=\begin{bmatrix} 1 \\\ 1 \\0\end{bmatrix}</math>,<math>\nabla g_3=\begin{bmatrix} 1 \\\ 0 \\0\end{bmatrix}</math>, <math>\nabla g_4=\begin{bmatrix} -1 \\\ 0 \\0\end{bmatrix}</math>, <math>\nabla g_5=\begin{bmatrix} 0 \\\ -1\\0\end{bmatrix}</math>, <math>\nabla g_6=\begin{bmatrix} 0 \\\ 0 \\-1\end{bmatrix}</math>
Iteration 1: <math>J=\phi, \mu_1=\mu_2=\mu_3=\mu_4=\mu_5=\mu_6=0</math>
With <math>\nabla f=0</math>, <math>x_1=0, x_2=10,x_3=0</math>
Point (0,10,0) violates <math>g_1</math>
Set <math>J=\{1\},</math> make <math>g_1</math> active:
<math> g_1=-4x_1-8x_2-x_3+120=0 </math>
Solving the following system of equations:
<math>\nabla f(x)+\mu_1\cdot\nabla g_1(x)=0</math>
<math>g_1(x)=0</math>
<math>\begin{bmatrix} 2x_1 \\\ 2x_2-20 \\0\end{bmatrix}+\mu_1\cdot\begin{bmatrix} -4 \\\ -8 \\-1\end{bmatrix}=\begin{bmatrix} 0 \\\ 0 \\0\end{bmatrix}</math>


We write the second-level optimization problem in terms of KKT conditions, and obtain a mixed NCP constrained MP:<blockquote>minimize    <math>(x-3.5)^2+(z+4)^2 </math>
<math>x_1=2, x_2=14, \mu_1=1,x_3=0</math>


subject to    <math>z-3+2zw=0, </math>
Point (2,14,0) satisfies  <math>g_2,g_3,g_4,g_5,g_6<0,  </math>so <math>\mu_2=\mu_3=\mu_4=\mu_5=\mu_6=0</math>


<math>z^2-x+y=0,</math>
KKT point lies at <math>x_1=2,x_2=14,x_3=0</math>


<math>yw=0,    y\geq,  w\geq0. </math></blockquote>using initial values for (x, y, w, z) to be (1, 1, 1, 1) and using the GAMS MPEC solver <ref>“MPEC World,” ''MPEC World Home Page''. [Online]. Available: <nowiki>http://www.gamsworld.org/mpec/index.htm</nowiki>. [Accessed: 28-Nov-2021].</ref> we modified the following instructions and solved for it.
The following numerical example was also solved with GAMS using an MPEC solver to verify solution accuracy<ref>[http://www.gamsworld.org/mpec/mpeclib/gauvin.htm ''Gauvin.gms'', http://www.gamsworld.org/mpec/mpeclib/gauvin.htm.]</ref>
Variables  objvar,x2,x3,x4,x5;
Positive Variables x5;
Equations  e1,e2,e3,e4;
e1.. - (POWER(x2 - 3.5,2) + POWER(4 + x3,2)) + objvar =E= 0;
e2.. 2*x3*x4 +x3 =E= 3;
e3.. x4 =G= 0;
e4.. - x3*x3 + x2 - x5 =E= 0;
<nowiki>*</nowiki> set non default bounds
<nowiki>*</nowiki> set non default levels
x2.l = 1;
x3.l = 1;
x4.l = 1;
x5.l = 1;
<nowiki>*</nowiki> set non default marginals
Model m / e1,e2.x3,e3.x5,e4.x4/;
m.limrow=0; m.limcol=0;
$if NOT '%gams.u1%' == <nowiki>''</nowiki> $include '%gams.u1%'
Solve m using MPEC minimizing objvar;
After 5 iterations, MPEC terminates at the point (1,0,1,1) with the first-level function value being 31.250.


==Applications==
==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.
MPEC can be found in a variety of real world applications such as: power management <ref>Siddiqui, S., Gabriel, S.A. [https://doi.org/10.1007/s11067-012-9178-y An SOS1-Based Approach for Solving MPECs with a Natural Gas Market Application]. ''Netw Spat Econ'' 13, 205–227 (2013).</ref>, highway pricing<ref>Wang, J., Kang, Y., Kwon, C. ''et al.'' [https://doi.org/10.1007/s11067-011-9156-9 Dual Toll Pricing for Hazardous Materials Transport with Linear Delay]. ''Netw Spat Econ'' 12, 147–165 (2012).</ref>, chemical process engineering <ref>B. T. Baumrucker, J. G. Renfro, en L. T. Biegler, [https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.583.7747 “MPEC Problem Formulations in Chemical Engineering Applications”]. 2007.</ref>, and traffic planning <ref>Liu X, Chen Q, [https://doi.org/10.1371/journal.pone.0162618 An Algorithm for the Mixed Transportation Network Design Problem]. PLOS ONE 11(9): e0162618, (2016).</ref>. 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 is energy pricing and transportation tolls.


=== 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 <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>.
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, “[https://doi.org/10.1016/j.eneco.2009.03.008 Solving discretely-constrained MPEC problems with applications in electric power markets,]” ''Energy Economics'', vol. 32, no. 1, pp. 3–14, 2010. </ref>.


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.
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, [https://doi.org/10.1109/59.867153 "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.</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 <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>.
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. [https://doi.org/10.1007/s10107-004-0536-5 An MPEC approach to second-best toll pricing]. ''Math. Program., Ser. A'' 101''',''' 33–55 (2004). </ref>.


==Conclusions==
==Conclusions==

Latest revision as of 17:10, 15 December 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. Variational inequalities are inequalities that involve a function and must be solved for all possible values of a given variable [2]. 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]. Constraint qualifications are assumptions of a feasible set of optimization problem. These qualifications confirm that Karush–Kuhn–Tucker (KKT) conditions are true at any local minimum [1]. It is necessary to consider suitable optimality conditions, which are derived studying the behavior of the functions and their derivatives at that point, 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 based on the sets of  and   where there are one or more parametric variational inequality constraints for primary variables y and parameter vector x, where vector x contains the design variables of an engineering process [3].

The standard form for MPEC problems is:

where for all

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].

Given vector x:

Denoted by:

, is the set of all vectors[3].

Targeted Approaches

Four different types of algorithmic approaches can be used to solve MPEC. Of the 4 techniques, three of these specialized techniques include the penalty interior point approach (PIPA), the implicit programming approach, and the piecewise sequential quadratic programming (SQP) approach [3]. Additionally, some MPEC problems can be reformulated as a relaxed NLP which can then be solved using other NLP techniques. [4]

PIPA

The PIPA methodology has been applied to applications in finance, target classification, and electricity markets. This technique generates a sequence of iterates as shown below that are strictly within the bounds. The iterates are calculated by solving a quadratic direction-finding problem. PIPA combines aspects of interior-point and SQP methods.[5]

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

And defines the following optimality constraint:

Given:

is a stationary point if and only if:

The following algorithm is employed:

Step 0: Initialize scalars and the initial iterate.

Step 1: Solve the quadratic programming subproblem at v such that 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 [3].

A basic termination condition is:

Implicit Programming

The implicit programming approach is appropriate for use when complementarity constraints meet specific regularity conditions. This occurs when they are limited to solve the resulting nonsmooth problem in the variable x, as seen below[2].

This 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 if , the optimal solution has been found and 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 technique is a numerical method for solving certain MPECs, based on the different sequential quadratic programming method for NLP problems. This can be applied to any MPEC whose lower-level problem is a mixed complementarity problem and indirectly to any MPEC where the lower-level problem is at the class of variational inequalities. [6]

This approach solves MPEC problems of the form:

,

,

The following Newton-type method is employed:

Step 0: Initialize , ,

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

Step 2: Set and check for termination. If check fails, repeat steps 1 and 2 with [3].

NLP Reformulation

NLP Reformulation technique is applicable to MPECs that fall into the same grouping as piecewise SQP. It is possible to generate positive slack variables on optimization function and constraints while setting the constraint equalities to zero. With this reformulation is it now possible to apply other NLP techniques to solving a MPEC such as the Karush- Kuhn-Tucker approach[7]. The general form of MPECs that can be reformulated is:

,

,

From here, the KKT method is used to address this NLP problem and find the minimum of the optimization function. This process consists of 4 steps :

Step 0: Let where is an index of active inequalities.

Step 1: Set

Step 2: Formulate equations for linear dependence of gradients and constraint feasibility; solve for and

Step 3: If and STOP. Solution has been found.

Step 4: If any and/or any , then:

  1. Drop the active constraint (ie. violates the condition above) with the largest magnitude.
  2. Add the violated constraints to making them active.
  3. Return to Step 2 [8].

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[9]. Some of these algorithms are mentioned here on this wiki including Quasi-Newton methods and trust-region method. 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].

Numerical example

The numerical example below contains a feasible region that is not necessarily convex or connected. The example also involves variational inequalities as shown by the two constraints. The methodology utilized below has the initial form as an NLP problem. Realistically, the initial problem would start as an MPEC and transform into an NLP.

Consider the following MPEC example by Savard and Gauvin [10]

s.t.

Solving the MPEC by technique of identifying a KTT point:

s.t.


, , ,, , ,

Iteration 1:

With ,

Point (0,10,0) violates

Set make active:

Solving the following system of equations:

Point (2,14,0) satisfies so

KKT point lies at

The following numerical example was also solved with GAMS using an MPEC solver to verify solution accuracy[11]

Applications

MPEC can be found in a variety of real world applications such as: power management [12], highway pricing[13], chemical process engineering [14], and traffic planning [15]. 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 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 [16].

A similar model is presented for the United States power grid by Hobbs, Metzler, and Pang [17]. 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 [18].

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 1.2 Joshi, B.C. Some Results on Mathematical Programs with Equilibrium Constraints. Oper. Res. Forum 2, 53 (2021).
  2. 2.0 2.1 2.2 2.3 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 3.5 3.6 Z.-Q. Luo, J.-S. Pang, and D. Ralph, Mathematical Programs with Equilibrium Constraints. Cambridge: Cambridge University Press, 1996.
  4. Nocedal, Jorge and Wright, Stephen J., “Theory of Constrained Optimization”, in Numerical Optimization, New York, NY: Springer New York, 2006, bll 304–354.
  5. S. Leyffer, “Penalty Interior-Point Method Fails to Converge”, Optimization Methods and Software, vol 20, 11 2003.
  6. D. Ralph, “Optimization with equilibrium constraints: A piece-wise SQP approachOptimization with Equilibrium Constraints: A Piecewise SQP Approach”, in Encyclopedia of Optimization, C. A. Floudas en P. M. Pardalos, Reds Boston, MA: Springer US, 2001, bll 1897–1903.
  7. S. A. Sadat en L. Fan, “Mixed integer linear programming formulation for chance constrained mathematical programs with equilibrium constraints”, in 2017 IEEE Power Energy Society General Meeting, 2017, bll 1–5.
  8. You, F. Lecture on “Nonlinear Programming”. Archives for SYSEN 6800 Computational Optimization (2021FA), Cornell University, Ithaca, NY (2021).
  9. J. X. Ban, H. X. Liu, M. C. Ferris, en B. Ran, “A general MPCC model and its solution algorithm for continuous network design problem”, Mathematical and Computer Modelling, vol 43, no 5, bll 493–505, 2006.
  10. Savard, G, and Gauvin, J, The Steepest Descent for the Nonlinear Bilevel Programming Problem. Operation Research Letters 15 (1994), 265-272.
  11. Gauvin.gms, http://www.gamsworld.org/mpec/mpeclib/gauvin.htm.
  12. Siddiqui, S., Gabriel, S.A. An SOS1-Based Approach for Solving MPECs with a Natural Gas Market Application. Netw Spat Econ 13, 205–227 (2013).
  13. Wang, J., Kang, Y., Kwon, C. et al. Dual Toll Pricing for Hazardous Materials Transport with Linear Delay. Netw Spat Econ 12, 147–165 (2012).
  14. B. T. Baumrucker, J. G. Renfro, en L. T. Biegler, “MPEC Problem Formulations in Chemical Engineering Applications”. 2007.
  15. Liu X, Chen Q, An Algorithm for the Mixed Transportation Network Design Problem. PLOS ONE 11(9): e0162618, (2016).
  16. 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.
  17. 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.
  18. Lawphongpanich, S., Hearn, D. An MPEC approach to second-best toll pricing. Math. Program., Ser. A 101, 33–55 (2004).