#### Abstract

We consider the online scheduling problem on a single machine with the assumption that all jobs have their processing times in , where and . 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 . 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 .

#### 1. 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 . For more papers, the reader may refer to [2–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 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 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 . When restarts are allowed, van den Akker et al. [9] proposed a best possible online algorithm with the competitive ratio of . The online integrated production-distribution 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 . 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 . 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 . 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–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 , where and . For the two scheduling problems, they provided best possible online algorithms with the competitive ratio of .

In this paper, we study the single machine online scheduling problem with job delivery in which the jobs have their processing times in , where and . 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 . 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 , we provide another online algorithm with the best competitive ratio of .

#### 2. Problem Formulation and Preliminaries

In the online scheduling problem on a single machine to minimize the maximum delivery completion time, there are jobs 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 . Here “” means that jobs are first processed on a single machine and then the completed jobs must be delivered in batches to the customer; “’’ means that there is one vehicle to deliver the jobs. “’’ means the capacity of the vehicle; “’’ means that the jobs have their processing times in . We use to denote the time at which the vehicle transports to the customer and returns to the machine. denotes the time when the vehicle finishes delivering the last delivery batch to the destination and returns to the machine.

Indeed, when 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 and is known in advance, they provided an online algorithm which is not best possible. However, in this paper, we assume that and is unknown in advance. We deal with two variants of the online scheduling problem: when the capacity of the vehicle is infinite and 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 ;(iii);(iv);(v);(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 in this order is continuously delivered in a schedule if the time interval is totally occupied by the vehicle for delivering the batches in ; equivalently, we have for ;(xii)suppose that 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 , for ; similarly, we say that there exists no idle time of the vehicle directly before in a schedule if , for .

#### 3. A Lower Bound

We assume that . 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 and be the objective values obtained by algorithm and optimal offline algorithm, respectively. All jobs in the instance have a processing time . Let . At time , the adversary releases a job . Assume that algorithm starts processing at time . If , then no other jobs arrive. Clearly, we have . However, the optimal schedule is to process at time and deliver it at time . Then we have . Thus, Suppose in the following that ; we assume that the vehicle delivers at time . If , then no other jobs arrive. Then we have when . If , then arrives at time . Clearly, we have . Note that . The optimal schedule is to process at time and then to deliver and together; that is, . Thus, we have when and .

The above discussion implies the following two lemmas.

Lemma 1. *For the problem , there exists no online algorithm with a competitive ratio of less than .*

Lemma 2. *For the problem , where , there exists no online algorithm with a competitive ratio of less than .*

#### 4. 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 , we choose the job of with the shortest processing time to process at time . Otherwise, do nothing but wait.

*Delivery Stage*. At time with , we consider as a delivery batch. If the machine is available, , and , 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 , 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 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 and be the objective values obtained from the schedule and the optimal offline schedule , respectively. Let and be the makespans of the schedule and the schedule , respectively. For the problem , let 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 .

As the capacity of the vehicle is infinite, we have the following lemma.

Lemma 4. *Consider the following*

Theorem 5. *The competitive ratio of algorithm is at most ; that is, .*

*Proof. *Let be the delivery batches in . Set . Assume that the last arrival time of the jobs is . If , then we have . Thus , as required. Suppose in the following that . If , from Lemmas 3 and 4, we have If , that is, the delivery batch follows immediately behind the delivery batch , then we have . Thus, As the capacity of the vehicle is infinite, by algorithm , we have . According to the algorithm , we have , for all . Then Thus, we have . From Lemma 4, (8) can be rewritten as The result follows.

Theorem 5 and Lemma 1 imply that is a best possible online algorithm for the problem . Indeed, according to the proof of Theorem 5, is also a best possible online algorithm for the problem .

#### 5. The Case of

In this section, we consider the problem , 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 , 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 , 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. If , then go to the following steps. Step . If the machine is available and , 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 . If the machine is busy or , that is, there exists a job which is unprocessed or processing at time , wait until the machine is available and or the next arrival. Step 3. Go to Step 0.

Similarly, the algorithm of the processing stage of is optimal for the problem , 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 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 and be the objective values obtained from the schedule and the optimal offline schedule , respectively. Let and be the makespans of the schedule and the schedule , respectively. For the problem , let 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 be the delivery batches in . Assume that the last arrival time of the jobs is .

Lemma 8. *If , then .*

*Proof. *As , we have . From Lemmas 6 and 7, we have The lemma follows.

Lemma 9. *If and , then .*

*Proof. *Note that . According to the algorithm of delivery stage of , we have and for all . Then we get . Thus, The lemma follows.

Lemma 10. *If and , then .*

*Proof. *Let be the earliest delivery batch such that are continuous delivery batch in . If , as , we have ; then , as required.

If and , as , we have . Then Thus, we have , as required. Suppose in the following that and . Then follows immediately behind the delivery batch , and so . Now, there are two possibilities to be discussed.*Case 1*. There are some nonfull delivery batches in . Denote the last nonfull delivery batch before by , where . Obviously, we have and . As is nonfull, by algorithm , we have and there is not a job which is processing at time . Then, for each , the jobs of arrive after . Note that are full delivery batches. Thus, we have From (15) and (16), we have as required.*Case 2*. In , all the delivery batches are full. As , we have . From Lemma 7, we have .*Case 2.1 (**)*. Then and . As all the delivery batches are full, we have . Then , as required.*Case 2.2 (**)*. The jobs in are processed on the machine in this interval . Note that is the earliest delivery batch such that are continuous delivery batch in . Then there exists an idle time of the vehicle directly before . Then . By algorithm , the job with a smaller completion time is delivered no later than that with a larger completion time; then . Noting that are continuous delivery batch, we have . However, , for all , and is full; 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 arrive at or after . Assume that there are jobs which are processed in on the machine, where . Noting that are full, then there are at least jobs which arrive at or after . In fact, these jobs need at least delivery batches to be delivered. Thus, we have As , for all , we have From (19), (20), and (21), we have as required.

If there exists no idle time in on the machine in , assume that is the earliest time such that there exists no idle time in . Obviously, and is the arrival time of some job. By algorithm , all jobs of arrive at or after . Assume that there are jobs which arrive at or after and there are jobs which are processed on the machine in , where . Then there are jobs which are processed on the machine in . As , we have Let , where and . Then In addition, jobs which are processed in are delivered by delivery batches, because these jobs are delivered in . Then ; that is, . Hence, ; that is, On the other hand, as , we have ; then ; that is, Now, from (23), (24), and (25), we have If , since , we have , as required. If , then there exists no idle time immediately before on the machine. As the job with a smaller completion time is delivered no later than that with a larger completion time, we have . Furthermore, there exists an idle time of the vehicle before ; then , implying that However, From (24), (26), (28), and (29), (27) can be rewritten as This completes the proof.

Theorem 11. *For the problem **where the capacity of the vehicle is finite and fixed, is the best possible online algorithm with a competitive ratio of .*

*Proof. *From Lemmas 8, 9, and 10, the competitive ratio of online algorithm is . The result follows from Lemma 2.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work was supported by the Natural Sciences Foundation (Grant no. 20142BAB211017) of Jiangxi Province and the School Subject (Grant no. 06162015) of Jiangxi University of Finance and Economics.