mÉmoirebib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...réalisé par : nouri chahrazad...

83
Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème Détection de la phase stable dans les systèmes à évènements discrets. République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Larbi Ben M’hidi Oum El Bouaghi Faculté des Sciences exactes et Sciences de la nature et de la vie Département de Mathématique & Informatique MÉMOIRE Pour l’obtention du diplôme de Master en Informatique OPTION : ARCHITECTURE DISTRIBUÉ

Upload: others

Post on 28-Apr-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A

Jurys par:

Mr. Mokhati.F

Mr. Taouche.C

2014/2015

Thème

Détection de la phase stable dans les systèmes à évènements discrets.

République Algérienne Démocratique et Populaire

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

Université Larbi Ben M’hidi Oum El Bouaghi

Faculté des Sciences exactes et Sciences de la nature et de la vie

Département de Mathématique & Informatique

MÉMOIRE

Pour l’obtention du diplôme de Master en Informatique

OPTION : ARCHITECTURE DISTRIBUÉ

Page 2: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Résumé

Résumé

Une technique pour la détection de la phase d’équilibre dans une simulation à évènements

discrets est présentée dans ce manuscrit. Il s’agit d’un test d’hypothèse non paramétrique

nommé le test de randomisation (permutation). La méthode a donné des résultats satisfaisants.

Elle a été intégrée avec succès dans la bibliothèque Japrosim. La conception et

l’implémentation de cette technique a fait usage des design patterns. Bien qu’elle soit

gourmande en temps de calcul et en espace mémoire, les algorithmes développés dans le

cadre de ce travail ont été optimisés de façon intelligente. La technique en elle-même est

simple à comprendre et à mettre en œuvre.

Mots clés : simulation, simulation à événement décret, détection de la phase stable.

Page 3: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

DÉDICACE

Je dédie cet humble travail à :

A la lumière de mes jours, la source de mes efforts, la flamme de mon cœur, ma vie et mon bonheur ;

maman que j’adore.

A l’homme de ma vie, mon exemple éternel, mon soutien moral et source de joie et de bonheur, celui qui s’est toujours sacrifié pour me voir réussir, que

dieu te garde dans son vaste paradis, à toi mon père.

À tous mes frères et mes sœurs, mes nièces, et mes neveux.

Et à tous ceux qui ont contribué de près ou de loin pour que ce projet soit possible, je vous dis merci.

N.Chahrazad

Page 4: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

REMERCIEMENT

En préambule à ce mémoire, je souhaitais adresser mes

remerciements les plus sincères aux personnes qui m'ont apporté leur

aide et qui ont contribué à l'élaboration de ce mémoire ainsi qu’à la

réussite de cette formidable année universitaire.

Je tiens à remercier sincèrement Monsieur Dr.A.Bourouis, qui, en

tant que Directeur de mémoire, s'est toujours montré à l'écoute et

très disponible tout au long de la réalisation de ce mémoire, ainsi

pour l'inspiration, l'aide et le temps qu'il a bien voulu me consacrer

et sans qui ce mémoire n'aurait jamais vu le jour.

Je tiens à exprimer ma reconnaissance envers Mr Mokhati et

Mr.Taouche qui ont eu la gentillesse de lire et corriger ce travail.

J’exprime aussi mes sincères reconnaissances à tous mes enseignants

du département Math et Informatique pour leurs efforts fournis

durant toute la période d’étude.

Merci à tous et à toutes.

Nouri Chahrazad

Page 5: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des matières

Table des matières……………………………………………………………………………………………………………………….I

Table des figures………………………………………………………………………………………………………………………VI

Table des tableaux ………………………………………………………………………………………………………………….VIII

Introduction générale……………………………………………………………………………………………………………………1

1. Introduction :……………………………………………………………………………………………………………………3

2. Définitions :...……………………………………………………………………………………………………………………3

3. Les principes généraux :…………………………………………………………………………………………………….5

3.1. Systèmes réels et modèles abstraits :……………………………………………………………………………….5

3.2. Modèle analytique et simulation:……………………………………………………………………………………..7

4. Les modèles de simulation :………………………………………………………………………………………………8

4.1. Modèles continus :……………………………………………………………………………………………………………9

4.2. Modèles discrets :…………………………………………………………………………………………………………….9

4.3. Modèles à événements discrets:…………………………………………………………………………………….10

5. Les principales techniques d'implémentation :……………………………………………………………….10

5.1. Approche par événement (Event Scheduling):……………………………………………………………….11

5.2. Approche par activité:( Activité Scanning) :…………………………………………………………………….12

5.3. Approche par processus (Process Interaction):………………………………………………………………12

6. Simulation à événements discrets :………………………………………………………………………………..13

6.1. Evénements :………………………………………………………………………………………………………………….13

6.2. Le simulateur :………………………………………………………………………………………………………………..14

Chapitre I

I

Page 6: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des matières

7. Les systèmes à files d'attente :……………………………………………………………………………………….15

7.1. Notions générales :………………………………………………………………………………………………………..15

7.2. Les réseaux de files d’attente :………………………………………………………………………………………18

8. Les étapes d’une étude de simulation :………………………………………………………………………….19

9. Avantages et inconvénients :………………………………………………………………………………………….21

10. Conclusion :……………………………………………………………………………………………………………………22

1. Introduction :………………………………………………………………………………………………………………….24

2. L'analyse d'une expérience de simulation :…………………………………………………………………….25

2.1. La répétition d'une simulation :……………………………………………………………………………………..25

2.2. L'état stationnaire du modèle :………………………………………………………………………………………25

2.3. La transitoire initiale et la phase d'équilibre :…………………………………………………………………27

3. Les techniques de détection de la phase d'équilibre :……………………………………………………..27

3.1. Les méthodes graphiques :……………………………………………………………………………………………..28

3.1.1. Inspection de la série chronologique :……………………………………………………………………………..28

3.1.2. La règle de la moyenne cumulative:…………………………………………………………………………………29

3.1.3. La méthode de Contrôle Statistique des Procédés (SPC):………………………………………………..29

3.1.4. Méthode de Welch :…………………………………………………………………………………………………………29

3.2. Les méthodes tests de biais d’initialisation :…………………………………………………………………….31

3.3. Les méthodes heuristiques :…………………………………………………………………………………………….31

3.3.1. Règle de Conway (Conway Rule):…………………………………………………………………………………….32

3.3.2. La modification de la règle de Conway :…………………………………………………………………………..32

Chapitre II

II

Page 7: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des matières

3.3.3. Marginal Erreur Règle standard -5 (Marginal Standard Error Rules (MSER)) :………………….33

3.4. Les méthodes statiques :………………………………………………………………………………………………….33

3.4.1. Goodness-Of-Fit Test :……………………………………………………………………………………………………..33

3.4.2. Méthode de régression de Kelton et Law:……………………………………………………………………….34

3.4.3. Algorithm for a Static Dataset (ASD):……………………………………………………………………………….34

3.4.4. Method de Kalman Filter:………………………………………………………………………………………………..35

3.4.5. Wavelet-based spectral method (WASSP):……………………………………………………………………..36

3.4.6. Les tests de randomisation pour le biais d'initialisation :…………………………………………………37

3.5. Les méthodes hybrides :…………………………………………………………………………………………………38

3.5.1. La méthode séquentielle de Pawlikowski :…………………………………………………………………….38

3.5.2. La méthode SIT (Scale invariant Truncation point):………………………………………………………..38

4. Discussion :…………………………………………………………………………………………………………………….38

5. Conclusion :……………………………………………………………………………………………………………………41

1. Introduction :…………………………………………………………………………………………………………….42

2. Généralités sur les tests statistiques :……………………………………………………………………….42

2.1. Rôle et forme de l’hypothèse nulle :………………………………………………………………………….43

2.2. Niveau et puissance :…………………………………………………………………………………………………44

2.3. Démarche d’un test :…………………………………………………………………………………………………44

2.4. Probabilité critique ou P-valeur :……………………………………………………………………………….45

2.5. Choix du test :……………………………………………………………………………………………………………45

3. Tests paramétriques :………………………………………………………………………………………………..45

Chapitre III

III

Page 8: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des matières

4. Tests non-paramétriques :………………………………………………………………………………………..46

a. Tests d'homogénéité entre groupes (échantillons indépendants) :………………………….46

b. Tests d'homogénéité entre variables (échantillons appariés) :…………………………………47

c. Tests de relations entre variables :……………………………………………………………………………47

d. Les avantages des tests non paramétriques :…………………………………………………………..47

e. Les désavantages des tests non paramétriques :……………………………………………………..48

5. Problème d’initialisation de bias :…………………………………………………………………………….48

6. Tests de Permutation :……………………………………………………………………………………………..50

7. Exemple (les étapes de randomisation test) :………………………………………………………….51

8. Tests de randomisation pour le biais d'initialisation :……………………………………………..52

9. Conclusion :…………………………………………………………………………………………………………….54

1. Introduction :…………………………………………………………………………………………………………..55

2. Outils utilisées pour le développement :……………………………………………………………….55

2.1. Matériels utilisé :……………………………………………………………………………………………………55

2.2. Langage de programmation :…………………………………………………………………………………..55

2.3. La bibliothèque JAPROSIM :…………………………………………………………………………………….55

2.4. La technique de la détection de la phase d'équilibre :…………………………………………….56

3. Conception et Implémentation :……………………………………………………………………………56

3.1. Le patron de conception :………………………………………………………………………………………56

3.1.1. Définition :……………………………………………………………………………………………………………..56

3.1.2. Le pattern Observateur :………………………………………………………………………………………..57

Chapitre IV

IV

Page 9: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des matières

3.2. Conception de l'application :………………………………………………………………………………….58

3.3. Implémentation de l'application :…………………………………………………………………………..59

4. Tests et Validation :………………………………………………………………………………………………..62

4.1. Les résultats des tests :…………………………………………………………………………………………..63

4.2. Discussion :……………………………………………………………………………………………………………….65

5. Conclusion………………………………………………………………………………………………………………………..66

Conclusion générale…………………………………………………………………………………………………………….67

Bibliographie………………………………………………………………………………………………………………………..68

V

Page 10: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des figures

Chapitre 1

Figure 1: Vue de la simulation par Fishwick (Fishwick, 1997)……………………………………………………4

Figure 2: Proposition de Gilbert et Troitzch (Troitzsch, 2004)……………………………………………………5

Figure 3: Distinction entre le phénomène à étudier, le modèle et le simulateur (Fabien B. , 2010)………………………………………………………………………………………………………………………………………..6

Figure 4: Cycle modélisation-simulation (Boimond, 2006)………………………………………………………..7

Figure 5: Classification des différents types de modèles (Fleury, Lacomme, & Tanguy, 2007)….8

Figure 6: Evolution d’une variable dans un modèle continu (Fabien M. , 2004)………………………..9

Figure 7: Evolution d’une variable dans un modèle discret (Fabien M. , 2004)……………………….10

Figure 8: Evolution d’une variable dans un modèle événementiel. (Fabien M. , 2004)……………10

Figure 9: Principe de simulation par ordonnancement d'événements (Michel, 2004)…………….12

Figure 10: Les approches de modélisation en fonction des progiciels (FONTANILI, 2004)……….13

Figure 11: Simulateur (Fontanili)…………………………………………………………………………………………….14

Figure 12: une file d'attente (Bourouis, 2014)……………………………………………………………………….15

Figure 13: Système de file d’attente simple. (Bourenane, 1989)…………………………………………….16

Figure 14: Quantités intéressantes (Bourouis, 2014)……………………………………………………………..18

Figure 15: réseaux de files d'attente. (Bourouis, 2014)………………………………………………………….19

Figure 16: réseau ouvert, fermé et mixte. (Bourouis, 2014)…………………………………………………..19

Figure 17: Etapes de construction d’une simulation informatique (Shannon, 1976)………………21

Chapitre 2

Figure 18: Phase transitoire et phase d’équilibre d’un processus stochastique (Page, Kuck, & Gobel, 2005)……………………………………………………………………………………………………………………………………………26

Figure 19 : Technique de Welch avec la moyenne mobile (Fenêtre = 500) (Gallagher, B.S., & M.S, 1992)…………………………………………………………………………………………………………………………………………..31

Figure 20: La propagation dans le temps (Gallagher, B.S., & M.S, 1992)……………………………………..36

Chapitre 3

Figure2 1 : Les étapes d'un test statistique (Millot, 2009)……………………………………………………………43

Figure 22: les résultats obtenus (McDonald, 2014)………………………………………………………………………52

Chapitre 4

VI

Page 11: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des figures

Figure 23: Observer diagramme de classe UML (Lasater, 2010)………………………………………………………58

Figure 24: Diagramme de classe de l'application………………………………………………………………………………59

Figure 25: L'interface JAPROSIM après l'ajout de nouvelle technique de détection de la phase d'équilibre………………………………………………………………………………………………………………………………………..61

Figure 26: réseau de file d'attente……………………………………………………………………………………………………63

Figure 27: graphe représente le moyen de séjour durant 50 unités de temps…………………………………63

Figure 28: phase stable détecte……………………………………………………………………………………………………….64

Figure 29: La fenêtre d’OQNS………………………………………………………………………………………………………….64

Figure 30: Graphe de deuxième modèle…………………………………………………………………………………………65

VII

Page 12: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Table des tableaux

Tableau 1:Les résultats des tests obtenus dans une expérimentation durant 1000.00 unité de

temps…………………………………………………………………………………………………………………………………..65

VIII

Page 13: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Introduction générale

Introduction générale

La simulation est un outil important pour l’étude et l’analyse des systèmes complexes. Elle

est utile dans divers domaine ; des sciences naturelles aux sciences de l’ingénierie, des

sciences sociales à l’économie, de la médecine et la biologie aux études écologiques.

La Simulation est utilisée pour des systèmes existants, ou des systèmes à construire

(imaginaires), pour réduire les risques d'échec comme pour répondre aux spécifications, pour

éliminer les goulots d'étranglement imprévus, pour empêcher la sur/sous utilisation des

ressources, et pour optimiser les performances de ces systèmes.

Dans ce projet, nous nous intéressons à la simulation à événements discrets qui est l’un des

trois types de simulation. L'un des problèmes majeur de celle-ci est la difficulté de détecter le

début de la phase d'équilibre.

Dans l'exécution de n’importe quelle simulation, on passe par une période transitoire

autrement dit « la transitoire initiale », avant que le modèle parvienne (pour certains) à un état

d'équilibre. Par exemple, si nous étions afin de simuler la période de déjeuner d'un restaurant, il

serait erroné d'ignorer les clients qui peuvent déjà être dans le restaurant au début de cette

période. Les données collectées pendant la période d’échauffement de la simulation peuvent

donc être trompeuses. En conséquence, il est important que ces données soient traitées d'une

manière appropriée.

L’objectif de ce travail est d’implémenter certaines méthodes pour l’estimation de la phase

d’équilibre utilisant la bibliothèque JAPRIOSIM sans perturber son équilibre.

Ce mémoire est organisé comme suit :

Dans le premier chapitre, nous faisons un survol des notions de base en mettant la lumière sur

la terminologie liée à la simulation dans un premiers temps. Ensuite, nous présentons la

simulation à événements discrets. Enfin, un formalisme puissant pour modéliser une large

classe des systèmes à événements discrets qui est les systèmes de file d'attente est abordé.

Le deuxième chapitre expose d’une part les différentes catégories des techniques utilisées pour

détecter la phase stable ainsi que leurs avantages et inconvénients. D’autre part, il donne une

brève description de quelques méthodes disponibles.

1

Page 14: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Introduction générale

Dans le troisième chapitre, les notions de base des tests statistiques seront étudiées. Ensuite,

nous présentons notre méthode qui est un test statistique non paramétrique appelé

« randomisation test pour le bias d’initialisation ».

Le dernier chapitre présente la partie de conception et d'implémentation. Il constitue

l’intégration des techniques de détection de la phase stable dans la bibliothèque Japrosim.

2

Page 15: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

1. Introduction :

La communauté scientifique a recours à la simulation à des fins multiples et variées

comme par exemple pour valider un modèle ou pour comprendre des phénomènes complexes

de la réalité. La simulation repose sur l’exploitation d’un ensemble de modèles et méthodes

permettant d’approcher, d’imiter et de simuler le comportement d’un système physique réel.

Elle est souvent caractérisée dans la littérature comme la méthode du dernier ressort.

La simulation sera utilisée pour comprendre un système, son fonctionnement interne et/ou son

évolution future.

2. Définitions :

Beaucoup de définitions ont été attribuées au terme ‘‘Simulation’’ dans la littérature

technique. En voici quelques-unes:

La première définition de la simulation, Celle de Shannon, fut proposée en 1976 et

considère la simulation comme :

“The process of designing a model of a real system and conducting experiments with this

model for the purpose either of understanding the behaviour of the system or of evaluating

various strategies (within the limits imposed by a criterion or a set of criteria) for the

operation of the system.” (Robert, 1998)

Les termes système réel et modèle sont les deux mots-clés de cette définition. Alors, une

simulation numérique est l'étude d'un système réel de manière à comprendre son

fonctionnement interne et de prévoir son évolution sous certaines conditions.

La définition de la simulation de Shannon peut être complétée par celle proposée par

Fishwick.

Selon Fishwick, la simulation informatique peut être comprise de la manière suivante :

“Computer simulation is the discipline of designing a model of an actual or theoretical

physical system, executing the model on a digital computer, and analyzing the execution

output.” (BADEIG, 24/9/2010)

Alors la simulation informatique peut être assimilée, d'après Fishwick, à l'association des trois

activités suivantes :

Conception du modèle d'un système réel ou théorique.

3

Page 16: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Exécution de ce modèle sur un ordinateur.

Analyse des résultats de cette exécution (figure 1)

Figure 1:Vue de la simulation par Fishwick (Fishwick, 1997)

Le problème que pose cette approche est lié à la traduction du modèle initial en un modèle

exécutable par l'ordinateur. En effet il n’existe aucune phase intermédiaire entre la phase de

conception et d'implémentation.

C'est pourquoi Gilbert et Troitzch ont cherché à raffiner un peu ce diagramme. Ils mettent en

évidence le fait qu'à l'heure actuelle, aucun langage de programmation n'est capable de fournir

suffisamment de guides pour la construction du programme de simulation (structuré, efficace,

compréhensible aussi bien par le modélisateur que par l'informaticien...). Ils ajoutent l'étape

intermédiaire de construction informatique du modèle qui n'est pas si triviale que le suggère

Fishwick.

4

Page 17: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 2:Proposition de Gilbert et Troitzch (Troitzsch, 2004)

3. Les principes généraux : 3.1. Systèmes réels et modèles abstraits :

Systèmes réels :

Le terme système désigne tout ensemble d’entités en interaction et pouvant gérer d’autres

entités (internes ou non au système).

La simulation est une technique de modélisation du monde réel. Elle permet de représenter le

fonctionnement d'un système composé de différents centres d'activité, de mettre en évidence

les caractéristiques de ceux-ci et les interactions entre eux, de décrire la circulation des

différents objets traités par ces processus et enfin d'observer le comportement du système

dans son ensemble et son évolution dans le temps.

On appelle communément système réel le phénomène que l'on veut observer. (Erard &

Déguénon, 1996)

5

Page 18: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 3:Distinction entre le phénomène à étudier, le modèle et le simulateur (Fabien B. ,

2010)

La simulation d’un système réel devient utile dès lors que la réalisation d’un modèle

mathématique de ce système est, soit trop coûteuse en temps de conception ou de calcul, soit

trop simplificatrice de la réalité, de sorte que le modèle obtenu ne permet plus d’appréhender

les informations utiles sur le système à étudier.

modèles abstraits : L’élaboration d'un modèle comprend la représentation des deux constituants fondamentaux

du système réel.

Il s'agit d'une part de la représentation des tâches actives, et la description de leur

fonctionnement et particulièrement de leurs interactions.et d'autre part la circulation des objets

intervenant dans le système.

Le modèle réalisé grâce à cette formalisation et à cette abstraction est alors appelé modèle

abstrait.

Il est caractérisé par un nombre fini de grandeurs, dites variables qui en détermine l'état à

un instant donné. Parmi celles-ci on distingue les variables d'entrée simulées par des variables

aléatoires obéissant aux lois déterminées par les mesures faites sur le système réel, et les

6

Page 19: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

variables de sortie sur lesquelles sont faites les mesures permettant d'exprimer les résultats de

la simulation. (Erard & Déguénon, 1996)

3.2. Modèle analytique et simulation:

Modèle analytique : On appelle un modèle analytique les relations mathématiques ou logiques suffisamment

simples où il peut être possible d'utiliser des méthodes mathématiques qui fournissent une

information exacte sur les questions intéressantes.

Dans un procédé analytique, les constituants essentiels en tant que descriptions formelles du

modèle abstrait sont des équations mathématiques. Elles doivent décrire complètement le

système. Elles permettent donc de calculer en tout temps l'état du système, fournissant par là

même les données pertinentes requises sur le comportement de ce dernier. (Erard &

Déguénon, 1996)

Ce procédé suppose toutefois une connaissance détaillée du système réel qui souvent ne peut

être acquise que par l’expérience.

Analyse par simulation : Un recours à la simulation permet de repousser les limites de cette complexité. Dans ce

cas, le modèle abstrait décrit de façon procédurale le fonctionnement d’un système réel.

La simulation consiste à évaluer numériquement le modèle sur une période de temps

intéressante, effectuant durant ce temps les mesures et les expériences qui permettent d’en

décrit le comportement.

Si la représentation du système réel par modèle abstrait est suffisamment précise, on peut

alors reporter sur le système réel les résultats obtenu sur le modèle abstrait, selon la figure 4.

Figure 4:Cycle modélisation-simulation (Boimond, 2006)

7

Page 20: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

4. Les modèles de simulation :

Pour un système donné, il est possible de construire plusieurs types de modèles selon les

objectifs visés ou les contraintes à satisfaire. On peut considérer qu'il existe deux grandes

catégories de modèles: les modèles analogiques, encore appelés modèles physiques

(maquettes du système) et les modèles abstraits. (Fleury, Lacomme, & Tanguy, 2007) Une

représentation possible des différents types de modèles est indiquée sur la Figure 5.

Figure 5:Classification des différents types de modèles (Fleury, Lacomme, & Tanguy,

2007)

On peut classer les modèles de simulation en deux catégories :

les modèles de simulation déterministes.

les modèles de simulation stochastiques.

On désigne par modèle de simulation déterministe un modèle ne faisant pas intervenir le

hasard. Au contraire, un modèle de simulation stochastique nécessitera la connaissance de

lois de probabilité pour représenter le système et une simulation du hasard pour décrire son

fonctionnement.

La plupart des systèmes sont stochastiques et l’on approche souvent leur comportement en

faisant intervenir des lois de probabilité.

8

Page 21: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Modèle discret, continu et à événements discrets:

Un système dynamique est avant tout défini par la façon dont il évolue au cours du temps.

À l'intérieur des modèles dynamiques, on distingue (Michel, 2004) :

4.1. Modèles continus : Les modèles à temps continu sont caractérisés par le fait que, dans un intervalle de temps

fini, les variables d’´etat du système changent de valeur infiniment souvent, c’est-à-dire de

manière continue.

Figure 6: Evolution d’une variable dans un modèle continu (Fabien M. , 2004)

Cette figure montre un exemple de l’´evolution de la valeur d’une variable d’´etat x en

fonction du temps dans un modèle continu.

4.2. Modèles discrets :

Dans ce type de modèles, l’axe du temps est discrétisé suivant une période constante ∆t

appelée « le pas de temps »(Le pas de temps ∆t est généralement une valeur entière mais cela

n’est pas une obligation).

9

Page 22: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 7:Evolution d’une variable dans un modèle discret (Fabien M. , 2004)

4.3. Modèles à événements discrets:

Dans ce type de modèle, l’axe temporel est généralement continu, c’est-à-dire représenté

par un nombre réel. Dans ce type de modèle, la dynamique du système est donc définie par la

nature et la date des événements qui interviennent. On distingue deux types d’événements :

les événements externes et les événements internes. La figure 8 montre un exemple de

l’´evolution d’une variable d’´etat x en fonction du temps dans un modèle événementiel.

Figure 8: Evolution d’une variable dans un modèle événementiel. (Fabien M. ,

2004)

5. Les principales techniques d'implémentation :

Il existe trois politiques d’implémentation couramment utilisées pour la simulation de

modèles à événement discret : (Michel, 2004)

10

Page 23: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

5.1. Approche par événement (Event Scheduling):

La simulation par ordonnancement d'événements est la technique la plus fréquemment

utilisée. C'est l'approche la plus générale. Elle consiste à d´déterminer au fur et à mesure de

la simulation les futurs événements qui doivent intervenir sur le système Autrement dit, elle

consiste à rassembler tous les événements qui peuvent se produire et à décrire la logique des

changements d'état.

On peut distinguer dans la logique des changements d'état :

des règles liées aux modes opératoires sur le procédé de fabrication.

des règles liées à la conduite / gestion.

Tous les événements de ce type de simulation sont déterminés au préalable. Les

événements externes sont générés par ce qui peut être appelé un générateur d’événements et

les événements internes sont produits par les composants système eux-mêmes. Chaque

événement ainsi créé est placé dans une liste d’´ev´enements qui est ordonnée de manière

chronologique. La simulation de file d’attente est un exemple simple de ce type de

programmation. La Figure 9 résume l'algorithme correspond à ce principe de simulation.

11

Page 24: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 9: Principe de simulation par ordonnancement d'événements (Michel, 2004)

5.2. Approche par activité:( Activité Scanning) :

C'est une approche qui s'appuie sur un raisonnement naturel : un procédé est décrit comme

l'enchaînement d'activités et d'attentes. L’idée qui se cache derrière cette approche est de

pouvoir définir des événements dont on ne peut pas connaître à l’avance la date de

d´déclenchement. Les attentes débutent à la fin de chaque activité. Elles se terminent lorsque

les conditions nécessaires à l'activité suivante sont réunies

5.3. Approche par processus (Process Interaction):

Cette approche est une combinaison des deux premières dans le sens ou les deux méthodes

précédentes sont utilisées pour définir le comportement d’un composant. On parle de cette

approche lorsque la modélisation consiste à rassembler des processus. Les processus sont

formés de séquences d'événements et d'activités : durée d'une activité, utilisation d'une

machine, stockage de pièces, ...

12

Page 25: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Dans le cadre d’une simulation, ces processus sont soumis à une horloge globale commune

et le rythme de leur évolution est complètement contrôlé. Le graphique de la figure 10

donne un aperçu des principaux logiciels de simulation en faisant apparaître l'approche

utilisée et le niveau de convivialité.

Figure 10:Les approches de modélisation en fonction des progiciels (FONTANILI, 2004)

6. Simulation à événements discrets : 6.1. Evénements :

La simulation par événements discrets désigne la modélisation d'un système réel tel qu'il

évolue dans le temps, par une représentation dans laquelle les grandeurs caractérisant le

système (variables) ne changent qu'en un nombre fini ou dénombrable de points isolés dans le

temps. Ces points sont les instants où se passent les événements. On appelle événement tout

changement d'état du système réel se produisant à un instant donné, ainsi que les actions qui

accompagnent ou caractérisent ce changement. (Erard & Déguénon, 1996)

13

Page 26: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

La simulation à événements discrets consiste alors à prendre en compte dans la

modélisation des tâches actives, les seuls instants où un événement se produit et à concentrer

l'activité des tâches simulées sur ces instants-là.

On considère comme systèmes de simulation par événements discrets tous les systèmes basés

sur cette abstraction.

6.2. Le simulateur :

Le terme simulateur ou plate-forme de simulation désigne ce composant qui est alors un

système de calcul capable d'exécuter le modèle de manière à générer le comportement du

système. A partir de cette définition, on pourrait croire qu’il n’existe pas une différence

fondamentale entre le modèle et son simulateur dans le sens où il s’agit dans les deux cas de

générer le comportement du système et que, de plus, le modèle représente déjà une

spécification de niveau élevé. (Erard & Déguénon, 1996) La figure 11 schématise un

simulateur.

Figure 11: Simulateur (Fontanili)

La première tâche d'un simulateur est d'assurer que la chronologie des événements soit

respectée. On considère les deux types le plus connu de simulateurs, dits orientés

événements et orientés processus.

Dans le premier cas, l'événement est considère comme l'unité conceptuelle. A chacun

d'entre eux correspond une action qui est réalisée en principe par l'activation d'une procédure.

Dans un tel modèle, on a une vue centrée sur les objets manipulés par les acteurs du système.

Le noyau d'un tel système consiste à gérer l'échéancier où les événements sont consignés avec

l'heure de leur activation et la procédure qui doit être appelée à ce moment-là.

14

Page 27: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Dans le deuxième cas, l'unité conceptuelle est la tâche active. Elle est programmée

comme un processus, activée par chaque événement se rapportant à cette tâche.

Contrairement aux systèmes orientés événements, les systèmes orientés processus ont une vue

centrée sur les acteurs eux-mêmes.

Les instructions correspondant aux actions à effectuer sont alors exécutées, sans

modification de l'heure de la simulation. Puis, le processus est suspendu jusqu'à ce qu'un

nouvel événement pro-processus parallèles ou quasi parallèles.

7. Les systèmes de files d'attente :

Les files d'attente sont un phénomène récurrent dans les sociétés développées. Une file

d'attente se crée pour chaque cas où des clients désirent recevoir un service auprès

d'un producteur. En informatique, on parlera de client et de serveur, ailleurs on préférera les

termes d'unité et de station.

Un exemple classique de système à événements discrets est une file d’attente, c.-à-d. un

modèle qui représente l’accès séquentiel d’un ensemble d’utilisateurs (par exemple clients) à

un nombre limité de ressources (par exemple les guichets d’une banque).

Figure 12: une file d'attente (Bourouis, 2014)

7.1. Notions générales : Les files d'attente sont essentiellement caractérisées par 3 paramètres notés sous la forme

A/S/C (notation de Kendall) où:

A : processus d’arrivée.

S : processus de service.

C : Nombre de serveurs.

Quand il n'y a pas d'autres paramètres, les autres caractéristiques sont par défaut:

15

Page 28: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

K : Capacité maximale de la file d'attente infinie.

L : Nombre d'usagers infini (population).

DS : Discipline de service FIFO.

Les lois sont classées parmi:

M : Loi exponentielle (Markovienne).

D : Loi déterministe.

G : Loi générale quelconque.

Figure 13: Système de file d’attente simple. (Bourenane, 1989)

La loi exponentielle est applicable lorsque l'on a un grand nombre de clients indépendants,

et correspond à l'approximation d'une loi binomiale par une loi de poisson lorsque la

probabilité élémentaire d'un événement est faible:

Pr(𝑘) = 𝐶𝑛𝑘𝑝𝑘𝑞𝑛−𝑘

𝑛 → ∞,𝑛𝑝 = 𝜇

Pr(𝑘) =𝜇𝑘

𝑘!𝑒−𝜇

Si le taux d'arrivée moyen dans la file d'attente est λ (nb moyen de clients entrant par unité de

temps), la probabilité d'avoir k entrées pendant un intervalle de temps t est:

Pr(𝑘) =(λ𝑡)𝑘

𝑘!𝑒−(λ𝑡)

Où λ t est le nombre moyen d'arrivées pendant l'intervalle de temps t.

16

Page 29: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Quantité intéressantes : Le but de la simulation est d'évaluer les performances des

synthèses, c'est-à-dire, une analyse quantitative où on mesure certaines quantités intéressantes

qui sont:

𝑁 18T : le nombre moyen des clients présente dans le système (en attente te en service), N(t)

est le nombre des clients présente dans le système à l' instant t.

𝑄 18T : le nombre moyen de client en attente (nombre des clients dans la file d'attente), Q(t)

est le nombre moyen de client dans la file d'attente à l'instant t.

𝑇 18T: le temps moyen de séjour ou de réponse (attente et service).Ti est le temps de séjour

dans le système du client i.

𝑅 18T : le nombre moyen de clients en service. R(t) est le nombre de clients en service à

l'instant t.

Le plus simple des systèmes à files d'attente est le système M/M/1, système à un seul

serveur et où les temps entre arrivées et les temps de service sont répartis selon la loi

exponentielle.

𝑊 18T : le temps moyen d'attente. Wi est le temps d'attente du client i.

𝑆 18T : le temps moyen de service. Si est le temps de service du client i.

Donc les égalités suivantes sont toujours vérifiées : N(t)=Q(t)+R(t) et Ti=Wi+Si

λ Est le taux d’arrivée des clients dans le système et égal à l’inverse de la moyenne des temps

entre arrivées.

µ est le taux de service est égal à l’inverse de la moyenne des temps de service.

ρ Est le facteur ou taux d’utilisation des serveurs (facteur ou taux de charge).et m est le

nombre de serveurs.

17

Page 30: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 14: Quantités intéressantes (Bourouis, 2014)

Une file d’attente est dite stable si et seulement si le nombre moyen d’arrivées de clients

par unité de temps, est strictement inferieur au nombre moyen de clients pouvant être servis

par unité de temps. Si chaque serveur peut traiter clients par unité de temps si le nombre de

serveurs est m, une file est stable seulement si :

λ < 𝑚. 𝜇 ↔ 𝜌 = λ𝑚𝜇

< 1. Pour un système stable on a : T=𝑊+𝑆 ou 𝑆=1/µ est le temps

moyen de service et 𝑁=𝑄+𝑅. Et 𝑅=mρ

On note également la relation de Little, dit que le nombre moyen de clients dans le

système est égale au produit du taux d'arrivées par le temps moyen passé dans le système.

N = λ . T18T . Et de même pour Q = λ . W18T .

Dans tous les types de systèmes ces grandeurs sont liées par la formule Nq = N − mρ18T.

7.2. Les réseaux de files d’attente :

Les réseaux de files d’attente est simplement un système composé de plusieurs files

d’attentes reliées entre elles. Les clients se déplacent vers une autre station ou quittent le

système des règles de routage. Un réseau est stable implique que chacune de ses files l’est.

La figure 15 présente un réseau de files d’attente.

18

Page 31: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 15: réseaux de files d'attente. (Bourouis, 2014)

Un réseau est dit ouvert si tout client présent ou entrant dans le système peut le quitter. Le

réseau où le nombre de client est également fixe et toujours stable est dit fermé si les clients

ne peuvent le quitter. Aussi, un réseau est mixte s’il est ouvert pour certain clients et fermé

pour d’autres. (Bourouis, 2014)

Figure 16: réseau ouvert, fermé et mixte. (Bourouis, 2014)

8. Les étapes d’une étude de simulation :

Fishwick a défini les trois grandes étapes qu'un concepteur doit suivre pour réaliser une

simulation qui sont : l’élaboration du modèle, l'exécution du modèle et l'analyse de l'exécution

(BADEIG, 24/9/2010).

Shannon (1998) définit plusieurs tâches associées aux différentes phases de simulation

(Robert, 1998):

1) Définition du problème : il s’agit de définir clairement les objectifs de l’étude, en d’autres

termes, pourquoi ce problème est-il étudié et quelles sont les questions auxquelles une

réponse est attendue ?

2) Planification du projet : il s’agit ici d’être sûr de la disponibilité des ressources humaines

et matérielles que nécessite le projet de simulation.

19

Page 32: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

3) Définition du système : le but dans cette étape est de déterminer les limites et les

restrictions utilisées pour la définition du système et ses règles de fonctionnement.

4) Formulation du modèle conceptuel : durant cette phase, un premier modèle est élaboré

de manière graphique ou en utilisant un pseudo code. Il s’agit de définir les différentes

entités qui composent le système : sous-systèmes (composants), variables descriptives et

les interactions entre composants.

5) Conception expérimentale préliminaire : il s’agit de définir les mesures d’efficacité pour

évaluer la qualité de l’expérimentation. Autrement dit, quels sont les paramètres à faire

varier et avec quelle amplitude ?

6) Préparation des données en entrée : il s’agit de déterminer et de collecter les données qui

sont nécessaires pour le paramétrage du modèle.

7) Transcription du modèle : consiste à convertir le modèle élaboré dans un langage de

simulation de manière à permettre son implémentation sur machine.

8) Vérification et validation : il s’agit ici de vérifier (débuguer) le bon fonctionnement du

simulateur et que les résultats obtenus par celui-ci sont acceptables et représentatifs du

système réel.

9) Conception expérimentale finale : à ce stade de la conception, il convient de déterminer

les expérimentations (ou scénarios) qui sont en mesure de fournir les résultats désirés et de

déterminer comment mener ces expérimentations.

10) Expérimentation : la simulation proprement dite est exécutée de manière à récupérer les

résultats désirés et à effectuer une analyse de sensibilité du modèle aux paramètres initiaux.

11) Analyse et interprétation des résultats : une fois les simulations effectuées, il s’agit

d’inférer des conclusions sur le modèle à partir des résultats obtenus.

12) Utilisation et documentation : outre les conclusions tirées de l’expérimentation, le

modèle et son utilisation doivent être clairement documentés.

La Figure 17 résume tous les étapes précédentes.

20

Page 33: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Figure 17:Etapes de construction d’une simulation informatique (Shannon, 1976)

9. Avantages et inconvénients : Simulation a un certain nombre d'avantages par rapport aux modèles analytiques ou

mathématiques pour analyser les systèmes. Premièrement, le concept de base de la simulation

est facile à comprendre et fréquemment plus facile pour justifier à la gestion ou des clients

que certains des modèles analytiques.de plus, un modèle de simulation peut être plus crédible

parce que c’est comportement a été comparé à celui du système réel ou car il nécessite moins

d'hypothèses simplificatrices et donc captures plus des véritables caractéristiques du système

à l'étude. (Robert, 1998) Parmi les intérêts de la simulation informatique :

Outil adapté aux systèmes complexes

Niveau de détail pouvant être élevé

21

Page 34: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

Forme proche du système réel

Visualisation : communication et confiance

Possibilité de tester différentes organisations

Permet d’aider à prendre de meilleures décisions

Bien que la simulation ait de nombreux atouts et avantages, il n’est pas sans inconvénients.

Parmi celles-ci:

Les modèles de simulation est un art qui exige spécialisée entraînement et donc les

niveaux de compétence des praticiens varient largement. L'utilité de l'étude dépend de

la qualité du modèle et de la compétence du modeleur.

La collecte de données d'entrée très fiables peut être temps consommé et les données

résultant est parfois très discutable. Simulation ne peut pas compenser l'insuffisance

des données ou des mauvaises décisions de gestion.

Les modèles de simulation sont des modèles d'entrée-sortie, c’est à dire qu'ils

rendement probable la sortie d'un système pour une entrée donnée. Ils sont donc

«exécuter» plutôt que résolu. ils font pas donner une solution optimale, mais servent

plutôt comme un outil pour l'analyse du comportement d'un système sous conditions

spécifiées par l'expérimentateur.

10. Conclusion :

La simulation est une science très familière largement utilisée dans le monde. Elle

est appropriée à l’étude des systèmes complexes et de grande taille, composés de

plusieurs éléments en interaction. Elle permet de répondre à certains problèmes à

chaque fois qu’un modèle mathématique ne peut être trouvé ou que l’expérimentation

en grandeur nature se révèle impossible et/ou trop coûteuse.

Le principe de la simulation à événements discrets consiste à représenter l’évolution d’un

système au cours du temps à travers des variables d’états qui changent aux instants

d’occurrences des événements.

Ce chapitre énonce les principes généraux de la simulation. Ainsi que les termes qui

s'articulent autour de la définition de la simulation. Alors, On déduit que lorsque l’on souhaite

analyser le comportement d’un système dont l’expérimentation est coûteuse voire impossible,

22

Page 35: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre I Simulation à événement discret

les méthodes de simulation sur ordinateur constituent une démarche de plus en plus courante,

notamment grâce à la puissance sans cesse croissante des ordinateurs actuels.

23

Page 36: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

1. Introduction :

L'objectif clé de la simulation à événements discrets est d'estimer les paramètres de la

sortie de la phase d'équilibre. Le début d'un cycle de simulation, implique normalement une

période transitoire, autrement dit la «transitoire initiale», avant que le modèle n’atteigne (pour

certains) un état stable. Ce qui nécessite généralement au moins le temps qu'il faut au modèle

pour combler des entités, par exemple, les pièces d'un modèle d'usine de fabrication ou des

appels téléphoniques dans une simulation de centre d'appels. L’inclusion des données

transitoires initiales dans les résultats de la simulation entraîne un biais dans les estimations

des paramètres à l'état stationnaire. Par conséquent, il est important que ces données soient

traitées de manière appropriée.

Il existe globalement quatre familles de méthodes pour traiter la transitoire initiale :

1. En premier lieu, le modèle est exécuté pour une période d'échauffement (en anglais

warm-up period) jusqu'à ce qu'il atteigne un état stable et les données de la période

d'échauffement sont supprimées.

2. En second lieu, les conditions initiales du modèle sont réglées de telle sorte que le

modèle est en état d'équilibre à partir du début de l’exécution.

3. Troisièmement, le modèle est exécuté pour un temps très long, ce qui rend l'effet du

biais négligeable.

4. Finalement, les paramètres de l'état d'équilibre sont estimés à partir de l’exécution à

court terme de la phase transitoire.

Un compromis entre la première et la deuxième méthode est une approche mixte dans

laquelle les conditions initiales partielles sont fixées, mais le modèle nécessite toujours un

certain échauffement. L’inspection des études de cas de simulation suggère que la première de

ces approches, une période d'échauffement, est la plus couramment utilisée. Mais comment

estimer la durée de la période d'échauffement nécessaire ?

Les méthodes d'estimation de la période d'échauffement sont classées en cinq catégories :

les méthodes graphiques, des approches heuristiques, les méthodes statistiques, tests de bias

d'initialisation et méthodes hybrides.

Dans ce chapitre nous présentons une brève description et une critique de chaque méthode, ainsi qu'un résumé des techniques disponibles, en plus de leurs avantages et inconvénients.

24

Page 37: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

2. L'analyse d'une expérience de simulation :

Les simulations stochastiques génèrent de grandes quantités de données, qui doivent être

présentées dans une forme claire et utile. Puisque les expériences avec des modèles contenant

des composants stochastiques doivent être considérées comme des processus aléatoires,

l’évaluation statistique appropriée joue un rôle crucial dans cette tâche. Cette section propose

donc quelques possibilités pour l'évaluation et l'analyse des résultats de simulation. (Page,

Kuck, & Gobel, 2005)

2.1. La répétition d'une simulation :

Comme indiqué, nous devons considérer toutes les expériences de simulation en utilisant

des nombres comme une exploration des espaces d'états définis par un ou plusieurs processus

stochastiques. Dans ce cadre, nous appelons un processus stochastique {𝑋𝑡|𝑡 ∈ Τ} s’il

présente un comportement aléatoire au cours du temps. Dans ce cas, nous associons une

variable aléatoire 𝑋𝑡 à chaque instant t de temps de l’intervalle T. Depuis qu’ils sont tous

créés par le même modèle, les valeurs Xt de X seront probablement auto-corrélées (C'est à

dire qu'ils sont liés algorithmiquement) et ne seront ni indépendants, ni identiquement

distribuées. La plupart des méthodes statistiques standards supposent des données non

corrélées, et des évaluations des résultats de simulation doivent prendre en compte ce facteur.

L'analyse des données de simulation caractérise le comportement observé d’un modèle en

calculant un certain nombre de mesures. Ce calcul peut commencer dès que la simulation est

terminée. Si les générateurs aléatoires sont ensemencés par de nouvelles valeurs de départ et un

nombre de répétitions sont utilisées au lieu d'une seule exécution de la simulation, chaque

réplication fournit une estimation 𝑋 � Ri pour la «vraie» valeur du paramètre de résultat i. On

doit obtenir un assez grand nombre de ces estimations pour gagner la confiance de la

représentativité statistique des résultats.

2.2. L'état stationnaire du modèle :

Dans la plupart des cas, nous sommes intéressés à des processus stochastiques stationnaires

et des phases stationnaires d'une simulation. On se référera à un processus {𝑋𝑡|𝑡 ∈ Τ}

comme stationnaire si la probabilité d’observation 𝑋𝑡 ne dépend pas de la valeur de t.

25

Page 38: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Beaucoup de processus stochastiques convergent à un processus stationnaire au cours du

temps. Dans de tels cas d'observation d'un modèle sur un assez long intervalle de temps serait

probablement fournir une approximation relativement proche de son état d'équilibre.

L'intervalle de temps avant d'atteindre un état stationnaire est appelé une "période

d'échauffement", ou transitoire initiale, au cours de la durée dont les observations ne peuvent

pas contribuer à des mesures statistiques représentatives. La façon la plus simple pour assurer

que seules les données importantes sont analysées est de réinitialiser tous les compteurs

statistiques dès qu'un état d'équilibre a été atteint. La majorité des langages de

programmation qui peuvent être utilisé pour l'implémentation des bibliothèques de simulation

fournissent des moyens faciles pour ce faire.

Bien que la plupart des études de simulation visent des analyses de l'état d'équilibre d'un

système, certains effets transitoires peuvent encore être d'intérêt. Dans un modèle de file

d'attente on peut bien souhaiter savoir quelles sont les longueurs des files d'attente depuis le

démarrage jusqu'à ce que l'état d'équilibre soit atteint. Cela peut, par exemple, nous aider à

trouver une taille en toute sécurité pour le dimensionnement de l’espace d'attente. La figure

18, montre un processus de trajectoire stochastique à travers sa période transitoire vers un état

stationnaire.

Figure 18: Phase transitoire et phase d’équilibre d’un processus stochastique (Page,

Kuck, & Gobel, 2005)

26

Page 39: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

2.3. La transitoire initiale et la phase d'équilibre :

Comme ils peuvent dépendre fortement des choix arbitraires essentiellement pour

initialiser un modèle, aucune observation des caractéristiques du modèle pendant une période

transitoire ne doit être incluse dans les analyses statistiques finales. Cela signifie que nous

devons trouver une façon de détecter le moment où cette phase est terminée et la phase

stationnaire du modèle a commencé. Si l'on surestime la durée d’une période transitoire, on

obtient des observations jetables et les temps d'exécution s'allongent en raison d'une courte

phase stationnaire. En outre, on augmente les estimations de la variance, ce qui augmentera

également les temps d'exécution si l'on exige que les résultats doivent avoir un niveau de

confiance spécifié. C’est particulièrement indésirable si on a besoin d'un grand nombre de

répétitions. D’autre part, si on sous-estime la longueur de la transitoire initiale, on peut

générer des résultats biaisés. Pour cette raison, il faut choisir la longueur de la phase

d'échauffement d'un modèle avec soin, et on doit s’assurer de mettre son état initial proche de

l'état stable. Si ce choix est bien fait, le modèle pourrait probablement atteindre l'état

d'équilibre beaucoup plus rapidement. (Page, Kuck, & Gobel, 2005)

3. Les techniques de détection de la phase d'équilibre : Afin de déterminer le début de la phase d'équilibre, Il y’a cinq principaux types de

procédures d'estimation de la période d'échauffement qui indiquent le point où la série de

données de sortie devrait être tronquée.

Les méthodes graphiques : dépendent de l'inspection visuelle des données. En

supposant une représentation adéquate pour les séries chronologiques pertinentes, un

utilisateur du modèle peut être capable de détecter l'état stationnaire du système assez

rapidement.

Les méthodes heuristiques : sont basées sur des règles simples et sont souvent

personnalisées pour des classes de modèles spécifiques, tels que les modèles

d'inventaire ou les réseaux de files d'attente.

Les méthodes statistiques : utilisent des tests statistiques pour déterminer la fin d'une

phase transitoire.

Les méthodes hybrides : combinent des méthodes d'analyse graphiques, heuristiques et

statistiques.

27

Page 40: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Les méthodes « tests pour biais d’initialisation » (tests for initialization bias): Tests

pour savoir s’il y’a une partie d'initialisation dans les données. Ils ne sont donc pas

strictement des méthodes pour obtenir le point de troncature, mais ils peuvent être

adaptés à le faire de manière itérative ou peuvent être utilisées en combinaison avec les

méthodes de troncature ci-dessus pour savoir s’ils fonctionnent convenablement.

(Hoad, Robinson, & Davies, 2008)

3.1. Les méthodes graphiques :

Les méthodes les plus courantes pour identifier les transitoires initiales sont les procédures

graphiques. Elles reposent sur une inspection visuelle de la série chronologique pour

déterminer l'étendue de la transitoire initiale. Un avantage majeur est la simplicité de ces

méthodes et leur dépendance de quelques hypothèses. Ces méthodes sont généralement très

subjectives comme les points de troncature pourraient varier en fonction du jugement ou de

l'expérience de l'analyste.

3.1.1. Inspection de la série chronologique :

La période d'échauffement est estimée par l'inspection des séries chronologiques de sortie

clés statistiques, par exemple, le temps d'attente individuelle. La longueur de l'échauffement

est sélectionnée comme le point où la série chronologique semble varier autour d'une

moyenne constante. Le principal avantage de cette approche est sa simplicité, la rendant

accessible à tout utilisateur de simulation. Pas plus qu'il ne nécessite pas l'estimation de tous

les paramètres, et n’est pas dépendante aux hypothèses. Des preuves anecdotiques

suggéreraient que l'inspection des séries chronologiques est largement utilisée.

Cette méthode repose sur une évaluation subjective et est probablement affectée par

l'expérience de l'analyste. En effet, il est assez probable que les modèles subtiles dans les

données passent inaperçues si les données sont bruitées. La précision de la méthode doit donc

être mise en doute. (Stewart & Ioannou, The Problem of the Initial Transient: Techniques for

Estimating the Warm-up Period for Discrete-Event Simulation Models)

28

Page 41: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

3.1.2. La règle de la moyenne cumulative:

Cette règle a été décrite par Gordon et a été approfondie par Banks et al. Après une série de

répétitions, les observations faites sur les moyennes, puis les moyennes cumulatives de la

série chronologique résultante sont tracées. La période d'échauffement est sélectionnée au

point auquel la moyenne cumulative devient stable. L'approche présente l'avantage d'être très

simple et n’exige pas l'estimation des paramètres, à l'exception du nombre de répétitions à

effectuer. Elle réduit aussi les fluctuations dans les données. Il est évident que cela est plus

une méthode d'estimation de l'état d'équilibre que de la longueur de la période de

préchauffage. (Stewart & Ioannou, The Problem of the Initial Transient: Techniques for

Estimating the Warm-up Period for Discrete-Event Simulation Models)

3.1.3. La méthode de Contrôle Statistique des Procédés (SPC):

Robinson (Robinson, 2004) explique cette méthode en quatre étapes. Cette méthode

nécessite plusieurs répétitions. Laissez 𝑌𝑖𝑗 désigner l'observation de chaque réplication,

où 𝑖 le nombre d'observations et 𝑗 le nombre de réplications. Calculer les moyennes

d'ensemble, avec l'équation suivante ;

𝑌𝚤� = �𝑌𝑗𝑖𝑛

𝑛

𝑗=1

𝑝𝑜𝑢𝑟 𝑖 = 1,2, … ,𝑚

L’ensemble des moyennes {𝑌𝚤�: 𝑖 = 1,2, … ,𝑚} sont groupées dans 𝑏 lots de taille 𝑘. Les

moyennes de lots sont représentées comme 𝑌𝑥� , 𝑥 = 1,2, … , 𝑏. La taille du lot est choisie de

manière que les moyennes de lots résultants passent le test d'Anderson Darling, de normalité

et le test de Von Neumann pour la corrélation. (Mahajan & Ingalls, 2004)

3.1.4. Méthode de Welch :

C’est la technique la plus simple et le plus général utilisé pour déterminer la longueur

d'échauffement. C’est une technique graphique qui nécessite de multiples répétitions.

La méthode de Welch étend la méthode de Fishman. Elle est basée sur les expériences

suivantes. L'erreur aléatoire apparaît comme une oscillation à haute fréquence dans la

séquence de moyennes de colonne tandis que l'erreur systématique est dans la plupart des cas,

29

Page 42: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

une oscillation à basse fréquence. Une fenêtre coulissante comprenant une séquence de

moyennes de colonne peut être capable de réduire l'effet de l'erreur aléatoire. Donné la fenêtre

de taille particulier on peut définir une moyenne globale de ces moyennes de colonne. Étant

donné que la fenêtre se déplace cette moyenne est appelée la moyenne mobile et coulissement

des résultats des fenêtres dans une séquence de ces moyennes mobiles. Dans la pratique, cette

séquence semble souvent converger après un certain point l donnant le point de troncature

recherché. (Bause & Eickhoff, 2003) (Mahajan & Ingalls, 2004 )

Calculer�𝑋𝚥� � .𝑗=1𝑛 .

Déplacer une fenêtre de taille 𝜔 = 2 𝐾 + 1 𝑎𝑐𝑟𝑜𝑠𝑠 �𝑋𝚥� � .𝑗=1𝑛 . Calculer et tracer la

moyenne de l'intervalle dans chaque étape. Pour éviter les conflits, au début, on part

d'une fenêtre de taille 1(K=0), qui est augmentée jusqu'à ce que la taille souhaitée est

atteinte 𝜔. Après cela, la taille de la fenêtre est maintenue constante.

Tant que la parcelle n’est pas lisse, augmenter la taille de la fenêtre par une certaine

valeur 𝜐 > 0 et répétez l'étape 2 avec 𝜔 = 2(𝐾 + 𝜐) + 1.

Donc, Méthode de Welch nécessite trois paramètres qui doivent être spécifiées. La longueur

de séquence 𝑚, le nombre de répétitions 𝑛 et la taille de fenêtre 𝜔.

30

Page 43: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Figure 19 : Technique de Welch avec la moyenne mobile (Fenêtre = 500) (Gallagher,

B.S., & M.S, 1992)

3.2. Les méthodes tests de biais d’initialisation :

Le but des méthodes tests de biais d'initialisation est de déterminer si le biais est présent

dans les données en raison de la transitoire initiale. La majorité de ces méthodes s’appuient

sur les travaux de Schruben. La procédure générale consiste à diviser la série aux sorties en b

sorts (batches) égaux et par la suite découpe le groupe en deux ensembles: b et b- b’.

L’estimation de la moyenne et la variance sont utilisées pour calculer une statistique de test

qui est comparée à une distribution approprié F. Un test d'hypothèse est effectué avec

l'hypothèse nulle qu'aucun biais d'initialisation n’existe. Ces procédures peuvent également

être utilisées en union avec les méthodes décrites précédemment pour déterminer si le biais

d'initialisation a été supprimé avec succès.

3.3. Les méthodes heuristiques :

Ces procédés fournissent des règles ou des formules définitives pour déterminer la longueur

de la période d'échauffement. Considérant que les méthodes graphiques reposent sur

l'inspection visuelle et le jugement de l’être humain, les approches heuristiques décrites dans

31

Page 44: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

cette section présentent des règles spécifiques pour déterminer si le biais d'initialisation a été

supprimé. Certaines des méthodes graphiques peuvent être adaptées à des méthodes

heuristiques par l'ajout de règles d'arrêt.

3.3.1. Règle de Conway (Conway Rule):

Conway (Conway, 1963) proposé la règle suivante pour tronquer les données initiales afin

de réduire le biais. “Truncate a series of measurements until the first of the series is neither

the maximum nor the minimum of the remaining set.”

Cela se fait pour quelques exécutions pour décider sur une période de stabilisation. Une fois

ceci terminé, la période est supprimé à partir du résultat de chaque exécution. La méthode est

simple et ne dépend pas d'hypothèses ou l'estimation des paramètres, à l'exception du nombre

de répétitions. (Mahajan & Ingalls, 2004)

L’algorithme suivant est donnée par (Gafarian, Ancker, & Morisaku, 1978):

Décider 𝑛 et 𝑚 le nombre de répétitions et la longueur d’exécution (exploration).

Calculer 𝑌𝑗𝑟+ et 𝑌𝑗𝑟− en utilisant les formules suivantes:

𝑌𝑗𝑟+ = 𝑚𝑎𝑥�𝑌𝑗𝑙: 𝑙 = 𝑟, … ,𝑚� 𝑗 = 1, … ,𝑛

𝑌𝑗𝑟− = 𝑚𝑎𝑥�𝑌𝑗𝑙: 𝑙 = 𝑟, … ,𝑚� 𝑗 = 1, … ,𝑛

Pour 𝑟 = 1,2, … ,𝑚 déterminer 𝑡𝑗 de telle sorte que 𝑡𝑗 = 𝑚𝑖𝑛𝑟�𝑌𝑗𝑟− < 𝑌𝑗𝑟 < 𝑌𝑗𝑟+� se

produit pour la première fois.

Estimation du point de troncature 𝑡∗ est donnée par 𝑚𝑎𝑥 {𝑡1, 𝑡2, … , 𝑡𝑛}.

3.3.2. La modification de la règle de Conway :

Gafarian et al suggèrent une modification à la règle de Conway qui implique l’étude de

prédécesseur d'une valeur au lieu de son successeur. La période d'échauffement est

sélectionnée au dernier point qui ne soit ni le maximum ni le minimum de toutes les

observations précédentes. On obtient un résultat différent de celui fourni par un passe en avant

à travers les données. Cette approche présente les mêmes avantages que l’originale règle de

Conway. Elle a aussi l'avantage de ne pas gaspiller des données, car elle ne considère que les

données qui sont dans la période de préchauffage. Cela permet de réduire la longueur de

l'essai nécessaire pour identifier la transitoire initiale.

32

Page 45: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

3.3.3. Marginal Erreur Règle standard -5 (Marginal Standard Error Rules

(MSER)) :

Cette heuristique, proposée par White, sélectionne la période d'échauffement au point que

l’équilibre compromis entre une précision améliorée, grâce à l'élimination de biais initial, et la

précision baissée, grâce à la réduction de la taille de l'échantillon. Les premières observations

qui sont loin de la moyenne de l'échantillon seront retirées seulement si leur impact est

important sur le calcul des intervalles de confiance. Par conséquent, étant donné le temps-

série d'observations 𝑥1, 𝑥2, … , 𝑥𝑛 la période d'échauffement est sélectionnée au point 𝑑(𝑛 ≫

𝑑 ≥ 0) qui minimise la relation suivante:

𝑚𝑖𝑛 �1

(𝑛 − 𝑑)2 � (𝑥𝑖 − 𝑥𝑛−𝑑������)2𝑛

𝑖=𝑑+1

La méthode est relativement simple. Dans une comparaison des méthodes d'échauffement,

Mahajan et Ingalls (Mahajan & Ingalls, 2004) concluent que MSER-5 est très efficace et ils

suggèrent que, parmi les méthodes testées, on peut l'appliquer partout à une large gamme de

modèles.

3.4. Les méthodes statiques : Ces méthodes reposent sur les principes statistiques pour déterminer la période

d'échauffement. Les désavantages tendent à inclure la complexité de ces procédures,

contraignant hypothèses, et l'augmentation du temps de calcul.

3.4.1. Goodness-Of-Fit Test :

Cette méthode est décrite par Pawlikowski (PAWLIKOWSKI, 1990) et utilise un

test du chi-carré pour tester l'hypothèse qui suppose que le nombre des observations

supérieurs et inferieurs du 𝑋 (𝑛0) sont sensiblement les mêmes dans un batch de

𝑚0 observations 𝑥𝑛0+1, 𝑥𝑛0+2, … , 𝑥𝑛0+𝑚0 qui suivre une observation 𝑛0. Quand un

tel point est trouvé, alors cela définit la période d'échauffement. Le nombre des

observations dans le batch devrait être plus que 30. Cette méthode est relativement

complexe par rapport à la plupart des autres méthodes heuristiques. Suite à cela, pas

33

Page 46: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

de tests de son efficacité n’ont pu être trouvée et il est donc impossible de

commenter sur son exactitude.

3.4.2. Méthode de régression de Kelton et Law:

Kelton et Law appliquent l’analyse de régression pour le problème de la transitoire

initiale. Leur principe est que dans un série chronologique de moyennes de traitement par lots,

la transitoire initiale est terminée après le lot 𝑏0 si la séquence du moyenne lot, que le suivi

peut être approchée à une ligne droite avec une pente nulle. Puisque la corrélation entre les

lots pourrait être importante, Kelton et Law utilisent la procédure de régression généralisée

des moindres carrés, qui permet l'auto corrélation dans le modèle de régression. Pour adapter à

la ligne de régression, ils commencent à partir de la fin de la série, puis déplacent en arrière le

segment jusqu'à ce que la pente de la ligne soit significativement différente de zéro. Si la ligne

qui est initialement montée n'a pas de pente nulle, la longueur de la réplication est augmentée.

La méthode a été testée avec plusieurs modèles de files d'attente (𝑀/𝑀/𝑘,𝑀/𝐻2/1,𝐸4/𝑀/

1), pour différentes valeurs de ρ (intensité du trafic), et ayant des problèmes multiples de

sélection. Il existe certains problèmes avec cette méthode. D'abord, elle repose sur l'hypothèse

que les données convergent vers l'état stationnaire monotone. Cela réduit leur applicabilité.

Un autre problème est que la méthode nécessite l'estimation de neuf paramètres. Enfin,

l'utilisation de la procédure de régression généralisée des moindres carrés rend la méthode

assez complexe.

3.4.3. Algorithm for a Static Dataset (ASD):

Calculer 𝐹𝚥� (𝑥|𝑆(0)) pour 1 ≤ 𝑗 ≤ 𝑛 en triant les �𝑥𝑖,𝑗�𝑖=1𝑘 ,

Calculer les différences maximales �𝑑𝑗�𝑗=1𝑛−1

de 𝐹𝚥� �𝑥�𝑆(0)� et 𝐹𝑛� �𝑥�𝑆(0)�,

Pour tout 𝑗 𝑡𝑒𝑙 𝑞𝑢𝑒 1 ≤ 𝑗 ≤ 𝑛 − 1 , et dans l’intervalle [𝑗, 𝑛 − 1]. Compter le

nombre de déférences laquelle le seuil manque,

Choisir 𝑙 la minimum valeur de 𝑗 après (𝑎 ∗ 100) ∗ % de 𝑑𝑗 ,𝑑𝑗−1, … ,𝑑𝑛−1 dépasse

le seuil.

Chaque fois que l'état d'équilibre ne peut être déduit d'une moyenne stable ou le

comportement transitoire n’est pas plus ou moins connu, ASD et ADD sont le choix plus

adéquat. Leurs fonctionnement supplémentaire est acceptable, car ils sont capables de trouver

34

Page 47: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

un bon point de troncature pour une plus grande quantité de modèles. Même si les

implémentations d’ASD et ADD sont faciles, mais ils sont plus compliqués que les méthodes

de Fishman et Welch. (Falko & Mirko, 2003)

3.4.4. Method de Kalman Filter:

Le filtre de Kalman est un algorithme pour calculer les estimations optimales de l'état d'un

processus stochastique à partir d'observations imparfaites de la sortie du système. Une autre

définition est que le « Kalman filter is simply an optimal recursive data processing

algorithm ». Dans cette définition, l'optimalité peut être établie par divers critères, comme la

réduction des coûts des toutes fonctions symétriques. Le terme récursif concerne la nature en

deux étapes du programme pour propager une estimation et ensuite pour mettre à jour

l'estimation d'une mesure imprécise de façon répétée. Tandis que le filtre de Kalman est utilisé

principalement pour les applications d'ingénierie, les statisticiens ont mis en place

l'algorithme comme estimateur bayésien optimal. En appliquant la filtre de Kalman à la sortie

d’une simulation, des informations supplémentaires sur les résultats du processus stochastique

sous la forme d'une représentation d'état, les estimations d'état, les covariances de l'estimation

d'état, les résidus et covariances résiduelles calculées.

Kalman et Bucy ont développé le filtre de Kalman. La contribution de Kalman était de

combiner le travail du mathématicien allemand Gauss avec la représentation vectorielle de

l'espace de l'état de la théorie de système linéaire. Le vecteur d'état est un ensemble de

variables (telles que le vecteur présente d'état avec des entrées futures qui décrit le

comportement complètement du système). Le filtre de Kalman est un algorithme optimal

récursif. Après l'initialisation, le filtre de Kalman discret se poursuit par une procédure en

deux étapes. La première étape se propage la meilleure estimation de l'état à travers le temps.

La seconde étape utilise les informations contenues dans une mesure de corrompu pour

mettre à jour la prédiction. L'algorithme se répète encore en propageant cette estimation au

prochain intervalle de temps. (Gallagher, B.S., & M.S, 1992)

35

Page 48: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Figure 20:La propagation dans le temps (Gallagher, B.S., & M.S, 1992)

3.4.5. Wavelet-based spectral method (WASSP):

La première partie de l'algorithme de WASSP cherche à déterminer des valeurs

suffisamment grandes pour la taille de chaque lot et pour la taille de l'entretoise qui précède

chaque lot afin d’assurer que les moyennes des lots correspondantes sont espacées

approximativement indépendants et identiquement distribués. WASSP commence par diviser

la sortie de processus initial généré par une simulation de longueur 𝑛 = 4096 observations

dans un ensemble des lots 𝑘 = 256 chacun de taille 𝑚 = 16 de sorte que la taille

initiale de l'entretoise est égale à zéro. Dans chaque itération de la première partie de WASSP,

le test aléatoire de Von Neumann (Neumann, 1941) est utilisée pour tester l'hypothèse que dit

les moyennes des lots espacés constituent un échantillon aléatoire. Chaque fois que l’aléatoire

test échoue, un lot est ajouté à chaque entretoise. Puis le test aléatoire est effectué sur le

nouvel ensemble de moyennes de lots. Une fois le test est passé, l'entretoise qui précède le

premier lot est supposée contenir la période d'échauffement. Et ensuite la seconde partie de

l'algorithme de WASSP cherche à déterminer une taille de lot qui est suffisamment large pour

assurer les moyennes de lots sont approximativement normale. A cet effet WASSP utilise la

normalité unidimensionnel test de Shapiro et Wilk (Shapiro & Wilk, 1965) pour tester

36

Page 49: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

l'hypothèse composée que les moyennes de lots ont une distribution normale commun que

leur moyenne et variance ne sont pas spécifiées. La troisième partie de WASSP donne aussi

un CI (intervalle de confiance) estimateur 𝜇𝑋 qui satisfait l'exigence de précision spécifié par

l'utilisateur.

3.4.6. Les tests de randomisation pour le biais d'initialisation :

Yücesan (Yucesan, 1993) présente un procédé pour détecter le biais d'initialisation. Il est

basé sur des tests de randomisation. Yücesan formuler le problème du biais d'initialisation

dans un cadre de tests d'hypothèses concernant la moyenne du processus. L'avantage de cette

méthode est que, aucune hypothèse, comme celle de la normalité sont nécessaires.

L'hypothèse nulle de cette méthode est qu'il n'y a pas de biais d’'initialisation. (Mahajan &

Ingalls, 2004) Les étapes nécessaires pour effectuer ce test sont résumées ci-dessous :

a) Lancer la simulation pour un temps égal à m heures. Soit 𝑌𝑖 R la 𝑖é𝑚𝑒 observation de la

sortie de simulation qui est exécuté pour m heures.

b) Obtenir une sortie de série de temps 𝑌1,𝑌2, … ,𝑌𝑚 .

c) Lot les données en 𝑏 lots de longueur 𝑘.

d) Obtenir 𝑏 batch moyens 𝑌1� ,𝑌2� ,𝑌3� , … ,𝑌𝑏� .

e) Partitionner les moyens de lots en deux groupes. Pour la première itération, le premier

groupe doit contient la moyenne de premier lot, ainsi que le second groupe doit

contient les 𝑏 − 1 moyennes restantes.

f) Pour chaque itération, les grandes moyennes des deux groupes sont comparées. Si la

différence entre les deux grandes moyennes est significativement (Pour accéder

l'importance d'une distribution de différences est nécessaire. Comme il est connu, la

randomisation est utilisé) différente de zéro, l'hypothèse nulle est rejetée. En utilisant

la randomisation.

g) Si l'hypothèse est rejetée, les groupes sont réorganisés; deuxième moyenne de lot est

ajouté au premier groupe et le deuxième groupe contient (𝑏 − 2) moyennes de lots et

l'étape 6(f) est répétée

h) Si l'hypothèse est acceptée, les données du groupe 2 est la sortie de simulation d'état

stationnaire.

37

Page 50: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

3.5. Les méthodes hybrides :

Les méthodes hybrides sont une combinaison de deux méthodes en général, tests de bias

d’initialisation et soit une méthode graphique ou heuristique. Ces méthodes sont généralement

complexes et peuvent nécessiter de grandes quantités des données.

3.5.1. La méthode séquentielle de Pawlikowski :

Cette méthode, basée sur le test optimal, est décrite par Pawlikowski. La première

estimation est faite en utilisant l'une des méthodes graphiques ou heuristiques. La méthode est

efficace car elle utilise une série de données dans une procédure séquentielle. Elle est basée

sur un test statistique qui s’est montré puissant et comme il s’agit d’un ensemble de règles

claires, elle peut être mise en œuvre dans un modèle automatisé. Elle nécessite, toutefois,

l'estimation d'un certain nombre de paramètres y a compris la variance, une première

transitoire initiale et le nombre d'observations pour être utilisé dans le test.

3.5.2. La méthode SIT (Scale invariant Truncation point):

Cette méthode est basée sur le test optimal, elle est introduite par Jackway et deSilva. On

peut le définit comme suit :

Laisser 𝑋1,𝑋2, … ,𝑋𝑛 un ensemble d'observations.

Diviser cet ensemble en 𝑏(𝑏 > 3) lots de 𝑚 points.

Commencez avec une petite valeur pour 𝑚 = 𝑚𝑖𝑛𝑖𝑡 et augmenter 𝑚 par un facteur

multiplicatif ∆𝑚 jusqu'à ce qu'un test de biais montre {vrai, faux, faux} lorsqu'il est

appliqué aux trois premiers lots.

Plus stratégies de recherche complexes et intelligents peuvent donner de meilleurs

résultats.

4. Discussion :

Dans ce que se suive on a en train de donner une comparaison des méthodes d'estimation

de la période d'échauffement, basées sur ce qui était rapporté dans la littérature. En utilisant

plusieurs critères pour discuter les points forts et les faiblesses de ces méthodes et parmi

lesquels on peut citer les six principaux :

38

Page 51: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Précision et la robustesse de la méthode : c’est à dire à quel point la méthode

permettant une estimation précise de la vraie moyenne (l'estimation de la période

d'échauffement).

Simplicité de la méthode : est-ce que l'approche est accessible uniquement aux

spécialistes? C'est de prendre en considération les exigences pour les calculs complexes

et la transparence de l'approche.

«Facilité» de la potentielle automatisation ou bien la facilité de mise en œuvre : Est-

ce que l'approche peut être facilement mise en œuvre? Est ce qu'il est possible

d'automatiser la procédure?

Généralité : un bon travail de la méthode avec une large gamme de bias initial et des

types de données.

L'estimation des paramètres : Un grand nombre de paramètres à estimer pourrait

entraver l'applicabilité d'une méthode pour l’automatisation (c’est à dire : Est-ce que

les nombreux paramètres doivent être estimés? Si c'est le cas, l'efficacité de l'approche

peut être compromise).

Temps de prise informatique - Idéalement, nous voulons analyser le temps de

fonctionnement de méthode est négligeable par rapport à la durée de la simulation.

(Hoad, Robinson, & Davies, 2008)

On a ensuite utilisé un système de rejet selon les critères ci-dessus pour sélectionner le

meilleur jeu procéder à des tests. Il faut d'abord rejeter les méthodes qui n’ont pas la «facilité

d'automatisation » critères que cela a été considéré comme le plus important pour nos buts.

Parmi les méthodes laissées nous avons rejeté ceux qui avaient une mauvaise précision et la

robustesse rapporté. Ensuite on a rejeté autres méthodes pour des raisons de non-généralité ou

bien parce que leurs temps d’exécution est excessive.

On a également rejeté les méthodes ayant des versions améliorées (par exemple MCR par

MSER-5).

Le but est de trouver une ou plusieurs méthodes qui fonctionnent bien selon tous les critères.

Toutes les méthodes ont des défauts (imperfections) et souffrent d'un manque de

cohérence. Les principaux problèmes sont la surestimation et la sous-estimation du point de

troncature, en s’appuyant sur des hypothèses restrictives et en exigeant l’estimation d'un

grand nombre de paramètres.

39

Page 52: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

Les méthodes graphiques sont principalement rejetées pour des raisons de difficulté

d'automatisation (car ils nécessitent une intervention de l’utilisateur) et le manque de

précision. Par exemple, la méthode de Welch nécessite un utilisateur pour juger la finesse et

de la planéité d'une parcelle moyenne mobile; ce serait difficile à automatiser. De plus, de

nombreuses méthodes graphiques utilisent des statistiques cumulatives qui réagissent

lentement aux changements de l'état du système. Des moyennes cumulées ont tendance à

converger plus lentement vers un état stationnaire puis calculer les moyennes d'ensemble qui

peut conduire à une surestimation du point de troncature.

La majorité des méthodes heuristiques ont été rejetées en raison du manque de précision,

de la généralité et de la difficulté d'automatisation. Par exemple, crossing-of-the-mean rule a

été fortement critiquée dans la littérature pour être extrêmement sensibles à la sélection de son

paramètre principal, qu’il est dépendant du système, et qu’il cause des erreurs de spécification

significative sur ou sous-estimation de la durée d'échauffement.

Pour les tests de biais d'initialisation, le test max de Schruben a été rejeté pour des raisons

de robustesse. Les autres tests de biais d'initialisation et méthodes hybrides ont été suspendues

en raison de contraintes de temps ; être redémarrés s’il a été décidé qu'il serait bénéfique

d'intégrer un ou plusieurs tests de biais initialisation dans un cadre hybride avec une méthode

de troncature choisi.

La majorité des méthodes statistiques ont été rejetées pour des raisons de la difficulté

d'automatisation, de la généralité ou de l'exactitude. Par exemple, la méthode de régression

Kelton et Law est critiqué dans la littérature pour être complexe à coder. Ceci est

partiellement dû au grand nombre de paramètres nécessaires à l’estimation. Les méthodes

statistiques acceptées pour plus d'essais étaient goodness of fit test, algorithme pour un

ensemble de données statiques (ASD) et l'algorithme pour un ensemble de données

dynamiques (ADD).

Dans ce projet, nous avons choisi la méthode tests de randomisation pour le biais

d'initialisation pour sa simplicité et facilité d’implémentation.

40

Page 53: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre II Les techniques de détection de la phase stable

5. Conclusion :

Le problème de la transitoire initiale a été discuté dans la littérature de la modélisation et la

simulation au cours des 40 dernières années. Diverses approches ont été proposées pour le

résoudre. La suppression des données transitoires initiales en spécifiant une période

d'échauffement semble être l'approche la plus commune et la plus favorisée. Mais comment

pouvoir estimer la longueur de la période d'échauffement ? Un examen des méthodes de

détermination de la période d'échauffement a été réalisé où les méthodes sont classés en cinq

catégories : les méthodes graphiques, des approches heuristiques, les méthodes statistiques,

tests de bias d'initialisation et méthodes hybrides. La critique des méthodes a été basée sur la

simplicité, la facilité de mise en œuvre, l'exactitude, la dépendance des hypothèses et le

nombre de paramètres nécessaires.

En conclusion, aucune méthode ne peut être recommandée et d'autres recherches sont

nécessaires en particulier pour les tests afin de mieux les comparer sur des données

empiriques.

41

Page 54: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

1. Introduction : Les statistiques, dans le sens populaire du terme, traitent des populations. Leur objectif

consiste à caractériser une population à partir d'une image plus ou moins floue constituée à

l'aide d'un échantillon issu de cette population. On peut alors chercher à extrapoler une

information obtenue à partir de l'échantillon, mais on peut aussi chercher à synthétiser une

information trop dense ou encore à vérifier une hypothèse.

On trouve des applications de la statistique dans tous les domaines : industrie,

environnement, médecine, finance, marketing, sport, ...etc. Dans le cadre de ce chapitre, nous

allons nous intéresser principalement aux tests statistiques.

2. Généralités sur les tests statistiques :

Un test, qu'il soit statistique ou pas, consiste à vérifier une information hypothétique. On

parle d'ailleurs de tests d'hypothèses. Les tests statistiques sont utilisés pour répondre à des

questions concernant les paramètres d’un modèle statistique. D’un côté, il y a les tests de

signification basés sur un score de test intuitif et le calcul de la p-valeur ; de l’autre, il s’agit

de tests d’hypothèse caractérisés par les taux d’erreurs. (Morgenthaler, 2007)

Un test d'hypothèse est une démarche consistant à rejeter ou accepter une hypothèse

statistique, appelée hypothèse nulle, en fonction d'un jeu de données (échantillon). Il est

généralement impossible de recenser toute la population.

Lorsque l'on fait un test d'hypothèse, deux sortes d'erreur sont possibles. On peut rejeter

l'hypothèse nulle alors qu'elle est vraie. Ceci se produit si la valeur de la statistique de test

tombe dans la région de rejet alors que l'hypothèse 𝐻0 est vraie. La probabilité de cet

évènement est le niveau de signification. On dira aussi que le niveau de signification est la

probabilité de rejeter l'hypothèse nulle à tort. Rejeter l'hypothèse nulle à tort constitue une

erreur de première espèce. Si nous ne rejetons pas l'hypothèse nulle alors qu'elle est fausse

nous commettons une erreur de seconde espèce. C'est le cas si la valeur de la statistique de

test tombe dans la région de non rejet alors que H0 est fausse. (Philippe Girard, 2007)

Les étapes d’un test statistique, du choix jusqu’à réalisation, sont représentées dans la

figure 21. Comme on peut remarquer, la situation optimale est de choisir un test avant même

de commencer les expériences.

42

Page 55: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

Figure 21 : Les étapes d'un test statistique (Millot, 2009)

2.1. Rôle et forme de l’hypothèse nulle :

De façon générale, les hypothèses 𝐻0 et 𝐻1 ne jouent pas des rôles symétriques et la

façon de rédigée 𝐻0 doit respecter la démarche scientifique : 𝐻0 est l’hypothèse

communément admise sauf si une expérience répétable vient la réfuter ; elle est conservée si

les résultats de l’expérience ne sont pas clairs. Par analogie avec la justice, 𝐻0 est la

présomption d’innocence et des éléments matériels sont requis pour prouver la culpabilité. Le

couple (𝐻0;𝐻1) (hypothèse nulle, hypothèse alternative) peut prendre plusieurs formes où

généralement 𝐻1 est la négation logique directe de 𝐻0 (Monbet, 2009) (Bouyer, 2000).

Choix de test statistique

Conditions d’application du test compatibles avec le

protocole d’étude

Réalisation de l’étude

Table de données Analyse des

données

Question scientifique

Données compatibles avec les conditions

d’application du test ?

Réalisation du test

Poser les deux hypothèses de test H0 et H1

Calculer la variable de test Xcalc

Déterminer la p-valeur

Rejeter H0 ou non à l’aide de la p-valeur

43

Page 56: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

Deux cas sont classiques :

𝐻0 simple et 𝐻1 = 𝐻0𝑐, le test est dit bilatéral 𝐻0 = {𝜃 = 𝜃0} et 𝐻1 = {𝜃 ≠ 𝜃0} ;

𝐻0 composé et 𝐻1 = 𝐻0𝑐, le test est dit unilatéral 𝐻0 = {𝜃 ≤ 𝜃0} et 𝐻1 = {𝜃 > 𝜃0} ;

2.2. Niveau et puissance :

Dans un test d’hypothèse statistique, il y a deux manières de se tromper :

• la possibilité de rejeter une hypothèse alors qu’elle est vraie. Le risque de première

espèce borne la probabilité de se tromper dans ce sens, c’est-à-dire la probabilité

d’avoir un faux-positif.

• La possibilité d’accepter une hypothèse alors qu’elle est fausse. La probabilité de se

tromper dans ce sens, c’est-à-dire la probabilité d’avoir un faux-négatif, est le risque

de deuxième espèce, et est notée β.

On appelle puissance de test, notée 𝜋(𝜃) la probabilité de rejeter 𝐻0 alors qu’elle est

fausse. La puissance de test mesure donc son aptitude à bien rejeter une hypothèse fausse :

𝜋(𝜃) = 1 − 𝛽(𝜃) .

L’enjeu en théorie des tests et plus généralement en statistique inférentielle est de

construire des tests uniformément les plus puissants c’est-à-dire au moins aussi puissant que

tout autre test de même niveau 𝛼 quelle que soit l’hypothèse alternative.

2.3. Démarche d’un test :

Après avoir clairement défini la question posée et le modèle statistique sous-jacent, une

démarche de test suit généralement les étapes suivantes.

• Choix de 𝐻0 et de 𝐻1. Fixer α.

• Détermination de la statistique de test.

• Allure de la région de rejet en fonction de 𝐻1 .

• Calcul de la région de rejet en fonction de α et 𝐻0 .

• Calcul de la valeur observée de la statistique de test.

• Conclusion : rejet ou acceptation de 𝐻0 au risque α.

• Si possible, calcul de la puissance du test : 1-β.

44

Page 57: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

2.4. Probabilité critique ou P-valeur : L’usage ancien des tables statistiques donnant les quantiles des différentes lois usuelles n’a

plus lieu d’être avec la pratique d’un logiciel statistique. En effet, ceux-ci fournissent

directement la probabilité critique ou P -valeur (en anglais P -value) associée à un test donné.

Plutôt que de chercher dans une table les quantiles des lois associées, il suffit donc de

comparer la probabilité critique fournit avec le seuil ou niveau de test prédéterminé.

2.5. Choix du test :

Le plus souvent nous disposons de différents tests pour une recherche (validation

d'hypothèse) donnée. Il est alors nécessaire d'employer une méthode rationnelle pour choisir

le test le plus approprié. Nous avons vu que l'un des critères de choix est la puissance du test

utilisé. Mais d'autres critères sont importants pour déterminer l'adéquation d'un test lors de

l'analyse de données particulières. Ces critères concernent :

La façon dont l'échantillon a été réalisée,

La nature de la population de laquelle a été tiré l'échantillon et

La nature des mesures réalisées.

Il est très important de considérer la nature des données (observations) que l'on va tester.

D'elle dépend la nature des opérations possibles et donc des statistiques utilisables dans

chaque situation. Les observations peuvent être soit quantitatives soit qualitatives.

Lorsque nous définissons la nature de la population et le mode d'échantillonnage, nous

établissons un modèle statistique, c'est à dire une formulation mathématique des hypothèses

faites sur les observations.

On choisira les tests appropriés en fonction du type de mesure, de la forme de la

distribution de fréquences et du nombre d'échantillons dont on dispose. (Ramousse, Berre, &

Guelte, 1996)

3. Tests paramétriques :

Un test paramétrique requiert un modèle à fortes contraintes (normalité des distributions,

égalité des variances) pour lequel les mesures doivent avoir été réalisées dans une échelle au

moins d'intervalle. Ces hypothèses sont d'autant plus difficiles à vérifier que les effectifs

45

Page 58: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

étudiés sont plus réduits. Il nécessite généralement des conditions de validité (en particulier,

une distribution gaussienne de la variable). (Rakotomalala, 2013)

4. Tests non-paramétriques :

Un test non paramétrique est un test dont le modèle ne précise pas les conditions que

doivent remplir les paramètres de la population dont a été extrait l'échantillon. Cependant

certaines conditions d'application doivent être vérifiées. Les échantillons considérées doivent

être aléatoires (lorsque tous les individus ont la même probabilité de faire partie de

l'échantillon) et simples (tous les individus qui doivent former l'échantillon sont prélevés

indépendamment les uns des autres), et éventuellement indépendants les uns des autres.

(Ramousse, Berre, & Guelte, 1996). Ce type de test n’exige pas d’hypothèse sur la

distribution.

En fait, il existe au moins un équivalent non-paramétrique à chaque test paramétrique.

(Dodge, 2007)D'une manière générale, ces tests sont regroupés dans les trois catégories

suivantes :

a. Tests d'homogénéité entre groupes (échantillons indépendants) :

Lorsque l’on veut comparer les positions (médiane ou moyenne) de deux échantillons qui sont

indépendant, on ne peut plus se ramener au problème de test de la position d’un échantillon

isolé. (Peter Sprent, 1992)

Supposons que l’on compare deux échantillons dans le but de s’ils ont des moyennes

différentes, s’ils proviennent de population différentes. L’hypothèse

𝐻0: 𝜇1 = 𝜇2

𝐻1: 𝜇1 ≠ 𝜇2 .

Tester µ1 = µ2 revient donc à tester µ1 − µ2 = 0 d’une variable aléatoire X� − Y� gaussienne

comme dans un test à un échantillon.

Si nous avons plus de deux groupes, nous pouvons utiliser une analyse de variance (le test

des rangs de Kruskal-Wallis ou le test de la médiane). (Rakotomalala, 2013)

46

Page 59: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

b. Tests d'homogénéité entre variables (échantillons appariés) :

Pour comparer deux variables mesurées sur un même échantillon, nous utilisons

habituellement un test t pour des échantillons appariés . Les équivalents non-paramétriques à

ce test sont le test des signes et le test de Wilcoxon pour des échantillons appariés. Si les

variables étudiées sont de nature dichotomiques (c'est-à-dire "succès" ou "échec"), vous

pourrez utiliser le test du Chi² de McNemar. Si vous disposez de plus de deux variables pour

mesurer le même échantillon, vous pouvez utiliser une ANOVA à mesures répétées. Son

équivalent non-paramétrique est l'analyse de variance à 2 facteurs de Friedman ou le test Q de

Cochran (si la variable est catégorielle, par exemple, "succès" ou "échec"). Le Q de Cochran

est particulièrement utile pour mesurer les modifications d'effectifs (proportions) au cours du

temps.

c. Tests de relations entre variables :

Pour exprimer une relation entre deux variables, nous pouvons calculer un coefficient de

corrélation. Les équivalents non-paramétriques au coefficient de corrélation standard sont le R

de Spearman, Tau de Kendall et le coefficient Gamma. Si les deux variables étudiées sont de

nature qualitative (par exemple, "succès" ou "échec" en fonction du sexe "homme" ou

"femme"), vous pourrez utiliser comme statistiques non-paramétriques pour tester la relation

entre les deux variables, le test du Chi², le coefficient Phi et le test exact de Fisher. En outre,

vous pouvez utiliser le coefficient de concordance de Kendall pour tester la relation

simultanée entre plusieurs observations. Ce test est souvent utilisé pour exprimer "l'inter-taux"

d'accord de juges indépendants devant noter (affecter des rangs) les mêmes stimuli.

d. Les avantages des tests non paramétriques : Leur emploi se justifie lorsque les conditions d'applications des autres méthodes ne

sont pas satisfaites, même après d'éventuelles transformations de variables.

Les probabilités des résultats de la plupart des tests non paramétriques sont des

probabilités exactes quelle que soit la forme de la distribution de la population dont est

tiré l'échantillon.

Pour des échantillons de taille très faible jusqu'à N = 6, la seule possibilité est

l'utilisation d'un test non paramétrique, sauf si la nature exacte de la distribution de la

47

Page 60: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

population est précisément connue. Ceci permet une diminution du coût ou du temps

nécessaire à la collecte des informations.

Il existe des tests non paramétriques permettant de traiter des échantillons composés à

partir d'observations provenant de populations différentes. De telles données ne

peuvent être traitées par les tests paramétriques sans faire des hypothèses irréalistes.

Seuls des tests non paramétriques existent qui permettent le traitement de données

qualitatives : soit exprimées en rangs ou en plus ou moins (échelle ordinale), soit

nominales.

Les tests non paramétriques sont plus faciles à apprendre et à appliquer que les tests

paramétriques. Leur relative simplicité résulte souvent du remplacement des valeurs

observées soit par des variables alternatives, indiquant l'appartenance à l'une ou à

l'autre classe d'observation, soit par les rangs, c'est-à-dire les numéros d'ordre des

valeurs observées rangées par ordre croissant. C'est ainsi que la médiane est

généralement préférée à la moyenne, comme paramètre de position.

e. Les désavantages des tests non paramétriques : Les tests paramétriques, quand leurs conditions sont remplies, sont les plus puissants

que les tests non paramétriques.

Un second inconvénient réside dans la difficulté à trouver la description des tests et

de leurs tables de valeurs significatives, surtout en langue française. Heureusement,

les niveaux de significativité sont donnés directement par les logiciels statistiques

courants.

5. Problème de bais d’initialisation :

Le problème de tester le changement dans la moyenne d'un processus stochastique et de

commander tel changement est crucial dans les simulations à l'état stable. La simulation de

processus stochastique, toutefois nécessite que les conditions initiales pour chaque exécution

soient complètement spécifiées. Il est généralement difficile ou impossible d'assurer que les

conditions de départ reflètent le comportement typique du système. Au contraire, ces

conditions peuvent être décrites de manière assez arbitraire, souvent comme raisons de

commodité. Une telle pratique pourrait induire une séquence d'événements inhabituels,

contaminant gravement la série de sortie avec biais d'initialisation. Le biais d'initialisation

48

Page 61: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

peut être une source majeure d'erreurs dans l'estimation des valeurs de l’état stationnaire dans

la mesure de performance souhaitée. (Yucesan, 1993)

Supposons que l'objectif d'une exécution de la simulation est d'estimer la moyenne ŋ, Du

processus simulé. L’exécution du programme génère une séquence de données en sortie∶

𝑋1,𝑋2, … ,𝑋𝑛. Où n est la longueur de l'exécution. Par exemple, dans une simulation de files

d'attente, 𝑋𝑖 pourrait représenter le temps d’attente dans la file d'attente pour le 𝑖è𝑚𝑒 client. La

valeur attendue de X, est donnée par :

𝔼[𝑋𝑖] = 𝔶𝑖 = 𝔶(1 − 𝑎𝑖) , pour 𝑖 = 1,2, … ,𝑛.

La fonction 𝔶𝑖, est appelée la fonction moyenne transitoire. Le 𝑎𝑖 peut être choisi pour

refléter le comportement plus ou moins arbitraire dans la moyenne du processus simulé.

Lorsque le processus simulé est asymptotiquement stationnaire, alors lim𝑖→𝑥 𝑎𝑖 = 0 et 𝑎𝑖

représente des changements dans la sortie due à l'initialisation du programme de simulation.

Quand il n'y a pas d'effet d'initialisation à la moyenne de sortie, alors 𝑎𝑖 = 0 pour tout i. La

valeur de l'état d'équilibre moyenne, 𝔶 est inconnue. Formellement, l'hypothèse nulle est qu'il

n'y a pas de biais de l'initialisation de la moyenne de sortie:

𝐻0: 𝑎𝑖 = 0, pour tout i.

L'hypothèse alternative est :

𝐻1:𝑎𝑖 ≠ 0 , pour quelque i.

Un problème analogue est l'estimation d'un point dans la distribution de variables aléatoires

indépendantes de changement. L'idée principale derrière le test de randomisation est la

suivante:

Le test n'a pas été appliqué directement à la séquence originelle de la sortie, mais plutôt à

une séquence des moyennes de b lots (batch) de tailles m. Ceci est fait pour obtenir un test

valide; les moyennes des b lots sont ensuite divisées en deux groupes. Au début, tous les lots

sont dans le deuxième groupe et de façon itérative, les lots seront déplacé vers le premier

groupe l’un après l’autre. Commençant par seulement la première moyenne de lot incluse

dans le premier groupe et les (b-1) restantes dans le deuxième groupe. Ensuite, A chaque

itération, les grandes moyennes des deux groupes sont calculées et comparées. Si la différence

49

Page 62: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

entre celles-ci est significativement différente de zéro, l'hypothèse nulle d’aucun biais

d'initialisation est rejetée. On continue avec l’itération suivante (s’il en reste) jusqu'à ce que

l'hypothèse nulle d'absence de différence dans les moyennes ne puisse être rejetée (phase

stable détectée) ou toutes les itérations ont été exécutées (pas de phase stable détectée). Ceci

définit le point de troncature.

6. Tests de Permutation : La méthode de permutation, aussi appelé randomisation, est une approche très générale à

tester des hypothèses statistiques. Bien que permutation peut également être considérée

comme la technique par laquelle le principe de randomisation est appliquée aux données lors

de tests de permutation. D'autres points de vue sont trouvés dans la littérature.

La méthode de permutation est largement utilisée dans les statistiques non paramétriques

où la forme paramétrique de la distribution sous-jacente n’est pas spécifiée. (Ferry Butar

Butar & Park, 2008)

Dans les tests de permutation, la distribution de référence contre laquelle la statistique est

testée s’obtient en permutant aléatoirement les données de l'étude, sans référence à une

population statistique. Le test est valide tant que la distribution de référence a été générée par

une procédure liée à une hypothèse nulle qui a du sens pour le problème posé,

indépendamment de si l'ensemble de données est représentatif ou non d’une vaste population

statistique. Ceci est la raison pour laquelle les données ne doivent pas être un échantillon

aléatoire de certaine population statistique plus large. La seule information que le test de

permutation offre est de savoir si le modèle observé dans les données a probablement, ou non,

surgi par hasard. Pour cette raison, on peut penser que des tests de permutation ne sont pas

aussi «bon» ou «intéressant» que les tests classiques d'importance, car ils pourraient ne pas

permettre d'inférer des conclusions applicables à une population statistique.

Pour les petits ensembles de données, on peut calculer toutes les permutations possibles de

façon systématique et obtenir la distribution de permutation complète de la statistique ; un test

de permutation exacte ou complet est obtenu. Pour les grands ensembles de données, seul un

échantillon de toutes les permutations possibles peut être calculé, car il y a un trop grand

nombre. Lors de la conception d'un test de permutation échantillonné, il est important

50

Page 63: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

d’assurer que l'on utilise un algorithme de génération aléatoire uniforme, capable de produire

toutes les permutations possibles avec des probabilités égales. (Legendre & Legendre, 1998)

7. Exemple (les étapes du test de randomisation) : Considérons un échantillon de m observations du traitement1 et n observations du

traitement2. Supposons que sous l'hypothèse nulle, il n'y a pas de différence entre l'effet du

traitement1 et le traitement2. Alors toute permutation des observations entre les deux

traitements a la même chance de se produire que tout autre permutation (Ferry Butar Butar &

Park, 2008). Les étapes d'un test de permutation à deux traitements sont :

- Calculer la différence entre la moyenne des données observées, appelons cela Dobs.

- Créer un vecteur de m + n observations.

- Sélectionner au hasard des unités expérimentales à l'un des deux traitements avec m

unités de traitement affectées à 1 et n unités de traitement affectées à 2.

- Permuter les m + n observations entre les deux traitements afin qu'il existe m

observations pour le traitement 1 et n observations pour le traitement 2. Le nombre

de possibilités est : �𝑚+𝑛𝑛 � = (𝑚+𝑛)!

𝑚!𝑛! .

- Pour un échantillon de petite taille, obtenir toutes les permutations possibles des

observations ; pour les échantillons de grandes tailles, obtenir un échantillon

aléatoire de R permutations prédéterminées.

- Pour chaque permutation des données, le calcul de la différence entre la moyenne du

traitement1 et la moyenne du traitement2, appelée D.

- Pour l'essai à queue supérieure, calculer p-valeur comme proportion de D supérieure

ou égale de Dobs, c’est-à-dire : 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 𝑛°.𝑜𝑓𝐷≥𝐷𝑜𝑏𝑠�𝑚+𝑛

𝑛 � .

- Si p-valeur inférieure ou égale au niveau prédéterminé de signification α alors nous

rejetons H0.

Ce test de permutation est très flexible. On peut choisir une statistique de test adapté à la

tâche en cours. Au lieu d'utiliser la différence entre les moyennes de traitement1 et les

moyennes du traitement2 comme une statistique de test, on peut aussi utiliser la somme de

traitements soit 1 ou 2.

S’il existe une valeur aberrante dans l'ensemble de données, on peut utiliser la différence

entre la médiane comme une statistique à la place de la différence entre la moyenne.

51

Page 64: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

On peut aussi utiliser la moyenne tronquée comme une statistique en supprimant un nombre

égal d'observations les plus petites et les plus grandes dans les observations.

Exemple réel :

Custer et Galli (2002) ont utilisé un avion léger de suivre les grands hérons et les grandes

aigrettes de leur site de repos à leur premier site d'alimentation à Peltier Lake, Minnesota, et

ils ont enregistré le type de chaque substrat sur lequel les oiseaux ont atterri.

Figure 22: les résultats obtenus (McDonald, 2014)

Un test de randomisation avec 100.000 répétitions donne P = 0,54, donc il n'y a aucune

preuve que les deux espèces d'oiseaux utilisent les substrats dans des proportions différentes.

(McDonald, 2014)

8. Tests de randomisation pour le biais d'initialisation : L'objectif est de détecter tout changement significatif de la moyenne de la sortie de

processus. Tel que défini plus haut, l'hypothèse nulle est qu'il n'y a pas de biais d'initialisation

de la moyenne. C’est-à-dire 𝐻0: 𝑎𝑖 = 0, pour tout i. Pour tester cette hypothèse, une étape

préliminaire est prise où la série de sortie de N observations est divisée en b lots chacune de

taille m (N=mb). Ceci est fait dans le but de contrôler la corrélation sérielle en sortie de la

simulation. Rappelons que la principale hypothèse dans les tests de randomisation est que la

distribution de l'hypothèse nulle est invariante par un groupe de permutations; En outre, il

convient de noter que la moyenne des lots des moyennes est la moyenne de la séquence

originelle et la structure séquentielle de données est conservé dans le processus de traitement

par lots; c’est à dire une transitoire initiale dans la séquence originelle apparaîtra comme une

transitoire initiale du processus par lots. Ainsi, le travaille avec le processus par lots est

conceptuellement identique à travailler avec le processus original. (Yucesan, 1993) Enfin,

52

Page 65: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

l'état d'un système varie au cours du temps, ce qui rend difficile de reconnaître l'équilibre (état

stable). Le test est appliqué aux moyennes de b lots, plutôt que la séquence de sortie initiale.

Les moyennes de traitement par lots sont ensuite divisées en deux groupes. Initialement, le

premier groupe ne contient que le premier lot de moyennes, tandis que le second groupe

contient les b-1 moyennes de lots restants. La statistique de test adoptée ici est la valeur

absolue de la différence entre les grandes moyennes des deux groupes. La statistique de test

réel est calculée pour les données originales. Les batchs des moyennes sont permutés, la

statistique de test est calculée pour les données mélangées, et le niveau de signification est

calculé après un nombre prédéterminé de remaniements. En conformité avec le niveau de

signification calculée, l'hypothèse nulle est soit rejetée soit retenue.

La procédure est répétée en redéfinissant les groupes. Dans la deuxième itération, le

premier groupe contient les deux premiers batchs des moyennes tandis que le deuxième

groupe contient les b-2 lots des moyennes restants. Le test de randomisation est appliqué aux

nouveaux groupes, et ainsi de suite. La procédure peut se poursuivre jusqu'à ce que le premier

groupe contienne la moitié de b lots. Le point de troncature est alors déterminé par la première

itération, où l'hypothèse nulle n’est pas rejetée. Notez que cela peut être la première itération

(ce qui implique qu’aucun biais d'initialisation important dans la série de sortie n’est détecté)

ou peut ne jamais se produire (ce qui implique que le système n'a pas encore atteint un état

stable).

Cela suppose que le niveau du test de signification,𝑝𝑟𝑜𝑏 = 𝑛𝑏𝑟𝐶𝑎𝑠/𝑛𝑏𝑟𝑃𝑒𝑟𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛,

est une fonction plus ou moins à croissance monotone du nombre de lots dans le premier

groupe.

Il faut aussi noter que, avec b lots des moyennes, la statistique de test peut prendre au

maximum b valeurs distinctes. Par conséquent. En fait, lorsque les b batch moyennes sont

collectées en deux groupes de tailles 𝑏1 et 𝑏2, respectivement, la statistique de test prend au

plus 𝑏!/(𝑏1! 𝑏2!) valeurs distinctes. En fonction de b, 𝑏1 , 𝑏2 et, la distribution de

permutation peut encore être calculée exactement. Ainsi, des tests de randomisation

approximatifs ne devraient être envisagés que lorsque le nombre de permutations possibles est

grand. Néanmoins, il faut être conscient du fait que le nombre de permutations à calculer peut

croitre très rapidement et atteindre de très grandes tailles.

53

Page 66: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre III Randomisation test pour le bias d’initialisation

9. Conclusion : Comme nous avons vu dans le chapitre précédent, plusieurs méthodes pour la détection de

phase stable ont été proposées, chacune possède des avantages et des inconvénients. Dans ce

chapitre, La technique basée sur un test de randomisation (Randomization Tests for

Initialization bias) a été étudiée en détail. Cette dernière semble simple à comprendre et facile

à mettre en œuvre. Elle est prometteuse en ce qui concerne l’efficacité de détection ainsi que

ça précision de résultats. Le seul problème posé avec cette technique est certainement ses

exigences en termes de ressources. Elle nécessite des temps d’exécutions croissants de façon

presque exponentiels avec un usage considérable d’espace mémoire. Le seul remède à ce

problème sera une implémentation intelligente qui optimise l’utilisation des ressources.

54

Page 67: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

1. Introduction :

Après avoir présenté dans le chapitre précédent notre méthode de détection de la phase

stable. On entame maintenant la partie de la réalisation et de test. Dans ce chapitre nous

présentons notre application réalisée et les différents outils nécessaires pour le

développement.

2. Outils utilisées pour le développement :

Avant de présenter notre application développée, nous présentons ici brièvement le

matérielle et le langage utilisés durant la phase de réalisation.

2.1. Matériels utilisé : Processeur : intel®Core™ i3-3217U CPU @1.80GHz 1.80GHz. Type du système : Windows 7, 64 bits. RAM : 4 Go. Carte graphique : intel® HD Graphics 4000.

2.2. Langage de programmation :

Nous avons eu recours lors de l’élaboration de notre projet à Java sous eclipse. Java est un

langage simple, orienté objet, libre, distribué (possède une librairie permettant d’exécuter des

processus à distance) et portable sur toute plateforme et système d’exploitation. Grâce à ces

qualités et en plus du fait que la bibliothèque Japrosim sur laquelle nous travaillons est écrite

en Java, ce langage de programmation a été choisi pour l'implémentation de notre application.

2.3. La bibliothèque JAPROSIM :

JAPROSIM (JAva PRocess Oriented SIMulation) est une bibliothèque Java pour la

simulation à événements discrets, développée sous la direction du Pr. Brahim Belattar & Dr.

Abdelhabib Bourouis, dans les deux départements ; des sciences informatiques de l'Université

de Batna de mathématiques et informatique à l'Université de Oum El Bouaghi depuis 2004.

C’est un projet open source utilisée pour concevoir un environnement de modélisation et de

simulation à évènements discrets. La bibliothèque est documentée utilisant UML et est

composée de plusieurs paquetages pour organiser l’ensemble des classes dans des domaines

55

Page 68: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

fonctionnels homogènes. Les objectifs principaux du cette bibliothèque sont rendre plus facile

la conception, l’implémentation, l’utilisation, la réutilisation, la compréhension et la

maintenance des modèles de simulation à événements discrets, en plus de la collecte

automatique des statistiques.

2.4. La technique de la détection de la phase d'équilibre :

Parmi les techniques de la détection de la phase d'équilibre, on a choisit les méthodes

statistiques, Ces techniques, comme on a déjà conclus, utilisent des tests statistiques pour

déterminer la fin d'une phase transitoire. Elles sont simples à implémenter, plus précises et

efficaces alors ces caractéristiques justifient notre choix. La méthode que nous réalisons est

une méthode statistique non paramétrique qui est la randomisation pour le test du biais

d’initialisation.

3. Conception et Implémentation :

3.1. Le patron de conception :

Le nombre d'applications développées avec des technologies orientées objets augmentent.

L’idée de réutiliser des techniques pour solutionner des problèmes courants a abouti aux

recensements d'un certain nombre de modèles connus sous le nom de motifs ou patron de

conception. Tout d’abord, les design patterns ont plusieurs noms francisés qui permettent de

les désigner. Les plus courants sont « motif de conception », « modèle de conception » ou

encore « patron de conception ». La signification de ces termes est équivalente. Cependant,

suivant les goûts des personnes, certains termes apparaissent plus parlants que d’autres.

3.1.1. Définition :

Les design patterns ou modèles de conception consistent en un schéma à objets qui forme

une solution à un problème connu et fréquent. Le schéma à objet est constitué par un

ensemble d’objets décrit par des classes et des relations liant les objets. Ils sont basés sur les

bonnes pratiques de la programmation par objet. (Cooper, 2000) Il n’a pas d’aspect théorique

dans les patterns, notamment pas de formalisation. (Debrauwer, 2009) On peut les découper

en trois grandes catégories :

56

Page 69: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Les modèles de création (construction) ont pour but d’organiser la création d’objets, il

existe cinq modèle principaux : Fabrique (Factory), Fabrique abstraite (Abstract

Factory), Monteur (Builder), Prototype et Singloton.

les modèles de structure facilitent l’organisation de la hiérarchie des classes et de leurs

relations. Ils sont au nombre de sept : Adapter, Bridge, Composite, décorateur

(Decorator), Façade (Facade), Flyweight et Proxy.

les modèles de comportement proposent des solutions pour organiser les interactions

et pour répartir les traitements entre les objets. Il existe onze modèles : Chain of

resposibility, Command, Interepter, Iterator, Mediator, Memento, Observer, State,

Stategy, Tomplete et Visitor.

3.1.2. Le pattern Observateur :

Le pattern Observateur (en anglais Observer) facilite la communication entre une classe

parent est toutes les classes dépendantes, permettant aux changements d’état de la classe

parent d’être envoyés aux classes dépendantes. La relation des classes est un-à-plusieurs entre

une classe et toutes les autres dépendantes classes. (Lasater, 2010) (Stelting & Maassen,

2002)

Ce pattern consiste généralement de deux classes de base. Le premier est appelé « Sebject»

ou « Observable ». Cette classe joue le rôle du moteur de notification. Les classes

d'observateurs agissent comme récepteurs de notification. De ces deux types de classes de

base la mise en œuvre concrète de chaque type sont dérivés : concretSubject et

concretObserver. La figure 23 représente le diagramme UML du pattern Observateur.

La notion d'observateur/observable permet de coupler des modules de façon à réduire les

dépendances aux seuls phénomènes observés.

Subject : - connaître ses observateurs, sans limite de nombre.

- permettre d’ajouter et de supprimer des observateurs.

- avoir une interface pour notifier les observateurs d’un changement.

Observer :

57

Page 70: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

- Définit une interface de mise à jour des objets qui doivent être notifiés lorsque il ya

des changements dans l'objet "subject".

Figure 23: Observer diagramme de classe UML (Lasater, 2010)

3.2. Conception de l'application :

Pour la réalisation de cette application et comme un modèle de conception on a choisit

d'utiliser le pattern observateur car il est simple, efficace et satisfait nos besoins et possède en

plus plusieurs avantages.

Dès le départ, on a besoin de récupérer les valeurs de la variable tBar -le temps de

résidence global- déclaré au niveau de la classe Entity. Ces valeurs sont stockées dans une

liste par la classe randomisationTest qui réside dans le paquetage statistics.steady et qu’elle

dérive de la classe abstraite SteadyStateTechnique.

58

Page 71: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Alors la classe Entity possède des attributs dont les valeurs changent de manière régulière,

Certains autres classes doivent être informées de ces changements. Pour cela, nous avons

choisi d’utiliser le pattern Observateur.

L'interface StatObserver sera implémentée par toutes les classes qui souhaitent avoir le rôle

d’observateur. C'est le cas de la classe SteadyStateTechnique.

La classe Entity joue le rôle de l'objet "subject", ce qui lui permet de notifier ses observateurs

en cas de changement d'état. La figure 24 résume la conception de notre application.

Figure 24: Diagramme de classe de l'application.

3.3. Implémentation de l'application :

Pour réaliser notre méthode, on doit tout d’abord créer l’interface statObserver ainsi que la

classe steadyStateTechnique. Notons que la dernière est une implémentation de la première.

59

Page 72: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Une fois cette étape est terminée, nous avons créé la classe randomisationTest qui représente

notre méthode de détection. Parce que la classe randomisationTest hérite de la classe

steadyStateTechnique, elle hérite les méthodes update() (signature dans l’interface

statObserver) et reset() déclarée dans la classe steadyStateTechnique. La méthode update()

est implémentée pour être informé de l'état de l'observable et s’adapter aux changements.

Dans notre cas c’est la valeur du temps globale de réponse qui est récupérée et stockée.

La variable tBarSS est utilisée pour la récupération de la valeur de Tbar à chaque fois qu'il

y a un changement. Ce mécanisme est fournit par l'observateur.

Notre méthode est post-simulation dans le sens où elle commence son exécution une fois la

simulation est terminé, alors la classe scheduler doit l’informer. Le Scheduler dans ce cas est

le subjet (observable) et la classe randomisationTest est l’observateur. Le problème qui se

pose ici est celui de l’héritage multiple. Donc on à besoin de crée une autre interface

Observable.

La méthode update() sera appelée lors de la notification, pour donner la nouvelle

information venue de Subject vers ce Observer. Dans notre cas on aura deux objets

observable de types déférents qui fautent appel au update(). Cela pose un problème pour

résoudre on a obligé de trouve un structure qui englobe les informations qui doivent d’être

mise à jour lors de l’appel de update() cette structure est la classe Event.

Enfin, une petite modification est faite sur le design pattern Factory déjà utilisé par le

sheduler pour donner la main à l’utilisateur de choisir notre nouvelle méthode.

60

Page 73: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Figure 25:L'interface JAPROSIM après l'ajout de nouvelle technique de détection de la

phase d'équilibre.

Pseudo-Algorithme :

Procédure rand :

Début

- Découper les données de simulation (dans notre cas la liste de tBar) au b lots de

taille m. on aura {𝑥1, 𝑥2, … , 𝑥𝑏} - Calculer les moyennes de b lots et mettre dans une liste.

- Supposons G1 et G2 deux groupes.

- Au dépare G1= 𝑥1 et G2={𝑥2, 𝑥3, … , 𝑥𝑏}

- k=1 ;

- Tant que (phase stable non détecter et la taille de G1 inferieur au moite de b) faire

- fait appel à la fonction test

61

Page 74: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

- Si la déférence entre les grand mean(moyenne de moyenne) entre G1 et G2

inferieur au seuil (déférence significatif ∆𝐺𝑚𝑒𝑎𝑛 ≠ 0), phase stable détecté si non

G1= 𝐺1 ∪ {𝑥𝑘} et G2= 𝐺2\{𝑥𝑘}

Fin tant que.

Fin.

Fonction test () : réel

- Entiers : p-value=0, compteur=0.

Début

- actual-stat := abs [mean(G1 )-mean(G2)]

- Si on a un échantillon supérieur à 1000 en prend les 1000 premier

- Gérer tout les combinaison possible et calculer pseudo-stat := abs[ mean( G1 )-mean(

G2)]

- si (pseudo-stat > actual-stat) compteur =compteur+1 ;

- P-value=compteur/ nombre de combinaison

- Retourner p-value.

Fin

4. Tests et Validation :

A fin de démontrer l'efficacité de chaque méthode de détection de la phase stationnaire et

pour la validation de notre application on a utilisé les deux techniques : graphique (solution

visuelle) et la solution analytique. Nous considérons les deux systèmes de files d’attente

suivants :

Le premier réseau contient une seule station de service qui possède une queue FIFO de

capacité illimitée où les clients peuvent attendre pour être servis. Les clients arrivent d'une

seule source et peuvent quitter le système depuis un issus. Nous supposons que les temps

entre les arrivées successives suit la loi exponentielles de moyenne 1/λ. Et les services suivent

la loi exponentielle. Les paramètres du modèle de simulation sont:

λ = 2 et µ = 5 alors ρ = 2/5 = 0.4 le système est stable.

62

Page 75: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Pour le deuxième modèle est un réseau avec 2 stations. Les paramètres sont représentés par la

figure 26.

Figure 26: réseau de file d'attente

Pour tester l'efficacité de notre méthode, on a exécuté ces modèles en utilisant techniques

graphiques pour le premier et pour le deuxième l’outil OQNS (un outil permet de calculer les

indices de performances des réseaux de files d'attente ouverts) ensuite en utilisant la

bibliothèque JAPROSIM. On a choisi le seuil=0.05 et taille de batch 𝑚 = 5

4.1. Les résultats des tests :

Figure 27: graphe représente le moyen de séjour durant 50 unités de temps

63

Page 76: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

Figure 28: phase stable détecte

Figure 29:La fenêtre d’OQNS.

Phase stable 𝑻� 𝑵� 𝑾��� 𝑸�

OQ

NS M1

/ 0.333333 0.666667 0.133333 0.26667

M2 2.054507 3.081761 1.24716 1.870824

Japr

osim

sans

m

érho

de d

e dé

tect

ion M1

/

0.31112285 0.61813783 0.11176596 0.22213093

M2 2.21287928 3.38170885 1.39168573 2.12625660

64

Page 77: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

C

onw

ay M1

1.816630543629161

2 0.31061941 0.61661010 0.11142430 0.22120208

M2 7.218070523478445

5 2.21066140 3.37799537 1.39030953 2.12440800

Cro

ssin

g th

e m

ean

M1 10.62969430943499

2 0.31113944 0.61597175 0.11164457 0.22107918

M2 11.10132725886824

4 2.20446327 3.36731449 1.38637421 2.11516084

Ran

dom

isat

ion M1 9.781806184665738 0.31112285 0.61813783 0.11176596 0.22213093

M2 17.45252869310981 2.21287928 3.38170885 1.39168573 2.12625660

Tableau 1:Les résultats des tests obtenus dans une expérimentation durant 1000.00 unité de temps.

Figure 30: graphe de le deuxième modèle

4.2. Discussion :

Dans les figures 27 et 28 nous présentant les résultats de simulation du premier modèle qui

un file d’attente M/M/1. Nous avons constaté que le système stabilise dans l’intervalle [17.5,

40]. Et que la valeur notre méthode trouve est dans cet intervalle. Les résultats obtenu sont

65

Page 78: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Chapitre IV Conception et implémentation

relie à deux paramètre qui sont le seuil et la taille batch ces deux critère jouent un rôle très

import dans la précision de notre résultats.

Le tableau 1 représente les résultats obtenus avec l’outil OQNS et Japrosim sans

l’utilisation des techniques de détection, puis en utilisant à chaque fois l’une des techniques

implémentées (Randomisation, Conway et Crossing the mean). Et la figure 30 montre les

résultats de ce test.

Tout d'abord, on commence par les résultats obtenus en utilisant la bibliothèque JAPROSIM,

il est apparent que ces résultats sont proche du celles obtenus en utilisant l'outil OQNS, et cela

dû aux biais statistiques de la phase transitoire. Nous remarquons que les résultats de notre

méthode sont les plus acceptables.

5. Conclusion :

Dans ce chapitre, nous avons vu que l’utilisation des Design Patterns offre de nombreux

avantages. Tout d’abord cela permet de répondre à un problème de conception grâce à une

solution éprouvée et validée par des experts. Ainsi on gagne en rapidité et en qualité de

conception. De plus, les Design Patterns sont réutilisables et permettent de mettre en avant les

bonnes pratiques de conception. Elles facilitent l’intégration de notre méthode à la

bibliothèque Jabrosim. Bien que la méthode réalisé semble meilleure par rapport aux autres

mais lors de l’implémentation nous avons fait face à plusieurs défis. Nous étions obligées de

la synchroniser avec le Scheduler afin de savoir si la simulation est terminée pour entamer les

calculs. Nous étions aussi face au problème de la consommation excessive de ressources et

nous étions obligées d’optimiser au maximum nos algorithmes.

66

Page 79: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Conclusion générale

Conclusion générale

Dans ce mémoire, nous avons présenté les concepts de base de la simulation ainsi que la

simulation à événements décrets. En particulier, nous mis en évidence le problème de détection

de la phase stable.

Cinq catégories des méthodes permettent de résoudre ce problème. Ce travail a tenté de les

présenter en détails et de fournir une étude comparative de ces catégories tout en déterminant

leurs avantages et inconvénients. Pour l’implémentation, nous avons essayé d’intégrer une des

méthodes statistiques qui est le test de randomisation pour le biais d’initialisation.

Ensuite, nous avons présenté succinctement notre méthode. Cette dernière semble simple à

comprendre et facile à mettre en œuvre. Elle est prometteuse en ce qui concerne l’efficacité de

détection ainsi que la précision de résultats.

Il est évident qu'il n’y a pas une méthode particulière à recommander, mais d’après les

résultats obtenus, nous pouvons dire que la méthode implémentée est la plus acceptable.

Notre travail reste ouvert sur plusieurs axes. Nous souhaitons continuer utilisant de

nouvelles idées telles que l’exécution des plusieurs méthodes en parallèle. Nous étions obligés

de bloquer certaines méthodes de détection déjà implémentées qui procède aux calculs durant

la simulation (temps réel). De plus, il reste des nombreuses méthodes de détection de la phase

stable qui peuvent être intégrées à la bibliothèque Japrosim pour donner plus de choix à

l’utilisateur.

67

Page 80: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Bibliographie

Bibliographie :

BADEIG, F. (24/9/2010). Thèse : Un environnement actif pour la simulation multi-agents ;

Application a la gestion de crise dans les transports.

Boimond, J.-L. (2006). Simulation systèmes de production.

Bourenane, J. M. (1989). Les files d’attente.

Dr.Bourouis. (2013/2014). Cours modélisation et simulation chapitre 2.

Erard, P.-J., & Déguénon, P. (1996). Simulation par événements discrets.

Fabien, B. (2010). Thèse Un environnement actif pour la simulation multi-agents Application

à la gestion de crise dans les transports.

Fabien, M. (2004). thèse Formalisme, outils et éléments méthodologiques pour la

modélisation et la simulation multi-agents.

Fishwick, P. A. (1997). Computer simulation : growth through extension. Tran-sactions of the

Society for Computer Simulation International.

Fleury, G., Lacomme, P., & Tanguy, A. (2007). Simulation à événements discrets .

Fontanili, F. Modélisation et Simulation de Flux à Evénements Discrets.

FONTANILI, F. (2004). Modélisation et simulation de flux de production.

Michel, F. (2004). Thèse formalisme outils et éléments méthodologiques pour la modélisation

et la simulation multi-agents.

Robert, S. (1998). introduction to the art and science of simulation.

Shannon, R. E. (1976). Simulation modeling and methodolog. The University of Alabama in

Huntsville-Huntsville, Alabama.

Troitzsch, K. G. (2004). Validating simulation models.

Chapitre I

68

Page 81: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Bibliographie

Bause, F., & Eickhoff, M. (2003). Truncation point estimation using multiple replications in

parallel.

Conway, R. W. (1963). Some Tactical Problems in Digital Simulation. Management Science ,

Vol. 10, No. 1 , pp. 47-61.

Falko, B., & Mirko, E. (2003). Truncation point estimation using multiple replications in

parallel.

Gafarian, A. V., Ancker, C. J., & Morisaku, T. (1978). Evaluation of commonly used rules for

detecting “steady state” in computer simulation. Naval Research Logistics Quarterly .

Gallagher, M. A., B.S., & M.S. (1992). Identification of the Initial Transient in Discrete-

Event Simulation Output Using the Kalman Filter.

Hoad, K., Robinson, S., & Davies, R. (2008). AUTOMATING ESTIMATION OF WARM-UP

LENGTH.

Mahajan, P. S., & Ingalls, R. G. (2004). Evaluation of methods used to detect warm-up period

in steady state simulation.

Neumann, v. (1941). Distribution of the ratio of the mean square successive difference to the

variance. the Annals of Mathematical Statistics , 367–395.

Page, B., Kuck, J., & Gobel, J. (2005). The Java Simulation Handbook – Simulating Discrete

Event-chapitre7: Simulation Statistics.

PAWLIKOWSKI, K. (1990). Steady-state simulation of queueing processes: survey of

problems and solutions.

Robinson, S. (2002). A STATISTICAL PROCESS CONTROL APPROACH FOR

ESTIMATING THE WARM-UP PERIOD.

Robinson, S., & Ioannou, A. The Problem of the Initial Transient: Techniques for Estimating

the Warm-up Period for Discrete-Event Simulation Models.

Chapitre II

69

Page 82: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Bibliographie

Shapiro, & Wilk. (1965). An analysis of variance test for normality (complete samples). 591–

611.

Stewart, R. (2004). A statistical process control approach to select a warm up period for

discrete event.

Yucesan, E. (1993). Randomization Tests for Initialization Bias in simulation output. Naval

Research Logistic , Vol. 40, pp. 643-663 .

Bouyer, J. (2000). Méthodes statistiques – Médecine – Biologie.

COLLETAZ, G. (2004). STATISTIQUE NON PARAMETRIQUE ELEMENTAIRE.

Dodge, Y. ( 2007). Statistique: Dictionnaire encyclopédique.

Ferry Butar Butar, P., & Park, J.-W. (2008). Permutation Tests for Comparing Two

Populations. Journal of Mathematical Sciences & Mathematics Education Vol. 3 No. 2 .

Legendre, l., & Legendre, p. (1998). Statistical testing by permutation.

McDonald, J. H. ( 2014). Handbook of Biological Statistics(3rd ed.). Sparky House

Publishing, Baltimore, Maryland.

Millot, G. (2009). Comprendre et réaliser les tests statistiques avec R: Manuel pour les

débutants. De Boeck Supérieur.

Monbet, V. (2009). Tests statistiques.

Morgenthaler, S. (2007). Introduction à la statistique.

Peter Sprent, J.-P. L. (1992). Pratique des statistiques nonparamétriques. Editions Quae.

Philippe Girard, D. B. (2007). Laïus 6 - Introduction aux tests statistiques.

Rakotomalala, R. (2013). Comparaison de populations,Tests paramétriques.

Ramousse, R., Berre, M. L., & Guelte, L. L. (1996). Introduction aux Statistiques.

Chapitre III

70

Page 83: MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème

Bibliographie

Yucesan, E. (1993). Randomization Tests for Initialization Bias in Simulation Output.

Cooper, J. W. (2000). Java Design Patterns: A Tutorial. Addison-Wesley Professional.

Debrauwer, L. (2009). Design patterns pour Java: Les 23 modèles de conception :

descriptions et solutions illustrées en UML 2 et Java. Editions ENI.

Lasater, C. G. (2010). Design Patterns. Wordware Publishing, Inc.

Stelting, S., & Maassen, O. (2002). Applied Java Patterns. Prentice Hall Professional.

Chapitre IV

71