作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 02:02:57
用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;
改成这样就行了 集操作函数一定要先声明集 乘号要写 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
再问: 为什么运行不出来啊?
再答: 什么运行不出来 说清楚行吗
再问: 他指示的是 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
再答: 我写的绝对没问题 只要你的软件没问题绝对能出来 你能把提示复制里面关键的东西发过来吗? 里面的英语难道看不懂?
再问: 确实看不懂啊 你可以把你邮箱给我吗?我把提示发到你邮箱里面。
再答: 里面不都是文字吗 把文字敲上来不费劲吧 有明显的error text在那摆着啊