Here's an example. Most pairs meet twice, but 10 pairs only meet once, and 30 pairs meet three times.
(3 12 2 10 14) (13 9 17 8 7) ( 5 15 19 16 20) (18 6 4 11 1)
(4 13 3 6 15) (14 10 18 9 8) ( 1 11 20 17 16) (19 7 5 12 2)
(5 14 4 7 11) (15 6 19 10 9) ( 2 12 16 18 17) (20 8 1 13 3)
(1 15 5 8 12) (11 7 20 6 10) ( 3 13 17 19 18) (16 9 2 14 4)
(2 11 1 9 13) (12 8 16 7 6) ( 4 14 18 20 19) (17 10 3 15 5)
(4 20 15 8 2) ( 7 18 3 10 16) (12 13 11 19 9) (17 5 6 1 14)
(5 16 11 9 3) ( 8 19 4 6 17) (13 14 12 20 10) (18 1 7 2 15)
(1 17 12 10 4) ( 9 20 5 7 18) (14 15 13 16 6) (19 2 8 3 11)
(2 18 13 6 5) (10 16 1 8 19) (15 11 14 17 7) (20 3 9 4 12)
(3 19 14 7 1) ( 6 17 2 9 20) (11 12 15 18 8) (16 4 10 5 13)
Hi Markus,
There is another possibility I thought I would show you, I realise it is not quite what you asked for, but it is a way to get the number of flights down. Let's say you divide your 20 competitors into teams like this:
Team 1 = {1,2,3,4}
Team 2 = {5,6,7,8}
Team 3 = {9,10,11,12}
Team 4 = {13,14,15,16}
Team 5 = {17,18,19,20}
Now if you were to use the following schedule:
(1 5 9 13 17) (2 6 10 14 18) (3 7 11 15 19) (4 8 12 16 20)
(1 8 11 14 18) (2 7 12 13 17) (3 6 9 16 20) (4 5 10 15 19)
(1 7 9 15 18) (2 8 10 16 17) (3 5 11 13 20) (4 6 12 14 19)
(1 6 12 15 20) (2 5 11 16 19) (3 8 10 13 18) (4 7 9 14 17)
(1 5 10 14 20) (2 6 9 13 19) (3 7 12 16 18) (4 8 11 15 17)
(1 8 12 13 19) (2 7 11 14 20) (3 6 10 15 17) (4 5 9 16 18)
(1 7 10 16 19) (2 8 9 15 20) (3 5 12 14 17) (4 6 11 13 18)
(1 6 11 16 17) (2 5 12 15 18) (3 8 9 14 19) (4 7 10 13 20)
then every heat consists of one member taken from each of the 5 teams. Of course this means that pairs of competitors from the same team never compete with other. On the other hand the schedule is perfectly balanced for pairs of competitors from different teams, who all compete in exactly two heats.
Would you consider using something like this?
Best regards,
Ian.