Você está na página 1de 54

Universit Toulouse III - Paul Sabatier

Btiment U3
118 routes de Narbonne
31 062 Toulouse cedex 9

INRA Toulouse Midi-Pyrnes


Unit de MIAT code : 0875
24 chemin de Borde Rouge -Auzeville
CS 52627
31326 Castanet-Tolosan CEDEX

Rapport de stage

Conception et dveloppement
informatique dune interface de
couplage sous R
Maeva GARCIA
Stage de fin de licence 3 statistique et informatique dcisionnelle
Du 1er avril au 30 juin 2013
Soutenance le 1er juillet 2013

Matres de stage : Ronan Trpos et Robert Faivre


Tuteur universitaire : Christelle Chaudet

Edit en Juin 2013

Remerciements
Je remercie dans un premier temps Ronan Trpos et Robert Faivre, mes
encadrants de stage pour leur soutien et leur aide durant les trois mois de travail. Ils
m'ont permis de raliser ce stage et m'ont consacr du temps afin de rpondre mes
questions. Je remercie aussi Juihui Wang, pour son aide et les solutions quil a su
apporter aux difficults rencontres. Enfin, je remercie Herv Monod pour sa
participation au projet.
Je souhaite aussi remercier Rgis Sabbatin, directeur de l'unit au sein de
laquelle j'ai effectu mon stage, de m'avoir accueilli pour ces trois mois. Je remercie
de mme Fabienne Ayrignac, ma responsable administrative pour son accueil le
premier jour et m'avoir encadr tout au long du stage.
Je remercie la formation SID, de l'universit Paul Sabatier de Toulouse pour
leurs enseignements sans lesquels raliser ce stage n'aurait pas t possible. Je
souhaite plus prcisment remercier Christelle Chaudet pour son encadrement, et sa
visite lors du stage.
Pour finir, je remercie les autres stagiaires et les doctorants de leurs
sympathies tout au long du stage, plus particulirement mon amie Lela pour son
soutien constant.

2
Maeva Garcia

Stage I.N.R.A 2013

Rsum
Dans le cadre de ma 3me anne de licence SID, Statistique et Informatique
Dcisionnelle de Toulouse, jai effectu mon stage de fin dtude lINRA (Institut
National de la Recherche Agronomique) au dpartement MIA (Mathmatiques et
Informatique Appliques) dans lunit MIAT (Mathmatiques et Informatique
Appliques Toulouse). Jai travaill au sein de la plate-forme RECORD qui est une
plate-forme de modlisation et de simulation pour lanalyse et la conception de
systmes de culture innovants. Elle sappuie sur un logiciel cod en C++ nomm VLE
(Virtual Environment Laboratory) qui est un environnement de multi-modlisation
et de simulation.
Le rseau MEXICO est un rseau de scientifiques anim par plusieurs
chercheurs du dpartement MIA de lINRA, qui propose un paquet R pour
lexploration de modle en se focalisant sur linteroprabilit avec des plates-formes
de modlisation. Ce paquet propose une homognisation de diffrentes mthodes
danalyse et a vocation stendre dautres problmatiques. Durant ce stage nous
avons cibl les mthodes danalyse de sensibilit. Ce type danalyse permet au
modlisateur d'identifier les paramtres et les variables d'entres qui ont une forte
influence sur les sorties et inversement d'identifier ceux qui ont une influence
moindre.
La plate-forme de simulation souhaitait proposer ses diffrents utilisateurs
des outils pour l'valuation statistique et l'exploration numrique de leurs modles.
Lobjectif tait donc de raliser le couplage entre le paquet dexploration de modles
et le paquet rvle, qui assure la communication entre R et VLE. Le but tant dutiliser
les fonctionnalits du paquet dexploration de modle dans le paquet de simulation.
Jai ainsi ralis le couplage en dveloppant un script R permettant danalyser les
modles avec les commandes disponibles dans le paquet dexploration.
Le rsultat obtenu est linterface informatique entre les deux paquets. Cette
interface informatique permet aux utilisateurs de raliser lexploration de modle en
utilisant les fonctionnalits du paquet dexploration.
3
Maeva Garcia

Stage I.N.R.A 2013

Abstract
As part of my 3rd year license SID (statistics decisional and computer
science) of Toulouse, I made my final internship at INRA (French National Institute
for Agricultural Research) into MIA department (Mathematics and Computer Science
Applied) in MIAT unit (Mathematics and Computer Science Applied Toulouse). I
worked in the platform RECORD which is a platform for modeling and dedicated to
the study of agro-ecosystems. It relies on software coded in C++ named VLE (Virtual
Environment Laboratory) which is an environment multi-modeling and simulation.
The network MEXICO is a network animated by several scientific researchers
from MIA Department of INRA, which offers a R package model exploration focusing
on

interoperability

with

modeling

platforms.

This

package

provides

homogenization of different methods of sensitivity analysis and is intended to extend


to other issues. During this internship we focused on methods of sensitivity analysis.
This type of analysis allows the modelisator to identify the inputs parameters that
have a major influence on the outputs, and conversely to identify those who have a
lower influence.
The platform simulations wanted to propose to its users different tools for the
package statistical analysis and numerical exploration of their models. The objective
was to realize the coupling between the package of model exploration and rvle which
provides communication between R and VLE. I realized the coupling by developing a
R script that analyzes models with the available commands in the exploration
package.
The obtained result is the computer interface between the two packages. This
computer interface allows users to perform the model exploration using the features
of package of exploration.

4
Maeva Garcia

Stage I.N.R.A 2013

Sommaire
Introduction .............................................................................................. 6
Partie I : Prsentation de lentreprise ........................................................ 7
I LINRA ......................................................................................................... 7
II Le centre Toulouse Midi-Pyrnes ............................................................. 8
III Dpartement MIA ..................................................................................... 9
IV Unit MIAT ................................................................................................ 9
V La plate-forme RECORD ............................................................................ 11

Partie II : Technologies............................................................................ 13
I Le logiciel R ................................................................................................13
II Les paquets utiliss en stage .....................................................................14
III Liens entre les diffrents paquets ........................................................... 18

Partie III : Ralisation du stage ............................................................... 19


I Prise de connaissance du sujet : Exploration de modle. ..........................19
II Couplage sur un modle exemple ............................................................ 25
III Couplage gnrique................................................................................. 35
IV Interface graphique ................................................................................. 37

Partie IV : Mthodologies ........................................................................ 40


I Planning ..................................................................................................... 40
II Moyens disposition et mis en uvre .......................................................41
III Relation entre le stagiaire et les encadrants ............................................ 44

Bilan......................................................................................................... 47
Bibliographie - Sitographie...................................................................... 48
Annexes ................................................................................................... 49

5
Maeva Garcia

Stage I.N.R.A 2013

Introduction
Mon stage de fin d'tude de troisime anne de licence Statistique et
Informatique Dcisionnelle (SID) de l'universit Paul Sabatier, Toulouse s'est
droul au sein de l'Institut National de la Recherche Agronomique de Toulouse, sur
le site d'Auzeville, dans l'unit de Mathmatiques et Informatique Appliques de
Toulouse (MIAT). Il s'est tenu sur trois mois du 2 avril au 28 juin 2013.
L'objectif de ce stage tait de concevoir et de dvelopper une interface de
couplage entre l'environnement gnrique dvelopp par le rseau MEXICO et le
logiciel de modlisation et de simulation VLE. Il convenait de dvelopper le protocole
de couplage entre ces deux outils et de le mettre en uvre dans le langage R. Enfin la
dernire partie du travail avait pour mission de raliser une interface graphique
contenant le couplage.
Dans un premier temps, je prsenterai l'INRA, ses missions, ses units ou
encore ses dveloppements. Dans un deuxime temps, nous prsenterons les
techniques utilises aux cours de ce stage : les outils utiliss et les logiciels dj
prsents. Pour poursuivre, nous approfondirons le travail ralis et les problmes
rencontrs. Enfin avant de conclure, nous aborderons les mthodologies mises en
place durant le stage.

6
Maeva Garcia

Stage I.N.R.A 2013

Partie I : Prsentation de lentreprise


Dans cette premire partie, nous allons prsenter lentreprise qui ma accueilli
pour ce stage : lInstitut National de la Recherche Agronomique.

I LINRA
1.

Historique

Mon stage s'est droul au sein de l'Institut National de la Recherche


Agronomique qui ft fond en 1946 dans le contexte de la reconstruction nationale
d'aprs-guerre et du projet de modernisation de l'agriculture franaise. L'institut
accompagne les changements du monde agricole, des filires alimentaires et des
territoires dans l'objectif de rpondre aux attentes exprimes par la socit. Cet
institut se trouve sous la double tutelle du ministre de la Recherche et du ministre
charg de l'agriculture. Afin de rpondre aux dfis scientifiques et socitaux qui ont
volus et qui ont une dimension mondiale, l'INRA a renouvel ses approches. Les
recherches de l'institut concernent les questions en rapport lagriculture,
l'alimentation et la scurit des aliments, l'environnement et la gestion des
territoires avec une perspective de dveloppement durable.
L'institut possde actuellement un dispositif de recherche dcentralis, et
mutualis comptant prs de 8500 agents titulaires (chercheurs, ingnieurs,
doctorants et administratif). Ces effectifs sont rpartis en 17 centres rgionaux et 13
dpartements scientifiques. L'INRA occupe le deuxime rang mondial et le premier
en Europe pour le nombre de publications en science agricoles et en sciences de la
plante et de l'animal.
2.

Les objectifs

Les principaux objectifs de l'INRA sont les suivants :


- produire et diffuser des connaissances scientifiques dans de nombreux
domaines (exemples : les sciences de la vie, les sciences de l'environnement,
les mathmatiques et l'informatique appliques...)
-

concevoir des innovations et des savoir-faire pour la socit qui permettent le


dveloppement d'entreprises agricoles, industrielles ou de services. L'institut

7
Maeva Garcia

Stage I.N.R.A 2013

permet de favoriser l'emploi, en partageant ses dcouvertes au plus grand


nombre.
-

clairer, par son expertise, les dcisions des acteurs publics et privs.

dvelopper la culture scientifique et technique, participer au dbat


science/socit.

former la recherche et par la recherche, grce notamment laccueil de


doctorants et des partenariats tablis avec de nombreux tablissements de
l'enseignement suprieur.

II Le centre Toulouse Midi-Pyrnes


Dans cette deuxime partie, nous allons prsenter le centre de recherche de
Midi-Pyrnes.
1.

Historique

Le centre de Toulouse se situe Auzeville, il est l'un des 17 centres INRA


rparties sur l'ensemble de la mtropole. Il a t cre en 1970, et compte aujourd'hui
plus de 850 chercheurs, ingnieurs et techniciens dont 600 titulaires. Il reprsente
environ 10 % des publications et prs de 12 % des brevets de l'INRA. Le site est dirig
par Michle Marin, prsidente du centre charge d'laborer la politique d'action
rgionale de l'institut, en cohrence avec la stratgie nationale de l'INRA.
Les recherches de l'institut sont conduites au sein de douze dpartements
scientifiques. Chaque dpartement est dfini par le croisement de quelques
disciplines scientifiques et thmatiques majeures. Le site d'Auzeville a un dispositif
de 15 units de recherches dont 12 en partenariats avec des universits et des
tablissements d'enseignements suprieurs et de recherches rgionaux.
2.

Axes scientifiques

Grce une large diversit des comptences des sciences du vivant aux sciences
du numrique et aux sciences conomiques et sociales, les quipes du centre INRA
Toulouse Midi-Pyrnes privilgient des recherches pour faire face aux grands dfis
du vingt-et-unime sicle comme par exemple des systmes de productions agricoles
(vgtaux, animaux) et forestiers plus durables adapts au changement climatique,
ou encore une alimentation attentive aux questions de sant.

8
Maeva Garcia

Stage I.N.R.A 2013

Ces recherches se dclinent en sept axes scientifiques majeurs :


- la biologie intgrative1 des interactions plantes-environnements ;
- la gntique et la biologie animale intgrative ;
- la nutrition et prvention ;
- les biotechnologies industrielles ;
- les mthodes et plates-formes pour la biologie intgrative animale, vgtale et
microbienne ;
- lagrocologie des territoires agricoles et forestiers ;
- lconomie de lenvironnement et des marchs.
Fort d'une large diversit de comptence, le centre de Midi-Pyrnes peut
prtendre jouer un rle majeur en rponse aux enjeux du vingt-et-unime sicle.

III Dpartement MIA


Il existe plusieurs dpartements de recherche au sein de lINRA, mon unit tait
rattache au dpartement Mathmatiques et Informatique Appliques.

Le dpartement Mathmatiques et Informatique Appliques a pour principal


objectif de mettre au point des mthodes et des outils dans le domaine des
mathmatiques et de l'informatique, en particulier pour des applications dans le
domaine des sciences du vivant et de l'environnement. Il rassemble ainsi des
comptences de recherche en bioinformatique, en biologie des systmes en coinformatique et aussi dans la reprsentation et l'analyse de systmes complexes.
Le dpartement MIA est prsent sur 7 centres INRA et compte environ 150
agents.

IV Unit MIAT
Les diffrents centres de recherches se dcomposent en unit de recherches, et
toutes les units sont rattaches un dpartement. Mon stage a eu lieu dans l'unit
Mathmatique et Informatique Applique Toulouse.

La Biologie intgrative a pour but dtudier le fonctionnement dun organisme vivant dans
sa complexit. Il sagit donc de dcrire, comprendre, et prdire les tres vivants dans son ensemble.
1

9
Maeva Garcia

Stage I.N.R.A 2013

1.

Objectifs

Les travaux de l'unit ont pour mission de mettre la disposition de l'INRA


des mthodes et des comptences jour en mathmatiques et en informatique
appliques, en particulier dans le cadre de collaborations avec les autres
dpartements dans des projets et des programmes cohrents avec les axes
stratgiques de l'institut. Les comptences disciplinaires prsentes au sein de l'unit,
couvrent un large spectre en statistique, probabilit, algorithmique, intelligence
artificielle et science de la dcision.

2.

Lorganisation

L'unit est dirige par Rgis Sabbadin, et compose de six quipes2. Parmi les
six quipes nous retrouvons :
- deux quipes de recherche qui sont SaAb (Statistique et Algorithme pour la
Biologie) et MAD (Modlisation des Agro-cosystmes et Dcision). Elles
correspondent respectivement aux domaines suivants : la bioinformatique et
la modlisation de systmes complexes ;
- trois plates-formes3 : deux plates-formes axes sur la bioinformatique et une
plate-forme de modlisation nomme RECORD ;
- une quipe administrative.
Ces recherches saccompagnent galement dune activit de production de
logiciels pour leur valorisation et dune activit de formation pour leur diffusion. Au
sein de l'unit sont dvelopps des logiciels qui peuvent tre cibls vers les chercheurs
et la communaut scientifique de rfrence ou vers les biologistes et les agronomes.
Nous allons prsent nous intresser plus prcisment la plate-forme RECORD car
il sagit de la plate-forme au sein de laquelle jai effectu mon stage.

Voir annexe 2 page 50 : organigramme de lunit MIAT

Une Plate-forme est en informatique une base de travail partir de laquelle nous pouvons crire,
lire, utiliser, dvelopper un ensemble de logiciels.

10
Maeva Garcia

Stage I.N.R.A 2013

V La plate-forme RECORD
1.

Prsentation

La plate-forme RECORD4 de modlisation et de simulation a pour objectif


d'aider la conception et l'valuation des systmes de production. Pour les
agronomes, les exprimentations aux champs sont indispensables mais trs
coteuses, longues mettre en place et limites en matire de gnralisation des
rsultats. C'est pourquoi lexprimentation virtuelle assiste par modle (comme le
propose la plate-forme) a pris un grand essor dans la profession d'agronome. Cela
leur permet de concevoir des systmes de cultures rpondant aux enjeux actuels de
l'agriculture comme par exemple le rchauffement climatique ou encore les diffrents
problmes environnementaux.
Afin de faciliter le travail des chercheurs, la plate-forme fut cre en 2006. Son
objectif est de rpondre aux besoins des chercheurs dans le domaine de la
modlisation et de la simulation de systme de culture, en fournissant des outils
permettant l'utilisation de modles htrognes tels que les modles de plantes, les
modles de sol, les modles de bio-agresseurs, ou encore les modles de dcision.
2.

Logiciels dvelopps

Aujourd'hui la plate-forme est oprationnelle et s'articule autour de trois axes


cls :
- un logiciel de modlisation et de simulation appel VLE (Virtual Laboratory
Environment). Il s'agit d'un environnement gnrique de modlisation et
simulation informatique ;
- des fonctionnalits permettant de se lier dynamiquement des outils
dintrt comme le logiciel statistique R ou Python ;
- une bibliothque de modles partage sur un dpt web ainsi qu'une
documentation de tous ces lments.
3.

Fonctionnement de la plate-forme

Le fonctionnement de RECORD est organis autour de 3 entits : l'quipe


plate-forme RECORD (base dans l'unit MIAT Auzeville) qui assure la
4

Rnovation et COorDination de la modlisation de cultures pour la gestion des agroscosystmes (RECORD).


11

Maeva Garcia

Stage I.N.R.A 2013

maintenance, l'volutivit de la plate-forme, la formation et le support des


utilisateurs, le Rseau des utilisateurs de RECORD charg de l'animation de la
communaut et le Comit stratgique charg de l'orientation stratgique de la
plate-forme.
RECORD permet de crer de nouveaux simulateurs partir de modles dj
existants. Il offre aussi la possibilit de lancer des simulations aprs avoir spcifi le
scnario de simulation (les valeurs d'entre, ventuellement un plan d'exprience, la
dure de simulation, les variables dont on veut observer la dynamique...). Il est
galement possible de lancer des simulations depuis un programme crit en R ou
depuis une interface web.

12
Maeva Garcia

Stage I.N.R.A 2013

Partie II : Technologies
Dans cette deuxime partie, nous prsenterons le contexte du stage, et les
technologies utilises au cours de ce stage.

I Le logiciel R
1.

Prsentation gnrale

Le logiciel R est un logiciel de statistique cre par Ross Ihaka et Robert


Gentleman. C'est la fois un langage informatique et un environnement de travail.
Les commandes sont excutes grce des instructions codes dans un langage
relativement simple, les rsultats sont affichs sous forme de texte et les graphiques
sont directement visualiss dans une fentre qui leur est propre.
Les avantages de ce logiciel sont nombreux notamment la gratuit et
l'utilisation sur plusieurs plates-formes comme Unix, Windows ou encore Macintosh.
Toute personne peut contribuer son amlioration, en y intgrant de nouvelles
fonctionnalits ou mthodes d'analyse non implmentes. C'est un outil puissant et
complet, particulirement adapt pour la mise en uvre informatique des mthodes
statistiques.
Il peut paratre plus difficile d'accs car il n'est pas conu pour tre utilis l'aide de
"clics" de souris dans des menus. L'avantage en est toutefois double :
- l'approche est pdagogique puisqu'il faut matriser les mthodes statistiques
pour parvenir les mettre en uvre ;
- l'outil est trs efficace lorsque l'on domine le langage R puisque l'on devient
alors capable de crer ses propres outils ce qui permet ainsi d'oprer des
analyses sophistiques sur les donnes.
2.

Notion de paquets

Pour pouvoir complter et augmenter les fonctionnalits du logiciel R, des


paquets galement appels packages ou bibliothques sont dvelopps. Ils sont
gnralement dvolus des mthodes particulires ou un domaine d'application. Il
est possible de construire un paquet pour un usage personnel, ou pour tre diffus.

13
Maeva Garcia

Stage I.N.R.A 2013

II Les paquets utiliss en stage


Lors du stage, j'ai travaill sur trois paquets R diffrents. Le premier est un
paquet de simulation de modles, le second est un paquet d'exploration de modles et
le dernier paquet permet de crer des interfaces graphiques sous R.
1.

Le paquet rvle, pour la simulation de modles

RECORD se base sur un projet nomm VLE (Virtual Laboratory Environment)


existe et a pour objectif de permettre la simulation et la modlisation de systmes
complexes dynamiques. Il a t dvelopp pour proposer un ensemble d'outils et de
bibliothques pour modliser et simuler des modles htrognes spcifis dans
diffrents formalismes. Afin de bien comprendre le projet, nous avons besoin
d'expliquer rapidement la structure des deux logiciels VLE et GVLE. Ces deux
logiciels ont t dvelopps dans le langage de programmation oriente objets C++.
VLE est un environnement gnrique de multi-modlisation et de simulation de
systmes complexes dynamique informatique. Cest un ensemble doutils et de
bibliothques qui permet de coupler et de simuler des modles htrognes, c'est-dire spcifis dans des formalismes diffrents. Cet environnement est conu sur les
bases thoriques et oprationnelles de la modlisation et de la simulation. Les
modles atomiques sont dcrits comme un ensemble dtats, un ensemble dentres
et de sorties et une dynamique. Les modles atomiques se connectent entre eux via
les entres et les sorties pour former les modles coupls.
Chaque modle possde un fichier vpz qui est un fichier xml permettant de
dcrire les lments dune exprience. Il permet de dfinir la structure des modles,
les conditions exprimentales, ainsi que les lments observs et la mthode
dobservation.
GVLE est une interface graphique pour VLE, permettant de simplifier la cration,
l'dition et la simulation de modles. Ce logiciel vise cacher la configuration du
fichier vpz et les diffrentes tapes de configurations et de compilations. Cela permet
d'ouvrir la plate-forme un plus grand nombre d'utilisateurs.

14
Maeva Garcia

Stage I.N.R.A 2013

Ces deux logiciels nous permettent donc de visualiser, modliser et simuler un


modle, mais RECORD a galement mis en place un autre outil permettant d'analyser
les simulations des modles depuis R. Il s'agit de rvle.
Loutil rvle est un outil important car il fait partie de la base de travail du stage. Il
s'agit d'un paquet sous R pour l'utilisation d'un simulateur d'objet de VLE. Il permet
la communication entre R et VLE.

VLE

Mon
simulateur

rvle

Le paquet rvle permet depuis une session R de :


- lire des fichiers vpz,
- de modifier les conditions initiales et les paramtres des simulateurs et les
cas chants les sauvegarder dans le simulateur,
- de modifier la dure de simulation et dautres paramtres caractristiques de
la simulation,
- lancer des simulations,
- rcuprer les rsultats de la simulation sous forme d'objet R : matrices ou
dataframes.
Ce paquet est utile pour traiter les simulations. Il permet un utilisateur de
manier les modles depuis un environnement simple qui est R. Pour ce faire
diffrentes commandes sont spcifiques aux paquets, elles seront dvelopps un peu
plus tard dans le rapport.
2.

Le paquet mtk, pour lexploration de modles

Le rseau MEXICO (Mthode pour lEXploration Informatique de modles


COmplexes)

est n en 2006, en rassemblant une communaut d'informaticiens

modlisateurs et de statisticiens de diffrents instituts de recherche et universits. La


plupart des quipes avaient dj des changes informels autour de la problmatique
15
Maeva Garcia

Stage I.N.R.A 2013

d'exploration numrique des modles, il s'agissait donc de donner un cadre ces


changes et d'identifier les questions communes ce groupe qui pourraient gagner
tre mutualises.
Ce rseau a 3 objectifs distincts : initier les chercheurs aux mthodes
dexploration de modles notamment lors des interventions dans les coles
chercheurs, contribuer la rflexion mthodologique notamment travers un livre
quils ont crits et paru en dbut danne portant sur lanalyse de sensibilit et
lexploration de modle. Et enfin le dernier but est de rendre accessible ces mthodes.
Pour ce faire ils ont mis au point le paquet R dexploration de modle. Cette bote
outils pour but :
- offrir une large slection de mthodes permettant l'exploration numrique de
modles,
- permettre dintgrer de nouvelles mthodes pour l'exploration numrique de
modle,
- pouvoir dialoguer avec des plates-formes de modlisation,
- fournir un ensemble de fonctionnalits pour utiliser les diffrentes mthodes
exploratrices des modles. C'est lobjet du paquet mtk que nous allons
aborder plus en dtails.
Il existe plusieurs projets permettant d'explorer le comportement des modles
et d'exploiter plus efficacement les donnes qu'ils produisent, au sein de la
communaut de chercheurs. Il en rsulte de nombreux logiciels nanmoins, ils
manquent quelquefois d'universalit ou de gnricit dans leur exploitation,
notamment quand il est question de les intgrer par la suite des plates-formes de
modlisation (comme VLE, par exemple). Par ce constat, le paquet R mtk , a t
dvelopp. Il est consacr aux mthodes d'exploration de modles par la simulation.
Ce paquet se veut tre universel et standardis dans les mthodes d'exploration
numrique en rponse aux attentes des plates-formes de simulation. Il a trois
vocations principales : pouvoir tre utilis facilement partir du logiciel R, pouvoir
sintgrer aisment dans les plates-formes de simulation, et pouvoir tre enrichi
facilement par d'autres contributeurs par l'ajout de nouvelles mthodes.

16
Maeva Garcia

Stage I.N.R.A 2013

Ce paquet est le rsultat dune collaboration entre des statisticiens spcialiss


dans les mthodes d'exploration numrique et des informaticiens spcialiss de la
programmation oriente-objet. Il a donc une conception et une architecture
d'ensemble originales pour un paquet R, qui a pour objet de concilier linteractivit
d'un langage de script comme R et l'efficacit de programmation oriente-objet
comme Java. Son architecture repose sur une reprsentation homogne des facteurs
d'entre, caractrise par des lois et sur une dcomposition de l'exprimentation
numrique en tapes. Cette architecture sera dveloppe plus en dtails dans la suite
du rapport car elle fait partie intgrante des lments de recherche du stage.
3.

Le paquet shiny , cration interface en R

Le paquet "shiny" est un nouveau paquet de R disponible pour tous les


utilisateurs du logiciel permettant de construire des applications web interactives
avec R. Il permet de construire des interfaces Web avec seulement des lignes de codes
depuis R sans l'utilisation de JavaScript. C'est une manire simple et efficace de crer
des applications interactives o les sorties se mettent jour au fur et mesure que les
entres sont modifies sans ncessiter un rechargement du navigateur. L'avantage de
ce paquet est qu'il n'est pas ncessaire de connatre de langage comme HTML ou
Java, une simple exprience avec R est requise. Il combine la puissance statistique de
R et la programmation web. Il permet de laisser aux utilisateurs le choix des
paramtres d'entres l'aide des commandes comme le curseur, les menus
droulants ou encore les champs de textes. Il est galement possible d'intgrer
facilement toutes sortes de sorties comme des tableaux, des graphiques, ou encore
des rsums.
De manire plus gnrale, "shiny" reprsente une alternative pour crer des
applications Web et est accessible depuis l'environnement de R. Il est utilis pour
crer l'interface ou figurant le couplage ralis lors du stage.

17
Maeva Garcia

Stage I.N.R.A 2013

III Liens entre les diffrents paquets


Le logiciel VLE, travers son couplage avec R (paquet rvle) offre la possibilit de
manipuler les modles, plus prcisment de piloter lexcution des simulations, ou
encore de rcuprer les sorties directement en R. Le rseau MEXICO grce son
paquet mtk permet d'utiliser des mthodes d'exploration de modle. Ce qu'apporte ce
paquet rpond aux attentes de la plate-forme RECORD en termes d'exploration de
modles.
L'objectif du stage au vu des fonctionnalits des deux paquets consiste fournir
aux utilisateurs du logiciel VLE, l'environnement gnrique dvelopp par MEXICO.
De manire plus gnrale, il convient de raliser l'exploration des modles issus de
VLE en utilisant les fonctions du paquet mtk et ainsi faciliter l'analyse des entres et
des sorties des modles. Cela consiste crer une interface en ligne de commande
(CLI)
Suite au couplage, il convient de crer une interface graphique (CGU) avec le
paquet de cration dinterface. Cette interface est base sur le couplage qui a t
ralis.

18
Maeva Garcia

Stage I.N.R.A 2013

Partie III : Ralisation du stage


Dans cette partie, nous allons dvelopper les diffrentes tapes du stage et les
rsultats obtenus.

I Prise de connaissance du sujet : Exploration de modle.


La premire tape du stage consistait prendre connaissance du sujet en
approfondissant les points les plus importants comme l'analyse de sensibilit,
l'analyse d'incertitude, les diffrentes mthodes d'analyses utilises...
1.

Les diffrentes notions thoriques

Il y a plusieurs notions prciser dans cette partie. La premire concerne la


notion de modle. Nous aborderons ensuite lanalyse dincertitude et lanalyse de
sensibilit ainsi que la notion dindice de sensibilit. Nous finirons par prsenter la
planification dexprience dans ce contexte.
Les modles
Comme

nous

l'avons

vu

dans

la

prsentation

de

la

plate-forme,

l'exprimentation sur le terrain est importante pour les agronomes mais trs
complique mettre en place et trs coteuse. Les agronomes utilisent donc des
modles reprsentant le fonctionnement des cultures. Ces modles sont souvent
utiliss dans diffrents domaines et constituent un outil d'aide la dcision. Il existe
une grande diversit de modles mais ils sont souvent composs de quatre lments :
des variables d'entre, des variables de sorties, des valeurs des paramtres et des
quations. Nous utiliserons le terme de facteurs pour dfinir les variables dentres et
les facteurs.
Comme ils sont des reprsentations simplifies de la ralit, les modles conduisent
des erreurs de prdiction ou des dcisions errones. Il est donc important de
connatre les principales sources d'incertitude d'un modle et d'analyser leurs
consquences sur les prdictions et l'aide la dcision. Les mthodes d'analyse
d'incertitude et de sensibilit constituent alors des outils utiles pour dcrire
l'incertitude dans les sorties d'un modle et hirarchiser l'importance des diffrents
lments incertains.
19
Maeva Garcia

Stage I.N.R.A 2013

Les analyses dincertitude et lanalyse de sensibilit


L'analyse d'incertitude permet d'obtenir des informations sur l'incertitude
associe aux prdictions du modle, induite par les incertitudes sur les facteurs
dentres du modle. Ces informations sont importantes pour juger de la qualit des
prdictions du modle et pour optimiser les variables dcisionnelles.
Dans le cadre du stage nous nous sommes intresss l'analyse de sensibilit
qui permet d'identifier les paramtres et les variables d'entre qui ont une forte
influence sur les sorties du modle, et inversement, identifier les paramtres et les
variables d'entre qui ont une influence moindre sur les sorties. Elle permet en
particulier de hirarchiser l'importance des diffrents paramtres incertains d'un
modle. Les rsultats d'une analyse de sensibilit permettent de dterminer les
paramtres qu'il est ncessaire de connatre plus prcisment.
Les indices de sensibilit sont les rsultats dune analyse de sensibilit. Cet
indice mesure linfluence dun facteur incertain sur une variable de sortie dun
modle. Une valeur dindice leve indique que le facteur a une forte influence sur la
sortie et inversement une valeur faible indique une faible influence. Le calcul
dindices de sensibilit pour plusieurs facteurs incertains permet de hirarchiser
linfluence de ses facteurs.

Les plans dexpriences


Les mthodes danalyses de sensibilit sont bases sur la cration dun
chantillonnage dans lespace des paramtres dentre afin dobtenir des chantillons
de sortie du modle numrique. Lchantillonnage repose sur la cration dun plan
dexprience. Il a pour but de minimiser le nombre dessais conduire pour obtenir
des rsultats fiables qui refltent la variation relle du phnomne tudi en fonction
de ses diverses caractristiques. Il existe plusieurs types de plans. Nanmoins afin de
sassurer que les domaines de variation des paramtres dentre sont bien parcourus,
nous utilisons lchantillonnage par hypercubes latins, connu sous lacronyme LHS
(Latin Hypercube Sampling). Ce type de plan consiste rpartir les points de
lchantillon uniformment sur toute ltendue du domaine de chaque variable
dentre, afin de remplir lespace.

20
Maeva Garcia

Stage I.N.R.A 2013

Pour raliser une analyse de sensibilit plusieurs mthodes existent. Nous allons
prsent dvelopper un exemple, la mthode de Morris.
2.

La mthode de Morris

La mthode Morris utilise une discrtisation de lespace des facteurs : seuls des
points appartenant une grille rgulire multidimensionnelle sont susceptibles dtre
chantillonnes. Une seconde caractristique est que linfluence de chaque facteur Xk
est value en comparant des simulations pour lesquelles seul ce facteur Xk a vari. Il
dagit donc dune mthode dite OAT signifiant en anglais One At a Time
traduit par un par un . La combinaison des deux principes dcrits ci-dessus fait de
cette mthode Morris, une mthode robuste et efficace pour lanalyse de sensibilit.

Echantillonnage
Soit un modle comprenant K facteurs, la gamme de variation de chaque facteur
est discrtise en Q niveaux { 0,

, , 1}. Le croisement de ces niveaux dfinit

un ensemble de QK nuds not . Lchantillonnage de la mthode Morris est


constitu dune suite de trajectoires alatoires i pour i =1, , r passant chacune par
K+1 nuds (A(i,0),,A(i,K)) de , de telle sorte que chaque facteur ne varie quune
seule fois par trajectoire.
Cette mthode ncessite l nombre de simulation o l= K+1 * r.
Principe
En analysant les valeurs simules sur les r trajectoires, cette mthode permet de
classer les entres en trois catgories :
- Entres ayant des effets ngligeables,
- Entres ayant des effets linaires et sans interaction,
- Entres ayant des effets non linaires et/ou avec interaction.

Calcul des indices


La mthode repose sur ltude des variations de la sortie entre deux points
successifs sur les trajectoires. Chaque rptition i (avec i=1r) permet dvaluer un
effet lmentaire, not Ej(i) par entre Xj. Par exemple, supposons que le dplacement
entre deux points successifs A(i,j) et A(i,

j+1)

de la trajectoire i soit associ une

21
Maeva Garcia

Stage I.N.R.A 2013

( =1) du facteur Xk. Cette variation occasionne leffet lmentaire

variation
suivant :

,,

Ej(i) =

,,

,,

,,

O :
est le modle ;
(respectivement

) dsigne la coordonne sur laxe associ au facteur

Xk du point A(i,j) (respectivement A(i, j+1)).


Lensemble du plan dexprience (r rptitions) fournit un r-chantillon des effets
pour chaque entre Xj, dont sont issus les indices de sensibilit. Nous calculons deux
paramtres :
*

- j =
- j =

o j =

r
i=1

i=1

| Ej(i) |

la moyenne des valeurs absolues des effets ;

!) #$ '

lcart type des effets.

Ej(i)

Ainsi, plus j* est important, plus lentre Xj contribue la dispersion de la sortie,


le paramtre j mesure quant lui la linarit du modle tudi et les interactions
entre les paramtres. Si la sortie dpend linairement de Xj et que Xj ninteragit pas
avec dautres entres (k j), leffet dune perturbation lmentaire de Xj est identique
quelle que soit sa position dans lespace des entres : les r effets lmentaires sont
gaux et j est alors gal 0. Par consquent, plus j est lev (par rapport j*),
moins lhypothse de linarit et de non interaction est pertinente.

22
Maeva Garcia

Stage I.N.R.A 2013

3.

Processus dexploration de modle propos par mtk

Pour raliser diffrentes exprimentations numriques, un enchanement de


quatre procdures est ncessaire : nous lappelons workflow. Il correspond
lensemble des tapes mettre en uvre pour raliser lexploration dun modle.
Lenchanement des processus est illustr sur la figure suivante :

Figure I.1 : processus pour lexploration dun modle

Ce workflow est constitu de quatre processus diffrents pour lexploration


numrique. Le premier processus est lchantillonnage, qui consiste produire
une srie de scnarios c'est--dire un jeu de valeurs des diffrents facteurs dont nous
souhaitons tudier linfluence. Ce processus construit un plan dexprience.
Le deuxime processus est lvaluation, qui consiste excuter une simulation du
modle pour chaque scnario tabli auparavant.
La troisime tape du workflow est lanalyse, qui consiste mettre en uvre la
mthode danalyse souhaite sur les rsultats de lvaluation. Les donnes obtenues
lors de lvaluation sont donc analyses par la mthode choisie.
Enfin la quatrime tape est le reporting, qui consiste raliser une synthse des
rsultats de lanalyse effectue notamment les rsums statistiques ou encore les
sorties graphiques.
Ce workflow est important car il coordonne les enchanements des diffrents
processus qui interviennent dans la procdure dexprimentation numrique. Il a
pour rle dassurer le bon enchanement de ces processus. En effet, avant dappeler
un processus participer un enchanement, il vrifie que toutes les conditions
23
Maeva Garcia

Stage I.N.R.A 2013

pralables sont remplies et que les donnes ncessaires lenchanement sont


disponibles.
Dans la version du paquet dexploration que jai utilis, seulement trois types de
processus sont pris en compte : lchantillonnage, lvaluation et lanalyse. Seules
quelques fonctions de reporting sont disponibles.

24
Maeva Garcia

Stage I.N.R.A 2013

II Couplage sur un modle exemple


La premire tape du codage, consistait raliser le couplage du workflow
danalyse de paquet mtk de R, sur un modle exemple issu de la plate-forme. Cela
nous a permis de comprendre le fonctionnement des deux paquets ensemble : le
paquet de modlisation (rvle) et le paquet dexploration de modle (mtk).
Nous allons, dans un premier temps, dfinir le modle exemple choisi puis nous
prsenterons le couplage sur cet exemple.
1.

Prsentation du modle

Le modle qui a t utilis tout au long du stage se nomme 2CV . Il simule


la conduite d'une culture de mas ainsi que la croissance du mas et la marge brute
conomique issue de la vente du grain. Nous utilisons la version du modle qui
repose sur des donnes mtorologiques journalires (pluie, temprature minimale,
temprature moyenne, temprature maximale) qui sont lues dans un fichier. Les
simulations nous fournissent quotidiennement un indice du dveloppement du mas.
Et en fin de simulation, les observations fournissent un bilan, en partie conomique,
par exemple le profit, le rendement ou encore le nombre d'irrigations.
Dans ce modle, nous prenons en compte cinq variables de dcision pour tudier
comme variable de sortie le profit, c'est--dire la marge issue de la vente du mas. Les
variables de dcision concernant l'irrigation du mas sont les suivantes :
apportEau, quantit d'eau apporte chaque irrigation ;
nbJoursAvantRetour, le nombre minimal de jours qu'il est ncessaire
d'attendre entre deux activits d'irrigation ;
quantiteEauSolPortant, une quantit d'eau de pluie cumule sur une
courte dure au del de laquelle on considre que le sol n'est plus portant.
Ds lors, les activits aux champs sont alors suspendues ;
quantiteEauPeriodeSeche, une quantit d'eau de pluie cumule sur une
courte dure en dessous de laquelle nous considrons que nous sommes en
priode sche et qu'une irrigation est ncessaire ;
stockEau, la quantit deau disponible pour lirrigation, sur lensemble de
lanne culturale.
Ce modle prend donc en paramtre d'entre les cinq variables dcrites ci-dessus afin
d'tudier le profit de la culture du mas.
25
Maeva Garcia

Stage I.N.R.A 2013

Aprs avoir pris en main le modle, il sagissait de raliser le couplage entre le paquet
de simulation rvle et le paquet dexploration mtk spcifiquement pour ce modle
2CV .
2.

Couplage sur ce modle

Comme nous l'avons stipul lors de la prsentation des diffrents paquets, le


paquet d'exploration de modle a t mis au point dans l'optique de pouvoir tre
utilis au sein de plusieurs plates-formes. Il peut donc tre enrichi facilement afin de
rpondre aux attentes des diffrents utilisateurs.
Dans le paquet de base, plusieurs modles sont dj prsents et fonctionnels. Pour
pouvoir raliser l'analyse de sensibilit sur le modle de conduite du mas, nous
devions l'ajouter au paquet d'exploration de modle.
Pour ajouter ce modle ce paquet, il convient dcrire deux fonctions distinctes
dans un script R :
- une fonction .model (a)
- une fonction .simule (b)
Ces deux fonctions sont requises par le paquet dexploration de modle pour raliser
le couplage entre les deux paquets.
a - Fonction .model
La fonction .model [cf. Figure II.1] permet de rcuprer pour un vecteur de
paramtre en entre, une simulation du modle et surtout la valeur de la variable de
sortie : le profit dans notre exemple.
cv.model <- function(param){
#simulation du modle
cv = new("Rvle",
"tp5_4_correction")

file

"2CV-exploration.vpz",

pkg

setDefault(cv,"condDecAgent.apportEau"=param[1])
setDefault(cv,"condDecAgent.nbJoursAvantRetour"=as.integer(par
am[2]))
setDefault(cv,"condDecAgent.quantiteEauPeriodeSeche"=param[3])
setDefault(cv,"condDecAgent.quantiteEauSolPortant"=param[4])
setDefault(cv,"condDecAgent.stockEau"=param[5])
cvres=results(run(cv))
y<-cvres$vueFinalBilan[1,"model:Bilan.Profit"]
return(y)
}
Figure II.1 : code de la fonction model

26
Maeva Garcia

Stage I.N.R.A 2013

En paramtre d'entre de cette fonction, nous retrouvons un vecteur nomm ici


param qui correspond un scnario de simulation, c'est--dire une valeur pour
chaque paramtre. Comme notre modle prsente cinq variables de dcision, le
paramtre param est donc un vecteur de dimension 5.
Dans cette fonction, la premire tape consiste dclarer le modle de conduite de
culture du mas ( 2CV ) comme notre modle analyser. Nous utilisons une
fonction du paquet de simulation de modle qui est la fonction new(). Cette fonction
new prend en paramtre le type du modle, le nom du fichier contenant le modle
et le paquet o est situ ce modle.
Nous initialisons la variable cv comme un objet rvle du fichier 2CVexploration.vpz du paquet tp5_4_correction . Les deux derniers renseignements
sont spcifiques au nom du fichier et au nom du paquet qui contenait le modle de
conduite du mas sur mon poste. La variable cv contient le modle complet. Nous
pouvons voir en excutant juste cv 5 les diffrentes variables, les valeurs nominales
de ces variables et leur type.
La deuxime tape de la fonction .model consiste initialiser les valeurs
des variables de dcision avec les valeurs du paramtre param pass en entre.
Pour cela nous utilisons la fonction setDefault() issue du paquet de simulation rvle.
Cette fonction permet de dfinir les diffrents paramtres de simulation. Elle nous
permet donc pour chaque variable de dcision de lui affecter sa valeur
correspondante du vecteur param .
La troisime tape de la fonction .model est de lancer la simulation du
modle. Nous utilisons la fonction run qui permet dexcuter le modle prsent
dans cv . Nous utilisons en mme temps que la fonction run la fonction
results : elle permet de conserver les rsultats, ici la variable cvres .
A l'issue de ces trois tapes, nous avons donc charg un modle dans cv , affect
les valeurs passes en paramtre aux variables du modle, lanc la simulation et
conserv les rsultats. La dernire tape consiste rcuprer la valeur de sortie.
Nous rcuprons la valeur du profit dans la variable cvres . La variable cvres
5

Voir annexe 1 page 49 : exemple de contenu de la variable cv


27

Maeva Garcia

Stage I.N.R.A 2013

est structure en diffrentes vues. De manire gnrale, les sorties de simulation des
modles, sous RECORD, sont structures en vues ; une vue contenant les
informations issues de chaque simulation et une vue contenant le bilan de la
simulation. Pour rcuprer la valeur qui nous intresse dans notre cas, nous nous
positionnons dans cvres puis sur la vue contenant le bilan en indiquant que nous
souhaitons rcuprer le profit. C'est ce que fait la commande :
y<-cvres$vueFinalBilan[1,"model:Bilan.Profit"] .
Enfin la dernire tape de la fonction .model a pour objectif de retourner la valeur
de la variable de sortie.
b - Fonction .simule
La deuxime fonction ncessaire pour crer le modle au sein du paquet
d'exploration de modle est la fonction .simule [cf. Figure II.2]. Cette fonction
permet de simuler le comportement du modle pour un ensemble de valeurs de
paramtres.

cv.simule <- function(X,...){


Y=apply(X,1,cv.model)
Y=as.data.frame(Y)
output=list(main=Y,information=NULL)
return (output)
}
Figure II.2 : code de la fonction simule

Dans cette fonction, le premier argument X est une matrice N lignes et K


colonnes, avec N le nombre de simulations effectuer et K le nombre de paramtres
tudis (dans notre exemple, K=5). Chaque ligne de X contient un jeu complet de
paramtres. Dans notre exemple, la fonction ne prend aucun autre paramtre, mais il
peut y avoir des paramtres en plus comme par exemple des options de dcisions
pour certains modles.
La premire tape de la fonction consiste utiliser la fonction apply() . Cette
fonction permet d'appliquer une fonction chaque ligne ou colonne d'un tableau de
donnes. Elle prend 3 arguments dans lordre suivant : nom de tableau de donnes,
nombre pour dire si la fonction doit s'appliquer aux lignes (1), aux colonnes (2) ou
28
Maeva Garcia

Stage I.N.R.A 2013

aux deux (c(1,2)) et enfin le nom de la fonction appliquer. Dans notre cas, le tableau
de donnes est la matrice X passe en paramtre. Nous appliquons la fonction
cv.model dcrite prcdemment chaque ligne de X afin de rcuprer le profit du
mas correspondant.
La seconde tape consiste transformer les rsultats en un data-frame. Un
data-frame est une structure R o chaque colonne peut avoir son type
(contrairement une matrice dont tous les lments doivent avoir le mme type).
Enfin, nous crivons la sortie sous la forme dune liste qui contient dans un premier
temps Y contenant tous les profits obtenus en fonction des diffrents jeux de donnes
passe dans X et les informations complmentaires. Ici, les informations sont
NULL puisqu'il n'y en a pas.

c - Chargement du modle dans le paquet dexploration mtk


La dernire tape pour intgrer le modle au sein du paquet d'exploration de
modle est de crer le modle. Pour piloter le modle, les deux fonctions dcrites
dans les deux derniers paragraphes (cv.model et cv.simule) sont regroupes dans un
mme fichier (2CVModel.R). Le simulateur est intgr au paquet dexploration mtk
avec la fonction mtk.evaluatorAddons .
Cette fonction prend comme premiers arguments le fichier contenant les fonctions
cres et le nom du modle pour l'appeler depuis le paquet d'exploration. Elle gnre
le fichier mtk2CVEvaluator.R . Cette nouvelle classe est dfinie automatiquement
dans un fichier extrieur qui doit tre charg pour terminer ladaptation du code du
modle au paquet.
La fonction mtk.evaluatorAddons nest excute quune seule fois. La commande
source du fichier mtk2CVEvaluator.R est excute lors de louverture de
chaque session de travail sil nest pas sauvegard sous R.
Les lignes de codes sont prsentes sur la figure II.3.

29
Maeva Garcia

Stage I.N.R.A 2013

#Chargement du paquet exploration de modle


library(mtk)
#cration du modle
mtk.evaluatorAddons(where="~/2CVModel.R", name="2CV", main =
"cv.simule",
authors="Maeva",
summary=NULL,
plot=NULL,
print=NULL)
#chargement du modle
source("~/mtk2CVEvaluator.R")
Figure II.3: code chargement du modle.

3.

Exploration du modle exemple

Dans les parties prcdentes, nous avons donc cr le modle [cf. figure II.1 et
figure II.2] de simulation dune conduite de mas puis nous lavons intgr au paquet
dexploration de modle mtk [cf. figure II.3]. A prsent, nous allons raliser une
analyse de sensibilit du modle de conduite dune culture de mas (2CV ), en
dcrivant les diffrentes commandes mettre en uvre sous R.
Le paquet dexploration de modle repose sur une architecture trois
composantes6 : la gestion des facteurs, la gestion du workflow et la gestion des accs
aux ressources externes.
La premire tape raliser pour lancer lanalyse est la dclaration des facteurs.
Pour rappel le modle que nous utilisons contient cinq variables de dcision. Pour
former les diffrents facteurs, nous utilisons la fonction make.mtkFactor qui
permet de dclarer un facteur sous mtk. Cette fonction prend en arguments plusieurs
lments mais il nest pas obligatoire de tous les renseigner. Seuls deux lments sont
ncessaires pour construire un facteur : name le nom du facteur et
distribname le nom de la distribution. Il existe dautres paramtres comme id
qui est le nom complet du facteur, unit donnant lunit des valeurs du facteur,
nominal donnant la valeur nominale du facteur, distriPara concernant les
paramtres de la distribution du facteur, levels reprsentant les niveaux des
facteurs.
Le code suivant illustre lutilisation de la fonction dfinie ci-dessus : il sagit de la
dclaration dun des cinq facteurs du modle, le facteur apport deau.

Voir annexe numro 3 page 51 : architecture du paquet dexploration mtk


30

Maeva Garcia

Stage I.N.R.A 2013

fact_apportEau <- make.mtkFactor (


name="condDecAgent.apportEau",
distribName="unif", nominal=30,
distribPara=list(min = 5, max = 50))
Figure II.4 : dclaration du facteur apportEau .

Pour chaque facteur du modle, il convient dcrire sa dclaration laide de cette


fonction. Une fois la dclaration de tous les facteurs effectue, nous conservons ceuxci dans une structure comme suit :
cv_fact <- mtkExpFactors(list(fact_apportEau, fact_nbJour,
fact_qtJourPS, fact_qtJourSP,
fact_StockEau))
Figure II.5 : dclaration des diffrents paramtres.

La fonction mtkExpFactors prenant une liste contenant tous les paramtres de


lanalyse en argument, permet de dfinir la liste entire des diffrentes variables de
dcisions du modle.
Ltape suivante a pour objectif de dfinir le processus mettre en uvre pour
former le workflow. Il convient alors de dclarer les trois processus prsents dans la
version du paquet dexploration : le gnrateur de plans, le simulateur et lanalyseur.
#Formation du processus de gnration des plans
cv.design <- mtkNativeDesigner ("Fast",
information=list(n=100))

#Formation du processus de simulation avec le modle 2CV


cv.evaluate <- mtkNativeEvaluator ("2CV")

# Formation du processus de calcul des indices de sensibilit


cv.analyse <- mtkNativeAnalyser ("Fast",
information=list(nboot=20))
Figure II.6 : dclaration des tapes du Workflow.

La fonction mtkNativeDesigner est utilise pour dclarer la gnration des


plans dexprience. Cette fonction prend en paramtre le nom de la mthode utilise
31
Maeva Garcia

Stage I.N.R.A 2013

pour gnrer les plans et une liste fournissant des informations complmentaires sur
la mthode choisie. Cette liste est diffrente selon la mthode slectionne dans le
premier argument. Dans lexemple, il sagit dun chantillonnage par Fast.
La fonction mtkNativeEvaluator permet de mettre en place le processus
dvaluation du modle et prend en paramtre le nom du modle que lon souhaite
simuler.
La fonction mtkNativeAnalyser procde au calcul des indices sensibilit. Elle
prend en paramtres la mthode choisie pour lanalyse et une liste dinformations
supplmentaires sur la mthode.
Des lors que ces trois processus sont dclars, il convient dutiliser la fonction
mtkExpWorkflow pour former le workflow. Nous passons en argument de
cette fonction deux lments : la liste contenant tous les facteurs dont nous
souhaitons analyser les effets (expFactors) et les diffrents processus dclars
(processesVector). Ensuite, nous excutons le workflow laide de la fonction
run . Puis nous rcuprons le rsum statistique et les sorties graphiques du
modle.
#Formation du workflow.
cv.work <- mtkExpWorkflow(expFactors=cv_fact,
processesVector=c(design=cv.design,
evaluate=cv.evaluate,
analyze=cv.analyse))
#Excution du workflow.
mtk::run(cv.work)

#rsum statistique et graphique.


summary(cv.work)
plot(cv.work)
Figure II.7 : tapes sur le workflow.

En excutant les deux dernires lignes de la figure II.7, nous rcuprons plusieurs
informations intressantes pour lanalyse de sensibilit comme les indices de
sensibilit ou encore le graphique des reprsentations de linfluence.

32
Maeva Garcia

Stage I.N.R.A 2013

Indices principaux

Indices totaux

apportEau

0.3597876315

0.653138722

nbJoursAvantRetour

0.0288302419

0.033718844

quantiteEauPeriodeSeche

0.0003402013

0.03487332

quantiteEauSolPortant

0.0002199106

0.004014823

stockEau

0.6502731658

0.822371626

Tableau II.1 : tableau rsum des indices de sensibilit

Ce tableau nous informe sur les indices de sensibilit principaux et sur les
indices de sensibilits totaux. Les indices de sensibilit totaux prennent en compte
leffet principal du facteur et leffet des interactions avec les autres facteurs. Sur ce
tableau, nous pouvons dire que deux facteurs ont le plus dinfluence sur notre sortie,
ce sont lapport dEau et le stock dEau. Nous pouvons retrouver ces rsultats
graphiquement (graphique II.1).

Graphique II.1 : reprsentation graphiques de linfluence des facteurs.

Pour conclure, sur notre modle exemple, cette analyse nous permet de dire
que deux facteurs ont une forte influence sur le profit du mas et inversement trois
facteurs ont une influence moindre. Nous pouvons ainsi en dduire que lapport eau
33
Maeva Garcia

Stage I.N.R.A 2013

et le stock deau jouent un rle important sur le profit du mas. De plus pour la
variable apport deau nous pouvons constater que ses interactions avec les autres
variables ont un effet important sur la sortie. Par contre, les trois variables de
dcisions (nbJourAvantRetour, quantiteEauPeriodeSeche, quantiteEauSolPortant)
nont que trs peu deffet sur le profit simul.

4.

Bilan du couplage-exemple

Cette premire tape nous a permis dune part de comprendre le couplage


raliser, dautre part nous avons pu constater quelques difficults. Nous avons
rencontr deux principales difficults dans le couplage de mtk et rvle.
La premire concerne lappel de certaines fonctions dfinies dans les deux
paquets et donc en conflits de noms. Ce problme a t assez simple rsoudre : il a
suffit de prfixer la fonction qui posait problme avec le nom du paquet auquel elle
appartient. Par exemple pour excuter la fonction run , qui est fournie par les deux
paquets, au sein du paquet dexploration de modle nous utilisons la commande
mtk::run(workflow).
La seconde difficult laquelle nous avons du faire face concerne le type des
variables que nous souhaitons analyser. En effet, les modles peuvent prendre en
argument diffrents types de facteurs : des entiers, des rels, des caractres Le
paquet dexploration mtk initialement dvelopp ne permettait de considrer que des
facteurs valeurs relles. Pour rsoudre ce souci, nous avons d faire appel au
concepteur du paquet dexploration de modle et nous avons convenu ensemble
dune solution. Nous avons choisi de rajouter un argument lors de la dclaration des
facteurs dans la fonction make.mtkFactors : il est maintenant possible de
spcifier le type de la variable. Cela nous permet dutiliser par la suite deux fonctions
getType et setType qui permettent de rcuprer le type et de modifier le
type.
Nous allons prsent expliquer la gnralisation de ce couplage.

34
Maeva Garcia

Stage I.N.R.A 2013

III Couplage gnrique


Dans cette partie, nous allons expliquer la gnralisation du couplage entre les
deux paquets. Lobjectif principal du couplage tait de crer une nouvelle version de
simulateur sous le paquet dexploration mtk, permettant didentifier chaque modle
de la plate-forme de modlisation RECORD.

1.

Dmarche de dveloppement

Dans cette partie, nous ne dvelopperons pas le code qui a t cre, celui-ci sera
mis en annexe numro 4 page 52 de ce rapport. Nous expliquerons les principales
dmarches de dveloppement et les diffrences par rapport au couplage sur
lexemple.
Le simulateur que nous souhaitions crer devait tre unique pour tous les
modles de RECORD mais configurable pour lidentification du modle. De la mme
manire que pour le couplage sur lexemple, nous avons du crire une fonction
.simule [cf. figure II.2] ayant le mme objectif c'est--dire lvaluation du modle
pour un ensemble de valeurs des paramtres. Lors de cette premire tape nous
navions renseign aucun lment dans largument information de la fonction. Dans
la gnralisation de la mthode, nous avons choisi dutiliser cet argument pour
spcifier lidentification du modle. Nous prcisons diffrents arguments : le paquet
VLE auquel appartient le modle, le nom du modle dans ce paquet VLE, la vue, un
indice et le nom de la variables de sortie. Nous passons galement dans cet argument
la liste contenant tous les facteurs [cf. figure II.5]. Elle va nous tre utile pour
spcifier le type des variables avant la simulation, si nous ne spcifions pas le type, la
simulation du modle au sein du paquet de simulation peut chouer.
Lors du couplage sur lexemple, nous avons cr une fonction .model [cf.
figure II.1] qui avait pour but de simuler le modle en fonction des paramtres passs
en argument. Dans le couplage gnrique, la fonction .model nexiste pas. Ce
choix est justifi car nous souhaitions utiliser la simulation des plans dexprience et
la paralllisation fourni par le paquet de simulation de modle rvle. Nous ne
souhaitions pas utiliser la fonction apply() [cf. figure II.2].
Cest au sein de cette fonction [cf. annexe 4 page 52] que nous retrouvons le
couplage entre les deux paquets. Elle nous permet dtendre les fonctionnalits de la
bibliothque dexploration de modle mtk au paquet de simulation rvle.
35
Maeva Garcia

Stage I.N.R.A 2013

Dans la partie qui suit, nous allons prsenter les diffrents changements
quimpliquent le couplage gnrique pour effectuer une analyse de sensibilit.
2.

Modification lors de lanalyse

La premire modification concerne la dclaration des facteurs, il nous faut


rajouter le type lors de lappel de la fonction make.mtkFactors [cf. annexe 5 page
53]. Il y a une seule modification apporte pour cette fonction, nous rajoutons le type
du facteur.
Lors du chargement du modle, nous prenons en compte le fichier R contenant
notre fonction RvleMtk.simule [cf. annexe 6 page 54] et nous appelons ce
simulateur rvle , au lieu de 2CV lors du couplage exemple [cf. figure II.3] dans
la fonction mtk.evaluatorAddons par la cration du mtkrvleEvaluator.R .
Lutilisateur de RECORD na ensuite qu charger la nouvelle classe de simulateurs en
lintgrant dans la session par la commande source [cf. annexe 6 page 54]. Il est
envisag quelle soit intgre au paquet dexploration mtk par son concepteur dans sa
prochaine version (release).
La dernire modification concerne la dclaration du processus de simulation du
workflow [cf. annexe 7 page 53]. Cest lappel de cette fonction qui est trs important.
Elle nous permet de dfinir le simulateur rvle. Nous retrouvons au sein de cette
dclaration, les lments didentification du modle
Il ny a pas dautres changements pour raliser lanalyse de sensibilit. Le reste
du code reste inchang pour lancer lanalyse.
3.

Bilan de couplage gnrique

La structure du paquet dexploration de modle mtk permettait de raliser le


couplage avec le paquet de simulation rvle. Dune part le paquet dexploration est
flexible et permet dintgrer de nouvelles mthodes, dautre part cette extension est
possible pour la plate-forme RECORD. La structure de la fonction comportant le
couplage permet dajouter les informations ncessaires pour identifier le modle, les
vues et la variable de sortie. Linterface informatique dveloppe, dans cette partie,
permet de raliser lanalyse de sensibilit sur lensemble des modles issus de VLE.

36
Maeva Garcia

Stage I.N.R.A 2013

IV Interface graphique
Dans cette partie, nous allons aborder le dernier aspect du stage qui est
linterface graphique. Cette interface complte linterface fonctionnelle ralise
auparavant. Elle a t ralise avec le paquet de cration dinterface R, shiny. Nous
expliquerons dans un premier temps, les objectifs de linterface puis nous aborderons
la dmarche de dveloppement.

1.

Objectif de linterface

La premire dmarche du stage a consist raliser une interface informatique


entre deux environnements. Concernant une question dutilisation, une interface
graphique est plus adapte des utilisateurs. Dans ce cadre, le projet de crer une
interface graphique est apparu. Elle permettra, une fois termine, de prendre en
compte le couplage qui a t ralis.
Au sein de la plate-forme RECORD, un projet contenant une interface
graphique pour simuler des modles existait dj. Elle avait pour ambition de fournir
un environnement plus adapt des utilisateurs non spcialistes du langage R.
Lobjectif final a pour but de fournir une interface permettant en plus de lancer de
simple simulation, dexplorer les modles. Cependant, elle nest pas encore termine.
2.

Dmarche de dveloppement

La conception dune interface avec ce paquet R repose sur deux fichiers : un


fichier pour laspect graphique de linterface (ui.R) et un fichier pour laspect contenu
de linterface (server.R).
a)

Fichier ui.R contenant la description de linterface

Linterface que nous souhaitions adopter tait constitue dun panneau latral
gauche o les options sont dfinies par les utilisateurs. Ce panneau permet de
prciser lexprience que souhaite raliser lutilisateur : lanalyse de sensibilit dans
notre cas. Par la suite nous prcisions les informations pour rcuprer le modle que
nous souhaitons analyser. Et les dernires informations concernent les facteurs
prendre en compte dans lanalyse.
Une maquette se trouve en annexe numro 8 page 54. Pour dcrire un minimum ce
panneau situ gauche, il se compose comme un formulaire o plusieurs boutons
37
Maeva Garcia

Stage I.N.R.A 2013

apparaissent. En premier, trois listes droulantes sont affiches : la premire


( Experiment ) pour slectionner lanalyse que nous souhaitons raliser (dans
notre cas Sensitivity Analysis ), la seconde ( Packages ) pour slectionner le
paquet VLE dans lequel se trouve le modle et la troisime ( Model ) pour
slectionner le modle.
La deuxime partie des boutons concerne les facteurs prendre en compte : nous
avons utilis des cases cocher cliquables par lutilisateur pour chaque facteur du
modle afin de diffrencier ceux concerns par lanalyse raliser des autres. Si la
case est coche, le facteur sera pris en compte pour lanalyse de sensibilit. Si ce
facteur est pris en compte, il nous faut renseigner plusieurs informations sur lui (sa
valeur nominale, le type de la variable, la distribution et les paramtres de cette
distribution). Nous affichons ainsi pour chaque facteur un bouton doption (bouton
radio) pour le type de la variable et la distribution. Nous affichons galement un
champ de texte pour la valeur nominale et les paramtres de distribution.
Les trois derniers boutons sont des champs de textes permettant de renseigner la
variable de sortie du modle, la vue et lindice de vue.
Linterface comporte galement un panneau de droite qui est la partie
principale, o les rsultats sont affichs. Ce panneau nous permet de faire figurer les
sorties que nous souhaitons afficher. Pour lanalyse de sensibilit, nous retrouvons
sur ce panneau les diffrentes sorties que nous a fourni R suite lexcution de
lanalyse.
b)

Fichier server.R contenant le contenu de linterface

Le script du fichier server.R ragit aux changements de lentre collecte


dans le fichier ui.R et met jour les sorties au fur et mesure des modifications.
Cest ce fichier qui permet de fournir une ractivit aux actions de lutilisateur. Les
entres peuvent tre des valeurs numriques, des trames de donnes ou encore des
graphiques
Ce script est compos de trois fonctions principales :
- une fonction pour rcuprer les diffrents paquets VLE contenant les
modles ;
- une fonction pour rcuprer les modles ;
38
Maeva Garcia

Stage I.N.R.A 2013

- une fonction pour rcuprer les diffrents facteurs des modles ;


3.

Perspectives

A la fin du stage, linterface nest pas termine il reste encore faire le lien
entre cette interface et le couplage de manire rcuprer les informations sur les
diffrents analyses que nous souhaitons faire. Il faut faire le lien entre ce qui a t
cod et les informations saisies dans linterface.

39
Maeva Garcia

Stage I.N.R.A 2013

Partie IV : Mthodologies
Dans cette partie, nous allons expliquer les mthodes utilises lors du
stage, plus prcisment lorganisation du travail, ou encore les diffrentes mthodes
employes pour communiquer avec mes responsables.

I Planning
Ce premier point, a pour objectif de prsenter le diagramme de Gantt illustrant le
planning prvisionnel et le planning effectif. Il a pour but de montrer les diffrentes
tapes du stage et leur dure.

Figure I.1 : diagramme de Gantt

Ce diagramme nous permet de constater quil y a eu trois semaines de


comprhension du sujet : au cours de ces trois semaines, jai beaucoup lu de
documentation sur le contexte du stage, les diffrentes fonctionnalits des
ralisations dj prsentes. Jai notamment d comprendre les enjeux dune analyse
de sensibilit par exemple. Durant cette priode, je me suis notamment
familiariser avec les deux environnements sur lesquels jai travaill : lexploration
40
Maeva Garcia

Stage I.N.R.A 2013

de modle et la simulation de modle. Comme nous le montre le diagramme, le temps


dadaptation et dappropriation du sujet a t le mme que celui prvu, je pense avoir
trs bien compris rapidement le sujet et mtre habitu rapidement lenvironnement
de travail propos.
Le premier exercice de codage, le codage sur un exemple, comme il a t prsent
dans la partie prcdente avait t programm sur une priode dune semaine. Ce
dlai a t respect, et le codage gnrique a pu commencer la date prvue.
Le couplage gnralis a dur plus longtemps que prvu car il a pos des
problmes auxquels nous avons d consacrer plus de temps quenvisag.
Linterface graphique ntait pas prsente sur la proposition de stage initiale. Elle
a t rajoute au bout dun certain de temps, en vue de mon adaptation. Nanmoins,
lobjectif ntait pas de la finaliser mais de lavancer. Il aurait t ambitieux de penser
la finir durant un stage de trois mois.
Enfin la dernire tape du stage, est la rdaction de ce rapport, nous pouvons
constater que je lai commenc une semaine plus tt que ce qui tait annonc : cette
avance est notamment d la journe des stagiaires qui a eu lieu le 13 juin au sein de
lunit, journe durant laquelle jai d prsenter mon travail et raliser un rsum. En
prparant cette journe, jai donc commenc le regroupement des mes travaux et leur
rdaction.

II Moyens disposition et mis en uvre


Nous allons prsent expliquer les moyens mis la disposition des stagiaires
durant les stages, ainsi que les mthodes de communication utilises.
1.

Poste de travail

Afin doptimiser les conditions du stage, lINRA et lunit MIAT met la


disposition des stagiaires un certain nombre doutils.
Dans un premier temps, un poste de travail personnel sous un systme
dexploitation linux, qui est Ubuntu. Lutilisation dun systme linux a t un
avantage pour raliser ce stage. Notamment grce au terminal, autrement dit la
console, qui a permis deffectuer de manire assez simple des oprations importantes
comme la compilation de projet ou encore lutilisation du GIT.

41
Maeva Garcia

Stage I.N.R.A 2013

De plus, assimile notre compte INRA, une adresse email a t cre. Elle a
permis de communiquer avec les autres dveloppeurs et de recevoir les informations
sur la vie de lunit ou plus gnralement sur la vie du centre.
2.

Mthode AGILE

Pour raliser ce projet, un cycle de dveloppement sinspirant des mthodes


AGILE a t mis en place. Il vise rduire le cycle de vie du logiciel, donc acclrant
son dveloppement, en mettant en uvre une version minimale. Cest ce que nous
avons fait en commenant le couplage sur un exemple. Par la suite, nous avons
gnralis le couplage en intgrant des nouvelles fonctionnalits afin dobtenir une
version stable du projet. Lorigine de ce type de mthodes est lie linstabilit de
lenvironnement technologique et au fait que le client est souvent dans lincapacit de
dfinir ses besoins de manires exhaustives ds le dbut du projet. Le terme agile
fait rfrence ainsi, la capacit dadaptation aux changements de contexte et aux
modifications de spcifications intervenant pendant le processus de dveloppement.
Ces mthodes permettent aux clients dtre pilotes du projet et obtenir assez
rapidement une premire production du dveloppement souhait.
3.

GIT et le processus dintgration

Le dveloppement des diffrents projets au sein dune plate-forme comme


RECORD sappuie sur un travail collaboratif. En effet, les travaux de dveloppement
sont dcoups en tches, que se partagent les dveloppeurs. Afin de garantir un
processus de dveloppement rigoureux et durable, une organisation plusieurs
niveaux dintgration est en place.
a)

Gnralits

Le systme de gestion de version choisi est GIT, il permet de conserver


lhistorique des modifications apportes dans le dveloppement dun logiciel. Il est
ainsi plus ais de savoir quel dveloppeur a effectu une modification, quand celle-ci
a t effectue et en quoi elle consistait.
GIT possde la particularit de fonctionner sur un mode dcentralis. Cette
caractristique apporte de nombreux avantages par rapport dautres systmes de
gestion de version (comme CVS par exemple), notamment :

42
Maeva Garcia

Stage I.N.R.A 2013

travailler de manire dsynchronise par rapport dautres systmes de gestion


de version ;

travailler en mode hors-ligne ;

donner aux dveloppeurs une plus grande libert, puisque leurs modifications ne
peuvent affecter que leurs dpts.
b)

Fonctionnement

Pour bien saisir lutilisation du git, dfinissons dans un premier temps quelque
concepts importants.
Un dpt est un espace o sont conserves toutes les modifications apportes au
code source du logiciel.
Un commit est une structure de donnes permettant de sauvegarder les
informations concernant les changements qui ont t apports dans le code source.
En outre, un commit contient dautres informations importantes comme le nom du
dveloppeur, la date, ltat du projet ainsi quun message permettant dclaircir le but
du commit.
Une branche est une fonctionnalit permettant davoir plusieurs versions de travail
dans un mme dpt, sans que ces modifications entrent en conflits. Les branches
permettent de sparer la version principale du programme des versions de travail,
elles permettent aussi de travailler sur plusieurs fonctionnalits de manire
simultane.
Git est un logiciel en lignes de commandes, le tableau ci-joint illustre les diffrents
commandes couramment utilises :
git clone adresse
git status

Affiche le statut du fichier

git commit
git push

Effectue la copie locale dun dpt existant.

Enregistre dans le systme de gestion de version


toutes les modifications ajoutes au projet.
Envoi les commit sur un dpt distant.
Met jour le dpt local avec une version dun dpt

git fetch

distant. Cette mise jour ne modifie pas ltat actuel


du dpt.
Figure II.3 : tableau exemples de commandes du GIT

43
Maeva Garcia

Stage I.N.R.A 2013

c)

Utilisation du GIT au cours du stage

Durant le stage, ce systme de gestion de version a t utilis pour le couplage.


Nous avons cr un dpt pour le couplage et les diffrents dveloppements qui le
composent. Ainsi, toutes les personnes qui souhaitent suivre le droulement du projet
pouvaient le faire en rcuprant le dpt. Jtais quant moi charge de crer de
nouvelles versions au fur et mesure que le projet avanait. La dcouverte de ce
systme de gestion de version a t un plus car je me suis vite aperue que pour grer
un projet o plusieurs dveloppeurs interviennent cela est une solution idale.

III Relation entre le stagiaire et les encadrants


Cette deuxime partie a pour objectif dexpliquer lorganisation pour
communiquer entre tuteurs et stagiaires mais aussi entre les diffrents sites de
lINRA, chacun lorigine dun des deux environnements de travail.
1.

Runions

Afin de sassurer du bon fonctionnement du stage, et pour permettre de


raliser le stage dans de bonne condition, assez rgulirement avaient lieu des
runions en prsence de Ronan Trpos, et moi-mme et quelques fois Robert Faivre.
Ces runions avaient le plus souvent lieu en salle de runion de lunit ou bien dans le
bureau de monsieur Trpos.
Nous avons ralis plusieurs runions, la premire a eu lieu le 8 avril 2013 afin de
fix le contexte du stage, dexprimer les besoins et de donner les outils de travail.
La seconde runion a eu lieu le 19 avril 2013, et avait pour objectif dtablir le
planning prvisionnel.
La troisime runion a eu lieu le 26 avril 2013 et consistait prsenter la fusion
sur le modle exemple. De cette runion, nous avons mis au point la dmarche de
dveloppement pour la gnralisation du projet.
La quatrime runion sest droule le 17 mai pour discuter du code du couplage
gnralis, cest lors de cette runion que nous avons voqu la mise en place de
linterface graphique.

44
Maeva Garcia

Stage I.N.R.A 2013

La cinquime runion a eu lieu le 3 juin 2013, afin de faire le point sur lavance
du projet. Et pour galement parler de la journe des stagiaires et du rsum qui tait
crire.
La sixime runion a eu lieu le 11 juin 2013, il sagissait dune rptition pour
loral du jeudi 13 juin 2013, de prsentation du stage lunit.

2.

La visioconfrence

Ce projet tait en partenariat entre le rseau MEXICO et la plate-forme


RECORD. Les dveloppeurs des outils du rseau ne travaillant pas sur le centre de
Midi-Pyrnes mais sur le site situ Jouy-en-Josas, il a fallu organiser une
visioconfrence afin dune part de se rencontrer et de fixer les modalits de travail.
Pour raliser ce rendez-vous, nous avons prpar les diffrentes questions pour
rsoudre les problmes que nous rencontrions et nous avions au pralable envoy les
premiers dveloppements. Cette visioconfrence a eu lieu dans le bureau de Ronan
Trpos, le 14 mai 2013. Nous avons abord plusieurs aspects : dans un premier
temps, le moyen de communication entre les deux quipes ; ainsi il a t choisi de
convenir ensemble dun jour de travail dans la semaine consacr au couplage. Le jour
fix est le vendredi. Dans un deuxime temps, nous avons abord le mode de
distribution du couplage : dans quel paquet sera intgr le couplage. Au sein du
paquet dexploration ou bien au sein du paquet de simulation de modle ? La
question mritait encore de la rflexion, mais la piste de crer un nouveaux paquet
contenant le couplage, ne semblait pas convenir. Au cours de cette visioconfrence,
nous avons pu poser les questions que nous souhaitions afin de poursuivre le
dveloppement du projet.
3.

Jour de travail

Comme convenue lors de la visioconfrence tous les vendredis matins, nous


communiquions avec monsieur Juhui Wang, par skype7 afin de travailler ensemble
sur le couplage. Ces rendez-vous, nous ont permis de rsoudre diffrents soucis et ont
permis lquipe de Jouy-en Josas de suivre le projet. Ce rendez-vous hebdomadaire
nous a permis de garder le contact avec les dveloppeurs du paquet dexploration, et
7

Skype est un logiciel gratuit permettant aux utilisateurs de communiquer via internet par

messageries instantane, appels tlphoniques ou encore visioconfrence.

45
Maeva Garcia

Stage I.N.R.A 2013

de fournir un travail dquipe. Durant ces runions, jtais quelque fois la seule
interlocutrice de MIAT, cela ma permis de bien mintgrer au projet et davoir une
place au sein de lquipe.

46
Maeva Garcia

Stage I.N.R.A 2013

Bilan
Les travaux raliss au cours de stage permettront aux utilisateurs de rvle de
pouvoir effectuer des explorations de modles. Cest un aspect important pour mieux
comprendre les systmes. Le coupage est ralis et oprationnel, ctait lobjectif
principal du stage. Linterface graphique est en cours de dveloppement et mrite
encore du temps de codage pour la rendre fonctionnelle. Ce stage est contributeur
dans le rseau MEXICO car il permet dtendre les fonctionnalits du paquet
dexploration mtk.
Dun point de vue personnel, ce stage ma permis de connatre de nouvelles
mthodes statistiques, notamment toutes les mthodes lies lexploration des
modles. Il ma galement permis de mettre en application mes comptences
acquises durant mes trois annes dtudes post-bac. Il ma apport aussi lopportunit
de dcouvrir lenvironnement dans le domaine de la recherche. Jai apprci cette
exprience car je lai trouve enrichissante pour mes connaissances personnelles.
Le travail que jai ralis ma permis de me perfectionner dans la
programmation sous R. Jai appris lutilisation des paquets sous R, lutilisation de
diffrents mthodes. Jai galement acquis de nouvelles connaissances en
informatique et en gestion de projet comme lutilisation du systme de gestion de
versions. Ce stage est complmentaire mon anne dtude au sein de la formation
statistique et informatique dcisionnelle. Il ma apport une nouvelle exprience, des
nouvelles connaissances scientifiques et ma permis de comprendre les enjeux dun
projet informatique.

47
Maeva Garcia

Stage I.N.R.A 2013

Bibliographie - Sitographie
Livre
Analyse de sensibilit et exploration de modles applications aux sciences
de la nature et de lenvironnement.
R.Faivre, B.Ioos, S.Mahvas, D.Makowski, H.Monod, d.
Edition Quae 2013. 324 pages

Sites
Plate-forme RECORD : https://www6.inra.fr/record
Rseau MEXICO : http://reseau-mexico.fr/
Tutoriel paquet R shiny : http://rstudio.github.io/shiny/tutorial/
Site du cran : http://cran.r-project.org/

48
Maeva Garcia

Stage I.N.R.A 2013

Annexes
Tables des annexes
1
2
3
4
5
6
7
8

Exemple contenu de la variable cv


Organigramme de lunit MIAT en mai 2013
Architecture gnral du paquet dexploration mtk
Code de la fonction .simule du couplage gnrique
Couplage gnrique : dclaration dun facteur
Couplage gnrique : cration du modle dans mtk
Couplage gnrique : cration du processus de simulation
Maquette de linterface

Exemple contenu de la variable cv .

49
50
51
52
53
53
53
54

49
Maeva Garcia

Stage I.N.R.A 2013

Organigramme de lunit MIAT en mai 2013.

50
Maeva Garcia

Stage I.N.R.A 2013

Architecture gnral du paquet dexploration mtk.

51
Maeva Garcia

Stage I.N.R.A 2013

Code de la fonction .simule du couplage gnrique.

RvleMtk.simule<-function(X ,pkgVle , modelVle , view ,


indiceLigneVue , nomVarSortie ,fact)
{
library(rvle)
# Appel de RVLE pour gnrer le modle
m<-new("Rvle",file=modelVle,pkg=pkgVle)
inValues=data.frame(X)
# Modification type de variables
nameList<-c()
nbFact <- length(fact)
for (i in 1:nbFact){
nameList<- c(nameList,getName(fact[[i]]))
type<-getType(fact[[i]])
if (type == "numeric"){
inValues[[i]]=as.double(inValues[[i]])
}
if (type == "integer"){
inValues[[i]]=as.integer(inValues[[i]])
}
if (type == "character"){
inValues[[i]]=as.character(inValues[[i]])
}
}
names(inValues)=nameList
# execution et recuperation des informations
oldPluginView = getDefault(model,"outputplugin")[[view]]
rvle.setOutputPlugin(model@sim, view,"vle.output/storage")
s = rvle::run(model,outputplugin= c(vueFinalBilan =
"vle.output/storage"), plan = "linear", inputs=inValues)
r = results(s)
rvle.setOutputPlugin(model@sim, view, oldPluginView)
varSortie=c()
for (i in 1:nrow(inValues)){
y=r[[i]][[view]][indiceLigneVue,nomVarSortie]
varSortie=c(varSortie,y)
}
Y = as.data.frame(varSortie)
output=list(main=Y, information=list(package=pkgVle,
model=modelVle, vueSortie=view, indiceLigneVue=
indiceLigneVue, nomVarSortie=nomVarSortie))
return (output)}
52
Maeva Garcia

Stage I.N.R.A 2013

Couplage gnrique : dclaration dun facteur.

fact_apportEau <- make.mtkFactor (


name="condDecAgent.apportEau",
type="numeric",
distribName="unif", nominal=30,
distribPara=list(min = 5, max = 50))

Couplage gnrique : cration du modle dans mtk.

#cration du modle
mtk.evaluatorAddons(where="~/rvleAddons.R", name="rvle", main
= "RvleMtk.simule", authors="Maeva", summary=NULL, plot=NULL,
print=NULL)
#chargement du modle
source("~/mtkrvleEvaluator.R")

Couplage gnrique : cration du processus de simulation.

cv.evaluate <- mtkNativeEvaluator(model="rvle",


information=list(pkgVle="tp5_4_correction",
modelVle="2CV-exploration.vpz",
view="vueFinalBilan",indiceLigneVue=1,
nomVarSortie="model:Bilan.Profit",Facteur)
)

53
Maeva Garcia

Stage I.N.R.A 2013

Maquette de linterface.

54
Maeva Garcia

Stage I.N.R.A 2013

Você também pode gostar