Introduction aux problèmes d’ordonnancement
Niveau : 4ème année Génie Industriel Rihab MECHMECH 2021-2022
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité des problèmes
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité des problèmes
Qu’est ce que l’ordonnancement ?
Ordonnancer : disposer quelque chose dans un certain ordre, selon une certaine organisation.
Proposer une solution au problème d’ordonnancement
Qu’est ce que l’ordonnancement ? « Définitions »
➔Le problème d’ordonnancement consiste à organiser dans le temps la réalisation d’un contraintes ensemble de tâches, d’enchaînements, ...) et de contraintes portant sur l’utilisation et la disponibilité des ressources requises.
compte tenu de contraintes
temporelles
(délais,
➔Le problème d’ordonnancement consiste à ordonner la réalisation des différentes activités compte tenu de contraintes temporelles, de séquencement, de ressources disponibles en quantité limité.
➔Le problème d’ordonnancement consiste en une programmation prévisionnelle détaillée des ressources mobilisées dans l’exécution des opérations nécessaires à la production élémentaire de biens sur un horizon très court.
➔Le problème d’ordonnancement consiste en un travail, décrit sous formes de tâches interdépendantes dont il faut coordonner l’exécution, en assurant une utilisation cohérente des ressources nécessairement limitées, qu’elles mettent en jeu.
Exemples d’application de l’ordonnancement
• Projets:
• L’ordonnancement des mégaprojets. • Chantiers de constructions, etc.
• Ateliers:
• Ateliers simples (menuiserie avec une seule machine) • Ateliers complexes (ateliers de production: plusieurs produits / machines, etc.)
• Administration:
• Gestion des ressources humaines. • Emplois du temps. • Gestions des pauses (centres d’appel)
•
Informatique:
• Exécution des processus. • Partage des ressources entre les processus. • Partage des plateformes de calcul (cloud)
• Aéronautique:
• Gestion des vols dans un aéroport.
L’ordonnancement dans la production/ d’ateliers
L’ordonnancement en production (manufacturière, de biens, de service) est présenté comme un problème où il faut réaliser le déclenchement et le contrôle de l'avancement d'un ensemble de commandes à travers les différents centres composant le système.
Étapes de l’ordonnancement dans la production
• La planification : qui vise à déterminer les différentes opérations à réaliser,
les dates
correspondantes, et les moyens matériels et humains à y affecter.
• L’exécution : qui consiste à la mise en œuvre des différentes opérations définies dans la
phase de planification.
• Le contrôle : qui consiste à effectuer une comparaison entre planification et exécution, soit
au niveau des coûts, soit au niveau des dates de réalisation.
Processus décisionnel
Long terme
Moyen terme
Stratégique (Où aller)
Tactique (Comment y aller)
la direction générale de Elles sont prises par l'entreprise. Elles concernent les orientations générales de l'entreprise. Elles ont une implication l'avenir de sur l'entreprise. Elles comportent un risque important.
le long terme et engagent
Elles sont prises par les cadres de haut niveau. Elles ont une implication sur le moyen terme et des conséquences importantes pour l’entreprise. Elles comportent un risque moyen
Court terme
Opérationnel
les responsables de Elles sont prises par l’entreprise ou les employés. Elles ont une portée limitée et comportent un risque mineur.
(y aller)
L’ordonnancement dans le processus décisionnel
F/S
Source (Approvisionnement)
Make (Production)
Deliver (Distribution)
Client
Quels fournisseurs? Combien d’usines? Combien d’entrepôts? Où les localiser? Quel niveau de spécialisation? Quelle capacité de stockage?
(PIC) : Comment « Planifier » de la Supply Chain Comment allouer la production? La production: Fabrication sur stock, sur command, etc. La capacité? Flux et opérations à gérer ? Le choix d’un PSL (un contrat de 2 à 3 ans par exp)
Pilotage précis des flux: Choix d’un moyen de transport (décisions de transport) Choix d’un chemin de livraison: Où ? Combien ? Ordonnancement, tournées de véhicules, etc.
Long terme
Moyen terme
Court terme
Très Court terme
Hiérarchie de planification: place de l’ordonnancement dans le processus de planification
PIC (plan industriel et commercial)
PDP(plan directeur de production)
Calcul des besoins nets
Ordonnancement
Exécution
• Un ensemble de tâches. • Un environnement de ressources pour effectuer les tâches. • Des contraintes sur les tâches et les ressources. • Un critère d’optimisation.
Terminologie
Tâches ou opération: ➔ C’est une intervention caractérisée par une durée propre estimée par les méthodes. ➔ Un ensemble d’opérations de transformation dans un atelier, atterrissage dans un aéroport, étapes dans un projet de construction,….
Chaque tâche peut être caractérisée par : • Un degré de priorité. • Une durée. • Une date de début au plus tôt. • Une date de fin souhaitée / Un délai: une contrainte technique ou commerciale
traduisant la fin souhaitée d’une tâche.
• Nature de la tâche (ex: tâche qui ne s’exécute que sur une ressource bien déterminée).
Publicité
Terminologie
Travail ou Job : ➔ le système de production doit assurer une liste d’opérations élémentaires (tâches) s’enchaînant selon un ordre logique que l’on appelle gamme (de fabrication ou d’usinage selon le type de travail concerné). Un travail peut être par exemple « usiner une pièce »,« découper 10 bobines de papiers de 50 m et 20 cm de large »
Exemple : le Travail « découper 10 bobines de papier » pourra donner les tâches :
1. Sortir une bobine mère de 20 cm de large. 2. Placer la bobine sur une bobineuse. 3. Régler les couteaux. 4. Effectuer la découpe.
Terminologie
Ressources: ➔ machine dans un atelier, vols dans un aéroport, équipes dans un projet de construction, etc. ➔ La ressource est un moyen technique ou humain destiné à être utilisé pour la réalisation
d'une tâche et disponible en quantité limitée.
On distingue les ressources:
• Renouvelables: si elle est à nouveau disponible en même quantité après avoir été utilisée par une ou plusieurs tâches (les hommes, les machines, etc.).
Dans le cas contraire,
consommable (matière première, budget, etc.)
• Consommables: elle est consommation globale (ou cumul) au cours du temps est limitée. On distingue aussi les ressources, • Disjonctives (ou non partageables) qui ne peuvent exécuter qu’une tâche à la fois (machine-outil, robot manipulateur). • Cumulatives (ou partageables) qui peuvent être utilisées par plusieurs tâches simultanément (équipes d’ouvriers, poste de travail).
la
;
Terminologie
Objectifs: Quelle est la fonction à optimiser ?
Exemples : « minimiser le temps » Temps d’attente devant une chaise (social?) • Nombre de tâches en retards / retard maximal. • La date de fin de la dernière tâche exécutée. • Moyenne des dates de fin d’exécution des tâches.
Exemple: « minimiser l’utilisation des ressources » • Ordonnancement économique : utiliser le nombre minimal de ressources. • Réseau: Optimiser l’utilisation de la bande passante. • Problème de transport : minimiser les distances parcourues.
Récapitulatif
Objectifs de l’ordonnancement
• Optimiser l’utilisation des moyens nécessaires et les rendre disponibles.
• Lancer les travaux aux moments choisis.
• Contrôler l’avancement et la fin des tâches et prendre en compte les écarts éventuels.
• Prévoir la chronologie du déroulement des tâches.
Définition:
L’ordonnancement est
la planification chronologique de l'exécution de plusieurs tâches
(séquencement) sur un ensemble de ressources (affectation aux ressources disponibles
pour le cas multi ressource)
tout en respectant les contraintes existantes (capacité des
ressources, temporelles, etc.) afin d'optimiser un ou plusieurs objectifs/critères.
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité des problèmes
Schémas de classification
Plusieurs problèmes d’ordonnancement peuvent être étudiés. Afin de définir et de classifier les
problèmes existants, nous suivons les schémas de classification proposés par (Graham et al,
1979). Le schéma proposé consiste en une classification en trois champs comme suit:
𝛼|𝛽|𝛾
Où:
𝛼: environnement ressources (nombre, type, etc.).
𝛽: les caractéristiques des tâches (précédence, date d’arrivée, etc).
𝛾: le (ou les) critère(s) à optimiser.
𝛼|𝛽|𝛾
Une classification très répandue des ateliers, du point de vue ordonnancement, est basée sur
les différentes configurations (le nombre et l’ordre) des machines et par conséquent, sur la
valeur de 𝛼 choisie . Les problèmes les plus connus sont ceux:
• Problèmes à machine unique
• Problèmes à machines parallèles
• Problèmes d’ateliers:
• Ateliers à cheminement unique (Flow Shop).
• Ateliers à cheminements multiples (Job Shop).
• Ateliers à cheminements libres (Open Shop).
• Autres configurations.
𝛼|𝛽|𝛾
Problèmes à machine unique: Dans ce cas, l’ensemble des tâches à réaliser est fait par une seule machine. Les tâches sont composées d’une seule opération qui nécessite la même machine. L’une des situations intéressantes où on peut rencontrer ce genre de configurations est le cas où on est devant un influence l’ensemble du système de production comprenant une machine goulot qui processus. L’étude peut alors être restreinte à l’étude de cette machine.
𝛼|𝛽|𝛾
Problèmes à machines parallèles : Dans ce cas, on dispose d’un ensemble de machines pour réaliser les travaux. Les travaux se composent d’une seule opération et un travail exige une seule machine. Toute tâche peut être exécutée indifféremment sur une des machines mises en parallèle. L’ordonnancement s’effectue en deux phases : la première phase consiste à affecter les travaux aux machines et la deuxième phase consiste à établir la séquence de réalisation sur chaque machine.
𝛼|𝛽|𝛾
Problèmes à machines parallèles : Dans ce cas, on dispose d’un ensemble de machines pour réaliser les travaux. Les travaux se composent d’une seule opération et un travail exige une seule machine. Toute tâche peut être exécutée indifféremment sur une des machines mises en parallèle. L’ordonnancement s’effectue en deux phases : la première phase consiste à affecter les travaux aux machines et la deuxième phase consiste à établir la séquence de réalisation sur chaque machine.
On distingue trois types de machines: ➢ Machines identiques 𝑃𝑚 : la durée d’exécution est la même pour les toutes les machines
et pour toutes les tâches.
➢ Machines uniformes 𝑄𝑚 : chaque machine a une vitesse d’exécution propre et constante. "𝑙𝑎 𝑑𝑢𝑟é𝑒 𝑑′𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛 𝑣𝑖𝑡𝑒𝑠𝑠𝑒 𝑑𝑒 𝑡𝑟𝑎𝑖𝑡𝑒𝑚𝑒𝑛𝑡 𝑑𝑒 𝑙𝑎 𝑚𝑎𝑐ℎ𝑖𝑛𝑒" est le même pour
Τ
Le rapport tous les travaux d’une même machine.
➢ Machines indépendantes 𝑅𝑚 : la vitesse d’exécution est différente pour chaque machine
et pour chaque travail.
𝛼|𝛽|𝛾
Problèmes d’ateliers « Flow Shop (𝜶 = 𝑭) »: C’est un atelier séquentiel, linéaire ou aussi dit à cheminement unique où les étapes de transformation sont identiques pour tous les produits fabriqués . Chaque Job est constitué d’un ensemble de tâches qui doivent s’exécuter sur les mêmes machines dans le même ordre et une seule fois.
𝛼|𝛽|𝛾
Problèmes d’ateliers « Flow Shop (𝜶 = 𝑭) »: C’est un atelier séquentiel, linéaire ou aussi dit à cheminement unique où les étapes de transformation sont identiques pour tous les produits fabriqués . Chaque Job est constitué d’un ensemble de tâches qui doivent s’exécuter sur les mêmes machines dans le même ordre et une seule fois.
Parmi les caractéristiques des problèmes de cette catégorie : Il existe au minimum n! différentes solutions où n est le nombre de travaux à réaliser. • • Le problème est NP-difficile à l’exception des versions avec deux machines et certains
cas particuliers avec trois machines.
• Une grande productivité mais une faible flexibilité.
𝛼|𝛽|𝛾
Problèmes d’ateliers « Job Shop (𝜶 = 𝑱) »: C’est un atelier à cheminements multiples traitant une variété de produits individuels dont la production requiert divers types de machines dans des séquences variées (Les séquences opératoires relatives aux différents travaux peuvent être distinctes et sont propres à chaque travail) : • Le nombre d’opérations n’est pas forcément le même pour tous les jobs. • Chaque job a son propre ordre de passage sur les machines.
Problèmes d’ateliers « Job Shop (𝜶 = 𝑱) »:
𝛼|𝛽|𝛾
Problèmes d’ateliers « Open Shop (𝜶 = 𝑶) »: C’est un atelier à cheminements libres où: • Le nombre d’opérations n’est pas forcément le même pour tous les jobs. • L’ordre de passage sur les machines est totalement libre.
Problèmes d’ateliers « Flow Shop Hybride »:
𝛼|𝛽|𝛾
Exemple: Un flow-shop hybride à 3-étages définit donc l'organisation à ordonnancer (trois ensembles de ressources existantes en plusieurs exemplaires sont utilisés en séquence).
Flow Shop à 3 étages
Problèmes d’ateliers « Flow Shop Hybride »:
𝛼|𝛽|𝛾
S t o c k s
Publicité
𝛼|𝛽|𝛾
Traduit la relation (si elle existe) entre les différents tâches considérées. Parmi les relations les plus fréquentes on distingue: • La préemption des tâches: on interrompe l’exécution d’une tâche et on commence une autre tâche, quand on reprend la tâche interrompue, on termine l’exécution du travail restant.
• La précédence entre les tâches. • Obligation au niveau des dates de début au plus tôt des tâches (je ne peux pas commencer
la tâche en question avant sa date de début). • Obligation au niveau de la date de fin souhaitée. Indisponibilité de la machine (Breakdown): • certaines périodes (maintenance préventive).
la machine peut être indisponible pendant
• Sans attente (no-wait) : le phénomène de sans attente peut apparaître dans un problème de flow shop ou flow shop flexible Le travail ne peut pas attendre entre deux machines successives; Exemple : bloc opératoire, un patient doit passer directement de la salle d’opération à la salle de réveil sans attente.
𝛼|𝛽|𝛾
Pour comparer 2 ordonnancements, il faut définir des indicateurs de performance et des
critères de mesure. Les objectifs que l’on cherche à atteindre sont :
• Des critères liés au temps : minimisation de la durée totale d’achèvement, les encours, les
retards,….
• Des critères liés aux ressources : équilibrage des charges,…
• Des critères liés aux coûts : coûts de lancement, coûts de stockage,…
Exemples de critères liés au temps :
𝛼|𝛽|𝛾
• Temps de circulation (flowtime) : c’est le temps qu’une pièce donnée passe par le système
depuis son démarrage sur la première machine jusqu’à sa sortie du système.
• Temps moyen de traitement : Il est calculé comme étant la moyenne arithmétique des temps
de circulation pour n jobs.
• Temps global (makespan): c’est le temps nécessaire pour compléter l’ensemble de toutes
les n tâches.
• Retard algébrique (tardiness): Le retard d’une tâche
Comment mesurer les différents paramètres / objectifs ?
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité des problèmes
Notations
• 𝑛 tâches, chaque tâche est indicées par 𝑖
• 𝑚 machines, chaque machine est indicées par 𝑗
• 𝑟𝑖 (release date) : une date de début au plus tôt
• 𝑝𝑖 : une durée de la tâche 𝑖
• 𝑝𝑖𝑗 (processing time): une durée de la tâche 𝑖 sur la machine 𝑗
• 𝑑𝑖 (due date) : une date de fin souhaitée ((au delà de cette date promise au client, on
encourt des pénalités – due date-).
• 𝑤𝑖 (weight) : un poids relatif (il peut traduire l’importance ou poids des clients).
Notations : objectifs et mesures de la performance
Les critères d’optimisation s’expriment en fonction des dates de fin des tâches (ou jobs):
•
•
𝑡𝑖: date de début de la tâche i
𝑡𝑖𝑗: date de début de la tâche i sur la machine j
• 𝐶𝑖 = 𝑡𝑖 + 𝑝𝑖: date de fin d’exécution de la tâche i (sur une seule machine)
• 𝐶𝑖𝑗 = 𝑡𝑖𝑗 + 𝑝𝑖𝑗: date de fin d’exécution de la tâche i sur la machine j et donc,
𝐶𝑖 = Max 𝑡𝑖𝑗 + 𝑝𝑖𝑗 : date de fin d’exécution de la tâche i sur les machines j (Completion time)
• 𝐶𝑚𝑎𝑥 = max (𝐶𝑖) : la durée totale de l’ordonnancement.
• 𝐹𝑖 = 𝐶𝑖 − 𝑟𝑖 (flow time) :la durée du séjour dans l’atelier (mesure les encours)
• 𝐿𝑖 = 𝐶𝑖 − 𝑑𝑖 (lateness) : le retard algébrique.
• 𝑇𝑖 = max (0, 𝐶𝑖 − 𝑑𝑖 ) (tardiness) : le retard absolu.
• La pénalité unitaire de retard 𝑈𝑖 = 0 si 𝐶𝑖 ≤ 𝑑𝑖 , 𝑈𝑖 = 1 sinon.
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité du problème
Diagramme de Gantt
Le diagramme de Gantt, couramment utilisé en gestion de projet, est l'un des outils les plus efficaces pour représenter visuellement l'état d'avancement des différentes activités (tâches) qui constituent un projet. La colonne de gauche du diagramme énumère toutes les tâches à effectuer, tandis que la ligne d'en-tête représente les unités de temps les plus adaptées au projet (jours, semaines, mois etc.). Chaque tâche est matérialisée par une barre horizontale, dont la position et la longueur représentent la date de début, la durée et la date de fin.
M3
M2
M1
1
6
3
4
2
5
Diagramme de Gantt
Ce diagramme permet donc de visualiser d'un seul coup d'œil :
• Les différentes tâches à envisager
• La date de début et la date de fin de chaque tâche
• La durée escomptée de chaque tâche
• Le chevauchement éventuel des tâches, et la durée de ce
chevauchement
• La date de début et la date de fin du projet dans son ensemble
Codification
1|𝑃𝑟𝑒𝑐|𝐶𝑚𝑎𝑥
Minimisation du makespan sur une seule machine avec des contraintes de précédence
1|𝑃𝑟𝑚𝑝|𝐶𝑚𝑎𝑥
Minimisation du makespan sur une seule machine avec des contraintes de préemption
𝑃𝑚 || 𝐶𝑖
𝑄𝑚 || 𝐶𝑖
Publicité
Minimisation de la somme des encours sur m machines parallèles identiques
Minimisation de la somme des encours sur m machines parallèles uniformes
1||𝐶𝑚𝑎𝑥
• Un problème à 1 seule machine • Objectif: minimiser le makespan 𝐶𝑚𝑎𝑥
𝑖 𝑝𝑖
1
3
2
4
3
7
M1
1
2
3
4
2
4
0 3 7 14 16
𝐶𝑚𝑎𝑥 = 16
1|𝑟𝑖|𝐶𝑚𝑎𝑥
• Un problème à 1 seule machine • Objectif: minimiser le makespan 𝐶𝑚𝑎𝑥 sous contrainte de disponibilité
𝐶𝑚𝑎𝑥 = 18
M1
1
2
𝑖 𝑝𝑖 𝑟𝑖
1
3
0
3
2
4
5
3
7
3
4
2
9
4
0 3 5 9 16
18
M1
1
3
2
4
0 3 10 14 16
𝐶𝑚𝑎𝑥 = 16
𝑃2 |𝑟𝑖|𝐶𝑚𝑎𝑥
• Un problème à 2 machines parallèles. • Objectif: minimiser le makespan 𝐶𝑚𝑎𝑥 sous contrainte de disponibilité
𝑖 𝑝𝑖 𝑟𝑖
1
2
1
2
2
0
3
4
0
𝐶𝑚𝑎𝑥 = 5
M1
M2
3
0 4
1
2
0 1 3 5
Comment avoir l’ordonnancement optimal ?
• Règles de priorité
• Algorithmes
• Heuristiques
Plan du cours
1
2
3
4
5
Introduction et problématique générale
Schémas de classification
Paramètres et notations
Exemples
Complexité des problèmes
Complexité
Un même problème peut généralement être résolu par plusieurs algorithmes :
➔ il faut comparer entre ces algorithmes
➔ La comparaison se base sur le temps de calcul et sur l’espace mémoire requis par
l’algorithme
𝐶𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡é 𝑒𝑛 𝛼
𝐶𝑜𝑚𝑝𝑙𝑒𝑥𝑖𝑡é 𝑒𝑛 𝛾