A tutorial on decomposition methods for network utility maximization | Synapse