Pokémon Team Optimization
5 months ago
- #Operations Research
- #Optimization
- #Pokémon
- 作者回忆童年对宝可梦的热爱,包括玩游戏、看动画和收集周边商品。
- 成年后作者重新接触宝可梦游戏,但发现自己采用数值最小化/最大化的组队策略,而非童年时只用一只强力宝可梦的玩法。
- 作者将优化宝可梦队伍构建问题建模为混合整数规划(MIP),核心目标是最大化基础数值并确保属性抗性。
- 关键约束条件包括选择1-6只宝可梦、确保覆盖所有属性抗性、以及避免重复选择相同宝可梦。
- 文章先解释线性规划(LP)和单纯形算法,再讨论用分支定界法处理整数约束。
- 针对属性抗性的非线性约束,通过辅助变量强制满足逻辑条件来实现。
- 作者使用Python的PuLP库实现该方案,并采用Kaggle上的宝可梦数值数据集。
- 优化结果显示最佳队伍包含传说宝可梦和准传说宝可梦,兼具高基础数值和强力属性抗性。
- 当排除传说级宝可梦后,普通宝可梦组成的队伍在基础数值与抗性之间展现出明显权衡关系。
- 该项目展示了运筹学方法在游戏策略中的应用,并具有进一步定制化的潜力。