Cache policies for linear utility maximization