INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L'OBTENTION DU GRADE DE DOCTEUR ES SCIENCES PAR Tamas KIS Informaticien mathématicien diplômé de l'université des Sciences Eotvos Lorand, Budapest, Hongrie de nationalité hongroise acceptée sur proposition du jury: Prof. A. Hertz, directeur de thèse Prof. J. Blazewicz, rapporteur Prof. Th.M. Liebling, rapporteur Prof. M. Widmer, rapporteur Prof. D. de Werra, rapporteur Lausanne, EPFL 2001
ABSTRACT Job-shop scheduling is an important part of scheduling theory. The quest for efficient methods to solve the classical problem and its extensions still continues. Several algorithms are based on inserting a set of operations into a schedule. On the one hand, most local search algorithms try to improve the actual schedule by removing a single operation and inserting it back into a better position. On the other hand, there is a class of algorithms that remove al1 operations from a machine and insert them back in a better order. In both cases, the success of the algorithms depends on how efficiently the insertion problem is solved. This shows that insertion techniques have great importance in solving the job-shop scheduling problem or its extensions. In job-shop scheduling a set of jobs is to be processed on a set of machines. In the "classical" problem a job is a sequence of operations and operations require one machine each. Meanwhile, this model has been enriched by letting operations require more than one machine, and by specifying alternative subsets of machines for them. Moreover, the total order is replaced by a partial one in the definition of jobs. In the first part of the dissertation we study a further extension, wheri: the routing of a job is a directed graph that can model partial order of operations and which contains sets of alternative subgraphs. Exactly one subgraph must be chosen from each set of alternatives and the selected operations must be sequenced both on the machines and in the jobs. The insertion problem emerging in this context is twofold: insert a single operation into the sequence of operations on the machine required and into that of its job, respectively, and insert the operations of a subgraph alternative into the schedule. We propose an efficient algorithm for inserting a single operation into a schedule optimally that we use in a heuristic to solve the other insertion problem. Moreover, we propose two heuristic algorithms to solve the scheduling problem. In the second part, we study the job insertion problem of job-shop scheduling. Given a feasible job-shop schedule of a set of jobs and a new job, which is not scheduled yet: the new job is to be inserted into the schedule without modifying the order of already scheduled operations, the objective being to minimise the maximum job kardiness or the maximum job completion time (makespan). This is an insertion problem where a set of operations have to be inserted into a schedule. We characterise the set of feasible insertions as the maximal stable sets of an appropriately defined graph, the so-called insertion graph. We propose a transformation of the insertion graph that enables us to compute a lower bound on the value of optimal insertions. We obtain these results by using the theory of perfect graphs and some elements of the theory of convex polytopes. We use Our lower bound computation method in branch-and-bound algorithms for the job insertion problem. Finally, we illustrate that insertion techniques are useful in practice by solving a complex scheduling problem defined by the chemical process industry. With a simple extension of the methods described in the first part of the dissertation we have been able to find solutions of higher quality than those obtained by a commercial software.
RESUME Les problèmes de type job-shop constituent un axe important de recherche dans le domaine de l'ordonnancement. De nombreuses recherches sont toujours en cours pour la détermination de méthodes efficaces de résolution du problème du job-shop classique ainsi que de ses extensions. Plusieurs algorithmes proposés à ce jour sont basés sur l'insertion d'un ensemble d'opérations dans une solution partielle. Par exemple, la plupart des algorithmes de recherche locale tentent d'améliorer une solution en retirant une opération et en la réinsérant à une meilleure position. Il existe également des algorithmes qui retirent toutes les opérations d'une machine et les réinsèrent dans un ordre meilleur. Dans tous ces cas, le succès de ces algorithmes dépend principalement de l'efficacité de la procédure d'insertion. Ceci prouve l'importance des techniques d'insertion dans le contexte des problèmes de type job-shop et de leurs extensions. Dans le cas du job-shop classique, un ensemble de tâches doit être exécuté sur un ensemble de machines. Chaque tâche est une chaîne d'opérations, chacune d'entre elles nécessitant l'utilisation d'exactement une machine. Ce modèle de base a. été enrichi en autorisant par exemple les cas où une opération nécessite l'utilisation de plus d'une machine, ou encore, en donnant un choix sur les machines à utiliser pour la réalisation d'une opération. Citons également l'extension consistant à substituer la chaîne d'opérations caractérisant une tâche par un ordre partiel d'opérations. Dans la première partie de la thèse nous étudions une nouvelle extension du problème du job-shop dans laquelle chaque tâche est définie à l'aide d'un graphe orienté. Ce graphe permet de modéliser l'ordre partiel des opérations constituant la tâche. De plus, ce graphe contient des ensembles de sous-graphes alternatifs, chaque sous-graphe définissant un ordre partiel de quelques opérations de la tâche considérée. Exactement lm sous-graphe doit être choisi dans chaque ensemble de sous-graphes alternatifs. Les opérations ainsi choisies sur l'ensemble des tâches doivent être ordonnées sur les différentes machines et doivent également être ordonnées de manière à ce que chaque tâche soit constituée d'une chaîne d'opérations. Ces divers ordonnancements doivent respecter les contraintes de précédence induites par les arcs des graphes orientés. L'insertion d'une opération dans une solution partielle présente donc deux difficultés puisqu'il s'agit non seulement d'insérer l'opération à une bonne position sur la machine requise, mais également à une bonne position sur la chaîne d'opérations constituant la tâche en question. Nous proposons un algorithme exact et efficace pour résoudre ces problèmes d'insertion. Cet algorithme exact est utilisé dans une heuristique pour l'insertion de l'ensemble des opérations d'un sous-graphe alternatif. De plus nous proposons deux heuristiques pour 1s~ résolution du problème du job-shop étendu décrit ci-dessus. Dans la deuxième partie, nous étudions le problème d'insertion d'une nouvelle tâche dans le contexte du job-shop. Etant donné un ordonnancement de toutes les opérations d'un ensemble de tâches, nous considérons le problème consistant à insérer toutes les opérations d'une nouvelle tâche, sans modifier l'ordre des opérations dans l'ordonnancement donné, avec pour objectif de minimiser le retard maximal ou l'heure à laquelle la dernière tâche est terminée (makespan). Le problème à résoudre est donc un problème d'insertion d'un ensemble d'opérations dans un ordonnancement donné. Nous démontrons l'équivalence
entre l'ensemble des insertions respectant les contraintes et l'ensemble des stables maximaux d'un graphe que nous décrivons et analysons. Nous proposons une tranformation de ce graphe qui nous permet de calculer une borne inférieure sur la valeur de la solution optimale. Ces résultats sont obtenus à l'aide de concepts liés à la théorie des graphes parfaits ainsi qu'à celle des polytopes convexes. Nous intégrons ensuite ce calcul de borne dans un algorithme de type séparation-évaluation (branch-and-bound) qui nous permet de résoudre exactement le problème d'insertion considéré. En conclusion, nous illustrons l'utilité pratique des techniques d'insertion en résolvant un problème d'ordonnencement complexe issu de l'industrie chimique. Grâce à une simple extension des méthodes décrites dans la première partie de la thèse nous avons pu trouver des solutions de bien meilleure qualité que celles obtenues par un logiciel commercial.
Contents Introduction 1 Definitions 5 1 Combinatorial Optimisation 11 1.1 Combinatorial optimisation problems... Il 1.2 Meta-heuristics and exact methods for combinatorial optimisation... 12 1.2.1 Tabu search... 13 1.2.2 Genetic algorithms... 14 1.2.3 Br anch-and-bound... 16 1.3 The minimum flow problem... 17 2 Literature review 19 2.1 Classical job-shop scheduling... 19 2.1.1 The classical job-shop scheduling problem... 19 2.1.2 The disjunctive graph representation... 20 2.1.3 Critical paths and immediate improvement... 22 2.1.4 Estimation techniques... 25 2.1.5 Search control... 29 2.1.6 Insertion techniques... 30 2.2 Extensions to classical job-shop scheduling... 32 2.2.1 Job-shop scheduling with multi-purpose machines... 32 2.2.2 Job-shop scheduling with multiple resources... 41 2.2.3 Mixed-shop scheduling... 45 3 Job-shop scheduling with processing alternatives 3.1 Job-shop scheduling with partial order of operations... 3.1.1 Complexity of scheduling with two jobs... 3.2 Job-shop scheduling with processing alternatives... 3.3 The disjunctive graph representation... 3.4 Inserting a set of operations into a partial schedule... 3.4.1 Optimal feasible insertions... 3.4.2 Maximal prefixes... 3.4.3 A problem reduction technique... 3.5 Scheduling jobs with partial orders of operations...
CONTENTS 3.6 A genetic algorithm for AJSP... 73 3.7 A tabu-search algorithm for AJSP... 74 3.8 Lower bound computation... 75 3.9 Computat ional results... 76 3.9.1 Results on open-shop instances... 76 3.9.2 Results on AJSP instances... 78 3.9.3 Comparison on MPM instances... 80 3.10 Conclusions... 81 3.11 Tables... 83 4 The job insertion problem 89 4.1 Problem statement... 90 4.2 Computational complexity... 92 4.3 Solving the problem by Branch-and-Bound... 99 4.3.1 A relaxation... 100 4.3.2 Branch-and-Bound 1... 121 4.3.3 Branch-and-Bound II... 125 4.4 Constraint propagation... 127 4.5 Computational results... 129 4.5.1 The quality of the lower bound... 129 4.5.2 Computation time and solution quality... 130 4.5.3 Constructive heuristics... 131 4.6 Extensions... 132 4.6.1 Repeated machines... 132 4.7 Conclusions... 136 4.8 Tables... 137 5 Application to scheduling a multi-purpose batch chernical process plant 139 5.1 The scheduling problem... 139 5.2 Related work... 145 5.3 A solution approach... 146 5.4 Computational results... 147 5.5 Conclusions... 147 Conclusions 149 Bibliography 151