Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
£
ECOLE SUPERIEURE POLYTECHNIQUE
D’ANTANANARIVO
Présenté par :
ANDRIAMIADANARIVO Alphène Fabruce Mathieu
Promotion 2017
UNIVERSITE D’ANTANANARIVO
Présenté par :
ANDRIAMIADANARIVO Alphène Fabruce Mathieu
Je tiens aussi à exprimer mes sincères remerciements à mes parents, mes frères et ma
sœur, qui ont été toujours là pour m’épauler du point de vue financière et morale.
Mes remerciements s’adressent également à tous ceux qui, de près ou de loin, ont
contribué à la réussite de ce mémoire.
a
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Les mots ne suffiront pas à exprimer mes gratitudes à l’achèvement de ce Mémoire,
alors sur ce je vous dis : « Mankasitraka tompoko, ho tahin’Andriamanitra ianareo »
b
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
SOMMAIRE
1 Table des matières
REMERCIEMENTS .................................................................................................................. a
SOMMAIRE .............................................................................................................................. c
INTRODUCTION GÉNÉRALE................................................................................................ 1
c
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
4.3 Les contraintes ............................................................................................................... 14
1 Définition ....................................................................................................................... 22
Conclusion partielle.................................................................................................................. 33
1 Problématique ................................................................................................................ 35
d
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
2 La différente méthode d’ordonnancement ..................................................................... 36
Conclusion partielle.................................................................................................................. 46
e
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
5.3 Les cases de sortie.......................................................................................................... 58
Conclusion partielle.................................................................................................................. 63
ANNEXE ................................................................................................................................. 65
BIBLIOGRAPHIE ...................................................................................................................... i
f
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
LISTES DES FIGURES
Figure 1: Modèle conceptuel d’un système de production (source : Benbouzid F, 2005) ........ 6
Figure 2: Organisation hiérarchique d’un système de gestion de production (source : Belkadi
F, 2014) ...................................................................................................................................... 8
Figure 3: diagramme de Gantt (atelier flowshop à deux machines) ....................................... 12
Figure 4: Ordonnancement dans de taches un système de production.................................... 13
Figure 5: Représentation d’un atelier Flow Shop ................................................................... 16
Figure 6: Représentation d’un atelier Job Shop ...................................................................... 16
Figure 7: Représentation d’un ordonnancement d’atelier flow shop ...................................... 18
Figure 8: La fonction maintenance dans son ensemble (Source : Retour & Al, 1990) ........... 23
Figure 9: Evolution de la maintenance (Source : Boulenger 1998) ........................................ 24
Figure 10: Structure de la maintenance conditionnelle (Source : Deloux, 2005) ................... 25
Figure 11: Organisation de la maintenance (Source : Deloux 2005) ..................................... 26
Figure 12: Organisation de l’ordonnancement de la maintenance ......................................... 27
Figure 13: Etat successif d’un système réparable (source : Management des moyens de
production, Claude Sourisse et François Klaye) ..................................................................... 28
Figure 14: Chronologie de la maintenance préventive............................................................ 31
Figure 15: Structure hiérarchique de l’objectif de l’ordonnancement de la maintenance
(Source : Coudert, 2000) .......................................................................................................... 33
Figure 16: Ordonnancement de la production......................................................................... 35
Figure 17: Ordonnancement de la maintenance ...................................................................... 35
Figure 18: Conflit entre Maintenance et Production dans un ordonnancement séparé ......... 36
Figure 19: Ordonnancement séquentiel ................................................................................... 37
Figure 20: Ordonnancement intégré........................................................................................ 37
Figure 21: Principe de sélection par roue de roulette ............................................................. 43
Figure 22: Modèle conceptuel du programme ......................................................................... 51
Figure 23: Organigramme du fonctionnement du planificateur .............................................. 55
Figure 24: Section de saisie du conditionnement du programme ............................................ 58
Figure 25: Entrer des temps opératoires ................................................................................. 58
Figure 26: Les cases de sortie.................................................................................................. 59
Figure 27: Ordonnancement test 6 .......................................................................................... 66
Figure 28: Diagramme de Gantt test 6 .................................................................................... 67
Figure 29: Tableau des temps opératoires test 6 ..................................................................... 68
g
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Figure 30: Ordonnancement test 2 .......................................................................................... 69
Figure 31: Ordonnancement test 2 .......................................................................................... 69
Figure 32: Ordonnancement test 3 .......................................................................................... 70
Figure 33: Diagramme de Gantt Test 3 ................................................................................... 70
Figure 34: Ordonnancement test 4 .......................................................................................... 71
Figure 35: Diagramme de Gantt test 4 .................................................................................... 71
Figure 36: Ordonnancement test 5 .......................................................................................... 72
Figure 37: Diagramme de Gantt test 5 .................................................................................... 72
h
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
LISTE DES TABLEAUX
Tableau 1: Temps opératoire pour l’exemple d’un flow shop ................................................. 18
Tableau 2: Notations de problème d’ordonnancement ............................................................ 40
Tableau 3: Parwaise swap mutation ........................................................................................ 45
Tableau 4: Mutation inverse .................................................................................................... 46
Tableau 5: Matrice de travaux ................................................................................................. 52
Tableau 6: Calcul du Makespan (Cmax) ................................................................................. 52
Tableau 7: Test 1 ...................................................................................................................... 61
Tableau 8: Test 2 ...................................................................................................................... 61
Tableau 9: Test 3 ...................................................................................................................... 61
Tableau 10: Test 4 .................................................................................................................... 61
Tableau 11: Test 5 .................................................................................................................... 62
Tableau 12: Résultats des tests de petite taille ........................................................................ 62
Tableau 13: Test 6 .................................................................................................................... 63
i
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
LISTE DES ABREVIATIONS
Sdf : sûreté de fonctionnement
AV : Analyse de la valeur
AO : Analyse de l’organisation
AQ : Analyse de la qualité
J(i): Taches
M(i) : Machines
j
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
INTRODUCTION GÉNÉRALE
L’objectif majeur des industriels est de maîtriser le prix de revient en exploitant
efficacement les systèmes de production et en utilisant toutes les ressources disponibles d’une
façon optimale dans des délais minimums. L’élaboration d’une stratégie de maintenance et de
production permet de garantir le niveau de fiabilité requis, d’améliorer l’exploitation, d’assurer
la disponibilité des machines ainsi que d’exploiter leur disponibilité en respectant les niveaux
de qualité et les délais exigés.
C’est dans ce sens que nous avons opté pour le mémoire intitulé : « Ordonnancement
conjoint production maintenance : Programmation d’un planificateur optimisé sur la base
d’algorithme génétique » qui propose un programme de planification considérant la fonction de
maintenance et celui de production afin d’augmenter la disponibilité du système de production
et de maximiser la productivité en exploitant efficacement les ressources disponibles
(renouvelables et consommables). Le critère d’évaluation du programme afin d’avoir un
ordonnancement optimal se base le calcul du Makespan aussi noté Cmax dans nombreux
ouvrages.
Ce travail se divise en trois parties bien distinctes. En premier lieu, on va avoir un aperçu
sur l’ordonnancement des systèmes de production et la maintenance industrielle. En second
lieu, on développera l’ordonnancement conjoint de la production et la maintenance qui est le
principal sujet de ce mémoire. Et enfin dans la troisième partie, la programmation et la
simulation du programme de planification optimisé qui servira avoir un ordonnancement plus
juste la production et de la maintenance.
1
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
PARTIE 1 : GENERALITES SUR
L’ORDONNANCEMENT DES
SYSTEMES DE PRODUCTION ET
LA MAINTENANCE
INDUSTRIELLE
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Il est assez difficile de généraliser la fonction production, car elle peut prendre
différentes formes selon l’entreprise. Elle peut :
Selon le stade fabrication, il est aussi possible de différencier les fabrications par leur
finalité (usinage, assemblage, usinage-assemblage).
2ème cas : Les processus discrets qui concernent les usinages et toutes les activités
d’assemblage.
3ème cas : les processus discontinus qui se situent entre le processus continu et discret.
Les deux types de processus sont couplés : la production est continue, mais il y a un
conditionnement discret des produits.
Il s’agit ici des systèmes de production à la commande, les systèmes de production basés
sur les stocks, et ceux qui sont programmés.
Ce type de classification se base sur la manière dont les ressources sont organisées afin
de traiter les intrants (matières premières). Elle est divisée en quatre types de systèmes de
production :
Pour faciliter l’approche d’une étude de système de production, ils ont été décomposés
en trois sous-systèmes : Le système physique de production, le système d’information et le
5
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
système de décision, qui sont décrits dans la figure suivante. Dans cette approche, le système
de gestion de production concerne la partie du système de décision et du système d’information
traitant des fonctions rattachées directement à la production (c’est-à-dire les achats, les
approvisionnements, la planification, la gestion des ressources, la maintenance …)
Concernant le système physique, c’est la partie qui transforme les matières premières
en produit fini. Et c’est dans cette perceptive que le système de gestion entre en jeux, c’est la
partie qui transforme les informations commerciales en ordre de fabrication et ordres
d’approvisionnements. Ce système est bouclé, car en retour il reçoit les informations de suivi
du système physique pour pouvoir effectivement piloter ce dernier.
Informations
Objectifs
externes
Système de
Système décision
d’information Ordres
Ordres
S
Actions
Flux
Fournisseurs physique
Clients
Système
Sous-traitant
Donneurs
Physique
6
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
En plus de la gestion de production, des décisions doivent être prises. Dans ce contexte,
on distingue trois types de décisions (source Belkaid F 2014) :
Ces décisions représentées par les orientations à moyen terme s’inscrivent dans le cadre
logique dessiné par les décisions stratégiques, elles regroupent tout ce qui est ressource
physique et informationnels nécessaires à la production. Les décisions tactiques s’intéressent à
l’aspect planification de la production, l’affectation des clients aux centres de distribution, le
choix de la politique de gestion des stocks, etc.
Ce sont généralement des décisions journalières, car elles ont une portée plus limitée
dans le temps. Ce niveau représente les orientations à court terme. Cette catégorie vise à obtenir
le maximum de rentabilité et à analyser son aspect technique. L’impact opérationnel est limité
sur le plan spatial au niveau de l’entreprise, il concerne bien souvent une fonction interne de
l’entreprise. Les décisions opérationnelles assurent la flexibilité quotidienne pour faire face aux
fluctuations prévues de la demande et la disponibilité des ressources et réagir aux aléas. Elles
sont prises, dans le cas par exemple, de la gestion de stocks, de l’ordonnancement de la
production, etc.
7
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
La figure suivante décrit la hiérarchie et montre l’interaction qui existe entre les activités
du système de gestion.
2 Organisation de la production
2.1 Le principe des 5 zéros
L’organisation de la production est passée par plusieurs étapes en fonction des tendances
de marché qui caractérisaient l’environnement économique. Les nouvelles formes
d’organisation du travail inspirées du Toyotisme (développé par les responsables de production
de la firme japonaise Toyota en 1950) s’inscrivent dans une logique de qualité totale qui
consiste à développer un processus continu d’amélioration du processus de production à partir
de la mobilisation de l’ensemble des personnels impliqués que ce soit au niveau des méthodes
de gestion de la qualité que de l’assurance-qualité [GM, 2005]. Cette recherche de qualité totale
est symbolisée par le principe des « 5 zéros ». (Source : Berrichi A, 2009)
8
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Zéro délai : les gains de productivité vont par ailleurs être obtenus par la mise en place
d’un système de production en continu ce qui dans le cadre d’un mode de production flexible
se traduit par l’élaboration de processus de production facilement reprogrammables et
adaptables.
Zéro stock : des gains de productivité peuvent aussi être obtenus par la suppression des
stocks de produits finis ou de produits intermédiaires qui coûtent chers à l’entreprise. La
production va donc être organisée selon le principe de la production au « juste-à-temps ».
Zéro papier : la flexibilité de l’outil de production ne pourra être obtenue que par une
organisation plus souple et donc moins dépendante de procédures administratives complexes
qui ralentissent le processus de décision. Le système d’information devient donc moins formel
et moins vertical.
2.2.1 La performance
La performance d’un système peut être définie comme étant l’efficacité à fournir un
service attendu à un instant donné et dans des conditions prédéterminées. Elle intègre les
notions de coût, délais, qualité, flexibilité (capacité de changement rapide aux modifications de
l’outil de production) et valeur (la satisfaction du client). Une façon de la mesurer consiste à
mesurer la distance entre ce que l’entreprise obtient avec les moyens dont elle dispose et ce
qu’elle souhaite atteindre comme objectif.
9
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Elle intègre les notions de disponibilité, fiabilité, maintenabilité et sécurité. Elle consiste
à connaître, détecter, évaluer, prévoir, mesurer et maîtriser les défaillances des machines.
L’intégration d’un service de maintenance est indispensable pour l’amélioration de la SdF et
l’augmentation des performances des systèmes de production.
Dans un problème d’atelier, une pièce doit être usinée ou assemblée sur différentes
machines. Chaque machine est une ressource disjonctive, c’est-à-dire qu’elle ne peut exécuter
qu’une tâche à la fois, et les tâches sont liées exclusivement par des contraintes d’enchaînement.
Plus précisément, les tâches sont regroupées en n entités appelées travaux ou lots. Chaque lot
10
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
est constitué de m tâches à exécuter sur m machines distinctes. Il existe trois types de problèmes
d’atelier, selon la nature des contraintes liant les tâches d’un même lot. Lorsque l’ordre de
passage de chaque lot est fixé et commun à tous les lots, on parle d’atelier à cheminement
unique (flow-shop). Si cet ordre est fixé, mais propre à chaque lot, il s’agit d’un atelier à
cheminements multiples (job-shop). Enfin, si le séquencement des tâches des travaux n’est pas
imposé, on parle d’atelier à cheminements libres (open-shop). Un critère d’optimisation souvent
étudié est la minimisation du délai total de l’ordonnancement (Makespan).
Etabli par Henry Gantt en 1885, c’est une représentation très pratique et très utilisée.
Les tâches ou activités sont ordonnées sur une échelle de temps en fonction des antériorités
entre les tâches, de la disponibilité des moyens matériels...
La mise en évidence des relations d’antériorité n’existe pas entre les tâches ;
Durant le déroulement du projet, si une tâche prend du retard, on ne peut
déterminer l’influence sur la fin du projet ;
Lors de la mise à jour du planning, on décale les tâches en retard vers la droite
et il nous est difficile de déterminer l’ordre et la nature de ces dernières ;
La figure suivante montre l’ordonnancement d’un atelier flowshop à deux machines, les dates
de début et date de fin des taches ainsi que la durée des taches est mise en valeur.
11
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
D’un autre point de vue, cela signifie « déterminer ce qui va être fait, quand, ou, et avec
quel moyen. Étant donné un ensemble de tâches à accomplir, le problème d’ordonnancement
consiste à déterminer quelles tâches doivent être exécutées et a assigné des dates et des
ressources à ces taches de façon à ce qu’ils soient, dans la mesure de possible, accomplies en
temps utiles, au moindre coût et dans les meilleures conditions.
12
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Machines
Temps
L’ordonnancement d’atelier peut être décomposé en taches. Ce dernier peut être aussi
subdivisé en opérations qui est caractérisé par sa date de début et sa date de fin. L’exécution de
cette opération nécessite l’immobilisation d’une ou plusieurs ressources en prenant ainsi un
temps opératoire. Dans certains cas, les opérations peuvent être exécutées par morceaux, ce qui
est désigné par le terme opération morcelable ou bien problèmes de préemptifs. Ce dernier
signifie que l’exécution d’une opération peut être interrompue et remise plus tard en
commençant par là ou on l’avait laissé.
Dans un problème d’ordonnancement, une tache Jj est localisée dans le temps par :
13
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Tij : Le retard vrai de la tache Jj sur la machine Mi, ici Tij= max {0, cij-dij} ;
Par définition, une ressource est un moyen, technique ou humain, dont la disponibilité
est limitée. On peut distinguer deux types de ressources : les ressources renouvelables et
ressources consommables.
14
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
somme (qui peut être la somme totale ou pondérée) sur toutes les taches d’une certaine mesure
ou d’une combinaison de plusieurs mesures. Les critères les plus souvent utilisés sont :
Chaque tâche est constituée d’une seule opération, et chacune d’elles doivent d’être
réalisée par une seule machine.
Ce sont des machines qui remplissent les mêmes fonctions. Selon leur vitesse
d’exécution, on distingue :
Machines identiques
Machines uniformes
15
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Machines indépendantes
Les n tâches doivent être exécutés sur les m machines, de même que le flow shop, la
seule différence est les séquences des opérations qui peuvent être distinct et sont propres à
chaque tache. Voici une figure illustrant un atelier Job Shop
Dans ce type d’atelier, l’ordre des opérations n’est pas fixé. C’est un type d’atelier pas
très courant dans les entreprises et qui n’est pas très étudié dans la littérature vue que le
problème d’ordonnancement consiste à déterminer le cheminement de chaque tache et d’autre
16
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
part à ordonnancer les taches en tenant compte des gammes. Cependant, ces deux problèmes
peuvent être résolus simultanément.
α1 ∈{Ø,P,R,O,F,J} ;
γ : le critère à optimiser ;
Exemples :
M1 M2
J1 4 2
J2 2 6
J3 4 4
Les classes P et NP :
Pour pouvoir exposer la notion de classe de problèmes, il est tout d’abord nécessaire de
distinguer les problèmes de décision des problèmes d’optimisation. Un problème de décision
est un problème pour lequel la réponse est "oui" ou "non". Il est possible d’associer à chaque
problème d’optimisation, un problème de décision en introduisant un seuil k correspondant à la
fonction objectif f. Le problème de décision devient : "existe-t-il un ordonnancement réalisable
(S) tel que f (S) ≤ k ?".
18
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Il est alors possible de définir la classe de complexité P qui regroupe l’ensemble des
problèmes de décision qui peuvent être résolus par des algorithmes déterministes en un temps
polynomial, c’est-à-dire la complexité dans le pire des cas est polynomiale. Les problèmes
appartenant à cette classe sont relativement simples à résoudre.
La classe NP regroupe les problèmes qui peuvent être résolus en temps polynomial par
un algorithme non déterministe (Algorithme qui comporte des instructions de choix) [Giard V,
2003]. Pour ces algorithmes, si à chaque instruction le bon choix est effectué, le temps de calcul
est polynomial. Si au contraire tous les choix sont énumérés, l’algorithme devient déterministe
et son temps de calcul devient exponentiel. Les algorithmes "ordinaires" sont évidemment des
cas particuliers des algorithmes non déterministes [Flipo C, 1998]. Aussi tout problème de
décision qui peut être résolu par un algorithme polynomial, et qui donc appartient à la classe P,
appartient également à la classe NP. D’où P⊆NP.
19
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Les techniques de résolution exacte sont définies pour les problèmes combinatoires en
général. L’énumération exhaustive est la méthode la plus simple. Les méthodes par séparation
et évaluation et la programmation dynamique font une énumération intelligente des solutions
possibles. Pour des problèmes difficiles de grande taille, la durée d’exécution est démesurée et
il faut envisager une résolution approchée. Ils sont exposés dans la suite.
Elles sont aussi appelées méthodes arborescentes. Ce sont des méthodes exactes qui
pratiquent une énumération complète et améliorée des solutions. Elles partagent l’espace des
solutions en sous-ensembles de plus en plus petits, la plupart étant éliminés par des calculs de
bornes. Appliquées à des problèmes NP-difficiles, ces méthodes restent bien sur exponentielles,
mais leur complexité est bien plus faible que pour une énumération exhaustive. Elles peuvent
pallier le manque d’algorithmes polynomiaux pour des problèmes de taille moyenne.
La programmation dynamique est une méthode fondée sur le principe de Bellman qui
assure que la sous-stratégie d’une politique optimale est elle-même optimale. Cette procédure
est basée sur la division récursive d’un problème en sous-problèmes plus simples. Ainsi, le
système est constitué de plusieurs étapes à résoudre de façon séquentielle. Chaque étape
correspond à un sous-problème que nous résolvons de façon optimale en tenant compte des
informations obtenues au cours des étapes précédentes. Cela nécessite une formulation du
critère sous la forme d’une relation de récurrence reliant deux niveaux consécutifs. Cependant,
le passage d’une étape à une autre peut être basé sur les lois d’évolution du système et d’une
décision. La procédure évite une énumération totale de l’espace de recherche par des séquences
de décision partielle d’élagage qui ne peuvent pas conduire à la solution optimale.
20
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Les méthodes approchées représentent une alternative intéressante pour résoudre des
problèmes d’optimisation combinatoires NP-difficiles. Contrairement aux méthodes exactes
qui cherchent les solutions optimales, les méthodes approximatives fournissent des solutions
acceptables en un temps raisonnable. Les méthodes les plus connues pour leurs aptitudes à
résoudre ce type de problèmes sont essentiellement les heuristiques de construction, les
heuristiques de décomposition et les métaheuristiques.
L’inconvénient des méthodes de voisinage est qu’elles restent parfois bloquées dans un
minimum local, les méta-heuristiques dépassent cet inconvénient. L’idée consiste à autoriser
une détérioration temporaire de l’objectif, permettant ainsi de quitter un minimum local.
21
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
1 Définition
La maintenance, dans sa plus large définition, est l’ensemble des actions et gestions
permettant de maintenir ou rétablir un bien dans un état spécifié ou en mesure d’assurer un
service déterminé, AFNOR(NF X60-0101). Et quand on parle d’ordonnancement, il est
nécessaire de rappeler que : bien maintenir, c’est assurer ces opérations au coût optimal.
Dans son ensemble, la fonction maintenance est constituée de plusieurs composants qui
se catégorisent en deux activités bien distinctes : activités techniques et activités de gestion.
22
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Figure 8: La fonction maintenance dans son ensemble (Source : Retour & Al, 1990)
2 Evolution de la maintenance
Due aux avancés technologiques des équipements de production, à partir de la
révolution industrielle, la maintenance a connu trois phases d’évolution qui sont :
23
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
AV : Analyse de la Valeur ;
AO : Analyse de l’Organisation ;
AQ : Analyse de la Qualité ;
C’est une « maintenance exécutée à des intervalles prédétermine ou selon des critères
prescrits et destinés à réduire la probabilité de défaillance ou dégradation du fonctionnement du
bien ». En d’autres termes, c’est une maintenance prévue, préparée et programmée en
fonctionnement de diffèrent paramètres en vue d’éviter l’apparition probable d’une défaillance
identifie. Il existe trois formes de la maintenance préventives :
24
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
(norme NF EN 13306 X 60319). Dans ce cas il n’y a pas d’échéancier, mais c’est le
franchissement d’un seuil qui provoque l’intervention.
La maintenance palliative ;
La maintenance curative .
25
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Préparation ;
Réalisation travaux de maintenance ;
Ordonnancement ;
Méthodes ;
Achats ;
Gestion de stock- Magasin ;
26
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Planification
Approvisionnement
• Outillage
• Pièces de rechange
• (Entreprises extérieures)
27
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Les différentes étapes de cycle de vie d’un bien peuvent être repérées dans le temps. Le
schéma ci-dessous montre les états successifs que peut prendre un système réparable.
Figure 13: Etat successif d’un système réparable (Source : Management des moyens de production,
Claude Sourisse et François Klaye)
MTTF= Mean Time To(first) Failure <=> Fonctionnement Moyen Avant Première
défaillance
MTBF= Mean Time Between Failure <=> Temps Moyen entre défaillance
Ces différentes étapes dans le cycle de vie de système se déterminent par calcul de probabilité,
d’où le terme de fiabilité, disponibilité et maintenabilité.
La fiabilité
28
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Le nombre F(t) représente la probabilité qu’un dispositif choisi au hasard ait une défaillance
avant l’instant t.
F(t)= P (T ≤ t)
E : entité ;
Le nombre R(t) représente la probabilité qu’un dispositif choisi au hasard dans la population
n’ait pas de défaillance avant l’instant t.
1 𝑅(𝑡)−𝑅(𝑡+∆𝑡)
λ(t)= lim ( . )
∆𝑡→0 ∆𝑡 𝑅(𝑡)
Le taux défaillance est définit par des expressions mathématiques à travers des calculs
de probabilité, comme peut le voir dans l’annexe. Cependant, on peut aussi l’exprimer par une
expression physique
Le MTBF (Mean Time Between Failure) est souvent traduit comme étant la moyenne
des temps de bon fonctionnement, mais représente la moyenne des temps entre deux
défaillances. En d’autres termes, Il correspond à l’espérance de la durée de vie t.
29
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Dans cet ouvrage, le calcul des différents paramètres est laissé à l’utilisateur afin qu’il
introduise ces données dans l’application qui va se charger de trouver l’ordonnancement
optimal des séquences de tache de production et de maintenance.
5 Objectif de la maintenance
La maintenance a pour objectif de déterminer :
Accroitre la fiabilité ;
Assurer la disponibilité ;
Accroitre la maintenabilité.
Une GMAO est constituée d’une base de donne(historique) qui est alimentée par le
personnel de maintenance via un formulaire. Des pannes sont mises en mémoire pour certains
équipements (date, temps passe, intervenant, matériel remplace, etc.)
30
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
7 Ordonnancement de la maintenance
L’ordonnancement de la maintenance a pour rôle de planifier la réalisation des tâches
de maintenance sur les machines et équipements de la production, c’est-à-dire de fixer leurs
dates de début et leurs dates de fin et de réunir tous les moyens prévus pour leur réalisation
(machines, personnel, outils, pièces de rechange, etc.). Il intervient chronologiquement entre la
fonction « Méthodes » chargée d’initier les tâches en affectant une durée à un travail (temps
alloué) et la fonction « Réalisation » (ou Lancement) chargée de mettre en œuvre l’intervention
au moment choisi par l’ordonnancement. Les activités principales en ordonnancement de la
maintenance sont la Programmation, le Lancement et l’Approvisionnement.
La programmation est l’action d’intégrer une tâche en attente sur un planning en lui
choisissant des dates de début et de fin. L’activité de lancement a pour mission de rassembler
tous les moyens nécessaires, à la réalisation d’une tâche de maintenance, pour assurer leur
disponibilité au moment choisi. L’ordonnancement de la maintenance est également
responsable de la disponibilité des « consommables » et des pièces de rechange, donc d’assurer
les approvisionnements nécessaires.
𝜃1 𝜃2 𝜃3
Temps
Le temps total de maintenance préventive d’une machine étant θ, d’où son expression :
31
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
𝜽 = 𝜽𝟏 + 𝜽𝟐 + 𝜽𝟑
Les phases de contrôle et de réglage sont des taches qui ne représentent pas un temps
d’arrêt pour la production. Ils sont appelés : intervention masquée. De ce fait, seul θ3 est pris
en compte, car elle représente un arrêt pour la production. Alors, θ3 est le temps opératoire de
maintenance préventive introduit dans le calcul l’application.
32
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Aux de maintenance ;
A l’optimisation de l’utilisation des ressources de maintenance ;
Aux règles de sécurités.
Conclusion partielle
Dans la première partie de ce mémoire, on s’est focalisé sur la généralité des systèmes
de production et la maintenance industrielle qui nous a permis d’entourer le sujet qu’on doit
traiter dans cet ouvrage. Dans la deuxième partie, on va se concentrer sur l’ordonnancement
conjoint Production/Maintenance, le problématique qu’on fait face et surtout le contexte
d’optimisation par algorithme génétique.
33
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
PARTIE 2 : ORDONNANCEMENT
CONJOINT
PRODUCTION/MAINTENANCE :
OPTIMISATION PAR
ALGORITHME GENETIQUE
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
35
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Il s’agit, ici, de l’ordonnancement par deux responsables respectifs des deux services.
Souvent, l’application de ces ordonnancements entraîne des conflits ou des retards parce qu’elle
se déroule au même moment. Elle exige donc une communication accrue entre les deux
services.
36
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Elle consiste à planifier l’une des deux activités, production ou maintenance, et à utiliser
cet ordonnancement comme une contrainte supplémentaire d’indisponibilité des ressources
dans la résolution du problème d’ordonnancement de l’ensemble des deux types de taches.
37
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
En premier lieu, la production, en vue d’atteindre l’objectif fixé, voudrait utiliser les
ressources les plus longtemps possibles. Cependant la maintenance, afin de bien maintenir et
assurer le fonctionnement et la disponibilité des matériels interromps la production pour
effectuer sa fonction. Les conflits ne sont pas les seuls problèmes entraînés par
l’ordonnancement séparé, il y a aussi les problèmes suivants :
38
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
2 Notations et hypothèses
Le problème d’ordonnancement de type flow shop strictement non-préemptif avec la
prise en compte de périodes de maintenance des machines se définit comme suit :
Un ensemble de n travaux J = {J1, J2, . . ., Jn} doit être réalise sur m machines M =
{M1, M2, . . ., Mm} ;
Chaque travail Ji compose d’une séquence de m opération {Oi1, Oi2, . . ., Oim}, visite
toutes les machines dans l’ordre (M1, M2,…,Mm) ;
Chaque machine ne peut réaliser qu’une seule opération a la fois et chaque opération
nécessite une seule machine à la fois ;
Les machines sont sujettes à plusieurs types de maintenance et a des périodes
différentes. Une gamme de maintenance sera fixée a priori ;
Les opérations sont strictement non-préemptives, ce qui signifie que l’exécution de
toute opération ne peut être interrompue ni par la réalisation d’une intervention de
maintenance, ni par celle d’une autre opération.
39
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
travail plus ou moins 1 heure. En plus, il est raisonnable de penser que si une machine est
libre à un moment donné et si une tâche de maintenance peut s’effectuer à ce moment, il
peut être plus intéressant de la réaliser aussitôt que possible, de manière à poursuivre avec
une machine dont la probabilité de panne est plus faible. On suppose aussi que le nombre
de tâches de maintenance est une seule intervention de maintenance préventive pour chaque
machine, et il n’y a qu’une seule équipe d’intervention dans l’entreprise, de ce fait, on ne
peut réaliser deux interventions de maintenance en même temps sur deux machines, donc
on doit supposer aussi qu’il existe un intervalle de temps entre deux maintenances
successives.
Symbole Signification
3 La fonction objective
Le but est de proposer une méthode qui fournit un planning commun pour les taches de
production et de maintenance. L’objectif de l’optimisation consiste en un compromis entre la
fonction objectif que l’on souhaite atteindre pour la production et la maintenance.
40
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Les contraintes imposées par les clients à leurs fournisseurs s’expriment souvent en
termes de délai, ce qui nous fait naturellement nous tourner vers la minimisation de temps total
de fabrication (Makespan ou Cmax). Cette fonction objective qui peut par :
Pour chaque tache Jij ordonnancé à un temps Sij la fonction objective peut être calculés
comme suit :
Les algorithmes génétiques (AGs) sont des algorithmes d’exploration fondés sur les
mécanismes de la sélection naturelle et de la génétique. Ils utilisent à la fois les principes de la
survie des structures les mieux adaptées, et les échanges d’informations aléatoires, parfois
guidées, pour former un algorithme d’exploration qui possède certaines des caractéristiques de
l’exploration humaine. Ils ont été développés par John Holland à l’université de Michigan avec
deux objectifs à atteindre :
Ce sont des algorithmes itératifs de recherche globale dont l’objectif est d’optimiser une
fonction prédéfinie, appelée fonction coût ou fonction fitness. En algorithme génétique, on
emploie presque certains termes qu’on trouve en génétique. On travaille sur un ensemble
d’individus qu’on appelle population. Un individu a deux représentations, le phénotype et le
41
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Un de points des plus importants des algorithmes génétiques est la flexibilité dans la
fonction objective.
Le travail de recherche commence en plusieurs points dans l’espace des solutions, c’est-
à-dire sur une population de points et non pas en un point singulier comme dans la plupart des
techniques d’optimisation. On opère ensuite par la sélection des parents, le croisement et la
mutation de ces derniers et enfin l’évaluation des enfants trouvés.
Nous avons utilisé la sélection par roue de roulette (Roulette Wheel Selection), ou
sélection proportionnelle à la forme physique, qui garantit que l’ajusteur d’une solution
individuelle a plus de chances d’être sélectionné. Dans ce cas, chaque individu de la population
est une séquence de permutation, et plus sa Makespan est basse, plus elle est en forme. En fait,
la mesure de la forme physique utilisée pour chaque individu est la valeur normalisée de
l’inverse multiplicatif de la Makespan. Ainsi, lorsque la sélection de la roulette est effectuée,
les meilleures séquences sont choisies un grand nombre de fois, alors que les séquences les
moins bien ajustées sont choisies plus rarement. Il en résulte une population en meilleure forme,
ce qui rend plus probable l’obtention des valeurs optimales.
42
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Séquence 1 32 16
Séquence 2 25 20
Séquence 3 54 9
Séquence 4 48 11
Séquence 5 15 34
Séquence 6 50 10
Séquence 6 Séquence 1
10% 16%
Séquence 5
34%
Séquence 4 Séquence 3
11% 9%
43
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
individus les plus faibles ne sont pas sans chance. Dans la nature, ces individus peuvent avoir
un codage génétique qui pourrait s’avérer utile pour les générations futures. De nouveau, M
séquences sont sélectionnées parmi les séquences résultantes. Un croisement partiellement
mappé est appliqué à chacune des séquences M avec les séquences restantes (M-1) créant des
séquences M * (M-1).
5.2.2 Le croisement
Une opération de croisement combine des parties de deux individus, appelés parents,
pour obtenir un nouvel individu appelé enfant. Les croisements entraînent un mélange de
caractéristiques d’individus différents ; si les bonnes parties de deux parents sont combinées,
cela peut donner un enfant en meilleure forme. Dans cette étude, la méthode PMX (Partially
Mapped Crossover) est utilisé comme technique de croisement qui mappe directement une
partie (entre deux points de croisement générés aléatoirement) de la séquence parent, puis
remplit le reste de l’enfant en copiant les éléments selon l’ordre du second parent, en omettant
ceux déjà présents, ce processus est aussi appelé Crossover ordonné. On va utiliser des
croisements ordonnés sur chaque paire de séquences d’une population pour générer un grand
nombre de nouvelles solutions pouvant présenter des caractéristiques très différentes et donc
améliorer rapidement les solutions.
Dans cette méthode, deux points de croisement sont sélectionnés de manière aléatoire
et PMX procède par échanges de position. Les deux points de croisement permettent une
sélection correspondante. Il affecte les opérations d’échange croisées par position par position.
Les parents sont mappés les uns aux autres, nous pouvons donc également l’appeler le
croisement partiellement mappé. L’exemple ci-dessous montre ce processus de croisement
Parent 1 : 4 3 6 2 5 1 9 7 8
Parent 2 : 6 4 7 1 5 2 9 8 3
Enfant 1 : 4 3 7 1 5 2 9 6 8
Enfant 2 : 7 4 6 2 5 1 9 8 3
44
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
5.2.3 La mutation
4, 6, 8, 2, 7, 0, 9, 3, 1, 5 4, 6, 8, 2, 7, 0, 1, 3, 9, 5
6, 9, 0, 7, 8, 3, 5, 2, 1, 4 6, 9, 0, 7, 8, 3, 5, 1,2, 4
45
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Mutation inverse
1, 3, 4, 5, 9, 0, 6, 8, 2, 7 1, 3, 8, 6, 0, 9, 5, 4, 2, 7
3, 2, 6, 5, 7, 8, 9, 0, 4, 1 3, 0, 9, 8, 7, 5, 6, 2, 4, 1
Conclusion partielle
Cette partie s’est focalisée sur l’ordonnancement conjoint production/maintenance, en
passant par la différente méthode d’ordonnancement de ces deux fonctions. La technique
d’optimisation par algorithme génétique a été aussi mise en valeur où on a précisé comment cet
algorithme évolutionnaire fonctionne et quelles sont les étapes à suivre. La programmation et
la simulation du planificateur optimisé seront l’objet de la troisième partie, il sera testé afin
qu’on puisse déterminer son efficacité et sa performance.
46
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
PARTIE 3 : PROGRAMMATION
ET SIMULATION
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Python est un langage de programmation orienté objet très puissant et de haut niveau. Il
est gratuit (open source) et indépendant. La conception de Python met l’accent sur la lisibilité du
code et sa syntaxe qui est extrêmement simple. Les expressions et les instructions sont plus courtes
que ceux des autres langages de programmation tels que Java, C, C ++. Toutes ces fonctionnalités
et ses supports de bibliothèque font de Python un langage de programmation de premier choix
pour les programmeurs.
Les programmes Python sont généralement supposés fonctionner plus lentement que les
programmes Java, mais leur développement prend beaucoup moins de temps. Les programmes
Python sont généralement 3 à 5 fois plus courts que les programmes Java équivalents. Cette
différence peut être attribuée aux saisies de données de haut niveau intégrées à Python et à son
typage dynamique. Par exemple, un programmeur Python ne perd pas de temps à déclarer les
types d’arguments ou de variables, et les puissants types de listes et de dictionnaires polymorphes
de Python, pour lesquels un support syntaxique riche est construit directement dans le langage,
trouvent une utilisation dans presque tous les programmes Python. En raison de l’exécution du
code à la frappe, le compilateur et l’environnement de Python travail plus que celle durant un
programme en Java. Par exemple, lors de l’évaluation de l’expression a + b, il doit d’abord
inspecter les objets a et b pour déterminer leur type, ce qui n’est pas connu au moment de la
48
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
compilation. Il appelle ensuite l’opération d’addition appropriée, qui peut être une méthode
définie par l’utilisateur surchargée. Java, en revanche, peut effectuer une addition efficace de
nombres entiers ou de réels, mais nécessite des déclarations de variable pour a et b, et ne permet
pas de surcharger l’opérateur + défini dans une classe précédemment créer par l’utilisateur. Il a
été constaté que les programmes écrits en Python sont 5-10 fois plus courts que les programmes
écrits en C++.
Il s’agit ici de toutes les bibliothèques associées à Python qui sont requises au développement du
planificateur optimisé.
49
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Le module “sys” fournit des informations sur les constantes, les fonctions et les méthodes
de l’interpréteur Python. L’un des principaux utilitaires du module « sys » est le répertoire dir
(system), qui fournit un résumé des constantes, fonctions et méthodes disponibles. On a utilisé
le module « sys » pour nous assurer que le nd-array complet est affiché. Habituellement, pour
les grands tableaux, les valeurs du milieu ne sont pas affichées. Les valeurs au début et à la fin
sont affichées. En important cette bibliothèque et en utilisant sys.maxsize, on a pu s’assurer que
le nd-array complet soit affiché.
Le module « tkinter » (« interface Tk ») est la boîte à outils d’interface graphique Python
standard de Scriptics (auparavant développée par Sun Labs). "Tkinter" est constitué d’un certain
nombre de modules. L’interface « tk » est fournie par un module d’extension binaire nommé
_tkinter. Ce module contient une interface de bas niveau avec « tk » et ne devrait jamais être
utilisé directement par les programmeurs d’application.
L’interface publique est fournie via un certain nombre de modules Python. Le module
d’interface le plus important est le module « tkinter » lui-même. Le module « tkinter » n’exporte
que les classes de widgets et les constantes associées. Pour initialiser « tkinter », nous devons
créer un widget racine « tk ». C’est une fenêtre ordinaire, avec une barre de titre et une autre
décoration fournie par le gestionnaire de fenêtres. Un seul widget racine doit être créé pour
chaque programme et il doit être créé avant tout widget. Un widget étiquette peut afficher du
texte, une icône ou une autre image. Il existe une méthode appelée pack, qui est utilisée pour
« compresser » le texte, l’image, etc. donnée afin qu’ils soient visibles. Même après tout cela,
nous devons appeler la boucle d’événement « tkinter » pour faire apparaître la fenêtre. Le
programme restera dans la boucle d’événements jusqu’à la fermeture de la fenêtre. La boucle
d’événements ne gère pas uniquement les événements de l’utilisateur (tels que les clics de souris
et les appuis sur une touche) ou le système de fenêtre, il gère également les opérations mises en
50
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
file d’attente par « tkinter » lui-même. Parmi ces opérations figurent la gestion de la géométrie
(mise en file d’attente selon la méthode du pack) et les mises à jour d’affichage. Cela signifie
également que la fenêtre de l’application n’apparaîtra pas avant que nous entrions dans la boucle
principale.
Génération de la
population initiale
Evaluation du
Makespan Cmax
Sélection
51
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
temps, mais aussi d’utiliser ses ressources le plus optimales possible. De plus, la date de
début et fin des taches s’accorde de façon à minimiser les retards dans la production.
L’un des modules principaux est le module de calcul Makespan. Makespan est défini
comme le temps nécessaire pour effectuer toutes les tâches. Le processus de calcul du Makespan
est expliqué ci-dessous avec un exemple.
M1 M2 M3 M4
J1 8 3 8 2
J2 5 7 4 1
J3 7 7 3 2
J4 6 4 9 3
J5 4 7 8 7
Soit la séquence suivante J2, J5, J1, J4, J3. Le calcul de la durée de fabrication de cette
séquence est comme suit :
J2 5 12 16 17
5 7 4 1
J5 9 19 27 34
4 7 8 7
J1 17 22 35 37
8 3 8 2
J4 23 27 44 47
6 4 9 3
J3 30 37 47 49
7 7 3 2
Tableau 6: Calcul du Makespan (Cmax)
52
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Ici, le deuxième travail, à savoir J2, est en première ligne et nécessite 5 unités de temps
la machine M1. Le deuxième travail en ligne est J5 et il en faut 5 (attend que la tâche précédente
soit terminée) + 4 = 9 unités dans la machine M1. Le travail J2 aurait pris 7 unités de temps
indépendamment dans la machine M2 et prend donc 12 unités (5 (temps d’attente avant que le
travail cesse d’utiliser la machine M1) +7) = 12 unités. Le deuxième travail J5 prend 19 unités
de temps dans la M2, car 12> 9, nous ajoutons 12 + 7 = 19 unités. Le temps requis par le dernier
travail de la séquence, c’est-à-dire J3, pour terminer le traitement dans la machine M4 est de 49.
La valeur est affectée par le temps cumulé requis par chacune des tâches précédentes sur chaque
machine et donc également sur la séquence dans laquelle les tâches sont organisées. Cette valeur
49 est la valeur de Makespan pour la séquence particulière J2, J5, J1, J4 et J3.
Dans cet exemple, on n’a pas encore introduit ni expliqué lesquelles de ces taches appartient
à la maintenance, c’est une explication simple qui démontre le calcul de la durée de de fabrication
ou Makespan. Nous allons introduire les contraintes introduites par la maintenance dans le prochain
paragraphe qui sont notamment des contraintes de ressources et des contraintes temporelles.
53
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Initialisation
Pour chaque séquence appliqué un Crossover ordonné avec les k-1 séquence pour avoir
k*k-1
54
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
OUI
Si i > n
FIN
55
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Pour faciliter l’utilisation de ce programme, son design a été simplifié, on introduit tous les
taches et les différentes conditions de manière simple et rapide. Pour le programme les colonnes
correspondent aux taches est ces durées d’opération, tandis que les lignes désignent les
machines. Les machines sont comptées de haut en bas et les taches de gauches à droite.
56
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
permutation, toutes les taches doivent passer par chacune des machines du début jusqu’à la fin
de la ligne, et ce pour cela que ces taches sont divisées en plusieurs opérations ayant toutes
leurs durées de traitement sur chaque machine.
Ainsi dans chacun des problèmes traités par le programme, l’utilisateur doit entrer :
57
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
En second lieu, l’utilisateur doit entrer les temps opératoires de chaque tache sur les
différentes machines. Elle doit être saisie en sachant que les machines sont en colonne et les
taches en ligne. Ici, les cases des valeurs par défaut 0.
58
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
59
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
De même pour les conditions de maintenance préventive systématiques, ils ont été pris
aléatoirement, car il revient à l’utilisateur de calculer le temps nécessaire avant la première
intervention de maintenance, et le temps nécessaire entre deux maintenances. Cela du fait que ces
deux composants dépendent du moyen de temps de bon fonctionnement (MTBF, MUT, MDT) des
machines considérées.
Afin de tester la performance du programme, on a effectué des tests qu’on va comparer avec des
résultats calculés manuellement par SAOUDI Bakir et REMITA Fares, concernant
l’ordonnancement d’atelier flow shop. Cela permettra de savoir l’optimalité des résultats affichés
par le programme vu qu’on n’a pas des résultats de retour d’expérience.
Deux types de problèmes a été prise en compte, les petites et celle des grandes tailles. Ici, la taille
correspond aux nombres d’opération et de machine.
Afin de tester le programme, nous allons appliquer un test sur une loi uniforme M [1…3] et J [1…4]
TEST 1
60
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Séquence maintenance = J5
J1 J2 J3 J4 J5
M1 5 4 7 8 2
Tableau 7: Test 1
TEST 2
J1 J2 J3 J4 J5
M1 5 3 1 0 0
M2 8 2 0 2 0
M3 4 10 0 0 1.5
Tableau 8: Test 2
TEST 3
J1 J2 J3 J4 J5
M1 12 20 11 2 0
M2 17 8 19 0 2
Tableau 9: Test 3
TEST 4
J1 J2 J3 J4 J5 J6
M1 5 6 4 3 1 0
M2 3 5 4 2 0 1.5
61
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
TEST 5
J1 J2 J3 J4 J5 J6
M1 2 3 4 1 0 0
M2 4 1 3 0 0.5 0
M3 3 2 5 0 0 1.5
En comparant les résultats affichés par le programme et les obtenues par calcul manuel,
aucune différence n’a été remarquée dans le résultat de petite taille. Dans ce cas, on peut affirmer
que le programme est performant dans le traitement de données de petite taille. Les diagrammes
de Gantt de ces différents tests sont dans l’annexe de cet ouvrage.
On voudrait tester le programme en entrant des données de plus grande taille, à partir de 10
taches et 5 machines. Cela permettra de savoir la capacité du programme à résoudre de plus
grand problème d’ordonnancement ce qui prend énormément de temps à être calculé avec une
méthode exacte.
62
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
TEST 6
C’est un test de 10 taches qui seront effectuées sur 5 machines. Donc, il y aura 15 taches
en tout dont 5 taches concernent la maintenance.
Les données de ce test 6 ont été saisies dans le programme afin de tester sa performance
dans la résolution de problème avec une population d’envergure. On a obtenu la séquence
suivante : J6,J4,J11,J10,J9,J12,J1,J13,J7,J3,J14,J5,J2,J15,J8 qui affiche un Cmax = 821,0. Ce
résultat est la même que celle qu’on a trouvée avec un calcul exact. De ce fait, on peut conclure
que les tests sont concluants et que notre planificateur est à la fois efficace et performant. Les
résultats ainsi que leur diagramme de Gantt respectif sont affichés en annexe.
Conclusion partielle
La programmation ainsi que les tests effectués avec le planificateur, traité dans la partie
trois de ce mémoire, s’est avérée concluante. On peut dire que le programme et performant et
efficace pour les traitements de l’ordonnancement d’atelier flowshop de permutation.
63
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
CONCLUSION GÉNÉRALE
Pour conclure, cette étude nous a permis de démontrer qu’on peut avoir un
ordonnancement conjoint production/maintenance afin d’éviter les conflits entre ces deux
fonctions. En prenant le Makespan Cmax comme critère d’optimisation, on a programmé un
planificateur qui contourne les calculs manuels lassant et presque impossible à faire pour les
données de grande taille.
Le programme s’est basé sur l’algorithme génétique qui s’inspire de l’évolution naturelle
qui s’avère particulièrement pratique dans le traitement de problème d’optimisation. Toutefois,
on a pris que la maintenance préventive systématique pour initialiser le programme, cela du fait
que la maintenance corrective dépend des pannes aléatoires.
64
ANDRIAMIADANAIVO Alphène Fabruce Mathieu
ANNEXE
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
TEST 6
Machine 1
Machine 2
Machine 3
Machine 4
Machine 5
Temps
Taches j6 entre2.1 J4 J11 entre2.2 J10 ENTRE2.3 J9
J12 Entre2.4 j1 j13 Entre2.4 J7 entre2.5 J3 j14
Figure 28: Diagramme de Gantt test 6
ANDRIAMIADANAIVO Alphène Fabruce Mathieu 67
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
Test 2
Test 3
Test 4
Test 5
BIBLIOGRAPHIE
[Aggoune,2002] Aggoune R., Ordonnancement d’ateliers sous contraintes de
disponibilité des machines. Thèse de doctorat soutenue à l’Université de Metz, France, 2002.
[Anily,1999] Anily S., Glass C.A. & Hassin R., “Scheduling maintenance services to
three machines”, Annals of Operations Research, VOL. 86, 1999.
[Ben-D,1998] Ben-Daya M. & Makhdoum M., “Integrated production and quality model
under various maintenance policies”, Journal of the Operational Research Society, VOL. 49(8),
1998.
[Brandolese,1996] Brandolese M., Fransi M. & Pozzeti A., “Production and maintenance
integrated planning”, International Journal of Production Research, VOL. 34(7), pp.20592075,
1996.
[Deloux,2005] Deloux E., Castanier B., and Bérenguer C., Optimisation de la politique
de maintenance pour un système à dégradation graduelle stressé, 7ème Congrès international
pluridisciplinaire Qualité de Sûreté de Fonctionnement, 20, 21 et 22 mars 2007, volume1,
Tanger (Maroc), 2007.
[Espinouse,2001] Espinouse M.L., Formanowicz P. & Penz B., “Complexity results and
approximation algorithms for the two machines no-wait flowshop with limited machine
availability”, Journal of the operational research society, VOL. 52, 2001.
[Lee C,2000] Lee C Y and Chen Z L, Scheduling jobs and maintenance activities on
parallel machines. Naval Research Logistics, 2000.
[Parunak H,1985] Parunak, H.V.D, Manufacturing experience with the contract net. In
Proceedings of the Fith Workshop on Distributed Artificial Intelligence, 1985.
[Paz,1994] Paz N.M. & Leigh W., “Maintenance scheduling: issues, results and
research needs”, International Journal of Operations & Production Management, VOL. 14(8),
1994.
[Qi,1999] Qi X., Chen T. & Tu F., “Scheduling the maintenance on single machine”,
Journal of the Operational Research Society, VOL. 50(10), pp.1071-1078, 1999.
ANDRIAMIADANAIVO Alphène Fabruce Mathieu iii
Ordonnancement conjoint Production / Maintenance : Programmation d’un planificateur optimisé sur la base d’algorithme génétique
[Sanmarti,1997] Sanmarti E., Espuna A. & Puigjaner L., “Batch production and
preventive maintenance scheduling under equipment failure uncertainty”, Computer Chemical
Engineering, VOL. 21(10), pp.1157-1168, 1996.
[Tsai,2001] Tsai Y.T., Wang K.S. & Teng H.Y., “Optimizing preventive maintenance
for mechanical components using genetic algorithms”, Reliability Engineering and System
Safety, VOL. 74, 2001.
[Vacher,2000] Vacher P., « Un système adaptatif par agents avec utilisation des
algorithmes génétiques multiobjectifs : Application à l’ordonnancement d’atelier de type job-
shop », Thèse de Doctorat, Université du Havre, 2000.
SOMMAIRE ............................................................................................................................... c
3.1 Ordonnancement............................................................................................................ 10
1 Définition ....................................................................................................................... 22
1 Problématique ................................................................................................................ 35
ANNEXE ................................................................................................................................. 65
BIBLIOGRAPHIE ...................................................................................................................... i
Email : andri.alphenefm@gmail.com
Nombre de pages : 72
Nombre de figures : 37
Nombres de tableaux : 13
Résumé
This thesis deals with flow shop of permutation scheduling problem considering the
interruption due to the preventive maintenance. Programming a scheduler capable of solving
the issue between the department of production and maintenance in term of task execution
is the main subject of this work. Therefore, we have implemented genetic algorithm in order
to optimize the Makespan (Cmax) so that the program refers to natural evolution. Some
simulations have been conducted as well as its drawing of the Gantt chart to emphasize the
scheduler’s performance.