I'm working to create compact service areas for a research project using contiguous polygons. Basically, I need to identify a number of seeds randomly (say 15), then create a "do while" loop to start combining all the polygons to create the most compactness (perimeter of new polygon divided by area). So, the seed could be joined/dissolved to an adjacent polygon, but it should start with the the adjacent polygons that result in the most compact area.