Documente Academic
Documente Profesional
Documente Cultură
2018017
MANAGEMENT OPTIMIZATION
Abstract. This paper investigates the scheduling of family jobs with release
dates on an unbounded parallel-batch machine. The involved objective func-
tions are makespan and maximum flow time. It was reported in the literature
that the single-criterion problem for minimizing makespan is strongly NP-hard
when the number of families is arbitrary, and is polynomially solvable when
the number of families is fixed. We first show in this paper that the single-
criterion problem for minimizing maximum flow time is also strongly NP-hard
when the number of families is arbitrary. We further show that the Pareto op-
timization problem (also called bicriteria problem) for minimizing makespan
and maximum flow time is polynomially solvable when the number of families
is fixed, by enumerating all Pareto optimal points in polynomial time. This
implies that the single-criterion problem for minimizing maximum flow time is
also polynomially solvable when the number of families is fixed.
1. Introduction.
1.1. Problem description and motivation. Suppose that n jobs J1 , J2 , · · · , Jn
from K (job) families Ff (1 ≤ f ≤ K) have to be processed without interruption
on a p-batch (parallel-batch) machine.
P Each family Ff has nf jobs, denoted by
Ff = {Jf,1 , · · · , Jf,nf }, where 1≤f ≤K nf = n. The jobs in Ff are called f -jobs.
Each job Jj (Jf,j ) is associated with a processing time pj (pf,j ) and a release date
rj (rf,j ). The p-batch machine can simultaneously process up to b jobs as a batch.
Here b stands for the capacity of a batch, and it has two versions: the bounded
capacity (b < n) for which a batch contains at most a finite number of jobs and
the unbounded capacity (b ≥ n) for which a batch can contain any number of jobs.
For the p-batch setting, the processing time p(B) of a batch B is equal to the
maximum processing time of the jobs in the batch, i.e., p(B) = max{pj : Jj ∈ B},
and the completion time of a batch is defined to be the time point when all jobs
contained in the batch have finished processing. We assume in this paper that jobs
from different families are not permitted to be processed in a common batch (also
called ‘the families are incompatible’), and this corresponds to the actual production
situation in which the products of different types can not be processed together due
1
2 ZHICHAO GENG AND JINJIANG YUAN
In a schedule π, we use Cj (π) (Cf,j (π)) and CB (π) to denote the completion time
of job Jj (Jf,j ) and the completion time of a batch B, respectively. If no ambiguity
can occur, Cj (π) (Cf,j (π)) and CB (π) are correspondingly abbreviated by Cj (Cf,j )
and CB . Note that all the jobs in a batch B share a common completion time CB .
For a feasible schedule π, the makespan is given by Cmax (π) = max1≤j≤n Cj , and
the maximum flow time is given by Fmax (π) = max1≤j≤n Fj , where Fj = Cj − rj
(Ff,j = Cf,j − rf,j ) denotes the flow time of job Jj (Jf,j ). Note that Cmax and
Fmax are not identical unless all jobs are released at time 0. In this paper, we
SCHEDULING FAMILY JOBS 3
simultaneously consider the objective functions Cmax and Fmax . For convenience,
the definitions of some abbreviations/notations commonly used in this paper are
depicted in Table 1.
The scheduling model studied in this paper is motivated by the following sce-
nario in the practical production as shown in Figure 1. A production line (a p-batch
machine) in a factory can manufacture several types (job families) of products, and
accept orders (jobs) from different customers. These orders may have different re-
quirements about starting processing times (their release dates) and different sizes
(processing times). Moreover, the orders of different types of products are forbidden
to process together due to the production conditions and other factors. It is neces-
sary for deciders to consider the amount of resource consumption processing these
orders and the satisfaction degree of the customers. The maximum completion time
(makespan) is a typical objective function studied in the literature which represents
the costs of schedules due to the resource consumption. For a customer, it is ideal
to receive his delivered order at time rf,j + pf,j (suppose that the order is Jf,j and it
can be delivered once finishing processing), and so, he can get the biggest satisfac-
tion. When the orders are delivered later, the satisfaction degrees of the customers
decrease. Notice that the flow time Ff,j = Cf,j − rf,j gains the minimum pf,j at
the delivered time rf,j + pf,j . Obviously, the later the practical delivered time of an
order is, the larger its flow time is. Thus, the maximum flow time can be used to
represent the satisfaction degree of the customers. In the standard single-machine
scheduling, the schedule generated by the ERD rule is optimal for both makespan
and maximum flow time. Unfortunately, this uniformity does not occur in many
other machine environments. In this case we should consider the trade-off between
makespan and maximum flow time which belong to the field of Pareto optimization
research.
4!#+!),5"0)563 :$9&"2+!)6
<=.+/6)7"09)
,>-2'*=/6)7"093 噯
噯
4!#+!),5"0)5'3 :$9&"2+!)'
<=.+/?)7"09)
!"#$%&'"()*'(+),-)./0-&%1) ,>-2'*=/?)7"093
噯
2-%1'(+3 噯
,8+9"$!%+)%"(9$2.&'"():2-;3
4!#+!),5"0)573 :$9&"2+!)7
噯
<=.+/@)7"09) 噯
,>-2'*=/@)7"093
4!#+!),5"0)5(3 :$9&"2+!)(
,A-&'9?-%&'"()
>2-;3
Since Cmax and Fmax are both regular (i.e., nondecreasing in the completion
times of the jobs), each job should be processed as early as possible, and adding
artificial idle times between jobs will bring no benefits. Then a schedule π can be
given by a batch sequence (B1 , · · · , Bq ) which indicates the composition and the
processing order of the batches in π. Obviously, for a schedule π = (B1 , · · · , Bq )
a batch Bi can start for processing only if the batches B1 , · · · , Bi−1 have finished
processing and all the jobs in Bi have been released. This implies that the starting
time SBi and completion time CBi of each batch Bi , i = 1, · · · , q, can be defined
iteratively by setting
(
SBi = max{CBi−1 , max{rj : Jj ∈ Bi }},
CBi = SBi + p(Bi ),
where B0 is a dummy batch with CB0 = 0. For convenience, for the subschedule
π ′ = (B1 , · · · , Bq−1 ) of a feasible schedule π = (B1 , · · · , Bq ), we write π ′ = π \ Bq
and π = π ′ ∪ Bq in the paper.
The main goal of this paper is to enumerate all Pareto optimal points with regard
to criteria Cmax and Fmax (we call such a scheduling problem Pareto optimization
scheduling). From Hoogeveen [10] and T’kindt and Billaut [34], as a type of bicri-
teria (multicriteria) scheduling problem, Pareto optimization scheduling on a single
machine for minimizing two regular objective functions f and g, can be formulated
in the following way.
Pareto Optimization: A feasible schedule π is called Pareto optimal, if there
exists no feasible schedule σ such that f (σ) ≤ f (π), g(σ) ≤ g(π), and at least one
of the two inequalities strictly holds. In this case, the objective vector (f (π), g(π))
is called a PoP corresponding to π. Pareto optimization scheduling aims at enu-
merating all PoPs and, for each PoP, finding a corresponding PoS. Following the
notation of T’kindt and Billaut [34], Pareto optimization scheduling problem on
a single machine to minimize two objective functions f and g can be denoted by
1|β| # (f, g), where β denotes the restricted constraints of the feasible schedules.
Related to problem 1|β| # (f, g), there are two constrained optimization problems
1|β|f : g ≤ V and 1|β|g : f ≤ U , where g ≤ V (f ≤ U ) means the restriction that,
for each feasible schedule, the value of objective function g (f ) is no more than a
given upper bound V (U ).
To find a PoP (or PoS), a commonly used approach is ǫ-constraint approach (see
Hoogeveen [11], Hoogeveen and van de Velde [11, 13], and He et al. [9]), which is
based on the following lemma (see Hoogeveen [10]).
Lemma 1.1. Suppose that problem 1|β|g have feasible schedules with objective val-
ues being no more than a given value V̂ , U is the optimal value of the constrained
problem 1|β|f : g ≤ V̂ , and V is the optimal value of the constrained problem
1|β|g : f ≤ U . Then (U, V ) is a PoP of problem 1|β| # (f, g), and every optimal
schedule of problem 1|β|g : f ≤ U is a PoS corresponding to (U, V ).
The Pareto optimization scheduling problem studied in this paper can be denoted
by
where “p-batch” means the parallel-batch setting, “family-job” means that the fam-
ilies are incompatible, and “b ≥ n” means the unbounded batch capacity. Further-
more, the related constrained problem is denoted by
1|p-batch, family-job, b ≥ n, rj |Cmax : Fmax ≤ Y.
To simplify the presentation, we use “β” to indicate the scheduling conditions
“p-batch, family-job, b ≥ n, rj ” in the remaining of the paper. Then the above two
problems can be simply written as 1|β|# (Cmax , Fmax ) and 1|β|Cmax : Fmax ≤ Y ,
and the corresponding single-criterion problems for minimizing Cmax and Fmax are
also written as 1|β|Cmax and 1|β|Fmax .
1.2. Literature review and our contribution. The batch production exists
in many production situations. There are two main types of batch scheduling,
referring to p-batch and s-batch (serial-batch). Different from p-batch, s-batch
requires that all the jobs within the same batch are processed one after another in
a serial fashion [35], and have the same completion times, which is defined as the
completion time of the last job in the batch. Ikura and Gimple [14] first studied
the p-batch scheduling in which the batches have a common processing time. The
general p-batch scheduling model was introduced in Lee et al. [16] with the bounded
capacity and was motivated by the burn-in operations during the final testing stage
of circuit board manufacturing. Whereas, a practical production scenario of the
s-batch processing stems from the aluminum-making process in an aluminum plant
[29]. Later, Brucker et al. [3] extended the research of p-batch to the unbounded
version. Cheng et al. [5] and Liu et al. [20] studied p-batch scheduling with
release dates. More results on this aspect can be referred to the surveys (Potts and
Kovalyov [32] and Allahverdi et al. [1]).
In the recent years, some research have focused on the batch scheduling problems
with deterioration and/or learning effects. Li et al. [18] investigated the schedul-
ing problems on a p-batch machine to minimize the makespan with simple linear
deterioration of processing times and release dates, and several algorithms were
proposed both for bounded and unbounded model. Qi et al. [33] considered several
single p-batch scheduling problems, which involve three objectives for minimizing
the maximum cost, the number of tardy jobs, and the total weighted completion
time, and they devised the corresponding solving algorithms. Miao et al. [24] stud-
ied p-batch scheduling problems of deteriorating jobs with identical release dates,
and an optimal algorithm and an FPTAS were designed for single-machine case
and multiple-machine case, respectively. Pei et al. [29] investigated the problem of
the s-batch scheduling with deteriorating jobs and an independent constant setup
time in an aluminum manufacturing factory for the first time. Recently, Pei et al.
[30] continued this research by proposing another type of scheduling problem with
deteriorating jobs, in which jobs are of multiple types and, similar to the family
jobs considered in this paper, the jobs of different types are forbidden to process in
a common s-batch. Pei et al [28] also studied the serial batch scheduling problems
with position-based learning effect. Two scheduling problems for single-machine to
minimize maximum earliness and parallel-machine to minimize the total number of
tardy jobs are both considered, respectively. More research on the batch scheduling
(or on the group scheduling, their difference were described in Table 1 [27]) with
deterioration and/or learning effects can be referred to [2, 26, 27, 31].
P-batch scheduling with incompatible families has been studied extensively in
the literature. Yuan et al. [36] considered the scheduling problem on an unbounded
6 ZHICHAO GENG AND JINJIANG YUAN
p-batch machine with family jobs and release dates to minimize makespan. Nong
et al. [25] and Li et al. [19] further considered the bounded version and parallel-
machine setting for the problem studied in Yuan et al. [36], respectively. Jolai [15],
Chakhlevitch et al. [4], and Malve et al. [23] studied some special cases where all
jobs have the same or different release dates and in each family all jobs have the
same processing times. Additionally, Liu et al. [21] and Li et al. [17] investigated
the p-batch scheduling problems with family jobs to minimize the total number of
tardy jobs.
Pareto optimization scheduling also has attracted a great deal of research in-
terests. Detailed developments can be found in Hoogeveen [10]. Hoogeveen [11]
showed that the Pareto optimization problem for minimizing any two maximum
is solvable in O(n4 ) time. Hoogeveen and van de Velde [12] presented
cost criteria P
3
an O(n log pj )-time algorithm for the Pareto optimization problem on a single
machine to minimize the total completion time and a maximum cost. However, the
complexity analysis of their algorithmP is pointed by Gao and Yuan [6] to be invalid,
and they presented a new O(n3 log pj )-time algorithm. He et al. [9] first studied
the Pareto optimization problem on an unbounded p-batch machine for minimize
makespan and maximum lateness, and presented an O(n3 )-time algorithm. Geng
and Yuan further extended this research. Concretely, for the case of the objective
being minimizing makespan and maximum cost, and for case of the general version
with fixed K job families and the objective being minimizing makespan and maxi-
mum lateness, they gave O(n4 )-time algorithm [7] and an O(n2K+1 )-time algorithm
[8], respectively.
The work in Yuan et al. [36] is most related to the research in this paper. From
Yuan et al. [36], problem 1|β|Cmax is strongly NP-hard when the number of families
is arbitrary and is polynomially solvable when the number of families is fixed. To
the best of our knowledge, no results have been presented for problem 1|β|Fmax in
the literature, even if the jobs just come from one family.
In this paper, we first show that problem 1|β|Fmax is strongly NP-hard when the
number of families is arbitrary. And then, for the case of the fixed number of fam-
ilies, we turn to show that Pareto optimization problem 1|β|# (Cmax , Fmax ) can be
solved in O(n3K+3 ) time, and as a byproduct, problem 1|β|Fmax also is polynomi-
ally solvable. Concretely, we first present a dynamic programming algorithm, called
DP(Y ), to find an optimal schedule of the constrained problem 1|β|Cmax : Fmax ≤ Y
with a running time of O(nK+1 ). It is not difficult to see that by iteratively calling
algorithm DP(Y ) and adopting the binary-search method, problem 1|β|Fmax can
be solved in O(nK+1 log P ) time, where P is the total processing time of jobs. How-
ever, the time complexity of such a routine is of only polynomial but not strongly
polynomial. Instead of this, we first identify a tight upper bound Y by a detailed
theoretical analysis, and then obtain a PoS of problem 1|β|Cmax : Fmax ≤ Y by the
improved form of algorithm DP(Y ). On this basis, we finally provide a polynomial-
time algorithm, called Family-CF, for problem 1|β|# (Cmax , Fmax ) to generate all
PoPs and the corresponding PoSs. We also show that the number of PoPs of prob-
lem 1|β|# (Cmax , Fmax ) is at most O(nK+1 ), by considering the critical batches of
the schedules generated by Family-CF.
This paper is organized as follows. In Section 2, we show that problem 1|β|Fmax
is strongly NP-hard when the number of families is arbitrary. In Section 3, we
present the algorithm DP(Y ) for problem 1|β|Cmax : Fmax ≤ Y and the algorithm
SCHEDULING FAMILY JOBS 7
Family-CF for problem 1|β|# (Cmax , Fmax ), together with the analysis. In the final
section, we make a summary of the conclusions and future research work.
2. The NP-hardness proof. We assume in this section that the number of fam-
ilies is arbitrary, and show the strong NP-hardness of problem 1|β|Fmax by using
problem 1|β|Cmax for the reduction. It is not difficult to see that the strong NP-
hardness of problem 1|β|Cmax nearly implies that of problem 1|β|Fmax . However,
for rigorousness, here we give the details of the proof. From Yuan et al. [36], we
have the following lemma.
Lemma 2.1. Problem 1|β|Cmax is strongly NP-hard.
Theorem 2.2. Problem 1|β|Fmax is strongly NP-hard.
Proof. Suppose that I is an instance of problem 1|β|Cmax , which consists of n jobs
J1 , · · · , Jn belonging to K families. These jobs have nonnegative-integer-valued
release dates r1 , · · · , rn and positive-integer-valued processing times p1 , · · · , pn . Let
R = rmax + 1, where rmax = max1≤i≤n ri . Then Cmax (π) ≥ R for every feasible
schedule π of I.
Now we construct an instance I ′ of problem 1|β|Fmax by adding a new Pjob Jn+1
in I, where {Jn+1 } is from a new family, rn+1 = R, and pn+1 = R + 1≤i≤n pi .
Then I ′ = I ∪ {Jn+1 }.
Let σ ′ be an optimal schedule of problem 1|β|Fmax on instance I ′ . By the two-
exchange argument, we can easily verify that {Jn+1 } is the last batch in σ ′ . Let σ be
the schedule obtained from σ ′ by deleting the last batch {Jn+1 }. Then σ is a feasible
schedule of problem 1|β|Cmax on instance I. Since Cmax (σ) ≥ R = rn+1 , we have
Cn+1 (σ ′ ) =P Cmax (σ) + pn+1 . This implies that Fn+1 (σ ′ ) = Cmax (σ) + pn+1 − R =
Cmax (σ) + 1≤i≤n pi . Note that, for each j with 1 ≤ j ≤ n, Fj (σ ′ ) ≤ Cj (σ ′ ) =
Cj (σ) ≤ Cmax (σ). Then we have Fmax (σ ′ ) = Fn+1 (σ ′ ) = Cmax (σ) + 1≤i≤n pi . We
P
Cmax (π) + 1≤i≤n pi < Cmax (σ) + 1≤i≤n pi = Fmax (σ ). This contradicts the
optimality of σ ′ . The claim follows.
The above claim implies that problem 1|β|Cmax polynomially reduces to problem
1|β|Fmax . From Lemma 2.1, we conclude that problem 1|β|Fmax is strongly NP-
hard. The result follows.
(f ) (f )
By Lemma 3.2, the optimal makespan CY (i1 , · · · , iK ) of problem PY (i1 , · · · ,
iK ) can be defined by
(f ) (f,kf ) (f )
CY (i1 , · · · , iK ) = min{CY (i1 , · · · , iK ) : kf ∈ DY (i1 , · · · , iK )}, (2)
where
(f,kf )
CY (i1 , · · · , iK ) = max{CY (i1 , · · · , kf , · · · , iK ), rf,if } + max pf,lf (3)
kf +1≤lf ≤if
10 ZHICHAO GENG AND JINJIANG YUAN
and
(f )
DY (i1 , · · · , iK )
(f,kf )
(4)
={kf : 0 ≤ kf ≤ if − 1 and CY (i1 , · · · , iK ) − rf,kf +1 ≤ Y }.
(f,k ) (f )
Specifically, CY f (i1 , · · · , iK ) stands for the optimal value, and DY (i1 , · · · , iK )
stands for the set of the index kf such that the maximum flow time is upper bounded
(f )
by Y , when {Jf,kf +1 , · · · , Jf,if } is the last batch of problem PY (i1 , · · · , iK ). We
here introduce these two notations wholly for formulating conveniently.
Now we can describe the dynamic programming formally as follows. For problems
(f )
PY (n1 , · · · , nK ), PY (i1 , · · · , iK ) and PY (i1 , · · · , iK ).
Algorithm DP(Y ):
• Initial condition: CY (0, · · · , 0) = 0.
• Recursive relation: For each (i1 , · · · , iK ) ∈ X + ,
(f )
CY (i1 , · · · , iK ) = min{CY (i1 , · · · , iK ) : 1 ≤ f ≤ K and if ≥ 1}, (1)
where for each f ∈ {1, 2, · · · , K} with if ≥ 1,
(f ) (f,kf ) (f )
CY (i1 , · · · , iK ) = min{CY (i1 , · · · , iK ) : kf ∈ DY (i1 , · · · , iK )} (2)
be solved in O(nK+1 log P ) time which is of polynomial but not strongly polynomial,
where P is the total processing time of jobs.
3.2. The identification of a tight upper bound. Note that the optimal sched-
ule obtained by algorithm DP(Y ) may be not Pareto optimal. To get a PoS, we try
to identify a tight upper bound by tracking the running procedure of DP(Y ). To
this end, we first establish some properties on algorithm DP(Y ).
Lemma 3.4. Suppose that (i1 , · · · , iK ) ∈ X + and CY (i1 , · · · , iK ) < +∞. Then
the optimal makespan CY (i1 , · · · , iK ) of problem PY (i1 , · · · , iK ) is a nondecreasing
function in each argument if with 1 ≤ f ≤ K, i.e., CY (i1 , · · · , if − 1, · · · , iK ) ≤
CY (i1 , · · · , if , · · · , iK ) for if = 1, · · · , nf .
Proof. Suppose that f is a family-index with 1 ≤ f ≤ K and 1 ≤ if ≤ nf . Let
σ = (B1 , · · · , Bq ) be the schedule obtained by DP(Y ) on problem PY (i1 , · · · , iK ).
By Lemma 3.3, we have Cmax (σ) = CY (i1 , · · · , iK ) and Fmax (σ) ≤ Y . Suppose that
Jf,if ∈ Bl with 1 ≤ l ≤ q. Let σ ′ = (B1 , · · · , Bl \ {Jf,if }, · · · , Bq ) be a new schedule
obtained from σ by removing job Jf,if . Then σ ′ is a feasible schedule of problem
PY (i1 , · · · , if − 1, · · · , iK ), since the fact Fmax (σ) ≤ Y implies Fmax (σ ′ ) ≤ Y . Since
p(Bl \{Jf,if }) ≤ p(Bl ), we have CY (i1 , · · · , if −1, · · · , iK ) ≤ Cmax (σ ′ ) ≤ Cmax (σ) =
CY (i1 , · · · , if , · · · , iK ). Then the lemma follows.
(f )
Proof. Pick up a two-tuples (f, kf ) from set (XY ′ , ΨY ′ )(i1 , · · · , iK ). From (4), (5)
and (6), we have
(f,kf )
CY ′ (i1 , · · · , iK ) − rf,kf +1 ≤ Y ′ , (7)
and
(f,kf )
CY ′ (i1 , · · · , iK ) = CY ′ (i1 , · · · , iK ). (8)
′ ′′ ′′ ′
Since Y < Y means that Y is a looser upper bound than Y , for the optimal
makespan of problem PY (i1 , · · · , kf , · · · , iK ) we have CY ′′ (i1 , · · · , kf , · · · , iK ) ≤
(f,k )
CY ′ (i1 , · · · , kf , · · · , iK ). Then recalling the definition of CY f (i1 , · · · , iK ) in equa-
tion (3), it follows that
(f,kf )
CY ′′ (i1 , · · · , iK )
= max{CY ′′ (i1 , · · · , kf , · · · , iK ), rf,if } + max pf,lf
kf +1≤lf ≤if
(9)
≤ max{CY ′ (i1 , · · · , kf , · · · , iK ), rf,if } + max pf,lf
kf +1≤lf ≤if
(f,k )
= CY ′ f (i1 , · · · , iK )
(f,k )
From (7) and (9), we have CY ′′ f (i1 , · · · , iK ) − rf,kf +1 ≤ Y ′ < Y ′′ . Further, by
(f ) (f )
the definition of set DY (i1 , · · · , iK ) in (4), it follows that kf ∈ DY ′′ (i1 , · · · , iK ).
By Lemma 3.3 and equations (1) and (2), we have
(f,kf ) (f,kf )
CY ′′ (i1 , · · · , iK ) ≤ CY ′′ (i1 , · · · , iK ) ≤ CY ′ (i1 , · · · , iK ) = CY ′ (i1 , · · · , iK ),
where the second inequality follows from (9) and the equality follows from (8).
Since CY ′ (i1 , · · · , iK ) = CY ′′ (i1 , · · · , iK ) by the assumption in lemma, we have
(f,k )
CY ′′ (i1 , · · · , iK ) = CY ′′ f (i1 , · · · , iK ). Finally, by the definitions (5) and (6) and
(f ) (f )
the notation (XY , ΨY )(i1 , · · · , iK ), we have (f, kf ) ∈ (XY ′′ , ΨY ′′ )(i1 , · · · , iK ). The
lemma follows.
Lemma 3.6 shows that the set of the (family and job) indices attaining the
minimum in (1) and (2) does not become large, when contracting the upper bound
of problem PY (i1 , · · · , iK ) without changing the optimal makespan.
Generally, we cannot guarantee that the optimal schedule obtained by algorithm
DP(Y ) for problem PY (i1 , · · · , iK ) is Pareto optimal for problem P (i1 , · · · , iK ). Our
adopted strategy is to generate the PoPs of problem P (i1 , · · · , iK ) dynamically.
For each vector (i1 , · · · , iK ) ∈ X, let Ω(i1 , · · · , iK ) be the set of all PoPs of prob-
lem P (i1 , · · · , iK ). Then Ω(0, · · · , 0) = {(0, 0)}. Moreover, the Pareto optimality
of points in Ω(i1 , · · · , iK ) implies that
CY (i1 , · · · , iK ) = C, for (C, Y ) ∈ Ω(i1 , · · · , iK ). (10)
+
Iteratively, suppose that (i1 , · · · , iK ) ∈ X and, for each (i′1 , · · ·
, i′K ) ∈ X with
(i′1 , · · · , i′K ) ≤ (i1 , · · · , iK ) and (i′1 , · · · , i′K ) 6= (i1 , · · · , iK ), set Ω(i′1 , · · · , i′K ) has
been generated. We are ready to generate the set Ω(i1 , · · · , iK ).
Suppose that Y is an upper bound so that CY (i1 , · · · , iK ) < +∞. For each two-
(f )
tuples (f, kf ) ∈ (XY , ΨY )(i1 , · · · , iK ), we define the PoP of P (i1 , · · · , kf , · · · , iK )
to be (ĈY (i1 , · · · , kf , · · · , iK ), F̂Y (i1 , · · · , kf , · · · , iK )) which satisfies
F̂Y (i1 , · · · , kf , · · · , iK ) = min{Y ′ :(C, Y ′ ) ∈ Ω(i1 , · · · , kf , · · · , iK ) and
(f,kf )
(11)
CY ′ (i1 , · · · , iK ) ≤ CY (i1 , · · · , iK )}.
SCHEDULING FAMILY JOBS 13
The following notations will be used in the discussion of Lemma 3.8. Let
F̃Y (i1 , · · · , kf , · · · , iK )
(13)
= max{F̂Y (i1 , · · · , kf , · · · , iK ), CY (i1 , · · · , iK ) − rf,kf +1 },
(f )
Y ∗ = min{F̃Y (i1 , · · · , kf , · · · , iK ) : (f, kf ) ∈ (XY , ΨY )(i1 , · · · , iK )}, (14)
∗
and C = CY (i1 , · · · , iK ).
14 ZHICHAO GENG AND JINJIANG YUAN
Job B
Job A Job C Job A Job BJob C
s: p:
0 1 3 4 0 1 3 4
3.3. The algorithm for problem 1|β|# (Cmax , Fmax ) and the time complexity
analysis. With Lemma 3.8 in hand, we can present the following algorithm to
generate all PoPs of problem 1|β|# (Cmax , Fmax ) iteratively. Let
X
M = 1 + max{rj : 1 ≤ j ≤ n} + pj .
1≤j≤n
Lemma Q 3.9. The number of the PoPs of problem 1|β|# (Cmax , Fmax ) is at most
n K+1
K · 2 · 1≤f ≤K (nf + 1) = O(n ).
Proof. Suppose that the above algorithm (Family-CF) finally outputs m PoSs
σ1 (n1 , · · · , nK ), σ2 (n1 , · · · , nK ), · · · , σm (n1 , · · · , nK ).
For convenience, we shortly write σi (n1 , · · · , nK ) = σi (1 ≤ i ≤ m). Then we
have that Cmax (σi−1 ) < Cmax (σi ) and Fmax (σi−1 ) > Fmax (σi ) for 2 ≤ i ≤ m. Set
Ω = {σ1 , · · · , σm }.
For each σ ∈ Ω, a job Jj is called a critical job of σ if Fj (σ) = Fmax (σ), i.e.,
Cj (σ) = Fmax (σ) + rj . Each batch containing a critical job is called a critical batch.
Recall that rf,1 < rf,2 < · · · < rf,nf for each family-index f . Then each critical
batch contains exactly one critical job which is just the first job of the batch. In
order to estimate the number of PoSs (or PoPs), we deal with Ω in the following
way.
Firstly, for each family-index f , let Ωf be the set of schedules σ ∈ Ω that end
with an f -batch. Then Ωf , f = 1, · · · , K, form a partition of Ω.
Secondly, for a fixed family-index f , define Ωf (hf , jf ) to be the set of schedules
σ ∈ Ωf so that the last critical batch of σ is {Jf,hf , · · · , Jf,jf }. Then Ωf (hf , jf ), 1 ≤
hf ≤ jf ≤ nf , form a partition of Ωf .
Finally, for a given schedule σ ∈ Ωf (hf , jf ), we use n′g (σ) (g = 1, · · · , K) (shortly,
′
ng ) to denote the number of jobs of family Fg scheduled before the critical batch
{Jf,hf , · · · , Jf,jf } in σ. Note that n′f = hf − 1. For each Ωf (hf , jf ) and a fixed
family-index g (g 6= f ), let
( ′
(n1 , · · · , n′g−1 , n′g+1 , · · · , n′f −1 , jf , n′f +1 , · · · , n′K ), if g < f,
~x =
(n′1 , · · · , n′f −1 , jf , n′f +1 , · · · , n′g−1 , n′g+1 , · · · , n′K ), if g > f,
and define Ωf (hf , jf ; ~x) to be the set of schedules σ ∈ Ωf (hf , jf ) so that, for each
family-index z (1 ≤ z ≤ K and z 6= g, f ), exact n′z jobs of family Fz are scheduled
before the last critical batch in σ. Without loss of generality, we assume in the
following that g < f .
We claim that, for any two schedules σ ′ , σ ′′ ∈ Ωf (hf , jf ; ~x), if Cmax (σ ′ ) <
Cmax (σ ′′ ), then n′g (σ ′ ) > n′g (σ ′′ ). By contradiction, suppose that n′g (σ ′ ) ≤ n′g (σ ′′ ).
Note that σ ′ and σ ′′ are the schedules obtained by algorithm DP(Y ) (see Step
2.2 in Algorithm Family CF) for some upper bounds Y ′ and Y ′′ with Y ′ > Y ′′ ,
respectively.
Consider the following three sub-problems
SP-1: PY ′ (n′1 , · · · , n′g−1 , n′g (σ ′ ), n′g+1 , · · · , n′f −1 , jf , n′f +1 , · · · , n′K ),
SP-2: PY ′ (n′1 , · · · , n′g−1 , n′g (σ ′′ ), n′g+1 , · · · , n′f −1 , jf , n′f +1 , · · · , n′K ),
SP-3: PY ′′ (n′1 , · · · , n′g−1 , n′g (σ ′′ ), n′g+1 , · · · , n′f −1 , jf , n′f +1 , · · · , n′K ).
Here, SP-1 and SP-2 have a same upper bound Y ′ and process the same jobs from
each family Ff except that from family Fg , while SP-2 and SP-3 process the same
jobs but have different upper bounds.
Let C (1) , C (2) and C (3) be the corresponding optimal makespan obtained by
algorithm DP(Y ) on SP-1, SP-2 and SP-3, respectively. From Lemma 3.4, we have
C (1) ≤ C (2) due to the assumption n′g (σ ′ ) ≤ n′g (σ ′′ ). Since Y ′ > Y ′′ means that Y ′
is a looser upper bound than Y ′′ , we have C (2) ≤ C (3) . Consequently, it holds that
Fmax (σ ′ ) = C (1) − rf,hf ≤ C (2) − rf,hf ≤ C (3) − rf,hf = Fmax (σ ′′ ),
18 ZHICHAO GENG AND JINJIANG YUAN
where the two equalities holds since that the last (critical) batch of σ ′ and σ ′′ are
both {Jf,hf , · · · , Jf,jf }. Further, since σ ′ and σ ′′ are two PoSs, the assumption
Cmax (σ ′ ) < Cmax (σ ′′ ) implies Fmax (σ ′ ) > Fmax (σ ′′ ). This leads to a contradiction.
The claim follows.
By the above claim and the fact that 0 ≤ n′g (σ) ≤ ng for each σ ∈ Ωf (hf , jf ; ~x),
we have |Ωf (hf , jf ; ~x)| ≤ ng + 1 for a fixed triple-tuples (hfQ , jf ; ~x). Note that, for
each Ωf (hf , jf ) and a fixed family-index g (g 6= f ), at most 1≤z≤K,z6=g,f (nz + 1)
vectors ~x exist. Thus, we have
P P
|Ωf (hf , jf )| ≤ K · ~x |Ωf (hf , jf ; ~x)| ≤ K · ~x (ng + 1)
Q Q
≤ K · (ng + 1) · 1≤z≤K,z6=f,g (nz + 1) = K · 1≤z≤K,z6=f (nz + 1).
nf (nf +1)
Since there are at most 2 two-tuples (hf , jf ) for a given family-index f , it
follows that
nf (nf + 1) Y nf Y
|Ωf | ≤ ·K· (nz + 1) = K · · (nz + 1).
2 2
1≤z≤K,z6=f 1≤z≤K
Proof. Algorithm Family-CF dynamically generates all the POPs and the corre-
sponding PoSs of problem P (n1 , · · · , nK ), by generating and using the PoPs and the
corresponding PoSs of the related sub-problems P (i1 , · · · , iK ) with (i1 , · · · , iK ) ∈
X + and (i1 , · · · , iK ) 6= (n1 , · · · , nK ).
For each problem P (i1 , · · · , iK ) with (i1 , · · · , iK ) ∈ X + , the schedules obtained
by Steps 2.2 in algorithm Family-CF are Pareto optimal, which is ensured by Lem-
mas 3.3 - 3.8, and all the PoPs and their corresponding PoSs are enumerated in Step
2.2. From Lemma 3.9, for each problem P (i1 , · · · , iK ) with (i1 , · · · , iK ) ∈ X + , the
i
number of PoPs is at most K · 1≤f ≤K (if + 1) · 1≤f ≤K 2f = O(nK+1 ). From the
Q P
implementation procedure of algorithm Family-CF, to obtain each PoP and the cor-
responding PoS of problem P (i1 , · · · , iK ), it needs to run algorithm DP(Y ) twice,
which takes O(nK+1 )time, and calculate a tight upper bound F (i+1) (i1 , · · · , iK ) by
equation (14) together with equations (11) and (13), which takes O(nK+2 ) time.
Therefore, algorithm Family-CF can enumerate all the PoPs and the correspond-
K+1 K+2
ing PoSs of problem Q P (i1 , · · · , iK ) in O(n K · n ) = O(n2K+3 ) time. Since
we have in total 1≤f ≤K (nf + 1) = O(n ) such problems P (i1 , · · · , iK ) with
(i1 , · · · , iK ) ∈ X + , the overall time complexity is O(n3K+3 ) which is of polynomial
since the number of families K is fixed.
Acknowledgments. The authors would like to thank the associate editor and an
anonymous referee for their constructive comments and kind suggestions. Research
of this paper was supported by NSFC (11671368), NSFC (11571321), and NSF-
Henan (15IRTSTHN006).
REFERENCES