lingo怎么输入i=1,2...m
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 22:21:13
@bin(y);当然对集操作也一样@for(set:@bin(y));这种形式有问题再问我这个可能性不大除非你们做出是无可行解的情况
如果是i=j时,a=1;不等时,a=0,这个就要a=@if(i#eq#j,1,0);你写的这个不好写,不过你跟我说一下你真实遇到的问题我应该能给你想出来.再问:再答:不等号那个式子是错的,没法写。。怪
找不到可行解,请自行检查模型model:sets:si/1..6/;sj/1..7/;st/1..5/:l;sij(si,sj):c,x,s;stj(st,sj):a;sit(si,st):k;end
@if(z(i,j)=2,@bin(x(i,j)),0)再问:lingo里语法好像不允许,报错了再答:给具体点,不然我也没有办法写,我就表示那个意思。
首先你要会定义集比如集定义是sets:s/1..3/:k;endsets那么k是0-1变量就用@for(s:@bin(k));表示
小于等于号也就是再问:就是这样输入的,可是显示的还是太多不平等关系错误再答:你的错误代码是22吧?lingo中的不等关系不能连续使用的,你看下是不是有类似于1
lingo里面变量默认就是非负的如果要做类似的约束可以用集你最好能自己系统的看一下不是一句话就说清楚的比如这样sets:s1/1..3/:;s2/1..2/:;s3/1..3/:;s(s1,s2,s3
k,i是变量还是集合下标呢?以下是变量的情况:@bnd(1,k,3);!1再问:谢谢,k,i又当下标,又当变量(作为指数)再答:要看具体情况吧,你把代码或数学模型贴出来看看吧再问:太感谢了,你有邮箱吗
你在@for里面就写了个逻辑表达式请问你的约束条件呢?你需要这个逻辑表达式怎么样?再问:哦,谢谢,我已经知道了,把#AND#改成分号就可以了
sets:X/1..37/:T;endsets@for(X:@mod(T,5)=0);!也可以这样@for(X(I):@mod(T(I),5)=0);再问:由于Lingo运行时间很长,实在不想等了,能
你输入数据个数跟定义不符合应该怎么写没法知道你把你写的发上来
如果是下标就用集定义自己找教程看看变量用@gin(i);i
不知道你这样做的目的是什么单算这个用lingo没什么意义sets:num/1..100/:n;endsetsy=5*@sum(num(i):i)+1;
如果都是0-1变量,那么可以写成约束条件y(i)>x(i,j)
数学符号太多,不数学运算中经常使用符号,如+,-,×,÷,=,>,<小于等于≡恒等于或同余ln(x)以e为底的对数lg(x)以10为底的
@sum(set(i)|i#le#500:x(2*i))再问:麻烦说详细一点每个代码表示什么意思?
应该是@abs(x(i)-x(j))-c(i)>0!c(i)必须是非常小的数,其值依赖于x的值
lingo中的下标都是从1开始的sum=@sum(setname(i)|i#le#n+1:x(i));有疑问联系我
那只是变量名你随意输入即可只要符合基本命名规则就行比如0.8*x11+0.8*x12
这个程序没错.还需注意juli.txt里面的数据格式是否正确再问:怎么设置里面的格式啊,对表格有啥要求。急用啊,谢谢啦再答:其实数据量不大,直接贴进去就可以了。。。例如d是5×5的矩阵DATA:d=1