Pokémon Team Optimization
4 months ago
- #Operations Research
- #Optimization
- #Pokémon
- The author reminisces about their childhood love for Pokémon, including playing the games, watching the anime, and collecting merchandise.
- As an adult, the author rediscovered Pokémon games but found themselves min-maxing their team, unlike their childhood approach of using a single strong Pokémon.
- The author formulated the problem of optimizing a Pokémon team as a Mixed-Integer Problem (MIP), focusing on maximizing base stats and ensuring type resistances.
- Key constraints include selecting 1-6 Pokémon, ensuring resistance to each type, and avoiding duplicate Pokémon.
- The article explains linear optimization (LP) and the simplex algorithm, then discusses handling integer constraints with branch and bound.
- Non-linear constraints for type resistances are addressed using auxiliary variables to enforce logical conditions.
- The author implemented the solution using Python's PuLP library, leveraging a Kaggle dataset for Pokémon stats.
- Optimal teams included legendary and pseudo-legendary Pokémon, with high base stats and strong type resistances.
- Removing legendaries and pseudo-legendaries yielded teams with strong ordinary Pokémon, highlighting trade-offs between base stats and resistances.
- The project demonstrates the application of operations research methods to game strategy, with potential for further customization.