model:
title 订货运输问题;
sets:
Time/1..4/:ti;
Supplier/1..3/:K;
demand/1..4/:d;
Cargo/1..2/:S,A,W;
Part/1..2/:Pa;
Orderq(Time,Supplier):x1,x2,fx; !订购零部件1;
!Orderq2(Time,Supplier):x2; !订购零部件1;
Inv(Time,Part):I1,I2;
Shipq(Time,Cargo):y1,y2,fy;
unitcost(Supplier,Part):c;
endsets
data:
!供应商固定订货成本;
K=20 25 27;
!运输固定成本;
S=12 15;
!容量;
W=10 15;
!运输与容量有关的成本;
A=3 4;
!单位购买成本;
c=3 4
2 3
2 4;
!CC库存持有成本;
h1=1;
!LW库存持有成本;
h2=4;
!需求信息;
d=10 14 9 15;
enddata
!objective constraint(目标函数);
min=@sum(Orderq(t,i):(K(i)*fx(t,i)+c(i,1)*x1(t,i)+c(i,2)*x2(t,i)))+
+@sum(Inv(t,j):(h1*I1(t,j)+h2*I2(t,j)))+
+@sum(Shipq(t,l):S(l)*fy(t,l))+
+@sum(Time(t):(A(l)*@if(@mod(@sum(Cargo:(y1(t,l)+
+y2(t,l))),W(l))#GT#0,@floor(@sum(Cargo:(y1(t,j)+
+y2(t,j))/W(l)))+1,@floor(@sum(Cargo:(y1(t,j)+y2(t,j))/W(l))))));
!CC中的库存状态;
x1(1,1)+x1(1,2)+x1(1,3)-@sum(Cargo:y1(1,l))=I1(1,1); !零部件1;
@for(Time(t)|t#GT#1:I1(t-1,1)+@sum(Supplier(i):x1(t,i))-@sum(Cargo:y1(t,l))=I1(t,1););
@sum(Supplier(i):x2(1,i))-@sum(Cargo:y2(1,l))=I1(1,2); !零部件2;
@for(Time(t)|t#GT#1:I1(t-1,2)+
+@sum(Supplier(i):x2(t,i))-@sum(Cargo:y2(t,l))=I1(t,2););
!LW中的库存状态;
@sum(Cargo:y1(1,l))-d(1)=I2(1,1);
@for(Time(t)|t#GT#1:I2(t-1,1)+@sum(Cargo:y1(t,l))-d(t)=I2(t,1));
@sum(Cargo:y2(1,1))-d(1)=I2(1,2);
@for(Time(t)|t#GT#1:I2(t-1,2)+@sum(Cargo:y2(t,l))-d(t)=I2(t,2));
!定义边界条件;
@for(Orderq:x1(t,i)>=0);
@for(Orderq:x2(t,i)>=0);
@for(Shipq:y1(t,l)>=0);
@for(Shipq:y2(t,l)>=0);
@for(Inv:I1(t,j)>=0);
@for(Inv:I2(t,j)>=0);
!定义x为1-0变量;
@for(Orderq:@bin(fx(t,i));
@for(Shipq:@bin(fy(t,l));
!定义整数变量;
@for(Orderq:@gin(x1(t,i)));
@for(Orderq:@gin(x2(t,i)));
@for(Shipq:@gin(y1(t,l)));
@for(Shipq:@gin(y2(t,l)));
@for(Inv:@gin(I1(t,j)));
@for(Inv:@gin(I2(t,j)));
!建立x和fx之间的关系;
@for(Orderq:x1(t,i)+x2(t,i)<=1000*fx(t,j););
@for(Shipq:y1(t,l)+y2(t,l)<=1000*fy(t,l););
end
lingo中输入代码出现invalid input:a syntax error has occurred,怎么...
最好先定义sets 再通过sets的循环和遍历操作来刻画你的约束 这样程序就会好看些 否则你的程序真的很难改哦
...在目标函数那一行提示有invalid input:a synatax error. 望高手帮忙...
job\/1..2\/;op\/1..2\/;machine\/1..2\/;link1(job,op,machine):s,t,e;!开始时间,工时定额,最晚完工时间;endsets data:t=1 0 0 1 0 3 4 0;enddata !目标函数;min=@max(link1:e);!关系;for(link1:e=s+t);for(machine(k):@for(job(i):@for(op(j1)|t(i,j1,k)#ne#0...
lingo中输入代码出现invalid input:a syntax error,怎么调试?急!_百度...
write('z1的最小解:',@newline(1));solve(OBJ1,CON1);write('z2的最大解:',@newline(1));solve(OBJ2,CON1);ENDCALC End
[紧急]lingo中错误代码11,Invalid input .A syntax error has occured...
x(3) - 0.0542 * @SUM(Books : x(i)) + Dm9 - Dp9 = 0;这条语句与前面的有冲突
急急急,运行lingo时出现的错误,求高手指导。万分感谢
e为底的指数函数是@exp 自然对数是@log 以10为底的对数函数你自己转换一下 再说以10为底什么时候也叫自然对数了
用lingo解决一个指派问题,要求写出程序,万分感谢
box\/1..16\/:w;assign(lorry,box):x;endsets data:w=34,6,8,17,16,5,13,21,25,31,14,13,33,9,25,25;enddata min=@max(lorry(i):@sum(box(j):w(j)*x(i,j)));for(lorry(i):@sum(box(j):w(j)*x(i,j))<=100);for(box(j):@sum(lorry(i):x(i,j))=1);for(...
急求Lingo解决数学建模的指派问题,万分感谢!
link2(city,city):b;endsets data:a= 0 1000 1500 0 1400 1200 0 0 2000 700;b= 100 130 90 130 50 140 90 140 50;c= 0 0 0 0 0 10 15 10 20 5 10 20 15 15 15 ;enddata min=@sum(link1(m,n):a...
用lingo解决一个指派问题,要求写出程序,万分感谢
其实题目是不够全的 需要指出是否四个人必须要分别翻译四种语言 还有指派时间指的是加起来还是最长的那个 这里按照每人必须对应一个语言 指派时间是加起来算 model:sets:person\/1..4\/;language\/1..4\/;translate(person,language):time,x;endsets data:time= 2 15 13 4 10 4 14 ...
求大虾解释下为什么这段程序LINGO解决不了~万分感谢
没有可行解,把原问题贴出来看看吧 另外帮你修改一下程序,看起来比较简洁 model:sets:r\/1..4\/:;yundongyuan\/1..10\/:Q;link(r,yundongyuan):X,E;endsets data:E=8.4 9.3 8.4 8.1 8.4 9.4 9.5 8.4 8.4 9.0 8.4 8.4 8.1 8.7 9.0 8.7 8.4 8.8 8.4 8.1 ...
数学建模要学哪些知识?还请大牛帮忙解答,希望能给出一些具体的建议,比 ...
这问题我们可以用 Mathematica 、Matlab、Lindo 、Lingo 等多个不同软件包编程求解 2 建模的过程、方法 数学建模是一项非常具有创造性和挑战性的活动,不可能用一些条条框框规定出各种模型如何具体建立。但一般来说,建模主要涉及两个方面:第一,将实际问题转化为理论模型;第二,对理论模型进行计算和分析...