Vous êtes sur la page 1sur 43

Ordonnancement des Sys de Prod

RAPPORT
d’ordonnancement

Réalisé par:
ARROUZ Aymane
BEN-ERRKHISS Omar
EL YOUNSI Safae Encadré par:
LAALIAOUI Achraf
MR. AQIL Said
Remerciement :
Nous, étudiants ingénieurs de l'École Nationale Supérieure d'Arts et Métiers de Casablanca,
tenons à exprimer notre profonde gratitude envers nos enseignants de l'ENSAM. Nous
souhaitons remercier sincèrement le corps enseignant du département du génie industriel pour
leur encouragement constant et leur engagement acharné dans la formation d'ingénieurs adaptés
aux technologies de pointe, avec une compréhension approfondie des enjeux de l'industrie 4.0 et
5.0.
Nous adressons nos reconnaissances spéciales à Monsieur Saïd Aqil pour son dévouement envers
notre formation d'ingénieur et ses efforts soutenus lors des séances de cours. Nous sommes
reconnaissants pour l'opportunité qui nous a été offerte de contribuer à la réalisation d'une
application d'ordonnancement visant à résoudre un problème industriel spécifique. Ce projet
nous a permis d'explorer en profondeur le domaine de l'ordonnancement, de comprendre ses
divers aspects et de développer nos compétences et connaissances en programmation, en utilisant
des langages tels que Python, MATLAB, Lingo (un solveur) et Django (un framework Python
pour le développement d'applications web). Ce module nous a offert une perspective approfondie
sur l'importance cruciale de l'ordonnancement dans tous les secteurs industriels, qu'il s'agisse de
manufacturiers, de services ou d'autres domaines connexes.

2
Table des matières :
RAPPORT d’ordonnancement.................................................................................................1
Remerciement :........................................................................................................2
Introduction :...........................................................................................................5
Chapitre 1..................................................................................................................6
Notions générales sur l’ordonnancement...............................................................6
Définition :.................................................................................................................................7
Les approches de l’ordonnancement :...................................................................................7
Types d'ateliers d'ordonnancement.......................................................................................7
Les méthodes de résolution d’un problème d’ordonnancement :.....................................9
Classification des problèmes d’ordonnancement (classification de Mendez)...............10
Chapitre 2................................................................................................................12
.................................................................................................................................12
Ordonnancement sur une seule machine.............................................................12
Introduction aux Problèmes d'Ordonnancement sur une Seule Machine :...................13
Définition :...............................................................................................................................14
Modélisation et résolution du problème en Python :........................................................14
Commentaire :.........................................................................................................................19
Ordonnancement selon la règle FIFO :............................................................................19
Ordonnancement selon la règle Lifo :..............................................................................21
Ordonnancement suivant la règle LPT :..........................................................................22
Ordonnancement selon la règle SPT :..............................................................................23
Ordonnancement selon la règle critical ratio Rule :.......................................................25
Ordonnancement selon la règle slack time remaining :................................................26
Orodonnancement selon la règle Least work remaining :............................................28
Ordnnancement selon la regle Most work remaining :.................................................29
Ordonnancement selon la règle Random order :...........................................................30
Chapitre 3...............................................................................................................31
.................................................................................................................................31
Ordonnancement sur plusieurs machines...........................................................31
Introduction :...........................................................................................................................32

PAGE 3
1-Flow shop sans étape de préparation...............................................................................33
Chapitre 4................................................................................................................39
.................................................................................................................................39
Interface graphique...............................................................................................39
Introduction.............................................................................................................................40
Conclusion..............................................................................................................42

4
Introduction :
L'ordonnancement occupe une place fondamentale dans l'industrie en raison de son impact direct
sur l'efficacité opérationnelle, la productivité et la rentabilité des entreprises.
Voici quelques points clés soulignant l'importance de l'ordonnancement dans l'industrie :
Optimisation des Ressources : L'ordonnancement permet une utilisation plus efficace des
ressources disponibles, que ce soit la main-d'œuvre, les machines, ou les matières premières. En
planifiant judicieusement l'allocation de ces ressources, les entreprises minimisent les temps
d'arrêt et maximisent la capacité de production.
Réduction des Coûts : Une planification optimale contribue à la réduction des coûts de
production en minimisant les temps d'inactivité, en évitant les surstocks et en optimisant
l'utilisation des équipements. Cela se traduit par une utilisation plus efficiente des ressources
financières.
Amélioration des Délais de Livraison : En optimisant les séquences de production,
l'ordonnancement permet de respecter les délais de livraison, renforçant ainsi la satisfaction des
clients. Des processus de production bien planifiés contribuent à une réponse plus rapide aux
demandes du marché.
Gestion de la Complexité : Dans les environnements industriels complexes, où plusieurs
produits sont fabriqués simultanément, l'ordonnancement aide à gérer cette complexité en
organisant les opérations de manière coordonnée et logique.
Adaptabilité aux Changements : Les systèmes d'ordonnancement modernes intègrent souvent
des fonctionnalités d'adaptabilité, permettant de faire face aux changements imprévus dans la
production, comme des pannes d'équipement, des variations de la demande ou des retards dans
l'approvisionnement.
Amélioration de la Qualité : En évitant les conflits d'ordonnancement et en minimisant les
retards, l'ordonnancement contribue à maintenir des normes de qualité élevées en assurant une
production plus cohérente et régulière.
Innovation et Compétitivité : Les entreprises qui intègrent des stratégies d'ordonnancement
avancées sont mieux positionnées pour innover, s'adapter rapidement aux changements du
marché et rester compétitives dans un environnement industriel en évolution constante.
En somme, l'ordonnancement représente un pilier essentiel de la gestion opérationnelle,
permettant aux entreprises industrielles d'optimiser leurs processus, de rester compétitives et de
répondre efficacement aux demandes du marché.

PAGE 5
Chapitre 1
Notions générales sur l’ordonnancement

6
Définition :
L'ordonnancement consiste à affecter plusieurs tâches à des moyens de fabrication afin de
réaliser des travaux en respectant les contraintes de fabrication telles que temporelles, de
ressources, parfois matérielles, tout en optimisant certains critères. Parmi ces contraintes à
optimiser, on retrouve la minimisation du temps de complétion (noté Cmax), la minimisation du
temps moyen d'attente, et d'autres aspects liés à l'efficacité de la production.
Les objectifs de l’ordonnancement :
Les objectifs de l'ordonnancement incluent :
1. Minimisation du temps de complétion (Cmax).
2. Minimisation du temps moyen d'attente.
3. Maximisation de l'utilisation des ressources.
4. Équilibrage de la charge de travail.
5. Respect des délais et des contraintes temporelles.
6. Minimisation des coûts de production.
7. Maximisation de l'efficacité opérationnelle.
8. Amélioration de la satisfaction client.
9. Optimisation de la planification des ressources.
10. Réduction des retards et des pénalités associées

Les approches de l’ordonnancement :


Ordonnancement Statique : L'ordonnancement statique concerne la planification des tâches et
des ressources avant le début de l'exécution. Les décisions d'ordonnancement sont prises avant
que les tâches ne commencent, et une fois le plan établi, il reste généralement inchangé pendant
la production. Les informations disponibles pour la prise de décision sont souvent fixes et ne
changent pas pendant l'exécution. Ordonnancement Dynamique : L'ordonnancement dynamique,
en revanche, adapte la planification en temps réel en fonction des changements dans
l'environnement de production. Les décisions sont prises pendant l'exécution en tenant compte
des nouvelles informations et des événements en cours. Il peut réagir aux variations de la
demande, aux pannes de machines, aux retards.
L’ordonnancement statique planifie à l'avance et reste relativement fixe, tandis que
l'ordonnancement dynamique permet des ajustements en temps réel pour s'adapter aux
changements dans l'environnement de production. Choisir entre les deux dépend des exigences
spécifiques de la situation de production

Types d'ateliers d'ordonnancement


Il existe plusieurs types d'ateliers d'ordonnancement, chacun caractérisé par ses propres
spécificités et contraintes. Voici quelques-uns des types d'ateliers d'ordonnancement les
plus courants :
1. Atelier de Job-Shop (job-shop scheduling) : Les jobs passent à travers différentes
machines dans un ordre spécifique. Chaque machine a une séquence spécifique de jobs à
traiter. Les temps de traitement peuvent varier pour chaque job sur chaque machine.

PAGE 7
2. Atelier de Flow-Shop (flow-shop scheduling) : Les jobs suivent une séquence fixe de
machines. Chaque job passe par les mêmes machines dans le même ordre. Les temps de
traitement sont généralement constants.
3. Atelier de Flow-Shop Flexible : Similaire à l'atelier de flow-shop, mais avec des chemins
de traitement flexibles pour certains jobs. Certains jobs peuvent partager des machines
avec des séquences différentes.
4. Atelier Open-Shop : Les jobs peuvent être traités sur n'importe quelle machine, sans
restriction de séquence. Les temps de traitement peuvent varier.
5. Atelier de Job-Shop Flexible : Chaque job a un ensemble de machines parmi lesquelles il
peut être traité. Les chemins de traitement des jobs peuvent varier.
6. Atelier à Contraintes Multiples (Multi-Constraint Workshop) : Prend en compte
plusieurs types de contraintes, telles que les contraintes de ressources et les contraintes
de temps. La planification doit optimiser différents critères en tenant compte de ces
contraintes multiples.
7. Atelier de Job-Shop Flexible avec Contraintes Temporelles (Flexible Job-Shop with Time
Constraints) : Combinaison d'un atelier de job-shop flexible avec des contraintes
temporelles strictes. Les jobs doivent respecter des délais stricts tout en ayant une
certaine flexibilité dans le choix des machines.
8. Atelier Hybride : Mélange de différentes configurations d'ateliers (par exemple,
combinaison d'éléments de job-shop et de flow-shop).
9. Atelier avec Contraintes de Précédence : Les jobs doivent suivre un ordre spécifique en
fonction de contraintes de précédence.

Ces types d'ateliers d'ordonnancement représentent divers scénarios de production,


chacun avec ses propres caractéristiques et défis. Le choix du type d'atelier dépend
souvent de la nature des opérations de production et des objectifs spécifiques de
l'entreprise.
Les méthodes de résolution d’un problème
d’ordonnancement :
8
Le problème d’ordonnancement, étant un problème d’optimisation, nécessite
l'application de méthodes d’optimisation pour être résolu. Dans son ouvrage
"Metaheuristics" (TALBI 2009), E. Talbi divise les méthodes de résolution en deux
grandes familles :
Les méthodes exactes : Ces méthodes sont généralement utilisées pour résoudre des
problèmes de petite taille où le nombre de combinaisons est suffisamment faible
pour explorer l’espace des solutions en un temps raisonnable. Elles assurent toujours
l’optimalité de la solution trouvée, garantissant ainsi la complétude de la résolution,
mais à un coût élevé. Leur inconvénient majeur réside dans leur complexité
exponentielle de résolution, qui croît en fonction de la taille du problème. Les
méthodes exactes efficaces Ces méthodes garantissent, pour un problème et un
critère donné, la détermination d’une solution optimale en un temps de calcul

polynomial. L’application de telles méthodes n’est possible que pour des classes
réduites de problèmes d’ordonnancement.
Parmi les plus connues, citons les méthodes dédiées aux ateliers à une machine :
La règle SPT (Shortest Processing Time).
La règle WSPT (Weighted Shortest Processing Time).
La règle EDD (Earliest Due Date).
Les méthodes exactes énumératives :Les méthodes de ce type les plus connues,
utilisées pour les problèmes d’ordonnancement, sont :
1. La programmation linéaire
2. La programmation dynamique
3. Les procédures par séparation et évaluation (Branch and Bound).

Les méthodes approchées : Ces méthodes sont utilisées pour traiter des problèmes
que les méthodes optimales ne peuvent résoudre en un temps acceptable. Elles
produisent généralement une solution faisable assez proche de l’optimum en un
temps relativement court.
On distingue les heuristiques et les méta-heuristiques.
Les heuristiques : Ce sont des méthodes constructives et des méthodes de recherche
locale, où à chaque itération, une solution partielle est complétée pour obtenir une
solution finale. Parmi les méthodes itératives ou de recherche locale qui ont prouvé
leur efficacité dans la résolution de problèmes d’optimisation combinatoire, citons
les méthodes ascendantes et descendantes.
Les méta-heuristiques :Les méta-heuristiques ne sont pas, à priori, spécifiques à la
résolution d’un type particulier de problèmes, leur classification reste assez
arbitraire. On peut cependant distinguer deux approches, la première est basée sur
une solution unique et la seconde sur une population. Les approches basées sur une
solution unique (ou trajectoire) sont des algorithmes qui partent d’une solution
initiale (obtenue de façon exacte ou par tirage aléatoire) et s’en éloignent

PAGE 9
progressivement, réalisant ainsi une trajectoire, un parcours progressif dans l’espace
des solutions.

Classification des problèmes d’ordonnancement


(classification de Mendez)
Il existe de nombreux aspects à prendre en considération lors du développement d'une
modélisation d'ordonnancement systémique. À cet égard, Mendez a proposé une feuille de route
dans son article intitulé "Review of Optimization Methods for Short-Term Scheduling of Batch
Processes" (MENDEZ et al. 2006). Cette feuille de route vise à identifier les aspects les plus
pertinents à considérer lors de la modélisation. Cette démarche s'avère essentielle pour élaborer
une représentation complète des problèmes d'ordonnancement.

10
Chapitre 2
PAGE 11
Ordonnancement sur une seule machine

Introduction aux Problèmes d'Ordonnancement sur une


Seule Machine :
L'ordonnancement, dans le domaine de la gestion de la production, représente un défi complexe
visant à optimiser la séquence d'exécution des tâches afin d'atteindre des objectifs spécifiques.
12
Parmi les nombreux contextes d'ordonnancement, celui d'une seule machine demeure
fondamental et emblématique.
Le problème d'ordonnancement sur une seule machine est une catégorie classique qui se
concentre sur l'efficacité de l'utilisation d'une unique ressource pour l'exécution de différentes
tâches. Il se présente dans divers contextes industriels et de services, où une machine représente
une étape de production, un centre de traitement, ou toute autre entité permettant
l'accomplissement des travaux.
L'objectif principal de ces problèmes d'ordonnancement est d'établir un planning optimal pour
minimiser les coûts, maximiser l'utilisation des ressources, ou respecter des contraintes
temporelles strictes. Les caractéristiques de ces problèmes varient en fonction des contraintes
spécifiques du domaine d'application, de la nature des tâches, et des objectifs organisationnels.
Les challenges inhérents à l'ordonnancement sur une seule machine résident dans la prise de
décision pour déterminer l'ordre d'exécution des tâches. Des règles simples, telles que la règle du
plus court temps d'exécution (SPT - Shortest Processing Time), jusqu'aux approches plus
sophistiquées, comme la programmation linéaire, sont utilisées pour résoudre ces problèmes.
Que ce soit dans des environnements de fabrication, des centres de services, ou des systèmes
logistiques, la résolution efficace des problèmes d'ordonnancement sur une seule machine
contribue à l'amélioration des performances opérationnelles, à la réduction des coûts, et à une
gestion plus efficiente des ressources. Cette introduction jettera les bases pour explorer plus en
détail les différentes variantes et méthodes de résolution associées aux problèmes
d'ordonnancement sur une seule machine, démontrant ainsi l'importance de ces concepts dans le
domaine de la gestion de la production.

Définition :
PAGE 13
Ordonnancement sur une seule machine, également connu sous le nom
d'ordonnancement mono-machine, est une branche de la gestion des opérations et de la
planification de la production. Il se concentre sur la manière d'organiser et de planifier
l'exécution de différentes tâches ou travaux sur une seule ressource (généralement une
machine) de manière optimale. L'objectif principal de l'ordonnancement sur une seule
machine est d'optimiser des critères spécifiques tels que le temps d'exécution total, la
minimisation du temps d'attente ou le respect des délais. En d'autres termes, il s'agit de
déterminer l'ordre dans lequel les tâches ou les jobs doivent être traités sur une machine
unique, en tenant compte de diverses contraintes telles que les temps d'exécution, les
dates d'échéance, ou d'autres critères pertinents. L'efficacité de l'ordonnancement sur
une seule machine a des implications directes sur la productivité globale, la gestion des
ressources, et la satisfaction des clients dans des contextes industriels et de fabrication

Modélisation et résolution du problème en Python :


Dans une première étape, on formule le problème décisionnel en tenant compte des
hypothèses suivantes relatives aux éléments de l'environnement de prise de décision,
puisque les hypothèses à respecter dans la résolution de ce type de problèmes sont les
suivantes :
 La machine :
1. Ne peut pas effectuer plus d'une tâche à la fois (pas de multitâche).
2. Possède un temps de configuration avant de commencer toute tâche.
3. Traite un travail après l'autre immédiatement.
 Les tâches :
1. Ont un temps de traitement spécifique.
2. Ont une priorité spécifique (poids).
3. Sont équivalentes à un seul travail (c'est-à-dire que toutes les tâches consistent
en un seul travail).
 Le temps : Commence à zéro.
 Le critère : Dans ce problème, plusieurs critères de minimisation sont envisageables, tels
que le "makespan" (temps total d'achèvement), le "total flow time" (temps total de
traitement), le "weighted total flow time" (temps total de traitement pondéré), ainsi que
d'autres.
 Contrainte : Diverses contraintes peuvent être prises en considération, parmi lesquelles
figurent l'absence d'attente ("no wait"), l'absence d'inactivité ("no idle"), les contraintes
de synchronisation de début et de fin ("SDST" et "SIST"), ainsi que d'autres contraintes
liées aux ressources disponibles. Ces contraintes jouent un rôle essentiel dans la
modélisation du problème et doivent être soigneusement prises en compte lors de la
résolution. La gestion adéquate de ces contraintes contribue à façonner une solution
robuste et efficace, garantissant une optimisation appropriée des ressources et une
exécution fluide des tâches. Il est impératif d'analyser et de traiter chacune de ces
contraintes afin de parvenir à une planification qui réponde aux exigences spécifiques
du problème tout en respectant les contraintes opérationnelles.

14
Variables de Décision :
x[(i, j)]: Variable binaire qui prend la valeur 1 si la tâche i est exécutée à la position j,
sinon 0.
c[j]: Variable continue représentant le temps d'achèvement à la position j sur la machine.
Objectif : Minimiser la somme pondérée des temps d'achèvement des tâches, où le poids
est défini par la liste w.
Contraintes :
Chaque tâche doit être effectuée exactement une fois
Chaque position doit être occupée exactement une fois
Contrainte de séquence temporelle
Contrainte de démarrage
Résolution du problème :

PAGE 15
Le résultat obtenuobtenu :

16
Les résultats obtenus :

Dans cette section, nous nous intéresserons à modéliser le "weighted completion time"
afin de le comparer avec le "completion time".
Le "weighted completion time" est une métrique qui prend en compte la priorité de
chaque tâche, représentée par son poids. Cette mesure offre une perspective plus
nuancée de la performance du système d'ordonnancement, car elle considère non
seulement le temps nécessaire à l'achèvement des tâches mais également l'importance
relative de chacune d'entre elles. La modélisation du "weighted completion time"
consiste à attribuer un poids spécifique à chaque tâche en fonction de son niveau de
PAGE 17
priorité. L'objectif est de minimiser la somme des produits du temps d'achèvement de
chaque tâche par son poids correspondant. Ainsi, les tâches avec des poids plus élevés
auront un impact plus significatif sur le résultat final. La comparaison avec le
"completion time" traditionnel permettra d'évaluer l'efficacité de l'ordonnancement en
prenant en considération les priorités assignées à chaque tâche. En analysant ces deux
métriques conjointement, il sera possible de déterminer si l'attribution de poids
influence de manière significative l'efficacité globale du système d'ordonnancement.
Cette approche enrichit l'évaluation de la performance en introduisant une dimension
de priorité, offrant ainsi une flexibilité accrue dans la gestion des tâches en fonction de
leur importance relative.

Commentaire :
En comparant les résultats obtenus dans le cas de la modélisation du "completion time"
avec ceux du "weighted completion time", nous observons que l'ordonnancement des
jobs selon leur ordre de priorité a un impact significatif. En effet, cette approche permet
non seulement de minimiser le temps de retard, mais elle offre également des gains de
temps substantiels. En optant pour l'ordonnancement basé sur la priorité, les tâches
18
jugées plus cruciales en raison de leurs poids spécifiques sont traitées en priorité. Cela
se traduit par une réduction notable du temps nécessaire à l'achèvement global du
processus. En comparaison avec l'approche traditionnelle du "completion time", qui ne
prend pas en compte la pondération des tâches en fonction de leur importance relative,
le "weighted completion time" offre une perspective plus fine de la performance du
système. Cette observation met en évidence l'importance de considérer la priorité des
tâches dans le processus d'ordonnancement. En faisant preuve de discernement dans la
séquence des jobs en fonction de leurs poids respectifs, l'ordonnanceur parvient à
optimiser l'efficacité globale du système, minimisant ainsi les retards et maximisant
l'utilisation du temps disponible. Cette approche s'avère particulièrement avantageuse
dans des environnements où la gestion des priorités est cruciale pour la réussite des
opérations.

Ordonnancement selon la règle FIFO :

PAGE 19
Ordonnancement selon la règle Lifo :

20
Les résultats obtenus :

PAGE 21
Ordonnancement suivant la règle LPT :

Les résultats obtenus :

22
Ordonnancement selon la règle SPT :

PAGE 23
Les résultats obtenus :

24
Ordonnancement selon la règle critical ratio
Rule :

PAGE 25
Les résultats obtenus :

26
Ordonnancement selon la règle slack time
remaining :

Les résultats obtenus :

PAGE 27
Orodonnancement selon la règle Least work
remaining :
La règle "Least Work Remaining" (LWR) est une heuristique d'ordonnancement qui
consiste à sélectionner le job ayant le moins de travail restant à effectuer en premier.
Cette règle vise à minimiser le travail restant sur la machine.
L'algorithme de la règle "Least Work Remaining" (LWR) en pseudo-code :

Fonction AppliquerLWR(p, I, J):


// Étape 1: Calcul du travail restant pour chaque job
remaining_work = ListeVide()
Pour chaque job j dans J (sauf le job 0):
travail_restant_j = Somme du temps de traitement des jobs
restants (y compris lui-même)
Ajouter (j, travail_restant_j) à la liste remaining_work

// Étape 2 : Tri des jobs en fonction du travail restant


Trier remaining_work en fonction du travail restant (croissant)

// Étape 3 : Obtention de la séquence ordonnancée


sequence_ordonnancee = ListeVide()
Ajouter 0 à sequence_ordonnancee // Ajouter la position 0
(représentant la configuration)
Pour chaque élément (job, _) dans remaining_work:
Ajouter job à sequence_ordonnancee

Retourner sequence_ordonnancee

Les résultats obtenus :

28
Ordnnancement selon la regle Most work
remaining :
La règle "Most Work Remaining" (MWR), ou règle du travail restant maximal, est une
heuristique d'ordonnancement qui consiste à sélectionner en premier le job qui a le plus
de travail restant à accomplir. En d'autres termes, parmi les jobs disponibles, on choisit
celui qui nécessite le temps de traitement le plus long pour être terminé. L'idée est de
maximiser le travail restant sur la machine à chaque étape de l'ordonnancement.
Résultats obtenus :

PAGE 29
Ordonnancement selon la règle Random order :
La méthode de random order (ordre aléatoire) dans le contexte de l'ordonnancement
fait référence à une approche où les jobs sont planifiés dans un ordre aléatoire, sans
suivre de règles spécifiques basées sur les caractéristiques des jobs (comme le temps de
traitement ou la date d'échéance). L'idée est de choisir l'ordre d'exécution des jobs de
manière aléatoire. Dans le contexte du problème d'ordonnancement d'une seule
machine, cela signifie que l'ordre dans lequel les jobs sont traités n'est pas déterminé par
des critères spécifiques tels que le temps de traitement ou la date d'échéance. Au lieu de
cela, les jobs sont mélangés de manière aléatoire avant d'être planifiés sur la machine.
Cette approche peut être utilisée à des fins expérimentales ou de comparaison pour
évaluer comment différentes règles d'ordonnancement affectent les performances du
système.

30
Chapitre 3
PAGE 31
Ordonnancement sur
plusieurs machines

Introduction :
L'ordonnancement sur plusieurs machines est une discipline cruciale dans le domaine de la
gestion de la production industrielle. Il englobe un ensemble de techniques et de méthodologies
visant à optimiser la séquence d'exécution des tâches à travers plusieurs unités de production,
qu'elles soient des machines, des ateliers, ou des lignes de fabrication. L'efficacité de
l'ordonnancement sur plusieurs machines revêt une importance capitale dans l'industrie moderne,
32
où la compétition exige une utilisation judicieuse des ressources, une minimisation des coûts et
une maximisation de la productivité. Dans le contexte industriel actuel, caractérisé par des
environnements de production complexes et des demandes fluctuantes, l'ordonnancement sur
plusieurs machines joue un rôle essentiel pour répondre aux défis opérationnels. Les entreprises
sont confrontées à des impératifs tels que la réduction des temps de cycle, l'optimisation des
délais de livraison, la minimisation des coûts de production, et la gestion efficace des ressources
disponibles. C'est dans ce contexte que les techniques d'ordonnancement sur plusieurs machines
deviennent des outils stratégiques pour améliorer la performance globale des systèmes de
production.

Dans cette étude, notre objectif premier est d'appliquer différentes règles d'ordonnancement à un
cas pratique spécifique, dans le but d'analyser et d'évaluer les performances des machines
impliquées dans le processus de production. L'ordonnancement joue un rôle crucial dans la
gestion efficace des ressources et l'optimisation des opérations industrielles. En adoptant des
règles spécifiques, nous cherchons à examiner comment ces choix d'ordonnancement impactent
directement les performances des machines, notamment en termes de temps d'exécution, de
temps de latence, et d'utilisation des ressources. Une attention particulière sera accordée au volet
de la maintenance des machines, avec une mise en lumière spécifique sur celles qui sont
considérées comme critiques pour la continuité opérationnelle. Ces machines critiques, en raison
de leur rôle prépondérant dans le processus de production, nécessitent une surveillance attentive
et des procédures de contrôle régulières. Nous évaluerons la manière dont les différentes règles
d'ordonnancement peuvent influencer les besoins en maintenance, en examinant comment des
choix judicieux peuvent contribuer à minimiser les temps d'arrêt imprévus et à optimiser la
disponibilité des machines.

1-Flow shop sans étape de préparation


Le flow shop est un type d'environnement de fabrication où les tâches (ou jobs) suivent
un itinéraire fixe à travers différentes machines dans une séquence spécifiée. Dans un
flow shop, chaque tâche doit passer par les mêmes machines dans le même ordre, et
chaque machine ne peut effectuer qu'une seule tâche à la fois.
Ce type d'environnement est souvent utilisé dans des processus de production où les
opérations sont séquentielles et les tâches suivent une séquence linéaire. Il existe deux
types principaux de flow shop :
Flow Shop à Machines Parallèles (Flow Shop parallèle) : Chaque tâche suit la même
séquence de machines. Toutes les machines effectuent la même opération en parallèle.
La performance du flow shop parallèle est souvent mesurée en termes de temps de
traitement total ou de temps d'achèvement.
Flow Shop à Machines Série (Flow Shop séquentiel) : Chaque tâche suit la même
séquence de machines, mais chaque machine effectue une opération différente. Les
tâches passent successivement par chaque machine. La performance du flow shop
séquentiel est également mesurée en termes de temps de traitement total ou de temps
d'achèvement. Le flow shop est couramment utilisé dans les industries manufacturières
où la production suit une séquence spécifique et où la coordination entre les différentes
étapes du processus est essentielle. La planification efficace dans un flow shop peut
PAGE 33
conduire à une utilisation optimale des ressources et à une réduction des temps d'arrêt
entre les tâches.
Resultas de la regle LPT:

Résultats de la règle SPT:

Spt

34
Comparaison entre les règles LPT et SPT :
Lorsque nous comparons les résultats de l'ordonnancement en utilisant les règles LPT
(Longest Processing Time) et SPT (Shortest Processing Time), nous observons que, bien
que la séquence d'ordonnancement puisse changer, le completion time reste le même.
Cela peut être interprété comme une stabilité dans la performance des machines,
indépendamment de la règle d'ordonnancement appliquée. Cette observation suggère
que les performances des machines sont équilibrées en termes de temps de
PAGE 35
fonctionnement, quelles que soient les règles utilisées pour déterminer l'ordre
d'exécution des jobs. La règle LPT privilégie les jobs ayant des temps de traitement plus
longs, tandis que la règle SPT privilégie les jobs plus courts. Malgré ces différences dans
la séquence d'ordonnancement, le temps total nécessaire pour compléter l'ensemble des
jobs demeure constant. Dans la perspective d'un prochain plan de maintenance, cette
stabilité dans le completion time souligne l'importance d'une gestion proactive.
Un plan de maintenance doit être conçu en tenant compte de l'équilibre des
performances entre les machines.
Il est recommandé que le plan de maintenance soit destiné à l'ensemble des 3 machines
afin de maintenir cette stabilité et d'éviter des interruptions imprévues dans la
production. En résumé, la comparaison entre les règles LPT et SPT met en lumière la
stabilité des performances des machines. L'attention portée à l'équilibre des temps de
fonctionnement et à la planification de la maintenance pour l'ensemble des machines
contribuera à maintenir une production efficace et à minimiser les temps d'arrêt non
planifiés.

Résultats de la règle EDD :

36
Ordonnancement suivant la séquence [j2, j3, j1, j4] :

PAGE 37
Comparaison entre les résultats de la règle EDD et de l'ordonnancement
suivant la séquence [j1, j2, j4, j3] :
Lorsque nous comparons les résultats de l'ordonnancement en utilisant la règle EDD (Earliest
Due Date) avec ceux de la séquence [j1, j2, j4, j3], nous observons une différence notable dans le
completion time. En particulier, le completion time dans le cas de la séquence [j1, j2, j4, j3] est
plus petit que celui obtenu avec la règle EDD. Une explication possible de cette différence
pourrait être que la séquence [j1, j2, j4, j3] permet un équilibre plus uniforme des temps
d'exploitation entre toutes les machines. Cette séquence peut être conçue de manière à répartir
plus efficacement la charge de travail sur l'ensemble du processus de production. En d'autres
termes, les machines fonctionnent de manière plus équilibrée, évitant ainsi des temps d'arrêt
excessifs sur une machine particulière. En envisageant un plan de maintenance future, il est
essentiel de noter que l'arrêt simultané des trois machines peut entraîner une interruption
significative de la production pendant la période de maintenance. Cela souligne l'importance de
planifier les activités de maintenance de manière à minimiser l'impact sur la production. Il
pourrait être judicieux de mettre en place des procédures de surveillance et de contrôle pour
s'assurer que les machines sont entretenues de manière planifiée et coordonnée, réduisant ainsi au
minimum les périodes d'arrêt imprévues. En conclusion, le choix entre la règle EDD et la
séquence [j1, j2, j4, j3] dépend des priorités de l'entreprise en termes de délais de livraison,
d'équilibre de la charge de travail et de minimisation des temps d'arrêt. Il est important de
prendre en compte ces facteurs lors de la planification de la production et de la maintenance.

Application de l’algorithme de CDS :

38
Cette procédure est développée par CAMPBELL, DUDEK et SMITH (CDS), elle
s’appuie sur la règle de Johnson, elle consiste a généré (m-1) solutions en appliquant
l’algorithme de Johnson sue deux machines virtuelles. La première regroupe les k
premières machines, la deuxième regroupe les k dernières machines, k varie de 1 à (m-
1). Les temps opératoires de chaque job j sue ces deux machines virtuelles sont la
somme des temps opératoires sur les machines qui regroupent.

Chapitre 4

Interface graphique
PAGE 39
Introduction
Python, un langage de programmation réputé pour sa polyvalence et sa syntaxe claire, a su
gagner la faveur des développeurs du monde entier. Sa communauté dynamique contribue à sa
popularité croissante. Dans le domaine du développement web, le framework Django émerge
comme un choix privilégié. En suivant le principe "batteries-included", Django simplifie le
processus de création d'applications web robustes en fournissant des fonctionnalités intégrées
telles que la gestion de base de données et l'administration automatique. Cette introduction
explore brièvement Python et met en lumière la puissance du développement web avec Django à
travers un exemple de code en 9 lignes. Nous examinerons comment Django, en respectant le
modèle MVC et en promouvant les normes de sécurité, facilite le développement rapide et
structuré d'applications web.
40
Avec le framework Django, nous avons réussi à concevoir une interface intuitive permettant
d'expliquer les processus d'utilisation des règles d'ordonnancement.
Cette plateforme offre une expérience utilisateur immersive, guidant les utilisateurs à travers les
étapes complexes de la planification de manière claire et structurée.
Dans un premier temps, notre interface offre une présentation détaillée des différentes règles
d'ordonnancement disponibles. Chaque règle est expliquée en détail, mettant en lumière ses
avantages, inconvénients et domaines d'application spécifiques. Les utilisateurs peuvent ainsi
acquérir une compréhension approfondie des concepts fondamentaux.
Dans un deuxième temps, notre plateforme propose une fonctionnalité unique : l'affichage des
règles optimales pour des scénarios spécifiques impliquant des machines et des jobs. Grâce à des
algorithmes sophistiqués, nous identifions et présentons les règles les plus adaptées à chaque
situation. Cette approche personnalisée permet d'optimiser la planification en fonction des
paramètres spécifiques du problème
. En résumé, notre interface Django offre une solution complète, alliant pédagogie et praticité,
pour guider les utilisateurs à travers le monde complexe de l'ordonnancement. Elle ouvre la voie
à une planification plus efficace et à la prise de décisions éclairées dans le domaine de la gestion
des ressources.

PAGE 41
Conclusion
42
Nous souhaitons exprimer une deuxième fois notre reconnaissance envers notre
professeur, Monsieur AQIL, pour avoir initié et supervisé la réalisation de ce
travail. Cette opportunité nous a permis de concrétiser les notions précédemment
abordées, notamment celles liées à l'algorithme CDS et au concept de flow shop.
Grâce à cette expérience, nous avons consolidé notre compréhension des règles
d'ordonnancement, acquérant ainsi une maîtrise plus approfondie des principes
fondamentaux de la gestion des systèmes de production. Les enseignements tirés
de ce travail enrichissant contribuent indéniablement à notre développement
académique et professionnel, nous préparant à relever avec assurance les défis
complexes du domaine de l'ordonnancement industriel. Notre gratitude envers
Monsieur Aqil demeure vive pour son soutien continu et son engagement à nous
fournir des opportunités d'apprentissage significatives

PAGE 43

Vous aimerez peut-être aussi