“…They might be designed for reducing the energy consumption [38,48,52], the end-to-end delay [47], for improving the network's throughput [39,49,54], for striking a flexible tradeoff between any two of them [26,42,45,46,50,51], and even for multiple-constraint optimization [36,41,43,44].…”