CP-SAT solver for the Mister app developed with Google's OR-Tools package.
Generate N equally matched football teams given a list of players, the group size n of an n-a-side football pitch, with n being either 5, 6, or 7, the formation and the number of teams N.
Each player has a name, a position and a rating. The position can either be F, for Forward, M, for Midfielder, and D, for Defender, while there's no signature letter for Goalkeepers as, granted a relatively small football pitch, they are assumed to be either flying or rotating between the players; the rating, instead, is between 0 and 100.
The objective is to construct N groups whose sum of ratings is as close to the average as possible. Furthermore, depending on the group size n and on the formation, a certain number of positions have to be covered, say k_i, with i being either F, M, or D, such that at least k players of the i-th position are in each group.