You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
a linear programming problem (“using LP”).<br />
a mixed complementary programming problem (“using MCP”).<br />
a non linear programming problem (“using NLP”).<br />
GAMS does not directly solve problems. Rather it interfaces with external solvers<br />
developed by other companies. This requires special licensing arrangements to have<br />
access to the solvers. It also requires that for the user to use a particular solver that it all<br />
ready must have been interfaced with GAMS. A list of the solvers currently interfaced is<br />
covered in the Model Types and Solvers chapter.<br />
Why does my nonlinear equation system maximize something?<br />
The nonlinear equation system chemical engineering problem in the GAMS formulation was<br />
expressed as a nonlinear programming (NLP) optimization model in turn requiring an objective<br />
function. Actually this is somewhat older practice in GAMS as the constrained nonlinear system<br />
(CNS) model type was added after this example was initially formulated. Thus, one could<br />
modify the model type to solve constrained nonlinear system yielding the same solution using<br />
Solve wall using mcp; (nonlinsyscns.gms).<br />
However, the CNS model type can only be solved by select solvers and cannot incorporate<br />
integer variables. Formulation as an optimization problem relaxes these restrictions allowing use<br />
of for example the MINLP model type plus the other NLP solvers. Such a formulation involves<br />
the choice of a convenient variable to optimize which may not really have any effect since a<br />
feasible solution requires all of the simultaneous equations to be solved. Thus while ba is<br />
maximized there is no inherent interest in attaining its maximum it is just convenient.<br />
What are the .L items<br />
In the nonlinear equation system chemical engineering GAMS formulation a line was introduced<br />
which is<br />
ba.l=1; so4.l=1; baoh.l=1; oh.l=1; hso4.l=1; h.l=1; (nonlinsys.gms)<br />
This line provides a <strong>start</strong>ing point for the variables in the model. In particular the notation<br />
variablename.l=value is the way one introduces a <strong>start</strong>ing value for a variable in GAMS as<br />
discussed in the chapter on NLP and MCP Model Types. Such a practice can be quite important<br />
in achieving success and avoiding numerical problems in model solution (as discussed in the<br />
Execution Errors chapter).<br />
Notes<br />
One may also need to introduce lower (variablename.lo=value ) and upper<br />
(variablename.up=value ) bounds on the variables as also discussed in the Execution<br />
Errors chapter.<br />
Courtesy of B.A. McCarl, October 2002 12