I've been wanting to play with code for awhile to see how effective a "huddle" algorithm might be. The idea being that people with similar interests tend to huddle together into areas of a large city or regions of the state they feel match their lifestyle.
I'm not sure exactly how it would work but I imagine some kind of flood fill where you start with a population center and grow outward from it. Those should fill up quickly and by the end you should have large rural districts to finish off the state.