Contribute Media
A thank you to everyone who makes this possible: Read More

Multi-Objective Linear Programming to find the Best Pokémon Team

Description

What is the best Pokémon team? Who should I pick? What attacks should they learn? Here, I use multi-objective linear programming, and a bit of simulation, to figure it out.

Here I give an example of using Python to solve a combinatorial problem from the mathematical field of Operational Research: How to find the best Pokémon team. Using a variety of Python libraries a mulit-objective linear programming problem is used to find the best combination of Pokémon, and their attacks. PuLP is used to formulate and solve the multi-objective linear programming problems, and a Pareto front is found by varying the importance of each objective. Then, a third objective, a Pokémon team's performance in a Monte Carlo simulation of Pokémon battles, is used to differentiate between Pareto optimal solutions and find the definitive best team of Pokémon. I relate how this fun problem is related to more serious scheduling and timetabling problems.

Details

Improve this page