Genetic algorithms can be used to generate computer art, to find paths for autonomous vehicles, and to solve scheduling problems. The idea of a genetic algorithm is to generate populations of possible solutions until the best solution in the current population reaches the desired criteria. In this application, the goal is to draft baseball players onto the N teams of a league so that the teams are as balanced as possible.
~Generate a pool of players, each having an ID, a list of possible positions, and a value(s) (consider ERA, HR, batting average, etc).
~Each generated team must have enough players of correct type to play each position.
~Use a genetic algorithm to find the best partition of players into teams.
~Display the state of good fit genomes with appropriate statistics that show progress toward the goal.
~The system should allow modification of parameters (number of teams, size of a team, distribution of players in a team), operators, and probabilities.
~Explore various ways to measure the balance of the league.
~Save the best from some number of iterations.