agreste.gms : Agricultural Farm Level Model of NE Brazil

Description

This is a farm level model of the north east region of brazil. There is
only one farm type - medium sized. There are 3 types of land and risk
on revenue is considered.


Reference

  • Kutcher, G P, and Scandizzo, P L, The Agricultural Economy of Northeast Brazil. The Johns Hopkins University Press, Baltimore and London, 1981.

Small Model of Type : LP


Category : GAMS Model library


Main file : agreste.gms

$title Agreste Farm Level Model of NE Brazil (AGRESTE,SEQ=88)
$stitle set definitions
$Ontext

This is a farm level model of the north east region of brazil. There is
only one farm type - medium sized. There are 3 types of land and risk
on revenue is considered.


Kutcher, G P, and Scandizzo, P L, The Agricultural Economy of Northeast
Brazil. The Johns Hopkins University Press, Baltimore and London, 1981.

$Offtext

 set c           crops /
                 cotton-h     cotton-herbaceo
                 banana       banana
                 sugar-cane  sugar-cane
                 beans-arr    beans-de-arranca
                 beans-cor    beans-de-corda
                 oranges      oranges
                 manioc       manioc
                 corn         corn
                 sisal        sisal          /



     tm           months  / jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec /

     p           cropping activities /
                 crop-02        cotton-herbaceo
                 crop-05        banana
                 crop-10       sugar cane
                 crop-15       oranges
                 crop-16       manioc
                 crop-17       corn
                 crop-19       sisal
                 crop-25       beans-de-corda   corn
                 crop-29       cotton-herbaceo  beans-de-arranca corn
                 crop-30       cotton-herbaceo  beans-de-corda   corn
                 crop-33       beans-de-arranca corn
                 crop-36       beans-de-arranca manioc           corn /


     s           land types / good    flat and near water or humid and low lying
                              medium  hilly or more arid than good
                              pasture cultivated pasture or tree crops                /

     sc(s)       crop lands / good , medium /

     r           livestock feeding alternatives / rec-1*rec-3 /

     ty           year / 1960*1969 /

     dr           family consumption bundle alternatives / one , two , three /

     km          technology characteristics /
                 equipment, fertilizer, seeds, sprouts, itech /

    ps(p,s)      process-land possibilities


 alias (s,sp);

$stitle
  parameter
      landc(s)    land data                             (ha)          / good = 8.775, medium = 11.64, pasture = 21.92/
      rations(r)  livestock rations feeding alternative (cr per head) / rec-1  5.141 , rec-2  21.646 , rec-3  49.845/
      xcropl(p,s) limits on cropping activities
                 ;

 xcropl("crop-19","good") = 0.036 ;   xcropl("crop-19","medium") = 0.298

 table ldp(s,s) land downgrading possibilities

                good     medium
 good             1
 medium          -1         1
 pasture                   -1


* land requirements for livestock seems high but ok - pg 65 para 3
 table lio(s,r) land requirements for livestock feed alternatives (ha per head)

               rec-1   rec-2    rec-3
 medium        1.407    .611     .631
 pasture        .209   2.03      .9


 table labor(p,tm)  labor requirements for cropping (man-days per ha)

                jan       feb       mar       apr       may       jun       jul       aug       sep       oct

 crop-02       4.79     10.89     18.70      9.83      8.03     20.95     15.67     15.48     11.35      8.38
 crop-05       8.24      0.89      5.43      3.31     11.13     10.33      3.27      2.65      5.47      3.67
 crop-10       5.78      3.37      4.03      7.09      4.64      5.91      7.67      9.23      5.93      9.05
 crop-15       2.00      2.36      4.13      2.13      7.18      5.88      3.21      9.20      6.89      3.30
 crop-16       5.71      7.60      7.28      8.15      8.48     10.71      9.34     12.76      8.93     10.22
 crop-17       9.19     14.42     10.59     12.01      3.47     10.75      5.88      7.30      4.14      4.25
 crop-19       1.22      1.11      0.56      0.78      1.19      0.44      1.89      3.04      2.93      4.99
 crop-25      12.46     11.35     24.38     22.03     16.91      9.47     10.97      9.70      4.93      6.41
 crop-29       5.54     10.30      9.24      8.97     15.82     13.00     14.74     10.64      5.64      4.90
 crop-30       9.18      3.94     16.15     23.69     28.12     20.58     17.73     15.06      4.58      9.76
 crop-33       6.87     10.19     10.61      9.14     18.38     11.50      9.22     13.36      3.85      3.87
 crop-36       7.44     10.21      9.63     16.18     20.11     16.86     14.86     14.00      8.04      6.69

      +         nov       dec

 crop-02       8.23      4.54
 crop-05       3.18      1.44
 crop-10       7.59      6.37
 crop-15       9.70      8.87
 crop-16       6.18      8.34
 crop-17       3.49      2.11
 crop-19       7.73      9.44
 crop-25       0.53      0.89
 crop-29       4.73      4.92
 crop-30       7.39      2.67
 crop-33       2.65      1.09
 crop-36       5.49      5.26


 table llab(tm,r) labor requirement for livestock feed (man-days per head)

                  rec-1       rec-2       rec-3

 jan              4.261       1.873       1.933
 feb              2.854       1.262       1.302
 mar               .040        .040        .040
 apr               .040        .040        .040
 may               .040        .040        .040
 jun               .040        .040        .040
 jul               .040        .040        .040
 aug               .040        .040        .040
 sep               .040        .040        .040
 oct               .040        .040        .040
 nov              7.075       3.095       3.195
 dec              7.075       3.095       3.195


 table cbndl(c,dr)  consumption bundles (tons per bundle)

                  one        two       three

 beans-arr       .225       .152       .15
 manioc          .965      2.64        .935
 corn            .235       .232       .581


 table crev(c,ty)  crop revenue time series (cr per ha)

                 1960      1961      1962      1963      1964      1965      1966      1967      1968      1969
 banana          6399      8193      9215      8581      7988      7228      5923      6738      7221      7842
 sugar-cane      1667      1899      1898      2230      2265      2067      1499      1903      1901      1929
 beans-cor        546       585      1091       651       470       621       605       518       519       772
 manioc           986      1543      2658      1639      1146      1380      1357      1702      1560      1580
 corn             267       378       544       329       320       351       310       322       294       349


 parameter price(c) crop reference prices (cr per kg) / cotton-h   = 1.9 , banana   = 4   , sugar-cane = 35
                                                        beans-arr  = 2.5 , beans-cor = 1.5 , oranges    = 10
                                                        manioc     =  .17, corn      =  .15, sisal         1  /
           ravg(c)  average crop revenues (cr per ha)
           prdev(c,ty) price deviations for crops (cr per ton)


* wage data: pg 159
* working capital: is this correct: = 6.4 * 1113
* family labor available: correct?
 scalar fwage     family reservation wage rate (cr per man-month) /     75 /
        twage     temporary labor wage rate    (cr per man-month) /    250 /
        pwage     permanent labor wage rate    (cr per man-year)  /   2054 /
        vsc       value of self-consumption       (cr per bundle) /    934 /
        wcbar     working capital                            (cr) /   7123.2  /
        famlab    family labor              (man equivalent wrks) /     70.5  /
        lprice    livestock price                   (cr per head) /    211   /
        vetpr     cost of veterinary service        (cr per head) /     1    /
        dpm       man-days per man month                          /     25    /
        phi       risk factor


* some of these yields look odd: medium land has higher land than good
 table yield(p,c,s)  crop yields (kg per ha)
                       good    medium

 crop-02.cotton-h       848     569
 crop-05.banana         221     174
 crop-10.sugar-cane      45      30
 crop-15.oranges         92
 crop-16.manioc        4456    3964
 crop-17.corn           725     563
 crop-19.sisal         2244    1666
 crop-25.beans-cor      251     211
 crop-25.corn           373     264
 crop-29.cotton-h       269     149
 crop-29.beans-arr      285     221
 crop-29.corn           536     544
 crop-30.cotton-h       403     133
 crop-30.beans-cor      115     352
 crop-30.corn           361     212
 crop-33.beans-arr      274     260
 crop-33.corn           594     442
 crop-36.beans-arr      288     287
 crop-36.manioc        3408    1031
 crop-36.corn           503     328
                                   ;

 ps(p,s)   = yes$sum(c, yield(p,c,s));
 ravg(c)      = sum(ty, crev(c,ty))/card(ty);
 prdev(c,ty)$ravg(c)  = 1000*price(c)*(crev(c,ty)/ravg(c) - 1);
 phi          = 1;
 display ravg,prdev;


 table techc(p,km) cropping technology requirements (cr per ha)

           equipment  fertilizer  seeds  sprouts
 crop-02                   31       91
 crop-05                                   45
 crop-10                   36
 crop-15                  106        1     184
 crop-16                   20
 crop-17                   42       55
 crop-29        4          22               19
 crop-30                            27
 crop-33       11          42
 crop-36                   98        6       1


 parameter pcost(p)   cropping technology costs          (cr per ha)
           a(p)       cropping constants;


 pcost(p)    = sum(km, techc(p,km)); display pcost;
 a(p) = 1;  a(p)$sum(s, yield(p,"cotton-h",s)) = 0;
 display pcost,a;
$stitle model definition
 variables xcrop(p,s)   cropping activities                                   (ha)
           xliver(r)    livestock activity defined on feed techniques       (head)
           xlive        livestock production                                (head)
           lswitch(s)   land downgrading                                      (ha)
           xprod(c)     crop production                                      (ton)
           cons(dr)     on-farm consumption                                  (ton)
           sales(c)     crop sales                                           (ton)
           flab(tm)     family labor                                    (man-days)
           tlab(tm)     temporary labor                                 (man-days)
           plab         permanent labor                                  (workers)
           rationr      livestock ration requirements                         (cr)
           pdev(ty)     positive price deviations                             (cr)
           ndev(ty)     negative price deviations                             (cr)
           yfarm        farm income                                           (cr)
           revenue      from crop and livestock sales                         (cr)
           cropcost     accounting: cropping activities cost                  (cr)
           labcost      accounting: labor costs - including family            (cr)
           vetcost      accounting: veterinary services cost                  (cr)

 positive variables xcrop,xliver,lswitch,sales,cons,flab,tlab,plab,pdev,ndev

 equations landb(s)     land balance
           lbal         livestock balance                                             ( )
           rliv         livestock ration requirements definition                      ( )
           mbalc(c)     material balance: crops                                       ( )
           dprod(c)     crop production definition                                    ( )
           cond         on farm consumption definition                                ( )
           labc(tm)     labor supply-demand relation                                  ( )
           ddev(ty)     crop price deviation definition                               ( )
           income       farm income definition                                        ( )
           arev         accounting: revenue definition                                ( )
           acrop        accounting: cropping cost definition                          ( )
           alab         accounting: labor cost definition                             ( )
           awcc         accounting: working capital requirements                      ( )
           avet         accounting: veterinary costs                                  (cr)

                                                       ;
 landb(s).. sum(p$ps(p,s), a(p)*xcrop(p,s))$sc(s) + sum(sp, ldp(s,sp)*lswitch(sp)) + sum(r, lio(s,r)*xliver(r))
          =l= landc(s);

 lbal.. xlive =e= sum(r, xliver(r));

 rliv..   rationr =e= sum(r, rations(r)*xliver(r));

 mbalc(c).. sum((s,p), yield(p,c,s)*xcrop(p,s))/1000 =g= sales(c) + sum(dr, cbndl(c,dr)*cons(dr));

 dprod(c).. xprod(c) =e= sum((p,s), yield(p,c,s)*xcrop(p,s))/1000;

 labc(tm).. sum((p,s)$ps(p,s), labor(p,tm)*xcrop(p,s)) + sum(r, llab(tm,r)*xliver(r))
                     =l= flab(tm) + tlab(tm) + dpm*plab;

 cond..     sum(dr, cons(dr)) =e= 1;

 ddev(ty).. sum(c, prdev(c,ty)*sales(c)) =e= pdev(ty) - ndev(ty);

 arev..  revenue =e= lprice*xlive + 1000*sum(c, price(c)*sales(c));

 acrop.. cropcost =e= sum((p,s)$ps(p,s), pcost(p)*xcrop(p,s));

 alab..  labcost =e= (fwage*sum(tm, flab(tm)) + twage*sum(tm, tlab(tm)))/dpm + pwage*plab;

 awcc..  cropcost + rationr + vetcost + twage/dpm*sum(tm, tlab(tm)) + pwage*plab =l= wcbar;

 avet..  vetcost =e= vetpr*xlive;

 income..    yfarm =e= revenue + vsc*sum(dr, cons(dr)) - labcost - rationr - vetcost - cropcost
             - phi*sum(ty, pdev(ty) + ndev(ty))/card(ty);


 model agreste farm level model / all /;

 xcrop.up(p,s)$xcropl(p,s) = xcropl(p,s);
 flab.up(tm) = famlab;

 solve agreste maximizing yfarm using lp;

 phi = 0;
 solve agreste maximizing yfarm using lp;