发布网友 发布时间:2022-12-30 05:23
共1个回答
热心网友 时间:2023-09-25 15:07
取整是用@gin,0-1变量是@binlingo里取整是用@floor,是向下取整,向上取整用向下取整再加一就可以了,而且这个函数对负数不能取整,功能挺有限的。比如@floor(4.5)=4
lingo软件中取整函数怎么写?gin(x),变量x取整 如@for(myset(1):@gin(x))
在lingo中如何规定变量为整数4、添加整数约束希望哪一个变量是整数,就在末尾加一行“@gin(变量);”就可以了; 5、得出结果点击图中的“solve”按钮; 6 、查看结果解决后,会弹出一个窗口,向你显示目...
LINGO中怎样输入一个从m到n的集合,m>=5,求解该程序lingo计算的模型只能从1开始 你这种情况无非就是把下标都加上一个数而已 一样的
lingo 计算有取整函数符号的线性规划lingo里面向下取整用@floor 你这个问题很多地方都可以简化 约束里面只有第三个是必要的 9-2u向下取整也不必要 本身就是整数
lingo向上取整好像没有自带向上取整函数 可以用@floor函数改一下 近似的做一个向上取整 比如可以忽略x为整数的情况 写成@floor(x)+1或者可以在精度范围内略微的减少x 让整数可以取到自己 比如@floor(x-1e-5)+1 这样当x为整数的时候 不是x+1而是x
LINGO里怎么对负数向上取整?这个好像没有一个函数可以实现,我觉得可以使用@if语句来实现,因为@floor函数是向接近于零的方向取整,符合你的对于负数取整的要求,但是正数的要求不符合,你可以用@sign函数来判断数的正负,如果是正数再加一就可以了。
lingo的取整集合问题,在线等你的@for用错了,应该是:model:sets:s/1..7/:x,a,b,c,d;endsets data:a=3,1,3,3,1,1,3;b=4,3,2,1,1,0,0;c=0,1,0,2,1,3,0;d=0,0,1,0,1,0,2;enddata min=@sum(s(i):x(i)*a(i));sum(s(i):x(i)*b(i))>50;sum(s(i):x(i)*c(i))>20;sum(...
lingo 有数字 1到10 用for 循环使这些数取整.这些数本来不都是整数吗 你要表达什么 lingo本来也不是一个程序性的语言 而是一个描述性的语言
Lingo软件代码xi,yi取整。min = 8*(x1+x2)+5*(y1+y2+y3+y4+y5+y6);x1+x2+y1>=4;x1+x2+y1+y2>=3;x2+y1+y2+y3>=4;x1++y2+y3+y4>=6;x1+x2+y3+y4+y5>=5;x1+x2+y4+y5+y6>=6;x1+x2+y5+y6>=8;x1+x2+y6>=8;y1+y2+y3+y4+y5+y6<=5;gin(x1);@gin(x2...