lingo里的links()是怎么把集合联合起来

来自:    更新日期:早些时候
lingo links()怎么用~

link就是把两个集合联系起来…
比如说:
MODEL:
A/1..3/:;
B/1..3/:;
LINK(A,B):VAR;!VAR就是一个3*3的矩阵;

表示逻辑关系的 #eq# 若两个运算数相等,则为true;否则为flase
同类的还有gt ge lt le ne这些 gt就是greater than大于 ge是greater than or equal to 表示大于等于 类推lt le是小于和小于等于 ne是not equal to 不等于
常用在集合里面 用来筛选集合中元素的指标

比如在循环里 @for(s1(i)|i#gt#1:....)表示对集s1中指标大于1的进行循环
在集定义里面 比如下面的 表示一个由students和students得到的派生集里面第一个集中sex满足等于1 第二个满足sex等于2的元素的派生
linkmf(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0:
friend;

这个links只是一个名称而已 你可以换成其他你需要的名字
lingo里面的派生集就相当于构成一个m*n的集合 比如set1是一个m维集合 set2是一个n维集合
那么
links(set1,set2):x;
就表示定义一个名为links的集
这个集可以理解成m*n的矩阵形式 其中有个变量名为x 它的元素可以用x(i,j)这种形式来表示


lingo里的links()是怎么把集合联合起来视频

相关评论:
  • 17514856289lingo程序
    靳骨炉第一句model没有什么意思,你就照抄就可以。接下来的sets与endsets之间称为集。就是定义若干个集,集相当于c++中的类,后面跟上集成员名列表,再后面为其属性。这里定义了work与job两个集。成员分别为w1到w4,与j1到j4;后面的属性省掉了。links为work与job的派生集。c与x为其属性。接下来的data与...

  • 17514856289【LINGO】求助0-1规划中lingo程序老是出错,题目的话详见图片吧,还望你...
    靳骨炉data:b=5;n=10;enddata SetS:city\/1..n\/:w,m;links(city,city):f,d,a;endsets for(city(i):m(i)=w(i));for(links(i,j)|i#ne#j:f(i,j)=((m(i)*m(j))\/d(i,j)^2));max=@sum(city(i):@sum(city(j)|j #ge# (i+1):a(i,j)*f(i,j)));for(links(i,j...

  • 17514856289用lingo的语句怎么表示
    靳骨炉if(条件,正确返回值,错误返回值);for(fuwupingtai(i):@sum(links(i,j):x(i,j)))=@if(@for(links(i,j)|i#eq#j:x(i,j)=0),0,1);其中eq是等于 没怎么搞懂你的sets那个东东 略懂皮毛,不知道对不对

  • 17514856289lingo编程错误,请高手帮忙看看
    靳骨炉你的语法真的错了好多 我就改了一下 但还是没有结果 你自己再改改吧 model:sets:time\/t1 t2 t3 t4 t5 t6 t7\/:w,h;kind\/k1 k2 k3 k4\/:m,minw,maxw,c1,c2,b;links(time,kind):x,sw,d;endsets data:w=12000,32000,25000,36000,25000,30000,18000;h=6,3,3,2,4,4,2...

  • 17514856289lingo里面i不等于j for的问题
    靳骨炉lingo中下标只能从1开始 sets:r\/1..11\/:;c\/1..11\/:;!j的上限未知,暂设为11;links(r,c):u,d;endsets sum=@sum(links(i,j)|j#gt#i:u(i,j)*d(i,j));

  • 17514856289急!!!这是一道用Lingo求解运输规划问题,会的帮帮忙,谢咯!
    靳骨炉1.分析:产地总产是为90,销地总销量为90,所以这是一个产销平衡的运输问题。2.用LINGO编程如下:model:sets:warehouses\/wh1..wh3\/:c;vendors \/v1..v4\/: d;links(warehouses,vendors): cost, volume;endsets min=@sum(links:cost*volume);for(vendors(J):@sum(warehouses(I):volume(I,...

  • 17514856289初学者向Lingo高手请教关于Lingo程序的小问题,非常感谢!
    靳骨炉links(a,b,c)|&2#NE#&1:k,m;endsets data:x=1,2;y=1,2;z=1,3;m=1,2,3,4;enddata max=@sum(links:k*m);for(links:@bin(k));end 你试一下就可以看到结果表示形式。第三个问题不太理解啥意思,我只见过4维问题,你可以看《优化模型与lindo\/lingo软件》一书,比较好~~~上面...

  • 17514856289如何在LINGO中表示0-1变量
    靳骨炉sets:r\/1..5\/:x;c\/1..5\/:;k\/1..5\/:;link(r,c):y;links(r,c,k):z;endsets bin(b);!单变量;for(r:@bin(x));!一维;for(link:@bin(y));!二维;for(links:@bin(z));!三维;

  • 17514856289lingo解决分配问题
    靳骨炉model:!4人4工作的分配问题;title:assignment problem;!分配问题;sets:warehouses\/wh1..wh4\/:capacity;vendors\/v1..v4\/:demand;links(warehouses,vendors):cost,volume;endsets !目标函数;min=@sum(links:cost*volume);!需要约束;for(vendors(j):sum(warehouses(i):volume(i,j))=demand(j));...

  • 17514856289怎么用lingo实现指派
    靳骨炉model:sets:zhan\/1..20\/;lu\/1..72\/:c;links(zhan,lu):d,x,y;endsets data:c=@ole('F:\/an.xls',an);d=@ole('F:\/sjl.xls',d);enddata min=z1+100*z2;for(links(i,j):@sum(zhan(i):@sum(lu(j):x(i,j)*c(j)))<z1);for(links(i,j):x(i,j)*d(i,j)<=30...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网