作业帮 > 综合 > 作业

请懂Lingo的人帮忙解释一下这段代码的意思,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/11 21:21:24
请懂Lingo的人帮忙解释一下这段代码的意思,
min=@sum(zijin:y*a)+@sum(yaoqiu(i):d(i)*0.5*@min(link(i,j):y(i)*k(i,j))); @for(zijin:@bin(y));
sets:
zijin/1..49/:y,a;
yaoqiu/1..49/:d;
link(build,require):k;
endsets
link(zijin,yaoqiu):
请懂Lingo的人帮忙解释一下这段代码的意思,
第一句是目标函数 求最小值
有两部分 第一部分对zijin集里面的 y*a 求和 第二部分对yaoqiu集求和 求和的是d(i)*0.5*@min(link(i,j):y(i)*k(i,j))
其中@min(link(i,j):y(i)*k(i,j))写的有问题 最好应该是写@min(zijin(j):y(i)*k(i,j)) 是指对所有的y(i)*k(i,j)取最小值
第二句就是所有y为0-1变量
再问: 那么第一句第二部分求和中 @min(link(i,j):y(i)*k(i,j)) 是什么意思
再答: 是指对所有的y(i)*k(i,j)取最小值 比如你的i是1 那么就是所有y(1)*k(1,j)的最小值
再问: 开头的设置 sets: zijin/1..49/:y,a; yaoqiu/1..49/:d; link(build,require):k; endsets link(zijin,yaoqiu):k;这句是什么意思?
再答: 集定义 定义派生集 具体是什么意思自己找个教程看看