|
Most of the solvers GAMS uses when a SOLVE statement is executed will automatically scale problems and will transform the solution back to the unscaled one. Thus users usually gain the benefits of a scaling exercise without having to do anything.
| • | Solver based scaling is implemented where the solver determines the scaling factors. For example, equations may be divided through by the absolute value of the average coefficient in that equation. Similarly, variables are divided through by numbers derived from the absolute values of the average coefficient in their column. Such mechanical scaling is done iteratively for a number of passes alternating between variable and equation scaling. |
| • | In turn the solvers automatically construct the unscaled solution using procedures like those in the table above so solver scaling is transparent to the user. |
| • | Generally the user can do a better job than the solver in scaling due to an understanding of the model structure. |
| • | Solver scaling can usually be suppressed through the solver options file. But this should not be done. |
| • | Some solvers contain additional scaling procedures that are activated through the options file. Important optional scaling features are resident in MINOS as the example nlpscale.gms exploits. |
MODEL nation /ALL/;
nation.optfile=1;
SOLVE nation USING NLP MAXIMIZING csps;
minos.opt
superbasics 100
scale nonlinear variables
optimality tolerance 0.0000000001
|