Interference and collisions greatly limit the throughput of mesh networks that use contention-based MAC protocols such as IEEE 802.11. Significantly higher throughput is achievable if transmissions are scheduled. However, traditional methods to compute optimal schedules are computationally in tractable (unless co-channel interference is neglected). This paper presents a practical technique to compute optimal schedules. The resulting algorithm searches for a low-dimensional optimization problem that has the same solution as the full problem. Such a low-dimensional problem is shown to always exist. The resulting algorithm converges arithmetically fast or geometrically fast, de pending on whether the objective is to maximize the proportional fair throughput or to maximize the minimum throughput, where the minimum is over all flows in the network. At each iteration of the algorithm, a graph-theoretic optimization known as the maximum weighted independent set (MWIS) problem must be solved. While the general MWIS problem is NP-hard in the worst case, we find that the MWIS can be solved efficiently. Specifically, computational experiments on over 17000 topologies indicate that the ratio of the time to solve the MWIS and the mean degree of the conflict graph grows polynomially with the number of nodes.