1. A method for multicasting data comprising: determining a set of minimum utility preferences for each user in a multicast group; determining utilities of data for which the users request; running a lottery of the minimum utility preferences according to a probability distribution λ =(λ 1 ,. .. λ M ) in which M is the number of operating points, wherein probabilities λ 1 through λ M are those respectively associated with a first operating point S 1 through a last operating point S M and ∑ j = 1 N ⁢ λ m = 1 and where the probabilities λ 1 through λ M represent values which are within 20% of the values that correspond to the maximum value of the arithmetic product ∏ j = 1 N ⁢ ⁢ ( ∑ m = 1 M ⁢ λ m ⁢ u j , m - d j ) wherein u j,m is the utility function of the operating point m for user j and d j is the minimum utility preference for the user j.