to use, simply instantiate the GA with your prefferred parameters and the problem, then call findSolution, and voila! The program will find the most optimal layout most of the time, altough sometimes it may get stuck in a local optimum like with any other optimisation algorithm.
blog post: https://maksmozolewski.co.uk/blog/spore-best-city-layout-genetic-algorithms/