Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks