用lingo编程,下面程序错在哪里?

用lingo编程,下面程序错在哪里?
model:
sets:
dj/1..9/:i,j,v,f,a,b,c;
endsets
min=@sum((x+y-2000-i(n))*a(n)*v(n)+(j(n)-i(n))*b(n)*v(n)+z/12*c(n)*v(n)-c(n)*f(n));
@for(dj(n):@if(((x+y-2000) #gt# i(n)) #and# ((x+y-2000) #le# j(n)) ,1,0)=a(n));
@for(dj(n):@if((x+y-2000) #gt# j(n) ,1,0)=b(n));
@for(dj(n):@if(((z/12) #gt# i(n)) #and# ((z/12) #le# j(n)) ,1,0)=c(n));
12y+z=p;
data:
x=
984
;
p=39030;
i=
0 500 2000 5000 20000 40000 60000 80000 100000;
j=
500 2000 5000 20000 40000 60000 80000 100000 200000;
v=
0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45;
f=
0 25 125 375 1375 3375 6375 10375 15375;
gc658 1年前 已收到1个回答 举报

yaowanlong 春芽

共回答了15个问题采纳率:86.7% 举报

改成这样就行了 集操作函数一定要先声明集 乘号要写 data结束要写enddata
model:
sets:
dj/1..9/:i,j,v,f,a,b,c;

endsets
min=@sum(dj(n):(x+y-2000-i(n))*a(n)*v(n)+(j(n)-i(n))*b(n)*v(n)+z/12*c(n)*v(n)-c(n)*f(n));
@for(dj(n):@if(((x+y-2000) #gt# i(n)) #and# ((x+y-2000) #le# j(n)) , 1,0)=a(n));
@for(dj(n):@if((x+y-2000) #gt# j(n) , 1,0)=b(n));
@for(dj(n):@if(((z/12) #gt# i(n)) #and# ((z/12) #le# j(n)) , 1,0)=c(n));
12*y+z=p;
data:
x=
984
;
p=39030;
i=
0 500 2000 5000 20000 40000 60000 80000 100000;
j=
500 2000 5000 20000 40000 60000 80000 100000 200000;
v=
0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45;
f=
0 25 125 375 1375 3375 6375 10375 15375;
enddata
end

1年前 追问

5

gc658 举报

为什么运行不出来啊?

举报 yaowanlong

什么运行不出来 说清楚行吗

gc658 举报

他指示的是 min=@sum(dj(n):(x+y-2000-i(n))*a(n)*v(n)+(j(n)-i(n))*b(n)*v(n)+z/12*c(n)*v(n)-c(n)*f(n)); 中min的m

举报 yaowanlong

我写的绝对没问题 只要你的软件没问题绝对能出来 你能把提示复制里面关键的东西发过来吗? 里面的英语难道看不懂?

gc658 举报

确实看不懂啊 你可以把你邮箱给我吗?我把提示发到你邮箱里面。

举报 yaowanlong

里面不都是文字吗 把文字敲上来不费劲吧 有明显的error text在那摆着啊
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.031 s. - webmaster@yulucn.com