Should look around radius given by user. Well need a custom planets within radius function i believe. Take from planets, not just asteroids. Can sort by planets that have all their upgrades first.
then alternate rounds of distribute and gather will eventually settle to full as it can hop farther than 1 asteroid in every direction