LINGO里有多个变量的累乘怎么
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 11:36:01
你把下界当成一个集上界当成一个集然后@for(links:x=下界;);再问:矩阵X的每一个元素的取值都不一样啊,我写一下,1=1x42>=3x43>=1x44=0这样怎么弄,能做个示范么,谢啦再答:
MODEL:SUBMODELOBJ:min=m/n;ENDSUBMODELSUBMODELCON:m=2*d*(g*(b*c-a)+c*(h*h+2*f)+a);n=a*(b*c-a)-s*c*c;s
@bin(y);当然对集操作也一样@for(set:@bin(y));这种形式有问题再问我这个可能性不大除非你们做出是无可行解的情况
就是0.8*10的-1次方也就是0.08这个E在很多数学软件里面都是10的多少次方的意思你要了解才行
一般用集来定义你可以找相关教程看看一般的形式是sets:A/1..100/:s;endsets其中A是集名s是变量名
http://www.baidu.com/s?tn=baiduadv&q1=lingo+%BD%CC%B3%CC&q2=&q3=&q4=&rn=10&lm=0&ct=0&ft=doc&q5=&q6=
这个比较复杂你可以用多项式或者@if函数或者定义一个集来灵活的表示要看你的问题了比如(x-x1)(x-x2)=0或者定义一个0-1变量或者小于n的整数变量然后用嵌套的@if来表示这个本来就是比较灵活的
声明一个整数变量用@GIN(变量名称);就可以做整数规划了.
不能这样定义数量必须定再问:好的,那可以使用其他优化软件这样定义吗?比如gurobi再答:那你可以自己学一下看看我觉得比较难再问:嗯嗯,好的,谢谢了
用集合啊,把它们放到一个集合里面,哪怕你搞3万个都可以.示例:sets:lock/1..100000/:N;endsets@for(lock:@bin(N));这样,所有的N都是0-1变量了.
4,1,1的话根本就无法满足约束条件20*i+30*j+80*k
你要知道lingo里面都是约束既然你要写这个约束直接写了就行了你最后一句基本上都写出来了啊再问:最后一句运行不对,如o,p都为0,q为1的话,运行得v不是w的1.5倍,求高手解答再答:你后面的a和b都
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;
意思是选出其中20个N值,使其和最大?!排序下来,依次选前20个加起来不就行了.是这个意思吗?!
最后自己看下教程,集的概念和sum,for函数,以下仅是部分情况示例sets:r/1..5/:x;c/1..5/:;link(r,c):y;endsetss1=@sum(r:x);s2=@sum(li
绋嬪簭娌¢棶棰榽鍙?兘鍙?槸杞?欢鍙橀噺闄愬埗鈥︾瓟妗堟垜绠楀嚭鏉ヤ簡鈥?br/>T0.000000X(A1)150.0000X(A2)85.00000X(A3)150.0000X(A4)145.00
model:sets:a/1..4/:x;b/1..3/:value;link(a,b):c;endsetsdata:value=1,1.5,2.5;enddatamax=x(1)+x(2)*x(3)
是可以的但是你把;写成:了这样就行了Model:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,
那有其它具体的条件吗因为你这里说的条件并不是线性的计算起来可能有问题所以最好有具体的其它限制再问:还有很多约束条件的,对x对z都有……这样弄就变成非线性的啦……那怎么搞啊……再答:不行你就这样写@fo
楼主把最后一句的冒号改成分号就可以了…Model:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand