Graph partitioning, balancing on within subset edge weights
The problem is called GRAPH CONDUCTANCE, and the best algorithm is by Arora et al.


  Sanjeev Arora, Satish Rao, Umesh V. Vazirani: Expander flows, geometric embeddings and graph partitioning. J. ACM 56(2): (2009)


This is a more accessible version, by the same authors:


  Sanjeev Arora, Satish Rao, Umesh V. Vazirani: Geometry, flows, and graph-partitioning algorithms. Commun. ACM 51(10): 96-105 (2008)