Let G=(N,E) be an undirected graph. The authors present several new techniques for partitioning the node set N into k disjoint subsets of specified sizes. These techniques involve eigenvalue bounds and tools from continuous optimization. Comparisons with examples taken from the literature show these techniques to be very successful.