$title Organic Fertilizer Use in Intensive Farming (CHINA,SEQ=56) $onText Models the use of organic and chemical fertilizers for triple-cropping in the southern Jiangsu province. Detailed attention is paid to removal and replenishment of plant nutrients and humus. Wiens, T B, The Economics of High-yield Agriculture in China: Triple-Cropping at the Baimano Peoples' Commune. The World Bank, Washington DC, 1985. Keywords: linear programming, agricultural economics, fertilizer industry $offText $sTitle Set Definitions Set ca 'all commodities' / barley, silt wheat, nightsoil e-rice 'early rice', amm-water 'ammonia water' m-rice 'middle rice', amm-bi 'ammonium bicarbonate' l-rice 'late rice', ssp 'single superphosphate' l-sc-rice 'late single crop rice', pigs g-manure 'green manure', shoats gm-seeds 'green manure seeds', c-straw 'composted straw' rapeseed, c-gm 'composted green manure' azolla, c-hyacinth 'composted hyacinth' azolla-e 'early azolla', pig-m 'pig-manure' fodder, straw-b 'straw bedding' g-feed 'grain feed', rapes-c 'composted rape seed' straw, vegetable hyacinth / c(ca) 'crops' / barley, wheat, e-rice, m-rice l-rice, l-sc-rice, g-manure, gm-seeds rapeseed, azolla, azolla-e, fodder / g(c) 'grains' / barley, wheat, e-rice, m-rice, l-rice, l-sc-rice / cu(ca) 'upland crops' / fodder, vegetable / cp(ca) 'commodities purchased' / hyacinth, pig-m, silt, nightsoil amm-water, amm-bi, ssp / cs(ca) 'commodities sold' / barley, wheat, e-rice, m-rice l-rice, l-sc-rice, rapeseed, pigs shoats, straw, vegetable / s 'crop sequence' / bar-r-r, bar-sr, bar-r, wh-sr wh-r, gm-r-r, gm-sr, gm-s-sr gm-r, rape-sr, fallow-sr / sh(s) 'sequences with higher fertilizer application' / bar-r-r, gm-r-r wh-r, bar-r / cf(ca) 'fertilizers' / c-straw, c-gm, c-hyacinth, pig-m straw-b, nightsoil, azolla, rapes-c amm-water, amm-bi, ssp / nh 'nutrients and humus' / n, p2o5, k2o, humus / n(nh) 'nutrients' / n, p2o5, k2o / en 'effective nutrients' / n-imm, n-tot, p2o5-eff, k2o-exch, humus / f 'fertilization intensity' / normal, high / p 'pig raising activities' / r-shoats, r-pigs / ss(s,f) 'sequence possibilities' t 'time periods' / nov-1, nov-mar, mar-2, apr-1, apr-2 may-1, may-jun, jun-2, jul-1, jul-2 aug-1, aug-2, sep, oct-1, oct-2 /; ss(s,"normal") = yes; ss(sh,"high") = yes; display ss; $sTitle Data Scalar paddy 'paddy land available (mu)' / 268.6 / upland 'upland available (mu)' / 7.8 / muperha 'conversion of mu to hectares (mu per hectar)' / 15 / jinperkg 'conversion of jin to kg (jin per kg)' / 2.0 / yperd 'exchange rate (yuan per dollar)' / 1.8 /; Table mcp(s,c) 'multi cropping patterns for paddy land (mu)' barley wheat e-rice m-rice l-rice l-sc-rice g-manure gm-seeds rapeseed azolla azolla-e fodder bar-r-r .704 .193 .807 1.0 gm-r-r .193 .807 1.0 .704 bar-sr .859 1.0 .141 1.0 .859 wh-sr .859 1.0 .141 1.0 gm-sr 1.0 1.0 1.0 .859 rape-sr 1.0 .141 .859 1.0 fallow-sr 1.0 .141 .859 gm-s-sr 1.0 .1 .9 bar-r .9 1.0 .1 1.0 wh-r .9 1.0 .1 gm-r 1.0 1.0 1.0 ; Table cdata(ca,*) 'crop data' * yield : paddy land yield in jin per mu * cash-cost : yuan per mu * straw-y : kg per kg output * proc-price: yuan per ton * quota-sale: tons yield cash-cost straw-y proc-price quota-sale barley 427.6 11.0 1.0 226.0 wheat 530.3 11.0 1.1 316.0 e-rice 690.3 14.9 .8 232.0 m-rice 962.7 23.6 1.0 238.0 l-rice 558.2 18.9 .8 272.0 l-sc-rice 857.7 25.2 1.0 233.0 g-manure 4968.1 2.3 rapeseed 221.1 9.8 1.5 720.0 4 azolla 1149.0 azolla-e 1149.0 fodder 1200 straw 44.0 1.2 pigs 1200.0 4 shoats 1800.0 vegetable 375.0 ; Parameter yield(ca) 'paddy land crop yields (ton per mu)' yieldu(ca) 'upland yields (ton per mu)' / fodder .3, vegetable .24 / cxcrop(s) 'cash cost by sequence (yuan per mu)' aqsprice(ca) 'above quota sales price (yuan per ton)'; Scalar grainquota 'grain sales quota (tons)' / 100 /; yield(ca) = cdata(ca,"yield")/jinperkg/1000; cxcrop(s) = sum(c, cdata(c,"cash-cost")*mcp(s,c)); aqsprice(ca) = 1.1*cdata(ca,"proc-price"); aqsprice(c) = 1.5*cdata(c,"proc-price"); display yield, yieldu, cxcrop, aqsprice; Table purdata(ca,*) 'purchase prices and limits' price quantity * (yuan/ton) (tons) amm-water 30 amm-bi 123 nightsoil 20 7 ssp 100 500 pig-m 12 10000 hyacinth 15; Table pigio(ca,p) 'pig raising input output relations' r-shoats r-pigs shoats 1 -0.12 pigs 1 straw-b 8 8 g-feed -3.3 -2.6 straw -8.8 -8.8 fodder -0.55 -0.50; Parameter cxpig(p) 'pig raising cash cost (yuan per ton)' / r-shoats 90, r-pigs 60 / gio(ca,g) 'grain feed mixing recipes (kg per kg)'; gio(g,g) = -1; gio("g-feed",g) = 1; $sTitle Labor Use and Supply Table lu(t,c) 'labor use for crops (gongs per mu per period)' barley wheat e-rice m-rice l-rice l-sc-rice g-manure gm-seeds rapeseed nov-1 8.15 8.15 3.17 3.00 14.90 nov-mar 7.45 7.45 7.75 5.57 6.33 13.07 1.00 1.00 15.15 mar-2 1.10 1.10 2.03 .74 .74 1.85 apr-1 .4 .4 3.25 .70 .70 apr-2 .9 .9 3.36 .70 .70 1.0 may-1 .2 .2 8.20 2.92 4.42 3.00 .9 may-jun 10.80 8.80 13.58 12.12 1.50 5.27 6.70 8.40 jun-2 2.00 2.35 4.40 3.00 8.99 jul-1 2.48 5.41 3.00 5.00 jul-2 .70 5.59 3.00 4.50 aug-1 8.42 1.00 9.35 1.42 aug-2 1.88 3.65 4.92 4.54 sep 1.30 1.30 3.20 5.09 4.15 1.00 oct-1 1.30 1.30 6.13 1.52 1.25 1.25 .50 oct-2 1.25 1.25 4.37 .12 1.0 1.00 .30; Parameter lab(t,s) 'labor requirements for crop sequences (gongs per day per mu)' dlab(t,c) 'daily labor requirements for single crop (gongs per day per mu)' labj(t) 'labor adjustment coefficient (proportion)' / aug-1 .12 / days(t) 'number of days in periods (days)' / nov-1 22, nov-mar 120, mar-2 16, (apr-1,apr-2) 15, may-1 14 may-jun 32, jun-2 15, jul-1 15, jul-2 12, aug-1 14 aug-2 21, sep 30, oct-1 14, oct-2 10 /; Scalar tday 'total number of days in all periods (days)' lsup 'labor supply (gongs per day)' / 137 /; tday = sum(t, days(t)); dlab(t,c) = lu(t,c)/days(t); lab(t,s) = sum(c, dlab(t,c)*mcp(s,c)); display lab, dlab, tday; $sTitle Fertilizer Requiremets and Supply Table nc(cf,nh) 'nutrient composition (pct weight)' n p2o5 k2o humus c-straw .63 .11 .85 21.4 c-gm .40 .11 .35 2.34 c-hyacinth .24 .07 .11 2.64 pig-m .35 .32 .75 straw-b .60 .20 .80 15.9 azolla .34 .02 .12 2.58 nightsoil .65 .30 .25 rapes-c 4.60 2.50 1.40 amm-water 3.75 amm-bi 17.00 ssp 15.00 ; Table nu(cf,nh,en) 'fertilizer utilization rates (pct)' n.n-imm n.n-tot p2o5.p2o5-eff k2o.k2o-exch humus.humus (c-straw,c-gm,c-hyacinth) 10 76 20 14 100 (pig-m,straw-b,nightsoil) 9 76 8 16 100 azolla 20 76 20 14 100 rapes-c 10 76 20 14 amm-water 20 40 amm-bi 22 45 ssp 25 ; Table pno(c,n) 'plant nutrient offtake (pct weight of output)' n p2o5 k2o barley 3.0 1.0 2.0 wheat 2.75 1.2 2.4 e-rice 1.9 0.8 2.7 m-rice 2.1 1.0 2.9 l-rice 2.05 0.9 2.75 l-sc-rice 1.9 0.9 3.0 g-manure 0.11 0.35 rapeseed 7.0 3.6 7.1 ; Table nup(cu,en) 'upland cropping nutrient requirement (kg per mu)' n-imm n-tot p2o5-eff k2o-exch humus fodder 2.0 11.0 1.0 2.5 vegetable 4.58 21.35 2.57 3.93 ; Table soil(c,*) 'soil data - supplies of p2o5 k2o nitrogen requirement and irrigation water' p2o5-eff k2o-exch inr iwr * (p r o p o r t i o n s) (tons/ha) barley .6 .3 .47 4125 wheat .6 .3 .45 4125 e-rice -.1 .25 .45 4875 m-rice .2 .35 .45 6000 l-rice .6 .75 .3 4875 l-sc-rice .05 .25 .24 8250 g-manure .9 1 rapeseed .5 .4 .58 ; Parameter cno(c,n) 'crop nutrient offtake (ton per mu)' enc(cf,en) 'effective nutrient content (pct weight)' freq(c,en) 'effective nutrient requirements (ton per mu)' sreq(s,en,f) 'crop sequence nutrient requirements (ton per mu)' cxfert(cf) 'fertilization cash cost (yuan per ton)' / azolla 1.3 rapes-c 200 /; Scalar kc 'k2o content of irrigation water (ppm)' / 3.5 / hdr 'humus decomposition rate (kg per kg soil n)' / 9 /; cno(c,n) = pno(c,n)*yield(c)/100; enc(cf,en) = sum(nh, nu(cf,nh,en)*nc(cf,nh))/100; display nu, enc; freq(c,"n-imm") = cno(c,"n")*soil(c,"inr"); freq(c,"n-tot") = cno(c,"n"); freq(c,"p2o5-eff") = cno(c,"p2o5")*(1 - soil(c,"p2o5-eff")); freq(c,"k2o-exch") = cno(c,"k2o")*(1 - soil(c,"k2o-exch")) - soil(c,"iwr")*kc/muperha/1e6; freq(c,"humus") = hdr*(freq(c,"n-tot") - freq(c,"n-imm")); sreq(s,en,"normal") = sum(c, freq(c,en)*mcp(s,c)); Parameter mult(en) 'nutrient req factor' / n-imm 1.1, n-tot 1.05, p2o5-eff 1.25 k2o-exch 1.1, humus 1.0 / hyield(c) 'yield for high fertilizer applications (tons per mu)' hreq(c,en) 'nutrient requirements for high application rates (tons per mu)'; hreq(c,en) = freq(c,en)*mult(en); hyield(c) = yield(c)*1.07; sreq(s,en,"high") = sum(c, hreq(c,en)*mcp(s,c)); Parameter syield(ca,s,f) 'yield of crop sequence (ton per mu)' sys(s,f) 'straw yield of crop sequences (ton per mu)'; syield(c,s,"normal") = yield(c)*mcp(s,c); syield(c,s,"high") = hyield(c)*mcp(s,c); sys(s,f) = sum(c, cdata(c,"straw-y")*syield(c,s,f)); * e-rice straw is plowed under immediately, adjust straw yields and fertilizer requirement sys(s,f) = sys(s,f) - syield("e-rice",s,f)*cdata("e-rice","straw-y"); sreq(s,en,f) = sreq(s,en,f) - cdata("e-rice","straw-y")*syield("e-rice",s,f) * enc("c-straw",en)/100*mcp(s,"e-rice"); syield("straw",s,f) = sys(s,f); syield("rapes-c",s,f) = .8*syield("rapeseed",s,f); display cno, freq, sreq; Table crec(ca,cf) 'composting and fertilizing recipes' c-straw c-gm c-hyacinth azolla straw .12 g-manure .12 hyacinth .12 pig-m .05 .05 .05 silt .83 .83 .83 azolla 1.0 azolla-e .2; crec(cf,cf)$(not sum(ca, crec(ca,cf))) = 1; display crec; Table chemnall(ca,*) 'chemical nitrogen (ammonium bicarbonate) allocations' * crops: kg ammonium bicarbonate per mu of crop planted * qsa : quota sales allocation for pigs (kg per kg) * aqsa : above quota sales allocation (kg per kg) crops qsa aqsa (barley,wheat) 49 .17 e-rice 53 .17 (m-rice,l-rice,l-sc-rice) 45 .17 rapeseed 45 .45 g-manure 4 pigs .225 .225; Parameter schem(s) 'chemical fertilizer allocation for crop sequences (tons amm-bi per mu)'; schem(s) = .001*sum(c, chemnall(c,"crops")*mcp(s,c)); display schem; $sTitle Model Definition Variable xcrop(s,f) 'paddy land cropping activities (mu)' xupland(ca) 'upland cropping activities (mu)' xpig(p) 'pig raising activities (ton)' xfeed(g) 'grain feed mixing (ton)' xfert(ca) 'fertilization activities (kg)' purchase(ca) 'purchasing activities (ton)' sales(ca) 'quota sales (ton)' aqsales(ca) 'above quota sales (ton)' ccost 'cash cost (yuan)' income 'brigade income (yuan)'; Positive Variable xcrop, xupland, xpig, xfeed, xfert, purchase, sales, aqsales; Equation labor(t) 'labor balance (gong per day)' mb(ca) 'material balance (ton)' fert(en) 'nutrient and humus balance (ton)' chemn 'chemical nitrogen allocation (ton)' landp 'paddy land constraint (mu)' landu 'upland land constraint (mu)' gmseed 'green manure seed requirements (mu)' grainq 'grain quota sales (ton)' cdef 'cash cost definition (yuan)' incdef 'income definition (yuan)'; mb(ca).. sum((s,f)$ss(s,f), syield(ca,s,f)*xcrop(s,f)) + sum(p, pigio(ca,p)*xpig(p)) + purchase(ca)$cp(ca) + sum(g, gio(ca,g)*xfeed(g)) + yieldu(ca)*xupland(ca)$cu(ca) =g= (sales(ca) + aqsales(ca))$cs(ca) + sum(cf, crec(ca,cf)*xfert(cf)); labor(t).. sum((s,f)$ss(s,f), lab(t,s)*xcrop(s,f)) =l= (1+labj(t))*lsup; fert(en).. sum((s,f)$ss(s,f), sreq(s,en,f)*xcrop(s,f)) + .001*sum(cu, nup(cu,en)*xupland(cu)) =l= .01 *sum(cf, enc(cf,en)*xfert(cf)); chemn.. sum((s,f)$ss(s,f), schem(s)*xcrop(s,f)) + sum(cs, chemnall(cs,"qsa")*sales(cs) + chemnall(cs,"aqsa")*aqsales(cs)) =g= purchase("amm-bi"); landp.. sum((s,f)$ss(s,f), xcrop(s,f)) =l= paddy; landu.. sum(cu, xupland(cu)) =l= upland; gmseed.. sum((s,f)$ss(s,f), ((1-.16)*mcp(s,"gm-seeds") - .16*mcp(s,"g-manure"))*xcrop(s,f)) =g= 0; grainq.. sum(g, sales(g)) =g= grainquota; cdef.. ccost =e= sum((s,f)$ss(s,f), cxcrop(s)*xcrop(s,f)) + sum(p, cxpig(p)*xpig(p)) + sum(cf, cxfert(cf)*xfert(cf)) + sum(cp, purdata(cp,"price")*purchase(cp)); incdef.. income =e= sum(cs, cdata(cs,"proc-price")*sales(cs) + aqsprice(cs)*aqsales(cs)) - ccost; Model china 'brigade model' / all /; sales.lo(cs) = cdata(cs,"quota-sale"); purchase.up(cp)$purdata(cp,"quantity") = purdata(cp,"quantity"); solve china maximizing income using lp; $sTitle Solution Reports Parameter frep(en,*) 'fertilization demand and supply summary'; frep(en,"demand ") = .01*sum(cf, enc(cf,en)*xfert.l(cf)) + fert.l(en); frep(en,"supply") = .01*sum(cf, enc(cf,en)*xfert.l(cf)); frep(en,"s-price") = -fert.m(en); frep(en,cf) = .01*enc(cf,en)*xfert.l(cf); display frep;