The MRouter is a maze router, which is terminology that describes a routing program that makes use of the Lee algorithm. On oversimplified description of the Lee algorithm is as follows.
Maze routers are most successful for small to medium designs, as they are compute and memory intensive. They do have the advantage that if a layout is routable, the Lee algorithm will find a route, and the route will be the lowest cost (perhaps shortest) of any alternatives.
MRouter (and Qrouter) use extensions to the basic Lee algorithm in order to reduce routing timer. First of all, routing is a two stage process. In stage 1, we route as much as can be routed, but typically some fraction of the nets will be painted into a corner and not be routable. We keep a "failed route" list of these routes. In stage 2, we use a different approach. For each route in the failed list, we will find a best route while ignoring collisions with existing routes. If this succeeds, we then find the routes that collide, rip them up, and add them to the end of the failed route list. We continue processing the failed route list until all nets are routed, or stage 2 can no longer make progress and stalls.
One important factor is the use of masking and multiple passes when finding routes. The mask identifies grid points that are candidates for searching for a route. We attempt to identify where a solution is likely to be found, and enable this area, plus some "slop" space. This minimizes the number of grid locations that need processing, speeding up the finding of nets, at least until congestion becomes heavy. As congestion becomes heavier, one has to increase the size of the mask open areas to find a solution. To find the last of the nets, one may work with no mask at all. This is resource consuming, but may be the only way to find nets that need to wander a long way off-course in order to finally make the connection.
When finding a route, we try an initial pass with a tight mask. If that fails, we perform subsequent passes, each time increasing the open area of the mask, until we have success or reach a limit on the number of passes.