Based on the answer to an earlier related question https://gis.stackexchange.com/questions/31324 I think you need [AZTool][2] which was designed to do the same job for the GB Census output areas.


  [1]: https://gis.stackexchange.com/questions/31324/dissolve-ploygons-in-qgis-or-grass-to-new-polygons-of-defined-population-sizes
  [2]: http://www.geodata.soton.ac.uk/software/AZTool/