. . . . . .
.
...
Scheduling with Resource Dependent Processing Times
Grigoriev, Sviridenko, Uetz
Orestis Papadigenopoulos, Leonidas Tsepenekas
National Technical University of Athens
January 13, 2016
. . . . . .
Overview
1... Introduction The problem IP relaxation
2... The rounding procedure
3... A simple 4-approximation algorithm
4... A more sophisticated 3.75-approximation algorithm
5... Lower bounds and special cases
. . . . . .
The problem
Let V ={1, . . . , n} a set of jobs and M = {1, . . . , m} a set of unrelated machines.
Every job must be processed non-preemptively on one machine.
During its processing a job may be assigned an amount s ∈ {0, 1, . . . , k} of an additional discrete resource.
When job j runs on machine i and uses s resources it has processing time pijs ,which is an integral value.
The usage of the resources speeds up the jobs.
∀i ∈ M, ∀j ∈ V : pij 0≥ pij 1≥ . . . ≥ pijk.
Every job has the same allocation of resources during all of its processing.
At every time no more than k resources may be allocated to the jobs in process.
The objective is to find a schedule with the minimum makespan, Cmax.
. . . . . .
IP relaxation for the problem 1/2
.Critical indices for job j on machine i , Breakpoints ..
...Sij ={0} ∪ {s | pijs < pij (s−1)} ⊆ {0, 1, . . . , k}.
Fixing a target makespan C, we reduce the problem to the feasibility of the following integer program:
.
...
∑
i∈M
∑
s∈Sij
xijs = 1 ,∀j ∈ V (1)
∑
j∈V
∑
s∈Sij
xijspijs ≤ C ,∀i ∈ M (2)
∑
j∈V
∑
i∈M
∑
s∈Sij
xijsspijs ≤ kC (3) xijs = 0 , if pijs > C (4) xijs ∈ {0, 1} ,∀i, j, s (5)
. . . . . .
IP relaxation for the problem 2/2
.Lemma 1 ..
...
If there is a feasible schedule with makespan C for the unrelated machine scheduling problem with resource dependent processing times, the above integer program has a feasible solution (C , x ).
The linear relaxation of the above integer program is also a relaxation for the original problem.
Note that constraints (4) are non-linear!
By using binary search on C in the interval [0, min
i∈M
∑
j∈V
pijk] we can find in polynomial time the smallest value C? such that the linear relaxation is feasible. (Parametric Pruning)
.Lemma 2 ..
...
Because the linear relaxation is a relaxation for the original problem, C? is a lower bound on the makespan of any feasible schedule.
. . . . . .
The rounding procedure
.Lemma 4 ..
...
Let C?be the minimal integer for which the following linear program has a feasible
solution. ∑
i∈M
∑ s∈Sij
xijs= 1 ,∀j ∈ V (6)
∑ j∈V
∑ s∈Sij
xijspijs≤ C? ,∀i ∈ M (7)
∑ j∈V
∑ i∈M
∑ s∈Sij
xijscijs≤ kC? (8)
xijs= 0 , if pijs> C? (9)
xijs≥ 0 ,∀i, j, s (10)
and let (C?, xLP) be the corresponding solution, then we can find in polynomial time a solution x?for the following integer program:
∑ i∈M
∑ s∈Sij
xijs= 1 ,∀j ∈ V (11)
∑ j∈V
∑ s∈Sij
xijspijs≤ C?+ pmax ,∀i ∈ M (12)
∑ j∈V
∑ i∈M
∑ s∈Sij
xijscijs≤ kC? (13)
xijs∈ {0, 1} ,∀i, j, s (14)
where pmax= max{pijs| xLPijs > 0} and cijs non-negative fixed values.
. . . . . .
The rounding procedure - Proof sketch 1/4
It works in stages. In every stage we have a fractional solution x . Initially x = xLP. Alter x , while maintaining validity of (11) and (13).
Build a bipartite multigraph G (x ) = (V0∪ M0, E ). V0 contains a vertex for every job of V which has at least one fractional assignment in x . The same for M0. ∀i ∈ M0, ∀j ∈ V0 add an edge between them for every fractional 0 < xijs < 1.
Define the following linear system.
∑
(i ,j ,s)∈Ej
ijs = 0 ,∀j ∈ V0 (15)
∑
(i ,j ,s)∈Ei
ijspijs = 0 ,∀i ∈ M0, di ≥ 2 (16)
Let c1, c2 the number of constraints in (15) and (16) respectively.
Then c1 =|V0| ≤ |E|2 and c2 ≤ |E|2 .
. . . . . .
The rounding procedure - Proof sketch 2/4
Let r = min{c1+ c2, |E|} denote the rank of system (15)-(16).
If r =|E| then c1 = c2=|E|/2 and G(x) is a collection of even cycles.
If r = c1+ c2 ≤ |E| − 1 then (15)-(16) is underdetermined and we obtain a solution ijs = aijsδ where δ is an arbitrary parameter.
In the latter case we define a new fractional solution:
xijs = {
xijs+ aijsδ if xijs fractional xijs otherwise
By choosing δ appropriately x satisfies (11) and (13) and one more variable is integrally set.
Repeating the above procedure we either end up with an integral solution or with a graph G (x ) where the maximum vertex degree is 2.
In the latter case we continue with a different rounding procedure.
. . . . . .
The rounding procedure - Proof sketch 3/4
If G (x ) has maximum vertex degree 2 it is a collection of paths and even cycles. Thus we can partition its edges into two matchings M1, M2.
We define a new fractional solution as follows:
xijs =
xijs if xijs integral xijs + δ if (i , j , s)∈ M1
xijs − δ if (i, j, s) ∈ M2
for an arbitrary parameter δ.
By choosing δ appropriately x satisfies (11) and (13) and one more variable is integrally set.
Because G (x ) has maximum vertex degree 2, we can iterate this rounding and end up with an integral solution.
. . . . . .
The rounding procedure - Proof sketch 4/4
The described rounding procedure satisfies constraint (12).
In the first rounding phase constraint (16) ensures that the left hand side of constraint (12) doesn’t increase∀i ∈ M0: di ≥ 2.
For i ∈ M0 : di = 1 there is at most one fractional edge incident to i so we could add at most pmax in any future rounding stages to machine i .
In the second rounding phase if initially di = 1 for some i ∈ M0 the same argument as above holds.
If di = 2 for some i ∈ M0, (i , j , s) and (i , j0, s0) its incident edges, we have the following:
(a) If xijs+ xij0s0 ≥ 1 before the rounding, then the total load of the machine increases by at most pmax.
(b) If xijs+ xij0s0 < 1 before the rounding, at most one of the jobs will be assigned to i .
. . . . . .
A simple 4-approximation algorithm 1/2
.Algorithm LP-GREEDY ..
...
.
1.. Use the integral solution from Lemma 4. Job j is scheduled on machine i using s resources iff xijs? = 1.
.
2.. The algorithm iterates over time epochs t, starting at t = 0. We do the following until all jobs are scheduled.
(a) Check if some yet unscheduled job can be started at time t on an idle machine without violating the resource constraint. If yes, schedule the job to start at time t; ties are broken arbitrarily.
(b) If no job can be scheduled on any of the machines at time t, update t to the next smallest job completion time t0 > t.
.Theorem 1 ..
...
Algorithm LP-GREEDY is a 4-approximation algorithm for unrelated parallel machine scheduling with resource dependent processing times.
. . . . . .
A simple 4-approximation algorithm 2/2
Denote by CLPG the makespan of the solution produced by the algorithm and by COPT the optimal makespan.
Let Cβ denote the earliest point in time after which only big jobs are processed (jobs with resource consumption > k/2). Denote by β = CLPG − Cβ the length of that period.
There is a machine i , on which some job completes at time Cβ which is not a big job. If B the total busy period of i and I the total idle time then CLPG = B + I + β.
Due to (12) and (4) we get for machine i :
B =∑
j∈V
∑
s∈Sij
xijspijs ≤ C?+ pmax ≤ 2C?
.Lemma 5 ..
...I + β ≤ 2C?. See blackboard.
. . . . . .
A more sophisticated 3.75-approximation algorithm 1/6
.Definition ..
...Bij ={s ∈ Sij | k/2 < s ≤ k}, ∀i ∈ M, ∀j ∈ V .Sophisticated IP-relaxation
..
...
∑
i∈M
∑
s∈Sij
xijs = 1 ,∀j ∈ V (19)
∑
j∈V
∑
s∈Sij
xijspijs ≤ C ,∀i ∈ M (20)
∑
j∈V
∑
i∈M
(1.5∑
s∈Sij
xijss
kpijs + 0.25 ∑
s∈Bij
xijspijs)≤ 1.75C (21)
xijs = 0 , if pijs > C (22)
xijs ∈ {0, 1} ,∀i, j, s (23)
. . . . . .
A more sophisticated 3.75-approximation algorithm 2/6
.Lemma 6 ..
...
If there is a feasible schedule with makespan C for the unrelated machine scheduling problem with resource dependent processing times, the above integer program has a feasible solution (C , ˜x ).
The proof of Lemma 6 follows from the observation that no two jobs with resource consumption in Bij can be scheduled in parallel and
thus: ∑
j∈V
∑
i∈M
∑
s∈Bij
˜
xijspijs ≤ C
As before, by binary search on C we can find a lower bound C? on the makespan of an optimal solution for the unrelated machine scheduling problem.
. . . . . .
A more sophisticated 3.75-approximation algorithm 3/6
.Lemma 7 ..
...
Let C?be the lower bound on the makespan of an optimal solution, and let (C?, xLP) be the corresponding feasible solution of the LP-relaxation of the above integer program.
Then we can find a feasible solution x?for the following integer program in polynomial
time: ∑
i∈M
∑ s∈Sij
xijs= 1 ,∀j ∈ V (25)
∑ j∈V
∑ s∈Sij
xijspijs≤ C?+ pmax ,∀i ∈ M (26)
∑ j∈V
∑ i∈M
(1.5∑ s∈Sij
xijss
kpijs+ 0.25∑ s∈Bij
xijspijs)≤ 1.75C? (27)
xijs∈ {0, 1} ,∀i, j, s (28)
where pmax= max{pijs| xLPijs > 0}.
The proof follows directly from Lemma 4 with:
cijs = {
(1.5sk + 0.25)pijs if s∈ Bij
1.5kspijs if s∈ Sijs\Bij
. . . . . .
A more sophisticated 3.75-approximation algorithm 4/6
.Definitions
..
...
V1={j ∈ V | k/2 < s?≤ k and xijs?? = 1}
V2={j ∈ V | k/3 < s?≤ k/2 and xijs?? = 1} V3={j ∈ V | s?≤ k/3 and xijs?? = 1}
.Algorithm IMPROVED LP-GREEDY
..
...
(a) Job j is scheduled on machine i using s resources iff xijs? = 1 (Lemma 7).
(b) Schedule the jobs of V1sequentially. C1is the completion time of the last job.
(c) Starting from C1always try to schedule two jobs from V2in parallel. C2the first time when you fail to do so. Either V2is empty or all remaining jobs must be processed on the same machine. In this case schedule these jobs sequentially on that machine.
(d) Finally schedule jobs from V3according to LP-GREEDY starting from time C2. Let C3denote the completion time of the last job from V2∪ V3.
. . . . . .
A more sophisticated 3.75-approximation algorithm 5/6
.Theorem 2
..
...
IMPROVED LP-GREEDY is a 3.75-approximation algorithm for unrelated parallel machine scheduling with resource dependent processing times.
Denote by CLPG the makespan of the schedule. Let i be the machine which finishes last. B is the total busy time of i and I the total idle time. Thus CLPG = B + I . By constraints (22), (26) we have B≤ C?+ pmax≤ 2C?.
.Case 1: the job that finishes last belongs to V1 or V2
..
...
Then there is no idle time on machine i in interval [C2, C3]. If I1, I2is idle time in interval [0, C1], [C1, C2] respectively, then I = I1+ I2.
The total resource consumption of the schedule during idle times on machine i is at least I1k
2+ I22k
3. Let RI= I21 +2I32. Then the total resource consumption is RIk.
Thus we have:
I = I1+ I2= 1.5RI+ 0.25I1
I≤∑
j∈V
∑
i∈M
(1.5∑
s∈Sij
xijs?s
kpijs+ 0.25∑
s∈Bij
xijs?pijs)≤ 1.75C?
. . . . . .
A more sophisticated 3.75-approximation algorithm 6/6
.Case 2: the job that finishes last belongs to V3 ..
...
Let I1 be the idle time on machine i in interval [0, C1], I2 the idle time in [C1, C2] and I3 the idle time in [C2, C3].
The total resource consumption of the schedule during idle times on machine i is at least I1k2 + (I2+ I3)2k3 . Let RI = I21 +2(I23+I3). Then the total resource consumption is RIk.
Exactly as before we have:
I = I1+ I2+ I3 = 1.5RI+ 0.25I1
I ≤∑
j∈V
∑
i∈M
(1.5∑
s∈Sij
xijs? s
kpijs + 0.25 ∑
s∈Bij
xijs?pijs)≤ 1.75C?
Therefore, in either of the two cases CLPG ≤ B + I ≤ 3.75C?.
. . . . . .
Lower bounds and special cases 1/3
.Corollary 1
..
...
Algorithm LP-GREEDY is a 4-approximation algorithm, and algorithm IMPROVED-LP-GREEDY is a 3.75-approximation algorithm for identical or dedicated parallel machine scheduling with resource dependent processing times.
.Corollary 2
..
...
The problem with unrelated machines does not allow for an approximation algorithm with performance guarantee smaller than 32 (unless P = NP), as it generalizes the classical unrelated machine scheduling problem.
.Theorem 3
..
...
There is no polynomial time approximation algorithm for identical or dedicated parallel machine scheduling with resource dependent processing times that has a performance guarantee smaller than 32, unless P = NP.
. . . . . .
Lower bounds and special cases 2/3
.Proof of theorem 3
..
...
The proof relies on a gap reduction from Partition.
Given n integers ajwith∑
j
aj= 2k, decide if there exists a W⊆ {1, . . . , n} such
that∑
j∈W
aj= k.
Create an instance of the scheduling problem as follows. Each aj gives rise to one job j with an individual machine. Hence, we have n jobs and m = n machines (and in fact it does not matter for what follows if the machines are identical or
dedicated).
There are k units available of the additional resource and for every job j :
pjs = {
3 if s < aj
1 if s ≥ aj
hence aj is the only breakpoint of job j . Cmax< 3 ⇐⇒ there exists a partition W.
. . . . . .
Lower bounds and special cases 3/3
.Theorem 4 ..
...
There are instances where the lower bound provided by the integer programming relaxation (1)-(5) has a feasible solution that is a factor (2− ) away from the optimum, for any > 0. The same holds for integer program (19)-(23) with an optimality gap of (1.75− ), for any > 0.
.The ”bad” instance ..
...
We have 2 jobs and 2 machines.
We have k additional resources, where k is odd.
The processing times are the following:
pijs = {
2k + 1 if s < k2 k if s > k2
. . . . . .
Questions?