Resource allocation and performance evaluation in heterogeneous and relay-based wireless networks