16.01.2015 Views

GAMS — The Solver Manuals - Available Software

GAMS — The Solver Manuals - Available Software

GAMS — The Solver Manuals - Available Software

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

416 NLPEC<br />

gams nash MPEC=nlpec MCP=nlpec<br />

You can use NLPEC with its default strategy and formulation, but most users will want to use an options<br />

file (Section 2.4) after reading about the different types of reformulations possible (Section 3). In addition, an<br />

understanding of the architecture of NLPEC (Section 5) will be helpful in understanding how <strong>GAMS</strong> options<br />

are treated. Although NLPEC doesn’t use the <strong>GAMS</strong> options workspace, workfactor, optcr, optca, reslim,<br />

iterlim, and domlim directly, it passes these options on in the reformulated model so they are available to the<br />

NLP subsolver.<br />

3 Reformulation<br />

In this section we describe the different ways that the NLPEC solver can reformulate an MPEC as an NLP. <strong>The</strong><br />

description also applies to MCP models - just consider MCP to be an MPEC with a constant objective. <strong>The</strong><br />

choice of reformulation, and the subsidiary choices each reformulation entails, are controlled by the options (see<br />

Section 4.1) mentioned throughout this section.<br />

<strong>The</strong> original MPEC model is given as:<br />

subject to the constraints<br />

and<br />

min f(x, y) (24.1)<br />

x∈R n ,y∈Rm g(x, y) ≤ 0 (24.2)<br />

y solves MCP(h(x, ·), B). (24.3)<br />

In most of the reformulations, the objective function (24.1) is included in the reformulated model without change.<br />

In some cases, it may be augmented with a penalty function. <strong>The</strong> variables x are typically called upper level<br />

variables (because they are associated with the upper level optimization problem) whereas the variables y are<br />

sometimes termed lower level variables.<br />

<strong>The</strong> constraints (24.2) are standard nonlinear programming constraints specified in <strong>GAMS</strong> in the standard<br />

fashion. In particular, these constraints may be less than inequalities as shown above, or equalities or greater<br />

than inequalities. <strong>The</strong> constraints will be unaltered by all our reformulations. <strong>The</strong>se constraints may involve both<br />

x and y, or just x or just y, or may not be present at all in the problem.<br />

<strong>The</strong> constraints of interest are the equilibrium constraints (24.3), where (24.3) signifies that y ∈ R m is a solution<br />

to the mixed complementarity problem (MCP) defined by the function h(x, ·) and the box B containing (possibly<br />

infinite) simple bounds on the variables y. A point y with a i ≤ y i ≤ b i solves (24.3) if for each i at least one of<br />

the following holds:<br />

h i (x, y) = 0<br />

h i (x, y) > 0, y i = a i ;<br />

(24.4)<br />

h i (x, y) < 0, y i = b i .<br />

As a special case of (24.4), consider the case where a = 0 and b = +∞. Since y i can never be +∞ at a solution,<br />

(24.4) simplifies to the nonlinear complementarity problem (NCP):<br />

0 ≤ h i (x, y), 0 ≤ y i and y i h i (x, y) = 0, i = 1, . . . , m (24.5)<br />

namely that h and y are nonnegative vectors with h perpendicular to y. This motivates our shorthand for (24.4),<br />

the “perp to” symbol ⊥:<br />

h i (x, y) ⊥ y i ∈ [a i , b i ] (24.6)<br />

<strong>The</strong> different ways to force (24.6) to hold using (smooth) NLP constraints are the basis of the NLPEC solver.<br />

We introduce a simple example now that we will use throughout this document for expositional purposes:<br />

min<br />

x 1,x 2,y 1,y 2<br />

x 1 + x 2<br />

subject to x 2 1 + x 2 2 ≤ 1<br />

y 1 − y 2 + 1 ≤ x 1 ⊥ y 1 ≥ 0<br />

x 2 + y 2 ⊥ y 2 ∈ [−1, 1]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!