1. A method comprising: identifying, via a processor, a gain factor at a first node in a network represented by a directed acyclic graph (DAG), wherein the gain factor indicates a potential gain that can be obtained in link cost from the first node to a root node of the DAG when an upper node in the DAG changes its routing decision by selecting a different parent node; when the gain factor exceeds a pre-defined threshold, transmitting a DAG rebuild request from the first node to other nodes in the DAG, wherein the DAG rebuild request recursively travels in an upward direction in the DAG; determining whether to satisfy the DAG rebuild request based on a number of requesting nodes upon receiving the DAG rebuild request at a second node in the network; and based on the determining step, at least partially rebuilding the DAG by selecting a new parent node for the second node, wherein the selection of the new parent node causes a decrease in link cost from the first node to the root node.