lingo求和代码
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/22 04:27:32
按照下面写语法没问题但是不代表符合题目意思特别是s(i,1)的约束题目中有没有还要你自己想model:sets:hang/12345/:a;lie/123456/;column/12345/;link
以其用函数,还不如直接写.min和约束条件直接写上去就可以了
max=@sum(routes(i,j):q(j)*x(i,j)+p(i)*x(i,j)-c(i,j)*x(i,j));
求和的地方写的没问题但是你集定义有问题集名和下标不要用一样的名字
不等号不能连写你分开两句写
@for(demand(i):@sum(supply(j):w(i,j)*y(j))>=1);
没有任何错误结果是Globaloptimalsolutionfound.Objectivevalue:161.1724Objectivebound:161.1724Infeasibilities:0.
你这个模型写的本身就有问题最好直接点我id上的hi跟我说
model:SETS:JIZU/1..8/:P;CHULI/1..12/;T(CHULI,JIZU):B,O,Q;Di/1..8/:M;Vi/1..8/:N;XIANZHI/1..8/:E,F;END
model:sets:warehouses/wh1..wh3/:capacity;vendors/v1..v4/:demand;links(warehouses,vendors):cost,volum
sets后面的冒号改成英文半角符号
location_set/L1..L5/:o,d;再问:这样定义不行的,之前我就试过了。再答:你那个o和d在I里面的定义删掉啊既然是在location里面的你干嘛写到I里面这个明显不符合逻辑
数据有问题要具体看另外你@for里面写@sum是个什么意思再问:数据我是从excel中导入的几列数据,是不是要转换成行形式的?约束是A1*x1+A2*X2....+A1000*x1000=10000(
model:max=0.5*X1+0.4*X2;0.1*X1+0.1*X2再问:有没有更具体点的
你没有定义变量,怎么玩?再问:我刚下个lingo不知道怎么编,麻烦你给定义一下,帮帮忙
sets:row/1..18/:;col/1..7/:landa;m/1..6/:;link(row,col):c;links(link,m):x;endsetsmax=@sum(links(i,j,
打个比方,定义:sets:a/1..5/;b/1..6/;c/1..7/;link1(a,b):r;link(a,b,c):x;endsets先一维求和再二维:@sum(link1(i,j):r(i,
sets:liu/1..n/:a,b;endsetsfor(liu(i):a(i)*b(i).);
不懂的话你可以给定p=1把for去掉然后再看就是两个约束所有x(i,1,k)加起来是1其中i不等于1所有x(1,j,k)加起来是1其中j不等于1再问:网上搜了一个球最短路径的程序,得出的结果和网上相差
@sum(man(i)|i#GE#n#AND#i#LE#m:x(i,1));