Cost-aware demand scheduling for delay tolerant applications
In this paper, we study the problem of demand scheduling for delay tolerant applications. With regard to the time-varying resource cost per unit size of the demand, we study two optimization problems: (1) how to minimize the peak resource usage, while making sure that each demand is served before the deadline; (2) how to minimize the longest completion time of all the demands under a given maximum allowable resource constraint. For the first problem, we prove that it is NP-hard, under the general setting that the demands are of different sizes and require several continuous time slots to complete. We then provide an integer linear programming solution, and propose an efficient heuristic algorithm. For a special case of the same size demand and single serving time slot, the proposed algorithm is proved to be optimal. We further study a special case that all the demands have the same deadline, and prove that the proposed algorithm can achieve three times the optimal solution if the number of serving time slots required for each demand is at most two. For the second problem, we also prove it to be NP-hard and formulate it into an integer linear programming. An efficient polynomial-time algorithm is then proposed, whose completion time is proved to be at most two times the optimal minimum completion time under a specific setting. Finally, simulation results demonstrate the superiorities of the proposed schemes.
demand scheduling peak resource reduction completion time minimization