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

\Delta(SI_{random},SI_{mobility})

Obj. 2 : MSE sum Scenario 4

\sum\nolimits_{i \in(2002,2008)}{MSE_i}

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

  • 962