$TITLE M3-5: use of an initially slack activity * e.g., modeling tax avoidance or use of "green" but expensive * technologies $ONTEXT sector "Z" produces good X, but with a less efficient technology than activity X (sector X). High tax on X leads to switching Z could be interpreted as an "informal" or "illegal" technology such as smuggling. Or, Z is an expensive "green" technology Production Sectors Consumers Markets | X Y W | CONS ------------------------------------------------------ PX | 100 -100 | PY | 100 -100 | PW | 200 | -200 PL | -40 -60 | 100 PK | -60 -40 | 100 ------------------------------------------------------ $OFFTEXT PARAMETER TX Ad-valorem tax rate on X sector inputs INEF Inefficiency measure in sector Z; TX = 0; INEF = 1.1; NONNEGATIVE VARIABLES X Activity level for sector X Y Activity level for sector Y Z Activity level for sector Z initial inefficient W Activity level for sector W PX Price index for commodity X PY Price index for commodity Y PL Price index for primary factor L PK Price index for Primary factor K PW Price index for welfare (expenditure function) CONS Income definition for CONS; EQUATIONS PRF_X Zero profit for sector X PRF_Y Zero profit for sector Y PRF_Z Zero profit for sector Z PRF_W Zero profit for sector W MKT_X Supply-demand balance for commodity X MKT_Y Supply-demand balance for commodity Y MKT_L Supply-demand balance for primary factor L MKT_K Supply-demand balance for primary factor L MKT_W Supply-demand balance for aggregate demand I_CONS Income definition for CONS; * Zero profit conditions: PRF_X.. 100*(PL**0.4 * PK**0.6) * (1+TX) =G= 100*PX; PRF_Y.. 100*(PL**0.6 * PK**0.4) =G= 100*PY; PRF_Z.. 100*INEF*(PL**(0.40) * PK**(0.60)) =G= 100*PX; PRF_W.. 200 * PX**0.5 * PY**0.5 =E= 200 * PW; * Market clearing conditions: MKT_X.. 100*X + 100*Z =G= 100*W*PW/PX; MKT_Y.. 100*Y =G= 100*W*PW/PY; MKT_W.. 200*W =G= CONS/PW; MKT_L.. 100 =G= 40*X*(PX/(1+TX))/PL + 60*Y*PY/PL + 40*Z*PX/PL; MKT_K.. 100 =G= 60*X*(PX/(1+TX))/PK + 40*Y*PY/PK + 60*Z*PX/PK; * Income constraints: I_CONS.. CONS =E= 100*PL + 100*PK + TX*100*X*(PX/(1+TX)); MODEL SLACK /PRF_X.X, PRF_Y.Y, PRF_Z.Z, PRF_W.W, MKT_X.PX, MKT_Y.PY, MKT_L.PL,MKT_K.PK, MKT_W.PW, I_CONS.CONS /; * Check the benchmark: X.L =1; Y.L =1; W.L =1; Z.L =0; PL.L =1; PX.L =1; PY.L =1; PK.L =1; PW.FX =1; CONS.L =200; TX =0; * introducing a calibration check SLACK.ITERLIM = 0; SOLVE SLACK USING MCP; * now allow the solver to work SLACK.ITERLIM = 2000; SOlVE SLACK USING MCP; * the first counterfactual shows how a tax leads to switching * to the inefficient "informal" technology TX = 0.25; SOLVE SLACK USING MCP; * the second counterfactual shows the different in welfare when * the inefficient technology cannot be used Z.FX = 0; TX = 0.25; SOLVE SLACK USING MCP; Z.UP = +INF; Z.LO = 0; * scenario generation: loop over values of the tax SETS I /I1*I30/; PARAMETERS TAXRATE(I) WELFARE(I) ZPROD(I) RESULTS(I,*); * scenario generation: looop of tax rates LOOP(I, TX = 0.01*ORD(I) - 0.01; SOLVE SLACK USING MCP; TAXRATE(I) = TX; WELFARE(I) = W.L; ZPROD(I) = Z.L; ); RESULTS(I, "TAXRATE") = TAXRATE(I); RESULTS(I, "WEFLARE") = WELFARE(I); RESULTS(I, "ZPROD") = ZPROD(I); DISPLAY TAXRATE, WELFARE, ZPROD, RESULTS; $LIBINCLUDE XLDUMP TAXRATE M3-5.XLS SHEET1!B3 $LIBINCLUDE XLDUMP WELFARE M3-5.XLS SHEET1!B6 $LIBINCLUDE XLDUMP RESULTS M3-5.XLS SHEET1!B9