mÉmoirebib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...réalisé par : nouri chahrazad...
Post on 28-Apr-2021
6 Views
Preview:
TRANSCRIPT
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É
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.
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
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
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
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
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
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
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
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
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
Table des tableaux
Tableau 1:Les résultats des tests obtenus dans une expérimentation durant 1000.00 unité de
temps…………………………………………………………………………………………………………………………………..65
VIII
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
top related