The success of wireless mesh networks hinges on their ability to support bandwidth intensive, multi-media applications. A key approach to increasing network capacity is to equip wireless routers with smart antennas. These routers, therefore, are capable of focusing their transmission on specific neighbors whilst causing little interference to other nodes. This, however, assumes there is a link scheduling algorithm that activates links in a way that maximizes network capacity. To this end, we propose a novel link activation algorithm that maximally creates a bipartite graph, which is then used to derive the link activation schedule of each router. We have verified the proposed algorithm on various topologies with increasing node degrees as well as node numbers. From extensive simulation studies, we find that our algorithm outperforms existing algorithms in terms of the number of links activated per slot, superframe length, computation time, route length and end-to-end delay.