Many algorithms have already been proposed in the past to solve the problem of allocating resources in a multi-user multicarrier wireless system. Due to the difficulty of the problem, most of the previous work in this area has focused on developing suboptimal heuristics without performance guarantees. This book proposes a unified algorithmic framework based on dual optimization techniques that have complexities that are linear in the number of subcarriers and users, and that achieve negligible optimality gaps in standards-based numerical simulations. Adaptive algorithms based on stochastic approximation techniques are also proposed, which are shown to achieve similar performance with even much lower complexity. All the algorithms proposed are clearly presented in concise block diagrams allowing the reader to implement these algorithms in the software of their choice.