This approach consists primarily of optimizing the availability of resources from which the control of resources under constraints implicitly linked to other parameters such as cost, processing times and pre-allocations.
this goal can be achieved with the help of the routing protocol RPL (theoretically) and with the objective function MRHOF. The RPL option "DAG Metric Container" is very important for this; see RFC 6550 and RFC 6551 (sections 2.1 (Fig. 1) and 3.2)).
In this container you can specify the details of routing metric / constraint types. For you, the Node-based metrics - RE (Remaining Energy) and MLT (Maximum Life Time) - are important.
General information about RPL (in German) can be found in my article: