Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Memoire Master2 FINAL Apres Correction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 76

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université M’hamed BOUGARA – Boumerdès

Faculté des Sciences


Département d’Informatique

Domaine : Mathématiques-Informatique
Filière : Informatique
Spécialité : Systèmes d’information répartis

Mémoire de fin d’études en vue de l’obtention du


Diplôme de Master en Informatique

Thème
Optimisation par colonies d’abeilles :
application au problème conjoint
production-maintenance

Présenté par :
NADOUR Mehdi
ZEMMOUR Zaki

Soutenu le 22/06/2016 Devant le jury composé de


Dr. RAHMOUNE Adel : Président
Mme. BOUDANE Fatima : Examinateur
Dr. BERRICHI Ali : Encadreur
Remerciements
Nous souhaitons remercier les membres du Département d’Informatique de
l’Université M’hamed Bougara- Boumerdes ainsi que l’ensemble des enseignants
ayant contribué à notre formation.

Un grand merci aux membres du jury, Dr RAHMOUNE Adel et Mme


BOUDANE Fatima, qui ont bien voulu évaluer notre mémoire de Master en
Systèmes d’information répartis.

Nous sommes très reconnaissants envers notre encadreur, Dr BERRICHI Ali,


pour le temps qu’il nous a consacré ainsi que pour ses précieux conseils.

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

Chapitre 1 : Gestion et maintenance des systèmes de production


1. Introduction ........................................................................................................................ 3

2. Les systèmes de production................................................................................................ 3

2.1. Définition ..................................................................................................................... 3

2.2. Objectifs associés ........................................................................................................ 3

2.3. Classification des processus de production ................................................................. 4

2.4. Décomposition et organisation du système de production (approche systémique) ..... 4

2.5. Approche hiérarchique des systèmes de production.................................................... 5

2.6. Typologie des systèmes de production ........................................................................ 6

3. Gestion de la maintenance.................................................................................................. 7

3.1. Définition ..................................................................................................................... 7

3.2. Terminologie ............................................................................................................... 7

3.3. Objectifs....................................................................................................................... 7

3.4. Méthodes ou politiques de maintenance ...................................................................... 8

1. Maintenance corrective ............................................................................................ 9

2. Maintenance préventive ........................................................................................... 9

4. Conclusion ........................................................................................................................ 10

Chapitre 2 : Ordonnancement
1 Introduction ...................................................................................................................... 11

2 Définitions ........................................................................................................................ 11

2.1 L’ordonnancement ..................................................................................................... 11

2.2 Les tâches .................................................................................................................. 11

2.3 Les ressources ............................................................................................................ 12


2.4 Les contraintes ........................................................................................................... 13

2.5 Les objectifs ou les critères d’évaluation .................................................................. 13

3 Typologie des problèmes d’ordonnancement .................................................................. 14

3.1 Les problèmes à une machine .................................................................................... 14

3.2 Les problèmes à machines parallèles ......................................................................... 14

3.3 Les problèmes d’atelier multi-machines.................................................................... 15

3.3.1 Problème de type Flow Shop ............................................................................. 15

3.3.2 Problème de type Job Shop ................................................................................ 15

3.3.3 Problème de type Open Shop ............................................................................. 16

4 Représentations des solutions........................................................................................... 16

4.1 Le graphe Potentiel-Tâches ....................................................................................... 16

4.2 Le diagramme de Gantt .................................................................................................. 17

5.Conclusion ............................................................................................................................. 18

Chapitre 3 : Le problème conjoint Production/Maintenance


1 Introduction ...................................................................................................................... 19

2 Politiques d’ordonnancement conjoint Production/Maintenance .................................... 20

2.1 Ordonnancement séquentiel ...................................................................................... 20

2.2 Ordonnancement intégré............................................................................................ 20

3 Problématique................................................................................................................... 20

4 Etat de l’art ....................................................................................................................... 21

5 Modélisation du problème ................................................................................................ 22

5.1.1 Notations utilisées .............................................................................................. 23

5.1.2 Critères d’optimisation ....................................................................................... 24

5.1.3 Contraintes ......................................................................................................... 24

6 Introduction à l’optimisation Multi-Objectif.................................................................... 24

6.1 Problèmes d’optimisation multi-objectif ................................................................... 24


6.2 Classification des approches de résolution ................................................................ 25

6.2.1 Classification « point de vue décideur » ............................................................ 25

6.2.2 Classification « point de vue concepteur »......................................................... 26

6.3 Approche Pareto ........................................................................................................ 26

6.3.1 Définitions .......................................................................................................... 26

6.3.2 Convergence et diversité des solutions .............................................................. 27

6.4 Méthodes Approchées de résolution des problèmes Multi-objectif .......................... 28

Méta-heuristiques à solution unique : .............................................................................. 28

Meta-heuristiques à population de solutions : .................................................................. 28

7.Conclusion ............................................................................................................................. 29

Chapitre 4 : La méthode de colonie d’abeilles artificielles « ABC »


1. Introduction ...................................................................................................................... 30

2. Historique ......................................................................................................................... 30

3. Le comportement des abeilles .......................................................................................... 31

3.1. Le fourragement des abeilles mellifères dans la nature ............................................. 32

4. Le modèle classique ABC et son implémentation ........................................................ 34

4.1. Choix des sources initiales de nourriture .......................................................................... 35

4.2. Sortie des abeilles exploitantes de la ruche ...................................................................... 35

4.3. Les abeilles spectatrices ................................................................................................... 36

4.4. Abandon des sources taries et mise en œuvre des exploratrices (éclaireuses) ................. 38

4.5. Paramétrage et évolution de l’algorithme classique ......................................................... 39

5. Passage de l’ABC du mono au multi objectif .................................................................. 40

5.1. La comparaison entre 2 solutions ..................................................................................... 40

5.2. Le calcul de l’intérêt des sources ..................................................................................... 41

6. Conclusion ........................................................................................................................ 41
Chapitre 5 : Implémentation et tests expérimentaux
1. Introduction ...................................................................................................................... 42

2. Plateforme et outils de développement ............................................................................ 42

3. Interface graphique de l’application ................................................................................. 42

4. Implémentation................................................................................................................. 45

3.1. Codage utilisé ............................................................................................................ 45

3.1.1. Codage de la solution ......................................................................................... 45

3.1.2. Stratégie d’affectation des tâches de production et de maintenance aux machines


45

3.2. Fonctions relatives à l’ABC ...................................................................................... 46

3.2.1. Génération de la population initiale : ................................................................. 46

3.2.2. Voisinage des solutions ...................................................................................... 46

3.2.2.1. Fonction de voisinage N°1 (pour les exploitantes) ......................................... 47

3.2.2.2. Fonction de voisinage N°2 (pour les spectatrices) ......................................... 47

3.2.2.3. Fonction de voisinage N°3 (pour la partie maintenance de la solution) ......... 48

3.2.3. Répartition des abeilles spectatrices sur les sources .......................................... 49

3.2.4. Travail des abeilles spectatrices ......................................................................... 50

3.2.5. Fonction de remplacement des abeilles éclaireuses (Scout bees) ...................... 50

4.1. Paramétrage de l’algorithme ...................................................................................... 52

4.1.1. Nombre maximum d’échecs ............................................................................... 52

4.1.2. Nombre d’abeilles exploitantes (Taille de la population) .................................. 53

4.1.3. Nombre de générations....................................................................................... 53

5. Conclusion ........................................................................................................................ 54

Conclusion générale ......................................................................................................... 55

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

Figure 2-1: Caractéristique d’une tache ................................................................................... 12


Figure 2-2: Exemple d’une organisation de type Flow Shop à 3 machines ............................. 15
Figure 2-3: Exemple d’une organisation de type Job Shop à 5 machines ................................ 16
Figure 2-4: Graphe Potentiel-Tâches (graphe conjonctif)[9] ................................................... 17
Figure 2-5: Exemple de Diagramme de Gantt[9] ..................................................................... 18

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

Figure 5-1 Page d'accueil de l'application ................................................................................ 43


Figure 5-2 Interface graphique ................................................................................................. 43
Figure 5-3 Interface après exécution ........................................................................................ 44
Figure 5-4 Interface après ajout de 1000 itérations supplémentaires ....................................... 44
Figure 5-5 Détails sur les solutions résultantes ....................................................................... 45
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 ........................................................................................................ 45
Figure 5-7 Fronts de Pareto obtenus en en fonction de l'échec maximum............................... 52
Figure 5-8 Fronts de Pareto obtenus en changeant le nombre d'abeilles exploitantes ............. 53
Figure 5-9 Fronts de Pareto obtenus en fonction du nombre d'itérations ................................ 54
Table des algorithmes
Chapitre 4

Algorithme 1: l’algorithme de l’ABC ...................................................................................... 34


Algorithme 2: Choix des sources initiales................................................................................ 35
Algorithme 3: Calcul des nouvelles sources dans l'ABC ......................................................... 36
Algorithme 4: Mémorisation des nouvelles sources dans l'ABC ............................................. 36
Algorithme 5: Calcul de la probabilité d'exploitation des sources ........................................... 37
Algorithme 6: Exploitation des sources dans l'ABC ................................................................ 38
Algorithme 7: Abandon des sources taries et mise en œuvre des exploratrices....................... 39

Chapitre 5

Algorithme 1: Algorithme d’affectation des tâches de production et de maintenance


préventive ................................................................................................................................. 46
Algorithme 2 : Génération de la population initiale ................................................................. 46
Algorithme 3: Fonction de voisinage N°1................................................................................ 47
Algorithme 4: Fonction de voisinage N°2................................................................................ 48
Algorithme 5: Fonction de voisinage N°3 (partie maintenance de la solution) ....................... 48
Algorithme 6: Recrutement des abeilles spectatrices ............................................................... 49
Algorithme 7: Travail des abeilles spectatrices ........................................................................ 50
Algorithme 8: Fonction des abeilles Eclaireuses (Scout bees)................................................. 51
Introduction générale

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].

Les activités de production et de maintenance apparaissent à priori comme totalement


antagoniste et par la même incompatibles puisqu’elles agissent sur les mêmes ressources. Ces
deux activités ne peuvent donc pas être accomplies au même moment sur un même système,
ce qui laisse augurer bien des conflits dans l’utilisation du système par l’un ou l’autre des
services liés à la maintenance ou à la production. Ce type de conflit entraîne naturellement des
querelles qui nuisent à la productivité globale de l’entreprise. Malgré l’interdépendance qui
existe entre les deux services, ces deux activités sont généralement planifiées séparément, leur
intégration dans le fonctionnement de l’atelier pose un problème qui est souvent résolu par
négociation entre les responsables respectifs des deux services et de manière séquentielle. Les
besoins de la production sont donc quelque peu antagonistes. Pour satisfaire dans les délais les
clients, il doit utiliser de façon optimale l’ensemble des installations, mais il doit également
prévoir les interventions de maintenance dans le planning 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

Gestion et maintenance des systèmes de


production
Chapitre 1 : Gestion et maintenance des systèmes de production

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. Les systèmes de production

2.1. Définition

« Le système de production regroupe l’ensemble des ressources qui conduisent à la


création de biens ou de services » [1].

Un système de production est un ensemble de ressources réalisant une activité de production.


La production représente la transformation qui s'effectue par une succession d'opérations
utilisant des ressources (machines et opérateurs) et modifiant les matières premières ou
composants entrant dans le système de production afin de créer les produits finis sortant de ce
système et destinés à être consommés par des clients. Les modifications peuvent porter sur la
forme du produit, sa structure, son apparence, etc. Les ressources appartenant au système de
production mobilisées pour réaliser l'activité de production peuvent être des machines, des
opérateurs, de l'énergie, des informations, des outillages… [2].

2.2. Objectifs associés

L’objectif principal des SP est de produire un bien économique. Cependant, la fonction de


production se doit de satisfaire d’autres objectifs intermédiaires que sont [3] :

En termes de quantités produites : La fonction de production doit permette de satisfaire la


demande des clients. Pour pouvoir réaliser cela, l’entreprise doit mener des actions pour
maintenir les capacités productives ou bien mettre au point des plans d’investissement en
capacité.

En termes de qualité : Afin de satisfaire les besoins de la clientèle et d’assurer un niveau de


compétitivité, il faudrait que les biens économiques produits soient de bonne qualité.

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.

En termes de flexibilité : C’est-à-dire la capacité du SP à pouvoir s’adapter aux variations de


la demande.

2.3. Classification des processus de production

Généralement, les systèmes de production sont classés comme suit [3] :

Processus continus : Tels que la production électrique, la chimie ou la papeterie.

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.

2.4. Décomposition et organisation du système de production


(approche systémique)

Les systèmes de production sont souvent décomposés en trois sous-systèmes, Le système


de décision, le système d’information et le système physique. [2, 4]

• Le système physique de production : C’est le responsable de la procédure de


transformation. Il consiste, par ses éléments (ressources humaines et physiques), à
convertir des matières premières ou composantes en produits finis.
• Le système d'information : La fonction principale de ce sous système est la
collection, le stockage et le traitement des informations. Il offre un lien entre le
système de décision et le système physique de production, comme il peut se trouver à
l'intérieur même de ces deux systèmes. Il maintient par exemple la gestion des

4
Chapitre 1 : Gestion et maintenance des systèmes de production

informations utilisées lors de prises de décision dans le système décisionnel, et la


création et le stockage d'informations de suivi dans le système physique.
• Le système de décision : Son objectif est de contrôler le système physique de
production. Il combine et organise les activités en prenant des décisions basées sur les
données transmises par le système d'information. Ce système est aussi divisé en trois
niveaux [5, 6] :
− Niveau stratégique : qui concerne les décisions à long terme.
− Niveau tactique : où les décisions sont prises au moyen terme.
− Niveau opérationnel : limité sur le court terme.

Le système de gestion de production est constitué par la partie du système de décision


et du système d'information traitant des fonctions rattachées directement à la production (par
exemple, les achats, les approvisionnements, la planification, la gestion des ressources, la
maintenance, etc.).

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.

2.5. Approche hiérarchique des systèmes de production

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.

Le travail que nous allons effectuer se situe au niveau opérationnel.

Figure 1-1: Hiérarchie du système de gestion de la production [43]

2.6. Typologie des systèmes de production

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

La maintenance est l’ensemble de toutes les actions techniques, administratives et de


management durant le cycle de vie d'un bien, destinées à le maintenir ou à le rétablir dans un
état dans lequel il peut accomplir la fonction requise [8].

3.2. Terminologie

− Stratégie de maintenance : méthode de management utilisée en vue d'atteindre les objectifs


de maintenance.
− Management de la maintenance : toutes les activités des instances de direction qui
déterminent les objectifs, la stratégie et les responsabilités concernant la maintenance et qui
les mettent en application par des moyens tels que la planification, la maîtrise et le contrôle
de la maintenance, l'amélioration des méthodes dans l'entreprise, y compris dans les aspects
économiques.
− Objectifs de maintenance : buts fixés et acceptés pour les activités de maintenance. Ces
buts peuvent comprendre par exemple la disponibilité, les coûts, la qualité du produit, la
protection de l'environnement, la sécurité.
− Logistique de maintenance : ressources, services et moyens de gestion nécessaires à
l'exécution de la maintenance. La logistique de maintenance peut inclure par exemple le
personnel, les équipements d'essai, les ateliers, les pièces de rechange, la documentation, les
outils, etc.

3.3. Objectifs

La fonction maintenance a un caractère productif tout comme la fonction fabrication. On


parle souvent de la maintenance productive, et il convient de lui attacher une importance
aussi grande que la fonction fabrication. Les deux ont la tâche d’assurer une conduite et une
qualité constante de la production. Pour cela, les activités de maintenance doivent avoir des
objectifs et but fixés et validés par l’entreprise afin de :
− Maintenir l’équipement dans un bon état de marche, dans les meilleures conditions de
qualité, de délai et de prix de revient.

7
Chapitre 1 : Gestion et maintenance des systèmes de production

− Améliorer la sécurité du travail.


− Remplacer l’équipement à des périodes prédéterminées.
− Former le personnel dans les spécialités spécifiques á la maintenance.
− Conseiller la direction d’usine et la fabrication.
− Assurer á l’équipement des performances de haute qualité.
− Maintenir l’installation dans un état de propreté absolue.

3.4. Méthodes ou politiques de maintenance

Le choix entre les méthodes de maintenance s’effectue dans le cadre de la politique de la


maintenance et doit s’opérer en accord avec la direction de l’entreprise. Pour choisir, il faut
donc être informé des objectifs de la direction, des directions politiques de maintenance, mais
il faut connaître le fonctionnement et les caractéristiques des matériels, le comportement du
matériel en exploitation, les conditions d’application de chaque méthode, les coûts de
maintenance et les coûts de perte de production.

Le diagramme suivant (Figure 1-3) [8] synthétise les méthodes de maintenance.

Figure 1-2: Méthodes de maintenance dans l'entreprise

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

La maintenance préventive est la maintenance exécutée à des intervalles prédéterminés ou


selon des critères prescrits. Elle est destinée à réduire la probabilité de défaillance ou la
dégradation du fonctionnement d’un bien [8]. Elle doit permettre d’éviter les défaillances des
matériels en cours d’utilisation. L’analyse des coûts doit mettre en évidence un gain par
rapport aux défaillances qu’elle permet d’éviter.

Les objectifs principaux de la maintenance préventive sont :

− Augmenter la durée de vie des matériels.


− Diminuer la probabilité des défaillances en service.
− Diminuer les temps d’arrêt en cas de révision ou de panne.
− Prévenir et aussi prévoir les interventions coûteuses de maintenance corrective.
− Permettre de décider la maintenance corrective dans de bonnes conditions.
− Eviter les consommations anormales d’énergie, de lubrifiant, etc.
− Améliorer les conditions de travail du personnel de production.
− Diminuer le budget de maintenance.
− Supprimer les causes d’accidents graves.

9
Chapitre 1 : Gestion et maintenance des systèmes de production

Figure 1-3: Effet d'une bonne maintenance préventive [43]

Maintenance préventive systématique : C’est la maintenance préventive exécutée à des


intervalles de temps préétablis ou selon un nombre défini d’unités d’usage mais sans contrôle
préalable de l’état du bien [8].

Maintenance préventive conditionnelle : Basée sur une surveillance du fonctionnement du


bien et/ou des paramètres significatifs de ce fonctionnement intégrant les actions qui en
découlent. La surveillance du fonctionnement et des paramètres peut être exécutée selon un
calendrier, ou à la demande, ou de façon continue [8].

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.

Maintenance préventive prévisionnelle : C’est une maintenance préventive conditionnelle


exécutée en suivant les prévisions extrapolées de l’analyse et de l’évaluation de paramètres
significatifs de la dégradation du bien [8].

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.

Nous allons, dans ce chapitre, introduire la notion d’ordonnancement et présenter,


brièvement, ses différents problèmes.

2 Définitions

2.1 L’ordonnancement

De nombreuses définitions du problème d'ordonnancement sont proposées dans la littérature.


Parmi les définitions les plus souvent rencontrées sont : « Un problème d’ordonnancement est
défini par un ensemble de jobs à réaliser sur un ensemble de ressources ; de sorte qu’une
fonction objectif soit optimisée » [9].

« Le problème d'ordonnancement consiste à organiser dans le temps la réalisation de tâches,


compte tenu de contraintes temporelles (délais, contraintes d’enchaînement, ...) et de
contraintes portant sur l'utilisation et la disponibilité de ressources requises » [10, 11, 12].

La solution d'un problème d'ordonnancement est un "ordonnancement". Il définit pour chaque


tâche du problème les dates du début (ou de la fin) de leur exécution et les ressources
auxquelles elle sera affectée. Un problème d'ordonnancement peut être traité en fonction d'un
ou plusieurs objectifs ou critères de performance (durée totale d’exécution, somme des
retards, équilibrage de la charge...) [13].

2.2 Les tâches

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.

Généralement, une tâche est aussi caractérisée par :

• 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.

La Figure suivante donne une représentation de la tâche en désignant ses principales

Caractéristiques :

Figure 2-1: Caractéristique d’une tache

2.3 Les ressources

« 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.

Une ressource est de plus doublement contrainte si son utilisation instantanée et sa


consommation globale sont limitées. Si une ressource ne peut exécuter qu'une seule tâche à la
fois elle est dite disjonctive (ou non partageable) comme c'est le cas pour une machine-outil

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].

2.4 Les contraintes

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.

- Les contraintes de ressources, quant à elles, traduisent la disponibilité des ressources et le


fait qu'elle soit en quantité limitée. Deux types de contraintes de ressource, liées à la nature
cumulative ou disjonctive des ressources, peuvent alors être distingués. Les ressources
disjonctives ne peuvent être utilisées que par une tâche à la fois. Les ressources cumulatives,
quant à elles, peuvent être utilisées par plusieurs tâches simultanément, comme dans le cas
d'un ensemble de ressources, par exemple [11, 15].

2.5 Les objectifs ou les critères d’évaluation

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.

3 Typologie des problèmes d’ordonnancement

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).

3.1 Les problèmes à une machine

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é.

3.2 Les problèmes à machines parallèles

Les problèmes d’ordonnancement à machines parallèles se caractérisent par l’existence de


plus d’une ressource. Elles représentent un cas particulier de problèmes multi-machines où les
machines sont disposées en parallèle. On peut distinguer trois types des problèmes à machines
parallèles :

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 uniformes : la durée d’une opération varie uniformément en


fonction de la performance de la machine choisie,

• Les problèmes à machines indépendantes (non liées) : les durées opératoires dépendent
complètement des machines utilisées.

3.3 Les problèmes d’atelier multi-machines

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 :

3.3.1 Problème de type Flow Shop

Les produits sont procédés dans une direction unique selon la même gamme de fabrication.

Les machines consacrées à la réalisation de ces produits sont inévitablement disposées en


série. Ce type de problème est souvent rencontré dans les systèmes produisant les matières
liquides ou gazeuses.

Figure 2-2: Exemple d’une organisation de type Flow Shop à 3 machines

3.3.2 Problème de type Job Shop

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.

Figure 2-3: Exemple d’une organisation de type Job Shop à 5 machines

3.3.3 Problème de type Open Shop

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).

4 Représentations des solutions

Deux représentations sont souvent rencontrées dans la littérature, Le graphe Potentiel-Tâches


et le diagramme de Gantt.

4.1 Le graphe Potentiel-Tâches

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

Figure 2-4: Graphe Potentiel-Tâches (graphe conjonctif)[9]

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.

4.2 Le diagramme de Gantt

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].

La Figure suivante représente un exemple de diagramme de Gantt d’un ordonnancement de


quatre jobs sur trois machines :

17
Chapitre 2 : L’Ordonnancement

Figure 2-5: Exemple de Diagramme de Gantt[9]

5 Conclusion

L‘ordonnancement est généralement décrit comme une fonction particulière de décision au


sein d‘un système de gestion du travail concernant la production de bien, d‘ouvrages ou de
services.

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

Le Problème conjoint Production/maintenance


Chapitre 3 : Le Problème conjoint Production/maintenance

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.

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 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

2 Politiques d’ordonnancement conjoint Production/Maintenance

L’objectif de l’ordonnancement conjoint de la production et de la maintenance est de planifier


l’exécution des tâches de maintenance, en altérant le moins possible le plan de production, et tout en
respectant au mieux la périodicité de maintenance des équipements. Deux politiques
d’ordonnancement conjoint ont été recensées dans la littérature, le séquentiel et l’intégré. [24]

2.1 Ordonnancement séquentiel


Cette politique 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. De manière
générale, la maintenance est planifiée en premier, ensuite l’ordonnancement de la production est
réalisé en prenant les opérations de maintenance comme des contraintes fortes d’indisponibilité des
ressources [26].

2.2 Ordonnancement intégré

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.

Du point de vue de la maintenance, nous nous intéressons à la maintenance préventive systématique,


chaque machine est caractérisée par un intervalle de période de maintenance, ce qui veut dire
qu’après chaque écoulement de cette période, la machine doit subir une action de maintenance
préventive. Aussi, nous proposons un critère flexible pour insérer les actions de maintenance, cette
stratégie permet de retarder ou d’avancer une tâche de maintenance de façon dynamique et ceci dans
le but de trouver un certain équilibre entre l’indisponibilité du système et le coût de maintenance.

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.

Voici la formalisation mathématique des données liées à notre problème et nécessaires à sa


résolution, ainsi que celle des fonctions objectif liées respectivement à la production et à la
maintenance :

5.1.1 Notations utilisées


5.1.1.1 Pour la production

• Le nombre de tâches de production : .

• La date de fin au plus tard de la tâche ∶

• La date de début d’exécution de la tâche :

• La date de fin de la tâche :

• Le retard de la tâche : = (0, – ).

5.1.1.2 Pour la maintenance

• Le nombre d’opérations de maintenance préventive : .

• La date de début effective d’une opération de maintenance : .


23
Chapitre 3 : Le Problème conjoint Production/maintenance

• La date prévue d’une opération de maintenance j : .

• Le retard d’une opération de maintenance j : = (0, – ).

• L’avance d’une opération de maintenance j : = (0, – ).

5.1.2 Critères d’optimisation

• Somme des retards des tâches de production.


# #

= = max!0, – "
$ $

• Somme des retards et des avances des tâches de maintenance préventive.

% = ∑*'$ ' + ' = ∑*'$ [ (0, ' – ' ) + (0, ' – ' ) ]

5.1.3 Contraintes

• Une machine ne peut exécuter qu’une seule tâche à la fois

• Une tâche ne peut être exécutée que par une seule machine.

• Les préemptions ne sont pas autorisées.

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.

6 Introduction à l’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.

6.1 Problèmes d’optimisation multi-objectif

Un problème d’optimisation multi-objectif (Noté MOOP en littérature ou bien PMO en français)


traite plusieurs fonctions objectif. Dans la plupart des problèmes de décision, on trouve évidemment
soit plusieurs objectifs ou plusieurs critères d’optimisation, Il a été très tôt reconnu que la recherche

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].

6.2 Classification des approches de résolution

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.

6.2.1 Classification « point de vue décideur »

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.

6.2.1.1 Approches à priori

Le décideur intervient en aval du processus d’optimisation, pour définir la fonction d’agrégation


modélisant le compromis que l’on désire faire entre les différents objectifs. Dans ce cas, le décideur
est supposé connaître à priori le poids de chaque objectif afin de les mélanger dans une fonction
unique. Cela revient à résoudre un problème mono-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).

6.2.1.2 Approches interactives (Ou bien progressives)

Elles combinent de manière cyclique et incrémentale les processus de décision et d’optimisation. Le


décideur intervient de manière à modifier certaines variables ou contraintes afin de diriger le
processus d’optimisation. Le décideur modifie ainsi interactivement le compromis entre ses
préférences et les résultats. Cette approche permet donc de bien prendre en compte les préférences du
décideur, mais nécessite sa présence tout au long du processus de recherche.

25
Chapitre 3 : Le Problème conjoint Production/maintenance

6.2.1.3 Approches à posteriori

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).

6.2.2 Classification « point de vue concepteur »

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.

6.2.2.1 Approches non 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.

6.2.2.2 Approches Pareto

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.

6.3 Approche Pareto


6.3.1 Définitions
6.3.1.1 Dominance au sens Pareto

Soient deux vecteurs objectifs , , , % - . / , = 0(1 ), , % = 0(1 % ). On dit que la solution 1


domine 1 % (, Domine , % ) si et seulement si : , ≤ , % Et , ≠ , % . (ie, yk1 ≤ yk2 pour tout k
=1…p, et yk1 < yk2 pour au moins un k ). On notera alors : 1 ≥ 1 % . Si 1 Est meilleur que 1 % Sur
tous les objectifs (ie yk1 < yk2 pour tout k = 1...p) alors on dit que 1 Domine fortement 1 % ; On notera
alors 1 > 1 % . Lorsque ni 1 ≥ 1 % , ni 1 % ≥ 1 , alors on dit qu’elles sont incomparables ou

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].

6.3.1.2 Solution Pareto-optimale

Une solution est dite Pareto optimale si elle n’est dominée par aucune autre solution réalisable.

6.3.1.3 Front Pareto

L’ensemble Pareto optimal 9 ∗ = ; 1 ∈ = | ¬∃1 A ∈ =, 0(1 A ) ≥ 0(1) }.

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.

6.3.2 Convergence et diversité des solutions

Figure 3-2 : Illustration de la convergence et de la diversité en multi-objectif

Pour résoudre un MOOP par une approche Pareto, deux objectifs doivent être pris en compte :
l’intensification et la diversification.

-Intensification (exploitation) : converger vers la frontière Pareto.

-Diversification (exploration) : trouver les solutions diversifiées le long de la frontière Pareto.

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.

6.4 Méthodes Approchées de résolution des problèmes Multi-objectif

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).

Meta-heuristiques à population de solutions : Tels que les Algorithmes Génétiques ou l’algorithme


de colonie d’abeilles artificielles « ABC » qui se trouve être justement l’objet de notre travail.

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.

• Conception électroniques et mécanique.

• Clustering de données.

• Contrôle de robot.

• La prédiction de structure de protéine.

• 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

La méthode de Colonie d’abeilles artificielles


« ABC » (Artificial Bee Colony)
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

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.

On tire de cette information l’idée de base de cette méthode : créer un système


multi-agents capable de résoudre avec succès les problèmes complexes.

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.

D’après la bibliographie, il semble que l'algorithme HONEY-BEE a été réalisé pour la


première fois vers 2004 par CRAIG A.TOVEY à GEORGIA TECH en collaboration
avec SUNIL NAKRANI.

A la fin de 2004 et au début de 2005, XIN-SHE YANG a développé, à l’Université de

30
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

CAMBRIDGE, le VIRTUAL BEE ALGORITHM (VBA) pour résoudre des problèmes


d’optimisation numérique, cet algorithme permet d’optimiser à la fois les fonctions et les
problèmes discrets, cependant ils n’ont donné comme exemples que les fonctions à deux
paramètres. Un peu plus tard en 2005, HADDAD [40], AFSHAR et leurs collègues ont
présenté un algorithme du nom de HONEY-BEE MATING OPTIMIZATION (HBMO)
qui a ensuite été appliqué à la modélisation de réservoirs et de clustering.

En 2006, B.BASTURK et D.JARABOGO en Turquie, ont développé un algorithme


appelé ARTIFICIAL BEE COLONY (ABC) pour l’optimisation de fonction numérique,
et c’est bien dans cet algorithme que nous allons nous approfondir lors de la suite de ce
chapitre.

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.

3. Le comportement des abeilles


Comme nous venons de le préciser, Il existe de nombreux algorithmes
d’optimisation directement inspirés du comportement des abeilles. Deux types
principaux de comportements ont été exploités : l’accouplement et le fourragement.
L’exploitation de l’accouplement a conduit principalement aux algorithmes du type
Honey Bee Mating Optimization (HBMO) puis à ses nombreuses évolutions et
améliorations. Le comportement de fourragement des abeilles est celui qui a été le
plus souvent exploité provoquant l’apparition de nombreux algorithmes tels que
BeeHive ,BeeAdHoc, Virtual Bee ou ABC. Ce dernier est celui qui a attiré le plus
d’attention de la part des chercheurs. Nous nous focaliserons donc sur cet
algorithme, dit du fourragement ‘Artificial Bee Colony’ (ABC) qui a été proposé par
Karaboga [41].

31
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

3.1. Le fourragement des abeilles mellifères dans la nature

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.

Le fourragement s’appuie principalement sur quatre composantes : les sources de


nourriture (du nectar ou du pollen), les ouvrières éclaireuses (scout bees), les
ouvrières spectatrices (onlooker bees) et les ouvrières exploitantes (employed bees).

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.

Les capacités d’auto-organisation et d’émergence dans le comportement de


fourragement des abeilles proviennent principalement des effets suivants :

• Plus une source de nourriture est intéressante, plus le nombre d’abeilles


spectatrices recrutées pour l’exploiter est important. Cela permet à la colonie
de concentrer ses efforts sur les sources les plus prolifiques.

• Lorsqu’une source de nourriture n’est plus intéressante, il n’y a plus de


recrutement de spectatrices et l’exploitante finit par l’abandonner. Cela
permet à la colonie d’abandonner les sources taries.

• Les éclaireuses assurent la découverte de nouvelles sources. La colonie répartit


donc ses efforts sur plusieurs lieux et assure le renouvellement de son
approvisionnement.

• La danse des abeilles permet le partage des informations et le recrutement


proportionnel à l’intérêt des sources de nourriture.

33
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

4. Le modèle classique ABC et son implémentation


Pour l’algorithme Artificial Bee Colony (ABC), les sources de nourriture sont des
zones dans l’espace de solutions S usuellement représentées par un point de S.
L’exploitation d’une source consiste à évaluer l’intérêt d’un point de S dans un
voisinage de cette source. La colonie d’abeilles est composée de trois types d’abeilles
ouvrières : les éclaireuses, les spectatrices et les exploitantes. Une éclaireuse devient
une exploitante dès lors qu’elle a une source de nourriture à exploiter. Une exploitante
devient éclaireuse dès lors qu’elle décide d’abandonner sa source de nourriture. On
note N la taille de la colonie, Nexploitante le nombre d’exploitantes, Nspectatrice
le nombre de spectatrices et Néclaireuse le nombre d’éclaireuses. L’algorithme ABC
se résume par l’algorithme 1.

Algorithme 1 : l’algorithme de l’ABC

On notera S = {s1 , . . ., s|S| } l’ensemble des sources de nourriture et q : R → R la


fonction de mesure de l’intérêt d’une source de nourriture. Nous considèrerons que q
possède le même mécanisme de mémorisation de la valeur que f permettant d e
n ’ é v a l u e r sa valeur qu’une seule fois par solution. La meilleure solution trouvée par

34
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

l’algorithme est nommée s ∗ .

4.1. Choix des sources initiales de nourriture

Par défaut et sans exploitation supplémentaire de connaissance sur le problème


d’optimisation, le choix initial des sources de nourriture s’effectue aléatoirement et
uniformément sur l’espace de recherche. Le détail de l’implémentation est donné par
l’algorithme 2.

Algorithme 2: Choix des sources initiales

Avec : $ : Nombre de sources

Si : source N°i

U(S) : fonction qui donne une source aléatoire

ei : nombre d’échecs de la source i

4.2. Sortie des abeilles exploitantes de la ruche

L’exploitation d’une source nécessite de choisir une solution dans le voisinage


de la source de nourriture (si ). Dans l’implémentation classique, la nouvelle

s o l u t i o n vi = (vi,1, . . . , vi,D )t est calculée à partir de la position de la source en


la mutant légèrement. Cette mutation est obtenue en modifiant une coordonnée

35
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

aléatoirement suivant l’équation suivante :

vi,k = si,k + U ([−1; 1]) ∗ (si,k − sn,k )

Avec si la position de la source, sn une autre source choisie aléatoirement


et k la coordonnée modifiée choisie aléatoirement. Le détail de l’implémentation est
donné par l’algorithme 3.

Algorithme 3: Calcul des nouvelles sources dans l'ABC

Si l’intérêt de la nouvelle position vi est supérieur à celui de la position de la


source si alors vi remplace si dans la mémoire de l’ouvrière. Le compteur de succès
d’exploitation est mis à jour : il vaut 0 si l’exploitation a été fructueuse (q(f (vi )) >
q(f (si ))) et il est incrémenté dans le cas contraire. Le détail de l’implémentation est
donné par l’algorithme 4.
Algorithme 4:Mémorisation des nouvelles sources dans l'ABC

36
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

4.3. Les abeilles spectatrices

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 :

La définition de la distribution P est fortement dépendante de la forme de la fonction


d’évaluation de l’intérêt q (algorithme 5).

Algorithme 5 Calcul de la probabilité d'exploitation des sources

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.

Algorithme 6 Exploitation des sources dans l'ABC

4.4. Abandon des sources taries et mise en œuvre des


exploratrices (éclaireuses)

Dans l’implémentation standard de l’algorithme ABC, seul un nombre limité


d’exploitantes sont autorisées à abandonner une source de nourriture. Pour cela, les
sources pour lesquelles le compteur d’échec a dépassé un niveau maximum fixé (eMax)

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

oubliées et les exploitantes associées deviennent des éclaireuses. Chaque éclaireuse


choisit une nouvelle source de nourriture et redevient une exploitante. Ainsi, après cette
phase, l’ensemble des sources est reconstitué. Dans l’implémentation classique de

l’algorithme, Néclaireuse = 1. Le détail de l’implémentation est donné par l’algorithme 7.

Algorithme 7 Abandon des sources taries et mise en œuvre des exploratrices

4.5. Paramétrage et évolution de l’algorithme classique

Dans sa version classique, l’algorithme ABC ne nécessite que peu de paramètres. Le


nombre de sources de nourriture est le nombre d’exploitantes qui est en général fixé à la
moitié des abeilles de la colonie, l’autre moitié représente les abeilles spectatrices. Par
conséquent, on a

Nexploitante = Nspectatrice = N

Le nombre de sources de nourriture abandonnée au maximum par itération de

l’algorithme est généralement fixé à 1 donc Néclaireuse = 1.

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 »

5. Passage de l’ABC du mono au multi objectif


Nous avons adapté l’algorithme de la colonie d’abeilles artificielles « ABC » à notre
problème bi objectif (production/maintenance) et ceci afin de pouvoir optimiser 2
critères simultanément (tous deux des problèmes de minimisation).

Les principaux changements opérés par rapport au modèle classique de cet algorithme
résident dans les étapes suivantes :

5.1. La comparaison entre 2 solutions

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.

Dans le modèle bi objectif : comme nous disposons de 2 critères à optimiser, donc de 2


valeurs à comparer pour chaque source, nous comparons les 2 solutions selon leur
relation de dominance, cette comparaison s’effectue comme suit :

• Si l’une domine l’autre, nous gardons celle qui domine.


• Si les 2 solutions sont non dominées entre elles, Nous vérifions si l’ancienne
solution appartient à notre front Pareto approximatif ainsi qu’à notre second front
de Pareto ( le front trouvé dans le cas où on n’avait pas les solutions du premier
front).
Si c’est le cas, nous gardons l’ancienne solution car elle fait partie de
40
Chapitre 4 : La méthode de Colonie d’abeilles artificielles « ABC »

l’élite de la population.
Sinon, nous la remplaçons par la nouvelle solution voisine.

5.2. Le calcul de l’intérêt des sources

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 :

• Minimum(f) : la plus petite des valeurs du critère f dans la population.


• Maximum(f) : la plus grande des valeurs du critère f dans la population.

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

Implémentation et Tests expérimentaux


Chapitre 5 : Implémentation et Tests expérimentaux

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

2. Plateforme et outils de développement


Notre application a été réalisée en utilisant le langage de programmation C++ sous le
système d’exploitation WINDOWS 7, et le l’IDE CodeBlocks 10.05.

L’interface graphique a été conçue par QT 5.2.1.

Les tests ont été effectués sur un PC Intel Core i5, avec 2.6 GHz et 4 Go de mémoire
RAM.

3. Interface graphique de l’application


L’interface conçue contient deux fenêtres. La première est une page d’accueil, la seconde est
celle de la résolution du problème de production maintenance par la méthode de l’ABC.

Voici la page d’accueil :

42
Chapitre 5 : Implémentation et Tests expérimentaux

Figure 5-1: Page d'accueil de l'application

Les figures suivantes représentent 3 aperçus de la fenêtre principale de notre application, le


premier la montre avant l’exécution de l’ABC sur une instance de 20 tâches et 4 machines, le
second après cette même exécution et le troisième après une seconde exécution avec des
itérations supplémentaires :

Figure 5-2 : Interface graphique

43
Chapitre 5 : Implémentation et Tests expérimentaux

Figure 5-3 : Interface après exécution

Figure 5-4 : Interface après ajout de 1000 itérations supplémentaires

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 :

Figure 5-5 : Détails sur les solutions résultantes

Avec « c1 » la valeur du premier critère et « c2 » celle du second critère.

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

3.1.2. Stratégie d’affectation des tâches de production et de maintenance aux


machines

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

Algorithme 1 : Algorithme d’affectation des tâches de production et de maintenance préventive

Pour i=1 jusqu’à N faire


Recherche la machine la plus disponible ;
Si ((date de disponibilité de la machine + durée de la tâche de production)
- date de MP de la machine) > (date de MP de la machine – date de
disponibilité de la machine))
Intégrer la tâche de maintenance ;
date disponibilité de la machine = date de disponibilité de la
machine + durée de la maintenance ;
Sinon
Exécuter la tâche de production ;
date de disponibilité de la machine = date de disponibilité de la
machine + durée de la tache de production ;
Fin Si
Fin pour

3.2. Fonctions relatives à l’ABC

Pour mettre en point notre application de la méthode de la colonie d’abeilles artificielles


« ABC », Nous avons implémenté plusieurs fonctions, en voici les plus importantes :

3.2.1. Génération de la population initiale :


Algorithme 2 : Génération de la population initiale

Déclarer Matrice P ( taille: Nexploitantes*Nombre _tâches) ;


Pour i de 0 à Nombre d’exploitantes faire
DEBUT
Générer individu aléatoirement ;
// individu : vecteur contenant une suite de nombres (de 1 à Nombre_tâches),
chaque nombre représentant l’indice de la tâche à réaliser
Stocker individu dans la matrice P ;
FIN

3.2.2. Voisinage des solutions

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 :

3.2.2.1. Fonction de voisinage N°1 (pour les exploitantes)

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 :

• P1 la matrice de notre population de solutions.


• P2 une nouvelle matrice chargée de stocker les solutions voisines à celles de notre
population.
• « Ind » le nombre d’individus de la population (nombre d’abeilles exploitantes).
• « nb » le nombre de tâches de production à ordonnancer (la taille d’un vecteur solution).
• Rand_a_b une fonction donnant une valeur aléatoire se situant entre les 2 paramètres
qu’on lui donne.

3.2.2.2. Fonction de voisinage N°2 (pour les spectatrices)

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

vecteur (à la dernière case).

Algorithme 4: Fonction de voisinage N°2

Avec « i » l’indice de la solution pour laquelle on veut rechercher une solution voisine.

3.2.2.3. Fonction de voisinage N°3 (pour la partie maintenance de la


solution)

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)

Int Voisine[m] : Création vecteur de la solution voisine ;


Copie de toutes les valeurs de la solution initiale dans le vecteur Voisine ;
Int a = valeur aléatoire entre 0 et 3 ;
Int b = valeur aléatoire entre 1 et m ; //m : Nombre de machines= taille du vecteur
Int c = valeur aléatoire entre 1 et 2 ; //Pour décider si on ajoute ou si on déduit
Int e = valeur aléatoire entre 1 et m ;
Si (c==1)
DEBUT
Voisine[b]=voisine[b]+a ;
Voisine[e]=voisine[e]-a ;
FIN Si
Sinon
DEBUT
Voisine[b]=voisine[b]-a ;
Voisine[e]=voisine[e]+a ;
FIN
48
Chapitre 5 : Implémentation et Tests expérimentaux

3.2.3. Répartition des abeilles spectatrices sur les sources

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 :

Algorithme 6: Recrutement des abeilles spectatrices

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

3.2.4. Travail des abeilles spectatrices


Algorithme 7: Travail des abeilles spectatrices

Pour i de 1 à Taille_population faire


DEBUT
Si (vecteur_spectatrices[i]>0)
DEBUT
Pour j de 1 à vecteur_spectatrices[i] faire
DEBUT
Trouver un voisinage de l’individu i ;
Comparer et remplacer si besoin ;
Mise à jour du compteur d’échecs de l’individu i ;
FIN pour
FIN Si
FIN

3.2.5. Fonction de remplacement des abeilles éclaireuses (Scout bees)

Dans le modèle classique de l’ABC, les abeilles éclaireuses (Scouts) procèdent au


remplacement des sources ayant des nombres d’échecs supérieurs à l’échec maximum, et ceci
sans se préoccuper de la qualité de ces sources, c’est-à-dire que même si ces sources font partie
des solutions les plus optimales de notre population, elles seront remplacées, cela représente
bien évidemment un problème car nous risquons de perdre nos meilleurs individus.

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.

Nous avons implémenté la fonction de remplacement des abeilles éclaireuses de la manière

50
Chapitre 5 : Implémentation et Tests expérimentaux

suivante :

Algorithme 8: Fonction des abeilles Eclaireuses (Scout bees)

// Le vecteur Nbr_Echecs[Taille_population] représente les compteurs d’echecs des individus de notre


population
Int Nbr_solutions_taries=0 ;
Pour i de 1 à Taille_population faire
DEBUT
Si (Nbr_Echecs[i]>Echecs_Max)
DEBUT
Si (L’invididu i n’appartient ni au front de Pareto ni au second front de Pareto)
DEBUT
Nbr_solutions_taries++ ;
Stocker l’indice de l’individu i ;
FIN Si
FIN Si
FIN
Pour i de 1 à Nombre_Eclaireuses
DEBUT
Si (Nbr_solutions_taries > 0)
DEBUT
Remplacer la solution tarie ayant le plus grand nombre d’echecs dans la population en
générant une nouvelle solution aléatoire ;
Mettre son compteur d’echecs à 0 ;
Nbr_solutions_taries-- ;
FIN Si
FIN

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

4.1. Paramétrage de l’algorithme

Nous allons illustrer dans ce paragraphe l’influence de quelques paramètres principaux de


l’ABC sur les résultats obtenus, Nous avons choisi de faire des tests sur quelques instances du
problème tout en modifiant les paramètres, les changements varient d’un test à l’autre. Ensuite
nous avons collecté et présenté les résultats par des graphes appropriés.

4.1.1. Nombre maximum d’échecs

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.

La figure suivante représente les résultats de ce test :

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

Figure 5-7: Fronts de Pareto obtenus en en fonction de l'échec maximum

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.

L’utilisateur garde toutefois la possibilité de modifier cette valeur.

4.1.2. Nombre d’abeilles exploitantes (Taille de la population)

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 :

Fronts de pareto après 2000 itérations


39
Somme des avances et des retards de la

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

Figure 5-8 : Fronts de Pareto obtenus en changeant le nombre d'abeilles exploitantes

Nous remarquons que le front de Pareto approximatif obtenu avec Nbr_Exploitantes = 40


possèdent des solutions de bonne qualité et dispersées (diverses), et ceci pour l’instance du
problème définie auparavant, nous avons donc choisi de mettre un nombre d’exploitantes
préférentiel de 40 mais en laissant toutefois le choix à l’utilisateur de le modifier dans
l’application, il en est de même pour les autres paramètres liés à l’ABC qui sont le nombre
d’abeilles spectatrices ainsi que le nombre d’exploratrices (éclaireuses).

4.1.3. Nombre de générations

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

Figure 5-9: Fronts de Pareto obtenus en fonction du nombre d'itérations

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

Le sujet de notre mémoire consiste en l’étude et la résolution du problème d’ordonnancement


conjoint intégré Production/Maintenance dans le cas d’un système composé de machines
parallèles et identiques.

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.

Enfin le cinquième chapitre a été consacré à l’élaboration et l’implémentation de notre


application. Des tests expérimentaux ont été effectués pour la configuration des paramètres de
notre approche.

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

[1] Georges Javel, Organisation et gestion de la production, Dunod-4ème édition- 2010.

[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.

[5] G. DOUMEINGTS. « Méthode GRAI : méthode de conception des systèmes en


productique ». Thèse d’état soutenue à l’université de Bordeaux I (France), 1984

[6] M. ROBOAM. « Modèles de référence et intégration des méthodes d’analyse pour la


conception des systèmes de production ». Thèse de doctorat soutenue à l’université de
Bordeaux (France), 1988.

[7] N. GIARD. « Gestion de la production ». Economica, 1988.

[8] Norme Française de maintenance industrielle AFNOR NF EN 13306. Octobre 2010.

[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.

[10] Lopez P. et Roubellat F., « Ordonnancement de la production », Hermès Sciences, IC2


Productique, 2000

[11] Esquirol P. et Lopez P. « L’ordonnancement », Economica, Paris, 1999.

[12] Dupy M. « contribution à l’analyse des systèmes industriels et au problème


d’ordonnancement à machines parallèles flexibles : application aux laboratoires de contrôle
qualité en industrie pharmaceutique », Thèse de doctorat, Toulouse, 2005.

[13] Marmier F., « Contribution à l’ordonnancement des activités de maintenance sous


contrainte de compétence : une approche dynamique, proactive et multicritère », Thèse de
doctorat, Université Franche-Comté, 2007.

[14] Younes M. « Aide à la décision d’ordonnancement inter-entreprise dans le cadre des


travaux de l maintenance, cas : Société de Maintenance de l’Est (SME) » Mémoire de
Magister, Université de Batna, Algérie, 2011.

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.

[23] Weinstein L & Chung C H. Integrating maintenance and production decisions in a


hierarchical production planning environment. Computers and Operations research, 26,
pp.1059–1074, 1999.

[24] Lee C Y and Chen Z L. Scheduling jobs and maintenance activities on parallel machines.
Naval Research Logistics, 47:145–165, 2000.

[25] Bembla M. Ordonnancement conjoint production et maintenance : Critère et heuristique


de résolution. Mémoire de DEA, U.F.R des Sciences et Techniques de l’Université de
Franche Comte, 2002.

[26] Aggoune R. Ordonnancement d’ateliers sous contraintes de disponibilité des machines.


Thèse de doctorat, Université de Metz, France, 2002.

[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.

[28] C. Y. LEE. « Machine scheduling with an availability constraint ». Journal of Global


Optimization, 9, p. 395–416, 1996.

[29] G. Schmidt. « Scheduling with limited machine availability ». European Journal of


Operational Research, 121, p. 1 –15, 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.

[31] J. KAABI, C. VARNIER, N. ZERHOUNI. Genetic algorithm for scheduling production


and maintenance in a Flow Shop. Laboratory of automatic of Besançon, France. 2003

[32] C. R. CASSADY, E. KUTANOGLU. « Minimizing job tardiness using integrated


preventive maintenance planning and production scheduling ». IIE Trans, 35 : p.503– 513.
2003

[33] R. RUIZ, J. C. GARCIA-DIAZ, C. MAROTO. « Considering scheduling and preventive


maintenance in the flowshop-sequencing problem ». Computers & Operations Research,
34(11), p.3314–3330. 2007.

[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

[35] A. BERRICHI, L. AMODEO, F. YALAOUI, E. CHATELET, M. MEZGHICHE. « Bi-


objective optimization algorithms for joint production and maintenance scheduling:
application to the parallel machine problem ». Journal of Intelligent Manufacturing, 20(4),
p.389-400. 2009

[36] A. BERRICHI, L. AMODEO, F. YALAOUI, M. MEZGHICHE. « Bi-Objective Ant


Colony Optimization approach to optimize production and maintenance scheduling ».
Computers & Operations Research, Vol.37, p.1584–1596. 2010

[37] E. MORADI, S. M. T. FATEMI GHOMI, AND M. ZANDIEH. « Bi-objective


optimization research on integrated fixed time interval preventive maintenance and
production for scheduling flexible job-shop problem ». Expert systems with applications,
38(6), p.7169-7178. 2011.

[38] A. BERRICHI, F. YALAOUI. « Efficient bi-objective ant colony approach to minimize


total tardiness and system unavailability for a parallel machine scheduling problem ». The
International Journal of Advanced Manufacturing Technology, 68(9-12), p.2295-2310. 2013.

[39] C.H. PAPADIMITRIOU & K. STEIGLITZ, Combinatorial optimization – algorithms


and complexity. Prentice Hall, 1982.

[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.

[43] Benbouzid F. Contribution à l’étude de la performance et de la robustesse des


ordonnancements conjoints production/maintenance –cas du flow shop. Thèse de doctorat en
Automatique et Informatique de l’Université de Franche-Comté, France, 2005.

[44] :http://chaire-osd.polytechnique.fr/accueil/recherche/optimisation-multi-
objective/optimisation-multiobjectif--32146.kjsp

[45] COLETTE, Y., & SIARRY, P. (2002). Optimisation Multi-Objectif. EYROLLES.

[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

Vous aimerez peut-être aussi