lingo当约束条件是坐标时怎么求
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 12:08:11
运行前到lingo的options里面把outputlevel设成nothingsubmodelM:min=0.0108*x1^2+0.0584*x2^2+0.0942*x3^2+0.0248*x1*
规划问题中大于就是大于等于因为最优值一定取在边界上@bnd(0,a,1);或者a
最好把模型全部写出来,否则不好写.问题有:1,集合I,K表示什么?有多少个成员?2,第三个约束中的j有范围吗?
你换个技能和研究一体机
没什么大的影响.
@for(x(i)|i#le#8:a1(i)=a2(i));后面那个跟前面的集是一样的吗你又写乱了
你没有给出i的范围,我这边设i=1..5sets:r/1..5/:;c/1..20/:;link(r,c):x;endsets@for(link(i,j)|i#eq#j:x(i,j)=1);@for(
你的集定义写出来否则没法写再问:你好,lingo的数据段是否可以使用函数@sum?再答:不可以
可以是非线性的,但是Lingo解决线性问题非常强,要解决非线性问题就比较难了!可以把约束条件转为线性的,如果10个元素是平等的,你可以做一个@for(X(i+1)>X(i))这样的约束就好了!
可以用@for函数来循环,你给一下详细的数据我帮你写下
sets:r/1..5/:a;endsetsn=@size(r);b=@sum(r:a)/5;@sum(r:(a-b)^2)/n
好像没办法直接用一个式子来表达这个条件.sets:c/1..5/:r,x;endsets@for(c(k):r(k)=@if(x(k)#eq#0,0,r(k)));!如果x(k)=0则r(k)=0,否
具体给是什么约束有可能求得只是局部解
首先要定义集你都没有定义只给你写一半吧另一半一样@for(column(j):@sum(row(i):x(i,j)*c(i))
SETS:r/1..3/:;c/1..4/:;link(r,c):x,y,z;ENDSETS@for(r(i):x(i,j)+@if(i#eq#1,0,z(i-1,j))=y(i,j)+z(i,j))
好多年没用lingo了,书写格式已经记不太清了.至于你的补充问题,x>=10||y=0max(x-10,100-y)是关于(x,y)的凸函数,即为g(x,y)上式就是g(x,y)>=0明显的这十个an
那还有别的条件吗最好具体一些最好能写成线性的否则后面做起来会麻烦另外你如果定义集了用集循环函数来写的话那你给出集定义再问:这个本来是一道数学建模题,网上有范文,可是这道数学建模题加了一个条件,我就想把
楼上h=@if(x#ge#1,k,k*l);这个函数可以用,当x#ge#1成立时,它执行的是K,就是所谓的常数当x#ge#1不成立时,它执行的就死K*I了这是LINGO分支里面可以用的
具体的问题是什么一般来说不等于这个很难写即使写出来也很难解要不你写成逻辑表达式再问:如果(1.2-P(16))*(1.2-P(17))*(1.2-P(18))*(1.2-P(19))*(1.2-P(2
y(j)=y1(j)*y2(j);y1(j)>=20000;@bin(y2(j));再问:这两个语句直接加上去就行了吗?不用加循环吗?那加这个的时候我还需要写0-1变量吗?再答:循环自己加集定义自己写