windows7cf不能全屏:lingo出错

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 02:36:22
1)5支球队进行单循环比赛,每天一场,给出一个比赛日程,使每支球队在两场比赛之间至少间隔一天(要有安排的可操作的方法)
2)若有6支7支球队,如何安排;能使每支球队在两场比赛之间至少隔多少天
3)推广到N支球队的情形,如何安排;每支球队在两场比赛之间至少隔多少天?
一定要有过程啊,可以发我邮箱里nieminglei@sina.com
问题补充:1楼的答案错了吧,能帮我把LINGO里的程序写一下吗,谢谢
提问者:nieminglei - 试用期 一级
答复共 4 条
n个球队的话就要n*(n-1)/2场比赛,

你用0-1变量表示各个球队在某一天出场与否

然后 加上三个约束

1.每个球队出场总次数=n-1。
2.每一天都最多只有一场比赛。
3.每个球队相邻两天里至少有一天不出场,即x(i,j)*x(i,j+1)=0

然后用lingo求可行解就行了

比如第一问,一个答案就是

第1个球队出场场次:1 3 5 7
第2个球队出场场次:2 6 8 10
第3个球队出场场次:4 6 8 10
第4个球队出场场次:2 4 7 9
第5个球队出场场次:1 3 5 9

其他的联系qq:89513018
回答者:coralliu - 助理 三级 8-19 10:01

对于第一问:
第1个球队出场场次:2 5 7 9
第2个球队出场场次:1 4 7 10
第3个球队出场场次:1 3 6 9
第4个球队出场场次:2 4 6 8
第5个球队出场场次:3 5 8 10
lingo程序如下:
model:
sets:
teams/team1..team5/;
days/day1..day10/;
arrange(teams,days):x;
endsets
@for(arrange:@bin(x));
@for(teams(i):@sum(days(j):x(i,j))=4);
@for(days(j):@sum(teams(i):x(i,j))=2);
@for(teams(i):@for(days(j)|j#lt#10:x(i,j)*x(i,j+1)=0));
@for(teams(i)|i#lt#5:@sum(days(j):x(i,j)*x(i+1,j))=1);
@for(teams(i)|i#lt#4:@sum(days(j):x(i,j)*x(i+2,j))=1);
@for(teams(i)|i#lt#3:@sum(days(j):x(i,j)*x(i+3,j))=1);
@for(teams(i)|i#lt#2:@sum(days(j):x(i,j)*x(i+4,j))=1);
min=@sum(arrange:x);!无实在意义。
end
对于第二问
model:
sets:
teams/team1..team7/;
days/day1..day21/;
arrange(teams,days):x;
endsets
@for(arrange:@bin(x));
@for(teams(i):@sum(days(j):x(i,j))=6);
@for(days(j):@sum(teams(i):x(i,j))=2);
@for(teams(i):@for(days(j)|j#lt#20:x(i,j)*x(i,j+1)*x(i,j+2)=0));
!在此可通过改变j的取值范围看是否有最优解来确定两个队之间最小间隔的
!天数
@for(teams(i)|i#lt#7:@sum(days(j):x(i,j)*x(i+1,j))=1);
@for(teams(i)|i#lt#6:@sum(days(j):x(i,j)*x(i+2,j))=1);
@for(teams(i)|i#lt#5:@sum(days(j):x(i,j)*x(i+3,j))=1);
@for(teams(i)|i#lt#4:@sum(days(j):x(i,j)*x(i+4,j))=1);
@for(teams(i)|i#lt#3:@sum(days(j):x(i,j)*x(i+5,j))=1);
@for(teams(i)|i#lt#2:@sum(days(j):x(i,j)*x(i+6,j))=1);
min=@sum(arrange:x);
end
第三问同第二问。
回答者:redberries - 见习魔法师 二级 8-20 18:43

真是高手啊,谢谢!
N支队时,相隔 ??? 天安排比赛

第1个球队出场场次:3 7 11 14 17 20
第2个球队出场场次:1 5 9 13 17 21
第3个球队出场场次:2 6 10 14 18 21
第4个球队出场场次:1 4 8 11 15 18
第5个球队出场场次:2 5 8 12 16 20
第6个球队出场场次:4 7 10 13 16 19
第7个球队出场场次:3 6 9 12 15 19

运行上面程序总出错,请指教