Le Calcul pour la simulation des systèmes complexes en géographie
Sébastien Rey-Coyrehourcq (UMR IDEES)
Arnaud Banos (UMR Géographie-cités)
histoire, enjeux, exemples
4 juin 2018 - Caen
Historique des pratiques
Simulation en géographie
1950
1980
Hägerstrand, Marble, Pitts, etc.
Pumain, Sanders, etc.
Guermond, Langlois, etc.
Chamussy, Le Berre, Uvietta, etc.
Forrester
pioneers
turning point
1970
Wilson
Batty
Ackerman, Chorley, Hagget, Berry, etc .
Prigogine, Allen,
Sanglier, Haken, etc..
conceptual
technical
1990
Couclelis,
Tobler,etc.
Epstein, Doran, etc.
Influence répétées du projet systémique (Von Bertallanfy et cie.)
open systems, retro-action, self-organization, equifinality, bifurcation, etc.
[Pouvreau 2013]
~ 1980 in France
Agent Based Modelling
(et en SHS ...)
[Rey-Coyrehourcq 2015]
Cellular
Automata
Non Linear Dynamical
Systems
Modèles dynamiques
Systèmes dynamiques
Automates
Cellulaires
Modèles multi-agent
jeu de la vie
fourmis
proie prédateur
Couplage possible de ces trois approches
Modèle multi-agents
Echangent des messages
Réflechissent ...
Bougent et perçoivent
Evoluent dans un environnement
Agissent sur l'environnement
(plus ou moins ...)
[Ferber 1999, Drogoul 2009]
ville
fourmis
moustique
individu
arbre
[Drogoul Treuil 2008]
Modèle multi-agents
Un méta-modèle plus qu'un modèle
flexibilité de représentation & emboitement d'échelle !
KISS
KIDS
Stylisé
Particulier
[Sanders & Banos 2011, 2013, Banos 2013]
Une variété de pratiques
Une diversité d'acteurs ...
MAPS
Gama
Miss-ABMS
ISC-PIF
IGN
Idees
Théma
CNRS
CIRAD
INRA
Espace
Géographie-cités
LabEx DynamiTe
... pour la simulation en géographie
UMR
Instituts
Réseaux et outils
IRIT
IRD
ISC-PIF
Besoins en "calcul"
Espace des paramètres
dimensions
couverture à nb points égal
Accès aux ressources
( dès juin 2010 )
workflow
distribue
rapatrie
plan
d'expérience
... de nombreux aller retours entre modèles et résultats ...
obj 1 - population max
obj 2 - distribution villes
obj 3 - temps
3 objectifs simultanés
= 10000 hab.
= 4000 ans
= lognormalité
Recherche de patterns
- Méthodes d'explorations clef en main dédiés Grille
- Accès transparent aux ressources Grille (EGI 4000 coeurs)
& HPC
- Utilisation au fil de l'eau des ressources
- Tâches spécifiques aux plateformes Agents (Netlogo, Gama, Cormas) mais pas que ...
- Outils & méthodes génériques à la communauté des systèmes complexes
OpenMOLE
... et l'institut des systèmes complex Paris-IDF !
OpenMOLE
val i = Val[Double]
val res = Val[Double]
val exploration =
ExplorationTask(i in (0.0 to 100.0 by 1.0))
val model =
ScalaTask("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = LocalEnvironment(4)
exploration -< (model on env hook ToStringHook())
Plusieurs types de plan d'expériences : Plan complet, LSH, Analyse de sensibilités, Algorithmes Evolutionnaires, etc.
Plusieurs tâches différentes !
Support de multiples technologies HPC : Cluster, grille de calcul, etc.
Créer des "chaînes de traitements"
parallélisables, reproductibles, simples (ou complexes) sans
aucune connaissance des technologies HPC
Langage de scripts (DSL) simple et flexible pour composer les workflow
... et l'institut des systèmes complex Paris-IDF !
Méthodes EA intégrées
Très bien adapté à une utilisation grille de calcul :
EA 3 modes : generationel / steady - state / Ilôts
https://github.com/openmole/mgo
Méthodes : 2 pistes
Calibrage
Exploration
PSE
CP-PROFILE
[Reuillon et al. 2015]
[Chérel et al. 2015]
paramètre x
obj
obs. x
obs. y
...
pattern or not patterns?
diversité patterns (+ ou -) guidée
Perspectives
... un logiciel et une communauté en expansion
- passage à uDocker
- Amélioration de la documentation
- 2 session coding-camp en 2019 : dev & utilisateurs
- cap des 10.000 commits
- création d'une SCIC "Trampoline" adossée à l'isc-pif
Coding Camp OpenMOLE
27/05/2018 - 01/06/2018
- Ouverture à de nouvelles méthodes :
- méthodes d'exploration OSE
- générateur de grilles spatiales
- 2 nvx cas d'utilisation (santé, éco)
- x 2 participants en 2018
- gestion et déploiement multi-utilisateurs !!
- etc.
- attraction de nouvelles communautées scientifique
Exemples
4 exemples
KISS
KIDS
Stylisé
Particulier
SimpopLocal
H24
MicMac
M03
& une grande diversité de besoins en calculs : Grille & HPC !
SimpopLocal
[Schmitt 2014, Schmitt et al. 2015]
Question : La production et la diffusion de l'innovation est il un mécanisme nécessaire pour produire une hiérarchisation crédible du système de peuplement en 4000 ans au néolithique ?
agents: villes & innovations
7 paramètres libres
4 mécanismes
très peu de données en entrée/sorties
1 loi empirique à reproduire
Espace
SimpopLocal
Question : La production et la diffusion de l'innovation est il un mécanisme nécessaire pour produire une hiérarchisation crédible du système de peuplement en 4000 ans au néolithique ?
+ interactions
+ innovations
+ ressources
Mécanismes du modèles
SimpopLocal
1 simulation = 1 coeur
1 Go Ram
~ 5/10 minutes d'exécution
500 millions de simulation
eq. 20 ans de calculs
4000 cpu EGI Biomed
Calibration
Analyse de sensibilité
NSGA 2 - Ilôts
CP-Profile
1 simulation = 1 coeur
1 Go Ram
~ 1/2 minutes d'exécution
eq. 12 ans calcul par profil
15 jours de calculs (profil x 6)
4000 cpu EGI Biomed
[Schmitt et al. 2015]
[Reuillon et al. 2015]
réécriture modèle
1 objectif : f = max(01,02,03)
3 objectifs : (temps, forme, taille)
obj. f est impossible si 0 innovations
MicMac
[Banos et al. 2015]
~ 5/10 minutes d'exécution
1 simulation par CPU
agents = personnes & avion & villes ; couplage avec ODE
stochastique
4 stratégies à explorer
2 objectifs à minimiser
pas de données
Question : Quel est la combinaison de stratégies (quarantaine, évitement, responsabilisation ind., protection ind.) qui permet de limiter à la fois les pertes économiques, et la diffusion de l'épidémie dans un tel système ?
MicMac
[Banos et al. 2015]
h24
[Cottineau et al. 2017]
~ 25 minutes d'exécution
3 Go ram par simulation
1 core, mais multithreading possible
test : 100000 execution
calibrage: 200000 execution
% personnes en bonne santé
2002
2008
steps
years
3 déplacements / jour (breakfast, lunch, diner)
1996
simulated
data
agents: personnes / 8.16 M agents mobiles, en interaction
résolution: IDF à 1km x 1km
données: nombreuses, et à différentes dates (NPPS, CSP 18 catégories, OD, baromètre santé, etc.)
mesure d'inégalité entre les extrême des groupe d'éducation à sexe et âge égal
1 modèle changement d'opinion
5 paramètres
3 objectifs à minimiser
Etudier l'effet de la segregation sociale dans l'évolution des comportements de santé sur une journée type de 24h.
via 3 objectifs à minimiser :
Obj 1. : MSE sum Scenario 1
Obj. 3 : Le delta sur la mesure d'inégalité (SI) entre S1 et S4
Obj. 2 : MSE sum Scenario 4
Question : Arrive-t-on à reproduire de façon cohérente les données et l'inégalité de comportement de santé fonction des groupes sociaux avec un scénario qui ne tient pas compte de la mobilité ?!
=> progression par falsification
h24
Attribution résidence aléatoire | Attribution résidence & mobilité via les données | |
pas de mobilité (résidence) | Scenario 1 | Scenario 2 |
mobilité journalière (nuit,matin,soir) | Scenario 3 | Scenario 4 |
2 scénarii à comparer :
Mo
[Maneerat et al. 2017]
3
agents = moustiques & nids
résolution inf. 1m
exécution : + 12 heures
+ 50 paramètres
1 simulation = 1 cpu
16 Go Ram
DOE : LHS sur grille EGI
500000 sim, ~20 ans calculs
Objectif : Comprendre et lutter contre l'émergence et la diffusion de la Dengue dans les milieux urbains
Couplage de 3 modèles en 1; travail en cours
Moma
Mode
Momos
Micro
Macro
[Misslin 2017]
résolution 30m,
ville entière
[Daudé et al. 2017]
[Cebeillac et al. 2017]
résolution inf. 1m, quartier 10km²
paysage synthétique
agent: individu mobile avec agenda
résolution 30m,
ville entière
données: twitter
modèle
surrogate
exploration
exploration
indice env.
Questions ?
Journée HPC du CRIANN Caen
By sebastien rey coyrehourcq
Journée HPC du CRIANN Caen
- 963