lingo怎么让x=0的时候n=0,x不等于0的时候n大于等于1
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/06 01:49:34
难道模型不是你写的吗如果是你写的应该知道哪个变量代表路径的如果不是那也请你把模型发上来吧你光这么说我也不知道是哪个
model:sets:row/1..16/;col/1..4/:m;link(row,col):x,q;endsetsdata:m=1222;enddatamax=@sum(link:x*q);@fo
@if(z(i,j)=2,@bin(x(i,j)),0)再问:lingo里语法好像不允许,报错了再答:给具体点,不然我也没有办法写,我就表示那个意思。
我经常去一个叫学问社区的学术网站,那里有lingo小组,非常非常的好,好多资源,建议你看看去
有现成的0-1限制@bin(x);
!定义x(1)...x(8)set:n/1..8/:xendsets!对x(1)到x(8)求和@sum(n(i):x(i));
基本上就是这样data自己加上另外里面恐怕会有问题自己查一下吧model:sets:s1/1..6/:c;s2/1..7/:;link(s1,s2):x,y,a;endsetsdata:enddata
集定义自己写@sum(st(t):@sum(sk(k):@sum(si(i):q0(i,k,t)*p(i,k,t)+@sum(sj(j):q(i,j,k,t)*p(i,j,k,t))));赋值的话在d
@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变量,那么可以写成约束条件y(i)>x(i,j)
如果x>0,则为00,否则为0
1163.10这个数据不对吧,否则找不到可行解我改成116.10了sets:zones/1..20/:Q,n,m;endsetsdata:Q=156.0280.4583.3994.36116.1027
按照lingo语法写上目标函数和约束就行了lingo自己选择算法计算
Σ(n=0~∞)x^n/n!2^n =Σ(n=0~∞)(x/2)^n/n!=e^(x/2),-inf.
lingo中的下标都是从1开始的sum=@sum(setname(i)|i#le#n+1:x(i));有疑问联系我
可以找个中间的变量z=@if(y#gt#1,1,0);然后x>=z;
有个疑问x=0和x>=9的情况是什么会在其它条件中给出吗?如果确定了x的范围不会超过你给的那下面的就行f=@if(x#lt#3,2*x+3,@if(x#lt#6,3*x,5*x-12));
x=@if(y#ge#0,1,0);
楼上h=@if(x#ge#1,k,k*l);这个函数可以用,当x#ge#1成立时,它执行的是K,就是所谓的常数当x#ge#1不成立时,它执行的就死K*I了这是LINGO分支里面可以用的