Balance lightest

@ahbuntu I imported your changes by hand, cleaned up the trailing whitespace, and put them on a branch instead.
@ahbuntu Can you elaborate on this? I think you're saying that there are potentially better ways to select the set of regions to be reassigned (i.e. maintain connectivity and transfer as much as possible), correct?