Relay Selection and Resource Allocation in Cooperative Wireless Communication Networks