$TITLE SIMPLE EXCHANGE MODEL SOLVED VIA ITERATIVE SURPLUS MINIMIZATION SET I CONSUMERS /H1*H4/ J COMMODITIES /I1*I10/; ALIAS (K,J); PARAMETER SIGMA(I) ELASTICITY OF SUBSTITUTION IN DEMAND THETA(J,I) DEMAND SHARE PARAMETER OMEGA(J,I) INITIAL ENDOWMENTS; OPTION SEED = 10001; THETA(J,I) = ROUND( UNIFORM(0,1), 1); OMEGA(J,I) = UNIFORM(0,2); SIGMA(I) = UNIFORM(0.5, 2); VARIABLES MU(I) UNIT EXPENDITURE P(J) PRICES; EQUATIONS MKT(J) MARKET CLEARANCE CONDITION MUDEF(I) DEFINES UNIT EXPENDITURE; MUDEF(I).. MU(I) =E= SUM(J, THETA(J,I) * P(J)**(1-SIGMA(I)))**(1/(1-SIGMA(I))); MKT(J).. SUM(I, OMEGA(J,I)) =E= SUM(I, THETA(J,I) * ( SUM(K, P(K) * OMEGA(K,I))/MU(I)) * (MU(I)/P(J))**SIGMA(I)); MODEL MODEL_MCP /MUDEF.MU, MKT.P/; MU.LO(I) = 5.0E-5; P.LO(J) = 5.0E-5$SMAX(I, OMEGA(J,I)); * Scale budget shares to sum to unity: ALIAS (J,JJ); THETA(J,I) = THETA(J,I) / SUM(JJ, THETA(JJ,I)); * Initial starting point in the center of the simplex: MU.L(I) = 1; P.L(J) = 1 / CARD(J); P.FX("I1") = 1; SOLVE MODEL_MCP USING MCP;