|
Introducing cross scenario report writing |
Top Previous Next |
|
First suppose we gather the output into one spot. We can do this by introducing a couple of new sets and a parameter (mancompb.gms). The set
set scenarios /base,beefp,beefcorn/; set ordr /"Scenario setup","Scenario Results"/;
identifies the scenarios and sets up a place to save the assumptions and the results. In turn the new parameter adds two dimensions to the summary parameter and retains it.
Parameter savsumm(ordr,*,alli,scenarios) Comparative Firm Summary; savsumm("Scenario setup","price",primary,"base")=price(primary); savsumm("Scenario Results",measures,alli,"base")=summary(alli,measures);
where the Scenario setup line copies in the current setup of the price vector and the Scenario Results line copy in the results as stored in the summary parameter. In turn our code is
$include farmcomp.gms $include farmrep.gms set ordr /"Scenario setup","Scenario Results"/ set scenarios /base,beefp,beefcorn/ Parameter savsumm(ordr,*,alli,scenarios) Comparative Farm Summary; savsumm("Scenario setup","price",primary,"base")=price(primary); savsumm("Scenario Results",measures,alli,"base")=summary(alli,measures); price("beef")=0.70; SOLVE Firm USING LP MAXIMIZING NETINCOME; display price ; $include Farmrep.gms savsumm("Scenario setup","price",primary,"beefp")=price(primary); savsumm("Scenario Results",measures,alli,"beefp")=summary(alli,measures); price("corn")=2.70; display price ; SOLVE Firm USING LP MAXIMIZING NETINCOME; $include Farmrep.gms savsumm("Scenario setup","price",primary,"beefcorn")=price(primary); savsumm("Scenario Results",measures,alli,"beefcorn")=summary(alli,measures); option savsumm:2:3:1;display savsumm;
The results are
---- 439 PARAMETER savsumm Comparative Farm Summary
base beefp beefcorn Scenario setup .price .Corn 2.20 2.20 2.70 Scenario setup .price .Soybeans 5.00 5.00 5.00 Scenario setup .price .Beef 0.50 0.70 0.70 Scenario Results.Net Income .Total 162685.05 373686.10 375839.30 Scenario Results.Land use .Cropland 700.00 673.55 642.22 Scenario Results.Land use .Pastureland 130.00 130.00 130.00 Scenario Results.Dry Cropping .Corn 20.00 22.84 31.98 Scenario Results.Dry Cropping .Soybeans 480.00 489.86 410.24 Scenario Results.Dry Cropping .Total 500.00 512.70 442.22 Scenario Results.Irr Cropping .Corn 200.00 160.85 200.00 Scenario Results.Irr Cropping .Total 200.00 160.85 200.00 Scenario Results.Livestock .cattle 615.79 866.67 866.67 Scenario Results.Resource Value.Water 16.83 15.99 Scenario Results.Resource Value.Cropland 128.49 Scenario Results.Resource Value.Pastureland 84.26 1456.90 1316.09 Scenario Results.Resource Value.April Labor 32.34 82.29 61.39 Scenario Results.Resource Value.May Labor 27.01 80.53 61.72 Scenario Results.Resource Value.Sept Labor 53.57 84.92 Scenario Results.Resource Value.Oct Labor 11.50 46.21 87.21 Scenario Results.Product Value .Corn 2.20 2.34 2.70 Scenario Results.Product Value .Soybeans 5.00 5.00 5.00 Scenario Results.Product Value .Beef 0.50 0.70 0.70 Scenario Results.Product Value .Cattlefeed 4.71 4.89 5.36
where we have now achieved a cross scenario report and place all the output in one place. |