lingo循环语句怎么写
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/04 12:51:48
那你解释一下你这个@if的条件是什么否则不好写啊你写的恐怕是有问题的再问:就是希望如果距离小于10权重为0.5,距离大于10权重为0.3,然后根据权重计算权重a乘以d再答:什么距离具体是哪个距离你这个
说清楚你要具体做什么再问:对于下列数据进行分组,每组5个数,要求总长度为90,所分组中先将短的取完,其次较短的,以此类推,用lingo解决长度1415161718192021根数35292142356
lingo的模型部分是描述性的语言不是操作性的这个你要清楚用循环语句要先定义集具体的请自己去看教程这里不可能说的很详细比如set:setname/1..10/:t;endsetsa=@sum(setn
例如?如果x>2则y=3否则y=1.看如下表示y=@if(x#gt#2,3,1);@if(条件判断,真,假);
for语句的格式为:@For(中间是具体的语言);中间具体的语言是:你定义的集合变量申明,然后冒号之后就是你的运算表达式,表达式方式和正常的方式相同.比如sets:ww/w1..w6/:x,y;end
fori=0to9next--------------whilei0wend---------------dowhilei0loop----------------doloopwhilei0-----
a=@if(条件,正确时的值,错误时的值);随便找个lingo教程都会有详细的介绍的
最好把模型全部写出来,否则不好写.问题有:1,集合I,K表示什么?有多少个成员?2,第三个约束中的j有范围吗?
不能这样写,两边都是变量,用lingo不能约束
@if(逻辑表达式,真时的值,假时的值)比如y=@if(x#gt#1,1,0);
理解不了你写的意思最好自己找教程看@if怎么写的@if不是集循环函数你要搞清楚
@if(条件,正确返回值,错误返回值);@for(fuwupingtai(i):@sum(links(i,j):x(i,j)))=@if(@for(links(i,j)|i#eq#j:x(i,j)=0
你的集定义写出来否则没法写再问:你好,lingo的数据段是否可以使用函数@sum?再答:不可以
for(i=0;i
没有说明,写什么函数
sets:r/1..8/:d;c/1..8/:;link(r,c):x,y;endsets@for(r(i):@for(c(j):x(i,j)
while语句实现"当型"循环,它的一般格式为:while(termination){body;}1.当布尔表达式(termination)的值为true时,循环执行大括号中语句.并且初始化部分和迭代
@PROD(setname[(set_index_list)[|cond_qualifier]]:expression);sets:r/1..5/:x;endsetsy=@prod(r(i)|i#ge
@for(s(i):c(i)=@sum(si(j)|j#le#i:a(j)+b(j)));
a=@smax(a,0);!@smax()函数用于求若干变量或表达式的最大值,此处将a和0的最大值赋给a即表示当a<0是a=0;@free(a);!lingo默认变量非负,@free(a)限定a为任意