Simulation de la dynamique de la PPCB en Ethiopie

Simulation de la dynamique de la PPCB en Ethiopie
Institut Supérieur d ’Informatique de
Modélisation et de leurs Applications
Complexe des Cézeaux
BP 125
63173 AUBIERE Cedex
Centre de coopération Internationale en
Recherche Agronomique pour le
Développement
Avenue Agropolis
34398 Montpellier Cedex 5
France
Tél: +33 04.67.61.58.00
Simulation de la dynamique de
la PPCB en Ethiopie
TOME I - Rapport de stage
stage
Jean-Baptiste ESTIVAL
Stage ISIMA 2ième année F2
Avril – Septembre 2001
Encadrement
Christine FORCE (ISIMA)
Laurent PEROCHON (INRA)
Remerciements
Je tiens tout d’abord à remercier mes maîtres de stage Christine Force et Laurent
Pérochon pour leur aide continuelle aussi bien pendant l’analyse que pendant le
développement du logiciel. Leur aide et leurs conseils ont permis de trouver les bonnes
solutions le plus vite possible.
Les chercheurs du Cirad, notamment Pascal Bonnet, Géraud Laval et Mathieu Lesnoff
qui m’ont beaucoup aidé pendant la phase d’analyse en prenant bien soin de m’expliquer leurs
idées et ainsi trouver les meilleures solutions pour la modélisation du système. Je voudrais
aussi remercier Pierre Bommel et François Bousquet qui ont su répondre à mes questions
pendant la phase de développement du logiciel.
Enfin, je remercie toute les personnes présentes à l’ISIMA qui ont permis à ce stage de se
dérouler de la meilleure des manières.
Table des abréviations
Cirad :
Centre de coopération Internationale en Recherche Agronomique pour le
Développement.
ATP :
Action Thématique Programmée
Cirad-emvt : Département d’élevage et de médecine vétérinaire du Cirad.
CORMAS : COmmon-pool Resources and Multi-Agents Systems.
ISIMA :
Institut Supérieur d’Informatique de Modélisation et de leurs Applications.
PA :
Peasant Association.
PPCB :
Péri-Pneumonie Contagieuse Bovine.
SIG :
Système d’Information Géographique.
SMA :
Systèmes Multi-Agents.
UML :
Unified Modelling Language.
Glossaire
Arfasaa :
terme oromifa désignant la saison fraîche et la petite saison des pluies (marsavril-mai).
Agent :
Entité relativement autonome et indépendante. [ 1 ]
Artefact :
Phénomène ou structure artificiel dont l’apparition est liée à la méthode utilisée
lors d’une expérience, biologique notamment.
Birr :
Monnaie éthiopienne.
Birra :
Terme oromifa désignant l’après saison des pluies (septembre-octobrenovembre).
Bona :
Terme oromifa désignant la saison sèche (décembre-janvier-février).
Bonné :
Terme oromifa désignant une zone d’interfluve, mis en culture (maïs) ou
servant de pépinières pour les plants de café.
Cocho :
Terme oromifa désignant l’igname.
Dereba :
Terme oromifa désignant un contrat de confiage de bovins. Généralement, le
terme dereba réfère à un contrat dont les modalités et les motivations peuvent
différer (durée déterminée ou non, contrat de gardiennage, contrat
d’engraissement contre fumure). Ce terme ne s’applique généralement pas pour
désigner des contrats de traction.
Development Agent : agent de terrain administratif appartenant à un bureau de l’Agriculture
(Woreda, Agricultural Office) et s’occupant des questions de développement
agricole, de conseils techniques et de vulgarisation.
Enzootie :
Maladie épidémique qui touche une ou plusieurs espèces animales dans un
espace restreint (localité, exploitation, par ex.).
Epizootie :
Epidémie frappant, dans une région plus ou moins vaste, une espèce animale
dans son ensemble.
Fasika :
Fête religieuse correspondant à la Pâque éthiopienne.
Gana :
Terme oromifa désignant la grande saison des pluies (juin-juillet-août)
Kénétique : Concevoir et réaliser des univers ou des organisations d’agents artificiels
(électroniques ou informatiques) capables d’agir, de collaborer à des tâches
communes, de communiquer, de s’adapter, de se reproduire, de se représenter
l’environnement dans lequel ils évoluent et de planifier leurs actions. [ 1 ]
Oromifa, orominia : Langue parlée dans la région Oromo d’origine couchitique.
Pathologie : Etude scientifique, systématique des maladies. Ensemble des signes
pathologiques par lesquels une maladie se manifeste.
Peasant Associations (PA) : Organisation administratives et politiques instituées lors de la
réforme agraire. En réalité, les PA ont eu un rôle économique de faible
importance dans les zones rurales. Elles représentent l’unité administrative et
politique la plus fine, transmettent et mettent en œuvre les directives politiques
mises en œuvre par le gouvernement central.
Woreda :
Découpage administratif correspondant à un district.
Table des figures
Figure 1 - Localisation du district de Bodji en Ethiopie ........................................................13
Figure 2 - Vues en 3 dimensions de la zone d'étude ..............................................................13
Figure 3 - Les 13 PA du district de Bodji .............................................................................14
Figure 4 - Classification des différents types d'application des SMA.....................................19
Figure 5 - Interface du logiciel Cormas et ses 3 modules ......................................................21
Figure 6 - Exemple d'observation graphique .........................................................................23
Figure 7 - Exemple d'observation de communication............................................................24
Figure 8 - Exemple d'observation d'états...............................................................................24
Figure 9 - Relation entre le SIG et le simulateur permettant les simulations ..........................27
Figure 10 - Risque de contamination pour des terroirs se chevauchant..................................33
Figure 11 - Diagramme de classification des animaux ..........................................................43
Figure 12 - Diagramme d'état de la vie des animaux .............................................................44
Figure 13 - Diagramme de classes du domaine étudié (réalisé avec le logiciel objectiF®).....48
Figure 14 - Association Eleveur - Animal.............................................................................49
Figure 15 - Association Eleveur - Animal - Monde extérieur ................................................49
Figure 16 - Association Monde extérieur - Animal - Eleveur ................................................50
Figure 17 - Relations Eleveur - Travail - Lots - Pâturage - Animal........................................50
Figure 18 - Premier scénario de demande de prêt..................................................................51
Figure 19 - Deuxième scénario de demande de prêt..............................................................52
Figure 20 - Hiérarchie des objets sous l'environnement Cormas............................................53
Figure 21 - Diagramme des entités spatiales .........................................................................54
Figure 22 - Diagramme des agents........................................................................................54
Figure 23 - Diagramme de classes du simulateur Dëlla .........................................................56
Figure 24 - Modèle à compartiments pour la diffusion intra-troupeau de la PPCB ................57
Figure 25 - Objet ParametresIntra et ses attributs..................................................................59
Figure 26 - Implémentation du modèle intra-troupeau sous Cormas......................................61
Figure 27 - Algorithme de principe de la méthode d'évolution du simulateur ........................62
Figure 28 - Algorithme de principe de la méthode stepPhase1 d'un éleveur ..........................63
Figure 29 - Algortihme de principe de l'évolution d'un pâturage ...........................................64
Figure 30 - L'objet Evénement..............................................................................................64
Figure 31 - Calendrier mis en place dans le simulateur .........................................................65
Figure 32 - Illustration de la communication entre les agents................................................67
Figure 33 - Interface de paramétrage du simulateur ..............................................................69
Résumé
Le stage que j’ai effectué du mois d’avril 2001 au mois de septembre 2001 pour le
CIRAD de Montpellier, a pour but de concevoir une première version d’un logiciel de
simulation multi-agents de la diffusion de la PPCB (Péri-Pneumonie Contagieuse Bovine) en
Ethiopie. De plus, ce stage permet aux chercheurs du CIRAD de tester l’adéquation de leur
plate-forme de développement multi-agents CORMAS à ce type de problème.
A mon arrivée en stage dans les locaux de l’ISIMA, j’ai tout d’abord pris connaissance de
la problématique du sujet puis commencé l’analyse du système avec l’appui des mes maîtres
de stage. Cette analyse a été suivie de près par les chercheurs du CIRAD qui ont eux aussi
contribué au bon déroulement de cette analyse. En parallèle, j’ai aussi dû apprendre à me
servir du logiciel CORMAS qui permet de développer facilement des simulateurs multiagents.
La phase d’analyse a débouché sur les objectifs a atteindre pour le stage. Deux phases
principales ont émergé. La première phase a été menée à terme pour la rédaction de ce
rapport, la seconde devrait être réalisée pendant le mois de septembre 2001.
Suite à une analyse classique, j’ai procédé à une analyse structurée grâce à la méthode
UML. Cette analyse facilite le développement de logiciels orientés objets ainsi que le
dialogue avec des personnes n’ayant pas de compétences en informatique. Cette analyse UML
a permis le développement de la phase 1 du projet initial et s’est terminée par une série de test
validant le bon fonctionnement du simulateur.
Mots-clefs : simulation multi-agents, PPCB, CORMAS, Cirad, UML
Abstract
The internship I've carried out from april 2001 to September 2001 for the CIRAD of
Montpellier, had for aim to design a first version of a multi-agent simulator for the diffusion
of the CBPP in Ethiopia. Moreover, this placement allows the researchers of the CIRAD to
test their multi-agents base: Cormas.
On my arrival in the buildings of the ISIMA, I first of all taken knowledge of the
problems of the subject before beginning the system analysis with the help of my placement
tutor. This analysis was closely followed by the researchers of the CIRAD which has also
contributed to the good development of this analysis.
Next to that, I also had to learn how to use the software CORMAS which makes possible
the development of multi-agents simulators easy. The analysis part led to fixing the objectives
of the placement. Two main parts emerged. The first part was to be finish for the writing of
this rapport, the second was to be carried out during September 2001. Following a traditional
analysis, I carried out a structured analysis using the UML method.
This analysis makes easier the development of object software as well as the dialogue
with people without data processing knowledge. This UML analysis allowed the development
of phase 1 of the preliminary draft and finished with a series of test in order to validate the
simulator.
Keywords: multi-agents simulator, CBPP, Cormas, Cirad, UML
TOME I – Rapport de stage : Table des matières
Remerciements
Table des abréviations
Glossaire
Table des figures
Resumé
Abstract
Introduction........................................................................................................................10
1
2
CHAPITRE 1 : Contexte de l’étude...........................................................................11
1.1
Présentation du Cirad...........................................................................................11
1.2
L’Action Thématique Programmée (ATP) [ 8 ] .....................................................12
CHAPITRE 2 : Les systèmes multi-agents et la plate-forme Cormas ......................16
2.1
Les systèmes multi-agents ou SMA [ 1 ] ................................................................16
2.1.1
Présentation...................................................................................................16
2.1.2
La notion d’agent ..........................................................................................16
2.1.3
Les différents types d’agents .........................................................................17
2.1.4
La simulation multi-agents ............................................................................19
2.2
La plate-forme de développement Cormas [ 6 ].....................................................20
2.2.1
Présentation du logiciel .................................................................................21
2.2.2
Apprentissage du logiciel [ 7 ].......................................................................22
3
CHAPITRE 3 : Analyse du système [ 3, 4, 5 ] ...........................................................26
3.1
Présentation du projet...........................................................................................26
3.1.1
L’approche adoptée pour le simulateur..........................................................27
3.1.2
Particularités du système étudié.....................................................................28
3.1.3
Outils utilisés ................................................................................................28
3.2
Contamination d’un troupeau ...............................................................................28
3.2.1
Contamination par introduction d’animaux malades ......................................29
3.2.2
Contamination par contact.............................................................................29
3.2.3
Propositions de simplification .......................................................................31
3.3
Les échanges.........................................................................................................33
3.3.1
Les types de confiages et prêts ......................................................................34
3.3.2
Propositions de simplifications ......................................................................36
3.4
Les achats et les ventes .........................................................................................37
3.4.1
Le marché .....................................................................................................37
3.4.2
Les Achats ....................................................................................................38
3.4.3
Les ventes .....................................................................................................39
3.4.4
Hypothèses simplificatrices ...........................................................................40
3.5
Evolution démographique d’un troupeau ..............................................................41
3.5.1
Vêlage d'un animal........................................................................................41
3.5.2
Reproduction.................................................................................................42
3.5.3
Mort d'un animal ...........................................................................................42
3.5.4
Passage en dëlla ............................................................................................42
3.5.5
Vieillissement des animaux ...........................................................................43
3.6
Détection, traitement, vaccination et autres gestion du risque sanitaire (isolement
d'animaux etc..) ................................................................................................................44
3.7
4
Conclusion sur l’analyse.......................................................................................46
CHAPITRE 4 : Développement du simulateur .........................................................47
4.1
Analyse UML du système [ 2 ] ..............................................................................47
4.1.1
Diagramme de classe du domaine étudié .......................................................47
4.1.2
Diagrammes de séquences.............................................................................50
4.1.3
Diagramme de classes du simulateur du point de vue de Cormas...................52
4.1.4
Diagramme de classe du simulateur...............................................................55
4.2
Le modèle de diffusion intra-troupeau de la maladie.............................................56
4.2.1
Présentation...................................................................................................56
4.2.2
Transition entre les différents compartiments ................................................57
4.2.3
Programmation sous Cormas .........................................................................59
4.3
La diffusion inter-troupeau de la maladie .............................................................61
4.3.1
Le noyau de simulation .................................................................................62
4.3.2
Communication entre les agents ....................................................................66
4.3.3
Les sorties fichiers.........................................................................................67
4.3.4
Paramétrage du simulateur ............................................................................69
5
CHAPITRE 5 : Test, résultats et état d’avancement du projet ................................71
5.1
Tests et résultats ...................................................................................................71
5.1.1
Le modèle de diffusion intra-troupeau ...........................................................71
5.1.2
La diffusion inter-troupeaux ..........................................................................73
5.2
Etat d’avancement du projet .................................................................................78
Conclusion ..........................................................................................................................80
TOME II – Annexe : Table des matières
Simulateur Della v0.9 Manuel d'utilisation
II
1.
Installation et mise en place
IV
2.
Paramétrage par l'interface graphique
VII
a.
La zone Fichier trace
VII
b.
La zone Grille
VIII
c.
La zone Choix de point de vue
VIII
d.
La zone Evénements
IX
e.
La zone Paramètres Intra
X
f.
La zone Carte aléatoire
X
g.
La zone Probabilité Prêteur
XI
3.
Déroulement de la simulation
XII
a.
Le pas à pas
XII
b.
Lancer N fois la simulation
XIII
Explications pour la lecture des diagrammes de classes
et des diagrammes de séquence
XIV
1.
Les diagrammes de classes
XIV
1.1. Les classes
XIV
1.2. Les relations
XIV
Les diagrammes de séquence
XVI
2.
Suivi des éleveurs pour l'étude de la dynamiqe de la PPCB
XVIII
ATP PPCB- CENSUS QUESTIONNAIRE
XXV
1- IDENTIFICATION OF THE FARM
XXV
2- CHARACTERISTICS OF CATTLE
XXV
Bulls
XXVII
Bull calves
XXVII
Cows
XXVII
Mature heifers
XXVII
Heifer calves
XXVII
Total of each class
XXV
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Introduction
Les simulations de systèmes biologiques avec l’outil informatique ont beaucoup évolué
ces dernières années, notamment grâce aux langages orientés objets, aux méthodes d’analyse
telles que UML et grâce à l’émergence des systèmes multi-agents. En effet, les systèmes
biologiques nécessitent de pouvoir modéliser des entités ayant un comportement propre, ne
pouvant pas être régit par une formule mathématique. C’est dans ce cadre que mon stage s’est
déroulé.
La péri-pneumonie contagieuse bovine est une maladie ré-émergente en Ethiopie. Bien
qu’elle ne soit pas dangereuse pour l’homme, elle décime les troupeaux d’animaux qu’elle
contamine. Les solutions pour endiguer une telle maladie dans un pays comme l’Ethiopie sont
difficiles à trouver. C’est pour cela que le Cirad s’est orienté vers la simulation informatique
de la dynamique d’une telle maladie. En effet, les chercheurs espèrent qu’à terme un tel
simulateur permettra de trouver le meilleur moyen pour lutter contre la maladie et ce le plus
efficacement.
L’an dernier deux étudiants de l’ISIMA ont testé la plate-forme de développement multiagents Cormas conçue par les chercheurs du Cirad. C’est dans la continuité de ce projet que
mon stage s’est produit. En effet, les résultats ayant été concluants, CORMAS a été choisie
pour la réalisation du projet de simulation. Mon stage n’a pas pour but de développer le
simulateur complet mais de réaliser une première version intégrant les éléments
fondamentaux du système à modéliser.
Comme pour tout développement de logiciel, une analyse complète du système étudié a
été réalisée en collaboration avec les chercheurs du Cirad, suivie d’une analyse plus
structurée avec la méthode UML. Le développement du simulateur s’est effectué en deux
phases. La première visant à modéliser les échanges d’animaux entre les éleveurs, la
deuxième doit implémenter les traitements et les vaccinations sur le modèle précédent. Bien
que déjà complexe, le modèle ainsi obtenu n’est pas suffisamment complet pour obtenir des
résultats proches de la réalité. Le développement futur du simulateur à partir des bases posés
pendant le stage permettra sûrement d’atteindre de tels résultats.
Jean-Baptiste ESTIVAL
10
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
1 CHAPITRE 1 : Contexte de l’étude
Le premier chapitre de ce rapport présente le contexte du stage. On y retrouve donc la
présentation de l’entreprise pour laquelle le travail a été effectué (le Cirad) ainsi que le projet
dans lequel le stage a lieu.
1.1 Présentation du Cirad
Le Centre de coopération Internationale en Recherche Agronomique pour le
Développement (le Cirad) a pour mission de contribuer au développement rural des pays
tropicaux et subtropicaux par des recherches, des réalisations expérimentales, des actions de
formation en France et à l'étranger et par l'information scientifique et technique. Ses activités
recouvrent les domaines des sciences agronomiques, vétérinaires, forestières et agroalimentaires. En interaction avec des projets de développement dans les régions tropicales, le
Cirad met au point des méthodes, des techniques, des outils et des produits.
Il conduit ces activités à Montpellier, à Nogent-sur-Marne, en Corse, dans les Dom-Tom et en
coopération avec des partenaires du Sud. Il est organisé en 28 programmes regroupés en 7
départements.
Parmi ces 7 départements, le département « Elevage et Médecine Vétérinaire Tropicale
(Cirad-emvt) » est composé de trois programmes. Le programme « productions animales » a
pour objectif d’améliorer, intensifier et diversifier les productions des bovins, des petits
ruminants, des chameaux, des monogastriques (volailles, porcs) et des poissons en les
adaptant aux contextes écologiques et socio-économiques. Pour ce faire, les agents travaillant
sur ce programme, modélisent et simulent le fonctionnement des systèmes d’élevage
tropicaux. Ils mettent au point des référentiels biologiques, techniques et économiques adaptés
au contexte de l’élevage dans les pays concernés ; tout ceci afin de concevoir des outils des
pilotage des politiques de développement et d’aide à la décision.
Dans le même département, le programme « santé animale » lutte contre la peste bovine
et la peste des petits ruminants, la péripneumonie et la pleuropneumonie contagieuse bovine
et caprine. Les maladies animales sont les principaux facteurs limitants de la productivité des
troupeaux. Si les moyens de lutte contre les maladies infectieuses et parasitaires sont
nombreux, ils demeurent insuffisants pour limiter les effets des principales affections
rencontrées dans les pays tropicaux. Le programme santé animale soutient les pays en
développement dans leurs efforts d’amélioration de la santé des troupeaux. L’enjeu est la
maîtrise des grandes pathologies animales tropicales, climatiques et socio-économiques des
zones tropicales.
Enfin, le troisième programme du département, appelé « écosystèmes naturels et
pastoraux » a pour but de sécuriser les conditions des vie des sociétés rurales et pastorales en
améliorant et en diversifiant l’usage des ressources naturelles liées à l’animal. Il doit aussi
gérer et valoriser durablement les écosystèmes, les milieux et les paysages, contribuer à la
conservation de la faune et de la flore et maîtriser les contraintes qui leur sont propres. Il doit
aussi proposer des outils et des méthodes de diagnostic et d’intervention appropriés aux
échelons directement concernés.
Jean-Baptiste ESTIVAL
11
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Le Cirad c’est aussi un effectif de 1800 personnes, dont 900 cadres et un budget de 1
milliard de francs.
Dans le cadre d’un contrat avec département « élevage et médecine vétérinaire tropicale »
du Cirad situé à Montpellier, j’ai effectué mon stage au sein d’une ATP intitulée :
« Elaboration d'un modèle de diffusion pour l'évaluation des stratégies de lutte contre une
enzootie ré-émergente : cas de la péripneumonie contagieuse bovine en Ethiopie ».
1.2 L’Action Thématique Programmée (ATP) [ 8 ]
La péripneumonie contagieuse bovine (PPCB) est une maladie dont l'importance
économique est considérable, ce qui justifie son inscription dans la liste A de l'Office
International des Epizooties (OIE). La plupart des pays africains sont contaminés et déploient
des efforts conséquents dans des campagnes de vaccination afin de limiter les pertes. Plus de
20 pays en Afrique sub-saharienne présentent la maladie de manière enzootique, avec une
recrudescence des cas depuis l'arrêt de la vaccination conjointe de la peste bovine et de la
PPCB. Cette situation menace des zones ou pays encore indemnes, avec les exemples de la
contamination de la Moyenne Guinée et du Bostwana, qui doivent consentir des efforts
financiers importants pour s'assainir. Les politiques de lutte contre la PPCB en Afrique sont
essentiellement empiriques et basées sur des expériences anciennes, encore mal évaluées
économiquement.
La modélisation mathématique de la diffusion des maladies a commencé au début du
siècle. Un grand nombre de modèles déterministes ou stochastiques ont ensuite été développés
pour représenter la dynamique des populations dans un cadre de maladies épidémiques ou
endémiques. Ces modèles sont, le plus souvent, basés sur un système d'équations
différentielles ordinaires qui représentent l'évolution dans le temps du nombre d'individus
sains, infectés, immunisés, résistants, etc. Ces modèles génériques considèrent généralement
que la population à risque est isolée et homogène. Ces hypothèses sont peu réalistes dans le
cas des populations domestiques en milieu tropical, et notamment pour la PPCB. En effet, les
populations domestiques se caractérisent par des structures agrégatives très fortes, dues aux
systèmes d'élevage et aux modes d'exploitation des animaux avec regroupement des animaux
en troupeaux, en villages, sur les marchés, aux points d'eau, etc. Ces structures agrégatives ont
un effet direct sur la diffusion de la maladie. Le premier enjeu de notre projet est donc de
représenter différents niveaux d'agrégation des animaux dans le modèle dynamique.
Dans le cadre de l'évaluation du coût d'une maladie, différents modèles économétriques
basés sur la définition d'une ou plusieurs fonction de coût ont été élaborés. Néanmoins, ces
modèles économétriques négligent très fréquemment les processus biologiques sous-jacents
qui sont représentés par quelques variables d'état "minimales". Les processus biologiques sont
pourtant fondamentaux dans la pertinence des diagnostics économiques issus des modèles de
prévision. Le second enjeu du projet est donc de représenter un système épidémiologique
dynamique (temporel et spatial) couplant un volet biologique et un volet économique. La
démarche globale de modélisation devra permettre notamment, à l'aide d'analyses de
sensibilité, de hiérarchiser les paramètres épidémiologiques importants dans la dynamique
globale du système, et de fixer les priorités de recherche de manière pertinente, au laboratoire
comme sur le terrain.
Le terrain d'étude se situe en Ethiopie, où la PPCB existe de manière enzootique et où des
structures et des moyens techniques permettent la récolte de données de terrain, avec en outre
Jean-Baptiste ESTIVAL
12
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
une implantation très ancienne du CIRAD-EMVT. Le système d'élevage représenté est
l'élevage sédentaire des hauts-plateaux qui présente une forte association agriculture-élevage.
La zone d’étude a été déterminée et est située dans le district de Bodji du Western
Wellega, autour de la ville de Bila (figures 1,2 et 3).
District de Bodji
#
Mekele
Debark
#
BILA
Maychew
#
Gonder
#
Debre# Tabor
Bahir# Dar
Weldiya
#
Dangila
#
Tendaho
#
Dese
#
Fi note#Selam
Debre Eli ya
sDebre Markos
# #
Fiche
#
Debre# Birhan
Mendi
#
Nekemte
Ano
#
#
Dembi Dolo
#
Adi s Alem
#
%Addis Ababa
Giyon
#
Debre Zeyt
#
Dire Dawa
#
Harar
#
#
Ji Ji ga
#
Gore
#
Jima
#
N
W
E
S
0
500 km
Figure 1 - Localisation du district de Bodji en Ethiopie
Figure 2 - Vues en 3 dimensions de la zone d'étude
Jean-Baptiste ESTIVAL
13
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
amuma agaloo
biqiltu dilaa
amuma borre
didide tullii
lalisaa jeetoo
burqaa bojjii
lalisaa babboo
lata bobinee
lalisaa mukkilamii
jamo tekesae
j m kobbara
%
wanddo innimayi kobara
caraqii kobara
0
5
10 km
Figure 3 - Les 13 PA du district de Bodji
Le Wellega est une zone administrative située à l’Ouest du pays et est frontalière avec le
Soudan. Avec 23800 km2, cette zone accueille près de 1.55 millions de personnes avec un
cheptel bovin de 1.28 millions de têtes. Au niveau administratif, le Wellega est divisé en 6
provinces ou awrajas, 49 districts ou woredas elles-mêmes subdivisées en 2123 peasant
associations (PA).
Les objectifs de cette ATP sont :
(a) Elaboration d'un modèle de diffusion de la maladie permettant de représenter 2 niveaux
d'observation :
-
modèle de diffusion intra-village : représentation de la diffusion entre animaux au
sein du village.
-
modèle de diffusion inter-villages : représentation d'une méta-population de villages,
connectés par l'intermédiaire de marchés (ventes et achats d'animaux) et d'autres lieux
de contamination comme les points d'eau et les pâturages. Les probabilités de
Jean-Baptiste ESTIVAL
14
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
contamination sont fonctions des prévalences intra-village, de la taille des marchés,
de la distance aux marchés et de l'intensité des flux, etc.
(b) Elaboration des fonctions de coût et de bénéfice liées à la maladie et aux méthodes de
lutte.
(c) Conception d'un système d'information géographique (SIG) permettant de gérer, de
représenter et de croiser plusieurs couches d'information spatialisées recueillies sur la zone
d'étude pour appuyer le travail de modélisation et d'estimation des paramètres : localisation
des villages, des marchés animaux, des axes de convoyage et de transhumance, des foyers de
PPCB, des différents niveaux de prévalence.
Cette Action Thématique Programmée est divisée en 2 volets :
-
Volet 1 : Mise au point des modèles théoriques. Premières études de sensibilité à
partir des paramètres connus d'après les travaux antérieurs. Mise en place des
protocoles d'enquête en Ethiopie : suivis démographiques et sanitaires des bovins
dans des villages touchés et des villages indemnes de PPCB, enquêtes sur les marchés
au bétail (et des autres points de contagion si ils sont identifiés), enquêtes de
prévalence "village". Conception du SIG.
-
Volet 2 : Estimation plus précise des paramètres épidémiologiques concernant la
PPCB. Affinement et validation des modèles.
Actuellement, le volet 1 n’est pas terminé mais les chercheurs du Cirad préparent le volet
2 de l’ATP prévu pour mi-2002. Le travail effectué pendant mon stage concerne la diffusion
inter-villages de la maladie dans le cadre du volet 1 de l’ATP.
Jean-Baptiste ESTIVAL
15
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
2 CHAPITRE 2 : Les systèmes multi-agents et la plate-forme
Cormas
Après avoir présenté l’environnement du stage, ce nouveau chapitre est une introduction
aux systèmes multi-agents et à la plate-forme de développement Cormas. Cette plate-forme
est un logiciel qui a été conçu par le Cirad spécialement pour élaborer des simulateurs multiagents.
2.1 Les systèmes multi-agents ou SMA [ 1 ]
2.1.1 Présentation
Depuis quelques années, les systèmes multi-agents ont pris une place de plus en plus
importante en informatique, que ce soit dans le domaine de l’intelligence artificielle, dans
ceux des systèmes distribués, de la robotique en introduisant la problématique de
l’intelligence collective et de l’émergence de structures par interactions.
Les recherches dans le domaine des systèmes multi-agents poursuivent deux objectifs
majeurs : le premier concerne l’analyse théorique et expérimentale des mécanismes d’autoorganisation qui ont lieu lorsque plusieurs entités autonomes interagissent ; le second
s’intéresse à la réalisation d’artefacts distribués capables d’accomplir des tâches complexes
par coopération et interaction. Leur position est donc double : d’un côté elles se placent au
sein des sciences cognitives et sociales (psychologie, éthologie, sociologie, philosophie …) et
naturelles (écologie, biologie …) pour à la fois modéliser, expliquer et simuler des
phénomènes naturels ; de l’autre, elles se présentent comme une pratique, une technique
tendue vers la réalisation de systèmes informatiques complexes à partir des concepts d’agents,
de communication, de coopération et de coordination d’actions.
C’est en mettant l’accent sur les interactions et plus exactement en analysant les systèmes
d’interactions qui existent entre les entités autonomes et indépendantes (appelées agents), que
les systèmes multi-agents se distinguent des approches systématiques plus classiques en
prenant le parti de l’émergence et en considérant que l’action et l’interaction sont les éléments
moteurs de la structuration d’un système dans son ensemble.
2.1.2 La notion d’agent
Parfois, le terme d’agent est utilisé de manière assez vague. Cependant on peut dégager
une définition minimale commune qui est approximativement la suivante :
On appelle agent une entité physique ou virtuelle :
a. qui est capable d’agir dans un environnement,
b. qui peut communiquer directement avec d’autres agents,
Jean-Baptiste ESTIVAL
16
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
c. qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une
fonction de satisfaction, voire de survie, qu’elle cherche à optimiser),
d. qui possède des ressources propres,
e. qui est capable de percevoir (mais de manière limitée) son environnement,
f. qui ne dispose que d’une représentation partielle de cet environnement (et éventuellement
aucune),
g. qui possède des compétences et offre des services,
h. qui peut éventuellement se reproduire,
i. dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et
des compétences dont elle dispose, et en fonction de sa perception, de ses représentations
et des communications qu'elle reçoit.
Une définition plus concise est celle d’une entité capable d’agir sur elle-même et sur son
environnement, qui dispose d’une représentation partielle de cet environnement et qui peut
communiquer avec d’autres entités. Cependant, il existe plusieurs façon de concevoir des
agents.
2.1.3 Les différents types d’agents
Il y a deux grandes écoles de pensée dans la communauté multi-agents, chacune
concevant les agents de manière différente. La première, l’école cognitive, conçoit les agents
comme des entités déjà « intelligentes », c’est-à-dire capable de résoudre certains problèmes
par eux-mêmes. La deuxième école, la réactive, conçoit les agents comme des entités très
simples réagissant directement aux modifications de l’environnement.
2.1.3.1 Les agents cognitifs
L’origine de l’approche cognitive se trouve dans la volonté de faire communiquer et
coopérer des systèmes experts classiques. Dans les systèmes multi-agents cognitifs chaque
agent est considéré comme un système expert d’où la cognition, synonyme de connaissance
rationnelle, sert de guide à ses actions. Dans ce cadre, le système multi-agents est composé
d’un petit nombre d’agents, où chaque agent dispose d’une base de connaissance comprenant
l’ensemble des informations et le savoir-faire nécessaires à la réalisation de ses tâches et à la
gestion des interactions avec les autres agents et avec l’environnement.
Les agents cognitifs, en raison de leur sophistication et de leur capacité de raisonnement,
peuvent travailler indépendamment sur certaines tâches. Ils peuvent ainsi résoudre des
problèmes de manière relativement individuelle. Cette capacité offre une grande souplesse
dans l’expression du comportement des agents.
2.1.3.2 Les agents réactifs
Les agents réactifs, contrairement aux cognitifs, n’ont pas une intelligence individuelle.
Cette façon de penser avance qu’il n’est pas nécessaire que les agents soient intelligents pour
que le système ait un comportement global intelligent. Les agents réactifs possèdent des
mécanismes simples de réaction aux événements. Ils ont parfois un objectif, mais ils n’ont
Jean-Baptiste ESTIVAL
17
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
aucune planification de la manière dont on peut arriver aux objectifs. Leur mode de
fonctionnement est basé sur une fonction du type f(stimuli) à réponse, c’est-à-dire qu’ils
n’agissent qu’à travers les stimuli aperçus dans l’environnement ou créés à partir d’autres
agents.
En effet, la caractéristique principale des systèmes d’agents réactifs est le comportement
émergent du système global qui n’est souvent pas prévisible. Ainsi, une approche typique des
systèmes multi-agents réactifs débute par la création d’éléments simples, gouvernés par des
lois simples, qui interagissent pour développer une structure globale sans contrôleur
responsable du comportement de chaque élément.
La division cognitif / réactif est parfois trop simpliste. Il existe plusieurs sous catégories
pour mieux mettre en évidence les caractéristiques des agents.
2.1.3.3 Les autres catégories d’agents
Un agent intentionnel, appelé également agent « délibératif » ou « rationnel », est un type
d’agent cognitif qui possède explicitement des buts motivant ses actions. Ils sont alors
capables de concevoir des plans et de prévoir des réactions possibles à leurs actions en vue
d’accomplir ses buts. Cette capacité d’anticipation et de planification permet à ce type d’agent
d’optimiser son comportement et de n’effectuer ainsi que les actions véritablement nécessaire.
En effet, la plupart des systèmes multi-agents cognitifs sont conçus avec des agents
intentionnels.
Les agents modules caractérisent un autre type d’agent cognitif, mais contrairement à ces
derniers, ceux-ci n’ont pas des buts explicites. Ils sont normalement utilisés comme des agents
auxiliaires capables d’accomplir certaines tâches complexes demandées par d’autres agents,
mais sans que ces tâches soient considérées comme les buts qui les dirigent. Ils se servent de
leur mémoire (vues comme des bases de données) pour répondre aux requêtes qui leur sont
adressées. On pourrait dire alors qu’ils n’agissent qu’à travers des réflexes, lorsqu’un autre
agent l’active.
Les agents réactifs dirigés par des mécanismes de motivation qui les poussent à accomplir
certaines tâches sont qualifiés d’agents pulsionnels.
Contrairement aux agents pulsionnels, les agents réactifs qui n’ont pas un but précis pour
les diriger sont connus comme des agents tropiques. Le comportement de ces dernier est guidé
intégralement par l’état local de l’environnement où ils sont plongés, c’est-à-dire ils n’ont
même pas un état interne dont ils pourraient éventuellement se servir. Bien que l’on puisse à
priori penser que les agents tropiques ne soient pas très utiles, il est possible de modéliser des
comportements relativement complexes en utilisant l’environnement comme repère et
mémoire.
Enfin, les agents hystérétiques diffèrent des agents tropiques par le fait qu’ils possèdent la
capacité de conserver des informations, et donc d’avoir de la mémoire. Pour un tel agent, les
actions ne sont pas prises seulement en fonction de sa perception de l’environnement mais
aussi des expériences passées. Ces expériences sont en effet caractérisées par l’état de l’agent.
En plus d’une diversité des agents, les domaines d’application des systèmes multi-agents
sont particulièrement riches.
Jean-Baptiste ESTIVAL
18
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
2.1.4 La simulation multi-agents
On peut considérer qu’il existe cinq grandes catégories d’applications des systèmes multiagents : la résolution de problèmes au sens large, la robotique distribuée, la simulation multiagents, la construction de mondes hypothétiques et la conception kénétique de programme
(figure 4).
Système
multi-agents
Conception
kénétique de
programmes
Résolution
Simulation
Robotique
de problèmes
multi-agents
distribuée
Construction
de mondes
hypothétiques
Figure 4 - Classification des différents types d'application des SMA
Nous allons plus précisément nous intéresser à la simulation multi-agents car c’est le
domaine d’application qui concerne le sujet du stage.
La simulation est une branche très active de l’informatique qui consiste à analyser les
propriétés de modèles théoriques du monde environnant. La physique, la chimie, la biologie,
l’écologie, la géographie et les sciences sociales notamment font un grand usage des
simulations pour essayer d’expliquer et de prévoir les phénomènes naturels. Pour cela, les
chercheurs de ces différentes disciplines construisent des modèles de la réalité, puis testent
leur validité en les faisant exécuter sur des ordinateurs. Généralement, ces modèles sont
donnés sous la forme de relations mathématiques entre des variables représentant des
grandeurs physiques mesurables dans la réalité. Les modèles les plus utilisés sont les
équations différentielles, les matrices de transitions, etc. Ces modèles et les techniques de
simulation numérique associées présentent néanmoins certains problèmes, dont on peut
donner ici les principaux :
-
Complexité et réalisme des paramètres. Pour être utilisables et correspondre à la
réalité, ces équations comportent souvent un grand nombre de paramètres difficiles à
estimer et manquent surtout de réalisme.
-
Difficulté à modéliser l’action. La critique, peut-être majeure, que l’on pourrait faire
aux modèles mathématiques actuels porte sur leur difficulté (voire leur impossibilité)
à prendre en compte les actions des individus, et donc les modifications effectives de
l’environnement qui découlent de leur comportement.
-
La carence qualitative. Par leur nature même, les simulations numériques ne peuvent
considérer que des paramètres quantitatifs et apparaissent désarmées devant la
multitude d’informations qualitatives recueillies par les chercheurs de terrain, les
naturalistes notamment.
En plus des modèles numériques qui sont statiques, il existe des modèles dynamiques
comme les modèles de simulation à événements discrets. Ces modèles ont pour objectif de
représenter les composants d’un système ainsi que leurs interactions. Les modèles de
simulation à événements discrets sont dynamiques, c’est-à-dire que l’écoulement du temps
joue un rôle crucial. L’état du système ne change seulement qu’à certains repères dans le
Jean-Baptiste ESTIVAL
19
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
temps. Dans une telle simulation il y a donc une horloge virtuelle qui mémorise tous les
repères pour lesquels un événement est déclenché. Une telle horloge est fournie par le logiciel
de simulation à événements discrets, et la valeur de cette horloge est automatiquement gérée
par ce même logiciel.
Les systèmes multi-agents apportent une solution radicalement nouvelle au concept
même de modèle et de simulation dans les sciences de l’environnement, en offrant la
possibilité de représenter directement les individus, leurs comportements et leurs interactions.
La simulation multi-agents est fondée sur l’idée qu’il est possible de représenter sous forme
informatique le comportement des entités qui agissent dans le monde et qu’il est ainsi possible
de représenter un phénomène comme le fruit des interactions d’un ensemble d’agents
disposant de leur propre autonomie opératoire. L’intérêt de ces simulations est de pouvoir
considérer aussi bien des paramètres quantitatifs (c’est-à-dire des paramètres numériques) que
qualitatifs (des comportements individuels faisant éventuellement appel à des raisonnements
stratégiques).
De ce fait, l’utilisateur d’un tel simulateur a un rôle actif. Il emploie un SMA comme s’il
s’agissait d’un laboratoire miniature, déplaçant des individus, changeant leur comportement et
modifiant les conditions environnementales. Chaque agent est évidemment « marqué »
comme pourrait l’être un être naturel, mais ce marquage est plus facile, puisque l’individu
peut être suivi à tout moment dans son évolution et avec le degré de finesse désiré. On
exploite alors les capacités des ordinateurs pour traiter les données obtenues, les agréger et les
traiter à l’aide de techniques statistiques afin de vérifier les hypothèses émises.
Les principales qualités des modélisations multi-agents sont leur capacité d’intégration et
leur flexibilité. En effet, il est possible d’intégrer dans la même modélisation des variables
quantitatives, des équations différentielles, et des comportements fondés sur des règles
symboliques.
Enfin, les systèmes multi-agents permettent la modélisation de situations complexes dont
les structures globales émergent des interactions entre individus, c’est-à-dire de faire surgir
des structures du niveau macro à partir de modélisations du niveau micro, brisant ainsi la
barrière des niveaux, si criante dans les modélisations classiques.
Pour développer de tels simulations, plusieurs solutions sont possibles. On peut
programmer directement en langage de haut niveau tel que le C++, ou bien utiliser une plateforme de développement comme Cormas.
2.2 La plate-forme de développement Cormas [ 6 ]
Cormas est un environnement de programmation développé par le Cirad, permettant la
construction de modèles de simulation multi-agents. Il a été conçu, en particulier, pour
modéliser la gestion des ressources renouvelables. Il peut ainsi décrire les coordinations entre
individus ou entre groupes exploitant des ressources communes. C’est aussi le logiciel que
j’ai utilisé pendant tout mon stage afin d’élaborer une première version du simulateur.
Jean-Baptiste ESTIVAL
20
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
2.2.1 Présentation du logiciel
Il existe quelques environnements de programmation dédiés à la création de systèmes
multi-agents. Nous pouvons les classer en deux catégories: certains d'entre eux sont orientés
vers une communication entre systèmes distribués, d'autres sont axés vers la construction de
modèles de simulation.
L'environnement de programmation CORMAS appartient à cette deuxième catégorie,
avec une spécificité dans le domaine de la gestion des ressources renouvelables. Il offre un
cadre de développement de modèles de simulation des modes de coordination entre des
individus et des groupes qui exploitent ces ressources en commun. Ce cadre se structure en
trois modules (voir figure 5).
-
Un premier module permet de définir les entités du système à modéliser, que l'on
appelle des agents informatiques, et leurs interactions. Ces interactions s'expriment
par des procédures de communication directe (envois de messages), et/ou par le fait
plus indirect de partager le même support spatial.
-
Le second module concerne le contrôle de la dynamique globale (ordonnancement
des différents événements pour un pas de temps du modèle).
-
Un troisième module permet de définir une observation de la simulation selon des
points de vue. Cette fonctionnalité autorise l'intégration des modes de représentation
dans le processus de modélisation.
Figure 5 - Interface du logiciel Cormas et ses 3 modules
CORMAS facilite le travail de construction du modèle en proposant au sein des ces trois
modules des éléments prédéfinis. Parmi ces éléments figurent les entités types, qui sont des
classes SmallTalk génériques à partir desquelles, par spécialisation et affinage, l'utilisateur
définit des entités particulières pour les besoins de son application.
Les trois icônes de l’onglet « Visualisation » permettent d’afficher des fenêtres montrant
l’évolution du systèmes sous divers angles.
Jean-Baptiste ESTIVAL
21
Simulation de la dynamique de la PPCB en Ethiopie
-
Stage ISIMA Avril-Septembre 2001
On peut visualiser l’environnement en ouvrant une grille.
-
On peut aussi voir toutes les communications inter-agents par l’intermédiaire
de l’observateur de communication.
-
Enfin un troisième outil, l’observateur d’état permet de voir évoluer le les
états du système dans le temps.
Dans le panneau simulation, le bouton « Initialiser » permet d’initialiser le modèle en
mémoire avant de lancer une simulation en pressant le bouton « Pas à Pas ». En fixant une
« Date Limite » il est possible de « Lancer » la simulation jusqu'à la date limite. Le repère de
temps courant est affiché dans le champs « Temps ». Il est aussi possible de lancer une
simulation plusieurs fois en appuyant sur le bouton « Lancer N Fois ».
2.2.2 Apprentissage du logiciel [ 7 ]
Sous la responsabilité de Christine Force et de Laurent Pérochon, un projet a été réalisé
par deux étudiants de l’ISIMA, Mickaël Pichon et François Guerry, et avait pour sujet : « Test
de Cormas pour simuler la PPCB ». Ce projet a été proposé afin de savoir si la plate-forme
permettait de réaliser les modèles prévus par l’ATP. Une première étape dans l’étude de
Cormas a été de lire le rapport de projet et de tester leur modèle sur la plate-forme elle-même.
Le premier problème rencontré a été celui des incompatibilités entre les différentes
versions de Cormas. La version utilisée pour le stage est la version Cormas 2001 alors que
pour leur projets, Mickaël et François ont utilisé une version bien antérieure. Je n’ai donc pas
pu étudier en détail le modèle qu’ils avaient programmé. Cependant à l’époque à laquelle mon
stage a débuté, le Cirad a mis à disposition des utilisateurs de Cormas un site qui est
entièrement dédié à la plate-forme : http://cormas.cirad.fr. On trouve sur ce site en plus des
documentations techniques sur Cormas et l’environnement Visual Works, des modèles
didactiques conçu pour pouvoir tester et apprendre Cormas. C’est donc grâce à ces modèles et
aux conseils des chercheurs du Cirad que j’ai appris à utiliser Cormas.
Ce logiciel a été conçu sous l’environnement Visual Works qui permet la création
d’applications, en langage SmallTalk. SmallTalk était pour moi un langage totalement
inconnu que j’ai appris grâce aux documents que mes tuteurs de stages m’ont fournis. Chaque
entité de Cormas est une classe SmallTalk et le langage utilisé dans Cormas pour programmer
les méthodes, est du SmallTalk. Afin de me familiariser avec SmallTalk et Cormas j’ai conçu
un petit modèle regroupant toutes les particularités des modèles didactiques : automates,
agents spatiaux, agents sociaux , agents passifs, communication entre agents et utilisation des
trois outils de visualisation.
Ce modèle représente des agents qui errent dans un environnement à la recherche de
matériaux et les ramènent dans une base. Le problème c’est que la base n’accepte qu’un seul
agent pour le dépôt de matériau trouvé. Pour résoudre ce problème, l’agent qui trouve un
matériau en informe la base qui répond s’il peut venir déposer le matériau ou s’il doit
attendre. La détection de matériau se fait sur le voisinage d’un agent : s’il y a un matériau
Jean-Baptiste ESTIVAL
22
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
dans les cases qui l’entoure, alors l’agent prend le matériau, sinon il se déplace aléatoirement
vers une autre case. La figure 6 représente un état du système par son observateur graphique.
Figure 6 - Exemple d'observation graphique
L’observateur graphique est divisé en cellules (ici jaune – ou gris clair -, grise ou rouge –
ou gris foncé - ) sur lesquelles les agents (ici triangles) se déplacent pour trouver les
matériaux (losanges). La base quant à elle, est représentée par une cellule rouge (ou gris
foncé). Enfin une cellule reste jaune tant qu’un matériau est disponible sur cette même cellule,
sinon elle devient grise.
Comme je l’ai précisé plus haut, si un agent veut aller à la base déposer un matériau, il
demande un autorisation à la base. On peut observer les échanges de messages grâce à
l’observateur graphique (figure 7) qui est une autre façon de voir évoluer le système. Les
agents chercheurs de matériaux sont numérotés de 1 à 5. La base est étiquetée nil. Le trait
reliant l’agent 1 et la base montre qu’au pas de temps actuel, les deux entités communiquent.
De plus, dès qu’un échange est effectué entre 2 entités, ces deux entités se rapprochent l’une
de l’autre, ceci pour mieux caractériser la fréquence des communications.
Enfin, l’observateur d’état (figure 8) m’a permis d’observer par exemple la vitesse à
laquelle les matériaux sont pris. La partie « graphiques globaux » montre l’évolution d’une
variable globale nbMateriau qui représente la quantité de matériaux présente actuellement sur
l’environnement. Par contre, le graphique local montre l’évolution de l’attribut densité d’une
cellule particulière, dans le cas présent il s’agit de la cellule numérotée 95.
Jean-Baptiste ESTIVAL
23
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Figure 7 - Exemple d'observation de communication
Figure 8 - Exemple d'observation d'états
Jean-Baptiste ESTIVAL
24
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Ce petit modèle simple, m’a donc permis d’apprendre d’une part le langage de
programmation SmallTalk ainsi que le fonctionnement principal de la plate-forme de
développement Cormas. Cependant, tout en apprenant Cormas, nous avons effectué une
analyse du système à modéliser, avec l’aide de Christine Force et Laurent Pérochon, ainsi que
les chercheurs du CIRAD-EMVT.
Jean-Baptiste ESTIVAL
25
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
3 CHAPITRE 3 : Analyse du système [ 3, 4, 5 ]
Parallèlement à l’apprentissage de SmallTalk et de Cormas, j’ai effectué une analyse du
système à simuler. Ce chapitre présente dans un premier temps le sujet du stage puis l’analyse
du système.
3.1 Présentation du projet
L’objectif du stage est de concevoir et réaliser un simulateur multi-agents (SMA)
reproduisant l’évolution de la PPCB dans les troupeaux de bovins éthiopiens dans la région
des Highlands de la Woreda de Bodji à partir des décisions prises par les éleveurs et d’autres
agents intervenant sur cette diffusion.
Le CIRAD a mis au point un modèle à compartiments pour la diffusion intra troupeau de
la maladie. A terme, ce modèle donne des règles de décision qui sont appliquées directement
au SMA qui inclut donc lui-même la simulation de l’évolution intra-village de la maladie.
L’évolution intra-village de la maladie est donnée par un modèle à compartiments. Ce
modèle (appelé modèle intra) a été conçu par les chercheurs du CIRAD et sera intégré dans le
SMA. La première version du SMA développée portera le nom de « Dëlla ». Dans le cadre de
notre étude, une dëlla est un parc où les animaux sont regroupés le soir. La dëlla est un des
principaux moyen de diffusion de la maladie à l’intérieur d’un troupeau.
La simulation pourra s’étendre sur une semaine au minimum, jusqu’à plusieurs années. Le
pas de simulation est la semaine. De plus, d’un point de vue climatique, nous distinguons
quatre saisons en Ethiopie qui durent 3 mois chacune. Elles correspondent aux pluies et
donnent vie au calendrier cultural :
-
Bona : décembre, janvier, février.
Arfasaa : mars, avril, mai.
Ganna : juin, juillet, août.
Birra : septembre, octobre, novembre
Ce premier simulateur sera construit à partir des connaissances acquises pour l'instant,
notamment d'après les résultats du stage Cnearc réalisé entre juin et septembre 2000 (Sandrine
Fréguin, 2000), mais sans données réelles de terrain car celles-ci ne sont pas encore
disponibles. Il est donc essentiel que ce simulateur soit évolutif, il doit pouvoir être complété
et adapté courant 2002 et 2003 (par d'autres stages et/ou thèses), notamment sur les point
suivants :
-
-
entrée de nouveaux paramètres du modèle de propagation intra-troupeau ;
entrée d'un état initial du système défini d'après les résultats des enquêtes
"recensement", "suivi des facteurs de risque", "suivi des marchés" et "incidence
troupeaux", et des analyses spatiales SIG ;
modification ou complément des règles de gestion du système ;
ajout des règles de pratiques de lutte.
Jean-Baptiste ESTIVAL
26
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Actuellement le lien entre le simulateur et le SIG est prévu de la manière suivante (figure
9). Le simulateur reçoit du SIG l’état initial du système, puis retourne au SIG les résultats
finaux de la simulation. Ces résultats seront affichés et analysés au sein du SIG. Au cours de
la simulation, le simulateur affichera sur une carte l’état sanitaire des troupeaux (infectieux ou
non).
SIG
1: Etat initial
Du système
4: analyse des
résultats
3: Résultats de
La simulation
Simulateur
2: Simulation
Figure 9 - Relation entre le SIG et le simulateur permettant les simulations
3.1.1 L’approche adoptée pour le simulateur
Le simulateur utilise l’approche « systèmes multi-agents » (SMA). La base de cette
approche est qu’au lieu de représenter le comportement d’un groupe d’entités, on représente
chaque entité ainsi que ses relations. Le comportement du groupe est obtenu par émergence.
Cette approche permet, non seulement de mieux comprendre le système étudié, mais
également de mieux respecter la réalité observée. Ainsi, dans le simulateur Dëlla, chaque
animal et chaque exploitation seront représentés. Chacun a un comportement et un état propre.
Le temps est géré par événements. Ceci signifie que le système évoluera à chaque fois
qu’un événement survient. Un événement sera par exemple une vente, une vaccination, un
labourage, etc. Afin de représenter cela, en début de simulation, le simulateur prédit certains
événements qui surviendront au cours d’une année. Ces événements sont placés dans un
échéancier, et ils s’exécuteront quand le moment sera venu. Quand un événement est réalisé,
il modifie l’état des différents agents, et pourra lui-même générer des événements, voire en
supprimer de l’échéancier. Par exemple, un événement du type « confiage à un éleveur d’un
animal », engendrera automatiquement un événement de « retour de l’animal vers son
exploitation d’origine » pour une semaine ultérieure. De même, si un événement de type
« confiage d’un b œuf» est prévu dans l’échéancier et que ce bœuf vient à mourir avant cela,
le premier événement sera effacé de l’échéancier. Cette façon de raisonner permet de
structurer les différentes actions qui surviendront dans le simulateur, et de diminuer la
Jean-Baptiste ESTIVAL
27
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
complexité à prendre en compte. Cette approche permet aussi de mieux représenter des règles
complexes telles que les règles régissant les flux d’animaux.
3.1.2 Particularités du système étudié
La première particularité est que les échanges entre éleveurs sont fréquents et peuvent
être de courte durée. La deuxième est que les élevages sont constitués de petits troupeaux, en
moyenne 10, avec une variabilité forte (d'ailleurs, certains exploitants se retrouvent sans
animaux une partie de l'année). Il paraît donc difficile de simplifier le système en supposant
par exemple que les effectifs ou les échanges sont stables au cours du temps. La troisième
particularité est que les observations faites sur le terrain le sont sur des troupeaux qui pourront
avoir été vaccinés ou traités contre la PPCB. Ainsi, pour représenter la diffusion de la
pathologie, il semble nécessaire de prendre en compte ces deux actions. En remarque, la
qualité du traitement (antibiotiques) et du vaccin est très fortement variable en fonction par
exemple du composant utilisé, du mode d’admission ou du stockage préalable.
3.1.3 Outils utilisés
Le langage qui sera utilisé pour représenter le système conceptuel est le langage de
représentation graphique Unified Modelling Language (UML). Ce langage est maintenant la
norme en ce qui concerne l’approche « objet ». Il permet un excellent interfaçage entre les
divers intervenants, sans pour autant qu’il soit nécessaire qu’ils aient des connaissances
informatiques. Ceci facilite donc le dialogue et la validation des connaissances à mettre dans
le simulateur. Il permet de représenter non seulement de manière statique mais également
dynamique le système étudié.
L'approche objet sera utilisée pour permettre une bonne représentation du système et
faciliter ses évolutions. Ceci permet de créer des entités, avec non seulement leurs attributs
mais également les fonctions qu’elles peuvent remplir. C’est l’approche informatique qui
correspond le mieux à la vision multi-agents.
Le simulateur utilisera également des sorties graphiques afin de voir l’évolution au cours
du temps de la PPCB. Des outils informatiques offrant des facilités dans ce domaine sont
donc nécessaires.
Pour toutes ces raisons, le choix s'est porté vers la plate-forme multi-agents Cormas
développée par le CIRAD. Son langage de programmation est SmallTalk, et elle fonctionne
sous l’environnement Microsoft Windows 9x. Ce choix permettra de développer un premier
prototype de manière assez rapide.
3.2 Contamination d’un troupeau
A priori on a en langage épidémiologique trois événements qui provoquent l’apparition
de la maladie chez un animal d’un troupeau :
Jean-Baptiste ESTIVAL
28
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
-
introduction d’animaux malades liés aux échanges et prêts, et passage de la maladie
vers un autre animal de ce troupeau.
-
contact avec un animal malade, lié au voisinage (par exemple partage du même
pâturage) ce qui peut être le contact de tout le troupeau avec un autre troupeau.
-
résurgence de la maladie dans un troupeau. Ce troupeau a déjà eu de la PPCB
autrefois et possède des animaux qui sont suffisamment vieux pour avoir gardé
l’histoire de la maladie c’est à dire le séquestre pulmonaire. Ces animaux paraissent
sains mais peuvent introduire la maladie dans le troupeau.
On peut classer les différentes voies de contamination par catégories.
3.2.1 Contamination par introduction d’animaux malades
Dans cette catégories on trouve :
-
Contamination par prêt. Lorsque les éleveurs se prêtent des animaux, il se peut que
des animaux passent une ou plusieurs nuits dans une dëlla étrangère. Les animaux
prêtés qui ont un certain statut individuel et qui sont tirés d’un troupeau qui a lui
même un certain statut vis à vis de la maladie, peuvent être contaminés par la dëlla
étrangère (ou par effet miroir contaminer la dëlla vierge où ils entrent, ou accélérer la
maladie si cette dëlla n’est pas vierge mais était déjà infectée…) puis, en rentrant de
confiage, ils peuvent alors contaminer leur troupeau d’origine (s’il est resté vierge
entre temps etc., tous les cas de figures sont possibles). On distinguera plus loin des
cas particuliers de contamination par confiage. En effet la durée d’un prêt a une
importance fondamentale pour la contamination d’un animal, c’est pour cela qu’il
faut distinguer certains cas.
-
Contamination par retour de marché. Cette contamination a lieu lorsqu’un animal
acheté vient du marché et est introduit dans la dëlla. S’il est contaminé, alors il peut
contaminer la dëlla ou accélérer le processus de contamination.
-
Introduction de mâles dans la dëlla pour la reproduction. Le mâle séjournant
plusieurs nuits dans la dëlla, les possibilités de contamination sont loin d'être nulles
dans un sens comme dans l'autre. La période où l’on introduit des mâles dans les dëlla
est Arfasaa. Les éleveurs se prêtent les taureaux c'est pour cela qu'on a signalé leur
séjour dans des dëllas voisines. En dehors de la période de reproduction les taureaux
sont dans la dëlla de leur éleveur mélangés avec les autres animaux.
3.2.2 Contamination par contact
Dans cette catégories, les voies de contamination sont :
Jean-Baptiste ESTIVAL
29
Simulation de la dynamique de la PPCB en Ethiopie
-
Stage ISIMA Avril-Septembre 2001
Contamination par le marché. Cette contamination a lieu le jour pendant un marché.
En effet un éleveur peut envoyer des animaux au marché sans qu'ils soient vendus.
Pendant le marché, tous les animaux sont regroupés et sont en contact permanent avec
d'autres animaux de différents troupeaux. C'est pour cela qu'il faut tenir compte de ce
type de contamination car un animal qui est envoyé au marché est exposé à une
contamination, s'il n'est pas vendu il rentre le soir dans sa dëlla où il pourra alors
contaminer d'autres animaux (à priori ce risque de contamination est sûrement plus
faible que passer plusieurs nuits dans une dëlla - le marché ne dure qu’une demi
journée -, mais nous n’avons pas d’éléments quantitatifs).
Remarque: La diffusion de la PPCB dans le marché et dans la dëlla est calculée par les règles
de diffusion du modèle intra-troupeau.
-
Contamination par pâturage ou par lieu-dit. Durant la journée les animaux sortent de
la dëlla pour aller dans les pâturages, il s’agit donc d’animaux qui sortent en lots plus
ou moins complets. On peut imaginer que pour certains gros troupeaux, la dëlla se
coupe en deux à terme, mais dans la majorité des cas la dëlla sort toute ensemble et va
en groupe au pâturage. Durant la journée, les élevages sont en contact avec d’autres
troupeaux ou non. Il faudrait distinguer certains sous événements.
Par exemple lorsque les animaux partent en pâturage, les animaux peuvent être
mélangés ou bien les troupeaux peuvent se toucher mais les animaux ne sont pas
mélangés. De plus, les éleveurs peuvent avoir un gardien pour les pâturages. Si c’est
le cas, ils ont consigne de ne pas mélanger les animaux, donc le risque de
contamination est faible et il n’y a pas de contact entre deux animaux d’un troupeau
différent (cependant il se peut que les troupeaux se touchent, ce qui constitue un
contact entre des troupeaux avec un risque de contamination différent). Par contre si
aucun des troupeaux présents dans le pâturage n’a de gardien, alors les animaux vont
pâturer comme ils le veulent et il y aura des contacts entre des animaux de troupeaux
différents.
Nous voyons ici qu’il peut être intéressant de distinguer les deux cas suivants :
contact entre des animaux de différents troupeaux (pas de gardien) et contact entre
troupeaux (gardien), ces deux contacts ayant des risques différents. On aurait donc un
risque de contamination au niveau d’un animal ainsi qu’au niveau d’un troupeau.
-
Contamination par labourage. L’échange de b œufs pour labours est très fréquent
(voir paragraphe 2 les confiages). Il y a diverses hypothèses sur les prêts entre paires
de b œufs qui vont toujours ensemble, ainsi que les prêts individuels d’animaux.
-
Contamination par foulage. Le foulage consiste à écraser (ou battre) les récoltes pour
séparer le son du grain et la paille, et libérer le grain récupéré pour la consommation.
Le foulage est encore un cas particulier distinct du labourage : le facteur de
contamination est différent. Là aussi il se peut que l'animal se contente d'un
aller/retour dans la même journée où il rejoint d’autres animaux (un petit groupe en
général du même village) pour travailler sur l’aire de foulage (il pourrait être
intéressant de repérer spatialement ces aires de foulage si elles sont toujours les
mêmes).
Jean-Baptiste ESTIVAL
30
Simulation de la dynamique de la PPCB en Ethiopie
-
Stage ISIMA Avril-Septembre 2001
Contamination par piétinement. Le piétinement est une pratique pour certaines
cultures (teff en particulier) : il s’agit d’une préparation des champs avant le semis qui
consiste à marcher après labour sur la terre pour casser les mottes de terres. Dans ce
cas les animaux sont lâchés sur le champ sans organisation ; c’est assez différent du
foulage où ils résident ensemble dans un espace restreint et où le risque de
contamination, si un animal est malade, est bien réel. On pourrait l’associer au risque
pâturage.
Remarques :
•
A terme, on pourra prendre en compte des dissociations volontaires de partie de
troupeaux en cas de maladie, par exemple quand un éleveur isole un animal qui est
malade : isolement de la dëlla et donc du reste des contacts possibles. C’est un biais
important si beaucoup d’éleveurs le font car il s’agit d’une gestion du risque très
protectrice vis à vis des autres troupeaux et des animaux du même troupeau et donc
modifiant très significativement le risque issu d’un animal malade.
•
On peut remarquer que la durée et la forme des échanges pouvant provoquer une
contamination, sont très variables. Cela pose un problème puisqu’un animal qui est
échangé pour seulement une journée n’est pas exposé à la contamination de la même
façon qu’un animal qui va rester longtemps. Si un animal sain rentre dans une dëlla il
suffit de simuler si cette dëlla est malade ou non, cela donne une probabilité de
transmission à cet animal, tandis qu’un échange à la journée est plutôt un modèle de
contact avec un autre animal (ou plusieurs animaux si foulage, labour).
•
De plus, il faut différencier les échanges : par exemple lorsqu'un b œuf est échangé
pour labourer, il va rester toute la journée à coté d'un animal d'un autre troupeau ou du
même troupeau qui peut être contaminé ; dans ce cas le risque de contamination est
plus élevé que celui pour un animal échangé pour le foulage par exemple. La
différence est très faible à l’échelon le plus simple pour un travail normal, ce qui fera
la différence ce sera la durée du travail et donc la durée de l’échange. Un foulage sera
peut être d’une semaine, tandis qu’un labour sera peut être d’un mois : c’est cela qui
changera le calcul du risque mais le risque unitaire événementiel sera idem. N'existant
aucune règle en ce qui concerne la durée d'un échange, cette durée pourrait
éventuellement être une caractéristique propre à un élevage. De la même façon que
pour l'achat, on pourrait considérer que le demandeur s'adresse à des échangeurs
saisonniers. Le choix de l’échangeur se fera selon des règles à définir.
3.2.3 Propositions de simplification
Nous proposons de modéliser le premier cas (contamination par prêt et confiage) de
manière fine puisque c’est la voie de contamination la plus importante.
On pourrait modéliser le marché de façon plus grossière : on n’utiliserait pas les règles de
diffusion intra mais plutôt une probabilité de contamination si le marché est atteint.
Les autres cas pourraient être modélisés par une probabilité de contamination globale
fluctuant en fonction des saisons. On pourrait prendre comme hypothèse que ce sont des
Jean-Baptiste ESTIVAL
31
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
épiphénomènes que l'on regroupe (on peut être un peu plus fin aussi en mettant deux types
d'éleveurs : ceux qui mettent en communs leurs animaux et ceux qui ne le font pas). Les
informations récoltées dans les enquêtes permettront peut être de connaître ces probabilités
globales. Sinon nous ferons comme discuté au début : un risque moyen de contact sera
attribué au village tout entier et son terroir. Un problème se pose lorsque plusieurs village ont
une partie de leur terroir en commun. Les risques de chaque terroirs étant différent, le risque à
appliquer est la moyenne de chaque risque de chaque terroir qui se chevauche (figure 10).
Les prêts et confiages d'une journée ne sont pas un gros risque, et nous avons un pas de
simulation proposé d'une semaine. On pourrait donc ne pas les prendre en compte. Cela dit, si
cela arrive souvent, la probabilité de contamination devient non négligeable. Une solution est
de compter le nombre de jours avec confiage ou prêt dans une semaine donnée et pour un
animal donné, puis affecter à cet animal un risque de contamination qui dépend de ce nombre
de jours :
risque journalier = α
risque pour n jours = n * α
Pascal Bonnet propose d’étendre cette solution à d’autres niveaux, notamment au niveau
des troupeaux et des groupes d’animaux qui partent en pâturage, en prêt … On aura alors :
Rie = rie * durée déclarée du contact
Avec :
i : un individu ou agent
e : type d’événement créant le contact
Rie : risque de transmission par contact (calculé pendant une semaine)
attribuable à un certain niveau (animal, groupe, troupeau) au cours d’un
événement.
rie : quantité unitaire de risque donné par expert pour le type de contact
(animal, groupe ou troupeau)
Ici, un individu est soit:
n un animal (il entre en contact avec un autre ou d’autres animaux, on ajoute le nombre de
jours pour un événement à risque contact contamination, le risque est fonction de cette
durée)
n un lot (ou un groupe) complet issu d’un troupeau (y compris et en particulier une paire de
b œufs): on ajoute le nombre de jours durant lesquels ces n animaux travaillent ensemble
sur des parcelles (aires de foulage), cela quantifie le risque de contact entre les n animaux
(risque de niveau 1), mais il faut aussi éventuellement compter le nombre de jours où ces
animaux sont en contact avec d’autres animaux. Ceci représente un deuxième niveau de
contact à risque. Le risque de niveau 2 est moins fort à dire d’expert car il n’est pas
comparable en terme de probabilité de transmission dû au fait d’être littéralement côte à
côte pendant le temps du travail.
n un troupeau de propriétaire (dëlla pour simplifier) qui, le plus souvent, entre en contact
tout ensemble (sans distinction possible de tel ou tel animal) avec un autre troupeau, par
Jean-Baptiste ESTIVAL
32
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
exemple un autre troupeau de dëlla au pâturage ou pendant le piétinement du même
champ du parcellaire du village en question.
Figure 10 - Risque de contamination pour des terroirs se chevauchant
En plus de prendre en compte tous ces types de contaminations dans le simulateur, il
faudra modéliser les échanges d’animaux entre les éleveurs.
3.3 Les échanges
Pour les échanges, il y a 2 types de mouvements à risque :
-
les mouvements avec au moins une nuit passée dans la dëlla caractérisés par une
distance X et une durée Y (nombre de nuits dans la Dëlla et donc aussi nombre de
jours de gestion commune dans cette Dëlla)
-
les mouvements sans nuit passée dans la dëlla (surtout foulage et labour, ce dernier
pouvant aussi être dans le premier type; il n’est pas sûr que le piétinement soit un
gros facteur de risque car il ressemble aux contacts aux pâturages) caractérisés par
une distance X et une durée Y du fait de la répétition de ces événements selon un
calendrier d’activité souvent connu à l’avance par exemple le foulage va durer une
semaine, le labour va durer un mois au cours duquel il y a répétition de prêts à la
journée.
Jean-Baptiste ESTIVAL
33
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Il faut qu’on puisse définir dans le SMA le nombre de ces mouvements et leur répartition
dans l’année (nous n’avons pour l’instant aucun résultat). Une première approche serait de ne
différencier que ces deux types pour l’instant, mais il faudra que le simulateur soit évolutif et
puisse distinguer des sous-types.
Enfin, en ce qui concerne les prêts et les ventes, nous allons raisonner en saison.
3.3.1 Les types de confiages et prêts
Dans ce paragraphe, le terme échange est utilisé comme terme général désignant aussi
bien un prêt qu’un confiage. Les prêts sont plutôt des échanges d’entraide alors que les
confiages ont un aspect économique renforcé qui n’est pas présent dans un prêt. C’est
seulement dans les deux sous parties suivantes que nous distinguerons prêt et confiage. Les
échanges d'animaux sont les échanges les plus répandus et les plus complexes (cf. paragraphe
3.2).
3.3.1.1 Les types de confiage
Il existe deux catégories de contrat de confiage :
•
Les contrats d’engraissement contre fumure (Classiquement appelés DEREBA). C’est
l’un des types de contrat les plus répandus dans la woreda. L’animal prêté (pour une
durée déterminée ou non) offre les bénéfices de la fumure aux parcelles de l’éleveur
receveur. Géographiquement, ce type d’échange peut s’effectuer au sein d’une même PA
ou bien entre 2 PA différentes.
•
Les contrats de labours. La traction animale joue un rôle très important dans le
fonctionnement des exploitations agricoles du Wellega. Etant donné le calendrier
cultural, les périodes de labour sont étalées sur l’année. L’échange de b œufs de labour est
un phénomène très répandu. Il en existe plusieurs types :
-
Contrat avec rémunération (appelé QUBO). Le confiage s’effectue sur une
période de un mois à plusieurs mois et le locataire s’engage à verser une partie
de la récolte au propriétaire des animaux. Il faut noter que le locataire profite
de la fumure des animaux prêtés. Ce type de contrat est une certaine évolution
du contrat engraissement contre fumure avec en plus monétarisation de la force
de travail .
-
Contrat avec déplacement de main d’œuvre. Ce type de contrat semble être un
phénomène récent qui se développe dans la région (tous les éleveurs interrogés
ne le pratiquent que depuis trois ans maximum). Des éleveurs cultivent sans
posséder de terre dans les Lowlands (où la fertilité des sols leur permet d’avoir
accès à une récolte plus importante). Ils se déplacent avec leurs b œufs de
traction pour labourer la terre d’un autre agriculteur pendant une durée
déterminée (en général durée d’un mois). La rémunération du travail humain et
animal se fait par un partage équitable de la récolte. Dans ce cas, si
l’agriculteur des Lowlands possède une dëlla, les animaux sont parqués
ensemble la nuit, et le cas échéant, une dëlla est construite pour la durée du
Jean-Baptiste ESTIVAL
34
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
contrat dans laquelle plusieurs animaux issus du même type de contrat peuvent
séjourner. Le travail des b œufs est assuré par le propriétaire véritable (qui d’un
point de vue économique apporte sa force de travail). Ce dernier peut
éventuellement gérer ses animaux d’une certaine façon vis a vis de la maladie
et c’est important pour nous, même si ce ne sont que des hypothèses plausibles
(ex : si des animaux de la dëlla sont apparemment malades, peut être que le
propriétaire des b œufs les isolera car il est présent et peut gérer ce risque alors
que le propriétaire de la dëlla seul n’aurait certainement rien fait pour séparer
les animaux).
3.3.1.2 Les types de prêts
Les différents type de prêts sont :
•
Les contrats de gardiennage. Il arrive que des éleveurs prêtent leurs animaux car ils n’ont
pas de dëlla ou pas de gardien pour les faire pâturer ou les héberger. Ce type de contrat se
rencontre généralement pour des périodes de durées indéterminées. Ces contrats peuvent
concerner aussi bien des échanges au sein d’un même PA ou entre PA différentes.
•
Contrat sans rémunération. Ce type de contrat ne concerne que des échanges au sein
d’une même PA, la plupart du temps au sein d’un même hameau. Les b œufs sont prêtés
selon plusieurs modalités :
n à la journée. Les animaux travaillent sur une parcelle pendant la journée et rentrent
dans la dëlla du propriétaire le soir. C’est une aide mutuelle entre habitants au sein
d’un agrégat village (ce qui permet de rentrer chez soi le soir, ce n’est pas très loin) ou
au sein d’une famille (parents qui s’entraident sans forcément habiter le même village
mais en gardant la notion de proximité géographique pour permettre le retour chez soi
le soir).
n pour plusieurs jours de travail. Les animaux rentrent dans la dëlla du propriétaire si
c’est un voisin proche, mais peuvent également rester dans la dëlla de l’agriculteur qui
les emprunte pendant quelques jours. Il faudra peut-être donner une limite
géographique au delà de laquelle tous les échanges types prêts sont forcément sans
retour chez soi le soir, du fait de la distance, cela pourra être géré par le SIG. Ici le
risque est lié à l’introduction des animaux dans une dëlla où ils côtoient tous les autres
animaux.
n pour labourer à tour de rôle. Deux agriculteurs voisins possédant chacun un b œuf
peuvent s’associer pour former des paires avec leurs animaux réunis. Dans ce cas de
figure, un animal, après avoir passé la journée près d’un autre, rentre le soir dans sa
dëlla d’origine. A ce niveau le risque est d’une part le contact fin entre ces deux
animaux issus de troupeaux différents, et d’autre part le contact possible de cette paire
de b œufs constituée avec d’autres paires de b œufs sur les parcelles du fait des
habitudes de labour en commun.
Remarque : On vient de découvrir d’ailleurs des types de contrats qui concernent toute une
collectivité (un village donc une association d’agents éleveurs) qui contracte avec toute une
autre collectivité (un autre village qui possèdes des terres en excès) ou avec l’administration
pour un bail locatif de terres neuves pour envoyer les animaux du village vers une zone disons
« louée ».
Jean-Baptiste ESTIVAL
35
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
3.3.2 Propositions de simplifications
On peut classer ces contrats selon le critère suivant : les animaux passent au moins une
nuit dans une dëlla étrangère. On a alors :
• au moins une nuit en dëlla étrangère : contrats d’engraissement contre fumure,
contrats de labours avec rémunération, avec déplacement de main d’ œuvre et les
contrats de gardiennage.
• pas une seule nuit en dëlla étrangère : contrats sans rémunération à la journée,
contrats pour labourer à tour de rôle
En ce qui concerne les contrats sans rémunération nécessitant plusieurs jours de travail,
ils n’ont lieu que dans une même PA, généralement dans un même hameau. Si on peut
attribuer un risque moyen de contact des animaux au travail à un hameau et pas aux agents,
alors on pourra considérer que les animaux rentrent dans leur dëlla d’origine. Ou bien, on peut
raisonner en pourcentage. Par exemple, 5% des éleveurs d’un même hameau gardent les
animaux d’entraide chez eux le soir et 95% ne le font pas.
De même, on ne pourrait distinguer que deux cas de figures pour les gardiennages :
-
gardiennage de jour. Dans ce cas, soit les troupeaux ont un gardien et ils ne se
mélangent pas, soit ils ne sont pas gardés et les animaux divaguent librement.
-
gardiennage de nuit. Ici, soit les animaux du troupeaux dorment dans une dëlla
étrangère, soit ils dorment dans la dëlla propriétaire.
Il serait intéressant que la base de données nous donne des tendances de durée d’échange
en fonction des caractéristiques d’un éleveur, plus particulièrement en fonction de l’effectif de
son troupeau, de la surface de terre à travailler et peut-être aussi du type de culture. Par
exemple, si un éleveur est en excès (trop de bœufs pour le travail à faire), il sera plutôt prêteur
ou vendeur alors qu’un éleveur en déficit sera plutôt demandeur ou acheteur.
Pour finir, on aura la liste d'événements suivante:
- Demande de prêt. Un éleveur sollicite un prêteur.
- Envoi pour confiage (ou prêt). Seulement dans le cas où le prêt dure plus qu'une
journée et si une distance limite est dépassée ce qui implique un non retour le soir.
- Retour de confiage. Lorsque le prêt est d'une durée supérieure à une journée il faut
prendre en compte l'événement de retour de l'animal. Si l’animal est parti dormir
ailleurs il faut absolument savoir pour combien de temps en moyenne, donc connaître
la durée du prêt.
Les prêts d’une journée s’effectueront à l’intérieur d’un même lieu-dit.
On peut aussi considérer que l'on peut effectuer un prêt auprès du monde extérieur (en
dehors de la zone d’étude). Dans ce cas on peut imaginer comme pour la vente qu'un animal
est toujours disponible avec une probabilité de satisfaction. On pourra ensuite découper le
monde extérieur en fonction de certaines caractéristiques, en particulier le coût de l’échange
dans diverses zones.
Jean-Baptiste ESTIVAL
36
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
On peut se reporter au paragraphe 3.4.4 pour d’autres propositions de simplification
concernant les prêts.
3.4 Les achats et les ventes
Les achats et les ventes d’animaux, tout comme les prêts et confiages, sont une voie de
contamination importante qu’il ne faut pas négliger. En effet, la plupart de ces transactions se
font sur un marché qui est en fait un réservoir d’animaux en contact permanent pendant la
durée du marché. Ce contact permanent représente un risque non négligeable dans la
propagation de la maladie.
3.4.1 Le marché
Le marché est un lieu où l'on regroupe des animaux afin de les vendre. On distingue deux
types marchés :
• un marché principal a lieu à Bila. Les achats/ventes sont taxés. Le nombre d’animaux
présents varie beaucoup : de 60 animaux (mauvais marché) à 400 (bon marché), la
moyenne étant de 150 animaux. Ce marché a lieu deux fois par semaine : le
mercredi et le samedi.
• deux marchés secondaires ont lieu à Muklami et Figa. Ces marchés secondaires ne
sont pas taxés. Le nombre d’animaux présentés et échangés est assez faible :
environ unes vingtaine pour Muklami et une dizaine pour Figa par semaine. Le
marché de Muklami a lieu le jeudi. Celui de Figa a lieu le lundi et le vendredi
(vendredi seulement pour le bétail).
Nous pensons considérer un marché comme un réservoir d'animaux dans lequel les
vendeurs envoient des animaux et les acheteurs achètent ces animaux étant entendu que tous
les animaux présentés ne sont pas vendus ou achetés (il faudrait avoir une idée du taux de
succès). Il y aura un événement qui déclenchera le marché. Le marché s'occupera alors de
vendre les animaux aux acheteurs demandeurs. C'est également le marché qui s'occupera de
renvoyer dans leur exploitation d'origine les animaux qui n'ont pas été vendu pendant le
marché. On peut alors se poser la question suivante:
-
Quelle est la règle de décision quand un animal envoyé au marché n'est pas vendu :
cet animal est-il renvoyé par le vendeur au marché suivant, pendant combien de
temps, etc.?
Cette question reste sans réponse, il arrive qu’un même animal revienne plusieurs fois d’affilé
sur le même marché mais à première vue il n’y a pas de règle qui permette de répondre à la
question.
Jean-Baptiste ESTIVAL
37
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
3.4.2 Les Achats
On distingue trois types d'achats : les achats à un marché ainsi que les achats directement
à un éleveur ou bien au monde extérieur (basses et hautes terres).
Nous avons recensé les événements suivants:
- Achat d'un animal au marché. On considère qu'il y a toujours un animal disponible au
marché. Cependant il faut intégrer à la simulation une probabilité de satisfaction qui permettra
de décider si la transaction est effectuée ou non. D’après le suivi de la phase 1, 80% des
ventes se font au marché (suivi phase 1 : mélange basses terres / hautes terres).
- Achat d'un animal à un éleveur. L'acheteur a le choix entre plusieurs éleveurs qui sont
des fournisseurs pour la saison en cours. Le choix du fournisseur se fait selon des règles à
définir (distance, géographie etc. à priori des voisins ou des connaissances). D’après le suivi
de la phase 1 de l’ATP, 20% des ventes se font par cette méthode.
Remarque : Les chiffres annoncés ci-dessus sont issus du suivi de la phase 1. Dans ce suivi
des éleveurs des basses et hautes terres ont été mélangés. En première approximation ces
chiffres sont valables pour les Highlands.
D’une façon générale les ventes et les achats sont liés à un besoin à satisfaire, et
correspondent à des périodes où l’on a besoin de vendre ou d’acheter. Par exemple acheter (et
vendre) avant les labours pour avoir un b œ u f en plus et être capable de labourer les terres (au
lieu de louer en confiage etc.). Donc une caractéristique peut être associée aux attributs de la
structure de la ferme, caractériser un éleveur plutôt vendeur ou plutôt acheteur. Elle doit
ressembler à la caractérisation loueur ou receveur (un surplus de b œufs est une caractéristique
de loueur) à la différence près qu’il faut pour les ventes y rajouter une finesse, une
caractéristique de surplus ou de richesse préexistante (pour être capable de vendre ou
d’acheter).
- Achat d'un animal au monde extérieur. En ce qui concerne ce type de transaction,
nous n'avons pas beaucoup de renseignement. On en saura plus suite au recensement exhaustif
(janvier 2002), cela dépendra bien sûr de la localisation de l’éleveur par rapport à ce qu’on
appelle le monde extérieur : ceux habitant à proximité de la frontière échangeront plus
facilement avec l’extérieur, ceux habitant au milieu de notre zone d’étude auront moins
d’échanges avec l’extérieur, ce n’est qu’une question de distances (surtout pour les échanges à
la ferme), car n’oublions pas que cette frontière a été fixée pour l’étude. Le SIG aidera à
répondre à beaucoup de questions. Peut être sera-t-il nécessaire de renforcer les enquêtes au
niveau des marchés si besoin, pour mieux connaître l’origine exacte des animaux qui y sont
vendus (pour connaître leur zone d’influence, la tracer sur le SIG et donc déterminer où ira un
éleveur vivant à une certaine adresse, et qui veut vendre : calculer le bassin de fréquentation ;
on aura le même phénomène avec les services de santé). D’ailleurs Sandrine Fréguin avait fait
un questionnaire de marché dont certaines données n’ont pas été exploitées (sur l’origine des
animaux notamment), les questionnaires sont encore disponibles au CIRAD.
De la même façon que pour le marché, on considère qu'il y a toujours un animal
disponible avec une probabilité de satisfaction qui peut éventuellement fluctuer.
Jean-Baptiste ESTIVAL
38
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Cependant, nous ne savons pas comment un éleveur choisit parmi ces trois modes
d'achat. Apparemment, le SIG sera en mesure de nous donner une liste de préférences pour le
choix d’un mode d’achat.
Voici comment on pourrait procéder pour l’achat d’animaux :
•
•
•
•
•
choix de qui va aller acheter (choix d’un agent qui présente des caractéristiques
demandeur).
choix de ce que l’éleveur doit acheter.
où le trouve-t-il ? au marché ou transaction de gré à gré ? On pourra supposer que la
transaction de gré à gré est plus probable que le marché. Si il y a un voisin vendeur de ce
type d’animal , alors on fait une transaction gré à gré sans passer par le marché. Sinon, il
va au marché.
S’il va au marché, il faut choisir le marché. C’est le SIG qui donne le marché auquel va se
rendre l’éleveur.
Il faut choisir l’animal cherché parmi les animaux présents sur le marché.
3.4.3 Les ventes
Les ventes tout à fait similaires aux achats. Un éleveur vend soit directement à un autre
éleveur, soit au marché ou bien au monde extérieur. La vente à un marché se fait par l'envoi
d'animaux au marché. Cependant, il est possible que les animaux envoyés ne soient pas
vendus et éventuellement contaminés. Dans ce cas le marché déclenche le retour des animaux
non vendus dans leur exploitation d’origine.
Nous avons donc l'événement suivant:
-
Envoi d'un animal à un marché. C'est le cas où l'éleveur a choisi de vendre un
animal au marché.
Enfin, si l'on considère qu'un éleveur peut vendre des animaux au monde extérieur
(basses et hautes terres) on aura alors l'événement :
-
Vendre un animal au monde extérieur. C'est le cas où un éleveur vend un animal à
un autre éleveur du monde extérieur.
Le choix d’un animal à vendre se fait suivant le type d’animal, la saison agricole et le
besoin de l’éleveur en liquidités (pour payer ses taxes, engrais…). Cependant nous ne voulons
pas inclure les contraintes économiques tel que le besoin d’un éleveur en liquidité. Nous
pensons plutôt pouvoir détecter ce besoin dans le simulateur afin de déclencher la vente d’un
animal (par les caractéristiques croisées de sa ferme, sa famille, son troupeau).
Remarque: il n'y a pas d'événement du type vendre un animal à un éleveur puisqu'en fait c'est
un éleveur acheteur qui va solliciter un vendeur. Le vendeur attend donc la sollicitation d'un
acheteur. Cependant, un vendeur qui a besoin de liquidité va alors chercher un acheteur
potentiel pour lui vendre un ou plusieurs animaux. Ce cas n’est pas impossible, il faudra
sûrement en tenir compte.
Jean-Baptiste ESTIVAL
39
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
3.4.4 Hypothèses simplificatrices
3.4.4.1 Vendeurs / Prêteurs
Au début de chaque saison, on calcule et on construit une liste d’éleveurs qui pourront
prêter ou vendre des animaux à tout moment. C'est à dire que pour une saison donnée ce
seront toujours les mêmes éleveurs qui seront susceptibles de prêter ou vendre des animaux
directement à d'autres éleveurs, au marché ou bien au monde extérieur. Cependant d’une
année sur l’autre ce ne seront pas les mêmes éleveurs qui seront vendeur/prêteur : en effet à
chaque début de saison on construit une nouvelle liste. On connaîtra alors pour chaque éleveur
prêteur ou vendeur le nombre maximal d'animaux qu'il est prêt à vendre ou prêter pour une
saison ainsi que le nombre maximum d'animaux pour une transaction (prêt ou vente).
Le recensement prévu en janvier 2002 de tous les éleveurs de la zone d’étude nous
permettra de catégoriser dans le SIG les éleveurs suivant leurs pratiques d’échange (typologie
prévue). Comme montré dans le rapport de Sandrine Fréguin les types d’échanges suivent une
logique saisonnière en fonction des pratiques culturales. Le recensement permettra d'affiner ce
calendrier même au niveau individuel. On aura les structures des cultures individuellement
chez l’éleveur et on y associe les besoins en travail et en facteurs de production (b œufs) pour
un éleveur à une période de l’année et par céréale présente, le cumul des activités à faire et
donc le besoin en nombre de b œufs se faisant sur l’ensemble du parcellaire de cet éleveur à
une période de l’année.
Le problème est plutôt sur le pas de temps de certains travaux par rapport à la décision
d’échange. En effet, l’éleveur prend une décision avant le commencement des travaux. Le
problème reste de savoir combien de temps à l’avance il décide de procéder à un achat
(valable aussi pour les confiages).
Les achats et ventes se feront avant les travaux agricoles (calendrier), les décisions de
confiages long et moyen terme se feront avant la période travail (c’est assez similaire), mais
les prêts d’entraides se font pendant la saison de travail.
Le simulateur devra donc créer une liste d’éleveurs vendeurs/prêteurs au début de chaque
saison. Il ne reste plus qu’à déterminer les règles qui permettront au simulateur de créer une
telle liste.
3.4.4.2 Les acheteurs
Pour un acheteur on ne raisonne plus en saison : un éleveur ne reste pas un acheteur
pendant une saison toute entière. En effet, on recalcule pour chaque saison les achats de
chaque exploitation. Ensuite on répartit tous ces achats sur l'ensemble des semaines de la
saison. Pour les acheteurs il est donc préférable de raisonner à la semaine. Il faudra donc
définir des règles permettant de définir le comportement d'un éleveur acheteur, en particulier
la durée pendant laquelle il reste acheteur et comment il choisit un fournisseur.
On suppose que l’on recherche des b œufs. Voici deux règles de décision concernant les
achats :
Jean-Baptiste ESTIVAL
40
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
n Si un éleveur ne trouve pas un animal, il va chercher le temps de combler son
besoin. Il va donc chercher pendant une période précédant celle des travaux. S’il
n’a pas trouvé lorsque les travaux ont commencé, alors on pourra considérer que
l’éleveur deviendra acheteur de gré à gré ou receveur de confiages seulement (il ne
perd pas de temps à se déplacer au marché par exemple).
n Lors de la recherche, l’éleveur s’oriente vers le moyen d’achat plus simple pour
lui : le voisinage. Seulement, si les attributs de sa recherche ne sont pas satisfaits
par les propositions de son voisinage, alors il va s’orienter vers d’autres moyen
d’achat : le marché par exemple.
Par type d’éleveur, le SIG permettra de fournir une prédiction du nombre d’animaux qui
sera échangé par éleveur (suivant son effectif d’animaux, sa localisation, l’importance de son
exploitation…). Cependant pour ce qui est des achats et des ventes ce n’est pas évident : ce
type d’échange est relativement rare par rapport aux prêts. D’après le suivi phase 1, on peut
enregistrer environ 1 achat ou vente une fois tous les 2 ans pour un troupeau moyen de 8-10
animaux (c’est la taille moyenne). Les échanges commerciaux suivent une certaine
saisonnalité (cf. Mémoire de Sandrine Fréguin), liée aux besoins financiers et aux besoins
agricoles mais il est fortement probable que l’on ne puisse pas faire des règles strictes.
3.4.4.3 Le monde extérieur
En ce qui concerne le monde extérieur, on peut supposer que l'on peut toujours y acheter
un animal. En effet, les éleveurs en suivi dans les basses terres, vendent majoritairement leurs
animaux dans les hautes terres (80% des têtes vendues). Par contre on ne connaît pas la
proportion des animaux originaires d’en bas achetés par les éleveurs des hauts plateaux.
Remarque : les animaux échangés (quel que soit le type d’échange) dans le suivi le sont
toujours à l’intérieur des 13 PA choisies dans la zone administrative appelée Woreda (Bodji),
qui comprend notre zone d’étude plus « le monde extérieur » tel qu’on l’a défini (possédant
lui même des zones de hauts plateaux à l’intérieur de Bodji et des zones de basses terres).
3.5 Evolution démographique d’un troupeau
3.5.1 Vêlage d'un animal
A priori c’est le modèle à compartiments qui doit prendre en compte les aspects
démographiques intra-troupeau mais il n’est pas prêt à l’heure actuelle pour ces aspects. Le
modèle intra-troupeau avec données réelles du Wellega ne sera prêt que début 2002 car la
collecte des données de la phase 1 (suivi démographique et sanitaire) se poursuit jusqu’en
janvier.
Jean-Baptiste ESTIVAL
41
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
3.5.2 Reproduction
Les éleveurs ne pratiquent pas d’insémination artificielle dans le Wellega. D’après le
suivi de la phase 1, l’intervalle entre 2 vêlage serait d’environ 2 ans. On peut considérer que
cet intervalle est toujours constant ou bien on peut y introduire une variabilité. Cependant,
cette variabilité dépend d’un très grand nombre de paramètres ce qui rend très difficile son
implémentation dans le SMA. Nous nous orienterons donc vers un intervalle fixe de 2 ans.
3.5.3 Mort d'un animal
Comme pour la naissance, c’est le modèle à compartiments qui s’occupera de la mort des
animaux.
Nous avons les renseignements suivants :
-
les taux de mortalité par catégories d’animaux seront calculés à partir de la base de
données du suivi phase 1. Vu qu’on a déjà un an de suivi sur certains sites (et 4
mois seulement sur d’autres) on peut déjà calculer approximativement ces taux dès
maintenant si nécessaire. Il semble que les taux de mortalité (hors abattage) sont
similaires chez les animaux adultes quelle que soit la catégorie (génisse, vache,
b œuf…), mais c’est à vérifier, et plus élevés chez les veaux.
-
les éleveurs gardent leurs veaux (ils en ont besoin pour la traite, ils provoquent par
tétée la descente de lait). Ils les vendent quand même au bout d’un moment pour
ceux qui en ont en surplus et d’autres les achètent jeunes et les élèvent pour
préparer une carrière de b œ u f par exemple (c’est donc un achat de futur bœuf, ce
qui pourrait être un mécanisme simple qui explique le faible taux d’achat
d’animaux adultes, on investit avant avec petit prix dans l’achat d’un jeune au
marché ou au voisin).
3.5.4 Passage en dëlla
Cet événement est très important. En effet, c'est l'instant où un jeune animal quitte le parc
de jeune pour la dëlla. Dans cette dëlla, il sera en contact direct avec les animaux adultes qui
sont peut-être contaminés.
-
Un veau part en dëlla lorsque la mère n’utilise plus son lait pour le veau
(lorsqu’elle est tarie). La notion de sevrage est assez complexe. Les veaux broutent
de l’herbe très jeune. Pour simplifier on peut considérer qu’un veau est sevré
lorsque la mère est tarie, et à ce moment là il est transféré dans une dëlla.
-
On peut considérer que les veaux sont sevrés à 1 an et demi en incluant une
variabilité qui pourra être connue grâce à la base LASER du suivi 1.
-
Pendant la journée les jeunes vont téter leur mère le matin et le soir à l’extérieur du
parc, sans se mélanger au troupeau, puis restent autour de la ferme pendant la
journée (ou à l’intérieur), ils ne pâturent pas avec les adultes (même si ils sont
partiellement sevrés). Cependant, ils peuvent pâturer entre jeunes avec un jeune
Jean-Baptiste ESTIVAL
42
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
enfant berger dans un espace restreint (divagation possible à partir d’un certain
âge).
-
Un veau partiellement sevré est un veau qui pourrait se passer de sa mère, mais
que l’on garde pour la traire. Il se comporte comme un veau non sevré. Il est
inutile de différencier un veau non sevré d’un veau partiellement sevré.
3.5.5 Vieillissement des animaux
Un animal, de part son âge, va appartenir à différentes catégories. La figure 11 propose
une liste des différentes catégories d'animaux.
Animal
Veau
Génisse
Taurillon
Vache
B œuf
Figure 11 - Diagramme de classification des animaux
Une génisse devient une vache après la première mise bas c’est à dire vers 2 ans et demi
ou 3 ans plus 9 mois. Il y a donc une variabilité de l’âge à prendre en compte.
Un animal est un veau jusqu’à l’âge de 1 an ou 1 an et demi (on ne sait pas si on peut
prendre 1.5 de moyenne ou si on doit inclure une variabilité).
-
Avant castration, les taurillons sont des reproducteurs. Après castration, ils
deviennent des b œufs. Il faudra prendre en compte cet événement.
-
En général, les taurillons sont castrés avant 3 ans en Ethiopie (il faut vérifier avec
LASER).
Le diagramme d’état ci-dessous (figure 12) montre l’évolution des animaux tout au long
de leur vie : de leur naissance jusqu’à leur mort.
Jean-Baptiste ESTIVAL
43
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
naissance(animal)
Veau
[ mâle sevré ]
Taurillon
castrer(taurillon)
[ âge = 3 ]
B œuf
mort(animal)
[ femelle sevrée ]
Génisse
premier_vêlage(génisse)
[ âge = 2.5 à 3 ans +9 mois ]
Vache
mort(animal)
Figure 12 - Diagramme d'état de la vie des animaux
En plus de modéliser la contamination et l’évolution démographique, le simulateur doit
prendre en compte les méthodes de détection, vaccination et traitement de la maladie.
3.6 Détection, traitement, vaccination et autres gestion du risque sanitaire
(isolement d'animaux etc..)
Les symptômes les plus simples de la maladie sont : toux et respiration difficile (la
difficulté est mesurable). Ces symptômes ne sont pas propres à la PPCB. Il nous faudrait donc
une probabilité de détection vraie et fausse par symptôme. Par exemple, quelle est la
probabilité qu’un animal qui tousse soit contaminé ?
Les agents de développement rural ou directement les éleveurs informent les services
vétérinaires d’une suspicion de PPCB ; ils peuvent alors décider de vacciner tout le village. La
vaccination n’est jamais isolée à certains troupeaux, en général on ordonne une vaccination à
l’échelon d’une partie de PA au minimum, incluant : les villages déclarés malades et en
général les villages aux alentours, d’où l’appellation « ring vaccination » (vaccination en
anneau) autour du foyer déclaré. La suspicion est faite sur l’observation clinique (pas de
diagnostic sérologique) et donc sur les niveaux de mortalité et morbidité (probablement à
inclure dans notre modèle : à partir de quel niveau de mortalité s’inquiète-t-on, prévient-on les
relais et services ?). La réactivité dépend par ailleurs de la période de l’année où ce problème
survient car si un éleveur est occupé aux champs il accorde plus d’importance à ce travail et il
sous-estime la gravité des morts par rapport à une période normale où il a un peu plus de
temps. Il faut étudier la saisonnalité des vaccinations ce qui ne traduira pas forcement la
saisonnalité de la maladie seulement.
Jean-Baptiste ESTIVAL
44
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
De plus de quel relais d’information et finalement de quel service dispose un éleveur (quel
est le plus proche de sa localisation SIG) ? C’est un raisonnement similaire au marché et aux
transactions de gré a gré pendant les ventes. Le SIG dirigera l’éleveur vers un centre. Pour les
traitements, ce sont les éleveurs qui amènent leurs animaux à la clinique gouvernementale
(quand ils peuvent marcher ce qui exclut les cas aigus à moins d’habiter à côté de la clinique).
Il y a alors examen clinique par des techniciens vétérinaires qui font également le traitement.
Les éleveurs peuvent aussi se déplacer pour acheter des antibiotiques aux cliniques privées
sans déplacement des animaux. Un éleveur peut aussi emprunter des médicaments ou en
acheter à un voisin qui en dispose, acheter à des colporteurs au marché.
Le but du simulateur final est de pouvoir tester différentes méthodes de lutte contre la
maladie (le simulateur conçu pendant le stage ne s'occupera que de la diffusion de la PPCB).
Il faudra à long terme intégrer dans le simulateur les traitements et les vaccinations.
Actuellement nous n'avons pas beaucoup d'informations concernant ces traitements et ces
vaccinations. Nous savons que :
-
Un éleveur ne fait pas de demande de traitement, il se déplace pour faire traiter
l’animal ou aller acheter le médicament.
-
Un éleveur peut lui-même appliquer un traitement sur des animaux.
-
Les services vétérinaires se déplacent pour vacciner dans des foyers qui ont
préalablement été déclarés par des agents ruraux. Ils ne se déplacent jamais pour
les traitements.
-
La durée d'un traitement est 1 injection (efficacité très limitée, rechutes très
fréquentes après plusieurs semaines). On va considérer un traitement comme une
séquence d’actions, certaines réduites à une action seulement. Il peut y avoir
plusieurs administrations de plusieurs médicaments pour le même recours, et
même répétition d’injection le lendemain ce qui oblige l’éleveur à rester ou à
laisser l’animal souffrant près de la clinique.
-
La durée d’une vaccination est 1 jour, ce qui est équivalent à 1 campagne de
vaccination pour un village. La protection vaccinale est de l’ordre de 6 mois s’il
n’y a pas une 2ième injection. La 2ième injection n’est pas systématique, elle est
même rarement reconduite vue la stratégie « ring vaccination ».
-
On suppose que des animaux qui ont été traités restent toujours contagieux (2 ans
est la norme pour un animal qui serait guéri).
-
On peut aussi supposer qu’un éleveur qui suspecte la maladie chez un de ses
animaux, peut isoler ces animaux. De ce fait la maladie ne se propage pas dans la
dëlla.
Il est assez probable que les animaux traités représentent un risque de maintien du germe
dans les troupeaux car des animaux en phase aiguë qui auraient dû mourir (et donc stopper de
contaminer) se retrouvent vivants plus longtemps, porteurs et contaminants (on ne sait pas
pendant combien de temps ni si c’est régulier). Cet aspect est pris en compte avec le modèle
intra : en effet en cas de traitement d’animaux atteints de PPCB leur taux de mortalité sera
modifié et ils resteront plus longtemps dans le compartiment Ich (Infecté Chronique) au lieu
de se retrouver dans le compartiment Mort. Le modèle tournera alors différemment. En
utilisant le SIG et donc en fonction de la localisation géographique des troupeaux, l’accès aux
traitements sera différent et l’impact sur la propagation intra pourra être modélisé
différemment.
Jean-Baptiste ESTIVAL
45
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Pour la vaccination on connaît déjà les taux de protection (en expérimentation) pour les
vaccins utilisés (si utilisés correctement, ce qui sera l’hypothèse) : 40% seulement de
protection individuelle si une seule injection, 100% si plusieurs injections selon des
protocoles raisonnés, donc on pourra tester différentes hypothèses, une fois de plus en
intégrant le modèle intra.
3.7 Conclusion sur l’analyse
Le système à modéliser est très complexe. Il faut tenir compte de beaucoup de paramètres
et nous sommes obligés d’effectuer d’importantes simplifications. Pour réaliser ce projet nous
retenons la proposition de Pascal Bonnet. Nous allons procéder en 4 étapes pour
l’élaboration :
1234-
un modèle avec confiage sans démographie,
ajout des vaccinations et traitements,
un modèle avec la démographie,
un modèle avec les achats/ventes.
Les deux premières étapes sont les principaux objectifs du stage.
Jean-Baptiste ESTIVAL
46
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
4 CHAPITRE 4 : Développement du simulateur
Après l’introduction aux SMA, à Cormas et après l’analyse du système à simuler, ce
chapitre aborde la partie informatique du projet avec notamment le modèle de diffusion intratroupeau, les divers modèles UML utilisés et la programmation en SmallTalk sous Cormas.
4.1 Analyse UML du système [ 2 ]
Dans le domaine de l’analyse et de la conception par objets, un langage de modélisation
est principalement une notation graphique utilisée pour exprimer une analyse et une
conception. UML (Unified Modelling Language) est aujourd’hui le langage de modélisation
universel, utilisé pour la conception de la plupart des logiciels orientés objets.
Cette partie décrit la modélisation du système étudié à travers les diagrammes UML.
Seule l’étape 1 du stage est modélisée ici, l’étape 2 étant prévue pour le mois de Septembre.
4.1.1 Diagramme de classe du domaine étudié
Les diagrammes de classes expriment de manière générale la structure statique d’un
système, en termes de classes et de relations entre ces classes. De même qu’une classe décrit
un ensemble d’objets, une association décrit un ensemble de liens ; les objets sont instances
des classes et les liens sont instances des relations.
La figure 13 représente le diagramme de classe du système étudié. Afin de ne pas
surcharger la lecture de ce diagramme, les figures 14, 15 et 16 représentent le détail des
associations Eleveur – Animal – Monde extérieur.
En plus du détail de ces associations, deux autres associations sont à préciser. En effet, un
éleveur a des travaux à effectuer chaque jour. Pour cela il constitue des lots d’animaux pour
chaque type de travaux (figure 17).
Jean-Baptiste ESTIVAL
47
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Figure 13 - Diagramme de classes du domaine étudié (réalisé avec le logiciel objectiF®)
Jean-Baptiste ESTIVAL
48
Simulation de la dynamique de la PPCB en Ethiopie
< Envoie
Stage ISIMA Avril-Septembre 2001
< Reçoit
Eleveur
1
1
*
Animal
Figure 14 - Association Eleveur - Animal
Monde
extérieur
Eleveur
1
1
> Envoie
> Reçoit
*
Animal
Figure 15 - Association Eleveur - Animal - Monde extérieur
L’association de la figure 15 n’a pas été prise en compte dans la première version du
simulateur à cause d’un manque d’informations sur les échanges dans le sens éleveur du
domaine étudié vers le monde extérieur.
Jean-Baptiste ESTIVAL
49
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Monde
extérieur
Eleveur
1
1
< Reçoit
< Envoie
*
Animal
Figure 16 - Association Monde extérieur - Animal - Eleveur
Constitue >
Eleveur
1
1
Lots
*
1
*
*
Partent <
*
Travail
Est composé >
Partent >
*
Animal
1
1
Pâturage
Figure 17 - Relations Eleveur - Travail - Lots - Pâturage - Animal
Ces diagrammes sont nécessaires pour la modélisation du système mais ils ne montrent
pas explicitement les interactions entre les objets. C’est le rôles des diagrammes de séquence.
4.1.2 Diagrammes de séquences
Un diagramme de séquences représente la dynamique des objets en insistant sur la
chronologie des envois de messages. La représentation se concentre sur l’expression des
interactions. En effet, les diagrammes de classe élaborés précédemment montrent les relations
statiques entre les objets mais ne représentent pas les interactions entre eux. Les entités
communicantes dans notre système sont les éleveurs et le monde extérieur. Ils communiquent
lors des échanges pour un prêt ou un achat. Nous ne nous intéresseront ici qu’aux demandes
de prêts, les achats ventes n’étant pas prévus dans le simulateur.
Les diagrammes de séquences suivants (figures 18 et 19) représentent des exemples de
scénarios pris en compte par le simulateur.
Jean-Baptiste ESTIVAL
50
Simulation de la dynamique de la PPCB en Ethiopie
Demandeur
:Eleveur
Prêteur 1
:Eleveur
Stage ISIMA Avril-Septembre 2001
Prêteur 2
:Eleveur
Prêteur 3
:Monde Extérieur
choixPartenaire
demande
refus
choixPartenaire
demande
refus
choixPartenaire
demande
envoi
recevoir
[ fin de prêt ] renvoyer
réceptionner
Un éleveur (demandeur) fait une demande auprès de 3 prêteurs potentiels dont le monde extérieur. Dans
ce scénario, les deux premières demandes sont rejetées. La troisième est acceptée par le monde extérieur.
Les 3 prêteurs potentiels font partie d’une liste de prêteurs potentiels créée à partir des critères de choix
(la distance par exemple). Lorsque le prêt est terminé, le demandeur renvoie les animaux au prêteur (ici
le monde extérieur).
Figure 18 - Premier scénario de demande de prêt
Jean-Baptiste ESTIVAL
51
Simulation de la dynamique de la PPCB en Ethiopie
Prêteur 1
:Eleveur
Demandeur
:Eleveur
Stage ISIMA Avril-Septembre 2001
Prêteur 2
:Monde Extérieur
Prêteur 3
:Eleveur
choixPartenaire
demande
refus
choixPartenaire
demande
envoi
recevoir
[ fin de prêt ] renvoyer
réceptionner
Dans ce scénario, la liste des prêteurs potentiels créée comporte dans l’ordre de préférence : un éleveur
(prêteur 1), le monde extérieur (prêteur 2) et un autre éleveur (prêteur 3). Le premier éleveur refuse donc
on demande au monde extérieur qui accepte toujours. De ce fait, le prêteur 3 ne sert à rien. Nous le
montrons simplement pour insister sur le fait que le monde extérieur n’est pas une issue de secours
lorsqu’un éleveur ne peut pas recevoir de prêt. En effet, le monde extérieur aurait très bien pu être un
premier vœ u.
Figure 19 - Deuxième scénario de demande de prêt
En plus des diagrammes de classes du domaine et des diagrammes de séquences, il est
nécessaire de dresser un diagramme de classes qui prend en compte les classes de base de la
plate-forme Cormas afin de connaître l’architecture du simulateur.
4.1.3 Diagramme de classes du simulateur du point de vue de Cormas
Il s’agit ici de représenter les objets à mettre en place dans l’environnement Cormas avant
de commencer le développement du simulateur et la programmation des diagrammes
précédents. Pour cela, il a fallu dresser d’autres diagrammes de classes d’un autre point de
vue : celui de la plate-forme de développement multi-agents Cormas.
Le diagramme de classes de la figure 20 représente la hiérarchie des objets Cormas.
Jean-Baptiste ESTIVAL
52
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Objet
Entité
Entité
spatiale
Msg
Agent
Agent
situé
Agent
communiquant
Groupe
Groupe
situé
Entité
passive
Agent
communiquant
situé
Objet
situé
Groupe
communiquant
Groupe
communiquant
situé
Figure 20 - Hiérarchie des objets sous l'environnement Cormas
Tous les objets définis dans le diagramme de domaine dérivent des trois entités
principales de Cormas:
-
-
Entité spatiale : on retrouve ici les objets Exploitation, Lieu Dit, Peasant
Association et Pâturage
Agent : on retrouve dans cette catégorie tous les agents du systèmes qui évoluent
ou communiquent. Les objets Animal, Eleveur, Monde Extérieur et Troupeau
appartiennent à cette catégorie.
Entité passive : cette catégorie répertorie toutes les autres entités telles que Lots,
Parc, Travail, Zone Etude, Hébergement et Santé.
4.1.3.1 Les entités spatiales
Le diagramme de la figure 21 décrit les classes du diagramme de domaine qui dérivent de
la classe entité spatiale de Cormas.
Jean-Baptiste ESTIVAL
53
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Entité
spatiale
*
Cellule
Ensemble
d’entités
spatiales
*
*
*
Cellule
automate
Agrégat
Fragmenté
Peasant Association
Lieu Dit
Exploitation
Pâturage
Figure 21 - Diagramme des entités spatiales
4.1.3.2 Les agents ou entités sociales
De la même façon,
l’environnement Cormas.
le diagramme de la figure 22 représentent les agents dans
Groupe
communiquant
Agent situé
Animal
Troupeau
Monde
Extérieur
Agent situé
communiquant
Eleveur
Figure 22 - Diagramme des agents
Jean-Baptiste ESTIVAL
54
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
4.1.3.3 Les entités passives
Les objets Lots, Parc, Travail, Zone Etude, Hébergement et Santé dérivent directement de
l’objet racine Objet. En plus des objets nécessaires à la mise en place du diagramme de
domaine, il a fallu ajouter d’autres objets nécessaires au fonctionnement du simulateur.
4.1.3.4 Les techniques objets
Afin de pouvoir contrôler le temps et paramétrer le simulateur, d’autres objets ont été
ajoutés. Tous ces objets dérivent eux aussi de l’objet racine Objet. On trouve :
-
Compteur : cet objet permet de stocker divers compteurs dont la gestion du temps
qui passe (changement de saison, semaine en cours, année courante etc.).
Evénement : cet objet permet de créer des événements à prendre en compte dans le
simulateur.
Paramètres : cet objet permet de paramétrer le simulateur.
Paramètres Intra : cet objet permet de paramétrer le modèle de diffusion intratroupeaux.
En plus de ces objets on trouve deux objets dérivant de la classe msg. Ceux ci permettent
aux éleveur de dialoguer pour s’échanger des animaux ou pour s’en prêter. En effet, Cormas
permet à partir d’objets dérivant d’Agent communiquant ou d’Agent situé communiquant,
d’envoyer des messages entre ces agents communiquant via une boite aux lettres appelée
mailbox. Ainsi on peut faire communiquer deux objets Eleveur ou bien un objet Eleveur et un
objet Monde Extérieur.
En plus des diagrammes de domaines et point de vue Cormas, il est intéressant de
connaître le diagramme de classe du simulateur lui-même afin de connaître son
fonctionnement.
4.1.4 Diagramme de classe du simulateur
Le simulateur Dëlla fonctionne autour du noyau de simulation qui fait évoluer les agents,
et gère les événements créés par ces mêmes agents. Ce noyau de simulation est programmé
sous Cormas dans la méthode d’évolution du modèle Cormas du simulateur. L’initialisation
est effectué par une méthode d’initialisation du modèle Cormas du simulateur.
Le diagramme de classe du simulateur est donné par la figure 23.
Les événements pris en compte dans le simulateur pour la phase 1 sont les suivants :
-
Demande de prêt : EvénementDemande
Envoi d’animaux : EvénementEnvoi
Retour de prêt : EvénementRetour
Changement de saison : EvénementSaison
Passage en Dëlla d’un animal : EvénementPassageDella
Les événements créés sont placés dans un échéancier et sont triés par ordre de priorité. En
effet, un événement « changement de saison » doit être pris en compte avant tous les autres.
Les priorités affectées aux événements sont les suivantes :
Jean-Baptiste ESTIVAL
55
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Evénement
Priorité
Changement de saison
0
Demande de prêt
1
Envoi d’animaux
2
Retour de prêt
3
Passage en dëlla
4
Remarque : Plus la priorité est faible, plus l’événement est prioritaire.
Fait évoluer <
1
Noyau de
simulation
1 Ordonnance >
*
Entité
Spatiales
Sociales
Changement
de saison
Demande
d’animaux
1
Crée >
*
Passives
Envoi
d’animaux
*
Evénement
Retour de prêt
Passage en
dëlla
Figure 23 - Diagramme de classes du simulateur Dëlla
Une fois l’analyse UML terminée, la programmation en SmallTalk sous l’environnement
Cormas a pu commencer d’abord par la mise en place du diagramme de domaine et du
modèle de diffusion intra-troupeau, puis par la gestion des différents événements et de la
diffusion inter-troupeaux de la maladie.
4.2 Le modèle de diffusion intra-troupeau de la maladie
4.2.1 Présentation
Comme précisé précédemment, le simulateur multi-agents développé a pour but de
simuler la dynamique inter-troupeaux de la maladie. Cependant, il doit aussi simuler la
diffusion de la maladie à l’intérieur de chaque troupeau. Contrairement à la simulation intertroupeaux, la diffusion intra-troupeau est simulée par un modèle mathématique élaboré par
les chercheurs du Cirad. Ce modèle à compartiments (figure 24) fait évoluer les animaux entre
plusieurs états ou compartiments. Les états recensés ici sont :
-
R’ : jeunes résistants à la maladie
S : animaux susceptibles à la maladie
E : animal infecté mais non encore infectieux (en incubation)
Icl : animal infectieux présentant des signes cliniques
Jean-Baptiste ESTIVAL
56
Simulation de la dynamique de la PPCB en Ethiopie
-
Stage ISIMA Avril-Septembre 2001
Ich animal infectieux ne présentant pas de signe clinique (état chronique)
R : animaux guéris et ne pouvant plus être infectés
b’
R’
Mort
γ Naissance
a
a
a’
ν1
β
S
a’’
τ
Ich
E
ν2
a
R
ν3
Icl
b
b
b + α1
b + α2
b
Mort
Figure 24 - Modèle à compartiments pour la diffusion intra-troupeau de la PPCB
Le modèle représente deux états malades (Ich et Icl) et deux classes d’âge : les animaux
âgés de moins de 6 mois, naturellement résistants (R’), et les animaux de plus de 6 moins
exposés à la maladie. Ce modèle permet d’obtenir à partir d’une situation initiale connue
(taille du troupeau, statut épidémiologique, stratégie de contrôle de la maladie) et après
simulation, la répartition des effectifs du troupeau à un instant t dans chacun des
compartiments.
La version développée du simulateur ne tenant pas compte de la démographie des
animaux, les compartiments « Mort » et « Naissance » n’ont pas été pris en compte dans le
modèle mis en place.
4.2.2 Transition entre les différents compartiments
Le pas de temps adopté est la semaine, c’est-à-dire qu’on applique le modèle de diffusion
intra-troupeau à chaque semaine. Plusieurs règles régissent les transitions entre les états. Les
paragraphes suivants expliquent celles programmées dans le simulateur.
4.2.2.1 Transition S vers E
La probabilité d’infection d’un animal S dans la dëlla peut être modélisée de nombreuses
manières. Une formule possible pour une maladie du type PPCB (transmission directe par
contact) est :
 −λ (θ1Icl (t ) + θ 2 Ich(t )) 
PES = 1 − exp 

N (t ) − 1


avec :
Jean-Baptiste ESTIVAL
57
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
N(t) : effectif total des animaux dans la dëlla au temps t
Icl(t) : effectif des animaux Icl au temps t
Ich(t) : effectif des animaux Ich au temps t
λ : effectif moyen de contacts qu’a un animal S donné avec d’autres animaux (infectés ou
non) dans la dëlla durant [t, t + 1[
θ1 : probabilité de contamination d’un animal S après un contact avec un animal Icl
θ2 : probabilité de contamination d’un animal S après un contact avec un animal Ich
(θ2 est non nul mais très faible devant θ1)
On peut supposer que le pouvoir infectant des Icl est ν fois plus fort que celui des Ich (θ1
= θ et θ2 = θ / ν). La formule précédente devient alors :
Ich(t ) 

 −λθ ( Icl (t ) + ν ) 
PES = 1 − exp 

N (t ) − 1




Deux problèmes se posent :
-
d’après les données disponibles actuellement, nous n’avons que des valeurs très
hypothétiques des paramètres λ, θ et ν ;
on ne pourra jamais en pratique différencier λ et θ (pour cela, il faudrait une
expérimentation permettant de compter le nombre de contacts entre animaux…).
En fait, on ne peut que donner une valeur synthétique « λ θ ».
4.2.2.2 Transition E vers Icl ou Ich
Une manière de représenter cette transition est la suivante : on suppose qu’une fois
infecté un animal donné reste non infectieux (reste dans l’état E) durant une période T qui est
une variable aléatoire. On peut supposer par exemple que T suit une loi normale de moyenne
τ = 40 jours et d’écart type σ (l’incubation va environ de 20 à 60 jours).
A la fin de l’incubation, pour un animal donné, la probabilité de devenir Icl est p et la
probabilité de devenir Ich est 1 – p.
4.2.2.3 Transition Icl vers Ich
Ici, il existe deux manières de représenter cette transition :
-
De même que pour l’incubation, on suppose qu’un animal entrant dans l’état Icl
reste Icl durant une période donnée suivant une loi normale de moyenne 15 jours
par exemple et d’écart type faible.
- Pour chaque pas de temps [t, t + 1[, chaque animal Icl a une probabilité pIchIcl de
passer en Ich.
La solution que nous avons retenus est la deuxième.
Jean-Baptiste ESTIVAL
58
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
4.2.2.4 Transition Ich vers R
Pour chaque pas de temps [t, t + 1[, chaque animal Ich a une probabilité pRIcl de passer
dans le compartiment R.
4.2.2.5 Valeurs des paramètres
En synthèse, on peut prendre par exemple (à titre indicatif pour l’instant) :
ν = 20
λθ =4
τ = Normale (moyenne = 42 jours, écart-type σ = 5)
p = 0.81
pIchIcl = 0.0365
pRIcl = (faible)
Ce modèle ayant été conçu et validé par le Cirad, mon travail consistait à le programmer
et l’intégrer dans le simulateur multi-agents.
4.2.3 Programmation sous Cormas
Ce modèle a été conçu pour un troupeau, en particulier pour une dëlla ou un parc de
jeunes animaux. Cependant il est appliqué individuellement sur chaque animal d’un parc avec
des paramètres propres au parc. Pour programmer ce modèle sous Cormas, il a fallu ajouter à
aux objets Parc_della et Parc_jeune un attribut appelé « parametre » qui n’est autre qu’un
objet ParametresIntra (figure 25). Cet objet contient tous les paramètres nécessaires pour
l’implémentation du modèle de diffusion intra-troupeaux de la maladie.
ParametresIntra
- nu
- lambdaTeta
- mu
- sigma
-p
- pIclIch
- pRIch
- iclNumber
- ichNumber
Figure 25 - Objet ParametresIntra et ses attributs
La figure 25 ne représente que les attributs de l’objet, les seules méthodes existantes étant
les méthodes d’accès à ces attributs portant le même nom.
Jean-Baptiste ESTIVAL
59
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Cormas fait évoluer un modèle à chaque pas de temps, c’est-à-dire qu’il fait évoluer les
différents agents grâce à une méthode spécifique d’évolution des agents. Le modèle intratroupeau est invoqué au moment de l’évolution d’une dëlla ou d’un parc de jeune soit dans les
méthodes d’évolution des objets Parc_della et Parc_jeune. Cependant le modèle a été
programmé au niveau de l’objet Animal dans la méthode suivante :
modeleIntra: parametres capacite: aCapacite
parametres et aCapacite sont les deux paramètres de la méthodes, le paramètre aCapacite
représentant la capacité courante du parc et parametres représentant les paramètres du
modèle. La méthode d’évolution des parc est donc la suivante :
stepEchanges
"Evolution d'une della"
"Si la
della comprend plus de deux animaux on applique le modele intra"
( capaciteCourante >= 2 )
ifTrue:
[
listeAnimaux do:
[ :each |
each modeleIntra: parametres capacite: capaciteCourante.
"Mise a jour des parametres"
parametres ichNumber: ((listeAnimaux select: [:x|x etatDeSante=#ICH]) size).
parametres iclNumber: ((listeAnimaux select: [:x|x etatDeSante=#ICL]) size).
].
].
De plus un modèle Cormas dispose d’une méthode d’évolution qui gère l’évolution
générale du système, notamment la gestion des différents agents et le traitement des
événements. Une dëlla appartenant à un éleveur, c’est la méthode d’évolution d’un éleveur
qui appelle celle d’une dëlla, et c’est la méthode d’évolution du modèle Cormas qui appelle
celle des éleveurs (figure 26).
Afin de pouvoir suivre l’évolution des différents parc, le simulateur peut donner un
fichier trace décrivant l’état d’un parc à chaque pas de temps. Une ligne de ce fichier contient
les données suivantes :
•
•
•
•
•
Semaine
Année
Saison
identificateur du parc
liste des animaux du parc et leur état de santé
Exemple :
1:0:#BONA:0:1#S:2#S:3#S:4#S:5#S
1:0:#BONA:1:6#S:7#RPRIME:8#S:9#RPRIME:10#S:11#S:12#RPRIME
La première ligne décrit l’état du parc numéro 0 pendant la semaine 1 de l’année 0. La
saison est Bona. Ce parc contient 5 animaux dans le compartiment S du modèle intratroupeau.
Jean-Baptiste ESTIVAL
60
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
La deuxième ligne décrit l’état du parc numéro 1 pendant la semaine 1 de l’année 0. La
saison est Bona. Ce parc contient 7 animaux dont 3 ont moins de 6 mois (compartiment R’) et
les quatre autres sont dans le compartiment S du modèle de diffusion intra-troupeau.
Della
Modèle Cormas
évolue
évolue
évolue
Eleveur 1
Eleveur 2
Agent Cormas
Agent Cormas
...
Eleveur n
Agent Cormas
évolue
modeleIntra: capacite:
dëlla et parc de
jeunes
Animal 1
Animal 2
Modèle de diffusion
intra-troupeau
...
modeleIntra: capacite:
Animal n
Figure 26 - Implémentation du modèle intra-troupeau sous Cormas
C’est à partir de ces fichiers traces que les tests du modèle intra-troupeau ont pu être
effectués (voir paragraphe 5.1.1).
En plus du modèle de diffusion intra-troupeau, le simulateur doit prendre en compte la
diffusion inter-troupeau.
4.3
La diffusion inter-troupeau de la maladie
La diffusion inter-troupeaux programmé pour la phase 1 du simulateur comprend les
échanges d’animaux entre les éleveurs ainsi que les contaminations par pâturage, labourage et
foulage. Les échanges d’animaux sont gérés aux travers d’événements créés par les éleveurs
et placés dans l’échéancier du noyau de simulation. L’échéancier est une simple liste triée par
le niveau de priorité de l’événement. On le créé pendant l’initialisation du simulateur. Le code
SmallTalk de l’échéancier est le suivant :
Echeancier := SortedCollection sortBlock:
[ :x :y |
( x semaine ) <= ( y semaine ) and:
[
( x priorite ) <= ( y priorite )
Jean-Baptiste ESTIVAL
61
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
]
].
4.3.1 Le noyau de simulation
Comme nous l’avons dit, le noyau de simulation a été programmé dans la méthode
d’évolution du simulateur Dëlla. Cette méthode porte le nom de stepPhase1. Par analogie, la
méthode d’initialisation porte le nom de initPhase1. Le rôle du noyau de simulation est de
gérer le temps qui passe, d’activer les entités les unes après les autres afin de permettre le bon
fonctionnement du simulateur ; il doit aussi gérer les différents événements créés par les
agents qu’il a activé. L’unité de temps utilisé par le simulateur Dëlla est la semaine, c’est-àdire que la méthode d’évolution du simulateur correspond à ce qu’il se passe pendant une
semaine.
L’évolution des agents se fait simplement en appelant la méthode d’évolution de chaque
agent sachant que le noyau a à sa disposition des listes par type d’agents répertoriant toutes
les instances d’objets créées. L’algorithme de principe de la méthode d’évolution du
simulateur est donné par la figure 27.
Début
Pour tous les éleveurs faire
Evoluer
Fin faire
Pour tous les pâturages faire
Evoluer
Remettre à zéro la liste des lots en pâturage
Fin faire
ListeEvenementsCourants := liste des événements pour la semaine en cours
Tant que ListeEvenementCourants n’est pas vide faire
Initialiser la liste des demandeurs courants
Initialiser la liste des receveurs courants
Pour chaque événement de ListeEvenementsCourants faire
Traiter l’événement
Enlever l’événement de l’échéancier
Fin faire
Les prêteurs consultent leur mailbox
Le monde extérieur consulte sa mailbox
Les demandeurs consultent leur mailbox
Les receveurs consultent leur mailbox
ListeEvenementsCourants := liste des événements pour la semaine en cours
Fin tant que
On avance le pas de temps
On met à jour les compteur
Fin
Figure 27 - Algorithme de principe de la méthode d'évolution du simulateur
Remarque : l’algorithme précédent permet à un même éleveur d’émettre plusieurs demandes
de prêt au cours de la même semaine. C’est pour cela qu’une fois les événements traités on
Jean-Baptiste ESTIVAL
62
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
reconstruit une liste d’événements dans le cas où des refus auraient entraîné la création
d’autres événements de demande d’animaux. En ce qui concerne les mailbox, les prêteurs tout
comme le monde extérieur consultent en premier pour savoir s’ils peuvent répondre aux
demandes des éleveurs. Ensuite les demandeurs de prêts consultent les réponses et créent des
événements le cas échéant. Les receveurs d’animaux consultent leur boite aux lettre pour la
réception d’animaux.
4.3.1.1 Evolution des agents
Cette partie décrit les méthodes d’évolution des éleveurs et des pâturages.
4.3.1.1.1 Les éleveurs
Chaque semaine, un éleveur doit s’occuper de ses animaux, de son troupeau, de son parc
d’adultes et de son parc de jeunes. En plus, il doit constituer des lots pour les travaux et les
pâturages ainsi qu’effectuer les demandes d’animaux si besoin est. L’algorithme de principe
donné par la figure 28, décrit cette méthode d’évolution appelée stepPhase1.
Début
Pour chaque animal du parc adulte faire
Evoluer
fin faire
Pour chaque animal du parc jeune faire
Evoluer
fin faire
déterminer les lots d’animaux
traiter les lots
Appliquer le modèle de diffusion intra-troupeau aux jeunes et aux adultes
déterminer les besoins en animaux
Fin
Figure 28 - Algorithme de principe de la méthode stepPhase1 d'un éleveur
L’évolution des animaux adultes se contente d’augmenter leur âge d’une semaine, alors
que celle des animaux jeunes peut créer un événement passage en dëlla. L’âge de passage en
dëlla est paramétrable dans le simulateur.
La détermination des lots se fait en fonctions des travaux en cours donnés par une liste
nommé listeTravaux répertoriant les travaux d’un éleveur. Les animaux ne participant pas
aux travaux forment un lot envoyé au pâturage fréquenté par l’éleveur.
Le traitement des lots consiste à calculer la diffusion de la maladie pendant les travaux en
fonction de la nature du travail (cf § 3.2.3).
La détermination des besoins en animaux consiste à faire des demandes d’animaux en
fonction des travaux à venir. A partir du calendrier des travaux (Sandrine Fréguin) et du type
de culture d’un éleveur, on sait quand un travail a lieu. Il suffit donc de calculer le déficit en
animal de l’éleveur pour effectuer une demande de prêt. Pour l’instant le calcul du déficit est
effectué sur la taille de l’exploitation et du troupeau d’adultes.
Lors de la création de lots pour les pâturages, on ajoute à la liste des lots du pâturage
concerné, le lot calculé.
Jean-Baptiste ESTIVAL
63
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
4.3.1.1.2 Les pâturages
L’évolution des pâturages est simple. On se contente de calculer la diffusion de la
maladie par contact sachant que si un lot est accompagné, il n’y a aucun risque alors que les
lots non accompagnés pâturent ensemble. On suppose qu’un éleveur a un gardien si le nombre
d’adultes dans sa famille est supérieur à 3.
L’algorithme de principe de la méthode d’évolution d’un pâturage nommée
stepPaturage est donné par la figure 29.
Début
Pour chaque lot envoyé en pâturage faire
Si le nombre d’adultes dans la famille de l’éleveur est inférieur à 3 alors
Ajouter le lot à la liste des animaux libres
Fin si
Fin faire
Si la liste des animaux libres n’est pas vide alors
Calculer la diffusion pour tous les animaux libres
Fin si
Fin
Figure 29 - Algortihme de principe de l'évolution d'un pâturage
En plus de la gestion des agents, le noyau de simulation doit aussi gérer les événements
créés par les éleveurs.
4.3.1.2 Les événements
Nous traitons la partie gestion des événements dans le simulateur.
4.3.1.2.1 L’objet événement : « Evenement »
Tous les événements gérés dans le simulateur sont des objets dérivant de cette classe.
Conceptuellement c’est une classe abstraite, dont on peut étendre le nombre de classes filles
pour créer de nouveaux événements dans le simulateur.
Evénement
-
id
libelle
semaine
priorité
Figure 30 - L'objet Evénement
La figure 30 décrit l’objet Evénement en ne montrant que ses attributs. Les méthodes
d’accès à ces attributs portant le même nom, elles n’ont pas été rapportés dans le schéma pour
Jean-Baptiste ESTIVAL
64
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
en faciliter la lecture. Ces 4 attributs sont communs à tous les événements pris en compte par
le simulateur :
-
id : identificateur numérique de l’événement
libelle : libelle de l’événement, par exemple : #CHANGEMENTDESAISON
semaine : numéro de la semaine de l’année courante lors de laquelle l’événement a
lieu
priorité : priorité de l’événement
L’identificateur est géré par le noyau de simulation. Le constructeur de cet objet prend
trois arguments : le libelle, la semaine et la priorité. Comme dit précédemment, les
événements changement de saison, demande d’animaux, envoi d’animaux, retour de prêt et
passage en dëlla héritent des attributs de l’objet événement.
4.3.1.2.2 Changement de saison : « EvenementSaison »
Il existe 4 saisons en Ethiopie. Une année dans le simulateur est de 52 semaines. Le
calendrier mis en place est le suivant (figure 31) :
0
BONA
10
ARFASAA
22
GANNA
34
BIRRA
46
52
Figure 31 - Calendrier mis en place dans le simulateur
C’est l’objet Compteur qui crée un événement changement de saison. Cet événement
ayant la priorité la plus forte, c’est le premier à être pris en compte. Il informe de système
d’un changement de saison. Le noyau qui traite un tel événement effectue le traitement
associé. En effet nous avons décidé de construire pour chaque saison une liste d’éleveurs qui
seraient prêteurs pour toute la saison. Il faut donc à chaque changement de saison reconstruire
une telle liste. C’est ce que fait le noyau de simulation lorsqu’il traite un événement
changement de saison en appelant la méthode construireListePreteurs.
Le constructeur de cet objet appelle celui de la classe mère Evénement avec comme
paramètres :
-
libelle : #CHANGEMENTDESAISON
priorité : 0
semaine : semaine désirée
4.3.1.2.3 Demande d’animaux : « EvenementDemande »
Pour l’instant une seule entité crée de tels événements. Cependant il faut distinguer deux
cas. L’éleveur peut créer un événement demande lorsque le simulateur calcule le déficit en
animal d’un éleveur, mais aussi quand un prêteur lui répond négativement et qu’il peut encore
demander à d’autres prêteurs. Les attributs propres à un événement demande sont :
-
eleveurDemandeur : éleveur émetteur de la demande
duree : durée du prêt
nbAnimaux : nombre d’animaux demandés
typeAnimaux : type des animaux demandés
typeContrat : type du contrat
Le constructeur de cet objet initialise ces 5 attributs par paramètre et appelle le
constructeur de la classe mère « Evénement » avec comme paramètres :
Jean-Baptiste ESTIVAL
65
Simulation de la dynamique de la PPCB en Ethiopie
-
Stage ISIMA Avril-Septembre 2001
libelle : #DEMANDE
priorité : 0
semaine : semaine désirée
4.3.1.2.4 Envoi d’animaux : « EvenementEnvoi »
L’envoi d’animaux est déclenché par un prêteur qui accepte la demande d’un éleveur. Un
prêteur est soit un éleveur soit le monde extérieur. Les attributs d’un événement envoi sont :
-
eleveurSource : éleveur qui envoi les animaux
eleveurDestination : éleveur qui reçoit les animaux
listeAnimaux : liste des animaux envoyés
duree : durée du prêt
typeAnimaux : type des animaux envoyés
typeContrat : type du contrat de prêt
hebergementId : identificateur du prêt
L’identificateur du prêt permet de repérer dans la liste des prêts d’un éleveur un prêt
spécifique. Un tel événement est créé lorsque les prêteurs consultent leur boîte aux lettres
(voir § 4.3.2) et qu’ils acceptent la transaction.
4.3.1.2.5 Retour de prêt : « EvenementRetour »
Un événement retour de prêt est lié à celui d’envoi d’animaux. En effet, lorsqu’un agent
crée un événement envoi d’animaux, on place immédiatement dans l’échéancier l’événement
retour d’animaux. Les attributs propres à un événement retour d’animaux sont :
-
eleveurSource : éleveur qui envoie les animaux
eleveurDestination : éleveur qui reçoit les animaux
listeAnimaux : liste des animaux renvoyés
hebergementId : identificateur de l’hébergement
L’identificateur de l’hébergement est utile pour supprimer le prêt correspondant dans la
liste des prêts de l’éleveur demandeur et du prêteur.
4.3.1.2.6 Passage en dëlla : « EvenementPassageDella »
Un tel événement est créé lorsqu’un animal jeune est suffisamment âgé pour passer dans
le parc des adultes : la dëlla. Il est créé par un agent « Animal Jeune » lors de l’évolution de
cet agent. Ses attributs sont :
-
animal : animal qui doit passer en dëlla
eleveur : éleveur propriétaire de la dëlla
4.3.2 Communication entre les agents
Outres les événements qu’ils créent, les agents peuvent communiquer entre eux. Par
exemple dans le cas d’un refus de prêt, le prêteur ne crée pas d’événement refus mais envoie
un message à l’éleveur concerné. Le demandeur consulte sa boîte aux lettres (mailbox) et
trouve un message refus. C’est à ce moment là que le demandeur va émettre un nouvel
événement demande s’il reste encore des éleveurs prêteurs.
Les seuls agents communicants sont les objets « Eleveur ». Cormas fournit toute une
bibliothèque de méthodes à de tels agents pour permettre la communication. La figure 32
donne une illustration de la communication entre les agents
Jean-Baptiste ESTIVAL
66
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Demandeur
1
Demande de prêt à
un éleveur prêteur
Message
demande
Consulte sa boîte aux
3
lettres
refus
Reçoit les
4 animaux
envoi
Message
refus
Prêteur
Consulte sa
boîte aux
2 lettres
Message
envoi
Figure 32 - Illustration de la communication entre les agents
Remarque : sauf dans le cas d’un refus où l’agent envoie lui même le message, les autres
envois de message sont provoqués par le noyau de simulation lorsqu’il traite des événement
demande et envoi. Un événement retour ne provoque pas l’envoi de message, le noyau de
simulation effectue lui-même la transaction.
Il est intéressant d’avoir mis en place un tel système de communication. Cormas grâce à
son observateur de communication permet de voir les agents communiquer entre eux. Cet
outil peut être utile pour observer comment réagissent les agents, en cours de simulation,
lorsqu’ils ont besoin d’animaux.
Un système de communication similaire sera mis en place pour l’achat et la vente
d’animaux au marché.
4.3.3 Les sorties fichiers
Le simulateur offre la possibilité de suivre l’évolution des parcs jeunes et adultes ainsi
que les échanges entre les éleveurs grâce à deux fichiers traces : un fichier de diffusion intratroupeau et un fichier d’échange.
Jean-Baptiste ESTIVAL
67
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
4.3.3.1 Le fichier de diffusion
Le fichier de diffusion correspond au fichier de sortie du modèle à compartiments (Voir
paragraphe 4.2.3).
4.3.3.2 Le fichier d’échange
Ce fichier contient tous les événements créés dans le simulateur ainsi que la liste des
éleveurs prêteurs pour chaque saison.
Chaque ligne du fichier correspond à un enregistrement. Un enregistrement peut être un
événement, un commentaire ou les caractéristiques d’un éleveur prêteur.
Un enregistrement commentaire commence par le caractère ‘#’.
Exemple :
#Debut de la simulation le August 29, 2001 à 6:13:56 am
#Nombre d'animaux : 493
#Nombre de dellas : 33
Les caractéristiques d’un éleveur prêteur commencent par le caractère ‘@’. Il est suivi de
l’identificateur ainsi que le nombre d’animaux qu’il peut prêter. Suivent ensuite les
identificateurs de chaque animal et leur état de santé.
Exemple :
@8:10:99#S:100#S:101#S:102#S:103#S:104#S:105#S:106#S:107#S:108#S
Dans cet exemple, l’éleveur 8 prête 10 animaux (99 à 108) sains (‘#S’).
Sauf pour le début de la simulation, une suite d’enregistrements d’éleveurs prêteurs est
précédé par un enregistrement d’événement de changement de saison.
Les enregistrements événements sont formatés de la manière suivante :
semaine : année : saison : libelle : parametres
Le champs paramètres est différent pour chaque événement.
•
Evénement Changement de saison
Cet événement n’a pas de paramètres spéciaux.
Exemple :
10:0 :#ARFASAA:#CHANGEMENTSAISON:
Cet exemple illustre le passage en saison Arfasaa lors de la semaine 10 de l’année 0.
•
Evénement demande de prêt
Dans ce cas, les paramètres sont :
identificateur éleveur : durée du prêt : nombre d’animaux : type d’animal
Exemple :
3:0 :#BONA:#DEMANDE:28:7:2:#ADULTE
Ici, l’éleveur 28 émet une demande en semaine 3 de l’année 0. Il veut 2 animaux adultes pour
une durée d’une semaine.
•
Evénement envoi d’animaux
Pour ce type d’événement l’enregistrement correspondant est de la forme :
source : destination : nombre d’animaux : liste d’animaux : type d’animal
Exemple :
3:0 :#BONA:#ENVOI:9:6:2:127#S:128#S:#ADULTE:7
Jean-Baptiste ESTIVAL
68
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
L’éleveur 9 envoie à l’éleveur 6 deux animaux adultes sains (127 et 128) pour une durée de 7
jours.
•
Evénement Retour de prêt
L’enregistrement correspondant est similaire au précédent :
source : destination : nombre d’animaux : liste d’animaux
Exemple :
16:0 :#ARFASAA:#RETOUR:9:4:2:49#ICH:50#ICH:
L’éleveur 4 reçoit en retour de prêt 2 animaux infectés (49 et 50) en provenance de l’éleveur
9.
•
Evénement passage en dëlla
L’enregistrement correspondant est formaté comme ceci :
éleveur propriétaire : animal
Exemple :
10:0 :#ARFASAA:#PASSAGEDELLA:20:301#S
L’animal 301 appartenant à l’éleveur 20 passe dans le parc d’adultes en semaine 10 de l’année
0.
Ces sorties fichiers permettent de connaître l’évolution du système au cours du temps en
fin de simulation.
4.3.4 Paramétrage du simulateur
Compte tenu du grand nombre de paramètres à prendre en compte, il est possible avant de
débuter une simulation, de changer ou contrôler la valeur de certains paramètres. Pour ce faire
une interface graphique (figure 33) permet à l’utilisateur de paramétrer le simulateur.
Figure 33 - Interface de paramétrage du simulateur
Jean-Baptiste ESTIVAL
69
Simulation de la dynamique de la PPCB en Ethiopie
•
•
•
•
•
•
•
Stage ISIMA Avril-Septembre 2001
Partie fichier trace : elle permet de choisir les fichiers en sortie du simulateur.
Partie grille : elle permet de dimensionner la grille spatiale
Partie choix du point de vue : permet de choisir le point de vue sur la grille spatiale
Partie Evénement : permet de paramétrer les événements notamment les risques
événementiels
Partie Paramètres Intra : on peut modifier les paramètres du modèle de diffusion intratroupeau
Partie carte aléatoire : on peut paramétrer la création aléatoire d’une carte géographique
Partie probabilité prêteur : c’est la probabilité qu’a un éleveur d’être un prêteur
La simulation peut débuter lorsque l’utilisateur clique sur le bouton ‘Débuter la
simulation’.
Au fur et à mesure du développement d’un tel simulateur, il est prudent de tester ce qui a
été mis en place. Une série de tests a été effectuée pour valider le bon fonctionnement du
simulateur.
Jean-Baptiste ESTIVAL
70
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
5 CHAPITRE 5 : Test, résultats et état d’avancement du projet
Ce chapitre est consacré aux tests réalisés sur le simulateur afin de vérifier son bon
fonctionnement, ainsi qu’à l’analyse des résultats produits. Enfin, un paragraphe sur
l’évolution du projet permettra de définir le travail restant à effectuer.
5.1 Tests et résultats
Les tests effectués correspondent à la mise en place de scénarios dont on connaît les
résultats à l’avance. Ainsi, il est possible de valider les tests et le bon fonctionnement du
simulateur.
5.1.1 Le modèle de diffusion intra-troupeau
Une fois le modèle UML du système programmé sous Cormas, le modèle de diffusion
intra-troupeau a été le premier a être implémenté et testé. Cette partie décrit un test qui a été
effectué sur un éleveur ayant une dëlla et un parc de jeune. Au début, les animaux des parcs
sont sains. On introduit en semaine 10 un animal appartenant au compartiment Ich et on
observe l’évolution de la maladie dans le troupeau sachant que les traitements et vaccinations
ne sont pas encore pris en compte.
Les paramètres pour les deux parcs sont :
ν = 20
λθ =4
τ = Normale (moyenne = 42 jours, écart-type σ = 5)
p = 0.81
pIchIcl = 0.0365
pRIcl = 0.001
L’état initial du système est le suivant :
Nombre d'animaux dans la della: 5
Nombre d'animaux dans le parc de jeune: 7
Liste des animaux jeunes:
ID: 6 Age: 61 Etat de sante: #S
ID: 7 Age: 22 Etat de sante: #RPRIME
ID: 8 Age: 44 Etat de sante: #S
ID: 9 Age: 15 Etat de sante: #RPRIME
ID: 10 Age: 59 Etat de sante: #S
ID: 11 Age: 59 Etat de sante: #S
ID: 12 Age: 3 Etat de sante: #RPRIME
Liste des animaux adultes:
ID: 1 Age: 87 Etat de sante: #S
ID: 2 Age: 89 Etat de sante: #S
ID: 3 Age: 79 Etat de sante: #S
ID: 4 Age: 92 Etat de sante: #S
ID: 5 Age: 88 Etat de sante: #S
Jean-Baptiste ESTIVAL
71
Simulation de la dynamique de la PPCB en Ethiopie
•
Stage ISIMA Avril-Septembre 2001
Passage d’un animal jeune en dëlla :
On sait que l’animal 6 est âgé de 61 semaines, le passage en dëlla se fait au bout de 78
semaines soit pendant la semaine 18, on a dans le fichier trace les enregistrements suivants :
17:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E22.2289:13#ICH
17:0:#ARFASAA:1:6#S:7#S:8#S:9#S:10#S:11#S:12#RPRIME
18:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E15.2289:13#ICH:6#S
18:0:#ARFASAA:1:7#S:8#S:9#S:10#S:11#S:12#RPRIME
On remarque que le passage s’effectue bien en semaine 18 de l’année 0. On peut noter
que le parc 0 est la dëlla et le parc 1 est le parc de jeunes.
•
Passage du compartiment R’ au compartiment S :
L’animal 7 est âgé des 22 semaines, le passage a lieu au bout de 26 semaines (6 mois,
paramétrable en début de simulation) soit en semaine 4 : il aura 23 semaines en semaine 1, 24
en semaine 2, 25 en semaine 3 et 26 en semaine 4. On les enregistrements suivants dans le
fichier trace :
3:0:#BONA:1:6#S:7#RPRIME:8#S:9#RPRIME:10#S:11#S:12#RPRIME
4:0:#BONA:1:6#S:7#S:8#S:9#RPRIME:10#S:11#S:12#RPRIME
•
Introduction d’un animal Ich en semaine 11:
On a les enregistrements suivants dans le fichier trace :
10:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#S
11:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#S:13#ICH
L’animal 13 est l’animal introduit dans la dëlla.
•
Diffusion de la maladie :
En analysant le fichier trace, on remarque que le premier animal infecté est l’animal
numéro 5 en semaine 14. Il passe dans le compartiment E, sa durée d’incubation est de 43
jours. L’enregistrement est le suivant :
14:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E43.2289:13#ICH
Cette durée d’incubation a été tirée suivant la loi normale défini par les paramètres. Les
enregistrements suivant montrent l’évolution de la maladie chez cet animal :
15:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E36.2289:13#ICH
16:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E29.2289:13#ICH
17:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E22.2289:13#ICH
18:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E15.2289:13#ICH:6#S
19:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E8.2289:13#ICH:6#S
20:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#E1.2289:13#ICH:6#S:10#S:11#S
A la fin de la durée d’incubation le passage dans le compartiment Icl ou Ich est determiné
par le modèle intra-troupeau. Ici l’animal passe dans le compartiment Icl :
21:0:#ARFASAA:0:1#S:2#S:3#S:4#S:5#ICL:13#ICH:6#E47.2675:10#S:11#S
Le passage en Ich n’a lieu que lors de la semaine 7 de l’année 1 :
7:1:#BONA:0:1#ICL:2#ICH:3#ICL:4#ICH:5#ICH:13#ICH:6#ICH:10#ICH:11#ICH: ...
Enfin voici un exemple d’animal passant directement en Ich après sa durée d’incubation:
23:0:#GANNA:0:1#E49.2119:2#E27.3564:3#E21.6629:4#E37.5532:5#ICL:13#ICH:6#E3
3.2675:10#E32.1647:11#E47.7783
Jean-Baptiste ESTIVAL
72
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
24:0:#GANNA:0:1#E42.2119:2#E20.3564:3#E14.6629:4#E30.5532:5#ICL:13#ICH:6#E2
6.2675:10#E25.1647:11#E40.7783
25:0:#GANNA:0:1#E35.2119:2#E13.3564:3#E7.66286:4#E23.5532:5#ICL:13#ICH:6#E1
9.2675:10#E18.1647:11#E33.7783
26:0:#GANNA:0:1#E28.2119:2#E6.35643:3#E0.662857:4#E16.5532:5#ICL:13#ICH:6#E
12.2675:10#E11.1647:11#E26.7783
27:0:#GANNA:0:1#E21.2119:2#ICL:3#ICL:4#E9.55324:5#ICL:13#ICH:6#E5.26753:10#
E4.16467:11#E19.7783
28:0:#GANNA:0:1#E14.2119:2#ICL:3#ICL:4#E2.55324:5#ICL:13#ICH:6#ICL:10#ICL:1
1#E12.7783
29:0:#GANNA:0:1#E7.21193:2#ICL:3#ICL:4#ICL:5#ICL:13#ICH:6#ICL:10#ICL:11#E5.
77826
30:0:#GANNA:0:1#E0.211933:2#ICL:3#ICL:4#ICL:5#ICL:13#ICH:6#ICL:10#ICL:11#IC
H
Le passage dans le compartiment R étant régit par une probabilité très faible pour
l’instant, il faut faire une simulation beaucoup plus longue pour voir un animal dans ce
compartiment :
51:5:#BONA:0:1#ICH:2#R:3#ICH ...
Ces tests m’ont permis de vérifier le bon fonctionnement de la diffusion intra-troupeau
avant de commencer à programmer la diffusion inter-troupeaux.
5.1.2 La diffusion inter-troupeaux
Les tests pour la diffusions inter-troupeaux consistent à tester au travers de scénarios le
bon fonctionnement de la gestion des événements créés par les agents.
5.1.2.1 Le changement de saison
On connaît le calendrier d’une année en Ethiopie ainsi que la répartition des saison sur
cette année (voir paragraphe 4.3.1.2.2). Il suffit de vérifier la cohérence des événements dans
le fichier trace avec ce calendrier. Pour ce faire, il suffit de lancer une simulation sur deux
années. On obtient alors les résultats suivants :
10:0
22:0
34:0
46:0
10:1
22:1
34:1
46:1
:#ARFASAA:#CHANGEMENTSAISON:
:#GANNA:#CHANGEMENTSAISON:
:#BIRRA:#CHANGEMENTSAISON:
:#BONA:#CHANGEMENTSAISON:
:#ARFASAA:#CHANGEMENTSAISON:
:#GANNA:#CHANGEMENTSAISON:
:#BIRRA:#CHANGEMENTSAISON:
:#BONA:#CHANGEMENTSAISON:
En début de simulation, la saison courante est Bona. On constate que les changements de
saison ont lieu au bon moment dans l’année.
Remarque : on constate aussi que les changements d’année sont correctement effectués.
5.1.2.2 La demande d’animaux
Pour tester les demandes d’animaux il faut créer différents scénarios.
5.1.2.2.1 Scénario 1
Jean-Baptiste ESTIVAL
73
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Ici, on dispose d’un seul éleveur. Il va effectuer une demande en semaine 9. Seul le
monde extérieur peut répondre à sa requête. On obtient dans le fichier échange :
#Debut de la simulation le August 30, 2001 à 7:51:57 am
#Nombre d'animaux : 13
#Nombre de dellas : 1
9:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
9:0 :#BONA:#ENVOI:#MONDEEXTERIEUR:1:2:14#S:15#S:#ADULTE:30
La demande est bien effectuée, le monde extérieur répond en envoyant les animaux
demandés.
5.1.2.2.2 Scénario 2
On dispose maintenant de deux éleveurs demandeur et un éleveur prêteur. Une première
demande est effectuée en semaine 6 par un demandeur. Le prêteur accepte la demande et lui
envoie tous ses animaux disponibles. La semaine suivante l’autre demandeur effectue une
demande. Dans ce cas le prêteur refuse, une autre demande sera émise vers le monde
extérieur. On obtient les résultats suivants :
#Debut de la simulation le August 31, 2001 à 2:17:20 am
#Nombre d'animaux : 46
#Nombre de dellas : 3
…
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
6:0 :#BONA:#ENVOI:3:1:2:31#S:32#S:#ADULTE:30
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
7:0 :#BONA:#ENVOI:#MONDEEXTERIEUR:2:2:50#S:51#S:#ADULTE:30
L’éleveur 1 effectue la demande comme prévu en semaine 6. Cette demande est donc
acceptée par le prêteur qui lui envoie deux animaux. La semaine suivante, l’éleveur 2 effectue
une première demande qui est donc refusée, puis une seconde demande qui est acceptée par le
monde extérieur.
5.1.2.2.3 Scénario 3
On suppose dans ce scénario que le prêteur comme le monde extérieur ne peuvent prêter
d’animaux et ce dans les même conditions que pour le scénario 2. On obtient alors les
résultats suivants dans le fichier trace :
#Debut de la simulation le August 31, 2001 à 2:33:27 am
#Nombre d'animaux : 65
#Nombre de dellas : 3
…
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
…
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
…
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
…
Il n’existe seulement deux prêteurs : un éleveur et le monde extérieur. Aucun de ces
prêteurs peut prêter d’animaux. Il est donc logique que à tour de rôle les éleveur 1 et 2 créé
deux événements demande respectivement en semaine 6 et en semaine 7.
Jean-Baptiste ESTIVAL
74
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
5.1.2.3 L’envoi d’animaux
Un événement envoi d’animaux est créé par un agent éleveur ou par le monde extérieur en
réponse positive à une demande de prêt de la part d’un éleveur. Deux cas sont à distinguer.
Lorsque le demandeur et le prêteur sont situés dans le même lieu-dit alors les animaux
rentrent tous les soirs dans la dëlla du propriétaire. Dans le cas contraire, les animaux prêtés
restent dans le parc d’adultes du demandeur. Pour tester le bon fonctionnement de ces
événements, il faut procéder de la même façon que pour le test d’un événement demande.
5.1.2.3.1 Scénario 4
On reprend le scénario 2 sachant que le demandeur et le prêteur ne sont pas situés dans le
même lieu dit. On obtient les résultats suivants dans le fichier trace « échanges » :
#Debut de la simulation le August 31, 2001 à 5:54:59 am
#Nombre d'animaux : 62
#Nombre de dellas : 3
…
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
…
6:0 :#BONA:#ENVOI:3:1:2:44#S:45#S:#ADULTE:30
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
…
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
7:0 :#BONA:#ENVOI:#MONDEEXTERIEUR:2:2:68#S:69#S:#ADULTE:30
On constate que les demandes et les envois d’animaux sont correctement effectués. Il faut
alors vérifier dans le fichier trace « diffusion » que les animaux ont bien changé de dëlla
pendant la période de prêt. On trouve dans le fichier « diffusion » :
6:0:#BONA:0:1#E11.3613:2#E20.0353:3#E38.0449:4#E16.9478:5#ICL:6#S:7#E15.4377:8#S:9#
E48.347:10#E21.7622:11#E17.4194:12#E44.8241:13#E48.9269:14#E12.0894:15#E16.0172:19#
E47.623:21#E32.5309
6:0:#BONA:1:16#S:17#S:18#S:20#S:22#S:23#S:24#S:25#RPRIME:26#S:27#S:28#RPRIME:29#RPR
IME
…
6:0:#BONA:4:44#S:45#S:46#S:47#S:48#S:56#S
6:0:#BONA:5:49#S:50#S:51#S:52#S:53#S:54#S:55#S:57#S:58#RPRIME:59#S:60#S:61#RPRIME:6
2#S
7:0:#BONA:0:1#E4.36132:2#E13.0353:3#E31.0449:4#E9.94777:5#ICL:6#S:7#E8.43773:8#E41.
4689:9#E41.347:10#E14.7622:11#E10.4194:12#E37.8241:13#E41.9269:14#E5.08938:15#E9.01
718:19#E40.623:21#E25.5309:44#S:45#S
7:0:#BONA:1:16#S:17#S:18#S:20#S:22#S:23#S:24#S:25#RPRIME:26#S:27#S:28#RPRIME:29#RPR
IME
7:0:#BONA:2:30#S:31#S:32#S:33#S:34#S:35#S:36#S:37#S:38#S:39#S:40#S:41#S:42#S
7:0:#BONA:3:43#S
7:0:#BONA:4:46#S:47#S:48#S:56#S:52#S
7:0:#BONA:5:49#S:50#S:51#S:53#S:54#S:55#S:57#S:58#RPRIME:59#S:60#S:61#RPRIME:62#S
...
8:0:#BONA:2:30#S:31#S:32#S:33#S:34#S:35#S:36#S:37#S:38#S:39#S:40#S:41#S:42#S:68#S:6
9#S
8:0:#BONA:3:43#S
Les animaux envoyés par l’éleveur 3 ont bien été ajoutés à la dëlla du demandeur. De
même que ceux envoyés par le monde extérieur à l’éleveur numéro 2.
Jean-Baptiste ESTIVAL
75
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
5.1.2.3.2 Scénario 5
On reprend le scénario 5 mais avec un prêteur du même lieu dit que l’éleveur. Le fichier
trace « échanges » donne maintenant comme résultat :
#Debut de la simulation le August 31, 2001 à 6:09:31 am
#Nombre d'animaux : 45
#Nombre de dellas : 3
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
6:0 :#BONA:#ENVOI:3:1:2:27#S:28#E:#ADULTE:30
On vérifie de la même façon dans le fichier trace « diffusion » :
6:0:#BONA:0:1#ICL:2#ICH:3#ICH:4#E2.79454:5#E17.7868:6#E27.0635:7#E17.6836
6:0:#BONA:1:8#RPRIME:9#S:10#RPRIME:11#S:12#S:13#RPRIME:14#S:15#S:16#RPRIME
6:0:#BONA:4:27#S:28#E40.8135:29#S:30#ICH:31#S:32#E43.2982:39#S
6:0:#BONA:5:33#RPRIME:34#S:35#S:36#S:37#S:38#S:40#S:41#S:42#S:43#S:44#S:45#
S
7:0:#BONA:0:1#ICL:2#ICH:3#ICH:4#ICL:5#E10.7868:6#E20.0635:7#E10.6836
7:0:#BONA:1:8#RPRIME:9#S:10#RPRIME:11#S:12#S:13#RPRIME:14#S:15#S:16#RPRIME
7:0:#BONA:4:27#S:28#E33.8135:29#S:30#ICH:31#S:32#E36.2982:39#S
7:0:#BONA:5:33#RPRIME:34#S:35#S:36#S:37#S:38#S:40#S:41#S:42#S:43#S:44#S:45#
S
On peut constater que les animaux restent bien dans la dëlla du propriétaire pendant la
durée du prêt.
5.1.2.4 Retour de prêt
Pour tester les retours de prêts nous allons reprendre les scénarios 4 et 5 mais sur une
nouvelle simulation (animaux différents).
5.1.2.4.1 Scénario 4
Le fichier trace « échange » donne les résultats suivants :
#Debut de la simulation le August 31, 2001 à 6:33:33 am
#Nombre d'animaux : 64
#Nombre de dellas : 3
...
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
6:0 :#BONA:#ENVOI:3:1:2:55#S:56#S:#ADULTE:30
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
7:0 :#BONA:#DEMANDE:2:30:2:#ADULTE
7:0 :#BONA:#ENVOI:#MONDEEXTERIEUR:2:2:69#ICH:70#S:#ADULTE:30
10:0 :#ARFASAA:#CHANGEMENTSAISON:
...
10:0 :#ARFASAA:#RETOUR:1:3:2:55#E:56#E:
11:0 :#ARFASAA:#RETOUR:2:#MONDEEXTERIEUR:2:69#ICH:70#E:
12:0 :#ARFASAA:#PASSAGEDELLA:2:51#S
14:0 :#ARFASAA:#PASSAGEDELLA:2:54#S
16:0 :#ARFASAA:#PASSAGEDELLA:1:18#S
16:0 :#ARFASAA:#PASSAGEDELLA:3:64#S
Il faut maintenant vérifier la cohérence des résultats dans le fichier trace « diffusion » :
7:0:#BONA:0:1#ICL:2#E14.4831:3#E0.584244:4#ICH:5#E10.5979:6#ICL:7#E10.1806:8#ICH:9#
ICL:10#ICL:11#ICL:12#E1.63409:13#E6.78191:14#E3.1894:15#E22.0558:24#E16.8812:29#E27
.9289:55#E40.8826:56#E37.7692
7:0:#BONA:1:16#RPRIME:17#S:18#S:19#S:20#S:21#S:22#S:23#S:25#S:26#S:27#RPRIME:28#RPR
IME
...
7:0:#BONA:4:57#S:60#S
Jean-Baptiste ESTIVAL
76
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
7:0:#BONA:5:58#S:59#S:61#RPRIME:62#RPRIME:63#RPRIME:64#S
...
8:0:#BONA:2:30#ICL:31#ICH:32#E8.76864:33#ICL:34#E17.1436:35#ICL:36#ICH:37#E4.71781:
38#E2.21423:39#E4.68646:40#ICH:41#ICH:42#ICH:48#E35.7167:69#ICH:70#S
8:0:#BONA:3:43#S:44#S:45#S:46#S:47#S:49#S:50#RPRIME:51#S:52#S:53#S:54#S
...
10:0:#ARFASAA:0:1#ICL:2#ICL:3#ICH:4#ICH:5#ICL:6#ICL:7#ICL:8#ICH:9#ICL:10#ICL:11#ICL
:12#ICH:13#ICL:14#ICL:15#E1.05584:24#ICH:29#E6.92894:55#E19.8826:56#E16.7692
10:0:#ARFASAA:1:16#RPRIME:17#S:18#S:19#S:20#S:21#S:22#S:23#S:25#S:26#S:27#RPRIME:28
#RPRIME
10:0:#ARFASAA:2:30#ICL:31#ICH:32#ICH:33#ICL:34#E3.14363:35#ICL:36#ICH:37#ICL:38#ICL
:39#ICL:40#ICH:41#ICH:42#ICH:48#E21.7167:69#ICH:70#E37.9756
10:0:#ARFASAA:3:43#S:44#S:45#S:46#S:47#S:49#S:50#RPRIME:51#S:52#S:53#S:54#S
10:0:#ARFASAA:4:57#S:60#S
10:0:#ARFASAA:5:58#S:59#S:61#RPRIME:62#S:63#RPRIME:64#S
11:0:#ARFASAA:0:1#ICL:2#ICL:3#ICH:4#ICH:5#ICL:6#ICL:7#ICL:8#ICH:9#ICL:10#ICL:11#ICL
:12#ICH:13#ICL:14#ICL:15#ICL:24#ICH:29#ICH
11:0:#ARFASAA:1:16#RPRIME:17#S:18#S:19#S:20#S:21#S:22#S:23#S:25#S:26#S:27#RPRIME:28
#S
11:0:#ARFASAA:2:30#ICL:31#ICH:32#ICH:33#ICL:34#ICL:35#ICL:36#ICH:37#ICL:38#ICL:39#I
CL:40#ICH:41#ICH:42#ICH:48#E14.7167:69#ICH:70#E30.9756
11:0:#ARFASAA:3:43#S:44#S:45#S:46#S:47#S:49#S:50#RPRIME:51#S:52#S:53#S:54#S
11:0:#ARFASAA:4:57#S:60#S:55#E12.8826:56#E9.76923
11:0:#ARFASAA:5:58#S:59#S:61#RPRIME:62#S:63#RPRIME:64#S
12:0:#ARFASAA:2:30#ICL:31#ICH:32#ICH:33#ICL:34#ICL:35#ICL:36#ICH:37#ICL:38#ICL:39#I
CL:40#ICH:41#ICH:42#ICH:48#E7.71674:69#ICH:70#E23.9756
12:0:#ARFASAA:3:43#S:44#S:45#S:46#S:47#S:49#S:50#S:51#S:52#S:53#S:54#S
On constate que tout s’est effectué correctement.
5.1.2.4.2 Scénario 5
Le fichier trace « échange » donne :
#Debut de la simulation le August 31, 2001 à 6:45:16 am
#Nombre d'animaux : 47
#Nombre de dellas : 3
...
6:0 :#BONA:#DEMANDE:1:30:2:#ADULTE
6:0 :#BONA:#ENVOI:3:1:2:21#S:22#S:#ADULTE:30
...
10:0 :#ARFASAA:#CHANGEMENTSAISON:
10:0 :#ARFASAA:#RETOUR:1:3:2:21#S:22#S:
...
On peut remarquer qu’un événement retour est généré même si les animaux restent dans
la dëlla du propriétaire afin de repérer les fins d’échange.
Le fichier trace « diffusion » nous fournit les renseignements suivants :
6:0:#BONA:0:1#E0.338196:2#ICL:3#E13.2378:4#ICH:5#E24.3983:6#S:7#ICH:8#E18.2
457:9#ICH
6:0:#BONA:1:10#RPRIME:11#RPRIME:12#S:13#S
...
6:0:#BONA:4:21#S:22#S:23#S:24#S:25#S:26#S:27#S:28#S:29#S:30#S:31#S:32#S:33#
S:34#S:39#S
6:0:#BONA:5:35#S:36#RPRIME:37#S:38#RPRIME:40#S:41#S:42#S:43#S:44#S:45#S:46#
RPRIME:47#S
7:0:#BONA:0:1#ICL:2#ICL:3#E6.23779:4#ICH:5#E17.3983:6#E43.5033:7#ICH:8#E11.
2457:9#ICH
7:0:#BONA:1:10#RPRIME:11#RPRIME:12#S:13#S
...
7:0:#BONA:4:21#S:22#S:23#S:24#S:25#S:26#S:27#S:28#S:29#S:30#S:31#S:32#S:33#
S:34#S:39#S
7:0:#BONA:5:35#S:36#RPRIME:37#S:38#RPRIME:40#S:41#S:42#S:43#S:44#S:45#S:46#
RPRIME:47#S
Jean-Baptiste ESTIVAL
77
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
...
10:0:#ARFASAA:0:1#ICL:2#ICL:3#ICH:4#ICH:5#ICL:6#E22.5033:7#ICH:8#ICH:9#ICH:
13#E42.6457
10:0:#ARFASAA:1:10#RPRIME:11#RPRIME:12#S
...
10:0:#ARFASAA:4:21#S:22#S:23#S:24#S:25#S:26#S:27#S:28#S:29#S:30#S:31#S:32#S
:33#S:34#S:39#S:43#S
10:0:#ARFASAA:5:35#S:36#RPRIME:37#S:38#S:40#S:41#S:42#S:44#S:45#S:46#RPRIME
:47#S
11:0:#ARFASAA:0:1#ICL:2#ICL:3#ICH:4#ICH:5#ICL:6#E15.5033:7#ICH:8#ICH:9#ICH:
13#E35.6458
11:0:#ARFASAA:1:10#RPRIME:11#RPRIME:12#S
...
11:0:#ARFASAA:4:21#S:22#S:23#S:24#S:25#S:26#S:27#S:28#S:29#S:30#S:31#S:32#S
:33#S:34#S:39#S:43#S
11:0:#ARFASAA:5:35#S:36#RPRIME:37#S:38#S:40#S:41#S:42#S:44#S:45#S:46#RPRIME
:47#S
Là encore, les fichiers traces ont permis de vérifier la cohérence des résultats.
5.1.2.5 Le passage en dëlla
Un animal passe dans le parc d’adultes à un certain âge. Cet âge est paramétrable au début
de la simulation. Par défaut, on suppose qu’il a lieu à 6 mois soit 78 jours dans notre
calendrier. Pour tester le bon fonctionnement de ces passages en dëlla, nous avons lancer une
simulation. Il faut alors analyser les deux fichiers traces. Le fichier d’échange donne :
1:0 :#BONA:#PASSAGEDELLA:1:9#S
L’animal 9 appartenant à l’éleveur 1 passe en dëlla en semaine 1 de l’année 0. On a dans
le fichier de diffusion intra-troupeau :
1:0:#BONA:0:1#S:2#S:3#ICL:4#E39.0149:5#E50.9578:6#E45.0645
1:0:#BONA:1:7#S:8#RPRIME:9#S:10#RPRIME:11#S:12#S:13#RPRIME:14#RPRIME
…
2:0:#BONA:0:1#E36.7827:2#S:3#ICH:4#E32.0149:5#E43.9578:6#E38.0645:9#S
2:0:#BONA:1:7#S:8#S:10#RPRIME:11#S:12#S:13#RPRIME:14#S
En semaine 1, l’animal est encore dans le parc de jeune 1. L’événement a lieu en semaine
1 également, le changement sera visible la semaine suivante. En effet, en semaine 2 le parc de
jeunes 1 n’a plus l’animal 9 qui est maintenant présent dans le parc d’adultes 0.
Cette série de test n’est bien sur pas complète. Dans ce rapport, seulement les tests les
plus significatifs ont été répertoriés. Les tests représentent une partie importante est
relativement longue dans le développement d’un tel simulateur.
5.2 Etat d’avancement du projet
Actuellement, la phase 1 prévue au début du stage est terminée. Le simulateur donne des
résultats sous forme de fichier en fin de simulation. Par l’intermédiaire d’une interface
graphique affichée avant la simulation, l’utilisateur peut agir sur de nombreux paramètres de
la simulation comme il a été demandé dans le cahier des charges. De plus, le modèle mis en
place permet de le faire évoluer pour développer la phase 2 du projet : prise en compte des
traitements et des vaccinations. Cependant, par manque de données réelles sur la zone
Jean-Baptiste ESTIVAL
78
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
d’étude, les simulations réalisées pour l’instant s’appliquent sur une carte géographique créée
aléatoirement en début de simulation, et des valeurs numériques non validées. L’étude qui
permettra de fournir les valeurs correctes des paramètres n’est pas terminée. La création
aléatoire de la carte est paramétrable par l’interface graphique.
Durant les dernières semaines de mon stage, je vais continuer à adapter la phase 1 aux
désirs des chercheurs du Cirad et si le temps me le permet, je pourrai poser les bases voire
même commencer le développement de la phase 2.
Jean-Baptiste ESTIVAL
79
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Conclusion
Suite à l’analyse du système à modéliser, nous avons décidé de diviser le stage en deux
phases. La première phase de développement du projet a été la plus longue puisque qu’il a
fallu programmer toutes les bases du simulateur : les objets et leurs attributs, le noyau de
simulation, mise en place du modèle. L’apprentissage du langage SmallTalk et du logiciel
Cormas a aussi pris du temps. La phase 1 s’est terminée par une série de tests qui ont permis
de vérifier le fonctionnement du simulateur. Actuellement le développement de la deuxième
phase n’a pas commencé mais est prévu pour le mois de septembre. Cependant, il est probable
qu’il faudra apporter des modifications au modèle de la phase 1 pour mieux répondre aux
exigences du Cirad, ce qui compromettra la mise en place des traitements et vaccinations dans
le modèle de la première phase.
Le principal objectif de ce stage a été de développer une première version d’un
simulateur afin de savoir s’il était possible d’utiliser une plate-forme multi-agents pour
modéliser un tel système. En ce sens, cet objectif a été atteint même si je ne disposais pas des
données numériques nécessaires pour réellement simuler le système étudié. Cependant, la
simulation fonctionne parfaitement sur une carte géographique créée aléatoirement en début
de simulation et les résultats peuvent être intéressants à analyser.
Sur un plan personnel, ce stage m’a fait découvrir les systèmes multi-agents et a été le
complément idéal au cours d’André Campos de l’ISIMA. D’abord j’ai eu l’occasion
d’apprendre un nouveau langage de programmation : le Small Talk ; ainsi qu’un
environnement de développement : Visual Works. De plus j’ai appris à me servir d’une plateforme de développement de système multi-agents : CORMAS. Les analyses effectuées, les
problèmes rencontrés et la nécessité de planifier un tel projet m’ont permis d’acquérir une
expérience supplémentaire dans le domaine du développement de logiciels.
Lors de mes études en IUT j’ai effectué un stage en entreprise qui m’avait fait découvrir
le travail en entreprise au sein du département informatique. Ici mon stage s’est déroulé dans
les locaux de l’ISIMA pour le Cirad de Montpellier. J’ai découvert ainsi un autre moyen de
travail. Ce travail à distance oblige une organisation plus rigoureuse et une bonne
planification du projet. Cependant, j’ai pu communiquer aisément avec les chercheurs du
Cirad par envois de courriers électroniques. D’un point de vue professionnel ce stage a été
très enrichissant aussi bien au niveau des compétences acquises qu’au niveau de la gestion
d’un projet avec une équipe distante.
En ce qui concerne l’avenir du projet, il reste encore beaucoup de chose à implémenter
pour disposer d’un simulateur permettant d’aider à lutter contre la diffusion de la maladie.
Cependant, les bases ont été posées et le simulateur actuel est évolutif, il sera possible pour
les personnes qui prendront la relève de continuer à modifier le modèle pour atteindre les
objectifs finaux.
Jean-Baptiste ESTIVAL
80
Simulation de la dynamique de la PPCB en Ethiopie
Stage ISIMA Avril-Septembre 2001
Références bibliographiques
[1]
Jacques Ferber, Les systèmes multi-agents Vers une intelligence collective,
InterEditions 1995
[2]
Pierre-Alain Muller, Modélisation objet avec UML, Editions Eyrolles 1997
[3]
Renaud Lancelot, Recueil, gestion et traitement des données sanitaires pour l’étude
de la diffusion intra-troupeau de la péri pneumonie contagieuse bovine, Rapport
Cirad-Emvt N° 2000-29 Juillet 2000
[4]
M. Lesnoff, J-F Michel, L. Pérochon, F. Thiaucourt, P. Bonnet, G. Laval,
Modélisation de la dynamique de la PPCB, Rapport Cirad-Emvt N° 2001-019 Avril
2001
[5]
Sandrine Freguin, Etude des pratiques d’échanges sociaux et commerciaux de bovins
dans une petite région d’Ethiopie contaminée par la PPCB, Mémoire de stage
Octobre 2000
[6]
Cirad, CORMAS User’s Guide, Cirad Avril 2001
[7]
Mickaël Pichon, François Guerry, Test de CORMAS pour simuler la PPCB, Rapport
de projet ISIMA Février 2000
[8]
Cirad, Proposition d’action thématique programmée, 1999
Jean-Baptiste ESTIVAL
81
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising