Memoire Master2 FINAL Apres Correction
Memoire Master2 FINAL Apres Correction
Memoire Master2 FINAL Apres Correction
Domaine : Mathématiques-Informatique
Filière : Informatique
Spécialité : Systèmes d’information répartis
Thème
Optimisation par colonies d’abeilles :
application au problème conjoint
production-maintenance
Présenté par :
NADOUR Mehdi
ZEMMOUR Zaki
Bien sûr, nous n’oublions pas de remercier nos familles et nos amis respectifs
pour leur présence et leur soutien inconditionnel.
Table des matières
Introduction générale……………………………………………………………………..1
3. Gestion de la maintenance.................................................................................................. 7
3.3. Objectifs....................................................................................................................... 7
4. Conclusion ........................................................................................................................ 10
Chapitre 2 : Ordonnancement
1 Introduction ...................................................................................................................... 11
2 Définitions ........................................................................................................................ 11
5.Conclusion ............................................................................................................................. 18
3 Problématique................................................................................................................... 20
7.Conclusion ............................................................................................................................. 29
2. Historique ......................................................................................................................... 30
4.4. Abandon des sources taries et mise en œuvre des exploratrices (éclaireuses) ................. 38
6. Conclusion ........................................................................................................................ 41
Chapitre 5 : Implémentation et tests expérimentaux
1. Introduction ...................................................................................................................... 42
4. Implémentation................................................................................................................. 45
5. Conclusion ........................................................................................................................ 54
Bibliographie .................................................................................................................... 56
Table des figures
Chapitre 1
Figure 1-1: Hiérarchie du système de gestion de la production [43] ......................................... 6
Figure 1-2: Méthodes de maintenance dans l'entreprise ............................................................ 8
Figure 1-3: Effet d'une bonne maintenance préventive [43] .................................................... 10
Chapitre 2
Chapitre 3
Figure 3-1 :Allure de la frontière Pareto selon l’optimisation (min, max) des différents
objectifs. ................................................................................................................................... 27
Figure 3-2 : Illustration de la convergence et de la diversité en multi-objectif........................ 27
Chapitre 5
Chapitre 5
Dans le domaine de la production industrielle, les tendances actuelles indiquent que les
systèmes manufacturiers performants doivent s’adapter rapidement aux fluctuations du
marché (demandes aléatoires) et aux perturbations internes (pannes des machines). Les
machines doivent pouvoir fabriquer plusieurs types de produits simultanément et de manière
efficace [42].
Dans un tel contexte, rester toujours performant, passe obligatoirement par le maintien en état
de fonctionnement de l’outil de production, qui reste toujours la préoccupation majeure de
tous les gestionnaires dans un monde industriel où les notions de réactivité, de coûts et de
qualité ont de plus en plus d’importance, et où il est vital de pouvoir s’appuyer sur un système
de production performant à tout instant [43]. Ainsi, la détermination simultanée d’un meilleur
programme de réalisation des commandes et d’une politique de maintenance appropriée pour
le système de production est devenue un problème préoccupant dans le domaine de
l’optimisation des systèmes manufacturiers [35]. Nous sommes donc face à un problème bi-
objectif, d’une part ordonnancer la production sous les contraintes de respect des délais, coût
et qualité des produits et d’autre part planifier la maintenance sous les contraintes de sureté de
fonctionnement des équipements qui assurent la pérennité de l’outil de production [43].
1
Notre travail s’inscrit dans ce souci d’optimiser l’ordonnancement de production et de
maintenance en anticipant tout conflit pouvant se présenter entre ces deux services et ceci
peut être réalisé en créant une certaine coopération entre les deux services production et
maintenance. Dans le cadre de l’étude de ce mémoire, nous nous focaliserons sur
l’ordonnancement conjoint de la production et de la maintenance dans le cas de machines en
parallèle identiques et nous nous intéressons à la maintenance préventive systématique.
Le but de ce travail est de proposer une modélisation et une approche de résolution bi-
objective intégrée au problème. En effet, les services de production et de maintenance doivent
collaborer pour atteindre un but commun, celui de la maximisation de la productivité du
système de production. Par conséquent, les objectifs de production et de maintenance doivent
être considérés avec le même niveau d’importance. Donc, les solutions au problème conjoint
production-maintenance doivent être des solutions de compromis entre les objectifs des deux
services. En outre, le but final des décideurs est d’avoir un système de production qui soit le
plus disponible possible lui permettant de réaliser les tâches de production le plus tôt possible.
Le présent document est divisé en cinq parties : Dans le premier chapitre, nous aborderons les
systèmes de production ainsi que toutes les notions relatives la maintenance. Ensuite, dans le
second, Nous introduirons la notion d’ordonnancement et présenterons ses différents
problèmes, Le troisième chapitre sera un état de l’art sur les problèmes d’ordonnancement
conjoints production/maintenance, suivi d’une problématique à traiter et sa modélisation puis
d’une introduction à l’optimisation multi-objectif. S’en suivra le chapitre 4 qui sera consacré à
la présentation de la méthode que nous allons utiliser pour implémenter notre solveur, en
l’occurrence l’algorithme de la colonie d’abeilles artificielles (ABC), Le cinquième et dernier
chapitre portera sur l’implémentation de notre application ainsi que l’élaboration des tests
expérimentaux. Nous finirons notre travail par une conclusion générale suivies de
perspectives résultant du travail effectué.
2
Chapitre 1
1. Introduction
Nous allons présenter, dans ce chapitre, la notion de gestion de production, ses objectifs
ainsi que les systèmes de production et leur typologie, nous passerons ensuite à la
maintenance, dont nous exposerons les différents types, les objectifs et la politique.
2.1. Définition
3
Chapitre 1 : Gestion et maintenance des systèmes de production
En termes de coût : L’entreprise doit garantir sa compétitivité par les couts de production les
plus faibles possibles.
En termes de délais : Cela consiste en respecter des délais raisonnables, conformes avec le
niveau de demande à laquelle doit faire face l’entreprise. Cela permettra d’éviter le stockage
des bien finaux et le stockage des produits finis et de connaître des goulets d’étranglement.
Processus discrets : Tels que l’usinage de toutes les activités d’assemblage, etc. Cette vision
des systèmes est très fréquente dans l’industrie manufacturière.
Processus discontinus : Ils se situent par définition à mi-chemin entre les processus continus
et les processus discrets. La production est continue mais le conditionnement des produits est
discret.
4
Chapitre 1 : Gestion et maintenance des systèmes de production
Le système physique, quant à lui, transforme les matières premières en produits finis et
ceci sous la commande du système de gestion qui transforme les informations à caractère
commercial en ordres de fabrication et ordres d’approvisionnements. Le système est bouclé
puisqu’en retour, il reçoit les informations de suivi du système physique pour pouvoir
effectivement piloter ce dernier.
La recherche d’une grande efficacité de l’outil de production a été pendant très longtemps
l’objectif principal de la gestion de production. Elle est structurée par des fonction ou
services, spécialisés et liés hiérarchiquement, tout comme est structurée l’organisation de
l’entreprise. Cette hiérarchie obéit à un modèle de résolution de problème, qui décompose les
décisions en quatre niveaux [5, 6]:
Long terme (décisions stratégiques) : Cela concerne la politique à long terme de l’entreprise
(en général, vision à plus de deux ans). Ce qui implique une définition volontaire et cohérente
du portefeuille d’activités et d’investissements.
Moyen terme (décisions tactiques) : C’est l’ensemble des décisions à moyen terme, fixant la
gestion des stocks, la planification de la production, etc.
5
Chapitre 1 : Gestion et maintenance des systèmes de production
Court terme (décisions opérationnelles) : Ces sont les décisions qui déterminent
l’ordonnancement et le pilotage.
Très court terme (niveau d’exécution) : Il transmet les ordres de fabrication et d’affectation
des ressources au système physique.
Les SP sont caractérisés par la séquence des opérations nécessaires pour réaliser des
produit finis. Face à la diversité des processus de production, Giard [7] a proposé deux
typologies :
Liée à la demande : Les ordres de fabrication peuvent émaner, soit pour satisfaire des
commandes sur mesure, soit pour mettre à niveau les stocks des produits finis.
Liée aux ressources : Cette typologie dépend de la manière dont les ressources sont
organisées pour traiter les matières premières ou les produits semi finis.
6
Chapitre 1 : Gestion et maintenance des systèmes de production
3. Gestion de la maintenance
3.1. Définition
3.2. Terminologie
3.3. Objectifs
7
Chapitre 1 : Gestion et maintenance des systèmes de production
8
Chapitre 1 : Gestion et maintenance des systèmes de production
1. Maintenance corrective
La maintenance corrective appelée parfois curative (terme non normalisé) a pour objet de
redonner au matériel des qualités perdues nécessaires à son utilisation. La maintenance
corrective peut être [8] :
− Différée : maintenance corrective qui n'est pas exécutée immédiatement après la détection
d'une panne, mais est retardée en accord avec des règles de maintenance données.
− D’urgence : maintenance corrective exécutée sans délai après détection d'une panne afin
d'éviter des conséquences inacceptables.
Les défauts, pannes ou avaries divers exigeant une maintenance corrective entraînent une
indisponibilité immédiate ou à très brève échéance des matériels affectés et/ou une
dépréciation en quantité et/ou qualité des services rendus.
2. Maintenance préventive
9
Chapitre 1 : Gestion et maintenance des systèmes de production
Il faut noter que la maintenance conditionnelle est donc une maintenance dépendante de
l’expérience et faisant intervenir des informations recueillies en temps réel.
4. Conclusion
Dans ce chapitre, nous avons présenté les systèmes de production tant au niveau fonctionnel
qu’au niveau structurel, ainsi que la gestion de la maintenance et sa politique. Les
informations disponibles dans ce chapitre nous permettent de bien comprendre les concepts de
production et de maintenance, ce qui va nous être utile pour la suite de ce travail.
Nous aborderons, dans le prochain chapitre, toutes les notions relatives à l’ordonnancement
de la production.
10
Chapitre 2
L’Ordonnancement
Chapitre 2 : L’Ordonnancement
1 Introduction
L’ordonnancement fait partie de la catégorie de problèmes que l’on regroupe sous le nom
d’optimisation combinatoire, ces derniers font Face à un grand nombre de solutions possibles.
Pour un critère donné, on cherche la meilleure solution ou une bonne solution, suivant les
besoins à satisfaire.
2 Définitions
2.1 L’ordonnancement
Une tâche est une entité élémentaire de travail localisée dans le temps par une date de début ti
ou de fin ci, dont la réalisation est caractérisée par une durée Pi (on a ci = ti + Pi) et par
l'intensité aik avec laquelle elle consomme certains moyens k ou ressources. Cette intensité est
supposée comme constante durant l'exécution de la tâche [9].
11
Chapitre 2 : L’Ordonnancement
La tâche ou « l’opération » peut accepter une interruption de son exécution dans certains
problèmes, on dit qu’elle est préemptive. Dans d’autres problèmes cette interruption est non
permise, la tâche donc est non préemptive.
• Une date de disponibilité ri qui correspond à la date avant laquelle la tâche ne peut pas
être commencée.
• Une date d’achèvement souhaitée di.
Caractéristiques :
« Une ressource k est un moyen technique ou humain requis pour la réalisation d'une tâche et
disponible en quantité limitée, sa capacité ck est supposé constante » [11].
Une ressource peut être renouvelable, comme c'est le cas pour les hommes, les machines,
l’outillage, ... c'est à dire qu'elle peut être utilisée et qu'une fois la tâche terminée, elle est à
nouveau disponible. Mais elle peut aussi ne pas l'être, on parle alors de ressource
consommable telle que la matière première, les produits d'entretien ou encore les budgets.
12
Chapitre 2 : L’Ordonnancement
ou un robot manipulateur. Dans le cas où une ressource pourrait être utilisée dans le
traitement de plusieurs tâches simultanément, comme dans le cas où plusieurs ressources
soient utilisées pour la même tâche, on parle de ressource cumulative (ou partageable) [13].
Les contraintes expriment des restrictions sur les valeurs que peuvent prendre certaines
variables. Dans les problèmes d’ordonnancement, deux types de contraintes sont distinguées :
les contraintes temporelles et les contraintes de ressources.
- Les contraintes temporelles comprennent les contraintes de temps alloué, qui correspondent
généralement aux impératifs liés aux tâches (délai de livraison par exemple) ou encore à la
durée totale d'un ordonnancement. Elles comprennent les contraintes d'antériorité ou de
précédence qui correspondent à des contraintes de cohérence technologique qui positionnent
les tâches les unes par rapport aux autres. Elles comprennent aussi les contraintes de
calendrier qui correspondent, par exemple, aux plages horaires de travail, etc.
Dans la résolution des problèmes on cherche souvent, soit à minimiser, soit à maximiser un
critère correspondant à une amélioration suivant au moins l'un des trois facteurs : coût, qualité
ou délais. Alors on distingue plusieurs classes d'objectifs concernant un ordonnancement [11]:
• Les objectifs liés au temps : on trouve par exemple la minimisation du temps total
d'exécution, du temps moyen d'achèvement, des durées totales de réglage ou des
retards par rapport aux dates de livraison.
13
Chapitre 2 : L’Ordonnancement
• Les objectifs liés aux ressources : maximiser la charge d'une ressource ou minimiser le
nombre de ressources nécessaires pour réaliser un ensemble de tâches sont des
objectifs de ce type,
• Les objectifs liés au coût : ces objectifs sont généralement de minimiser les coûts de
lancement, de production, de stockage, de transport, etc.,
• Les objectifs liés à une énergie ou un débit.
Plusieurs classifications ont été proposées dans la littérature. On trouve par exemple :
• Une classification standard proposée par Graham et al. En 1979 [16]. Dans cette
classification les problèmes sont décrits par la notation α/β/γ, où le premier paramètre
(α) décrit l’organisation de l’atelier et le nombre de machines de quelles il est
constitué. Le deuxième paramètre (β) définit les caractéristiques des travaux à réaliser
et les contraintes associées. Le dernier paramètre (γ) représente le critère
d’optimisation sur lequel l’ordonnancent sera évalué.
• Une classification simple basée sur l’organisation de l’atelier classifie les problèmes
d’ordonnancement en trois classes (le problème à une machine, les problèmes à
machines parallèles et les problèmes d’atelier multi-machines).
Un problème est dit problème à une machine (ou ressource unique) si on ne dispose qu’une
seule ressource pour réaliser un ensemble de travaux. Ces derniers sont constitués d’une seule
tâche pour chacun d’eux. Dans ce type de problème la résolution consiste à trouver l’ordre
optimal d’exécution de ces tâches vis-à-vis d'un critère donné.
14
Chapitre 2 : L’Ordonnancement
• Les problèmes à machines identiques : les durées opératoires sont égales et ne dépendent
donc pas des machines,
• Les problèmes à machines indépendantes (non liées) : les durées opératoires dépendent
complètement des machines utilisées.
Pour ce type de problème les ressources nécessaires pour réaliser l’ensemble des travaux sont
multiples. L’organisation de ces ressources et le type de passage des produits entre eux
génèrent trois sous types de problèmes :
Les produits sont procédés dans une direction unique selon la même gamme de fabrication.
Le problème de Job Shop consiste à réaliser un ensemble de n Job (travail) sur un ensemble
de m machines en cherchant d’atteindre certains objectifs. Chaque Job j est composé de nj
tâches devant être exécutées sur les différentes machines selon un ordre préalablement défini.
15
Chapitre 2 : L’Ordonnancement
Les travaux ne s’exécutent pas sur toutes les machines et de plus n’ont pas le même ordre
d’exécution. En effet chaque travail emprunte le chemin qui lui est propre.
Dans le problème de type open shop l’ordre d’exécution de tâches d’un travail est totalement
libre, c'est-à-dire aucune contrainte est remarquée sur la précédence entre tâches. Les produits
passent alors dans n’importe quelle direction (les gammes sont libres).
Cet outil graphique a été développé par Roy et Susmann [17] grâce à la théorie des réseaux de
Pétri qui ont surtout servi à modéliser les systèmes dynamiques à évènements discrets. Dans
ce genre de modélisation, les tâches sont représentées par des nœuds et les contraintes par des
arcs, comme le montre la Figure 2.4. Ainsi, les arcs peuvent être de deux types :
• Les arcs conjonctifs illustrant les contraintes de précédence et indiquant les durées des
tâches,
• Les arcs disjonctifs indiquant les contraintes de ressources.
16
Chapitre 2 : L’Ordonnancement
Dans l’exemple représenté par la Figure S et S’ sont des tâches effectifs représentent
successivement le début et la fin de l’ordonnancement, par contre les numéros associés aux
arcs représente les durés des tâches.
C’est un outil graphique développé par ‘Henry Gantt’1917 qui permet de représenter la
planification de tâches nécessaires à la réalisation d'ordonnancement.
Pour un atelier, celui-ci sera composé de plusieurs lignes horizontales, représentant chacune
un équipement ou une machine. L'axe horizontal représente le temps. Les tâches seront
représentées par des barres d'une longueur proportionnelle à leur durée et seront positionnées
sur la ligne correspondant à l'équipement sur lequel elles se dérouleront. On observera donc
sur le diagramme l'occupation des machines, l'enchaînement des tâches sur celles-ci ainsi que
les dates de début et de fin de chaque tâche [14].
17
Chapitre 2 : L’Ordonnancement
5 Conclusion
La majorité des problèmes d‘ordonnancement sont NP-complets, ça veut dire que, dans la
pratique, la complexité croît exponentiellement avec le nombre de tâches et de ressources. Il
n‘est donc envisageable de résoudre de tels problèmes avec les méthodes exactes. C‘est pour
cela qu‘il faut développer des heuristiques dont l‘objectif est de fournir des solutions aussi
proches que possible de la solution exacte en un temps raisonnable.
18
Chapitre 3
1 Introduction
La nécessité de faire partager les ressources entre les fonctions production et maintenance constitue
une source de conflits et traduit l’existence d’un lien fort entre ces fonctions [23]. En effet, trop
souvent, les séquences d’opérations de maintenance et de production sont perçues comme
antagonistes. Les périodes d’immobilisation des équipements nécessaires aux interventions des
agents de maintenance, sont considérées comme perturbants réduisant les périodes d’utilisation des
ressources et non comme un facteur favorisant leur bon déroulement. Ce type de conflit entraine
naturellement des querelles qui nuisent à la productivité globale de l’entreprise. La planification
intégrée apporte une solution à ce conflit.
Nous sommes donc face à un problème multicritère, d’une part ordonnancer la production sous les
contraintes de respect des délais, coût et qualité des produits et d’autre part planifier la maintenance
sous les contraintes de sûreté de fonctionnement des équipements qui assurent la pérennité de l’outil
de production. Ainsi la planification des activités de maintenance sur les machines, à intervalles
donnés, peut gêner l’ordonnancement des opérations de production, mais elle est nécessaire pour
garantir la disponibilité de l’outil de production. Des études récentes sur l’efficacité de la gestion en
maintenance [24] ont montré qu’un tiers des coûts de maintenance provient d’opérations inutiles ou
mal effectuées. Cette inefficacité a pour raison principale, l’absence d’informations réelles qui
permettraient de développer un modèle de maintenance préventive capable de réduire ou d’éliminer
les interventions inutiles et d’éviter les risques de pannes les plus graves des machines.
Dans ce chapitre nous décrierons brièvement les différentes politiques d’ordonnancement conjoint de
la production et de la maintenance recensées dans la littérature, ensuite nous présenterons un état de
l’art sur l’ordonnancement intégré, suivi d’un model intégré pour la résolution conjointe du problème
d’ordonnancement de la production et la maintenance, enfin nous donnerons une définition de
l’optimisation multi-objectifs et de ses principes de bases.
19
Chapitre 3 : Le Problème conjoint Production/maintenance
Cette politique consiste à créer un ordonnancement conjoint et simultané des tâches de production et
de maintenance. Une telle politique de planification limite les risques d’interférence entre la
production et la maintenance et permet ainsi d’optimiser la qualité des ordonnancements [27].
3 Problématique
Le problème que nous nous proposons d’étudier est le problème d’ordonnancement conjoint
production/maintenance sur machines parallèles identique, ou la préemption des taches n’est pas
permise. Les critères de performance sont la somme des retards des tâches pour la partie production
et la somme des avances et des retards pour la partie maintenance.
Une tâche ne peut être effectuée que sur une seule machine et une machine ne peut réaliser qu’une
seule tâche à la fois, On doit déterminer, d’une part, la meilleure affectation des tâches aux machines
ainsi que l’ordre des tâches exécutées sur chacune des machines, et de l’autre les moments
d’exécution des tâches de maintenance sur chacune des machines.
20
Chapitre 3 : Le Problème conjoint Production/maintenance
4 Etat de l’art
Les travaux de recherche tenant en compte l’indisponibilité des machines dans l’ordonnancement de
la production peuvent être classés en deux catégories : l’approche déterministe et l’approche
stochastique. Dans l’approche déterministe, les intervalles de temps des actions de maintenance
préventive ainsi que leur nombre sont connus et fixés à l'avance. La majorité de la littérature
d’ordonnancement avec maintenance adoptent cette approche souvent appelée "ordonnancement avec
contraintes de disponibilité des machines". Toutes les configurations d'ateliers connus ont été
étudiées par les chercheurs : une seule machine, machines parallèles, Flow-Shop, Job-Shop, Open-
Shop et les systèmes hybrides. Compte tenu du nombre significatif d'articles réalisés dans cette
catégorie, nous présentons majoritairement les études traitantes le cas de machines parallèles.
La plupart des études rencontrées qui s’intéressent à la production ignorent la maintenance, ou bien
considèrent que les périodes de maintenance sont déjà planifiées à priori. Dans ce contexte, quelques
études ont été consacrées à l'optimisation des deux fonctions relatives à la maintenance et la
production, mais séparément. La majorité des études d’ordonnancement prenant en compte la
maintenance supposent que l'intervalle de temps des actions de maintenance préventive ainsi que leur
nombre sont connus à l'avance. Cependant, dans les modèles intégrés, les actions de maintenance
préventive doivent être considérées comme des variables de décision, ce qui est de même pour les
actions de production. Lee [28] et Schmidt [29] analysent cette approche en étudiant différentes
contraintes et différents modèles d'ateliers de production. Ils s’intéressent aussi aux problèmes dans
lesquels les dates d'exécution des tâches de maintenance ne sont pas fixées à l'avance. Dans cette
approche, la maintenance est souvent prioritaire par rapport à la production. Kaabi et al [30].
proposent différentes heuristiques pour la maintenance et l’ordonnancement sur une seule machine
afin de minimiser le retard maximal. Les auteurs supposent que les tâches de maintenance sont
effectuées dans un intervalle fixé à l'avance. Kaabi et al [31]. considèrent un problème de production
et de maintenance dans un système de type flow shop et supposent que les dates d’interventions de la
maintenance varient dans un intervalle déterminé à l’avance. Ils présentent un algorithme génétique
pour la résolution du problème étudié. Cassady et Kutanoglu [32] formulent un modèle intégré pour
minimiser le retard total pondéré de production sur une seule machine. Ils proposent une méthode
exacte de résolution inefficace pour les problèmes de taille industrielle. Ruiz et al [33]. mettent en
place un modèle intégré afin de résoudre un problème de type flow shop où les périodes de
maintenance sont fixés afin de conserver un niveau minimum de fiabilité pour chaque machine. Le
21
Chapitre 3 : Le Problème conjoint Production/maintenance
niveau de fiabilité est considéré comme une contrainte. Leur objectif est de minimiser le makespan.
Xu et al [34]. considèrent un problème intégré dans un environnement de machines parallèles dans
lesquelles activités de maintenance sont quasi-périodiques. Les auteurs considèrent le makespan
comme objectif mais ils défavorisent l’aspect production dans leurs recherches. Berrichi et al [35].
proposent un modèle intégré de la maintenance préventive et d’ordonnancement de la production sur
des machines parallèles. Ils utilisent un modèle de fiabilité pour prendre en compte l'aspect de la
maintenance. Ils proposent deux algorithmes génétiques pour optimiser deux critères qui sont : la
minimisation du temps d'exécution total pour la partie de la production et la minimisation de
l'indisponibilité du système pour la partie de la maintenance. Berrichi et al [36]. traitent le même
problème décrit précédemment, ils proposent, cette fois-ci, une méta-heuristique basée sur les
colonies de fourmis pour minimiser le makespan pour l’aspect production et pour optimiser
l'indisponibilité du système relative à l’aspect maintenance. Moradi et al [37].considèrent un
problème intégré de type job shop flexible avec une activité de maintenance préventive. Ils proposent
un algorithme génétique pour la minimisation du makespan pour la partie de la production et la
minimisation de l'indisponibilité du système pour la partie de maintenance. Berrichi et al [38].
proposent une extension de la problématique étudiée par Berrichi et al [35].en considérant une
approche de colonies de fourmis pour minimiser le retard maximal (pour le service de production) et
l'indisponibilité du système (pour le service de maintenance).
Dans le présent mémoire, nous utilisons la même idée que Berrichi et al [35], c’est-à-dire un modèle
intégré de la maintenance préventive et d’ordonnancement de la production sur des machines
parallèles. Mais en considérant les 2 critères suivants : la somme des retards de tâches pour l’aspect
production et la somme des retards et des avances des actions de MP pour l’aspect maintenance.
5 Modélisation du problème
Nous proposons, dans ce travail, un modèle bi-objectif intégré pour le cas de machines parallèles
identiques. Nous développons pour cela une méthode multi objectif de type Pareto générant plusieurs
solutions de compromis minimisant simultanément les deux critères décrits ci-dessous.
De point de vue ordonnancement de la production, nous avons choisi d’optimiser la somme totale des
retards des tâches, chaque tâche étant caractérisée par une durée d’exécution et une date de fin au
plus tard, si après cette date la tâche en question n’est pas encore terminée, nous commençons à
compter le retard jusqu’à la fin de son exécution, le critère à optimiser est donc la somme accumulée
22
Chapitre 3 : Le Problème conjoint Production/maintenance
de retards de toutes les tâches. Nous supposons que les tâches sont toutes disponibles au début de la
production et que leur préemption n’est pas autorisée.
Les actions de maintenance contribuent à maintenir les outils de production dans de bonnes
conditions d'exploitation (elles augmentent la disponibilité de système) et minimisent les coûts en
évitant les pannes imprévues. Il est dont important d’effectuer ces opérations de maintenance à leurs
dates prévues, chaque retard ou avance sur ces dates pourrait donc être considéré comme
préjudiciable soit par rapport au cout élevé de la maintenance (avance de celle-ci) soit par rapport à la
disponibilité (retard de la maintenance), c’est pour cela que nous avons choisi d'optimiser la somme
des avances et des retards des actions de maintenance.
= = max!0, – "
$ $
% = ∑*'$ ' + ' = ∑*'$ [ (0, ' – ' ) + (0, ' – ' ) ]
5.1.3 Contraintes
• Une tâche ne peut être exécutée que par une seule machine.
Le modèle que nous venons de proposer est un modèle bi objectif, c’est pour cela que nous allons
introduire quelques notions d’optimisation Multi-Objectif.
L’optimisation multi-objectif est une partie indissociable de l’optimisation. Il est évident que la
plupart des problèmes pourraient être modélisés par des critères contradictoires. Le moyen le plus
courant est de les convertir en problèmes scalaires, c’est-à-dire de les traduire en problèmes mono-
objectif même s’il existe des méthodes évolutionnaires pour les résoudre.
24
Chapitre 3 : Le Problème conjoint Production/maintenance
d'une solution qui optimise l'ensemble des objectifs est très difficile étant donné les relations
d'interdépendances qui unissent ces objectifs. Par exemple, l'augmentation des performances d'un
moteur entraîne un surcoût de fabrication alors que la réduction de son coût affectera sa performance
[44].
Dans les différentes publications rencontrées, nous avons retrouvé deux classifications différentes des
approches de résolution des problèmes multi-objectifs. La première catégorie adopte un point de vue
décideur, les approches sont classées en fonction de l’usage qu’on désire en faire. La seconde adopte
un point de vue concepteur, les approches sont triées de leur façon de traiter les fonctions objectif.
Donc, avant de se lancer dans la résolution d’un MOOP, il faut se poser la question du type
d’approches de résolution que l’on veut utiliser.
On distingue trois schémas possibles. Soit le décideur intervient dès le début de la définition
du problème, en exprimant ses souhaits et préférences, afin de transformer un MOOP en un problème
simple objectif. Soit le décideur effectue son choix dans l’ensemble des solution proposées par le
solveur multi-objectif.
Cependant, dans la plupart des cas, le décideur ne peut pas exprimer clairement sa fonction d’utilité,
parce que les différents objectifs sont non commensurables (exprimés dans des unités différentes).
25
Chapitre 3 : Le Problème conjoint Production/maintenance
Elles cherchent à fournir au décideur un ensemble de bonnes solutions bien réparties. Il peut ensuite,
au regard de l’ensemble des solutions, sélectionner celle qui lui semble la plus appropriée. Ainsi, il
n’est plus nécessaire de modéliser les préférences du décideur (ce qui peut s’avérer être très difficile),
mais il faut en contrepartie fournir un ensemble de solutions bien réparties, ce qui peut également être
difficile et requérir un temps de calcul important (mais ne nécessite pas la présence du décideur).
Cette classification adopte un point de vue plus théorique articulé autour des notions d’agrégation et
d’optimum Pareto. Les approches utilisées pour la résolution des problèmes multi-objectifs peuvent
être classées en deux catégories : les approches non Pareto et les approches Pareto.
Les approches non Pareto sont classées en deux catégories : les approches scalaires, qui transforment
le problème multi-objectif en problème mono-objectif et les approches non scalaires, qui gardent
l’approche multi-objectif, mais en traitant séparément chacun des objectifs.
Au 19éme Siècle, Vilfredo Pareto, un mathématicien Italien, formule le concept suivant : dans un
problème multi-objectif, il existe un équilibre tel que l’on ne peut pas améliorer un objectif sans
détériorer au moins un des autres objectifs. Les approches Pareto utilisent directement la notion de
dominance dans la sélection des solutions générées. Le principal avantage de ces approches, c’est
l’optimisation simultanée d’objectifs contradictoires. Nous donnerons plus de détails sur ces
approches [45] dans la section suivante.
26
Chapitre 3 : Le Problème conjoint Production/maintenance
Pareto équivalentes, 1 ~ 1 % . La relation de dominance est une relation d’ordre partiel stricte
transitive, non réflexive et non antisymétrique [46].
Une solution est dite Pareto optimale si elle n’est dominée par aucune autre solution réalisable.
L’image de l’ensemble Pareto optimal 0 ( 9) dans l’espace objectif , est appelée frontière Pareto,
ou surface de compromis. L’allure de cette frontière prend des formes différentes selon que les
objectifs doivent être minimisés ou maximisés, (figure 5) cas de deux objectifs.
Figure 3-1 : Allure de la frontière Pareto selon l’optimisation (min, max) des différents objectifs.
Pour résoudre un MOOP par une approche Pareto, deux objectifs doivent être pris en compte :
l’intensification et la diversification.
27
Chapitre 3 : Le Problème conjoint Production/maintenance
Dans la figure précédente : (a) présente une solution de bonne qualité en termes de convergence mais
mauvaise pour la diversité. (b) une solution de bonne diversité mais de mauvaise qualité pour la
convergence. (c) Une disposition idéale des solutions (l’équilibre souhaité).
Etant donné que notre problème fait partie des problèmes classés NP-Complets, et ceci déjà dans sa
version mono-objective (problème d’ordonnancement), il devient encore plus difficile en version bi-
objectif (problème conjoint production/maintenance), c’est pour cela que les méthodes de résolution
les appropriés à ce problème sont les méthodes approchées.
Nous nous concentrons sur les méthodes approchées et plus précisément les méta-heuristiques, ces
dernières peuvent être classées de la manière suivante :
Méta-heuristiques à solution unique : Tels que la recherche tabou (Tabu search) ou le V.N.S.
(Variable Neighbourhood Search).
Nous avons choisi d’implémenter l’algorithme « ABC » pour la résolution de notre problème
conjoint de production/maintenance car c’est un algorithme relativement récent possédant des
qualités qui font de lui une méthode très intéressante, l’ABC a même déjà été utilisé dans de
nombreux domaines, avec de très bons résultats tant sur le plan de la fonction objectif, que sur celui
du temps d’exécution qui a été acceptable, voici quelques-uns de ces domaines :
• L’optimisation de fonction.
• La résolution du problème du voyageur de commerce (TSP) qui a était faite par Lucic et
Teodorovic et qui a donné de très bons résultats.
• L’apprentissage des réseaux de neurones tels que MLP, RBF, SNN, LVQ.
• Clustering de données.
• Contrôle de robot.
• L’ordonnancement de tâches.
28
Chapitre 3 : Le Problème conjoint Production/maintenance
7 Conclusion
Dans ce chapitre, nous avons présenté notre problématique, enchainé avec un état de l’art sur les
approches qui ont été faites pour la résoudre, et proposé un modèle bi-objectif intégré pour le cas de
machines parallèles identiques, nous avons ensuite introduit quelques notions essentielles afin de bien
pouvoir appréhender notre méthode de résolution, cette dernière sera énoncée et décrite dans le
prochain chapitre.
29
Chapitre 3 : Le Problème conjoint Production/maintenance
30
Chapitre 4
1. Introduction
La nature ne cesse d’inspirer la recherche dans le domaine de l’optimisation. Alors que
la génétique, les fourmis et les essaims particulaires en sont des exemples célèbres,
d’autres algorithmes d’optimisation inspirés de la nature émergent régulièrement.
Dans ce chapitre, nous allons nous concentrer sur l’un de ces algorithmes, qui est
celui des colonies d’abeilles.
L’abeille est l’un des insectes les plus organisés et les plus rigoureux dans son
travail. Elle possède une très grande capacité de communication. Et grâce à son
intelligence, une méthode appelée méthode des abeilles a été développée. Dans cette
méthode, les abeilles artificielles représentent des agents qui, en collaborant les unes
avec les autres, résolvent des problèmes complexes d’optimisation combinatoire.
2. Historique
Au cours de la dernière décennie, les algorithmes d'abeilles, inspirés de la nature, sont
devenus un outil de résolution de problèmes prometteur et puissant. Malheureusement,
on ne parvient pas à connaître la date exacte de la première apparition des algorithmes
d’abeilles. Ce qui est sûr, cependant, c’est qu’ils ont été développés en quelques années
de façon indépendante par différents groupes de chercheurs.
30
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
Nous remarquons ici que la méthode inspirée des abeilles est plus ou moins récente, et
qu’avec le temps de nouvelles versions peuvent apparaitre, ce qui rend cette méthode de
plus en plus populaire et maîtrisable par les chercheurs.
31
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
Les abeilles mellifères sont des abeilles sociales vivant au sein d’une colonie
matérialisée sous la forme d’une ruche. Cette colonie est composée de trois castes
d’abeilles : la reine, les mâles et les ouvrières. La reine est l’unique femelle de la
colonie à être fertile et a pour unique rôle d’assurer la survie de la colonie en
donnant naissance aux nouvelles abeilles. Les abeilles mâles ont pour unique
fonction de féconder la reine. Les ouvrières, femelles stériles, s’occupent de tout le
reste : entretient de la colonie, élevage des couvains, réception de la nourriture et
approvisionnement de la colonie en nourriture.
Les sources de nourriture sont évaluées par les abeilles selon plusieurs critères tels
que la distance la séparant de la colonie, la quantité de nourriture disponibles et la
facilité d’extraction de la nourriture. Ces critères peuvent être résumés sous le terme
« intérêt » de la source de nourriture. La survie dans la nature d’une colonie
d’abeilles nécessite la réduction autant que possible des coûts énergétiques de son
activité. Ainsi, les efforts de fourragement se concentrent sur les sources de
meilleures qualités en priorité.
Une ouvrière exploitante est une abeille chargée d’exploiter une source de nourriture en
rapportant à la ruche du nectar ou du pollen. A son retour, après avoir déposé sa récolte,
elle se rend dans une partie de la ruche communément appelée « la piste de danse ».
Cette salle a été balisée chimiquement par les abeilles afin d’attirer les abeilles
spectatrices n’ayant pas encore de source de nourriture à exploiter et les exploitantes.
Sur la piste de danse, l’abeille exploitante peut informer les autres abeilles sur l’intérêt
32
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
de la source de nourriture qu’elle exploite. Sur la piste de danse, toutes les abeilles qui
souhaitent exprimer l’intérêt d’une source de nourriture peuvent le faire en se mettant à
danser. Cette danse permet d’indiquer aux spectatrices à la fois la direction, la distance,
la composition et l’intérêt d’une source de nourriture. En fonction de leurs observations
et, notamment, de l’intérêt, les spectatrices se répartissent sur les sources et sortent les
exploiter. Ce mécanisme de recrutement est essentiel à la colonie pour minimiser ses
efforts de fourragement. Lorsqu’une exploitante rentre à la ruche et que sa source de
nourriture ne comporte plus d’intérêt alors elle l’oublie et ne danse pas. A ce moment,
elle devient soit une spectatrice, soit une abeille éclaireuse. L’abeille éclaireuse est une
ouvrière chargée de trouver une nouvelle source de nourriture. A son retour à la ruche
avec une source de nourriture, l’abeille éclaireuse devient une exploitante. En général,
on considère qu’il y a 5% à 10% d’abeilles éclaireuses dans une ruche.
33
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
34
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
Si : source N°i
35
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
36
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
Les spectatrices, en observant la danse des abeilles, vont choisir les sources les plus
prometteuses en priorité. Pour modéliser ce mécanisme, une répartition des
spectatrices proportionnellement à l’intérêt des sources de nourriture est en général
effectuée par une affectation aléatoire selon une distribution de probabilités P. Il
existe de nombreuses façons de définir cette distribution. Lorsque la définition
classique (pour une fonction de minimisation f ) de la fonction d’intérêt q d’une
source s est définie par :
| |
Alors la probabilité de choisir la source si est pi et elle peut être définie par :
Chaque spectatrice est affectée à une source de nourriture suivant la distribution P. Elle
37
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
exploite alors la source de façon totalement similaire aux exploitantes : choix d’une
solution dans le voisinage de la source, mise a jours de la position de la source et du
compteur de succès. Finalement, la meilleure source trouvée jusqu’à maintenant est
mémorisée. Le détail de l’implémentation est donné par l’algorithme 6.
38
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
sont considérées. Les Néclaireuse sources ayant le plus grand nombre d’échec sont
Nexploitante = Nspectatrice = N
L’unique paramètre restant est alors le critère d’arrêt de l’algorithme, il est souvent
exprimé sous la forme d’un nombre maximum d’itérations.
39
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
Les principaux changements opérés par rapport au modèle classique de cet algorithme
résident dans les étapes suivantes :
Que ce soit par une abeilles exploitante (employed bee) lors de l’exploitation de sa
source, ou bien par une abeille spectatrice quand elle sort exploiter le voisinage d’une
source à laquelle elle est assignée, La comparaison permet, pour rappel, de choisir si
nous gardons l’ancienne solution dans notre population ou bien si nous la remplaçons
par la nouvelle solution voisine trouvée (tout en mettant jour les nombre d’échecs).
Dans le modèle classique : nous comparons la valeur de l’intérêt des solutions, cette
valeur est directement liée au seul critère que nous voulons optimiser, nous gardons à la
fin la solution avec le meilleur intérêt.
l’élite de la population.
Sinon, nous la remplaçons par la nouvelle solution voisine.
Et ceci dans le cadre de la répartition des abeilles spectatrices sur les différentes sources
en fonction de l’intérêt de ces dernières, cet intérêt était défini dans le modèle nono
objectif comme suit :
Pour le bi objectif, nous procédons à une pondération des 2 critères pour les introduire
dans la formule de l’intérêt :
Avec :
−
−
Avec :
La répartition des spectatrices se fait par la suite suivant les intérêts q de chaque source
et ceci de la même manière que dans le modèle classique.
41
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
6. Conclusion
Nous avons, dans ce chapitre, présenté la méthode de l’ABC et expliqué son
fonctionnement ainsi que les notions qui lui sont propres. Et ceci dans l’optique de son
implémentation, qui va être effectuée dans le chapitre suivant.
42
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »
37
Chapitre 5
1. Introduction
Lors de la réalisation de cette étude, nous avons conçu une application ayant pour but
d’appliquer la méthode de résolution que nous avons présenté dans le précédent chapitre, à
savoir l’algorithme de colonie d’abeilles artificielles « ABC » adapté au problème conjoint
production/maintenance (optimisation bi-objectif).
Dans ce chapitre nous présenterons l’application et les tests effectués, ainsi que les
résultats obtenus par l’algorithme
Les tests ont été effectués sur un PC Intel Core i5, avec 2.6 GHz et 4 Go de mémoire
RAM.
42
Chapitre 5 : Implémentation et Tests expérimentaux
43
Chapitre 5 : Implémentation et Tests expérimentaux
Le résultat affiche les valeurs des critères des solutions qui composent notre front de Pareto
approximatif, affiche aussi des détails sur l’exécution de l’algorithme (avec « R » le nombre de
fois que l’individu en question a été remplacé par une éclaireuse à travers les itérations)
Le résultat affiche aussi les détails de nos solutions du front de Pareto comme nous le montre
44
Chapitre 5 : Implémentation et Tests expérimentaux
la figure suivante :
4. Implémentation
3.1. Codage utilisé
3.1.1. Codage de la solution
L’ordonnancement des tâches de production est représenté par un vecteur d’entiers où chaque
élément désigne l’indice de la tâche à exécuter, l’ordre d’exécution des tâches est défini par la
séquence présente dans ce vecteur. La partie ordonnancement de la maintenance, quant à elle,
est représentée par un second vecteur dans lequel chaque élément représente la période de
travail après laquelle chaque machine doit subir une action de maintenance préventive, voici un
exemple de solution où nous avons mis les 2 vecteurs côte à côte :
3 5 2 4 1 36 29
Figure 5-6 : Représentation d'une solution ou le nombre de tâches de production n=5 et le nombre de machines m=2
Les tâches de production sont affectées une à une à la machine la plus disponible selon leur
ordonnancement et ceci tout en appliquant la stratégie rationnelle pour inclure les tâches de
maintenance de façon dynamique.
45
Chapitre 5 : Implémentation et Tests expérimentaux
Nous avons implémenté 3 fonctions différentes pour le voisinage des solutions et ceci dans le
but d’introduire plus de variété dans la recherche des voisinages, la première fonction va être
utilisée lors de l’exploitation des sources par les abeilles exploitantes (employed bees), la
seconde, quant à elle, va être utilisée lors de l’exploitation des sources par les abeilles
46
Chapitre 5 : Implémentation et Tests expérimentaux
spectatrices, ces 2 voisinages concernent les vecteurs de la partie ordonnancement des tâches
de production de la solution, nous avons aussi implémenté une troisième fonction de voisinage
pour la partie ordonnancement de la maintenance (utilisées à la fois par les exploitantes et par
les spectatrices), ces trois fonctions sont détaillées dans ce qui suit :
Cette fonction fait permuter 2 cases (2 tâches de production) de notre vecteur représentant une
solution au problème d’ordonnancement :
Algorithme 3: Fonction de voisinage N°1
Avec :
Cette fonction choisit aléatoirement une case de notre vecteur solution, fait ensuite se déplacer
toutes les cases suivantes d’une case vers l’arrière, et met la valeur de la case choisie à la fin du
47
Chapitre 5 : Implémentation et Tests expérimentaux
Avec « i » l’indice de la solution pour laquelle on veut rechercher une solution voisine.
Cette fonction choisit aléatoirement une case de notre vecteur contenant les périodes de
maintenance, choisit ensuite une valeur aléatoire située entre 0 et 3, décide aléatoirement aussi,
si nous allons ajouter ou déduire cette valeur de celle du vecteur que nous avons tiré, si nous
l’ajoutons, nous déduisons cette valeur du contenu d’une autre case de notre vecteur (tirée
aléatoirement aussi), si nous la déduisons, nous l’ajoutons dans l’autre case :
Algorithme 5: Fonction de voisinage N°3 (partie maintenance de la solution)
Le recrutement des spectatrices se fait par rapport à l’intérêt de chaque source, cet intérêt est
calculé à l’aide de la formule que l’on a vu dans le chapitre précédent. Plus la valeur de l’intérêt
d’une source est grande, plus elle a de chances de se voir attribuer des abeilles spectatrices,
nous avons implémenté le mécanisme de recrutement des abeilles spectatrices de la manière
suivante :
Déclaration vecteur_attribution[Taille_population] ;
Vecteur_attribution[1]= intérêt de la source N°1 ;
Pour i de 2 à Taille_population faire
DEBUT
Q = intérêt de la source i ;
Vecteur_attribution[i] = Vecteur_attribution[i-1] + Q ;
FIN
Float S = somme de toutes les valeurs des cases du Vecteur_attribution ;
Pour i de 1 à Taille_population faire
DEBUT
Vecteur_attribution[i] = Vecteur_attribution[i]/S ;
FIN
Déclaration vecteur_spectatrices[Taille_population] ;
//chaque case de ce vecteur est initialisée à 0 -> chaque individu de la population à
pour l’instant 0 spectatrices assignées
Pour i de 1 à Nombre_Spectatrices faire
DEBUT
Val= valeur aléatoire entre 0 et 1 ;
Pour j de 1 à taille_population faire
DEBUT
Si (Val<Vecteur attribution[j])
DEBUT
vecteur_spectatrices[j]++ ;
//Attribution d’une spectatrice de plus à la source j
j=taille_population ; //sortie de la boucle
FIN Si
fIN
FIN
49
Chapitre 5 : Implémentation et Tests expérimentaux
Pour y remédier, nous avons ajouté une seconde condition pour le remplacement des solutions :
en plus du nombre d’échecs, nous vérifions si notre individu appartient à notre front de Pareto
approximatif ainsi qu’au second front de Pareto approximatif, ce dernier représente les
meilleures solutions non dominées de notre population dans le cas où les solutions du premier
front de Pareto approximatif n’existaient pas dans cette population. Si l’individu en question
n’appartient pas à ces 2 fronts (en plus d’avoir un nombre d’échecs supérieur à l’échec
maximum), nous le remplaçons par une nouvelle solution, sinon, nous le gardons, cela nous
permet de garder nos meilleurs éléments et leur donner plus de chances de s’améliorer.
En d’autres termes, la seconde condition permet de vérifier si la solution que nous voulons
remplacer appartient à l’élite de notre population ou pas, et ceci dans un souci de pouvoir garder
les individus les plus qualitatifs de notre population.
50
Chapitre 5 : Implémentation et Tests expérimentaux
suivante :
4. Tests expérimentaux
Nous allons illustrer dans ce paragraphe l’influence de quelques paramètres principaux de
l’ABC. Nous avons choisi de faire plusieurs tests sur différentes instances du problème (nombre
de machines : {2,4,8}, Nombre de tâches : {10,20,25,35}). Nous avons modifié des paramètres,
mais les changements varient d’un test à l’autre. Nous avons ensuite collecté et présenté les
résultats par des graphes appropriés.
51
Chapitre 5 : Implémentation et Tests expérimentaux
Le paramètre à étudier ici est le nombre d’échecs maximal à la base duquel on choisit de
remplacer notre source par une nouvelle (sortie d’une abeille éclaireuse), Le nombre d’échecs
a un impact direct sur la diversification des individus de la population, plus ce nombre est petit,
plus la diversification est grande et vice versa, le but de ce test est donc de trouver la valeur
idéale du nombre d’échecs maximal afin de garantir le meilleur équilibre possible entre
l’exploitation (intensification) et l’exploration (la diversification) .
Afin de fixer le nombre d’échecs maximal, nous avons exécuté l’algorithme avec une instance
de 30 tâches et 5 machines et ceci pendant 2000 itérations, puis nous avons tracé le front Pareto
approximatif obtenu pour chaque Nombre d’échecs proposé, Ces nombres varient entre 5 et 30.
42
37 Nb Echecs = 5
Somme des avances et des retards de la
Nb Echecs = 7
32
Nb Echecs = 9
maintenance
27
Nb Echecs = 10
22 Nb Echecs = 11
Nb Echecs = 14
17
Nb Echecs = 18
12
Nb Echecs = 30
7
790 840 890 940 990 1040
Somme des retards des tâches de production
Nous remarquons que le front de Pareto approximatif obtenu avec un échec maximum de 11
52
Chapitre 5 : Implémentation et Tests expérimentaux
est le plus intéressant, car les points qui le composent sont assez bien dispersés sur l’espace de
recherche et sont relativement dominants par rapport aux points des autres fronts.
Nous avons donc choisi un nombre d’échecs maximum par défaut de 11.
Afin de trouver la meilleure taille de population, nous avons testé notre application avec
différentes valeurs de ce nombre, nous avons tracé les fronts de Pareto approximatifs pour
chaque valeur testée après exécution de 2000 itérations :
34
29
maintenance
24
19
14
4
440 460 480 500 520 540 560 580 600
Somme des retards des tâches de production
Nbe exp = 10 nbr exp = 30 nbr exp = 40 nbr exp = 50 nbr exp = 60
Nous avons testé notre algorithme avec différents nombres de générations et ceci pour étudier
53
Chapitre 5 : Implémentation et Tests expérimentaux
la convergence de celui-ci, voici les fronts de Pareto approximatifs résultants de ces tests :
45
40
35
20
30 50
100
25
500
20 1000
2000
15
10
5
435 485 535 585 635
Nous remarquons que les meilleures solutions se situent à partir d’un nombre de générations de
500.
Nous avons toutefois laissé le choix du nombre d’itérations à l’utilisateur de notre application,
ce dernier bénéficie même du choix d’ajouter autant d’itérations qu’il veut après exécution de
l’algorithme et ceci dans la perspective de trouver des solutions encore plus optimales.
5. Conclusion
Nous avons, dans ce chapitre, implémenté une méthode de l’ABC adaptée aux cas multi
objectifs et ceci pour la résolution du problème conjoint production/maintenance. Pour ce faire,
il nous a fallu programmer diverses fonctions importantes telles que celles de l’exploitation des
sources, que ce soit par les abeilles exploitantes ou par les spectatrices, la fonction de
remplacement des abeilles éclaireuses ainsi que 3 fonctions intéressantes de voisinage qui
permettent une bonne intensification de la recherche. Nous avons aussi mis en place une
interface graphique dynamique qui laisse une grande liberté à l’utilisateur pour changer et
régler, s’il le veut, les données et paramètres de l’algorithme. Nous avons ensuite effectué des
tests expérimentaux pour la configuration des paramètres idéaux de notre application.
54
Conclusion générale
Dans le premier chapitre nous avons abordé les systèmes de production, ainsi que la gestion
de la maintenance.
Ensuite dans le second nous avons présenté les problèmes d’ordonnancement ainsi que leurs
différentes caractéristiques.
Dans le troisième chapitre nous avons présenté un état de l’art sur le problème
d’ordonnancement conjoint production/maintenance en général et l’ordonnancement intégré
spécifiquement. Nous avons choisi d’étudier un problème d’ordonnancement conjoint
production/maintenance sur machines parallèles identiques, où la préemption des tâches de
production n’est pas permise. Nous avons pris en compte deux critères de performance à
optimiser : la somme des retards des tâches de production, et la somme des avances et des
retards pour l’aspect maintenance. Le modèle obtenu est un modèle bi-objectif sujet à des
contraintes de production et de maintenance. Ensuite nous avons présenté les différentes
approches de résolution des problèmes multi-objectif.
Dans le quatrième chapitre nous nous sommes focalisés sur notre méthode de résolution, à
savoir l’algorithme de la colonie d’abeilles artificielles (ABC) où une adaptation au cas multi
objectif a été développée.
Comme perspective, nous envisageons de développer une autre approche de résolution basée
sur un autre paradigme tel que la colonie de fourmis ou l’essaim de particules, dans le but
d’effectuer des comparaisons sur un plan expérimental proche de la réalité industrielle.
55
Bibliographie
[2] Letouzey A., « Ordonnancement interactif basé sur des indicateurs : Applications à la
gestion de commandes incertaines et à l'affectation des opérateurs », Thèse de doctorat,
Institut National Polytechnique, Toulouse, 2001.
[3] http://geronim.free.fr/ecoent/cours/la_notion_de_fonction_de_production.html
[4] Mebarek K., « Utilisation des stratégies Méta-heuristiques pour l’ordonnancement des
ateliers de type Job Shop », Mémoire de Magister, Université de Batna, Algérie, 2008.
[9] Azem S., « Ordonnancement des systèmes flexibles de production sous contrainte de
disponibilité des ressources », Thèse de doctorat, École Nationale Supérieure des Mines de
Saint-Étienne, Gardanne, 2010.
56
[15] Jean-Charles B. et Roubellat F., «A new method for workshop real time scheduling»,
International Journal of Production Research, 34(6), 1996.
[16] Hentons H., « Contribution au pilotage des systèmes de production de type Job Shop »,
Thèse de doctorat, INSA Lyon, 1999.
[17] Roy B., Susmann B., « Les Problèmes d’ordonnancement avec Contraintes Disjonctives
», Note DS n 9 bis, SEMA, Montrouge, 1964.
[18] Boukef Ben Othman H., « Sur l’ordonnancement d’ateliers job-shop flexibles et flow
shop en industries pharmaceutiques Optimisation par algorithmes génétiques et essaims
particulaires », Thèse de doctorat, Ecole Centrale De Lille, 2009.
[19] Pinedo M., « Scheduling: Theory, Algorithms and Systems », Third edition, Springer,
2008.
[20] BAPTISTE P. and LE PAPE C., « A Constraint Based Branch and Bound Algorithm for
Preemptive Job Sop Scheduling », Proceedings of the International Workshop on Production
Planning and Control, Mons, Belgium, 1996.
[21] Bronson R., Naadimuthu G., « Operation research », Second edition, Schaum’s Outline
Series, 1997.
[22] Blum C., Andrea R., « Metaheuristics In Combinatorial Optimization: Overview And
Conceptual Comparison », ACM Computing Survey, Vol. 35, n 3, 2003.
[24] Lee C Y and Chen Z L. Scheduling jobs and maintenance activities on parallel machines.
Naval Research Logistics, 47:145–165, 2000.
[27] Sloan T W and Shanthikumar J G. Combined production and maintenance scheduling for
a multiple product, single machine production system. Production and Operation
Management, 9(4), pp.379–399, 2000.
57
[30] J. KAABI, C. VARNIER, N. ZERHOUNI. « Heuristics for scheduling maintenance and
production on a single machine ». IEEE Conference on Systems, Man and Cybernetics.
October 6–9 Hammamet, Tunisia. 2002.
[34] D. XU, K. SUN, H. LI. « Parallel machine scheduling with almost periodic non-
preemptive maintenance and jobs to minimize makespan ». Computers and Operations
Research, 35, p.1344-1349. 2008
[40] Haddad, O. B., Afshar, A., et Mariño, M. A. Honey-Bees Mating Optimization (HBMO)
Algorithm : A New Heuristic Approach for Water Resources Optimization. Water Resources
Management, tome 20, no 5, pages 661– 680, 2006. ISSN 0920-4741, 1573-1650.
58
[41] Karaboga, D. An idea based on honey bee swarm for numerical optimization. Technical
Report TR06, Erciyes University, Engineering Faculty Computer Engineering Department,
Kayseri/Türkiye, 2005.
[42] Kaabi J. contribution a l’ordonnancement des activités de maintenance dans les systèmes
de production. Thèse de doctorat en Automatique et Informatique de l’université de
FRANCHE-COMTE, France, 2004.
[44] :http://chaire-osd.polytechnique.fr/accueil/recherche/optimisation-multi-
objective/optimisation-multiobjectif--32146.kjsp
[46] DUPAS, R. (2004). Amélioration de performance des systèmes de production: Apport des
Algorithmes Evolutionnaires aux problèmes d'ordonnancement cycliques et flexibles.
Habilitation à diriger des recherches présentée à l'Université d'Artois (France).
59