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

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

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

494 PATH 4.6<br />

INITIAL POINT STATISTICS<br />

Maximum of X. . . . . . . . . .<br />

Maximum of F. . . . . . . . . .<br />

Maximum of Grad F . . . . . . .<br />

INITIAL JACOBIAN NORM STATISTICS<br />

Maximum Row Norm. . . . . . . .<br />

Minimum Row Norm. . . . . . . .<br />

Maximum Column Norm . . . . . .<br />

Minimum Column Norm . . . . . .<br />

4.1279e+06 var: (w.29)<br />

2.2516e+00 eqn: (a1.33)<br />

6.7753e+06 eqn: (a1.29)<br />

var: (x1.29)<br />

9.4504e+06 eqn: (a2.29)<br />

2.7680e-03 eqn: (g.10)<br />

9.4504e+06 var: (x2.29)<br />

1.3840e-03 var: (w.10)<br />

Figure 28.13: PATH Output - Poorly Scaled Model<br />

INITIAL POINT STATISTICS<br />

Maximum of X. . . . . . . . . .<br />

Maximum of F. . . . . . . . . .<br />

Maximum of Grad F . . . . . . .<br />

INITIAL JACOBIAN NORM STATISTICS<br />

Maximum Row Norm. . . . . . . .<br />

Minimum Row Norm. . . . . . . .<br />

Maximum Column Norm . . . . . .<br />

Minimum Column Norm . . . . . .<br />

1.0750e+03 var: (x1.49)<br />

3.9829e-01 eqn: (g.10)<br />

6.7753e+03 eqn: (a1.29)<br />

var: (x1.29)<br />

9.4524e+03 eqn: (a2.29)<br />

2.7680e+00 eqn: (g.10)<br />

9.4904e+03 var: (x2.29)<br />

1.3840e-01 var: (w.10)<br />

Figure 28.14: PATH Output - Well-Scaled Model<br />

model to achieve a desired result.<br />

We look at the titan.gms model in MCPLIB, that has some scaling problems. <strong>The</strong> relevant output from PATH<br />

for the original code is given in Figure 28.13. <strong>The</strong> maximum row norm is defined as<br />

∑<br />

max | (∇F (x)) ij |<br />

and the minimum row norm is<br />

1≤i≤n<br />

1≤j≤n<br />

min<br />

∑<br />

1≤i≤n<br />

1≤j≤n<br />

| (∇F (x)) ij | .<br />

Similar definitions are used for the column norm. <strong>The</strong> norm numbers for this particular example are not extremely<br />

large, but we can nevertheless improve the scaling. We first decided to reduce the magnitude of the a2 block<br />

of equations as indicated by PATH. Using the <strong>GAMS</strong> modeling language, we can scale particular equations and<br />

variables using the .scale attribute. To turn the scaling on for the model we use the .scaleopt model attribute.<br />

After scaling the a2 block, we re-ran PATH and found an additional blocks of equations that also needed scaling,<br />

a2. We also scaled some of the variables, g and w. <strong>The</strong> code added to the model follows:<br />

titan.scaleopt = 1;<br />

a1.scale(i) = 1000;<br />

a2.scale(i) = 1000;<br />

g.scale(i) = 1/1000;<br />

w.scale(i) = 100000;<br />

After scaling these blocks of equations in the model, we have improved the scaling statistics which are given in<br />

Figure 28.14 for the new model. For this particular problem PATH cannot solve the unscaled model, while it can<br />

find a solution to the scaled model. Using the scaling language features and the information provided by PATH<br />

we are able to remove some of the problem’s difficulty and obtain better performance from PATH.

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

Saved successfully!

Ooh no, something went wrong!