A couple related improvements:
Parse the ptop file to get information like colocation factors, CPU speeds, trivial bandwidth, and the like, instead of hard coding them. Keep features and trivial bandwidth by type (ie. pcvm, pcvm850), instead of making them the same for all types. This should make much better conglomeration choices.