LINGO里面的关于变量与下标重名的问题

model:!求解围堵13条要道的方案;sets:s/1..20/;c/1..13/;links(s,c):dis,x;Endsets!数据的定义部分;data:dis=... model:
!求解围堵13条要道的方案;
sets:
s/1..20/;
c/1..13/;
links(s,c): dis, x;
Endsets
!数据的定义部分;
data:
dis = @FILE(C:\Program Files\MATLAB71\work\cumcm2011B\data.txt);
enddata
!目标函数;
min=@max(links(s,c):x(i,j)*dis(i,j));

运行到目标函数这里指出我的links(s,c)的s是变量与下标重名,但是links(s,c)不是定义好了么,求指导!
展开
evolmath
2013-07-26 · TA获得超过2747个赞
知道小有建树答主
回答量:413
采纳率:100%
帮助的人:256万
展开全部
把links(s,c)改成links(i,j)试试
这里@max(links(i,j):x(i,j)*dis(i,j))是集合操作函数
表示对衍生集合links中的每个i,j(i=1,2,...,20;j=1,2,...,13)求表达式x(i,j)*dis(i,j)的值,然后找出最大值
i,j称为索引变量(index variables),可以看作矩阵的行标与列标,也可以看作循环参数
而之前定义的s与c为集合名,lingo不允许集合名作为索引变量名,否则会出语法错误
min=@max(links(i,j):x(i,j)*dis(i,j));也可简写为min=@max(links:x*dis);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式