在LINGO中x,y=0.3 ?;表示什么
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 00:23:03
generalinterger一般整数与0-1这种二元整数对应
这个有多组解由于起点不同计算结果也不同而且lingo默认变量为非负所以会提示没有可行解你要解出来可以到lingooptions设置使用globalsolver或者你在init段设置初始xy的值
当然不对括号都要用英文的每句后面加分号不能连写不等号相乘要有*
平方可以用^2或者@sqr()函数表示,根号可以用^1/2或者@sqrt()函数表示…
跟正常使用没啥区别啊,只是得记得配对使用就可以了再问:就像上面的程序,我已经配对了啊,为什么还是不行?
不知道你这样做的目的是什么单算这个用lingo没什么意义sets:num/1..100/:n;endsetsy=5*@sum(num(i):i)+1;
你那是lindo语法不要跟lingo语法混用min=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;x1+x2+y1>=4;x1+x2+y1+y2>=3;x1+
如果都是0-1变量,那么可以写成约束条件y(i)>x(i,j)
lingo中开方函数是@sqrtlingo中所有函数都是以@开头的建议你最好是写成^(1/2)
sets:si/1..6/:;sj/1..5/:;sij(si,sj):y,z,c,x;endsetsmax=@sum(si(i):(1500-25)*@sum(sj(j):y(i,j)*z(i,j)
sets:si/1..6/:a,b;sj/1..2/:x,y;endsetsmin=@sum(sj(j):@sum(si(i):x(j)*@sqrt((x(j)-a(i))^2+(y(j)-b(i)
具体问题是什么如果x不是离散的单单不等于0是没用的必须要不小于一个非负的数整数情况的话写大于等于1就完了
默认变量都是非负的要取消非负限制必须用@free(x);再问:请问你知道如何在目标函数中表示max=|y-x|;中绝对值吗?再答:@abs(y-x);再问:0.25*x+0.5*y=1;y>=1;ma
MIN=@SUM(site(i):((a-x(i))^2+(b-y(i))^2)^(1/2));
你这个语法很有问题请你好好学习一下语法其实很简单也可以直接把问题发上来给我看看否则我没法知道你的问题
可以找个中间的变量z=@if(y#gt#1,1,0);然后x>=z;
多目标规划你先不管y求出x+y的最小值然后将x+y取到最小作为约束条件min=y作为目标再求解
不是什么东西都能表达成线性的如果什么都是线性的那么数学就简单了再问:能否增加O,1变量来使分段函数变为线性约束,我记得在哪看过忘了。我的模型很大,就这么一个非线性约束,如果转换为线性约束,就变为线性规
当然是可以写的了但是需要用集操作函数最好写具体问题我给你写出来
对不起,刚才敲错了,那是不是应该是A+ε=B查看原帖