Mlle Yasmin A. RÍOS SOLÍS

Dimension: px
Commencer à balayer dès la page:

Download "Mlle Yasmin A. RÍOS SOLÍS"

Transcription

1 Thèse de DOCTORAT de l UNIVERSITÉ PARIS VI - PIERRE ET MARIE CURIE Spécialité : INFORMATIQUE présentée par : Mlle Yasmin A. RÍOS SOLÍS pour obtenir le grade de DOCTEUR de l UNIVERSITÉ PARIS VI Sujet de la thèse : ORDONNANCEMENT AVANCE-RETARD SUR MACHINES PARALÈLLES soutenue le 30 janvier 2007 devant le jury composé de : M. Jean-Charles BILLAUT Rapporteur Mme. Marie-Claude PORTMANN Rapporteur M. Alain BILLIONNET Examinateur M. Philippe CHRÉTIENNE Directeur de thèse M. Jean-Charles POMEROL Examinateur M. Alain QUILLIOT Examinateur M. Francis SOURD Co-directeur de thèse

2

3 Remerciements Je tiens à remercier en tout premier lieu Francis Sourd qui a dirigé cette thèse dans la continuité de mon stage de D.E.A.. Tout au long de ces trois années, il a su orienter mes recherches aux bons moments en me faisant découvrir l ordonnancement au travers de son regard novateur et critique. Pour sa disponibilité pour des discussions, les relectures, en plus de sa confiance, patience et son amitié, je le remercie vivement. Je remercie également Philippe Chrétienne, Professeur à l Université Paris VI, pour ses encouragements, ses conseils et sa confiance. J adresse tous mes sincères remerciements à Marie-Claude Portmann, Professeur à l École des Mines de Nancy, et à Jean-Charles Billaut, Professeur au Polytech Tours, qui m ont fait l honneur de d accepter d être rapporteurs de ces travaux. Merci également aux autres membres du jury qui ont accepté de juger ce travail : Alain Billionnet Professeur à l École Nationale Supérieure d Informatique pour l Industrie et l Entreprise, Jean-Charles Pomerol, Professeur à l Université Paris VI et Alain Quilliot, Professeur à l Université Blaise Pascal-Clermont-Ferrand. Je remercie infiniment le CONACyT (Conseil Mexicain de Science et Technologie) et le SRE (Ministère Mexicain de Relations Extérieures) pour le financement partiel qu ils m ont offert durant le Master (DEA IRO) et la thèse. L équipe DESIR du Laboratoire d Informatique de Paris VI est un cadre privilégié pour effectuer une thèse. Parmi ceux qui ont contribué à mon travail, je remercie tout spécialement Safia Kedad-Sidhoum et Claire Hanen. Dans ces remerciements je ne peux bien sûr pas oublier les chercheurs et doctorants qui ont fait de mon séjour au LIP6, une période très agréable et enrichissante : Patrice, Christophe, Jean-Yves, Olivier, Pierre, Emmanuel, Pierre-Henri, Yann, Nina, Nathalie, Anna, Nabil, Lucie, Nicolas, Paul, Louis-Xavier, Sergio et Antoine. Merci pour tous les rires, les groupes de travail, les mots croisés, les cafés... J ai eu l énorme chance d avoir l amitié et le support de mes copains du DEA et mes copains mexicains tout le long de la thèse. Je pense tout spécialement à Marie-Christine avec laquelle j ai eu, en plus, le plaisir de collaborer scientifiquement. Un particulier remerciement pour ma famille adorée à laquelle je dédie cette thèse : Leonardo, Agueda, Leo et Lucero. Enfin, une tendre pensée pour Gabriel qui m a accompagné et supporté avec beaucoup de patience et surtout d amour. 3

4

5 Table des matières 1 Introduction 7 2 État de l art Notions et notations Complexité des problèmes d ordonnancement Production juste-à-temps Problèmes d ordonnancement d avance-retard Modèle avec variables indexées sur le temps Modèle avec variables d affectation Optimisation des coûts d affectation Problèmes avec une date d échéance commune restrictive Ordonnancements dominants de 1 d i = d r i α ie i + β i T i Ordonnancements dominants de R d i = d r i α ie i + β i T i Complexité des problèmes avec une date d échéance commune État de l art pour les problèmes à date d échéance commune Minimisation de la somme pondérée des dates de fin Modèle quadratique du problème R i w ic i Ordonnancement avec des coûts de position sur les tâches Voisinage exponentiel : cas à une seule machine Introduction Définition et exploration du voisinage exponentiel Complexité du problème de recherche dans le voisinage Conclusions Voisinage exponentiel : cas à machines parallèles Introduction Définition et exploration du voisinage exponentiel Voisinage V jj T (S) Voisinage V jj E (S) Voisinage V jj ET (S)

6 6 TABLE DES MATIÈRES Le voisinage exponentiel pour le cas à machines parallèles Résultats expérimentaux Instances Algorithmes EXPN, HEUR et LAGRES Comparaison des instances à machines parallèles Comparaison des instances avec une seule machine Algorithme hybride HEUEXPN Conclusions Reformulations quadratiques convexes Introduction Le problème R i w ic i Reformulation convexe (QCR) Convexification par perturbation de la diagonale (PDIA) Résultats expérimentaux pour R i w ic i et P i w ic i Le problème R d i = d r i α ie i + β i T i Conclusions Ordonnancement avec coûts de position Introduction Modélisation du problème P pmtn i fi Solution pour P pmtn i fi Approche par relaxation Lagrangienne Résultats expérimentaux Algorithmes Instances Résultats Conclusions Conclusions et perspectives 115 A Étude préliminaire sur un paysage d espace des solutions 119 A.1 Introduction A.2 Quelques résultats expérimentaux Bibliographie 123 Yasmin A. Ríos Solís

7 Chapitre 1 Introduction L intérêt pour la théorie de l ordonnancement a surgi dans les années 1950 et n a pas cessé d augmenter ces dernières années, peut-être du fait de son applicabilité à une multitude croissante de problèmes et de sa difficulté qui intéresse les chercheurs. Parmi les problèmes d optimisation combinatoire, les problèmes d ordonnancement sont probablement les plus liés au monde industriel puisqu il s agit de concilier, de façon optimale, des ressources limitées avec des activités dans le temps. Ainsi, des domaines comme l éducation, l agriculture, le transport ou la santé ont bénéficié des recherches issues de l ordonnancement. La théorie de l ordonnancement étudie des problèmes qui ont souvent la caractéristique d avoir un nombre fini de solutions réalisables. En principe, les solutions optimales d un tel problème pourraient être déterminées par une simple énumération. Toutefois, en pratique, c est souvent impossible, spécialement pour les problèmes qui modélisent des situations réelles, car le nombre de solutions à énumérer est trop grand. Un des objectifs de la théorie de l ordonnancement est de déterminer une solution optimale ou une bonne solution en un temps raisonnable. L immense impact de la théorie de la complexité est basé sur l hypothèse, largement convenue, que définir l appartenance d un problème à la classe des problèmes qui se résolvent en temps polynomial, la classe P, est une manière mathématique appropriée de formaliser le concept empirique des problèmes qui se résolvent bien en pratique. En conséquence, la question est comment aborder les problèmes NP-difficiles d optimisation qui ne peuvent pas efficacement être résolus à l optimalité, à moins que P=NP. Les réponses possibles à cette question sont : les algorithmes de liste qui construisent de façon itérative une solution, les procédures par séparation et évaluation (branch&bound en anglais) qui ont une complexité au pire cas exponentielle, les méthodes heuristiques qui fournissent des bonnes solutions mais qui ne fournissent pas de garantie de performance, les méthodes par relaxation de contraintes, etc. 7

8 8 Chapitre 1. Introduction Bien que l intérêt pour les problèmes d ordonnancement à une seule machine soit encore très important, les problèmes à machines parallèles sont de plus en plus étudiés dans la littérature. En effet, ils reflètent des environnements de production où, pour des raisons de rapidité, plusieurs ressources sont disponibles pour effectuer les tâches. La généralisation de méthodes pour les problèmes à une seule machine n est pas toujours triviale. En effet, même la complexité du problème peut varier entre le cas à une seule machine et le cas à machines parallèles. Ce travail de thèse vise à étudier des problèmes d ordonnancement sur machines parallèles avec un critère d optimisation juste-à-temps. Il s agit de problèmes souvent NP-difficiles où les tâches sont pénalisées si elles se finissent en avance ou en retard par rapport à une date d échéance fixée. Ce critère d optimisation a comme objectif d éviter toute production anticipée de produits intermédiaires ou finaux et donc de produire la quantité strictement nécessaire, au moment voulu, pour satisfaire la demande de chaque client. Alors que la plupart des critères visent à ordonnancer les tâches au plus tôt, ce type de critères est parfois bénéficié par des temps d inactivité entre l exécution d une paire de tâches. Nous présentons ci-dessous, plus spécifiquement, les problèmes d ordonnancement d avance-retard auxquels nous nous sommes intéressés dans ce travail, ainsi que les différentes méthodes que nous avons utilisées pour les résoudre. Le chapitre 2 constitue une brève présentation des problèmes d ordonnancement auxquels nous nous intéressons dans ce travail. Nous décrivons ces problèmes ainsi que les notations utilisées. Nous donnons également un état de l art et quelques résultats de la littérature qui seront utiles pour la suite de cette thèse. Dans le chapitre 3, nous définissons un nouveau voisinage pour le problème d avance-retard à une seule machine avec une date d échéance commune restrictive (ce problème est conjecturé NP-difficile au sens fort). Ce voisinage a la particularité d être composé d ordonnancements obtenus par l application d un ensemble de mouvements indépendants de tâches à partir d une solution initiale réalisable. Il a la caractéristique d être de taille exponentielle et de n être composé que d ordonnancements dominants. L algorithme pseudo-polynomial de programmation dynamique que nous proposons pour obtenir la meilleure solution de ce voisinage permet, à l aide d un algorithme de recherche locale, d obtenir des minimums locaux de bonne qualité. De plus, nous démontrons que trouver la solution à coût minimum dans le voisinage d un ordonnancement donné, est un problème NP-difficile. Les résultats de ce chapitre nous ont conduit à nous intéresser, dans le chapitre 4, au cas d ordonnancement à machines parallèles. Nous étudions dans le chapitre 4, le problème d ordonnancement d avance-retard à machines parallèles avec une date d échéance commune restrictive qui est NP-difficile au sens fort. Nous utilisons pour son étude la même optique que dans le chapitre 3 : un voisinage exponentiel. Bien qu on se base sur la définition du voisinage dédié à une seule Yasmin A. Ríos Solís

9 9 machine, la généralisation du voisinage exponentiel pour le cas à machines parallèles n est pas triviale. Un algorithme pseudo-polynomial de programmation dynamique est proposé pour retrouver le meilleur ordonnancement dans le voisinage exponentiel que nous définissons. Des résultats expérimentaux permettent de vérifier la qualité des solutions de cette méthode ainsi que ses limites en temps de calcul. Des comparaisons entre des bornes inférieures et supérieures sont réalisées pour le cas avec 1, 4 et 8 machines. Nous proposons aussi un algorithme hybride qui commence par déterminer une première solution avec un algorithme de recherche locale, simple mais très efficace, et se poursuit par la méthode basée sur les voisinages exponentiels. Nous avons constaté, qu avec cette procédure, nous pouvons échapper à des minima locaux. L article [87], réalisé avec F. Sourd et contenant les résultats obtenus dans les chapitres 3 et 4, sera publié dans le journal Computers & Operations Research (C&OR). Le chapitre 5 propose une méthode exacte qui, à notre connaissance, n a jamais été utilisée pour les problèmes d ordonnancement. Il s agit, premièrement, de modéliser le problème d ordonnancement avec un programme quadratique en 0-1 sous contraintes linéaires. Ensuite, le reformuler de façon convexe tel que l espace des solutions admissibles reste le même que celui du problème initial. Finalement, à l aide d un outil commercial résolvant des programmes en 0-1 quadratiques convexes, trouver la solution optimale. Différentes méthodes de reformulation convexe sont présentées et appliquées aux problèmes d ordonnancement à machines parallèles d avance-retard ainsi qu à des problèmes avec critères d optimisation dits réguliers. Des résultats expérimentaux montrent que cette méthode exacte, basée sur une reformulation convexe, est intéressante et même très efficace en donnant les meilleurs résultats expérimentaux de la littérature pour certains problèmes d ordonnancement. L apport principal de ce chapitre est d avoir lié la théorie de la programmation quadratique en 0-1 avec la théorie de l ordonnancement pour obtenir des solutions exactes. Finalement, le chapitre 6 correspond à l étude d un problème d ordonnancement préemptif sur machines parallèles identiques qui a la particularité de ne pas avoir des fonctions de coût dépendantes des dates de fin des tâches. De plus, les tâches peuvent commencer et être interrompues à n importe quel instant du temps et pas seulement aux instants entiers. En relâchant des contraintes, nous proposons un algorithme polynomial basé sur la décomposition en sous-problèmes indépendants du programme dual. Grâce à un algorithme de sous-gradient ou d ellipsoïde, la solution optimale peut ensuite être obtenue. La résolution de ce type de problème est pour nous très intéressante puisqu elle permet d obtenir des bornes inférieures pour le problème d ordonnancement d avance-retard sans préemption. Nous nous comparons expérimentalement avec quatre autres bornes inférieures et supérieures pour ce type de problèmes à machines parallèles. L article [57], réalisé avec F. Sourd et S. Kedad-Sidhoum, présentant la borne que nous proposons dans ce chapitre ainsi les autres bornes auxquelles nous

10 10 Chapitre 1. Introduction nous comparons expérimentalement, sera publié dans le journal European Journal of Operational Research (EJOR). Nous présentons à la fin, une conclusion de notre travail ainsi que les directions de recherches futures qui concernent soit des extensions naturelles des problèmes que nous avons étudiés, soit des méthodes différentes à développer et à appliquer. En plus des articles que nous avons cité précédemment, des sections de cette thèse, ont été ou seront publiés dans [58], [89], [88] et [90]. Yasmin A. Ríos Solís

11 Chapitre 2 État de l art Ce chapitre est dédié à la présentation des problèmes d ordonnancement sur machines parallèles qui seront traités dans cette thèse : les problèmes d avanceretard, les problèmes où l on cherche à minimiser la somme pondérée des retards et les problèmes où les fonctions de coût des tâches ne dépendent pas de leur date de fin. L objectif est d introduire les notions, les notations et l état de l art de ces problèmes, ainsi que de présenter des résultats de la littérature qui seront utiles pour les chapitres suivants. Le but de ce chapitre n est pas d effectuer une présentation exhaustive des problèmes d ordonnancement, mais plutôt d introduire de manière succincte les problèmes, critères et propriétés qui nous intéressent dans les chapitres suivants. Nous commençons par présenter, dans la section 2.1, la théorie de l ordonnancement ainsi que les notions et notations qui seront utilisées dans cette thèse. Ensuite, les problèmes d ordonnancement étudiés dans ce travail sont plus particulièrement décrits dans les sections Pour plus de détails sur la théorie d ordonnancement nous pouvons citer les livres de Carlier et Chrétienne [20], de Leung [26], de Pinedo [82], de Brucker [14], de T Kindt et Billaut [106] et le livre d exercices du groupe de travail GOThA [38]. 2.1 Notions et notations La théorie de l ordonnancement est une branche de la recherche opérationnelle qui s intéresse au calcul de dates d exécution optimales de tâches. De façon plus précise, un problème d ordonnancement consiste à organiser dans le temps la réalisation de tâches, compte tenu de contraintes temporelles (délais, contraintes d enchaînement, etc.) et de contraintes portant sur la disponibilité des ressources requises. Un ordonnancement 11

12 12 Chapitre 2. État de l art est défini par le planning d exécution des tâches et d allocation des ressources et vise à satisfaire un ou plusieurs objectifs [114]. Plus précisément, Carlier et Chrétienne [20] proposent la définition suivante : Définition 2.1 Ordonnancer c est programmer l exécution d une réalisation en attribuant des ressources aux tâches et en fixant leur date d exécution. La réalisation peut être, par exemple, un programme informatique ou le carnet de commandes d un atelier. Alors les tâches sont des processus informatiques ou des traitements à appliquer à certaines pièces par des machines. Les ressources sont alors des processus et de la mémoire ou des machines et du personnel. Établir un ordonnancement revient à coordonner l exécution de toutes les tâches, en utilisant au mieux les ressources disponibles. Plusieurs problèmes de productivité sont liés à des problèmes d ordonnancement : avoir les produits corrects quand ils sont nécessaires, avoir les machines disponibles quand on en a besoin, utiliser excessivement l inventaire pour palier à des problèmes, inflexibilité, etc. La résolution de ces difficultés peut signifier des bénéfices directs et indirects. Par exemple, l introduction des diagrammes de Gantt pendant la première guerre mondiale a réduit le temps de chargement d un bateau d environ la moitié [81]. Bien que ça soit un moyen efficace de représentation, un diagramme de Gantt (figure 2.1) n est pas une méthode d ordonnancement. Trouver des méthodes qui génèrent des bons ordonnancements est un des objectifs de cette thèse. La difficulté est que les problèmes d ordonnancement auxquels on s intéresse sont NP-difficiles. D un point de vue mathématique, un problème d ordonnancement est un problème d optimisation sous contraintes. En effet, il faut déterminer à l intérieur de l ensemble de solutions, qui vérifient les contraintes du problème, un ordonnancement qui minimise une fonction objectif. Les problèmes d ordonnancement mettent en relation des tâches à exécuter, des machines pour les exécuter et le temps. Une tâche (job en anglais) est une entité élémentaire localisée dans le temps par une date de début et/ou de fin, dont la réalisation nécessite une durée, et qui consomme un moyen selon une certaine intensité. Dans cette thèse, l ensemble des tâches est noté J = {1, 2,..., n} où n = J est le nombre de tâches du problème. Les machines sont des moyens techniques ou humains destinés à être utilisés pour la réalisation des tâches et disponibles en quantité limitée. Les machines sont notées M 1,..., M m où m est le nombre de machines disponibles. La dimension temporelle des problèmes d ordonnancement est modélisée par l intervalle [0, ). Nous considérons que les tâches sont disponibles, pour être ordonnancées, à partir de l instant 0 ou à partir de leur date de disponibilité (qui est positive). Yasmin A. Ríos Solís

13 2.1. Notions et notations 13 Les contraintes des problèmes d ordonnancement expriment des restrictions sur les valeurs que peuvent prendre simultanément les variables de décision. On distingue les contraintes temporelles et les contraintes des ressources. Contraintes temporelles : elles sont relatives aux dates limites des tâches (délais de livraisons, disponibilité des approvisionnements) ou à la durée totale d un projet. Contraintes de ressources : elles expriment la nature et la quantité des moyens utilisés par les tâches, les caractéristiques d utilisation de ces moyens, la disponibilité des ressources et la quantité des moyens disponibles au cours du temps. Il est important de mentionner deux hypothèses, ou deux contraintes sur les solutions, sous lesquelles se fera toute cette étude. La première consiste à dire qu une machine ne peut exécuter qu une seule tâche à la fois. La seconde dit qu une tâche ne peut être exécutée que par une seule machine à la fois. Maintenant, nous présentons les propriétés individuelles des tâches qui déterminent, de façon significative, la nature du problème d ordonnancement. Temps d exécution : si la tâche i est exécutée totalement sur la machine M j alors son temps d exécution est noté p ij. Dans le cas où les machines sont identiques nous notons le temps d exécution de la tâche i comme p i. Date d échéance : la date à laquelle la tâche i doit être idéalement terminée est d i. Date de disponibilité (ou date de début au plus tôt) : une tâche i ne peut être ordonnancée sur la machine M j qu à partir de l instant r ij. Si les dates de disponibilité des tâches sont égales pour toutes les machines, alors nous notons r i la date de disponibilité de i. Si ces dates sont égales à 0, alors les tâches sont toujours disponibles. Pour la résolution d un problème d ordonnancement, on cherche à déterminer la date de fin C i (ou la date de début S i ) de chaque tâche i et la machine sur laquelle elle sera exécutée, de manière à minimiser un critère d optimisation. Les critères que nous considérons dans ce travail, sont basés sur les indicateurs suivants définis individuellement pour chaque tâche : l avance (earliness en anglais) de la tâche i : E i = max(0, d i C i ), et le retard (tardiness en anglais) de la tâche i : T i = max(0, C i d i ). Il faut préciser que d autres indicateurs peuvent être définis, comme le retard algébrique (L i = C i d i ) ou l indicateur de retard (U i = 1 si C i > d i et U i = 0 sinon). La figure 2.1 représente, à l aide d un diagramme de Gantt, un ordonnancement à 2 machines et 5 tâches. Nous pouvons observer que la tâche 1 est exécutée dès qu elle est disponible, la tâche 2 se trouve en avance puisque sa date de fin est inférieure à sa date d échéance, la tâche 5 est exécutée juste-à-temps car sa date de fin coïncide avec sa date d échéance, et que

14 14 Chapitre 2. État de l art p 31 M p 12 M r 1 r 2 d 2 d 4 d 5 Fig. 2.1 Diagramme de Gantt d un ordonnancement. la tâche 4 est en retard puisque sa date d échéance est inférieure à sa date de fin. On s intéresse aux fonctions suivantes qui nous permettent d obtenir un critère qui estime, de manière globale, la qualité d un ordonnancement. min i α ie i + β i T i : la combinaison linéaire des coûts d avance et de retard (α i correspond à la pénalité d avance de la tâche i et β i à sa pénalité de retard). Ce critère est dit irrégulier car il n est pas monotone croissant comme la plupart des critères en ordonnancement. min i w ic i : la somme pondérée des dates de fin (critère régulier). D autres fonctions objectif existent et sont usuellement utilisées dans la littérature. Par exemple, la minimisation de la date de fin de la dernière tâche, C max = max i C i (makespan en anglais) ou la somme pondérée des retards min i β it i. Pour décrire de façon synthétique les problèmes d ordonnancement, dans cette thèse nous utilisons la notation à trois champs (α β γ), introduite par Graham et al. [39]. L environnement des machines correspond au champ α, les contraintes liées à l exécution des tâches au champ β, ainsi que le critère d optimisation au champ γ. Le champ de l environnement des machines peut prendre les valeurs suivantes. 1 : une seule machine. P : machines parallèles identiques. La durée de la tâche i est alors de p i quelle que soit la machine qui exécute i. Q : machines parallèles à vitesses différentes et dépendantes (uniform parallel machines en anglais). Lorsque la tâche i est exécutée par la machine M j sa durée est p i /s j où s j est une constante qui dépend de M j appelée vitesse de M j. Par exemple, nous pourrons dire qu une machine va deux fois plus vite qu une autre. Yasmin A. Ríos Solís

15 2.1. Notions et notations 15 R : machines parallèles à vitesses différentes et indépendantes (unrelated parallel machines en anglais). Dans ce cas, la durée de la tâche i, lorsqu elle est exécutée par la machine M j, est p ij Complexité des problèmes d ordonnancement Dans cette thèse, nous considérons principalement les deux classes de problèmes suivants. La classe P est composée de problèmes pouvant être résolus en un temps polynomial, c est-à-dire, le temps d exécution est borné par une fonction polynomiale de la taille de l entrée du problème. La classe NP-difficile (NP signifie Non-déterministe Polynomial ) est composée des problèmes d optimisation tels que pour leur problème de décision associé, la réponse oui peut être décidée par un algorithme non-déterministe en un temps polynomial par rapport à la taille de l instance. De nos jours, il n existe aucune preuve qui démontre que ces deux classes soient distinctes ni qu elles soient identiques, mais aucun algorithme polynomial n a pu être trouvé pour résoudre un seul des innombrables problèmes NP-complets étudiés jusqu à ce jour. Ainsi, la conjecture P NP est aujourd hui largement acceptée. Dans la théorie de l ordonnancement, la plupart des problèmes appartiennent à la classe NP-difficiles. Néanmoins, des problèmes de base peuvent être résolus par des algorithmes polynomiaux et très souvent, ces algorithmes interviennent, par exemple, dans le calcul de bornes inférieures, d heuristiques ou bien des règles de dominance de problèmes NP-difficiles. La classification des problèmes d ordonnancement est encore un champ de recherche actif et passionnant. Pour plus de détail sur la théorie de la complexité on peut citer les livres de Garey et Johnson [32] ou de Papadimitriou [79]. La site Web de Brucker et Knust [15] compile la classification des problèmes d ordonnancement par rapport à différentes classes de complexité et exhibe les problèmes qui ne sont pas encore classifiés Production juste-à-temps Le critère lié à la minimisation simultanée des coûts d avance et de retard est particulièrement étudié dans cette thèse. Ce critère est issu de la production juste-àtemps que nous présentons ci-dessous. La philosophie de la production juste-à-temps (JAT) (just-in-time en anglais) s est développée depuis une soixantaine d années comme une politique de production qui permet de limiter les stocks et de fabriquer des produits qui correspondent exactement à la demande [17]. Sourd [99] indique que l idée de base est d éviter toute production anticipée de produits intermédiaires ou finaux, ce qui signifie que le producteur se

16 16 Chapitre 2. État de l art contente de produire la quantité strictement nécessaire, au moment voulu, pour satisfaire la demande de chaque client. Ainsi, c est la date à laquelle le client demande à être livré qui fixe la date de livraison du produit mais, le JAT va même plus loin : toutes les dates de toutes les opérations de la fabrication du produit livré sont également fixées de manière à ce qu il n y ait pas de temps mort dans la chaîne de fabrication. De cette manière, le produit est emballé juste-à-temps pour être livré, il est assemblé juste-àtemps pour être emballé et, ainsi de suite jusqu à déterminer la date de production des matières premières. Ainsi, en reprenant l expression de Casanova [17], le JAT consiste, en quelque sorte, à ne pas tuer l ours avant d en avoir vendu la peau : la peau d un ours tué doit en effet être stockée, ce qui nécessite la présence d un gardien, elle risque de se dégrader et, de plus, elle risque de ne pas convenir exactement au client finalement trouvé qui pourrait préférer une peau d une autre dimension ou d une autre couleur. Le concept du juste-à-temps a été développé au Japon au sein de l usine Toyota par le célèbre Taiichi Ohno et avait comme motivation principale l élimination des gaspillages à tous les niveaux [76, 17]. L introduction du système du Kanban a permis, au moyen d étiquettes (Kanban signifie étiquette en japonais) signalant les demandes de chaque poste de la chaîne de production, de mettre en œuvre simplement une politique de production JAT : limitation de la production du poste amont aux besoins exacts du poste aval. Les articles de Huang et Kusiak [53] et Akturk et Erhun [3] offrent une synthèse sur la recherche récente dans ce domaine. Il n est pas étonnant de constater que l ordonnancement JAT soit intimement lié à l ordonnancement multicritère [106, 50]. Il s agit, en effet, de trouver un compromis entre éviter d une part les retards et d autre part le stockage trop important. Ainsi, aux critères traditionnels de l ordonnancement qui visent tous à ordonnancer au plus tôt (critères dits réguliers), l étude de modèles basés sur le JAT a conduit à introduire un critère d avance qui pénalise une tâche exécutée trop tôt. Cette introduction de pénalités d avance peut être vue comme un moyen de simplifier les modèles de l ordonnancement en évitant d introduire explicitement des contraintes de stockage. Les modèles traditionnels de l ordonnancement théorique se sont enrichis de concepts venus du JAT. Ces problèmes offrent des challenges intéressants en raison de leur complexité. Par exemple, il n existe pas d algorithmes d approximation pour le problème à une machine (avec dates d échéance distinctes). D un point de vue pratique, les problèmes issus du JAT sont souvent difficiles. Pour trouver de bons algorithmes et de bonnes bornes, il est en effet nécessaire d appliquer à la fois des raisonnements purement combinatoires et des approches basées sur la programmation mathématique pour manipuler des combinaisons linéaires de critères souvent contradictoires [99]. Yasmin A. Ríos Solís

17 2.2. Problèmes d ordonnancement d avance-retard Problèmes d ordonnancement d avance-retard La politique du JAT, menée de plus en plus dans les industries, a motivé l étude de problèmes d ordonnancement qui capturent les caractéristiques de cette philosophie. Parmi ces modèles se trouve le problème d ordonnancement où l avance de la fabrication d une tâche ainsi que le retard sont pénalisés. Comme remarqué par Hoogeveen et van de Velde [52], dans un article présentant un des premiers algorithmes exacts pour le problème d ordonnancement d avance-retard pour une seule machine, la résolution exacte se heurte à la difficulté de trouver une bonne borne inférieure d une part et de bonnes règles de dominance d autre part. En effet, en raison des coûts d avance, la plupart des raisonnements classiques ne sont plus applicables, à moins de découpler la minimisation des coûts d avance d une part et celle des coûts de retard d autre part [71]. Dans le chapitre 6 de cette thèse nous développons une borne inférieure pour le problème d avance-retard à machines parallèles P i αe i + β i T i. L objectif maintenant, est de présenter quelques résultats de la littérature sur ce problème ainsi que différentes bornes inférieures qui ont motivé l approche que nous utiliserons dans ce chapitre. Le problème 1 i w it i est NP-difficile [25] et par conséquent, les problèmes 1 i αe i + β i T i et P i αe i + β i T i le sont aussi. Comme observé dans plusieurs états de l art [50, 65, 37, 6], les cas polynomiaux sont rares. Pour le problème à une seule machine, on peut citer Hoogeveen et van de Velde [52] pour le cas où α i = α et β i = β, Kim et Yano [59] et Fry et al. [31] pour le cas où α i = β i = 1. Ils présentent des bornes inférieures et des méthodes de branch&bound. Pour le cas général, en introduisant une relaxation préemptive du problème qui devient alors un problème de transport, Sourd et Kedad-Sidhoum [103] ont pu résoudre des instances jusqu à 30 tâches. Alors que la résolution exacte est difficile et que les algorithmes heuristiques constructifs ont des performances modestes [115], il est à noter que les méthodes par voisinage donnent des bons résultats (voir l algorithme HEUR et la recherche dans des voisinages exponentiels, chapitre 4). Pour le cas à machines parallèles, la plupart des recherches ont été effectuées dans le cas d une date d échéance commune (voir la section 2.3). L article [57] a été le résultat d une collaboration avec Kedad-Sidhoum et Sourd. Cet article propose différentes bornes inférieures pour le problème P i αe i + β i T i et un des objectifs est de les comparer expérimentalement. Les résultats auxquels j ai contribué à cet article sont présentés dans le chapitre 6. Néanmoins, dans les deux sections suivantes nous présentons les contributions de Kedad-Sidhoum et Sourd. Les raisons de présenter dans ce manuscrit les bornes qu ils ont proposées et développées sont les suivantes :

18 18 Chapitre 2. État de l art elles justifient la motivation de l approche de la borne inférieure que nous présentons dans le chapitre 6, nous nous comparons expérimentalement à elles dans ce même chapitre, de plus, dans les résultats expérimentaux du chapitre 4 nous nous comparons aussi à quelques unes d elles Modèle avec variables indexées sur le temps Nous présentons un programme linéaire en nombres entiers pour le problème P r i i α ie i + β i T i présenté dans l article [57]. Nous rappelons que comme les dates d échéance, les temps d exécution et les dates de disponibilité sont toutes entières alors il existe une solution optimale avec dates de début des tâches entières. Le programme en nombres entiers est basé sur la discrétisation du temps : la période t commence à l instant t et finit à l instant t + 1. Nous pouvons démontrer par arguments d échanges, qu il existe un ordonnancement optimal qui se termine avant le temps horizon T = max i d i + max p i + i i J p i m Donc, nous considérons les périodes de temps 0, 1, 2,..., T 1. Soit x it la variable binaire telle que x it = {. 1 si la tâche i commence à l instant t, 0 sinon, et soit est i (t) = max(r i, t p i +1) la valeur de la date de début au plus tôt de la tâche i telle qu elle est exécutée dans l intervalle t. Nous définissons aussi le coût de début c it = max (α i (d i t), β i(t d i )) où d i = d i p i est la date de début cible de la tâche i. Le modèle avec variables indexées sur le temps est le suivant : min i J s.c. T p i T p i t=r i c it x it (2.1) x it = 1 i J (2.2) t=r i t x is m t [0, T 1] (2.3) i J s=est i (t) x it {0, 1} i J, t [r i, T p i ] Les équations (2.2) assurent que les tâches soient réalisées une seule fois. Les inégalités (2.3) correspondent aux contraintes de ressources qui indiquent qu au plus m tâches peuvent être exécutées en même temps. Yasmin A. Ríos Solís

19 2.2. Problèmes d ordonnancement d avance-retard 19 Un des avantages de cette formulation est que la relaxation continue donne une borne inférieure qui est meilleure que les bornes obtenues par des programme entiersmixtes [109], mais son désavantage est sa taille. Dans l article [57], Kedad-Sidhoum et Sourd ont testé et comparé trois bornes qui essayent de remédier ce problème. Une des bornes, appelée LINCG, est basée sur la génération de colonnes. En effet, à partir d un ordonnancement réalisable donné par l heuristique HEUR (décrite en détail dans la section du chapitre 4), le programme linéaire (2.1) est restreint aux n variables considérées initialement et résolu pour obtenir des coûts réduits des autres variables. Ainsi, les variables à coût réduits non-négatifs sont ajoutées au programme et la procédure est réitérée jusqu à ce qu il ne reste plus de variables à coût réduit négatif. Ils montrent expérimentalement qu en ajoutant les variables aux coûts réduits bornés, le temps de calcul est diminué ainsi que le nombre d itérations. Les deux autres bornes développées par Kedad-Sidhoum et Sourd dans l article [57] sont basées sur la relaxation Lagrangienne. La première, appelée LAGOCC, est obtenue en relâchant les contraintes (2.2), si bien qu une tâche peut être exécutée plusieurs fois. Cette approche est similaire à celle proposée par Péridy et al. [85] pour le cas à une seule machine où l objectif est de minimiser la somme pondérée des tâches en retard. Kedad-Sidhoum et Sourd montrent que le programme dual du problème Lagrangien peut être résolu par un problème de flots. L optimisation de la fonction Lagrangienne pour obtenir la borne inférieure est faite avec une méthode de sous-gradient. La dernière borne est obtenue en relâchant les contraintes de ressources (2.3). Cette relaxation a été présentée par Luh et al. [73] pour le cas de la minimisation de la somme pondérée des retards. Le programme Lagrangien obtenu peut être décomposé en n problèmes indépendants. Ensuite, la borne inférieure est obtenue, elle aussi, à l aide d un sousgradient. Cette borne inférieure est nommée LAGRES. Récemment, Sourd [102] présente un renforcement de la relaxation Lagrangienne des contraintes (2.2). En effet, des ordonnancements dominés sont exclus en ajoutant des contraintes redondantes. Il teste cette approche sur le problème d ordonnancement d avance-retard sur une seule machine avec une date d échéance commune et il résout de façon optimale des instances jusqu à 1000 tâches en 1000 secondes Modèle avec variables d affectation Nous considérons maintenant, une formulation avec variables d affectation (assignment-based formulation en anglais) qui est basée sur la même discrétisation du temps que pour le modèle avec variables indexées sur le temps de la section Soit y it la variable binaire telle que { 1 si la tâche i est exécutée pendant la période t, y it = 0 sinon.

20 20 Chapitre 2. État de l art L idée de cette formulation est de voir le problème d ordonnancement comme un problème d affectation d opérations unitaires à des périodes de temps qui sont aussi unitaires. Les premiers à utiliser cette formulation ont été Gelders et Kleindorfer [34] pour le problème à une seule machine pour minimiser la somme pondérée des retards. Plus tard, Sourd et Kedad-Sidhoum [103] et Bülbül et al. [10] ont indépendamment généralisé cette approche pour le problème d avance-retard avec une seule machine. Nous présentons maintenant leur généralisation pour le problème à machines parallèles P r i i α ie i + β i T i. En introduisant les variables z ij, qui indiquent qu un nouveau bloc de la tâche i commence au temps t, c est-à-dire, z it = { 1 si y it = 1 et y it 1 = 0, 0 sinon, nous pouvons formuler le modèle avec variables d affectation : min i J s.c. T p i T p i t=r i c ity it (2.4) y it = p i i J (2.5) t=r i y it m t = 0,..., T 1 (2.6) i J z iri y iri i J (2.7) z it y it y it 1 i J, t {r i + 1,..., T p i } (2.8) T p i t=r i z it = 1 i J (2.9) y it, z it {0, 1} i J, t {r i,..., T p i } (2.10) Nous remarquons que la fonction objectif est reformulée. Le coût d une tâche ne dépend plus de sa date de fin mais il est réparti dans chaque intervalle de temps où elle est réalisée. Alors, le coût d affectation c it pour ordonnancer une partie de la tâche i dans la période t doit satisfaire t 1 s=t p i c is = max (α i (d i t), β i (t d i )) t i J. Une solution proposée par Sourd et Kedad-Sidhoum [103] est : c it = α di t 1 i p i β i t+1 di p i si t < d i, si t d i. (2.11) Yasmin A. Ríos Solís

21 2.2. Problèmes d ordonnancement d avance-retard 21 Une autre façon de définir les coûts d affectation est proposée par Bülbül et al. [10] : c it = α i p i ((d i p i /2) (t 1/2)) si t < d i, β i p i ((t + 1/2) (d i p i /2)) si t d i. Il faut noter que ces derniers coûts satisfont l inégalité t 1 s=t p i c is max (α i (d i t), β i (t d i )) t i J et non pas l égalité, comme le font les coûts (2.11). Les équations (2.5), du modèle avec variables d affectation, assurent que toutes les tâches soient totalement exécutées entre r i et T. Les contraintes (2.6) impliquent qu on ne peut pas réaliser plus de m tâches à la fois. Les équations (2.7) et (2.8) définissent les variables z it de manière qu elles soient égales à 1 quand un bloc de la tâche i commence à l instant t. Les contraintes (2.9) assurent que chaque tâche soit réalisée dans un seul bloc sans préemption. En relâchant les contraintes associées aux variables z it, on obtient des relaxations préemptives du problème P r i α i E i +β i T i. Le problème (2.4) avec les contraintes (2.5), (2.6) et (2.10) est un problème de flot dans un graphe biparti à n sources, qui correspondent aux n tâches, et T puits avec une demande d au plus m. L offre de chaque source i est de p i (voir la figure 2.2). Une source est liée à un puits t r i par un arc à capacité unitaire et de coût c it. Alors, le flot maximal est égal à i p i. La solution du problème relâché qui correspond au flot à coût minimal de ce graphe est une borne inférieure au problème P r i α i E i + β i T i. Il faut remarquer que pour diminuer le temps de calcul on peut restreindre la valeur de T. Avec les coûts d affectation proposés par Sourd et Kedad-Sidhoum [103] cette borne est appelée dans cette thèse ASSSKS. Quand les coûts d affectation sont ceux proposés par Bülbül et al. [10] elle est appelée ASSBKY. Dans le cas à une seule machine, Sourd et Kedad-Sidhoum [103] ont montré que le problème de transport associé au programme relaxé peut être résolu en O(n 2 T) en adaptant l algorithme Hongrois [63]. Dans la section 4.3 du chapitre 4 nous présenterons des résultats expérimentaux pour la borne inférieure que nous développons pour le problème P i α ie i + β i T i. Nous comparerons nos résultats avec les bornes inférieures LINCG, LAGOCC, LAGRES, ASSSKS et ASSBKY que nous avons présentées précédemment et la borne supérieure obtenue avec la recherche locale HEUR, décrite avec plus de précision dans chapitre 4. Remarque 2.2 Les programmes (2.1) et (2.4) ont la caractéristique d avoir des variables qui dépendent des périodes unitaires du temps. Leur différence réside dans la définition des variables. Tandis que le programme avec des variables indexées sur le temps (2.1) ne permet pas la préemption des tâches, puisque la décision à déterminer

22 22 Chapitre 2. État de l art p 1 1 (1,c it) [0,1) m p 2 2 [1, 2) m..... p n n [T,T 1) m Fig. 2.2 Le flot d affectation discrète. est l instant où la tâche sera commencée, le programme avec des variables d affectation (2.4) détermine les périodes où les morceaux unitaires de tâches seront réalisés. En effet, dans le programme (2.4), des variables additionnelles doivent être ajoutées pour garantir la non préemption des tâches. Finalement, nous pouvons mentionner, que la formulation avec variables d affectation est en relation avec le champ de recherche d ordonnancement à haute multiplicité (high multiplicity scheduling en anglais). En particulier, Clifford et Posner [22] étudient plusieurs problèmes d avance-retard avec date d échéance commune quand les tâches sont décomposées en opérations unitaires dans le contexte d haute multiplicité. Ils proposent des algorithmes basés sur la résolution de plusieurs programmes linéaires Optimisation des coûts d affectation Bien que nous considérons les bornes inférieures qui utilisent les coûts d affectation proposées par Sourd et Kedad-Sidhoum [103] et Bülbül et al. [10], nous présentons, pour des raisons de complétude, l approche récente proposée par Pan et Shi [78] pour déterminer les coûts d affectation optimisant la qualité de la borne inférieure. Leur méthode est décrite pour le cas d ordonnancement sur une machine, mais il est possible de l appliquer pour le cas à machines parallèles. Le modèle avec variables d affectation pour le cas à une seule machine avec la préemption des tâches autorisée, sans dates de disponibilité et avec des fonctions de Yasmin A. Ríos Solís

23 2.2. Problèmes d ordonnancement d avance-retard 23 coût générales, est le programme de transport P(c) suivant : min i J s.c. T 1 c it y it t=0 T 1 y it = p i i J (2.12) t=0 y it 1 t = 0,..., T 1 (2.13) i J y it 0 i J, t = 0,..., T 1 En notant LB(c) la valeur optimale de la fonction objectif du programme de transport P(c), on définit le problème suivant : min LB(c) s.c. t 1 s=t p i c is f i (t + p i ) t i J (2.14) où f i est la fonction coût de la tâche i. La fonction LB(c) est concave et on pourrait résoudre ce problème à l aide d un sous-gradient contraint par les inégalités (2.14) ce qui, en pratique, est une méthode lente. Pour éviter ce problème, nous considérons le problème dual de P(c) : max n i=1 T 1 p i u i + v t = LB(c) s.c. u i + v t c it t=0 t = 0,..., T 1 i J v t 0 t = 0,..., T 1 où (u, v) sont les variables duales associées aux contraintes (2.12) et (2.13). Alors, le problème original se réduit au programme linéaire suivant avec variables (u, v, c) : LB = max s.c. t 1 n i=1 T 1 p i u i + t=0 v t c is f i (t + p i ) t = 0,..., T 1 i J s=t p i u i + v t c it t = 0,..., T 1 i J v t 0 t = 0,..., T 1 Dans leur article, Pan et Shi [78] présentent des techniques pour adapter cette borne à un branch&bound. Ils obtiennent des bons résultats expérimentaux pour le problème 1 i w it i.

24 24 Chapitre 2. État de l art Remarque 2.3 La borne inférieure obtenue par relaxation continue du modèle avec des variables indexées sur le temps (2.1) est supérieure ou égale à la borne inférieure obtenue à l aide du modèle avec des variables d affectation (2.4). Un des résultats de l article de Pan et Shi [78] est la preuve que, pour des coûts d affectation optimaux, les deux bornes sont équivalentes. 2.3 Ordonnancement juste-à-temps avec une date d échéance commune restrictive Dans cette section nous présentons les résultats existants dans la littérature liés aux problèmes d ordonnancement que nous étudions dans les chapitres 3, 4 et 5. Il s agit des problèmes d ordonnancement d avance-retard dont les tâches ont une date d échéance commune (common due date en anglais), c est-à-dire, d i = d pour i = 1,..., n. De plus, nous considérons des dates de disponibilités égales à 0. Nous nous intéressons aux problèmes 1 d i = d i α ie i + β i T i et R d i = d i α ie i + β i T i. D un point de vue pratique, une date d échéance commune peut apparaître quand un ensemble de tâches doit être produit simultanément pour être assemblées dans un niveau postérieur de la production ou quand un client commande plusieurs biens qui doivent être livrés au même moment. Ordonnancer autour d une date d échéance commune implique qu au plus une tâche par machine peut être complétée juste-à-temps et que les autres tâches sont complétées soit avant soit après la date d échéance. Baker et Scudder [6] et Gordon et al. [37] passent en revue les problèmes qui ont une fonction objectif du type avance et retard avec une date d échéance commune. Cette date d échéance commune est dite lointaine et notée d l, si i J p i d l, ce qui revient à relâcher la contrainte qui fait que l ordonnancement ne commence pas avant la date 0. De façon intuitive, si la date d échéance est augmentée, alors l ordonnancement et le coût de celui-ci ne changent pas. Dans le cas contraire, on dit que d est restrictive et alors la date d échéance peut contraindre l ordonnancement. Les problèmes avec une date d échéance commune restrictive, notée d r, sont souvent plus difficiles du point de vue de la complexité. Pour une définition plus formelle de la date d échéance restrictive on peut se référer à l article de Lauff et Werner [64]. L hypothèse d une date d échéance commune restrictive implique des structures spécifiques au niveau des ordonnancements dominants et donc, au niveau des algorithmes de résolution. Dans les sections suivantes, nous présentons différentes propriétés qui permettent de déterminer cette classe de solutions dominante Ordonnancements dominants de 1 d i = d r i α ie i + β i T i Les ordonnancements qui vérifient les propriétés suivantes sont dits ordonnancement en V (V-shaped en anglais, Baker et Scudder [6]) et il existe au moins une solution Yasmin A. Ríos Solís

25 2.3. Problèmes avec une date d échéance commune restrictive 25 optimale pour le problème 1 d i = d r i α ie i +β i T i qui est un ordonnancement en V. Propriété 2.4 Il n existe pas de temps mort entre les exécutions des tâches dans un ordonnancement optimal. Preuve. Dans le cas où il y a un temps mort entre l exécution de deux tâches, il est facile de voir que le coût de l ordonnancement peut être diminué en décalant les tâches vers la date d échéance restrictive. Propriété 2.5 Un ordonnancement optimal est tel que les tâches qui sont terminées avant d r sont placées dans l ordre croissant des ratios α i /p i, et les tâches qui commencent après la date d échéance sont dans l ordre décroissant des ratios β i /p i. Preuve. La preuve découle de la preuve de la règle de Smith [97]. Propriété 2.6 Il existe un ordonnancement optimal pour lequel soit la première tâche commence à la date 0 soit une des tâches se termine exactement à l instant d r. Cette propriété implique qu il peut exister une tâche qui commence avant et finit après la date d échéance restrictive d r. Cette tâche est usuellement appelée dans la littérature straddling job (en anglais). Dans cette thèse, nous dirons qu une telle tâche est une tâche pont (car elle commence avant et finit après d r ). Preuve. [Propriété 2.6] Pour un ordonnancement donné S, soit S E l ensemble des tâches qui commencent avant la date d échéance d r, S T l ensemble qui contient les tâches qui commencent après d r plus l éventuelle tâche pont. De plus, soit t(s) la date de début de l ordonnancement et l = i S E α i i S T β i. Nous considérons les cas pour lesquels l < 0 et l 0. Décalage vers la date 0 : On définit t = min {t(s), min i ST C i d r }. Si l < 0, alors nous pouvons bouger l ordonnancement de t unités de temps vers l instant 0 en obtenant un bénéfice de t l > 0. Après cette opération, soit l ordonnancement commence à 0 soit une tâche de S T est passée dans S E. Si t > 0 et l < 0 on continue cette procédure jusqu à que t = 0 ou l 0. On peut remarquer que si t > 0 et l 0 alors la fin d une tâche coïncide avec d r. Décalage vers la droite : Soit t = min i SE S i d r. Si t = 0 alors nous avons déjà un ordonnancement pour lequel la date de fin d une tâche coïncide avec d r. Si l 0 et t > 0, alors nous pouvons bouger l ordonnancement de t unités vers la droite en obtenant un bénéfice de t l 0. Après cette procédure, la date de fin d une tâche coïncide avec la date d échéance commune.

26 26 Chapitre 2. État de l art Nous pouvons noter que la propriété 2.5 n impose aucune contrainte sur la tâche pont. Alors une telle tâche n a pas nécessairement le plus grand ratio α i /p i ou β i /p i. Un exemple d ordonnancement ([51]) qui a une tâche pont est l instance avec n = 3, m = 1, p 1 = 8, p 2 = 10, p 3 = 4, α 1 = β 1 = 5, α 2 = β 2 = 7, α 3 = β 3 = 3 et d r = 15. L ordonnancement optimal est illustré par la figure 2.3 et on remarque que la tâche 1 est une tâche pont et qu elle a le plus petit ratio α i /p i = β i /p i d r = 15 Fig. 2.3 Ordonnancement avec une tâche pont Ordonnancements dominants de R d i = d r i α ie i + β i T i Comme dans le cas à une machine, les ordonnancements dominants des problèmes P d i = d r i α ie i + β i T i et R d i = d r i α ie i + β i T i sont des ordonnancements en V. Ces ordonnancements vérifient les propriétés suivantes qui généralisent, de façon assez directe, celles du problème à une machine. Propriété 2.7 Dans un ordonnancement optimal il n y a pas de temps mort entre deux exécutions de tâches. Propriété 2.8 Il existe un ordonnancement optimal tel que dans chaque machine, soit une tâche est terminée exactement à la date d échéance d r, soit la date de début de la première tâche sur cette machine commence à l instant 0. Cette propriété implique que, sur n importe quelle machine, une tâche pont peut exister. Propriété 2.9 Dans un ordonnancement optimal, dans chaque machine M j, les tâches qui finissent avant d r sont ordonnées dans l ordre non décroissant des ratios α i /p ij, et les tâches qui commencent après la date d échéance sont ordonnées dans l ordre non croissant des ratios β i /p ij. La figure 2.4 illustre un ordonnancement pour une instance à deux machines. Dans la machine M 1, la tâche s est une tâche pont, donc la première tâche qui s exécute sur M 1 commence à l instant 0. Par contre, dans la machine M 2, il n existe pas de tâche pont, et donc, la date de fin d une tâche coïncide avec l instant d r. Yasmin A. Ríos Solís

27 2.3. Problèmes avec une date d échéance commune restrictive 27 M 1 s M 2 0 d r i M 1 p i Fig. 2.4 Ordonnancement en V pour une instance à deux machines Complexité des problèmes avec une date d échéance commune Dans cette section nous présentons la preuve de Hoogeveen et van de Velde [51] pour démontrer que le problème 1 d i = d r i w i C i d r est NP-difficile même si w i = 1 pour toute tâche i. Ils montrent que le problème de décision associé est un problème NP-complet. Ainsi, nous savons que les problèmes qui nous intéressent particulièrement dans cette thèse, 1 d i = d r i α ie i + β i T i, P d i = d r i α ie i + β i T i et R d i = d r i α ie i + β i T i, sont NP-difficiles. Un des objectifs de présenter cette preuve de complexité est que dans la section 3.3 du chapitre 3, nous nous en inspirons pour démontrer que la recherche de l ordonnancement à coût minimal dans le voisinage exponentiel que nous définissons, est un problème NP-difficile. La réduction est faite à partir du problème de Partition Paire-Impaire que nous notons EOP (Even-Odd Partition problem, Garey, Tarjan et Wilfong [33]) : Étant donné un ensemble de 2n entiers positifs, B = {b 1, b 2,..., b 2n } tel que b i > b i+1 pour chaque i = 1,...,2n 1, existe-t-il une partition de B en deux sous-ensembles B 1 et B 2 tels que b i B 1 b i = b i B 2 b i = A (i.e., A = b i /2) et tel que B 1 contient exactement un des entiers { b 2i 1, b 2i } pour chaque i = 1,..., n? La réduction du problème EOP au problème 1 d i = d r i C i d est la suivante. Soit B = {b 1, b 2,..., b 2n } une instance arbitraire du problème EOP, avec A = 2n i=1 b i/2. Nous construisons les tâches suivantes : 2n tâches de partition J i avec temps d exécution p i = b i +na pour i = 1,...,2n, une tâche additionnelle J 0 avec p 0 = 3(n 2 +1)A et une date d échéance commune d r = (n 2 +1)A. En plus, nous définissons une valeur-seuil du coût de l ordonnancement, y 0 = n [(i + 1)(p 2i 1 + p 2i )] + d r. Ensuite, nous considérons une partition des tâches {J 1,..., J 2n } en deux ensembles B 1 = { J 1 1, J1 2,..., J1 n} et B 2 = { J 2 1, J2 2,..., J2 n} où { J 1 i, J 2 i } = {J2i 1, J 2i } pour chaque i = 1,..., n. i=1

28 28 Chapitre 2. État de l art B 1 B 2 J 0 0 d 2d 5d Fig. 2.5 Ordonnancement S 0. Lemme 2.10 Si la partition qui induit les sous-ensembles B 1 et B 2 correspond à une solution du problème EOP, alors le coût de l ordonnancement S 0, construit comme dans la figure 2.5, est inférieur ou égal à la valeur-seuil y 0. Preuve. On remarque que les tâches dans l ensemble B 1 sont ordonnancées dans l ordre croissant des ratios α i /p i et, inversement, les tâches dans B 2 sont ordonnées dans l ordre décroissant des ratios β i /p i. Comme p 1 i = b1 i + na est la valeur du temps d exécution des tâches Ji 1 et p 2 i = b2 i + na celles des tâches J2 i pour i = 1,..., n, nous pouvons écrire le coût des tâches dans la partie B 1 de l ordonnancement S 0 comme suit : ( b 1 n + na ) + ( b 1 n + b 1 n 1 + 2nA ) + + ( b 1 n + b 1 n b (n 1)nA ) = (n 1)b 1 n + (n 2)b 1 n b (na + 2nA + + (n 1)nA). Le coût des tâches dans l ensemble B 2 est ( b 2 n + na ) + ( b 2 n + b 2 n 1 + 2nA ) + + ( b 2 n + b 2 n b n 2 A ) = nb 2 n + (n 1)b 2 n b ( na + 2nA + + n 2 A ). Finalement, le coût de la tâche J 0 est b 2 n + + b n 2 A + 3(n 2 + 1)A. Alors, le coût de l ordonnancement S 0 est égal à (n 1)b 1 n + (n 2)b 1 n b (n + 1)b 2 n + nb 2 n b ( na + 2nA + + n 2 A ) + 3(n 2 + 1)A. (2.15) D autre part, la valeur-seuil y 0 correspond à : 2(b b 2 1) + 3(b b 2 2) + + (n + 1)(b 1 n + b 2 n) + (n 2 + 1)A. (2.16) Yasmin A. Ríos Solís

29 2.3. Problèmes avec une date d échéance commune restrictive 29 En comparant les équations (2.15) et (2.16) nous obtenons 2(n 2 + 1)A 2b b b 1 n + 2n 2 A + na 0 na, ce qui prouve que f(s 0 ) y 0. Maintenant nous démontrons que n importe quel ordonnancement S tel que f(s) y 0 doit avoir la même structure que S 0 et que les ensembles B 1 et B 2 correspondent à une solution du problème EOP. Proposition 2.11 Si S est un ordonnancement de coût f(s) y 0, alors il a les propriétés suivantes : 1 au plus n tâches sont terminées avant la date d échéance d r, 2 la première tâche de l ordonnancement commence à l instant 0, 3 la tâche J 0 est ordonnancée en dernier, et 4 au moins n 1 tâches doivent être réalisées avant d r. Preuve. 1 Cette propriété est due au choix des temps d exécution des tâches et au choix de la date d échéance. 2 C est une conséquence de la propriété 1 et de la propriété 2.6 des ordonnancements en V. 3 On suppose que J 0 n est pas ordonnancé en dernier. Par la propriété 2.5, J 0 doit alors commencer avant d r. Comme au plus n tâches peuvent être exécutées avant J 0, pour au plus n + 1 tâches de S nous avons C i d r p 0 d r = 2d r. Alors f(s) 2(n + 1)d r (n + 4)d r. D autre part, comme chacun des multiplicateurs de p 1, p 2,..., p n dans y 0 est au plus 1 2 (n + 3), alors que n i=1 (i + 1) = 1 2n(n + 3), nous obtenons l inégalité suivante : y 0 = n [(i + 1)(p 2i 1 + p 2i )] + d r < 1 2n 2 (n + 3) p i + d r = (n + 4)d r f(s), i+1 i=1 ce qui contredit l hypothèse. 4 C est une conséquence des trois propriétés précédentes et du choix des temps d exécution. Lemme 2.12 Si S est un ordonnancement optimal tel que f(s) y 0, alors la date d échéance d r coïncide avec la date de fin de la tâche qui est en position n, l ordonnancement S doit avoir la même structure que S 0 et fournit une réponse affirmative au problème EOP.

30 30 Chapitre 2. État de l art Preuve. Soit s(i) l indice de la position de la tâche qui est ordonnancée à la position i dans l ordonnancement S. Nous calculons le coût de l ordonnancement par rapport à une date d échéance k = p s(1) p s(n). On obtient 2n i=0 C i k = = = n [ ] 2n [ ] (i 1)ps(i) + (2n + 2 i)ps(i) + 3d r i=1 i=n+1 n [ ] 2n (i + 1)ps(i) + i=1 i=n+1 [ (2n + 2 i)ps(i) ] + 3d r 2k n [ ] n [ ] (i + 1)ps(i) + (i + 1)ps(2n+1 i) + 3d r 2k i=1 i=1 n [(i + 1)(p 2i 1 + p 2i )] + 3d r 2k = y 0 + 2d r 2k. i=1 Le vrai coût de l ordonnancement f(s) par rapport à d r peut s écrire de la façon suivante : f(s) = 2n i=0 C i d r = 2n i=0 C i k + (d r k) ( S E S T ), où S E et S T sont respectivement les cardinalités des ensembles en avance et en retard de S. Alors, d après la proposition 2.11, nous sommes face à trois cas possibles : si d r = k, alors nous avons que f(s) y 0, si d r > k, alors S T = n et donc f(s) y 0 + d r k > y 0, si d r < k, alors la cardinalité de S T est de n 1 et donc f(s) y 0 + k d r > y 0. Ce que implique que si f(s) y 0, alors la date de fin de la tâche à la position n coïncide avec la date d échéance d r (i.e., C s(n) = d r ). En plus, f(s) y 0 implique { Js(i), J s(2n (i+1)) } = {J2i 1, J 2i } pour i = 1,..., n. De cette façon, l ordonnancement S a la même structure que S 0. En conséquence, nous avons une réponse affirmative pour le problème EOP original. Théorème 2.13 Étant donné un ensemble de tâches et un nombre non-négatif y, le problème de décider s il existe un ordonnancement S 0 tel que f(s 0 ) y est NP-complet. Preuve. Le problème de décision est clairement dans NP. Pour n importe quelle instance du problème EOP, nous construisons un ensemble de tâches comme décrit précédemment et on pose y = y 0. Cette réduction peut se faire en temps polynomial. La preuve de ce théorème découle des lemmes 2.10 et État de l art pour les problèmes à date d échéance commune Kanet [55] a présenté un algorithme polynomial en O(nlogn) pour le problème sans pénalités d avance ni de retard et avec une date d échéance lointaine 1 d i = d l i E i+ Yasmin A. Ríos Solís

31 2.3. Problèmes avec une date d échéance commune restrictive 31 T i. Hall et al. [43] ont démontré que la version restrictive de ce problème, 1 d i = d r i E i + T i, est NP-difficile. Le problème pondéré 1 d i = d r i w i(e i + T i ) est NP-difficile même dans le cas où la date d échéance est lointaine [42, 51] (dans la section nous présentons la preuve de Hoogeveen et van de Velde [51]). Ce résultat implique que le problème avec pénalités générales auquel nous nous intéressons dans le chapitre 3, 1 d i = d r i α ie i + β i T i, est aussi NP-difficile. Si un problème est NP-difficile même si une instance de taille n ne contient que des entiers de taille au plus p(n) (p est un polynôme) alors le problème est dit NPdifficile au sens fort (Papadimitriou [79], Garey et Johnson [32]). Les algorithmes pseudo-polynomiaux sont très usuels dans les problèmes d avance-retard cependant, à notre connaissance, aucun algorithme de ce type n a été présenté pour le problème 1 d i = d r i α ie i + β i T i. Par ailleurs, plusieurs auteurs ont émis la conjecture que ce problème est NP-difficile au sens fort [66, 28] et donc il n admettrait pas d algorithmes pseudo-polynomiaux à moins que P = NP. Néanmoins, il faut noter que pour une date d échéance commune lointaine et α i = β i pour toute tâche i, le problème est NP-difficile au sens faible. Jurish et al. [54], et Hall et Posner [43] proposent des algorithmes de programmation dynamique pseudo-polynomiaux pour le problème pondéré noté 1 d i = d l i w i (E i + T i ). Hall et al. [43], et Hoogeveen et van de Velde [51] ont proposé eux aussi des algorithmes pseudo-polynomiaux mais pour le problème avec date d échéance commune restrictive 1 d i = d r i w i (E i + T i ). Diverses techniques ont été utilisées pour essayer de trouver une bonne solution pour le problème NP-difficile 1 d i = d r i α ie i + β i T i. On citera principalement les travaux suivants. La combinaison entre relaxation Lagrangienne et la génération de colonnes de van den Akker et al. [108]. Ils peuvent résoudre à l optimalité des problèmes jusqu à 125 tâches mais considèrent une date d échéance lointaine. L algorithme génétique parallèle de Lee et Kim [67]. Ils testent des instances jusqu à 100 tâches avec une date d échéance commune lointaine. Feldmann et Biskup [28] présentent des méta-heuristiques. Ils donnent des bornes supérieures pour des instances qui ont au plus 1000 tâches. Hino et al. [49] proposent des heuristiques basées sur une méthode tabu et un algorithme génétique. Ils résolvent ainsi des instances jusqu à 1000 tâches. Dernièrement, Lin et al.[72] ont proposé une heuristique basée sur des échanges de tâches (swaps) pour le cas à une seule machine. Les meilleurs résultats ont été obtenus récemment par Sourd [102]. Il résout des instances à 1000 tâches (pour des dates d échéance communes lointaines et restrictives) en 1000 secondes, en ajoutant des contraintes redondantes à la relaxation Lagrangienne d un MIP avec des variables indexées sur le temps.

32 32 Chapitre 2. État de l art Le problème d ordonnancement à machines parallèles R d i = d r i α ie i + β i T i, est NP-difficile au sens fort puisqu il généralise le problème NP-difficile P i w ic i (Brucker [14], p.152). Quand l environnement du problème d ordonnancement correspond à des machines parallèles identiques, Chen et Powell [18] étudient le cas où les tâches ont une date d échéance commune lointaine et résolvent des instances jusqu à 60 tâches et 6 machines. Ils formulent le problème comme un programme linéaire en nombre entiers et, par la méthode de génération de colonnes, ils obtiennent une borne inférieure. Avec cette borne, les auteurs proposent un arbre de recherche pour résoudre le problème à l optimum. Ventura et Kim [110] étudient un problème similaire où les tâches ont un temps d exécution unitaire et des contraintes de ressources additionnelles. Ils dérivent des bornes supérieures et inférieures à partir de la relaxation Lagrangienne d une formulation du problème en nombres entiers. Ils utilisent le fait que P r i ; p i = 1 i α ie i + β i T i peut être résolu comme un problème d affectation. Le problème à machines parallèles sans pénalités d avance ni de retard et une date d échéance lointaine est étudié par Hall [43] et par Sundaraghavan et Ahmed [105]. Ils généralisent l algorithme de Kanet [55]. Emmons [27] propose un algorithme en O(nlogn) pour Q d i = d l i E i + T i et Q d i = d l i αe i + βt i. Kubiak et al. [62] présentent un algorithme en O(n 3 ) pour le problème avec machines à vitesses différentes et indépendantes R d i = d l i E i + T i. Sun et Wang [104] considèrent le problème P d i = d l i w i (C i d) où la pénalité w i de chaque tâche est proportionnelle à son temps d exécution. Ils montrent que même pour m = 2 le problème est NP-difficile, proposent un algorithme de programmation dynamique et des heuristiques (ils ne présentent pas des résultats expérimentaux). 2.4 Minimisation de la somme pondérée des dates de fin On s intéresse, dans cette section, au problème d ordonnancement sur machines parallèles à vitesses différentes et indépendantes où l objectif est de minimiser la somme pondérée des dates de fin des tâches. Dans la notation à trois champs [39], ce problème est noté R i w ic i. Plus précisément, il s agit de n tâches qui doivent être exécutées sur m machines parallèles qui ont des vitesses différentes et indépendantes. Le temps d exécution de chaque tâche dépend de la machine où elle est exécutée, on note p ij le temps que la nécessaire à tâche i pour être exécutée dans sa totalité sur la machine M j. L objectif du chapitre 5 est de formuler une méthode exacte basée sur des bornes inférieures obtenues par relaxation continue de reformulations convexes d un programme quadratique. De plus, dans la section ce problème est modélisé comme un programme quadratique en 0-1 sous contraintes linéaires. C est sur ce type de formulations que la méthode du chapitre 5 est en partie basée. Yasmin A. Ríos Solís

33 2.4. Minimisation de la somme pondérée des dates de fin 33 Contrairement aux problèmes d ordonnancement d avance-retard présentés dans les sections 2.2 et 2.3, le critère d optimisation du problème que nous traitons maintenant est régulier, c est-à-dire, monotone croissant avec le temps et donc il est intéressant d ordonnancer les tâches au plus tôt. On peut remarquer que le problème R i w ic i peut être vu comme un cas particulier du problème d avance-retard général R i α ie i + β i T i où les pénalités d avance α i ainsi que les dates d échéances d i sont égales à 0 pour toutes les tâches i. Il est important de mentionner que les problèmes d ordonnancement à machines parallèles R i w ic i et P i w ic i sont NP-difficiles au sens fort (respectivement [16, 70] et [14] p.152). Le problème à machines différentes R i w ic i a reçu une attention importante dans la littérature. Azizoglu et Kirca [5] proposent un branch&bound, pour les cas à machines parallèles identiques et différentes dépendantes, basé sur la structure des solutions optimales et sur une borne inférieure. Lee et Uzsoy [68] proposent un algorithme de programmation dynamique à complexité pseudo-polynomiale. Webster [112] a proposé des bornes inférieures mais qui n ont pas été testées sur un branch&bound. Belouadah et Potts [7], pour le cas à machines parallèles identiques, proposent aussi une borne inférieure et un branch&bound qui peut résoudre des instances jusqu à 30 tâches et 4 machines. L article de Chen et Powell [19] propose une décomposition de Dantzig-Wolf sur un programme en nombres entiers, pour résoudre les problèmes P i w ic i, Q i w ic i et R i w ic i, entre autres. À l aide de la génération de colonnes et d un branch&bound ils peuvent résoudre ces problèmes de façon exacte. Ils peuvent résoudre avec cette méthode des problèmes jusqu à 100 tâches et 20 machines pour les trois problèmes. Indépendamment à Chen et Powell, pour le problème P i w ic i, van den Akker et al. [107] montrent que la relaxation d un programme linéaire peut être résolue par une méthode de génération de colonnes car le problème de pricing (coûts réduits) se résout en temps pseudo-polynomial. Ils vérifient expérimentalement que la borne inférieure obtenue a une bonne qualité et à l aide d un algorithme de branch&bound, des instances jusqu à 100 tâches et 10 machines peuvent être exactement résolues. De nombreux algorithmes avec garantie de performance ont été générés pour le problème R i w ic i. Les premiers algorithmes d approximation ont été donnés par Phillips et al. [80] et Hall et al. [41]. Ces derniers, proposent un algorithme de 16/3- approximation basé sur la relaxation d un programme linéaire avec des variables indexées sur le temps et la technique d arrondissement de Shmoys et Tardos [94]. Plus tard, Schulz et Skutella [93] et Skutella [95, 96] ont amélioré ce résultat pour finalement avoir un algorithme polynomial de 3/2-approximation basé sur des relaxations quadratiques convexes. Vredeveld et Hurkens [111] ont testé expérimentalement les bornes inférieures obtenues avec l algorithme d approximation de Skutella [96] ainsi que les ordonnancements obtenus (bornes supérieures). De plus, ils les ont comparées

34 34 Chapitre 2. État de l art avec les bornes inférieures obtenues avec des relaxations de programmes avec des variables indexés sur le temps de Schulz et Skutella [93] et les bornes inférieures obtenues par van den Akker et al. [109]. Vredeveld et Hurkens [111] mentionnent que dans son rapport de Master, S.J. van der Linden (2000) a utilisé une méthode exacte, semblable à celle que nous proposons dans le chapitre 5, et a résolu des instances à 20 tâches et 5 machines. Néanmoins, nous n avons pas été capables d obtenir ni ce document, ni un article reportant ces expériences Modèle quadratique du problème R i w ic i Dans cette section, nous présentons le modèle quadratique proposé par Skutella [95] à partir duquel il développe un algorithme d approximation. La raison de le présenter est que dans le chapitre 5, nous nous inspirons de ce type de modèle, pour proposer une méthode exacte. Nous remarquons que le problème d ordonnancement sur une seule machine 1 i w ic i peut être résolu en temps polynomial en utilisant la règle des ratios de Smith [97]. En effet, en ordonnançant les tâches dans l ordre non croissant des ratios w i /p i1, on obtient la solution optimale. Alors, la difficulté du problème réside dans l affectation des tâches aux machines. Donc, étant donnée une telle affectation, un ordonnancement est obtenu en plaçant les tâches dans les machines dans l ordre croissant des ratios w i /p ij. Pour formuler R i w ic i comme un programme quadratique, nous introduisons les variables binaires d affectation suivantes pour i J et j = 1,..., m : { 1 si la tâche i est exécutée sur la machine M j, x ij = 0 sinon. Nous définissons un ordre total sur l ensemble des tâches, (J, j ), en définissant i j k si w i /p ij > w k /p kj. Si pour une machine M j il existe une paire de tâches i et k telles que w i /p ij = w k /p kj alors on départage en mettant i j k si i < k. Le problème d ordonnancement R i w ic i peut être formulé comme suit : min i J w i C i (2.17) s.c. m x ij = 1 i J (2.18) j=1 m C i = x ij p ij + x kj p kj j=1 k ji i J (2.19) x ij {0, 1} i J, j = 1,..., m Yasmin A. Ríos Solís

35 2.4. Minimisation de la somme pondérée des dates de fin 35 La fonction objectif (2.17) correspond à la minimisation de la somme pondérée des dates de fin des tâches. Les contraintes linéaires (2.18) assurent que chaque tâche ne soit affectée qu à une seule machine. Si une tâche i est affectée à la machine M j, alors les contraintes quadratiques (2.19) impliquent que sa date de fin est égale à la somme de son propre temps d exécution sur cette machine plus la somme des temps d exécution des tâches k qui sont affectées sur la même machine telles que k j i. Finalement, en introduisant les contraintes quadratiques (2.19) dans la fonction objectif (2.17) nous obtenons un programme quadratique sous contraintes linéaires à variables binaires que nous appelons QR : minf(x) = 1 2 xt Qx + c t x s.c. Ax = I x {0, 1} nm Le vecteur x R nm est composé des variables x ij ordonnées, premièrement, dans l ordre lexicographique par rapport à l ordre des machines, et ensuite pour chaque machine M j, les variables sont ordonnées à l aide de l ordre j. En définissant la notation [r] j, qui correspond à la tâche à la position r (r = 1,..., n) dans l ordre (J, j ) de la machine M j, le vecteur x a la forme suivante : x t = ( x [1] 1, x [2] 1,..., x [n] 1, x [1] 2, x [2] 2,..., x [n] 2,..., x [1] m, x [2] m,..., x [n] m). Le vecteur c R nm est composé par les éléments c ij = w i p ij et ses composantes sont ordonnées dans le même ordre que dans le vecteur x. La matrice Q = (q (ij)(hk) ), de dimension nm nm, est est telle que 0 si j h ou i = k, q (ij)(hk) = w i p ik si j = h et k j i, w k p ij si j = h et i j k. Du fait de l ordre lexicographique sur les indices, la matrice Hessienne Q est composée de m sous-matrices diagonales Q j : 0 w [2] jp [1] j j w [3] jp [1] j j w [n] jp [1] j j w [2] jp [1] j j 0 w [3] jp [2] j j w [n] jp [2] j j Q j = w [3] jp [1] j j w [3] jp [2] j j 0 w [n] jp [3] j j w [n] jp [1] j j w [n] jp [2] j j w [n] jp [3] j j 0 Finalement, la matrice A R n nm est composée de n vecteurs transposés A(i). Les coefficients de chacun de ces vecteurs sont ordonnés de la même façon que les vecteurs

36 36 Chapitre 2. État de l art x et c. Les éléments du vecteur A(i), sont égaux à 1 quand la tâche à la position [r] j correspond à la tâche i sur la machine M j et 0 dans l autre cas. Comme la fonction objectif du programme QR n est pas convexe, pour obtenir une relaxation continue du problème QR calculable en temps polynomial, il faut convexifier sa fonction objectif. Nous présentons dans le chapitre 5 deux différentes techniques qui permettent de transformer ce type de programmes non convexes en des programmes convexes équivalents et conservant l espace admissible des solutions. 2.5 Problème d ordonnancement avec des coûts de position sur les tâches Dans le chapitre 6 de cette thèse, le problème d ordonnancement auquel nous nous intéresserons a la caractéristique de ne pas avoir une fonction de coût liée à la date de fin de chaque tâche comme dans les problèmes d ordonnancement présentés dans les sections précédentes de ce chapitre et dans la littérature [14, 26]. Cette section est dédiée à la présentation et à l état de l art de ce type de problèmes. Une des motivations pour considérer des problèmes d ordonnancement qui ont des fonctions de coût qui ne dépendent pas de la date de fin des tâches, est l autorisation de la préemption des tâches. La préemption d une tâche arrive quand son exécution peut être interrompue et ensuite continuée, un certain temps après, sur la même ou sur une autre machine. De plus, une tâche peut être interrompue plusieurs fois. La figure 2.6 illustre, à gauche, une tâche i qui est exécutée sans préemption sur la machine M 1 ; du côté droit de cette figure, la tâche i est exécutée sur les machines M 1 et M 2 avec une préemption. Il faut noter qu une tâche ne peut pas être exécutée sur plusieurs machines au même instant. p i M 1 i M 1 i M 2 M 2 i 0 i sans préemption 0 i avec une préemption Fig. 2.6 Préemption de la tâche i. Quand la préemption d une tâche n est pas autorisée, alors la tâche doit être ordonnancée entièrement dans l intervalle de temps [C i p i, C i ). Si la préemption est autorisée, il peut y avoir un nombre infini de manières d ordonnancer une tâche i telle Yasmin A. Ríos Solís

37 2.5. Ordonnancement avec des coûts de position sur les tâches 37 qu elle finisse à l instant C i. Donc, un modèle où le coût des tâches ne dépend que de leur date de fin peut être insuffisant, spécialement quand le produit de l exécution de la tâche est continuellement fourni au consommateur, c est-à-dire, une fraction est délivrée dès qu elle a été produite au lieu d être entièrement délivrée à la fin de la tâche. Par exemple, autoriser naïvement la préemption d une tâche quand le critère d optimisation irrégulier est min i α ie i + β i T i, n est pas raisonnable. En effet, une tâche i pourrait s exécuter presque dans sa totalité à n importe quel moment du temps et terminer par l exécution d une partie de durée ǫ > 0 juste à sa date d échéance, ce qui impliquerait que son coût d exécution soit nul. Dans la figure 2.7, la tâche i a un coût égal à 0 alors qu elle a été exécutée en grande partie en avance. p i ǫ d i ǫ C i = d i i d i Fig. 2.7 Préemption naïve de la tâche i. Pour éviter le problème de préemption naïve des tâches, nous présentons un modèle qui correspond à un critère relativement nouveau dans la théorie de l ordonnancement. Une fonction de coût f i est associée à chaque tâche i. Elle peut être interprétée comme suit : pour une période de taille infinitésimale dt, f i (t)dt est le coût d exécution la tâche i entre t et t+dt. De cette façon, le coût total de la tâche i, que nous appelons coût de position de la tâche i, est 0 f i (t)δ i (t)dt où la fonction indicatrice δ i est définie comme suit : { 1 si la tâche i est exécuté à l instant t, δ i (t) = 0 sinon. Cette fonction indicatrice correspond aux variables du problème d ordonnancement auquel nous nous intéressons et elle doit être contrainte à avoir un nombre fini de discontinuités pour des raisons pratiques pour le déroulement de l algorithme que nous présentons dans le chapitre 6. Il faut noter que dans le cas de machines parallèles identiques auquel nous nous intéressons, il n est pas important de savoir sur quelle machine la tâche est effectuée et donc la fonction indicatrice δ i n a pas besoin d avoir l indice des machines. Il faut noter que les dates de début et de fin des tâches ainsi que les préemptions ne s effectuent pas nécessairement à des instants entiers.

38 38 Chapitre 2. État de l art Le critère d optimisation auquel on s intéresse est i J 0 f i (t)δ i (t)dt, qui correspond à la minimisation de la somme des coûts de position de toutes les tâches. Dans la notation à trois champs, le problème pour lequel nous proposerons un algorithme polynomial dans le chapitre 6 est noté P pmtn i fi. Nous observons que le problème P i fi est équivalent au problème avec dates de disponibilité et dates d échéance strictes (d i ) P r i, d i i fi car la valeur de la fonction f i peut être fixée arbitrairement grande en dehors de l intervalle [r i, d i ). Une des motivations pour considérer des modèles préemptifs qui minimisent la somme des coûts de position est la nécessité d obtenir des bornes inférieures pour les problèmes d ordonnancement non-préemptifs P i α ie i + β i T i et P r i i α ie i + β i T i. Sourd et Kedad-Sidhoum [103] et Bülbül et al. [10] ont présenté cette approche pour le cas à une seule machine. Ces bornes inférieures s avèrent efficaces et peuvent être utilisées dans des méthodes de séparation et évaluation. Dans ces articles, les bornes inférieures ne sont pas explicitement définies comme des problèmes avec coûts de position, sinon que les tâches sont décomposées en opérations unitaires auxquelles une fonction de coût est attribuée. Ce type d approche produit des algorithmes qui dépendent de la taille de l horizon de l ordonnancement, à cause de la nécessité de décomposer le temps en périodes unitaires. Ainsi, une des motivations pour prendre en compte des problèmes d ordonnancement avec coûts de position est d éviter la pseudo-polynomialité des algorithmes qui fournissent ces bornes inférieures. Les coûts de positions sont la généralisation des coûts d affectation des formulations proposées dans [103, 10] (voir section 2.2.2). Sourd [98] introduit un modèle basé sur la notion de coûts de position pour calculer une borne inférieure pour le problème d avance-retard à une seule machine. L objectif du chapitre 6 est de généraliser cette approche pour le problème à machines parallèles, plus précisément, en résolvant à l optimalité de façon polynomiale le problème d ordonnancement P pmtn i fi nous obtenons une borne inférieure pour le problème P i α ie i + β i T i en choisissant des fonctions f i spécifiques. Dans un autre papier, Sourd [101] présente des algorithmes polynomiaux pour les cas à 1 et 2 machines et pour des instances qui ont une date d échéance commune. Yasmin A. Ríos Solís

39 Chapitre 3 Voisinage exponentiel pour un problème d ordonnancement sur une seule machine Nous considérons le problème d ordonnancement d avance retard sur une seule machine qui a la particularité d avoir une date d échéance commune restrictive. Ce problème est NP-difficile et est conjecturé NP-difficile au sens fort. Dans ce chapitre, les principales contributions sont la définition d un nouveau voisinage de taille exponentielle, la preuve que la recherche de la solution à coût minimum dans ce voisinage est un problème NP-difficile et un algorithme pseudo-polynomial qui permet de trouver le meilleur ordonnancement du voisinage. 3.1 Introduction Le problème d ordonnancement auquel nous nous intéressons dans ce chapitre est, dans la notation classique à trois champs, 1 d i = d r i α ie i + β i T i. Nous rappelons que d i = d r indique que toutes les tâches ont une même date d échéance qui est suffisamment près de la date 0 pour contraindre l ordonnancement. Dans la section 2.3 du chapitre 2 est présenté explicitement ce problème ainsi que son état-de-l art. Même si les algorithmes pseudo-polynomiaux sont très usuels dans les problèmes d avance-retard, à notre connaissance, aucun algorithme de ce type n a été présenté pour ce problème. Une question encore ouverte est de savoir si le problème 1 d i = d r i α ie i + β i T i appartient à la classe des problèmes NP-difficiles au sens fort ou non. Néanmoins, plusieurs auteurs en conjecturent son appartenance [66, 28]. 39

40 40 Chapitre 3. Voisinage exponentiel : cas à une seule machine Une approche pour tenter de résoudre les problèmes NP-difficiles consiste à utiliser des algorithmes de voisinage ou algorithmes de recherche locale. Ces algorithmes nécessitent qu on leur fournisse en entrée une solution réalisable et, de façon itérative, ils essayent de trouver une meilleure solution en explorant le voisinage de la solution initiale. Cette meilleure solution du voisinage devient alors solution courante et le processus de recherche continue en recherchant dans le voisinage de la solution courante. L algorithme s arrête lorsque le voisinage de la solution courante ne contient pas de meilleure solution, la solution courante est alors appelée optimum local. C est cette approche que nous avons choisi pour aborder le problème 1 d i = d r i α ie i + β i T i. De manière intuitive, plus le voisinage est grand, meilleure est la qualité de l optimum local. Mais inversement, plus le voisinage est grand, plus long est le temps de calcul pour son exploration. Donc, un grand voisinage n est en pratique intéressant que dans le cas où il peut être exploré de façon efficace. L article de Ahuja et al. [2] présente un état-de-l art sur ces grands voisinages. Ils s intéressent en particulier aux voisinages qui ont une taille exponentielle en fonction de l énoncé mais pour lesquels la meilleure solution dans le voisinage peut être déterminée en un temps polynomial. Congram et al. [23] ont introduit l algorithme de recherche nommé Dynasearch pour le problème d ordonnancement à une seule machine ayant comme objectif la minimisation de la somme totale pondérée des retards. Tandis que les voisins sont habituellement dérivés de la solution courante par une transformation simple, les voisins du Dynasearch sont obtenus par plusieurs échanges indépendants simultanés des tâches. Sourd [100] a traité le problème 1 r i,setup i α ie i +β i T i avec telles techniques de voisinage. Il a montré que la recherche dans le voisinage Dynasearch correspond à un problème NP-difficile pour ce problème mais elle peut cependant être effectuée en un temps pseudo-polynomial. Notre travail Dans ce chapitre, nous définissons un nouveau voisinage pour le problème 1 d i = d r i α ie i + β i T i en vue de proposer un algorithme de recherche locale. Le voisinage est dit exponentiel car le nombre de voisins d un ordonnancement donné peut être exponentiel. Il est basé sur des déplacements de tâches : certaines tâches en retard sont mises en avance, et inversement, certaines tâches en avance sont mises en retard. De façon similaire au Dynasearch, la définition de ce voisinage repose sur plusieurs échanges indépendants et simultanés des tâches. On présente un algorithme pseudo-polynomial qui permet de trouver l ordonnancement du voisinage exponentiel qui a le moindre coût. Le voisinage exponentiel que nous présentons dans ce chapitre est intéressant sous l hypothèse que le problème avec dates d échéance restrictive 1 d i = d r i α ie i + β i T i est NP-difficile au sens fort et donc qu il n existe pas d algorithme pseudo-polynomial pour le résoudre de façon exacte. Yasmin A. Ríos Solís

41 3.1. Introduction 41 Ci-dessous nous rappelons les principales propriétés des solutions dominantes du problème 1 d i = d r i α ie i + β i T i. Le voisinage exponentiel ainsi que l algorithme qui permet de trouver le meilleur ordonnancement dans ce voisinage sont présentés dans la section 3.2. Dans la section 3.3 est démontré que la recherche du meilleur voisin est un problème NP-difficile. Dans le chapitre 4 de cette thèse est présenté un voisinage exponentiel mais pour le cas à machines parallèles. Alors, pour simplifier la présentation des résultats expérimentaux, les résultats des instances à une machine, correspondant à ce chapitre, sont présentés dans la section 4.3 du chapitre 4. Propriétés des ordonnancements dominants La classe des ordonnancements dominants du problème 1 d i = d r i α ie i + β i T i a les propriétés bien connues que nous avons présentées dans la section du chapitre 2. Nous rappelons qu il existe au moins une solution optimale qui est un ordonnancement en V et donc vérifie les propriétés suivantes : Propriété 2.4 : Il n existe pas de temps mort entre les exécutions des tâches dans un ordonnancement optimal. Propriété 2.5 : Un ordonnancement optimal est tel que les tâches qui sont terminées avant d r sont placées dans l ordre croissant des ratios α i /p i, et les tâches qui commencent après la date d échéance sont dans l ordre décroissant des ratios β i /p i. Propriété 2.6 : Il existe un ordonnancement optimal pour lequel la première tâche commence à la date 0 ou une des tâches se termine exactement à la date d r. Ces propriétés impliquent qu il peut exister une tâche pont qui commence avant et finit après la date d échéance restrictive d r. Comme nous l avons remarqué dans la section du chapitre précédent, une telle tâche n a pas nécessairement le plus grand ratio α i /p i ou β i /p i. Un ordonnancement en V est déterminé par la partition de l ensemble de tâches J en deux sous-ensembles. Le sous-ensemble S E contient les tâches qui finissent avant ou à l instant t plus la tâche pont et le sous-ensemble S T qui a les tâches commençant après la date d échéance d r. À partir des propriétés 2.4, 2.5 et 2.6 on déduit que l ordonnancement optimal du voisinage doit être d un des types suivants : S E s S T 0 Fig. 3.1 Ordonnancement avec une tâche pont. d r p i i J

42 42 Chapitre 3. Voisinage exponentiel : cas à une seule machine La première tâche de S E commence à l instant 0, donc il existe une tâche pont qui est notée s dans l ordonnancement illustré dans la figure 3.1. La date de fin de cet ordonnancement est égale à i J p i. Dans la littérature, on dit que ce type d ordonnancement est faiblement en V (T Kindt et Billaut [106]). La première tâche de l ordonnancement en avance S E commence après 0 et donc il existe une tâche qui finit exactement à l instant d r (ordonnancement de la figure 3.2). Nous pouvons remarquer que sa date de fin n est pas nécessairement égale à i J p i. S E S T 0 d r p i i J Fig. 3.2 Ordonnancement où la date de fin d une tâche coïncide avec d r. À partir de ces observations, nous allons définir des voisinages, qui sont composés par des ordonnancements en V. 3.2 Définition et exploration du voisinage exponentiel Soit V ET (S) le voisinage d un ordonnancement initial S. Cet ensemble contient les voisins de S qui ont une tâche pont (voisinage V 2 (S)) et ceux qui n en ont pas (voisinage V 1 (S)). Pour simplifier la notation dans ce chapitre, à partir de maintenant d r = d. Nous commençons par définir le voisinage V 1 (S). La date de fin d une tâche coïncide avec la date d échéance En vue de décrire le voisinage V 1, nous introduisons quelques notations supplémentaires (voir la figure 3.3). Tout d abord, n E = S E désigne le nombre de tâches qui commencent avant d dans l ordonnancement S et n T = S T le nombre de tâches en retard, c est-à-dire, celles qui commencent après d. Les n E premières tâches de S (ce sont les tâches en avance) sont renommées E ne,, E 2, E 1, tandis que les n T dernières tâches (tâches en retard) sont renommées T 1, T 2,, T nt. Le coût d avance, le coût de retard et la durée de E i et T i (α T i, β T i, p T i ). sont respectivement notés par (α E i, βe i, pe i ) et On définit ensuite deux opérateurs du type Enlever-Insérer qui tiennent compte des propriétés 2.4, 2.5 et 2.6. Le premier opérateur, que l on note ET(E i ), consiste à extraire la tâche E i de l ordonnancement courant et à la rendre en retard. La propriété 2.5 indique la position à laquelle E i doit être placée parmi les tâches en retard on supposera Yasmin A. Ríos Solís

43 3.2. Définition et exploration du voisinage exponentiel 43 que cette position est unique, si plusieurs ratios sont identiques, on les départage en fonction de la numérotation initiale du problème. Ainsi, si E i doit être insérée entre T i et T i +1, on définit R(i) = i. De plus, R(i) = 0 si E i doit être insérée avant T 1 et R(i) = n T si E i doit être insérée en dernière position. Le second opérateur est le mouvement inverse, consistant à rendre une tâche de S T en avance. Cet opérateur est noté TE(T i ) si c est la tâche T i qu on met en avance. Comme on a défini R(i), on définit L(i ) comme le rang de T i une fois qu il a été inséré parmi les tâches en avance. ET(E 2 ) E 3 E 2 E 1 T 1 T 2 Σ(S) α E 3 < αe 2 < αe 1 p E 3 p E 2 p E 1 d = p E 2 Σ(S) E 3 E 1 T E T Σ(S ) d β T 1 > βe p T 2 > βt 2 1 p E 2 p T 2 = p E 2 Fig. 3.3 Opération ET(E 2 ). La figure 3.3 montre un exemple de l opération ET(E 2 ) où la tâche E 2 est placée en retard. On suppose dans cet exemple que R(2) = 1 puisqu elle doit être insérée entre T 1 et T 2. Il faut noter qu en faisant cette opération il y a un décalage = p E 2 entre les dates de début de l ordonnancement initial (le supérieur dans la figure) et de l ordonnancement obtenu (l inférieur). Il faut aussi remarquer que dans l ordonnancement obtenu, les dates de fin des tâches E 1 et T 1 restent inchangées tandis que celle de la tâche E 3 est décalée = p E 2 pour remplir l espace laissé par la tâche E 2 et celle de la tâche T 2 est aussi décalée de = p E 2 pour laisser de la place pour E 2. Nous pouvons dire que est la variation de la date de début et celle de fin entre l ordonnancement initial et celui obtenu.

44 44 Chapitre 3. Voisinage exponentiel : cas à une seule machine On définit l amplitude de l opérateur ET(E i ) (resp. TE(T j )) par la paire (i, R(i)) (resp. (L(j), j)). Deux opérateurs seront dits indépendants si leurs amplitudes sont imbriquées, c est-à-dire, si on a i 1 i 2 et i 2 i 1 pour des amplitudes (i 1, i 1) et (i 2, i 2). On dit que l ordonnancement S est un 1-voisin de S (d autres types de voisins seront définis après dans ce chapitre et dans le suivant) s il existe une combinaison de mouvements ET et de mouvements TE (mouvements ET/TE en abrégé) deux à deux indépendants qui transforment S en S et tel que ce voisin commence après ou à l instant 0. Le voisinage V 1 (S) est composé par tous les 1-voisins de S. Il faut remarquer que tous les ordonnancements dans V 1 (S) sont des ordonnancements en V. TE(T 2 ) ET(E 2 ) E 3 E 2 E 1 T 1 T 2 Σ(S) d = p E 2 p T T E 3 E 1 T E d = p E 2 p T 2 Fig voisin de S. Dans la partie inférieure de la figure 3.4 est illustré un 1-voisin de S (ordonnancement supérieur) obtenu en effectuant les opérations indépendantes ET(E 2 ) et TE(T 2 ). Ces opérations induisent un décalage total = p E 2 pt 2. Dans l ordonnancement obtenu, les dates de fin des tâches hachurées restent identiques à celles de S. Il faut remarquer que c est la combinaison de mouvements indépendants ET/TE, qui appliqués à l ordonnancement S, donnent le voisin S. En effet, l ordre dans lequel on réalise ses mouvements n est pas important pour obtenir S. Si on réalise les mouvements un à un comme dans une descente simple, nous pourrions obtenir des solutions non réalisables avant d arriver à l ordonnancement S (par exemple, des ordonnancements qui commencent avant l instant 0). Yasmin A. Ríos Solís

45 3.2. Définition et exploration du voisinage exponentiel 45 Lemme 3.1 La taille du voisinage V 1 (S) peut être de taille Ω(2 n ). Preuve. Pour confirmer ce résultat il suffit de considérer une instance où les ratios vérifient la condition suivante : α i /p i α i /p i implique β i /p i β i /p i pour toutes les tâches i, i J. Ainsi, réaliser des opérations indépendantes ET/TE entre chaque paire composée par une tâche en avance E i (i = 1,...n E ) et une tâche en retard T i (i = 1,..., n T ) est possible. Donc, cette instance a 2 n E+n T voisins différents, c est-àdire, l ensemble des solutions réalisables. Par contre, pour ce cas particulier Lee et Uzsoy [68] proposent un algorithme de programmation dynamique qui le résout en temps pseudo-polynomial. Pour trouver le voisin de S à coût minimal dans le voisinage V 1 (S) nous proposons un algorithme de programmation dynamique. Soit δ(i, i, ) la valeur minimale de la fonction de coût de l ordonnancement obtenue après l exécution d une combinaison d opérations ET/TE indépendantes effectués sur les tâches E i,..., E 1 et T 1,..., T i avec un décalage total de. Ce paramètre est le décalage entre l ordonnancement initial S et l ordonnancement obtenu (voir la figure 3.3). Il prend des valeurs entières de l intervalle I = [ i J p i, i J p i], ce qui implique que nous considérons dans la récurrence des ordonnancements qui commencent avant le temps 0. La relation de récursivité de la fonction δ s exprime comme suit pour 0 < i n E et 0 < i n T et I : δ(i, i 1, ), δ(i, i δ(i 1, i, ),, ) = min δ(i 1, R(i), p E i ) + CE(i, ) si R(i) (3.1) i, δ(l(i ), i 1, + p T i ) + CT(i, ) si L(i ) i, où CE(i, ) (resp. CT(i, )) est le coût qui correspond à enlever la tâche en avance E i (resp. la tâche en retard T i ) et la placer dans l ordonnancement en retard (resp. en avance). La première ligne du minimum de la récurrence (3.1) correspond à laisser la tâche T i en retard, en tenant compte que des mouvements ET/TE ont été éventuellement effectués entre les tâches E i,..., E 1 et T 1,..., T i 1. La deuxième ligne correspond à laisser la tâche E i en avance en tenant en compte que des opérations ET/TE ont été possiblement effectuées entre les tâches E i 1,..., E 1 et T 1,..., T i. La troisième ligne représente l opération ET(E i ) qui place la tâche E i parmi les tâches en retard S T. Donc, ce mouvement est égal au coût de l ordonnancement où des éventuels déplacements entre le tâches E i 1,..., E 1 et T 1,..., T R(i) ont été réalisés avec un décalage total de p E i, plus le coût CE(i, ) correspondant au bénéfice d enlever E i de l ordonnancement en avance et à l insérer dans l ordonnancement en retard après la tâche T R(i). En vue d écrire le coût CE(i, ), on note Ci E la date de fin de la tâche E i dans l ordonnancement initial

46 46 Chapitre 3. Voisinage exponentiel : cas à une seule machine S. Alors, le coût de l opération ET(E i ) quand le décalage est égal à correspond à la suivante formule : CE(i, ) = αi E ( d (C E i + p E i ) ) + βi E + p E i βh T R(i)<h n T n E l>i α E l ) (CR(i) T + d. La quatrième ligne de l équation (3.1) correspond à insérer la tâche T i dans S E. Des éventuelles opérations ont été réalisées entre les tâches E L(i ),..., E 1 et T 1,..., T i 1 avec un décalage de +p T i, plus le coût CT(i, ) qui résulte du bénéfice d enlever la tâche T i de S T, plus le coût de l insérer en avance, moins le décalage de p T i des tâches qui sont placées après T i, plus le décalage p T i des tâches E ne,..., E L(i )+1. Ce coût CT(i, ) est symétrique à CE(i, ). L initialisation de le fonction de récurrence δ(i, i, ) pour tout i = 1,..., n E et i = 1,..., n T est { δ(i, i f(s) pour = 0,, ) = 0. La valeur δ(i, i, 0) signifie qu il n y a pas eu de mouvements entre les tâches E i et T i. Alors, cette valeur correspond au coût de l ordonnancement initial f(s). Une valeur δ(n E, n T, ) correspond au coût d un ordonnancement en V obtenu après avoir effectué des opérations indépendantes à S, tel qu une de ces tâches est terminée à l instant d et tel que le décalage total entre S et l ordonnancement obtenu est. Pour avoir tous les 1-voisins de S on ne garde que les ordonnancements qui commencent après ou à l instant 0, ce qui implique que Σ(S ) = Σ(S) + 0, c est-à-dire, Σ(S). Alors, le voisin de V 1 (S) à coût minimal est min Σ(S) δ(n E, n T, ). Remarque 3.2 Un back-tracking est nécessaire pour obtenir l ordonnancement qui correspond à une valeur δ(n E, n T, ). Il récupère l ensemble de mouvements indépendants. E 6 E 5 E 4 E 3 E 2 E 1 T 1 T 2 T 3 T 4 T 5 α i β i p i α i /p i β i /p i Tab. 3.1 Un exemple d un problème avec 11 tâches. Yasmin A. Ríos Solís

47 3.2. Définition et exploration du voisinage exponentiel 47 0 d TE(T 1) S E 6 E 5 E 4 E 3 E 2 E 1 T 1 T 2 T 3 T 4 T 5 Décalage de p T 1 = 3 Décalage de pt 1 = 3 ET(E 4) E 6 E 5 E 4 E 3 E 2 T 1 E 1 T 2 T 3 T 4 T 5 = 3 Décalage de p E 4 = 2 Décalage de pe 4 = 2 ET(E 6) E 6 E 5 E 3 E 2 T 1 E 1 T 2 E 4 T 3 T 4 T 5 = 1 S E 5 E 3 E 2 T 1 E 1 T 2 E 4 T 3 T 4 T 5 E 6 = 3 Fig. 3.5 Opérations TE(T 1 ), ET(E 4 ), ET(E 6 ) sur l instance du Tableau 3.1. La figure 3.5 illustre la relation de récursivité sur l instance du Tableau 3.1 (seules les valeurs utilisées sont données). S est l ordonnancement initial avec un coût de 99.5 et on remarque qu il vérifie les propriétés 2.4, 2.5 et 2.6. Les opérations indépendantes TE(T 1 ), ET(E 4 ) et ET(E 6 ) transforment l ordonnancement S en S. Les ordonnancements intermédiaires qui apparaissent dans la figure représentent une opération après l autre. En premier, la tâche T 1 est mise en avance entre E 2 et E 1 (car L(1) = 1). En effet, α2 E/pE 2 αt 1 /pt 1 αe 1 /pe 1. Réaliser l opération TE(T 1) implique les coûts suivants : enlever T 1 : (C1 T d)βt 1 = 15, mettre T 1 en avance : (d CL(1) E )αt 1 = 8, décaler de p T 1 les tâches en retard T 2,..., T 5 : 19.5, et décaler de p T 1 les tâches en avance E 2,..., E 6 : -18. Alors après avoir placée T 1 en avance on a δ(2, 1, 3) = 94. De la même façon, la tâche E 4 est mise en retard entre T 2 et T 3, R(4) = 2. L opération ET(E 4 ) implique = 1. Le coût de l opération ET(E 4 ) prend en compte le mouvement TE(T 1 ). Finalement, la tâche E 6 est placée en retard après T 5. On a = 3 et il faut noter qu effectuer l opération ET(E 6 ) ne décale aucune autre tâche. Les étapes de récurrence nécessaires pour obtenir S sont : δ(2, 1, 3), δ(4, 3, 1) et δ(6, 5, 3). Si min δ(6, 5, ) = δ(6, 5, 3) =

48 48 Chapitre 3. Voisinage exponentiel : cas à une seule machine 91.5 alors S sera le meilleur voisin de S. On remarque que S est aussi un ordonnancement en V. L ordonnancement commence à l instant 0 Nous décrivons dans cette section le voisinage V 2 (S) qui contient les voisins de S qui commencent à l instant 0 et qui se terminent à i J p i, c est-à-dire, les ordonnancements qui ont une tâche pont. Nous utilisons toujours les deux opérateurs ET/TE et on dit qu un ordonnancement S est un 2-voisin de S s il existe une série d opérations indépendantes ET/TE qui appliquées à S donnent S et S commence à l instant 0. Le voisinage V 2 (S) est composé de tous les 2-voisins de S. Nous obtenons les valeurs coût des voisins dans V 2 (S) avec une autre programmation dynamique mais contrairement à la récurrence précédente (3.1), on commence à ordonnancer par les extrêmes. De façon plus formelle, soit γ(i, i, t) la valeur optimale de la fonction objectif telle que seules[ les tâches E h ( h i) et T l ( l i ) ont été ordonnancées dans les intervalles [0, t] et t + i 1 h=1 pe h + i 1 l=1 pt l, h S E p E h + ] l S T p T l. La figure 3.6 montre une itération de γ(i, i, t) (dans la figure t p = t + i 1 h=1 pe h + i 1 l=1 pt l et t p = h S E p E h + l S T p T l ). Déjà ordonnancée TE(T i ) Déjà ordonnancées E i+1 E i T i T i +1 0 t d t p t p ET(E i ) Fig. 3.6 La fonction de récurrence γ(i, i, t). Dans le but de présenter la programmation dynamique pour γ(i, i, t), nous introduisons deux tâches fictives E ne +1 et T nt +1 telles que (α E n E +1, βe n E +1, pe n E +1 ) = (α T n T +1, βt n T +1, pt n T +1 ) = (0, 0, 0) et αe n E +1 /pe n E +1 = βe n E +1 /pe n E +1 = αt n T +1 /pt n T +1 = β T n T +1 /pt n T +1 = 0. Pour simplifier la notation dans les formules soit P(i, i ) = i h=1 pe h + i l=1 pt l. La relation de récursivité γ(i, i, t) peut être écrite comme suit Yasmin A. Ríos Solís

49 3.2. Définition et exploration du voisinage exponentiel 49 pour n E + 1 i > 0, n T + 1 i > 0 et 0 t < d + max i J p i : γ(i, i, t) = min γ(i + 1, i, t p E i ) + αe i (d t) si t pe i 0, t d, γ(i + 1, i, t) + β E i (t + P(i, i 1) d) si t + P(i, i 1) > d et t + P(i + 1, i 1) < d, γ(i, i + 1, t) + β T i (t + P(i 1, i ) d) si t + P(i 1, i ) > d, γ(i, i + 1, t) + β T i ( t + p T i d ) si t < d γ(i + 1, i, t) + β E i (t + P(i, i ) d) p E i βt i et t + p T i > d, si i = R(i) et t + P(i, i ) d, γ(i, i + 1, t p T i ) + α E i ( d t + p E i ) p T i α E i si L(i ) = i et d t + p E i 0. (3.2) Le premier membre du minimum implique que la tâche E i est placée en avance s il reste encore de la place, en tenant compte que des éventuelles opérations ont été effectués [ sur les tâches E ne,..., E i+1 et T i,..., T nt et tel que les intervalles [0, t] et t + i 1 h=1 p h + i 1 l=1 p l, ] i J p i sont remplis. La deuxième ligne considère la cas où la tâche E i commence avant et finit après d. De façon analogue à la première ligne, le troisième membre correspond à mettre la tâche T i où T i en retard. La quatrième, est le cas commence avant et finit après d. La cinquième ligne est le coût de l opération ET(E i ) plus le coût résultant d insérer en retard la tâche E i et le décalage des tâches qui se trouvent avant elle. La ligne finale de ce minimum, est le reflet de l opération TE(T i ) avec ses coûts correspondants. Les cas limites de la fonction de récurrence γ sont : γ(n E + 1, n T + 1, t) = { 0 si t = 0, sinon. La valeur du voisin de S qui a le plus petit coût et qui est tel que toutes les tâches s exécutent dans [ 0, i J p i] est mint γ(1, 1, t). Union des deux voisinages Le voisinage exponentiel V ET (S) contient tous les ordonnancements en V qui peuvent être obtenus en appliquant un ensemble d opérations indépendantes ET/TE à S et tels qu ils commencent après ou à l instant 0. Plus formellement, V ET (S) = V 1 (S) V 2 (S). Le coût du meilleur ordonnancement dans V ET (S) est alors min { min Σ(S) δ(n E, n T, ), min t γ(1, 1, t) }. Étant donné un ordonnancement initial S, la recherche du voisinage revient à calculer les récurrences (3.1) et (3.2) pour obtenir les voisinages V 1 (S) et V 2 (S). S il n y a pas d ordonnancement dans V ET (S) avec un coût inférieur à celui de S, alors S est un mi-

50 50 Chapitre 3. Voisinage exponentiel : cas à une seule machine nimum local. Sinon, il faut trouver l ordonnancement à coût minimal S V ET (S) par back-tracking. S devient la solution courante et on recommence une nouvelle itération de cet algorithme. La recherche dans le voisinage exponentiel a une complexité pseudo-polynomiale de O(n n E n T i J p i) en temps. Dans la section suivante nous démontrons que trouver l ordonnancement à coût minimal dans le voisinage exponentiel V ET (S) est un problème NP-difficile (au sens ordinaire). 3.3 Complexité du problème de recherche dans le voisinage Dans la section 3.2 nous avons montré comment déterminer le meilleur ordonnancement du voisinage V ET (S) en temps pseudo-polynomial. Pour que cette thèse soit plus complète, nous montrons dans cette section que ce problème est NP-difficile même si on se restreint au voisinage V 1 (S) et à des pénalités α i = β i = 1 pour toute tâche i. Formellement, nous considérons le problème de décision P suivant. Étant donné un ensemble de n tâches qui ont une date commune d échéance restrictive d r, des pondérations α i = β i = 1 pour toute tâche i (i = 1,...n), un ordonnancement en V S INI spécifié par deux sous-ensembles S INIE et S INIT, et un entier positif K. Existet-il un ordonnancement S V 1 (S INI ) tel que le coût de S soit inférieur ou égal à K? Nous allons nous baser sur la preuve que le problème à une seule machine avec date d échéance commune et α i = β i = 1 pour toutes les tâches i = 1,..., n est NPdifficile [51, 43]. Dans la section du chapitre 2 de cette thèse, nous avons inclus la preuve de Hoogeveen et van de Velde [51] qui garantit que le problème 1 d i = d r i w i C i d i est NP-difficile. Nous présentons en premier le problème à partir duquel la réduction de 1 d i = d r i C i d r est faite. Partition paire-impaire ( Even-odd partition, Garey et al. [33]) : Étant donné un ensemble de 2n entiers positifs, B = {b 1, b 2,..., b 2n } tel que b i > b i+1 pour chaque i = 1,...,2n 1, existe-t-il une partition de B en deux sous-ensembles B 1 et B 2 tels que b i B 1 b i = b i B 2 b i = A (i. e., A = b i /2) et tel que B 1 contient exactement un des entiers { b 2i 1, b 2i } pour chaque i = 1,..., n? Dans la preuve que proposent Hoogeveen et van de Velde [51], l instance suivante I du problème 1 d i = d r i C i d r est construite à partir de l instance de partition paire-impaire. Instance I : Un ensemble de 2n tâches J 1,..., J 2n avec temps d exécution p i = b i + na pour chaque i = 1,...,2n, une tâche J 0 avec p 0 = 3(n 2 + 1)A et une date d échéance commune restrictive d r = (n 2 + 1)A. Existe-t-il un ordonnancement de ces tâches tel que son coût est inférieur ou égal à y 0 = n i=1 [(i + 1)(p 2i 1 + p 2i )] + d r? Lemme 3.3 ([51]) Les énoncés suivants sont équivalents : Yasmin A. Ríos Solís

51 3.3. Complexité du problème de recherche dans le voisinage Il existe une solution au problème de partition paire-impaire. 2. Il existe une partition de tâches J 1,..., J 2n définies dans l instance I en sous-ensembles B 1 = {J 11, J 21,..., J n1 } et B 2 = {J 12, J 22,..., J n2 } où {J i1, J i2 } = {J 2i 1, J 2i } pour chaque i = 1,..., n. 3. Il existe un ordonnancement avec coût inférieur ou égal à y 0 pour l instance I. Dans le Lemme 3.3, l ordonnancement de coût inférieur ou égal à y 0 a la forme suivante. Les tâches correspondantes à l ensemble de partition B 1 sont ordonnancées à partir du temps 0 jusqu à l instant d r dans l ordre non-décroisant des ratios 1/p i. Après sont ordonnancées à partir du temps d r jusqu à 2d r les tâches correspondantes à l ensemble B 2 dans l ordre non-croisant des ratios 1/p i. Et finalement, la date de début d exécution de la tâche J 0 est 2d r. Nous appellerons cet ordonnancement S(B 1, B 2 ). La figure 3.7 de [51], schématise cet ordonnancement. B 1 B 2 J 0 0 d 2d 5d Fig. 3.7 L ordonnancement S(B 1, B 2 ). Nous prouvons maintenant la complexité du problème P. Pour une instance arbitraire du problème de partition paire-impaire, on construit l instance suivante de P. Instance I : Construire l ensemble de tâches J 1,..., J 2n et la tâche J 0 avec les mêmes temps d exécution et la même date d échéance commune comme dans l instance I. Nous gardons aussi la même borne sur le coût de l ordonnancement, y 0, comme dans I. L ordonnancement initial S INI est défini comme suit. Soit J k la tâche telle que k 1 i=1 p i d r et k i=1 p i > d r. L ordonnancement en V S INI est tel que S INIE = {J 1,..., J k 1 } et S INIT = {J k,..., J 2n, J 0 }. L ordre des tâches dans S INI est J 1,..., J k 1, J 2n,..., J k, J 0. Nous observons que dans S INI le nombre de tâches en avance et de tâches en retard est normalement différent (i. e., k n), que la date de début de la première tâche en avance n est pas nécessairement le temps 0 et qu il n y a pas de tâche qui commence avant et finit après la date d échéance commune. Lemme 3.4 Il existe une partition des tâches J 1,..., J 2n en deux sous-ensembles B 1 = {J 11, J 21,..., J n1 } et B 2 = {J 12, J 22,..., J n2 } où {J i1, J i2 } = {J 2i 1, J 2i } pour chaque i = 1,..., n, si et seulement si il existe un ordonnancement dans le voisinage V 1 (S INI ) tel que la somme des temps d exécution des tâches en avance est égal à d r et tel que son coût est inférieur ou égal à y 0.

52 52 Chapitre 3. Voisinage exponentiel : cas à une seule machine Preuve. Nous prouvons que l ordonnancement S(B 1, B 2 ) appartient au voisinage V 1 (S INI ). On doit vérifier qu il existe un ensemble de mouvements ET/TE indépendants qui appliqués à S INI donnent S(B 1, B 2 ). Noter que pour i > i (i 0) les ratios des tâches sont dans l ordre suivant : 1/p 0 < 1/p 2i 1 < 1/p 2i < 1/p 2i 1 < 1/p 2i. Comme il existe un partition des tâches J 1,..., J 2n en deux sous-ensembles B 1 et B 2, une des tâches de la paire {J 2i 1, J 2i } est placée en avance et l autre en retard (i = 1,..., n). Soit i tel que {J 2i 1, J 2i } sont deux tâches en avance dans S INI. Alors, les positions de ces tâches parmi celles en retard se trouve après la paire de tâches {J 2n 1, J 2n } et avant la tâche J 0. Inversement, pour une paire de tâches en retard {J 2i 1, J 2i }, leur position parmi les tâches en avance est devant toutes ces tâches. Si k est impaire alors on se trouve dans une des situations que l on vient de décrire. Si k est paire, alors la tâche J 2k 1 en avance et la tâche J 2k en retard dans S INI. Ces tâches peuvent aussi être déplacées de façon indépendante puisque R(J 2k 1 ) = 2n, c est-à-dire, avant la tâche J 0 et R(J 2k ) = 0, c est-à-dire, avant toutes les tâches placées en avance. Ceci implique des mouvements indépendants et donc S(B 1, B 2 ) V 1 (S INI ). En plus il a un coût inférieur ou égal à y 0. La réciproque de cette preuve est assez directe. Exemple pour la preuve du Lemme 3.4 S INI J 1 J 2 J 3 J 8 J 7 J 6 J 5 J 4 J 0 0 d 2d J 1 J 3 J 8 J 7 J 6 J 5 J 4 J 2 J 0 J 1 J 8 J 7 J 6 J 5 J 4 J 3 J 2 J 0 J 1 J 4 J 8 J 7 J 6 J 5 J 3 J 2 J 0 J 1 J 4 J 6 J 8 J 7 J 5 J 3 J 2 J 0 S(B 1, B 2 ) J 1 J 4 J 6 J 8 J 7 J 5 J 3 J 2 J 0 0 d 2d 5d Fig. 3.8 L ordonnancement S(B 1, B 2 ) V 1 (S INI ) pour une instance à huit tâches. Yasmin A. Ríos Solís

53 3.4. Conclusions 53 Soit une instance du problème de partition paire-impaire avec n = 4, B = {19, 13, 10, 7, 5, 3, 2, 1}, A = 30 et une solution B 1 = {19, 7, 3, 1}, B 2 = {13, 10, 5, 2}. L instance I correspondante à ce problème de partition paire-impaire est : J 1 avec p 1 = 139, J 2 avec p 2 = 133, J 3 avec p 3 = 130, J 4 avec p 4 = 127, J 5 avec p 5 = 125, J 6 avec p 6 = 123, J 7 avec p 7 = 122, J 8 avec p 8 = 121, J 0 avec p 0 = 1530, y 0 = 4032 et l ordonnancement en V S INI qui a comme tâches en avance J 1, J 2 et J 3 et comme tâches en retard J 8, J 7, J 6, J 5, J 4 et J 0. La date d échéance commune restrictive est d r = 510. Dans la figure 3.8 est représenté l ordonnancement S INI et les mouvements indépendants des tâches qui vérifient que S(B 1, B 2 ) V 1 (S INI ) (pour des raisons de présentation, la tâche J 0 est dans une différente échelle dans la figure). Nous pouvons vérifier dans la figure et par le calcul que les mouvements ET(J 2 ), ET(J 3 ), TE(J 4 ), TE(J 6 ) et TE(J 8 ) sont indépendants entre eux. A partir de l ordonnancement S INI, en réalisant ces mouvements de tâches on obtient l ordonnancement S(B 1, B 2 ). Donc, nous avons bien que S(B 1, B 2 ) V 1 (S INI ). 3.4 Conclusions Nous avons traité le problème d ordonnancement avec pénalités d avance-retard sur les tâches et une date d échéance commune restrictive : 1 d i = d r i α ie i + β i T i. Nous avons défini pour ce problème, qui est conjecturé NP-difficile au sens fort, un voisinage de taille exponentielle basé sur des déplacements indépendants de tâches. Nous avons proposé un algorithme de programmation dynamique pour trouver l ordonnancement à coût minimal dans ce voisinage. En plus, nous avons prouvé que la recherche du meilleur voisin est un problème NP-difficile. Le chapitre 4 présente un voisinage exponentiel mais pour le problème d ordonnancement à machines parallèles P d i = d r i α ie i + β i T i. Il est basé en partie, sur le voisinage exponentiel à une machine que nous avons défini dans ce chapitre. Dans la section 4.3 du chapitre suivant, les résultats expérimentaux de la recherche locale du voisinage pour le problème à une machine et pour celui à machines parallèles seront présentés ensemble. Ils permettront de conclure que cette méthode de recherche dans des voisinages exponentiels est très intéressante par la qualité des solutions trouvées malgré la complexité pseudo-polynomiale des algorithmes.

54

55 Chapitre 4 Voisinage exponentiel pour un problème d ordonnancement sur machines parallèles Nous considérons le problème d ordonnancement d avance-retard sur machines parallèles et une date d échéance commune restrictive. Trouver l ordonnancement de coût minimal est un problème NP-difficile au sens fort. Dans ce chapitre, nous définissons un voisinage de taille exponentielle (basé en partie sur le voisinage à une machine) et proposons un algorithme pseudo-polynomial qui permet de trouver le meilleur ordonnancement dans ce voisinage. Nous présentons aussi des résultats expérimentaux qui montrent la qualité des bornes obtenues avec cette méthode. 4.1 Introduction Nous avons étudié dans le chapitre 3 le problème d ordonnancement d avanceretard sur une seule machine avec une date d échéance commune restrictive. Puisque le voisinage exponentiel proposé pour le cas à une seule machine n est pas immédiatement adaptable au cas à machines parallèles, dans ce chapitre, nous définissons un voisinage spécifique pour ce cas ainsi que son correspondant algorithme de recherche. Le problème d ordonnancement à machines parallèles auquel on s intéresse dans ce chapitre, P d i = d r i α ie i + β i T i, hérite du problème P i w ic i la caractéristique d être NP-difficile au sens fort (Brucker [14], p.152). La façon que nous avons choisie pour trouver une solution à ce problème est la même que dans le cas à une machine du chapitre 3 : un algorithme d exploration d un voisinage de taille exponentielle. Dans la 55

56 56 Chapitre 4. Voisinage exponentiel : cas à machines parallèles section 2.3 du chapitre 2 est présenté explicitement le problème P d i = d r i α ie i + β i T i, ainsi qu un état-de-l art et quelques propriétés. Notre travail Dans ce chapitre, nous définissons un voisinage pour le problème P d i = d r i α ie i + β i T i en vue de proposer un algorithme de recherche locale. Le voisinage est dit exponentiel car le nombre de voisins d un ordonnancement donné peut être exponentiel. Il est basé sur des déplacements de tâches et de façon similaire au Dynasearch [23], la définition de ce voisinage repose sur plusieurs échanges indépendants des tâches. Nous présentons un algorithme pseudo-polynomial qui permet de trouver l ordonnancement du voisinage exponentiel à moindre coût. Ce voisinage est intéressant car ce problème avec date d échéance restrictive P d i = d r i α ie i + β i T i est NP-difficile au sens fort et donc il n existe pas d algorithme pseudo-polynomial pour le résoudre de façon exacte. Ci-dessous, nous rappelons les principales propriétés des solutions dominantes du problème P d i = d r i α ie i +β i T i. Le voisinage exponentiel ainsi que l algorithme qui permet de trouver l ordonnancement de coût minimal dans ce voisinage sont présentés dans la section 4.2. Finalement, des résultats expérimentaux, pour le cas à une machine et machines parallèles, sont analysés dans la section 4.3. Propriétés des ordonnancements dominants Comme dans le cas à une machine, la classe d ordonnancements dominants du problème P d i = d r i α ie i + β i T i sont des ordonnancement en V. Grâce aux propriétés de ces ordonnancement, énoncés dans la section du chapitre 2 et que nous rappelons ci-dessous, l espace des solutions est limité de façon importante. Le voisinage que nous allons définir dans la section suivante n est composé que par des ordonnancements en V. Propriété 2.7 : Dans un ordonnancement optimal il n y a pas de temps mort entre deux exécutions de tâches. Propriété 2.8 : Il existe un ordonnancement optimal tel que dans chaque machine, soit une tâche est terminée exactement à la date d échéance d r ou soit la date de début de la première tâche sur cette machine commence à l instant 0. Propriété 2.9 :Dans un ordonnancement optimal, dans chaque machine M j, les tâches qui finissent avant d r sont ordonnées dans l ordre non décroissant des ratios α i /p i, et les tâches qui commencent après la date d échéance sont ordonnées dans l ordre non croissant des ratios β i /p i. Ces propriétés impliquent que, sur n importe quelle machine, il peut y avoir une tâche pont qui n a pas nécessairement un des plus grand ratios α i /p i ou β i /p i. De plus, Yasmin A. Ríos Solís

57 4.2. Définition et exploration du voisinage exponentiel 57 un ordonnancement en V est déterminé par 2m ensembles de tâches : m ensembles qui contiennent les tâches qui commencent avant la date d échéance d r de chaque machine M j dénotés S j E et m ensembles qui contiennent les tâches qui commencent après dr de chaque machine M j, notés S j T (j = 1,..., m). On remarque que nous avons défini une partition de l ensemble des tâches : J = m S j E Sj T. j=1 S 1 E M 1 s S 1 T M 2 S 2 E S 2 T 0 d r i M 1 p i Fig. 4.1 Ordonnancement en V pour une instance à deux machines. La figure 4.1 illustre un exemple d un ordonnancement en V pour une instance à deux machines. Dans la machine M 1 il existe la tâche pont s. Alors la première tâche de l ensemble des tâches en avance de cette machines, S j E, commence à l instant 0. Dans la machine M 2, la date de fin d une des tâches dans S j T coïncide avec la date d échéance restrictive d r et donc il n existe pas de tâche pont sur cette machine. 4.2 Définition et exploration du voisinage exponentiel Dans cette section nous définissons un voisinage de taille exponentielle pour le problème à machines parallèles avec une date d échéance restrictive et des pénalités d avance et de retard sur les tâches noté P d i = d r i α ie i + β i T i. Le voisinage d un ordonnancement donné S, noté V (S), correspond à l union des voisinages que nous présenterons ci-dessous. Pour simplifier la notation dans ce chapitre, à partir de maintenant d r = d Voisinage V jj T (S) Un ordonnancement S est un T jj -voisin de S si les tâches en retard de la machine M j et les tâches en retard de la machine M j sont réarrangées (ou réaffectées). Toutes les tâches en avance de S k E et de S k E et toutes les tâches en retard de S h T sont dans le même ordre pour tout k (1 k m) et de S h T pour tout h (1 h m) tel que h j

58 58 Chapitre 4. Voisinage exponentiel : cas à machines parallèles et h j sont également dans le même ordre. L ensemble V jj T (S) contient tous les T jj -voisins de S. La façon optimale de réarranger les tâches de l ensemble S j T Sj T est similaire à résoudre le problème avec seulement deux machines et où l objectif est de minimiser la somme pondérée des temps de fin, P2 β i S j i C i, avec la contrainte additionnelle que les tâches qui commencent après d ordonnancées sur M j (resp. M j ) T Sj T commencent à l instant max(d, i S j p i ) (resp. max(d, p E i S j i )). Ce dernier problème E est NP-difficile mais pas au sens fort : il peut être donc résolu par une adaptation de l algorithme pseudo-polynomial de Bruno et al. [16]. Pour obtenir les valeurs des T jj -voisins de S on ordonne et renomme les tâches dans S j T Sj T de manière que β 1/p 1 β 2 /p 2... β n jj /p T n jj où n jj T = Sj T Sj T. Nous T présentons maintenant le programme dynamique qui permet de trouver ces voisins. Soit χ(i, t) le coût de l ordonnancement où seulement les tâches 1,..., i ont été placées sur la machine M j à partir du temps max(d, h S j p h ) ou sur la machine M j à partir du E temps max(0, p h S j h ) tel que sur la machine M j l intervalle [max(d, h S j p h ), t] E E est affecté à l exécution des tâches. Pour t [max(d, h S j p h ), p E h S j h ] et T Sj T i = 1,..., n jj T = Sj T Sj T la formule de récurrence de la fonction χ s écrit comme suit. χ(i, t) = min χ(i 1, t p i ) + β i (t d) si t p i max(d, h S j p h ), E χ(i 1, t) + β i (max(0, p h S j h ) + ) i h=1 p h t d E si max(0, p h S j h ) + i h=1 p h t d. E (4.1) Avec cet algorithme de programmation ( dynamique, le meilleur ordonnancement de V jj T (S) peut être déterminé en O ) n jj T p i de temps Voisinage V jj E (S) i S j T Sj T L ordonnancement S est un E jj -voisin de S si les tâches de S j E et les tâches de S j E sont réarrangées. En plus, dans un Ejj -voisin toutes les tâches doivent commencer à ou après le temps 0 et il se peut qu il existe une tâche pont dans la machine M j ou dans la machine M j. Il faut noter que les tâches de S T k (resp. S h E ) restent dans la même position que dans ST k (resp. Sh E ) pour k, h = 1,..., m (resp. h j et h j ). Le voisinage qui contient tous les E jj -voisins de S est V jj E (S). On peut distinguer trois différents types de E jj -voisins. Le premier type correspond à un voisin où il n y a pas de tâche pont ni sur la machine M j ni sur la machine M j. Trouver les valeurs de ce type de E jj -voisin peut se faire avec une adaptation de la résolution de manière exacte du problème P2 α i S j i S i, où S i est la date de E Sj E début de la tâche i. Il faut prendre en compte que la capacité de chacune de ces deux machines parallèles est contrainte par la date d échéance commune. Pour obtenir les Yasmin A. Ríos Solís

59 4.2. Définition et exploration du voisinage exponentiel 59 valeurs de ces voisins on ordonne et renomme les tâches dans S j E Sj E de manière que α 1 /p 1 α 2 /p 2... α n jj /p E n jj. Soit P i = i p E k=1;k S j k et soit ϕ(i, t) le coût de E Sj E l ordonnancement où seulement les tâches 1,..., i sont placées sur la machine M j ou sur la machine M j et tel que l intervalle [d t, d] de la machine M j est déjà affecté à l exécution de tâches. La récurrence suivante de la fonction ϕ(i, t) ordonne les tâches i S j E Sj E pour t = d,...,0 : ϕ(i 1, t + p i ) + α i (d t p i ) si t + p i d, ϕ(i, t) = min ϕ(i 1, t) + α i (2d P i 1 t) si 2d P i 1 t 0, sinon. (4.2) Les cas limites de cette récurrence sont ϕ(0, d) = 0 et ϕ(0, t) = pour tout t < d. Il faut considérer le bénéfice suivant qui correspond à décaler vers d les tâches en retard des machines M j et M j : max 0, p i d i S j E i S j T β i + max 0, p i d i S j E i S j T β i = D j B j + D j B j. Donc, à toutes ( les valeurs ϕ(n jj E, t) ) on doit leur enlever la valeur précédente. Ainsi, min t ϕ(n jj E, t) (Dj B j + D j B j ) correspond au meilleur E jj -voisin de S tel qu il n existe pas de tâche pont. Calculer les valeurs de ce type d ordonnancement peut ) se faire en O (n jj E p i S j i de temps où n jj E Sj E = Sj E Sj E. E Le second type de E jj -voisin a une tâche pont dans chacune des machines M j et M j. Pour obtenir les valeurs de ces ordonnancements on ordonne et renomme, comme précédemment, les tâches dans S j E Sj E de manière que α 1/p 1 α 2 /p 2... α n jj /p E n jj. L idée est de déterminer la meilleure paire de tâches pont. Pour cela, on E sélectionne une paire de tâches (s l, s l ) de S j E Sj E dynamique (4.3) que nous présentons après, arrange le reste des tâches (. Ensuite, par la programmation jj J E (l, l ) = S j E Sj E sl s l ) de telle sorte que les ordonnancements des machines M j et M j commencent à l instant 0. Finalement, on additionne les coûts de mettre la tâche pont s l sur M j et s l sur M j, et vice versa. Soit P i = i k=1;k J E (j,j ) p k et soit ϕ(i, t) le coût de l ordonnancement où seulement les tâches 1,..., i (à l exclusion des tâches s l et s l ) sont placées et tel que l intervalle [0, t] de la machine M j est déjà affecté à l exécution de tâches. Pour chaque paire (s l, s l ), la récurrence suivante ordonne les jj tâches i J E (l, l ) pour t = 0,..., d 1 : ϕ(i, t) = min { ϕ(i 1, t p i ) + α i (d t) si t p i 0, ϕ(i 1, t) + α i (d P i + t) si P i t < d. (4.3)

60 60 Chapitre 4. Voisinage exponentiel : cas à machines parallèles Initialement nous mettons ϕ(0, 0) = 0 et ϕ(0, t) = pour tout t > 0. Nous remarquons que des coûts additionnels surgissent quand les tâches en retard des machines M j et M j sont décalés pour laisser de la place pour les tâches pont (s l, s l ). Ces coûts additionnels peuvent s écrire comme suit. max 0, p i d i S j E i S j T β i + max 0, p i d i S j E i S j T β i = D j B j + D j B j. Alors, le coût des deux ordonnancements en avance des machines M j et M j réordonnées et avec la tâche pont s l sur M j et la tâche s l sur M j est min t [d ps l,d) Cost t (s l, s l ) + D j B j + D j B j Cost t (s l, s l ) = sinon. où ϕ(n jj E 2, t) + β s l(t + p s l d) + β s l (P t + p n jj s l d) E t + p s l si t + p s l d et P n jj E Le troisième type de E jj -voisin est tel qu il existe une seule tâche pont sur la machine M j ou sur M j. La programmation dynamique (4.3) peut être adaptée pour ce cas en tenant en compte que dans la machine où il n y a pas de tâche pont il doit exister une tâche qui finit exactement à l instant d. Le meilleur voisin dans V jj E les trois types d ordonnancement) peut être calculé en O(n jj E nj E nj E de temps Voisinage V jj ET (S) (S) (qui contient p i ) i S j E Sj E Le voisinage V jj ET (S) est basé sur celui à une machines V ET(S) décrit dans la section 3.2. Un ordonnancement S V jj ET (S) est tel qu il existe un ensemble d opérations indépendantes ET/TE (entre les tâches en avance de la machine M j et les tâches en retard de la machine M j ) tel que appliqués à S donnent S. Noter que dans un tel ordonnancements, les autres tâches restent dans les mêmes positions et dans les mêmes machines que dans l ordonnancement S. Contrairement aux voisinages V jj E (S) et (S), il est conjecturé qu il n existe pas d algorithme pseudo-polynomial qui puisse V jj T être adapté au cas où les tâches en avance d une machine sont réarrangés avec les tâches en retard d une autre (cela correspondrait à avoir un algorithme pseudo-polynomial pour le cas à une machine avec une date d échéance commune, 1 d i = d r i α ie i +β i T i, qui est conjecturé NP-difficile au sens fort [66]). Déterminer les valeurs des ordonnancements dans V jj ET (S) peut être fait de manière similaire à V ET (S) pour le cas à une machines. Les n j E tâches de Sj E de la machine Mj sont renommés E n j,, E 2, E 1 tandis que les n j T tâches en retard de la machine Mj E Yasmin A. Ríos Solís

61 4.2. Définition et exploration du voisinage exponentiel 61 sont renommées T 1, T 2,, T n j. Premièrement, on détermine les ordonnancements tels T que la date de fin d une tâche dans S j E Sj T coïncide avec la date d échéance commune d dans la machine M j. Pour cela, nous utilisons une adaptation de la programmation dynamique (3.1) de la section 3.2 du chapitre 3. De cette façon nous générons les ordonnancements que l on nomme 1 jj -voisins de S. Après, nous déterminons les ordonnancement qui ont une tâche pont sur la machine M j. Ces ordonnancements sont déterminés par une adaptation de la programmation dynamique (3.2) de la section 3.2 du chapitre 3. Ces ordonnancements sont nommés comme 2 jj -voisins de S. M j M j M j S j E S j T d (3.1) (3.2) D j B j D j d D j B j D j d Fig. 4.2 Exemple d un 1 jj voisin et d un 2 jj -voisin de S. L adaptation des programmes dynamiques (3.1) et (3.2) doit considérer les possibles décalages causés par les tâches pont sur les machines M j et M j. Pour expliquer ces coûts additionnels qu on doit prendre en compte quand on détermine tous les 1 jj 2 jj -voisins, nous nous nous aidons de l exemple de la figure 4.2. Dans la partie de gauche de cette figure sont représentés les machines M j, M j et M j d un certain ordonnancement en V noté S. On remarque que des opérations ET/TE peuvent être seulement effectuées sur les ensembles de tâches S j E et Sj T. Le reste des tâches dans S, celles qui sont dans les blocs hachurés qui correspondent à S j T, Sj E, Sj E et Sj T, restent dans la même machine et dans le même ordre que dans S. La partie de droite en haut de la figure est obtenue quand la programmation dynamique (3.1) est appliquée aux ensembles S j E et Sj T pour obtenir le meilleur 1jj - voisin de S. Il faut noter que cette récurrence (3.1) prends en compte que la première tâche en retard de la machine M j commence à l instant d + D j. À toutes les valeurs et

62 62 Chapitre 4. Voisinage exponentiel : cas à machines parallèles δ(n j E, nj T, ) on leur soustrait le décalage vers la date d échéance commune des tâches de l ensemble S j T, qui correspond à la valeur Dj B j, parce qu il n y a plus de tâche pont après cette programmation ( dynamique. En conséquence, le meilleur 1 jj - voisin de S est min Σ(S) δ(n j E, nj T, ) + Dj B ). j L ordonnancement de la figure 4.2 qui se trouve dans la partie droite en bas correspond à un 2 jj -voisin de S. Il est obtenu en appliquant l adaptation de la programmation dynamique (3.2) aux tâches qui se trouvent dans S j E et dans Sj T. Ainsi, les tâches en avance de la machine M j commencent à l instant 0 dans l ordonnancement S et il peut y avoir une tâche pont sur cette machine. Et sur la machine M j les tâches en retard doivent commencer à l instant d+d j. L adaptation de la relation de récursivité (3.2) qu on nomme γ(i, i, t) peut être écrite pour n j E + 1 i > 0, nj T + 1 i > 0 et 0 t < d + max h S j p h comme γ(i, i, t) = : E Sj T γ(i + 1, i, t p E i ) + αe i (d t) si t pe i 0, t d, γ(i + 1, i, t) + β E i (t + P(i, i 1) d) si t + P(i, i 1) > d et t + P(i + 1, i 1) < d, γ(i, i + 1, t)+ βi (t T + P(i 1, i ) d D j ) si t + P(i 1, i ) > d, min γ(i, i + 1, t) + βi T ( t + p T i d ) si t < d et t + p T i > d, γ(i + 1, ( i, t)+ t + P(i, i ) d D j ) p E i βt i si i = R(i) et t + P(i, i ) d, β E i γ(i, i + 1, t p T i )+ α E i ( d t + p E i ) p T i α E i si L(i ) = i et d t + p E i 0. (4.4) ( Les tâches dans S j T sont décalées et induisent un coût égal à max 0, ) i S j p i d E B j, qui est additionné à toutes les valeurs γ(1, 1, t) ( t). En conséquence, le meilleur 2 jj -voisin de S est min t ( γ(1, 1, t) + D j B j). Finalement, l ordonnancement à coût minimal) dans le voisinage V jj ET (S) a une valeur min (min Σ(S) (δ(n j E, nj T, ) + Dj B j (, min t γ(1, 1, t) + D j B j)) Le voisinage exponentiel pour le cas à machines parallèles Le voisinage exponentiel pour un ordonnancement à machines parallèles S est l union des voisinages que nous avons présentés dans la section précédente : V (S) = j<j (V jj T ) jj (S) VE (S) j j V jj ET (S) pour j, j = 1,..., m. La recherche dans le voisinage exponentiel commence avec un ordonnancement en V réalisable S. Ensuite le voisinage de cet ordonnancement, V (S), doit être déterminé. La valeur minimum de V (S) correspond au voisin de S à coût minimal. S il a un coût Yasmin A. Ríos Solís

63 4.3. Résultats expérimentaux 63 inférieur à celui de S alors une nouvelle itération doit être réalisée. Sinon, l ordonnancement courant est un minimum local. Nous appelons cet algorithme EXPN. Lemme 4.1 Explorer le voisinage de taille exponentielle V (S) d un ordonnancement S peut être fait en temps pseudo polynomial. Preuve. Calculer les opérations ET et TE prends O(n) de temps. Soit P E = max j p i et P T = max j p i. De façon similaire, soit S E = max j S j E et i S j E i S j T S T = max j S j T. Pour le voisinage V E 2, il y a m(m 1)/2 paires à explorer et au plus 4 S E 2 P E étapes de récurrence. De façon similaire, pour V2 T, il y a m(m 1)/2 paires et au plus 4 S T 2 P T étapes. Pour V 1, il y a m 2 paires et 2 S E S T (P E + P T ) étapes de récurrence. Soit P = max(p E, P T ) et S = max( S E, S T ), alors explorer le grand voisinage de S peut se faire en O(nm 2 S 2 P). Corollaire 4.2 Trouver le meilleur ordonnancement dans le voisinage exponentiel V (S) d un ordonnancement donné S est un problème NP-difficile au sens faible. Preuve. Le voisinage V (S) est le résultat de l union de plusieurs voisinages de S. En particulier, déterminer le meilleur voisin dans le voisinage V jj ET (S) pour une paire de machines M j et M j est un problème NP-difficile car la recherche dans le voisinage V ET (S) pour le cas à une seule machine est déjà un problème NP-difficile (voir la section 3.3 du chapitre 3). Donc, déterminer la solution avec plus petit coût de l ensemble V (S) est NP-difficile. 4.3 Résultats expérimentaux L objectif de cette section est de tester la qualité et l efficacité des solutions obtenues par la recherche du voisinage exponentiel que nous avons présenté dans les sections précédentes Instances Nous considérons deux types d instances dans ce travail : SPT (pour Short Processing Times en anglais) et LPT (pour Long Processing Times en anglais). Leur principale différence est la taille des temps d exécution des tâches. Classe SPT : elle contient les instances que Biskup et Feldmann [9] ont généré pour tester des heuristiques pour le problème à une machine 1 d i = d r i α ie i +β i T i. Ces instances peuvent être trouvées dans OR-Library qui est une collection d instances pour des problèmes de recherche opérationnelle (J. E. Beasley web page, http ://people.brunel.ac.uk/ mastjjb/jeb/orlib/schinfo.html). Les temps d exécution des tâches p i sont uniformément tirés de l intervalle [0, 20], les

64 64 Chapitre 4. Voisinage exponentiel : cas à machines parallèles pénalités d avance α i de [0, 10] et les pénalités de retard β i de [0, 15]. Cette classe contient aussi des instances générées aléatoirement telles que p i, α i et β i sont tirés de la distribution uniforme [1, 20]. Nous prenons en compte des instances avec 10, 20, 50, 100 et 200 tâches et un facteur restrictif de la date d échéance h égal à 0.2, 0.4 et 0.6. Le nombre de machines est de 1, 2, 4, 6 et 8. Nous avons ainsi testé 1200 instances différentes de cette classe. Classe LPT : elle contient les instances générées aléatoirement comme le proposent van den Akker et al. [108]. Un tiers des instances sont telles que p i, α i et β i sont tirées de la distribution uniforme [1, 100]. La second tiers est tel que les temps d exécution p i sont tirés de la distribution uniforme [10, 100], les pénalités α i et β i de [p i 5, p i + 5]. De cette façon nous avons des instances qui sont fortement corrélées car les ratios α i /p i et β i /p i sont très près de 1. Le reste des instances sont telles que p i, α i et β i sont tirées de la distribution uniforme [90, 100]. Nous avons généré de cette façon instances avec 10, 20, 50, 100, 125 et 150 tâches. Nous avons pris en compte les trois facteurs restrictifs h pour la date d échéance commune : 0.2, 0.4 et 0.6, et le nombre de machines est 1, 2, 4,6 et 8. Nous avons testé près de 3000 instances différentes de cette classe. Nous avons généré des instances aléatoirement telles que p i, α i et β i sont tirées de la distribution uniforme [1, 100]. La date d échéance restrictive commune est calculée comme suit : d = h i J p i/m. Comme nous avons proposé un algorithme pseudo-polynomial, les instances de la classe LPT sont très intéressantes pour évaluer la performance de l algorithme EXPN Algorithmes EXPN, HEUR et LAGRES L algorithme de programmation dynamique que nous avons présenté pour l exploration du voisinage de taille exponentielle a été codé en C++, et les tests ont été effectués sur un Pentium IV avec un processeur de 2.6 GHz et 0.98 Go de RAM. En vue d avoir un point de comparaison pour nous résultats expérimentaux, nous utilisons une relaxation linéaire des contraintes de ressources proposée par Kedad- Sidhoum et al. [57]. Cette borne inférieure, notée comme LAGRES, a l avantage de donner des assez bons résultats en peu de temps. Elle a été calculée pour les deux classes, jusqu au instances avec 100 tâches et son temps d exécution a été borné à 600 secondes. Nous comparons aussi nos résultats avec une solution obtenue par une heuristique assez effective [57], que nous appelons HEUR, qui est composée par les mouvements suivants. Job-swap : deux tâches sont sélectionnées sur la même ou une différente machine et échangent leur positions. Yasmin A. Ríos Solís

65 4.3. Résultats expérimentaux 65 Extract and reinsert : une tâche est élue et insérée dans n importe quelle autre position. List-crossover : deux machines sont sélectionnées, par exemple M j et M j, et aussi deux positions i et i. L ordonnancement de la machine M j est modifié en mettant dans ses premières i tâches suivies des tâches qui sont après la position i de la machine M j. L inverse est fait pour M j. Soit EXPN la solution obtenue par notre méthode de recherche dans le voisinage exponentiel. Alors, le pourcentage de la différence entre notre borne supérieure EXPN et la borne inférieure LAGRES (resp. HEUR) est 100 EXPN LAGRES /LAGRES (resp. 100 EXPN HEUR /HEUR). Après avoir testé plusieurs ordonnancement initiaux pour EXPN et HEUR, nous avons finalement utilisé une heuristique simple pour les résultats expérimentaux. Elle est basé sur l idée de positionner en avance les tâches qui ont une pénalité de retard grande par rapport à leur pénalité d avance. Basés sur ce critère, au plus la moitié du nombre total de tâches sont placés en avance et les autres sont placées en retard de manière qu il n y ait sur aucune machine une tâche pont de façon à vérifier les propriétés 2.7, 2.8 et 2.9. L affectation des tâches aux machines est faite de façon uniforme. Cette heuristique a une complexité de O(nlogn) de temps. A partir de cet ordonnancement initial la recherche exponentielle EXPN et l heuristique un peu plus simple HEUR sont commencées. L algorithme de recherche EXPN est gourmand en temps à cause de sa complexité pseudo-polynomiale. Des résultat expérimentaux préliminaires ont montré que l intervalle I du paramètre pseudo polynomial peut être réduit sans modifier les résultats obtenus mais en réduisant le temps de calcul. Dans cette thèse, nous avons réduit ce paramètre I de 40% Comparaison des instances à machines parallèles Le Tableau 4.1 (resp. Tableau 4.2) récapitulent les résultats expérimentaux pour la recherche dans le voisinage exponentiel EXPN pour les instances de la classe LPT (resp. SPT). En haut des Tableaux 4.1 et 4.2 est indiqué le facteur restrictif de la date d échéance commune h. La première colonne correspond au nombre de tâches et la deuxième est le nombre de machines. T-EN est le temps moyen CPU en secondes pris par l algorithme EXPN, IT est le nombre d itérations qu en moyenne cet algorithme effectue, %D est le pourcentage moyen de la différence entre la solution obtenue par EXPN et celle obtenue par HEUR et T-H est le temps moyen que prend l heuristique HEUR. Les instances avec h = 0.2 sont celles qui ont la date d échéance la plus restrictive alors, le nombre de tâches en avance est plus petit que le nombre de tâches en retard. Donc, le temps CPU de ces instances est inférieur à celui des instances à facteurs

66 66 Chapitre 4. Voisinage exponentiel : cas à machines parallèles h = 0.2 h = 0.4 h = 0.6 n m T-EN IT %D T-H T-EN IT %D T-H T-EN IT %D T-H Tab. 4.1 Résultats pour les instances de la classe LPT. restrictifs h = 0.4 ou h = 0.6. Nous remarquons aussi que le nombre moyen d itérations de l algorithme EXPN est indépendant du facteur restrictif de la date d échéance h. Une autre observation est que le temps de calcul CPU est plus long quand le nombre de machines est petit car les paramètres pseudo polynomiaux deviennent grands. Les algorithmes EXPN et HEUR commencent partir du même ordonnancement initial, les voisinages qu ils explorent sont différents et donc les valeurs qu ils obtiennent le sont aussi. La qualité moyenne des valeurs obtenues par EXPN (colonnes %D du Tableau 4.1) est meilleure que les valeur données par HEUR. Néanmoins, il existe quelques instances où la solution obtenue par EXPN n a pas un coût inférieur ou égal à celle donnée par HEUR. Ce phénomène apparait quand le nombre de tâches est petit et quand le nombre de machines est grand. Comme EXPN ne fait de mouvement qu entre une paire de tâches (par exemple, S j E avec Sj T ), alors quelques mouvements qui mènent à une meilleure solution ne peuvent pas être exécutés autour de la date d échéance commune alors que pour HEUR ils sont possibles. Quand le nombre de tâches augmente, ce phénomène disparait. Le Tableau 4.2 récapitule les résultats expérimentaux de l algorithme de recherche du voisinage exponentiel EXPN pour les instances de la classe SPT. Nous pouvons observer de nouveau que les instances avec peut de machines sont celles qui prennent le plus de temps CPU parce que ces paramètres pseudo-polynomiaux sont plus grands. Les instances de la classe SPT sont plus faciles pour l algorithme EXPN parce que les Yasmin A. Ríos Solís

67 4.3. Résultats expérimentaux 67 h = 0.2 h = 0.4 h = 0.6 n m T-EN IT %D T-H T-EN IT %D T-H T-EN IT %D T-H Tab. 4.2 Résultats pour les instances de la classe SPT. temps d exécution des tâches sont petits. Donc, les paramètres pseudo-polynomiaux le sont aussi et l algorithme EXPN a besoin de moins de temps pour s exécuter. On remarque que le nombre moyen d itérations (colonnes IT) décroît quand le facteur restrictif de la date d échéance décroît aussi et qu il est plus petit par rapport aux instances de la classe LPT. Il existe quelques instances où la valeur donnée par l heuristique HEUR est meilleure que celle donnée par EXPN, les raisons sont les mêmes que pour la classe LPT. h = 0.2 h = 0.4 h = 0.6 n m LPT SPT LPT SPT LPT SPT Tab. 4.3 Pourcentage moyen de la différence entre EXPN et LAGRES. Le Tableau 4.3 montre dans le colonnes LPT (resp. SPT) le pourcentage moyen entre la borne inférieure LAGRES et EXPN pour des facteurs restrictifs différents qui

68 68 Chapitre 4. Voisinage exponentiel : cas à machines parallèles sont indiqués en haut du tableau. La première et la deuxième colonne sont respectivement le nombre de tâches et le nombre de machines. Pour quelques instances à 100 tâches, la relaxation n a pas pu être capable de trouver une solution (mais on ne prend pas ce cas pour calculer la moyenne). De façon inespérée, cet écart entre les bornes est plus grand pour les instances de la classe SPT et il n est pas plus grand que 1.14% pour les instances plus dures de la classe LPT. Remarque 4.3 Nous avons exécuté l algorithme du type branch&bound proposé par Sourd et Kedad-Sidhoum [103] sur les instances à 10 et 20 tâches à une seule machine de la classe SPT pour les facteurs restrictifs de la date d échéance commune h = 0.2, 0.4 et 0.6. Le temps d exécution de ce branch&bound à été borné à 1000 secondes. Parmi les instances que cet algorithme a pu résoudre (autour de 87%) nous avons constaté que dans 98% des fois, l algorithme de recherche dans le grand voisinage EXPN a donné la solution optimale Comparaison des instances avec une seule machine Biskup et Feldmann ont présenté deux articles : [9] et [28]. Dans le premier, ils proposent des instances pour le cas à une seule machine et une date d échéance restrictive 1 d i = d r i α ie i + β i T i et une borne supérieure pour ces instances qui est basée sur le placement des tâches avec plus forte pénalité près de la date d échéance. Dans leur deuxième papier, ils proposent des metaheuristiques de façon à obtenir des meilleures bornes pour les instances qu ils avaient proposées premièrement. En plus, Hino et al. [49] présentent aussi plusieurs heuristiques pour ce problème et ils utilisent ces mêmes instances pour tester leurs algorithmes. h = 0.2 h = 0.4 h = 0.6 n %EN FB HR %EN FB HR %EN Tab. 4.4 Amélioration moyenne en pourcentage de EXPN. Le Tableau 4.4 présente dans les colonnes %EN, l amélioration moyenne en pourcentage entre EXPN et les premières bornes de Biskup et Feldmann avec les facteurs restrictifs de la date d échéance h = 0.2, 0.4 and 0.6. La première colonne de ce tableau correspond au nombre de tâches. Les colonnes HR représentent le meilleur gain obtenu par les heuristiques de Hino et al. par rapport aux premières bornes de Biskup and Feldmann. Les colonnes FB correspondent au meilleur gain des metaheuristiques de Feldmann and Biskup par rapport à leurs premières bornes. Ce derniers ne présentent Yasmin A. Ríos Solís

69 4.3. Résultats expérimentaux 69 pas des résultats expérimentaux pour les instances avec 10 tâches et aucun ne présente des résultats expérimentaux pour h = 0.6. Il faut remarquer que les améliorations moyennes FB et HR sont très proches. Les améliorations obtenues par notre algorithme de recherche dans le voisinage EXPN sont toujours meilleures. Néanmoins, ils peuvent obtenir des bonnes solutions pour des instances à 1000 tâches en moins de 100 secondes. On peut aussi noter que EXPN donne des meilleurs résultats quand le facteur restrictif de la date d échéance est petit et que le nombre de machines est grand. Remarque 4.4 Récemment, des meilleurs résultats ont été obtenus par Sourd [102]. Il résout des instances à 1000 tâches (pour des dates d échéance communes lointaines et restrictives) en 1000 secondes, en ajoutant des contraintes redondantes à la relaxation Lagrangienne du MIP avec des variables indexées sur le temps (2.1) présenté dans le chapitre Algorithme hybride HEUEXPN Soit HEUEXPN l algorithme EXPN qui a comme ordonnancement initial un optimum local donné par l algorithme HEUR. Ce nouvel algorithme HEUEXPN est intéressant dans la mesure où il permet d échapper à un minimum local de HEUR et de diminuer le temps d exécution de EXPN car il commence avec une très bonne solution initiale. h = 0.2 h = 0.4 h = 0.6 n m CPU IT %HEN CPU IT %HEN CPU IT %HEN Tab. 4.5 Amélioration moyenne en pourcentage de HEUEXPNpour les instances de LPT.

70 70 Chapitre 4. Voisinage exponentiel : cas à machines parallèles Les tableaux 4.5 et 4.6 montrent les performances de l algorithme HEUEXPN pour les instances des classes LPT et SPT respectivement. La première colonne de ces tableaux indique le nombre de tâches, la seconde correspond au nombre de machines et les différents facteurs restrictifs h sont en haut du tableau. L amélioration moyenne en pourcentage de la solution obtenue par EXPN en utilisant comme ordonnancement initial un optimum locaux est montré dans les colonnes %HEN. Le nombre d itérations moyen réalisé par l algorithme HEUEXPN se trouve dans les colonnes IT. Les colonnes CPU correspondent au temps en secondes que HEUR a besoin pour trouver son optimum local plus le temps nécessaire pour EXPN pour calculer une meilleure solution locale. h = 0.2 h = 0.4 h = 0.6 n m CPU IT %HEN CPU IT %HEN CPU IT %HEN Tab. 4.6 Amélioration moyenne en pourcentage de HEUEXPNpour les instances de SPT. Pour les instances de la classe LPT, EXPN améliore l optimum local obtenu par HEUR dans 60.66% des cas et pour les instances de la classe SPT dans 53.5% des cas. Les tableaux 4.5 et 4.6 montrent que les temps de CPU que HEUEXPN nécessite pour fournir une solution sont plus petits que pour l algorithme EXPN (tableaux 4.1 et 4.2). Comme la différence entre les valeurs de la borne inférieure LAGRES et EXPN varie entre 0.03% et 6.77% (Tableau 4.3) alors l amélioration qui est présentée sur les colonnes %HEN des tableaux 4.5 et 4.6 ne peut pas être plus grande que cette différence. Nous pouvons observer que l amélioration %HEN est plus grande pour les instances de la classe LPT que pour les instances de la classe SPT. Le nombre d itérations de HEUEXPN est également inférieur à celui de EXPN. Yasmin A. Ríos Solís

71 4.4. Conclusions Conclusions Nous avons étudié un problème d ordonnancement à machines parallèles, des pénalités d avance et de retard sur les tâches et une date d échéance commune restrictive. Comme ce problème, P d i = d r i α ie i + β i T i, est NP-difficile au sens fort nous avons défini un voisinage de taille exponentielle et proposé un algorithme de programmation dynamique (en O(m 2 n 3 i J p i)) pour trouver le meilleur ordonnancement dans ce voisinage. De cette façon, le meilleur voisin devient la solution courante et un l algorithme de recherche peut être effectué jusqu à trouver un minimum local. Nous avons effectué des résultats expérimentaux pour les problèmes 1 d i = d r i α ie i + β i T i et P d i = d r i α ie i + β i T i. Ils ont montré que le voisinage exponentiel est intéressant car la qualité des solutions est bonne. Cette méthode peut être combinée avec d autres heuristiques. En particulier, nous avons montré qu elle est utile pour améliorer un minimum local d une heuristique qui n est basé que sur des échanges simples de tâches. Le paysage des solutions du problème P d i = d r i α ie i +β i T i est très particulier. L étudier avec plus de profondeur pourrait aider à comprendre la nature du problème et à indiquer les meilleures façons de trouver des solutions de façon efficace. Une étude préliminaire se trouve dans l annexe A de cette thèse. Nous avons présenté un grand voisinage qui est spécifique pour des machines parallèles identiques. La généralisation à des machines parallèles à vitesses différentes est assez facile car le voisinage et le programme dynamique ne dépendent pas des temps d exécution des tâches.

72

73 Chapitre 5 Reformulations quadratiques convexes pour des problèmes d ordonnancement La principale contribution de ce chapitre est une méthode exacte basée sur la reformulation d un programme quadratique, modélisant un problème d ordonnancement, de manière qu il soit convexe et ainsi obtenir une borne inférieure qui est intégrée dans un algorithme de séparation et évaluation. Nous utilisons deux techniques différentes de reformulation convexe. La première est basée sur la résolution d un programme semidéfini, pour obtenir la meilleure relaxation continue possible. La deuxième est basée sur l augmentation des termes diagonaux de la matrice Hessienne. À notre connaissance, c est la première fois que cette méthode est utilisée pour résoudre exactement des problèmes d ordonnancement. Des résultats expérimentaux montrent la performance de la méthode exacte basée sur des reformulations convexes et, pour certains problèmes d ordonnancement, nous obtenons les meilleurs résultats de la littérature. 5.1 Introduction Certains problèmes d optimisation combinatoire sont modélisés par des programmes quadratiques en 0-1, par exemple, le partitionnement d un graphe, l affectation quadratique, etc. Cependant, les problèmes d ordonnancement ne sont souvent traduits que par des modèles linéaires en 0-1. Les modèles quadratiques sont rarement utilisés, peut être à cause du manque d outils pratiques de résolution ou à cause de leur 73

74 74 Chapitre 5. Reformulations quadratiques convexes difficulté théorique pour les résoudre. De notre point de vue, la contribution de ce chapitre, est d avoir lié la théorie de l ordonnancement avec la théorie de la programmation quadratique en 0-1 dans le but d obtenir des solutions exactes. La méthode exacte, présentée dans ce chapitre, est basée sur la relaxation continue de reformulations convexes de programmes quadratiques. Nous l appliquons en particulier à des programmes quadratiques qui modélisent des problèmes d ordonnancement. Nous précisons que ce travail a été inspiré des articles de Skutella [96] et Billionnet et al.[8], et que les résultats de ce chapitre ont été obtenus avec la collaboration de Marie-Christine Plateau, attachée temporaire d enseignement et de recherche (ATER) au Centre National d Arts et Métiers (CNAM). La méthode que nous proposons est composée des étapes suivantes. 1 Modèle : Modélisation du problème d ordonnancement par un programme quadratique en 0-1 sous contraintes linéaires. 2 Reformulation convexe : Les programmes quadratiques convexes avec des variables réelles sous contraintes linéaires, peuvent se résoudre efficacement [61, 21]. De plus, des outils commerciaux peuvent maintenant résoudre des programmes quadratiques en 0-1 convexes (la fonction objectif est composée par une matrice Hessienne, correspondant dérivées partielles secondes, semidéfinie positive). Comme dans la plupart des programmes quadratiques qui modélisent des problèmes d ordonnancement, la fonction objectif n est pas convexe, alors nous reformulons ces programmes de telle sorte que les programmes obtenus soient équivalents, convexes et aient le même espace de solutions réalisables. 3 Borne inférieure : De cette façon, la relaxation continue du programme reformulé peut être obtenue en temps polynomial et introduite à la racine d un branch&bound. Le comportement du branch&bound dépend, en grande partie, de la qualité de cette borne inférieure. 4 Solution exacte : Finalement, la reformulation convexe du programme peut être résolue à l optimalité par ce branch&bound (puisqu elle est quadratique convexe avec des contraintes linéaires). L étape 1 n est pas triviale pour tous les problèmes d ordonnancement. En particulier, il est parfois difficile de formuler le problème tel que toutes les variables soient bivalentes (sans trop ajouter de variables) ou de ne se restreindre qu à des termes, au plus, quadratiques dans la fonction objectif (voir la section 5.3 de ce chapitre). Pour résoudre des programmes quadratiques convexes en 0-1 (sous contraintes linéaires), nous utilisons le solveur commercial Mixed Integer Quadratic Optimizer (MIQP) ILOG CPLEX 9.0 [24]. Il s agit d un branch&bound où différentes stratégies sont intégrées pour réduire le nombre de nœuds à explorer. Plus particulièrement, il s agit d un branch&cut, où une série de problèmes continus sont résolus et un arbre est construit tel que chaque nœud, est un sous-problème. La racine de l arbre correspond Yasmin A. Ríos Solís

75 5.1. Introduction 75 donc à la relaxation continue du problème quadratique convexe. Si la solution de cette relaxation a une ou plusieurs variables fractionnaires alors, ILOG CPLEX essaye de trouver des coupes, c est-à-dire, des contraintes qui coupent des régions de l espace de solutions faisables de la relaxation qui contiennent des solutions fractionnaires (coupes de clique, de couverture, de Gomory, de sac-à-dos, etc.). Si la solution de la relaxation, après l ajout des coupes, a encore des variables à valeur fractionnaires alors un branchement est fait sur une variable fractionnaire et ainsi sont générés deux nouveaux sous-problèmes, chacun avec des bornes plus restrictives sur la variable en question. Dans ce chapitre, nous présentons quatre problèmes d ordonnancement pour lesquels il est possible d appliquer la méthode exacte que nous proposons (ces problèmes ont été introduits dans le chapitre 2). C est sur le problème d ordonnancement sur machines parallèles où la somme pondérée des dates de fin est à optimiser (R i w ic i ) que nous introduisons, dans la section 5.2, une reformulation du programme quadratique basée sur la programmation semidéfinie [8]. Bien qu il existe d autres manières de reformuler, de façon convexe, un programme quadratique ([83, 44]), cette technique offre l avantage d optimiser les paramètres de convexification de telle sorte que la relaxation continue soit de très bonne qualité. Ensuite, sur ce même problème est présentée une reformulation convexe introduite par Skutella [96] pour déterminer un algorithme avec garantie de performance. Cette reformulation consiste à augmenter les termes diagonaux de la matrice Hessienne de la fonction objectif. Quand le but est de déterminer la solution optimale, cette technique est, de façon surprenante, très efficace expérimentalement. Malheureusement, cette convexification ne peut pas s appliquer à tous les problèmes d ordonnancement que nous étudions, à cause des différentes structures des matrices Hessiennes. De plus, nous prouvons une relation de dominance entre les bornes inférieures obtenues avec les deux techniques de reformulation. Des résultats expérimentaux sont présentés dans la section 5.2.3, pour des instances des problèmes R i w ic i et P i w ic i. À notre connaissance, nous obtenons les meilleurs résultats de la littérature pour le problème à machines différentes et indépendantes. Dans la section 5.3, nous nous intéressons à la modélisation quadratique du problème d avance-retard sur machines parallèles à vitesses différentes et indépendantes qui a la caractéristique d avoir une date d échéance commune restrictive R d i = d r i α ie i + β i T i. La difficulté de ce problème est la possible existence de tâches pont sur les machines. Pour palier à cette difficulté, le modèle contient un nombre important de variables, ce qui empêche sa résolution pratique. Néanmoins, l apport de cette section réside dans cette nouvelle formulation, qui pourra être exploitée ensuite, pour obtenir des méthodes plus performantes. À notre connaissance, la méthode basée sur des reformulations convexes de programmes quadratiques que nous présentons, n a jamais été appliquée à des problèmes

76 76 Chapitre 5. Reformulations quadratiques convexes d ordonnancement. De plus, nous montrons, qu en pratique, pour certains problèmes, ce type de méthode est très intéressant. 5.2 Le problème R i w ic i Dans cette section, nous présentons la technique de reformulation convexe QCR, basée sur la résolution d un programme semidéfini, appliquée au problème R i w ic i. De plus, nous présentons une technique de reformulation convexe basée sur la perturbation des termes diagonaux de la matrice Hessienne Reformulation convexe (QCR) Dans la section du chapitre 2, nous avons formulé le problème sur machines parallèles différentes et indépendantes R i w ic i, comme le programme quadratique en 0-1 sous contraintes linéaires QR : minf(x) = 1 2 xt Qx + c t x s.c. Ax = I i J x {0, 1} nm Il est connu que la fonction objectif du programme QR est convexe si et seulement si la matrice Hessienne Q est semidéfinie positive [46]. Nous rappelons qu une matrice est semidéfinie positive si et seulement si toutes ses sous-matrices principales ont un déterminant supérieur ou égal à 0. Dans notre cas, nous n avons pas une fonction objectif convexe (sinon le problème serait polynomial). Pour montrer cette affirmation il suffit de considérer la sous-matrice principale de taille 2 : ( 0 w [2] 1p [r] 1 j w [2] 1p [r] 1 j 0 Le déterminant de cette sous-matrice peut être négatif, alors Q n est pas nécessairement semidéfinie positive. Théorème 5.1 ( [61, 21]) Un programme quadratique convexe de la forme 1 2 xt Qx+ c t x sous les contraintes Ax = b, A x b et x 0, peut être résolu en temps polynomial. De manière à prendre avantage du théorème 5.1, il faut reformuler le programme QR de telle sorte qu il soit convexe pour pouvoir déterminer une solution en temps polynomial à partir de sa relaxation continue. Comme le comportement du branch&bound dépend, en grande partie, de la qualité de la borne inférieure associée à la racine du ). Yasmin A. Ríos Solís

77 5.2. Le problème R i w ic i 77 branch&bound, la technique que nous présentons ci-dessous a pour but de convexifier QR, tout en maximisant la valeur de la relaxation continue du problème. Nous emploierons la technique générale QCR, proposée par Billionnet et al. [8], pour reformuler le programme quadratique QR avec un programme quadratique équivalent en 0-1 possédant une fonction convexe. Cette technique a été préalablement utilisée pour résoudre le problème du plus dense k-sous-graphe [8]. Le programme quadratique sous variables binaires suivant, QR η,u, est équivalent à QR et dépend des paramètres η R n nm et u R nm : minf η,u (x) s.c. Ax = I x {0, 1} nm où I R n est un vecteur dont ses composantes sont toutes égales à 1, et f η,u (x) = f(x) + n nm k=1 j=1 = 1 2 xt Q η,u x + c t η,ux, ( nm ) η kj x j a ki 1 + i=1 Q η = Q + 1 ( η t A + A t η ), 2 = Q η + Diag(u), Q η,u c η = c η t I, c η,u = c η u, nm i=1 u i ( x 2 i x i ) où Diag(u) R nm nm est la matrice carrée dont le ième terme sur la diagonale est égal à la ième composante du vecteur u R nm. Il faut noter que pour tout x {0, 1} nm tel que Ax = I, la valeur de la fonction f η,u (x) est égale à celle de la fonction f(x). L idée maintenant est de déterminer les paramètres optimaux η et u tels que la nouvelle fonction f η,u (x) soit convexe. Comme nous l avons mentionné, le comportement du branch&bound MIQP ILOG CPLEX dépend, en grande partie, de la borne inférieure associée à la racine de celuici. Alors, il faut déterminer les valeurs η R n nm et u R nm telles que f η,u (x) soit convexe et en plus, telles que la valeur de la relaxation continue du problème QR η,u soit maximale. De façon plus formelle, nous voulons résoudre le problème suivant, que nous nommons C(QR) : max η R n nm,u R nm Q η,u 0 min f η,u(x). x [0,1] nm

78 78 Chapitre 5. Reformulations quadratiques convexes La notation Q η,u 0 signifie que la matrice Q η,u est semidéfinie positive. Le programme C(QR) peut être résolu à l aide du théorème suivant (nous incluons sa preuve, adaptée au problème R i w ic i, puisque ce théorème est central pour la méthode QCR). Théorème 5.2 (Billionnet et al. [8]) La valeur optimale du problème C(QR) est égale à la valeur optimale du programme semidéfini SDQP suivant min c t x + nm nm i=1 j=1 q ij X ij s.c. X ii = x i i = 1,.., nm (5.1) Ix i + Ax ( = I I x t x X nm j=1 ) a kj X ij = 0 i = 1,..., nm; k = 1,..., n (5.2) 0 x R nm, X R nm nm où q ij et a kj sont, respectivement, des termes des matrices Q et A. De plus, les valeurs optimales u i des paramètres u i sont données par les valeurs optimales des variables duales associées aux contraintes (5.1) tandis que les valeurs optimales η kj de η kj sont données par les valeurs optimales des variables duales associées aux contraintes (5.2). Preuve. La fonction f η,u (x) est concave, de plus, l ensemble {Ax = I} l est aussi. D après la dualité Lagrangienne, le programme C(QR) est équivalent à (LD) : max η R n nm,u R n Q η,u 0 ( max min c t η,u x + x t Q η,u x + ν t (Ax I) ). x [0,1] nm ν t R n Maintenant, considérons le problème suivant avec des valeurs fixes des paramètres η et ν : (L η,ν ) : max u t R nm Q η,u 0 ( min c t η,u x + x t Q η,u x + ν t (Ax I) ). x [0,1] nm Yasmin A. Ríos Solís

79 5.2. Le problème R i w ic i 79 Il est connu ([69, 84]) que le problème L η,ν a la même valeur optimale que le programme semidéfini P η,ν suivant : minc t ηx + nm nm i=1 j=1 Q ηij X ij + ν t (Ax I) s.c. X ii = x i i = 1,.., nm (5.3) ( ) I x t 0 x X x R nm, X R nm nm où Q ηij est le terme (i, j) de la matrice Q η. De plus, les valeurs optimales des paramètres u i du problème L η,ν correspondent aux valeurs optimales des variables duales associées aux contraintes (5.3). Alors, le problème LD revient à résoudre max η R n nm ν t R n P η,ν où P η,ν est la valeur optimale de P η,ν. La fonction objectif du programme P η,ν est linéaire en x et en X, de plus, son espace de solutions est convexe. Ainsi, par dualité Lagrangienne, C(QR) a la même valeur que le programme semidéfini SDQP. D après le théorème 5.1, la relaxation continue du programme QR η,u peut donc être résolue en temps polynomial. Ainsi, le programme C(QR) est le suivant : min s.c. 1 2 xt Qx + c t x + + Ax = I x [0, 1] nm n nm k=1 j=1 ( nm ) ηkj x j a ki 1 + i=1 nm u i i=1 ( x 2 i x i ) De nos jours, la programmation semidéfinie est en particulier connue grâce aux avancées qu elle a permis de faire dans les méthodes d approximation de plusieurs problèmes d optimisation difficiles ([35, 36, 96]). Il est aussi connu que la programmation semidéfinie est une méthode qui requiert beaucoup de temps de calcul, ce qui la limite au cadre théorique. Cependant, le domaine de recherche de la programmation semidéfinie est encore très actif. Comme l indique Roupin [91], des progrès récents dans les algorithmes de points intérieurs et de programmation semidéfinie ont fait surgir des outils tels que CSDP [13] que nous utilisons dans ce travail. Il s agit d une librairie composée de routines qu implémentent une variation de l algorithme de points intérieurs de Helmberg et al. [48]. Plus les outils pour la programmation semidéfinie seront développés, meilleures seront les performances de notre méthode.

80 80 Chapitre 5. Reformulations quadratiques convexes Algorithme 1 Solution optimale pour R i w ic i avec QCR 1: Résoudre le programme semidéfini SDQP associé au problème initial QR. 2: Soient ηkj et u i les valeurs duales optimales associées aux contraintes (5.1) et (5.2) de SDQP. 3: Calculer la relaxation continue du problème QR η,u (temps polynomial). 4: Trouver la solution optimale du programme QR avec un solveur du type MIQP avec la borne inférieure obtenue dans 3 à la racine de l arbre de recherche. L algorithme 1 permet de trouver une solution optimale pour le problème d ordonnancement R i w ic i. Dans ce travail, l étape 1 de cet algorithme est effectuée en utilisant la librairie CSDP. Néanmoins, d autres outils existent, comme SB [45], qui implémente la méthode spectral bundle de Helmberg et Rendl [47] pour minimiser la plus grande valeur propre de la matrice affine d une fonction Convexification par perturbation de la diagonale (PDIA) Dans l article [96], Skutella propose le programme quadratique QR (présenté en détail dans la section du chapitre 2) pour le problème R i w ic i. Ensuite, il reformule ce programme de façon à ce qu il soit convexe. Ainsi, la relaxation continue de cette reformulation peut être calculée en temps polynomial. À partir de la solution fractionnaire obtenue, x, un algorithme appelé randomized rounding génère un ordonnancement réalisable en affectant la tâche i à la machine j avec la probabilité x ij. De cette façon, il détermine un algorithme d approximation avec garantie de performance 3/2. L idée de la technique de reformulation qu il utilise est de convexifier la fonction objectif de QR en augmentant les valeurs de la diagonale de la matrice Hessienne Q de manière à ce qu elle devienne semidéfinie positive. Contrairement à la méthode QCR, cette technique n est pas générale, c est-à-dire, qu elle dépend fortement de la structure de la matrice Hessienne du problème d ordonnancement R i w ic i. Nous appelons cette méthode PDIA et nous la décrivons ci-dessous. À notre connaissance, en utilisant cette technique de reformulation dans le but d obtenir des solutions exactes, nous obtenons le meilleurs résultats de la littérature pour le problème R i w ic i. Pour des vecteurs x {0, 1} nm, nous pouvons formuler le terme linéaire c t x de la fonction objectif du programme QR comme x t Diag(c)x. Nous convexifions la fonction objectif du problème QR en ajoutant la quantité 2ς Diag(c) (0 < ς 1) à la matrice Q de manière à ce que la nouvelle matrice Q+2ς Diag(c) = Q ς soit semidéfinie positive. La fonction objectif est donc modifiée comme suit : min(1 ς) c t x xt (Q + 2ς Diag(c))x. Yasmin A. Ríos Solís

81 5.2. Le problème R i w ic i 81 Comme le vecteur c est positif, alors la valeur de la fonction c t x est supérieure ou égale à la valeur de la fonction quadratique x t Diag(c)x pour tout vecteur x [0, 1] nm. De plus, nous avons l égalité entre ces deux fonctions quand x {0, 1} nm. Formellement, pour x [0, 1] nm c t x xt Qx (1 ς) c t x xt (Q + 2ς Diag(c))x. L idéal est que la différence entre ces deux fonctions soit la plus petite possible et telle que Q + 2ς Diag(c) soit semidéfinie positive. Lemme 5.3 (Skutella [96]) La fonction x (1 ς) c t x xt (Q + 2ς Diag(c))x est convexe pour n importe quelle instance du problème R i w ic i si et seulement si ς 1/2. D après ce dernier lemme et en posant ς = 1/2 de manière à avoir le plus petit écart entre les fonctions objectif, nous considérons maintenant le programme quadratique convexe suivant, que nous appelons SkQP (1/2) min 1 2 ct x xt (Q + Diag(c))x s.c. Ax = I x 0. D après le théorème 5.1, le programme SkQP (1/2) peut être résolu en temps polynomial. Alors, l algorithme 2 permet de trouver une solution optimale pour le problème d ordonnancement à machines parallèles différentes R i w ic i. L avantage de cet al- Algorithme 2 Solution optimale pour R i w ic i avec PDIA 1: Résoudre le programme polynomial SkQP (1/2). 2: Trouver la solution optimale du programme QR avec un solveur du type MIQP avec la borne inférieure obtenue dans 1 à la racine de l algorithme de séparation et évaluation. gorithme, par rapport à l algorithme 1, est qu aucun programme semidéfini ne doit être résolu. Le désavantage de l algorithme 2 est que la borne inférieure obtenue dans l étape 1 est de moindre qualité que celle obtenue dans l étape 3 de l algorithme 1. Cette dernière affirmation est décrite formellement à l aide du théorème suivant. Théorème 5.4 Soit ς la solution optimale obtenue en résolvant le problème (P 1 ) max { } SkQP(ς). ς 1/2 Q+Diag(c) 0

82 82 Chapitre 5. Reformulations quadratiques convexes Soit (η, u ) la solution optimale obtenue en résolvant le problème (P 2 ) max η R n nm,u R nm Q η,u 0 {QR η,u }. La valeur optimale du problème (P 1 ) est inférieure ou égale à celle de (P 2 ). Preuve. Soit ς une solution réalisable du problème (P 1 ). Si nous posons η = O (O est la matrice nulle de dimension n nm) et ũ i = ς i = 1,.., nm. Alors ( η,ũ) est une solution réalisable du problème (P2) puisque les fonctions objectif de SkQP (ς) et QR η,ũ ont la même matrice Hessienne, qui est semidéfinie positive d après la solution obtenue en résolvant le problème (P 1 ). De plus, nous avons l égalité de ces deux fonctions objectif et donc l égalité entre les problèmes SkQP (ς) et QR η,ũ. Nous pouvons conclure que la valeur de SkQP (ς ) est plus petite ou égale à celle de QR η,u Résultats expérimentaux pour les problèmes R i w ic i et P i w ic i Nous avons généré aléatoirement des instances telles que les valeurs p ij et w i sont tirées de la distribution uniforme [1, 100]. Dans les tableaux que nous présentons, chaque ligne représente la moyenne de 10 instances différentes. Après plusieurs tests préliminaires, nous avons utilisé la librairie CSDP [13] pour résoudre le programme semidéfini SDQP. Un des avantages de cette librairie est qu elle requiert moins de temps de calcul par rapport aux autres librairies. Les tests ont été effectués sur un Pentium IV de 2.2 GHZ et 1 Go de RAM. Pour le branch&bound, nous avons utilisé la librairie d optimisation en nombres entiers et réels MIQP ILOG CPLEX 9.0. Résultats expérimentaux pour R i w ic i Le tableau 5.1 présente les résultats de la méthode QCR pour les instances du problème R i w ic i. Dans la première colonne est indiqué le nombre de tâches et la deuxième, correspond au nombre de machines. La colonne Temps CSDP est le temps moyen en secondes nécessaire au programme CSDP pour déterminer les valeurs optimales des paramètres η et u qui donneront la meilleure borne inférieure obtenue par la relaxation continue de la reformulation convexe. La colonne Temps bnb est le temps moyen en secondes nécessaire à l outil de ILOG CPLEX pour trouver la solution exacte. Le nombre de nœuds moyen que l arbre de recherche développe est indiqué dans la colonne Nœuds et finalement, dans la colonne %(opt-relax) se trouve l écart moyen entre l optimum et la borne inférieure obtenue par relaxation continue de la reformulation réalisée avec la méthode QCR. L écart entre ces bornes Yasmin A. Ríos Solís

83 5.2. Le problème R i w ic i 83 est calculé comme suit : ( ) valeur optimum valeur relaxation continue 100. valeur optimum n m Temps CSDP Temps bnb Nœuds %(opt-relax) ,41 0,007 2,6 0,47 4 2,022 0,048 11,5 1,44 6 6,28 0,119 48,6 3, ,19 2, , ,49 0,085 12,2 0, ,31 1, ,6 0, ,28 10, ,4 1, ,3 106, ,5 2, ,19 0,35 10,8 0, ,15 74, ,8 0, ,6 0,695 26,3 0,03 Tab. 5.1 Méthode QCR pour R i w ic i. Nous pouvons remarquer, que l étape qui requiert le plus de temps est celle de la résolution du programme semidéfini (colonne Temps CSDP ). Plus le nombre de tâches n et le nombre de machines m augmente, plus cette étape est longue car le nombre de variables grandit et donc la gestion des matrices du programme semidéfini est plus difficile pour la librairie CSDP. Nous pouvons aussi observer que l écart entre la borne inférieure de la méthode QCR et l optimum (colonne %(opt-relax) ) est assez faible et il diminue quand le nombre de tâches n augmente mais incrémente avec le nombre de machines m. De plus, nous ne sommes pas capables de résoudre les instances à 50 tâches et 6 ou 8 machines, tout comme les instances à 60 tâches avec plus de 4 machines à cause de la mémoire requise par le logiciel CSDP car il est contraint par la taille des problèmes semidéfinis à résoudre. Néanmoins, en vue des avancées des algorithmes et des outils CSDP ou SB, cette méthode deviendra, dans les années qui viennent, plus efficace en termes capacité de variables et de temps CPU. Le tableau 5.2 présente les résultats de la méthode PDIA pour les instances du problème R i w jc i. Il faut noter que, pour cette méthode, le temps de calcul requis pour obtenir la borne inférieure, obtenue par la relaxation continue de la reformulation SkQP (1/2), est négligeable. Le théorème 5.4 prouve que les bornes obtenues par relaxation continue de la reformulation basée sur la méthode PDIA sont inférieures ou égales à celles obtenues avec QCR. En pratique, nous observons ce comportement dans les colonnes %(optrelax) des tableaux 5.1 et 5.2. Cependant, de manière surprenante, le nombre de nœuds explorés par le branch&bound avec la reformulation par PDIA est inférieur à

84 84 Chapitre 5. Reformulations quadratiques convexes n m Temps bnb Nœuds %(opt-relax) 10 2 < 0,01 2,5 1,36 4 0,01 6,2 3,49 6 0,019 12,7 6,33 8 0,015 14,9 10, , ,21 4 0,058 21,2 1,08 6 0,083 49,7 1,73 8 0, , ,039 6,2 0,09 4 0,108 36,4 0,52 6 0,21 75,9 0,84 8 0, ,7 1, ,046 6,7 0,06 4 0,171 52,9 0,36 6 0,39 120,5 0,70 8 0, , ,106 8,5 0,01 4 0,473 64,4 0,12 6 1, ,2 0,34 8 1, ,5 0, , ,8 1, , ,3 2, , ,6 3, ,2 3,6 < 0,01 4 0,806 38,1 0,04 6 2,25 146,4 0,13 8 5, ,4 0, ,309 2,8 < 0,01 4 1,621 46,4 0,03 6 3, ,1 0,07 8 9, ,1 0, ,535 0 < 0, ,77 10,4 0, ,53 91,8 0, ,49 450,6 0,04 Tab. 5.2 Méthode PDIA pour R i w ic i. celui de la reformulation par QCR. Une possible explication à ce phénomène est que le nombre de variables entières de la solution de la borne inférieure obtenue avec QCR, est inférieur à celui correspondant à la borne obtenue avec PDIA. En effet, pour QCR, il existe un grand nombre de variables de la solution de la borne inférieure qui sont fractionnaires, mais très proches de 1 ou de 0. Nous pouvons dire que la méthode PDIA est très efficace en observant le temps de résolution des instances avec 200 ou 400 tâches. Dans la littérature, la plus grande taille des instances résolues exactement pour ce problème est de 100 [19]. Donc, à notre connaissance, cette méthode est la plus performante. Vredeveld et Hurkens [111] mentionnent que dans son rapport de Master, S.J. van der Linden (2000) a utilisé la reformulation PDIA pour R i w ic i et a résolu Yasmin A. Ríos Solís

85 5.2. Le problème R i w ic i 85 exactement des instances à 20 tâches et 5 machines. Néanmoins, nous n avons pas été capables d obtenir ni ce document, ni un article reportant ces expériences. Vredeveld et Hurkens testent les bornes inférieures obtenues avec P DIA, les bornes inférieures obtenues avec des relaxations de programmes avec des variables indexés sur le temps (LPX) de Schulz et Skutella [93] et les bornes inférieures obtenues par van den Akker et al. [109] avec une méthode de génération de colonnes. Ils montrent que la borne LPX est supérieure ou égale à celle obtenue avec PDIA. De plus, ils comparent la valeur des solutions des ordonnancements obtenus avec l algorithme randomized rounding et montrent que les meilleurs résultats sont obtenus avec LPX. Il faut remarquer que leur objectif n est pas de déterminer la solution optimale et qu ils ne résolvent des problèmes qui ont au plus 100 tâches. Une perspective intéressante est de déterminer une relation de dominance entre LPX et la borne obtenue avec QCR. Résultats expérimentaux pour P i w ic i Le problème à machines parallèles identiques, où l objectif est de minimiser la somme pondérée des dates de fin des tâches, est particulier car p i1 =... = p im et donc nous n avons qu un seul ordre total sur les tâches qui est indépendant des machines. Néanmoins, il reste un problème NP-difficile au sens fort ([14] p.152) et c est clairement un cas particulier du problème R i w ic i. Pour des instances du problème à machines parallèles identiques, nous avons appliqué la méthode exacte que nous avons présenté précédemment. Le tableau 5.3 (tableau 5.4) présente les résultats des instances du problème P i w ic i résolues à l aide de la technique QCR (PDIA). Pour les instances de plus de 30 tâches et 4 machines, nous avons arrêté le branch&bound quand il dépassait de 3600 secondes de calcul et, nous avons gardé la solution obtenue (qui n est pas nécessairement l optimale) pour calculer l écart moyen (colonne %(opt-relax) ). n m Temps CSDP Temps bnb Nœuds %(opt-relax) ,18 0,01 53,60 0,12 4 1,21 0, ,60 2,95 6 4,22 12, ,60 7, ,78 344, ,90 11, ,56 0, ,60 0, , , ,20 0, , , ,40 1, , , ,60 2, ,87 8, ,50 0,01 Tab. 5.3 Méthode QCR pour P i w ic i. Nous pouvons remarquer que les temps nécessaires à l outil CSDP pour déterminer les paramètres optimaux de reformulation convexe de la technique QCR sont inférieurs

86 86 Chapitre 5. Reformulations quadratiques convexes à ceux pour le cas à machines différentes et indépendantes. Une raison possible à cette observation, est que la matrice Hessienne du problème P i w ic i a une structure particulière. En effet, elle est composée de m sous-matrices diagonales identiques de dimension n n comme l illustre la figure 5.1. M 1 M 2 Q 1 Q M m Q 1 Fig. 5.1 Matrice Hessienne pour le cas à machines parallèles identiques. Une deuxième observation, est que l écart moyen entre les bornes inférieures et les optima est généralement plus grand que pour le problème R i w ic i (pour les deux techniques QCR et P DIA). Ce qui explique, que le branch&bound requiert de plus de temps que pour les instances de R i w ic i. Nous avons observé qu il existe des instances pour lesquelles le branch&bound explore un très grand nombre de nœuds, par rapport à des instances similaires (même nombre de tâches et de machines). Ce qui explique, par exemple, que le nombre moyen de nœuds pour les instances à 30 tâches et 4 machines résolues avec QCR, soit plus grand que celui pour 30 tâches et 6 machines. Ce même phénomène se retrouve pour les instances résolues à l aide de la technique PDIA (tableau 5.4). Le tableau 5.4 montre, comme nous l avons prouvé en théorie par le théorème 5.4, que la borne inférieure obtenue avec PDIA est inférieure à celle obtenue par QCR. Contrairement au problème R i w ic i, avoir une meilleure borne inférieure implique un moindre nombre de nœuds explorés par le branch&bound. Ce qui montre que la reformulation QCR, bien qu elle requière plus de temps, est intéressante, pour certains problèmes, par la qualité de la borne inférieure qu elle génère par relaxation continue. Yasmin A. Ríos Solís

87 5.3. Le problème R d i = d r i α ie i + β i T i 87 n m Temps bnb Nœuds %(opt-relax) ,01 59,30 1,33 4 0, ,50 6, , ,00 10, , ,50 15, , ,10 0, , ,70 0, , ,40 2, , ,00 3, , ,90 0, , ,20 0, , ,33 0,02 Tab. 5.4 Méthode PDIA pour P i w ic i. 5.3 Le problème R d i = d r i α ie i + β i T i Dans cette section, l objectif est de montrer que le problème d ordonnancement d avance-retard avec une date d échéance commune restrictive sur machines parallèles différentes et indépendantes, R d i = d r i α ie i + β i T i, peut être formulé comme un programme quadratique en 0-1 sous contraintes linéaires, et donc, pourrait être résolu par la méthode proposée précédemment avec la technique QCR. Le problème R d i = d r i α ie i +β i T i contient une classe de solutions dominantes : les ordonnancements en V (présentées plus en détail dans la section du chapitre 2). C est-à-dire, qu il existe au moins un ordonnancement optimal qui vérifie les propriétés suivantes. Propriété 2.7 : Il n y a pas de temps mort entre deux exécutions de tâches. Propriété 2.8 : Dans chaque machine, soit une tâche est terminée exactement à la date d échéance d r, soit la date de début de la première tâche sur cette machine commence à l instant 0. Propriété 2.9 : Dans un ordonnancement optimal, dans chaque machine M j, les tâches qui finissent avant ou à d r sont ordonnées dans l ordre croissant des ratios α i /p ij, et les tâches qui commencent après ou à la date d échéance, sont ordonnées dans l ordre décroissant des ratios β i /p ij. Il faut noter que ces propriétés impliquent que, sur n importe quelle machine, il peut exister une tâche pont, qui commence avant et finit après la date d échéance commune restrictive. En nous inspirant du programme quadratique pour le problème R i w ic i, que nous avons présenté dans la section du chapitre 2, nous considérons les ensembles de tâches suivants : S j E : l ensemble des tâches qui finissent à ou avant dr sur la machine M j, S j T : l ensemble des tâches qui commencent à ou après dr sur la machine M j, et

88 88 Chapitre 5. Reformulations quadratiques convexes S j s : la tâche pont qui commence avant et finit après d r sur la machine M j. Étant donnée une affectation des tâches aux ensembles S j E, Sj T et Sj s telle que m J = j=1 S j E m j=1 S j T m et à l aide des propriétés 2.7, 2.8 et 2.9, nous pouvons déterminer un ordonnancement. Les difficultés du problème R d i = d r i α ie i +β i T i résident dans cette affectation des tâches aux ensembles S j E, Sj T et Sj s, et dans la possible existence d une tâche pont dans chacune des machines. Dans le but de formuler le problème comme un programme quadratique, nous introduisons les variables binaires d affectation suivantes pour i J et j = 1,..., m : { 1 si i S j E x ije =, 0 sinon, { 1 si i S j T x ijt =, 0 sinon, et { 1 si i Ss, j x ijs = 0 sinon. De plus, nous définissons des ordres totaux sur l ensemble des tâches. Soit (J, j E ) l ordre total sur l ensemble des tâches dans J pour une machine M j par rapport aux ratios α i /p ij. On définit i j E l si α i/p ij > α l /p lj. Si pour une machine M j il existe une paire de tâches i et l telles que α i /p ij = α l /p lj alors on départage en mettant i j E l si i < l. De la même façon nous définissons les ordres totaux (J, j T ) pour j = 1,..., m. Il faut remarquer que chaque machine M j peut avoir au plus une tâche pont, alors S j s 1 et donc, il n est pas nécessaire de définir un ordre pour cet ensemble. D après les propriétés des ordonnancements en V, l écart entre le début de la première tâche en retard de l ensemble S j T est G j = max(0, i J k {E,s} j=1 S j s et la date d échéance commune restrictive x ijk p ij d r ). Pour la machine M 1, qui est illustrée dans la figure 5.2, G 1 = i (x ijep ij +x ijs p ij ) d r, par contre, pour la machine M 2 l écart est nul. Ainsi, le problème d ordonnancement R d i = d r i α ie i + β i T i peut être formulé comme le programme sous contraintes Yasmin A. Ríos Solís

89 5.3. Le problème R d i = d r i α ie i + β i T i 89 G 1 M 1 S 1 E S 1 s S 1 T M 2 S 2 E S 2 T 0 d r i M 1 p ij Fig. 5.2 Ordonnancement en V pour une instance à deux machines. quadratiques à variables bivalentes et réelles IETQ r suivant : min i J α i E i + β i T i (5.4) s.c. m j=1 k {E,T,s} x ijk = 1 i J (5.5) G j 0 j = 1,..., m (5.6) n G j x ijk p ij d r j = 1,..., m (5.7) i=1 k {E,s} x ijs 1 j = 1,..., m (5.8) i J x ije p ij d r j = 1,..., m (5.9) i J m E i = x ije x lje p lj + x ljs p lj G j i J (5.10) j=1 l j E i l J m m T i = x ijs G j + x ijt p ij + j x ljtp lj + G i J (5.11) j=1 j=1 l j T { i } x ijk {0, 1} 3nm, G j 0, max p ij 1 ij La fonction objectif (5.4) correspond à la minimisation de la somme pondérée de l avance et du retard des tâches. Les contraintes (5.5) assurent que chaque tâche ne soit affectée qu à un seul ensemble : S j E, Sj T ou Sj s.

90 90 Chapitre 5. Reformulations quadratiques convexes Les contraintes (5.6) et (5.7) définissent l écart G j de chaque machine M j. Les contraintes (5.8) garantissent que sur chaque machine il n y a pas plus d une tâche pont. La somme des tâches dans S j E doit être inférieure ou égale à la date d échéance restrictive, ce qui est traduit par les contraintes (5.9). Si la tâche i est dans l ensemble S j E, alors son avance est égale à la somme des temps d exécution des tâches l telles que l j E i qui sont exécutées elles aussi sur la machine M j, plus la durée de la tâche pont qui est effectuée avant d r, ce qui correspond aux contraintes (5.10). Si la tâche i est exécutée parmi les tâches en retard dans S j T, alors la contrainte (5.11) implique que son retard est égal à la somme des tâches l qui sont exécutées avant elle, plus sa propre durée et plus l écart G j. Pour les tâches pont, les contraintes (5.11) garantissent que leur retard soit égal à G j. Comme les variables G j ne sont pas bivalentes, alors nous ne pouvons pas introduire les contraintes quadratiques (5.10) et (5.11) dans la fonction objectif (5.4) pour obtenir un programme quadratique en 0-1 sous contraintes linéaires. Dans le but de formuler le programme désiré, nous considérons les variables suivantes, qui dépendent de la durée maximale des temps d exécution des tâches de l instance : y jt = { 1 si G j = t, 0 sinon. Si p max = max ij p ij, alors G j = p max 1 t=1 De cette façon, en utilisant les variables bivalentes y it à la place des contraintes entières G j du programme IETQ r, nous avons le programme en 0-1 avec des contraintes qua- y jt t. Yasmin A. Ríos Solís

91 5.3. Le problème R d i = d r i α ie i + β i T i 91 dratiques suivant : min i J α i E i + β i T i s.c. m j=1 k {E,T,s} p max 1 t=1 p max 1 t=1 y jt t i J x ijs 1 i J x ijk = 1 i J x ijs p ij j = 1,..., m (5.12) y jt 1 j = 1,..., m (5.13) x ije p ij d r i J E i = T i = m j=1 m j=1 + x ije x lje p lj + l j E i l J ) ( pmax 1 x ijs m j=1 x ijt t=1 y jt t p ij + l j x ijk {0, 1}, y jt {0, 1} T i x ljtp lj + p max 1 x ljs p lj p max 1 t=1 t=1 j = 1,..., m j = 1,..., m y jt t i J (5.14) y jt t i J (5.15) Pour une machine M j donnée, la contrainte (5.12) implique que l écart entre le début de la première tâche en retard de l ensemble S j T et la date d échéance commune restrictive, est inférieur ou égal à la durée de la tâche pont sur cette machine. La contrainte (5.13) détermine une seule valeur pour cet écart. En introduisant les contraintes quadratiques (5.14) et (5.15) dans la fonction objectif, nous obtenons le programme en 0-1 sous contraintes linéaires que nous appelons ETQ r : ming(x) = 1 2 xt Qx + c t x (5.16) s.c. Ax = I i J A x b x {0, 1} χ. où χ = (3n + p max 1)m. Le vecteur x contient les 3nm variables x ijk pour i J, j = 1,..., m et k {E, T, s}, plus les (p max 1)m variables y tj. Il est ordonné,

92 92 Chapitre 5. Reformulations quadratiques convexes premièrement, dans l ordre lexicographique par rapport à l ordre des machines : x t = ( x t (1),..., x t (m) ) ; ensuite pour chaque machine M j, les n premières variables sont ordonnées à l aide des ordres j E, les n suivantes le sont par rapport à j T, les n qui suivent sont dans l ordre lexicographique initial, et finalement, sont placées les p max variables correspondant aux y jt. En définissant la notation [r] j k (k {E, T }), qui correspond à la tâche à la position r (r = 1,..., n) dans l ordre (J, k j ) de la machine M j, chaque vecteur x t (j) a donc la forme suivante : x t (j) = ( ) x [1] j je,..., x [n] j je, x E [1] j jt,..., x T [n] j jt,x 1js,..., x njs, y j1,..., y j,pmax 1. T Le vecteur c R χ, dont ses éléments sont ordonnées dans le même ordre que dans le vecteur x, correspond aux termes linéaires de la fonction objectif. Du fait de l ordre lexicographique sur les indices, la matrice Hessienne Q de dimension χ χ est composée de m sous-matrices diagonales carrées Q j R (3n+pmax 1) (3n+pmax 1) (voir la figure 5.3). La matrice des contraintes d égalité A R n χ correspond aux contraintes 3n + p max M 1 M 2 Q 1 Q M m Q m Fig. 5.3 Matrice Hessienne Q du programme ETQ r. d affectation (5.5) et finalement, la matrice des contraintes d inégalité A R 4m χ, aux contraintes (5.12), (5.13), (5.8) et (5.9). Puisque la matrice Hessienne de la fonction objectif de ETQ r n est pas semidéfinie positive, il faut reformuler le programme ETQ r de telle sorte qu il soit convexe pour pouvoir déterminer une solution en temps polynomial à partir de sa relaxation continue (théorème 5.1). Comme nous l avons mentionné dans la section 5.2.2, la technique PDIA est spécifique au problème R i C i et nous ne savons pas, pour le moment, Yasmin A. Ríos Solís

93 5.4. Conclusions 93 la manière de la généraliser pour résoudre le problème à date d échéance commune restrictive. Néanmoins, le théorème 5.2 de la technique QCR peut aussi s appliquer aux problèmes quadratiques en 0-1 avec des contraintes linéaires d inégalité. Le fait d avoir introduit les variables y jt dans le modèle reflète la difficulté du problème à date d échéance commune restrictive. En pratique, QCR n est pas efficace pour résoudre exactement le problème R d i = d r i α ie i + β i T i. En effet, le nombre de variables χ est trop grand, même pour des instances avec peu de tâches et peu de machines, pour les outils de résolution de programmes semidéfinis. Remarque 5.5 Pour le problème à date déchéance commune lointaine, R d i = d l i α ie i + β i T i, il n existe pas de tâches pont sur les machines. Alors, les variables G j ou y jt, qui déterminent le début de l ordonnancement dans chaque machine, sont égales à 0. Contrairement au programme ETQ r, le programme quadratique en 0-1 sous contraintes linéaires, qui modélise le problème R d i = d l i α ie i +β i T i, a une matrice Hessienne sur laquelle la méthode de reformulation convexe P DIA peut être facilement appliquée. En effet, le problème R d i = d l i α ie i + β i T i peut être vu comme un problème à 2m machines. Dans les m premières machines les tâches sont placées dans l intervalle [0, d l ] avec un coût égal à α i E i. Tandis que dans les m dernières, elles sont placées dans [d l, ) avec un coût β i T i. Alors, le problème revient à un problème d affectation des n tâches sur les 2m machines. 5.4 Conclusions Dans ce chapitre, nous avons étudié plusieurs problèmes d ordonnancement sur machines parallèles dans le but de proposer une méthode exacte de résolution qui, à notre connaissance, n a pas été présentée dans la littérature appliquée à des problèmes d ordonnancement. De plus, nous montrons que pour certains problèmes, ce type de méthode est très intéressant en pratique. Les problèmes qui ont été étudiés sont : R i w ic i, P i w ic i, R d i = d r i α ie i + β i T i, et R d i = d l i α ie i + β i T i. La méthode consiste, premièrement, à modéliser les problèmes d ordonnancement par des programmes quadratiques en 0-1 sous contraintes linéaires. Ensuite ces programmes sont reformulés pour qu ils soient convexes et équivalents. On peut ensuite obtenir, en temps polynomial, des bornes inférieures par relaxation continue des programmes reformulés. Finalement, cela permet de résoudre exactement le problème

94 94 Chapitre 5. Reformulations quadratiques convexes par un branch&bound spécifique pour programmes quadratiques en nombre entiers de ILOG CPLEX. Dans le but de reformuler de manière convexe les programmes quadratiques en 0-1, nous avons appliqué deux techniques : P DIA qui ajoute à la diagonale de la matrice Hessienne le terme linéaire et QCR qui, à l aide d un programme semidéfini, fournit la meilleure borne inférieure possible obtenue par la relaxation continue du programme reformulé. Bien que nous ayons prouvé théoriquement que les bornes inférieures obtenues avec QCR sont meilleures que celles obtenues avec P DIA (pour les problèmes qui peuvent être résolus par les deux techniques), en pratique, QCR requiert plus de temps de calcul. Avec les avances sur le domaine de la recherche en programmation semidéfinie nous espérons que, dans le futur, les algorithmes et les outils disponibles de résolution seront plus performants, et donc cette méthode requerra moins de temps de calcul et pourra être appliqué à des problèmes qui nécessitent un plus grand nombre de variables bivalentes. Les résultats obtenus dans ce chapitre donnent lieu à plusieurs perspectives. Pour résoudre en pratique le problème d ordonnancement à dates d échéance commune restrictive, R d i = d r i α ie i + β i T i, nous sommes intéressés à la généralisation de la méthode PDIA. Nous voulons déterminer un modèle quadratique en 0-1 sous contraintes linéaires pour le problème d ordonnancement à dates d échéances différentes R i α ie i + β i T i. Puisque les outils disponibles pour résoudre des programmes sémidéfinis acceptent, de nos jours, des matrices de taille assez réduite, nous cherchons des modèles qui puissent être résolus en pratique. Pour le problème P i w ic i, du fait de machines identiques, nous voulons bénéficier de la structure particulière de la matrice Hessienne de son modèle quadratique. L idée est d obtenir des sous-problèmes indépendants à résoudre. Skutella [96] a proposé un algorithme d approximation avec garantie de performance égal à 3/2. Est-il possible de déterminer un algorithme avec garantie de performance pour le problème à date d échéance commune restrictive R d i = d r i α ie i + β i T i? Il est intéressant de déterminer la classe de problèmes d ordonnancement qui peuvent être formulés par un programme quadratique, pour lequel les techniques de convexification, présentées dans ce chapitre, s appliquent. Yasmin A. Ríos Solís

95 Chapitre 6 Ordonnancement avec coûts de position Ce chapitre est dédié au problème d ordonnancement préemptif sur machines parallèles identiques où les tâches ont des coûts de position : P pmtn i fi. Notre principal apport est un algorithme polynomial basé sur la décomposition du temps. En associant des coûts de position particuliers aux tâches, la solution optimale du problème P pmtn i fi est une borne inférieure pour le problème d ordonnancement sur machines parallèles où l objectif est de minimiser l avance et le retard pondéré des tâches. Des résultats expérimentaux sont présentés pour ce dernier problème d ordonnancement d avance-retard et comparés à d autres bornes inférieures et supérieures. 6.1 Introduction Comme observé par plusieurs auteurs, il est difficile de proposer des bornes inférieures pour le problème d ordonnancement d avance-retard sur machines parallèles P i α ie i + β i T i. Autoriser la préemption des tâches, dans le but de relaxer le problème, nécessite une reconsidération des fonctions de coût puisqu elles n expriment plus, de façon satisfaisante, les pénalités d avance. De ce fait, plusieurs modèles ont été proposés dans la littérature dans le but de fournir des bonnes bornes inférieures pour P i α ie i +β i T i, par exemple, le modèle discret avec des variables d affectation (6.5). Le désavantage de ce type de formulations est que les bornes inférieures résultantes sont obtenues en temps pseudo-polynomial puisqu elles dépendent de l horizon du temps. La solution exacte du problème P pmtn i fi avec des coûts de position f i spécifiques, fournit une borne inférieure pour le problème P i α ie i + β i T i. 95

96 96 Chapitre 6. Ordonnancement avec coûts de position Le problème d ordonnancement P pmtn i fi, que nous appelons PCAP (parallel continuous assigment problem en anglais), consiste à ordonner de façon optimale n tâches sur m machines identiques sur l intervalle continu T = [0, T] où T = max d i + max p i + i J i J i J p i m L intervalle continu T est une des particularités du problème que nous étudions, en effet, les problèmes d ordonnancement sont souvent traités en temps discret. L idée principale est que les tâches peuvent être préemptées à n importe quel instant du temps et pas seulement aux instants entiers. Ce problème est la généralisation du problème à une machine présenté par Sourd [98]. Le problème P pmtn i fi est présenté plus en détail dans la section 2.5 du chapitre 2.. Notre travail L organisation du chapitre est maintenant décrite. Dans le but de proposer un algorithme polynomial pour le problème P pmtn i fi, dans la section 6.2, nous le modélisons par des variables binaires et formulons son programme dual associé. Nous proposons ensuite un algorithme polynomial qui permet de déterminer l ordonnancement optimal pour le problème P pmtn i fi dans la section 6.3. Finalement, nous montrons que la solution optimale du problème P pmtn i fi est une borne inférieure au problème d avance-retard P i α ie i + β i T i pourvu que les fonctions f i soient bien choisies en fonction des pénalités d avance α i et de retard β i. Ainsi, des tests expérimentaux sont réalisés dans la section 6.5 où l on se compare à d autres bornes. L avantage de la borne obtenue en résolvant le problème P pmtn i fi est qu elle est polynomiale, contrairement à des bornes inférieures basées sur un modèle avec des variables d affectation qui dépendent de l horizon du temps et donc sont pseudo-polynomiales. 6.2 Modélisation du problème P pmtn i fi Pour modéliser le problème, nous proposons pour i = 1,...n les fonctions d ordonnancement linéaires par morceaux suivantes qui sont les variables du problème PCAP : { 1 si la tâche i est exécuté à l instant t, δ i (t) = 0 sinon. Nous pouvons noter que l ordonnancement se fait sur m machines identiques parallèles, c est-à-dire, que le temps d exécution d une tâche est le même sur toutes les machines. Alors, il n est pas nécessaire de savoir sur quelle machine la tâche va s exécuter. Le Yasmin A. Ríos Solís

97 6.2. Modélisation du problème P pmtn i fi 97 problème PCAP est le suivant min δ i (t)f i (t)dt i J T (6.1) s.c. δ i (t)dt = p i i = 1,..., n (6.2) T δ i (t) m t T (6.3) i J δ i (t) {0, 1} i = 1,..., n, t T (6.4) La fonction objectif (6.1) correspond à la minimisation du coût total d exécution des tâches. Les contraintes (6.2) indiquent que toutes les tâches doivent être exécutées dans leur totalité dans l ordonnancement (nous sommes dans un contexte préemptif). La contrainte (6.3) traduit le fait que l ordonnancement se réalise sur au plus m machines, en effet, il se peut qu une machine n exécute aucune tâche à un instant t. En plus d indiquer que les fonctions δ i (t) sont binaires, les contraintes (6.4) impliquent qu une tâche ne pourra pas être exécutée sur plusieurs machines au même instant t. La figure 6.1 illustre, dans sa partie supérieure, la fonction de coût d une tâche i. Cette fonction apparaît continue par morceaux dans la figure mais peut être d une autre nature, par exemple, continue quadratique. La partie inférieure de la figure représente une solution δ i (t). Pour des raisons pratiques, cette fonction ne doit avoir qu un nombre fini de discontinuités, c est-à-dire, que le nombre de préemptions d une tâche est fini. L algorithme que nous proposons plus tard calcule une solution optimale qui satisfait cette condition. Le coût de la tâche i, l intégrale f i (t)δ i (t)dt, correspond dans la figure aux surfaces hachurées. En effet, quand la fonction d ordonnancement δ i (t) est égale à 0, la tâche i ne génère aucun coût. Inversement, pour les intervalles où la fonction δ i (t) est égale à 1, le coût qu induit la tâche i correspond à l intégrale de la fonction f i (t) dans ces intervalles. Afin d éviter des problèmes de caractère technique, nous faisons quelques hypothèses sur les fonctions de coût f i : Premièrement, pour que l intégrale 0 f i (t)δ i (t)dt existe toujours, on suppose que f i est continue par morceaux. Deuxièmement, si f i (t) est non-croissante quand t alors la tâche i peut être ordonnancée à un instant infiniment tard. Donc, nous supposons que f i est non-décroissante dans un intervalle [A i, ) où A i 0 est définie pour toute tâche i. Finalement, dans un ordonnancement optimal, nous pouvons observer qu il n y a pas de tâche ordonnancée après T. En plus de ces hypothèses, il faut que le nombre de préemptions dans un ordonnancement optimal soit fini. Nous pouvons finalement remarquer, que des fonctions vérifiant de telles hypothèses sont Reimann intégrables.

98 98 Chapitre 6. Ordonnancement avec coûts de position δ i (t) t f i (t) 1 0 t Fig. 6.1 Une solution δ i (t) et le coût de la tâche i. Il existe une relation entre le programme PCAP et le programme avec variables d affectation basé sur la discrétisation du temps suivant (présenté dans la section du chapitre 2) min T 1 c ityit (6.5) i J t=0 T 1 s.c. y it = p i i J t=0 y it m t 0,..., T 1 i J y it {0, 1} i J, t {0,..., T 1} La contrepartie des variables y it sont les variables δ i (t). En effet, si dans le programme (6.5), les intervalles de temps, au lieu d être unitaires, sont de taille 1/κ et que κ, alors nous obtenons le problème PCAP. De plus, au lieu de définir T valeurs c it pour chaque tâche, nous avons une fonction f i(t) (t T ) associée à chaque tâche. Nous pouvons dire que PCAP est la généralisation du programme (6.5). Une des motivations de considérer le modèle continu PCAP est que sa méthode de résolution (que nous présentons plus loin) est polynomiale alors que les bornes inférieures basées sur le programme discret (6.5) sont pseudo-polynomiales (elles dépendent du nombre d intervalles unitaires de la partition du temps [103]). En relâchant les contraintes d intégrité (6.4), c est-à-dire, en les remplaçant par les contraintes 0 δ i (t) 1 pour i = 1,..., n, nous pouvons formuler le programme dual Yasmin A. Ríos Solís

99 6.2. Modélisation du problème P pmtn i fi 99 de PCAP, que l on nomme DCAP (u = (u 1, u 2,..., u n ) et p = (p 1, p 2,..., p n )) : maxu T p m v (t)dt T i J T w i (t)dt s.c. u i v (t) w i (t) f i (t) i J, t T v (t),w i (t) 0 i J, t T où les variables duales u i correspondent aux contraintes (6.2), la fonction v(t) correspond à la contrainte (6.3) et les fonctions w i (t) aux contraintes (6.4). Si δ(t) = (δ 1 (t), δ 2 (t),...δ n (t)) est une solution de PCAP et (u, v (t),w(t)) (où w(t) = (w 1 (t), w 2 (t),..., w n (t))) est une solution de DCAP, alors la dualité faible est vérifiée : u t p m v (t) T i J T ( ) u i δ i (t)dt i J = i J i J T T T w i (t)dt i J δ i (t) (u i v (t) w i (t)) dt δ i (t) v (t)dt δ i (t)w i (t)dt T i J T δ i (t) f i (t)dt. (6.6) Le théorème 6.1, basé sur la dualité forte des programmes linéaires discrets, montre que la dualité forte est valable entre PCAP et DCAP. C est-à-dire, qu il n y a pas de saut de dualité et donc, une solution optimale du programme dual implique une solution optimale pour le programme primal. Théorème 6.1 Les solutions optimales de PCAP et DCAP ont la même valeur. Preuve. Cette preuve est basée sur celle que Sourd [98] a présenté pour démontrer la dualité forte pour le cas à une seule machine. L idée est de discrétiser PCAP pour obtenir un programme linéaire discret pour lequel la dualité forte est valide. Ensuite on pourra construire des solutions réalisables pour DCAP qui donneront des valeurs aussi proches que l on veut de la valeur du programme PCAP. Pour discrétiser le programme PCAP, nous considérons une partition c = {c 1,..., c K } de T avec les intervalles c k = [ k k+1 KT, K T). Pour chaque fonction f i (t) nous définissons le coût discret fi c(t) associé à f i(t) comme la fonction linéaire constante par morceaux qui est constante dans chaque intervalle c k c et qui est égale au minimum de f i (t) sur l intervalle où t c k. Ce minimum est noté f c ik = min t c k f i (t). Autrement dit, f c i (t) = fc ik pour le seul k tel que c k t. Par définition nous savons que f c i f i. Soit PCAP c le problème PCAP mais qui est associé aux fonctions de coût f c i. Comme la fonction f c i est constante dans chaque intervalle de c alors le programme

100 100 Chapitre 6. Ordonnancement avec coûts de position PCAP c s écrit de la manière suivante : min K fik c x ik i J k=1 s.c. x ik = δ i (t)dt c k K x ik = p i i J k=1 δ i (t) m i J δ i (t) {0, 1} t T t T Chaque solution δ(t) de PCAP c détermine une solution réalisable du problème discret de transport entre les tâches de l ensemble J et les intervalles de c. Il est noté PPL c et s écrit comme suit : min K fik c x ik i J k=1 K s.c. x ik = p i k=1 x ik m 1/K 2 i J i J k = 1,..., K Réciproquement, on peut dériver de n importe quelle solution réalisable de PPL c une solution réalisable pour PCAP c. Alors l optimum de PPL c donne l optimum de PCAP c. Le dual de PPL c est le programme linéaire suivant K maxu t p m v k 1/K 2 k=1 s.c. u i v k fik c v k 0 i J, k = 1,..., K k = 1,..., K On construit la fonction constante par morceaux v telle qu elle soit égale à v k dans chaque intervalle c k. Comme fi c f i, alors (u, (v 1,..., v K )) est une solution réalisable de DCAP et a le même coût que l optimum de PCAP c. En prenant des partitions c avec intervalles plus petits, on peut approcher l optimum de PCAP c aussi près que l on veut. Nous pouvons conclure qu il n y a pas de saut de dualité entre PCAP et son programme dual DCAP. Yasmin A. Ríos Solís

101 6.3. Solution pour P pmtn i fi Solution pour P pmtn i fi Dans cette section nous proposons une méthode pour déterminer la valeur optimale du programme DCAP qui, comme on vient de le montrer, correspond à la valeur optimale de PCAP. On note DCAP(u) le problème dual DCAP où le vecteur u a une valeur donnée fixe. L idée générale de la méthode est de déterminer les instants du temps où l affectation des tâches aux machines change et construire une partition du temps avec ces instants. Ainsi, en résolvant des problèmes indépendants pour chaque intervalle de temps engendré par la partition, nous obtenons la solution du problème global. Finalement, en optimisant la valeur de u nous obtenons la solution optimale de DCAP. Le théorème 6.2 nous permet d exhiber des conditions nécessaires et suffisantes pour que les solutions de DCAP et PCAP soient optimales. Théorème 6.2 Supposons que δ(t) et (u, v(t), w(t)) sont respectivement des solutions réalisables de PCAP et DCAP. Alors, ces solutions sont optimales si et seulement si les conditions suivantes sont satisfaites (f i (t) u i + v(t) + w i (t)) δ i (t) = 0 i J, t T (6.7) ( ) δ i (t) m v(t) = 0 t T (6.8) i J (δ i (t) 1) w i (t) = 0 i J, t T (6.9) Preuve. Ces conditions sont obtenues à partir des inégalités de la dualité faible (6.6) et d après le théorème 6.1 qui garantit qu il n y a pas de saut de dualité entre PCAP et DCAP. Il faut noter que ces conditions, correspondent à la version continue des conditions de complémentarité (complementary slackness conditions en anglais) du programme linéaire avec variables d affectation (6.5). Les programmes linéaires continus ont déjà été traités dans la littérature dans des domaines différents que l ordonnancement (voir le livre de Kipp [60] ou les articles [113, 74, 4]). Un des objectifs de ces papiers et de formuler des algorithmes de résolution du type simplex. Les preuves de dualité faible, dualité forte et les conditions de complémentarité ont donc déjà été présentés dans la littérature dans des contextes plus généraux. L intérêt de les avoir présentés dans cette thèse est que dans la théorie de l ordonnancement ce type de preuves et de méthodes ne sont pas très utilisées et qu elles sont placées dans un contexte de problèmes d ordonnancement. Nous définissons, dans le but de décomposer DCAP(u) en sous-problèmes indépendants, la partition du temps σ(u) formée par les intersections entre les fonctions f i (t) u i et de leur racines. De façon plus précise, la partition σ(u) a la forme

102 102 Chapitre 6. Ordonnancement avec coûts de position suivante σ(u) = { t f i (t) u i = f i (t) u i, i, i J } {t f i (t) u i = 0, i J}. Le lemme suivant montre que les instants où l affectation des tâches aux machines peut changer, appartiennent aux éléments de la partition σ(u). Lemme 6.3 Soit I l = [t l, t l+1 ) un intervalle induit par la partition σ(u). L affectation optimale des tâches aux machines reste inchangée à l intérieur de l intervalle de temps I l et peut être calculée en temps polynomial. Preuve. Remarquons qu à chaque instant t du temps nous pouvons calculer l affectation optimale des tâches aux machines (et donc la solution optimale de DCAP(u) à l instant t) en choisissant les m plus petites valeurs négatives de l ensemble {f 1 (t) u 1, f 2 (t) u 2,..., f n (t) u n }. En effet, les contraintes (6.7) impliquent que si δ i (t) > 0 (la tâche i est exécutée au temps t) alors f i (t) u i + v(t) + w i (t) = 0, DCAP est un programme de maximisation et les fonctions w i (t), v(t) 0. En plus, par la définition de la partition σ(u), les indices des au plus m plus petites valeurs de l ensemble {f 1 (t) u 1, f 2 (t) u 2,..., f n (t) u n } restent inchangés quand t varie dans I l. À l aide de la partition σ(u), le problème DCAP(u) peut se formuler de la façon suivante : t1 maxu t p m v (t)dt t1 t2 w i (t)dt m v (t) dt 0 i J 0 t 1 t2 tl w i (t)dt m v (t)dt i J t 1 t L 1 i J s.c. u i v (t) w i (t) f i (t) i J, t [0, t 1 ) tl u i v (t) w i (t) f i (t) i J, t [t L 1, t L ) w i (t),v(t) 0 i J, t [0, t 1 ) w i (t),v(t) 0 i J, t [t L 1, t L ) t L 1 w i (t)dt où L = σ(u). Observons que u t p est une constante et que les fonctions à déterminer sont v (t) et w i (t), i. Soient v l (t), wi l(t) et δl i (t), respectivement les valeurs des fonctions v(t) et w i (t) dans l intervalle I l. Nous avons L 1 problèmes indépendants à Yasmin A. Ríos Solís

103 6.3. Solution pour P pmtn i fi 103 résoudre : max m v l (t)dt wi l (t)dt (6.10) I l i J I l s.c. u i v l (t) w l i (t) f i (t) w l i (t),v l (t) 0 i J, t I l i J, t I l Maintenant, nous déterminons les valeurs optimales des fonctions v l (t), w l i (t) et δl i (t), que nous notons ṽ l (t), w i l(t) et δ i l (t), qui dépendent de l affectation des tâches aux machines dans l intervalle I l. On définit l ensemble J l des tâches candidates pouvant être réalisées dans cet intervalle en triant dans l ordre croissant, pour un instant t (arbitraire) de I l, l ensemble des valeurs {f 1 (t) u 1, f 2 (t) u 2,..., f n (t) u n } et en considérant celles qui sont négatives : J l = {i f i(t) u i 0 pour un instant t I l }. Cet ensemble est bien défini car dans chaque intervalle I l de σ(u) les fonctions f i (t) u i ( i) ne s intersectent pas. On est face à deux types d intervalles : Cas 1 : J l m. Dans ce cas, au plus m tâches se réaliseront durant l intervalle I l (il se peut que quelques machines ne soient pas utilisées si J l < m). L ensemble Jl = J l contient les tâches qui seront exécutées durant I l. Alors pour t I l, ṽ l (t) = 0 et w l i(t) = { f i (t) u i si i Jl δ i l (t) = 1, 0 sinon δ i l (t) = 0. Cas 2 : J l > m. Ici, le nombre de tâches candidates est supérieur au nombre de machines disponibles et on doit faire une sélection des m meilleures tâches. L ensemble J l correspond aux m premières tâches de l ensemble trié J l, c està-dire, que pour tout autre sous-ensemble J l J l il existe i Jl tel que f i (t) u i < fi l (t) u i pour i J l, t I l. En prenant l ensemble des m tâches qui ont les plus petites valeurs f i (t) u i < 0 pour n importe quel t I l, on minimise le coût total des exécutions des tâches. Les fonctions ṽ l (t) et w l i (t) ( i) prennent les valeurs suivantes : ṽ l (t) = min (f i (t) u i ) i/ J l et w l i(t) = { fi l(t) u i ṽ l (t) si i Jl δ i l (t) = 1, 0 sinon δ i l (t) = 0.

104 104 Chapitre 6. Ordonnancement avec coûts de position De cette façon, les conditions de complémentarité (6.7), (6.8) et (6.9) sont satisfaites et donc δ l i (t) est optimal pour toute tâche i et tout intervalle I l. Ci-dessous, nous allons démontrer que les fonctions δ i (t), composées par les fonctions δ i l(t), déterminées à partir des fonctions duales ṽl (t) et w i l (t), sont optimales. Lemme 6.4 Les fonctions solution δ i (t) sont optimales pour toute tâche i et pour tout t T. Preuve. Pour démontrer que δ i (t), déterminée à partir des fonctions duales ṽ l (t) et w i l (t), est optimale on rappelle que le problème dual DCAP peut être discrétisé et décomposé en sous-problèmes indépendants (6.10). Nous effectuons une approximation supérieure et inférieure des fonctions f i (t) u i comme dans la figure 6.2. f i (t) u i f ǫ i u i f ǫi u i ε ε 0 ε 2ε T Fig. 6.2 Discrétisation du problème PCAP. Les intervalles de taille ǫ résultant de la discrétisation sont notés ǫ = (0, ǫ), 2ǫ = (ǫ, 2ǫ),..., kǫ = ((k 1)ǫ, kǫ),... De façon analogue à la preuve du théorème 6.1, pour chaque fonction f i (t) u i on définit le coût discret fi kǫ u i associé à f i (t) u i comme la fonction linéaire constante par morceaux (constante dans chaque intervalle) qui est égale au minimum de f i (t) u i dans l intervalle. De la même façon on peut construire pour la discrétisation une approximation supérieure des fonctions f i (t) u i. Les deux discrétisations vont converger vers la même fonction donc, on regarde seulement la discrétisation inférieure. Il suffit alors, d optimiser dans chaque intervalle et de faire tendre ǫ vers 0. Nous avons des programmes à maximiser indépendants comme le Yasmin A. Ríos Solís

105 6.3. Solution pour P pmtn i fi 105 suivant max m ǫv kǫ + i J ǫw kǫ i s.c. u i + v kǫ + w kǫ i w kǫ i, v kǫ 0 f kǫ i i J i J On remarque que v kǫ et wi kǫ sont des valeurs constantes et elles sont négatives alors on s intéresse aux m tâches telles qu elles ont les plus petites valeurs fi kǫ u i 0. S il y en a moins de m alors toutes les machines ne sont pas utilisées. Finalement, on choisit des valeurs pour v kǫ, wi kǫ et δ kǫ qui garantissent le choix précèdent et de manière qu elles vérifient les contraintes du programme dual. Cette procédure est basée sur celle qu effectue Sourd [98] pour le cas à une seule machine. par : Soit q : R n+1 R la fonction qui a comme variable le vecteur u et qui est définie q (u) = u t p m ṽ (t)dt T i J T w i (t) dt où les fonctions ṽ (t) et w i (t) sont déterminées à partir des fonctions ṽ l (t) et w l i (t). Le programme dual DCAP est alors max q (u). u R n En plus, par définition la fonction q est concave. Nous pouvons trouver une solution optimale à l aide d un sous-gradient. De cette façon, l algorithme que nous venons de proposer dépend de la vitesse de convergence du sous-gradient. La maximisation de la fonction q(u) est polynomiale si nous utilisons, par exemple, la méthode de l ellipsoïde (pour plus de détails sur cette méthode, voir le chapitre 10 du livre [75]). Pour récapituler, l algorithme 3 permet de trouver la valeur optimale du problème P pmtn i fi. Pour améliorer la performance de cet algorithme, nous utilisons l algorithme 4 qui est une adaptation de l algorithme de balayage (sweeping algorithm en anglais) de Boissonnat et Yvinec [12]. Il détermine, de façon efficace, les intersections entre des segments de droites. Pour décrire ce dernier algorithme, il faut spécifier les deux structures de données suivantes : Une queue d événements où sont triés les événements futurs dans l ordre de la variable en abscisse. Chaque événement contient l information qui nous indique si c est le point final d un segment, s il s agit de l intersection entre deux segments et les segments possiblement impliqués dans cet événement. Les opérations que cette structure de données doit faire sont :

106 106 Chapitre 6. Ordonnancement avec coûts de position Algorithme 3 Valeur optimale du problème P pmtn i fi. 1: Déterminer la partition σ(u). 2: pour chaque intervalle de temps de σ(u) faire 3: Soit t σ(u) un instant arbitraire 4: Trier dans l ordre croissant les valeurs des fonctions f i (t) u i pour i = 1,..., n 5: J = {i f i (t) u i est dans les premières m valeurs du tri et f i (t) u i 0} 6: si i J alors 7: δ i (t) = 1 dans l intervalle de σ(u) 8: sinon 9: δ i (t) = 0 dans l intervalle de σ(u) 10: fin si 11: fin pour insérer un événement (s il n est pas déjà présent dans la queue) et extraire l événement minimum. Un arbre binaire qui effectue les opérations suivantes : supprimer un segment de droite, insérer un segment de droite, permuter la position de deux segments, et déterminer le prédécesseur et le successeur immédiats de n importe quel élément. Avec un arbre binaire équilibré, ces opérations peuvent être effectuées en O(log n) de temps. Remarque 6.5 Le problème d ordonnancement avec des dates de disponibilité différentes de 0, P pmtn, r i i fi, peut être résolu avec l algorithme que nous venons de présenter. En effet, il suffit d assigner à la fonction f i une valeur très grande dans l intervalle [0, r i ). Ainsi, la solution optimale du problème P pmtn, r i i fi correspond à une borne inférieure du problème d avance-retard P r i i α ie i + β i T i. 6.4 Approche par relaxation Lagrangienne Dans cette section, nous utilisons la relaxation Lagrangienne pour déterminer la solution du problème P pmtn i fi. Nous rappelons que la préemption peut être effectuée à n importe quel instant du temps et pas seulement aux instants entiers. À partir du programme PCAP (6.4), nous considérons la relaxation Lagrangienne des contraintes qui assurent que chaque tâche est effectuée dans sa totalité dans l ordonnancement, c est-à-dire, les contraintes (6.2) T δ i(t)dt = p i ( i J). Étant donné Yasmin A. Ríos Solís

107 s.c. i J 6.4. Approche par relaxation Lagrangienne 107 Algorithme 4 Algorithme de balayage [12]. 1: Insérer tous les points de fin des segments (i.e. les morceaux linéaires des fonctions f i (t) u i ) dans la queue d événements 2: tant que la queue d événements n est pas vide faire 3: si début de segment alors 4: Insérer ce segment dans la queue d événements 5: Calculer des possibles intersections avec l élément parent et successeur 6: fin si 7: si fin de segment alors 8: Effacer ce segment de l arbre binaire 9: Calculer des possibles intersections entre les éléments immédiatement précédent et suivant 10: fin si 11: si point d intersection alors 12: Échanger les deux segments dans l arbre binaire 13: Pour le nouveau segment supérieur, calculer s il existe une intersection avec son prédécesseur 14: Pour le nouveau segment inférieur, calculer s il existe une intersection avec son successeur 15: fin si 16: fin tant que un vecteur u nous avons min u i p i + i J i J T (f i (t) u i )δ i (t)dt δ i (t) m t T De cette façon, nous avons des problèmes indépendants pour chaque instant t et en définissant g u (t) = min i J(f i (t) u i )δ i (t)dt s.c. i J δ i (t) m t 0, la solution du problème est donc i J u i p i + g u (t)dt. T Calculer g u (t) correspond à choisir au plus m valeurs dans l ensemble des valeurs réelles {f 1 (t) u 1, f 2 (t) u 2,..., f n (t) u n } telles que la somme des ces valeurs soit minimale. Cette procédure peut être effectuée en classant ces valeurs et en choisissant les m plus petites valeurs s il y a au moins m valeurs négatives ou sinon en choisissant

108 108 Chapitre 6. Ordonnancement avec coûts de position f 1 (t) u 1 f 2 (t) u 2 f 3 (t) u t Fig. 6.3 Calcul de g u (t)dt pour un exemple à deux machines. toutes les valeurs négatives. La figure 6.3 illustre géométriquement le calcul de la valeur gu (t)dt pour un exemple à deux machines. L intégrale est la somme des surfaces hachurées. En considérant les intervalles définis par la partition σ(u) et comme les m plus petites valeurs négatives de chaque intervalle restent invariantes, alors nous pouvons calculer g u (t). Pour déterminer les points de la partition σ(u) et les m plus petites valeurs négatives nous utilisons une adaptation des algorithmes 3 et 4. Comme nous le verrons dans la section suivante, les fonctions de coût sont composées de deux segments de droite, alors l algorithme 4 de balayage nécessite O(n 2 ) de temps. Donc, g u (t)dt peut être calculé en O(n 2 m) de temps. À l aide d un sous-gradient ou d un algorithme de l ellipsoïde (temps polynomial) nous calculons la valeur optimale du vecteur u. Remarque 6.6 Sourd [101] présente des algorithmes polynomiaux pour les cas à 1 et 2 machines et pour des instances qui ont une date d échéance commune. Tandis que la méthode que nous présentons dans ce chapitre n est pas combinatoire ni fortement polynomiale, l avantage que présente la résolution de ces problèmes est qu ils le sont, puisqu ils peuvent être résolus sans avoir recours à la maximisation d une fonction concave. 6.5 Résultats expérimentaux La solution optimale du problème P pmtn i fi correspond à une borne inférieure ( que nous appelons CONTASS) pour le problème P i α ie i + β i T i en se plaçant dans un cas où les fonctions f i (t) sont définies telles que s il n y a pas de Yasmin A. Ríos Solís

109 6.5. Résultats expérimentaux 109 préemption nous ayons : Ci C i p i f i (t)dt = max (α i (d i C i ), β i (C i d i )) C i [p i, T]. (6.11) Les fonctions f i (t) proposées par Sourd [98] sont celles que nous utilisons : f i (t) = α i 2 + α i p i (d i t) si α i > β i et t < d i, β i 2 + β i p i (t d i ) si α i > β i et t d i, α i 2 + α i p i (d i t) si α i β i et t < d i p i, β i 2 + β i p i (t d i ) si α i β i et t d i p i. Dans la figure 6.4 sont illustrées deux fonctions de coût : la fonction f i (t) est telle que α i > β i et la fonction f i (t) telle que α i condition (6.11). β i. De telles fonctions vérifient la f i (t) f i (t) 0 d i d i t Fig. 6.4 Deux différentes fonctions de coût Algorithmes L objectif de cette section est de comparer la borne inférieure pour P i α ie i + β i T i, basée sur la résolution du problème P pmtn i fi, avec d autres bornes inférieures et supérieures pour évaluer leur qualité et les temps de calcul. Dans la section 2.2 du chapitre 2, nous avons présenté plus en détail les quatre bornes inférieures auxquelles nous comparons les solutions de CONTASS : LINCG, LAGOCC, LAGRES, ASSSKS (la présentation plus détaillée de ces bornes se trouve dans l article [57]). Ci-dessous, nous

110 110 Chapitre 6. Ordonnancement avec coûts de position présentons l implémentation des algorithmes utilisés pour obtenir toutes les bornes (ils sont tous codés en C++) : LINCG : implémente la relaxation linéaire avec génération de colonnes basée sur le modèle avec des variables indexées sur le temps (2.1) que nous avons présenté dans la section du chapitre 2. Cet algorithme utilise ILOG CPLEX 9.1 pour résoudre les programmes linéaires. LAGOCC : implémentation de la relaxation Lagrangienne du nombre d occurrences des tâches de ce même modèle (programme 2.1 du chapitre 2). Le programme de transport est résolu à l aide de la librairie GOBLIN 2.7. LAGRES : implémentation de la relaxation Lagrangienne des contraintes de ressource du modèle avec des variables indexées sur le temps (2.1). ASSSKS : implémente la borne basée sur le modèle avec des variables d affectation discrètes (2.4), présenté dans la section du chapitre 2, avec les coûts définis par Sourd et Kedad-Sidhoum [103]. Elle est obtenue par relaxation des variables qui assurent la non-préemption des tâches (i.e. relaxation des variables z it ). Après plusieurs tests préliminaires, son implémentation est finalement basée sur ILOG CPLEX 9.1. ASSBKY : c est la variante de l algorithme précédent avec les coûts définis par Bülbül et al. [10]. CONTASS : implémentation de la borne inférieure basée sur des variables d affectation en temps continu que nous avons présentée dans ce chapitre. HEUR : implémentation d une recherche locale basée sur des mouvements simples de tâches : Job-swap : deux tâches sont sélectionnées sur la même ou une différente machine et échangent leur positions. Extract and reinsert : une tâche est élue et insérée dans n importe quelle autre position. List-crossover : deux machines sont sélectionnées, par exemple M j et M j, et aussi deux positions r et r. L ordonnancement de la machine M j est modifié en mettant dans ses premières r tâches suivies des tâches qui sont après la position r de la machine M j. L inverse est fait pour M j. Cet algorithme est exécuté 10 fois et la meilleure solution est retenue. Cette borne supérieure est très efficace et est utilisée aussi comme point de comparaison dans la section du chapitre 4. Les bornes LINCG, LAGOCC, LAGRES, ASSSKS, ASSBKY et HEUR ont été implémentées par Sourd et Kedad-Sidhoum [57]. L algorithme HEUR donne une borne supérieure tandis que toutes les autres implémentations donnent des bornes inférieures. L algorithme CONTASS doit maximiser une fonction concave (LAGOCC et LAGRES Yasmin A. Ríos Solís

111 6.5. Résultats expérimentaux 111 aussi). Pour ces trois algorithmes, deux méthodes d optimisation sont testées : un sousgradient et la librairie SolvOpt 1.1 [56], qui est une implémentation du r algorithme de Shor. Pour les algorithmes LAGOCC et CONTASS, la méthode SolvOpt est plus efficace que la méthode du sous-gradient car la convergence est meilleure et plus rapide. Néanmoins, pour LAGRES, la méthode du sous-gradient es plus efficace, probablement à cause du grand nombre de multiplicateurs et de leur positivité. Le sous-gradient est arrêté quand 100 itérations sont effectués sans amélioration ou quand la limite de 600 secondes est atteinte. Les algorithmes LINCG, ASSSKS et ASSBKY obtiennent une borne inférieure uniquement à la fin de leur exécution à cause de la génération de colonnes, c est pourquoi ils n ont pas de limite de temps Instances Les instances sur lesquelles toutes les bornes sont testées ont été générées en utilisant les paramètres usuels de l ordonnancement d avance-retard qui existent dans la littérature (voir e.g. [52]). Les temps d exécution des tâches sont générés à partir de la distribution uniforme de [p max /10,..., p max ] où p max = 100. CONTASS est compétitive surtout lorsque p max est grand car cette borne évite la discrétisation de la ligne du temps. La borne que nous avons étudiée dans ce chapitre, CONTASS, hérite de cette propriété. Pour la simplicité des comparaisons toutes les dates de disponibilité sont égales à zéro. Les dates d échéance sont tirées de la distribution uniforme U[d min, d min + ρp] où d min = max(0, P (τ ρ/2)) et P = n i=1 p i/m. Les facteurs τ et ρ sont respectivement les paramètres de retard et d amplitude. Nous avons généré des instances avec n {30, 60, 90}, m {1, 2, 4, 6}, τ {0.2, 0.5, 0.8} et ρ {0.2, 0.5, 0.8}. Pour chaque combinaison (n, m, τ, ρ), cinq instances ont été générées. De cette façon, 540 instances ont été testées. La motivation d avoir des petites valeurs correspondant au paramètre du retard τ est qu en pratique, dans les problèmes d ordonnancement, les dates d échéance ne sont pas très distantes et ces instances sont expérimentalement plus difficiles. Le paramètre p max est d importance primordiale pour le calcul des bornes inférieures car la taille de l horizon de temps en dépend fortement. Comme nous l avons dit précédemment, un des avantages de la borne obtenue avec la méthode CONTASS est qu elle n est pas basée sur une discrétisation unitaire du temps. À notre connaissance, les bornes inférieures obtenues à partir des formulations indexées sur le temps, avec des variables d affectation et des coûts de position n avaient jamais été comparées dans la littérature Résultats for all the classes of instances, the mean CPU time and the absolute mean deviation of the upper and lower bounds from the best known solution, which is the best solution

112 112 Chapitre 6. Ordonnancement avec coûts de position found after ten runs of Heur. Le tableau 6.1 montre, pour toutes les classes d instances, le temps moyen CPU et la déviation moyenne absolue entre la borne supérieure HEUR et les bornes inférieures. Le tableau est divisé en quatre parties. Dans la première partie, les instances sont classées par rapport aux trois différentes valeurs du nombre de machines m (2, 4 et 6). De façon similaire, dans les deuxième, troisième et quatrième parties les instances sont respectivement classées par rapport aux paramètres n, τ et ρ. HEUR ASSSKS ASSBKY CONTASS LINCG LAGRES LAGOCC m=2 0.57% 10.9% 9.10% 9.10% 1.46% 1.64% 4.03% 18.9s 34.0s 72.9s 152s 486s 23.9s 401s m=4 0.89% 15.3% 14.4% 15.1% 1.50% 1.72% 7.8% 9.01s 10.6s 29.7s 115s 117s 3.82s 432s m=6 0.98% 18.0% 20.5% 20.5% 1.39% 1.66% 9.3% 6.76s 5.21s 22.3s 106s 53.8s 2.79s 438s n= % 19.1% 22.4% 22.4% 0.80% 1.10% 0.81% 0.48s 0.81s 3.59s 3.50s 12.8s 0.75s 92.6s n= % 13.9% 12.6% 12.6% 1.55% 1.79% 1.99% 5.89s 8.81s 26.0s 56.9s 129s 5.62s 575s n= % 11.2% 9.70% 9.70% 2.0% 2.21% 18.3% 28.3s 40.3s 95.4s 314s 517s 24.1s 600s τ = % 13.6% 11.3% 11.3% 1.45% 1.65% 8.79% 7.73s 20.8 s 54.2s 135s 281s 15.7s 419s τ = % 15.8% 15.9% 15.9% 1.79% 2.02% 8.19% 11.2s 14.4s 34.8s 129s 200s 9.08s 426s τ = % 14.7% 16.7% 16.7% 1.11% 1.35% 4.14% 15.7s 14.7s 35.9s 110s 117s 5.7s 426s ρ= % 9.40% 5.79% 5.79% 0.27% 0.40% 3.37% 10.6s 20.5 s 57.1s 136s 275s 7.51s 408s ρ= % 12.7% 10.9% 10.9% 0.99% 1.22% 5.23% 11.3s 16.5s 40.7s 123s 223s 9.99s 431s ρ= % 22.1% 28.0% 28.0% 3.08% 3.40% 12.5% 12.8s 12.8s 27.1s 114s 160s 13.0s 431s %Dév 0.81% 14.7% 14.7% 14.7% 1.45% 1.67% 7.04% Dév max 7.03% 39.4% 70.2% 70.2% 11.9% 12.4% 60.4% % CPU 11.5s 16.6s s 124s 219s 10.2s 423s Tab. 6.1 Déviations moyennes et temps CPU pour les instances à machines parallèles. Le tableau 6.2 indique l efficacité de chaque algorithme pour le cas à une seule machine m = 1. Pour les instances à 90 tâches, LINCG peut requérir beaucoup de temps de calcul (plus d une heure), alors dans le tableau sont considérées seulement les instances qui sont résolues en moins d une heure. Pour la plupart des algorithmes, les temps CPU sont plus grands pour les instances avec peu de machines. Ainsi, le cas à une seule machine est le plus compliqué. La seule exception à la règle est l algorithme LAGOCC, qui a un comportement contraire pouvant être expliqué par la difficulté de trouver l optimum de la fonction Lagrangienne. En Yasmin A. Ríos Solís

113 6.6. Conclusions 113 HEUR ASSSKS ASSBKY CONTASS LINCG LAGRES LAGOCC %Dév 0.23% 6.95% 5.28% 5.28% 1.52% 1.69% 1.65% Dév max 3.90% 23.1% 24.2% 24.2% 7.17% 7.64% 8.40% % CPU 23.4s 106s 187.1s 178s 1010s 178s 347s Tab. 6.2 Déviations moyennes et temps CPU pour les instances à une seule machine. effet, nous avons observé que dans les solutions des problèmes Lagrangiens, il existe des tâches qui sont souvent exécutées m fois au temps t, t + 1,..., t + m 1 ce qui peut impliquer que la fonction est très mal calibrée. De manière naturelle, les temps CPU augmentent avec le nombre de tâches n. Les paramètres associés à la génération de la date d échéance ne sont pas très significatifs mais les temps CPU sont légèrement moins longs quand τ ou ρ augmentent. Comme remarqué en théorie, les bornes basées sur la formulation avec variables indexées sur le temps sont meilleures que les autres [103]. De plus, tandis que leur déviation ne varie pas avec le nombre de machines, les bornes basées sur des variables d affectation se détériorent quand m augmente. Nous considérons qu une bonne borne est celle qui a une petite déviation et qui peut être calculée en un temps raisonnable. D après ce point de vue, la borne LAGRES est celle qui fournit ce compromis. Dans le cas à une seule machine, la borne LAGOCC est aussi une bonne candidate. La borne ASSSKS est plus rapide à calculer que ASSBKY car il existe des colonnes avec des coûts d affectation identiques qui peuvent être agrégées dans le programme linéaire. La borne CONTASS donne des solutions qui sont en pratique très proches des celles obtenues par ASSBKY, elle est plus rapide pour le cas à une seule machine mais ne l est plus si m > 1, bien que polynomiale. Les bornes que l algorithme CONTASS fournit ne sont pas les plus performantes. La meilleure borne inférieure est la relaxation linéaire LINCG. CONTASS est relativement efficace quand m = 1 mais son efficacité diminue quand le nombre de machines augmente. Il faut remarquer que pour plusieurs instances CONTASS et ASSBKY ne sont pas capables de trouver une meilleure borne inférieure que la valeur nulle ce qui détériore de façon significative leurs performances moyennes. Ce phénomène a déjà été observé par [10] et [98] quand la compétition entre plusieurs tâches pour les ressources est faible. 6.6 Conclusions Dans ce chapitre nous nous sommes intéressés au problème d ordonnancement à machines parallèles identiques où les fonctions de coût des tâches ne dépendent pas de leur date de fin : P pmtn i fi. Une des particularités de ce problème est que la préemption des tâches peut se réaliser à n importe quel instant du temps et pas seulement aux instants entiers.

114 114 Chapitre 6. Ordonnancement avec coûts de position La solution exacte du problème P pmtn i fi avec des coûts de position f i spécifiques, fournit une borne inférieure pour le problème P i α ie i + β i T i. Cette méthode a l avantage de ne pas dépendre de l horizon du temps, elle est polynomiale. Il faut mentionner que le modèle que nous proposons et le modèle avec des variables d affectation sont très liés, on peut dire que le problème que nous avons étudié dans ce chapitre en est la version continue. Nous avons comparé expérimentalement plusieurs bornes pour le problème P i α ie i + β i T i, parmi elles se trouvent la borne inférieure que nous avons présenté dans ce chapitre (CONTASS), des bornes inférieures basées sur le modèle avec variables d affectation, des bornes basées sur un modèle avec des variables indexées sur le temps et une borne supérieure. Les résultats expérimentaux pour CONTASS sont satisfaisants, bien qu il existe d autres bornes plus performantes. Quand les machines ne sont plus identiques, c est-à-dire, que leurs vitesses sont différentes (dépendantes ou indépendantes), l algorithme que nous avons proposé ne peut plus s adapter. En effet, l affectation des tâches aux machines à chaque instant du temps reste polynomiale mais nous sommes incapables, pour le moment, de déterminer les instants du temps où l affectation des tâches aux machines change. Ce problème reste, néanmoins, dans nos perspectives. Yasmin A. Ríos Solís

115 Chapitre 7 Conclusions et perspectives Conclusions Le travail présenté se situe dans le cadre de l étude des problèmes d ordonnancement qui se posent dans un environnement à machines parallèles et qui ont des pénalités d avance et de retard sur les tâches. L objectif de cette thèse a été de déterminer des méthodes de résolution pour ces problèmes. Si parfois les méthodes de résolution pour le cas à une seule machine peuvent être facilement adaptées au cas à machines parallèles, dans la plupart des cas, il est souvent plus pertinent de déterminer des algorithmes spécifiques. Plus précisément, nous avons réalisé les recherches suivantes : Pour les problèmes d avance-retard avec une date d échéance commune restrictive, 1 d i = d r i α ie i + β i T i et P d i = d r i α ie i + β i T i, nous avons défini un nouveau voisinage qui a la caractéristique d être de taille exponentielle. Nous avons ensuite proposé des algorithmes de programmation dynamique pseudopolynomiaux qui permettent de déterminer l ordonnancement à coût minimal dans le voisinage. Ainsi, à l aide d algorithmes de recherche locale nous obtenons des minimums locaux. De plus, nous avons prouvé que déterminer l ordonnancement à coût minimal dans le voisinage exponentiel est un problème NPdifficile. Finalement, nous avons testé et comparé ces algorithmes avec d autres bornes supérieures et inférieures basées sur des heuristiques ou sur des relaxations de programmes mathématiques. Nous avons constaté que l avantage des bornes supérieures obtenues avec les voisinages exponentiels réside dans sa qualité malgré le temps pseudo-polynomial de calcul. Nous avons proposé une méthode exacte, qui est nouvelle dans le domaine de l ordonnancement. Elle consiste, premièrement, à modéliser un problème d ordonnancement par un programme quadratique en 0-1 sous contraintes linéaires. Deuxièmement, à reformuler ce problème de façon qu il soit convexe et équivalent dans l espace des solutions réalisables. Ainsi, la relaxation continue de cette re- 115

116 116 Chapitre 7. Conclusions et perspectives formulation peut être calculée en temps polynomiale. Finalement, à l aide du solveur pour programmes quadratiques en nombres entiers de ILOG CPLEX, nous résolvons exactement le problème initial. Nous avons montré que cette méthode exacte s applique à différents types de problèmes d ordonnancement : R i w ic i, P i w ic i, R d i = d r i α ie i +β i T i et R d i = d l i α ie i +β i T i. Pour reformuler les programmes quadratiques qui modélisent ces problèmes d ordonnancement nous avons utilisé deux techniques. La première est basée sur la résolution d un programme semidéfini et a comme objectif de déterminer des paramètres de reformulation, de telle manière à obtenir la meilleure relaxation continue. La deuxième technique, consiste à augmenter les termes diagonaux de la matrice Hessienne de la fonction objectif de manière à la rendre semidéfinie positive. Des résultats expérimentaux ont montré que cette méthode exacte (avec les différentes techniques de reformulation) est en pratique très intéressante. De plus, nous obtenons, pour certains problèmes, les meilleurs résultats de la littérature. Nous avons proposé un algorithme polynomial pour un problème d ordonnancement préemptif à machines parallèles identiques qui a la caractéristique d avoir des coûts de position, c est-à-dire, des fonctions de coût qui ne dépendent pas de la date de fin des tâches : P pmtn i fi. La solution exacte de ce problème, basée sur la relaxation du programme dual et la preuve qu il n existe pas de saut de dualité, fournit une borne inférieure pour le problème P i α ie i +β i T i. L avantage de cette borne est qu elle est calculable en temps polynomial tandis que les autres bornes qui existent dans la littérature sont pseudo-polynomiales puisqu elles sont basées sur une discrétisation du temps. Dans les résultats expérimentaux nous nous comparons à une borne supérieure, basée sur des échanges de tâches, et avec quatre bornes inférieures basées, pour les unes, sur des relaxations de programmes avec des variables indexées sur le temps et, pour les autres, sur des relaxations de modèles avec des variables d affectation. Perspectives L étude des problèmes d avance-retard sur machines parallèles nous a permis d explorer, de généraliser et de proposer différentes méthodes pour obtenir des solutions optimales ou approchées. Cependant, des nombreuses pistes de recherche restent à explorer. Un challenge, auquel nous avons dédié du temps sans avoir encore de réponse, est de déterminer si la résolution des problèmes à machines parallèles différentes Q pmtn i fi et R pmtn i fi est polynomiale. Le sous-problème inhérent à ces problèmes correspond à une affectation des tâches aux machines avec coûts qui dépendent de façon continue du temps. Bien que la résolution de ce sousproblème peut être déterminée de façon polynomiale pour n importe quel ins- Yasmin A. Ríos Solís

117 117 tant ponctuel du temps, il nous est encore impossible de déterminer les instants dans le temps où l affectation change. L optimisation paramétrique [30, 29] ou la géométrie algorithmique [40, 12] pourraient peut-être nous guider pour obtenir des méthodes de résolution. Au vu des résultats obtenus avec la méthode exacte basée sur la relaxation continue de reformulations convexes de programmes quadratiques, nous sommes intéressés par les perspectives suivantes. La modélisation d autres problèmes d ordonnancement par des programmes quadratiques en 0-1 sous contraintes linéaires de manière à ce que les techniques de reformulation convexe puissent être utilisées. De façon plus générale, déterminer les propriétés des problèmes d ordonnancement pour lesquels il est possible d appliquer cette méthode exacte. Étudier la matrice Hessienne des programmes quadratiques modélisant des problèmes d ordonnancement. En effet, il existe des propriétés inhérentes aux problèmes d ordonnancement qui ne sont pas encore exploitées par la méthode que nous avons proposée. Par exemple, la matrice Hessienne est composée par des sous-matrices carrées diagonales associées à chaque machine. Dans cette thèse, nous avons remarqué, dans le chapitre 5, que le programme quadratique du problème P i w ic i a une structure particulière. En effet, la matrice Hessienne est composée de m sous-matrices diagonales identiques. Ce problème pourra être relaxé pour obtenir des sous-problèmes indépendants à résoudre. Pour le problème à date d échéance commune restrictive, R d i = d r i α ie i + β i T i, la technique de convexification consistant à augmenter les termes diagonaux de la matrice Hessienne, pourrait permettre de déterminer un algorithme avec garantie de performance en utilisant un algorithme appelé pipage rounding [1], qui permet d obtenir une solution réalisable à partir d une solution fractionnaire. Nous avons en perspective, de proposer une méthode de branch&bound pour le problème d avance-retard à machines parallèles. En effet, dans la plupart des problèmes d ordonnancement les critères d optimisation sont réguliers et donc dans l arbre de recherche, la question qui se pose pendant le branchement est de savoir quelle est la tâche suivante à insérer car l ajout peut, dans la plupart des cas, se faire sur la machine qui se termine le plus tôt dans l ordonnancement partiel [77]. Avec un critère irrégulier, comme le critère d avance-retard, il faut décider la machine et la tâche à insérer. Alors, des règles de dominance ainsi que des branchements spécifiques doivent être formulés. De nombreux travaux ont été effectués sur les paysages des solutions des problèmes combinatoires pour mieux déterminer la nature de l heuristique qui

118 118 Chapitre 7. Conclusions et perspectives permettra de les explorer [86, 11, 92]. Dans l annexe A, nous présentons une étude préliminaire du paysage des solutions du problème P d i = d r i α ie i + β i T i. Nous voudrions compléter cette étude pour ce problème et l étendre au problème plus général P i α ie i + β i T i. Yasmin A. Ríos Solís

119 Annexe A Étude préliminaire sur un paysage d espace des solutions A.1 Introduction Le problème P d i = d r i α ie i + β i T i a été préalablement étudié dans ce travail dans le chapitre 4. En effet, nous avons proposé un algorithme basé sur un voisinage de taille exponentielle. Dans le but d avoir un point de comparaison, nous avons introduit l heuristique HEUR qui est un algorithme de descente basé sur des échanges simples de tâches. Nous présentons dans cette annexe, une étude préliminaire sur le paysage de l espace des solutions crée par l heuristique HEUR pour le problème P d i = d r i α ie i + β i T i. Corroborer, compléter et analyser cette étude reste dans nos perspectives. L expression de paysages a son origine dans le fait qu il peut exister plusieurs optimums locaux pour la fonction objectif, ce qui est un piège pour l algorithme qui cherche l optimum global. Il ne faut pas identifier paysage avec espace de solutions. Le concept de paysage n est applicable que dans un contexte d une structure de voisinage et donc d opérateurs. Tandis qu un problème spécifique définit un espace de recherche unique, différents paysages sont formés par les différents opérateurs de l heuristique utilisés dans la recherche des optimums locaux. Des nombreux travaux ont été effectués sur les paysages des problèmes combinatoires. Nous pouvons citer l article de Boes et al. [11] qui montre que le problème du TSP a un paysage de grand vallée dans le cas de l opérateur d échange 2-opt. L article de Reeves [86] étudie les paysages que génèrent différents opérateurs (et métriques) appliqués à un problème d ordonnancement du type flowshop. Connaître la structure d un paysage est important pour mieux déterminer la nature de l heuristique qui permettra de l explorer. Dans l analyse des paysages, la manière de mesurer la distance entre deux solutions est très importante [86, 92]. 119

120 120 Chapitre A. Étude préliminaire sur un paysage d espace des solutions A.2 Quelques résultats expérimentaux Nous ne prenons en compte que l heuristique HEUR (l algorithme basé sur le voisinage exponentiel EXPN requiert plus de temps de calcul). Cette heuristique (ainsi que EXPN ) est présentée plus en détail dans le chapitre 4. Nous avons exécuté l heuristique HEUR (avec un ordonnancement initial aléatoire) 1000 fois sur les instances à 50 et 100 tâches des classes SPT et LPT avec facteurs restrictifs h = 0.2, 0.4 et 0.6 et 1, 4 et 8 machines. Pour chaque triplet (n, m, h), 10 instances différentes ont été exécutées. L objectif idéal de cette section serait de déterminer le type d algorithme approprié pour le problème P d i = d r i α ie i +β i T i avec les instances de la classe SPT et LPT pour l heuristique HEUR. Par exemple, s il y a peu de minimums locaux, un algorithme de descente simple peut être intéressant. Par contre s il y a beaucoup de minimums locaux, alors un algorithme qui permette de sortir facilement d un minimum local, semble plus approprié. La première ligne du tableau A.1 indique les facteurs restrictifs h. Les colonnes n et m sont respectivement le nombre de tâches et le nombre de machines. Les colonnes Nb-Min indiquent le nombre moyen de minimums locaux trouvés. Il faut préciser que nous regardons uniquement les coûts des ordonnancements. Ainsi, si plusieurs ordonnancements différents ont un coût identique, dans ce travail nous ne comptons qu un seul optimum local. Pour chaque instance sont identifiés le plus grand et le plus petit minimum local. Ainsi, dans les colonnes %Écart se trouvent la différence moyenne entre ces minimums. h = 0.2 h = 0.4 h = 0.6 n m Nb-Min %Écart Nb-Min %Écart Nb-Min %Écart Tab. A.1 Nombre de minimums locaux trouvés et écart moyen pour la classe LPT. Dans le tableau A.1 nous pouvons remarquer que pour les instances LPT (les tâches ont de temps d exécution entre 0 et 100), le nombre moyen de minimums locaux pour les instances avec une machine n est pas très grand. Les instances avec facteur restrictif h = 0.4, et 4 et 8 machines sont celles qui ont le plus grand nombre de minimums locaux trouvés. L écart moyen entre les minimums locaux est plus grand quand h et le nombre de machines augmente, mais ne dépasse pas de 2.31%. La figure A.1 représente les 6 minimums locaux trouvés d une instance de la classe LPT avec 50 tâches, une machine et h = 0.2. Le meilleur minimum local (777124) n est pas celui qui est donné le plus souvent par l heuristique HEUR cependant, ce n est pas Yasmin A. Ríos Solís

121 A.2. Quelques résultats expérimentaux 121 Fig. A.1 Valeurs des minimums locaux d une instance de la classe LPT. non plus celui qui est donné le moins souvent. Avec le tableau A.1 et la figure A.1 nous pouvons conclure que pour les instances de la classe LPT l espace de solutions nous semble très irrégulier et il est difficile d avoir une idée sur lui, surtout pour le cas à machines parallèles. h = 0.2 h = 0.4 h = 0.6 n m Nb-Min %Écart Nb-Min %Écart Nb-Min %Écart Tab. A.2 Nombre de minimums locaux trouvés et écart moyen pour la classe SPT. Dans le tableau A.2, nous remarquons qu en général, le nombre de minimums locaux des instances de la classe SPT est inférieur à celui des instances de la classe LPT. Les instances avec 4 et 8 machines n ont pas plus de 160 minimums locaux mais l écart moyen entre les minimums locaux est plus grand et peut atteindre 4.75%. Donc, le paysage de l espace de solutions des instances SPT est moins chaotique que pour celui des instances LPT mais reste quand même compliqué à cause du plus grand écart entre les solutions. La figure A.2 représente les valeurs de 6 minimums locaux d une instance de la classe SPT avec 50 tâches, une machine et h = 0.6. Nous remarquons que le coût du minimum local qui est donné le plus de fois par l heuristique HEUR n est pas le meilleur.

122 122 Chapitre A. Étude préliminaire sur un paysage d espace des solutions Fig. A.2 Valeurs des minimums locaux d une instance de la classe SPT. Néanmoins, le minimum local plus intéressant, n est pas celui qui apparaît le moins de fois. D après cette étude préliminaire où nous présentons quelques aspects du paysage induit par l heuristique HEUR pour le problème P d i = d r i α ie i + β i T i, nous n avons qu une idée du nombre de minimums locaux, de la fréquence avec laquelle ils apparaissent et l écart qu il existe entre deux minimums locaux. Comme nous l avons mentionné, dans nos perspectives nous continuerons cette analyse. Yasmin A. Ríos Solís

123 Bibliographie [1] A.A. Ageev and M.I. Sviridenko. Pipage rounding : a new method of constructing algorithms with proven performance garantee. Journal of Combinatorial Optimization, 8(3) : , [2] R.K. Ahuja, O. Ergun, J.B. Orlin, and A.P. Punnen. A survey of very large-scale neighborhood search techniques. Discrete Applied Mathematics, 123(1-3) :75 102, [3] M.S. Akturk and F. Erhun. An overview of design and operational issues of Kanban systems. International Journal of Production Research, 37 : , [4] E.J. Anderson. A new continuous model for job-shop scheduling. International Journal Systems Science, 12 : , [5] M. Azizoglu and O. Kirca. On the minimization of total weighted flow time with identical and uniform parallel machines. European Journal of Operational Research, 113(1) :91 100, [6] K.R. Baker and G.D. Scudder. Sequencing with earliness and tardiness penalties : A review. Operations Research, 38(1) :22 36, [7] H. Belouadah and C.N. Potts. Scheduling identical parallel machines to minimize total weighted completion time. Discrete Applied Mathematics, 48(3) : , [8] A. Billionnet, S. Elloumi, and M.-C. Plateau. Convex quadratic programming for exact solution of 0-1 quadratic programs. To appear in RAIRO-Operations Research. [9] D. Biskup and M. Feldmann. Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates. Computers & Operations Research, 28(8) : , [10] K. Bülbül, P. Kaminsky, and C. Yano. Preemption in single machine earliness/tardiness scheduling. Submitted to Journal of Sheduling. [11] K.D. Boese, A.B. Kahng, and S. Muddu. A new adaptative multi-start technique for combinatorial global optimizations. Operations Research Letters, 16 : ,

124 124 BIBLIOGRAPHIE [12] J.D. Boissonnat and M. Yvinec. Algorithmic geometry. Cambridge University Press, UK, [13] B. Borchers. CSDP, A C library for semidefinite programming. Optimization Methods and Software, 11(1) : , [14] P. Brucker. Scheduling algorithms. Springer-Verlag, Berlin, Germany, 4th edition, [15] P. Brucker and S. Knust. Complexity results for scheduling problems. Web page. http :// [16] J.L. Bruno, E.G. Coffman, and R. Sethi. Scheduling independent tasks to reduce mean finishing time. Comm. ACM, 17 : , [17] G. Casanova. Qualité et organisation. Les amphis de France 5, http :// [18] Z.L. Chen and W.B. Powell. A column generation based decomposition algorithm for a parallel machine just in time scheduling problem. European Journal of Operational Research, 116(1) : , [19] Z.L. Chen and W.B. Powell. Solving parallel machine scheduling problems by column generation. INFORMS Journal of Computing, 11(1) :78 94, [20] P. Chrétienne and J. Carlier. Problèmes d ordonnancement : modélisation, complexité, algorithmes. Masson, [21] S.J. Chung and K.G. Murty. Polynomially bounded ellipsoid algorithms for convex quadratic programming. Nonlinear Programming, 4 : , [22] J.J. Clifford and M.E. Posner. High multiplicity in earliness-tardiness scheduling. Operations Research, 48(5) : , [23] R.K. Congram, C.N. Potts, and S.L. van de Velde. An iterated dynasearch algorithm for the single-machine total weighted tardiness scheduling problem. INFORMS Journal on Computing, 14(1) :52 67, [24] ILOG CPLEX. Web site. http :// [25] J. Du and J.Y.T. Leung. Minimizing total tardiness on one machine in NP-hard. Mathematics of Operations Research, 15(3) : , [26] J.Y-T. Leung (ed.). Handbook of scheduling : Algorithms, models, and performance analysis. Computer and information science series. Chapman and Hall/CRC, Boca Raton, Florida, [27] H. Emmons. Scheduling to a common due date on parallel uniform processors. Naval Research Logistics Quarterly, 34(6) : , [28] M. Feldmann and D. Biskup. Single-machine scheduling for minimizing earlinesstardiness penalties by meta-heuristic approaches. Computers Industrial Engineering, 44(2) : , Yasmin A. Ríos Solís

125 BIBLIOGRAPHIE 125 [29] D. Fernández-Baca. On nonlinear parametric search. Algorithmica, 30 :1 11, [30] D. Fernández-Baca and G. Sutzki. Linear-time algorithms for parametric minimum spanning tree problems on planar graphs. Theoretical Computer Science, 181(1) :57 74, [31] T.D. Fry, G. Leong, and T. Rakes. Single machine scheduling : a comparison of two solution procedures. Omega, 15 : , [32] M. Garey and D. Johnson. Computers and Intractability : A Guide to the Theory of NP-Completeness. W. H. Freeman & Company, USA, [33] M.R. Garey, R.E. Tarjan, and G.T. Wilfong. One-processor scheduling with symmetric earliness and tardiness penalties. Mathematics of Operations Research, 13 : , [34] L. Gelders and P.R. Kleindorfer. Coordinating aggregate and detailed scheduling decisions in the one-machine job shop : Part I theory. Operations Research, 22(1) :46 60, [35] M.X. Goemans. Semidefinite programming in combinatorial optimization. Mathematical Programming, 79 : , [36] M.X. Goemans and D.P. Williamson. Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming. Journal ACM, 42 : , [37] V. Gordon, J.M. Proth, and A.C. Chu. A survey of the state-of-the-art of common due date assignment and scheduling research. European Journal of Operational Research, 139(1) :1 25, [38] Groupe GOThA. Modèles et algorithmes en ordonnancement. Ellipses, Sous la coordination de P. Baptiste, E. Néron et F. Sourd. [39] R.L. Graham, E.L. Lawler, J.K. Lenstra, and A.H.G. Rinnooy Kan. Optimization and approximation in deterministic sequencing and scheduling : a survey. Annals of Discrete Mathematics, 5 : , [40] P. Gupta, R. Janardan, and M. Smid. Fast algorithms for collision and proximity problems involving moving geometric objects. Computational Geometry, 6 : , [41] L.A. Hall, A.S. Schulz, D.B. Shmoys, and J. Wein. Scheduling to minimize average completion time : off-line and on-line algorithms. Mathematics of Operations Research, 22 : , [42] N.G. Hall. Single and multi-processor models for minimizing completion time variance. Naval Research Logistics Quarterly, 33 :49 54, 1986.

126 126 BIBLIOGRAPHIE [43] N.G. Hall and M.E. Posner. Earliness-tardiness scheduling problems, I : Weighted deviation of completion times about a common due date. Operations Research, 39(5) : , [44] P.L. Hammer and A.A. Rubin. Some remarks on quadratic programming with 0-1 variables. RAIRO, 3 :67 79, [45] C. Helmberg. SBmethod - A C++ implementation of the spectral bundle method. Web site. http ://www-user.tu-chemnitz.de/~helmberg/sbmethod/. [46] C. Helmberg and F. Oustry. Handbook on semidefinite programming : Theory, algorithms and applications. Leiven, [47] C. Helmberg and F. Rendl. A spectral bundle method for semidefinite programming. SIAM Journal on Optimization, 10(3) : , [48] C. Helmberg, F. Rendl, R. Vanderbei, and H. Wolkowicz. An interior-point method for semidefinite programming. SIAM Journal on Optimization, 6 : , [49] C.M. Hino, D.P. Ronconi, and A.B. Mendes. Minimizing earliness and tardiness penalties in a single-machine problem with a common due date. European Journal of Operational Research, 160(1) : , [50] J.A. Hoogeveen. Multicriteria scheduling. European Journal of Operations Research, 167(3) : , [51] J.A. Hoogeveen and S.L. van de Velde. Scheduling around a small common due date. European Journal of Operational Research, 55(2) : , [52] J.A. Hoogeveen and S.L. van de Velde. A branch-and-bound algorithm for singlemachine earliness-tardiness scheduling with idle time. INFORMS Journal on Computing, 8(4) : , [53] C.-C. Huang and A. Kusiak. Overview of Kanban systems. International Journal of Computer Integrated Manufacturing, 9 : , [54] B. Jurish, W. Kubiak, and J. Jozefowska. Algorithms for the minclique scheduling problems. Discrete Applied Mathematics, 72(1-2) : , [55] J.J. Kanet. Minimizing the average deviation of job completion times about a common due date. Naval Research Logistics Quarterly, 28 : , [56] F. Kappel and A.V. Kuntsevich. An implementation of Shor s r-algorithm. Computational Optimization and Applications, 15 : , [57] S. Kedad-Sidhoum, Y.A. Rios-Solis, and F. Sourd. Lower bounds for the earliness-tardiness scheduling problem on parallel machines with distinct due dates. To appear in European Journal of Operations Research. [58] S. Kedad-Sidhoum, Y.A. Rios-Solis, and F. Sourd. Lower bounds for the earliness-tardiness scheduling problem on parallel machines. In A. Oulamara Yasmin A. Ríos Solís

127 BIBLIOGRAPHIE 127 and M.C. Portmann, editors, Proceedings of the 9th International Conference on Project Management and Scheduling, pages , [59] Y.-D. Kim and C.A. Yano. Minimizing mean tardiness and earliness in singlemachine scheduling problems with unequal due dates. Naval Research Logistics, 41 : , [60] M. Kipp. Large scale linear and integer optimization. Kluwer Academic Publishers, [61] M.K. Kozlov, S.P. Tarasov, and L.G. Hacijan. Polynomial solvability of convex quadratic programming. Soviet Math., Dokl. 20 : , [62] W. Kubiak, S. Lou, and R. Sethi. Equivalence of mean flow time problems and mean absolute deviation problems. Operations Research Letters, 9(6) : , [63] H.W. Kuhn. The Hungarian method for the assignment problem. Naval Research Logistic Quaterly, 2 :83 97, [64] V. Lauff and F. Werner. On the complexity and some properties of multi-stage scheduling problems with earliness and tardiness penalties. Computers & Operations Research, 31(3) : , [65] V. Lauff and F. Werner. Scheduling with common due date, earliness and tardiness penalties for multi-machine problems : A survey. Mathematical and Computer Modeling, 40(5-6) : , [66] C.-Y. Lee, S.L. Danusaputro, and C.S. Lin. Minimizing weighted number of tardy jobs and weighted earliness-tardiness penalties about a common due date. Computers & Operations Research, 18(4) : , [67] C.-Y. Lee and S.J. Kim. Parallel genetic algorithms for the earliness tardiness job scheduling problem with general penalty weights. Computers Industrial Engineering, 28(2) : , [68] C.-Y. Lee and R. Uzsoy. A new dynamic programming algorithm for the parallel machines total weighted completion time problem. Operations Research Letters, 11(2) :73 75, [69] C. Lemaréchal and F. Oustry. Advances in convex analisys and global optimization, chapter SDP relaxations in combinatorial optimization from a Lagrangian point of view, pages Kluwer, Ed. N. Hadjisavvas and P.M. Pardalos. [70] J.K. Lenstra, A.H.G. Rinnooy Kan, and P. Brucker. Complexity of machine scheduling problems. Annals of Discrete Mathematics, 1 : , [71] C.F. Liaw. A branch-and-bound algorithm for the single machine earliness and tardiness scheduling problem. Computers & Operations Research, 26(7) : , 1999.

128 128 BIBLIOGRAPHIE [72] S.-W. Lin, S.-Y. Chou, and K.-C. Ying. A sequential exchange approach for minimizing earliness-tardiness penalties of single-machine scheduling with a common due date. European Journal of Operations Research, 117 : , [73] P.B. Luh, D.J. Hoitomt, E. Max, and K.R. Pattipati. Schedule generation and reconfiguration for parallel machines. IEEE Transactions on Robotics and Automation, 6(6) : , [74] X. Luo and D. Bertsimas. A new algorithm for state-constrained separated continuous linear programs. SIAM Journal on Control and Optimization, 37(1) : , [75] M. Minoux. Mathematical programming, theory and algorithms. John Wiley & Sons, [76] Y. Monden. Toyota production systems. Industrial Engineering and Management Press, Norcross, GA., [77] E. Néron, F. Tercinet, and F. Sourd. Search tree based approaches for parallel machine scheduling. Computers & Operations Research, In Press, [78] Y. Pan and L. Shi. On the equivalence of the max-min transportation lower bound and the time-indexed lower bound for single-machine scheduling problems. To appear in Mathematical Programming, Series A. [79] C.H. Papadimitriou. Computational complexity. Addison Wesley, [80] C. Phillips, C. Stein, and J. Wein. Task scheduling in networks. SIAM Journal on Discrete Mathematics, 10 : , [81] J. Picard and M. Queyranne. The time-dependent traveling salesman problem and its application to the tardiness problem in one-machine scheduling. Operations Research, 26 :86 110, [82] M. Pinedo. Scheduling : theory, algorithms, and systems. Precentice Hall, Upper Saddle River, NJ, 2nd edition, [83] M.-C. Plateau, A. Billionnet, and S. Elloumi. Eigenvalue methods for linearly constrained quadratic 0-1 problems with application to the densest k-subgraph problem. In Presses Univ. F. Rabelais, editor, 6ème congrès ROADEF, pages 55 66, [84] S. Poljak, F. Rendl, and H. Wolkowicz. A recipe for semidefinite relaxation for (0,1)-quadratic programming. Journal of Global Optimization, 7 :51 73, [85] L. Péridy, E. Pinson, and D. Rivreau. Using short-term memory to minimize the weighted number of late jobs on a single machine. European Journal of Operational Research, 148(3) : , [86] C.R. Reeves. Landscapes, operators and heuristic search. Annals of Operations Research, 86(1) : , Yasmin A. Ríos Solís

129 BIBLIOGRAPHIE 129 [87] Y.A. Rios-Solis and F. Sourd. Exponential neighborhood search for a parallel machine scheduling problem. To appear in Computers & Operations Research. [88] Y.A. Rios-Solis and F. Sourd. Large neighborhood for a parallel scheduling problem with earliness-tardiness penalties and a common due date. In G. Kendal, L. Lei, and M. Pinedo, editors, Proceedings of the second Multidisciplinary International Conference on Scheduling : Theory and Applications, pages , [89] Y.A. Rios-Solis and F. Sourd. Parallel scheduling problem with irregular cost functions. In Proceedings of The Fifth ALIO/EURO conference on combinatorial optimization, pages , [90] Y.A. Rios-Solis and F. Sourd. Voisinage exponentiel pour un problème d ordonnancement avec des pénalité d avance et de retard et une date d échéance commune. In J. C. Billaut and C. Esswein, editors, Actes de conférence du 6ème Congrès de la Société Française de Recherche Opérationnelle et d Aide à la Décision, pages , ISBN : X. [91] F. Roupin. L approche par programmation semidéfinie en optimisation combinatoire. Bulletin de la société française de recherche opérationnelle et d aide à la décision, Numéro 13, édition automne-hiver. [92] T. Schiavinotto and T. Stützle. A review of metrics on permutations for search landscape analysis. Computers & Operations Research, In press, [93] A.S. Schulz and M. Skutella. Random-based scheduling : new approximations and LP lower bounds. In Randomization and approximation techniques in computer science, pages Springer, Berlin Germany, Ed. J.Rolim, LNCS : [94] D.B. Shmoys and E. Tardos. An approximation algorithm for the generalized assignment problem. Mathematical Programming, 62 : , [95] M. Skutella. Semidefinite relaxations for parallel machine scheduling. In IEEE Symposium on foundations of computer science, pages , [96] M. Skutella. Convex quadratic and semidefinite programming relaxations in scheduling. Journal of the ACM, 48(2) : , [97] W.E. Smith. Various optimizers for single-stage production. Naval Research and Logistics Quarterly, 3 :59 66, [98] F. Sourd. The continuous assignment problem and its application to preemptive and non-preemptive scheduling with irregular cost functions. INFORMS Journal on Computing, 16(2) : , [99] F. Sourd. Ordonnancer juste-à-temps. Bulletin de la société française de recherche opérationnelle et d aide à la décision, Numéro 12, édition printemps-été.

130 130 BIBLIOGRAPHIE [100] F. Sourd. Dynasearch neighborhood for the earliness-tardiness scheduling problem with release dates and setup constraints. Operations Research Letters, 34(5) : , [101] F. Sourd. Preemptive scheduling with position costs. Algorithmic Operations Research, 1(2) : , [102] F. Sourd. A reinforced Lagrangean relaxation for non-preemptive single machine problem. In In 10th International Workshop on Project Management and Scheduling, pages , [103] F. Sourd and S. Kedad-Sidhoum. The one machine problem with earliness and tardiness penalties. Journal of Scheduling, 6(6) : , [104] H. Sun and G. Wang. Parallel machine earliness and tardiness scheduling with proportional weights. Computers & Operations Research, 30(5) : , [105] P. Sundararaghavan and M. Ahmed. Minimizing the sum of absolute lateness in single machine and multimachine scheduling. Naval Research Logistics Quarterly, 31 : , [106] V. T kindt and J.-C. Billaut. Multicriteria scheduling : Theory, models and algorithms. Springer-Verlag, [107] M. van den Akker, J.A. Hoogeveen, and S.L. van de Velde. Parallel machine scheduling by column generation. Operations Research, 47(6) : , [108] M. van den Akker, J.A. Hoogeveen, and S.L. van de Velde. Combining column generation and Lagrangian relaxation to solve a single-machine common due date problem. INFORMS Journal on Computing, 14(1) :37 51, [109] M. van den Akker, C.A.J. Hurkens, and M.W.P. Savelsbergh. Time-indexed formulations for machine scheduling problems : column generation. INFORMS Journal on Computing, 12(2) : , [110] J.A. Ventura and D. Kim. Parallel machine scheduling with earliness-tardiness penalties and additional resource constraints. Computers & Operations Research, 30(13) : , [111] T. Vredeveld and C. Hurkens. Experimental comparison of approximation algorithms for scheduling unrelated parallel machines. INFORMS Journal on Computing, 14(2) : , [112] S. Webster. Weighted flow time bounds for scheduling identical processors. European Journal of Operational Research, 80(1) : , [113] G. Weiss. A simplex based algorithm to solve separated continuous linear programs. Technical report, Department of statistics, University of Haifa, Israel, [114] L encyclopédie libre Wikipédia. Théorie de l ordonnancement. Web page. http ://fr.wikipedia.org/wiki/théorie de l ordonnancement. Yasmin A. Ríos Solís

131 BIBLIOGRAPHIE 131 [115] C.A. Yano and Y.-D. Kim. Algorithms for a class of single-machine weighted tardiness and earliness problems. European Journal of Operational Research, 52(2) : , 1991.

132

133 Résumé La problématique de cette thèse est l ordonnancement avance-retard : les tâches doivent s exécuter sur des machines, de telle sorte à minimiser la somme des coûts d avance et de retard. Ce type de problème est souvent NP-difficile. Nous définissons un nouveau voisinage de taille exponentielle et proposons un algorithme de programmation dynamique pour déterminer le meilleur ordonnancement du voisinage. Ainsi, une borne supérieure est obtenue pour le cas à une seule date d échéance commune restrictive. En résolvant en temps polynomial un problème d ordonnancement pour lequel les tâches ont des coûts de position, nous proposons une borne inférieure au problème d ordonnancement juste-à-temps sur machines parallèles identiques. Finalement, nous proposons une méthode exacte basée sur la relaxation continue de reformulations convexes d un programme quadratique en 0-1 sous contraintes linéaires. Mots-clé : ordonnancement ; juste-à-temps ; machines parallèles; avance/retard; méthode exacte; borne supérieure; borne inférieure; programmation dynamique ; date d échéance commune. Abstract The central problem of this thesis is earliness-tardiness scheduling : determine the completion time of the tasks and the machine where they are going to be executed, such to minimize the total sum of the earliness and tardiness costs. This type of problem is often NP-hard. We define a new exponential size neighborhood and propose a dynamic programming algorithm to determine the best scheduling of the neighborhood. Thus, we obtain an upper bound for the case of a restrictive common due date. By solving in polynomial time a scheduling problem for which the tasks have position costs, we propose a lower bound for the just-in-time scheduling problem on identical parallel machines. We also propose an exact method based on continuous relaxations of convex reformulations made to a quadratic 0-1 programming under linear constraints. Keywords : scheduling ; jus-in-time, parallel machines, earliness/tardiness ; exact method ; upper bound ; lower bound ; dynamic programming ; common due date.

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. [email protected] Résumé Ce document

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement Bernard Fortz 2008-2009 Table des matières 1 Définition et classification des problèmes d ordonnancement 2 1.1 Introduction....................................

Plus en détail

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Le modèle de Black et Scholes

Le modèle de Black et Scholes Le modèle de Black et Scholes Alexandre Popier février 21 1 Introduction : exemple très simple de modèle financier On considère un marché avec une seule action cotée, sur une période donnée T. Dans un

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal La demande Du consommateur Contrainte budgétaire Préférences Choix optimal Plan du cours Préambule : Rationalité du consommateur I II III IV V La contrainte budgétaire Les préférences Le choix optimal

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge [email protected] Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009 THÈSE En vue de l'obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE Délivré par l'institut National des Sciences Appliquées de Toulouse Discipline ou spécialité : Systèmes Informatiques Présentée et soutenue

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Julien Jorge, Xavier Gandibleux Laboratoire d Informatique de Nantes Atlantique

Plus en détail

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003 Problèmes d ordonnancement dans les systèmes de production Michel Gourgand Université Blaise Pascal Clermont Ferrand LIMOS CNRS UMR 6158 1 Le LIMOS Laboratoire d Informatique, de Modélisation et d Optimisation

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

LES MÉTHODES DE POINT INTÉRIEUR 1

LES MÉTHODES DE POINT INTÉRIEUR 1 Chapitre XIII LES MÉTHODES DE POINT INTÉRIEUR 1 XIII.1 Introduction Nous débutons par un rappel de la formulation standard d un problème d optimisation 2 linéaire et donnons un bref aperçu des différences

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Théorèmes de Point Fixe et Applications 1

Théorèmes de Point Fixe et Applications 1 Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

PRIME D UNE OPTION D ACHAT OU DE VENTE

PRIME D UNE OPTION D ACHAT OU DE VENTE Université Paris VII - Agrégation de Mathématiques François Delarue) PRIME D UNE OPTION D ACHAT OU DE VENTE Ce texte vise à modéliser de façon simple l évolution d un actif financier à risque, et à introduire,

Plus en détail

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage Alain HERTZ Ecole Polytechnique - GERAD Département de mathématiques et de génie industriel CP 679, succ. Centre-ville, Montréal (QC) H3C

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I Roxane Duroux 1 Cadre de l étude Cette étude s inscrit dans le cadre de recherche de doses pour des essais cliniques

Plus en détail

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: [email protected] URL: http://nicolas.thiery.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: [email protected] URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, [email protected] 2 Université

Plus en détail

Approximations variationelles des EDP Notes du Cours de M2

Approximations variationelles des EDP Notes du Cours de M2 Approximations variationelles des EDP Notes du Cours de M2 Albert Cohen Dans ce cours, on s intéresse à l approximation numérique d équations aux dérivées partielles linéaires qui admettent une formulation

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

ANNUITES. Les annuités définissent une suite de versements identiques ou non effectués à intervalles de temps égaux. -annuités non constantes

ANNUITES. Les annuités définissent une suite de versements identiques ou non effectués à intervalles de temps égaux. -annuités non constantes ANNUITES I Notions d annuités a.définition Les annuités définissent une suite de versements identiques ou non effectués à intervalles de temps égaux. Le processus de versements dépend du montant de l annuité,

Plus en détail

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

Plus en détail

Minimisation de la somme des retards dans un jobshop flexible

Minimisation de la somme des retards dans un jobshop flexible Minimisation de la somme des retards dans un jobshop flexible Nozha ZRIBI, Imed KACEM, Abdelkader EL KAMEL, Pierre BORNE LAGIS Ecole Centrale de Lille, BP 48, 5965 Villeneuve d Ascq Cedex, France ISTIT

Plus en détail

Théorie de la mesure. S. Nicolay

Théorie de la mesure. S. Nicolay Théorie de la mesure S. Nicolay Année académique 2011 2012 ii Table des matières Introduction v 1 Mesures 1 1.1 Sigma-algèbres................................. 1 1.2 Mesures.....................................

Plus en détail

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

LE DIPLOME DE MAGISTER

LE DIPLOME DE MAGISTER Département d Informatique MEMOIRE Présenté par DEDDOUCHE Yamina Pour obtenir LE DIPLOME DE MAGISTER Spécialité : Informatique Option : Informatique et Automatique Intitulé : Contribution à l Ordonnancement

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Apprentissage par renforcement (1a/3)

Apprentissage par renforcement (1a/3) Apprentissage par renforcement (1a/3) Bruno Bouzy 23 septembre 2014 Ce document est le chapitre «Apprentissage par renforcement» du cours d apprentissage automatique donné aux étudiants de Master MI, parcours

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

M2 IAD UE MODE Notes de cours (3)

M2 IAD UE MODE Notes de cours (3) M2 IAD UE MODE Notes de cours (3) Jean-Yves Jaffray Patrice Perny 16 mars 2006 ATTITUDE PAR RAPPORT AU RISQUE 1 Attitude par rapport au risque Nousn avons pas encore fait d hypothèse sur la structure de

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

CHAPITRE 5. Stratégies Mixtes

CHAPITRE 5. Stratégies Mixtes CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,

Plus en détail

La persistance des nombres

La persistance des nombres regards logique & calcul La persistance des nombres Quand on multiplie les chiffres d un nombre entier, on trouve un autre nombre entier, et l on peut recommencer. Combien de fois? Onze fois au plus...

Plus en détail

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101 Sur l ordonnancement d ateliers job-shop flexibles et flow-shop en industries pharmaceutiques : optimisation par algorithmes génétiques et essaims particulaires Hela Boukef To cite this version: Hela Boukef.

Plus en détail

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera. Cours Optimisation Partie Optimisation Combinatoire 3ième année ISAE Année scolaire 2008-2009 Gérard Verfaillie ONERA/DCSD/CD, Toulouse [email protected] Septembre 2008 Résumé Ce document couvre

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Dualité dans les espaces de Lebesgue et mesures de Radon finies Chapitre 6 Dualité dans les espaces de Lebesgue et mesures de Radon finies Nous allons maintenant revenir sur les espaces L p du Chapitre 4, à la lumière de certains résultats du Chapitre 5. Sauf mention

Plus en détail

LES PROBLEMES D'ORDONNANCEMENT

LES PROBLEMES D'ORDONNANCEMENT LES PROBLEMES D'ORDONNANCEMENT GOTHA INTRODUCTION 1. PRESENTATION DES PROBLEMES D'ORDONNANCEMENT 1.1. DEFINITIONS ET TYPOLOGIE 1.2. MODELISATION PAR RESEAUX DE PETRI 1.3. TECHNOLOGIE DE GROUPE ET ORDONNANCEMENT

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe des n n groupes quantiques compacts qui ont la théorie

Plus en détail

La nouvelle planification de l échantillonnage

La nouvelle planification de l échantillonnage La nouvelle planification de l échantillonnage Pierre-Arnaud Pendoli Division Sondages Plan de la présentation Rappel sur le Recensement de la population (RP) en continu Description de la base de sondage

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

NOTE SUR LA MODELISATION DU RISQUE D INFLATION

NOTE SUR LA MODELISATION DU RISQUE D INFLATION NOTE SUR LA MODELISATION DU RISQUE D INFLATION 1/ RESUME DE L ANALYSE Cette étude a pour objectif de modéliser l écart entre deux indices d inflation afin d appréhender le risque à très long terme qui

Plus en détail

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures) CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE Cinquième épreuve d admissibilité STATISTIQUE (durée : cinq heures) Une composition portant sur la statistique. SUJET Cette épreuve est composée d un

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

Programmation Linéaire - Cours 1

Programmation Linéaire - Cours 1 Programmation Linéaire - Cours 1 P. Pesneau [email protected] Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.

Plus en détail

Couplage Planification et Ordonnancement : Approche hiérarchique et décomposition

Couplage Planification et Ordonnancement : Approche hiérarchique et décomposition Université d Angers Année 2010, N ordre 1037 Couplage Planification et Ordonnancement : Approche hiérarchique et décomposition Thèse de doctorat Spécialité Informatique École doctorale Sciences et Technologies

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique

Plus en détail

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie 1 Présenté par: Yacine KESSACI Encadrement : N. MELAB E-G. TALBI 31/05/2011 Plan 2 Motivation

Plus en détail

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans Mathématique et Automatique : de la boucle ouverte à la boucle fermée Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans [email protected] Plan 1. Un peu de

Plus en détail

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par

Plus en détail

Gestion de production

Gestion de production Maurice Pillet Chantal Martin-Bonnefous Pascal Bonnefous Alain Courtois Les fondamentaux et les bonnes pratiques Cinquième édition, 1989, 1994, 1995, 2003, 2011 ISBN : 978-2-212-54977-5 Sommaire Remerciements...

Plus en détail

Contrainte de flot pour RCPSP avec temps de transfert

Contrainte de flot pour RCPSP avec temps de transfert Contrainte de flot et x-rcpsc T 1 Contrainte de flot pour RCPSP avec temps de transfert PS temp, s ij Cmax BENOIST Thierry BOUYGUES/e-Lab DIAMANTINI Maurice ENSTA/LMA Contrainte de flot et x-rcpsc T Présentation

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail