25.10.2013 Views

Solver Manual (pdf) - GAMS

Solver Manual (pdf) - GAMS

Solver Manual (pdf) - GAMS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

702 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 file (Section 4) after<br />

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

of NLPEC (Section 5) will be helpful in understanding how <strong>GAMS</strong> options are treated. Although NLPEC doesn’t use the<br />

<strong>GAMS</strong> options workspace, workfactor, optcr, optca, reslim, iterlim, and domlim directly, it passes these options<br />

on in the reformulated model so they are available to the 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. The description<br />

also applies to MCP models - just consider MCP to be an MPEC with a constant objective. The choice of reformulation,<br />

and the subsidiary choices each reformulation entails, are controlled by the options (see Section 4.1) mentioned throughout<br />

this section.<br />

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

subject to the constraints<br />

and<br />

min<br />

x∈Rn f (x,y) (3.1)<br />

,y∈Rm g(x,y) ≤ 0 (3.2)<br />

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

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

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

they are associated with the upper level optimization problem) whereas the variables y are sometimes termed lower level<br />

variables.<br />

The constraints (3.2) are standard nonlinear programming constraints specified in <strong>GAMS</strong> in the standard fashion. In particular,<br />

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

will be unaltered by all our reformulations. These constraints may involve both x and y, or just x or just y, or may not be<br />

present at all in the problem.<br />

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

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

on the variables y. A point y with ai ≤ yi ≤ bi solves (3.3) if for each i at least one of the following holds:<br />

hi(x,y) = 0<br />

hi(x,y) > 0, yi = ai;<br />

hi(x,y) < 0, yi = bi.<br />

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

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

(3.4)<br />

0 ≤ hi(x,y),0 ≤ yi and yihi(x,y) = 0,i = 1,...,m (3.5)<br />

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

symbol ⊥:<br />

hi(x,y) ⊥ yi ∈ [ai,bi] (3.6)<br />

The different ways to force (3.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 />

x1,x2,y1,y2<br />

x1 + x2<br />

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

≤ 1<br />

y1 − y2 + 1 ≤ x1 ⊥ y1 ≥ 0<br />

x2 + y2 ⊥ y2 ∈ [−1,1]

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

Saved successfully!

Ooh no, something went wrong!