
We consider a basic preemptive scheduling problem where n non-simultaneously released jobs are to be processed by m unrelated parallel machines so as to minimize maximum job completion time. An optimal LP-solution has been used to construct an optimal preemptive schedule for simultaneously released jobs in time O(n3). We propose fast O(m) time algorithm that finds an optimal schedule in case the above LP-solution possesses "small enough" number of non-zero elements. We propose another linear program for non-simultaneously released jobs and show how an optimal schedule can be constructed also in time O(m) from the optimal solution to that linear program. Based on another stronger linear program formulation, we extend the earlier known schedule construction procedure for non-simultaneously released jobs. The procedure is important, in particular, because there may exist no optimal schedule that agrees with an optimal LP-solution. An optimal LP-solution imposes a number of preemptions, and additional preemptions may occur during the schedule construction process, a job might be forced to be split on the same machine. We show that if no job split is allowed, even a restricted version of the problem on three unrelated machines is NP-hard. As a result, we obtain that, given an optimal LP-solution, it is NP-hard to find an optimal schedule that agrees with that LP-solution. As another side result, we obtain that it is NP-hard to find an optimal schedule with at most m−1 preemptions.
Citation: Nodari Vakhania. On preemptive scheduling on unrelated machines using linear programming[J]. AIMS Mathematics, 2023, 8(3): 7061-7082. doi: 10.3934/math.2023356
[1] | Azhar Mahdi Ibadi, Rosshairy Abd Rahman . Modified artificial fish swarm algorithm to solve unrelated parallel machine scheduling problem under fuzzy environment. AIMS Mathematics, 2024, 9(12): 35326-35354. doi: 10.3934/math.20241679 |
[2] | Jiaxin Chen, Yuxuan Wu, Shuai Huang, Pei Wang . Multi-objective optimization for AGV energy efficient scheduling problem with customer satisfaction. AIMS Mathematics, 2023, 8(9): 20097-20124. doi: 10.3934/math.20231024 |
[3] | Salwa El-Morsy, Junaid Ahmad, Reny George . On employing pythagorean fuzzy processing time to minimize machine rental cost. AIMS Mathematics, 2023, 8(7): 17259-17271. doi: 10.3934/math.2023882 |
[4] | Hsien-Chung Wu . Numerical method for solving the continuous-time linear programming problems with time-dependent matrices and piecewise continuous functions. AIMS Mathematics, 2020, 5(6): 5572-5627. doi: 10.3934/math.2020358 |
[5] | Mohammed Jalalah, Lyu-Guang Hua, Ghulam Hafeez, Safeer Ullah, Hisham Alghamdi, Salem Belhaj . An application of heuristic optimization algorithm for demand response in smart grids with renewable energy. AIMS Mathematics, 2024, 9(6): 14158-14185. doi: 10.3934/math.2024688 |
[6] | Dingyu Wang, Chunming Ye . Single machine and group scheduling with random learning rates. AIMS Mathematics, 2023, 8(8): 19427-19441. doi: 10.3934/math.2023991 |
[7] | Habibe Sadeghi, Fatemeh Moslemi . A multiple objective programming approach to linear bilevel multi-follower programming. AIMS Mathematics, 2019, 4(3): 763-778. doi: 10.3934/math.2019.3.763 |
[8] | Samer Nofal . On the time complexity of achieving optimal throughput in time division multiple access communication networks. AIMS Mathematics, 2024, 9(5): 13522-13536. doi: 10.3934/math.2024659 |
[9] | Xiaoxiao Liang, Lingfa Lu, Xueke Sun, Xue Yu, Lili Zuo . Online scheduling on a single machine with one restart for all jobs to minimize the weighted makespan. AIMS Mathematics, 2024, 9(1): 2518-2529. doi: 10.3934/math.2024124 |
[10] | Mohamed El-Borhamy, Essam Eddin M. Rashad, Arafa A. Nasef, Ismail Sobhy, Samah M. Elkholy . On the construction of stable periodic solutions for the dynamical motion of AC machines. AIMS Mathematics, 2023, 8(4): 8902-8927. doi: 10.3934/math.2023446 |
We consider a basic preemptive scheduling problem where n non-simultaneously released jobs are to be processed by m unrelated parallel machines so as to minimize maximum job completion time. An optimal LP-solution has been used to construct an optimal preemptive schedule for simultaneously released jobs in time O(n3). We propose fast O(m) time algorithm that finds an optimal schedule in case the above LP-solution possesses "small enough" number of non-zero elements. We propose another linear program for non-simultaneously released jobs and show how an optimal schedule can be constructed also in time O(m) from the optimal solution to that linear program. Based on another stronger linear program formulation, we extend the earlier known schedule construction procedure for non-simultaneously released jobs. The procedure is important, in particular, because there may exist no optimal schedule that agrees with an optimal LP-solution. An optimal LP-solution imposes a number of preemptions, and additional preemptions may occur during the schedule construction process, a job might be forced to be split on the same machine. We show that if no job split is allowed, even a restricted version of the problem on three unrelated machines is NP-hard. As a result, we obtain that, given an optimal LP-solution, it is NP-hard to find an optimal schedule that agrees with that LP-solution. As another side result, we obtain that it is NP-hard to find an optimal schedule with at most m−1 preemptions.
Scheduling unrelated machines to minimize maximum job completion time (the so-called makespan) is a well-known optimization problem. In a group of unrelated machines, a machine i has no universal speed characteristic (machine speed is job dependent), in contrast to a group of uniform machines, where each machine is characterized by a universal speed that extends to a whole set of jobs. A group of machines with the same speed is commonly referred to as a group of identical machines (the speed of every machine is the same for every job). The scheduling problem that we consider here is commonly abbreviated as R|rj;pmtn|Cmax (we use a standard three-field notation for scheduling problems, where the first, the second and the third fields specify machine environment, job parameters with some specific problem restrictions (if any), and the objective function, respectively). In this problem we are given n jobs to be performed by m parallel unrelated machines. Job j becomes available at its (integer) release time rj and it requires an (integer) processing time pij on machine i, i=1,…,m (for the sake of simplicity, we will refer to jobs and machines by their corresponding indexes). A job, being processed by a machine, can be interrupted and resumed later on the same or on any other machine. In a feasible schedule a machine can process at most one job at a time and a job can be processed by at most one machine at a time (i.e., two parts of the same job cannot be processed in parallel by different machines), every job j is assigned to a machine no earlier than at time rj and it is completely processed, i.e., ∑mi=1tij/pij=1, where tij is the total amount of time that machine i spends on job j in that schedule. The objective is to find an optimal schedule, a feasible one in which the maximum job (machine) completion time Cmax is the minimum possible.
In this paper we deal with the above described basic problem R|rj;pmtn|Cmax and its variations. In the restricted assignment problem R|pij∈{pj,∞};rj;pmtn|Cmax, a subset of allowable machines is specified for each job j, so that this job can only be processed in a fixed amount of time pj on any machine from that subset; the processing time of job j on any other machine is an enough large magnitude such that job j cannot be assigned to any of these machines in any optimal schedule. In another variation of the basic problem, the part of each job assigned to a machine is to be performed without any interruption on that machine. We will give a more complete description of this latter version a bit later in this section. Before that, we overview briefly the earlier known related work.
A brief overview of relevant literature. Non-preemptive scheduling on already two identical machines of simultaneously released jobs P||Cmax is NP-hard (reduction from the PARTITION problem). This is in contrast to the preemptive case, even on a group of uniform machines Q|pmtn|Cmax Gonzalez and Sahni [1]). The setting with non-simultaneously released jobs on uniform machines Q|rj,pmtn|Cmax remains polynomially solvable Labetoulle et al. [2], as well as the version with unrelated machines but simultaneously released jobs R|pmtn|Cmax Lawler and Labetoulle [3]. The authors in [3] give a linear programming formulation of the problem and show how an optimal solution to this LP can be used to construct an optimal solution to the latter problem. We are not aware of any previously existing work for preemptive scheduling of non-simultaneously released jobs to minimize the makespan. Lawler and Labetoulle [3] also use linear programming for the solution of a related problem R|pmtn|Lmax with the objective to minimize the maximum job lateness Lmax. The best known polynomial-time approximation algorithms for non-preemptive problem R||Cmax are based on rounding of an optimal LP-solution, see also [4,5,6]. A feasible LP-solution specifies parts of jobs to be processed by each machine; i.e., it distributes job parts to machines without specifying the starting times of the assigned job parts. If in a given LP-distribution, different parts of the same job are assigned to different machines, then this job will be preempted in any feasible schedule respecting that distribution: in such a schedule, the processing time of every job on every machine is determined by the former distribution. The scheduling stage is used to convert an LP-distribution to a feasible schedule respecting that distribution. This stage determines the start time of each assigned job part on the corresponding machine so that the same job is processed by at most one machine at a time.
Lawler and Labetoulle [3] adopted an open shop scheduling method of Gonzalez and Sahni [7] to construct an optimal preemptive schedule respecting an optimal LP-distribution, an optimal solution to the linear program presented also in [3]. The time complexity of the schedule construction procedure from [3] can roughly be bounded from the above by O(n3). Potts [4] (and later Lenstra et al. [5] and Shchepin and Vakhania [6]) also used linear programming in a 2-approximation algorithm for the non-preemptive case R||Cmax. The algorithm from [4] has polynomial dependence on n, but the dependence on m is exponential. Later Lenstra et al. [5] developed another 2-approximation algorithm that avoids an exponential-time dependence on m, and Shchepin and Vakhania [6] improved the approximation factor to 2−1/m.
Our contributions. The algorithms from [4] and [6] are essentially based on the fact that an optimal distribution to the linear program from [4] has an enough small number of non-zero variables that yields at most m−1 preempted jobs. This property may also hold for other linear programs that we consider here, but in principal, optimal LP-distributions to these linear programs may yield more than m−1 preempted jobs. We present a fast O(m) time algorithm in Section 3.1 that finds an optimal solution to the preemptive problem R|pmtn|Cmax (with simultaneously released jobs) if the condition holds for an optimal distribution to linear program from [3]. In Section 3.2 we give a linear programming formulation of problem R|rj;pmtn|Cmax with non-simultaneously released jobs and specify how the procedure of Section 3.1 can be extended to find an optimal solution also in time O(m) to this problem, given that the condition now holds for an optimal distribution to this new linear program.
If in an LP-distribution different parts of the same job are assigned to different machines, this job will have the corresponding preemptions in any feasible schedule respecting that distribution. Moreover, during the construction the latter schedule, additional preemptions of this job may occur: a part of it assigned to some machine might be forced to be split in further smaller parts to be processed independently of each other on that machine (so a split is a special kind of preemption, every split is a preemption but not every preemption is a split). A preemption, that is not a split, cannot be avoided whenever the corresponding schedule is obtained from the corresponding LP-distribution, whereas any job split is avoidable. No-split is an important restriction in a number of applications where it is undesirable to interrupt a currently running job on a machine due to additional machine reset and setup costs. We abbreviate by R|rj;pmtn; no−split|Cmax the no-split version of problem R|rj;pmtn|Cmax (where the entire job part assigned to a machine cannot be split, i.e., this part is to be processed continuously on that machine), and we abbreviate by R|pij∈{pj,∞};rj;pmtn; no−split|Cmax the no-split version of the restricted problem R|pij∈{pj,∞};rj;pmtn|Cmax.
A natural question arises, if there is a polynomial-time algorithm that constructs an optimal solution without any split; i.e., if every job part assigned to a machine can be processed without any further interruption on that machine. This question was positively answered in the case of uniform machines and also for two unrelated machines. Gonzalez and Sahni [1] proposed an O(nlogn) time algorithm for the no-split problem on uniform machines, and Gonzalez, Lawler and Sahni [8] showed that the no-split problem on two unrelated machines can be solved in linear time.
As we show in Section 4, the no-split problem for non-simultaneously released jobs, already on three unrelated machines, becomes NP-hard, even for the restricted assignment problem R3|pij∈{pj,∞};rj;pmtn; no−split|Cmax. As a result, we obtain that, given an optimal LP-distribution, it is NP-hard to find an optimal schedule to problem R3|pij∈{pj,∞};rj;pmtn; no−split|Cmax that respects that LP-distribution. As another side result, we obtain that it is NP-hard to find an optimal preemptive schedule with at most m−1 preemptions to that problem. This result extends, in some sense, an earlier known result that scheduling identical machines with at most m−2 preemptions is NP-hard [9].
Unfortunately, our results of Section 5 imply that an optimal schedule to problem R|pij∈{pj,∞};rj;pmtn|Cmax not necessarily respects an optimal LP-distribution. Moreover, there may exist no optimal schedule respecting an optimal LP-distribution. This it true for the liner program from [3], for the linear from Section 4 and also for a stronger linear program that we propose in Section 5. In Section 6 we extend the schedule construction procedure from [3] for non-simultaneously released jobs using an optimal distribution to our linear program from Section 5. The extended procedure constructs an optimal schedule respecting any feasible (not necessarily optimal) LP-distribution in polynomial time. The procedure is important, in particular, because of the result from Section 5 that no optimal schedule may respect an optimal LP-distribution.
Finally, we note that the use of linear programming is not restricted solely to scheduling problems on unrelated machines (where, as already mentioned, it remains the most efficient tool for both, exact and approximation solution), but it is also used to tackle more complex multiobjective shop scheduling problems. For example, Foumani and Smith-Miles [10] represent flow-shop scheduling problems as mixed integer linear programs and deal with by-objective criteria to balance between the minimization of makespan and carbon emissions. They call such bi-objective setting green flow-shop, since it aims not only to maximize the economical benefit (by minimizing the makespan) but also tries to keep the environment clean. Gong et al. [11] consider another green multiobjective shop scheduling problem where the labor cost is also involved.
In this section we describe in more detail the earlier obtained results on which our results rely. First, we present linear programs from the earlier cited references that have been used for scheduling unrelated machines. The following linear program LP1(Cmax) was successfully used for an approximate solution of the non-preemptive version of the problem R||Cmax with simultaneously released jobs, first in [4] and later in [6]:
Minimize Cmax
Subject to
n∑j=1xijpij≤Cmax, i=1,…,m, | (2.1) |
m∑i=1xij=1, xij≥0, i=1,...,m, j=1,…,n. | (2.2) |
In this linear program entry xij=tij/pij represents the part of job j to be processed by machine i, for j=1,…,n and i=1,…,m. These entries define the corresponding distribution of job parts on machines. Unlike a schedule which is a mapping that assigns to each job specific time interval(s) on one or more machines, a distribution, instead of these time intervals, defines only their lengths on the corresponding machines. Because of real assignment variables, a distribution may split a job in different parts and assign these parts to different machines. Note that a distribution involves no start times and only assigns job parts to machines (hence, there is an infinite number of feasible schedules respecting a given distribution). In particular, a solution to a linear program is a distribution that explicitly indicates which fraction of each job is assigned to each machine. We refer the reader to [6] for related formal definitions, concepts and properties.
As earlier noted, distribution to linear program LP1(Cmax) has a nice property that it possesses a large amount of integer (zero) entries so that it yields at most m−1 preempted jobs. Then such distribution can be rounded to (an integer) feasible approximate non-preemptive solution to problem R||Cmax, as suggested by Potts [4], where a complete enumeration of at most m−1 preempted jobs on m machines is carried out. This results in a 2-approximation solution in time, polynomial in n and exponential in m. Using a modified linear program combined with a binary search, a rounding that guarantees a 2-approximation solution in polynomial (in both n and m) time was achieved Lenstra et al. [5]. A new method of rounding an optimal distribution to linear program LP1(Cmax) proposed in Shchepin and Vakhania [6] yielded an improvement of the bound 2 to 2−1/m. This latter bound is the best possible that can be obtained by rounding a distribution to a feasible non-preemptive schedule [6].
In an optimal distribution to linear program LP1(Cmax), the total length of the parts of a job assigned to the machines can be longer than the minimized magnitude Cmax. Hence, a feasible preemptive schedule respecting that distribution may have the makespan larger than Cmax, a reason why it is not beneficial to use it for the solution of the preemptive case R|pmtn|Cmax. Linear program LP2(Cmax) from Lawler and Labetoulle [3] bounds the total length of all the assigned parts of each job to different machines. It is the above specified linear program LP1(Cmax) complemented by an additional set of the following n restrictions, one restriction for each job:
m∑i=1xijpij≤Cmax, j=1,…,n. | (2.3) |
Because of the additional n restrictions (2.3), the total number of basic (non-zero) variables is no more bounded by m−1 (as we describe in Section 3, in case an optimal distribution to linear program LP2(Cmax) yields no more than m−1 preemptions, it can still be transformed to an optimal preemptive schedule with at most m−1 preemptions). An optimal distribution to linear program LP2(Cmax) can be transformed to an optimal schedule to problem R|pmtn|Cmax in polynomial time. Lawler and Labetoulle [3] adopted open shop scheduling technique from Gonzalez and Sahni [7] for constructing an optimal feasible schedule from an optimal distribution to linear program LP2(Cmax) (note that an open shop instance can be already seen as a distribution). We describe this method in more detail in Section 6.
Suppose we have a feasible schedule for an instance of problem R|pmtn|Cmax respecting an optimal distribution {xij} to linear program LP2(Cmax) with the makespan
Cmax=max{maxin∑j=1xijpij,maxjm∑i=1xijpij.}. | (2.4) |
Then this schedule is clearly optimal. Such an optimal schedule is constructed in Lawler and Labetoulle [3].
As we will see in Section 5, for non-simultaneously released jobs, the bound (2.4) is no more attainable; i.e., for a given instance of problem R|rj,pmtn|Cmax, there may exist no feasible schedule with makespan Cmax respecting a given optimal distribution to linear program LP2(Cmax) (e.g., consider an optimal distribution in which the sum of the job parts assigned to some machine is Cmax but no job assigned to that machine is released at time 0). Furthermore, no feasible schedule respecting that optimal distribution might be optimal. This assertion is true not only for linear program LP2(Cmax), but also for more enhanced linear programs that we give later on.
In this section we show how an optimal schedule can be constructed in case an optimal distribution to linear program LP2(Cmax) has no more than m preempted job parts. In the next subsection we present fast O(m) time procedure the case of simultaneously released jobs, and in the following subsection we introduce a new liner program and extend the procedure for the case where jobs have different release times.
Suppose thus an optimal distribution to linear program LP2(Cmax) yields no more than m−1 preemptions, i.e., there are at most m (preempted) job parts, at most one of it on a machine. We can convert such distribution to an optimal preemptive schedule for problem R|pmtn|Cmax with at most 2m−4 preemptions using the following procedure.
Step 0. Construct an optimal distribution {xij} to linear program LP2(Cmax).
Step 1. Sort the preempted jobs in distribution {xij} in non-increasing order of their total processing times (the total processing time of job j in distribution {xij} is m∑i=1xijpij).
Repeat the Step 2 until all the jobs from the ordered list are considered:
Step 2. Let i1,…,ik, i1<⋯<ik, be the indices of the machines to which the parts of the next job from the list are assigned in distribution {xij}; schedule the first part of job j at time 0 on machine i1, schedule its second part at the completion time of the first part on machine i2, and so on, schedule the last kth part of that job at the completion time of the preceding (k−1)th part on machine ik
Step 3. Schedule the remaining entire jobs in the remained idle time slots of the partial schedule of Step 2 from time 0 in any order without creating an idle time in between the jobs; in case an overlapping of an entire job j with an earlier included preempted job part occurs, interrupt job j at the starting time of the former job part and resume it at its completion time.
Observation 1. The above procedure finds an optimal schedule with at most 2m−4 preemptions in time O(m).
Proof. First, note that at Step 2, no conflicts between the preempted parts of different jobs will occur since there is at most one preempted job part on any machine. Hence, the constructed schedule is feasible. By the construction, due to inequalities (2.1) and (2.3), the completion time of the last scheduled part of any job j cannot be larger than Cmax. Hence, the constructed schedule is also optimal. By our condition, distribution {xij} yields at most m−1 preemptions. At Step 3 some additional preemptions may occur. Since there is at most one preempted job part on any machine, no split may occur on machines 1 and m, whereas at most one split may occur on the remaining m−2 machines (for at most one entire job per machine) at Step 3. Hence, there are at most 2m−4 preemptions (note that this bound will be attained when there is only one preempted job distributed among all the m machines). As to the time complexity, since the total number of the preempted jobs to be processed in bounded from the above by m, the whole procedure takes time O(m).
We extend the above procedure for the case of non-simultaneously released jobs. This time, we shall consider an optimal distribution to a new linear program LP3(Cmax) that we introduce in this section.
An optimal distribution to linear program LP2(Cmax) "implicitly assumes" that job parts can be assigned to the machines at arbitrary time moments. This does not apply if jobs are non-simultaneously released. Linear program LP3(Cmax) is more "flexible" since it takes into account job release times. It is a modified version of linear program LP2(Cmax) in which inequalities (2.3) are replaced by the following set of inequalities:
rj+m∑i=1xijpij≤Cmax, j=1,…,n. | (3.1) |
Note that linear program LP3(Cmax) correctly reflects the desired restriction imposed by the release time of each job. Let us now consider an optimal distribution to this linear program (instead of the optimal distribution to linear program LP2(Cmax)), and suppose that it satisfied the same condition as linear program of Section 4.1. We easily extend now the procedure from Section 4.1 for non-simultaneously released jobs. We again sort job parts in ascending order of the corresponding machine indexes. Instead of starting each first part of the next job from the list at time 0, it is scheduled at the release time of that job. The entire (non-preempted) jobs are scheduled in non-decreasing order of the their release times on each machine. Due to the modified inequalities (3.1) and the fact that there is at most one preempted job part on any machine, similarly as in the procedure of Section 4.1, no preempted job part will complete later than at time Cmax. Feasibility conditions are similarly verified and the time complexity remains to be O(m).
Recall that the fast algorithms described in the previous section may create up to m−3 splits. If however no splits are allowed, then the no-split problem in the restricted assignment setting already on 3 machines R3|pij∈{pj,∞};rj;pmtn; no−split|Cmax becomes NP-hard:
Theorem 1. R|pij∈{pj,∞};rj;pmtn; nosplit|Cmax is NP-hard.
Proof. We show that the decision version of R|pij∈{pj,∞};rj;pmtn; nosplit|Cmax is NP-complete using the reduction from an NP-complete PARTITION problem. In the PARTITION problem we have k items with sizes {z1,…,zk}. We are asked if there exists a subset of these k items that sup up to M/2, where M=∑ki=1zi. Let us consider an arbitrary instance of the PARTITION problem with P1 and P2 being a partition of the k items with ∑l∈P1zl=∑l∈P2zl=M/2, a solution to that PARTITION instance (P1∪P2={z1,…,zk}, P1∩P2=∅).
We now construct an instance of the decision version of our scheduling problem such that this instance will have a "yes" answer if and only if the corresponding PARTITION instance has a "yes" answer. Our scheduling instance consists of 4+k jobs on three machines, where Z1,…,Zk are partition jobs. All partition jobs are released at time 3. The processing times of these jobs are such that p2Zj=2zj/M and piZj=∞, for j=1,…,k and i=1,3 (note that the total length of the partition jobs is 2). The processing times of the remaining four jobs J1,J2,J3,J4 are defined as follows. p11=p21=p31=6, p13=2, p24=3 and p32=5. All the unspecified processing times are infinity (large enough numbers). Job J3 is released at time 4 and the remaining jobs are released at time 0 (except the partition ones which are released at time 3).
As it is easy to see, the processing time 6 of job J1 is a lower bound on the optimal schedule makespan. In a schedule with this makespan (see Figure 1):
On machine 1, job J3 cannot be started earlier than at its release time 4 and can be completed at time 6, hence job 1 starts at its release time 0 and competes at time 4. On machine 3, job J2 is to occupy 5 time units. Hence, only one time unit is left where job J1 can be processed on that machine. Therefore, one unit of time of job J1 is to be processed on machine 2. All partition jobs are to be processed also on machine 2. None of the partition jobs can start earlier than at time 3 whereas job J4 is to occupy 3 time units on machine 2. Since machine 1 is running job J1 in interval [0,4), job J4 is needs to occupy the first 3 time units on machine 2 and is to be followed by the partition jobs. Since the assigned to machine 3 part of job J2 cannot be interrupted on that machine, the remaining unprocessed unit time of job J1 can only be executed within the interval [4,5) on machine 2. Hence, exactly the intervals [3,4) and [5,6) are left for the partition jobs.
It should now be apparent that there exist a schedule of length 6 if and only if the partition instance has a "yes" answer, i.e., there exists a partition of set {z1,…,zk} into sets P1 and P2 with equal length 1. In other words, an optimal schedule with makespan 6 provides a solution to PARTITION, and vice-versa, if PARTITION has a solution then the above optimal schedule can be constructed in polynomial time.
Corollary 1. Given an instance of problem R|pij∈{pj,∞};rj;pmtn|Cmax, it is NP-hard to find an optimal solution with at most m−1 preemptions.
Proof. By Theorem 1, R|rj,pmtn − nosplit|Cmax is NP-hard. No split on any machine yields at most m preempted job parts (one job part on every machine), hence at most m−1 preemptions.
Corollary 2. Given an optimal distribution, it is NP-hard to find a schedule for problem R|pij∈{pj,∞};rj;pmtn; nosplit|Cmax with the minimum makespan respecting that distribution.
Proof. From the proof of Theorem 1, the PARTITION instance is to be solved if job J2 is not allowed to be split on machine 3. The corollary follows as the distribution respected by the schedule of Figure 1 is optimal.
In this section we will have a closer look at the inherent relationship between optimal schedules and optimal distributions. For a given feasible schedule to an instance of the scheduling problem R|rj;pmtn|Cmax with makespan Cmax, let {xij} be the distribution that respects this schedule. The values Cmax and {xij} form a feasible solution to linear programs LP3(Cmax) and LP2(Cmax). A less obvious question is, given a distribution to linear program LP3(Cmax), whether there is an optimal schedule respecting that distribution with the makespan Cmax. Note that, if this assertion is true, then a feasible schedule respecting an optimal distribution will be optimal.
Thus a feasible schedule respecting an optimal distribution is trivially optimal if its makespan is Cmax. Lawler and Labetoulle [3] constructed schedules respecting optimal distributions to linear program LP2(Cmax) with makespan Cmax for simultaneously released jobs. In contrary to the case with simultaneously released jobs, an optimal schedule respecting an optimal distribution to linear program LP3(Cmax) (and linear program LP2(Cmax)) not necessarily attains makespan Cmax if jobs are non-simultaneously released. Inequalities (2.1) do not actually reflect the restrictions imposed by job release times on the completion time of each machine, since it may not be possible to schedule a job assigned to a machine at the earliest idle-time moment on that machine. In particular, restrictions (2.1) are not necessarily satisfied in an optimal schedule, in which the completion time of a machine may be larger than Cmax (recall an earlier mentioned simple scenario where no job assigned to a machine is released at time 0). Even restrictions (3.1) may not be satisfied in an optimal schedule.
We illustrate these points in this section using small problem instances. Our examples illustrate that in an optimal schedule constructed from an optimal distribution to linear program LP3(Cmax), neither restrictions (2.1) nor restrictions (3.1) might be satisfied (the completion time of at least one job in that schedule can be larger than Cmax). More importantly, an optimal schedule not necessarily respects an optimal distribution.
Example 1. Let us consider a problem instance where an optimal distribution assigns just two different job parts to the same machine (hence the schedule construction procedure from Section 4.2 already cannot be applied). We have five jobs 2,…,6 on four machines 1,…,4 such that:
r3=3, r2=2, r4=8, r5=0, r6=5.
p13=p33=15, p22=p32=p42=16, and p14=p26=p45=13. The processing times of these jobs on the remaining machines are infinities (large enough numbers). Note that in any feasible schedule, jobs 4, 6 and 5 can only be processed by machines 1, 2 and 4, respectively. Job 2 is to be distributed among machines 2, 3 and 4, and job 3 is to be distributed on machines 1 and 3.
There are a few optimal distributions to linear program LP2(Cmax) with Cmax=18. We consider two of them which assign (preempted) parts of jobs 3 and 2 to machine 3. In distribution 1, the processing times are as follows:
t13=5, t14=13, t22=4, t26=13, t32=8, t33=10 and t45=13, t42=4.
Note that this is not an optimal distribution to linear program LP3(Cmax) due to inequalities (3.1) where Cmax=r4+p14=8+13=21 is attained for job 4. A non-feasible schedule respecting distribution 1 is depicted in Figure 2a, and an optimal schedule respecting the same distribution with makespan 24 is depicted in Figure 2b.
An optimal distribution 2 is identical to distribution 1 except that t22=5, t32=6 and t42=5 (see Figure 2c). An optimal schedule respecting this distribution has the makespan 23, see Figure 2d.
As can see, distribution 2 possesses better properties, so that an optimal schedule respecting that distribution has a smaller makespan than an optimal schedule respecting distribution 1. At the same time, none of these schedules is (globally) optimal (see below). Moreover, one can easily verify that there exists no optimal schedule respecting any optimal distribution to linear program LP2(Cmax). (From here on we refer to a schedule with minimum makespan respecting a given optimal distribution as an optimal schedule respecting that distribution; such schedule, may not be (globally) optimal, i.e., there may exist no optimal schedule respecting this distribution. Moreover, there may exist no optimal schedule respecting any optimal distribution.)
Now we consider a modification of the above considered distributions, a non-optimal distribution 3 with Cmax=20, in which t22=5, t32=4, t42=7. A schedule with the makespan 21 respecting this distribution is depicted in Figure 2e. Distribution 3 is not optimal for linear program LP2(Cmax) and it is not feasible to linear program LP3(Cmax) (e.g., r4+t14=21>20, see inequalities 3.1). It is easy to see that the schedule of Figure 2e is (globally) optimal.
In Figure 2f another optimal schedule with the makespan 21 is depicted. This schedule respects distribution 4 with Cmax=21, which is not optimal for linear program LP2(Cmax) but it is (feasible and) optimal for linear program LP3(Cmax) (due to inequalities (3.1), Cmax=8+13=21 is attained for job 4, and 21 is also the load of machine 4). However, this schedule is not feasible for an instance of R|rj,pmtn − nosplit|Lmax. Distribution 4 differs from the above optimal distributions on machines 3 and 4. Job processing times are distributed as follows:
t13=5, t14=13, t22=5, t26=13, t32=3, t33=10 and t45=13, t42=8.
As we saw from the above example, optimal schedules respecting different optimal distributions may have different makespan. Guessing an optimal distribution and also a "suitable" linear program is an important and also difficult task. Furthermore, as we argue in the next section, unlikely, there exists a universal "suitable" linear program for the studied scheduling problem, such that an optimal schedule respecting an optimal distribution to that linear program can be guaranteed to be (globally) optimal. Below we give a smaller problem instance illustrating similar points.
Example 2. As another example, consider a smaller problem instance with four jobs on two machines. Jobs 1 and 4 are released at times 3 and 1, respectively, and jobs 2 and 3 are released behind these jobs at time, say 5, i.e.,
r1=3, r2=1 and r3=r4=5.
Job processing times are as follows:
p11=9, p12=∞, p14=∞, p24=10, p13=p23=3 and p12=p22=2.
An optimal distribution with Cmax=12 defines the processing times t11=9, t13=3 and t24=10, t22=2. This distribution is optimal for both linear programs LP2(Cmax) and LP3(Cmax). A non-feasible schedule with makespan 12 respecting this distribution is depicted in Figure 3a, whereas an optimal feasible schedule with makespan 14 is depicted in Figure 3b. The latter schedule respects another distribution with processing times t11=9, t12=2 and t24=10, t23=3 (in which the roles of jobs 2 and 3 are interchanged) and it is not optimal for linear programs LP2(Cmax) and LP3(Cmax). The latter distribution is however optimal for linear program LP4(Cmax) that we introduce in the next section.
Linear program LP3(Cmax) properly reflects the desired restriction for each job, but it does not reflect actual restrictions imposed by job release times on machine start times due to the nature of inequalities (2.1), which deal with a mere sum of processing times of jobs assigned to each machine. This causes potential conflicts at the scheduling stage. As we saw in the previous section, there may exist no optimal schedule to problem R|rj;pmtn|Cmax respecting an optimal distribution to linear program LP3(Cmax). An appropriate modification of restrictions (2.1) would require a kind of "prediction" of an actual completion time of each machine given the job parts assigned to this and other machines possessing parts of the same jobs. Such a prediction seems to be complicated since it would actually require the outcome of scheduling process on each machine. Nevertheless, we still may make some pertinent assumptions on an optimal scheduling strategy on each machine. In particular, we observe that no avoidable gap is created on any machine in an optimal schedule. It is easy to see that, among the job parts assigned to a machine, the first included one corresponds to an earliest released job in an optimal schedule. In general, whenever an idle time is unavoidable on a machine, an earliest released job is scheduled immediately after that idle time on that machine.
We use these observations in our second linear program LP4(Cmax). Let, J(>r) denote the set of jobs with the release time, no smaller than r. We rewrite m constraints (2.1) into nm constraints as follows.
rj+∑l∈J(>r)xilpil≤Cmax, j=1,…,n, i=1,…,m | (5.1) |
By incorporating these restrictions instead of constraints (2.1) into linear program LP3(Cmax), we obtain linear program LP4(Cmax).
Example 1 (continuation). Returning to the problem instance of Example 1, we can easily observe that, for an optimal distribution to the new linear program LP4(Cmax), Cmax=21. In particular, distribution 4 from the previous section (Figure 2f) is optimal also for linear program LP4(Cmax). There exist other optimal distributions to linear program LP4(Cmax). In one of them, t13=3, t14=13, t22=4, t26=13, t32=5, t33=12 and t45=13, t42=7,
see Figure 4a representing a non-feasible schedule that respects this distribution. A feasible schedule with makespan 23 respecting the same distribution is depicted in Figure 4b. In a slight modification of the latter optimal distribution, job 3 is redistributed on machines 1 and 3 so that its processing time on machine 1 is increased by 2 and its processing time on machine 3 is decreased by the same amount. This results in a globally optimal schedule with makespan 21 depicted in Figure 4c. In another optimal distribution t22 is reduced to 3 and t42 is increased to 8. Another globally optimal schedule with makespan 21 respecting the latter optimal distribution is depicted in Figure 4d.
As we can see, even for a very small sized problem instance, a number of different optimal distributions to the new linear program LP4(Cmax) exist, some of them leading to an optimal schedule and some not. We again need to guess a correct optimal distribution among all possible optimal ones. Moreover, as we show below, not necessarily there exists a globally optimal schedule that respects an optimal distribution to the new linear program LP4(Cmax), as it was the case for liner programs LP2(Cmax) and LP3(Cmax).
Example 1a. Consider a slight modification of the problem instance of Example 1 in which all job parameters remain the same except that r4=0. This reduces the makespan of an optimal distribution to linear program LP4(Cmax) from Cmax=21 to Cmax=20. Now job 4 can be partitioned on machine 1 in two parts, hence t13 can be increased to 7. An optimal schedule with makespan 20 respecting this optimal distribution is depicted in Figure 5a.
Example 1b. For the second modification of Example 1, let r4=6. For an optimal distribution to this modified instance Cmax=20, which is the completion time of machine 4 (note that the completion time on machine 1, compared to that in the schedule of Figure 4b, is reduced by the length of the gap [6,8)). A non-feasible schedule respecting an optimal distribution is depicted in Figure 5b. An optimal feasible schedule with makespan 23 respecting the same distribution is depicted in Figure 5c. The latter schedule is not globally optimal. An optimal schedule with makespan 21 is illustrated in Figure 5d; this schedule respects a distribution with the same makespan Cmax=21. Observe that the latter distribution is not optimal for linear program LP4(Cmax).
In the next subsection we briefly describe the procedure of Lawler and Labetoulle [3] for the construction of an optimal schedule from an optimal distribution to linear program LP2(Cmax) for problem R|pmtn|Cmax. In the following subsection 6.2 we show how this procedure can be extended to construct an optimal schedule respecting any feasible distribution to problem R|rj;pmtn|Cmax.
Lawler and Labetoulle [3] adopted open shop scheduling technique of Gonzalez and Sahni [7] for the construction of an optimal feasible schedule with makespan Cmax respecting an optimal distribution to program LP2(Cmax) for simultaneously released jobs (note that an open shop instance can already be seen as a distribution). Recall that an optimal distribution {xij} defines an m x n non-negative processing time matrix T={tij}=xijpij.
The so-called decrementing sets are iteratively formed from iteration 1 by selecting one entry in each tight row and in each tight column: a row/column is tight iff the sum of the entries in that row/column is exactly Cmax. The initial processing time matrix T=T1, defined by an optimal distribution, is iteratively transformed into the m x n 0-matrix. At each iteration h>0, the matrix Th−1 of the previous iteration is updated according to the formed decrementing set Dh at iteration h; in particular, each entry in matrix Th−1 corresponding to an element of set Dh is decreased by a suitably chosen (small enough) number δh resulting in the updated matrix Th of iteration h. δh is chosen in such a way that the new matrix Th possesses similar properties as its predecessor matrix Th−1, i.e., the sum of the elements in each row and column of the updated matrix is no larger than Cmax−∑hi=1δi. The elements in decrementing set Dh define a partial schedule of iteration h of length δh according to the selected portions of processing times.
Let σh be the partial schedule generated by iteration h. Schedule σh is obtained by a mere merging of the partial schedules of each of the iterations 1,…,h. As a result, the makespan of partial schedule σh is τh+1=∑hi=1δi. We will refer to τh+1 as the scheduling time of iteration h+1, the time moment at which the partial schedule of iteration h+1 starts.
The procedure halts at iteration h such that matrix Th is a 0-matrix. At that iteration, σh is a complete feasible schedule. The optimality of this complete schedule is argued using the fact that its makespan is Cmax, a lower bound on the optimum schedule makespan. The authors in [3] also argue that in the initial matrix T and in each following matrix Th there exists a decrementing set using a known Birkhoff and von-Neumann theorem. This theorem states that every doubly stochastic matrix is a linear combination of permutation matrices. By completing matrix T with additional slack rows and columns, an m+n x m+n matrix with the entries of each its row and column summing up to (Cmax) can be obtained. Dividing all the entries of this matrix by (Cmax), a doubly stochastic matrix is obtained. Then a permutation matrix from the theorem is to define a decrementing set.
Example 3. Let us illustrate the scheduling method of Lawler and Labetoulle on a small instance of problem R|pmtn|Cmax. It is basically the instance of Example 1 adopted for the case when all jobs are simultaneously released. To maintain Cmax=18, we increase the processing time of jobs 2 and 3 to 18 and decrease the processing time of job 5 to 10. It can be easily verified that in an optimal distribution to linear program LP2(Cmax) with Cmax=18, we have t13=5, t14=13, t22=5, t26=13, t32=5, t33=13, and t42=8, t45=10. A non-feasible schedule respecting this distribution is depicted in Figure 6a. This schedule can straightforwardly be converted to a feasible schedule of Figure 6b with makespan 23 by imposing a gap [0,5) on machine 3. This schedule is not optimal. An optimal one respecting the above optimal distribution is depicted in Figure 6c.
The scheduling method of Lawler and Labetoulle [3] will generate an optimal schedule as follows. The initial matrix T=T1 of job processing times defined by the optimal distribution is represented in the first quarter of Table 1, where the entries corresponding to the elements of the decrementing set D1 and the following decrementing sets are circled. δ1 can be chosen to be equal to 5. The updated matrix T2 and the entries corresponding to the elements of the decrementing set D2 are shown in the second quarter of Table 1. The first partial schedule with length 5 can be seen as the initial (first) part of the schedule of Figure 6d corresponding to interval [0,5). The computations in the following iterations h=2,3 with δ2=8, δ3=5 are reflected in the next quarters of Table 1 and in the upper parts in the schedule of Figure 6d. Although schedule δ3 of Figure 6d with makespan Cmax=5+8+5=18 is somewhat similar to that of Figure 6c, it splits job 5 on machine 4 (hence it is not a feasible solution to problem R|rj,pmtn − nosplit|Lmax).
![]() |
Now we extend the schedule construction procedure from Section 6.1 for non-simultaneously released jobs. As we saw, an optimal schedule respecting an optimal distribution to any of linear programs that we considered is not necessarily optimal. Moreover, there may exist no globally optimal schedule respecting an optimal distribution, i.e., any such schedule may respect a non-optimal distribution.
Due to the above observations, we aim to find a schedule with the minimum makespan among all schedules respecting a given (not necessarily optimal) distribution, i.e., find an optimal schedule respecting that distribution. We generalize the schedule construction procedure from Section 6.1 maintaining an extra information on which job parts can be scheduled at every scheduling time τh. Note that such a care is to be taken only on the first scheduled part of each job. For that, we introduce an additional row 0 in processing time matrices.
Initially, in the extended matrix T1, the entry t10j in column j of row 0 is rj; iteratively, th0j=max{0,rj−τh}. During the scheduling process, we impose an additional restriction that forbids scheduling of job j at time τh if th0j>0 (independently of whether the corresponding entries are from a tight row or tight column).
As a result, not necessarily a decrementing set will contain one entry from a tight row or a tight column. In particular, set Dh will contain no entry from a (tight) row i if among yet unscheduled job parts assigned to machine i no job is yet released by time τh+1 (i.e., for any positive entry in row i, the corresponding entry in row 0 is positive); likewise, the decrementing set of iteration h will contain no entry from a (tight) column j if job j is not yet released by time τh+1.
We will refer to a row i from matrix Th as ready at iteration h if it contains a positive entry thij>0 such that th0j=0; we will refer to such an entry as valid for row i at iteration h.
Let th0j=0, and let Mh(j) be the set of machines such that the entry thij is valid for i∈Mh(j). Then the ready rows from set Mh(j) are said to be conflicting by job j at iteration h. Note that two or more rows may be conflicting by two or more different jobs.
A decrementing set Dh of iteration h contains one entry from a ready row such that no two entries from the same column are included into that set (since the same job cannot be scheduled on different machines at a time); whenever a ready row i contains an element from a tight column j, the corresponding part of job j can be selected if entry tij is valid at iteration h.
It might not be possible to select an entry from every ready row at a given iteration h since two or more rows may be conflicting by the same jobs in such a way that all entries cannot be selected. For example, if we have two ready rows with valid entries only in, say, column j, then only one of these entries can be selected; likewise, if there are three ready rows with valid entries only in, say, columns j and j′, then only two of these entries, one from column j and the other from column j′, can be selected in decrementing set Dh. We break ties by selecting the corresponding entry from row i with the maximum current load, i.e., with the maximum ∑nl=1thil. If such a row contains several valid entries, then the entry from a column j with the maximum remaining processing time, i.e., with the maximum ∑ml=1thlj is selected. Further ties are broken by selecting an entry from column l such that th−1il∈Dh−1 (i.e., part of job l was included in the decrementing set of the previous iteration). The latter tie breaking rule avoids unnecessary preemption of an already running job. (At every iteration h, the rows can be considered in non-increasing order of their loads and the corresponding valid entries can be selected from a column j with the maximum remaining processing time.)
Let r be the minimum positive element in row 0 at iteration h in matrix Th, i.e., r=minjth0j. The jump δh at iteration h is now defined as the minimum between δh as defined in Lawler and Labetoulle [3] and r.
Since there may exist no more than n district job release times, the extended method yields an additional term n bounding the number of iterations and hence has the same polynomial time complexity as the method of Lawler and Labetoulle [3]. It is not difficult to see that τh∗ is an optimal schedule makespan, where h∗ is the last iteration in the procedure.
Note that the extended procedure will work as the one of Section 6.1 from the earliest scheduling time τh′ such that th′0j=0, for all j=1,…,n, since the corresponding decrementing sets will contains m elements with exactly one element from each tight column (by the construction, all entries in column j will be valid at any iteration h with τh≥rj). In general, the extended procedure will work as the basic one if at every iteration there are m non-conflicting ready rows with an entry in a tight column so that the entries from each tight column are included into the corresponding decrementing sets. Otherwise, in case there is an entry in a tight column that was not selected at an iteration h, the corresponding entry in row 0 should have been positive, i.e., the corresponding job is not released by the current scheduling time τh−1. In other words, if an entry from a tight column j was not included in decrementing set Dh then there is no valid entry from that column at iteration h, equivalently, rj>τh−1. No feasible schedule may include such a job at time τh−1. Likewise, if there are only l<m non-conflicting ready rows at iteration h, then there are only l jobs that can be feasibly scheduled at time τh−1. Our tie breaking rule will include an entry corresponding to each of these l jobs in decrementing set Dh, in total l entries from l rows corresponding to l most loaded machines will be included. Finally, note that among conflicting rows, ties can easily be broken by selecting valid entries from the rows corresponding to most loaded machines.
Example 4. Let us first illustrate the extended scheduling method for the scheduling instance from Theorem 1. Recall an optimal distribution respected by the schedule of Figure 1. Let us first assume that we have a solution to the corresponding partition instance, i.e., we have sets P1 and P2. Then, for the sake of simplicity, we can represent all partition jobs in one column marked as P, see Table 2 below. We update the entries in this column according to the made selections. All partition jobs from sets P1 and P2 are scheduled consequently without creating any machine idle time in two different (aggregated) iterations 2 and 4. In the first quarter of Table 2 an initial extended processing time matrix T0 is presented. For this instance, all three rows are ready from the beginning of iteration 1. The valid entries corresponding to the elements in the decrementing set D1 are circled (note that the corresponding entries in row 0 are 0). Row 1 and column 1 are tight, hence element t11 is circled. From rows 2 and 3 elements t24 and t32 are similarly selected. We have δ1=3 and τ1=3. The part of the schedule of Figure 1 corresponding to the interval [0,3) is the partial schedule σ1 of iteration 1. Matrix T1 is similarly represented in the second quarter of Table 2 (note that the entries in row 0 are updated correspondingly). Now, δ2=1 and hence τ2=4. The part of the schedule of Figure 1 corresponding to the interval [0,4) is partial schedule σ2. Similarly, in the following iterations 3 and 4, δ3=1, τ3=5, and δ4=1 and τ4=6.
![]() |
Schedule σ4 is the resultant complete schedule of Figure 1 which extends through the interval [0,6). Since column 1 is tight, the corresponding parts of job J1 are included in the decrementing sets in iterations 1, 2, 3 and 4 (until this job is completely scheduled). Note that Cmax=6 is attained by both, job J1 and machine 2 in the optimal distribution of Figure 1 (i.e., the total length of job J1 and the load of machine 2, see inequalities 3.1 and 5.1). Hence, schedule σ4 is optimal.
Given an optimal distribution of Figure 1, the extended scheduling procedure will create an optimal schedule without the knowledge of a solution to the PARTITION instance. Then the jumps δi will be determined by the lengths of the selected partition jobs (without our aggregated presentation, the number of iterations would depend on k, in our case, it would be k+2). Note that the procedure may split a partition job or/and job J2, which is not allowed for setting R|rj,pmtn − nosplit|Lmax. For instance, in this example, job J2 was not split on machine 3 the corresponding parts of that job being selected in consecutive iterations 1, 2 and 3 (in fact, we solved an instance of problem R|rj,pmtn − nosplit|Lmax given a solution to the PARTITION instance, see Corollary 2). Finally, note that, depending on the made selections of the decrementing sets, the procedure may create different optimal schedules respecting the same distribution.
Example 1 (continuation 2). Next, we illustrate the extended schedule construction procedure on the problem instance of our basic Example 1. We first construct an optimal schedule of Figure 2d respecting optimal distribution 2 (recall that this schedule is not globally optimal). Table 3 represents the flowchart of the procedure in its 10 iterations (we omit the table with all 0 entries of the last iteration 11). Initially in matrix T1 all entries in row 0 are positive except that of column (job) 5. In particular, only row 4 is ready. Since 2 is the minimum entry in row 0, δ1=2, hence τ1=2. The partial schedule of iteration 1 corresponds to the segment [0,2) of the schedule in Figure 7. In the next matrix T2 there arises one additional ready row 2 with the entry 5 in column 2 (recall that the minimum entry in column 0 of matrix T1 was precisely in column 2). Now the minimum entry in row 0 is 3, hence δ2=min{5,1}=1 and τ1=2+1=3, see again Figure 2d. The entries in the decrementing set D2 correspond to columns 2 and 5 (both, jobs 2 and 5 are released by time 2). Again, in the processing time matrix T3 there arises one additional ready row 1 corresponding to job 3. The decrementing set D3 contains now 3 jobs so that already 3 machines, 1, 2 and 4 become busy. At the next iteration 4 job 6 becomes available on machine 2, but the last unscheduled part of job 2 is scheduled on that machine by our tie breaking rule. The decrementing set of iteration 5 already contains 4 elements, hence all four machines become busy; δ5=1 and τ5=2+1+2+2+1=8, see Figure 7. At iteration 6 all entries in row 0 in matrix T6 are already 0, hence all job parts become released. The procedure continues in the same fashion until it constructs a complete feasible schedule of Figure 2d respecting an optimal distribution 2 to linear program LP4(Cmax).
![]() |
Now we apply our schedule construction procedure to a non-optimal distribution to obtain a globally optimal schedule respecting that distribution. We illustrate this using a non-optimal distribution 3 from Example 1 (see Figure 2e). We represent the flowchart of the procedure in Table 4. Initially at iteration 1 we have one ready row 4 with a single valid entry 13 (corresponding to job 2) which is included into the decrementing set D1; δ1=t102=2 and τ1=2. At iteration 2 row 2 also gets ready with a single valid entry 5 corresponding to job 2; D2={t222,t245}={5,11}, δ2=t203=1 and τ2=2+1=3. At iteration 3 one additional row 1 with a single valid entry 5 corresponding to job 2 gets ready; D3={t313,t322,t345}={5,4,10}; now δ3=t306=2, but since the remaining processing time of job 2 is 13, the same as that of job 6, by our tie breaking rule we include t322 (and not t326) in set D3 (without creating unnecessary preemption of job 2). We respectively skip one iteration by setting δ3=4 and hence letting τ3=2+1+4=7. At iteration 4 all 4 rows are ready and the corresponding four entries marked in the fourth quarter of Table 4 are included in set D4. The next four iterations are similarly reflected in Table 4 (we omitted gain the 0-matrix of iteration 9). The resultant complete optimal schedule with makespan τ8=2+1+4+1+3+2+7+1=21 coincides with that of Figure 2e.
![]() |
We studied preemptive non-split scheduling problem on unrelated machines, where a job part assigned to any machine is to be processed continuously on that machine without any further preemption. This setting is worth of study from both, theoretical and practical points of view. On the one hand, we showed that the problem is NP-hard, contrary to the traditional well-studied split version where a job part, assigned to a machine can be preempted any number of times on that machine. In practice, such redundant interruptions would imply additional setup costs which are typically undesirable. We showed that, in contrary to the traditional setting, an optimal schedule for our no-split problem not necessarily respects an optimal LP-distribution. Hence, alternative solution methods, ones which are not based on linear programming, are required. On the other hand, we extended the earlier proposed method for the construction of an optimal schedule respecting an optimal LP-distribution with simultaneously released jobs. Our extended method takes into account job release times and constructs a schedule with the minimum makespan respecting an LP-distribution for non-simultaneously released jobs.
Optimal distributions to our linear programs, including LP4(Cmax), do not fully capture all required features for the construction of an optimal schedule to problem R|rj;pmtn|Cmax, since an optimal schedule not necessarily respects an optimal LP-distribution to these linear programs. An intelligent linear program would "correctly" estimate the starting time of the first scheduled job on each machine, but this kind of estimation looks unrealistic without actually carrying out the scheduling of assigned job parts. Some optimal distributions may suit better than others, but any optimal schedule may respect a non-optimal distribution. In particular, a schedule with the minimum makespan respecting some non-optimal distribution created by our procedure may be globally optimal. Moreover, no optimal schedule respecting an optimal distribution may exist. The following challenging questions motivate further relevant research in this direction. Can an LP-solver be adopted to generate optimal distributions with some specific favorable properties, which kind of additional restrictions are to be imposed to obtain an optimal LP-distribution with desired favorable properties, which are these favorable properties that a distribution, respected by an optimal schedule, should possesses?
As it is well-known, the problem R|pmtn|Cmax with simultaneously released jobs has a favorable property that the makespan of an optimal schedule respecting an optimal LP-distribution to linear program LP2(Cmax) equals to the corresponding Cmax. As we showed, similar property does not hold for problem R|rj;pmtn|Cmax with non-simultaneously released jobs. In fact, the proposed here procedure for the construction of a schedule with the minimum makespan respecting an LP-distribution may create a schedule with the makespan larger than the corresponding Cmax, whereas it can be applied to any, in general, non-optimal LP-distribution. In particular, we could obtain a globally optimal schedule by applying our schedule construction procedure to a non-optimal LP-distribution. Such distribution may alternatively be obtained using, instead of linear programming, some other method. A study of such alternative methods can be a subject for further research.
Dedicated to the memory of my friend and colleague Badri Mamporia.
The author declares no conflict of interests.
[1] |
T. Gonzalez, S. Sahni, Preemptive scheduling of uniform processor systems, J. Assoc. Comput. Mach., 25 (1978), 92–101. https://doi.org/10.1145/322047.322055 doi: 10.1145/322047.322055
![]() |
[2] | J. Labetoulle, E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, Preemptive scheduling of uniform machines subject to release dates, In: Progress in combinatorial optimization, New York: Academic Press, 245–261, 1984. https://doi.org/10.1016/B978-0-12-566780-7.50020-9 |
[3] |
E. L. Lawler, J. Labetoulle, On preemptive scheduling of unrelated parallel processors by linear programming, J. Assoc. Comput. Mach., 25 (1978), 612–619. https://doi.org/10.1145/322092.322101 doi: 10.1145/322092.322101
![]() |
[4] |
C. N. Potts, Analysis of a linear programming heuristic for scheduling unrelated parallel machines, Discrete Appl. Math., 10 (1985), 155–164. https://doi.org/10.1016/0166-218X(85)90009-5 doi: 10.1016/0166-218X(85)90009-5
![]() |
[5] |
J. K. Lenstra, D. B. Shmoys, E. Tardos, Approximation algorithms for scheduling unrelated parallel machines, Math. Program., 46 (1990), 259–271. https://doi.org/10.1007/BF01585745 doi: 10.1007/BF01585745
![]() |
[6] |
E. Shchepin, N. Vakhania, An optimal rounding gives a better approximation for scheduling unrelated machines, Oper. Res. Lett., 33 (2005), 127–133. https://doi.org/10.1016/j.orl.2004.05.004 doi: 10.1016/j.orl.2004.05.004
![]() |
[7] |
T. Gonzalez, S. Sahni, Open shop scheduling to minimize finish time, J. Assoc. Comput. Mach., 23 (1976), 665–679. https://doi.org/10.1145/321978.321985 doi: 10.1145/321978.321985
![]() |
[8] |
T. Gonzalez, E. L. Lawler, S. Sahni, Optimal preemptive scheduling of two unrelated processors, ORSA J. Comput., 2 (1990), 209–301. https://doi.org/10.1287/ijoc.2.3.219 doi: 10.1287/ijoc.2.3.219
![]() |
[9] |
E. Shchepin, N. Vakhania, On the geometry, preemptions and complexity of multiprocessor and open shop scheduling, Ann. Oper. Res., 159 (2008), 183–213. https://doi.org/10.1007/s10479-007-0266-1 doi: 10.1007/s10479-007-0266-1
![]() |
[10] |
M. Foumani, K. Smith-Miles, The impact of various carbon reduction policies on green flowshop scheduling, Appl. Energ., 249 (2019), 300–315. https://doi.org/10.1016/j.apenergy.2019.04.155 doi: 10.1016/j.apenergy.2019.04.155
![]() |
[11] |
G. L. Gong, Q. W. Deng, X. R. Gong, D. Huang, A non-dominated ensemble fitness ranking algorithm for multi-objective flexible job-shop scheduling problem considering worker flexibility and green factors, Knowl. Based Syst., 231 (2021), 107430. https://doi.org/10.1016/j.knosys.2021.107430 doi: 10.1016/j.knosys.2021.107430
![]() |
1. | Jan Karel Lenstra, Nodari Vakhania, On the complexity of scheduling unrelated parallel machines with limited preemptions, 2023, 51, 01676377, 187, 10.1016/j.orl.2023.02.004 | |
2. | Yaru Yang, Man Xiao, Weidong Li, Semi-Online Algorithms for the Hierarchical Extensible Bin-Packing Problem and Early Work Problem, 2024, 12, 2079-3197, 68, 10.3390/computation12040068 | |
3. | Guojun Hu, Pengxiang Pan, Junran Lichen, Lijian Cai, 2024, Chapter 3, 978-981-97-7800-3, 27, 10.1007/978-981-97-7801-0_3 | |
4. | Azhar Mahdi Ibadi, Rosshairy Abd Rahman, Modified artificial fish swarm algorithm to solve unrelated parallel machine scheduling problem under fuzzy environment, 2024, 9, 2473-6988, 35326, 10.3934/math.20241679 | |
5. | Lotfi Hidri, Flexible flow shop scheduling problem with removal times, 2025, 23071877, 10.1016/j.jer.2025.01.010 |
![]() |
![]() |
![]() |
![]() |