$title Vonthunen Problem as described in NE/SQP * REFERENCES: PANG-GABRIEL SET J REGIONS /1*20/, I COMMODITIES /1*4/, H CONSUMERS /H1*H3/; SCALAR PI /3.14159/, ENDLA /30/, TOTRP /18.525/, TOTLA /27.3/, PEPS /1.E-7/; * PEPS is a epsilon perturbation of the bounds on the prices * Some of the demands are not (really) defined when PEPS = 0. * However, some solvers may solve the problem when PEPS = 0. PARAMETER ATH(I) / 1 1.0, 2 2.0, 3 3.0, 4 4.0/, BETA(I) / 1 0.9, 2 0.7, 3 0.5, 4 0.3/, T(I) / 1 0.015, 2 0.006, 3 0.004, 4 0.01/, PII(I) / 1 2, 2 1, 3 0.5, 4 1/, RI(J) / 1 6, 2 4, 3 2, 4 1, 5 0.9, 6 0.8, 7 0.7, 8 0.6, 9 0.5, 10 0.4, 11 0.3, 12 0.2, 13 0.1, 14 0.05, 15 0.0, 16 0.0, 17 0.0, 18 0.0, 19 0.0, 20 0.0/, LAND(J), C(I,J), YI(I,J), ALPHA(I,H); LAND(J)=0.1*PI*(2*ORD(J)-1); C(I,J)=T(I)*(10*ORD(J)-5); TABLE ALPHA(I,H) H1 H2 H3 1 0.273 0.3 0.3 2 0.273 0.3 0.3 3 0.1365 0.15 0.15 4 0.2275 0.25 0.25 TABLE YI(I,J) 1 2 3 4 5 6 7 8 9 10 1 20 1 2 5 5 5 5 3 3 5 4 4 5 5 5 5 + 11 12 13 14 15 16 17 18 19 20 1 2 1 1 1 3 3 4 ; POSITIVE VARIABLES P(I) W TAO R(J) Y(I,J); EQUATION F_P(I) F_W F_TAO F_R(J) F_Y(I,J); F_P(I).. SUM(J,Y(I,J))-(ALPHA(I,"H1")*W*ENDLA+ALPHA(I,"H3")*TAO*TOTRP +ALPHA(I,"H2")*SUM(J,R(J)*LAND(J)))/P(I)=g=0; F_W.. TOTLA-SUM((I,J), Y(I,J)* ((W/BETA(I))**BETA(I)/ATH(I)*(R(J)/(1.0-BETA(I)))**(1.0-BETA(I))) *BETA(I))/W=g=0; F_TAO.. TOTRP-SUM( (I,J),C(I,J)*Y(I,J))=g=0; F_R(J).. LAND(J)-SUM(I,Y(I,J)* ((W/BETA(I))**BETA(I)/ATH(I)*(R(J)/(1.0-BETA(I)))**(1.0-BETA(I))) *(1.0-BETA(I)))/R(J)=g=0; F_Y(I,J).. ((W/BETA(I))**BETA(I)/ATH(I)*(R(J)/(1.0-BETA(I)))**(1.0-BETA(I))) +TAO*C(I,J)-P(I)=g=0; * ADJUST BOUNDS SO FUNCTIONS ARE WELL DEFINED P.LO(I) = PEPS; W.LO = PEPS; R.LO(J) = PEPS; * FIX a NUMERAIRE W.FX = 1; MODEL VONTHUN / F_P.P, F_W.W, F_TAO.TAO, F_R.R, F_Y.Y /; option domlim = 1000; P.L(I) = 1; R.L(J) = 1; W.L = 1; TAO.L = 1; Y.L(I,J) = 1; SOLVE VONTHUN USING MCP; P.L(I) = PII(I); TAO.L = 1.2; R.L(J) = RI(J); Y.L(I,J) = YI(I,J); SOLVE VONTHUN USING MCP; P.L(I) = PII(I); TAO.L = 1.2; R.L(J) = MAX(RI(J),1.E-6); Y.L(I,J) = MAX(YI(I,J),1.E-6); SOLVE VONTHUN USING MCP; PEPS = 0.0; P.LO(I) = PEPS; W.LO = PEPS; R.LO(J) = PEPS; P.L(I) = 1; R.L(J) = 1; W.L = 1; TAO.L = 1; Y.L(I,J) = 1; SOLVE VONTHUN USING MCP; P.L(I) = PII(I); TAO.L = 1.2; R.L(J) = RI(J); Y.L(I,J) = YI(I,J); SOLVE VONTHUN USING MCP; P.L(I) = PII(I); TAO.L = 1.2; R.L(J) = MAX(RI(J),1.E-6); Y.L(I,J) = MAX(YI(I,J),1.E-6); SOLVE VONTHUN USING MCP;