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É
83
Embed
MÉMOIREbib.univ-oeb.dz:8080/jspui/bitstream/123456789/6853/1/...Réalisé par : Nouri Chahrazad Encadré par : Dr.Bourouis.A Jurys par: Mr. Mokhati.F Mr. Taouche.C 2014/2015 Thème
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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 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
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
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