Abstract
We consider two twoagent scheduling problems with deteriorating jobs and rejection. Two agents and compete for the usage of a single machine. The actual processing time of job is , , where is the normal processing time of , , and denotes the starting time of . A job is either rejected by paying a rejection penalty, or accepted and processed on the machine. The objective is to minimize the sum of the completion time of the accepted jobs and total rejection penalty of the rejected jobs subject to an upper bound on the sum of the given objective function of the accepted jobs and total rejection penalty of the rejected jobs, where . We give dynamic programming algorithms for them, respectively. When , we present a fully polynomialtime approximation scheme (FPTAS) for the case and . When , a fully polynomialtime approximation scheme is also presented.
1. Introduction
In the real life, several departments may share an operating room in a hospital, some operations from these departments will be done in this operating room. For a patient, the later perform an operation for him, the harder to cure his disease, which can modeled as job deterioration. Besides, restricted by medical condition and medical level, a patient in serious condition may be transferred to more advanced hospitals for more systematic and professional treatment, which can be modeled as job rejection. If we regard the operating room as machine and each department as an agent. The goal is to minimize the objective function of one agent, subject to an upper bound on the objective functions of the other agents. Motivated by this background, we study the multiagent scheduling with deteriorating jobs and rejection.
Scheduling with deteriorating jobs was first introduced by Gupta and Gupta [1] and Browne and Yechiali [2]. Since then, scheduling with deteriorating jobs has received extensive attention from researchers. The book [3] systematically studied the timedependent scheduling from different perspectives. Liu et al. [4] considered problem and gave a fully polynomialtime approximation scheme (FPTAS). Wang et al. [5] gave a branchandprice algorithm for the single machine scheduling problem with deteriorating jobs and flexible periodic maintenance to minimize the make span. Gawiejnowicz [6] gave a comprehensive review of the research on timedependent scheduling in the past decades. For more papers on scheduling with deteriorating jobs, the reader can refer to [7–10] and so on.
In many practical cases, to obtain the maximum profits under the limited resources and increasing market competition, the manufacturer has to reject or outsource some jobs. The notion of scheduling with rejection was first introduced by Bartal et al. [11], they studied the problem . They proposed an FPTAS to fixed and approximation algorithm for arbitrary . Since then, researchers have done a lot of research on the scheduling with rejection. Shabtay et al. [12] provided a comprehensive survey for most existing offline scheduling problems with rejection. Recently published papers from the area include [13–16].
In recent decades, multiagent scheduling has been widely concerned by scholars. Baker and Smith [17] and Agnetis et al. [18] are the pioneers of multiagent scheduling problem. PerezGonzalez and Framinan [19] and Agnetis et al. [20] provided reviews of this area, respectively. Other research in this field includes [21–24]. Although researchers conducted much research in the aspect of multiagent scheduling, few researchers consider multiagent scheduling and job rejection simultaneously, even with deteriorating jobs. Feng et al. [25] studied the twoagent single machine scheduling with rejection. They gave a 2approximation algorithm and FPTASs. Li and Lu [26] extended the problem in [25] to the case of parallel machines. They presented dynamic programming algorithms and FPTASs. Oron [27] studied two single machine scheduling problems with two competing agents and rejection. Since multiagent scheduling, deterioration, and job rejection all can reflect many reallife situations, it is reasonable and meaningful to consider these cases simultaneously.
The remainder of this paper is organized as follows: in Section 2, we give the specific definition of our problem and the required notations. In Section 3, we consider the problem and give a dynamic programming algorithm and an FPTAS. In Section 4, we present a dynamic programming algorithm and an FPTAS for problem , respectively. Finally, we conclude the paper and put forward some future research issues.
2. Problem Formulation and Notation
The problem can be formally described as follows: there are two competing agents and to be processed on a single machine, each of them has a set of nonpreemptive jobs and . The jobs belonging to and are referred to as jobs and jobs, respectively. All jobs are available at time , where . The actual processing time of job is a linear increasing function of its staring time, given by , , where is the normal processing time of job , and denotes the starting time of . A job is either rejected with a rejection penalty has to be paid, or accepted and processed on the machine. For convenience, we define and .
Under schedule , is the completion time of job in schedule . When there is no ambiguity, we abbreviate to . Let and be the sets of accepted jobs and rejected jobs, respectively. The objective is to minimize the sum of completion time of the accepted jobs and the total rejection penalty of the rejected jobs subject to an upper bound on the sum of the given objective function of the accepted jobs and the total rejection penalty of the rejected jobs, where . According to the threefield notation of Agnetis et al. [18], the problems can be defined as and . If , it is optimal to reject all jobs. So, we only need to consider the case .
3. Problem
3.1. Dynamic Programming Algorithm
In this section, we will give a dynamic programming calgorithm for . Feng et al. [25] proved , a special case of our problem, is hard. Hence, our problem is at least hard.
Lemma 1. For , the maximum completion time of the jobs is and is independent of the order of the job [3].
Lemma 2. Problem can be solved by scheduling jobs in nondecreasing order of ratios [3].
According to Lemma 1 and 2, we can get the following lemma.
Lemma 3. For, there exists an optimal schedule such that the accepted jobs are processed in nondecreasing order of and the accepted jobs are processed consecutively in arbitrary order.
Based on Lemma 3, we renumber the jobs such that and .
Let denote the optimal objective function value satisfying the following conditions: (1) the jobs in consideration are and ; (2) the completion time of the last job is ; (3) the completion time of the last job is no more than ; (4) the total rejection penalty of the rejected jobs among is .
The initial conditions are as follows:Now we consider any optimal schedule for jobs , , and , in which meets the above conditions. In any such schedule, either is rejected, or is rejected, or the last scheduled job is one of and . Case 1. Job is rejected. We have . Case 2. The last scheduled job is . In this case, for the accepted job among and , the completion time of the last job must be , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs is . Then, we have . Case 3. Job is rejected. At this point, in the corresponding optimal schedule for and , the completion time of the last job is , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs among is . If holds, we have . Case 4. The last scheduled job is . In this case, for the accepted job among and , , the completion time of the last job must be , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs is . If holds, we have .
Combining the above four cases, we get the following recursive function:
The optimal value is given by , and the corresponding optimal schedule can be found by backtracking.
Theorem 1. The problem can be solved in time.
Proof. The recursion function can have up to states, and each iteration costs a constant time. Hence, the total running time is bounded by .
3.2. Fully PolynomialTime Approximation Scheme
In this subsection, we can give an FPTAS for problem , such that for any , the algorithm can find a solution in polynomial time in the input size and which satisfies the following:(1),(2),
Here is an optimal solution.
Now, we will present an FPTAS by considering the modified deteriorating rates and the inflated rejection penalty with . The definition of the modified deteriorating rates involves a geometric rounding technique developed by Sengupta [28]. And the rounding technique is stated as follows:
For any and , if , then we define and . If is an exact power of , then . Note that for any , we have .
For any , let , the modified deteriorating rate is defined as . Let be the exponent of , i.e., , then .
For any , let and be the set of the rejected jobs, where . The inflated rejection penalty of is defined as follows:
Lemma 4. For any and any integer , holds [29].
Lemma 5. For any and , [28].
Lemma 6. For any , the optimal objective function value for with the modified deteriorating rates is at most of times the optimal objective function value for .
Proof. Assume that jobs in set are scheduled in the order of , let be the set of accepted jobs which precede and be the set of accepted jobs before the last job. The objective function with the modified deteriorating rates is as follows:We then propose an exact dynamic programming algorithm for problem with the modified deteriorating rates. Firstly, we renumber the jobs such that and . We defineLet denote the optimal objective function value satisfying the following conditions: (1) the jobs in consideration are and ; (2) the completion time of the last job is ; (3) the completion time of the last job is no more than ; and (4) the total rejection penalty of the rejected jobs is .
The initial conditions are as follows:Now we consider any optimal schedule for jobs and which meets the above conditions. In any such schedule, either is rejected, is rejected, or the last scheduled job is one of and . Case 1. Job is rejected. Then, we have . Case 2. The last scheduled job is . In this case, for the accepted job among and , the completion time of the last job must be , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs is . Then, we have . Case 3. Job is rejected. At this point, in the corresponding optimal schedule for and , the completion time of the last jobs is , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs among is and , where is given by . If holds, we have . Case 4. The last scheduled job is . In this case, for the accepted job among and , the completion time of the last job must be , the completion time of the last job is no more than , and the total rejection penalty of the rejected jobs is . If holds, we have .Combining the above four cases, we get the following recursive function:where is given by .
The optimal value is given by , where and are the smallest integer such that and , respectively, hence and . The corresponding optimal schedule can be found by backtracking.
Theorem 2. Problem can be solved in time.
Proof. The recursive function has at most states, if the jobs is rejected, each iteration costs time; for the other three cases, each iteration cost a constant time. Hence, the total running time is bounded by .
4. Problem
4.1. Dynamic Programming Algorithm
Agnetis et al. [18] showed that problem , a special case of our problem when and the rejection penalty is large enough, i.e., it is optimal to accept all the jobs, is hard. Hence, our problem is at least hard.
Lemma 7. There exists an optimal schedule for such that the accepted jobs and accepted jobs are processed in nondecreasing order of , , respectively.
Based on Lemma 7, we renumber the jobs such that and .
Let be the optimal objective function value when the jobs in consideration are and , where is the completion time of the last job, is the total completion time of the accepted jobs and is the total rejection penalty of the rejected jobs. Let list include all the possible quadruplets solutions . Then, we can give the following forward dynamic programming algorithm. First, we initialize . For each quadruplet , we construct either two quadruplets in by adding job to this state or two quadruplets in by adding job to this state. More specifically, for any quadruplet we do the following: Case 1: Job is rejected. At this point, we have in , where . Case 2: The last scheduled job is . At this point, we have in , where and , where is the completion time of . Case 3: Job is rejected. If , we include the quadruplet , in , where . Case 4: The last scheduled job is . At this point, the completion time of is and . If holds, we include the quadruplet in , where , and .
Naturally, the construction of list or may generate more than one quadruplet with same , and values. To find the optimal value, among all quadruplets with same , and values, we can keep in or only the one with the minimum or value, respectively, that is, if there are quadruplets in , i.e., , with the same , , and values, we keep in only the quadruplet , where .
At the end, the optimal solution is given by the value that corresponds to the quadruplet with the minimum value among all the quadruplets in . Next, we propose an exact algorithm for .
Theorem 3. Algorithm 1 solves problem in.
