Identifying and exploiting commonalities for the job-shop scheduling problem
Introduction
In this paper, we present a simple way to improve a local search algorithm like simulated annealing by identifying and exploiting commonalities. The basic idea is that we determine and compare a large number of good solutions: an element of the solution that occurs in so many high quality solutions is most likely to be a good element. We then run our local search algorithm again, where we favor solutions that contain the commonalities that we have discovered before.
As far as we know, the name commonality originates from the work by Schilham [1], who investigated local search methods for combinatorial optimization problems, like the job-shop problem and the traveling salesman problem. Based on his experiments, he formulated the following two hypotheses:
- 1.
Good solutions have many building elements (which he called commonalities) in common.
- 2.
The number of commonalities increases with the quality of the solution.
Commonalities show strong resemblance to the so-called building blocks, which are widely believed to determine the success of genetic algorithms. The idea is that solutions sharing these parts will become dominant in the pool of solutions, which makes it very likely that they will be part of the final solution.
We have looked at the possibility of applying commonalities to find a good solution of the job-shop problem (see Section 2 for a description), just like Schilham did. In contrast to Schilham, we explicitly determine the commonalities by running a first series of independent runs of a local search algorithm. After having determined the commonalities, we apply a second series of independent runs in which we favor the occurrence of the commonalities. This resembles the working of a genetic algorithm, which combines building blocks to get a good solution. The nice thing about our procedure is that we run some kind of genetic algorithm without having to bother about how to code a solution and how to define the cross-over operator and the selection mechanism. We have tested our algorithm on a number of benchmark instances.
The outline of the paper is as follows. In Section 2 we describe the job-shop scheduling problem, which we use to test the merits of our approach. In Section 3 we describe the disjunctive graph model of the job-shop scheduling problem, which we need for our local search algorithm. In Section 4 we present our initial simulated annealing algorithm, the derivation of the commonalities, and the incorporation of the commonalities in the simulated annealing algorithm. In Section 5 we present our computational results, and in Section 6 we draw some conclusions.
Section snippets
The job-shop scheduling problem
In a job-shop scheduling problem (JSSP) we have m machines, which have to carry out n jobs. In our variant of the JSSP, we assume that each job has to visit each machine exactly once; hence, each job consists of m operations, which have to be executed in a fixed order. For each operation we are given the machine by which it must be carried out without interruption and the time this takes, which is called the processing time. Each operation can only start when its job predecessor (the previous
The disjunctive graph model
It has become standard now to model an instance of a job-shop scheduling problem using a disjunctive graph, as was introduced by Roy and Sussman [9]. This graph is constructed as follows. The vertices V of the disjunctive graph represent the operations; vertex vi, corresponding to operation i, gets weight equal to its processing time pi. Furthermore, there are two dummy vertices vstart and vend. We draw an arc (vi,vj) between vertices vi and vj if the operation j is the direct successor of
A simulated annealing based algorithm
We need an initial solution to get the local search algorithm going. There are many methods for generating a good starting solution for the JSSP like the Shifting Bottleneck procedure (see [10]). We decided to start with a random initial solution, since we observed in our experiments that our algorithm always moved to a good schedule quickly (for instance, see Fig. 5). The same behavior was shown in the second phase of the algorithm in which we used the commonalities.
In our simulated annealing
Parameter tuning
Even though we are mainly concerned with the measure of improvement due to adding the commonalities, we want to tune the parameters such that the simulated annealing algorithm finds reasonably good solutions in the first phase; after all, according to the hypothesis by Schilham, the better the solutions, the more commonalities they share. To make the algorithm run, we must specify a starting temperature, a cooling off speed, and an end temperature at which point the algorithm terminates. The
Conclusions
From the computational results in the previous section it can be concluded that exploiting commonalities in solutions for the JSSP improves the quality of schedules for both the average makespan and the makespan of the best solution. The improvement is less than a percent of the value of the optimum, but it closes a reasonable part of the gap to the optimum. We find that the only types of commonalities that are useful are all-pairs commonalities, start/end commonalities and direct-pairs
References (11)
- Schilham RMF. Commonalities in local search. PhD thesis, Eindhoven University of Technology, The Netherlands;...
- Schmidt K. Using tabu search to solve the job-shop scheduling problem with sequence dependent setup times. Master's...
- et al.
Short shop schedules
Operations Research
(1997) Parallel taboo search techniques for the job shop scheduling problem
ORSA Journal on Computing
(1994)- et al.
A fast taboo search algorithm for the job shop problem
Management Science
(1996)
Cited by (11)
Accelerating the calculation of makespan used in scheduling improvement heuristics
2021, Computers and Operations ResearchA theoretical framework to accelerate scheduling improvement heuristics using a new longest path algorithm in perturbed DAGs
2023, International Journal of Production ResearchA novel fast parallel batch scheduling algorithm for solving the independent job problem
2020, Applied Sciences (Switzerland)Improved teaching-learning-based optimization algorithm for solving job shop scheduling problem
2017, Kongzhi yu Juece/Control and DecisionDeveloping a job shop scheduling system through integration of graphic user interface and genetic algorithm
2015, Multimedia Tools and ApplicationsSelecting the best operational strategy for job shop system: An ANP approach
2015, International Journal of Industrial and Systems Engineering