An optimization framework for balancing throughput and fairness in wireless networks with QoS support