Since the problem of forming an optimal team subject to given constraints is demanding even for skilled and trained eyes, a solution to it represents a great added value to sports institutions. We show that the single-constraint version of the problem is equivalent to the better known knapsack problem, for which there are already methods to solve it. We present a method for assessing the quality of a single player and the entire team, introduce a linear programming approach, and present our own program written in the Python software environment that forms an optimal team from a data set of tens of thousands of players. We evaluate the obtained results and compare them with the existing teams competing in the world of sports. We find out that the results produced by the program make sense and that the quality of the composed team depends mainly on the number and severity of the given constraints (fewer constraints enable us to form a better team and vice versa). Furthermore, we discover a few rules that a casual sports fan might now know, among them, e.g., underestimation of experienced players or overestimation of players in the EPL.
|