Resource allocation for cross-layer utility maximization in multi-hop wireless networks in the presence of self interference