How to interpret result

Problems with modeling
Post Reply
m_tanawat
User
User
Posts: 13
Joined: 6 years ago

How to interpret result

Post by m_tanawat »

Dear Admin,

I send my MPSGE GAMS file here.
I do not understand how to interpret the result properly so I send email to confirm with you.

As my understanding, it has tech0,1,2 in my program. Shold result show the tec0,1 and 2 as well?
Or it show only optimal solution?

Best regards,
Titech

$Title Sample dynamic CGE

$Ontext
Sample CGE for MPSGE
2 goods, 2 energy, 2 final demand and 2 factors model
$Offtext

set
sec sector and goods /2nd,eqm,3rd,en1,en2/
i(sec) goods /2nd,eqm,3rd,en1,en2/
en(i) energy goods / en1,en2/
ne(i) non energy goods /2nd,eqm,3rd /
qm(ne) equipment / eqm /
j(sec) sector /2nd,eqm,3rd,en1,en2/
ej(j) energy sector / en1,en2/
nj(j) non energy sector /2nd,eqm,3rd /
fd final demand /h_c, h_i, g_c, g_i, stc, exp, imp, tx_m/
tec technology /tec0*tec2/
sv household energy service /sv1/
;

alias (jj,j) ;
alias (ii,i) ;
alias (en,en2) ;
alias (ne,ne2) ;
alias (tec,tc2) ;

parameter
el_lke(j) elasticity of substitution between labor and energy-capital
el_ke(j) elasticity of substitution between energy and capital
el_e(j) elasticity of substitution among energies
el_ex(i) elasticity of transformation
el_im(i) elasticity of substitution

kle0(j) total value added in sector j
ke0(j) total energy caital composite in sector j
ene0(j) total energy composite in sector j
e0(en,j) energy input with CO2 in sector j
k0(j) capital input in sector j
l0(j) labor input in sector j
x0(i,j) intermediate input in sector j
em0(en,j) energy input as material

q0(j) total produced goods
s0(i) total domestic supply
d0(i) total supply
o0(i) total domestic output

c0(i) final consumption by household
i0(i) investment(fixed capital formation) by household
cg0(i) final consumption by government
ig0(i) investment(fixed capital formation) by government
sc0(i) stock change
ex0(i) export
im0(i) import
utl0 total household consumption
ivh0 total household investment
gvc0 total government consumption
gvi0 total government investment

eh0(en) energy with CO2 by household
wc0(i) waste generation from household consumption
wi0(i) waste generation from household investment

mh0 household income
mg0 government income
g_h transfer between household and government

cmb_r(en,j) combustion rate of energy

fs foreign saving
pintx(i) international price of exported goods
pintm(i) international price of imported goods

ef_co2(en) CO2 emission factor
efa_co2(j) CO2 emission factor
CO2e0(en,j) energy related CO2 emission from sector j
CO2a0(j) activity related CO2 emission from sector j
CO2f0(en) CO2 emission from household

end_l labor endowment
end_k(j,tec) capital endowment
end_kn capital endowment
end_CO2 total endowment

tx_m(i) import tax
tx_o(i) output tax
tx_k(j) capital tax
tx_l(j) labor tax

ql0(j) quantity of labor
qk0(j) quantity of capital
qim0(i) quantity of import
qd0(i) quantity of domestic demand

invh household investment
invg government investment
sc(i) stock change
wc(i) waste from household consumption
wi(i) waste from household investment

acnt(j) activity constraint
q_up(j) upple limit of sector

ad0(qm,sv,tec)

depr depreciation rate
dep_h depreciation rate (household energy equipment)

c_tax carbon tax policy / 0 /
* 0: no-policy
* 1: introduction
;


$ontext
parameter your_use(*,*) ;
$libinclude xlimport your_use [file_name].xlsx [sheet name]![Area/Cells]

parameter your_make(*,*) ;
$libinclude xlimport your_make [file_name].xlsx [sheet name]![Area/Cells]

parameter use(*,*) use matrix ;
parameter out(*,*) make matrix ;

* ---
use(i,j) = your_use(i,j) ;

out(j,i) = your_make(i,j) ;
* ---
$offtext


ef_co2("en1") = 30 ;
ef_co2("en2") = 3 ;
efa_co2(j) = 0 ;
efa_co2("2nd") = 0.01 ;

*$ontext
table use(*,*) use matrix
2nd eqm 3rd en1 en2 h_c h_i g_c g_i stc exp imp tx_m tot
2nd 110 30 40 8 3 60 10 10 4 5 30 -10 -3 297
eqm 19 4 9 2 2 20 28 10 6 5 10 -5 -2 108
3rd 50 23 137 2 3 148 150 40 40 -20 100 -40 -10 623
en1 7 1 4 1 2 12 0 0 0 2 0 -1 -1 27
en2 1 1 9 2 1 2 0 1 0 1 0 0 0 18
cap 30 20 130 4 2
lab 38 21 194 2 2
tot 255 100 523 21 15
;

table out(*,*) make matrix
2nd eqm 3rd en1 en2 tot
2nd 240 13 2 0 0 255
eqm 5 79 16 0 0 100
3rd 0 0 523 0 0 523
en1 1 1 0 19 0 21
en2 0 0 0 2 13 15
h_c 43 0 40 4 4 91
h_i 3 0 2 0 0 5
tot 292 93 583 25 17
;

table tax(*,*)
2nd eqm 3rd en1 en2
tx_o 5 15 40 2 1
tx_k 15 5 40 0 1
tx_l 7 3 20 1 1
;
*$offtext


el_ke(j) = 0.7 ;
el_lke(j) = 0.7 ;
el_e(j) = 0.1 ;
el_ex(i) = 2 ;
el_im(i) = 2 ;

depr = 0.05 ;
dep_h = 0.1 ;

cmb_r(en,j) = 1 ;
cmb_r("en1","en1") = 0 ;

x0(i,j) = use(i,j) ;
c0(i) = use(i,"h_c") ;
i0(i) = use(i,"h_i") ;
cg0(i) = use(i,"g_c") ;
ig0(i) = use(i,"g_i") ;
sc0(i) = use(i,"stc") ;
im0(i) = -use(i,"imp") - use(i,"tx_m") ;
ex0(i) = use(i,"exp") ;
k0(j) = use("cap",j) ;
l0(j) = use("lab",j) ;
q0(j) = sum(i, x0(i,j)) + k0(j) + l0(j) ;
s0(i) = sum(j, x0(i,j)) + c0(i) + i0(i) + cg0(i) + ig0(i) + sc0(i) ;
wc0(i) = out("h_c",i) ;
wi0(i) = out("h_i",i) ;
o0(i) = sum(j, out(j,i)) + wc0(i) + wi0(i) ;
d0(i) = o0(i) - ex0(i) ;

*utl0 = sum(i, c0(i)) ;
utl0 = sum(ne$(not qm(ne)), c0(ne)) ;
ivh0 = sum(i, i0(i)) ;
gvc0 = sum(i, cg0(i)) ;
gvi0 = sum(i, ig0(i)) ;


tx_m(i)$(im0(i)) = -use(i,"tx_m")/(im0(i)) ;
tx_o(i) = tax("tx_o",i)/(d0(i)) ;
tx_k(j) = tax("tx_k",j)/(k0(j) - tax("tx_k",j)) ;
tx_l(j) = tax("tx_l",j)/(l0(j) - tax("tx_l",j)) ;

ql0(j) = l0(j) /(1+tx_l(j)) ;
qk0(j) = k0(j) /(1+tx_k(j)) ;
qim0(i) = im0(i)/(1+tx_m(i)) ;
qd0(i) = d0(i) /(1+tx_o(i)) ;

g_h = sum(i, tx_m(i)*qim0(i))
+ sum(i, tx_o(i)*d0(i))
+ sum(j, tx_k(j)*qk0(j) + tx_l(j)*ql0(j))
- sum(i, cg0(i) + ig0(i)) ;

e0(en,j) = x0(en,j)*cmb_r(en,j) ;
ene0(j) = sum(en, e0(en,j)) ;
ke0(j) = k0(j) + ene0(j) ;
kle0(j) = l0(j) + ke0(j) ;

em0(en,j) = x0(en,j)*(1-cmb_r(en,j)) ;

eh0(en) = c0(en) ;
invh = ivh0 ;
invg = gvi0 ;
sc(i) = sc0(i) ;
wc(i) = wc0(i) ;
wi(i) = wi0(i) ;

CO2e0(en,j) = ef_co2(en)*e0(en,j) ;
CO2a0(j) = efa_co2(j)*q0(j) ;
CO2f0(en) = ef_co2(en)*c0(en) ;

end_k(j,tec) = 0 ;
end_k(j,"tec0") = qk0(j) ;
end_kn = 0 ;
end_l = sum(j, ql0(j)) ;
end_CO2 = sum(en, sum(j, CO2e0(en,j)) + CO2f0(en)) + sum(j, CO2a0(j)) ;

fs = sum(i, qim0(i) - ex0(i)) ;
pintx(i) = 1 ;
pintm(i) = 1 ;

mh0 = sum(j, k0(j)*(1-tx_k(j)) + l0(j)*(1-tx_l(j))) + fs + sum(i, sc0(i) + wc0(i) + wi0(i)) + g_h ;
mg0 = sum(i, tax("tx_o",i) - use(i,"tx_m")) + sum(j, tax("tx_k",j) + tax("tx_l",j)) - g_h ;


acnt(j) = 0 ;
q_up(j) = q0(j) ;

ad0(qm,sv,tec) = 0 ;


parameter
grs_out(j,i,tec) change of output to activity
grs_ne(ne,j,tec) change of non-energy inputs productivity
grs_co2a(j,tec) change of co2 emissions from activity
grs_l(j,tec) change of labor productivity
grs_k(j,tec) change of capital productivity
grs_en(en,j,tec) change of energy productivity
grs_co2e(en,j,tec) change of co2 emissions from energy

grn_out(j,i,tec) change of output to activity
grn_ne(ne,j,tec) change of non-energy inputs productivity
grn_co2a(j,tec) change of co2 emissions from activity
grn_l(j,tec) change of labor productivity
grn_k(j,tec) change of capital productivity
grn_en(en,j,tec) change of energy productivity
grn_co2e(en,j,tec) change of co2 emissions from energy

avt(*,tec) available technoloigy
* 1: available
* 0: not available
ad_inv(ne,j,tec) additional investment

gr_c(ne) change of final consumption
gr_ehn(sv,en,tec) change of energy consumption
gr_ehs(sv,en,tec) change of energy consumption
;

grs_out(j,i,tec) = 1 ;
grs_ne(ne,j,tec) = 1 ;
grs_co2a(j,tec) = 1 ;
grs_l(j,tec) = 1 ;
grs_k(j,tec) = 1 ;
grs_en(en,j,tec) = 1 ;
grs_co2e(en,j,tec) = 1 ;

grn_out(j,i,"tec0") = 1 ;
grn_ne(ne,j,"tec0") = 1 ;
grn_co2a(j,"tec0") = 1 ;
grn_l(j,"tec0") = 0.9 ;
grn_k(j,"tec0") = 0.9 ;
grn_en(en,j,"tec0") = 0.9 ;
grn_co2e(en,j,"tec0") = 1 ;

grn_out(j,i,"tec1") = 1 ;
grn_ne(ne,j,"tec1") = 1 ;
grn_co2a(j,"tec1") = 1 ;
grn_l(j,"tec1") = 0.9 ;
grn_k(j,"tec1") = 0.9 ;
grn_en(en,j,"tec1") = 0.8 ;
grn_co2e(en,j,"tec1") = 1 ;

grn_out(j,i,"tec2") = 1 ;
grn_ne(ne,j,"tec2") = 1 ;
grn_co2a(j,"tec2") = 1 ;
grn_l(j,"tec2") = 0.9 ;
grn_k(j,"tec2") = 0.9 ;
grn_en(en,j,"tec2") = 0.5 ;
grn_co2e(en,j,"tec2") = 1 ;


gr_c(ne) = 1 ;
gr_ehn(sv,en,"tec0") = 1 ;
gr_ehn(sv,en,"tec1") = 0.8 ;
gr_ehn(sv,en,"tec2") = 0.5 ;
gr_ehs(sv,en,"tec0") = 1.1 ;
gr_ehs(sv,en,"tec1") = 0.8 ;
gr_ehs(sv,en,"tec2") = 0.5 ;

avt(j,tec) = 0 ;
avt(j,"tec0") = 1 ;
avt("hus",tec) = 0 ;
avt("hus","tec0") = 1 ;

ad_inv(ne,j,tec) = 0 ;
ad_inv(ne,j,"tec1") = qk0(j)*0.01 ;
ad_inv(ne,j,"tec2") = qk0(j)*0.02 ;


parameter
es(sv) energy service demand
es0(sv) energy service demand
seh0(en,sv) energy demand by energy service demand

cqs(qm,sv,tec)
cqs0(qm,sv,tec)
cqn0(qm,sv,tec)

sehn0(en,sv)
sehs0(en,sv)

esn0(sv,tec)
ess0(sv,tec)
;


cqn0(qm,sv,tec) = c0(qm) ;
cqs0(qm,sv,tec) = c0(qm)/dep_h ;
cqs(qm,sv,tec) = 0 ;
cqs(qm,sv,"tec0") = cqs0(qm,sv,"tec0") ;

sehn0(en,sv) = eh0(en)*dep_h /gr_ehn(sv,en,"tec0") ;
sehs0(en,sv) = eh0(en)*(1-dep_h)/gr_ehs(sv,en,"tec0") ;

esn0(sv,tec) = sum(en, sehn0(en,sv)*gr_ehn(sv,en,tec)) + sum(qm, cqn0(qm,sv,tec) + ad0(qm,sv,tec)) ;
ess0(sv,tec) = sum(en, sehs0(en,sv)*gr_ehs(sv,en,tec)) + sum(qm, cqs0(qm,sv,tec)) ;

es(sv) = esn0(sv,"tec0") + ess0(sv,"tec0") ;
es0(sv) = es(sv) ;
seh0(en,sv) = eh0(en) ;



$ontext
$MODEL:CGE4_mpsge
*$FUNLOG:.TRUE
$PEPS:0

$SECTORS:
ACTS(j,tec)$(q0(j) and end_k(j,tec)) ! activity
ACTN(j,tec)$(q0(j) and end_kn and avt(j,tec)) ! activity
COH$utl0 ! household consumption
ESHN(sv,tec)$(avt("hus",tec))
ESHS(sv,tec)$(sum(qm, cqs(qm,sv,tec)) and avt("hus",tec))
COH_E(en)$eh0(en) ! household energy
IVH$ivh0 ! household investment
COG$gvc0 ! government consumption
IVG$gvi0 ! government investment

export(i) ! distribution between export and domestic
import(i) ! composition of domestic and import
pr_ex(i)$ex0(i) ! export
pr_im(i)$im0(i) ! import

$COMMODITIES:
PO(i) ! price of activity in sector j
PES(sv)
PEH(en)$eh0(en) !
PZ(qm,sv,tec)$(avt("hus",tec) and cqs(qm,sv,tec))

PK(j,tec)$end_k(j,tec) ! rent (price of existing capital)
PKN$end_kn ! rent (price of new capital)
PL ! wage (price of labor)
PCO2 ! price of CO2
PACT(j)$(acnt(j)) ! upper limit

PU$utl0 ! price of aggregated household consumption
PIVH$ivh0 ! price of aggregated household investment
PGC$gvc0 ! price of aggregated government consumption
PGI$gvi0 ! price of aggregated government investment

PD(i) ! price of produced domstic goods i
PS(i) ! price of supplied goods i
PEX(i)$(ex0(i)) ! price of exported goods i
PIM(i)$(im0(i)) ! price of imported goods i
EXR ! exchange rate


$CONSUMERS:
MH ! income
GOV ! government


$AUXILIARY:
CO2_PRI$(c_tax=1) ! carbon policy


$PROD:ACTS(j,tec)$(q0(j) and end_k(j,tec)) t:0 s:0 en.tl:0
o:PO(i) q:(out(j,i)*grs_out(j,i,tec)) p:1
i:PS(ne) q:(x0(ne,j)*grs_ne(ne,j,tec)) p:1
i:PCO2 q:(CO2a0(j)*grs_co2a(j,tec)) p:0
i:PS(en) q:(em0(en,j)) p:1
i:PACT(j)$acnt(j) q:q0(j) q:0
i:PL q:(ql0(j)*grs_l(j,tec)) p:(1+tx_l(j)) A:GOV T:tx_l(j)
i:PK(j,tec) q:(qk0(j)*grs_k(j,tec)) p:(1+tx_k(j)) A:GOV T:tx_k(j)
i:PS(en) q:(e0(en,j)) p:1 en.tl:
i:PCO2#(en) q:(co2e0(en,j)*grs_co2e(en,j,tec)) p:0 en.tl:


$PROD:ACTN(j,tec)$(q0(j) and end_kn and avt(j,tec)) t:0 s:0 en.tl:0
o:PO(i) q:(out(j,i)*grn_out(j,i,tec)) p:1
i:PS(ne) q:(x0(ne,j)*grn_ne(ne,j,tec)) p:1
i:PCO2 q:(CO2a0(j)*grn_co2a(j,tec)) p:0
i:PS(en) q:(em0(en,j)) p:1
i:PACT(j)$acnt(j) q:q0(j) q:0
i:PL q:(ql0(j)*grn_l(j,tec)) p:(1+tx_l(j)) A:GOV T:tx_l(j)
i:PKN q:(qk0(j)*grn_k(j,tec)) p:(1+tx_k(j)) A:GOV T:tx_k(j)
i:PS(ne) q:(ad_inv(ne,j,tec)) p:1
i:PS(en) q:(e0(en,j)) p:1 en.tl:
i:PCO2#(en) q:(co2e0(en,j)*grn_co2e(en,j,tec)) p:0 en.tl:


$PROD:export(i) t:el_ex(i)
o:PEX(i) q:ex0(i) p:1
o:PD(i) q:d0(i) p:1
i:PO(i) q:o0(i) p:1

$PROD:import(i) s:el_im(i)
o:PS(i) q:s0(i) P:1
i:PIM(i) q:qim0(i) p:(1+tx_m(i)) A:GOV T:tx_m(i)
i:PD(i) q:d0(i) p:(1+tx_o(i)) A:GOV T:tx_o(i)

$PROD:pr_ex(i)$ex0(i)
o:EXR q:(ex0(i)*pintx(i))
i:PEX(i) q:(ex0(i))

$PROD:pr_im(i)$im0(i)
o:PIM(i) q:(qim0(i))
i:EXR q:(qim0(i)*pintm(i))


$prod:COH$utl0 s:1 b:0
O:PU$utl0 q:utl0 p:1
I:PS(ne)$(not qm(ne)) q:(c0(ne)*gr_c(ne)) p:1

$prod:ESHN(sv,tec)$avt("hus",tec) s:0
O:PES(sv) q:esn0(sv,tec) p:1
I:PEH(en) q:(sehn0(en,sv)*gr_ehn(sv,en,tec)) p:1
I:PS(qm) q:(cqn0(qm,sv,tec)) p:1
I:PS(qm) q:(ad0(qm,sv,tec)) p:1

$prod:ESHS(sv,tec)$(sum(qm, cqs(qm,sv,tec)) and avt("hus",tec)) s:0
O:PES(sv) q:ess0(sv,tec) p:1
I:PEH(en) q:(sehs0(en,sv)*gr_ehs(sv,en,tec)) p:1
I:PZ(qm,sv,tec) q:(cqs0(qm,sv,tec)) p:1

$prod:COH_E(en)$eh0(en) s:0
O:PEH(en) q:eh0(en) p:1
I:PS(en) q:c0(en) p:1
I:PCO2 q:co2f0(en) p:0


$prod:IVH$ivh0 s:0
O:PIVH$ivh0 q:ivh0 p:1
I:PS(ne) q:i0(ne) p:1

$prod:COG$gvc0 s:0
O:PGC$gvc0 q:gvc0 p:1
I:PS(i) q:cg0(i) p:1

$prod:IVG$gvi0 s:0
O:PGI$gvi0 q:gvi0 p:1
I:PS(i) q:ig0(i) p:1


$demand:MH
D:PU q:utl0
E:PES(sv) q:(-es(sv))
E:PIVH q:(-invh)
E:PK(j,tec)$end_k(j,tec) q:end_k(j,tec)
E:PKN$(end_kn) q:end_kn
E:PL q:end_l
E:EXR q:(fs)
E:PS(i) q:(-sc(i))
E:PO(i) q:wc(i)
E:PO(i) q:wi(i)
E:PL q:g_h
E:PACT(j)$acnt(j) q:q_up(j)
E:PZ(qm,sv,tec) q:cqs(qm,sv,tec)

$demand:GOV s:0
D:PGC q:gvc0
E:PGI q:(-invg)
E:PCO2$(c_tax=0) q:(end_co2)
E:PCO2$(c_tax=1) q:(end_co2) r:CO2_PRI
E:PL q:(-g_h)


$report:
V:QKS(j,tec)$(end_k(j,tec) and ke0(j)) i:PK(j,tec) PROD:ACTS(j,tec)
V:QLS(j,tec)$(end_k(j,tec) and kle0(j)) i:PL PROD:ACTS(j,tec)
V:QXS(ne,j,tec)$(end_k(j,tec) and ene0(j)) i:PS(ne) PROD:ACTS(j,tec)
V:QES(en,j,tec)$(end_k(j,tec) and e0(en,j)) i:PS(en) PROD:ACTS(j,tec)
V:QKN(j,tec)$(end_kn and avt(j,tec)) i:PKN PROD:ACTN(j,tec)
V:QLN(j,tec)$(end_kn and avt(j,tec)) i:PL PROD:ACTN(j,tec)
V:QXN(ne,j,tec)$(end_kn and avt(j,tec)) i:PS(ne) PROD:ACTN(j,tec)
V:QEN(en,j,tec)$(end_kn and avt(j,tec)) i:PS(en) PROD:ACTN(j,tec)
V:QCN(ne) i:PS(ne) PROD:COH
V:QCE(en) i:PS(en) PROD:COH_E(en)


$constraint:CO2_PRI$(c_tax=1)
end_co2*CO2_PRI =e= sum((j,tec)$end_k(j,tec), ACTS(j,tec)*CO2a0(j)*grs_co2a(j,tec) + sum(en, ACTS(j,tec)*co2e0(en,j)*grs_co2e(en,j,tec)) )
+ sum((j,tec)$avt(j,tec), ACTN(j,tec)*CO2a0(j)*grn_co2a(j,tec) + sum(en, ACTN(j,tec)*co2e0(en,j)*grn_co2e(en,j,tec)) )
+ sum(en, COH_E(en)*co2f0(en)) ;


$offtext

$SYSINCLUDE MPSGESET CGE4_mpsge


ACTS.l(j,tec)$(avt(j,tec) = 0) = 0 ;
ACTN.l(j,tec) = 0 ;

ESHN.l(sv,tec)$(avt("hus",tec) = 0) = 0 ;
ESHS.l(sv,tec)$(avt("hus",tec) = 0) = 0 ;


PL.fx = 1 ;
PCO2.l = 0 ;
PACT.l(j) = 0 ;


option iterlim = 0 ;
OPTION SYSOUT = ON;
OPTION SOLPRINT = ON ;

$INCLUDE CGE4_mpsge.GEN
SOLVE CGE4_mpsge USING MCP;

$exit

set
t time perid /2010*2031/
;

parameter
yr(t) year
cap_stk_t total capital stock
cap_stk(j,tec) capital stock
cap_cnv
inv_t total investment

output
outputK
outputY

;


table scen_main(t,*) future scenario
gdp pop ghg import export
2010 100.00 100.00 861.55 20.00 25.00
2011 102.00 101.00 870.17 20.40 25.50
2012 104.04 102.01 877.13 20.81 26.01
2013 106.12 103.03 882.39 21.22 26.53
2014 108.24 104.06 885.92 21.65 27.06
2015 110.41 105.10 887.69 22.08 27.60
2016 112.62 106.15 887.69 22.52 28.15
2017 114.87 107.11 885.92 22.97 28.72
2018 117.17 108.07 882.37 23.43 29.29
2019 119.51 109.04 877.08 23.90 29.88
2020 121.90 110.03 870.06 24.38 30.47
2021 124.34 110.91 861.36 24.87 31.08
2022 126.82 111.79 852.75 25.36 31.71
2023 129.36 112.69 844.22 25.87 32.34
2024 131.95 113.59 835.78 26.39 32.99
2025 134.59 114.38 827.42 26.92 33.65
2026 137.28 115.18 819.15 27.46 34.32
2027 140.02 115.99 810.95 28.00 35.01
2028 142.82 116.80 802.84 28.56 35.71
2029 145.68 117.50 794.82 29.14 36.42
2030 148.59 118.21 786.87 29.72 37.15
2031 151.57 118.92 779.00 30.31 37.89
;

parameter grow(t,*) growth rate ;

grow(t,"GDP")$(ord(t) lt card(t)) = (scen_main(t+1,"GDP")/scen_main(t,"GDP")-1)*100 ;
grow(t,"POP")$(ord(t) lt card(t)) = (scen_main(t+1,"POP")/scen_main(t,"POP")-1)*100 ;
grow(t,"GHG")$(ord(t) lt card(t)) = (scen_main(t+1,"GHG")/scen_main(t,"GHG")-1)*100 ;


yr(t) = 2009 + ord(t) ;

inv_t = sum(i, i0(i)+ig0(i)) ;
cap_stk_t = inv_t/(grow("2010","gdp")/100 + depr) ;
cap_stk(j,tec) = cap_stk_t*end_k(j,tec)/sum((jj,tc2), end_k(jj,tc2)) ;
cap_cnv = sum((j,tec), end_k(j,tec))/cap_stk_t ;



loop(t$(yr(t) le 2030),

option iterlim = 100000 ;

$INCLUDE CGE4_mpsge.GEN
SOLVE CGE4_mpsge USING MCP;


output(t,"C_H") = sum(ne, QCN.l(ne)) + sum(en, QCE.l(en)) ;
output(t,"C_G") = sum(i, COG.l*cg0(i)) ;
output(t,"I_H") = sum(ne, IVH.l*i0(ne)) ;
output(t,"I_G") = sum(i, IVG.l*ig0(i)) ;
output(t,"EXP") = sum(i, pr_ex.l(i)*ex0(i)) ;
output(t,"IMP") = sum(i, pr_im.l(i)*qim0(i)) ;
output(t,"TXM") = sum(i, pr_im.l(i)*qim0(i)*tx_m(i)) ;
output(t,"STC") = sum(i, sc(i)) ;
output(t,"GDP_cal") = output(t,"C_H") + output(t,"C_G") + output(t,"I_H") + output(t,"I_G")
+ output(t,"EXP") - output(t,"IMP") - output(t,"TXM") + output(t,"STC") ;
output(t,"GDP_exp")$(yr(t) = 2010) = sum(i, c0(i) + cg0(i) + i0(i) + ig0(i) + sc(i) + ex0(i) -im0(i)) ;
output(t,"GDP_exp")$(yr(t) > 2010) = output(t-1,"GDP_exp")*(1+grow(t,"GDP")/100) ;

output(t,"CO2") = sum((j,tec), ACTS.l(j,tec)*CO2a0(j)*grs_co2a(j,tec) + sum(en, ACTS.l(j,tec)*co2e0(en,j)*grs_co2e(en,j,tec))
+ ACTN.l(j,tec)*CO2a0(j)*grn_co2a(j,tec) + sum(en, ACTN.l(j,tec)*co2e0(en,j)*grn_co2e(en,j,tec)))
+ sum(en, COH_E.l(en)*co2f0(en)) ;
output(t,"PCO2") = PCO2.l ;
output(t,"cap_st") = cap_stk_t ;

outputK(j,"S",tec,t) = QKS.l(j,tec) ;
outputK(j,"N",tec,t) = QKN.l(j,tec) ;

outputY(j,"S",tec,t) = ACTS.l(j,tec)*sum(i, out(j,i)*grs_out(j,i,tec)) ;
outputY(j,"N",tec,t) = ACTN.l(j,tec)*sum(i, out(j,i)*grn_out(j,i,tec)) ;
outputY(j,"tot",tec,t) = outputY(j,"S",tec,t) + outputY(j,"N",tec,t) ;
outputY("tot","S",tec,t) = sum(j, outputY(j,"S",tec,t)) ;
outputY("tot","N",tec,t) = sum(j, outputY(j,"N",tec,t)) ;
outputY("tot","tot",tec,t) = sum(j, outputY(j,"tot",tec,t)) ;



* update of efficiency
grs_out(j,i,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_out(j,i,tec) *outputK(j,"S",tec,t) + grn_out(j,i,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_ne(ne,j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_ne(ne,j,tec) *outputK(j,"S",tec,t) + grn_ne(ne,j,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_co2a(j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_co2a(j,tec) *outputK(j,"S",tec,t) + grn_co2a(j,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_l(j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_l(j,tec) *outputK(j,"S",tec,t) + grn_l(j,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_k(j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_k(j,tec) *outputK(j,"S",tec,t) + grn_k(j,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_en(en,j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_en(en,j,tec) *outputK(j,"S",tec,t) + grn_en(en,j,tec) *outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;
grs_co2e(en,j,tec)$(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) = (grs_co2e(en,j,tec)*outputK(j,"S",tec,t) + grn_co2e(en,j,tec)*outputK(j,"N",tec,t))
/(outputK(j,"S",tec,t) + outputK(j,"N",tec,t)) ;

gr_ehs(sv,en,tec)$(ESHS.l(sv,tec)*sum(qm, cqs0(qm,sv,tec)) + ESHN.l(sv,tec)*sum(qm, cqn0(qm,sv,tec)))
= (gr_ehs(sv,en,tec)*ESHS.l(sv,tec)*sum(qm, cqs0(qm,sv,tec)) + gr_ehn(sv,en,tec)*ESHN.l(sv,tec)*sum(qm, cqn0(qm,sv,tec)))
/(ESHS.l(sv,tec)*sum(qm, cqs0(qm,sv,tec)) + ESHN.l(sv,tec)*sum(qm, cqn0(qm,sv,tec))) ;

grn_out(j,i,tec) = grn_out(j,i,tec) *1 ;
grn_ne(ne,j,tec) = grn_ne(ne,j,tec) *1 ;
grn_co2a(j,tec) = grn_co2a(j,tec) *1 ;
grn_l(j,tec) = grn_l(j,tec) *0.99 ;
grn_k(j,tec) = grn_k(j,tec) *0.99 ;
grn_en(en,j,tec) = grn_en(en,j,tec) *0.99 ;
grn_co2e(en,j,tec) = grn_co2e(en,j,tec)*1 ;

gr_ehn(sv,en,tec) = gr_ehn(sv,en,tec)*0.99 ;
gr_c("3rd") = gr_c("3rd") *1.01 ;


* update of endowment
end_l = end_l*(1+grow(t,"pop")/100) ;
end_co2 = end_co2*1.05 ;
*end_co2 = end_co2*(1+grow(t,"GHG")/100) ;

if((yr(t) ge 2020),
*c_tax = 1 ;
*PCO2.fx = 0.001 ;
) ;

end_k(j,tec) = (outputK(j,"S",tec,t) + outputK(j,"N",tec,t))*(1-depr) ;
end_kn = inv_t*cap_cnv ;

cqs(qm,sv,tec) = (ESHS.l(sv,tec)*cqs0(qm,sv,tec) + ESHN.l(sv,tec)*cqn0(qm,sv,tec))*(1-dep_h) ;

cap_stk_t = (sum((j,tec), end_k(j,tec)) + end_kn)/cap_cnv ;
inv_t = cap_stk_t*(grow(t+1,"gdp")/100 + depr) ;
invh = inv_t*ivh0/(ivh0+gvi0) ;
invg = inv_t*gvi0/(ivh0+gvi0) ;

fs = sum(i, qim0(i)*scen_main(t+1,"import")/scen_main("2010","import")
- ex0(i) *scen_main(t+1,"export")/scen_main("2010","export")) ;

sc(i)$(sc(i) < 0) = 0 ;
sc(i)$(sc(i) > 0) = -sc(i) ;

*avt(nj,"tec1")$(yr(t) ge 2020) = 1 ;
*avt(nj,"tec2")$(yr(t) ge 2025) = 1 ;

q_up(j) = q_up(j)*(1+grow(t,"gdp")/100) ;


ACTN.up(j,tec) = sum(tc2, ACTS.l(j,tc2)+ACTN.l(j,tc2))*0.15 ;


);

display outputY, output ;


=========================================
Result showed.
DUMMY01 Artificial equation for model: CGE4_MPSGE
EQ_001 Complementary equation(s) for CO2_PRI

---- VAR ACTS activity

LOWER LEVEL UPPER MARGINAL

2nd.tec0 . 1.000 +INF 1.2000E-8
eqm.tec0 . 1.000 +INF .
3rd.tec0 . 1.000 +INF .
en1.tec0 . 1.000 +INF .
en2.tec0 . 1.000 +INF .

LOWER LEVEL UPPER MARGINAL

---- VAR COH . 1.000 +INF .

COH household consumption

---- VAR ESHN

LOWER LEVEL UPPER MARGINAL

sv1.tec0 . 1.000 +INF .

---- VAR ESHS

LOWER LEVEL UPPER MARGINAL

sv1.tec0 . 1.000 +INF .

---- VAR COH_E household energy

LOWER LEVEL UPPER MARGINAL

en1 . 1.000 +INF .
en2 . 1.000 +INF .

LOWER LEVEL UPPER MARGINAL

---- VAR IVH . 1.000 +INF .
---- VAR COG . 1.000 +INF .
---- VAR IVG . 1.000 +INF .

IVH household investment
COG government consumption
IVG government investment

---- VAR EXPORT distribution between export and domestic

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .
en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR IMPORT composition of domestic and import

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF 1.1437E-8
eqm . 1.000 +INF 3.1841E-8
3rd . 1.000 +INF 4.5000E-8
en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR PR_EX export

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .

---- VAR PR_IM import

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .
en1 . 1.000 +INF .

---- VAR PO price of activity in sector j

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .
en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR PES

LOWER LEVEL UPPER MARGINAL

sv1 . 1.000 +INF .

---- VAR PEH

LOWER LEVEL UPPER MARGINAL

en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR PZ

LOWER LEVEL UPPER MARGINAL

eqm.sv1.tec0 . 1.000 +INF .

---- VAR PK rent (price of existing capital)

LOWER LEVEL UPPER MARGINAL

2nd.tec0 . 1.000 +INF .
eqm.tec0 . 1.000 +INF .
3rd.tec0 . 1.000 +INF .
en1.tec0 . 1.000 +INF .
en2.tec0 . 1.000 +INF .

LOWER LEVEL UPPER MARGINAL

---- VAR PL 1.000 1.000 1.000 EPS
---- VAR PCO2 . . +INF .
---- VAR PU . 1.000 +INF .
---- VAR PIVH . 1.000 +INF .
---- VAR PGC . 1.000 +INF -6.898E-8
---- VAR PGI . 1.000 +INF .

PL wage (price of labor)
PCO2 price of CO2
PU price of aggregated household consumption
PIVH price of aggregated household investment
PGC price of aggregated government consumption
PGI price of aggregated government investment

---- VAR PD price of produced domstic goods i

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF -3.170E-8
eqm . 1.000 +INF 5.3175E-8
3rd . 1.000 +INF 3.8923E-7
en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR PS price of supplied goods i

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .
en1 . 1.000 +INF .
en2 . 1.000 +INF .

---- VAR PEX price of exported goods i

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF .
eqm . 1.000 +INF .
3rd . 1.000 +INF .

---- VAR PIM price of imported goods i

LOWER LEVEL UPPER MARGINAL

2nd . 1.000 +INF 2.6251E-8
eqm . 1.000 +INF -4.883E-8
3rd . 1.000 +INF -3.512E-7
en1 . 1.000 +INF .

LOWER LEVEL UPPER MARGINAL

---- VAR EXR . 1.000 +INF -7.000E-8
---- VAR MH . 208.000 +INF .
---- VAR GOV . 61.000 +INF .

EXR exchange rate
MH income
GOV government

---- VAR QKS

LOWER LEVEL UPPER MARGINAL

2nd.tec0 . 15.000 +INF .
eqm.tec0 . 15.000 +INF .
3rd.tec0 . 90.000 +INF .
en1.tec0 . 4.000 +INF .
en2.tec0 . 1.000 +INF .

---- VAR QLS

LOWER LEVEL UPPER MARGINAL

2nd.tec0 . 31.000 +INF .
eqm.tec0 . 18.000 +INF .
3rd.tec0 . 174.000 +INF .
en1.tec0 . 1.000 +INF .
en2.tec0 . 1.000 +INF .

---- VAR QXS

LOWER LEVEL UPPER MARGINAL

2nd.2nd.tec0 . 110.000 +INF .
2nd.eqm.tec0 . 30.000 +INF .
2nd.3rd.tec0 . 40.000 +INF .
2nd.en1.tec0 . 8.000 +INF .
2nd.en2.tec0 . 3.000 +INF .
eqm.2nd.tec0 . 19.000 +INF .
eqm.eqm.tec0 . 4.000 +INF .
eqm.3rd.tec0 . 9.000 +INF .
eqm.en1.tec0 . 2.000 +INF .
eqm.en2.tec0 . 2.000 +INF .
3rd.2nd.tec0 . 50.000 +INF .
3rd.eqm.tec0 . 23.000 +INF .
3rd.3rd.tec0 . 137.000 +INF .
3rd.en1.tec0 . 2.000 +INF .
3rd.en2.tec0 . 3.000 +INF .

---- VAR QES

LOWER LEVEL UPPER MARGINAL

en1.2nd.tec0 . 7.000 +INF .
en1.eqm.tec0 . 1.000 +INF .
en1.3rd.tec0 . 4.000 +INF .
en1.en2.tec0 . 2.000 +INF .
en2.2nd.tec0 . 1.000 +INF .
en2.eqm.tec0 . 1.000 +INF .
en2.3rd.tec0 . 9.000 +INF .
en2.en1.tec0 . 2.000 +INF .
en2.en2.tec0 . 1.000 +INF .

---- VAR QCN

LOWER LEVEL UPPER MARGINAL

2nd . 60.000 +INF .
eqm . . +INF EPS
3rd . 148.000 +INF .

---- VAR QCE

LOWER LEVEL UPPER MARGINAL

en1 . 12.000 +INF .
en2 . 2.000 +INF .


**** REPORT SUMMARY : 0 NONOPT
0 INFEASIBLE
0 UNBOUNDED
0 REDEFINED
0 ERRORS
GAMS Rev 240 WEX-WEI 24.0.2 x86_64/MS Windows 03/11/18 23:49:17 Page 5
Sample dynamic CGE
Solution Report SOLVE CGE4_MPSGE Using MCP From line 1730


**** SOLVER STATUS FILE LISTED BELOW
=C
Walras check : 0.0000E+00
Walras check : 0.0000E+00
Level and function values (X and F)
ACTS.2nd.tec0 1.0000 0.0000
ACTS.eqm.tec0 1.0000 0.0000
ACTS.3rd.tec0 1.0000 0.0000
ACTS.en1.tec0 1.0000 0.0000
ACTS.en2.tec0 1.0000 0.0000
COH 1.0000 0.0000
ESHN.sv1.tec0 1.0000 0.0000
ESHS.sv1.tec0 1.0000 0.0000
COH_E.en1 1.0000 0.0000
COH_E.en2 1.0000 0.0000
IVH 1.0000 0.0000
COG 1.0000 0.0000
IVG 1.0000 0.0000
EXPORT.2nd 1.0000 0.0000
EXPORT.eqm 1.0000 0.0000
EXPORT.3rd 1.0000 0.0000
EXPORT.en1 1.0000 0.0000
EXPORT.en2 1.0000 0.0000
IMPORT.2nd 1.0000 0.0000
IMPORT.eqm 1.0000 0.0000
IMPORT.3rd 1.0000 0.0000
IMPORT.en1 1.0000 -0.0000
IMPORT.en2 1.0000 -0.0000
PR_EX.2nd 1.0000 0.0000
PR_EX.eqm 1.0000 0.0000
PR_EX.3rd 1.0000 0.0000
PR_IM.2nd 1.0000 0.0000
PR_IM.eqm 1.0000 0.0000
PR_IM.3rd 1.0000 0.0000
PR_IM.en1 1.0000 0.0000
PO.2nd 1.0000 0.0000
PO.eqm 1.0000 0.0000
PO.3rd 1.0000 0.0000
PO.en1 1.0000 0.0000
PO.en2 1.0000 0.0000
PES.sv1 1.0000 0.0000
PEH.en1 1.0000 0.0000
PEH.en2 1.0000 0.0000
PZ.eqm.sv1.tec0 1.0000 0.0000
PK.2nd.tec0 1.0000 0.0000
PK.eqm.tec0 1.0000 0.0000
PK.3rd.tec0 1.0000 0.0000
PK.en1.tec0 1.0000 0.0000
PK.en2.tec0 1.0000 0.0000
PL 1.0000 0.0000
PCO2 0.0000 0.0000
PU 1.0000 0.0000
PIVH 1.0000 0.0000
PGC 1.0000 -0.0000
PGI 1.0000 0.0000
PD.2nd 1.0000 -0.0000
PD.eqm 1.0000 0.0000
PD.3rd 1.0000 0.0000
PD.en1 1.0000 0.0000
PD.en2 1.0000 0.0000
PS.2nd 1.0000 0.0000
PS.eqm 1.0000 0.0000
PS.3rd 1.0000 0.0000
PS.en1 1.0000 0.0000
PS.en2 1.0000 0.0000
PEX.2nd 1.0000 0.0000
PEX.eqm 1.0000 0.0000
PEX.3rd 1.0000 0.0000
PIM.2nd 1.0000 0.0000
PIM.eqm 1.0000 -0.0000
PIM.3rd 1.0000 -0.0000
PIM.en1 1.0000 0.0000
EXR 1.0000 -0.0000
MH 208.0000 0.0000
GOV 61.0000 0.0000
=C
=C--- Executing MCP subsolver PATH
=0PATH Feb 14, 2013 24.0.2 WEX 38380.38394 WEI x86_64/MS Windows
Walras check : 0.0000E+00
=1
69 row/cols, 336 non-zeros, 7.06% dense.

=2
convergence_tolerance 1e-006
major_iteration_limit 0
minor_iteration_limit 0
crash_iteration_limit 0
cumulative_iteration_limit 0
time_limit 1000
interrupt_limit 5
chen_lambda 0.8
output yes
output_errors yes
output_warnings no
output_major_iterations yes
output_major_iterations_frequency 1
output_minor_iterations yes
output_minor_iterations_frequency 500
output_crash_iterations yes
output_crash_iterations_frequency 1
output_initial_point no
output_initial_statistics no
output_initial_point_statistics yes
output_initial_scaling_statistics yes
output_final_point no
output_final_statistics yes
output_final_point_statistics yes
output_final_scaling_statistics no
output_final_degeneracy_statistics no
output_final_summary yes
output_maximum_zero_log 10
output_maximum_zero_listing 1000
output_restart_log yes
output_preprocess_level 1
output_options no
preprocess no
gradient_step_limit 5
gradient_searchtype arc
crash_method none
crash_perturb yes
crash_searchtype line
crash_minimum_dimension 1
crash_nbchange_limit 1
nms yes
nms_memory_size 10
nms_mstep_frequency 10
nms_initial_reference_factor 20
nms_searchtype line
nms_maximum_watchdogs 5
proximal_perturbation 0
merit_function fischer
crash_merit_function fischer
lemke_start automatic
lemke_start_type slack
lemke_rank_deficiency_iterations 10
output_linear_model no
=1
Path 4.7.02 (Thu Feb 14 14:41:01 2013)
Written by Todd Munson, Steven Dirkse, and Michael Ferris
=2
Walras check : 0.0000E+00
Walras check : 0.0000E+00
Walras check : 0.0000E+00
** WARNING **
Basis modifications: 69

INITIAL STATISTICS
Inf-Norm of Complementarity . . 3.8923e-007 eqn: (PD.3rd)
Inf-Norm of Normal Map. . . . . 3.8923e-007 eqn: (PD.3rd)
Inf-Norm of Minimum Map . . . . 3.8923e-007 eqn: (PD.3rd)
Inf-Norm of Fischer Function. . 3.8923e-007 eqn: (PD.3rd)
Inf-Norm of Grad Fischer Fcn. . 1.8800e-004 eqn: (EXPORT.3rd)
Two-Norm of Grad Fischer Fcn. . 3.0932e-004
=1

INITIAL POINT STATISTICS
=2
=1
Maximum of X. . . . . . . . . . 2.0800e+002 var: (MH)
=2
=1
Maximum of F. . . . . . . . . . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Maximum of Grad F . . . . . . . 8.3055e+002 eqn: (GOV)
var: (PCO2)
=2
=1

INITIAL JACOBIAN NORM STATISTICS
=2
=1
Maximum Row Norm. . . . . . . . 1.4660e+003 eqn: (PD.3rd)
=2
=1
Minimum Row Norm. . . . . . . . 1.0000e+000 eqn: (PK.en2.tec0)
=2
=1
Maximum Column Norm . . . . . . 1.6621e+003 var: (PCO2)
=2
=1
Minimum Column Norm . . . . . . 2.0000e+000 var: (MH)
=2

Major Iteration Log
major minor func grad residual step type prox inorm (label)
0 0 1 1 5.4295e-007 I 0.0e+000 3.9e-007 (PD.3rd)
Walras check : 0.0000E+00
=1

FINAL STATISTICS
=2
=1
Inf-Norm of Complementarity . . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Inf-Norm of Normal Map. . . . . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Inf-Norm of Minimum Map . . . . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Inf-Norm of Fischer Function. . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Inf-Norm of Grad Fischer Fcn. . 1.8800e-004 eqn: (EXPORT.3rd)
=2
=1
Two-Norm of Grad Fischer Fcn. . 3.0932e-004
=2
=1

FINAL POINT STATISTICS
=2
=1
Maximum of X. . . . . . . . . . 2.0800e+002 var: (MH)
=2
=1
Maximum of F. . . . . . . . . . 3.8923e-007 eqn: (PD.3rd)
=2
=1
Maximum of Grad F . . . . . . . 8.3055e+002 eqn: (GOV)
var: (PCO2)
=2

FINAL JACOBIAN NORM STATISTICS
Maximum Row Norm. . . . . . . . 1.4660e+003 eqn: (PD.3rd)
Minimum Row Norm. . . . . . . . 1.0000e+000 eqn: (PK.en2.tec0)
Maximum Column Norm . . . . . . 1.6621e+003 var: (PCO2)
Minimum Column Norm . . . . . . 2.0000e+000 var: (MH)

FINAL DEGENERACY STATISTICS
Degenerate. . . . . . . . . . . 0.0000e+000 eqn: (PCO2)
var: (PCO2)
Total Degenerates . . . . . . . 1

** EXIT - solution found.

Major Iterations. . . . 0
Minor Iterations. . . . 0
Restarts. . . . . . . . 0
Crash Iterations. . . . 0
Gradient Steps. . . . . 0
Function Evaluations. . 1
Gradient Evaluations. . 1
Total Time. . . . . . . 0.032000
Residual. . . . . . . . 5.429529e-007
Walras check : 0.0000E+00
=1

=2
Walras check : 0.0000E+00
**** SOLVER STATUS FILE LISTED ABOVE
GAMS Rev 240 WEX-WEI 24.0.2 x86_64/MS Windows 03/11/18 23:49:17 Page 6
Sample dynamic CGE
Solution Report SOLVE CGE4_MPSGE Using MCP From line 1730


**** REPORT FILE SUMMARY

MPS C:\Users\munesue\Desktop\Tokyotech_ Tanawat\CGE model\Thailand model\Dynamic
model\2018\8 Feb\CGE sample\225a\gamscge.dat


EXECUTION TIME = 0.000 SECONDS 2 Mb WEX240-240 Feb 14, 2013


USER: Social Engineering G130312:1237AP-WIN
Tokyo Institute of Technology DC2886
License for teaching and research at degree granting institutions


**** FILE SUMMARY

Input C:\Users\munesue\Desktop\Tokyotech_ Tanawat\CGE model\Thailand model\
MPSGE\sample_4_dynamic3ag.gms
Output C:\Users\munesue\Desktop\Tokyotech_ Tanawat\CGE model\Thailand model\
Dynamic model\2018\8 Feb\CGE sample\sample_4_dynamic3ag.lst
Post Reply