Scheduling on a Single Machine with Grouped Processing Times

We consider the online scheduling problem on a single machine with the assumption that all jobs have their processing times in [p, (1 + α)p], where p > 0 and α = (√5 − 1)/2. All jobs arrive over time, and each job and its processing time become known at its arrival time. The jobs should be first processed on a single machine and then delivered by a vehicle to some customer. When the capacity of the vehicle is infinite, we provide an online algorithm with the best competitive ratio of (√5 + 1)/2. When the capacity of the vehicle is finite, that is, the vehicle can deliver at most c jobs at a time, we provide another best possible online algorithm with the competitive ratio of (√5 + 1)/2.


Introduction and Problem Formulation
Production and distribution operations are two important segments in a supply chain; it is critical to integrate these two segments in a scheduling problem.In the last few years, scheduling problem with job delivery coordination is a very important topic.For the offline version, the earliest research of this topic is the one by Potts [1].They considered the single machine scheduling problem to minimize the maximum delivery completion time and provided a heuristic algorithm with the worst-case performance ratio of 3/2.For more papers, the reader may refer to [2][3][4][5][6].
For the online scheduling, there are three models which are commonly considered [7].The first one assumes that there exists no release date and the jobs arrive in a list.The second one assumes that the processing time of each job is unknown until the job finishes.The third one assumes that each job arrives over time.When the machine is idle, an online algorithm decides which one of the available jobs is scheduled, if any.In this paper, we study the third model in which jobs arrive over time.For an online algorithm , we use the competitive ratio   = sup {  () OPT () :  is an instance with OPT () > 0} (1) to measure the performance of , where, for an instance , () is used to denote the objective value of the schedule generated by the online algorithm  and OPT() is the objective value of an offline optimal schedule.For the online version of scheduling problem with job delivery, Hoogeveen and Vestjens [8] considered the online single machine scheduling problem.They provided a best possible online algorithm with the competitive ratio of ( √ 5 + 1)/2.When restarts are allowed, van den Akker et al. [9] proposed a best possible online algorithm with the competitive ratio of 3/2.The online integrated productiondistribution scheduling problems to minimize the sum of the total weighted flow time and the total delivery cost were considered by Averbakh [10].For several cases of the problem, the author provided efficient online algorithms and used competitive analysis to study their worst-case performance ratio.Yuan et al. [11] studied a single batch machine online scheduling problem with restricted delivery times; that is, the delivery time of each job is less than or equal to its processing time.They provided a best possible online algorithm with competitive ratio of ( √ 5 + 1)/2.For the case in which the delivery time of each job is greater than or equal to its processing time, Tian et al. [12] proposed a best possible online algorithm with competitive ratio of ( √ 5 + 1)/2.Liu et al. [13] studied online scheduling problem on a single machine with bounded distribution.They proved a lower bound of competitive ratios for all online algorithms and proposed a best possible online algorithm with a competitive ratio of (1/2)(√5 +  2 + 2 + 1 − ).Liu et al. [14] studied online scheduling problems on a single machine with deteriorating jobs.For each model, they presented an optimal online algorithm.
Meanwhile, the scheduling problems in which the jobs have the equal length processing times are widely considered; the reader may refer to [15][16][17].However, it is more reasonable to suppose that the jobs have their processing times being in a given interval.In semiconductor manufacturing integrated circuits are produced through the same technical processes.Therefore they have their processing times in a given interval.Fang et al. [18] studied online scheduling problems on a batch machine with the assumption that all jobs have their processing times in [, (1 + )], where  > 0 and  = ( √ 5 − 1)/2.For the two scheduling problems, they provided best possible online algorithms with the competitive ratio of ( √ 5 + 1)/2.
In this paper, we study the single machine online scheduling problem with job delivery in which the jobs have their processing times in [, (1 + )], where  > 0 and  = ( √ 5 − 1)/2.The jobs should be first processed on a single machine and then delivered by a vehicle to some customer.When the capacity of the vehicle is infinite, we provide an online algorithm with the best competitive ratio of ( √ 5+1)/2.When the capacity of the vehicle is finite and fixed, that is, the vehicle can deliver at most  jobs to the customer at a time and  ≥ 2, we provide another online algorithm with the best competitive ratio of ( √ 5 + 1)/2.

Problem Formulation and Preliminaries
In the online scheduling problem on a single machine to minimize the maximum delivery completion time, there are  jobs  1 , . . .,   which arrive over time.We do not know any information of these jobs in advance, including the number of the jobs and processing time   and arrival time   of each job   .The jobs are first processed on the single machine.Once the vehicle is available, the completed jobs can be delivered immediately in batches by the vehicle to some customer.Let  be the round-trip transportation between the machine and the customer.Since the customer is unknown in advance, we assume that  is known immediately once the first job arrives.The problem can be denoted by 1 →  | online,   , V = 1, ,   ∈ [, (1 + )] |  max .Here "1 → " means that jobs are first processed on a single machine and then the completed jobs must be delivered in batches to the customer; "V = 1" means that there is one vehicle to deliver the jobs."" means the capacity of the vehicle; "  ∈ [, (1 + )]" means that the jobs have their processing times in [, (1 + )].We use   to denote the time at which the vehicle transports   to the customer and returns to the machine. max = max  =1 {  } denotes the time when the vehicle finishes delivering the last delivery batch to the destination and returns to the machine.Indeed, when  = 1 and  is known in advance, Ng and Lu [19] provided an optimal online algorithm for the general case in which the processing time of each job is a nonnegative number.When  ≥ 2 and  is known in advance, they provided an online algorithm which is not best possible.However, in this paper, we assume that  ≥ 2 and  is unknown in advance.We deal with two variants of the online scheduling problem: max when the capacity of the vehicle is finite and fixed.
Let  be a schedule generated by an online algorithm .Let   be a delivery batch in .Then we define the following notation: (i)   (), the starting time of   on the machine in ; (ii)   (), the completion time of   on the machine in ; (vi) (), the set of the jobs which are available and unprocessed at time ; (vii) (), the set of jobs which are completed on the machine and are waiting for the vehicle to be delivered at time ; (viii) (  ), the ready time of delivery batch   , which is the maximum completion time of the jobs assigned to batch   ; in fact (  ) = (  ); (ix) (  ), the departure time for the vehicle to delivery batch   from the machine to the customer; note that (  ) ≥ (  ) in any feasible solution; (x) (  ) = (  ) + , the delivery completion time of the delivery batch   ; (xi) we say that a set of delivery batches B = { 1 , . . .,   } in this order is continuously delivered in a schedule if the time interval [( 1 ), (  )] is totally occupied by the vehicle for delivering the batches in B; equivalently, we have (  ) = ( −1 ) = ( −1 ) +  for 2 ≤  ≤ ; (xii) suppose that B  = {  1 , . . .,    } in this order is the set of delivery batches in a schedule; we say that there exists an idle time of the vehicle directly before (   ) in a schedule if (  −1 ) < (   ), for 2 ≤  ≤ ; similarly, we say that there exists no idle time of the vehicle directly before (   ) in a schedule if (  −1 ) = (   ), for 2 ≤  ≤ .

A Lower Bound
We assume that  ≥ 2. Let  be a sufficiently small positive number that tends to zero.Let  be a sufficiently large integer.
For any online algorithm , we consider the following job instance generated by the adversary.Let   max and  * max be the objective values obtained by algorithm  and optimal offline algorithm, respectively.All jobs in the instance have a processing time .Let  = .At time 0, the adversary releases a job  1 .Assume that algorithm  starts processing  1 at time .If  ≥ ( + ), then no other jobs arrive.Clearly, we have   max ≥ ( + ) +  + .However, the optimal schedule is to process  1 at time 0 and deliver it at time .Then we have  * max =  + .Thus, Suppose in the following that  < ( + ); we assume that the vehicle delivers when  → 0 and  → +∞.
The above discussion implies the following two lemmas.

The Case of 𝑐 = ∞
In this section, we consider the problem , where the capacity of the vehicle is infinite; that is, all jobs can be delivered simultaneously in the same batch.

Algorithm 𝐷 ∞
Processing Stage.At time , if the machine is available and () ̸ = 0, we choose the job of () with the shortest processing time to process at time .Otherwise, do nothing but wait.
Delivery Stage.At time  with () ̸ = 0, we consider () as a delivery batch.If the machine is available,  ≥ , and () = 0, we deliver the delivery batch () at time .Otherwise, do nothing but wait.
Indeed, the algorithm of the processing stage of  ∞ is optimal for the problem 1 | online,   |  max , because the algorithm cannot produce unnecessary idle time on the machine.For the delivery stage, the machine is available which means that there is not a job which is processing at this time and () = 0 means that there is not a job which is available and unprocessed at time .That is, only if there is not an available job which is unprocessed or processing, the vehicle determines to deliver.
Let  and  be the schedules that are generated by algorithm  ∞ and optimal offline algorithm, respectively.Let  max () and  max () be the objective values obtained from the schedule  and the optimal offline schedule , respectively.Let  max () and  max () be the makespans of the schedule  and the schedule , respectively.For the problem 1 | online,   |  max , let  * max be the optimal offline makespan.Next, we get the following lemma.

Lemma 3. Consider the following
Proof.Since the algorithm of processing stage of  ∞ cannot produce an unnecessary idle time on the machine, that is, the machine is always busy as long as there are jobs which are available and unprocessed, we have  * max =  max ().As the capacity of the vehicle is infinite, we have the following lemma.

The Case of 𝑐 < ∞
In this section, we consider the problem 1 →  | online,   , V = 1,  < ∞,   ∈ [, (1 + )] |  max , where the capacity of the vehicle is finite and fixed; that is, the vehicle can deliver at most  jobs in the same batch to some customer at a time.

Algorithm 𝐷 𝑐
Processing Stage.At time , if the machine is available and () ̸ = 0, we choose the job of () with the shortest processing time to process at time .Otherwise, do nothing but wait.

Delivery Stage
Step 0. If the vehicle is idle,  ≥ , and () ̸ = 0, determine |()| to be the number of the jobs of ().
Step 1.If |()| ≥ , select the earliest completed  jobs in () as a delivery batch and deliver this batch at time .
Step 2.A.If the machine is available and () = 0, that is, there is not a job which is unprocessed or processing at time , we consider jobs in () as a delivery batch and deliver this batch at time .
Step 2.B.If the machine is busy or () ̸ = 0, that is, there exists a job which is unprocessed or processing at time , wait until the machine is available and () = 0 or the next arrival.
Similarly, the algorithm of the processing stage of   is optimal for the problem 1 | online,   |  max , because the algorithm cannot produce unnecessary idle time.For the delivery stage, the machine is available which means that there is not a job which is processing at this time and () = 0 means that there is not a job which is available and unprocessed at time .That is, only if there is not a job which is unprocessed or processing the vehicle determines to deliver.Meanwhile, the algorithm implies that the job with a smaller completion time is delivered no later than that with a larger completion time.
Let  and  be the schedules that are generated by algorithm   and optimal offline algorithm, respectively.Let  max () and  max () be the objective values obtained from the schedule  and the optimal offline schedule , respectively.Let  max () and  max () be the makespans of the schedule  and the schedule , respectively.For the problem 1 | online,   |  max , let  * max be the optimal offline makespan.As the algorithm of processing stage of  ∞ is same as the algorithm of processing stage of   , we also have the following lemma.Lemma 6.Consider the following As the capacity of the vehicle is finite and fixed, there is at least one delivery batch.Let  be the number of the jobs in the schedule.Let  * = ⌈/⌉.Then there are at least  * delivery batches in any feasible schedule.Thus the following lemma can be observed.

Lemma 7. Consider the following
A delivery batch is called full if it contains exactly  jobs.Otherwise, it is nonfull.Let  1 , . . .,   be the delivery batches in .Assume that the last arrival time of the jobs is   .Lemma 8.If  ≤ , then  max ()/ max () ≤ 1 + .
Proof.Note that  max () ≤ .According to the algorithm of delivery stage of   , we have ( 1 ) =  and (  ) >  for all 2 ≤  ≤ .Then we get  =  * .Thus, The lemma follows.
Case 1.There are some nonfull delivery batches in   , . . .,  −1 .Denote the last nonfull delivery batch before   by   , where  ≤  ≤  − 1. Obviously, we have (  ) ≥  and  max () = (  ) + ( −  + 1).As   is nonfull, by algorithm   , we have ((  )) = 0 and there is not a job which is processing at time (  ).Then, for each +1 ≤  ≤ , the jobs of   arrive after (  ).Note that  +1 , . . .,  −1 are full delivery batches.Thus, we have From ( 15) and ( 16), we have Thus, we have If there exists an idle time in [(  ), (  )] on the machine in , assume that   is the earliest time such that there exists no idle time in [  , (  )], where   > (  ).Then   is the arrival time of some job.By algorithm   , all jobs of  +1 , . . .,   arrive at or after   .Assume that there are  jobs which are processed in [  , (  )] on the machine, where  < .Noting that  +1 , . . .,  −1 are full, then there are at least  + ( −  − 1) + 1 jobs which arrive at or after   .In fact, these jobs need at least  −  delivery batches to be delivered.Thus, we have where the capacity of the vehicle is finite and fixed,   is the best possible online algorithm with a competitive ratio of 1 + .
Proof.From Lemmas 8, 9, and 10, the competitive ratio of online algorithm   is 1 + .The result follows from Lemma 2.