$offListing *option profile=2 ; *$onListing *$onuellist $oneolcom * default end of line comment is !! $oninline * default inline comments start with /* and end with */ $offSymXRef *$onsymlist $offSymList option limrow=0 ; option limcol=0 ; option solslack = 1 ; option cns = conopt ; *option mcp=nlpec ; option mcp = path ; option nlp = conopt ; Sets u Universal set / BRD, MLK, CAP, LAB, IDT, TRF, HOH,GOV, INVBRD, INVMLK, EXT / c(u) Set of commodities consumed and industries producing commodities / BRD, MLK / i(u) Set of investment activities by industry / INVBRD, INVMLK / f(u) Set of primary factors / CAP, LAB / ; Alias (c,cp), (i,ip), (f,fp), (u,up) ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Define and calculate model parameters * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Table SAM(u,up) Social Accounting Matrix * ORD -> 1 2 3 4 5 6 7 8 9 10 11 BRD MLK CAP LAB IDT TRF HOH GOV INVBRD INVMLK EXT BRD 21 8 0 0 0 0 10.9677419354839 20 6.4 9.6 16.0322580645161 !! 1 MLK 17 9 0 0 0 0 16.4516129032258 15 6 9 16.5483870967742 !! 2 CAP 20 30 0 0 0 0 0 0 0 0 0 !! 3 LAB 15 25 0 0 0 0 0 0 0 0 0 !! 4 IDT 5 4 0 0 0 0 0 0 0 0 0 !! 5 TRF 1 2 0 0 0 0 0 0 0 0 0 !! 6 HOH 0 0 27.4193548387097 40 0 0 0 0 0 0 0 !! 7 GOV 0 0 0 0 9 3 23 0 0 0 0 !! 8 INVBRD 0 0 0 0 0 0 6.8 0 0 0 5.6 !! 9 INVMLK 0 0 0 0 0 0 10.2 0 0 0 8.4 !! 10 EXT 13 11 22.5806451612903 0 0 0 0 0 0 0 0 !! 11 ; Parameter SAMrowTotals(u) The sum of columns for each row in the SAM matrix ; SAMrowTotals(u) = sum[up, SAM(u,up)] ; * display SAMrowTotals ; Parameter SAMcolTotals(up) The sum of rows for each column in the SAM matrix ; SAMcolTotals(up) = sum[u, SAM(u,up)] ; * display SAMcolTotals ; Parameter CheckSAM(u) Check that the row and column totals are identical ; CheckSAM(u) = SAMrowTotals(u) - SAMcolTotals(u) ; * display CheckSAM ; Parameter Life(c) Economic life of capital stock (measured in years) ; Life(c) = 15 ; Parameter Capital0(c) Value of capital used by each industry (measured as Gross Operating Surplus) ; * GOS is used to define the quantity of capital stock (number of plants) under the Harberger price convention Capital0(c) = SAM('CAP',c) ; Parameter RentalPrice0(c) Rental price of Capital0 under the Harberger Convention ; RentalPrice0(c)= 1.0 ; Parameter InvestmentConsumption0(c,cp) Use of each final composite commodity create plant (investment) ; InvestmentConsumption0(c,'BRD') = SAM[c,'INVBRD'] ; InvestmentConsumption0(c,'MLK') = SAM[c,'INVMLK'] ; Parameter ValueInvestment0(cp) Value of investment in a single year to maintain steady state stock of capital in each industry ; ValueInvestment0(cp) = sum[c, InvestmentConsumption0(c,cp)] ; Parameter Investment0(c) Investment activity for each industry (number of plants built per year to maintain steady state capital stock) ; Investment0(c)= Capital0(c)/Life(c) ; Parameter UnitPriceCapital0(c) Price of building a unit of capital (price of building a plant) ; UnitPriceCapital0(c) = ValueInvestment0(c)/Investment0(c) ; Parameter CapitalRecoveryFactor(c) Capital Recovery Factor used to relate the Rental Price of a unit of capital its unit cost construction ; CapitalRecoveryFactor(c) = RentalPrice0(c)/UnitPriceCapital0(c) ; Parameter TotalInvestment0(c) Total cost of investment in all plants ; TotalInvestment0(c) = UnitPriceCapital0(c)*Capital0(c) ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Digression: Check out the implied rate of return on investment for each industry $ontext Sets Yrs The years of cash flow produced by each plant / Yr1*yr15 / ; Variables IRR(c) Internal rate of return on investment for each industry ; Equations DiscountedCashFlows(c) The investment cost must equal the discounted cash flows at the IRR ; DiscountedCashFlows(c).. sum[Yrs, Capital0(c)/{(1+IRR(c))**(ord(Yrs))}] - TotalInvestment0(c) =e= 0 ; IRR.l(c) = 0.05 ; model IrrFun / DiscountedCashFlows / ; solve IrrFun using cns ; $offtext * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Scalar IncomeTax0 Value of income tax paid on gross household income ; IncomeTax0 = SAM('GOV','HOH') ; Parameter CompanyTax0(c) Value of company tax paid on total cost of production for each industry ; CompanyTax0(c) = SAM('IDT',c) ; Parameter TariffRevenue0(c) Value of tariff paid by each industry on the import of commodity ; TariffRevenue0(c) = SAM('TRF',c) ; Parameter IndustryLabour0(c) Value of labour used by each industry ; IndustryLabour0(c) = SAM('LAB',c) ; Parameter IndustryCompositePrimaryFactor0(c) Value of the composite primary factor used by each industry ; IndustryCompositePrimaryFactor0(c) = IndustryLabour0(c) + Capital0(c) ; Parameter IndustryFinalCompositeCommodity0(c,cp) Total value of each final composite commodity used to produce each intermediate commodity ; IndustryFinalCompositeCommodity0(c,cp) = SAM(c,cp) ; Parameter IntermediateCommodity0(c) Total value of production of each intermediate commodity ; * (GOS + labour + final composite commodities) IntermediateCommodity0(c) = IndustryLabour0(c) + Capital0(c) + sum[cp, IndustryFinalCompositeCommodity0(cp,c)] ; Parameter IndustryImport0(c) Total value of the imported commodity used in the production of final composite commodities (excludes tariff) ; IndustryImport0(c) = SAM('EXT',c) ; Parameter CompanyTaxRate(c) company rate of taxation on the value of production of intermediate commodity ; CompanyTaxRate(c) = CompanyTax0(c)/IntermediateCommodity0(c) ; Parameter TariffRate(c) Rate of the tariff on the value of imported commodity used as input in the production of final composite commodities ; TariffRate(c)= TariffRevenue0(c)/IndustryImport0(c) ; Parameter HouseholdConsumption0(c) Household consumption of each final composite commodity ; HouseholdConsumption0(c) = SAM(c,'HOH') ; Scalar TotalLabour0 Household endowment of labour ; TotalLabour0 = SAM('HOH','LAB') ; Parameter GovernmentConsumption0(c) Government consumption of each final composite commodity ; GovernmentConsumption0(c) = SAM(c,'GOV') ; Scalar Government0 Level of government activity ; Government0 = sum[c, GovernmentConsumption0(c)] ; Parameter ExportCommodity0(c) Total value of each commodity exported (AUD) ; ExportCommodity0(c) = SAM(c,'EXT') ; Parameter TotalFinalCompositeCommodity0(c) Total value of each final composite commodity ; TotalFinalCompositeCommodity0(c) = HouseholdConsumption0(c) + GovernmentConsumption0(c) + sum[cp, InvestmentConsumption0(c,cp)] + sum[cp, IndustryFinalCompositeCommodity0(c,cp)] ; Parameter DomesticCommodity0(c) Total value of the domestic commodity ; DomesticCommodity0(c) = (1+CompanyTaxRate(c))*IntermediateCommodity0(c) - ExportCommodity0(c) ; Parameter PriceDomesticCommodity0(c) Initial price of the domestic commodity ; PriceDomesticCommodity0(c) = 1.0 ; Scalar HouseholdSaving0 Total value of household saving ; HouseholdSaving0 = sum[i, SAM(i,'HOH')] ; Scalar ForeignSaving0 Foreign investment in Australian capital stock (USD) ; ForeignSaving0 = sum[i, SAM(i,'EXT')] ; Scalar DomOwnShr Domestic ownership share of capital stock ; DomOwnShr = SAM('HOH','CAP') / [SAM('HOH','CAP')+SAM('EXT','CAP')] ; * display DomOwnShr ; Scalar HouseholdSaveRate Household average propensity to save ; HouseholdSaveRate = HouseholdSaving0 / sum[f, SAM('HOH',f)] ; Scalar HouseholdTaxRate average income tax rate for household ; HouseholdTaxRate = IncomeTax0 / sum[f, SAM('HOH',f)] ; Parameter DomesticPriceExport(c) Domestic price of each export commodity (AUD) (Harberger convention) ; DomesticPriceExport(c) = 1.0 ; Parameter DomesticPriceImport(c) Domestic price of imported commodities (AUD) (Harberger convention) ; DomesticPriceImport(c) = 1.0 ; Parameter SigmaCES(c) CES elasticity of substitution between imported and domestic commodities to produce the final composite commodity / BRD = 2.0, MLK = 2.0 / ; Parameter RhoCES(c) Simplified CES elasticity of substitution ; RhoCES(c) = [SigmaCES(c)-1.0] / SigmaCES(c) ; Parameter SigmaCET(c) CET elasticity of transformation between domestic and export commodities / BRD = 2.0, MLK = 2.0 / ; Parameter RhoCET(c) Simplified CET elasticity of transformation between domestic and export commodities ; RhoCET(c)= (SigmaCET(c)+1.0) / SigmaCET(c) ; Parameter BetaCDutility(c) Share (distribution) parameter in the Cobb-Douglas utility function for the consumer (household) ; BetaCDutility(c)= HouseholdConsumption0(c) / sum[cp, HouseholdConsumption0(cp)] ; Scalar AlphaCDutility scale parameter of the Cobb-Douglas utility function so that initial utility is equal to 1.0 ; AlphaCDutility = 1.0/prod[c, HouseholdConsumption0(c)**BetaCDutility(c)] ; Scalar MarginalUtilityDisposableIncome0 initial marginal utility of consumer (household) disposable income ; MarginalUtilityDisposableIncome0 = sum[c, BetaCDutility(c)/{1.0*HouseholdConsumption0(c)}]/card(c) ; Parameter BetaCDlab(c) Labour share (distribution) parameter in the Cobb-Douglas primary factor production function ; BetaCDlab(c) = IndustryLabour0(c) / {IndustryLabour0(c) + Capital0(c)} ; Parameter BetaCDcap(c) Capital share parameter in the Cobb-Douglas primary factor production function ; BetaCDcap(c) = Capital0(c) / {IndustryLabour0(c) + Capital0(c)} ; Parameter AlphaCDprimaryfactor(c) scale parameter in the Cobb-Douglas primary factor production function ; AlphaCDprimaryfactor(c) = IndustryCompositePrimaryFactor0(c) / {IndustryLabour0(c)**BetaCDlab(c)*Capital0(c)**BetaCDcap(c)} ; Parameter BetaLfincompcomm(cp,c) Amount of Final Composite Commodity used per unit of intermdediate commodity ; BetaLfincompcomm(cp,c) = IndustryFinalCompositeCommodity0(cp,c)/IntermediateCommodity0(c) ; Parameter BetaLcompprimfact(c) Amount of Composite Primary Factor used per unit of intermdediate commodity ; BetaLcompprimfact(c) = IndustryCompositePrimaryFactor0(c)/IntermediateCommodity0(c) ; Parameter BetaLgovernment(c) Amount of final Composite Comodity used per unit of government ; BetaLgovernment(c) = GovernmentConsumption0(c)/Government0 ; Parameter BetaLcap(c) The number of units of capital stock supplied by a unit of capital stock investment to maintain the steady state ; BetaLcap(c) = Life(c) ; Parameter BetaLinvestment(c,cp) Amount of Composite Final Commodity used per unit of investment for each industry ; BetaLinvestment(c,cp) = InvestmentConsumption0(c,cp) / Investment0(cp) ; Parameter BetaCESimport(c) Import distribution parameter in the CES final composite commodity Armington production function ; BetaCESimport(c) = (1.0+TariffRate(c))*IndustryImport0(c)**(1.0-RhoCES(c)) / ((1.0+TariffRate(c))*IndustryImport0(c)**(1.0-RhoCES(c))+DomesticCommodity0(c)**(1.0-RhoCES(c))) ; Parameter BetaCESdomestic(c) Domestic commodity distribution parameter in the CES final composite commodity Armington production function ; BetaCESdomestic(c) = DomesticCommodity0(c)**(1.0-RhoCES(c)) / ((1.0+TariffRate(c))*IndustryImport0(c)**(1.0-RhoCES(c))+DomesticCommodity0(c)**(1.0-RhoCES(c))) ; Parameter AlphaCES(c) Scale parameter in the CES final composite commodity Armington production function ; AlphaCES(c) = TotalFinalCompositeCommodity0(c) / (BetaCESimport(c)*IndustryImport0(c)**RhoCES(c)+BetaCESdomestic(c)*DomesticCommodity0(c)**RhoCES(c))**(1/RhoCES(c)) ; Parameter BetaCETexport(c) Export distribution parameter in the CET domestic-export transformation function ; BetaCETexport(c)= ExportCommodity0(c)**(1.0-RhoCET(c)) /(ExportCommodity0(c)**(1.0-RhoCET(c))+DomesticCommodity0(c)**(1.0-RhoCET(c))) ; Parameter BetaCETdomestic(c) Domestic distribution parameter in the CET domestic-export transformation function ; BetaCETdomestic(c) = DomesticCommodity0(c)**(1.0-RhoCET(c)) /(ExportCommodity0(c)**(1.0-RhoCET(c))+DomesticCommodity0(c)**(1.0-RhoCET(c))) ; Parameter AlphaCET(c) Scale parameter in the CET domestic-export transformation function ; AlphaCET(c) = IntermediateCommodity0(c) /(BetaCETexport(c)*ExportCommodity0(c)**RhoCET(c)+BetaCETdomestic(c)*DomesticCommodity0(c)**RhoCET(c))**(1/RhoCET(c)) ; Scalar nXrate Nominal exchange rate used as numeraire expressed as USD per AUD / 0.75 / ; Parameter InternationalPriceImport(c) International price of each imported commodity ; InternationalPriceImport(c) = DomesticPriceImport(c)*nXrate/(1.0+TariffRate(c)) ; Parameter BetaExpComm(c) Constant elasticity of world demand for each export commodity / BRD = -5.0, MLK = -5.0 / ; Parameter AlphaExpComm(c) Scale parameter for the inverse constant elasticty export demand function for each commodity (foreign price USD) ; AlphaExpComm(c) = (DomesticPriceExport(c)*nXrate)/(ExportCommodity0(c)**(1/BetaExpComm(c))) ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Define and initialise variables * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Positive variable WageRate Wage rate for the exogenous supply of household labourWage rate for the exogenous supply of household labour ; WageRate.L = 1.0 ; WageRate.Lo = 0.0001 ; Positive variable Labour(c) Quantity of labour used by each industry to make its the composite primary factor ; Labour.L(c) = IndustryLabour0(c) ; Labour.Lo(c) = 0.0001 ; Positive variable CapitalStock(c) Quantity of capital stock used by each industry to make its composite primary factor ; CapitalStock.L(c) = Capital0(c) ; CapitalStock.Lo(c) = 0.0001 ; Positive variable CompPrimFactSup(c) 'Quantity of composite primary factor produced by the "mixing" agent (supplier)' ; CompPrimFactSup.L(c) = IndustryCompositePrimaryFactor0(c) ; CompPrimFactSup.Lo(c) = 0.0001 ; Positive variable CompPrimFactDem(c) 'Quantity of composite primary factor demanded by the producer of the intermediate commodity' ; CompPrimFactDem.L(c) = IndustryCompositePrimaryFactor0(c) ; CompPrimFactDem.Lo(c) = 0.0001 ; Positive variable PriceSupCompPrimFact(c) 'Supply price of composite primary factor offered by the "mixing" agent' ; PriceSupCompPrimFact.L(c) = 1.0 ; PriceSupCompPrimFact.Lo(c) = 0.0001 ; Positive variable RentalPriceCapitalStock(c) Annualised rental price of a unit of capital stock ; RentalPriceCapitalStock.L(c) = 1.0 ; RentalPriceCapitalStock.Lo(c) = 0.0001 ; Positive variable PriceDemCompPrimFact(c) Demand price of composite primary factor offered by the producer of the intermediate commodity ; PriceDemCompPrimFact.L(c) = 1.0 ; PriceDemCompPrimFact.Lo(c) = 0.0001 ; Positive variable MargCostICwrtCompPrimFact(c) Marginal cost of producing the intermediate commodity wrt the composite primary factor ; MargCostICwrtCompPrimFact.L(c) = BetaLcompprimfact(c)*(1+CompanyTaxRate(c)) ; MargCostICwrtCompPrimFact.Lo(c) = 0.0001 ; Positive variable MargCostICwrtFinCompComm(cp,c) Marginal cost of producing the intermediate commodity wrt to each final composite commodity ; MargCostICwrtFinCompComm.L(cp,c) = BetaLfincompcomm(cp,c)*(1+CompanyTaxRate(c)) ; MargCostICwrtFinCompComm.Lo(cp,c) = 0.0001 ; Positive variable IndFinCompCommDem(cp,c) Quantity of each final composite commodity demanded to make each intermediate commodity ; IndFinCompCommDem.L(cp,c) = IndustryFinalCompositeCommodity0(cp,c) ; IndFinCompCommDem.Lo(cp,c) = 0.0001 ; Positive variable IndUseFinCompComm(cp,c) Quantity of each final composite commodity used to make each intermediate commodity ; IndUseFinCompComm.L(cp,c) = IndustryFinalCompositeCommodity0(cp,c) ; IndUseFinCompComm.Lo(cp,c) = 0.0001 ; Positive variable IntermCommSup(c) Quantity of intermediate commodity supplied by each industry ; IntermCommSup.L(c) = IntermediateCommodity0(c) ; IntermCommSup.Lo(c) = 0.0001 ; Positive variable IntermCommDem(c) Quantity of intermediate commodity used to make domestic and exported commodities ; IntermCommDem.L(c) = IntermediateCommodity0(c) ; IntermCommDem.Lo(c) = 0.0001 ; Positive variable PriceSupIntermCommIncTax(c) Price of supply of the intermediate commodity for each industry ; PriceSupIntermCommIncTax.L(c) = 1.0*(1+CompanyTaxRate(c)) ; PriceSupIntermCommIncTax.Lo(c) = 0.0001 ; Positive variable PriceDemIntermCommIncTax(c) Price of demand of the intermediate commodity for each industry ; PriceDemIntermCommIncTax.L(c) = 1.0*(1+CompanyTaxRate(c)) ; PriceDemIntermCommIncTax.Lo(c) = 0.0001 ; Positive variable ExpCommSup(c) Quantity of each export commodity produced by each industry ; ExpCommSup.L(c)= ExportCommodity0(c) ; ExpCommSup.Lo(c)= 0.0001 ; Positive variable ExpCommDem(c) Quantity of each export commodity purchased by international buyers ; ExpCommDem.L(c) = ExportCommodity0(c) ; ExpCommDem.Lo(c) = 0.0001 ; Positive variable PriceExpComm(c) Price of each export commodity (AUD) ; PriceExpComm.L(c) = 1.0 ; PriceExpComm.Lo(c) = 0.0001 ; Positive variable DomCommSup(c) Quantity of domestic commodity produced by each industry using the intermediate commodity ; DomCommSup.L(c) = DomesticCommodity0(c) ; DomCommSup.Lo(c) = 0.0001 ; Positive variable DomCommDem(c) Quantity of domestic commodity used by each industry to make the final composite commodity ; DomCommDem.L(c) = DomesticCommodity0(c) ; DomCommDem.Lo(c) = 0.0001 ; Positive variable PriceDomComm(c) Price of domestic commodity used by each industry to make the final composite commodity ; PriceDomComm.L(c) = PriceDomesticCommodity0(c) ; PriceDomComm.Lo(c) = 0.0001 ; Positive variable PriceImpComm(c) 'Price of demand for each import commodity, excluding the tariff (AUD)' ; PriceImpComm.L(c) = 1.0 ; PriceImpComm.Lo(c) = 0.0001 ; Positive variable InvestmentDem(c) Quantity of investment demanded by each industry to maintain its capital stock in steady state ; InvestmentDem.L(c) = Investment0(c) ; InvestmentDem.Lo(c) = 0.0001 ; Positive variable InvestmentSup(c) Quantity of investment supplied ; InvestmentSup.L(c) = Investment0(c) ; InvestmentSup.Lo(c) = 0.0001 ; Positive variable PriceInvestment(c) Unit cost of creating a unit of capital stock - price of investment ; PriceInvestment.L(c) = UnitPriceCapital0(c) ; PriceInvestment.Lo(c) = 0.0001 ; Positive variable PriceDemInvFinCompComm(cp,c) Demand price of each final composite commodity used to create each investment commodity ; PriceDemInvFinCompComm.L(cp,c) = BetaLinvestment(cp,c)*1.0 ; PriceDemInvFinCompComm.Lo(cp,c) = 0.0001 ; Positive variable PriceSupCompPrimFact(c) Supply price of composite primary factor for each industry ; PriceSupCompPrimFact.L(c) = 1.0 ; PriceSupCompPrimFact.Lo(c) = 0.0001 ; Positive variable ImpCommDem(c) Quantity of imported commodity used by each industry ; ImpCommDem.L(c) = IndustryImport0(c) ; ImpCommDem.Lo(c) = 0.0001 ; Positive variable ImpCommSup(c) Quantity of imported commodity supplied by foreigners ; ImpCommSup.L(c) = IndustryImport0(c) ; ImpCommSup.Lo(c) = 0.0001 ; Positive variable FinCompCommTotalSup(c) Total quantity of the final composite domestic commodity supplied ; FinCompCommTotalSup.L(c) = TotalFinalCompositeCommodity0(c) ; FinCompCommTotalSup.Lo(c) = 0.0001 ; Positive variable GovFinCompCommDem(c) Quantity of each final composite commodity demanded to make government activity ; GovFinCompCommDem.L(c) = GovernmentConsumption0(c) ; GovFinCompCommDem.Lo(c) = 0.0001 ; Positive variable InvFinCompCommDem(cp,c) Quantity of each final composite commodity used to make each investment commodity ; InvFinCompCommDem.L(cp,c) = InvestmentConsumption0(cp,c) ; InvFinCompCommDem.Lo(cp,c) = 0.0001 ; Positive variable HouseFinCompCommDem(c) Quantity of each final composite domestic commodity demanded by households ; HouseFinCompCommDem.L(c) = HouseholdConsumption0(c) ; HouseFinCompCommDem.Lo(c) = 0.0001 ; Positive variable HouseCons(c) Quantity of household consumption of each final composite domestic commodity ; HouseCons.L(c) = HouseholdConsumption0(c) ; HouseCons.Lo(c) = 0.0001 ; Positive variable Government Quantity of government ; Government.L = Government0 ; Positive variable PriceSupFinCompComm(c) Price of supply for each final composite commodity ; PriceSupFinCompComm.L(c) = 1.0 ; PriceSupFinCompComm.Lo(c) = 0.0001 ; Positive variable PriceDemFinCompComm(c) Price of demand for each final composite commodity ; PriceDemFinCompComm.L(c) = 1.0 ; PriceDemFinCompComm.Lo(c) = 0.0001 ; Positive variable PriceIndDemFinCompComm(cp,c) Demand price of each final composite domestic commodity used by each industry ; PriceIndDemFinCompComm.L(cp,c) = 1.0 ; PriceIndDemFinCompComm.Lo(cp,c) = 0.0001 ; Positive variable MargCostGovwrtFinCompCom(c) Marginal cost of government activity wrt each final composite commodity used ; MargCostGovwrtFinCompCom.L(c) = BetaLgovernment(c)*1.0 ; MargCostGovwrtFinCompCom.Lo(c) = 0.0001 ; Positive variable PriceDomComm(c) Price of each domestic commodity ; PriceDomComm.L(c) = 1.0 ; PriceDomComm.Lo(c) = 0.0001 ; Positive variable PriceGovernmentActivity Price of government activity ; PriceGovernmentActivity.L = 1.0 ; PriceGovernmentActivity.Lo = 0.0001 ; Positive variable HouseholdTaxDem level of household tax demanded by government ; HouseholdTaxDem.L = IncomeTax0 ; HouseholdTaxDem.Lo = 0.0001 ; Positive variable HouseholdSavDem Level of household saving demanded to fund investment to maintain domestic ownership share of capital stock ; HouseholdSavDem.L = HouseholdSaving0 ; HouseholdSavDem.Lo = 0.0001 ; Positive variable MarginalUtilityIncome Marginal utility of household disposable income ; MarginalUtilityIncome.L = MarginalUtilityDisposableIncome0 ; MarginalUtilityIncome.Lo = 0.0001 ; Positive variable PriceHouseCons(c) Price paid by households for consumption of final composite commodities ; PriceHouseCons.L(c) = 1.0 ; PriceHouseCons.Lo(c) = 0.0001 ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * Mapping of constraints and variables *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * constraint constraint complementarity type of number of * type variable defined variable variables,constraints *----------------------------------------------------------------------------------------------------------------------------------------------- * LabourSupDemBal =L= WageRate positive 1 * CapitalStockInvestmentBal(c) =L= RentalPriceCapitalStock(c) positive 2 * LabourMVP(c) =L= Labour(c) positive 2 * CapitalMVP(c) =L= CapitalStock(c) positive 2 * ProdnCompPrimFact(c) =L= PriceSupCompPrimFact(c) positive 2 * CompPrimFactMargin(c) =L= CompPrimFactSup(c) positive 2 * CompPrimFactSupDemBal(c) =L= PriceDemCompPrimFact(c) positive 2 * ProdnIntermCommUsingCompPrimFact(c) =L= MargCostICwrtCompPrimFact(c) positive 2 * ProdnIntermCommUsingFinCompComm(cp,c) =L= MargCostICwrtFinCompComm(cp,c) positive 4 * IntermCommMVPComPrimFact(c) =L= CompPrimFactDem(c) positive 2 * IntermCommMVPFinCompComm(cp,c) =L= IndUseFinCompComm(cp,c) positive 4 * IntermCommMarginIncTax(c) =L= IntermCommSup(c) positive 2 * IntermCommSupDemBal(c) =L= PriceSupIntermCommIncTax(c) positive 2 * IntermCommPriceBal(c) =L= IntermCommDem(c) positive 2 * ProdnDomExp(c) =L= PriceDemIntermCommIncTax(c) positive 2 * ExportCommMVP(c) =L= ExpCommSup(c) positive 2 * ExportCommDemSupBal(c) =L= PriceExpComm(c) positive 2 * ExportCommDemand(c) =L= ExpCommDem(c) positive 2 * DomesticCommCETMVP(c) =L= DomCommSup(c) positive 2 * DomesticCommDemSupBal(c) =L= PriceDomComm(c) positive 2 * ImportCommMVP(c) =L= ImpCommDem(c) positive 2 * ImportCommDemSupBal(c) =L= PriceImpComm(c) positive 2 * ImportCommSupplyMargin(c) =L= ImpCommSup(c) positive 2 * DomesticCommCESMVP(c) =L= DomCommDem(c) positive 2 * InvestmentMarginDem(c) =L= InvestmentDem(c) positive 2 * InvestmentMarginSup(c) =L= InvestmentSup(c) positive 2 * InvestmentSupDemBal(c) =L= PriceInvestment(c) positive 2 * InvFinCompCommMVP(cp,c) =L= InvFinCompCommDem(cp,c) positive 4 * ProdnInvestment(cp,c) =L= PriceDemInvFinCompComm(cp,c) positive 4 * ProdFinCompComm(c) =L= PriceSupFinCompComm(c) positive 2 * FinCompCommDemSupBal(c) =L= PriceDemFinCompComm(c) positive 2 * ProdnGovernment(c) =L= MargCostGovwrtFinCompCom(c) positive 2 * FinCompCommPriceBal(c) =L= FinCompCommTotalSup(c) positive 2 * GovFinCompCommPriceBal(c) =L= GovFinCompCommDem(c) positive 2 * HouseholdFinCompCommPriceBal(c) =L= HouseFinCompCommDem(c) positive 2 * IndFinCompCommSupDemBal(cp,c) =L= PriceIndDemFinCompComm(cp,c) positive 4 * IndFinCompCommPriceBal(cp,c) =L= IndFinCompCommDem(cp,c) positive 4 * GovernmentActivityBal =L= PriceGovernmentActivity positive 1 * GovernmentMargin =L= Government positive 1 * GovernmentBudgetBal =L= HouseholdTaxDem positive 1 * DomSavInvBal =L= HouseholdSavDem positive 1 * HouseholdBudget =L= MarginalUtilityIncome positive 1 * HouseholdConsumptionMU(c) =L= HouseCons(c) positive 2 * HouseholdCommBal(c) =L= PriceHouseCons(c) positive 2 * NSROF =E= NSR free 1 * -- * 95 <- total number *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Define constraints for the Net Social Revenue or NonLinear Programming model (all expessed as =L=) * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Equation NlpLabourSupDemBal 'Labour supply and demand balance, complementarity variable is WageRate' ; NlpLabourSupDemBal.. sum[c, Labour(c)] - TotalLabour0 =L= 0.0 ; Equation NlpCapitalStockInvestmentBal(c)'Industry capital stock investment balance, complementarity variable is rental price of capital stock' ; NlpCapitalStockInvestmentBal(c).. CapitalStock(c) - BetaLcap(c)*InvestmentDem(c) =L= 0.0 ; Equation NlpLabourMVP(c) 'Marginal Value Product of labour, complementarity variable is industry use of labour' ; NlpLabourMVP(c).. PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*CapitalStock(c)**BetaCDcap(c)*BetaCDlab(c)*Labour(c)**{BetaCDlab(c)-1.0} - WageRate =L= 0.0; Equation NlpCapitalMVP(c) 'Marginal Value Product of capital, complementarity variable is industry capital stock' ; NlpCapitalMVP(c).. PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*BetaCDcap(c)*CapitalStock(c)**{BetaCDcap(c)-1.0}*Labour(c)**BetaCDlab(c) - RentalPriceCapitalStock(c) =L= 0.0; Equation NlpProdnCompPrimFact(c) 'Production of the CPF, complementarity variable is the price of supply of CPF' ; NlpProdnCompPrimFact(c).. CompPrimFactSup(c) - AlphaCDprimaryfactor(c)*Labour(c)**BetaCDlab(c)*CapitalStock(c)**BetaCDcap(c) =L= 0.0 ; Equation NlpCompPrimFactMargin(c) 'Margin on composite primary factor for each industry, complementarity variable is quantity of CPF supplied' ; NlpCompPrimFactMargin(c).. PriceDemCompPrimFact(c) - PriceSupCompPrimFact(c) =L= 0.0 ; Equation NlpCompPrimFactSupDemBal(c) 'Supply and demand balance of CPF, CV is the demand price of CPF' ; NlpCompPrimFactSupDemBal(c).. CompPrimFactDem(c) - CompPrimFactSup(c) =L= 0.0; Equation NlpProdnIntermCommUsingCompPrimFact(c) 'Production of IC using CPF, CV is marginal cost wrt CPF' ; NlpProdnIntermCommUsingCompPrimFact(c).. IntermCommSup(c) - 1/BetaLcompprimfact(c)*CompPrimFactDem(c) =L= 0.0 ; Equation NlpProdnIntermCommUsingFinCompComm(cp,c) 'Prodn of IC using each FCC, CV is marginal cost wrt each FCC' ; NlpProdnIntermCommUsingFinCompComm(cp,c).. IntermCommSup(c) - 1/BetaLfincompcomm(cp,c)*IndUseFinCompComm(cp,c) =L= 0.0 ; Equation NlpIndFinCompCommSupDemBal(cp,c) 'Industry supply and demand balance for FCC, CV is induatry demand price for FCC' ; NlpIndFinCompCommSupDemBal(cp,c).. IndUseFinCompComm(cp,c) - IndFinCompCommDem(cp,c) =L= 0.0 ; Equation NlpIndFinCompCommPriceBal(cp,c) 'Industry demand and supply price balance for FCC, CV is Industry use of FCC' ; NlpIndFinCompCommPriceBal(cp,c).. PriceIndDemFinCompComm(cp,c) - PriceDemFinCompComm(c) =L= 0.0 ; Equation NlpIntermCommMVPComPrimFact(c) 'Marginal value product of CPF to make each IC, CV is the quantity of CPF demanded' ; NlpIntermCommMVPComPrimFact(c).. 1/BetaLcompprimfact(c)*MargCostICwrtCompPrimFact(c) - (1+CompanyTaxRate(c))*PriceDemCompPrimFact(c) =L= 0.0; Equation NlpIntermCommMVPFinCompComm(cp,c) 'Marginal value product of each FCC to make IC, CV is the quantity of FCC used' ; NlpIntermCommMVPFinCompComm(cp,c).. 1/BetaLfincompcomm(cp,c)*MargCostICwrtFinCompComm(cp,c) -(1+CompanyTaxRate(c))*PriceIndDemFinCompComm(cp,c) =L= 0.0; Equation NlpIntermCommMarginIncTax(c) 'Margin (incl tax) for each IC, CV is production (supply) of each interm comm' ; NlpIntermCommMarginIncTax(c).. PriceSupIntermCommIncTax(c) - MargCostICwrtCompPrimFact(c) - sum[cp, MargCostICwrtFinCompComm(cp,c)] =L= 0.0 ; Equation NlpIntermCommSupDemBal(c) 'Demand and supply commodity balance for IC, CV is the supply price of the IC' ; NlpIntermCommSupDemBal(c).. IntermCommDem(c) - IntermCommSup(c) =L= 0.0 ; Equation NlpIntermCommPriceBal(c) 'Demand and supply price balance for intermediate commodity, CV is the quantity if IC demanded' ; NlpIntermCommPricebal(c).. PriceDemIntermCommIncTax(c) - PriceSupIntermCommIncTax(c) =L= 0.0 ; Equation NlpProdnDomExp(c) 'Production of domestic and export commodities using IC, CV is the demand price of the IC' ; NlpProdnDomExp(c).. AlphaCET(c)*[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)]**[1/RhoCET(c)] - IntermCommDem(c) =L= 0.0 ; Equation NlpExportCommMVP(c) 'Marginal value product of export commodity for each industry, CV is the the quantity of export supplied' ; NlpExportCommMVP(c).. PriceExpComm(c) - PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)]**[1/RhoCET(c) - 1.0] *BetaCETexport(c)*ExpCommSup(c)**[RhoCET(c) - 1.0] =L= 0.0; Equation NlpExportCommDemSupBal(c) 'Export commodity domestic supply and foreign demand balance, CV is the price of export commodity (AUD)' ; NlpExportCommDemSupBal(c).. ExpCommDem(c) - ExpCommSup(c) =L= 0.0 ; Equation NlpExportCommDemand(c) 'International demand for each export commodity, CV is the quantity of each commodity exported' ; NlpExportCommDemand(c).. AlphaExpComm(c)/nXrate*ExpCommDem(c)**[1/BetaExpComm(c)] - PriceExpComm(c) =L= 0.0 ; Equation NlpDomesticCommCETMVP(c) 'Marginal value product of domestic commodity for each industry, CV is supply of domestic commodity' ; NlpDomesticCommCETMVP(c).. PriceDomComm(c) - PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)] **[1/RhoCET(c) - 1.0]*BetaCETdomestic(c)*DomCommSup(c)**[RhoCET(c) - 1.0] =L= 0.0 ; Equation NlpDomesticCommDemSupBal(c)'Demand and supply of the domestic commodity for each industry, CV is the price of the domestic commodity' ; NlpDomesticCommDemSupBal(c).. DomCommDem(c) - DomCommSup(c) =L= 0.0 ; Equation NlpImportCommMVP(c) 'Marginal value product of import commodity for each industry, CV is the quantity of import demanded' ; NlpImportCommMVP(c).. PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **[1/RhoCES(c) - 1.0]*BetaCESimport(c)*ImpCommDem(c)**[RhoCES(c) - 1.0] - PriceImpComm(c)*[1+TariffRate(c)] =L= 0.0 ; Equation NlpImportCommDemSupBal(c) 'Import commodity domestic demand and foreign supply commodity balance, CV domestic price of import' ; NlpImportCommDemSupBal(c).. ImpCommDem(c) - ImpCommSup(c) =L= 0.0 ; Equation NlpImportCommSupplyMargin(c)'Margin for the international supply of each import commodity, CV is the quantity of international supply'; NlpImportCommSupplyMargin(c).. PriceImpComm(c) - [1.0 + TariffRate(c)]*InternationalPriceImport(c)/nXrate =L= 0.0 ; Equation NlpDomesticCommCESMVP(c) 'Marginal value product of dom comm for each industry, CV is the quantity of the domestic comm demanded' ; NlpDomesticCommCESMVP(c).. PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **(1/RhoCES(c) - 1.0)*BetaCESdomestic(c)*DomCommDem(c)**[RhoCES(c) - 1.0] - PriceDomComm(c) =L= 0.0 ; Equation NlpInvestmentMarginDem(c)'Margin between the demand and supply price of capital stock,complementarity variable is investment demanded'; * note that the model is comparative static and demand and supply prices are in equivalent annual value terms NlpInvestmentMarginDem(c).. RentalPriceCapitalStock(c) - CapitalRecoveryFactor(c)*PriceInvestment(c) =L= 0 ; Equation NlpInvestmentMarginSup(c) 'Margin between the demand and supply price of investment, complementarity variable is investment supplied' ; NlpInvestmentMarginSup(c).. PriceInvestment(c) - sum[cp, PriceDemInvFinCompComm(cp,c)] =L= 0.0 ; Equation NlpInvestmentSupDemBal(c) 'Investment supply and demand balance, CV is the price of investment' ; NlpInvestmentSupDemBal(c).. InvestmentDem(c) - InvestmentSup(c) =L= 0.0 ; Equation NlpInvFinCompCommMVP(cp,c) 'Marginal value product of each FCC to make each investment, CV is the quantity of FCC demanded' ; NlpInvFinCompCommMVP(cp,c).. * PriceDemInvFinCompComm(cp,c) - BetaLinvestment(cp,c)*PriceSupFinCompComm(c) =L= 0.0 ; 1.0/BetaLinvestment(cp,c)*PriceDemInvFinCompComm(cp,c) - PriceSupFinCompComm(c) =L= 0.0 ; Equation NlpProdnInvestment(cp,c) 'Prodn of Investment using FCC, CV is marginal cost wrt each FCC' ; NlpProdnInvestment(cp,c).. InvestmentSup(c) - 1/BetaLinvestment(cp,c)*InvFinCompCommDem(cp,c) =L= 0.0 ; Equation NlpProdFinCompComm(c) 'Production of each final composite commodity, CV is the supply of price of the final composite commodity' ; NlpProdFinCompComm(c).. FinCompCommTotalSup(c) - AlphaCES(c)*[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)]**[1/RhoCES(c)] =L= 0.0 ; Equation NlpFinCompCommDemSupBal(c) 'Aggregate demand and supply balance for the final composite commodity, CV is the demand price of FCC' ; NlpFinCompCommDemSupBal(c).. sum[cp, IndFinCompCommDem(c,cp)] + HouseFinCompCommDem(c) + sum[cp, InvFinCompCommDem(c,cp)] + GovFinCompCommDem(c) - FinCompCommTotalSup(c) =L= 0.0 ; Equation NlpProdnGovernment(c) 'Prodn of Government using FCC, CV is marginal cost wrt each FCC' ; NlpProdnGovernment(c).. Government - 1/BetaLgovernment(c)*GovFinCompCommDem(c) =L= 0.0 ; Equation NlpFinCompCommPriceBal(c) 'Demand and supply price balance for the final composite commodity, CV is aggregate supply of FCC' ; NlpFinCompCommPriceBal(c).. PriceDemFinCompComm(c) - PriceSupFinCompComm(c) =L= 0.0 ; Equation NlpGovFinCompCommPriceBal(c) 'Government price balance for FCC, CV is the quantity of FCC demanded by government' ; NlpGovFinCompCommPriceBal(c).. MargCostGovwrtFinCompCom(c)/BetaLgovernment(c) - PriceDemFinCompComm(c) =L= 0.0 ; Equation NlpHouseholdFinCompCommPriceBal(c) 'Household price balance for FCC, CV is the quantity of FCC demanded by household' ; NlpHouseholdFinCompCommPriceBal(c).. PriceHouseCons(c) - PriceDemFinCompComm(c) =L= 0.0 ; Equation NlpGovernmentActivityBal 'Size of government activity, CV is the price of government activity' ; NlpGovernmentActivityBal.. Government0 - Government =L= 0.0 ; Equation NlpGovernmentMargin 'Price of government and its cost of supply balance, CV is the size of Government' ; NlpGovernmentMargin.. PriceGovernmentActivity - sum[c, MargCostGovwrtFinCompCom(c)] =L= 0.0 ; Equation NlpGovernmentBudgetBal 'Government Revenue must be sufficient to cover expenditure, CV is Household tax demanded' ; NlpGovernmentBudgetBal.. PriceGovernmentActivity*Government - sum[c, TariffRate(c)*PriceImpComm(c)*ImpCommSup(c)] - sum[c, CompanyTaxRate(c)/{1.0+CompanyTaxRate(c)}*PriceDemIntermCommIncTax(c)*IntermCommSup(c)] - HouseholdTaxDem =L= 0.0 ; Equation NlpDomSavInvBal 'Saving by Aus household must fund domestic investment to maintain domestic ownership share, CV is domestic saving' ; NlpDomSavInvBal.. sum[c, DomOwnShr*PriceInvestment(c)*InvestmentDem(c)] - HouseholdSavDem =L= 0.0 ; Equation NlpHouseholdCommBal(c) 'Household comodity balance, CV is the price paid by households' ; NlpHouseholdCommBal(c).. HouseCons(c) - HouseFinCompCommDem(c) =L= 0.0 ; Equation NlpHouseholdBudget 'Household expenditure is limited to household disposable income, CV is the marginal utility of income' ; NlpHouseholdBudget.. sum[c, PriceHouseCons(c)*HouseCons(c)] + HouseholdTaxDem + HouseholdSavDem - WageRate*TotalLabour0 - sum[c, DomOwnShr*RentalPriceCapitalStock(c)*CapitalStock(c)] =L= 0.0 ; Equation NlpHouseholdConsumptionMU(c) 'Marginal utility of household consumption, CV is the level of household consumption' ; NlpHouseholdConsumptionMU(c).. AlphaCDutility*prod[cp, HouseCons(cp)**BetaCDutility(cp)]*BetaCDutility(c)*HouseCons(c)**(-1.0) - MarginalUtilityIncome*PriceHouseCons(c) =L= 0.0 ; Free variable NSR 'The value of the objective function, defined as net social revenue, which is zero at the equilibrium (optimal solution)' ; Equation NSROF 'The NSR objective function' ; NSROF.. NSR =E= * LabourSupDemBal *#01 sum[c, WageRate*Labour(c)] - WageRate*TotalLabour0 * CapitalStockInvestmentBal(c) *#02 + sum[c, RentalPriceCapitalStock(c)*CapitalStock(c)] - sum[c, BetaLcap(c)*RentalPriceCapitalStock(c)*InvestmentDem(c)] * LabourMVP(c) + sum[c, Labour(c)*PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*CapitalStock(c)**BetaCDcap(c)*BetaCDlab(c)*Labour(c)**{BetaCDlab(c)-1.0}] *#01 - sum[c, Labour(c)*WageRate] * CapitalMVP(c) + sum[c, CapitalStock(c)*PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c) *BetaCDcap(c)*CapitalStock(c)**{BetaCDcap(c)-1.0}*Labour(c)**BetaCDlab(c)] *#02 - sum[c, RentalPriceCapitalStock(c)*CapitalStock(c)] * ProdnCompPrimFact(c) *#03 + sum[c, PriceSupCompPrimFact(c)*CompPrimFactSup(c)] - sum[c, PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*Labour(c)**BetaCDlab(c)*CapitalStock(c)**BetaCDcap(c)] * CompPrimFactMargin(c) *#04 + sum[c, CompPrimFactSup(c)*PriceDemCompPrimFact(c)] *#03 - sum[c, CompPrimFactSup(c)*PriceSupCompPrimFact(c)] * CompPrimFactSupDemBal(c) + sum[c, PriceDemCompPrimFact(c)*CompPrimFactDem(c)] *#04 - sum[c, PriceDemCompPrimFact(c)*CompPrimFactSup(c)] * ProdnIntermCommUsingCompPrimFact(c) *#08 + sum[c, MargCostICwrtCompPrimFact(c)*IntermCommSup(c)] *#05 - sum[c, 1/BetaLcompprimfact(c)*MargCostICwrtCompPrimFact(c)*CompPrimFactDem(c)] * ProdnIntermCommUsingFinCompComm(cp,c) *#09 + sum[(cp,c), MargCostICwrtFinCompComm(cp,c)*IntermCommSup(c)] *#06 - sum[(cp,c), 1/BetaLfincompcomm(cp,c)*MargCostICwrtFinCompComm(cp,c)*IndUseFinCompComm(cp,c)] * IndFinCompCommSupDemBal(cp,c) + sum[(cp,c), PriceIndDemFinCompComm(cp,c)*IndUseFinCompComm(cp,c)] *#07 - sum[(cp,c), PriceIndDemFinCompComm(cp,c)*IndFinCompCommDem(cp,c)] * IndFinCompCommPriceBal(cp,c) *#07 + sum[(cp,c), IndFinCompCommDem(cp,c)*PriceIndDemFinCompComm(cp,c)] - sum[(cp,c), IndFinCompCommDem(cp,c)*PriceDemFinCompComm(c)] * IntermCommMVPComPrimFact(c) *#05 + sum[c, 1/BetaLcompprimfact(c)*CompPrimFactDem(c)*MargCostICwrtCompPrimFact(c)] - sum[c,(1+CompanyTaxRate(c))*CompPrimFactDem(c)*PriceDemCompPrimFact(c)] * IntermCommMVPFinCompComm(cp,c) *#06 + sum[(cp,c), 1/BetaLfincompcomm(cp,c)*IndUseFinCompComm(cp,c)*MargCostICwrtFinCompComm(cp,c)] - sum[(cp,c), (1+CompanyTaxRate(c))*IndUseFinCompComm(cp,c)*PriceIndDemFinCompComm(cp,c)] * IntermCommMarginIncTax(c) *#10 + sum[c, IntermCommSup(c)*PriceSupIntermCommIncTax(c)] *#08 - sum[c, IntermCommSup(c)*MargCostICwrtCompPrimFact(c)] *#09 - sum[(cp,c), IntermCommSup(c)*MargCostICwrtFinCompComm(cp,c)] * IntermCommSupDemBal(c) *#11 + sum[c, PriceSupIntermCommIncTax(c)*IntermCommDem(c)] *#10 - sum[c, PriceSupIntermCommIncTax(c)*IntermCommSup(c)] * IntermCommPriceBal(c) *#12 + sum[c, IntermCommDem(c)*PriceDemIntermCommIncTax(c)] *#11 - sum[c, IntermCommDem(c)*PriceSupIntermCommIncTax(c)] * ProdnDomExp(c) + sum[c, PriceDemIntermCommIncTax(c)*AlphaCET(c)*[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)] **[1/RhoCET(c)]] *#12 - sum[c, PriceDemIntermCommIncTax(c)*IntermCommDem(c)] * ExportCommMVP(c) *#13 + sum[c, ExpCommSup(c)*PriceExpComm(c)] - sum[c, ExpCommSup(c)*PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)]**[1/RhoCET(c) - 1.0] *BetaCETexport(c)*ExpCommSup(c)**[RhoCET(c) - 1.0]] * ExportCommDemSupBal(c) *#14 + sum[c, PriceExpComm(c)*ExpCommDem(c)] *#13 - sum[c, PriceExpComm(c)*ExpCommSup(c)] * ExportCommDemand(c) + sum[c, ExpCommDem(c)*AlphaExpComm(c)/nXrate*ExpCommDem(c)**[1/BetaExpComm(c)]] *#14 - sum[c, ExpCommDem(c)*PriceExpComm(c)] * DomesticCommCETMVP(c) *#15 + sum[c, DomCommSup(c)*PriceDomComm(c)] - sum[c, DomCommSup(c)*PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)] **[1/RhoCET(c) - 1.0]*BetaCETdomestic(c)*DomCommSup(c)**[RhoCET(c) - 1.0]] * DomesticCommDemSupBal(c) *#17 + sum[c, PriceDomComm(c)*DomCommDem(c)] *#15 - sum[c, PriceDomComm(c)*DomCommSup(c)] * ImportCommMVP(c) + sum[c,ImpCommDem(c)*PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **[1/RhoCES(c) - 1.0]*BetaCESimport(c)*ImpCommDem(c)**[RhoCES(c) - 1.0]] - sum[c,ImpCommDem(c)*PriceImpComm(c)*[1+TariffRate(c)]] * ImportCommDemSupBal(c) + sum[c, PriceImpComm(c)*ImpCommDem(c)] *#16 - sum[c, PriceImpComm(c)*ImpCommSup(c)] * ImportCommSupplyMargin(c) *#16 + sum[c, ImpCommSup(c)*PriceImpComm(c)] - sum[c, ImpCommSup(c)*[1.0 + TariffRate(c)]*InternationalPriceImport(c)/nXrate] * DomesticCommCESMVP(c) + sum[c, DomCommDem(c)*PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **(1/RhoCES(c) - 1.0)*BetaCESdomestic(c)*DomCommDem(c)**[RhoCES(c) - 1.0]] *#17 - sum[c, DomCommDem(c)*PriceDomComm(c)] * InvestmentMarginDem(c) + sum[c, InvestmentDem(c)*RentalPriceCapitalStock(c)] - sum[c, InvestmentDem(c)*CapitalRecoveryFactor(c)*PriceInvestment(c)] * InvestmentMarginSup(c) *#18 + sum[c, InvestmentSup(c)*PriceInvestment(c)] *#19 - sum[(cp,c), InvestmentSup(c)*PriceDemInvFinCompComm(cp,c)] * InvestmentSupDemBal(c) + sum[c, PriceInvestment(c)*InvestmentDem(c)] *#18 - sum[c, PriceInvestment(c)*InvestmentSup(c)] * InvFinCompCommMVP(cp,c) *#26 + sum[(cp,c), 1.0/BetaLinvestment(cp,c)*InvFinCompCommDem(cp,c)*PriceDemInvFinCompComm(cp,c)] - sum[(cp,c), InvFinCompCommDem(cp,c)*PriceSupFinCompComm(c)] * ProdnInvestment(cp,c) *#19 + sum[(cp,c), PriceDemInvFinCompComm(cp,c)*InvestmentSup(c)] *#26 - sum[(cp,c), 1.0/BetaLinvestment(cp,c)*PriceDemInvFinCompComm(cp,c)*InvFinCompCommDem(cp,c)] * ProdFinCompComm(c) *#20 + sum[c, PriceSupFinCompComm(c)*FinCompCommTotalSup(c)] - sum[c, PriceSupFinCompComm(c)*AlphaCES(c)*[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **[1/RhoCES(c)]] * FinCompCommDemSupBal(c) + sum[(cp,c), PriceDemFinCompComm(c)*IndFinCompCommDem(c,cp)] *#21 + sum[c, PriceDemFinCompComm(c)*HouseFinCompCommDem(c)] + sum[(cp,c), PriceDemFinCompComm(c)*InvFinCompCommDem(c,cp)] *#27 + sum[c, PriceDemFinCompComm(c)*GovFinCompCommDem(c)] *#28 - sum[c, PriceDemFinCompComm(c)*FinCompCommTotalSup(c)] * ProdnGovernment(c) *#29 + sum[c, MargCostGovwrtFinCompCom(c)*Government] *#24 - sum[c, 1/BetaLgovernment(c)*MargCostGovwrtFinCompCom(c)*GovFinCompCommDem(c)] * FinCompCommPriceBal(c) *#28 + sum[c, FinCompCommTotalSup(c)*PriceDemFinCompComm(c)] *#20 - sum[c, FinCompCommTotalSup(c)*PriceSupFinCompComm(c)] * GovFinCompCommPriceBal(c) *#24 + sum[c, GovFinCompCommDem(c)*MargCostGovwrtFinCompCom(c)/BetaLgovernment(c)] *#27 - sum[c, GovFinCompCommDem(c)*PriceDemFinCompComm(c)] * HouseholdFinCompCommPriceBal(c) *#25 + sum[c, HouseFinCompCommDem(c)*PriceHouseCons(c)] *#21 - sum[c, HouseFinCompCommDem(c)*PriceDemFinCompComm(c)] * GovernmentActivityBal + PriceGovernmentActivity*Government0 *#22 - PriceGovernmentActivity*Government * GovernmentMargin *#22 + Government*PriceGovernmentActivity *#29 - sum[c, Government*MargCostGovwrtFinCompCom(c)] * GovernmentBudgetBal + HouseholdTaxDem*PriceGovernmentActivity*Government - sum[c, TariffRate(c)*HouseholdTaxDem*PriceImpComm(c)*ImpCommSup(c)] - sum[c, CompanyTaxRate(c)/{1.0+CompanyTaxRate(c)}*HouseholdTaxDem*PriceDemIntermCommIncTax(c)*IntermCommSup(c)] - HouseholdTaxDem*HouseholdTaxDem * DomSavInvBal + sum[c, DomOwnShr*HouseholdSavDem*PriceInvestment(c)*InvestmentDem(c)] - HouseholdSavDem*HouseholdSavDem * HouseholdCommBal(c) + sum[c, HouseCons(c)*PriceHouseCons(c)] *#25 - sum[c, PriceHouseCons(c)*HouseFinCompCommDem(c)] * HouseholdBudget *#23 + sum[c, MarginalUtilityIncome*PriceHouseCons(c)*HouseCons(c)] + MarginalUtilityIncome*HouseholdTaxDem + MarginalUtilityIncome*HouseholdSavDem - MarginalUtilityIncome*WageRate*TotalLabour0 - sum[c, DomOwnShr*MarginalUtilityIncome*RentalPriceCapitalStock(c)*CapitalStock(c)] * HouseholdConsumptionMU(c) + sum[c, AlphaCDutility*prod[cp, HouseCons(cp)**BetaCDutility(cp)]*BetaCDutility(c)] * + sum[c, HouseCons(c)*AlphaCDutility*prod[cp, HouseCons(cp)**BetaCDutility(cp)]*BetaCDutility(c)*HouseCons(c)**(-1.0)] *#23 - sum[c, HouseCons(c)*MarginalUtilityIncome*PriceHouseCons(c)] ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Declare the NLP model * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Model NLPCGE / NlpLabourSupDemBal NlpCapitalStockInvestmentBal NlpLabourMVP NlpCapitalMVP NlpProdnCompPrimFact NlpCompPrimFactMargin NlpCompPrimFactSupDemBal NlpProdnIntermCommUsingCompPrimFact NlpProdnIntermCommUsingFinCompComm NlpIntermCommMVPComPrimFact NlpIntermCommMVPFinCompComm NlpIntermCommMarginIncTax NlpIntermCommSupDemBal NlpIntermCommPriceBal NlpProdnDomExp NlpExportCommMVP NlpExportCommDemSupBal NlpExportCommDemand NlpDomesticCommCETMVP NlpDomesticCommDemSupBal NlpImportCommMVP NlpImportCommDemSupBal NlpImportCommSupplyMargin NlpDomesticCommCESMVP NlpInvestmentMarginDem NlpInvestmentMarginSup NlpInvestmentSupDemBal NlpInvFinCompCommMVP NlpProdnInvestment NlpProdFinCompComm NlpFinCompCommDemSupBal NlpGovFinCompCommPriceBal NlpIndFinCompCommSupDemBal NlpIndFinCompCommPriceBal NlpHouseholdFinCompCommPriceBal NlpProdnGovernment NlpFinCompCommPriceBal NlpGovernmentActivityBal NlpGovernmentMargin NlpGovernmentBudgetBal NlpDomSavInvBal NlpHouseholdCommBal NlpHouseholdConsumptionMU NlpHouseholdBudget NSROF / ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Define constraints for the Mixed Complementarity Programming (all constraints expressed as =G= as required for the PATH solver) * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Equation McpLabourSupDemBal 'Labour supply and demand balance, complementarity variable is WageRate' ; McpLabourSupDemBal.. TotalLabour0 =g= sum[c, Labour(c)] ; Equation McpCapitalStockInvestmentBal(c)'Industry capital stock investment balance, complementarity variable is rental price of capital stock' ; McpCapitalStockInvestmentBal(c).. 0.0 =g= CapitalStock(c) - BetaLcap(c)*InvestmentDem(c) ; Equation McpLabourMVP(c) 'Marginal Value Product of labour, complementarity variable is industry use of labour' ; McpLabourMVP(c).. 0.0 =g= PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*CapitalStock(c)**BetaCDcap(c)*BetaCDlab(c)*Labour(c)**{BetaCDlab(c)-1.0} - WageRate ; Equation McpCapitalMVP(c) 'Marginal Value Product of capital, complementarity variable is industry capital stock' ; McpCapitalMVP(c).. 0.0 =g= PriceSupCompPrimFact(c)*AlphaCDprimaryfactor(c)*BetaCDcap(c)*CapitalStock(c)**{BetaCDcap(c)-1.0}*Labour(c)**BetaCDlab(c) - RentalPriceCapitalStock(c) ; Equation McpProdnCompPrimFact(c) 'Production of the CPF, complementarity variable is the price of supply of CPF' ; McpProdnCompPrimFact(c).. 0.0 =g= CompPrimFactSup(c) - AlphaCDprimaryfactor(c)*Labour(c)**BetaCDlab(c)*CapitalStock(c)**BetaCDcap(c) ; Equation McpCompPrimFactMargin(c) 'Margin on composite primary factor for each industry, complementarity variable is quantity of CPF supplied' ; McpCompPrimFactMargin(c).. 0.0 =g= PriceDemCompPrimFact(c) - PriceSupCompPrimFact(c) ; Equation McpCompPrimFactSupDemBal(c) 'Supply and demand balance of CPF, CV is the demand price of CPF' ; McpCompPrimFactSupDemBal(c).. 0.0 =g= CompPrimFactDem(c) - CompPrimFactSup(c) ; Equation McpProdnIntermCommUsingCompPrimFact(c) 'Production of IC using CPF, CV is marginal cost wrt CPF' ; McpProdnIntermCommUsingCompPrimFact(c).. 0.0 =g= IntermCommSup(c) - 1/BetaLcompprimfact(c)*CompPrimFactDem(c) ; Equation McpProdnIntermCommUsingFinCompComm(cp,c) 'Prodn of IC using each FCC, CV is marginal cost wrt each FCC' ; McpProdnIntermCommUsingFinCompComm(cp,c).. 0.0 =g= IntermCommSup(c) - 1/BetaLfincompcomm(cp,c)*IndUseFinCompComm(cp,c) ; Equation McpIndFinCompCommSupDemBal(cp,c) 'Industry supply and demand balance for FCC, CV is induatry demand price for FCC' ; McpIndFinCompCommSupDemBal(cp,c).. 0.0 =g= IndUseFinCompComm(cp,c) - IndFinCompCommDem(cp,c) ; Equation McpIndFinCompCommPriceBal(cp,c) 'Industry demand and supply price balance for FCC, CV is Industry use of FCC' ; McpIndFinCompCommPriceBal(cp,c).. 0.0 =g= PriceIndDemFinCompComm(cp,c) - PriceDemFinCompComm(c) ; Equation McpIntermCommMVPComPrimFact(c) 'Marginal value product of CPF to make each IC, CV is the quantity of CPF demanded' ; McpIntermCommMVPComPrimFact(c).. 0.0 =g= -(1+CompanyTaxRate(c))*PriceDemCompPrimFact(c) + 1/BetaLcompprimfact(c)*MargCostICwrtCompPrimFact(c) ; Equation McpIntermCommMVPFinCompComm(cp,c) 'Marginal value product of each FCC to make IC, CV is the quantity of FCC demanded' ; McpIntermCommMVPFinCompComm(cp,c).. 0.0 =g= -(1+CompanyTaxRate(c))*PriceIndDemFinCompComm(cp,c) + 1/BetaLfincompcomm(cp,c)*MargCostICwrtFinCompComm(cp,c) ; Equation McpIntermCommMarginIncTax(c) 'Margin (incl tax) for each IC, CV is production (supply) of each interm comm' ; McpIntermCommMarginIncTax(c).. 0.0 =g= PriceSupIntermCommIncTax(c) - MargCostICwrtCompPrimFact(c) - sum[cp, MargCostICwrtFinCompComm(cp,c)] ; Equation McpIntermCommSupDemBal(c) 'Demand and supply commodity balance for IC, CV is the supply price of the IC' ; McpIntermCommSupDemBal(c).. 0.0 =g= IntermCommDem(c) - IntermCommSup(c) ; Equation McpIntermCommPriceBal(c) 'Demand and supply price balance for intermediate commodity, CV is the quantity if IC demanded' ; McpIntermCommPricebal(c).. 0.0 =g= PriceDemIntermCommIncTax(c) - PriceSupIntermCommIncTax(c) ; Equation McpProdnDomExp(c) 'Production of domestic and export commodities using IC, CV is the demand price of the IC' ; McpProdnDomExp(c).. 0.0 =g= AlphaCET(c)*[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)]**[1/RhoCET(c)] - IntermCommDem(c) ; Equation McpExportCommMVP(c) 'Marginal value product of export commodity for each industry, CV is the the quantity of export supplied' ; McpExportCommMVP(c).. 0.0 =g= PriceExpComm(c) - PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)]**[1/RhoCET(c) - 1.0] *BetaCETexport(c)*ExpCommSup(c)**[RhoCET(c) - 1.0] ; Equation McpExportCommDemSupBal(c) 'Export commodity domestic supply and foreign demand balance, CV is the price of export commodity (AUD)' ; McpExportCommDemSupBal(c).. 0.0 =g= ExpCommDem(c) - ExpCommSup(c) ; Equation McpExportCommDemand(c) 'International demand for each export commodity, CV is the quantity of each commodity exported' ; McpExportCommDemand(c).. 0.0 =g= AlphaExpComm(c)/nXrate*ExpCommDem(c)**[1/BetaExpComm(c)] - PriceExpComm(c) ; Equation McpDomesticCommCETMVP(c) 'Marginal value product of domestic commodity for each industry, CV is supply of domestic commodity' ; McpDomesticCommCETMVP(c).. 0.0 =g= PriceDomComm(c) - PriceDemIntermCommIncTax(c)*AlphaCET(c) *[BetaCETdomestic(c)*DomCommSup(c)**RhoCET(c) + BetaCETexport(c)*ExpCommSup(c)**RhoCET(c)] **[1/RhoCET(c) - 1.0]*BetaCETdomestic(c)*DomCommSup(c)**[RhoCET(c) - 1.0] ; Equation McpDomesticCommDemSupBal(c)'Demand and supply of the domestic commodity for each industry, CV is the price of the domestic commodity' ; McpDomesticCommDemSupBal(c).. 0.0 =g= DomCommDem(c) - DomCommSup(c) ; Equation McpImportCommMVP(c) 'Marginal value product of import commodity for each industry, CV is the quantity of import demanded' ; McpImportCommMVP(c).. 0.0 =g= - PriceImpComm(c)*[1+TariffRate(c)] + PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **[1/RhoCES(c) - 1.0]*BetaCESimport(c)*ImpCommDem(c)**[RhoCES(c) - 1.0] ; Equation McpImportCommDemSupBal(c) 'Import commodity domestic demand and foreign supply commodity balance, CV domestic price of import' ; McpImportCommDemSupBal(c).. 0.0 =g= ImpCommDem(c) - ImpCommSup(c) ; Equation McpImportCommSupplyMargin(c)'Margin for the international supply of each import commodity, CV is the quantity of international supply'; McpImportCommSupplyMargin(c).. 0.0 =g= PriceImpComm(c) - [1.0 + TariffRate(c)]*InternationalPriceImport(c)/nXrate ; Equation McpDomesticCommCESMVP(c) 'Marginal value product of dom comm for each industry, CV is the quantity of the domestic comm demanded' ; McpDomesticCommCESMVP(c).. 0.0 =g= - PriceDomComm(c) + PriceSupFinCompComm(c)*AlphaCES(c) *[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)] **(1/RhoCES(c) - 1.0)*BetaCESdomestic(c)*DomCommDem(c)**[RhoCES(c) - 1.0] ; Equation McpInvestmentMarginDem(c)'Margin between the demand and supply price of capital stock,complementarity variable is investment demanded'; * note that the model is comparative static and demand and supply prices are in equivalent annual value terms McpInvestmentMarginDem(c).. 0.0 =g= RentalPriceCapitalStock(c) - CapitalRecoveryFactor(c)*PriceInvestment(c) ; Equation McpInvestmentMarginSup(c) 'Margin between the demand and supply price of investment, complementarity variable is investment supplied' ; McpInvestmentMarginSup(c).. 0.0 =g= PriceInvestment(c) - sum[cp, PriceDemInvFinCompComm(cp,c)] ; Equation McpInvestmentSupDemBal(c) 'Investment supply and demand balance, CV is the price of investment' ; McpInvestmentSupDemBal(c).. 0.0 =g= InvestmentDem(c) - InvestmentSup(c) ; Equation McpInvFinCompCommMVP(cp,c) 'Marginal value product of each FCC to make each investment, CV is the quantity of FCC demanded' ; McpInvFinCompCommMVP(cp,c).. * 0.0 =g= PriceDemInvFinCompComm(cp,c) - BetaLinvestment(cp,c)*PriceSupFinCompComm(c) ; 0.0 =g= 1/BetaLinvestment(cp,c)*PriceDemInvFinCompComm(cp,c) - PriceSupFinCompComm(c) ; Equation McpProdnInvestment(cp,c) 'Prodn of Investment using FCC, CV is marginal cost wrt each FCC' ; McpProdnInvestment(cp,c).. 0.0 =g= InvestmentSup(c) - 1/BetaLinvestment(cp,c)*InvFinCompCommDem(cp,c) ; Equation McpProdFinCompComm(c) 'Production of each final composite commodity, CV is the supply of price of the final composite commodity' ; McpProdFinCompComm(c).. 0.0 =g= FinCompCommTotalSup(c) - AlphaCES(c)*[BetaCESdomestic(c)*DomCommDem(c)**RhoCES(c) + BetaCESimport(c)*ImpCommDem(c)**RhoCES(c)]**[1/RhoCES(c)] ; Equation McpFinCompCommDemSupBal(c) 'Aggregate demand and supply balance for the final composite commodity, CV is the demand price of FCC' ; McpFinCompCommDemSupBal(c).. 0.0 =g= sum[cp, IndFinCompCommDem(c,cp)] + HouseFinCompCommDem(c) + sum[cp, InvFinCompCommDem(c,cp)] + GovFinCompCommDem(c) - FinCompCommTotalSup(c) ; Equation McpProdnGovernment(c) 'Prodn of Government using FCC, CV is marginal cost wrt each FCC' ; McpProdnGovernment(c).. 0.0 =g= Government - 1/BetaLgovernment(c)*GovFinCompCommDem(c) ; Equation McpFinCompCommPriceBal(c) 'Demand and supply price balance for the final composite commodity, CV is aggregate supply of FCC' ; McpFinCompCommPriceBal(c).. 0.0 =g= PriceDemFinCompComm(c) - PriceSupFinCompComm(c) ; Equation McpGovFinCompCommPriceBal(c) 'Government price balance for FCC, CV is the quantity of FCC demanded by government' ; McpGovFinCompCommPriceBal(c).. 0.0 =g= MargCostGovwrtFinCompCom(c)/BetaLgovernment(c) - PriceDemFinCompComm(c) ; Equation McpHouseholdFinCompCommPriceBal(c) 'Household price balance for FCC, CV is the quantity of FCC demanded by household' ; McpHouseholdFinCompCommPriceBal(c).. 0.0 =g= PriceHouseCons(c) - PriceDemFinCompComm(c) ; Equation McpGovernmentActivityBal 'Size of government activity, CV is the price of government activity' ; McpGovernmentActivityBal.. Government =g= Government0 ; Equation McpGovernmentMargin 'Price of government and its cost of supply balance, CV is the size of Government' ; McpGovernmentMargin.. 0.0 =g= PriceGovernmentActivity - sum[c, MargCostGovwrtFinCompCom(c)] ; Equation McpGovernmentBudgetBal 'Government Revenue must be sufficient to cover expenditure, CV is Household tax demanded' ; McpGovernmentBudgetBal.. sum[c, TariffRate(c)*PriceImpComm(c)*ImpCommSup(c)] + sum[c, CompanyTaxRate(c)/{1.0+CompanyTaxRate(c)}*PriceDemIntermCommIncTax(c)*IntermCommSup(c)] + HouseholdTaxDem - PriceGovernmentActivity*Government =g= 0.0 ; Equation McpDomSavInvBal 'Saving by Aus household must fund domestic investment to maintain domestic ownership share, CV is domestic saving' ; McpDomSavInvBal.. HouseholdSavDem - sum[c, DomOwnShr*PriceInvestment(c)*InvestmentDem(c)] =g= 0.0 ; Equation McpHouseholdCommBal(c) 'Household comodity balance, CV is the price paid by households' ; McpHouseholdCommBal(c).. 0.0 =g= HouseCons(c) - HouseFinCompCommDem(c) ; Equation McpHouseholdBudget 'Household expenditure is limited to household disposable income, CV is the marginal utility of income' ; McpHouseholdBudget.. 0.0 =g= sum[c, PriceHouseCons(c)*HouseCons(c)] + HouseholdTaxDem + HouseholdSavDem - WageRate*TotalLabour0 - sum[c, DomOwnShr*RentalPriceCapitalStock(c)*CapitalStock(c)] ; Equation McpHouseholdConsumptionMU(c) 'Marginal utility of household consumption, CV is the level of household consumption' ; McpHouseholdConsumptionMU(c).. 0.0 =g= AlphaCDutility*prod[cp, HouseCons(cp)**BetaCDutility(cp)]*BetaCDutility(c)*HouseCons(c)**(-1.0) - MarginalUtilityIncome*PriceHouseCons(c) ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * Declare the MCP model * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Model MCPCGE / McpLabourSupDemBal.WageRate McpCapitalStockInvestmentBal.RentalPriceCapitalStock McpLabourMVP.Labour McpCapitalMVP.CapitalStock McpProdnCompPrimFact.PriceSupCompPrimFact McpCompPrimFactMargin.CompPrimFactSup McpCompPrimFactSupDemBal.PriceDemCompPrimFact McpProdnIntermCommUsingCompPrimFact.MargCostICwrtCompPrimFact McpProdnIntermCommUsingFinCompComm.MargCostICwrtFinCompComm McpIntermCommMVPComPrimFact.CompPrimFactDem McpIntermCommMVPFinCompComm.IndUseFinCompComm McpIntermCommMarginIncTax.IntermCommSup McpIntermCommSupDemBal.PriceSupIntermCommIncTax McpIntermCommPriceBal.IntermCommDem McpProdnDomExp.PriceDemIntermCommIncTax McpExportCommMVP.ExpCommSup McpExportCommDemSupBal.PriceExpComm McpExportCommDemand.ExpCommDem McpDomesticCommCETMVP.DomCommSup McpDomesticCommDemSupBal.PriceDomComm McpImportCommMVP.ImpCommDem McpImportCommDemSupBal.PriceImpComm McpImportCommSupplyMargin.ImpCommSup McpDomesticCommCESMVP.DomCommDem McpInvestmentMarginDem.InvestmentDem McpInvestmentMarginSup.InvestmentSup McpInvestmentSupDemBal.PriceInvestment McpInvFinCompCommMVP.InvFinCompCommDem McpProdnInvestment.PriceDemInvFinCompComm McpProdFinCompComm.PriceSupFinCompComm McpFinCompCommDemSupBal.PriceDemFinCompComm McpGovFinCompCommPriceBal.GovFinCompCommDem McpIndFinCompCommSupDemBal.PriceIndDemFinCompComm McpIndFinCompCommPriceBal.IndFinCompCommDem McpHouseholdFinCompCommPriceBal.HouseFinCompCommDem McpProdnGovernment.MargCostGovwrtFinCompCom McpFinCompCommPriceBal.FinCompCommTotalSup McpGovernmentActivityBal.PriceGovernmentActivity McpGovernmentMargin.Government McpGovernmentBudgetBal.HouseholdTaxDem McpDomSavInvBal.HouseholdSavDem McpHouseholdCommBal.PriceHouseCons McpHouseholdConsumptionMU.HouseCons McpHouseholdBudget.MarginalUtilityIncome / ; NLPCGE.optfile=1 ; Solve NLPCGE maximizing nsr using nlp ; *execute_unload 'NLPbase.gdx' ; Solve MCPCGE using MCP ; *execute_unload 'MCPbase.gdx' ; * test for homogeneous of degree 0 with respect price * the nominal exchange rate is the numeraire and abitrariliy set to 0.75 (AUD to USD) * lets see what happens if we double the exchange rate nXrate = 2.0*nXrate ; Solve NLPCGE maximizing nsr using nlp ; *execute_unload 'NLPnXrate.gdx' ; Solve MCPCGE using MCP ; *execute_unload 'MCPnxrate.gdx' ; * No suprises here. All prices are halved and the quantities are unchanged * reset the initial nXrate nXrate = 0.75 ; * Now do a policy experiment of reducing company tax rate by 10 per cent CompanyTaxRate(c) = CompanyTaxRate(c)*0.9 ; Solve NLPCGE maximizing nsr using nlp ; *execute_unload 'NLPtax.gdx' ; Solve MCPCGE using MCP ; *execute_unload 'MCPtax.gdx' ; *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * All done! The end * *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++