Josefina Martinez
Department of Economics
University of Colorado
$TITLE Model M1_6S: Closed 2x2 Economy with Two Consumers $ontext Two consumers in a closed economy. Production Sectors Consumers Markets | X Y WA WB | A B ---------------------------------------------------------- PX | 100 -25 -75 | PY | 100 -75 -25 | PWA | 100 | -100 PWB | 100 | -100 PL | -40 -60 | 90 10 PK | -60 -40 | 10 90 ---------------------------------------------------------- $offtext * Declare GAMS parameters which we will use in the model. SCALAR TX Ad-valorem tax rate for X sector inputs /0/; $ONTEXT $MODEL:M1_6S $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y WA ! Welfare index for consumer A WB ! Welfare index for consumer B $COMMODITIES: 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 PWA ! Price index for consumer A welfare (expenditure function) PWB ! Price index for consumer B welfare (expenditure function) $CONSUMERS: CONSA ! Income level for consumer A CONSB ! Income level for consumer B * More than one tax may be levied on a single transaction with * revenues accruing to different agents. As specified here, the * ad-valorem tax rate on inputs to sector X equals 2*TX. Half * of the tax revenue accrues to A and half to B. $PROD:X s:1 O:PX Q:100 I:PL Q: 40 A:CONSA T:TX A:CONSB T:TX I:PK Q: 60 A:CONSA T:TX A:CONSB T:TX $PROD:Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD:WA s:1 O:PWA Q:100 I:PX Q:25 I:PY Q:75 $PROD:WB s:1 O:PWB Q:100 I:PX Q:75 I:PY Q:25 $DEMAND:CONSA D:PWA Q:100 E:PL Q: 90 E:PK Q: 10 $DEMAND:CONSB D:PWB Q:100 E:PL Q: 10 E:PK Q: 90 $OFFTEXT $SYSINCLUDE mpsgeset M1_6S * Check the benchmark: M1_6S.ITERLIM = 0; $INCLUDE M1_6S.GEN SOLVE M1_6S USING MCP; M1_6S.ITERLIM = 2000; * Solve a counterfactual: TX = 0.5; $INCLUDE M1_6S.GEN SOLVE M1_6S USING MCP; *--------------------------------------------------------------------- * EXERCISE (2). Use the model to ascertain the utility * possibility frontier (UPF) for this economy, with TX as the sole * redistributive instrument. Compare this frontier with the * Pareto-optimal frontier based on lump-sum redistribution. $ontext A lump-sum redistribution can be modeled by including transfers. We modify the program to introduce an auxiliary variable with a rationing constraint that gives each consumer a transfer that makes their incomes to converge. Note that we changed the value of TX for SC1 from -0.5 to -0.3, because when running the model with TX = -0.5 there is no solution (the model is infeasible). $offtext $ONTEXT $MODEL:M1_6AS $SECTORS: X ! Activity level for sector X Y ! Activity level for sector Y WA ! Welfare index for consumer A WB ! Welfare index for consumer B $COMMODITIES: 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 PWA ! Price index for consumer A welfare (expenditure function) PWB ! Price index for consumer B welfare (expenditure function) $CONSUMERS: CONSA ! Income level for consumer A CONSB ! Income level for consumer B * Declare an auxiliary variable to compute automatically the * transfer from CONSA to CONSB $AUXILIARY: TRNATB ! Implied transfer from A to B $PROD:X s:1 O:PX Q:100 I:PL Q: 40 A:CONSA T:TX A:CONSB T:TX I:PK Q: 60 A:CONSA T:TX A:CONSB T:TX $PROD:Y s:1 O:PY Q:100 I:PL Q: 60 I:PK Q: 40 $PROD:WA s:1 O:PWA Q:100 I:PX Q:25 I:PY Q:75 $PROD:WB s:1 O:PWB Q:100 I:PX Q:75 I:PY Q:25 $DEMAND:CONSA D:PWA Q:100 E:PL Q:-1 R:TRNATB E:PL Q: 90 E:PK Q: 10 $DEMAND:CONSB D:PWB Q:100 E:PL Q:1 R:TRNATB E:PL Q: 10 E:PK Q: 90 $CONSTRAINT:TRNATB CONSB =E= CONSA; $OFFTEXT $SYSINCLUDE mpsgeset M1_6AS M1_6AS.ITERLIM = 2000; *------ TX as the sole redistributive instrument: * Fix transfers equal to zero: TRNATB.FX = 0; SET SC Scenarios /SC1*SC5/; PARAMETER TXVALUE(SC) Values of TX by scenario /SC1 -0.3, SC2 -0.1, SC3 0, SC4 0.1, SC5 0.5 /, WELFARE Welfare index by scenario; LOOP(SC, * Install a tax rate for the current scenario: TX = TXVALUE(SC); $INCLUDE M1_6AS.GEN SOLVE M1_6AS USING MCP; * Extract solution values: WELFARE("UPF",SC,"A") = WA.L; WELFARE("UPF",SC,"B") = WB.L; ); *------ LUMP-SUM redistribution: * Include transfers and allow them to be negative (transfers * from B to A) TRNATB.LO = -INF; TRNATB.UP = +INF; LOOP(SC, * Install a tax rate for the current scenario: TX = TXVALUE(SC); $INCLUDE M1_6AS.GEN SOLVE M1_6AS USING MCP; * Extract solution values: WELFARE("UPF_LUMP",SC,"A") = WA.L; WELFARE("UPF_LUMP",SC,"B") = WB.L; ); DISPLAY WELFARE;The solution listing appears as follows:
S O L V E S U M M A R Y MODEL M1_6S Default price normalization using income for CONSA LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR WA . 1.000 +INF . ---- VAR WB . 1.000 +INF . ---- VAR PX . 1.000 +INF . ---- VAR PY . 1.000 +INF . ---- VAR PL . 1.000 +INF . ---- VAR PK . 1.000 +INF . ---- VAR PWA . 1.000 +INF . ---- VAR PWB . 1.000 +INF . ---- VAR CONSA . 100.000 +INF . ---- VAR CONSB . 100.000 +INF . X Activity level for sector X Y Activity level for sector Y WA Welfare index for consumer A WB Welfare index for consumer B 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 PWA Price index for consumer A welfare (expenditure function) PWB Price index for consumer B welfare (expenditure function) CONSA Income level for consumer A CONSB Income level for consumer BCounterfactual model: 50% tax on X sector inputs:
S O L V E S U M M A R Y MODEL M1_6S Default price normalization using income for CONSA LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.659 +INF . ---- VAR Y . 1.336 +INF . ---- VAR WA . 1.155 +INF . ---- VAR WB . 0.761 +INF . ---- VAR PX . 2.138 +INF . ---- VAR PY . 1.099 +INF . ---- VAR PL . 1.163 +INF . ---- VAR PK . 1.010 +INF . ---- VAR PWA . 1.298 +INF . ---- VAR PWB . 1.810 +INF . ---- VAR CONSA . 150.000 +INF . ---- VAR CONSB . 137.755 +INF .UPF_O: TX as the sole distributive instrumentTX = -0.30
L O O P S SC SC1 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.462 +INF . ---- VAR Y . 0.529 +INF . ---- VAR WA . 0.609 +INF . ---- VAR WB . 1.251 +INF . ---- VAR PX . 0.595 +INF . ---- VAR PY . 1.431 +INF . ---- VAR PL . 1.324 +INF . ---- VAR PK . 1.608 +INF . ---- VAR PWA . 1.149 +INF . ---- VAR PWB . 0.741 +INF . ---- VAR CONSA . 70.000 +INF . ---- VAR CONSB . 92.703 +INF . ---- VAR TRNATB . . . 22.703TX = -0.10L O O P S SC SC2 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.117 +INF . ---- VAR Y . 0.883 +INF . ---- VAR WA . 0.921 +INF . ---- VAR WB . 1.070 +INF . ---- VAR PX . 1.207 +INF . ---- VAR PY . 1.494 +INF . ---- VAR PL . 1.465 +INF . ---- VAR PK . 1.538 +INF . ---- VAR PWA . 1.416 +INF . ---- VAR PWB . 1.273 +INF . ---- VAR CONSA . 130.357 +INF . ---- VAR CONSB . 136.216 +INF . ---- VAR TRNATB . . . 5.859TX = 0L O O P S SC SC3 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR WA . 1.000 +INF . ---- VAR WB . 1.000 +INF . ---- VAR PX . 1.531 +INF . ---- VAR PY . 1.531 +INF . ---- VAR PL . 1.531 +INF . ---- VAR PK . 1.531 +INF . ---- VAR PWA . 1.531 +INF . ---- VAR PWB . 1.531 +INF . ---- VAR CONSA . 153.060 +INF . ---- VAR CONSB . 153.060 +INF . ---- VAR TRNATB . . . 5.528E-10TX = 0.10L O O P S SC SC4 LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.906 +INF . ---- VAR Y . 1.094 +INF . ---- VAR WA . 1.055 +INF . ---- VAR WB . 0.939 +INF . ---- VAR PX . 1.819 +INF . ---- VAR PY . 1.528 +INF . ---- VAR PL . 1.552 +INF . ---- VAR PK . 1.493 +INF . ---- VAR PWA . 1.596 +INF . ---- VAR PWB . 1.742 +INF . ---- VAR CONSA . 168.366 +INF . ---- VAR CONSB . 163.590 +INF . ---- VAR TRNATB . . . -4.776TX = 0.50L O O P S SC SC5 LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.659 +INF . ---- VAR Y . 1.336 +INF . ---- VAR WA . 1.155 +INF . ---- VAR WB . 0.761 +INF . ---- VAR PX . 3.182 +INF . ---- VAR PY . 1.637 +INF . ---- VAR PL . 1.732 +INF . ---- VAR PK . 1.504 +INF . ---- VAR PWA . 1.933 +INF . ---- VAR PWB . 2.695 +INF . ---- VAR CONSA . 223.294 +INF . ---- VAR CONSB . 205.066 +INF . ---- VAR TRNATB . . . -18.228UPF_O: Lump-Sum redistribution --Including TransfersTX = -0.3
L O O P S SC SC1 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.409 +INF . ---- VAR Y . 0.583 +INF . ---- VAR WA . 0.727 +INF . ---- VAR WB . 1.131 +INF . ---- VAR PX . 0.989 +INF . ---- VAR PY . 2.390 +INF . ---- VAR PL . 2.231 +INF . ---- VAR PK . 2.649 +INF . ---- VAR PWA . 1.917 +INF . ---- VAR PWB . 1.233 +INF . ---- VAR CONSA . 139.445 +INF . ---- VAR CONSB . 139.445 +INF . ---- VAR TRNATB -INF -7.500 +INF .TX = -0.10L O O P S SC SC2 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.106 +INF . ---- VAR Y . 0.893 +INF . ---- VAR WA . 0.942 +INF . ---- VAR WB . 1.049 +INF . ---- VAR PX . 1.890 +INF . ---- VAR PY . 2.342 +INF . ---- VAR PL . 2.301 +INF . ---- VAR PK . 2.405 +INF . ---- VAR PWA . 2.220 +INF . ---- VAR PWB . 1.994 +INF . ---- VAR CONSA . 209.167 +INF . ---- VAR CONSB . 209.167 +INF . ---- VAR TRNATB -INF -1.818 +INF .TX = 0L O O P S SC SC3 LOWER LEVEL UPPER MARGINAL ---- VAR X . 1.000 +INF . ---- VAR Y . 1.000 +INF . ---- VAR WA . 1.000 +INF . ---- VAR WB . 1.000 +INF . ---- VAR PX . 2.353 +INF . ---- VAR PY . 2.353 +INF . ---- VAR PL . 2.353 +INF . ---- VAR PK . 2.353 +INF . ---- VAR PWA . 2.353 +INF . ---- VAR PWB . 2.353 +INF . ---- VAR CONSA . 235.313 +INF . ---- VAR CONSB . 235.313 +INF . ---- VAR TRNATB -INF . +INF .TX = 0.10L O O P S SC SC4 LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.913 +INF . ---- VAR Y . 1.087 +INF . ---- VAR WA . 1.041 +INF . ---- VAR WB . 0.953 +INF . ---- VAR PX . 2.836 +INF . ---- VAR PY . 2.381 +INF . ---- VAR PL . 2.416 +INF . ---- VAR PK . 2.330 +INF . ---- VAR PWA . 2.488 +INF . ---- VAR PWB . 2.715 +INF . ---- VAR CONSA . 258.845 +INF . ---- VAR CONSB . 258.845 +INF . ---- VAR TRNATB -INF 1.429 +INF .TX = 0.50L O O P S SC SC5 LOWER LEVEL UPPER MARGINAL ---- VAR X . 0.677 +INF . ---- VAR Y . 1.319 +INF . ---- VAR WA . 1.116 +INF . ---- VAR WB . 0.800 +INF . ---- VAR PX . 5.097 +INF . ---- VAR PY . 2.617 +INF . ---- VAR PL . 2.761 +INF . ---- VAR PK . 2.416 +INF . ---- VAR PWA . 3.092 +INF . ---- VAR PWB . 4.315 +INF . ---- VAR CONSA . 345.126 +INF . ---- VAR CONSB . 345.126 +INF . ---- VAR TRNATB -INF 5.000 +INF . E x e c u t i o n ---- 1183 PARAMETER WELFARE Welfare index by scenarioTX as the sole distributive instrumentA B UPF .SC1 0.609 1.251 UPF .SC2 0.921 1.070 UPF .SC3 1.000 1.000 UPF .SC4 1.055 0.939 UPF .SC5 1.155 0.761Lump-Sum redistribution --Including TransfersA B UPF_LUMP.SC1 0.727 1.131 UPF_LUMP.SC2 0.942 1.049 UPF_LUMP.SC3 1.000 1.000 UPF_LUMP.SC4 1.041 0.953 UPF_LUMP.SC5 1.116 0.800