$Build and Solve a Simple General Equilibrium (GE) model with Hicksian LES Demand using a Mixed Complementarity Problem (MCP) **Anton Yang, Purdue University $offsymxref $offsymlist $ondotl Option limcol=0, limrow=0, sysout=off, solprint=on; Set i /G,S/ iter /1*3/ ; Alias (i,j); Parameter L Labor supply a(i) Unit Labor requirement gamma(i) Subsistence quantity alpha(i) Alpha parameters bshr(i) Budget share of i aiter(i,iter) / G.1=1, S.1=1, G.2=0.25, S.2=1, G.3=0.5, S.3=0.5 / ; L = 100; gamma('G') = 40; gamma('S') = 0; alpha('G') = 1/6; alpha('S') = 1-alpha('G'); Nonnegative Variables q(i) Quantity Supply p(i) Price of each goods pl Price of labor w Income U Utiliy PU Price index ; Equations Eq_pu Zero-profit equation for welfare Eq_f(i) Zero-profit equation for G and S Eq_w Market-clearing for aggregate demand Eq_q(i) Market-clearing for G and S Eq_l Market-clearing for labor Eq_inc Income definition ; Eq_pu.. prod[i, p(i)**alpha(i)] =g= PU; Eq_f(i).. a(i)*pl =g= p(i); Eq_w.. PU =e= [w-sum(i,p(i)*gamma(i))]/U; Eq_q(i).. q(i) =g= gamma(i) + alpha(i)*U*PU/p(i); Eq_l.. L =g= sum[i, a(i)*q(i)]; Eq_inc.. w =e= pl*L; Model stonegeary /Eq_PU.U, Eq_f.q, Eq_q.p, Eq_w.PU, Eq_inc.w, Eq_l.pl/; Loop(iter, a(i) = aiter(i,iter); pl.fx = 1; p.l(i) = a(i)*pl; PU.l=prod[i, p.l(i)**alpha(i)]; w.l = pl.l*L; U.l = [w.l-sum(i,p.l(i)*gamma(i))]/PU.l; q.l(i) = gamma(i) + alpha(i)*U.l*PU.l/p.l(i); Solve stonegeary using mcp; bshr(i) = q.l(i)*p.l(i)/sum[j,q.l(j)*p.l(j)]; Display bshr; ) ;