怎样用lingo编sum三级求和
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/10 11:42:32
sets:r/1..5/:;c/1..3/:;link(r,c):x,d;endsetsdata:!d=;!d表示系数,根据实际填写;enddatasum=@sum(link(i,j):d(i,j)*
你的括号写错了应该都是这种括号()其实[]的作用只是让读者能够轻松的判断括号的配对在程序里面一般都应该用()因为软件可以直接判断括号配对而其它括号可能表示其它意义
model:sets:set1/1..46/:X;endsetsub=89.5;lb=88.5;max=N;@sum(set1(i)|i#ge#1#and#i#le#8:X(i))=19*N;@sum
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
你基本上都写出来了就把Xi+Yi+Zi=1;Xi*Yi*Zi=0;i=5,6,7,8,9,10,11,12这句写好就行了i都放进去分号都要用英文的再问:能帮忙求出最优解吗?谢了...448286436
1&1表示取集合的第一个指标这里面C集合只有一个指标所以是这个指标而@in函数是判断某个指标是否在B集合里面前面加not就是如果不在B里面就在A里面明显两个是互补的关系2@in函数里面不是要求&1&2
@sum()
集定义自己写@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
@sum(setname(index):x(index));代表对setname这个集里面的元素的x属性求和@for(setname(index):约束);代表对setname中每个下标都满足这个约束
1.@for该函数用来产生对集成员的约束.基于建模语言的标量需要显式输入每个约束,不过@for函数允许只输入一个约束,然后LINGO自动产生每个集成员的约束.例产生序列{1,4,9,16,25}mod
可以,你这个题比较简单,我也没用集合来做,代码如下.min=10*t1*p1+9.9*t2*p2+9.8*t3*p3+11.3*t4*p4;p2+p3=1;p1=1;p2=1;@bnd(2,t1,6)
【2】补充:方程等于20啊?图形像个石头或凸轮.dh就是h的导数,导数等于0,有极值.结果有2个实根.(运行时间比较长,耐心等待)f='2*2200*h/(0.25*l^2+42.25+h^2)^1.
=SUM(A1:INDIRECT(ADDRESS(b1,1)))就可以了B1里面输入1000就行
分段函数用@if 表示:max = 4.8*(x11+x21) + 5.6*(x12+x22) - @if(x#LT#0.5,&n
sets:r/1..100/:;endsetscalc:sum=0;@for(s(i):sum=sum+i);endcalc单用sum函数sets:r/1..100/:;endsetssum=@sum
--可以直接对数值列求和,例如求所有学生成绩总和selectsum(成绩)from成绩表--可以分组求和,例如求每一名学生的成绩总和,必须与分组groupby结合使用,先分组,组内求和select学号
建议你看一下lingo教程重点看集的部分其实很容易的要我帮你也可以请拿个完整的题来我不知道你说的矩阵为什么会只有一个指标
先建立数学模型,然后在lingo中编辑成符合lingo语法的代码,点击求解即可(基本就这样了)建议看看lingo教程.有需要留下邮箱我发一些给你.再问:rose20072011@163.com再答:已
model:sets:liu/1..7/:t,w,p;wen/1..2/:;jie(liu,wen):x;endsetsmin=obj;obj=2*k-@sum(jie(i,j):x(i,j)*t(i
model:sets:material/1..6/:amount,price;nutrition/1..5/:lower,upper;link(material,nutrition):percenta