Académique Documents
Professionnel Documents
Culture Documents
Arrouzaymane Ben-Khrissomar Elyounsisafae Laaliaouiachraf
Arrouzaymane Ben-Khrissomar Elyounsisafae Laaliaouiachraf
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
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.
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.
10
Chapitre 2
PAGE 11
Ordonnancement sur une seule machine
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
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.
PAGE 19
Ordonnancement selon la règle Lifo :
20
Les résultats obtenus :
PAGE 21
Ordonnancement suivant la règle LPT :
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 :
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 :
Retourner sequence_ordonnancee
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.
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.
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.
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