Resource Cost Aware Scheduling Problems

Resource Cost Aware Scheduling Problems Rodrigo A. Carrasco Managing the consumption of non-renewable and/or limited resources has become an important issue in many different settings. In this dissertation we explore the topic of resource cost aware scheduling. Unlike the purely scheduling problems, in the resource cost aware setting we are not only interested in a scheduling performance metric, but also the cost of the resources consumed to achieve a certain performance level. There are several ways in which the cost of non-renewal resources can be added into a scheduling problem. Throughout this dissertation we will focus in the case where the resource consumption cost is added, as part of the objective, to a scheduling performance metric such as weighted completion time and weighted tardiness among others. In our work we make several contributions to the problem of scheduling with non-renewable resources. For the specific setting in which only energy consumption is the important resource, our contributions are the following.  We introduce a model that extends the previous energy cost models by allowing more general cost functions that can be job-dependent.  We further generalize the problem by allowing arbitrary precedence constraints and release dates.  We give approximation algorithms for minimizing an objective that is a combination of a scheduling metric, namely total weighted completion time and total weighted tardiness, and the total energy consumption cost.  Our approximation algorithm is based on an interval-and-speed-indexed IP formulation. We solve the linear relaxation of this IP and we use this solution to compute a schedule.  We introduce the concept of α-speeds, which extend the α-points technique to problems with multiple speeds.  We show that these algorithms have small constant approximation ratios.  Through experimental analysis we show that the empirical approximation ratios are much better than the theoretical ones and that in fact the solutions are close to optimal.  We also show empirically that the algorithm can be used in additional settings not covered by the theoretical results, such as using flow time or an online setting, with good approximation and competitiveness ratios. Because our model considers job-dependent energy costs, we can further generalize our results to the setting where multiple resources are available, and the consumption level of all those resources will determine the speed at which jobs are processed. We call this setting resource cost aware scheduling. We make several contributions to the resource cost aware scheduling problem.  We introduce a model that extends the previous cost models (linear, convex, and other energy models) by allowing a more general relation between job processing time (or equivalent processing speed) and resource consumption.  We further generalize the problem by allowing arbitrary precedence constraints and release dates.  We give approximation algorithms for minimizing an objective that is a combination of a scheduling metric (weighted completion time) and resource consumption cost. We consider a more general model of resource cost than has previously been used. The resource dependent job processing time literature either focuses on job’s processing times that depend linearly on resource consumption or a convex relation of the form (ρi/ui) , generally considering only a single resource. Our setting captures both of these models by considering an arbitrary non-negative speed function S(Ψ), where Ψ ∈ Ψ = {Ψ, . ,Ψ} denotes one of the q allowable operating points of the resources. We also generalize the resource cost, which is generally linear in the literature, by considering an arbitrary non-negative job-dependent resource cost function Ri(Ψ). We state here the most general of our results. Theorem 0.1. Given n jobs with precedence constraints and release dates and a general non-negative resource cost function, there is an O(1)-approximation algorithm for the problem of non-preemptively minimizing a weighted sum of the completion time and resource cost. The constants in the O(1) are modest. Given some > 0, the algorithm has a (4 + )approximation ratio when only precedence constraints exist, and (3 + 2 √ 2 + )-approximation ratio when release dates are added. Because some of our algorithms use resource augmentation to deal with nonlinear scheduling performance metrics (like weighted tardiness), we can further extend the use of our algorithms to the setting where no resource cost is considered but a general convex nondecreasing scheduling performance metric is used. We make several contributions to the problem of scheduling jobs with non-decreasing convex cost functions:  We introduce a model that extends the previous models by allowing a more general non-linear job-dependent function of the completion time as the scheduling metric.  We propose a new approximation algorithm for minimizing the total cost, with arbitrary precedence constraints.  Our algorithm builds on both the α-point and resource augmentation techniques. We show that our algorithm has a small constant approximation ratio and a small speed-scaling ratio for several important scheduling metrics, namely the total weighted tardiness, the total weighted tardiness squared, and the total completion time squared. The results of our numerical experiments show that the practical performance of our algorithm is significantly superior to the theoretical bounds.  We compare the performance of our algorithm with other available methods for the total weighted tardiness problem by using the test instances from the OR Library [Beasley, 1990]. We show that our algorithm is capable of computing approximate optimal solutions for all the available test problems, even those with n = 100 jobs. Thus, we are able to establish lower bounds on the optimal solutions for instances where the optimal schedule is currently not known. Our algorithm takes less than a second to solve even the larger instances (with n = 100 jobs), which is at least one order of magnitude faster than current methods. Furthermore, we show that on average only a 2% speed-up is required to achieve the best known result; and, in fact, in several cases no speed-up factor is required. Our main result can be summarized in the following theorem Theorem 0.2. Given n jobs with arbitrary precedence constraints and convex non-decreasing cost functions fi (Ci) for each job i, there is a O(1)-speed 1-approximation algorithm for the problem of minimizing the total non-linear cost ∑ fi (Ci). The speed scaling constant is relatively small. Given > 0 our algorithm is a (4 + )-speed 1-approximation algorithm. Finally, we also consider the energy aware scheduling problem in which the size of a job is only known after the machine finishes processing it, but only the size probability distribution is known in advance. This is a common setting in CPUs. We also make several contributions to this particular setting.  We propose a dynamic programming formulation which is optimal in expectation.  We compute the optimal speeds required, given any state in the dynamic programming recursion.  We present a policy for the case where the completion time is the scheduling performance metric, and show that this policy is optimal when only two possible sizes exist.  We leave as an open conjecture that our policy is also optimal for the case with arbitrary job sizes, since we are only able to show through simulations that this is true in all the tested instances.