Let
k
:= (k
1,. . .,k
s
) be a sequence of natural numbers. For a graph G, let F(G;
k
) denote the number of colourings of the edges of G with colours 1,. . .,s such that, for every c ∈ {1,. . .,s}, the edges of colour c contain no clique of order k
c
. Write F(n;
k
) to denote the maximum of F(G;
k
) over all graphs G on n vertices. This problem was first considered by Erdős and Rothschild in 1974, but it has been solved only for a very small number of non-trivial cases.
We prove that, for every
k
and n, there is a complete multipartite graph G on n vertices with F(G;
k
) = F(n;
k
). Also, for every
k
we construct a finite optimisation problem whose maximum is equal to the limit of log2
F(n;
k
)/
${n\choose 2}$
as n tends to infinity. Our final result is a stability theorem for complete multipartite graphs G, describing the asymptotic structure of such G with F(G;
k
) = F(n;
k
) · 2
o(n
2) in terms of solutions to the optimisation problem.