某厂按合同规定须于当年每个季度末分别提供10、15、25、20台同一规格的柴油机。已知该厂各季度的生产能力及生产每台柴油机的成本如右表。又知如果生产出来的柴油机当季度不交货,每台每季度的存储维护费为0.15万元。试安排全年生产计划,使总费用最低。
季度 生产能力/台 单位成本/万
1 25 10.8
2 35 11.1
3 30 11
4 10 11.3
代码如下:
model:
sets:
row/1,2,3,4/;
arrage/1,2,3,4/;
link(row,arrage):c,x;
endsets
data:
c=10.8,10.95,11.1,11.25,11.1,11.25,11.4,11,11.15,11.3;
enddata
[OBJ]min=@sum(link(i,j):c(i,j)*x(i,j));
x(1,1)=10
x(1,2)+x(2,2)=15
x(1,3)+x(2,3)+x(3,3)=25
x(1,4)+x(2,4)+x(3,4)+x(4,4)=20
x(1,1)=10
x(1,2)+x(2,2)=15
x(1,3)+x(2,3)+x(3,3)=25
x(1,4)+x(2,4)+x(3,4)+x(4,4)=20
@for(link(i,j):x(i,j)>=0;);
End
c数据要如何修改啊?
代码如下:
model:
sets:
row/1,2,3,4/;
arrage/1,2,3,4/;
link(row,arrage):c,x;
endsets
data:
c=10.8,10.95,11.1,11.25,11.1,11.25,11.4,11,11.15,11.3;
enddata
[OBJ]min=@sum(link(i,j):c(i,j)*x(i,j));
x(1,1)=10;
x(1,2)+x(2,2)=15;
x(1,3)+x(2,3)+x(3,3)=25;
x(1,4)+x(2,4)+x(3,4)+x(4,4)=20;
x(1,1)+x(1,2)+x(1,3)+x(1,4)<=25;
x(2,2)+x(2,3)+x(2,4)<=35;
x(3,3)+x(3,4)<=30;
x(4,4)<=10;
@for(link(i,j):x(i,j)>=0;);
End
关于lingo的一段代码,问能不能运行成功。如果出错,错在哪里?
语法分析,这段代码没有问题,算不出来的原因是因为你的约束条件构不成一个封闭的域。简单的说,如果用线性规划的方法来画图你会发现这个约束条件是没有上限的。那么,你的max函数当然是不能取得值的!解决这个问题,你需要增加约束条件来限制目标函数要么只有改变目标函数。
Lingo中怎样查询语法错误的位置?
运行你的lingo程序,若有错,lingo系统会弹出一个“LINGO ERROR MESSAGE”的窗口,提示你哪里出错。其中“ERROR CODE”指的是程序错误的编号(LINGO把常见的错误都进行了编号,姜启源的lingo教材中有对应每一个标号错误的中文解释和解决方法,可以参考),下面的“Error Text”中有具体错误所在的行数,还有...
lingo程序运行时溢出错误~~
建议你再用个8.0或别的版本用于纠错,改正后再用9.0运行。不过如果不是这种情况,那就有可能是程序的问题。
lingo11编的程序,运行说29号错误,我实在不知道为什么错了,请教各位高手...
你在init段写的began的数据量不对 自己改 model:sets:workgroup\/1,2,3,4,5,6,7\/:start,began,cost,last;second(workgroup,workgroup):c;endsets data:start=2,5,4,0,0,8,9;cost=5,6,8,4,2,4,2;last=10,21,15,10,5,15,22;enddata init:!began=4,9,15,0,23,25,29,31;end...
Lingo运行问题。在运行编好的程序时,总出现 这样的文字:
错误代码:29 的意思是:数据段或初始段的数据个数不符 要修改的看具体的。。。MODEL:SETS:cangku\/1,2\/:sgmc;xiangmu\/1..5\/:sgxql;chanpin\/1,2\/;chejian\/1,2\/:z;gangcai\/1..4\/;AA(xiangmu,chanpin):chanpinxql;BB(cangku,xiangmu):ckfy;CC(cangku,chejian):ckfy1;DD(chejian,...
lingo 找错 for循环有问题(在线等)
改好的程序已经给出了,能够运行了,最主要的错误是j+1、k+1、l+1、m+1时超出范围,因为定义时j,k,l,m的最大值为5,而在限制条件中超出了范围!model:sets:year\/1..5\/:n,n1,n2,n3,n4,q4;endsets data:n1=122000000000,,,;n2=29700000000,,,;n3=10100000000,,,;n4=3290000000,,,;...
这个lingo程序哪里有错误?model:
状态栏最左边显示的是“Ready”,表示准备就绪,右下角显示的是当前时间,时间前面是当前光标的位置“Ln 1,Col 1”(即1行1列).将来用户可以用选项命令(LINGO|Options|Interface菜单命令)决定是否需要显示工具栏和状态栏. LINGO有5个主菜单: l File(文件) l Edit(编辑) l LINGO(LINGO系统...
有关lingo代码的问题,求高人相助~感激不尽
(1)在第二个数据块Data,你为变量D赋值时,忘记了在数据末端添加分号(;);(2)@for( relation(i,j);这一句显然有问题,你将末尾的(;)换位冒号(:)就可以了。希望我的说明有助于你找出代码中的些许瑕疵!你的代码没有大的问题,可能是手误。另外,推荐你读一读这个博客,里边列举了常见...
lingo中missing right p
在Lingo语言模型中,遇到"missing right p"的错误可能源于对模型结构或指令的不完整理解。问题的核心在于代码中存在一些语法或逻辑上的问题,让我们逐段分析:首先,定义了多个集合,如p、q和r,以及它们之间的链接关系c和x。接着,设置了最小值变量a,并试图通过一个不等式约束满足条件。在循环部分,@...
为什么lingo第一次运行正确,第二次运行错误
应该改为:model:sets:wh\/w1..w6\/:ai; vd\/v1..v8\/:dj;links(wh,vd):c,x;endsets data:ai=60,55,51,43,41,52;dj=35,37,22,32,41,32,43,38;c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5...