Abstract
The problem of scheduling on a single machine is considered in this paper with the objective of minimizing the sum of weighted tardiness of jobs. A new ant-colony optimization (ACO) algorithm, called fast ACO (FACO), is proposed and analysed for solving the single-machine scheduling problem. By considering the benchmark problems available in the literature for analysing the performance of algorithms for scheduling on a single machine with the consideration of weighted tardiness of jobs, we validate the appropriateness of the proposed local-search schemes and parameter settings used in the FACO. We also present a comparison of the requirements of CPU time for solving the single-machine total-weighted tardiness problem by the FACO and the existing algorithms.
Similar content being viewed by others
References
Lawler EL (1977). A ‘pseudopolynominal’ algorithm for sequencing jobs to minimize total tardiness. Ann Discrete Math 1: 331–342.
Du J and Leung JY-T (1990). Minimising the total tardiness on one machine is NP-hard. Math Ops Res 15: 483–495.
Abdul-Razaq TS, Potts CN and Van Wassenhove LN (1990). A survey of algorithms for the single machine total weighted tardiness scheduling problem. Discrete App Math 26: 235–253.
Potts CN and Van Wassenhove LN (1991). Single machine tardiness sequencing heuristics. IIE Trans 23: 346–354.
Crauwels HAJ, Potts CN and Van Wassenhove LN (1998). Local search heuristics for the single machine total weighted tardiness scheduling problem. INFORMS J Compu 10: 341–350.
Congram RK, Potts CN and van de Velde SL (2002). An iterated dynasearch algorithm for the single-machine total weighted tardiness scheduling problem. INFORMS J Compu 14: 52–67.
den Besten M, Stuetzle T and Dorigo M (2001). Design of iterated local search algorithms: an example application to the single machine total weighted tardiness problem. In: Boers EJW et al (eds). Proceedings of EvoWorkshop 2001, Lecture Notes in Computer Science, Vol. 2037 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, pp 441–451.
Dorigo M, Maniezzo V and Colorni A (1996). The ant system: optimization by a colony of cooperating agents. IEEE Trans Systems, Man Cybernetics—Part B 26: 29–41.
den Besten M, Stuetzle T and Dorigo M (2000). Ant colony optimizatioin for the total weighted tardiness problem. In: Schoenauer M et al (eds). Proceedings of PPSN-VI, Vol. 1971 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, pp 611–620.
Nawaz M, Enscore Jr EE and Ham I (1983). A heuristic algorithm for the m-machine, n-job flowshop sequencing problem. OMEGA 11: 91–95.
Rajendran C (1993). Heuristic algorithm for scheduling in a flowshop to minimize total flowtime. Int J Prod Econ 29: 65–73.
Ho JC (1995). Flowshop sequenceing with mean flowtime objective. Eur J Opl Res 81: 571–578.
Framinan JM, Leisten R and Rajendran C (2003). Different initial sequences for the heuristic of Nawaz, Enscore and Ham to minimize makespan, idletime or flowtime in the static flowshop sequencing problem. Int J Prod Res 41: 121–148.
Acknowledgements
The second author gratefully acknowledges the Research Fellowship of the Alexander-von-Humboldt Foundation for carrying out this work in 2002, 2003 and 2004. The authors thank the referee for the suggestions and comments that improved the earlier version of the paper.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Improvement scheme used by Nawaz et al:10
Suppose we have five jobs to be sequenced. In the case of the general m-machine flowshop problem, the jobs are arranged in the descending order of their total process times on all machines. In our problem, the jobs are arranged in the non-decreasing order of their due-dates. Let that ordered set be {5-4-3-2-1}. Take the first job from this set, that is, job 5, and hence form a partial sequence {5} with one job in it. Take the second job from the ordered set, that is, job 4, and insert it in all possible positions of the existing partial sequence, that is, {5}. Hence we get partial sequences {4-5} and {5-4}. Evaluate these partial sequences with respect to the objective function under consideration, that is, the sum of weighted tardiness of jobs. Choose the better of the two partial sequences; say, partial sequence {4-5}. Now take the job found next in the ordered set, that is, job 3 and insert it in all possible positions of partial sequence {4-5} to get new partial sequences {3-4-5}, {4-3-5} and {4-5-3}. Choose the best partial sequence among these new partial sequences with respect to the sum of weighted tardiness of jobs. The procedure progresses thus until a complete sequence of jobs is built up.
Step-by-step procedure of the RINS
RINS performs the following steps once.
- Step 1::
-
Call the input sequence to the RINS Ω. Let [k] denote the job found in position k of Ω. Generate a sequence of n jobs at random. Call it Ψ.
- Step 2::
-
Let the first job in Ψ be i′.
- Step 3::
-
For k=1 to n, do the following:
if i′≠[k]
then insert job i′ in position k of Ω and adjust the sequence accordingly by not changing the relative positions of other jobs in Ω; calculate the value of objective function of the resultant sequence.
- Step 4::
-
Choose the best sequence among the (n−1) sequences generated in Step 3. If the value of objective function is improved, replace Ω by the best generated sequence.
- Step 5::
-
Remove the first job, that is, job i′, from Ψ. If Ψ is not a null set, go back to Step 2; else stop. Sequence Ω is the output sequence from the RINS.
The RINS generates a total of n(n−1) sequences in the search process.
Step-by-step procedure of the RJPS
The RJPS works as follows. There are (n(n−1))/2 possible pairs of jobs that can be formed in a set of n jobs. For example, we have {1, 2}, {1, 3},…{1, n}, {2, 3}, {2, 4},…, {2, n}, {3, 4},…, and {n−1, n} pairs of jobs as the total number of pairs. Choose a job-pair at random and swap the corresponding jobs in Ω, the seed sequence to the RJPS, without altering the positions of other jobs. If the resultant sequence is better than Ω (in terms of the value of objective function), replace Ω with the generated sequence; else retain the seed sequence. Omitting this pair from further consideration, choose a job-pair at random and swap the jobs. Compare the generated sequence and Ω, and update Ω, if necessary. Proceeding likewise, we obtain the final sequence yielded by the RJPS, denoted by Ω.
The RJPS enumerates a total of (n(n−1))/2 sequences in the search process.
Rights and permissions
About this article
Cite this article
Holthaus, O., Rajendran, C. A fast ant-colony algorithm for single-machine scheduling to minimize the sum of weighted tardiness of jobs. J Oper Res Soc 56, 947–953 (2005). https://doi.org/10.1057/palgrave.jors.2601906
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/palgrave.jors.2601906