用Lingo定义0,1矩阵
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/27 17:29:42
@bin(y);当然对集操作也一样@for(set:@bin(y));这种形式有问题再问我这个可能性不大除非你们做出是无可行解的情况
sets:r/1..6/:;c/1..6/:;links(r,c):x;endsets@for(links:@bin(x));!用@bin()函数限制6*6矩阵x为0-1矩阵;
可以用多个for循环解决另外可以下载数据使用
你输入数据个数跟定义不符合应该怎么写没法知道你把你写的发上来
lingo有集你把矩阵当成一个集里面的元素做就行了随便找个教程看看吧不是一句话就能说清楚的事
model: sets: js/1..45/:N,x,y;!n代表灯管数; ssq/1..10/:m; zxq/1..9/:e; links(zxq,ssq):d,f,s; endsets
@bnd(0,x,100);
sets:e/1..11/;matrix1(e,e):a;endsets@for(matrix1:@bin(a));@for(e(i):@sum(e(j):a(i,j))>0);自己看好派生集怎么定义
new=[]生成一个长度大小不定的空矩阵,可以通过new=[newX]进行元素或向量的添加,其中X就是要添加进这个矩阵的元素或向量.比如>>new=[];>>a=1;b=2;&
le就是小于等于ge就是大于等于eq就是等于第一句就是所有i小于等于4的x(i)加起来要不少于2后两句类似不过感觉最后一句已经蕴含了前两句所以恐怕这个写的就有点小问题了再问:这是什么错误啊,怎么改再答
你这句写的没问题啊就这样@for(roads(i,j):rd(i,j)=rd(j,i));
实际上lingo自带的sample里面就有TSP问题MODEL:!TravelingSalesmanProblemforthecitiesofAtlanta,Chicago,Cincinnati,Ho
SETS:r/1..3/:;c/1..4/:;link(r,c):x,y,z;ENDSETS@for(r(i):x(i,j)+@if(i#eq#1,0,z(i-1,j))=y(i,j)+z(i,j))
求volume(1,1)+volume(2,1)+...+volume(20,1)吗?加如下的语句在主程序中就可以了,用求和的语句:@for(supplyment(I):s=@sum(receiver
应该是取出第四行的第三个元素吧,直接用cost(4,3)即可
没有问题估计是你的版本不行自己找破解版安装再问:哦哦谢谢再答:你自己去安装lingo10或者lingo11破解版就行了lindo不是破解版应该也是不行的而且你取消了整数条件怎么可能一样再问:方便加您的
@sum(man(i)|i#GE#n#AND#i#LE#m:x(i,1));
minf'*Xsubjectto:A*X
估计是因为你的问题没有可行解这时候没有解当然给出的解就没有什么意义了再问:lingo的版本有问题不,lingo9会报错1017,lingo10却一直在算再答:应该是没问题的只要破解了我没有数据你把数据
什么叫指派矩阵怎么看一般指派问题都会设一个0-1变量的如果指派是1不指派是0这种问题都是最基本的你如果会做模型就会看指派矩阵