罗曼水晶钢琴:有无数学建模强人来帮忙看看

来源:百度文库 编辑:高校问答 时间:2024/04/29 22:49:18
1)5支球队进行单循环比赛,每天一场,给出一个比赛日程,使每支球队在两场比赛之间至少间隔一天(要有安排的可操作的方法)
2)若有6支7支球队,如何安排;能使每支球队在两场比赛之间至少隔多少天
3)推广到N支球队的情形,如何安排;每支球队在两场比赛之间至少隔多少天?
一定要有过程啊,可以发我邮箱里nieminglei@sina.com
1楼的答案错了吧,能帮我把LINGO里的程序写一下吗,谢谢

对于第一问:
第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
第三问同第二问。

真是高手啊,谢谢!
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

我运行了上面的程序,总是出错,请指点一下