Papers
Topics
Authors
Recent
Search
2000 character limit reached

Extended Mathematical Programming (EMP)

Updated 12 January 2026
  • Extended Mathematical Programming (EMP) is a modeling extension that embeds equilibrium constraints into algebraic models with structured annotations to capture equilibrium structures.
  • It enables direct formulation of multi-agent problems such as Nash equilibria, variational inequalities, and MOPECs with minimal alterations to the base model.
  • EMP automatically reformulates equilibrium models into complementarity or variational inequality systems, significantly improving computational efficiency and scalability.

Extended Mathematical Programming (EMP) defines a modeling-language extension for formulating and solving high-level equilibrium and variational problems directly within standard algebraic modeling frameworks. EMP provides structured mechanisms to declare complex equilibrium structures—including generalized Nash equilibrium problems, multiple optimization problems with equilibrium constraints (MOPECs), variational inequalities (VIs), and quasi-variational inequalities (QVIs)—enabling automatic reformulation and solution within established software environments such as GAMS/EMP, without manual derivation of KKT or complementarity systems (Kim et al., 2018).

1. Problem Scope and Structural Representation

EMP is designed to capture the structure of multi-agent equilibrium problems, where multiple independent decision-makers (agents) operate with private variables, possibly shared resources, and equilibrium constraints. Traditional algebraic models are extended by annotating variables and equations in an auxiliary “empinfo” side-file, specifying agent ownership, the nature of variables (decision, equilibrium, or implicit), and shared or private constraints. This schema enables precise expression of problem ownership and resource-sharing structures. It supports direct modeling of:

The high-level description provided by EMP allows the solution concept (Nash vs. variational equilibrium, NEP vs. GNEP vs. QVI) to be specified or switched with minimal changes to the modeling code.

2. Core Constructs and Model Annotation

EMP introduces a series of constructs within the empinfo file to communicate the equilibrium structure to the modeling system:

  • equilibrium: Specifies a list of agent-level optimization problems. Syntax per agent: yKy \in K2 This encodes, for agent ii, the optimization problem minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i}) (or maximization).
  • vi: Declares a variational inequality; syntax: yKy \in K3 Each fkf_k is paired with xkx_k, producing F(x),yx0\langle F(x), y - x \rangle \ge 0 for yKy \in K.
  • qvi: Declares a quasi-variational inequality with variables yy and parameters xx: yKy \in K4 The variable of interest yy resides in the parameter-dependent feasible set K(x)K(x).
  • implicit: Declares a free variable minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})0 whose values are determined by a defining constraint minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})1: yKy \in K5 This construct enables modeling of implicit or shared variables across agents.
  • visol: Requests a variational equilibrium (as opposed to the default GNEP solution), meaning that shared-constraint multipliers are unified across agents.

EMP’s shared-constraint detection automatically recognizes when a constraint appears in multiple agents’ annotations, controlling its treatment as shared (with either individual or common multipliers).

3. Reformulation into Solution-Ready Systems

EMP automatically translates high-level specifications into standard mathematical programs suitable for solvers. The possible reformulations include:

  • Mixed Complementarity Problem (MCP): Given bounds minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})2 and map minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})3, find minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})4 such that

minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})5

That is, minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})6 for each minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})7.

  • Variational Inequality (VI): Find minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})8 closed convex,

minxiKi(xi)fi(xi,xi)\min_{x_i \in K_i(x_{-i})} f_i(x_i, x_{-i})9

  • Quasi-Variational Inequality (QVI): With a point-to-set map fkf_k0, find fkf_k1,

fkf_k2

Algebraic definitions of agent cost, constraint, and feasible set functions (fkf_k3) are specified in the model. EMP then builds the KKT conditions and assembles a single complementarity or inequality system for solution. Crucially, no user-supplied derivatives are required; all reformulation is automatic (Kim et al., 2018).

4. Shared Variables and Constraints

EMP introduces the concept of shared variables: variables fkf_k4 that are determined by a common defining equation fkf_k5 and that are referenced by multiple agents. When such variables appear in multiple agents’ feasible sets, at any equilibrium solution it must hold that all agent instances of fkf_k6 are equal, i.e., fkf_k7.

Primary use cases:

  • Sparsity reformulation: Splitting a dense aggregate function, such as fkf_k8, into a shared variable fkf_k9 for computational efficiency.
  • Equilibrium problems with equilibrium constraints (EPECs): State variables satisfying market-clearing or similar shared constraints are modeled as shared variables across agents.
  • Mixed pricing behavior: Declaring prices as implicit shared variables allows agents to flexibly take on price-maker or price-taker roles by including or excluding ownership of the variable.

Shared constraints can be declared by including the same equation name in multiple agents’ annotations or enforced using the SharedEqu option. The visol keyword controls whether shared constraints induce a single multiplier (variational equilibrium) or replicated multipliers (generalized Nash equilibrium) (Kim et al., 2018).

5. Advanced Modeling Techniques

EMP supports several formulations for shared variables in xkx_k0-agent games, each with trade-offs between problem size and sparsity:

Formulation Type MCP Dimension Notes
Replication xkx_k1 Each agent owns a copy xkx_k2 and multiplier xkx_k3
Switching xkx_k4 Swap xkx_k5 with xkx_k6, introduce central xkx_k7
Substitution (implicit) xkx_k8 Use total-derivative multipliers xkx_k9 if F(x),yx0\langle F(x), y - x \rangle \ge 00 admits implicit-function theorem
Substitution (explicit) F(x),yx0\langle F(x), y - x \rangle \ge 01 If F(x),yx0\langle F(x), y - x \rangle \ge 02, simply substitute F(x),yx0\langle F(x), y - x \rangle \ge 03

Here, F(x),yx0\langle F(x), y - x \rangle \ge 04 is the number of original variables, F(x),yx0\langle F(x), y - x \rangle \ge 05 the dimension of F(x),yx0\langle F(x), y - x \rangle \ge 06. Switching and explicit substitution maintain high sparsity but explicit substitution can reintroduce density if F(x),yx0\langle F(x), y - x \rangle \ge 07 is not small.

The implicit/explicit variable constructs and the ability to declare mixed pricing behavior (by controlling agent ownership of shared price variables) facilitate sophisticated agent modeling with minimal algebraic remodeling effort.

6. Solution Procedures and Performance Insights

EMP-generated models are passed to complementarity and variational inequality solvers such as PATH, which require the Jacobian of the MCP/VI. EMP exploits the structure exposed by sharing or switching formulations to create and maintain highly sparse Jacobians, which is critical for scalable performance.

Performance studies illustrate:

  • Dense MCPs for large oligopoly models (e.g., with F(x),yx0\langle F(x), y - x \rangle \ge 08 plants) have intractable computational complexity (Jacobian density ≈ 100%).
  • The introduction of a shared variable F(x),yx0\langle F(x), y - x \rangle \ge 09 and the switching strategy reduces density to ≈ 0.1%, enabling models with up to 50,000 variables to be solved in minutes.
  • Explicit substitution can further reduce problem size (to yKy \in K0), most beneficial when yKy \in K1 and for sparse problems.
  • In EPEC models with 23 agents and 253 shared variables, switching outperforms replication by a factor of 6 and substitution by an order of magnitude (Kim et al., 2018).

A plausible implication is that careful use of shared variable formulation and structure-exposing modeling strategies can lead to order-of-magnitude improvements in computational tractability for large-scale equilibrium problems.

7. Implementation in GAMS/EMP and Example

Integration with GAMS/EMP allows the following workflow for a simple two-agent Nash equilibrium:

Algebraic model:

yKy \in K6

empinfo file:

yKy \in K7

Solve call:

yKy \in K8

Switching to VI or including mixed or implicit structures requires only changes in the empinfo file, maintaining a separation between algebraic model and equilibrium structure specification.

In summary, EMP embeds equilibrium-model semantics in standard modeling languages, automates the derivation of complementarity and variational inequality systems (including all necessary KKT and constraint structure), and interfaces with advanced solvers to facilitate large-scale, structurally rich equilibrium computations (Kim et al., 2018).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Extended Mathematical Programming (EMP).