lingo中如何对矩阵r增加约束条件r(i,j)*r(j,k)*r(k,i)=0

SETS:ATR/1..16/:t,p;!16个景点属性为旅游时间(t)和消费价格(p);ROA(ATR,ATR):c,r;!16个景点之间的路属性为距离(c)和是否经过... SETS:
ATR/1..16/:t,p;!16个景点属性为旅游时间(t)和消费价格(p);
ROA(ATR,ATR):c,r;!16个景点之间的路属性为距离(c)和是否经过(r);
ENDSETS
DATA:
p=@ole('c:/data.xlsx','price');
t=@ole('c:/data.xlsx','time');
c=@ole('c:/data.xlsx','distance');
ENDDATA
MIN=0.03*@SUM(ROA(i,j):r(i,j)*c(i,j))+0.5*@sum(ROA(i,j):r(i,j)*(p(i)+p(j)));!目标函数;
@sum(ROA(i,j):r(i,j)*c(i,j)/80)+0.5*@sum(ROA(i,j):r(i,j)*(t(i)+t(j)))<=84;!时间约束;
@sum(ROA(i,j):r(i,j))=4;!景点数约束;

@for(ATR(k):@sum(ATR(j):r(k,j))=@sum(ATR(i):r(i,k)));
@for(ATR(i):@sum(ATR(k):r(i,k))<=1);
@sum(ATR(i):r(i,1))=1;
@sum(ATR(k):r(1,k))=1;
@for(ROA(i,k)|i#gt#1#and#k#gt#1:r(i,k)*r(k,i)=0);!圈约束;
@for(ROA(i,j):@for(ATR(k):r(i,j)*r(j,k)*r(k,i)=0));!这里不会写
@for(ROA(i,k):@bin(r(i,k)));

如何对矩阵增加约束条件:对于任何i,j,k,使得r(i,j)*r(j,k)*r(k,1)=0
展开
 我来答
藤原子大雄
2018-09-16 · TA获得超过7195个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1724万
展开全部
@for(setname1(j):
@for(setname2(r):
@sum(setname3(n):D(n,r)*X(n,j))>=U(j,r)
))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式