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.

486 PATH 4.6<br />

2.6 Preprocessing<br />

<strong>The</strong> preprocessor is work in progress. <strong>The</strong> exact output in the final version may differ from that<br />

given below.<br />

<strong>The</strong> purpose of a preprocessor is to reduce the size and complexity of a model to achieve improved performance<br />

by the main algorithm. Another benefit of the analysis performed is the detection of some provably unsolvable<br />

problems. A comprehensive preprocessor has been incorporated into PATHC as developed in [18].<br />

<strong>The</strong> preprocessor reports its finding with some additional output to the log file. This output occurs before the<br />

initial point statistics. An example of the preprocessing on the forcebsm model is presented below.<br />

Zero: 0 Single: 112 Double: 0 Forced: 0<br />

Preprocessed size: 72<br />

<strong>The</strong> preprocessor looks for special polyhedral structure and eliminates variables using this structure. <strong>The</strong>se are<br />

indicated with the above line of text. Other special structure is also detected and reported.<br />

On exit from the algorithm, we must generate a solution for the original problem.<br />

postsolve. Following the postsolve, the residual using the original model is reported.<br />

Postsolved residual: 1.0518e-10<br />

This is done during the<br />

This number should be approximately the same as the final residual reported on the presolved model.<br />

2.6.1 Constrained Nonlinear Systems<br />

Modelers typically add bounds to their variables when attempting to solve nonlinear problems in order to restrict<br />

the domain of interest. For example, many square nonlinear systems are formulated as<br />

F (z) = 0, l ≤ z ≤ u,<br />

where typically, the bounds on z are inactive at the solution. This is not an MCP, but is an example of a<br />

“constrained nonlinear system” (CNS). It is important to note the distinction between MCP and CNS. <strong>The</strong> MCP<br />

uses the bounds to infer relationships on the function F . If a finite bound is active at a solution, the corresponding<br />

component of F is only constrained to be nonnegative or nonpositive in the MCP, whereas in CNS it must be<br />

zero. Thus there may be many solutions of MCP that do not satisfy F (z) = 0. Only if z ∗ is a solution of MCP<br />

with l < z ∗ < u is it guaranteed that F (z ∗ ) = 0.<br />

Internally, PATHC reformulates a constrained nonlinear system of equations to an equivalent complementarity<br />

problem. <strong>The</strong> reformulation adds variables, y, with the resulting problem written as:<br />

This is the MCP model passed on to the PATH solver.<br />

l ≤ x ≤ u ⊥ −y<br />

y free ⊥ F (x).<br />

3 Advanced Topics<br />

This chapter discusses some of the difficulties encountered when dealing with complementarity problems. We<br />

start off with a very formal definition of a complementarity problem which is used in later sections on merit<br />

functions and ill-defined, poorly-scaled, and singular models.<br />

3.1 Formal Definition of MCP<br />

<strong>The</strong> mixed complementarity problem is defined by a function, F : D → R n where D ⊆ R n is the domain of F ,<br />

and possibly infinite lower and upper bounds, l and u. Let C := {x ∈ R n | l ≤ x ≤ u}, a Cartesian product of

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

Saved successfully!

Ooh no, something went wrong!