Open Access is an initiative that aims to make scientific research freely available to all. To date our community has made over 100 million downloads. It’s based on principles of collaboration, unobstructed discovery, and, most importantly, scientific progression. As PhD students, we found it difficult to access the research we needed, so we decided to create a new Open Access publisher that levels the playing field for scientists across the world. How? By making research easy to access, and puts the academic needs of the researchers before the business interests of publishers.
We are a community of more than 103,000 authors and editors from 3,291 institutions spanning 160 countries, including Nobel Prize winners and some of the world’s most-cited researchers. Publishing on IntechOpen allows authors to earn citations and find new collaborators, meaning more people see your work not only from your own field of study, but from other related fields too.
To purchase hard copies of this book, please contact the representative in India:
CBS Publishers & Distributors Pvt. Ltd.
www.cbspd.com
|
customercare@cbspd.com
In this chapter, we consider the single machine scheduling problem with given release dates, processing times, and due dates with two objective functions. The first one is to minimize the maximum lateness, that is, maximum difference between each job due date and its actual completion time. The second one is to minimize the maximum completion time, that is, to complete all the jobs as soon as possible. The problem is NP-hard in the strong sense. We provide a polynomial time algorithm for constructing a Pareto-optimal set of schedules on criteria of maximum lateness and maximum completion time, that is, problem
1
∣
r
j
∣
L
max
,
C
max
, for the subcase of the problem:
d
1
≤
d
2
≤
…
≤
d
n
;
d
1
−
r
1
−
p
1
≥
d
2
−
r
2
−
p
2
≥
…
≥
d
n
−
r
n
−
p
n
.
We consider a classical scheduling problem on a single machine. A release time of each job is predefined and represents the minimum possible start time of the job. When constructing schedules, we consider two objective functions. The first one is to minimize the maximum lateness, that is, maximum difference between each job due date and its actual completion time. The second one is to minimize the maximum completion time, that is, to complete all the jobs as soon as possible. The problem is NP-hard in the strong sense [1]. We provide a polynomial time algorithm for constructing a Pareto-optimal set of schedules on criteria of maximum lateness and maximum completion time, that is, problem 1∣rj∣Lmax,Cmax, for the subcase of the problem when due dates are: d1≤d2≤…≤dn;d1−r1−p1≥d2−r2−p2≥…≥dn−rn−pn. Example of a problem case that meets these constraints will be the case when all jobs have the same time for processing before due date.
We consider single machine scheduling problem, where a set of n jobs N=12…n has to be processed on a single machine. Each job we is numbered, that is, the entry “job j” is equivalent to the entry “job numbered j.” Simultaneous executing of jobs or preemptions of the processing of a job are prohibited. For jobs j∈N, value rj is the minimum possible start time, pj≥0 is a processing time of job j and dj is a due date of job j.
The schedule is represented by a set π=sjj∈N of start times of each job. By τ, we denote the permutation of j1…jn elements of the set N. A set of all different schedules of jobs from the set N is denoted by ΠN. Schedule π is called feasible if sjπ≥rj, ∀j∈N. We denote the completion time of job j∈N in schedule π as Cjπ. Difference Ljπ=Cjπ−dj, j∈N, denotes lateness of job j in the schedule π. Maximum lateness of jobs of the set N under the schedule π is
Lmaxπ=maxj∈NCjπ−dj.E1
We denote the completion time of all jobs of the set N in schedule π as
Cmaxπ=maxj∈NCjπ.
The problem is to find the optimal schedule π∗ with the smallest value of the maximum lateness:
Lmax∗=minπ∈ΠNLmaxπ=Lmaxπ∗.E2
For any arbitrary set of jobs M⊆N we also denote:
rM=minj∈Mrj,dM=maxj∈Mdj,pM=∑j∈Mpj.E3
In the standard notation of Graham et al. [2], this problem is denoted as 1∣rj∣Lmax. Intensive work on the solution of this problem has continued since the early 50s of the 20th century. Lenstra et al. [1] showed that the general case of the problem 1∣rj∣Lmax is NP-hard in the strong sense.
Potts [3] introduced an iterative version of extended Jackson rule (IJ) [4] and proved that LmaxπIJLmax∗≤32. Hall and Shmoys [5] modified the iterative version and created an algorithm (MIJ) that guarantees the evaluation LmaxπMIJLmax∗≤43. They also presented two approximation schemes that guarantee finding ε-approximate solution in Onlogn+n1/εO1/ε2 and On/εO1/ε operations. Mastrolilli [6] introduced an improved approximation scheme with complexity of On+1/εO1/ε operations.
A number of polynomially solvable cases of the problem were found, starting with Jackson’s early result [4] for the case rj=0, j∈N, when the solution is a schedule in which jobs are ordered by nondecreasing due dates (by rule EDD). Such a schedule is also be optimal for the case when the release times and due dates are associated (ri≤rj⇔di≤dj, ∀i,j∈N).
Schedule is constructed according to the extended Jackson rule (Schrage schedule): on the next place in the schedule we select a released non-ordered job with the minimum due date; if there are no such jobs, then we select the job with the minimum release time among the unscheduled jobs.
If process times of all jobs are equal, the complexity can be reduced to Onlogn [7]. Vakhania generalized this result [8] considering the case when the processing times of some jobs are restricted to either p or 2p. An algorithm with complexity of On2lognlogp was suggested.
A case when job processing times are mutually divisible is considered in [9]. Author suggest a polynomial-time algorithm with a complexity of On3lognlog2pmax operations for solving this case.
Special cases 1∣prec;rj∣Cmax, 1∣prec;pj=p;rj∣Lmax and 1∣prec;rj;pmtn∣Lmax with precedence constraints for jobs have been addressed in works of Lawler [10], Simons [11], Baker et al. [12]. Hoogeveen [13] proposed a polynomial algorithm for the special case when job parameters satisfy the constraints dj−pj−A≤rj≤dj−A, ∀j∈N, for some constant A. A pseudo-polynomial algorithm for the NP-hard case when release times and due dates are in the reversed order (d1≤…≤dn and r1≥…≥rn) was developed in [14].
We denote by LjAπ and CjAπ the lateness and completion time of job j∈N in schedule π, for instance, A with job parameters rjApjAdjA, j∈N. Respectively, LmaxAπ=maxj∈NLjAπ is a maximum lateness of the schedule π for instance A.
This paper deals with a problem with two objective functions Lmax and Cmax, which in general case can be referred as 1∣rj∣Lmax,Cmax. This problem was considered in [15], where authors consider some dominance properties and conditions when the Pareto-optimal set can be formed in polynomial time.
Definition 1.1 For any instance A of the problem, each permutation τ of the jobs of the set N is uniquely defines early scheduleπτA. In the early schedule, each job j∈N starts immediately after the end of the previous job in the corresponding permutation. If the completion time of the previous job is less than the release time of the current job, then the beginning of the current job is equal to its release time. That is, if τ=j1j2…jn, then πτA=sj1sj2…sjn, where
sj1=rj1A,sjk=maxsjk−1+pjk−1ArjkA,k=2,…,n.E4
Early schedules play an important role in our construction, since it is sufficient to check all early schedules to find the optimal schedule of any problem instance.
By τA we denote the optimal permutation and πA we denote the optimal schedule for instance A. Only early optimal schedules are be considered, that is, πA=πτAA.
We denote by ΠN the set of all permutations of jobs of the set N, and by ΠA the set of feasible schedules for instance A.
This section deals with the problem of constructing a Pareto-optimal set by criteria Cmax and Lmax, that is, problem 1∣rj∣Lmax, Cmax. We suggest an algorithm for constructing a set of schedules ΦNt=π1′π2′…πm′ for which
Cmaxπ1′<Cmaxπ2′<…<Cmaxπm′,E5
Lmaxπ1′>Lmaxπ2′>…>Lmaxπm′.E6
There is no schedule π such that Cmaxπ≤Cmaxπi′ and Lmaxπ≤Lmaxπi′, at least one of the inequalities is strict for some i, i=1,…,m. It is shown that m≤n.
3.1 Problem properties
We denote the precedence of the jobs i and j in schedule π as i→jπ. We also introduce
rjt=maxrjt;E7
rNt=minj∈Nrjt.E8
In cases when its obvious how many jobs we mean, we write rt instead of rNt.
We assume that the job parameters satisfy the following constraints:
d1≤…≤dn,d1−r1−p1≥…≥dn−rn−pn.E9
For example, these constraints correspond to the case when dj=rj+pj+z, j=1,…,n, where z is a constant, that is, when all jobs have the same time for processing before due date. A problem with similar constraints but for a single objective function (Lmax) is considered in [16].
We assume that ∣N∣>1 and t is the time when the machine is ready. From the set N, we find two jobs f=fNt and s=sNt in the following way:
fNt=argminj∈Ndjrjt=rNt,E10
sNt=argminj∈N\fdjrjt=rN\ft,E11
where f=fNt. If N=i, then we set fNt=i, sNt=0, ∀t. We also define d0=+∞, f∅t=0, s∅t=0, ∀t. For jobs f and s the following properties are true.
Lemma 1.1 If the jobs of the set N satisfy (4), then for any schedule π∈ΠN for all j∈N\f, for which j→fπ
Ljπ<LfπE12
is true, and for all j∈N\fs, satisfying the condition j→sπ,
Ljπ<Lsπ,E13
where f=fNt and s=sNt, is also true.
Proof: For each job j such that j→fπ, completion time Cjπ<Cfπ. If dj≥df, then obviously
If for job j∈N, j→fπ, then dj<df. Then rj>rf. If rj≤rf, then rjt≤rft and rft=rt, as follows from (7) and (10). Then rjt=rft=rt and dj<df, but this contradicts the definition of job f (10). Therefore, rj>rf. Its obvious that Cjπ−pj<Cfπ−pf and, since rj>rf,
Cjπ−pj−rj<Cfπ−pf−rf,E15
Cjπ−Cfπ<pj+rj−pf−rf.E16
Since dj<df, then (from (9)) dj−rj−pj≥df−rf−pf or dj−df≥rj+pj−rf−pf, so Cjπ−Cfπ<pj+rj−pf−rf≤dj−df. Then, Ljπt<Lfπt for each job j,j→fπ.
The inequality (13) can be proved in a similar way.
For each job j satisfying the condition j→sπ, we have Cjπ<Csπ. If dj≥ds, then Ljπt=Cjπ−dj<Csπ−ds=Lsπt, therefore (13) is true.
Let for the job j∈N\f, j→sπ, dj<ds, then rj>rs. Indeed, if we assume that rj≤rs, then rjt≤rst (it follows from (7)). In addition, rst≥rt for any job s according to definitions (8) and (11). If rst=rt, then for the jobs j and s we can write rjt=rst=rt and dj<ds, which contradicts the definition (11) of job sNt. If rst>rt, that is, rs>rt, then there is no job i∈N\fs, for which rs>ri>rt. Therefore, for the jobs j and s we get rjt=rst and dj<ds, which contradicts the definition (11) of job sNt. Therefore, rj>rs.
Since Cjπ≤Csπ−ps and pj>0, then Cjπ−pj<Csπ−ps and since rj>rs, therefore Cjπ−pj−rj<Csπ−ps−rs and
Cjπ−Csπ<pj+rj−ps−rs.E17
Since dj<ds, then from (9) we have dj−rj−pj≥ds−rs−ps or
Cjπ−Csπ<pj+rj−ps−rs≤dj−ds.E18
Hence, Ljπ<Lsπ for each job j∈N\f,j→sπ.
Theorem 1.1 If conditions (9) are true for jobs in the subset N′⊆N, then at any time t′≥t and any early schedule π∈ΠN′ there exists π′∈ΠN′ such that
Lmaxπ′t′≤Lmaxπt′,andCmaxπ′t′≤Cmaxπt′E19
and one of the jobs f=fN′t′ or s=sN′t′ is at the first position in schedule π′. If df≤ds, then job f is at the first position in schedule π′.
Proof: Let π=π1fπ2sπ3, where π1,π2 and π3 are partial schedules of π. Then, we construct a schedule π′=fπ1π2sπ3. From the definitions (7), (8), (10) we get rft′≤rjt′, j∈N′, hence Cmaxfπ1t′≤Cmaxπ1ft′ and
Cmaxπ′t′≤Cmaxπt′,andE20
Ljπ′t′≤Ljπt′,∀j∈π2sπ3.E21
From the lemma 1.1 we have
Ljπ′t′<Lsπ′t′,∀j∈π1∪π2.E22
Obviously, the following inequality is true for job f
Lfπ′t′≤Lfπt′.E23
From (20)–(23) we get Cmaxπ′t′≤Cmaxπt′ and Lmaxπ′t′≤Lmaxπt′.
Let π=π1sπ2fπ3, that is, job s is before job f. Construct a schedule π′=sπ1π2fπ3. Further proof may be repeated as for job f. The first part of the theorem is proved.
Let us assume df≤ds and the schedule π=π1sπ2fπ3. Then, we construct a schedule π′=fπ11π12π3, where π11,π12 are schedules of jobs of the sets j∈N′:j∈π1sπ2dj<df and j∈N′:j∈π1sπ2dj≥df. Jobs in π11 and π12 are ordered according to nondecreasing release times rj. From ds≥df we can conclude that s∈π12.
For each job j∈π11 we have dj<df. Of (9) we get dj−rj−pj≥df−rf−pf, hence rj+pj<rf+pf, ∀j∈π11, and Cmaxfπ11t′=rft′+pf+∑j∈π11pj. Since jobs in schedule π12 are sorted by nondecreasing release times, then Cmaxfπ11π12t′≤Cmaxπ1sπ2ft′. As a result
Cmaxπ′t′≤Cmaxπt′,andE24
Ljπ′t′≤Ljπt′,∀j∈π3.E25
Job j∈π12 satisfies dj≥df and Cjπ′t′≤Cfπt′, which means
Ljπ′t′≤Lfπt′,∀j∈π12.E26
Since s∈π12, then
Lsπ′t′≤Lfπt′.E27
From the lemma 1.1
Ljπ′t′≤Lsπ′t′,∀j∈π11.E28
Moreover, it is obvious that
Lfπ′t′≤Lfπt′.E29
From inequalities (24)–(29) it follows that Cmaxπ′t′≤Cmaxπt′ and Lmaxπ′t′≤Lmaxπt′, the theorem is proved.
We call a schedule π′∈ΠNeffective if there is no schedule π∈ΠN such that Lmaxπ≤Lmaxπ′ and Cmaxπ≤Cmaxπ′, that is, at least one inequality would be strict.
Thus, when constraints (9) are satisfied for jobs from the set N, then there is an effective schedule π′, in which either the job f=fNt, or s=sNt is present. Moreover, if df≤ds, then there is an effective schedule π′ with a priority of job f.
We define the set of schedules ΩNt as a subset of ΠN consisting of n! schedules. Schedule π=i1i2…in belongs to ΩNt if we choose job ik,k=1,2,…,n as fk=fNk−1Cik−1 or sk=sNk−1Cik−1, where Nk−1=N\i1i2…ik−1, Cik−1=Cik−1π and N0=N, Ci0=t. For dfk≤dsk it is true that ik=fk, so if dfk>dsk, then ik=fk or ik=sk. Its obvious that the set of schedules ΩNt contains at most 2n schedules.that is, p2i>y≥p2i−1.
The set ΩNt contains 2m schedules. The value of y is used below in the text. The optimal solution of the problem 1∣rj,dj=rj+pj,Lmax≤y∣Cmax is π∗=2,1,4,3…nn−1.
Theorem 1.2 If for the jobs of the subset N′⊆N,∣N′∣=n′, is true (9), then at any time t′≥t and any schedule π∈ΠN′ exists a schedule π′∈ΩN′t′ such that
Lmaxπ′t′≤Lmaxπt′andCmaxπ′t′≤Cmaxπt′.E30
Proof: Let π=j1j2…jn′ be an arbitrary schedule. We denote the first l jobs of the schedule π as πl,l=0,1,2,…,n′, where π0 is an empty schedule, and π¯l=jl+1…jn′, then π=πlπ¯l. We introduce Nl=N′\πl and Cl=Cmaxπlt′. Suppose for some l,0≤l<n′, πl is the largest initial partial the schedule of some schedule from ΩN′t′. If j1≠fN′t′ and j1≠sN′t′, then πl=π0, l=0, then the largest partial schedule is empty. Let us say f=fNlCl and s=sNlCl. If df>ds, then jl+1≠f and jl+1≠s, moreover when df≤ds, then jl+1≠f, since πl+1 is not an initial schedule of some schedule from ΩN′t′.
According to the theorem 1.1 for the jobs of the set π¯l,π¯l∈ΠNl, there is a schedule π¯l′ starting at time Cl, for which Lmaxπ¯l′Cl≤Lmaxπ¯lCl, Cmaxπ¯l′Cl≤Cmaxπ¯lCl, and π¯l′1=fors, moreover, with df≤ds, true π¯l′1=f, where σk is the job in the k-th place in schedule σ. Hence, Lmaxπlπ¯l′t′≤Lmaxπlπ¯lt′ and Cmaxπlπ¯l′t′≤Cmaxπlπ¯lt′.
Let us denote π′=πlπ¯l′. A feature of schedule π′ is that the first l+1 jobs are the same as first l+1 jobs of some schedule from the set ΩN′t′, and Lmaxπ′t′≤Lmaxπt′, Cmaxπ′t′≤Cmaxπt′.
After no more than n′ sequential conversions (since schedule length n′≤n) of the original randomly selected schedule π we come to schedule π′∈ΩN′t′, for which Lmaxπ′t′≤Lmaxπt′ and Cmaxπ′t′≤Cmaxπt′. The theorem is proved.
We form the following partial schedule ωNt=i1i2…il. For each job ik,k=1,2,…,l, we have ik=fk and dfk≤dsk, where fk=fNk−1Ck−1 and sk=sNk−1Ck−1. For f=fNlCl and s=sNlCl inequality df>ds is true. In case when df>ds for f=fNt and s=sNt, then ωNt=∅. So ωNt is the “maximum” schedule, during the construction of which job (like f) for the next place of the schedule can be uniquely selected. We can construct a schedule ωNt for set of jobs N starting at time t using the algorithm 1.1.
Algorithm 1.1 for constructing schedule ωNt.
1: Initial step. Let ω=∅.
2: Main step. Find the jobs f≔fNt and s≔sNt;
3: ifdf≤dsthen
4: ω≔ωf
5: else
6: algorithm stops;
7: end if
8: Let N≔N\f, t≔rft+pf and go to the next main step.
Lemma 1.2 The complexity of the algorithm 1.1 for finding the schedule ωNt is at most Onlogn operations for any N and any t.
Proof: At each iteration of the algorithm 1.1 we find two jobs: f=fNt and s=sNt. If jobs are ordered by release times rj (and, accordingly, time rt is for O1 operations), then to find two jobs (f and s) you need Ologn operations. Total number of iterations is not more than n. Thus, constructing a schedule ωNt requires Onlogn operations.
The main step of algorithm 1.1 is finding the jobs f and s and it requires at least Ologn operations. Obviously, the number of iterations of the algorithm is O(n), therefore, the complexity of the algorithm 1.1 of Onlogn operations is the minimum possible for constructing the schedule ωNt.
Lemma 1.3 If for jobs of the set Nconditions (9) are true, then any schedule π∈ΩNt starts with the schedule ωNt.
Proof: If ωNt=∅, that is, df>ds, where f=fNt, s=sNt, the statement of the lemma is true, since any schedule starts from empty.
Let ωNt=i1i2…il, l>0, and so for each ik, k=1,2,…,l, we have ik=fk and dfk≤dsk, where fk=fNk−1Ck−1 and sk=sNk−1Ck−1. For f=fNlCl and s=sNlCl it is true that df>ds. As seen from the definition of the set of schedules ΩNt all schedules in this subset start with a partial schedule ωNt.
Let us use the following notation ω1Nt=fωN′t′ and ω2Nt=sωN″t′′, where f=fNt,s=sNt,N′=N\f,N′′=N\s,t′=rft+pf,t′′=rst+ps. Obviously, the algorithm for finding ω1 (as well as ω2) requires Onlogn operations, as much as the algorithm for constructing ωNt.
Consequence 1.1 from Lemma 1.3. If the jobs of the set N satisfy conditions (9), then each schedule π∈ΩNt starts either with ω1Nt, or with ω2Nt.
Theorem 1.3 If the jobs of the set N satisfy conditions (9), then for any schedule π∈ΩNt it is true that i→jπ for any i∈ω1Nt and j∈N\ω1Nt.
Proof: In the case ω1Nt=N statement of the theorem is obviously true. Let ω1Nt≠N. Further in in the proof we use the notation ω1=ω1Nt.
If f=fNt and s=sNt are such that df≤ds, then all schedules from the set ΩNt begin with a partial schedule ωNt=ω1, therefore the statement of the theorem is also true.
Consider the case of df>ds. All schedules from set ΩNt starting with job f have partial schedule ωNt=ω1.
Let us choose any arbitrary schedules π∈ΩNt with job s comes first, π1=s, and any schedule ∣ω1∣=l,l<n, containing l jobs. Let πl=j1j2…jl be a partial schedule of schedule π containing l jobs, where j1=s. We need to prove that πl=ω1. Let us assume the contrary that there is a job j∈πl, but j∉ω1.
For case j→fπ we need to check two subcases. If dj<df, then from (9) we have dj−rj−pj≥df−rf−pf, therefore rj+pj<rf+pf. Then job j is included in schedule ω1 according to the definition of ωNt and ω1, but by our assumption j∉ω1. If dj≥df, then from the fact that π∈ΩNt follows f→jπ, but this contradicts j→fπ. Therefore, j∈ω1.
The other case is f→jπ. Then for each job i∈ω1, for which i∉πl, conditions ri<ri+pi≤Cmaxω1<rsl+1≤rj are true, because j∉ω1, where sl+1=sN\ω1Cmaxω1. Jobs sl+1 and j were not ordered in schedule ω1, therefore, Cmaxω1<rsl+1≤rj. Besides, di≤dj. If di>dj, then ri+pi≥rj+pj, but ri+pi<rj is true. Hence i→jπl, since π=πlπ¯l∈ΩNt, but it contradicts our guess that i∉πl and j∈πl.
Therefore, our assumption is not true and ω1=πl. The theorem is proved.
Therefore, jobs of the set ω1Nt precede jobs of the set N\ω1Nt for any schedule from the set ΩNt, including the optimal schedule.
3.2 Performance problem with constraint on maximum lateness
The problem 1∣di≤dj,di−ri−pi≥dj−rj−pj;Lmax≤y∣Cmax consists of the following. We need to find schedule θ for any y with Cmaxθ=minCmaxπ:Lmaxπ≤y. If Lmaxπ>y for any π∈ΠN, then θ=∅.
Lemma 1.4 The complexity of algorithm 1.2 does not exceed On2logn operations.
Proof: At each iteration of the main step of the algorithm 1.2 we find the schedules ω1 and, if necessary, ω2 in Onlogn operations. Since ω1 and ω2 consist of at least one job, then at each iteration of the algorithm we either add one or mere jobs to the schedule θ, or assume θ=∅ and stop. Therefore, the total number of steps of the algorithm is at most n. Thus, algorithm 1.2 requires On2logn operations.
Algorithm 1.2 for solving the problem 1∣di≤dj,di−ri−pi≥dj−rj−pj;Lmax≤y∣Cmax.
1: Initial step. Let θ≔ωNt,t′≔t;
2: Main step.
3: ifLmaxθt′>ythen
4: θ≔∅ and the algorithm stops.
5: end if
6: Find N′≔N\θ, t′≔Cmaxθ and ω1N′t′,ω2N′t′.
7: ifN′=∅then
8: the algorithm stops.
9: else
10: ifLmaxω1t′≤ythen
11: θ≔θω1 and go to next step;
12: end if
13: ifLmaxω1t′>y and Lmaxω2t′≤ythen
14: θ≔θω2 and go to next step;
15: end if
16: ifLmaxω1t′>y and Lmaxω2t′>ythen
17: θ≔∅ and the algorithm stops.
18: end if
19: end if
The problem 1∣di≤dj,di−ri−pi≥dj−rj−pj;Lmax≤y∣Cmax cannot be solved in less than On2logn operations because there exists (Example 1.1). The optimal schedule for this example is π∗=2,1,4,3…nn−1. To find this schedule, we need On2logn operations.
We denote by θNty the schedule constructed by algorithm 1.2 starting at time t from the jobs of the set N with the maximum lateness not more than y. If N=∅, then θ∅ty=∅ for any t and y.
Theorem 1.4 Let the jobs of the set N satisfy conditions (9). If the algorithm 1.2 constructs the schedule θNty≠∅, then Cmaxθ=minCmaxπ:Lmaxπ≤yπ∈ΠN. If, as a result of the algorithm 1.2 the schedule will not be generated, that is, θNty=∅, then Lmaxπ>y for each π∈ΠN.
Proof: In case if for schedule π∈ΠN condition Lmaxπ≤y is true, then according to Theorem 1.2 there is a schedule π′∈ΩNt such that Lmaxπ′≤Lmaxπ≤y and Cmaxπ′≤Cmaxπ. Therefore, the required schedule θ contains in set ΩNt.
According to Lemma 1.3, all schedules of the set ΩNt start with ωNt. Let us take θ0=ωNt.
After k,k≥0 main steps of the algorithm 1.2 we got the schedule θk and N′=N\θk, t′=Cmaxθk. Let us assume that there is an optimal by the criterion of maximum completion time (Cmax) schedule θ starting with θk. According to Theorem 1.2, there is an optimal extension of the schedule θk among the schedules from the set ΩN′t′.
Let θk+1=θkω1N′t′, that is, Lmaxθk+1≤y. According to Theorem 1.3, for schedule ω1, ω1=ω1N′t′, there is no artificial idle times of the machine and all schedules from the set ΩN′t′ start with jobs of the set ω1N′t′. Therefore, ω1N′t′ is the best by the criterion of Cmax among all feasible by maximum lateness (Lmax) extensions of the partial schedule θk.
If θk+1=θkω2N′t′, that is, Lmaxω1t′>y, and Lmaxω2t′≤y. All schedules of the set ΩN′t′ start with either schedule ω1N′t′ or ω2N′t′. As Lmaxω1t′>y, then the only suitable extension is ω2N′t′.
Thus, at each main step of the algorithm, we choose the fastest continuation of the partial schedule θk among all those allowed by the maximum lateness. After no more than n main steps of the algorithm, the required schedule is constructed.
Let us assume that after the k+1 steps of the algorithm Lmaxω1t′>y and Lmaxω2t′>y. If schedule θ could exist, that is, θ≠∅, then θ would start with θk. Then for any schedule π∈ΠN′t′ there would exist a schedule π′∈ΩN′t′ such that Lmaxπt′≥Lmaxπ′t′≥Lmaxω1t′>y or Lmaxπt′≥Lmaxπ′t′≥Lmaxω2t′>y. Therefore θ=∅.
Repeating our proof as many times as the main step of algorithm 1.2 (no more than n), we come to the truth of the statement of the theorem.
3.3 Algorithm for constructing a set of Pareto schedules by criteria Cmax and Lmax
Let us develop an algorithm for constructing a set of Pareto schedules ΦNt=π1′π2′…πm′, m≤n, by criteria Cmax and Lmax according to conditions (5)–(6).
Schedule πm′ is a solution to problem 1∣rj∣Lmax if (9) is true.
Algorithm 1.3 for constructing a set of Pareto schedules by criteria Cmax and Lmax.
1: Initial step.Y≔+∞, π∗≔ωNt, Φ≔∅, m≔0, N′≔N\π∗ and t′≔Cmaxπ∗.
2: ifN′=∅then
3: Φ≔Φ∪π∗,m≔1 and the algorithm stops.
4: end if
5: Main step.
6: ifLmaxω1t′≤Lmaxπ∗then
7: π∗≔π∗ω1, where ω1=ω1N′t′ and go to the next step;
8: end if
9: ifLmaxω1t′>Lmaxπ∗then
10: ifLmaxω1t′<ythen
11: find θ=θN′t′y′ using algorithm 1.2, where y′=Lmaxω1t′;
12: ifθ=∅then
13: π∗≔π∗ω1 and go to the next step;
14: else
15: π′≔π∗θ
16: ifCmaxπm′<Cmaxπ′then
17: m≔m+1, πm′≔π′, Φ≔Φ∪πm′, y=Lmaxπm′;
18: else
19: πm′=π′ and go to next step;
20: end if
21: end if
22: ifLmaxω1t′≥ythen
23: find ω2=ω2N′t′;
24: ifLmaxω2t′<ythen
25: π∗=π∗ω2 and go to the next step;
26: else
27: π∗=πm' and the algorithm stops.
28: end if
29: end if
30: end if
31: end if
As a result of the algorithm 1.3, a set of schedules ΦNt is constructed, for the set of jobs N starting at time t, for which inequality 1≤∣ΦNt∣≤n true. We should note that the set ΦNt for Example 1.1 consists of two schedules, although set ΩNt consists of 2n2 schedules:
π1′=1,2,3,4…n−1n,E31
π2′=2,1,4,3…nn−1.E32
Lemma 1.5 The complexity of the algorithm 1.3 does not exceed On3logn operations.
Proof: At each iteration of the main step of the algorithm 1.3 we find schedules ω1 and, if necessary, ω2, which requires Onlogn operations according to lemma 1.2, and also schedule θ in On2logn operations. As ω1 and ω2 consist of at least one job, then at any iteration of the algorithm one or more jobs are added to the schedule π∗, or the algorithm stops at last schedule π′. Therefore, the total number of iterations is at most n. Thus, it takes no more than On3logn operations to execute algorithm 1.3.
Theorem 1.5 If case if (9) is true for each job of the set N, then the schedule π∗, constructed by algorithm 1.3, is optimal according to the criterion Lmax. Moreover, for any schedule π∈ΠN there exists a schedule π′∈ΦNt such that Lmaxπ′≤Lmaxπ and Cmaxπ′≤Cmaxπ.
Proof: According to Theorem 1.2, there exists an optimal (by Lmax) schedule from set ΩNt. According to Lemma 1.3, all schedules of the set ΩNt start with a partial schedule ωNt.
Let π0=ωNt. After k, k≥0, main steps of algorithm 1.3 we have a partial schedule πk. Suppose there is an optimal (by Lmax) schedule starting with πk. We denote N′=N\πk and t′=Cmaxπk.
If πk+1=πkω1, where ω1=ω1N′t′, then either Lmaxω1t′≤Lmaxπk, or Lmaxπk<Lmaxω1t′<y, that is, current value of the criterion and the maximum lateness will “appear” on next steps of the algorithm 1.3. That is, θN′t′y′=∅, where y′=Lmaxω1t′. If θ=θN′t′y′≠∅, then we improve the current maximum lateness value: π′=πkθ and y=Lmaxπ′=Lmaxω1t′. The schedule π′ is added to the set of schedules ΦNt. Moreover, according to Theorem 1.3 jobs of set ω1 precede jobs of set N′\ω1. Thus, the schedule ω1alert(without artificial idle times of the machine) would be the best continuation for πk.
If πk+1=πkω2, where ω2=ω2N′t′, that is, according to algorithm 1.3 Lmaxω2t′<Lmaxπ′≤Lmaxω1t′. In this case the continuation ω2 is “better” than ω1. Hence, the partial schedule πk+1 is a part of some optimal schedule.
Repeating our proof no more than n times, we come to optimality (for Lmax) of the schedule π∗.
The set of schedules ΦNt contains at most n schedules, since at each main step of the algorithm in the set ΦNt at most one schedule is “added,” and this step is executed no more than n times.
Suppose there is a schedule π∈ΠN,π∉ΦNt, such that either Cmaxπ≤Cmaxπ′ and Lmaxπ≥Lmaxπ′, or Cmaxπ≥Cmaxπ′ and Lmaxπ≤Lmaxπ′ for each schedule π′∈ΦNt. Moreover, in each pair of inequalities at least one inequality is strict. According to Theorem 1.1, there is a schedule π′′∈ΩNt such that Lmaxπ′′≤Lmaxπ and Cmaxπ′′≤Cmaxπ. If π′′∈ΦNt. Thus, it becomes obvious that our assumption is not correct. Let π′′∈ΩNt\ΦNt. Algorithm 1.3 shows that the structure of each schedule π′∈ΦNt can be represented as a sequence of partial schedules π′=ω0′ω1′ω2′…ωk′′, where ω0′=ωNt, and ωi′ is either ω1Ni′Ci′, or ω2Ni′Ci′, and Ni′=N\ω0′…ωi−1′, Ci′=Cmaxω0′…ωi−1′t,i=1,2,…,k′. The schedule π′′ has the same structure according to the definition of the set ΩNt, that is, π=ω′0′ω′1′ω′2′…ω′k′′′, possibly k′′≠k′, where ω′0′=ω0′=ωNt,ω′i′ is equal to either ω1N′i′C′i′, or ω2N′i′C′i′, a N′i′=N\ω′0′…ω′i−1′, C′i′=Cmaxω′0′…ω′i−1′t,i=1,2,…,k′′.
We assume that the first k partial schedules π′′ and π′ are equal, that is, ω′i′=ωi′=ωi,i=0,1,…,k−1,ω′k′≠ωk′. If y=Lmaxω0…ωk−1, let us construct a schedule θ using algorithm 1.2, θ=θNkCky. If θ=∅, then according to algorithm 1.3, ωk′=ω1NkCk. Because of ω′k′≠ωk′, schedule ω′k′=ω2NkCk. Objective function value (Lmax) can be reached on a job from the set Nk, since θ=∅. The whole structure of the algorithm 1.3 construct in such a way that up to the “critical” job (according to Lmax) order the jobs as “tightly” as possible, therefore we complete the schedule ω1, after which Cmaxπ′≤Cmaxπ′′ and Lmaxπ′≤Lmaxπ′′. If θ≠∅, then for schedules π′ and π′′Cmaxπ′≤Cmaxπ′′ and Lmaxπ′=Lmaxπ′′. Thus, for any schedule π′′∈ΩNt\ΦNt exists schedule π′∈ΦNt such that Cmaxπ′≤Cmaxπ′′ and Lmaxπ′≤Lmaxπ′′. Hence, for any schedule π∈ΠN there exists schedule π′∈ΦNt such that Lmaxπ′≤Lmaxπ and Cmaxπ′≤Cmaxπ. The theorem is proved.
Figure 1 schematically shows the considered schedule.
For the set of schedules ΦNt=π1′π2′…πm′, m≤n, we conditions (5)–(6) are true.
The schedule π1′ is optimal in terms of speed (Cmax), and πm′ is optimal in terms of the maximum lateness (by Lmax) if the jobs of the set N satisfy the conditions (9).
Single machine scheduling problem with given release dates and two objective functions is considered in this chapter, which is NP-hard in the strong sense. A number of new polynomially and pseudo-polynomially solvable subcases of the problem were found. For a case when
d1≤…≤dn,d1−r1−p1≥…≥dn−rn−pn,E33
an algorithm for constructing a Pareto-optimal set of schedules by criteria Cmax and Lmax is developed. It is proved that the complexity of the algorithm does not exceed On3logn operations.
An experimental study of the algorithm showed that it can be used to construct optimal schedules (by Lmax) even for instances not satisfying the conditions (33).
The research was supported by RFBR (project 20-58-S52006).
References
1.Lenstra JK, Rinnooy Kan AHG, Brucker P. Complexity of machine scheduling problems. Annals of Discrete Mathematics. 1977;1:343-362
2.Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics. 1979;5:287-326
3.Potts CN. Analysis of a heuristic for one machine sequencing with release dates and delivery times. Operations Research. 1980;28:1436-1441
4.Jackson JR. Scheduling a Production Line to Minimize Maximum Tardiness. Los Angeles, CA: University of California; 1955. Manag. Sci. Res. Project. Research Report N 43
5.Hall LA, Shmoys DB. Jackson’s rule for one-machine schedulings: Making a good heuristic better. Mathematics of Operations Research. 1992;17:22-35
6.Mastrolilli M. Efficient approximation schemes for scheduling problems with release dates and delivery times. Journal of Scheduling. 2003;6(6):521-531
7.Garey MR, Johnson DS, Simons BB, Tarjan RE. Scheduling UnitTime tasks with arbitrary release times and deadlines. SIAM Journal on Computing. 1981;10:256-269
8.Vakhania N. Single-machine scheduling with release times and tails. Annals of Operations Research. 2004;129(1–4):253-271
9.Vakhania N. Dynamic restructuring framework for Scheduling with release times and due-dates. Mathematics. 2019;7(11):1104
10.Lawler EL. Optimal sequencing of a single machine subject to precedence constraints. Management Science. 1973;19(5):544-546
11.Simons BB. A fast algorithm for single processor scheduling. In: Proceedings of the 19th IEEE Annual Symposium on Foundations of Computer Science. New York: Ann. Arbor. Mich; 1978. pp. 246-252
12.Baker KR, Lawler EL, Lenstra JK, Rinnooy Kan AHG. Preemtive scheduling of a single machine to minimize maximum cost subject to release dates and precedence constraints. Operations Research. 1983;31(2):381-386
13.Hoogeveen JA. Minimizing maximum promptness and maximum lateness on a single machine. Mathematics of Operations Research. 1996;21:100-114
14.Lazarev AA, Shulgina ON. Polynomially solvable subcases of the problem of minimizing maximum lateness. Izvestiya VUZov. Mathematics. 2000 (in Russian)
15.Vakhania N. Scheduling a single machine with primary and secondary objectives. Algorithms. 2018;11(6):80
16.Vakhania N. Fast solution of single-machine scheduling problem with embedded jobs. Theoretical Computer Science. 2019;782:91-106
Written By
Alexander A. Lazarev and Nikolay Pravdivets
Submitted: 01 July 2020Reviewed: 21 August 2020Published: 02 November 2020