1. A method for scheduling a plurality of users for a communication system, the method comprising: a) selecting a base case user from the plurality of users for initializing a set of scheduled users; b) comparing each of the plurality of users to the set of scheduled users based on a metric; and c) selecting said each of the plurality of users for inclusion into the set of scheduled users based on the metric; wherein the metric comprises: a proportional fairness metric for said each of the plurality of users; and a chordal distance between said each of the plurality of users and the set of scheduled users.