Single-Machine Scheduling to Minimize Total Completion Time and Tardiness with Two Competing Agents

We consider a single-machine two-agent problem where the objective is to minimize a weighted combination of the total completion time and the total tardiness of jobs from the first agent given that no tardy jobs are allowed for the second agent. A branch-and-bound algorithm is developed to derive the optimal sequence and two simulated annealing heuristic algorithms are proposed to search for the near-optimal solutions. Computational experiments are also conducted to evaluate the proposed branch-and-bound and simulated annealing algorithms.


Introduction
In traditional scheduling, there is a common goal to minimize for all the jobs [1][2][3][4]. In contrast to that, there is a growing interest in multiagent scheduling problems where jobs are from several customers who have different goals to pursue. For instance, Peha [5] gave the telecommunication service examples where various types of packets and service compete for the use of a commercial satellite, and the problem is to satisfy the service requirements of individual agents to transfer voice, image, and text files for their clients. Brewer and Plott [6] gave a transportation example where the agents own transportation resources and compete for the usage of the infrastructures. Kubzin and Strusevich [7] presented an example that maintenance operations complete with the real jobs for machine occupancy on maintenance planning. Baker and Smith [8] gave a sharing example of a prototype shop in which the department of research and development might be concerned about quick response time, while the department of manufacturing might be more concerned about meeting the due dates.
Agnetis et al. [9] and Baker and Smith [8] were the pioneers that brought the multiagent problems into scheduling field. Agnetis et al. [9] considered the maximum of regular functions, number of late jobs, and total weighted completion times. They obtained different scenarios depending on the objective function of each agent and on the structure of the processing system. For each scenario, they addressed the complexity of various problems. Baker and Smith [8] examined the implications of minimizing an aggregate scheduling objective function in which jobs belonging to different customers are evaluated based on their individual criteria. They demonstrated that the problem to minimize a mix of makespan, maximum lateness, or total weighted completion time is NP-hard. Cheng et al. [10] considered the feasibility model of multiagent scheduling on a single machine where each agent's objective function is to minimize the total weighted number of tardy jobs. They showed that the general problem is strongly NP-complete and developed the complexity results for some special cases. Ng et al. [11] addressed a single-machine two-agent problem to minimize the total completion time of the first agent given that the number of tardy jobs of the second agent cannot exceed a certain number. They showed that the problem is NPhard under high multiplicity encoding and can be solved in pseudopolynomial time under binary encoding. Lee et al. [12] discussed a single-machine multiagent scheduling problem in which each agent is responsible for his own set of jobs 2 The Scientific World Journal and wishes to minimize the total weighted completion time of his own set of jobs. They reduced this NP-hard problem to a multiobjective short-path problem. They also provided an efficient approximation algorithm with a reasonably good worst-case ratio. Agnetis et al. [13] developed the branchand-bound algorithms for several single-machine two-agent scheduling problems. They used Lagrangian dual to derive the bounds for the branch-and-bound algorithm in strongly polynomial time. Lee et al. [14] studied a single-machine twoagent problem with deteriorating jobs in which the objective function is to minimize the total completion time of jobs from one agent given that no tardy jobs are allowed for the other agent. They provided a branch-and-bound algorithm to derive the optimal solution and several heuristic algorithms for the proposed problem. Recently, Leung et al. [15] generalized the single-machine problems proposed by Agnetis et al. [9] to the case of multiple identical parallel machines. In addition, they also considered the situations where the jobs may have different release dates and preemptions may or may not be allowed. Nong et al. [16] studied a singlemachine two-agent scheduling problem for minimizing the total cost in which the cost of the first agent is the maximum weighted completion time while that of the second agent is the total weighted completion time. Liu et al. [17] considered single-machine two-agent problems with increasing linear deterioration consideration. They developed the optimal solutions for some problems where the goal is to minimize the objective function of the first agent given that the objective function of the second agent cannot exceed a certain upper bound. Cheng et al. [18] studied a two-agent single-machine scheduling problem with release times where the objective is to minimize the total weighted completion time of the jobs of one agent with the constraint that the maximum lateness of the jobs of the other agent does not exceed a given limit. They proposed a branch-and-bound algorithm to solve problems with up to 24 jobs. Yu et al. [19] developed the optimal solutions for several single-machine scheduling problems with two competing agents and maintenance activity. Liu et al. [20] considered single-machine scheduling with two-agent and sum-of-processing-times-based deterioration effect. They developed some polynomial-time algorithms for the respective problems.
Pinedo [1] pointed out that a customer is often concerned with multiple objectives. For instance, he might want to have a lower cost and the on-time delivery. To the best of our knowledge, multiagent scheduling problems with the consideration of multiple objectives from the same agent have seldom been discussed in the literature. In this paper, we study a two-agent scheduling problem on a single machine where the objective is to minimize the weighted combination of the total completion time and the total tardiness of jobs from the first agent given that the number of tardy jobs from the second agent is zero. The rest of the paper is organized as follows. In the next section the formulation of our problem is described. In Section 3, a branch-and-bound algorithm incorporating several elimination rules and a lower bound is constructed to speed up the search for the optimal solution. In Section 4, two simulated annealing algorithms are proposed to solve this problem. In Section 5, a computational experiment is conducted to evaluate the efficiency of the branchand-bound algorithm and the performance of the proposed simulated annealing algorithms. A conclusion is given in the final section.

Problem Description
The problem we study is described as follows. There are jobs ready to be processed. Each job belongs to either one of the two agents AG 1 or AG 2 . For each job , there is a processing time , a due date , and an agent code , where = 1 if job ∈ AG 1 or = 2 if job ∈ AG 2 . Under a schedule , let ( ) be the completion time of job , let ( ) = max{0, ( ) − } be the tardiness of job , and ( ) = 1 if ( ) > 0 and zero otherwise. In this paper, we study a single machine problem to minimize the weighted combination of the total completion time and the total tardiness of jobs from AG 1 given that no tardy jobs from AG 2 are allowed. Using the conventional three fields of notation, this problem is denoted by

A Branch-and-Bound Algorithm
If there is no job from agent AG 2 and = 1, the problem under consideration reduces to the classical single-machine total tardiness time problem which is proved to be NPhard by Du and Leung [21]. Therefore, a branch-and-bound algorithm might be a good way to derive the optimal solution. In this section, we will provide several dominance properties to speed up the search process.

Dominance Properties.
In this subsection, we develop a nonadjacent and several adjacent dominance properties to reduce the searching scope.
Property 1. If jobs , ∈ AG 1 , ≤ , and < , then job must precede job in an optimal schedule.
The following propositions are the ordering criteria on a pair of adjacent jobs. Suppose that and are two schedules of jobs and the only difference between them is a pairwise interchange of two adjacent jobs and . That is, = ( , , , ) and = ( , , , ), where and each denote a partial sequence. In addition, let denote the completion time of the last job in . The completion times of jobs and in are Similarly, the completion times of jobs and in are Proposition 1. If jobs , ∈ 1 , < , and < < + , then dominates .
Proof. Since jobs in partial sequence are processed in the same order in both and and from (2) and (4), we have To show that dominates , it suffices to show Since < and < < + , we have Suppose that ( ) is not zero. Note that this is the more restrictive case since it comprises the case that ( ) is zero. From < , we have Thus, dominates .
To further facilitate the search process, we provide two properties to determine the feasibility of a partial schedule or the ordering of the remaining unscheduled jobs. Assume that ( , ) is a sequence of jobs where is the scheduled part with jobs and is the unscheduled part with ( − ) jobs. Among the unscheduled jobs, there are 1 jobs from agent AG 1 and 2 jobs from agent AG 2 where 1 + 2 = − . Let * = ( , * ) be a sequence such that 1 jobs from agent AG 1 are first scheduled in the shortest processing time (SPT) rule, followed by 2 jobs from agent AG 2 in the earliest due date (EDD) rule. In addition, let 2 denote the due dates of the remaining 2 jobs from agent AG 2 when they are arranged in the EDD rule. Moreover, let 2 (1) , 2 (2) , . . . , 2 ( 2 ) denote their corresponding processing times and let [ ] be the completion times of the last job in .

A Lower Bound.
The efficiency of the branch-and-bound algorithm also depends on the lower bound of the partial sequence. Assume that PS is a partial schedule in which the order of the first jobs is determined and let US be the unscheduled part with ( − ) jobs. Among the unscheduled jobs, there are 1 jobs from agent AG 1 and 2 jobs from agent AG 2 . Moreover, let 2 (1) ≤ 2 (2) ≤ ⋅ ⋅ ⋅ ≤ 2 ( 2 ) denote the due dates of the remaining 2 jobs from agent AG 2 when they are arranged in the EDD rule and 2 (1) , 2 (2) , . . . , 2 denote their corresponding processing times. In addition, let denote the processing times of the remaining 1 jobs from agent AG 1 when they are arranged in the SPT rule and 1 (1) ≤ 1 (2) ≤ ⋅ ⋅ ⋅ ≤ 1 ( 1 ) denote the due dates of the remaining 1 jobs from agent AG 1 when they are arranged in the EDD rule. To derive the lower bound of the objective function, we construct 1 pseudo jobs from agent AG 1 in the way that job from agent AG 1 has the processing time 1 ( ) and due date 1 ( ) . The idea to derive the lower bound of the completion times of jobs from agent AG 1 is to assign the completion times to jobs from agent AG 2 as late as possible without violating the assumption of no tardy jobs from agent AG 2 and then to proceed jobs from agent AG 1 into the machine available periods with the assumption that jobs splitting is allowed for jobs from agent AG 1 . In addition, let be the completion time of the last job in partial schedule PS. The procedures are basically divided into two phases. The first phase is to calculate the latest time to start processing jobs from AG 2 , and the second phase is to derive the lower 4 The Scientific World Journal bounds for the completion times of jobs from agent AG 1 . The steps are given as follows.

The Simulated Annealing Algorithm
Metaheuristic algorithms have been successfully applied to solve many scheduling or optimization problems [22][23][24][25]. The simulated annealing (SA) algorithm is one of the most popular ones. It is originally proposed by Kirkpatrick et al. [26] and has been successfully applied to solve many combinatorial optimization problems. The advantage of SA algorithm is that it could avoid getting trapped in a local optimum. In this paper, we utilize the SA algorithm to derive the near-optimal solution for the proposed problem. A brief description of the SA procedure is as follows. Given an initial sequence, a new sequence is created by a random neighborhood generation. The new sequence is accepted if it has a smaller objective function than the original sequence; otherwise, it is accepted with some probability that decreases as the process evolves. The exchange condition is initially set to a high level so that a neighborhood exchange could happen frequently in early iterations. It is gradually lowered using a predetermined cooling strategy so that it becomes more difficult to exchange in later iterations unless a better solution is obtained.
The key elements of the SA algorithm are as follows.
(1) Initial Sequence. Since no tardy job is allowed for agent AG 2 and the SPT rule yields the optimal solution for the total completion time problem, the initial sequence is constructed as follows. Jobs from agent AG 2 are first placed according to the EDD rule, followed by jobs from agent AG 1 according to the SPT rule.
(2) Neighborhood Generation. Neighborhood generation plays an important role in the efficiency of the SA method. Three neighborhood generation methods are used in the preliminary study. They are the pairwise interchange (PI), the extraction and forward-shifted reinsertion (EFSR), and the extraction and backward-shifted reinsertion (EBSR) movements. It is observed that the PI movement yields a better solution in general. Thus, it is used in later analysis.
(3) Acceptance Probability. In SA, solutions are accepted according to the magnitude of increase in the objective function and the temperature. The probability of acceptance is generated from an exponential distribution: where is the control parameter and ΔTC is the change in the objective function. In addition, the method of changing at the th iteration is obtained from Ben-Arieh and Maimon [27] and is given by where is an experimental factor. After some pretests, we chose = 6000. If the weighted combination of the total completion time and the total tardiness increases as a result of a random neighborhood movement, the new sequence is accepted when (accept) > , where is a uniform random number between 0 and 1.
(4) Objective Function. The objective function is usually chosen to be the one that we want to minimize. Thus, in the first simulated annealing algorithm SA 1 , the objective function is ∑ ∈AG 1 + (1 − ) and regenerates the neighborhood if it is infeasible. Since our problem is to minimize an objective function under a constraint, it is reasonable to add the constraint into the objective function. Thus, in the second simulated annealing algorithm SA 2 , the objective function is modified to ∑ ∈AG 1 + (1 − ) + ∑ ∈AG 2 where is chosen to be 1000 after some preliminary tests.
(5) Stopping Condition. Our preliminary tests showed that the schedule is quite stable after 400 iterations, where is the number of jobs. Thus, 400 was used as the number of iterations.

Computational Experiments
In this section, we conducted the computational experiments to evaluate the performance of the branch-and-bound and the proposed SA algorithms. The algorithms were coded in Fortran 90 and run on a personal computer with Intel(R) Core(TM)2 Duo CPU T7500 2.20 GHz and 2.99 GB RAM under Windows XP. The job processing times were generated The Scientific World Journal 5  from a uniform distribution over the integers 1 to 100 and the due dates of jobs were generated from a uniform distribution over the integers between (1 − − /2) and (1 − + /2), where is the due date range factor, is the tardiness factor, and is the total processing time of all the jobs.
The computational experiments were divided into four parts. In the first part of the experiment, we studied the effects of the due date factors and and the proportion of jobs from the second agent to the performance of the branch-andbound algorithm. The job size was 12, and the coefficient of the weighted combination of the total completion time and the total tardiness was 0.5. Three values of the proportion of jobs from agent AG 1 were considered, that is, = 0.25, 0.5, and 0.75. Eight combinations of ( , ) values were tested, that is, (0. 25    100 replications were randomly generated for each case and the results were presented in Table 1. A two-way analysis of variance (ANOVA) on the number of nodes of the branchand-bound algorithm was constructed and given in Table 2.
The resulting value of factor was 189.52 with a value close to 0, which indicated that the values of really affect the performance of the branch-and-bound algorithm. In fact, problems are easier to solve when the value of is larger. The main reason is that Property 2 is more powerful in this case. In addition, the resulting value of due date factor or was 29.19 with a value close to 0, which indicated that 6 The Scientific World Journal The main reason is that Property 2 and the lower bound are more powerful in those cases. Similar to the first part of the experiment, the second part was to test the effects of the coefficient as well as the effects of the due date factors and . The job size was fixed at 12, and was 0.5. Three different values of (0. 25 Table 3. A twoway ANOVA on the number of nodes was utilized to test the effects of the parameters to the performance of the branchand-bound algorithm, and the result was reported in Table 4. The resulting value for the coefficient was 0.74 with a The Scientific World Journal 7 value of 0.48, which implied that does not affect the performance of the branch-and-bound algorithm. On the other hand, the statistical test showed that the due date factors have significant effects on the performance of the branch-andbound algorithm, and the problems are easier to solve when = 0.75, which is consistent with the findings in the first part of the experiment. The main purpose of the third part of the experiment was to study the impact of the number of jobs to the performance of the branch-and-bound algorithms and the accuracy of the proposed simulated annealing algorithms. Three different job sizes ( = 16, 20, and 24) were tested. Since the problems are relatively easier to solve when = 0.75 and was found to be the insignificant factors in the second part of the experiments, we ignored the cases when = 0.75 and fixed at 0.5 in the third part of the experiment. Two values of (0.25, 0.50) and three values of (0.25, 0.50, and 0.75) and of (0.25, 0.50, and 0.75) were tested. The mean and standard deviation of the number of nodes and the mean and standard deviation of the CPU time (in seconds) for the branch-and-bound algorithm were given, while only the mean and standard deviation of the error percentages of the SA algorithms were reported. The error percentage of the solution produced by SA is calculated as where is the weighted combination of the total completion time and the total tardiness of the solution generated by SA and * is the value of the optimal solution obtained from the branch-and-bound algorithm. The execution time of SA algorithms was not recorded since they were finished within a second. For each condition, 100 replications were generated and the results were given in Table 5. It is observed that the branch-and-bound algorithm could solve problems of up to 24 jobs in a reasonable amount of time. However, the number of nodes and execution time grow exponentially as the number of jobs increases since the problem is NP-hard. The most time consuming case ( , , , ) = (24, 0.25, 0.5, 0.75) took an average execution time of 47.37 seconds. As to the performance of the SA algorithms, the results showed that both of them are quite accurate with a mean percentage error of less than 1% for all the tested cases. Moreover, it seemed that SA 2 performed better than SA 1 when the number of jobs is 16; however, the trend is not obvious as the number of jobs becomes larger. Thus, we would study the performance of the algorithms for large job-size problems in the last part of the experiments. We tested two job sizes, that is, = 100 and 200, in the last part of the experiments. We randomly generated 100 instances for each situation and we reported the results in Table 6. The mean and standard deviation of the relative deviation percentage (RDP) were given. The RDP of the 8 The Scientific World Journal solution produced by a simulated annealing algorithm is calculated as ( 1 3 ) for = 1, 2, where is the value of the weighted combination of the total completion time and the total tardiness of the jobs from the first agent generated by the th simulated annealing algorithm. The mean and standard deviation of the execution time were also reported. In addition, we recorded the number of times ( ) it yields the minimum value. It was seen that both algorithms are very fast since the mean execution time is less than 1 second for all the tested cases. However, the first SA algorithm performs better than the second one in terms of the RDP values and the number of times it yields the minimum value. Thus, it is recommended as the number of jobs increases.

Conclusion
In this paper, we considered a two-agent single-machine scheduling problem where the objective is to minimize the weighted combination of the total completion time and the total tardiness of the jobs of the first agent given that no tardy job is allowed for the second agent. We proposed a branch-and-bound algorithm to solve the problem optimally and two simulated annealing algorithms to find near-optimal solutions. The computational experiments showed that the branch-and-bound algorithm could solve problems of up to 24 jobs in a reasonable amount of time. It also showed that the performance of the first SA algorithm is very good, yielding an average error percentage of less than 1% for all the tested cases.