下面是使用直接交叉熵法调平SAM表的GAMS程序
set ac /com1,com2,com3,com4,com5,com6,com7,com8,com9,sec1,sec2,sec3,sec4,sec5,sec6,sec7,sec8,sec9,lab,cap,hh,ent,gov,so2,inv,oth,tot/ ;
set i(ac) /com1,com2,com3,com4,com5,com6,com7,com8,com9,sec1,sec2,sec3,sec4,sec5,sec6,sec7,sec8,sec9,lab,cap,hh,ent,gov,so2,inv,oth/ ;
alias(ac,acp);
alias(i,j);
table sam(*,*)
com1 com2 com3 com4 com5 com6 com7 com8 com9 sec1 sec2 sec3 sec4 sec5 sec6 sec7 sec8 sec9 lab cap hh ent gov so2 inv oth tot
com1 1116149 200622 104 1633700 139800 88839 261050 2004550 125973 5570787
com2 1002 675250 33 1410397 3001080 659576 14763 14787 289929 151142 6217959
com3 79 21158 89828 5 57 111127
com4 43114 622242 891362 13574 2610059 174398 83922 1012936 664580 6116187
com5 657 9476 13574 207 39748 2656 1278 15427 10121 93144
com6 653207 5402523 380 1768313 26929 29903754 9917745 944003 3061921 7402667 17555147 76636589
com7 249394 11392 173 143547 47371 137882 502462 14156579 15248800
com8 46657 2809886 140932 2146 1810439 392954 386143 319558 350276 67452 6326443
com9 426335 771574 160 379281 5776 3720187 947400 310265 4522702 7973777 7186369 491321 26735147
sec1 4984000 16355 5000355
sec2 17963581 12036265 29999846
sec3 2514 1 2515
sec4 7958856 1906616 9865472
sec5 121201 29035 150236
sec6 63751948 8485670 72237618
sec7 15248800 1 15248801
sec8 6262300 873990 7136290
sec9 25666600 794654 26461254
lab 1919300 3047743 74 307417 4681 4051134 1649000 953500 6521699 18454548
cap 829500 2609160 1690 2696354 41061 13241676 802300 3127200 7884398 31233339
hh 18993100 5872400 3945900 28811400
ent 32076805 2860500 34937305
gov 1559518 72.7 292198 5180 3490507 515600 214500 1549603 207426 843466 70434.3 8748505
so2 6193 0.3 47952 16289 70434.3
inv 8270300 17903400 2712900 3181200 32067800
oth 603142 290643 108613 63951 974 21370311 1 938133 1863201 25238969
tot 5587142 18254224 111127 8022807 122175 85122259 15248801 7200433 27529801 5036000 17963581 2514 7980330 99727 63751948 15248800 6262300 25666600 18993100 37949205 27173626 18746866 16705669 70434.3 32547614 27323787
;
parameters
q0(i,j) 初始流量
H0 初始流量总数
;
q0(i,j)=sam(i,j);
h0=sum((i,j),sam(i,j));
display h0,sam;
variable
q(i,j)
h 调整sam表的总值
hratio 调整和原始两个总数的比例
z
;
positive variable q(i,j);
equation
totalsum
directentropy
balance
hratiodef
;
totalsum..
h=e=sum((i,j),q(i,j));
hratiodef..
hratio=e=h/h0;
directentropy..
z=e=sum((i,j)$sam(i,j),(1/h)*q(i,j)*log(q(i,j)/sam(i,j))-log(hratio));
balance(i)..
sum(j,q(i,j))=e=sum(j,q(j,i));
q.l(i,j)=q0(i,j);
h.l=h0;
hratio.lo=0.5;
hratio.up=2;
model sambal /all/;
solve sambal using nlp minimizing z;
display q.l,h.l,hratio.l;
执行错误为***status:terminated due to a licensing error
这是什么情况?怎么修改呢?是数据问题还是程序问题,恳请大神帮忙解答