sets:
d/d1..d4/:nP,op,q;
loc/l1..l5/:y,fc,vx,cap;
f/f1..f5/:gc,z;
factory/f3..f5/;
logcenter/l4,l5/;
enviroment/e1,e2/;
remanu(d,loc,f,logcenter,d):rx_rm,rc;
reuse(d,loc,logcenter,d):rx_ru,uc;
disposal(d,loc,enviroment):rx_d,dc;
newmanu(factory,logcenter,d):ux_nm,mc;
dloclink(d,loc):c1;
logloclink(logcenter,loc):c2;
facloclink(f,loc):c3;
envloclink(enviroment,loc):c4;
endsets
data:
np=1000 3000 2500 4000;
op=100 250 200 300;
q=200 300 300 600;
fc=3000 4000 2500 1000 2000;
gc=5000 6500 3000 2500 2000;
c1=40 20 13 40 30
15 30 30 25 20
33 35 23 36 30
30 32 25 20 16;
c2=28 40 25 0 35
40 31 35 35 0;
c3=30 40 50 20 15
38 40 20 26 30
30 40 30 20 40
60 20 10 30 20
30 30 10 50 20;
c4=50 60 30 40 60
30 45 55 40 50;
cap=800 600 800 200 500;
a1=0.7;a2=0.2;b1=0.1;
enddata
!目标函数;
min=@sum(loc:fc*y)+@sum(f:gc*z)+@sum(remanu:rx_rm*rc)+@sum(reuse:rx_ru*uc)+@sum(disposal:rx_d*dc)+@sum(newmanu:ux_nm*mc);
@for(remanu(i,j,k,l,m):rc(i,j,k,l,m)=c1(i,j)+c3(k,l)+c1(m,l));
@for(reuse(i,j,k,l):uc(i,j,k,l)=c1(i,j)+c2(k,j)+c1(l,k));
@for(disposal(i,j,k):dc(i,j,k)=c1(i,j)+c4(k,j));
@for(newmanu(i,j,k):mc(i,j,k)=c3(i,j)+c1(k,j));
!再生品供给不小于再生品需求;
@for(d(m):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m)*(l-b1))+@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))>=op(m));
!新产品供给不小于新产品需求;
@for(d(m):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m)*b1)+@sum(newmanu(i,j,m):ux_nm(i,j,m))>=np(m));
!所有运出的回收品不大于所有产生的回收品;
@for(d(i):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))+@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))+@sum(disposal(i,j,k):rx_d(i,j,k)=q(i));
!所有产生的回收品都运到回收中心;
@for(loc(j):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))+@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))+@sum(disposal(i,j,k):rx_d(i,j,k))=vx(j));
!通过某地的产品总量不大于该地的能力限制;
@for(loc(j):vx(j)<=cap(j));
!某种策略下运出的回收品等于所有需要用该策略处理的回收品;
@for(loc(j):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))=a1*vx(j));
@for(loc(j):@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))=a2*vx(j));
!废弃处理的产品不小于总的回收品减去所有策略处理的产品之和;
@for(loc(j):@sum(disposal(i,j,k):rx_d(i,j,k))>=(l-a1-a2)*vx(j));
!在某地某设施开放的条件下,才能有产品通过该地的该设施;
@for(loc(j):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))+@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))+@sum(disposal(i,j,k):rx_d(i,j,k))=vx(j))<=1000000*y(j));
@for(f(k):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))<=1000000*z(k));
@for(loc:@bin(y));
@for(f:bin(z));
end
能不能帮我改成可运行的,谢谢!
追答错误都跟你说了 我怎么知道你应该写成什么 上面都问你了你不告诉我我给你改?
请高手帮忙看下这个lingo程序哪里出错了?急~
endsets data:T=25 36 32 15 31 28 22 12;!这里缺少一个分号;S=5 7 5 4 6 5 5 3; !这里缺少一个分号;enddata min=0.66*Q^0.51*20+@sum(myset(j):myset1(i):(@sum(x(i,j)));!这里语法错,但是不是很清楚楼主的意思所以无法修改;!因为这里无法修改,所以以下的程序也无法...
请高手帮忙 看一下此lingo程序错在哪里? 急!!!
你程序中这两行 for(data(n)|n#GT#1:(p-q)*x(n-1)+(1-r)*(p+q)*u(n-1)>=x(n)-(1-r)*u(n));for(data(n)|n#GT#1:(p-q)*x(n-1)-(1-r)*(p+q)*u(n-1)<=x(n)+(1-r)*u(n));data要改成datas,你那样集合名没统一 你试试 ...
看看这个lingo程序哪里出错了?
l1和l3两个变量是不是可以合并?建议你看看lingo的帮助文档,查查相应的语法,学习用for循环和矩阵的形式列出约束条件。如果可以,把原题发到luyuwuli@163.com祝学习进步~model:sets:fe\/1..5\/:f;de\/1..8\/:x,y;link(fe,de):W;endsets data:x=5 7 5 4 6 5 5 3;y=25 36 32 15 31 ...
请求高手帮我看看这个lingo程序错在哪里?
变量命名重复了GY\/g1,g2\/:gx,gy,gl;这句命名了两个gy,lingo不区分大小写的。
请问这个lingo程序哪个地方错了一点?非常感谢!
变量名后跟括号。修改后的程序:MODEL:sets:num\/1,2,3,4,5\/:X;endsets MIN=@sum(num:X);X(1)+X(2)>=100;X(1)+2*X(3)+X(4)>=200;2*X(2)+X(3)+2*X(4)+4*X(5)>=400;END 结果:Global optimal solution found.Objective value: 225.0000 Infeasibilities: 0.000000...
帮忙看看这个lingo程序哪不对?
错误很多 @for(loc(j):@sum(d(i):@sum(f(k):rx_d(i,j,k)))>=(l-a1-a2)*vx(j)); 这句的l哪来的 for(f:bin(z));这句是@bin for(loc(j):@sum(remanu(i,j,k,l,m):rx_rm(i,j,k,l,m))+@sum(reuse(i,j,k,m):rx_ru(i,j,k,m))+@sum(disposal(i,j,k)...
这个lingo程序哪里有错误?model:
决定是否需要显示工具栏和状态栏. LINGO有5个主菜单: l File(文件) l Edit(编辑) l LINGO(LINGO系统) l Windows(窗口) l Help(帮助)这些菜单的用法与Windows下其他应用程序的标准用法类似,下面只对主菜单中LINGO系统的主要命令进行简要介绍. LINGO系统(LINGO)...
帮忙看下这段LINGO程序的问题在哪里
括号就没没匹配 你自己数数 左括号和右括号数量都不一样 在后边加上一半左括号或者把@for(k(i)后面的左括号去掉就可以了
这个lingo程序错在哪了?
row\/1..3\/:b;col\/1..2\/:c,x,l,u;matrix(row,col):A;endsets min=@sum(col:c*x);for(col:@bnd(l,x,u));for(row(i):sum(col(j):A(i,j)*x(j))<=b(i));!漏掉一个括号,已改;data:c=1,2;b=8,3,;!漏掉一个数据?;A=-2,1,-1,1,1,-1;l=0,0;u=3,1000...
请求高手帮我看看这个lingo程序错在哪里? 急急急急!!!谢谢
最好写出模型来,有几个问题1:data部分中Y的个数比sets中定义个个数多,可能是有数据错误:1,2 2:init部分怎么又出现X,Y???3:@sum函数的用法有问题,格式为@函数名(集名(索引)|过滤条件:语句列表);4:lingo中每个语句结束要分号(英文输入法下):;5:为了简介起见(个人喜好),x,y...