lingo如何表示并集
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/22 13:32:15
@prod(setname:x)函数例如y=x1*x2*x3*x4*x5可用如下表示sets:r/1...5/:x;endsetsy=@prod(r:x);
工具栏里面有个靶子的图标你点一下就可以了或者ctrl+U运行关键是你要正确写程序
定义一个派生集link如下,其中x即可表示为一个矩阵sets:r/1..5/:;c/1..5/:;h/1..5/:;link(r,c,h):x;endsets
加一个0-1变量就可以了@for(supply(j):@sum(demand(i):x(i,j))=4+b);@bin(b);再问:牛╮(╯▽╰)╭,好吧,可是如果是045咋办其实我要做的是045再答
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));!一维;
sets:setname/1..7/:x,t;endsets@for(setname(i):@for(setname(j)|i#ne#j:(x(i)+t(i)#le#x(j))#or#(x(j)+t(
sets:si/1..8/:a;sj/1..10/:b;sij(si,sj):x,m;endsetsmin=@sum(sij:x*m)+80+100;@for(si(i):@sum(sj(j):x(i
如果有积分,lingo是处理不了的.建议到matlab工具箱中运行求解吧,积分可以利用数值积分的方法.
变量定界函数可以对变量的取值范围附加限制,Lingo中有一下四个变量限界函数:@BND(L,X,U):限制L@BIN(X):限制X为0或1.@FREE(X):取消对X的符号限制(即可取负数,0或正数)
c=@if(x#eq#0,0.1*Q,1+0.5*X+0.1*Q);再问:Model:Title;Sets:yuefen/1..4/:c,x,e,d,s;endsetsdata:c=5555;d=40
先编最简单的程序,一个目标函数两个约束条件的整数规划问题就行,通过这一个题目彻底搞懂lingo软件的菜单命令的功能以及输出报告的所表达的含义.然后再看看其他复杂的模型,掌握lingo中一些高级的语言、
(d(j+1)-d(j))^2
model:sets:C/C1..C10/;FIX/R1..R10/:value;CXF(C,FIX):find_v,x;endsetsdata:value=0,0,0,0,0,5,6,7,9,10;
用@abs函数表示绝对值…
lingo中的循环需要用到你集合域定义的集合.您的x(i)应该有相应的定义如:a/1..n/:x;,k(i,j)是他们的衍生集合.link(x,x):k;表达式可以写成:@sum(a:@sum(a:(
首先你要定义好集然后才能写sets:si/1..5/:;sj/1..4/:;sij(i,j):c,x;endsetsz=@sum(sij(i,j):c(i,j)*x(i,j));
你写错了吧应该是|x1-x2|=5@abs(x1-x2)=5;
您的括号不是英文状态输入的.下面的代码已经改好了,其实只是把您的小括号重新输过了一遍.sets:box_area/1..6/;box_kind/1..4/;bay_area/1..3/;allowed
好多年没用lingo了,书写格式已经记不太清了.至于你的补充问题,x>=10||y=0max(x-10,100-y)是关于(x,y)的凸函数,即为g(x,y)上式就是g(x,y)>=0明显的这十个an
整数@gin01规划@bin函数