# sailing league problems

Robert Schüler and Achill Schürmann
(University of Rostock)  Institute of Mathematics, University of Rostock,
18051 Rostock, Germany<EMAIL_ADDRESS>
###### Abstract.

We describe a class of combinatorial design problems which typically occur in
professional sailing league competitions. We discuss connections to
mathematical optimization and give suitable boolean quadratic and integer
linear optimization problem formulations, as well as further heuristics and
restrictions, that can be used to solve sailing league problems in practice.
We apply those techniques to three case studies obtained from real sailing
leagues and compare the results with used tournament plans.

###### Key words and phrases:

sailing league problems, resolvable block design, OR in sports, quadratic
programming, integer programming

###### 2020 Mathematics Subject Classification:

05B05, 90C90, 90C20, 90C10

(Dedicated to Karen Aardal on occasion of her 60th birthday.)

##  1\. Introducing sailing league problems

There is a long history of human competitions finding the _best_ in a certain
category. While in some disciplines (as long jump or marathons) the winner can
be determined by direct measurement, other disciplines only provide the
possibility to directly compare participants (as football or chess). The
latter are often organized in form of tournaments or leagues where the winner
is found after a number of direct comparisons. Several different forms of
sport leagues and tournaments have been developed, each with its own pros and
cons (see for instance [Kendall et al., 2010] and [Knust Bib]).

A sailing league typically consists of a fixed number of teams that meet on
certain events, often lasting a weekend or several days. During each event,
there are a number of rounds, called _flights_ , with a fixed number of
equally sized races, such that every team competes exactly once during a
flight. For instance, in the finals of the 2021 European Sailing Champions
League 32 teams were scheduled to compete in 18 flights, each consisting of 4
races with 8 teams (see [ChampionsLeague]). In the first and second national
German sailing league there are 6 events, where 18 teams compete in 16
flights, each with 3 races of 6 teams (see [Bundesliga]). Note that there
should be a certain number of teams in each race to make it more exciting, but
races with too many or even all teams are typically not desirable in a sailing
league. So the teams are typically partitioned into 2,3 or 4 equally sized
races for a flight.

The resulting ranking (for which the rankings of each race are added) of any
league should be chosen as fair as possible. So for a better comparability of
results, it is desirable that the number of races that a team is paired
against another team does not vary too much. In a _perfect pairing list_ each
team would compete the same number of times with any other team. Whether or
not such a perfect schedule exists is a special type of _block design
problem_. We will discuss corresponding theoretical results in Section 3. It
turns out that such perfect pairing lists do rarely exist. In particular, for
the parameters of the sailing leagues mentioned above there is no such perfect
schedule (see Corollary 3.2).

If for given parameters it is not possible to find a perfect schedule, it is
natural to consider the following, more general sailing league problem: In it
we ask to minimize the difference between upper and lower bound for the number
of competitions any team competes with any other team. By this, the pairing
list is as fair as possible in the sense that it is as close as possible to an
ideal pairing list in which each team competes with every other team the same
number of times. As we show in Sections 4 there are natural formulations of
sailing league problems as boolean quadratic and as integer linear programming
problems.

In Section 5 we apply the described techniques and take a closer look at three
case studies. We analyze in particular the Asian Pacific and European
Champions Leagues and the German National Leagues in their 2021 season. It
turns out that schedules could have been improved with respect to the utility
function of the sailing league problem. However, despite heavy computational
efforts, some of the related combinatorial problems with larger parameters
appear to be quite difficult and remain still open.

As in several other sports league problems there is a close connection to
problems in combinatorial design theory, as we explain in Sections 2 and 3.
The sailing league problem studied here is also related to round-robin
tournaments, where after a predefined number of races, in which each
participant competes against every other participant, a winner is chosen. For
a nice survey on round-robin tournaments we refer the interested reader to
[Rasmussen and Trick, 2008]. While in the classical round-robin tournament
only two participants are paired with one another, a sailing race pairs
multiple teams against each other. While this is true for other disciplines
too (as in games such as Skat for three players or Catan for four players),
the number of teams in a sailing race is not predefined by the form of the
competition and can be chosen freely by the organizers with respect to the
available sailing track. Consequently, the sailing league problem does not fit
directly into the existing round robin literature, as it has recently been
catagorized in [Van Bulck et al., 2020]. However, our methods to approach the
problem, using known results from combinatorial design theory and integer
programming formulations, are similar to known techniques for solving
different round robin tournaments (see [Anderson, 1997], [Briskorn, 2008] and
the references within Section 4.4).

##  2\. Parameters and Examples of sailing league problems

We start our survey with a precise introduction of _sailing league problems_.
Given three positive integer parameters $N_{\mbox{\footnotesize
teams}},N_{\mbox{\footnotesize flights}}$, $N_{\mbox{\footnotesize inrace}}$,
where $N_{\mbox{\footnotesize inrace}}$ is a divisor of
$N_{\mbox{\footnotesize teams}}$, we call the following setup a _pairing list_
:

  1. (1)

There is a set $T$ of competing teams of cardinality $N_{\mbox{\footnotesize
teams}}$.

  2. (2)

There is a list $R$ of races. Each race is a subset of teams of cardinality
$N_{\mbox{\footnotesize inrace}}$.

  3. (3)

The races are organized in a list of flights $F$ of cardinality
$N_{\mbox{\footnotesize flights}}$ and each team participates in each flight
exactly once. I. e, $F$ is a partition of $R$ and each flight $f\in F$ is a
partition of $T$.

Note that we use the term _list_ to emphasize that it is allowed to repeat
races and even flights. Mathematically, one could also use an _incidence
structure_ or a _multiset_ here.

We derive some further dependent parameters that turn out to be useful:

  1. (1)

The number of races in a flight:

$N_{\mbox{\footnotesize inflight}}=\frac{N_{\mbox{\footnotesize
teams}}}{N_{\mbox{\footnotesize inrace}}}$

  2. (2)

The total number of races:

(1) $N_{\mbox{\footnotesize races}}=|R|=\frac{N_{\mbox{\footnotesize
teams}}\cdot N_{\mbox{\footnotesize flights}}}{N_{\mbox{\footnotesize
inrace}}}$

  3. (3)

For each pair of teams $t,t^{\prime}\in T$ we have their number of pairings

$\lambda(t,t^{\prime})=|\\{r\in R\ :\ t\in r\text{ and }t^{\prime}\in r\\}|.$

  4. (4)

Derived from the number of pairings, we have the _minimal_ , the _maximal_ and
the _average_ number of pairings:

$\displaystyle\lambda_{\min}$
$\displaystyle=\min_{\begin{subarray}{c}t,t^{\prime}\in T\\\ t\neq
t^{\prime}\end{subarray}}\lambda(t,t^{\prime})$ $\displaystyle\lambda_{\max}$
$\displaystyle=\max_{\begin{subarray}{c}t,t^{\prime}\in T\\\ t\neq
t^{\prime}\end{subarray}}\lambda(t,t^{\prime})$ $\displaystyle\lambda$
$\displaystyle=\frac{1}{N_{\mbox{\footnotesize
teams}}\cdot(N_{\mbox{\footnotesize
teams}}-1)}\cdot\sum_{\begin{subarray}{c}t,t^{\prime}\in T\\\ t\neq
t^{\prime}\end{subarray}}\lambda(t,t^{\prime})$

We easily obtain the following:

######  Lemma 2.1.

We have

$\lambda=\frac{N_{\mbox{\footnotesize flights}}\cdot(N_{\mbox{\footnotesize
inrace}}-1)}{N_{\mbox{\footnotesize teams}}-1}$

###### Proof.

Let $t\in T$ be a fixed team. In each flight, $t$ participates in exactly one
race against $(N_{\mbox{\footnotesize inrace}}-1)$ opposing teams. Therefore,
there is a total of $N_{\mbox{\footnotesize
flights}}\cdot(N_{\mbox{\footnotesize inrace}}-1)$ pairings for each team.
Since there are $(N_{\mbox{\footnotesize teams}}-1)$ opposing teams we get the
claimed identity for the average number of pairings. ∎

For parameters $N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize
flights}}$, $N_{\mbox{\footnotesize inrace}}$ the corresponding _sailing
league problem_ asks to find a pairing list with
$\lambda_{\max}-\lambda_{\min}$ as small as possible.

Note that $\lambda_{\min}$ and $\lambda_{\max}$ are integers by definition,
while $\lambda$ may not be an integer. If we manage to find a pairing list
with $\lambda=\lambda_{\min}=\lambda_{\max}$ and therefore
$\lambda_{\max}-\lambda_{\min}=0$, we call this pairing list _perfect_.
Obviously, a perfect pairing list is also optimal for the respective sailing
league problem.

In order to have a compact human readable way to present different pairing
lists of sailing leagues, we introduce the concept of a _tournament plan_ for
a sailing league:

  1. (1)

A tournament plan is a matrix with $N_{\mbox{\footnotesize flights}}$ rows and
$N_{\mbox{\footnotesize teams}}$ columns, where each row corresponds to a
flight and each column corresponds to a competing team.

  2. (2)

Each flight consists of $N_{\mbox{\footnotesize inflight}}$ races. We identify
each race in a flight by a number between $1$ and $N_{\mbox{\footnotesize
inflight}}$.

  3. (3)

The entry in the tournament plan corresponding to team $t$ and flight $f$ is
the number of the race (in $f$) that team $t$ competes in. Since $f$ is a
partition of the teams, this number is uniquely determined.

To make the theoretical discussions of this paper more vivid, we take a look
at three different examples of real world sailing leagues. Exemplarily, their
parameters are chosen in such a way, that different techniques for their
solution can be applied, respectively different phenomena can be explained.

In case of the national German (first and second) Sailing Leagues there are
six events with the scheduling parameters

(2) $N_{\mbox{\footnotesize teams}}=18,\quad N_{\mbox{\footnotesize
flights}}=16,\quad N_{\mbox{\footnotesize inrace}}=6\quad\mbox{and}\quad
N_{\mbox{\footnotesize inflight}}=3,\quad N_{\mbox{\footnotesize
races}}=48,\quad$

for each event. In contrast, events of the European Sailing Champions Leagues
are realised with various different parameters. Under several possibilities,
we study the final of the European Sailing Champions League 2021 in Porto
Cervo with parameters

(3) $N_{\mbox{\footnotesize teams}}=32,\quad N_{\mbox{\footnotesize
flights}}=18,\quad N_{\mbox{\footnotesize inrace}}=8\quad\mbox{and}\quad
N_{\mbox{\footnotesize inflight}}=4,\quad N_{\mbox{\footnotesize races}}=72.$

Despite the $32$ possible slots for teams, in the actual event, only $29$
teams competed. This gives a motivation to look at types of relaxed sailing
league problems, which we discuss briefly in Section 6.

For the sake of small parameters we will also look at a pairing list for the
final event in Newcastle, Australia, of the Asian Pacific Sailing Champions
League in 2021. The parameters were

(4) $N_{\mbox{\footnotesize teams}}=10,\quad N_{\mbox{\footnotesize
flights}}=8,\quad N_{\mbox{\footnotesize inrace}}=5\quad\mbox{and}\quad
N_{\mbox{\footnotesize inflight}}=2,\quad N_{\mbox{\footnotesize races}}=16.$

They used a base pairing list in which each team is in only 8 races/flights;
see Table 2.1.

Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2
2 | 1 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 2
3 | 1 | 2 | 2 | 1 | 1 | 2 | 1 | 2 | 1 | 2
4 | 1 | 1 | 2 | 2 | 1 | 2 | 1 | 2 | 1 | 2
5 | 1 | 1 | 1 | 2 | 1 | 2 | 2 | 2 | 1 | 2
6 | 2 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2
7 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 2 | 1 | 2
8 | 2 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 2 | 2

Table 2.1. The Asia-Pacific Champions-League tournament plan 2021 in
Newcastle, Australia.

In the actual event this base schedule was to be repeated up to 6 times. So
all parameters of the sailing league problem stay the same, except for
$N_{\mbox{\footnotesize races}}$ and $N_{\mbox{\footnotesize flights}}$, which
are multiplied by 6.

In Section 5 we will give an optimal solution for the sailing league problem
of the German national leagues as well as for the Asia-Pacific Champions-
League with $8$ and $16$ flights. The parameters of the European Champions-
League seem to make a solution very hard and the sailing league problem
remains open in this case.

##  3\. Perfect pairing lists and connections to Design Theory

A simple necessary condition for the existence of a perfect pairing list is
easily found:

######  Lemma 3.1.

If we have a perfect pairing list with parameters $N_{\mbox{\footnotesize
teams}}$, $N_{\mbox{\footnotesize flights}}$, $N_{\mbox{\footnotesize
inrace}}$, then $\lambda$ is an integer. In particular,
$(N_{\mbox{\footnotesize teams}}-1)$ is necessarily a divisor of
$N_{\mbox{\footnotesize flights}}\cdot(N_{\mbox{\footnotesize inrace}}-1)$.

###### Proof.

In a perfect pairing list, we have $\lambda_{\min}=\lambda=\lambda_{\max}$ and
thus $\lambda$ clearly is an integer. The rest follows by Lemma 2.1. ∎

By this result, we immediately have negative news for the parameters of our
three study cases:

######  Corollary 3.2.

There is no perfect pairing list with the parameters of the national German
Sailing Leagues, the European Sailing Champions League and the Asian Pacific
Sailing Champions League respectively.

###### Proof.

The corresponding values of $\lambda$ are $\frac{80}{17}$, $\frac{126}{31}$
and $\frac{32}{9}$ respectively, which are not integers. ∎

We note that it is not difficult to find _any_ perfect pairing list – even
when some parameters are given. We can for example do one of the following:

  1. (a)

Let all teams participate in every race, i.e. $N_{\mbox{\footnotesize
inrace}}=N_{\mbox{\footnotesize teams}}$ and $N_{\mbox{\footnotesize
races}}=N_{\mbox{\footnotesize flights}}$.

  2. (b)

For given $N_{\mbox{\footnotesize teams}}$ and $N_{\mbox{\footnotesize
inrace}}$ perform _all possible_ flights.

However, these trivial perfect pairing lists are often not useful in practice.
A race between too many participants as in (a) is apparently hard to realize
under fair conditions. That is the main reason why sailing leagues are
organized as they are. The other possibility in (b), leads to an extremely
high number of flights, due to a combinatorial explosion. We have a total of

$\frac{N_{\mbox{\footnotesize teams}}!}{(N_{\mbox{\footnotesize
inrace}}!)^{N_{\mbox{\footnotesize inflight}}}\cdot N_{\mbox{\footnotesize
inflight}}!}$

flights, where we use $N_{\mbox{\footnotesize
inflight}}=N_{\mbox{\footnotesize teams}}/N_{\mbox{\footnotesize inrace}}$.
For example, if we have $N_{\mbox{\footnotesize teams}}=18$ teams and
$N_{\mbox{\footnotesize inrace}}=6$ teams per race, as in the national German
Sailing Leagues, the pairing list with all possible flights would have a total
of $2,858,856$ flights.

Problems similar to finding a perfect paring list have been studied in
mathematical _design theory_. This theory is also used in other contexts to
create team schedules or organizing experiments. For a nice introduction to
design theory, we refer to [Beth et al., 1999a] and [Beth et al., 1999b].

One important concept of design theory are _block designs_ (sometimes also
called _balanced incomplete block designs_). For a block design, assume that
we have a finite set whose elements are called _points_ , together with a
collection of _blocks_ which are subsets of the points. Each block contains
the same number of points as every other block, and each pair of points is
also contained in the same number of blocks.

If we interpret points to be the teams participating in the sailing league and
the blocks to be the different races, it is apparent that finding a block
design and a perfect pairing list are two strongly related problems.

For our further discussion, we first give a precise definition of block
designs, using the naming conventions of this paper:

######  Definition 3.3.

Let $N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize inrace}},\lambda$
be positive integers. A _$(N_{\mbox{\footnotesize
teams}},N_{\mbox{\footnotesize inrace}},\lambda)$ -block design_ is a tupel
$(T,R)$ where $T$ is a set of teams and $R$ is a list (an incidence structure)
of subsets of $T$, such that:

  1. (1)

$|T|=N_{\mbox{\footnotesize teams}}$,

  2. (2)

$|r|=N_{\mbox{\footnotesize inrace}}$ for all $r\in R$,

  3. (3)

$\lambda=\lambda(t,t^{\prime})$ for all $t,t^{\prime}\in T$, $t\neq
t^{\prime}$.

The elements of $T$ are also called _points_ of the design, while the elements
of $R$ are called _blocks_ of the design. Note that in design theory
literature, typically the cardinality of the pointset is denoted by $v$, the
block size is $k$ and therefore the notation of a $(v,k,\lambda)$-design is
typically used. With our notation here we emphasize the connection to pairing
lists.

Note that a pairing list is neither a stronger nor a weaker concept than a
block design, since on the one hand it allows for different values of
$\lambda(t,t^{\prime})$ while on the other hand the races have to be organized
in flights. From a perfect pairing list we also get a block design. However,
from an arbitrary block design we do not necessarily obtain a perfect pairing
list, as it is not always possible to group the races into equally sized
flights – even if the block (race) size $k=N_{\mbox{\footnotesize inrace}}$
divides the number of teams $v=N_{\mbox{\footnotesize teams}}$.

There is a design theoretic concept to attack this problem. A subset of $R$ is
called a _parallel class_ of the design, if it is a partition of $T$. If the
races can be partitioned into parallel classes, the block design is called
_resolvable_. As a consequence, a perfect pairing list with parameters
$N_{\mbox{\footnotesize teams}}$, $N_{\mbox{\footnotesize flights}}$,
$N_{\mbox{\footnotesize inrace}}$ describes the same concept as a resolvable
($N_{\mbox{\footnotesize teams}}$, $N_{\mbox{\footnotesize inrace}}$,
$\lambda$)-block design, and the terms _flight_ and _parallel class_ are
interchangeable.

What can we use from the theory of resolvable block designs to solve our
sailing league problems in general? On the one hand, we can certainly obtain
existence or nonexistence results of perfect pairing lists for certain
parameters from corresponding results about resolvable block designs. On the
other hand, we can use the existence of such designs for finding fairly good
pairing lists with slightly different parameters.

We start with some necessary conditions on parameters for the existence of
block designs. We note that the formula of Lemma 2.1 remains valid for general
block designs, even if the races (blocks) can not be grouped into flights
(parallel classes). The parameter

$N_{\mbox{\footnotesize flights}}=\frac{\lambda\cdot(N_{\mbox{\footnotesize
teams}}-1)}{N_{\mbox{\footnotesize inrace}}-1}$

is in general equal to the number of races that contain a given team – and
each team in a block design is contained in the same number of races ([Beth et
al., 1999a, Thm. 2.10.]). Using this equality in (1) we obtain another known
formula for a $(N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize
inrace}},\lambda)$-block design:

$N_{\mbox{\footnotesize races}}=\frac{\lambda\cdot N_{\mbox{\footnotesize
teams}}\cdot(N_{\mbox{\footnotesize teams}}-1)}{N_{\mbox{\footnotesize
inrace}}\cdot(N_{\mbox{\footnotesize inrace}}-1)}$

holds for the number of races (blocks) of the design. Since the quantities
$N_{\mbox{\footnotesize races}}$ and $N_{\mbox{\footnotesize flights}}$ have
to be integers, we can easily deduce the following:

######  Corollary 3.4.

([Beth et al., 1999a, Cor. 2.11.])

If there exists an $(N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize
inrace}},\lambda)$-block design, then

  1. (1)

$(N_{\mbox{\footnotesize inrace}}-1)\;$ divides
$\;\lambda\cdot(N_{\mbox{\footnotesize teams}}-1)$.

  2. (2)

$N_{\mbox{\footnotesize inrace}}\cdot(N_{\mbox{\footnotesize inrace}}-1)\;$
divides $\;\lambda\cdot N_{\mbox{\footnotesize
teams}}\cdot(N_{\mbox{\footnotesize teams}}-1)$.

Note that in the case that $N_{\mbox{\footnotesize inrace}}$ divides
$N_{\mbox{\footnotesize teams}}$, only the first condition is relevant as the
second follows directly.

In case we have a perfect pairing list, the number of races (blocks) each team
competes in is equal to the number of flights (parallel classes). We can find
another necessary conditions for perfect pairing lists from the theory of
resolvable block designs:

######  Corollary 3.5.

([Bose, 1942, Equation 1.20])

If there exists a perfect pairing list with parameters $N_{\mbox{\footnotesize
teams}}$, $N_{\mbox{\footnotesize flights}}$, $N_{\mbox{\footnotesize
inrace}}$, then

$N_{\mbox{\footnotesize races}}\geq N_{\mbox{\footnotesize
teams}}+N_{\mbox{\footnotesize flights}}-1.$

Can we hope for a perfect pairing list if we slightly modify the parameters in
our three examples? For this, we examined all possible nearby parameters, in
ranges $N_{\mbox{\footnotesize teams}}\pm 3$, $N_{\mbox{\footnotesize
flights}}\pm 3$, $N_{\mbox{\footnotesize inrace}}\pm 2$, where
$N_{\mbox{\footnotesize teams}}$, $N_{\mbox{\footnotesize flights}}$,
$N_{\mbox{\footnotesize inrace}}$ are set to be the parameters of the German
Sailing Leagues, the European Champions Leagues and the Asian Pacific Sailing
Champions Leagues respectively. After applying the necessary conditions above,
there are only $13$ cases left to discuss. Most of these cases can then be
handled by results from design theory literature. A summarized discussion of
these parameters is displayed in Table 3.1. For the convenience of the reader
who hopes to apply these findings directly, we present related tournament
plans of known existing perfect pairing lists in Appendix A.

$N_{\mbox{\footnotesize teams}}$ | $N_{\mbox{\footnotesize flights}}$ | $N_{\mbox{\footnotesize inrace}}$ | $\lambda$ | ppl? | Table | Reference
---|---|---|---|---|---|---
8 | 7 | 4 | 3 | Yes | A.1 | [Beth et al., 1999b, Table 9.1]
9 | 8 | 3 | 2 | Yes | A.2 | [Beth et al., 1999b, Table 9.1]
10 | 9 | 5 | 4 | No |  | [Miao, 1994, Lemma 2.10]
12 | 11 | 3 | 2 | Yes | A.3 | [Hanani, 1974, Theorem 4]
12 | 11 | 4 | 3 | Yes | A.4 | [Baker, 1983, Table 1]
12 | 11 | 6 | 5 | Yes | A.5 | [Baker, 1983, Table 3]
15 | 14 | 5 | 4 | No |  | [Kaski and Östergård, 2001]
16 | 15 | 4 | 3 | Yes | A.6 | [Caliński and Kageyama, 2003, Thm. 6.9.2.]
16 | 15 | 8 | 7 | Yes | A.7 | [Caliński and Kageyama, 2003, Thm. 6.9.2.]
18 | 17 | 6 | 5 | Yes | A.8 | [Baker, 1983, Table 3]
20 | 19 | 4 | 3 | Yes | A.9 | [Baker, 1983, Theorem 6.5]
20 | 19 | 5 | 4 | Yes | A.10 | [Miao, 1994, Lemma 2.10]
35 | 17 | 7 | 3 | unknown |  |

Table 3.1. Parameters near the parameters of the three exemplary sailings
leagues that satisfy all necessary conditions. The column labeled _ppl?_
indicates whether there exists a perfect pairing list with these specific
parameters.

It turns out that for the parameters of the German national league and the
Asian Pacific Champions League, there are interesting “nearby results” in
Table 3.1.

For the German national leagues we have an existence result for a
corresponding perfect pairing list, with just one flight more and otherwise
the same parameters. By removing an arbitrary flight from this perfect pairing
list of Table A.8, we easily obtain an optimal pairing list with
$\lambda_{\max}-\lambda_{\min}=1$. The proof of optimality follows from
Corollary 3.2.

For the Asian Pacific Champions League we have a nearby nonexistence result of
a $(10,9,4)$-block design, for a putative perfect paring list ([Miao, 1994,
Lemma 2.10]), with again just one flight more and otherwise the same
parameters. This proves that there can not exist a pairing list with the
parameters of the Asian Pacific Champions League having
$\lambda_{\max}-\lambda_{\min}=1$. Otherwise we could add an arbitrary flight
to an existing perfect pairing list and obtain this utility value. As we will
explain in the next section, it is possible to show
$\lambda_{\max}-\lambda_{\min}=3$ using suitable optimization software. Note
that this in return gives an alternative computational proof of the
nonexistence result in [Miao, 1994].

We end this section by subsuming the above observation on removing or adding
arbitrary flights to an (putative) existing pairing list:

######  Lemma 3.6.

Let $P$ be a pairing list for parameters $N_{\mbox{\footnotesize teams}}$,
$N_{\mbox{\footnotesize flights}}$, $N_{\mbox{\footnotesize inrace}}$ and let
$k$ be an integer. If $k<N_{\mbox{\footnotesize flights}}$, then there exists
a pairing list $P^{\prime}$ for parameters $N_{\mbox{\footnotesize teams}}$,
$N_{\mbox{\footnotesize flights}}-k$, $N_{\mbox{\footnotesize inrace}}$ with

$\lambda_{\max}(P)-\lambda_{\min}(P)\;\leq\;\lambda_{\max}(P^{\prime})-\lambda_{\min}(P^{\prime})\;\leq\;\lambda_{\max}(P)-\lambda_{\min}(P)+k.$

Furthermore, for arbitrary $k$, there also exists a pairing list
$P^{\prime\prime}$ for parameters $N_{\mbox{\footnotesize teams}}$,
$N_{\mbox{\footnotesize flights}}+k$, $N_{\mbox{\footnotesize inrace}}$ with

$\lambda_{\max}(P)-\lambda_{\min}(P)\;\leq\;\lambda_{\max}(P^{\prime\prime})-\lambda_{\min}(P^{\prime\prime})\;\leq\;\lambda_{\max}(P)-\lambda_{\min}(P)+k.$

If in addition $N_{\mbox{\footnotesize teams}}>N_{\mbox{\footnotesize
inrace}}$, $k=1$ and $P$ is a perfect pairing list, then $P^{\prime}$ as well
as $P^{\prime\prime}$ are optimal with

$\lambda_{\max}(P^{\prime})-\lambda_{\min}(P^{\prime})\;=\;1\;=\;\lambda_{\max}(P^{\prime\prime})-\lambda_{\min}(P^{\prime\prime}).$

###### Proof.

Consider removing $k$ arbitrary flights from $P$ to obtain $P^{\prime}$ and
adding $k$ arbitrary flights to $P$ to obtain $P^{\prime\prime}$. Thereby, we
alter the numbers of times two teams have been paired against each other by at
most $k$, yielding the inequalities.

If $P$ is a perfect pairing list and $k=1$, then the inequalities yield
$\lambda_{\max}(P^{\prime})-\lambda_{\min}(P^{\prime}),\lambda_{\max}(P^{\prime\prime})-\lambda_{\min}(P^{\prime\prime})\leq
1$ and for the assertion to be true we are left to exclude that $P^{\prime}$
and $P^{\prime\prime}$ are perfect pairing lists. Suppose $P^{\prime}$ is
perfect. By Lemma 2.1 it follows that,
$\lambda(P)=\frac{N_{\mbox{\footnotesize flights}}\cdot(N_{\mbox{\footnotesize
inrace}}-1)}{N_{\mbox{\footnotesize teams}}-1}$ and
$\lambda(P^{\prime})=\frac{(N_{\mbox{\footnotesize
flights}}-1)\cdot(N_{\mbox{\footnotesize inrace}}-1)}{N_{\mbox{\footnotesize
teams}}-1}$ are integers. By

$\lambda(P)-\lambda(P^{\prime})=\frac{N_{\mbox{\footnotesize
inrace}}-1}{N_{\mbox{\footnotesize teams}}-1}\in{\mathbb{Z}}$

this yields that $N_{\mbox{\footnotesize teams}}-1$ has to be a divisor of
$N_{\mbox{\footnotesize inrace}}-1$. This is impossible since
$N_{\mbox{\footnotesize teams}}>N_{\mbox{\footnotesize inrace}}$ yielding a
contradiction. A similar argument can be found for $P^{\prime\prime}$. ∎

##  4\. Quadratic and linear programs for the sailing league problem

As in our three study cases, there does not exist a perfect pairing list for
most combinations of possible parameters. In this section we therefore
describe approaches to formulate any sailing league problem with given
parameters as an optimization problem. They can – at least in principle – be
solved with a suitable software tool for operations research. We used Gurobi
[Gurobi] and Cplex [CPLEX] to compare the different programs. We first give a
natural boolean quadratic problem formulation and then describe two different
linear programs that appear to be better solvable in practice. Depending on
the given parameters one or the other may perform better, as it is also shown
by our case study in Section 5.

We identify in the following each team, race and flight by its index: We use
$k,l\in\\{1,\dots,N_{\mbox{\footnotesize teams}}\\}$ for team indices and the
index $j\in\\{1,\dots,N_{\mbox{\footnotesize races}}\\}$ for the race. Index
$i\in\\{1,\dots,N_{\mbox{\footnotesize flights}}\\}$ is used for the flight.
Furthermore, we assume that the races are organized in such a way, that
$N_{\mbox{\footnotesize inflight}}$ consecutive races form a flight, i.e.,
flight $i$ consists of the races with indices $\\{(i-1)\cdot
N_{\mbox{\footnotesize inflight}}+1,\dots,i\cdot N_{\mbox{\footnotesize
inflight}}\\}$.

Two conditions of a pairing list are already satisfied by the above
conventions:

  1. (1)

There are $N_{\mbox{\footnotesize teams}}$ teams.

  2. (2)

The flights form a partition of the races.

Other conditions are to be modelled in the respective programs below.

###  4.1. A boolean quadratic program

Allowing quadratic constraints there is a simple and straightforward
formulation of the sailing league problem. For it we can use boolean,
respectively $0$-$1$ decision variables $b_{jk}\in\\{0,1\\}$ indicating if
team $k$ participates in race $j$.

We model the condition, that the number of teams in each race has to be equal
to the constant $N_{\mbox{\footnotesize inrace}}$ by the following linear
equations for each race $j$. Since there is a fixed number of teams in each
race, we get the constraints

$\sum_{k=1}^{N_{\mbox{\footnotesize teams}}}b_{jk}=N_{\mbox{\footnotesize
inrace}}$

for every race $j$.

Additionally, we model the condition that every flight forms a partition of
the teams (each team is in exactly one race per flight) by the following
linear equation for every team $k$ and every flight $i$:

$\sum_{j=(i-1)\cdot N_{\mbox{\footnotesize inflight}}+1}^{i\cdot
N_{\mbox{\footnotesize inflight}}}b_{jk}=1$

In order to set up a linear utility function, we use two variables $a$ and $b$
as lower and upper bound for the number of competitions between two different
teams $k$ and $l$ during a sailing league event. We obtain the two nonlinear
quadratic inequalities

(5) $a\leq\sum_{j=1}^{N_{\mbox{\footnotesize races}}}b_{jk}\cdot b_{jl}\leq b$

for every pair of teams $k,l$, where we can assume $l<k$ due to symmetry. Note
that the quadratic $0$-$1$-expressions $b_{jk}\cdot b_{jl}$ indicate if team
$k$ and team $l$ compete in race $j$. Thus we may assume that $a$ and $b$ are
integers.

Our goal is now to minimize the linear utility function $b-a$. Note that for a
pairing list that optimizes this program, we have $\lambda_{\max}=b$,
$\lambda_{\min}=a$ and $\lambda_{\max}-\lambda_{\min}=b-a$ and thus the
program is equivalent to the sailing league problem.

The described quadratically constrained program can be implemented in a
straightforward way. However, further simplification, respectively a reduction
of used variables is possible, by using some additional symmetry breaking
assumptions: We can require for instance that the teams in race $1$ are the
teams $1$, $2$, …$N_{\mbox{\footnotesize inrace}}$ and so on… Thus we may
assume

$b_{1k}=1\;\mbox{for $k\leq N_{\mbox{\footnotesize inrace}}$ and $b_{1k}=0$
otherwise,}$

etc.. Additionally we can also require that team $1$ is in the first race of
every flight. So $b_{jk}=1$ for the first race of each flight, i.e. for all
$j=(i-1)\cdot N_{\mbox{\footnotesize inflight}}+1$.

###  4.2. An integer linear program

For practical computations it is usually desirable to get rid of the quadratic
constraints. With the $0$-$1$ decision variables in the quadratic problem
formulation of Section 4.1 we can easily set up a purely linear problem
formulation. This has the price of additional variables though: We may use
variables $b_{jkl}$ for the non-linear expressions $b_{jk}\cdot b_{jl}$ in the
above quadratic problem formulation. The $0$-$1$ variables $b_{jkl}$ are thus
indicating if team $k$ and team $l$ compete in race $j$.

The relation $b_{jkl}=b_{jk}\cdot b_{jl}$ among the variables can be put into
linear constraints for every race $j$ and every pair of teams $k,l$ with
$l<k$: We use the three linear inequalities

(6) $\displaystyle b_{jk}+b_{jl}-1\;\leq\;b_{jkl}\;\leq\;b_{jk}\;,\;b_{jl}.$

This is the _standard linearization_ by Glover and Woolsey [Glover and
Woolsey, 1974]. In it we have a total of $3\cdot N_{\mbox{\footnotesize
races}}\cdot{N_{\mbox{\footnotesize teams}}\choose 2}$ additional linear
inequalities and $N_{\mbox{\footnotesize races}}\cdot{N_{\mbox{\footnotesize
teams}}\choose 2}$ additional variables $b_{jkl}$. We note that these
additional variables can be chosen either binary or as real, but then with
additional bounds $0\leq b_{jkl}\leq 1$. Then the variables are forced to be
$0$ or $1$ by the inequalities (6). Using real variables appears to be
beneficial when used with the standard parameters of [Gurobi] or [CPLEX].

As in the quadratic problem formulation we want to minimize $b-a$ under the
now linear side constraints (see (5))

$a\leq\sum_{j=1}^{N_{\mbox{\footnotesize races}}}b_{jkl}\leq b,$

for every pair of distinct teams $k,l$, with $l<k$.

As a rule of thumb, this linear problem formulation works best in practice
with current solvers for suitable small parameters of the sailing league
problem – despite its large number of variables.

###  4.3. A smaller integer linear program

Since every team competes in every flight only once, we can reduce the number
of variables in the linear program formulation above. Instead of using
variables $b_{jkl}$ to indicate whether team $k$ competes in race $j$ against
team $l$, we can use $0$-$1$ variables $b_{ikl}$ indicating if team $k$
competes in flight $i$ against team $l$. We require for each flight $i$ and
each team $k$ that

$\sum_{l=1,l\not=k}^{N_{\mbox{\footnotesize
teams}}}b_{ikl}\;=\;N_{\mbox{\footnotesize inrace}}-1,$

that is, the number of teams competing against team $k$ in flight $i$ is
fixed. Additionally we require that $b_{ikl}=1$ if $b_{ikm}=1$ and
$b_{ilm}=1$, for every flight $i$ and all triples of distinct team indices
$k,l,m$. This can be achieved by linear inequalities

$b_{ikm}+b_{ilm}-1\;\leq\;b_{ikl}$

for every flight $i$ and all possible triples $k,l,m$. Note that we may use
variables $b_{ikl}$ with $l<k$ only in all of these inequalities, because of
the symmetry $b_{ikl}=b_{ilk}$.

From variables satisfying all the described inequalities we can easily
construct a tournament plan. In it, the order of races in each flight can be
chosen arbitrarily. In this way, this second linear problem formulation gives
us a solution of a race plan up to symmetry of race numbering in each flight.
As in the other two problem formulations we want to minimize $b-a$, this time
under the linear side constraints (see (5))

$a\leq\sum_{i=1}^{N_{\mbox{\footnotesize flights}}}b_{ikl}\leq b,$

for every pair of distinct teams $k,l$, with $l<k$.

Overall, this second linear problem formulation has the advantage of less
variables compared with the one before. On the other hand it usually has more
side constraints, as their number grows cubic with the number of teams –
compared to quadratic growth in the other linear problem formulation.
Concretely, in the second linear program we have a number of side constraints
in the order $O(N_{\mbox{\footnotesize flights}}\cdot N_{\mbox{\footnotesize
teams}}^{3})$ while in the first linear program the number is in the order of
$O(N_{\mbox{\footnotesize races}}\cdot N_{\mbox{\footnotesize teams}}^{2})$.
An additional practical disadvantage of this second linear problem formulation
is the fact that we can not simply relax the variables $b_{ikl}$ to reals
between $0$ and $1$ – as it is possible for the variables $b_{jkl}$ in the
first linear program. Here, in contrast to the first linear program, we do not
have inequalities as in (6) which force the variables to be $0$ or $1$.

However, together with the advantage of less variables, in our experiments we
also discovered a second useful advantage: If we relax some of the variables
$b_{ikl}$ to reals between $0$ and $1$, we obtain a possibly smaller minimum
$b-a$ that can be a useful lower bound! Since we know that $b-a$ is an
integer, such a bound can even be used to prove a tight bound on $b-a$, even
if the corresponding $0$-$1$-problem can not be solved. We use this
_relaxation trick_ in the next section to give a solution of the Asian Pacific
Champions League with $16$ flights.

###  4.4. Integer linear programs for other sport leagues

Integer linear programming is probably one of the most used techniques in
sports league scheduling. To the best of our knowledge, the sailing league
problem has not been studied in the corresponding OR literature. Nevertheless,
there is a long list of publications using in particular integer linear
programs to schedule different sport leagues. Naturally, in many of these some
similarities to our two problem formulations can be found. Without being near
to a complete list, we like to mention the following publications in this
context (in chronological order): [Robinson, 1991], [Fleurent and Ferland,
1993], [Nemhauser and Trick, 1998], [Trick, 2004], [Della Croce and Oliveri,
2006], [Rasmussen, 2008], [Rasmussen and Trick, 2009], [Kostuk and Willoughby,
2012], [Recalde et al., 2013], [Alarcón et al., 2014], [Goerigk and Westphal,
2016], [Durán et al., 2017], [Cocchi et al., 2018], [Bouzarth et al., 2021]
[Van Bulck and Goossens, 2023], [van Doornmalen et al., 2023] . We also like
to mention that differennt contraint programming and SAT techniques may work
well in some cases, as it is suggested in papers like [Smith et al., 1996] or
[Baker et al., 2002]. We ourselves did not test corresponding approaches so
far, but we think this could be a fruitful direction for future research on
sailing league problems.

##  5\. Three Case Studies

Using the tools of Sections 3 and 4, we take a closer look at the three
sailing league events mentioned in Section 2.

###  5.1. Asian Pacific Sailing Champions League

We start with the smallest event, involving only $10$ teams. In 2021 the final
event in Newcastle, Australia, was realized with the pairing list given in
Table 2.1. A quick analysis of this base pairing list, with $8$ flights and
$16$ races, reveals that already this schedule is particularly bad for the
sailing league problem. We note that other criteria were seemingly more
important for the schedule, but it is not clear to us which precicely and why.
Teams 6, 8 and 10, for instance, compete against each other in all 8 flights,
while Team 2 competes against these three teams only once. I.e.
$\lambda_{\min}=1$, $\lambda_{\max}=8$, $\lambda_{\max}-\lambda_{\min}=7$.
Multiplying the base schedule by 6 — as it was planned in the actual event —
does even amount in 48 versus 6 matches for the same teams.

With the given parameters we can actually solve all linear/quadratic problems
presented in Section 4 on a standard laptop. Fastest solutions with [Gurobi]
and [CPLEX] are obtained when we use the first linear program of Section 4.2,
with as many variables as possible relaxed to real variables between $0$ and
$1$. Note that not only all the variables $b_{jkl}$ can be relaxed in such a
way without changing the outcome, but also some of the variables $b_{jk}$ that
are shared with the quadratic program. I.e., for every equation we can relax
one of the involved variables to be real. Overall we obtain a computational
proof of the following result:

######  Theorem 5.1.

For the parameters $N_{\mbox{\footnotesize teams}}=10$,
$N_{\mbox{\footnotesize flights}}=8$ and $N_{\mbox{\footnotesize inrace}}=5$
an optimal tournament plan has a utility value
$\lambda_{\max}-\lambda_{\min}=3$ and satisfies
$\lambda_{\min}=2,\lambda_{\max}=5$. A corresponding plan is contained in the
first eight flights (rows) of Table C.2.

Note that for the proof it is not enough to compute
$\lambda_{\max}-\lambda_{\min}=3$ with the given parameters: Since the average
of pairwise competitions in the Asian Pacific Champions League is
$\lambda=32/9=3.555\ldots$, it could in principle also be possible that there
exist tournament plans with lower and upper bounds
$\lambda_{\min}=1,\lambda_{\max}=4$ or $\lambda_{\min}=3,\lambda_{\max}=6$.
However, corresponding integer linear programs with these values of $a$ and
$b$ set fixed turn out to be infeasible, that is, there do not exist
corresponding paring lists.

Note that Theorem 5.1 together with Lemma 3.6 also implies the nonexistence of
a $(10,9,4)$-block design as has been proven previously using combinatorics
(see [Miao, 1994, Lemma 2.10]).

The computed optimal schedules with $\lambda_{\min}=2$ and $\lambda_{\max}=5$
are still quite uneven, respectively the minimum of the utility function
appears quite big. This is in particular the case, as the base pairing list
was to be repeated six times. So, in the overall event, some teams would still
compete only $12$ times against each other, while other pairs compete $30$
times. This difference can be reduced by using for instance three times an
optimized pairing list with $16$ flights (instead of six times an optimized
pairing list with $8$ flights). We are able to solve the corresponding sailing
league problem:

######  Theorem 5.2.

For the parameters $N_{\mbox{\footnotesize teams}}=10$,
$N_{\mbox{\footnotesize flights}}=16$ and $N_{\mbox{\footnotesize inrace}}=5$
an optimal tournament plan has a utility value
$\lambda_{\max}-\lambda_{\min}=2$. A corresponding plan is contained in Table
C.2.

For the computational proof of this result, we can first find a schedule with
utility value $2$ as the one in Table C.2. A solver finds such a plan
comparatively fast or other heuristic strategies can be used. It is more
difficult to prove that utility value $1$ is impossible. All of the described
linear and quadratic programs of Section 4 did not finish on our computers in
a reasonable amount of time. However, a specific relaxation of the linear
integer problem presented in Section 4.3 allowed us to obtain a proof of
optimality for the tournament plan in Table C.2: We allowed the binary
variables $b_{ikl}$ of the $4$ teams $k=7,8,9,10$ (and all flights $i$) to be
real valued between $0$ and $1$. Thus of the $720$ binary variables, we
relaxed a total of $480$ variables to reals (as we assume $l<k$ there are $30$
variables for each flight $i$). As any relaxation gives a lower bound to the
actual minimum of $b-a$, the computed exact minimum of $1.25$ in this
relaxation proves that $b-a\geq 2$ for the actual sailing league problem (in
which $b-a$ is an integer).

We finally note that the problem of finding an optimal tournament plan for
parameters $N_{\mbox{\footnotesize teams}}=10$, $N_{\mbox{\footnotesize
inrace}}=5$ and $N_{\mbox{\footnotesize flights}}=n\cdot 8$ with $n\geq 3$
($n$ times the base schedule of the Asian Pacific Champions League) still
appears to be open.

###  5.2. German Sailing Leagues

We analyzed a total of $20$ events of the German National Leagues, all with
the usual parameters $N_{\mbox{\footnotesize teams}}=18$,
$N_{\mbox{\footnotesize flights}}=16$ and $N_{\mbox{\footnotesize inrace}}=6$.
The utility values for these events were either $2$ or $3$ indicating that the
organizers put in some effort to obtain good tournament plans in the sense of
the sailing league problem. We ourselves conducted some heuristical searches
for optimal tournament plans and tried a bunch of different strategies
adapting or relaxing the quadratic and integer programs of Section 4. In all
of these approaches we were not able to obtain a tournament plan
$\lambda_{\max}-\lambda_{\min}=1$. As the average of pairwise competitions in
the events of the German national Leagues is $\lambda=80/17=4.7058\ldots$ a
tournament plan with $\lambda_{\max}-\lambda_{\min}=1$ necessarily satisfies
$a=\lambda_{\max}=5$ and $b=\lambda_{\min}=4$. We used this additional setting
in the corresponding programs without success.

However, in contrast to the problems with a computational solution using one
of the standard approaches of Section 4, we found a solution using a suitable
existence result from design theory:

######  Theorem 5.3.

For the parameters $N_{\mbox{\footnotesize teams}}=18$,
$N_{\mbox{\footnotesize flights}}=16$ and $N_{\mbox{\footnotesize inrace}}=6$
an optimal tournament plan has a utility value
$\lambda_{\max}-\lambda_{\min}=1$. A corresponding plan is obtained by
removing an arbitrary flight (row) of Table A.8.

A simple proof of this result is a direction application of Lemma 3.6 with
$k=1$.

###  5.3. European Sailing Champions League

The largest problem we analyzed is the European Champions League in 2021 with
$32$ slots for teams. The actual number of teams competing in the event was
$29$, so that three team slots were marked “empty” in the corresponding
tournament plan. Analyzing the $72$ races of this event, we find that the $29$
competing teams had between $2$ and $7$ matches against each other. Thus in
this case we may consider a kind of relaxed problem in which only a subset of
the $N_{\mbox{\footnotesize teams}}$ teams in the tournament plan is taken
into account when computing the bounds $a=\lambda_{\max}$ and
$b=\lambda_{\min}$.

Unfortunately, we could not find an optimal pairing list for this problem. Not
even in the relaxed case using only $29$ teams or by other approaches. To find
at least a pairing list that yields a good upper bound, we used a perfect
pairing list with parameters $N_{\mbox{\footnotesize teams}}=32$,
$N_{\mbox{\footnotesize inrace}}=8$ and $N_{\mbox{\footnotesize flights}}=31$
(see also [Rokowska, 1984, Lemma 5]) and then applied a heuristic search
method to find the presumably best way to remove $13$ of the flights. The
resulting tournament plan is given in Table C.1. Together with Corollary 3.2
this yields the following result:

######  Theorem 5.4.

For the parameters $N_{\mbox{\footnotesize teams}}=32$,
$N_{\mbox{\footnotesize flights}}=18$ and $N_{\mbox{\footnotesize inrace}}=8$
of the European Sailing Champions League Final 2021, an optimal pairing list
satisfies

$1\leq\lambda_{\max}-\lambda_{\min}\leq 3.$

While we improved the utility value by two, compared with the actual event in
2021, so far we can not prove optimality of the tournament plan in Table C.1.
We finally note that other events of the European Sailing Champions League use
various other parameters yielding even more unsolved sailing league problems
with relatively big parameters.

We finally want to remark that a natural _greedy approach_ to solve a given
sailing league problem does often not work. It is tempting to think that one
can get a quite good tournament plan by optimizing the utility function for a
few initial flights and then sequentially take a solution for a fixed number
of flights and optimize the tournament plan with $n$ additional flights. This
greedy strategy does in particular not work for the parameters of the European
Sailing Champions League Final 2021. Here we optimized for $4$ initial flights
and obtained a tournament plan with utility value $2$. Then we added
sequentially two flights to obtain tournament plans with $6,8,\dots,18$
flights. This first lead to tournament plans with utility value $3$, but for
$18$ flights the optimal plan found in this way had utility value $4$ – even
if we counted only pairings of $29$ of the $32$ teams in our computations.
Hence, this gives an example where this natural greedy strategy produces a
result worse than the one in Table C.1.

##  6\. Additional connections and remarks

In this section we discuss further information which, while interesting, have
not been necessary for the discussion of the three use cases.

###  6.1. More connections to design theory

General pairing lists are strongly connected to the concept of _partially
balanced block designs_. In particular, a pairing list with parameters
$N_{\mbox{\footnotesize teams}}$, $N_{\mbox{\footnotesize flights}}$,
$N_{\mbox{\footnotesize inrace}}$ and derived parameter $\lambda$ corresponds
to a $(N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize
inrace}},\lambda)$-resolvable partially balanced block design $(T,R,\Lambda)$
with $m$ associate classes where

$m-1\leq\lambda_{\max}-\lambda_{\min}=\max(\Lambda)-\min(\Lambda).$

In particular, pairing lists with $\lambda_{\max}-\lambda_{\min}=1$ correspond
to resolvable partially balanced block designs with $2$ associate classes.

More information about resolvable partially balanced block designs can be
found, for example, in [Saurabh et al., 2021].

To the best of our knowledge, resolvable partially balanced block designs are
only known for very specific parameters and do not yield useful results for
our three example cases.

###  6.2. Relaxations

During the work on this paper, we also thought about different ways of
relaxing the definition of a sailing league problem, in order to obtain
tournament plans in which the number of pairwise matches does not vary too
much.

The European Champions League in 2021 showed – with three teams missing in the
final – that we could allow the races to be of different size for example, as
effectively done in the event. There are several results in the literature
concerning block designs with multiple possible block sizes which could be
useful in this setting.

Another possible relaxation is, to allow flights that are not a partition of
the teams. In particular, we could allow pairing lists such that each flight
lets every team compete, except a fixed number of teams who skip this flight,
i.e. the flight is just a partition of a subset of the teams. If every flight
has exactly one team that does not participate, this is strongly connected to
the concept of _nearly resolvable block designs_ (see for example [Banerjee et
al., 2018]). Some examples of pairing lists obtained in such a way are given
in Appendix B.

Note that it is possible, to adapt the quadratic/linear programs of Section 4
according to these relaxations.

###  6.3. Related problem

The sailing league problem discussed in this paper strictly requires the
flights to be a partition of the teams, but principally allows different
values for $\lambda(t,t^{\prime})$. If we strictly require that the pairing
list is perfect but allow that the flights might not partition the teams, we
get the following related problem:

Let $N_{\mbox{\footnotesize teams}}$, $N_{\mbox{\footnotesize inrace}}$,
$\lambda^{\prime}$ be positive integer parameters. A _relaxed pairing list_
(with respect to the given parameters) is a $(N_{\mbox{\footnotesize
teams}},N_{\mbox{\footnotesize inrace}},\lambda)$-block design with
$\lambda\geq\lambda^{\prime}$ where additionally the races are organized in a
list of flights which are partitions of respective subsets of the teams.

Find an $(N_{\mbox{\footnotesize teams}},N_{\mbox{\footnotesize
inrace}},\lambda^{\prime})$-relaxed pairing list such that the number of
flights is as small as possible.

In an event planned with this premise, each pair of teams would meet _exactly_
the same number of times in as less flights as possible.

##  7\. Conclusions

In this paper we give an introduction to sailing league problems, depending on
the number of competing teams, the number of flights (rounds) and the number
of teams per race. We find in particular that recently organized sailing
events could be enhanced in terms of the discussed utility function. In very
few cases of the parameters there exist perfect pairing lists, namely if and
only if there exists a corresponding resolvable block design (see for instance
Table 3.1 and Appendix A). If, as in most cases, the parameters of a given
sailing league do not allow the existence of a perfect pairing list, a
combination of knowledge from design theory and implementations of linear and
quadratic programs can be used to find good or even optimal pairing lists. In
particular, the tournament plans presented in Appendix C and Table A.8 could
be used for the parameters of the Asian Pacific Champions League, the German
Sailing Leagues and the European Sailing Champions Leagues discussed in
Section 5.

Despite the findings of this paper, the sailing league problem in general
seems hard to solve and many parameters of real sailing events have not been
considered yet. Furthermore, several relaxed and related problems discussed in
Section 6 have not been studied sufficiently. So further research is necessary
to get a more complete picture.

## Acknowledgements

We thank Gundram Leifert (ASV Warnemünde) for making us familiar with sailing
league problems. We like to thank Michael Trick for very helpful remarks.
Furthermore, we like to thank Frieder Ladisch, Valentin Dannenberg and Kerrin
Bielser for helpful feedback on an earlier version, and we like to thank a
former class-mate of the first author for a very useful hint.

## References

  * [Alarcón et al., 2014] Alarcón, F., Duran, G., and Guajardo, M. (2014).  Referee assignment in the Chilean football league using integer programming and patterns.  International Transactions in Operational Research, 21:415–438.
  * [Anderson, 1997] Anderson, I. (1997).  Combinatorial designs and tournaments, volume 6 of Oxford Lecture Series in Mathematics and its Applications.  The Clarendon Press, Oxford University Press, New York.
  * [Baker et al., 2002] Baker, K. R., Magazine, M. J., and Polak, G. G. (2002).  Optimal block design models for course timetabling.  Oper. Res. Lett., 30(1):1–8.
  * [Baker, 1983] Baker, R. D. (1983).  Resolvable BIBD and SOLS.  Discrete Math., 44(1):13–29.
  * [Banerjee et al., 2018] Banerjee, S., Awad, R., and Agrawal, B. (2018).  Some constructions of nearly $\mu$-resolvable designs.  American Journal of Applied Mathematics and Statistics, 6:36–43.
  * [Beth et al., 1999a] Beth, T., Jungnickel, D., and Lenz, H. (1999a).  Design theory. Vol. I, volume 69 of Encyclopedia of Mathematics and its Applications.  Cambridge University Press, Cambridge, second edition.
  * [Beth et al., 1999b] Beth, T., Jungnickel, D., and Lenz, H. (1999b).  Design theory. Vol. II, volume 78 of Encyclopedia of Mathematics and its Applications.  Cambridge University Press, Cambridge, second edition.
  * [Bose, 1942] Bose, R. C. (1942).  A note on the resolvability of balanced incomplete block designs.  Sankhyā: The Indian Journal of Statistics, pages 105–110.
  * [Bouzarth et al., 2021] Bouzarth, E. L., Grannan, B. C., Harris, J. M., and Hutson, K. R. (2021).  Scheduling the valley baseball league.  INFORMS Journal on Applied Analytics, 52(2):189–197.
  * [Briskorn, 2008] Briskorn, D. (2008).  Sports leagues scheduling—models, combinatorial properties, and optimization algorithms.  Lecture notes in economics and mathematical systems. Springer, Heidelberg.
  * [Caliński and Kageyama, 2003] Caliński, T. and Kageyama, S. (2003).  Block designs: a randomization approach. Vol. II, volume 170 of Lecture Notes in Statistics.  Springer-Verlag, New York.  Design.
  * [Cocchi et al., 2018] Cocchi, G., Galligari, A., Nicolino, F. P., Piccialli, V., Schoen, F., and Sciandrone, M. (2018).  Scheduling the italian national volleyball tournament.  Interfaces, 48(3):271–284.
  * [Della Croce and Oliveri, 2006] Della Croce, F. and Oliveri, D. (2006).  Scheduling the italian football league: an ILP-based approach.  Computers & Operations Research, 33(7):1963–1974.  Special Issue: Operations Research in Sport.
  * [Durán et al., 2017] Durán, G., Guajardo, M., and Sauré, D. (2017).  Scheduling the south american qualifiers to the 2018 FIFA world cup by integer programming.  European Journal of Operational Research, 262(3):1109–1115.
  * [Fleurent and Ferland, 1993] Fleurent, C. and Ferland, J. A. (1993).  Allocating games for the NHL using integer programming.  Operations Research, 41(4):649–654.
  * [Glover and Woolsey, 1974] Glover, F. and Woolsey, E. (1974).  Converting the 0-1 polynomial programming problem to a 0-1 linear program.  Operations research, 22(1):180–182.
  * [Goerigk and Westphal, 2016] Goerigk, M. and Westphal, S. (2016).  A combined local search and integer programming approach to the traveling tournament problem.  Annals of Operations Research, 239:343–354.
  * [Hanani, 1974] Hanani, H. (1974).  On resolvable balanced incomplete block designs.  J. Combinatorial Theory Ser. A, 17:275–289.
  * [Kaski and Östergård, 2001] Kaski, P. and Östergård, P. R. J. (2001).  There exists no $(15,5,4)$ RBIBD.  J. Combin. Des., 9(5):357–362.
  * [Kendall et al., 2010] Kendall, G., Knust, S., Ribeiro, C. C., and Urrutia, S. (2010).  Scheduling in sports: an annotated bibliography.  Comput. Oper. Res., 37(1):1–19.
  * [Kostuk and Willoughby, 2012] Kostuk, K. J. and Willoughby, K. A. (2012).  A decision support system for scheduling the Canadian football league.  Interfaces, 42(3):286–295.
  * [Miao, 1994] Miao, Y. (1994).  Existence of resolvable BIBDs with $k=5$ and $\lambda=4$.  Discrete Math., 128(1-3):283–303.
  * [Nemhauser and Trick, 1998] Nemhauser, G. L. and Trick, M. A. (1998).  Scheduling a major college basketball conference.  Operations Research, 46(1):1–8.
  * [Rasmussen and Trick, 2009] Rasmussen, R. and Trick, M. (2009).  The timetable constrained distance minimization problem.  Annals of Operations Research, 171:45–59.
  * [Rasmussen, 2008] Rasmussen, R. V. (2008).  Scheduling a triple round robin tournament for the best Danish soccer league.  European Journal of Operational Research, 185(2):795–810.
  * [Rasmussen and Trick, 2008] Rasmussen, R. V. and Trick, M. A. (2008).  Round robin scheduling – a survey.  European Journal of Operational Research, 188(3):617–636.
  * [Recalde et al., 2013] Recalde, D., Torres, R., and Vaca, P. (2013).  Scheduling the professional Ecuadorian football league by integer programming.  Computers & Operations Research, 40(10):2478–2484.
  * [Robinson, 1991] Robinson, L. (1991).  Baseball playoff elimination: an application of linear programming.  Operations Research Letters, 10:67–74.
  * [Rokowska, 1984] Rokowska, B. (1984).  Resolvable systems of $8$-tuples.  J. Statist. Plann. Inference, 9(1):131–141.
  * [Saurabh et al., 2021] Saurabh, S., Sinha, K., and Singh, M. K. (2021).  A survey of resolvable solutions of partially balanced designs.  Communications in Statistics-Theory and Methods, pages 1–17.
  * [Smith et al., 1996] Smith, B. M., Brailsford, S. C., Hubbard, P. M., and Williams, H. P. (1996).  The progressive party problem: integer linear programming and constraint programming compared.  Constraints, 1(1-2):119–138.
  * [Trick, 2004] Trick, M. (2004).  Using sports scheduling to teach integer programming.  INFORMS Transactions on Education, 5:10–17.
  * [Van Bulck and Goossens, 2023] Van Bulck, D. and Goossens, D. (2023).  The international timetabling competition on sports timetabling (ITC2021).  European Journal of Operational Research, 308(3):1249–1267.
  * [Van Bulck et al., 2020] Van Bulck, D., Goossens, D., Schönberger, J., and Guajardo, M. (2020).  RobinX: a three-field classification and unified data format for round-robin sports timetabling.  European Journal of Operational Research, 280(2):568–580.
  * [van Doornmalen et al., 2023] van Doornmalen, J., Hojny, C., Lambers, R., and Spieksma, F. C. (2023).  Integer programming models for round robin tournaments.  European Journal of Operational Research.  online available February 2023, https://doi.org/10.1016/j.ejor.2023.02.017.

##

  * [1]

Software and Webpages

  * [2]
  * [Gurobi] Gurobi - The Fastest Solver, https://www.gurobi.com/, accessed: March 2023.
  * [CPLEX] IBM CPLEX Optimizer, https://www.ibm.com/de-de/analytics/cplex-optimizer, accessed: March 2023.
  * [Bundesliga] National German sailing league, https://deutsche-segelbundesliga.de, accessed: March 2023.
  * [ChampionsLeague] Sailing Champions League, https://sailing-championsleague.com, accessed: March 2023.
  * [Knust Bib] S. Knust, Classification of literature on sports scheduling https://www.inf.uos.de/knust/sportssched/sportlit_class/, accessed: March 2023.

##  Appendix A Perfect pairing lists

Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2
2 | 2 | 1 | 1 | 2 | 1 | 1 | 2 | 2
3 | 2 | 2 | 1 | 1 | 1 | 2 | 1 | 2
4 | 1 | 2 | 2 | 1 | 1 | 1 | 2 | 2
5 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2
6 | 1 | 2 | 1 | 2 | 2 | 1 | 1 | 2
7 | 1 | 1 | 2 | 2 | 1 | 2 | 1 | 2

Table A.1. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=8$, $N_{\mbox{\footnotesize flights}}=7$, $N_{\mbox{\footnotesize inrace}}=4$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 2 | 3 | 2 | 3 | 2 | 3
2 | 3 | 2 | 1 | 1 | 1 | 2 | 2 | 3 | 3
3 | 1 | 3 | 2 | 3 | 1 | 1 | 2 | 2 | 3
4 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3
5 | 2 | 2 | 2 | 1 | 3 | 1 | 3 | 1 | 3
6 | 3 | 1 | 2 | 2 | 2 | 1 | 1 | 3 | 3
7 | 2 | 3 | 1 | 3 | 2 | 2 | 1 | 1 | 3
8 | 2 | 1 | 3 | 2 | 1 | 3 | 2 | 1 | 3

Table A.2. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=9$, $N_{\mbox{\footnotesize flights}}=8$, $N_{\mbox{\footnotesize inrace}}=3$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 4 | 2 | 2 | 2 | 4 | 3 | 3 | 3 | 4
2 | 4 | 1 | 1 | 1 | 4 | 2 | 2 | 2 | 4 | 3 | 3 | 3
3 | 1 | 4 | 1 | 1 | 2 | 4 | 2 | 2 | 3 | 4 | 3 | 3
4 | 1 | 1 | 4 | 1 | 2 | 2 | 4 | 2 | 3 | 3 | 4 | 3
5 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 1
6 | 1 | 4 | 3 | 2 | 4 | 1 | 2 | 3 | 3 | 2 | 1 | 4
7 | 4 | 1 | 2 | 3 | 3 | 2 | 1 | 4 | 1 | 4 | 3 | 2
8 | 3 | 2 | 1 | 4 | 1 | 4 | 3 | 2 | 4 | 1 | 2 | 3
9 | 1 | 4 | 3 | 2 | 4 | 1 | 2 | 3 | 3 | 2 | 1 | 4
10 | 4 | 1 | 2 | 3 | 3 | 2 | 1 | 4 | 1 | 4 | 3 | 2
11 | 3 | 2 | 1 | 4 | 1 | 4 | 3 | 2 | 4 | 1 | 2 | 3

Table A.3. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=12$, $N_{\mbox{\footnotesize flights}}=11$, $N_{\mbox{\footnotesize inrace}}=3$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 2 | 3 | 2 | 3 | 3 | 2 | 3 | 2
2 | 1 | 2 | 3 | 1 | 1 | 1 | 2 | 3 | 2 | 3 | 2 | 3
3 | 1 | 3 | 2 | 3 | 2 | 1 | 1 | 1 | 2 | 3 | 3 | 2
4 | 1 | 2 | 2 | 2 | 3 | 3 | 2 | 1 | 1 | 1 | 3 | 3
5 | 1 | 3 | 1 | 2 | 2 | 2 | 3 | 3 | 2 | 1 | 1 | 3
6 | 1 | 3 | 2 | 1 | 3 | 2 | 2 | 2 | 3 | 3 | 1 | 1
7 | 1 | 1 | 3 | 2 | 3 | 1 | 3 | 2 | 2 | 2 | 3 | 1
8 | 1 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 3 | 2 | 2 | 3
9 | 1 | 3 | 3 | 2 | 1 | 3 | 1 | 2 | 3 | 1 | 2 | 2
10 | 1 | 2 | 3 | 3 | 3 | 2 | 1 | 3 | 1 | 2 | 1 | 2
11 | 1 | 2 | 1 | 3 | 2 | 3 | 3 | 2 | 1 | 3 | 2 | 1

Table A.4. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=12$, $N_{\mbox{\footnotesize flights}}=11$, $N_{\mbox{\footnotesize inrace}}=4$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2
2 | 1 | 2 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 2 | 2 | 2
3 | 1 | 2 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2
4 | 1 | 1 | 2 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 2 | 1
5 | 1 | 2 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 2 | 1
6 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2 | 1
7 | 1 | 2 | 2 | 1 | 2 | 1 | 2 | 2 | 1 | 1 | 1 | 2
8 | 1 | 1 | 2 | 2 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 1
9 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 2
10 | 1 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2
11 | 1 | 2 | 1 | 1 | 2 | 2 | 1 | 2 | 2 | 2 | 1 | 1

Table A.5. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=12$, $N_{\mbox{\footnotesize flights}}=11$, $N_{\mbox{\footnotesize inrace}}=6$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4
2 | 1 | 2 | 3 | 4 | 1 | 1 | 1 | 2 | 3 | 4 | 3 | 4 | 2 | 4 | 2 | 3
3 | 1 | 2 | 3 | 4 | 2 | 3 | 4 | 1 | 1 | 1 | 4 | 2 | 3 | 3 | 4 | 2
4 | 1 | 2 | 3 | 4 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 1 | 1 | 2 | 3 | 4
5 | 1 | 2 | 3 | 4 | 4 | 2 | 3 | 3 | 4 | 2 | 2 | 3 | 4 | 1 | 1 | 1

Table A.6. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=16$, $N_{\mbox{\footnotesize flights}}=5$, $N_{\mbox{\footnotesize inrace}}=4$. Repeating this pairing list three times yields The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=16$, $N_{\mbox{\footnotesize flights}}=15$, $N_{\mbox{\footnotesize inrace}}=4$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2
2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2
3 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1
4 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2
5 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1
6 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1
7 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2
8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2
9 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1
10 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1
11 | 1 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2
12 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1
13 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2
14 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 | 2 | 2
15 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | 1 | 2 | 2 | 1

Table A.7. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=16$, $N_{\mbox{\footnotesize flights}}=15$, $N_{\mbox{\footnotesize inrace}}=8$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3
2 | 1 | 2 | 3 | 1 | 3 | 2 | 2 | 3 | 1 | 2 | 1 | 3 | 3 | 1 | 2 | 3 | 2 | 1
3 | 1 | 3 | 2 | 3 | 1 | 2 | 2 | 1 | 3 | 1 | 2 | 3 | 3 | 2 | 1 | 2 | 3 | 1
4 | 1 | 3 | 3 | 2 | 2 | 1 | 2 | 1 | 1 | 3 | 3 | 2 | 3 | 2 | 2 | 1 | 1 | 3
5 | 1 | 2 | 1 | 3 | 2 | 3 | 2 | 3 | 2 | 1 | 3 | 1 | 3 | 1 | 3 | 2 | 1 | 2
6 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3
7 | 1 | 2 | 3 | 1 | 3 | 2 | 2 | 3 | 1 | 2 | 1 | 3 | 3 | 1 | 2 | 3 | 2 | 1
8 | 1 | 3 | 2 | 3 | 1 | 2 | 2 | 1 | 3 | 1 | 2 | 3 | 3 | 2 | 1 | 2 | 3 | 1
9 | 1 | 3 | 3 | 2 | 2 | 1 | 2 | 1 | 1 | 3 | 3 | 2 | 3 | 2 | 2 | 1 | 1 | 3
10 | 1 | 2 | 1 | 3 | 2 | 3 | 2 | 3 | 2 | 1 | 3 | 1 | 3 | 1 | 3 | 2 | 1 | 2
11 | 1 | 1 | 2 | 2 | 3 | 3 | 1 | 1 | 2 | 2 | 3 | 3 | 1 | 1 | 2 | 2 | 3 | 3
12 | 1 | 3 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 2 | 1 | 2
13 | 1 | 2 | 1 | 3 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 2 | 1 | 2 | 1 | 3 | 3 | 2
14 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3
15 | 1 | 3 | 2 | 3 | 2 | 1 | 1 | 3 | 2 | 3 | 2 | 1 | 1 | 3 | 2 | 3 | 2 | 1
16 | 1 | 1 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | 3 | 1 | 1 | 3 | 3 | 1 | 1 | 2 | 2
17 | 1 | 1 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | 3 | 1 | 1 | 3 | 3 | 1 | 1 | 2 | 2

Table A.8. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=18$, $N_{\mbox{\footnotesize flights}}=17$, $N_{\mbox{\footnotesize inrace}}=6$. Removing one flight gives us an optimal pairing list for the parameters of the German-Sailing-Leagues. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 2 | 5 | 3 | 1 | 4 | 5 | 5 | 4 | 4 | 1 | 3 | 3 | 5 | 2 | 4 | 3 | 1 | 2 | 2
2 | 1 | 3 | 5 | 3 | 4 | 1 | 5 | 5 | 1 | 4 | 4 | 2 | 3 | 5 | 3 | 4 | 2 | 1 | 2 | 2
3 | 1 | 3 | 5 | 1 | 4 | 3 | 5 | 5 | 3 | 2 | 4 | 4 | 1 | 5 | 3 | 2 | 4 | 1 | 2 | 2
4 | 1 | 5 | 4 | 4 | 1 | 3 | 3 | 1 | 4 | 5 | 2 | 5 | 3 | 2 | 2 | 4 | 3 | 5 | 2 | 1
5 | 1 | 5 | 1 | 4 | 4 | 2 | 3 | 4 | 1 | 5 | 3 | 5 | 3 | 2 | 3 | 4 | 2 | 5 | 2 | 1
6 | 1 | 5 | 3 | 2 | 4 | 4 | 1 | 4 | 3 | 5 | 3 | 5 | 1 | 2 | 3 | 2 | 4 | 5 | 2 | 1
7 | 1 | 1 | 3 | 3 | 5 | 4 | 4 | 2 | 5 | 3 | 1 | 4 | 5 | 1 | 2 | 4 | 3 | 2 | 5 | 2
8 | 1 | 4 | 2 | 3 | 5 | 1 | 4 | 3 | 5 | 3 | 4 | 1 | 5 | 1 | 3 | 4 | 2 | 2 | 5 | 2
9 | 1 | 4 | 4 | 1 | 5 | 3 | 2 | 3 | 5 | 1 | 4 | 3 | 5 | 1 | 3 | 2 | 4 | 2 | 5 | 2
10 | 1 | 1 | 4 | 5 | 2 | 5 | 3 | 1 | 3 | 3 | 5 | 4 | 4 | 2 | 2 | 4 | 3 | 2 | 1 | 5
11 | 1 | 4 | 1 | 5 | 3 | 5 | 3 | 4 | 2 | 3 | 5 | 1 | 4 | 2 | 3 | 4 | 2 | 2 | 1 | 5
12 | 1 | 4 | 3 | 5 | 3 | 5 | 1 | 4 | 4 | 1 | 5 | 3 | 2 | 2 | 3 | 2 | 4 | 2 | 1 | 5
13 | 5 | 2 | 4 | 3 | 2 | 4 | 3 | 1 | 3 | 4 | 1 | 3 | 4 | 2 | 5 | 5 | 5 | 1 | 1 | 2
14 | 5 | 3 | 1 | 3 | 3 | 1 | 3 | 4 | 2 | 4 | 4 | 2 | 4 | 2 | 5 | 5 | 5 | 1 | 1 | 2
15 | 5 | 3 | 3 | 1 | 3 | 3 | 1 | 4 | 4 | 2 | 4 | 4 | 2 | 2 | 5 | 5 | 5 | 1 | 1 | 2
16 | 1 | 1 | 1 | 1 | 2 | 4 | 3 | 5 | 3 | 4 | 3 | 2 | 5 | 2 | 4 | 2 | 5 | 3 | 4 | 5
17 | 1 | 2 | 5 | 3 | 3 | 2 | 4 | 1 | 1 | 1 | 5 | 4 | 2 | 2 | 4 | 5 | 3 | 3 | 5 | 4
18 | 1 | 3 | 4 | 5 | 4 | 2 | 3 | 2 | 5 | 4 | 1 | 1 | 1 | 5 | 5 | 2 | 3 | 2 | 3 | 4
19 | 5 | 4 | 2 | 3 | 5 | 5 | 5 | 3 | 4 | 1 | 1 | 3 | 2 | 1 | 2 | 4 | 1 | 2 | 3 | 4

Table A.9. The tournament plan of a perfect pairing list for $N_{\mbox{\footnotesize teams}}=20$, $N_{\mbox{\footnotesize flights}}=19$, $N_{\mbox{\footnotesize inrace}}=4$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4
2 | 1 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4
3 | 1 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3
4 | 1 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4
5 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1
6 | 1 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3
7 | 1 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2
8 | 1 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4
9 | 1 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2
10 | 1 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4
11 | 1 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3
12 | 1 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3
13 | 1 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2 | 2
14 | 1 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3 | 2
15 | 1 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1 | 3
16 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1 | 1
17 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2 | 1
18 | 1 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1 | 2
19 | 1 | 2 | 1 | 1 | 3 | 2 | 2 | 3 | 3 | 4 | 2 | 4 | 2 | 3 | 1 | 4 | 3 | 4 | 4 | 1

Table A.10. A perfect tournament plan for $N_{\mbox{\footnotesize teams}}=20$,
$N_{\mbox{\footnotesize flights}}=19$, $N_{\mbox{\footnotesize inrace}}=5$.

##  Appendix B Pairing lists from nearly resolvable designs

Description | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 2 | 3 | 4 | 2 | 4 | 3 | 2 | 1 | 3 | 4 | 0
2 | 0 | 1 | 4 | 2 | 3 | 3 | 2 | 4 | 2 | 1 | 3 | 4 | 1
3 | 1 | 0 | 3 | 4 | 2 | 4 | 3 | 2 | 2 | 1 | 3 | 4 | 1
4 | 2 | 3 | 0 | 4 | 4 | 1 | 3 | 2 | 1 | 4 | 3 | 2 | 1
5 | 2 | 3 | 4 | 0 | 4 | 3 | 2 | 1 | 2 | 4 | 1 | 3 | 1
6 | 2 | 3 | 4 | 4 | 0 | 2 | 1 | 3 | 3 | 4 | 2 | 1 | 1
7 | 2 | 3 | 1 | 3 | 2 | 0 | 4 | 4 | 1 | 4 | 2 | 3 | 1
8 | 2 | 3 | 3 | 2 | 1 | 4 | 0 | 4 | 2 | 4 | 3 | 1 | 1
9 | 2 | 3 | 2 | 1 | 3 | 4 | 4 | 0 | 3 | 4 | 1 | 2 | 1
10 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 0 | 4 | 4 | 4 | 1
11 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 | 0 | 4 | 4 | 1
12 | 2 | 3 | 3 | 1 | 2 | 2 | 3 | 1 | 4 | 4 | 0 | 4 | 1
13 | 2 | 3 | 2 | 3 | 1 | 3 | 1 | 2 | 4 | 4 | 4 | 0 | 1

Table B.1. A pairing list obtained from a nearly resolvable design for $N_{\mbox{\footnotesize teams}}=13$, $N_{\mbox{\footnotesize flights}}=13$, $N_{\mbox{\footnotesize inrace}}=3$. A zero indicates that the respective team skips the respective flight. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 2 | 3 | 4 | 5 | 2 | 5 | 3 | 4 | 2 | 4 | 5 | 3 | 0
2 | 0 | 1 | 1 | 2 | 3 | 4 | 5 | 4 | 3 | 5 | 2 | 5 | 3 | 2 | 4 | 1
3 | 1 | 0 | 1 | 2 | 3 | 4 | 5 | 5 | 2 | 4 | 3 | 3 | 5 | 4 | 2 | 1
4 | 1 | 1 | 0 | 2 | 3 | 4 | 5 | 3 | 4 | 2 | 5 | 4 | 2 | 3 | 5 | 1
5 | 2 | 3 | 4 | 0 | 5 | 5 | 5 | 1 | 3 | 4 | 2 | 1 | 4 | 2 | 3 | 1
6 | 2 | 3 | 4 | 5 | 0 | 5 | 5 | 4 | 2 | 1 | 3 | 3 | 2 | 4 | 1 | 1
7 | 2 | 3 | 4 | 5 | 5 | 0 | 5 | 2 | 4 | 3 | 1 | 4 | 1 | 3 | 2 | 1
8 | 2 | 3 | 4 | 5 | 5 | 5 | 0 | 3 | 1 | 2 | 4 | 2 | 3 | 1 | 4 | 1
9 | 2 | 3 | 4 | 1 | 4 | 2 | 3 | 0 | 5 | 5 | 5 | 1 | 3 | 4 | 2 | 1
10 | 2 | 3 | 4 | 3 | 2 | 4 | 1 | 5 | 0 | 5 | 5 | 4 | 2 | 1 | 3 | 1
11 | 2 | 3 | 4 | 4 | 1 | 3 | 2 | 5 | 5 | 0 | 5 | 2 | 4 | 3 | 1 | 1
12 | 2 | 3 | 4 | 2 | 3 | 1 | 4 | 5 | 5 | 5 | 0 | 3 | 1 | 2 | 4 | 1
13 | 2 | 3 | 4 | 1 | 3 | 4 | 2 | 1 | 4 | 2 | 3 | 0 | 5 | 5 | 5 | 1
14 | 2 | 3 | 4 | 4 | 2 | 1 | 3 | 3 | 2 | 4 | 1 | 5 | 0 | 5 | 5 | 1
15 | 2 | 3 | 4 | 2 | 4 | 3 | 1 | 4 | 1 | 3 | 2 | 5 | 5 | 0 | 5 | 1
16 | 2 | 3 | 4 | 3 | 1 | 2 | 4 | 2 | 3 | 1 | 4 | 5 | 5 | 5 | 0 | 1

Table B.2. A pairing list obtained from a nearly resolvable design for
$N_{\mbox{\footnotesize teams}}=16$, $N_{\mbox{\footnotesize flights}}=16$ and
$N_{\mbox{\footnotesize inrace}}=3$. A zero indicates that the respective team
skips the respective flight.

##  Appendix C Tournament plans with best known utility

Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4
2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4
3 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 1 | 1 | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 | 4 | 4 | 2 | 2 | 3 | 3 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4
4 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 | 2 | 2 | 4 | 4 | 4 | 4 | 1 | 1 | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 | 4 | 4 | 3 | 3
5 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 4 | 4 | 2 | 2 | 1 | 1 | 3 | 3 | 2 | 2 | 3 | 3 | 1 | 1 | 4 | 4 | 3 | 3 | 4 | 4 | 1 | 1 | 2 | 2
6 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 2 | 2 | 4 | 4 | 3 | 3 | 1 | 1 | 3 | 3 | 2 | 2 | 4 | 4 | 1 | 1 | 4 | 4 | 3 | 3 | 2 | 2 | 1 | 1
7 | 1 | 2 | 1 | 2 | 3 | 4 | 3 | 4 | 1 | 3 | 1 | 3 | 4 | 2 | 4 | 2 | 1 | 4 | 1 | 4 | 2 | 3 | 2 | 3 | 1 | 2 | 1 | 2 | 3 | 4 | 3 | 4
8 | 1 | 2 | 1 | 2 | 3 | 4 | 3 | 4 | 3 | 1 | 3 | 1 | 2 | 4 | 2 | 4 | 4 | 1 | 4 | 1 | 3 | 2 | 3 | 2 | 2 | 1 | 2 | 1 | 4 | 3 | 4 | 3
9 | 1 | 2 | 1 | 2 | 3 | 4 | 3 | 4 | 4 | 2 | 4 | 2 | 1 | 3 | 1 | 3 | 2 | 3 | 2 | 3 | 1 | 4 | 1 | 4 | 3 | 4 | 3 | 4 | 1 | 2 | 1 | 2
10 | 1 | 2 | 1 | 2 | 3 | 4 | 3 | 4 | 2 | 4 | 2 | 4 | 3 | 1 | 3 | 1 | 3 | 2 | 3 | 2 | 4 | 1 | 4 | 1 | 4 | 3 | 4 | 3 | 2 | 1 | 2 | 1
11 | 1 | 2 | 2 | 1 | 3 | 4 | 4 | 3 | 1 | 3 | 3 | 1 | 4 | 2 | 2 | 4 | 1 | 4 | 4 | 1 | 2 | 3 | 3 | 2 | 1 | 2 | 2 | 1 | 3 | 4 | 4 | 3
12 | 1 | 2 | 2 | 1 | 3 | 4 | 4 | 3 | 3 | 1 | 1 | 3 | 2 | 4 | 4 | 2 | 4 | 1 | 1 | 4 | 3 | 2 | 2 | 3 | 2 | 1 | 1 | 2 | 4 | 3 | 3 | 4
13 | 1 | 2 | 2 | 1 | 3 | 4 | 4 | 3 | 4 | 2 | 2 | 4 | 1 | 3 | 3 | 1 | 2 | 3 | 3 | 2 | 1 | 4 | 4 | 1 | 3 | 4 | 4 | 3 | 1 | 2 | 2 | 1
14 | 1 | 2 | 2 | 1 | 3 | 4 | 4 | 3 | 2 | 4 | 4 | 2 | 3 | 1 | 1 | 3 | 3 | 2 | 2 | 3 | 4 | 1 | 1 | 4 | 4 | 3 | 3 | 4 | 2 | 1 | 1 | 2
15 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | 2 | 4 | 3 | 1 | 2 | 4 | 3 | 1 | 3 | 2 | 4 | 1 | 3 | 2 | 4 | 1 | 4 | 3 | 2 | 1 | 4 | 3 | 2 | 1
16 | 1 | 2 | 3 | 4 | 2 | 1 | 4 | 3 | 2 | 4 | 3 | 1 | 4 | 2 | 1 | 3 | 3 | 2 | 4 | 1 | 2 | 3 | 1 | 4 | 4 | 3 | 2 | 1 | 3 | 4 | 1 | 2
17 | 1 | 2 | 3 | 4 | 3 | 4 | 1 | 2 | 4 | 2 | 1 | 3 | 1 | 3 | 4 | 2 | 2 | 3 | 1 | 4 | 1 | 4 | 2 | 3 | 3 | 4 | 1 | 2 | 1 | 2 | 3 | 4
18 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 1 | 2 | 4 | 3 | 1 | 1 | 3 | 4 | 2 | 3 | 2 | 4 | 1 | 1 | 4 | 2 | 3 | 4 | 3 | 2 | 1 | 1 | 2 | 3 | 4

Table C.1. A tournament plan for $N_{\mbox{\footnotesize teams}}=32$, $N_{\mbox{\footnotesize flights}}=18$, $N_{\mbox{\footnotesize inrace}}=8$ with $\lambda_{\max}-\lambda_{\min}=3$. Flight/Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
---|---|---|---|---|---|---|---|---|---|---
1 | 1 | 2 | 1 | 2 | 1 | 1 | 2 | 1 | 2 | 2
2 | 1 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2
3 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 1 | 2
4 | 1 | 1 | 2 | 1 | 1 | 2 | 2 | 2 | 2 | 1
5 | 1 | 2 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1
6 | 1 | 2 | 2 | 1 | 2 | 1 | 1 | 1 | 2 | 2
7 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 1 | 2
8 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 1
9 | 1 | 2 | 2 | 1 | 1 | 1 | 2 | 2 | 1 | 2
10 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2
11 | 1 | 2 | 2 | 2 | 1 | 2 | 2 | 1 | 1 | 1
12 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 2 | 1 | 2
13 | 1 | 2 | 1 | 2 | 2 | 1 | 2 | 2 | 1 | 1
14 | 1 | 2 | 2 | 1 | 2 | 2 | 1 | 1 | 1 | 2
15 | 1 | 1 | 1 | 1 | 2 | 2 | 1 | 2 | 2 | 2
16 | 1 | 1 | 2 | 2 | 2 | 1 | 2 | 1 | 2 | 1

Table C.2. A tournament plan for $N_{\mbox{\footnotesize teams}}=10$,
$N_{\mbox{\footnotesize flights}}=16$, $N_{\mbox{\footnotesize inrace}}=5$
with utility value $2$. The first eight rows are an optimal tournament plan
for $N_{\mbox{\footnotesize teams}}=10$, $N_{\mbox{\footnotesize flights}}=8$,
$N_{\mbox{\footnotesize inrace}}=5$.