I figured I'd use this challenge as a learning opportunity and explore the world of ML a bit. My current bot uses a heuristic approach, effective just minor improvements on the "Improving the Random Bot" with a few more if statements to handle specific scenarios. I suspect that approach has limits especially as I get into implementing "find the closest optimal location maximizing production, while minimizing the strength required to get to it".

Looking for a few pointers on where to start, which Python libraries to consider? Which techniques to explore/learn? I'm familiar with NumPy/Pandas, but haven't gone too far beyond that. Not looking for game-specific strategies, rather for applicable libs/areas to explore.