lingo最小值代码
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/09 13:50:25
按照下面写语法没问题但是不代表符合题目意思特别是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,
那每列是不是也选一个你这样说每行选最小的就完了自己把问题描述清楚再说再问:比如说选了第一行第一列的那个数,第二行就不能选第一列,也就是不能同时选同一行或者同一列的数。。。再答:那不就是每列选一个吗mo
出现1017code说明你的lingo版本有问题. 另外有一些错误. 修改后如下 MODEL: min=0.5*C_P*(Q*(1-D/P)-S)^2/(Q*(1-D/P))+C_D*D/Q+
不懂的话你可以给定p=1把for去掉然后再看就是两个约束所有x(i,1,k)加起来是1其中i不等于1所有x(1,j,k)加起来是1其中j不等于1再问:网上搜了一个球最短路径的程序,得出的结果和网上相差
sets:row/1..7/:x,p,a,b;col/1..3/:r;endsetsmax=@sum(row(i):p(i)*(1-@exp(-(x(i)/(6.30589*10^5))^2)));@
lingo中的变量缺省是大于等于0的,你要增加2个约束:@free(x1);@free(x2);就可以了.另外,你的目标函数应该是min=x1+x2;这才是求最小值.