lingo多个约束条件
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/18 00:21:09
运行前到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有范围吗?
用集合啊,把它们放到一个集合里面,哪怕你搞3万个都可以.示例:sets:lock/1..100000/:N;endsets@for(lock:@bin(N));这样,所有的N都是0-1变量了.
你换个技能和研究一体机
没什么大的影响.
你没有给出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破解版下载即可只要破解的至少可以保证可以运行
可以是非线性的,但是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
具体给是什么约束有可能求得只是局部解
首先要定义集你都没有定义只给你写一半吧另一半一样@for(column(j):@sum(row(i):x(i,j)*c(i))
好多年没用lingo了,书写格式已经记不太清了.至于你的补充问题,x>=10||y=0max(x-10,100-y)是关于(x,y)的凸函数,即为g(x,y)上式就是g(x,y)>=0明显的这十个an
那还有别的条件吗最好具体一些最好能写成线性的否则后面做起来会麻烦另外你如果定义集了用集循环函数来写的话那你给出集定义再问:这个本来是一道数学建模题,网上有范文,可是这道数学建模题加了一个条件,我就想把
具体的问题是什么一般来说不等于这个很难写即使写出来也很难解要不你写成逻辑表达式再问:如果(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变量吗?再答:循环自己加集定义自己写