I have programmed a utility, MopTop, that runs through a variety of permutations. Deliberately, I haven't coded for every permutation as the time taken to process 15x14x13x12x11x10x9x8 possibilities for each of the 16 teams takes way too long on a standard notebook computer.
Instead, I just look at selection strategies such as, is it better to pick your midfield first and then the ruck, etc. This cuts down the number of combinations greatly.