数学建模社区-数学中国

标题: 请教面试问题lingo程序里的两条语句的含义 [打印本页]

作者: lilig2010    时间: 2014-4-16 15:12
标题: 请教面试问题lingo程序里的两条语句的含义
这是一本lingo教材里给出的经典面试问题的的lingo程序,我试过了可以运行,但是理解不了其中的 [order]x(i,j)+t(i,j)<x(i,j+1))[sort1] x(i,j)+t(i,j)- x(k,j)<max*Y(i,k)) ?请高人指点下,谢谢!程序如下:
model:
Title 面试问题;
sets:
person/@file(paperfile2.ldt)/;!被面试者集合;
stage/@file(paperfile2.ldt)/;!面试阶段集合;
pxs(person,stage):T,x;!面试所需要的时间、面试开始时间;
pxp(person,person)|&1#lt# &2:Y;!Y(i,k)=1:ki,0:否则;
endsets
data:
T=@file(paperfile2.ldt);
enddata
[obj]min=maxT;
Max>=@max(pxs(i,j)| j #eq# @size(stage):x(i,j)+t(i,j)); !面试的最后结束时间;
@for(pxs(i,j) | j #lt# @size(stage):[order]x(i,j)+t(i,j)<x(i,j+1));!只有参加完前一阶段的面试才能进入下一个阶段;
!同一时间只能面试一个同学;
@for(stage(j):
@for(pxp(i,k):[sort1] x(i,j)+t(i,j)- x(k,j)<max*Y(i,k));
@for(pxp(i,k):[sort2] x(k,j)+t(k,j)- x(i,j)<max*(1-Y(i,k)));
);
@for(pxp: @bin(y));
End


作者: wujianjack2    时间: 2014-4-16 19:14
第一句注释中已说明;
第二句,注意”pxp(person,person)|&1#lt# &2:Y;!Y(i,k)=1:k在i前,0:否则;“
故语句”@for(pxp(i,k):[sort1] x(i,j)+t(i,j)- x(k,j)<max*Y(i,k));
@for(pxp(i,k):[sort2] x(k,j)+t(k,j)- x(i,j)<max*(1-Y(i,k)));“
似乎是想利用类似于BigM Coeffecient Method来确定Y(i,k)的具体取值吧!

好像谢金星先生的书中有此例,应该有详细说明。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5