怎样在lingo中定义一个0-1矩阵

model:sets:channel:quality;user:demand;links(channel,user):capacity,x;endsetsdata:cha... model:
sets:
channel:quality;
user:demand;
links(channel,user):capacity,x;
endsets

data:
channel = ch1 ch2 ch3 ch4 ch5 ch6;
user = ce1 ce2 ce3 d1 d2;
capacity = 0.0516 0.0862 0.1610 0.0529 0.0674
0.0862 0.0460 0.1050 0.0833 0.0727
0.0828 0.1334 0.0193 0.1465 0.0353
0.0701 0.0287 0.1145 0.1420 0.1287
0.0190 0.0739 0.0888 0.0274 0.0808
0.0819 0.1209 0.0245 0.0574 0.0911;
enddata

the objective;
max = @sum(links(i,j):capacity(i,j)*x(i,j));
the demand constraints;
@for(user(j):@sum(channel(i):x(i,j)) = demand(j));
@for(channel(i):@sum(user(j):x(i,j))<quality(i));
end

我想加一个约束条件,就是x这个矩阵是0,1矩阵,该怎么定义?
展开
 我来答
bill8341
高粉答主

推荐于2016-12-01 · 关注我不会让你失望
知道大有可为答主
回答量:1.8万
采纳率:95%
帮助的人:3537万
展开全部

@for(links:@bin(x));


追问

我一开始也是这样写的,但是出来的结果不对。我需要得到的最优解x矩阵是限制了每行最多只有一个1,每列只有一个1,但是出来的结果把所有值都取成1了。。。因为我接触lingo不久,请大神指教啊

追答
@for(channel(i):@sum(user(j):x(i,j)) = 1);

@for(user(i):@sum(channel(j):x(i,j)) = 1);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式