Identifying and exploiting commonalities for the job-shop scheduling problem

https://doi.org/10.1016/j.cor.2011.01.014Get rights and content

Abstract

For many combinatorial problems the solution landscape is such that near-optimal solutions share common characteristics: the so-called commonalities or building blocks. We propose a method to identify and exploit these commonalities, which is based on applying multistart local search. In the first phase, we apply the local search heuristic, which is based on simulated annealing, to perform a set of independent runs. We discard the solutions of poor quality and compare the remaining ones to identify commonalities. In the second phase, we apply another series of independent runs in which we exploit the commonalities. We have tested this generic methodology on the so-called job-shop scheduling problem, on which many local search methods have been tested. In our computational study we found that the inclusion of commonalities in simulated annealing improves the solution quality considerably even though we found evidence that the job-shop scheduling problem is not very well suited to the use of these commonalities. Since the use of commonalities is easy to implement, it may be very useful as a standard addition to local search techniques in a general sense.

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.

These observations led him to the following idea: when you get stuck in a run of a local search algorithm, do not apply a random restart, but use information from the solutions obtained so far. He implemented it by applying random perturbations to the current solution, where the probability of perturbing a building element depends on the number of times that it occurs in a reference pool containing ‘good’ solutions found earlier in the run.

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...
  • D.P. Williamson et al.

    Short shop schedules

    Operations Research

    (1997)
  • E.D. Taillard

    Parallel taboo search techniques for the job shop scheduling problem

    ORSA Journal on Computing

    (1994)
  • E. Nowicki et al.

    A fast taboo search algorithm for the job shop problem

    Management Science

    (1996)
There are more references available in the full text version of this article.

Cited by (11)

View all citing articles on Scopus
View full text