悬赏 50 个论坛币 未解决
各位高手:您们好!
最近刚学习GAMS语言,遇到一个不难的问题,但是自己总也纠正不对,恳请各位帮助!谢谢!谢谢!谢谢!
问题是:cap那一行中,只有sec3、sec4、sec5三个数字变化了,sec1和sec2没有变化;怎么写程序?谢谢!谢谢!谢谢!
1 set ac /sec1,sec2,sec3,sec4,cap,com,total/ ;
2 set i(ac) /sec1,sec2,sec3,sec4/;
3 alias (i,j);
4 table IO(*,*)
5 sec1 sec2 sec3 sec4 sec5 com Total
6 sec1 300 100 100 900 100 100 1600
7 sec2 900 300 300 900 100 100 2600
8 sec3 900 300 300 900 300 100 2800
9 sec4 100 100 100 300 100 100 800
10 sec5 900 300 300 900 300 100 2800
11 cap 100 100 100 100 100
12 Total 3200 1200 1200 4000 1000
13 ;
14 parameter
15 int(i,j) intermidiate input 中间投入数量
16 a(i,j) direct input-output coefficients 投入产出直接消耗系数
17 Q0(i) initial value for total output 总产出的初始值
18 com(i)
19 cap(i)
20 ;
21 int(i,j)=IO(i,j);
22 Q0(i)=IO("total",i);
23 a(i,j)=int(i,j)/Q0(j);
24 com(i)=IO(i,"com");
25 cap(i)=IO("cap",i);
26 display int,Q0,a;
27
28 variable
29 Q(i) total output 总产出变量;
30 equation
31 commodityequi(i);
32
33 commodityequi(i)..
34 sum(j,a(i,j)*Q(j))+com(i)=e=Q(i);
35
36 Q.l(i)=Q0(i);
37
38 model IOmodel /all/;
39 solve IOmodel using mcp;
40 display Q.l;
41
42 parameter
43 cap2(i)
44 ;
45 cap2(i) /i1 100,i2 100, i3 200, i4 200, i5 200/;
**** $36
46 cap(i)=cap2(i);
**** $141
谢谢!谢谢!谢谢!