* This file contains the dual long-run production problem, as described in Chapter 6 of Gilbert and Tower (2009). * Contact: jgilbert@usu.edu or tower@econ.duke.edu. * Define the indexes for the problem SET I Goods /1,2/; SET J Factors /K,L/; ALIAS (J, JJ); * Create names for parameters PARAMETERS GAMMA(I) Shift parameter in production DELTA(J,I) Share parameter in production RHO(I) Elasticity parameter in production ESUB(I) Elasticity of substitution P(I) Output prices FBAR(J) Endowments QO(I) Initial output level RO(J) Initial factor prices AO(J,I) Initial per unit factor use levels GDPO Initial gross domestic product; * Assign values to the parameters P(I)=1; RO(J)=1; QO(I)=100; AO('L','1')=0.2; AO('L','2')=0.8; AO('K',I)=(P(I)-AO('L',I)*RO('L'))/RO('K'); FBAR(J)=SUM(I, AO(J,I)*QO(I)); GDPO=SUM(I, P(I)*QO(I)); RHO(I)=0.1; ESUB(I)=1/(1-RHO(I)); DELTA(J,I)=(RO(J)/AO(J,I)**(RHO(I)-1))/(SUM(JJ, RO(JJ)/AO(JJ,I)**(RHO(I)-1))); GAMMA(I)=QO(I)/(SUM(J, DELTA(J,I)*(AO(J,I)*QO(I))**RHO(I)))**(1/RHO(I)); DISPLAY DELTA, GAMMA, ESUB; * Create names for variables VARIABLES Q(I) Output levels R(J) Factor prices A(J,I) Per unit factor use levels GDP Gross domestic product; * Assign initial values to variables, and set lower bounds Q.L(I)=QO(I); R.L(J)=RO(J); A.L(J,I)=AO(J,I); GDP.L=GDPO; Q.LO(I)=0; R.LO(J)=0; A.LO(J,I)=0; * Create names for equations EQUATIONS ZERO(I) Zero profit functions RESOURCE(J) Resource constraints UFDEMAND(J,I) Unit factor demand functions INCOME Gross domestic product; * Assign the expressions to the equation names ZERO(I)..P(I)=E=GAMMA(I)**(-1)*SUM(J, DELTA(J,I)**ESUB(I)*R(J)**(1-ESUB(I)))**((RHO(I)-1)/(RHO(I))); RESOURCE(J)..FBAR(J)=E=SUM(I, A(J,I)*Q(I)); UFDEMAND(J,I)..A(J,I)=E=DELTA(J,I)**(1/(1-RHO(I)))*R(J)**(-1/(1-RHO(I)))/(GAMMA(I)*SUM(JJ, (DELTA(JJ,I)*R(JJ)**(-RHO(I)))**(1/(1-RHO(I))))**(1/RHO(I))); INCOME..GDP=E=SUM(I, P(I)*Q(I)); * Define the equations that make the model, and solve MODEL HOSD /ALL/; SOLVE HOSD USING NLP MAXIMIZING GDP;