Energy-efficient resource allocation and cooperation in wireless heterogeneous networks