$TITLE: M6-7.GMS: two households with different preferences, endowments $ONTEXT adaptation of model M3-7: distortionary tax can be used for redistribution modeled as an MPEC: find the optimal tax maximizing social welfare two add-ons (1) allows the redistributive shares of tax revenue to be endogenous (2) allows an optimal lump-sum redistribution for comparison Two household: differ in preferences and in endowments Household A: well endowed with labor, preference for labor-int good Y Household B: well endowed with capital, preference for capital-int good X Production Sectors Consumers Markets | X Y WA WB | A B ---------------------------------------------------------- PX | 100 -40 -60 | PY | 100 -60 -40 | PWA | 100 | -100 PWB | 100 | -100 PL | -25 -75 | 90 10 PK | -75 -25 | 10 90 ---------------------------------------------------------- The tax redistribution or sharing rule can also be interpreted as the relative number of households in each group, with all households getting an equal share of tax receipts $OFFTEXT PARAMETERS WEIGHTA weight of consumer A in social welfare WEIGHTB weight of consumer B in social welfere; WEIGHTA = 0.5; WEIGHTB = 0.5; VARIABLES WS social welfare TAX endogenous tax rate on X LS lump sum redistibution; NONNEGATIVE VARIABLES X Activity level for sector X, Y Activity level for sector Y, WA Activity level for weflare for consumer A WB Activity level for welfare for consumer B PX Price index for commodity X, PY Price index for commodity Y, PK Price index for primary factor K, PL Price index for primary factor L, PWA Price index for welfare A(expenditure function), PWB Price index for welfare B(expenditure function), CONSA Income definition for CONSA, CONSB Income definition for CONSB SHA share of tax redistributed to consumer A SHB share of tax redistributed to consumer B; EQUATIONS OBJ Social welfare function PRF_X Zero profit for sector X PRF_Y Zero profit for sector Y PRF_WA Zero profit for sector WA (Hicksian welfare index) PRF_WB Zero profit for sector WB (Hicksian welfare index) 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 K MKT_WA Supply-demand balance for aggregate demand consumer A MKT_WB Supply-demand balance for aggregate demand consumer B I_CONSA Income definition for CONSA I_CONSB Income definition for CONSB ADDUP Sum of the redistributive shares equals 1; * Objective function (social weflare function) to be maxmized OBJ.. WS =E= (WA**WEIGHTA) * (WB**WEIGHTB); * Zero profit conditions: PRF_X.. 100 * (PL**0.25 * PK**0.75) * (1+TAX) =E= 100 * PX; PRF_Y.. 100 * (PL**0.75 * PK**0.25) =E= 100 * PY; PRF_WA.. 100 * PX**0.4 * PY**0.6 =E= 100 * PWA; PRF_WB.. 100 * PX**0.6 * PY**0.4 =E= 100 * PWB; * Market clearing conditions: MKT_X.. 100 * X =E= 40*WA*PWA/PX + 60*WB*PWB/PX; MKT_Y.. 100 * Y =E= 60*WA*PWA/PY + 40*WB*PWB/PY; MKT_WA.. 100 * WA =E= CONSA / PWA; MKT_WB.. 100 * WB =E= CONSB / PWB; MKT_L.. 90 + 10 =E= 25*X*(PX/(1+TAX))/PL + 75*Y*PY/PL; MKT_K.. 10 + 90 =E= 75*X*(PX/(1+TAX))/PK + 25*Y*PY/PK; * Income constraints: I_CONSA.. CONSA =E= 90*PL + 10*PK + SHA*TAX*100*X*PX/(1+TAX) + LS; I_CONSB.. CONSB =E= 10*PL + 90*PK + SHB*TAX*100*X*PX/(1+TAX) - LS; ADDUP.. SHA + SHB =E= 1; *MODEL MPEC /ALL/; OPTION MPEC = nlpec; MODEL MPEC /OBJ, PRF_X.X, PRF_Y.Y, PRF_WA.WA, PRF_WB.WB, MKT_X.PX, MKT_Y.PY, MKT_L.PL, MKT_K.PK, MKT_WA.PWA, MKT_WB.PWB, I_CONSA.CONSA, I_CONSB.CONSB, ADDUP /; * Check the benchmark: WS.L =1; X.L =1; Y.L =1; WA.L =1; WB.L =1; PL.L =1; PX.L =1; PY.L =1; PK.L =1; PWB.L =1; PWA.L =1; CONSA.L =100; CONSB.L =100; TAX.L =0.; SHA.L =0.5; SHB.L =0.5; PWA.FX = 1; SOLVE MPEC USING MPEC MAXIMIZING WS; * now allow weights in social welfare to differ * e.g., 70% of all households/voters are type A WEIGHTA = 0.7; WEIGHTB = 0.3; * first, fix shares at 0.5, hold LS = 0 SHA.FX = 0.5; SHB.FX = 0.5; LS.FX = 0; SOLVE MPEC USING MPEC MAXIMIZING WS; * now free up the redistributive weights SHA.UP = +INF; SHB.UP = +INF; SHA.LO = 0; SHB.LO = 0; SOLVE MPEC USING MPEC MAXIMIZING WS; * now allow lump-sum transfers LS.UP = +INF; LS.LO = -INF; SOLVE MPEC USING MPEC MAXIMIZING WS; * now switch the weights to consumer B WEIGHTA = 0.3; WEIGHTB = 0.7; SOLVE MPEC USING MPEC MAXIMIZING WS;