# Analyse du modèle World3 : sensibilité, dynamique, et pistes d'évolution

Mathilde Jochaud Du Plessix

<figure><img src="image_1.png" /></figure>

## To cite this version:

Mathilde Jochaud Du Plessix. Analyse du modèle World3 : sensibilité, dynamique, et pistes d'évolution. Modélisation et simulation. 2019. hal-02434683v2

HAL Id: hal-02434683

https://inria.hal.science/hal-02434683v2

Submitted on 11 Dec 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Analyse du modèle World3: sensibilité, dynamique, et pistes d'évolution

Mathilde Jochaud du Plessix

Département Informatique
INSA de Lyon
Projet de Fin d'Études

Sous la responsabilité de :

Tuteur INRIA: Serge Fenet et Pierre-Yves Longaretti

Tutrice INSA: Christine Solnon

## Abstract

World3 is a computer tool created to simulate the interactions between the world population, industrial growth and food production within the limits of the planet. It aims to highlight the problems posed by indefinite material growth in a finite world. The first version of this tool was proposed in 1972 by MIT researchers for the first report to the Club of Rome. This report was both highly successful and polemic. The main detractors of the model criticized it for being too approximate in the choice of the parameters and for being too simplistic. The objective of this paper is to revisit some aspects of the scientific validation of this model, in a context where growth is widely debated in the scientific and civil community, through a new and more sophisticated sensitivity analysis of the model, compared to what is available in the literature.

**Keywords** — Sensitivity Analysis, Dynamical Systems, Models validation

## Résumé

World3 est un outil informatique qui permet de modéliser les interactions entre la population mondiale, la croissance industrielle, la production de nourriture au sein des limites de l'écosystème terrestre. Il cherche à mettre en évidence les problèmes posés par une croissance matérielle infinie dans un monde fini. La première version de cet outil a été proposée en 1972 par des chercheurs du MIT pour le premier rapport du Club de Rome. Le rapport a connu un grand succès et a suscité de nombreux débats. Les principaux détracteurs du modèle lui reprochaient d'être trop approximatif dans le choix des paramètres et d'être trop simpliste. L'objectif de ce document est de revisiter certains aspects de la validation scientifique de ce modèle, dans un contexte où la croissance est largement débattue dans la communauté scientifique et civile, à travers une analyse de sensibilité du modèle plus sophistiquée que ce qui existe dans la littérature.

**Mots-clés** — Analyse de sensibilité, Systèmes dynamiques, Validation de modèle

## 1 Introduction

Ce travail sur le modèle World3 a été mené dans le cadre du projet de fin d'études, au deuxième semestre de cinquième année d'informatique de l'INSA Lyon au sein de l'équipe STEEP (Soutenabilité, Territoires, Environnement, Économie et Politique) à l'INRIA. Les activités de recherches de l'équipe STEEP portent essentiellement sur des questions de modélisation et simulations informatiques liées à l'étude des impacts des activités humaines sur l'environnement. Cela a pour but d'apporter des éléments de solution pour une transition vers la soutenabilité à l'échelle régionale.

World3 a été implémenté dans le cadre du projet commandité par le Club de Rome en 1970 et financé par la fondation Volkswagen. Ce modèle informatique a été conçu pour représenter les mécanismes de
croissance de la production de biens et services et d'usage des ressources nécessaires à cette produc-
tion identifiés par ses concepteurs afin de proposer des scénarios plausibles concernant le futur de notre
planète. Le but principal des auteurs était de construire un modèle pour comprendre la dynamique des
cinq tendances majeures de l'époque: l'accélération de l'industrialisation, la croissance exponentielle de la
population, les problématiques de sécurité alimentaire, l'épuisement des ressources non renouvelables et
la détérioration de l'environnement. Dans le rapport publié en 1972 [1], dont les auteurs principaux sont:
Donella Meadows, Dennis Meadows et Jørgen Randers, 12 scénarios différents ont été proposés et les
auteurs sont arrivés à la conclusion que si ces cinq tendances des années 1970 se prolongeaient, les limites
de la planète seraient atteintes au cours du XXIème siècle. Le résultat serait alors un déclin relativement
rapide et prononcé de la population et de la production industrielle. Le rapport s'est vendu en plusieurs
millions d'exemplaires et a été traduit dans une trentaine de langues. Même si le modèle ne se veut pas
quantitativement prédictif, beaucoup l'ont interprété comme tel et ont critiqué les simplifications et les
approximations faites par les auteurs.

L'intérêt porté à ce modèle s'est amoindri dans les trente années qui ont suivies, malgré une actuali-
sation en 1992 [2] et en 2004 [3]. Il a finalement été remis en lumière par , entre autres, les travaux de
Turner en 2008 [4], qui montraient que les prévisions établies par le modèle étaient cohérentes avec les
données historiques, ce qui a réanimé les débats concernant la validité de ce modèle.

Lors d'un travail antérieur, le modèle a été transposé en Python, notamment à l'aide de la bibliothèque Pysd, afin de faciliter sa maniabilité et avoir ainsi accès à l'ensemble des librairies d'analyse de sensibilité disponibles en Python.

Dans ce rapport, nous essayons de fournir une analyse de sensibilité du modèle afin d'apporter des
éléments d'une validation scientifique du modèle. Dans un premier temps nous ferons une présentation
du modèle pour comprendre son fonctionnement et les évolutions qu'il a connu, puis nous détaillerons
les différents moyens mis en oeuvre pour réaliser une analyse de sensibilité du modèle. Pour cela, on
s'intéressera, dans un premier temps aux méthodes d'analyses de sensibilité existantes. Puis on étudiera
les travaux déjà réalisés sur l'analyse du modèle. On verra que les analyses existantes ne sont pas
suffisantes, soit parce qu'elles ne s'intéressent qu'à une partie du modèle [5] et [6], soit parce que les
auteurs n'ont pas suffisamment pris en compte les contraintes réalistes sur les possibilités de variation
des paramètres d'entrée [7] et [8]. Finalement on s'intéressera aux résultats obtenus avec les méthodes
d'analyses mises en oeuvres.

## 2 Présentation du modèle World3

World3 a été conçu pour fournir des projections à gros traits de tendances globales, sous différents
scénarios représentant différentes grandes catégories de choix socio-politiques possibles pour le futur.
La question centrale à laquelle le modèle tente de répondre est "Comment la population mondiale et
l'économie matérielle, toutes deux en plein essor, peuvent-elles interagir avec la capacité de charge lim-
itée de la planète et s'y adapter durant les décennies à venir?" [9]<fnref n="1" />. Il est important de garder à l'esprit
que le modèle n'a pas pour but d'apporter des prévisions quantitatives précises mais plutôt de donner les
futures tendances comportementales du système.

Une simulation de World3 s'étend de 1900 à 2100, mais en pratique, les périodes de 1900 à 1970 (pour la première version de World3) ou à 1992 ou à 2003 (pour les versions ultérieures) servent à la calibration du modèle. À chaque pas de temps, ce qui correspond à six mois, les valeur de toutes les variables (il y en a plus de 300 dans le modèle) sont recalculées, ce qui permet d'obtenir des courbes pour toutes les variables en fonction du temps sur la période. Les auteurs du modèle on implémenté différents scénarios:

* Scénario 1: c'est le scénario de référence (Figure 1). Il rend compte de comment évoluerait le modèle si aucune modification politique ou technologique intervenait,

<footnote n="1">¹Traduction française de la version publiée en 2004</footnote>
* Scénario 2: on multiplie par deux le stock de ressources non renouvelables par rapport au Scénario 1,

* Scénario 3: on reprend le Scénario 2 avec en plus des technologies de contrôle de la pollution plus performantes,

* Scénario 4: on reprend le scénario 3 avec en plus des technologies améliorant les rendements agricole,

* Scénario 5: on reprend le scénario 4 avec en plus une protection contre l'érosion des sols,

* Scénario 6: on reprend le scénario 5 avec en plus une technologie permettant l'utilisation efficiente des ressources,

* Scénario 7: des mesures sont prises en 2002 pour stabiliser la population mondiale (politique de deux enfants par famille),

* Scénario 8: on reprend le scénario 7 avec en plus des mesures prises pour stabiliser la production industrielle par habitant,

* Scénario 9: on reprend le scénario 8 et le scénario 4,

* Scénario 10: on reprend le scénario 9 en débutant les mesures 20 ans plus tôt.

Dans ce rapport, nous ferons l'analyse de sensibilité avec le scénario 1 (scénario de référence).

Il a existé plusieurs versions du modèle World3: une qui date de 1972, une actualisée en 1992 [2], et la plus récente de 2004 [3]. Le travail réalisé dans ce document porte sur la version de 2004, néanmoins il sera intéressant d'analyser et comprendre les différents changements qui ont été apportés au modèle.

World3 se présente comme un ensemble d'équation différentielles non linéaires, d'équations auxiliaires et de fonctions renvoyant des valeurs tabulées. Pour avoir une vision plus claire du modèle, un premier travail a été de retranscrire l'ensemble des équations sous forme mathématiques en reprenant la version du modèle en Python (voir Annexe 1).

## 2.1 Structure du modèle

World3 décrit un système dynamique sous forme d'équations différentielles non linéaires, définissant un ensemble de boucles de rétroaction positives ou négatives. Ces boucles sont responsables de l'accroissement exponentiel des stocks, de la baisse brutale de ceux-ci, ou de leur équilibre. Une boucle de rétroaction est positive lorsqu'elle s'autorenforce, c'est-à-dire qu'elle peut entraîner une croissance ou un déclin exponentiel. Au contraire, une boucle négative permet de contre balancer le phénomène. Par exemple, lorsque la population augmente le nombre de naissances augmente donc la population totale augmente. On peut également dire que si la population diminue, alors le nombre de naissances diminue, donc la population diminue. Dans les deux cas, le phénomène initial (augmentation ou baisse) a été renforcé, c'est donc une boucle de rétroaction positive. Dans le même temps, si la population augmente, logiquement le nombre de décès augmente, donc la population totale diminue ; c'est une boucle de rétroaction négative. L'évolution de la population dépend donc in fine du bilan des taux de mortalité et de mortalité. Dans le livre de 2004 [3], les auteurs synthétisent ce phénomène dans le livre par la Figure 2. La seconde partie de la figure illustre les boucles impliquant le capital industriel. Ce sont ces deux dynamiques là qui sont à l'origine des dynamiques principales du modèle.

Dans la version de World3 de 2004, il y a 315 variables, ces variables sont classées en secteurs et sous-secteurs. On distingue cinq secteurs:

* **Population:** la population est divisée en quatre sous populations: les personnes agées de 0 à 14 ans (P1), de 15 à 44 ans (P2), de 45 à 64 ans (P3), et de 65 ans et plus (P4). Cela permet d'apporter plus de précisions notamment concernant la mortalité de chaque catégorie. Au sein de la population, on distingue deux sous-secteurs:
<figure><img src="image_3.png" /><figcaption>FIGURE 1 – Scénario 1 : sur le premier graphique les courbes représentent le niveau de vie matériel au cours du temps (les services par habitant, les biens de consommation par habitant, la quantité de nourriture par habitant et l'espérance de vie), sur le second graphique les courbes représentent l'état de la planète au cours du temps (la population mondiale, la pollution persistante, la production industrielle, la production agricole, et la quantité de ressources non renouvelables disponibles) et sur le troisième l'empreinte écologique et le bien-être humain</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Figure 2 – Boucles de la croissance de la population et du capital</figcaption></figure>

- La natalité régie principalement par la fertilité totale (TF),

- La mortalité régie principalement par l'espérance de vie (LE).

* Capital: le capital est exprimé en dollars, il se découpe en trois sous-secteurs:

- L'industrie: ce secteur regroupe l'ensemble des produits transformés, la production d'électricité, de gaz et d'eau et la construction, cela correspond aux sections 50 à 99 de la Classification industrielle internationale de toutes les branches d'activité économique - ISIC [10],

- Les services: ce secteur regroupe l'ensemble du commerce, de l'hôtellerie-restauration, des transports, de la communication, de la finance, des entreprises de l'immobilier, des assurances et des prestations de service ainsi que les services communautaires, sociaux et personnels. Cela correspond aux sections 10 à 45 de l'ISIC [10],

- L'emploi: ce secteur rentre en jeu uniquement lors de la phase de décroissance.

* Agriculture: la variable de sortie principale de ce secteur est la production agricole (F). Afin d'homogénéiser l'ensemble de la production agricole (animale et végétale), cette variable est exprimée en kilogramme équivalent végétal (1 kg de production animale correspondant à 7 kg de production végétale). Dans ce secteur, il y a cinq tendances:

- La production de nourriture grâce aux investissements dans l'exploitation des terres,

- La production de nourriture grâce aux investissements dans les intrants agricoles,

- L'érosion des terres accompagnant des rendements élevés,

- La détérioration de la fertilité des terres,

- La régénération de la fertilité des terres

* Ressources non renouvelables: les ressources non renouvelables englobent l'ensemble des matériaux non renouvelables utilisés dans l'industrie. Ainsi cela représente aussi bien le pétrole que le
<figure><img src="image_5.png" /><figcaption>Figure 3 – Interactions des secteurs de World3 (voir la Table 1 pour la signification des variables)</figcaption></figure>

cuivre, deux ressources avec des unités de mesure distinctes. Pour homogénéiser l'unité de mesure, les ressources non renouvelables sont exprimées comme un multiple de l'usage par rapport à une année de base. C'est-à-dire si 1970 est l'année de base la quantité de ressources non renouvelables au pas de temps *t* est le nombre d'année que la quantité de ressources pourrait être utilisée avec une consommation similaire à 1970.

* Pollution: dans ce secteur la pollution prise en compte est la pollution persistante (PPOL) ; c'est-à-dire les polluants ayant une durée de vie supérieure au temps d'exécution du modèle. Les particules fines, par exemple, ne rentrent pas dans cette catégorie. ainsi les fines particules ne rentrent pas dans cette variable.

Chaque secteur interagit avec les autres. Bien que les interactions soient complexes on peut les synthétiser de façon schématique avec la Figure 3 en identifiant les variables exogènes de chaque secteur qui proviennent d'autre secteurs. D'autres part, dans l'Annexe 2 on retrouve le schéma DYNAMO du rapport technique [11], les cercles de couleurs correspondent aux secteurs et sous secteurs cités précédemment.

On peut déjà identifier des boucles de rétroactions sur le schéma simplifié de la Figure 3, si la population augmente, la pollution augmente, la pollution impacte l'espérance de vie donc la population totale baisse, on a une boucle de rétroaction négative. Cependant toutes les boucles de rétroactions ne sont pas aussi facilement identifiables. Un des buts de l'analyse de sensibilité est de pouvoir identifier et hiérarchiser les boucles de rétroaction majeures. En effet, les équations mathématiques qui régissent le modèle ne sont pas la seule clé du modèle, il est aussi important de s'intéresser aux relations entre chaque variable pour identifier les boucles de rétroaction.

Il existe différents types de variables et de paramètres dans World3. Ces catégories ne sont pas propres à World3 mais à l'ensemble des systèmes dynamiques:

* Les variables de stocks ou niveau: elles rendent compte de l'état du modèle, il y en a 17 dans
<table><caption>Table 1 – Définition et noms des variables et paramètres importants</caption><thead><tr><th>ID</th><th>Nom</th><th>Type</th><th>Définition</th></tr></thead><tbody><tr><td>ICDR</td><td>Industrial Capital Depreciation Rate</td><td>Flux</td><td>Le taux de dévaluation du capital</td></tr><tr><td>ICIR</td><td>Industrial Capital Investment Rate</td><td>Flux</td><td>Le taux d'investissement dans le capital</td></tr><tr><td>ALIC</td><td>Average Life of Industrial Capital</td><td>Paramètre</td><td>Estimation de la durée de vie des biens matériels</td></tr><tr><td>DCFSN</td><td>Desired Completed Family Size Norm</td><td>Paramètre</td><td>Nombre d'enfants désirés sans influence socio-économique</td></tr><tr><td>ICOR</td><td>Industrial Capital Output Ratio</td><td>Paramètre</td><td>Le ratio entre investissement et la croissance</td></tr><tr><td>ILF</td><td>Inherent Land Fertility</td><td>Paramètre</td><td>Fertilité des terres sans interventions humaines</td></tr><tr><td>LEN</td><td>Life Expectancy Normal</td><td>Paramètre</td><td>Espérance de vie avant l'ère industrielle</td></tr><tr><td>LFH</td><td>Land Fraction Harvested</td><td>Paramètre</td><td>Le pourcentage des zones cultivées para rapport aux zones arables</td></tr><tr><td>LYF</td><td>Land Yield Fraction</td><td>Paramètre</td><td>Permet de modifier le rendement de terres</td></tr><tr><td>MTFN</td><td>Maximum Total Fertility Normal</td><td>Paramètre</td><td>Nombre maximal d'enfants que peut avoir une femme au cours de sa vie</td></tr><tr><td>RLT</td><td>Reproductive Lifetime</td><td>Paramètre</td><td>Nombre d'années pendant lesquelles une femme peut procréer</td></tr><tr><td>SFPC</td><td>Subsistence Food per Capita</td><td>Paramètre</td><td>Le minimum de nourriture nécessaire par jour par personne</td></tr><tr><td>IC</td><td>Industrial Capital</td><td>Stock</td><td>Capital industriel</td></tr><tr><td>CUFT</td><td>Capital Utilization Fraction Table</td><td>Table</td><td>Permet de simuler l'impact d'une pénurie de main-d'œuvre sur la production industrielle</td></tr><tr><td>FPC</td><td>Food Per Capita</td><td>Variable</td><td>Production agricole mondiale par personne</td></tr><tr><td>POP</td><td>Population</td><td>Variable</td><td>La somme des quatre groupes de population</td></tr><tr><td>COPM</td><td>Pollution control technology multiplier for capital</td><td>Variable</td><td>Multiplicateur du ratio de production de capital industriel dé-coulant de la tech-nologie du contrôle de la pollution</td></tr><tr><td>COYM</td><td>Capital Output Yield Multiplier</td><td>Variable</td><td>Multiplicateur du ratio de production de capital industriel dé-coulant de la tech-nologie d'amélioration du rendement agri-cole</td></tr><tr><td>FCAOR</td><td>Fraction of Capital Allocated to Obtaining Resources</td><td>Variable</td><td>Détermine la part du capital nécessaire pour l'extraction des ressources</td></tr><tr><td>FIOAA</td><td>Fraction of Industrial Output Allocated to Agriculture</td><td>Variable</td><td>Détermine la part du capital nécessaire à l'agriculture</td></tr><tr><td>FIOAC</td><td>Fraction of Industrial Output Allocated to Consumption</td><td>Variable</td><td>Détermine la part du capital alloué à la consommation</td></tr><tr><td>FIOAI</td><td>Fraction of Industrial Output Allocated to Industry</td><td>Variable</td><td>Détermine la part du capital nécessaire à l'industrie</td></tr><tr><td>FIOAS</td><td>Fraction of Industrial Output Allocated to Services</td><td>Variable</td><td>Détermine la part du capital nécessaire pour la production de services</td></tr><tr><td>IO</td><td>Industrial Output</td><td>Variable</td><td>Quantité de production de biens matériels</td></tr><tr><td>IOPC</td><td>Industrial Output Capital Per Capita</td><td>Variable</td><td>Quantité de production de biens matériels para personne</td></tr><tr><td>PCRUM</td><td>Per Capita resource Usage Multiplier</td><td>Variable</td><td>Quantité de ressources utilisées par par personne</td></tr><tr><td>PPGAO</td><td>Persistent Pollution Generated by Agricultural Output</td><td>Variable</td><td></td></tr><tr><td>PPOLX</td><td>Persistent Pollution Index</td><td>Variable</td><td>Quantité de pollution persistante en comparaison à celle de 1970</td></tr><tr><td>SOPC</td><td>Service Output Per Capita</td><td>Variable</td><td>Quantité de services par personne</td></tr><tr><td>ICOR2T</td><td>Industrial Capital Output Ratio Multiplier from Resource Conservation Technology</td><td>Variable</td><td>Multiplicateur du ratio de production de capital industriel dé-coulant de la tech-nologie d'amélioration de la conservation des ressources non renouvelables</td></tr></tbody></table>
World3 (la population (P1, P2, P3, P4), le capital serviciel (SC), le capital industriel (IC), les ressources non renouvelables (NR), la pollution (PPOL), les terres arables (AL), les terres urbano-industrielles (UIL), les terres potentiellement arables (PAL), la fertilité des sols (LFERT), le bien-être des Hommes (HWI), l'impact écologique (HEF) et trois paramètres de stock qui représentent les avancées technologiques pour les ressources non renouvelables (NRTD), l'agriculture (LYTD) et la pollution (PTD);

* Les variables de flux: ces variables régulent les stocks, par exemple la population augmente grâce aux naissances et diminue à cause des décès, les taux de naissances et décès sont des flux. Dans le modèle, il y a 22 variables de flux;

* Les variables auxiliaires: ce sont toutes les autres variables qui permettent de faciliter la compréhension du modèle.

* Les tables: ces paramètres définissent des relations fonctionnelles non-linéaires entre deux quantités. Elles sont représentées par quelques couples de points (abscisse, ordonnée) et représentée sous forme graphique (voir un exemple sur la Figure 5). Elles sont construites en s'appuyant sur des données historiques.;

* Les paramètres numériques simples: ce sont des quantités invariables, qu'on détaillera plus loins dans le rapport ;

* Les constantes: les valeurs de contrôle ou unité de mesure, elles ne varient jamais au cours du temps.

## 2.2 Évolution du modèle

Lors des deux actualisations du modèle certains paramètres et certaines variables ont été réévalués à la lumière de nouvelles données, ces nouvelles estimations sont détaillées dans les livres publiés lors de l'actualisation du modèle en 1992 [2] et en 2004 [3]. Il est intéressant de regarder quels ajustements ont été réalisés lors de ces nouvelles versions, car cela permet d'avoir une première idée des paramètres potentiellement influents.

### 2.2.1 Modifications apportées en 1992

On note d'abord des changements dans les équations seulement d'ordre pratique car en 1972 le modèle était implémenté dans le langage DYNAMO, alors qu'à partir de 1992 il est porté en STELLA. Par exemple, la fonction CLIP est devenue IF THEN ELSE. Ces changements n'ont pas d'effet sur le modèle. DYNAMO (Dynamic Models) est un des premiers langages de simulations. Il a été développé par Forrester à partir de 1950. STELLA (Systems Thinking, Experimental Learning Laboratory with Animation) a été développé en 1985, c'est aussi un langage de modélisation des systèmes dynamiques.

Concernant l'agriculture, il s'avère que l'impact de l'érosion sur le stock des sols arables avait été sous estimé ainsi que l'effet de l'augmentation des intrants agricoles. D'où les modifications suivantes:

- Baisse de la valeur de ALLN (Average Life of land Normal),

- Augmentation des valeurs de la table LYMCT (Land Yield Multiplier From Capital Table),

- Modification de l'équation LLMY (Land Life Multiplier from Land Yield).

Pour le secteur de la population, les taux de natalité et de mortalité n'avaient pas été bien évalués, d'où la modification des valeurs des paramètres suivants:

- Baisse des valeurs de la table FMT (Fecundity Multiplier table) pour baisser le multiplicateur de fécondité,

- Baisse de la valeur de DCFSN (Desired Family Social Size Normal) pour mieux correspondre aux données réelles observées,

- Hausse des valeurs de la table LMFT (Lifetime Multiplier from Food Table) pour augmenter l'influence de l'alimentation sur l'espérance de vie,
- Hausse des valeurs de la table LMHS2T pour augmenter l'impact des services de santé sur l'espérance de vie.

Pour les ressources, les estimations originales concernant l'utilisation des ressources par unité de production industrielle avait été trop élevée, d'où la baisse des valeurs dans la table FCAOR (Fraction of Capital Allocated to Obtaining Resources).

## 2.2.2 Modifications apportées en 2004

* "Modification du déterminant du coût en capital des nouvelles technologies dans trois secteurs" [9]. Cette modification est visible à travers la modification des variables suivantes (les trois secteurs étant les ressources, l'agriculture et la pollution):

- COPM: Multiplicateur du ratio de production de capital industriel découlant de la technologie du contrôle de la pollution,

- COYM: Multiplicateur du ratio de production de capital industriel découlant de la technologie d'amélioration du rendement agricole,

- ICOR2T: Multiplicateur du ratio de production de capital industriel découlant de la technologie d'amélioration de la conservation des ressources non renouvelables.

* "Faire en sorte que le souhait de la taille de la famille soit d'avantage lié aux niveaux élevés de production industrielle par habitant" [9], qui se traduit par la modification des valeurs de la table SFSNT (Social Family Size Norm Table).

* Ajout d'une nouvelle variable appelée "Human Welfare Index" (HWI) ; c'est l'indicateur du bien-être citoyen mondial moyen. Pour être calculé, il prend en compte l'espérance de vie, le niveau d'éducation, et le PIB.

* Ajout d'une nouvelle variable appelée "Human Ecological Footprint" (HEF) ; c'est l'indicateur du poids environnemental total que l'humanité fait peser sur la planète. Pour être calculé, il prend en compte les terres arables, les terres urbano-industrielles et le taux de génération de la pollution.

# 3 Analyse de sensibilité

## 3.1 Méthodes d'analyse de sensibilité

L'analyse de sensibilité a pour but d'étudier l'incertitude dans la sortie d'un modèle (quantitative ou qualitative) pour déterminer à quelles sources d'incertitude dans l'entrée du modèle cette incertitude est due [12]. Une analyse de sensibilité permet donc de déterminer l'influence des paramètres d'entrée sur les sorties du modèle. Il existe deux grandes familles de méthodes d'analyse de sensibilité. D'une part, les méthodes locales basées sur le calcul des dérivées partielles du modèle, mais ces méthodes ne sont pas pertinentes si le modèle étudié n'est pas linéaire. La seconde famille, les méthodes globales, étudie le modèle dans son ensemble. Au sein de cette famille on distincte deux groupes: les méthodes dites de "screening" ou criblage et les méthodes basées sur la décomposition de variance. Les méthodes de criblage permettent de donner une première idée de l'influence qualitative des paramètres. Le désavantage de ces méthodes est qu'elles ne font varier qu'un seul paramètre à la fois, elles ne permettent donc pas de déterminer la corrélation entre plusieurs paramètres d'entrée. Les méthodes basées sur la décomposition de variance demandent un grand nombre de simulations du modèle.

Dans les sections suivantes nous nous intéresserons au fonctionnement de l'analyse de Morris, une méthode de criblage et au fonctionnement de l'analyse de Sobol, une méthode basée sur la décomposition de variances. Nous utiliserons ces deux méthodes pour analyser World3.

### 3.1.1 Une méthode de criblage: la méthode de Morris

L'objectif de la méthode de Morris est de déterminer quels paramètres ont des effets négligeables, linéaires, ou non-linéaires et/ou qui interagissent avec d'autres paramètres.
Pour effectuer une analyse de sensibilité d'un modèle, on doit tester différentes valeurs d'entrée et donc effectuer plusieurs simulations. Les valeurs d'entrée doivent être choisies de manière aléatoire, tout en essayant d'explorer correctement l'espace.

Morris a proposé une méthode pour générer ces valeurs d'entrée [13]. Cette méthode consiste à générer un ensemble de $d + 1$ vecteurs de valeurs des paramètres d'entrée $r$ fois, $r$ est le nombre de trajectoires et $d$ le nombre de paramètres d'entrée. On a donc $N = r \times (d + 1)$ simulations.

Afin de générer cet ensemble, les intervalles de variations des paramètres d'entrée sont découpés en $p$ niveaux (plus il y a de niveaux, plus on discrétise l'espace). On a alors une grille de dimension $d \times p$. Un point de départ est choisi aléatoirement dans cette grille, ce point est un vecteur avec toutes les valeurs des paramètres. Au sein de ce vecteur, on modifie une valeur à la fois en augmentant ou diminuant d'un pas $\delta$, avec $\delta = p/(2 \times (p+1))$. Pour un vecteur $k$ du paramètre $i$, la transformation peut se noter de la façon suivante:

$$ (x_1^k, \dots, x_{i-1}^k, x_i^k, x_{k-1}^1, \dots, x_d^1) \rightarrow (x_1^k, \dots, x_{i-1}^k, x_i^k \pm \delta, x_{i+1}^k, \dots, x_d^k) $$

La méthode de Morris est une mesure OAT (One At a Time) parce qu'on ne fait varier qu'un seul paramètre à la fois.

On répète cette opération $r$ fois.

On appelle alors effet élémentaire du paramètre $i$ de la trajectoire $k$ (avec $M$ un modèle):

$$ EE_i^k = \frac{M(x_1^k, \dots, x_{i-1}^k, x_i^k + \delta, x_{k-1}^1, \dots, x_d^1) - M(x_1^k, \dots, x_{i-1}^k, x_i^k, x_{k-1}^1, \dots, x_d^1)}{\delta} $$

À partir de tous les effets élémentaires, on peut définir les indices de Morris pour le paramètre $i$:

* L'effet élémentaire moyen:

$$ \mu_i = \frac{1}{r} \sum_{k=1}^{r} EE_i^k $$

* L'effet absolu moyen, c'est la moyenne de la valeur absolue des effets élémentaires, Il mesure l'effet global du paramètre d'entrée: $i$

$$ \mu_i^* = \frac{1}{r} \sum_{k=1}^{r} |EE_i^k| $$

En effet si $\mu^*$ a une valeur importante, alors cela signifie que les effets élémentaire du paramètre sont importants et donc que le modèle est sensible aux variations du paramètre.

* L'écart type des effets élémentaire rend compte des interactions avec les autres paramètre ou des effets non-linéaires:

$$ \sigma_i = \sqrt{\frac{1}{r-1} \sum_{k=1}^{r} (EE_i^k - \mu_i)^2} $$

Ainsi si $\sigma$ a une valeur importante, cela signifie que les effets élémentaires sont très différents les uns des autres et donc que ces variations sont soient dues au paramètre lui-même (effet non-linéaire), soit dues aux autres paramètres d'entrée (interaction).

### 3.1.2 Une méthode basée sur la décomposition de variance: la méthode de Sobol

L'analyse de Sobol [14] est une méthode basée sur la décomposition de variance. Elle considère les paramètres d'entrée comme des variables aléatoires et s'intéresse seulement à la variance de la sortie. Les indices de sensibilité calculés appelés indices de Sobol estiment la part de variance de la sortie du modèle induite par chaque modification dans les paramètres d'entrée. Les indices sont compris entre 0 et 1. Un indice élevé indique une relation forte entre la variation du paramètre d'entrée et celle de la sortie. Le méthode permet de calculer des indices de différents ordres. L'indice d'ordre un représente l'influence
d'un seul paramètre d'entrée, l'indice d'ordre deux représente l'influence de ce premier paramètre avec un autre paramètre et ainsi de suite. La somme de tous les indices d'un paramètre vaut 1. Pour l'entrée $X_i$, l'indice de Sobol de premier ordre est donné par:

$$S_i = \frac{V(E[Y|X_i])}{V(Y)}$$

où V et E désignent la variance et la moyenne et Y la sortie du modèle. L'indice s'interprète de la façon suivante: lorsque $E[Y|X_i]$ est faible alors cela signifie que fixer $X_i$ réduit la variabilité de Y donc $X_i$ est influente et si $V(E[Y|X_i])$ est élevé alors $X_i$ est influente.

L'indice de Sobol de premier ordre simple ne prend pas en compte l'incertitude causée par les interactions de $X_i$ avec les autres paramètres. Pour inclure toutes les interactions dans lesquelles $X_i$ est impliquée on utilise l'indice de Sobol total:

$$S_i^T = 1 - \frac{V(E[Y|X_{(-i)}])}{V(Y)}$$

avec $X_{(-i)} = (X_1, ..., X_{i-1}, X_{i+1}, ..., X_d)$.

Ainsi, un paramètre influe directement la sortie du modèle (sans interactions avec les autres paramètres) si $S_i^T - S_i$ est proche de 0.

Il existe une autre façon de calculer les indices de Sobol appelée la méthode FAST (Fourier Amplitude SensitivityTest) [15] qui consiste à utiliser la transformée de Fourier pour décomposer la variance. On a alors pour un paramètre i :

$$X_i(s) = F_i(\sin(\omega_i s))$$

où $F_i$ est une fonction périodique à déterminer, et $\omega_i$ correspond à la fréquence de caractéristique de $X_i$. En utilisant les propriétés des séries de Fourier, la variance de Y peut être estimée à :

$$Var(Y) \approx \sum_{j=1}^{\infty} (A_j^2 + B_j^2)$$

avec

$$A_j = \frac{1}{\pi} \int_{-\pi}^{\pi} f(X(s))cos Face(s)ds$$

$$B_j = \frac{1}{\pi} \int_{-\pi}^{\pi} f(X(s))sin Face(s)ds$$

La part de variance due à la variable $X_i$ est égale à :

$$Vi = \sum_{p=1}^{\infty} (A_{p\omega_i}^2 + B_{p\omega_i}^2)$$

Les valeurs $p\omega_i$ sont appelées des harmoniques. Les indices de Sobol valent alors :

$$S_i = \frac{\sum_{p=1}^{\infty} (A_{p\omega_i}^2 + B_{p\omega_i}^2)}{\sum_{j=1}^{\infty} (A_j^2 + B_j^2)}$$

Les méthodes basées sur la décomposition de variance permettent d'explorer complètement l'espace des entrées et de prendre en compte les interactions ainsi que les réponses non linéaires. Le défaut principal de cette méthode est qu'elle nécessite de nombreuses évaluations du modèle.

## 3.2 État de l'art des analyses de World3

Il existe très peu de travaux ([7], [8], [16], [6] et [5]) portant sur l'analyse de sensibilité de World3, nous allons les étudier plus tard dans cette section. Toutefois, les auteurs du rapport ont eux-mêmes réalisé une première analyse de sensibilité du modèle, par domaine et dans sa globalité. Cette analyse est disponible dans le rapport technique publié en 1974 [11]. Pour les analyses par domaine les variables exogènes au
domaine sont fixées et définies par une valeur constante tout au long de la simulation. Cependant, la puis-
sance de calcul de l'époque ne permettait pas d'exécuter un nombre important de simulations. L'analyse
de sensibilité consistait donc à tester de nouvelles valeurs pour certains paramètres et d'observer les mod-
ifications du comportement des résultats en sortie par rapport au comportement du scénario de référence.
Le scénario de référence est le premier scénario qui correspond au scénario "Business as usual"; c'est-à-
dire en conservant les comportements actuels sans interventions socio-politiques (Figure 1).

Pour le secteur de la population, la plupart des modifications que les auteurs ont testées n'ont pas d'impact qualitatif et les sorties restent similaires au scénario de référence. Cependant, ils remarquent que le modèle est particulièrement sensible à la table SFSNT (Social Family Size Norm), lorsqu'elle est modifiée de telle sorte qu'au lieu que la taille d'une famille normale soit entre 5 et 3 enfants, elle soit de 4 à 2 enfants. L'impact du nombre d'enfants désirés par famille (DCFS) est très important car plusieurs boucles de rétroactions positives passent par cette variable. Ainsi lorsqu'elle diminue, le poids de ces boucles diminue également.

Pour le secteur du capital, les auteurs identifient les paramètres influents en se basant sur l'équation de IC (Industrial Capital) définie par les deux variables de flux ICIR (Industrial Capital Investment Rate) et ICDR (Industrial Capital Depreciation Rate), voir la table [1] pour la signification des abréviations.

$$
\frac{d(IC)}{dt} = ICIR - ICDR
$$

$$
ICIR = IO \times FIOAI, \quad ICDR = \frac{IC}{ALIC}, \quad IO = \frac{IC \times (1 - FCAOR) \times CUF}{ICOR}
$$

d'où

$$
\frac{d(IC)}{dt} = IO \times FIOAI - \frac{IC}{ALIC} = \frac{IC \times (1 - FCAOR) \times CUF}{ICOR} \times FIOAI - \frac{IC}{ALIC}
$$

Ils définissent G comme étant le taux de croissance dans le secteur de l'industrie avec :

$$
G = \frac{d(IC)}{IC} = \frac{(1 - FCAOR) \times CUF}{ICOR} \times (1 - FIOAA - FIOAS - FIOAC) - \frac{IC}{ALIC}
$$

Ainsi les paramètres influents sont ICOR (Industrial Capital Output Ratio), FIOAS (Fraction of Industrial Output Allocated to Services), FCAOR, (Fraction of Capital Allocated to Obtaining Resources), FIOAA (Fraction of Industrial Output Allocated to Agriculture), ALIC (Average Life of Industrial Capital) et CUF (Capital Utilization Fraction).

Pour le secteur de la pollution, la table AHMLT(Assimilation Half Life Multiplier) joue un rôle im-
portant sur le secteur. En effet c'est ce paramètre qui régule le taux d'assimilation de la pollution ;
c'est-à-dire la capacité des puits d'absorption.

Pour le secteur des ressources non renouvelables, ils identifient FCAOR et NRUF (Non Renewable Re-
osources Usage Fraction) comme des paramètres permettant de décaler le point d'effondrement mais pas
suffisamment influents pour changer le comportement du modèle.

Pour le secteur de l'agriculture, les auteurs identifient deux paramètres influents qui contrôlent la produc-
tion de nourriture: PALT (Potentially Arable Land Total) et LYMC (Land Yield Multiplier from Capital).

Dans l'analyse de sensibilité générale du modèle, les auteurs arrivent à la conclusion, qu'en faisant varier
les paramètres d'entrée dans leur intervalle d'incertitude, le comportement final du modèle ; c'est-à-dire
un dépassement et un effondrement, n'est pas affecté.

On parle de dépassement lorsqu'on va au-delà des limites sans le vouloir. Il y a trois conditions néces-
saires et suffisantes à un dépassement: il y d'abord une croissance rapide et accélérée, puis il y a une
limite que la dynamique en croissance ne peut pas franchir sans risque et enfin des retards dans la prise
de conscience pour rester en dessous de ces limites. Lorsque le dépassement est trop brutal, il y a une
décroissance rapide et nette, c'est ce qui est appelé l'effondrement.

Une première analyse a été publiée peu de temps après la publication du modèle en 1976 par Vermeulen et de Jhong ([7] et [8]). Par un travail sur les équations différentielles définissant les stocks (Population, Capital Industriel et Serviciel, Pollution, etc.), les auteurs concluent que les paramètres les plus influents sont ceux concernant le secteur du Capital Industriel. Ils montrent qu'une variation de ±10% des paramètres ICOR (Industrial Capital Output Ratio), ALIC1 (Average Lifetime of Industrial Capital), FCAOR (Fraction of Capital Allocated to Obtaining Resources) et CUF (Capacity Utilization Fraction) suffit pour que l'effondrement indiqué par les différentes simulations du modèle soit évité. Nous verrons plus tard que certaines de ces variations de 10% ne sont pas réalistes au regard de la construction du modèle.

Une thèse datant de 1979 [16] confirme que les paramètres cités précédemment sont sensibles à de légères variations. L'auteur a découpé son analyse par domaine: l'agriculture [17], le capital et les ressources [18] et la population [19]. Dans chaque domaine, il simplifie les équations en approximant à des constantes certains paramètres originellement définis par une équation. Il réécrit également certaines équations, ce qui lui permet d'établir de nouvelles relations entre les paramètres. Par ces estimations, l'auteur montre que le secteur de la population n'intervient pas directement sur le secteur du capital ; la population influence le secteur de l'agriculture qui a son tour influence celui du Capital.

En 2008, Turner [4] n'a pas fait une analyse de sensibilité du modèle mais il a mis en évidence la cohérence entre les données historiques (de 1972 à 2008) et les sorties du modèle pour les scénarios de Business-as-usual (ce qui correspond au scénario de référence - Figure 1)et le scénario technologique. Ce scénario correspond au scénario 6 proposé par les auteurs. Il simule une planète avec des ressources non renouvelables plus accessibles et des solutions technologiques pour améliorer les rendements agricoles, limiter l'érosion des sol et une technologie permettant une utilisation efficiente des ressources. Ce travail a relancé le débat concernant la validité du modèle.

Dans d'autres articles [5] et [6], World3 a été utilisé comme exemple pour comparer des techniques d'analyse de sensibilité. Dans ces articles écrits par les mêmes auteurs, ces derniers se sont intéressés uniquement au scénario 10 (quand des mesures sont prises à partir de 1982 pour stabiliser la population et la production industrielle et ajouter des technologies relatives à la pollution, aux ressources non renouvelables et à l'agriculture), avec comme paramètre de sortie la population et les paramètres d'entrée (ICOR1,FIOAC1, FIOAC2, ALIC1, ALIC2, IOPCD - Industrial Output per Capita Desired - et ICI - Industrial Capital Initial).

Dans l'article [5], ils utilisent une méthode basée sur la méthode FAST (Fourier Amplitude Sensitivity Test). L'article propose d'améliorer cette méthode pour l'appliquer à des modèles où les paramètres sont corrélés en réordonnant l'ordre d'échantillonage des paramètres d'entrée.

Dans l'article [6], les auteurs proposent une méthode basée sur la régression pour décomposer la variance de la sortie du modèle en variances dues à des variations corrélées et en variances dues des variations non corrélées.

Ils observent ainsi avec ces deux méthodes que FOAC1, FIOAC2, ALIC1 et ICOR1 sont les paramètres les plus influents. D'après leur analyse, FIOAC2 indépendamment des autres n'est pas influent et ALIC1 a un fort effet non-linéaire sur la sortie du modèle.

3.3 Analyse de Morris

On cherche dans un premier temps à effectuer une première analyse pour identifier les paramètres les plus influents. Pour cela on utilise la méthode d'analyse de Morris.
### 3.3.1 Mise en oeuvre

Pour analyser la sensibilité du modèle, on doit d'abord identifier sur quels paramètres d'entrée on souhaite réaliser l'analyse. Comme vu précédemment, on peut dissocier deux types de paramètres: les paramètres numériques et les tables. Du fait de la complexité qu'implique la variation des tables, on se concentre dans un premier temps sur les paramètres numériques. On les classe dans différentes catégories :

* Les paramètres d'années de contrôle: ce sont les années lors desquelles une mesure est prise pour modifier un comportement (dans le scénario de référence elles sont toutes à 4000, date arbitraire située en dehors du domaine de simulation pour neutraliser l'effet de la mesure en question. Leur valeur est modifiée en fonction des scénarios, seul le paramètre POLICY YEAR (PY) est fixé à 1995, année supposée à laquelle des changements dans la production industrielle ont lieu),

* Les paramètres d'initialisation des stocks: les valeurs initiales des valeurs de stocks,

* Les paramètres de retard: paramètres utilisés dans les fonctions de lissages, ils permettent d'empêcher qu'il y ait des cassures dans le modèle ou de modéliser des retards. Il y a par exemple un retard entre le moment où les polluants sont générés et le moment où la pollution apparaît ; c'est le paramètre PPTD (Persistent Pollution Transmission Delay) qui modélise ce retard,

* Les paramètres de but: quantités qui définissent les objectifs pour certaines variables,

* Les normes: les paramètres qui définissent la valeur de paramètres sans l'influence d'aucun autre facteur (ex: LEN (Life Expectancy Normal) correspond à l'espérance de vie pré industrielle),

* Les paramètres d'initialisation des stocks: valeurs initiales pour des variables autres que celles de stocks,

* Les paramètres de normalisation: quantités fixées "à la main" pour normaliser certaines variables, de telles sortes que pour l'année 1970 la valeur soit 1,

* Les estimations: paramètres calculés grâce à des observations sur les données historiques.

Pour l'analyse, on fait varier uniquement les paramètres d'estimations, de normes, de buts, de retard et d'initialisation des stocks, ce qui fait en tout 57 paramètres d'entrée à étudier.

Il faut également choisir sur quelles variables de sortie on souhaite analyser la sensibilité. Pour cela, on sélectionne les variables de sortie étudiées dans le rapport de 1972 mais aussi celles que Turner a utilisées pour comparer les données historiques aux sorties du modèle. On a ainsi 28 variables de sortie: 12 variables de stocks (en gras dans le tableau 2) et 16 autres variables utiles pour décrire l'état du système.

Pour chaque pas de temps (tous les six mois), on calcule les différents indices de Morris ($\mu^*$ - l'effet élémentaire moyen - et $\sigma$ - l'écart type des effets élémentaires) pour chaque variable de sortie, puis on les additionne sur l'ensemble de la période (de 1900 à 2100) afin d'avoir une vision globale de l'influence de chaque paramètre. Comme on additionne au cours du temps les indices, on utilise $\mu^*$ plutôt que que $\mu$ dans le cas où des effets élémentaires seraient négatifs puis positifs. $\sigma$ est toujours positif par définition.

Enfin il faut définir les valeurs des paramètres propres à la méthode de Morris. Après avoir testé différents nombres de trajectoires, on fixe le nombre de trajectoires à 5000, pour assurer un intervalle de confiance des indices de 10% environ. Les premières analyses ont été faites avec 4 niveaux de discrétisation, mais pour balayer un plus grand nombre de valeurs pour chaque paramètre (notamment pour le clustering voir Section 3.4), on a utilisé une grille à 16 niveaux.

En ayant 57 paramètres d'entrée à analyser avec 5000 trajectoires, on a $N = 5000 \times (57 + 1) = 290000$ simulations.

On utilise la librairie SAlib qui implémente la méthode de Morris pour faire l'analyse de sensibilité.
<table><caption>Table 2 – Variables de sortie étudiées avec en gras les variables de stock</caption><thead><tr><th>ID</th><th>Python name</th></tr></thead><tbody><tr><td>P</td><td><strong>population</strong></td></tr><tr><td>D</td><td>death_rate</td></tr><tr><td>LMF</td><td>lifetime_multiplier_from_food</td></tr><tr><td>B</td><td>birth_rate</td></tr><tr><td>IOPC</td><td>industrial_output_per_capita</td></tr><tr><td>IO</td><td>industrial_output</td></tr><tr><td>IC</td><td><strong>industrial_capital</strong></td></tr><tr><td>SC</td><td><strong>service_capital</strong></td></tr><tr><td>SCOPC</td><td>service_output_per_capita</td></tr><tr><td>AL</td><td><strong>arable_land</strong></td></tr><tr><td>PAL</td><td><strong>potentially_arable_land</strong></td></tr><tr><td>FPC</td><td>food_per_capita</td></tr><tr><td>TAI</td><td>total_agricultural_investment</td></tr><tr><td>FIOAA</td><td>fraction_of_industrial_output_allocated_to_agriculture</td></tr><tr><td>AI</td><td><strong>agriculturalaligned</strong></td></tr><tr><td>LY</td><td>land_yield</td></tr><tr><td>UIL</td><td>urban and industrial land</td></tr><tr><td>LF</td><td>land_fertility</td></tr><tr><td>NR</td><td>nonrenewable_resources</td></tr><tr><td>F</td><td>fraction_of_resourcesRemaining</td></tr><tr><td>FICAOR</td><td>fraction_of_industrial_capital_allocated_to_obtaining_resources</td></tr><tr><td>PPOL</td><td><strong>persistent_pollution</strong></td></tr><tr><td>PPOLX</td><td>persistent_pollution_index</td></tr><tr><td>PPT</td><td>persistent_pollution_technology</td></tr><tr><td>LYT</td><td>land_yield_technology</td></tr><tr><td>NRT</td><td>resource_conservation_technology</td></tr><tr><td>HWI</td><td>human_welfare_index</td></tr><tr><td>HEF</td><td>human_ecological footprint</td></tr></tbody></table>

### 3.3.2 Résultats et interprétation

Dans un premier temps, on fixe arbitrairement l'intervalle de chaque paramètre d'entrée à ±10% par rapport à sa valeur dans le modèle.

Pour visualiser les résultats, pour chaque variable de sortie étudiée, on trace la somme des σ en fonction de la somme des μ*. Plus un paramètre a un σ et un μ* faibles ; c'est-à-dire plus il est en bas à gauche du graphe, moins ce paramètre est influent. Au contraire si un paramètre est en haut à droite du graphe, donc avec un effet moyen absolu et un écart-type forts, alors ce paramètre est influent avec des effets non-linéaires et/ou en interaction avec d'autres paramètres. Enfin si un paramètre a un effet moyen absolu fort mais un écart-type faible, c'est qu'il est influent linéairement.

Si on prend par exemple le diagramme de la population (Figure 4a), on voit que FIOAC1, ICOR1, ALIC1, RLT, DCFSN et LEN (Table 1) sont les facteurs les plus influents et qui ont des effets non-linéaires. On remarque également la corrélation entre σ et μ*, on en déduit que plus un paramètre est influent, plus il a un effet non-linéaire et/ou il interagit avec d'autres paramètres.

Cependant il est important de noter que l'analyse de sensibilité a été faite en prenant une variation de plus ou moins 10% pour tous les paramètres sans prendre en compte sa nature. Il est évident qu'une telle variation peut être négligeable pour certains paramètres<fnref n="2" /> alors que pour d'autres paramètres une telle variation est en dehors du domaine de variation réel du paramètre considéré.
Il serait donc intéressant de réaliser une nouvelle analyse de sensibilité en choisissant des intervalles plus judicieux pour chaque paramètre.

<footnote n="2">²notamment sur les paramètres définissant des retards – exprimés en année – par exemple SAD (Social Adjustment Delay) varie entre 18 et 22 ans sur une période de 200 ans, on note en plus que dans le rapport technique [11], un test sur SAD à 50 ans au lieu de 20 avait été effectué sans que cela n'impacte le comportement final</footnote>
<figure><img src="image_6.png" /><figcaption>Figure 4 – Résultats de l’analyse de Morris pour la population: on affiche pour chaque paramètre d’entrée son indice σ en fonction de µ*</figcaption></figure>

On estime donc un intervalle pour chaque paramètre d'entrée, en s'appuyant d'une part sur le rapport technique de 1974 [11], sur l'article [20] et sur des bases de données telles que FAO [21] (pour les terres arables et les terres cultivées) et World bank Open Data [22] (pour le PIB par pays et la production industrielle). Tous les intervalles utilisés sont résumés dans la Table 3. Pour mieux comprendre comment ont été estimés les intervalles, on donne deux exemples:

LEN (Life Expectancy Normal) est une estimation de l'espérance de vie sans l'intervention de l'augmentation de la qualité de vie. Dans le modèle, son estimation a été faite en se basant sur l'espérance de vie des civilisations pré-industrielles. Elle a été fixée à 28 ans. En reprenant le tableau du rapport technique, on voit qu'elle peut varier entre 21 et 38 ans. Ces données n'ont pas varié depuis, on peut donc garder cet intervalle.

DCFSN (Desired Completed Family Size Normal) a été fixé à 3.8. C'est un nombre arbitrairement choisi en relation avec les tables SFSNT (Social Family Size Norm Table) et FRSNT (Family Response to Social Norm Table) qui permettent de calculer la taille de la famille souhaitée. Il a été évalué à l'aide d'une étude réalisée en 1965 [23], dans laquelle l'auteur expliquait que la taille de la famille désirée pouvait varier entre 2 et 6 enfants en fonction des pays, ce qui peut définir notre intervalle pour notre analyse. Pour les paramètres pour lesquels nous n'avons pas réussi à fixer un intervalle d'après des données, nous avons fait varier la valeur du paramètre de 25%.

Dans les résultats obtenus par l'analyse de Morris (Figure 4b), on observe que pour une telle variation, en plus des paramètres déjà identifiés, ILF, LFH, SFPC, MTFN et LYF1 (Table 1) deviennent également des facteurs influents.

On voit que DCFSN (Desired Completed Family Size Normal) est devenu le paramètre le plus influent en modifiant les intervalles. Dans le scénario de référence, DCFSN a pour valeur 3.8, on passe donc d'un intervalle de [3.42 – 4.18] à [2 – 6]. La forte influence de DCFSN avec un tel intervalle s'explique en partie car cette variable est en relation directe avec deux tables, construites par rapport à cette constante pour que le nombre d'enfants désirés par famille soit compris entre 2 et 6. Ainsi, si DCFSN prend la valeur 6, le nombre d'enfants désirés par famille sera forcément supérieur. Si on fait varier autant la valeur de DCFSN, pour rester cohérent, il faudrait faire varier les tables en conséquence. La sensibilité de DCFSN vient confirmer l'observation faite dans le rapport technique de 1974 concernant la table SFSN. Cela montre, en effet, que la taille de la famille est un élément clé du modèle, puisque la table et la constante
<table><caption>Table 3 – Intervalles des paramètres d'entrée</caption><thead><tr><th>Nom du paramètre</th><th>Valeur originale</th><th>Min</th><th>Max</th></tr></thead><tbody><tr><td>life expectancy normal</td><td>28</td><td>21</td><td>38</td></tr><tr><td>health services impact delay</td><td>20</td><td>15</td><td>40</td></tr><tr><td>reproductive lifetime</td><td>30</td><td>25</td><td>45</td></tr><tr><td>maximum total fertility normal</td><td>12</td><td>8</td><td>14</td></tr><tr><td>lifetime perception delay</td><td>20</td><td>3</td><td>30</td></tr><tr><td>desired completed family size normal</td><td>3.8</td><td>2</td><td>6</td></tr><tr><td>social adjustment delay</td><td>20</td><td>15</td><td>60</td></tr><tr><td>income expectation averaging time</td><td>3</td><td>1</td><td>5</td></tr><tr><td>industrial capital output ratio 1</td><td>3</td><td>2.7</td><td>3.3</td></tr><tr><td>average life of industrial capital 1</td><td>14</td><td>10</td><td>20</td></tr><tr><td>average life of industrial capital 2</td><td>14</td><td>10</td><td>20</td></tr><tr><td>fraction of industrial output allocated to consumption constant 1</td><td>0.43</td><td>0.423</td><td>0.517</td></tr><tr><td>fraction of industrial output allocated to consumption constant 2</td><td>0.43</td><td>0.423</td><td>0.517</td></tr><tr><td>industrial output per capita desired</td><td>400</td><td>360</td><td>440</td></tr><tr><td>average life of service capital 1</td><td>20</td><td>15</td><td>25</td></tr><tr><td>average life of service capital 2</td><td>20</td><td>15</td><td>25</td></tr><tr><td>service capital output ratio 1</td><td>1</td><td>0.9</td><td>1.1</td></tr><tr><td>service capital output ratio 2</td><td>1</td><td>0.9</td><td>1.1</td></tr><tr><td>labor force participation fraction</td><td>0.75</td><td>0.5</td><td>0.9</td></tr><tr><td>labor utilization fraction delay time</td><td>2</td><td>1</td><td>3</td></tr><tr><td>potentially arable land total</td><td>3200000000</td><td>2400000000</td><td>4000000000</td></tr><tr><td>land fraction harvested</td><td>0.7</td><td>0.4</td><td>0.9</td></tr><tr><td>processing loss</td><td>0.1</td><td>0.1</td><td>0.3</td></tr><tr><td>average life of agricultural inputs 1</td><td>2</td><td>1</td><td>4</td></tr><tr><td>average life of agricultural inputs 2</td><td>2</td><td>1</td><td>4</td></tr><tr><td>land yield fraction 1</td><td>1</td><td>0.7</td><td>1.3</td></tr><tr><td>IND OUT IN 1970</td><td>790000000000</td><td>592500000000</td><td>987500000000</td></tr><tr><td>social discount</td><td>0.07</td><td>0.0525</td><td>0.0875</td></tr><tr><td>average life of land normal</td><td>1000</td><td>500</td><td>1500</td></tr><tr><td>urban and industrial land development time</td><td>10</td><td>5</td><td>20</td></tr><tr><td>inherent land fertility</td><td>600</td><td>500</td><td>2000</td></tr><tr><td>subsistence food per capita</td><td>230</td><td>115</td><td>380</td></tr><tr><td>food shortage perception delay</td><td>2</td><td>1</td><td>3</td></tr><tr><td>resource use factor 1</td><td>1</td><td>0.7</td><td>1.3</td></tr><tr><td>persistent pollution generation factor 1</td><td>1</td><td>0.7</td><td>1.3</td></tr><tr><td>fraction of resources from persistent materials</td><td>0.02</td><td>0.01</td><td>0.05</td></tr><tr><td>industrial material emissions factor</td><td>0.1</td><td>0.05</td><td>0.2</td></tr><tr><td>industrial material toxicity index</td><td>10</td><td>5</td><td>15</td></tr><tr><td>fraction of agricultural inputs from persistent materials</td><td>0.001</td><td>0.0005</td><td>0.0015</td></tr><tr><td>agricultural material toxicity index</td><td>1</td><td>0.5</td><td>1.5</td></tr><tr><td>persistent pollution transmission delay</td><td>20</td><td>6</td><td>50</td></tr><tr><td>persistent pollution in 1970</td><td>136000000</td><td>102000000</td><td>170000000</td></tr><tr><td>assimilation half life in 1970</td><td>1.5</td><td>1</td><td>2</td></tr><tr><td>desired persistent pollution index</td><td>1.2</td><td>1.08</td><td>1.32</td></tr><tr><td>desired resource use rate</td><td>4800000000</td><td>4320000000</td><td>5280000000</td></tr><tr><td>desired food ratio</td><td>2</td><td>1.8</td><td>2.2</td></tr><tr><td>technology development delay</td><td>20</td><td>18</td><td>22</td></tr><tr><td>PRICE OF FOOD</td><td>0.22</td><td>0.198</td><td>0.242</td></tr></tbody></table>
agissent toutes les deux sur cette variable.

Pour voir globalement la sensibilité du modèle à la variation des constantes, on regarde les paramètres d'entrée qui sont les plus influents pour l'ensemble ou la majorité des variables de sortie. Il en ressort que les paramètres les plus influents sont :

- ALIC1 (average life of industrial capital 1),

- DCFSN (desired completed family size normal),

- ILF (inherent land fertility),

- FIOAC1 (fraction of industrial output allocated to consumption constant 1),

- RLT (reproductive lifetime),

- ICOR1 (industrial capital output ratio 1),

- LEN (life expectancy normal),

- LFH (land fraction harvested)

On note que l'essentiel de ces paramètres influent assez directement sur les dynamiques de croissance. Comme le modèle dans le scénario de référence prévoit un effondrement par dépassement de capacité, il est logique que les paramètres influant sur la dynamique de croissance jouent un rôle.

D'autre part, on s'attendrait à ce que les paramètres de retard jouent également un rôle, puisque c'est l'érosion de la biocapacité sur la période de dépassement de capacité qui est critique pour l'effondrement en question. Or ce n'est pas le cas. L'explication la plus vraisemblable est qu'ils influent peu par rapport au rôle de la dynamique de croissances.

On note également que la variation de ces paramètres ne modifie pas le comportement général du modèle ; c'est-à-dire qu'on atteint tout le temps un effondrement. Les différences sont quantitatives avec un point de basculement variable dans le temps et des quantités atteintes pour chaque variable de sortie sont également différentes.

Pour s'assurer que les valeurs initiales des stocks n'influencent pas les sorties du modèle, on teste maintenant ces valeurs avec une variation de plus ou moins 50%. Il en résulte que même avec une telle variation ces valeurs ne sont pas les plus influentes. On note tout de même que les paramètres PALI (Potential Arable Land Initial), ICI (Industrial Capital Initial) et ALI (Arable Land Initial) sont alors relativement influents. Au contraire PPOLI (Persitent Pollution Initial) et P4I (Population 65 plus Initial) ne sont pas des paramètres plus influents même avec de telles variations.

Par ailleurs, on identifie également les paramètres identifiés dans le rapport technique pour la sensibilité concernant le secteur du capital (FIOAC1, ALIC1 et ICOR1). Ce résultat est également cohérent lorsqu'on observe la structure même du modèle. En effet, ces deux paramètres agissent explicitement sur la variable Industrial Output (IO) qui fait parti des boucles de rétroactions majeures du modèle et est une variable exogène des autres secteurs (Figure 3).

L'influence de LFH (Land Fraction Harvested) s'explique car c'est un paramètre exogène de Food (F), et Food est présent dans 4 des 6 principales boucles de rétroactions du secteur de l'agriculture.

On s'intéresse maintenant à la sensibilité du modèle par rapport aux tables en faisant varier, pour se faire une première idée de l'influence de ces différentes tables, les valeurs des ordonnées de 10%, c'est-à-dire en conservant la structure de la courbe mais en déplaçant l'ensemble de ses points dans l'intervalle comme dans la Figure 5. De cette analyse, il en ressort que les trois tables les plus influentes sont :

- CUFT (Capital Utilization Fraction Table),

- FCET (Fertility Control Effectiveness Table),

- IFPCT (Indicated Food Per Capita Table)

Lorsqu'on effectue une simulation en modifiant uniquement CUF de 10%, on obtient effectivement un résultat radicalement différent du scénario de référence. Ce résultat valide les conclusions de Vermeulen et de Jhong en 1976.

CUFT est la table qui met en relation LUFD (Labor Utilization Fraction Delayed) et CUF. CUF est défini comme étant la quantité de capital disponible utilisée pour la production de biens et de services.
<figure><img src="image_7.png" /><figcaption>Figure 5 – Table des valeurs de CUF (Capital Utilization Fraction) en fonction de LUFD (Lbaor Utilization Fraction Delayed)</figcaption></figure>

Cependant, les valeurs en entrée de la table (LUFD) dans le scénario de référence varient entre 0.65 et 1.85 (ligne verte dans la Figure 5), ainsi CUF prend toujours une valeur proche de 1. On peut d'ailleurs remplacer CUF dans le scénario de référence par 1, sans que cela n'affecte qualitativement les sorties du modèle.

Vermeulen et de Jhong proposent de "baisser" la courbe de 10% pour empêcher l'effondrement. LUFD représente le taux d'emploi. S'il est supérieur à 1, c'est qu'il y a plus d'emplois que de travailleurs; s'il est inférieur à 1 c'est qu'il y a plus de travailleurs que d'emplois. Ainsi si LUFD vaut 1, CUF doit forcément valoir 1 car lorsque l'ensemble des travailleurs disponibles travaillent, on utilise l'ensemble du capital disponible. Si on baisse de 10% l'ensemble des points de la courbe, on a alors pour LUFD=1, CUF=0.9 ce qui n'est pas cohérent avec la définition du paramètre. Et comme LUFD varie entre 0.65 et 1.85, CUF garde pendant toute la simulation une valeur proche de 0.9, ce qui modifie fortement le comportement du modèle. L'inférence faite par Vermeulen et de Jongh est donc incorrecte parce qu'elle ignore la signification réelle de la table CUF. Il ne faut pas oublier que les paramètres et les variables de World3 modélisent des tendances réelles ; on ne peut donc pas les modifier sans se demander ce que cela signifie dans la réalité.

On note qu'on ne retrouve pas dans les tables les plus influentes, les tables identifiées par les auteurs du modèle (SFNT et AHMLT). Cela peut s'expliquer par le fait que 10% n'est pas une variation suffisante. Il faut faire sur les tables le même travail que précédemment sur les paramètres numériques simples, à savoir s'interroger sur ce qu'est une variation réaliste des tables. Ce travail est plus complexe que ce qu'on a fait précédemment, puisqu'on a vu sur l'exemple de la table CUF qu'il faut faire attention au fait qu'on ne peut pas la faire varier indépendamment de LUFD (point qui peut concerner de nombreux autres paramètres); et que la variation doit peut-être incorporer aussi une variation de forme de la courbe pour prendre ce genre de contrainte en compte. Ce travail n'a pas pu être fait pendant la durée du stage, et sera mené ultérieurement.

Jusqu'à maintenant, nous avons analysé l'influence globale de chaque paramètre, une autre façon de présenter les résultats est de regarder l'évolution de l'influence (on utilisera $\mu^*$) de chaque paramètre d'entrée au cours du temps. Dans cette partie, nous nous intéressons uniquement aux paramètres d'entrée parmi les plus influents :

- ALIC1 et ALIC2: Average Life of Industrial Capital,

- ICOR1: Industrial Capital Output Ratio,

- FIOAC1 et FIOAC2: Fraction of Industrial Output Allocated to Consumption,

- ICI: Industrial Capital Initial,
<figure><img src="image_8.png" /></figure>

- LEN: Life Expectancy Normal,

- RLT: Reproductive Lifetime,

- LFH: Land Fraction Harvested,

- DCFSN: Desired Completed Family Size Norm

Nous traçons l'évolution de $\mu^*$ au cours de la simulation pour rendre compte des retards qui existent au sein du modèle et évaluer jusqu'à quand un paramètre d'entrée influence une variable de sortie. On montre deux exemples de cette analyse sur la Figure 6. Pour chaque variable de sortie, on peut interpréter les résultats de la façon suivante :

* **FCAOR** (Fraction of Capital Allocated to Obtaining Resources): les différents paramètres commencent à être influents à partir de 1955, cela est dû au fait qu'il n'y a pas ou peu d'utilisation des ressources avant cette date.

Le paramètre ALIC1 (average life of industrial capital 1) continuent d'influencer la valeur de FCAOR même après 1995, année à laquelle c'est ALIC2 qui est utilisé dans les equations (cf eq n°72 dans l'annexe), on observe le même comportement pour FIOAC1 et ICOR1. Il y a donc des retards de près de 50 ans dans l'influence de ces paramètres. D'autre part, on voit aussi que DCFSN est de plus en plus influent au cours du temps.

Les paramètres d'entrée ont le même comportement au cours du temps sur FCAOR que sur **NRFR** (Non Renewable Resources Remaining) et **NR** (Non Renewable Resources), ces trois variables de sortie étant liés aux ressources.

* **IC** (Industrial Capital): on voit que l'influence de FIOAC1, ALIC1 et ICOR1, chute directement en 1995, date à laquelle les équations sont modifiées, cela montre que IC est directement impacté par ces paramètres et qu'il n'y a pas de retard à ce niveau là. On remarque également qu'il existe une corrélation entre l'influence des paramètres d'entrée et le comportement de IC. En effet, dans le scénario de référence, la courbe de IC s'inverse environ en 2030, on observe qu'à partir de cette année l'influence de tous les paramètres d'entrée chute.

**IO** (Industrial Output) et **IOPC** (Industrial Output Per Capita) sont influencés de la même manière par les paramètres d'entrée. Avec comme différence pour IOPC, la forte influence de DCFSN qui est due à la population ("per capita").

* **LFERT** (Land Fertility): LFH a une forte influence au début, cela peut être dû à l'influence de F
(Food) dont l'équation est ($F = LY \times LFH \times (1 - PL)$). Tous les autres facteurs de l'équation sont très faibles en 1900, d'où la forte influence de LFH.
ALIC1 continue d'être influent jusqu'en 2030 à cause du retard par la pollution.

* **LMF** (Lifetime Multiplier from Food): on observe une grande influence de DCFSN, RLT et LEN qui sont les paramètres du secteur de la population car LMF est directement en relation avec FPC (Food per Capita).

LFH très influent au début (pour la même raison que pour LFERT), son influence chute rapidement et évolue peu après.

**FIOAA** (Fraction of Industrial Output Allocated to Agriculture) se comporte de façon semblable à LMF.

* **PPOL** (Persitent pollution): ALIC1 est le paramètre le plus influent, son influence chute en 2030. Tous les paramètres perdent leur influence quand PPOL chute.

* **POP** (Population): DCFSN est le paramètre le plus influent.
ALIC1, ICOR1 et FIAOC1 continuent d'avoir une forte influence après 1995.

* **PAL** (Potentially Arable Land): ICOR1 a un impact direct sur PAL ; on peut voir la rupture de 1995.

On voit que la population a une influence croissante sur PAL, en effet, l'influence de DCFSN, LEN et RLT ne font que croître.

Pour **UIL** (Urban and Industrial land) et **AL** (Arable Land), l'influence des paramètres d'entrée est semblable à PAL, ce qui montre la corrélation qui existe entre ces paramètres.

* **SC** (Service Capital): ALIC1, ICOR1 et FIAOC1 chutent nettement en 1995. On voit ainsi que ces paramètres d'entrée impactent directement (sans retard) SC.

* **B** (Births): les paramètres d'entrée DCFSN et RLT sont très influents tout au long de la simulation.
ALIC1 est influent jusqu'en 2020, il y a donc un retard de près de 30 ans.

* **D** (Deaths): on observe des comportements similaires que pour le taux de naissances. On note également la forte influence de LEN qui décroit après 1945 (fin de la seconde guerre mondiale).

* **TAI** (Total Agricultural Investement): ALIC1, ICOR1 et FIAOC1 chutent nettement en 1995, donc il y a un impact direct de ces paramètres sur TAI.

## 3.4 Clustering

Dans cette section, on cherche à voir dans un premier temps, si les variations de certains paramètres donnent des résultats corrélés sur le comportement des variables de sortie. Dans un second temps on cherche à identifier si ces corrélations de paramètres d'entrée ont quelque chose à voir (ou non) avec les contraintes de scénarios. Ces derniers amènent à faire co-varier différents paramètre mais étant donné qu'on effectue l'analyse de sensibilité uniquement sur le Scénario de référence, nous n'aborderont pas ce point dans le cadre du stage. Pour cela, il faut egrouper les courbes de sortie du modèle en famille de courbes dont le comportement est similaire. On réalise alors un clustering sur la famille de courbes générées par la méthode de Morris. Le but d'un clustering est d'organiser des données en groupes homogènes. Les données sont regroupées selon une caractéristique commune.
On travaille sur 2900 simulations générées par la méthode d'échantillonage de Morris.

### 3.4.1 Méthode et choix des clusters

Deux pistes ont été étudiées pour réaliser ce clustering. La première impliquait d'extraire pour chaque courbe les trois premiers coefficients de Fourier, en utilisant une transformation de Fourier discrète:

$$X(t) = \sum_{n=0}^{N-1} x_n \cdot e^{-\frac{i2\pi}{N}tn}$$
<figure><img src="image_9.png" /><figcaption>Figure 7 – Dendogramme pour la population avec en abscisse les 2900 simulations et en ordonnée la distance euclidienne entre chaque simulation</figcaption></figure>

avec X la fonction à transformer, x les coefficients de Fourier et N le nombre de coefficients. Chaque coefficient est vu comme les coordonnées d'un point dans un espace de 3 dimensions, on fait alors un clustering sur ces points en utilisant l'algorithmme K-means [24]. Cet algorithme fonctionne de la façon suivante: on sélectionne un nombre défini (ce sera le nombre de clusters) de points en tant que centroïdes, puis on assigne chaque point au centroïde le plus proche. Une fois que tous les point sont assignés à un centroïde, on recalcule les centroïdes et on recommence jusqu'à convergence.

La seconde idée consistait à construire un dendogramme en réalisant un regroupement hiérarchique agglomératif (Figure 7) en utilisant la distance euclidienne entre les courbes comme élément de différenciation. On définit la distance euclidienne entre les courbes de la façon suivante:

$$d(u, v) = \sqrt{\sum_{t=0}^{T} (u_t - v_t)^2}$$

avec u et v deux courbes et T le nombre total de pas de temps.

L'algorithmme [24] fusionne récursivement deux clusters dont la distance entre les deux est minimale. Au début chaque courbe correspond à un cluster.

On voit sur le dendogramme que l'on va pouvoir extraire des groupes de courbe à partir de celui-ci.

Les résultats de la seconde méthode étant largement satisfaisant, déterministes et plus facile à mettre en oeuvre, nous utiliserons celle-ci pour la suite.

Pour choisir un nombre suffisant de clusters, on calcule pour les courbes de la population l'ICC (Intra-cluster coefficient correlation):

$$ICC = \frac{S_b^2}{S_b^2 + S_w^2}$$
<figure><img src="image_10.png" /><figcaption>Figure 8 – ICC pour les 2900 courbes de la population</figcaption></figure>

avec $S_b$ la distance inter-clusters et $S_w$ la distance intra-cluster.

Plus la distance inter-clusters se rapproche de 0, alors plus ICC est proche de 1, donc la courbe forme un coude lorsque la distance inter-clusters n'est plus significative par rapport à la distance intra-cluster. On voit sur la Figure 8, on voit qu'à partir de 22 clusters, on atteint un nombre suffisant de clusters, pour notre analyse, nous travaillerons avec 25 clusters.

### 3.4.2 Résultats et interprétation

Sur les 2900 simulations générées par la méthode de Morris, on a donc regroupé les courbes obtenues en fonction de leur similarités. De cette façon pour chaque variable de sortie étudiée, on regroupe ses courbes de sortie dans 25 clusters. La Figure 9 montre le résultat de ce clustering pour IC (Industrial Capital).

Comme expliqué précédemment, le but de ce clustering est de voir si certaines allures de courbes résultent d'une tendance générale des paramètres d'entrée. En regardant pour chaque cluster la distribution des paramètres pour chaque groupe de courbe identifié, on se rend cependant compte qu'il est difficile d'extraire des tendances dans les paramètres. Par exemple, si on s'intéresse au cluster 15 de IC (Figure 10), l'allure des courbes est bien différent du scénario de référence. La Figure 11 montre, pour chaque paramètre d'entrée, la distribution des valeurs de ce paramètre pour toutes les courbes du cluster. On voit que tous les paramètres prennent presque toutes les valeurs de leur intervalle. On ne peut pas donc pas identifier de tendances.

Cependant, cela peut permettre de confirmer des résultats précédents. En présentant les résultats sous la forme de box-plots pour chaque paramètre d'entrée de chaque cluster on peut mieux évaluer la répartition des valeurs des paramètres d'entrée. Par exemple sur la Figure 12, on représente la distribution des valeurs de Initial Arable Land pour les 25 clusters sur les courbes de sortie de Arable Land. On voit que pour chaque cluster les plages des valeurs sont distinctes, ce qui permet de valider que ALI est un paramètre influent de AL. D'après les indices de Morris, c'est le second paramètre le plus influent.

Au contraire, si on regarde la distribution des valeurs de Initial Population 65 plus (quantité initiale de
<figure><img src="image_11.png" /><figcaption>Figure 9 – L'ensemble des courbes de Industrial Capital de 1900 à 2100 pour les 2900 simulations colorées par cluster</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Figure 10 – Les courbes de sortie de Industrial Capital pour un cluster</figcaption></figure>
<figure><img src="image_13.png" /><figcaption>Figure 11 – Les valeurs que prennent chaque paramètre d'entrée pour les courbes de la Figure 10</figcaption></figure>
<figure><img src="image_14.png" /></figure>

Figure 12 – Les valeurs que prennent ALI (quantité initiale d’Arable Land) pour chaque cluster d’Arable Land représentées sous forme de Box-plot: en orange la valeur médiane, les deux extrémités du rectangle sont le premier (Q1) et le troisième quartile (Q3), et les deux extrémités des barres sont les valeurs minimales (Q1 – 1.5(Q3 – Q1)) et maximales (Q3 + 1.5(Q3 – Q1)). Chaque box-plot représente la distribution du paramètre pour un cluster.

la population âgée de 65 ans et plus) pour les 25 clusters sur les courbes de sortie de Arable Land sur la Figure 13, on voit que pour chaque cluster, toute la plage de valeurs de P4I est balayée (on note que les clusters 12 et 24 ont très peu de courbes, ils ne sont donc pas révélateurs). On en déduit donc que la variation de P4I n'a pas d'influence sur Arable Land, ce que les indices de Morris confirment également.

Il est important de noter que l'analyse de Morris suppose une linéarite du modèle, et que donc ses conclusions sont a priori à prendre avec de pincettes. Ce que le travail du clustering des courbes offre une seconde validation des résultats obtenus et que finalement la méthode a capturé beaucoup d'information sur la dynamique du modèle.

## 3.5 Première analyse du graphe du modèle

Le travail présenté dans cette partie n'est pas abouti, c'est une première évaluation de la pertinence de certains outils d'analyse de graphes pour l'analyse du modèle. Ce travail n'a pas, pour le moment, pour but d'apprendre des informations nouvelles mais de vérifier, par la cohérence des analyses, qu'il n'y a pas eu d'erreur grossière de mise en oeuvre dans les résultats obtenus précédemment.

Pour effectuer cette analyse de graphe, on s'est appuyé sur l'article [25], dans lequel les auteurs appliquent des méthodes d'analyse de graphe au modèle implémenté par Forrester qui est un version plus simple et antérieure à World3.

### 3.5.1 Méthode

Dans l'article [25], des méthodes propres à l'analyse de graphes de réseaux sont appliqués aux systèmes dynamiques. Différentes méthodes pour identifier les noeuds centraux y sont détaillées. Soit *n* le nombre total de sommets dans le graphe et *A* la matrice des chemins entre chaque sommet. On note *i* un sommet
<figure><img src="image_15.png" /><figcaption>Figure 13 – Les valeurs que prennent P4I (quantité initiale de la population de 65 ans et plus) pour chaque cluster d'Arable Land représentées sous forme de Box-plot. Chaque box-plot représente la distribution du paramètre pour un cluster.</figcaption></figure>

du graphe (variables et paramètres), $A_{ij}$ vaut 1 s'il existe un lien de $i$ vers $j$ et 0 sinon.

* **Centralité de degré:** pour chaque sommet on compte le nombre d'arcs entrants (IN) et arcs sortants (OUT), il pourrait s'apparenter au mode en statistique. Il permet d'identifier les sommets les plus susceptibles d'influencer les autres. Le défaut de cet indice est qu'il ne prend en compte uniquement son voisinage direct.

$$k_i^{in} = \sum_{j=1}^{n} A_{ji}, \quad k_i^{out} = \sum_{j=1}^{n} A_{ij} \quad \text{soit } k_i = k_i^{in} + k_i^{out}$$

* **Centralité de vecteur propre:** cet indice prend en compte l'importance des sommets auxquels le sommet étudié est connecté. Plus la centralité par vecteur propre est grande, plus le sommet a un pouvoir informel.

* **Centralité de proximité:** cet indice calcule l'inverse de la distance moyenne des plus courts chemins entre le sommet étudié vers tous les autres sommets. Plus cet indice est élevé, plus le sommet associé diffuse de l'information. On peut comparer cet indice à la moyenne dans une série de chiffres

$$c_i = \frac{1}{n} \times \sum_{j=0, i \neq j}^{n} d_{ij} \Rightarrow C_i = \frac{n}{\sum_{j=0, i \neq j}^{n} d_{ij}}$$

avec $d_{ij}$ le plus court chemin entre $i$ et $j$;

* **Centralité d'intermédiarité:** cet indice correspond au nombre de fois que le sommet étudié est sur le chemin le plus court entre deux autres nœuds quelconques du graphe. On peut le comparer à une moyenne dans une série de nombres. Plus l'indice est élevé, plus le sommet associé contrôle le flux d'information.

$$x_i = \sum_{j=0, i \neq j}^{n} z_j^i \quad \text{avec} \quad z_j^i = \begin{cases} 1, & \text{si } i \text{ est sur le chemin de } j, \\ 0, & \text{sinon} \end{cases}$$
<table><caption>(a) Centralité de degré sortant</caption><thead><tr><th></th><th>Rank</th><th>ID Name</th><th>Exogeneous var</th><th>Type</th></tr></thead><tbody><tr><td rowspan="10">centrality<br>(IN+OUT)</td><td>1</td><td>PY</td><td>ø</td><td>constant</td></tr><tr><td>2</td><td>IOPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>3</td><td>LE</td><td>LEN</td><td>auxiliary eq</td></tr><tr><td>4</td><td>POP</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>5</td><td>AL</td><td>ø</td><td>stock</td></tr><tr><td>5</td><td>IO</td><td>ICOR, FIOAC, ALIC</td><td>auxiliary eq</td></tr><tr><td>7</td><td>LY</td><td>LYF</td><td>auxiliary eq</td></tr><tr><td>7</td><td>P2</td><td>ø</td><td>stock</td></tr><tr><td>9</td><td>P3</td><td>ø</td><td>stock</td></tr><tr><td>10</td><td>SOPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>10</td><td>AIPH</td><td>ø</td><td>table</td></tr><tr><td>10</td><td>P1</td><td>ø</td><td>stock</td></tr></tbody></table>

<table><caption>(b) Centralité de vecteur propre</caption><thead><tr><th></th><th>Rank</th><th>ID Name</th><th>Exogeneous var</th><th>Type</th></tr></thead><tbody><tr><td rowspan="10">Eigenvector</td><td>1</td><td>PY</td><td>ø</td><td>constant</td></tr><tr><td>2</td><td>IOPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>3</td><td>POP</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>4</td><td>IO</td><td>ICOR, FIOAC, ALIC</td><td>auxiliary eq</td></tr><tr><td>5</td><td>SOPC</td><td>ø</td><td>table</td></tr><tr><td>6</td><td>FPC</td><td>ø</td><td>table</td></tr><tr><td>7</td><td>FIOAA</td><td>ø</td><td>table</td></tr><tr><td>8</td><td>FIOAS</td><td>ø</td><td>table</td></tr><tr><td>9</td><td>ICOR</td><td>ICOR1</td><td>constant/ aux</td></tr><tr><td>10</td><td>SOPC</td><td>ø</td><td>auxiliary eq</td></tr></tbody></table>

<table><caption>(c) Centralité de proximité</caption><thead><tr><th></th><th>Rank</th><th>ID Name</th><th>Exogeneous var</th><th>Type</th></tr></thead><tbody><tr><td rowspan="10">Closeness</td><td>1</td><td>PY</td><td>ø</td><td>constant</td></tr><tr><td>2</td><td>POP</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>3</td><td>P2</td><td>ø</td><td>stock</td></tr><tr><td>4</td><td>P3</td><td>ø</td><td>stock</td></tr><tr><td>5</td><td>P1</td><td>ø</td><td>stock</td></tr><tr><td>6</td><td>IO</td><td>ICOR, FIOAC, ALIC</td><td>auxiliary eq</td></tr><tr><td>7</td><td>P4</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>8</td><td>IOPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>9</td><td>MAT2</td><td>ø</td><td>rate eq</td></tr><tr><td>10</td><td>P2I</td><td>ø</td><td>initial value</td></tr></tbody></table>

<table><caption>(d) Centralité d'intermédiarité</caption><thead><tr><th></th><th>Rank</th><th>ID Name</th><th>Exogeneous var</th><th>Type</th></tr></thead><tbody><tr><td rowspan="10">Betweenness</td><td>1</td><td>IO</td><td>ICOR, FIOAC, ALIC</td><td>auxiliary eq</td></tr><tr><td>2</td><td>POP</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>3</td><td>IOPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>4</td><td>LE</td><td>LEN</td><td>auxiliary eq</td></tr><tr><td>5</td><td>FPC</td><td>ø</td><td>auxiliary eq</td></tr><tr><td>6</td><td>AL</td><td>ø</td><td>stock</td></tr><tr><td>7</td><td>P1</td><td>ø</td><td>stock</td></tr><tr><td>8</td><td>F</td><td>LFH, PL</td><td>auxiliary eq</td></tr><tr><td>9</td><td>LY</td><td>LYF</td><td>auxiliary eq</td></tr><tr><td>10</td><td>PPOL</td><td>ø</td><td>stock</td></tr></tbody></table>

<caption>Figure 14 – Les 10 premiers sommets pour chaque indice de centralité</caption>

### 3.5.2 Mise en oeuvre

À l'aide des librairies pysd et neworkx, le modèle World3 a été converti sous forme de graphe orienté. Les sommets sont l'ensemble des paramètres et des variables du modèle (à l'exception des variables et des constantes utiles uniquement pour l'implémentation du modèle, notamment le temps, les fonctions de lissage ou les tables). Les arcs sont les connexions qui existent entre les paramètres et les variables. Un arc existe entre une variable et toutes les variables présentes dans l'équation qui définit sa dynamique. On calcule les différents indices de centralité détaillés dans la section précédente.

### 3.5.3 Résultats et interprétation

Un sommet avec une centralité de proximité élevée peut être vu comme un sommet transmettant rapidement son changement à l'intégralité du graphe. Cet indice (Figure 14c) pour POP (Population) est le deuxième plus élevé (après Policy Year), vient ensuite IO (Industrial Output). Cela vient confirmer que la population et la production industrielle sont bien des variables de contrôle du modèle. Un sommet avec une centralité d'intermédiarité élevée a une influence étendue car cela signifie qu'un grand nombre d'information transite par ce sommet. L'étude du graphe de World3 (Figure 14d) montre que le sommet avec la plus grande centralité d'intermédiarité est IO (Industrial Output). On note que ICOR, FIOAC, et ALIC sont des paramètres directement connectés à IO, et que ces paramètres ont été identifiés comme influents lors de l'analyse de sensibilité.

Pour tous les indices de centralité on retrouve approximativement les mêmes 10 premiers sommets qui sont: PY, IOPC, IO, POP, AL, LY, LE (Table 1). Les premiers sommets concernant la centralité de vecteur propre (Figure 14b) sont légèrement différents. On trouve notamment SOPC (Indicated Services Output Per Capita), FIOAA (Fraction of Industrial Output Allocated to Agriculture) et FIOAS (Fraction
of Industrial Output Allocated to Services). Cela est du au fait que cet indice est calculé en prenant en compte l'importance des sommets voisins et tous ces sommets sont connectés à IO. Cela permet de confirmer l'importance de IO au sein du modèle (et donc par extension des variables qui le définissent ; ICOR, FIOAC et ALIC).

D'autre part, grâce à la construction de ce graphe, on peut désormais compter le nombre de boucles présentes dans le modèle. On compte 1863803 cycles dans le graphe, sachant qu'un cycle est comptabilisé même s'il n'y a que deux sommets qui le composent d'où le nombre très élevé. 65% d'entre eux passent par en même temps par IO, IOPC, POP, AL et LE alors que seulement 117 (soit 0.006% des cycles) ne passent par aucun d'eux. Ainsi, on se rend compte que les secteurs de la pollution et des ressources non renouvelables ne sont pas des secteurs majeurs dans le modèle.

Lorsqu'on s'intéresse aux principaux paramètres influents identifiés avec l'analyse de Morris pour cha-cune de ces quatre variables, on retrouve les principaux paramètres influents du modèle (ALIC1, ICOR1, FIOAC1, ILF, LEN et DCFSN - Table 1).

# 4 Conclusion et discussions

On a détaillé dans ce rapport le fonctionnement du modèle World3. Le modèle, par ses boucles de rétroac-tion, produit des dynamiques de croissance et décroissance de ses stocks. Ces boucles font intervenir des paramètres (simples ou sous forme de tables) et des variables (de flux, de stocks et auxiliaires). Les incertitudes sur les valeurs des paramètres sont à l'origine des débats concernant la validité du modèle, c'est pour cela qu'une analyse de sensibilité est nécessaire pour apporter des éléments de validation sci-entifique. Certaines analyses de sensibilité ont déjà été menées dans le passé. Cependant les auteurs de ces analyses n'ont pas pris en compte la signification des variations qu'ils proposaient pour modifier le comportement du modèle. Ainsi les modifications présentées qui permettent de modifier qualitativement le comportement du modèle n'ont pas d'applications dans le monde réel. Le principal exemple porte sur la modification de la table CUFT (Capital Utilization Fraction Table).

Dans ce rapport, grâce à l'analyse de Morris, on a pu identifier les paramètres les plus influents. Ces paramètres sont directement connectés aux domaines majeurs du modèle: ICOR1, FIAOC1 et ALIC1 sont en relation directe avec le stock du capital industriel, DCFSN et RLT influent directement sur le flux des naissances, alors que LEN influe sur le flux des décès, soit les trois sur la population. LFH et ILF influent sur la production agricole. Les résultats obtenus sont cohérents avec les analyses préalable-ment menées sur le modèle et permettent de valider que c'est bien le capital industriel et la population qui régissent les dynamiques du modèle. On note toutefois, que LFH et ILF ne sont pas des variables identifiées comme influentes par les auteurs. On a également vu, par une première approche d'étude du graphe du modèle, que la population et la production industrielle sont les nœuds, les plus proches de tous les autres nœuds du graphe. Ces variables sont donc les plus susceptibles de transmettre leur état à l'ensemble des autres variables. Nous avons de plus validé l'influence des paramètres cités précédemment par d'autres méthodes, notamment en regroupant les courbes de sorties obtenues par les simulations de Morris en fonction de leur similarité dans leur comportement.

On note toutefois que la méthode de Morris nous indique que ces paramètres ont une influence non-linéaire mais les résultats ne nous informent pas si cette influence est due à leur non-linéarité propre ou à l'interaction de ces paramètres entre eux. C'est pour cela, que l'on a essayé d'analyser le modèle avec la méthode de Sobol.

Comme c'est une méthode qui nécessite un grand nombre de simulations, nous nous sommes intéressés uniquement aux paramètres les plus influents identifiés précédemment: ICOR1, FIOAC1, RLT, ALIC1, LEN, DCFSN, LFH, ILF (Table 1). Les résultats de cette méthode n'ont pas été concluants et par manque de temps l'analyse n'a pas été pas encore été poussée plus en avant. En effet, les indices de Sobol d'ordre deux obtenus pour chacune des paires de ces paramètres ont une incertitude trop importantes pour être interprétés. On note cependant que les indices de Sobol d'ordre un de chaque paramètre sont largement inférieurs aux indices de Sobol totaux. Cela permet de dire que l'influence de ces paramètres
est due aux interactions entre eux.

Pour améliorer l'analyse de sensibilité présentée dans ce rapport, il faudrait dans un premier temps réimplémenter la méthode de Sobol pour pouvoir ainsi définir les paires de paramètres influents. De plus, un travail plus approfondi sur les tables doit être mené. Il faudra en effet définir des intervalles de variation plus spécifiques pour chaque table, tout en restant cohérent avec la réalité. On note également qu'il serait intéressant de mener une analyse sur les autres scénarios du modèle. Enfin, une analyse plus poussée du graphe de relation entre variables pourra être un autre travail intéressant, nottament pour identifier les boucles de rétroaction majeures et valider leur importance. L'ensemble de ces travaux pourront être menés au cours de la thèse qui portera sur ce sujet.

Références

[1] Donella H. Meadows, Club of Rome, and Potomac Associates. *The Limits to growth : a report for the Club of Rome's project on the predicament of mankind*. Universe Books, 1972.

[2] Donella H. Meadows, Dennis L. Meadows, and Jørgen Randers. *Beyond the limits*. Chelsea Green Pub. Co., 1992.

[3] Donella H. Meadows, Jorgen Randers, and Dennis L. Meadows. *The Limits to Growth : The 30-year Update*. Routledge, London, rev ed edition, November 2004.

[4] G Turner. A comparison of The Limits to Growth with 30 years of reality. *Global Environmental Change*, 18(3):397-411, August 2008.

[5] C. Xu and G. Gertner. Extending a global sensitivity analysis technique to models with correlated parameters. *Computational Statistics & Data Analysis*, 51(12):5579-5590, August 2007.

[6] Chonggang Xu and George Zdzislaw Gertner. Uncertainty and sensitivity analysis for models with correlated parameters. *Reliability Engineering & System Safety*, 93(10):1563-1573, October 2008.

[7] P. J. Vermeulen and D. C. J. de Jongh. 'Dynamics of Growth in a Finite World' – Comprehensive Sensitivity Analysis. *IFAC Proceedings Volumes*, 9(3):133-145, June 1976.

[8] P. J. Vermeulen and D. C. J. de Jongh. Parameter sensitivity of the 'Limits to Growth' world model. *Applied Mathematical Modelling*, 1(1):29-32, June 1976.

[9] Donella Meadows and Jorgen Randers. *Les Limites à la croissance*. Rue de l'échiquier, Paris, 1 edition, 2012.

[10] United Nations, editor. *International Standard industrial classification of all economic activities (ISIC)*. Number no. 4, rev. 4 in Statistical papers. Series M. United Nations, New York, rev. 4 edition, 2008. OCLC: ocn277738900.

[11] Dennis L Meadows, Donella Meadows, and Randers, Jørgen. *Dynamics of growth in a finite world*. Wright-Allen Press, Cambridge, Mass., 1974.

[12] Andrea Saltelli, M Ratto, Terry Andres, Francesca Campolongo, Jessica Cariboni, Debora Gatelli, Michaela Saisana, and Stefano Tarantola. *Global Sensitivity Analysis. The Primer*, volume 304. January 2008.

[13] Max D. Morris. Factorial Sampling Plans for Preliminary Computational Experiments. *Technometrics*, 33(2):161-174, May 1991.

[14] Andrea Saltelli, Paola Annoni, Ivano Azzini, Francesca Campolongo, Marco Ratto, and Stefano Tarantola. Variance based sensitivity analysis of model output. Design and estimator for the total sensitivity index. *Computer Physics Communications*, 181(2):259-270, February 2010.
[15] Andrea Saltelli, K Chan, and E. Marian Scott. *Sensitivity Analysis*, volume 134. January 2000.

[16] Wil Thissen. Investigations into the World3 Model : Lessons for Understanding Complicated Models. *Systems, Man and Cybernetics, IEEE Transactions on*, 8 :183–193, April 1978.

[17] W. Thissen and C. De Mol. The Agricultural and Persistent Pollution Subsystems in World3. *IEEE Transactions on Systems, Man, and Cybernetics*, 8(3) :159–172, March 1978.

[18] W. Thissen. Investigations into the World3 Model : The Capital and Resource Subsystem. *IEEE Transactions on Systems, Man, and Cybernetics*, SMC-6(7) :455–466, July 1976.

[19] W. Thissen. Population in the Club of Rome's World3 Model. *IEEE Transactions on Systems, Man, and Cybernetics*, 8(3) :149–159, March 1978.

[20] Roberto Pasqualino, Aled Jones, Irene Monasterolo, and Alexander Phillips. Understanding Global Systems Today—A Calibration of the World3-03 Model between 1995 and 2012. *Sustainability*, 2015 :9864–9889, July 2015.

[21] FAOSTAT.

[22] World Bank Open Data | Data.

[23] W. Parker Mauldin. Fertility Studies : Knowledge, Attitude, and Practice. *Studies in Family Planning*, 1(7) :1–10, 1965.

[24] A. K. Jain, M. N. Murty, and P. J. Flynn. Data clustering : a review. *ACM Computing Surveys*, 31(3) :264–323, September 1999.

[25] Lukas Schoenenberger and Andrea Schenker-Wicki. Can System Dynamics Learn from Social Network Analysis? *SSRN Electronic Journal*, January 2015.
# Annexe 1

## 1 Runs historiques

Il n'y a pas eu de réel calibrage des équations pour que les valeurs concordent avec les données historiques. Mais l'allure des courbes a été vérifiée qualitativement en comparant les tendances historiques de 1900 à 1970 aux courbes obtenues avec le modèle (cf. Chapitre 7 section 7.2 de Dynamics of Growth of a finite World).

Ainsi le choix des valeurs d'entrée a été fait en sorte que les courbes obtenues par le modèle soient cohérentes avec les tendances observées sur les données historiques et passent par la valzur historique de l'année 1970.

## 2 Population

POP (1) :

$$ POP = P1 + P2 + P3 + P4 \qquad (1) $$

P1 (2) :

$$ \frac{dP1}{dt} = B - D1 - MAT1 \qquad (2) $$

D1 (3) :

$$ D1 = P1 \cdot M1 \qquad (3) $$

M1 (4) :

$$ M1 = \text{table} \left( \frac{LE}{OY} \right) \qquad (4) $$

$$ ((20, 0.0567), (30, 0.0366), (40, 0.0243), (50, 0.0155), (60, 0.0082), (70, 0.0023), (80, 0.001)) \qquad (5) $$

MAT1 (5) :

$$ MAT1 = \frac{P1 \cdot (1 - M1)}{15} \qquad (6) $$

P2 (6) :

$$ \frac{dP2}{dt} = MAT1 - D2 - MAT2 \qquad (7) $$

D2 (7) :

$$ D2 = P2 \cdot M2 \qquad (8) $$

M2 (8) :

$$ M2 = \text{table} \left( \frac{LE}{OY} \right) \qquad (9) $$
$$ ((20, 0.0266), (30, 0.0171), (40, 0.011), (50, 0.0065), (60, 0.004), (70, 0.0016), (80, 0.0008)) \quad (10) $$

MAT2 (9) :

$$ MAT2 = \frac{P2 \cdot (1 - M2)}{30} \quad (11) $$

P3 (10) :

$$ \frac{dP3}{dt} = MAT2 - D3 - MAT3 \quad (12) $$

D3 (11) :

$$ D3 = P3 \cdot M3 \quad (13) $$

M3 (12) :

$$ M3 = \text{table}\left(\frac{LE}{OY}\right) \quad (14) $$

$$ ((20, 0.0562), (30, 0.0373), (40, 0.0252), (50, 0.0171), (60, 0.0118), (70, 0.0083), (80, 0.006)) \quad (15) $$

MAT3 (13) :

$$ MAT3 = \frac{P3 \cdot (1 - M3)}{20} \quad (16) $$

P4 (14) :

$$ \frac{dP4}{dt} = MAT3 - D4 \quad (17) $$

D4 (15) :

$$ D4 = P4 \cdot M4 \quad (18) $$

M4 (16) :

$$ M4 = \text{table}\left(\frac{LE}{OY}\right) \quad (19) $$

$$ ((20, 0.13), (30, 0.11), (40, 0.09), (50, 0.07), (60, 0.06), (70, 0.05), (80, 0.04)) \quad (20) $$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>P1I</td><td>2.2</td><td>initial value</td><td>650000000</td><td>Person</td></tr><tr><td>P2I</td><td>6.2</td><td>initial value</td><td>700000000</td><td>Person</td></tr><tr><td>P3I</td><td>10.2</td><td>initial value</td><td>190000000</td><td>Person</td></tr><tr><td>P4I</td><td>14.2</td><td>initial value</td><td>60000000</td><td>Person</td></tr></tbody></table>

## 2.1 Death

D (17) :

$$ D = D1 + D2 + D3 + D4 \quad (21) $$
CDR (18) :

$$ CDR = \frac{1000D}{POP} \qquad (22) $$

LE (19) :

$$ LE = LEN \cdot LMF \cdot LMHS \cdot LMP \cdot LMC \qquad (23) $$

LMF (20) :

$$ LMF = \text{table} \left( \frac{FPC}{SFPC} \right) \qquad (24) $$

$$ ((0,0), (1,1), (2,1.43), (3,1.5), (4,1.5), (5,1.5)) \qquad (25) $$

HSAPC (21) :

$$ HSAPC = \text{table} \left( \frac{SOPC}{GDPU} \right) \qquad (26) $$

$$ ((0,0), (250,20), (500,50), (750,95), (1000,140), (1250,175), (1500,200), (1750,220), (2000,230)) \qquad (27) $$

EHSPC (22) :

$$ EHSPC = \text{smooth}(HSAPC, HSID) \qquad (28) $$

LMHS (23) :

$$ LMHS = \begin{cases} LMHS2, & \text{if } TIME > 1940 \\ LMHS1, & \text{else} \end{cases} \qquad (29) $$

LMHS1 (24) :

$$ LMHS1 = \text{table} \left( \frac{EHSPC}{GDPU} \right) \qquad (30) $$

$$ ((0,1), (20,1.1), (40,1.4), (60,1.6), (80,1.7), (100,1.8)) \qquad (31) $$

LMHS2 (25) :

$$ LMHS2 = \text{table} \left( \frac{EHSPC}{GDPU} \right) \qquad (32) $$

$$ ((0,1), (20,1.5), (40,1.9), (60,2), (80,2), (100,2)) \qquad (33) $$

FPU (26) :

$$ FPU = \text{table} \left( \frac{POP}{UP} \right) \qquad (34) $$

$$ ((0,0), (2e+09,0.2), (4e+09,0.4), (6e+09,0.5), (8e+09,0.58), (1E+10,0.65), (1.2E+10,0.72), (1.4E+10,0.78), (1.6E+10,0.8)) \qquad (35) $$
CMI (27) :

$$ CMI = \text{table} \left( \frac{IOPC}{GDPU} \right) \qquad (36) $$

$$ ((0, 0.5), (200, 0.05), (400, -0.1), (600, -0.08), (800, -0.02), (1000, 0.05), (1200, 0.1), (1400, 0.15), (1600, 0.2)) \qquad (37) $$

LMC (28) :

$$ LMC = 1 - CMI \cdot FPU \qquad (38) $$

LMP (29) :

$$ LMP = \text{table}(PPOLX) \qquad (39) $$

$$ ((0, 1), (10, 0.99), (20, 0.97), (30, 0.95), (40, 0.9), (50, 0.85), (60, 0.75), (70, 0.65), (80, 0.55), (90, 0.4), (100, 0.2)) \qquad (40) $$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>LEN</td><td>19.1</td><td>constant</td><td>28</td><td>year</td></tr><tr><td>HSID</td><td>22.1</td><td>constant</td><td>20</td><td>year</td></tr></tbody></table>

## 2.2 Birth

B (30) :

$$ B = \begin{cases} D, & \text{if } TIME \ge PET \\ \frac{0.5TF \cdot P2}{RLT}, & \text{else} \end{cases} \qquad (41) $$

CBR (31) :

$$ CBR = \frac{1000B}{POP} \qquad (42) $$

TF (32) :

$$ TF = \text{MIN}(MTF, MTF \cdot (1 - FCE) + DTF \cdot FCE) \qquad (43) $$

MTF (33) :

$$ MTF = MTFN \cdot FM \qquad (44) $$

FM (34) :

$$ FM = \text{table} \left( \frac{LE}{OY} \right) \qquad (45) $$

$$ ((0, 0), (10, 0.2), (20, 0.4), (30, 0.6), (40, 0.7), (50, 0.75), (60, 0.79), (70, 0.84), (80, 0.87)) \qquad (46) $$

DTF (35) :

$$ DTF = DCFS \cdot CMPLE \qquad (47) $$
CMPLE (36) :

$$CMPLE = \text{table} \left( \frac{PLE}{OY} \right) \qquad (48)$$

$$((0,3), (10,2.1), (20,1.6), (30,1.4), (40,1.3), (50,1.2), (60,1.1), (70,1.05), (80,1)) \qquad (49)$$

PLE (37) :

$$PLE = \text{smooth3}(LE, LPD) \qquad (50)$$

DCFS (38) :

$$DCFS = \begin{cases} 2, & \text{if } TIME \ge ZPGT \\ DCFSN \cdot FRSN \cdot SFSN, & \text{else} \end{cases} \qquad (51)$$

SFSN (39) :

$$SFSN = \text{table} \left( \frac{DIOPC}{GDPU} \right) \qquad (52)$$

$$((0,1.25), (200,0.94), (400,0.715), (600,0.59), (800,0.5)) \qquad (53)$$

DIOPC (40) :

$$DIOPC = \text{smooth3}(IOPC, SAD) \qquad (54)$$

FRSN (41) :

$$FRSN = \text{table}(FIE) \qquad (55)$$

$$((-0.2,0.5), (-0.1,0.6), (0,0.7), (0.1,0.85), (0.2,1)) \qquad (56)$$

FIE (42) :

$$FIE = \frac{IOPC - AIOPC}{AIOPC} \qquad (57)$$

AIOPC (43) :

$$AIOPC = \text{smooth}(IOPC, IEAT) \qquad (58)$$

NFC (44) :

$$NFC = \frac{MTF}{DTF} - 1 \qquad (59)$$

FCE (45) :

$$FCE = \begin{cases} 1, & \text{if } TIME \ge FCEST \\ \text{table} \left( \frac{FCFPC}{GDPU} \right), & \text{else} \end{cases} \qquad (60)$$

$$((0,0.75), (0.5,0.85), (1,0.9), (1.5,0.95), (2,0.98), (2.5,0.99), (3,1)) \qquad (61)$$

FCFPC (46) :

$$FCFPC = \text{smooth3}(FCAPC, HSID) \qquad (62)$$
FCAPC (47) :

$$FCAPC = FSAFC \cdot SOPC \qquad (63)$$

FSAFC (48) :

$$FSAFC = \text{table}(NFC) \qquad (64)$$

$$((0,0), (2, 0.005), (4, 0.015), (6, 0.025), (8, 0.03), (10, 0.035)) \qquad (65)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>RLT</td><td>30.1</td><td>constant</td><td>30</td><td>year</td></tr><tr><td>PET</td><td>30.2</td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>MTFN</td><td>33.1</td><td>constant</td><td>12</td><td>Dmnl</td></tr><tr><td>LPD</td><td>37.1</td><td>constant</td><td>20</td><td>year</td></tr><tr><td>ZPGT</td><td>38.1</td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>DCFSN</td><td>38.2</td><td>constant</td><td>3.8</td><td>Dmnl</td></tr><tr><td>SAD</td><td>40.1</td><td>constant</td><td>20</td><td>year</td></tr><tr><td>FRSNI</td><td>41.2</td><td>initial value</td><td>0.82</td><td>Dmnl</td></tr><tr><td>IEAT</td><td>43.1</td><td>constant</td><td>3</td><td>year</td></tr><tr><td>FCEST</td><td>45.1</td><td>constant</td><td>4000</td><td>year</td></tr></tbody></table>

# 3 Capital

## 3.1 Industrial

IOPC (49) :

$$IOPC = \frac{IO}{POP} \qquad (66)$$

IO (50) :

$$IO = \frac{IC \cdot (1 - FCAOR) \cdot CUF}{ICOR} \qquad (67)$$

ICOR (51) :

$$ICOR = \begin{cases} ICOR2, & \text{if } TIME \geq PYEAR \\ ICOR1, & \text{else} \end{cases} \qquad (68)$$

ICOR2 (51.2) :

$$ICOR2 = ICOR2T \cdot COYM \cdot COPM \qquad (69)$$

IC (52) :

$$\frac{dIC}{dt} = ICIR - ICDR \qquad (70)$$

ICDR (53) :

$$ICDR = \frac{IC}{ALIC} \qquad (71)$$
ALIC (54) :

$$ALIC = \begin{cases} ALIC2, & \text{if } TIME \geq PYEAR \\ ALIC1, & \text{else} \end{cases} \qquad (72)$$

ICIR (55) :

$$ICIR = IO \cdot FIOAI \qquad (73)$$

FIOAI (56) :

$$FIOAI = 1 - FIOAA - FIOAS - FIOAC \qquad (74)$$

FIOAC (57) :

$$FIOAC = \begin{cases} FIOACV, & \text{if } TIME \geq IET \\ FIOACC, & \text{else} \end{cases} \qquad (75)$$

FIOACC (58) :

$$FIOACC = \begin{cases} FIOAC2, & \text{if } TIME \geq PYEAR \\ FIOAC1, & \text{else} \end{cases} \qquad (76)$$

FIOACV (59) :

$$FIOACV = \text{table} \left( \frac{IOPC}{IOPCD} \right) \qquad (77)$$

$$((0, 0.3), (0.2, 0.32), (0.4, 0.34), (0.6, 0.36), (0.8, 0.38), (1, 0.43), (1.2, 0.73), (1.4, 0.77), (1.6, 0.81), (1.8, 0.82), (2, 0.83)) \qquad (78)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>ICOR1</td><td>51.1</td><td>constant</td><td>3</td><td>year</td></tr><tr><td>ICI</td><td>52.1</td><td>initial value</td><td>210000000000</td><td>$</td></tr><tr><td>ALIC1</td><td>54.1</td><td>constant</td><td>14</td><td>year</td></tr><tr><td>ALIC2</td><td>54.2</td><td>constant</td><td>14</td><td>year</td></tr><tr><td>IET</td><td>57.1</td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>FIOAC1</td><td>58.1</td><td>constant</td><td>0.43</td><td>Dmnl</td></tr><tr><td>FIOAC2</td><td>58.2</td><td>constant</td><td>0.43</td><td>Dmnl</td></tr><tr><td>IOPCD</td><td>59.2</td><td>constant</td><td>400</td><td>$(Person*year)</td></tr></tbody></table>

## 3.2 Service

ISOPC (60) :

$$ISOPC = \begin{cases} ISOPC2, & \text{if } TIME \geq PYEAR \\ ISOPC1, & \text{else} \end{cases} \qquad (79)$$

ISOPC1 (61) :

$$ISOPC1 = \text{table} \left( \frac{IOPC}{GDPU} \right) \qquad (80)$$
$$ ((0, 40), (200, 300), (400, 640), (600, 1000), (800, 1220), (1000, 1450), (1200, 1650), (1400, 1800), (1600, 2000)) \qquad (81) $$

ISOPC2 (62) :

$$ ISOPC2 = \text{table} \left( \frac{IOPC}{GDPU} \right) \qquad (82) $$

$$ ((0, 40), (200, 300), (400, 640), (600, 1000), (800, 1220), (1000, 1450), (1200, 1650), (1400, 1800), (1600, 2000)) \qquad (83) $$

FIOAS (63) :

$$ FIOAS = \begin{cases} FIOAS2, & \text{if } TIME \geq PYEAR \\ FIOAS1, & \text{else} \end{cases} \qquad (84) $$

FIOAS1 (64) :

$$ FIOAS1 = \text{table} \left( \frac{SOPC}{ISOPC} \right) \qquad (85) $$

$$ ((0, 0.3), (0.5, 0.2), (1, 0.1), (1.5, 0.05), (2, 0)) \qquad (86) $$

FIOAS2 (65) :

$$ FIOAS2 = \text{table} \left( \frac{SOPC}{ISOPC} \right) \qquad (87) $$

$$ ((0, 0.3), (0.5, 0.2), (1, 0.1), (1.5, 0.05), (2, 0)) \qquad (88) $$

SCIR (66) :

$$ SCIR = IO \cdot FIOAS \qquad (89) $$

SC (67) :

$$ \frac{dSC}{dt} = SCI - SCDR \qquad (90) $$

SCDR (68) :

$$ SCDR = \frac{SC}{ALSC} \qquad (91) $$

ALSC (69) :

$$ ALSC = \begin{cases} ALSC2, & \text{if } TIME \geq PYEAR \\ ALSC1, & \text{else} \end{cases} \qquad (92) $$

SO (70) :

$$ SO = \frac{SC \cdot CUF}{SCOR} \qquad (93) $$

SOPC (71) :

$$ SOPC = \frac{SO}{POP} \qquad (94) $$
### SCOR (72) :

$$ SCOR = \begin{cases} SCOR2, & \text{if } TIME \ge PYEAR \\ SCOR1, & \text{else} \end{cases} \qquad (95) $$

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>SCI</td><td>67.2</td><td>initial value</td><td>144000000000</td><td>$</td></tr><tr><td>ALSC1</td><td>69.1</td><td>constant</td><td>20</td><td>year</td></tr><tr><td>ALSC2</td><td>69.2</td><td>constant</td><td>20</td><td>year</td></tr><tr><td>SCOR1</td><td>72.1</td><td>constant</td><td>1</td><td>year</td></tr><tr><td>SCOR2</td><td>72.2</td><td>constant</td><td>1</td><td>year</td></tr></tbody></table>

## 3.3 Job

### J (73) :

$$ J = PJIS + PJAS + PJSS \qquad (96) $$

### PJIS (74) :

$$ PJIS = IC \cdot JPICU \qquad (97) $$

### JPICU (75) :

$$ JPICU = 0.001 \text{ table } \left( \frac{IOPC}{GDPU} \right) \qquad (98) $$

$$ ((50, 0.37), (200, 0.18), (350, 0.12), (500, 0.09), (650, 0.07), (800, 0.06)) \qquad (99) $$

### PJSS (76) :

$$ PJSS = SC \cdot JPSCU \qquad (100) $$

### JPSCU (77) :

$$ JPSCU = 0.001 \text{ table } \left( \frac{SOPC}{GDPU} \right) \qquad (101) $$

$$ ((50, 1.1), (200, 0.6), (350, 0.35), (500, 0.2), (650, 0.15), (800, 0.15)) \qquad (102) $$

### PJAS (78) :

$$ PJAS = JPH \cdot AL \qquad (103) $$

### JPH (79) :

$$ JPH = \text{table} \left( \frac{AIPH}{UAGI} \right) \qquad (104) $$

$$ ((2, 2), (6, 0.5), (10, 0.4), (14, 0.3), (18, 0.27), (22, 0.24), (26, 0.2), (30, 0.2)) \qquad (105) $$

### LF (80) :

$$ LF = (P2 + P3) \cdot LFPF \qquad (106) $$
LUF (81) :

$$LUF = \frac{J}{LF} \qquad (107)$$

LUFD (82) :

$$LUFD = \text{smoothi}(LUF, LUFDT, 1) \qquad (108)$$

CUF (83) :

$$CUF = \text{table}(LUFD) \qquad (109)$$

$$((1, 1), (3, 0.9), (5, 0.7), (7, 0.3), (9, 0.1), (11, 0.1)) \qquad (110)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>LFPF</td><td>80.1</td><td>constant</td><td>0.75</td><td>Dmnl</td></tr><tr><td>LUFDT</td><td>82.1</td><td>constant</td><td>2</td><td>year</td></tr><tr><td>CUFI</td><td>83.1</td><td>initial value</td><td>1</td><td>Dmnl</td></tr></tbody></table>

# 4 Agriculture

## 4.1 Loop 1

LFC (84) :

$$LFC = \frac{AL}{PALT} \qquad (111)$$

AL (85) :

$$\frac{dAL}{dt} = LDR - LER - LRUI \qquad (112)$$

PAL (86) :

$$\frac{dPAL}{dt} = -LDR \qquad (113)$$

F (87) :

$$F = LY \cdot AL \cdot LFH \cdot (1 - PL) \qquad (114)$$

FPC (88) :

$$FPC = \frac{F}{POP} \qquad (115)$$

IFPC (89) :

$$IFPC = \begin{cases} IFPC2, & \text{if } TIME \geq PYEAR \\ IFPC1, & \text{else} \end{cases} \qquad (116)$$

IFPC1 (90) :

$$IFPC1 = \text{table}\left(\frac{IOPC}{GDPU}\right) \qquad (117)$$
((0, 230), (200, 480), (400, 690), (600, 850), (800, 970), (1000, 1070), (1200, 1150), (1400, 1210), (1600, 1250)) (118)

IFPC2 (91) :

$$IFPC2 = \text{table} \left( \frac{IOPC}{GDPU} \right) \qquad (119)$$

((0, 230), (200, 480), (400, 690), (600, 850), (800, 970), (1000, 1070), (1200, 1150), (1400, 1210), (1600, 1250)) (120)

TAI (92) :

$$TAI = IO \cdot FIOAA \qquad (121)$$

FIOAA (93) :

$$FIOAA = \begin{cases} FIOAA2, & \text{if } TIME \ge PYEAR \\ FIOAA1, & \text{else} \end{cases} \qquad (122)$$

FIOAA1 (94) :

$$FIOAA1 = \text{table} \left( \frac{FPC}{IFPC} \right) \qquad (123)$$

((0, 0.4), (0.5, 0.2), (1, 0.1), (1.5, 0.025), (2, 0), (2.5, 0)) (124)

FIOAA2 (95) :

$$FIOAA2 = \text{table} \left( \frac{FPC}{IFPC} \right) \qquad (125)$$

((0, 0.4), (0.5, 0.2), (1, 0.1), (1.5, 0.025), (2, 0), (2.5, 0)) (126)

LDR (96) :

$$LDR = \frac{TAI \cdot FIALD}{DCPH} \qquad (127)$$

DCPH (97) :

$$DCPH = \text{table} \left( \frac{PAL}{PALT} \right) \qquad (128)$$

((0, 100000), (0.1, 7400), (0.2, 5200), (0.3, 3500), (0.4, 2400), (0.5, 1500), (0.6, 750), (0.7, 300), (0.8, 150), (0.9, 75), (1, 50)) (129)

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>PALT</td><td>84.1</td><td>constant</td><td>3200000000</td><td>hectare</td></tr><tr><td>ALI</td><td>85.2</td><td>initial value</td><td>900000000</td><td>hectare</td></tr><tr><td>PALI</td><td>86.2</td><td>initial value</td><td>2300000000</td><td>hectare</td></tr><tr><td>LFH</td><td>87.1</td><td>constant</td><td>0.7</td><td>Dmnl</td></tr><tr><td>PL</td><td>87.2</td><td>constant</td><td>0.1</td><td>Dmnl</td></tr></tbody></table>
## 4.2 Loop 2

CAI (98) :

$$ CAI = TAI \cdot (1 - FIALD) \qquad (130) $$

AI (99) :

$$ AI = \text{smooth}(CAI, ALAI) \qquad (131) $$

ALAI (100) :

$$ ALAI = \begin{cases} ALAI2, & \text{if } TIME \geq PYEAR \\ ALAI1, & \text{else} \end{cases} \qquad (132) $$

AIPH (101) :

$$ AIPH = \frac{AI \cdot (1 - FALM)}{AL} \qquad (133) $$

LYMC (102) :

$$ LYMC = \text{table} \left( \frac{AIPH}{UAGI} \right) \qquad (134) $$

$$ ((0, 1), (40, 3), (80, 4.5), (120, 5), (160, 5.3), (200, 5.6), (240, 5.9), (280, 6.1), (320, 6.35), (360, 6.6), (400, 6.9), (440, 7.2), (480, 7.4), (520, 7.6), (560, 7.8), (600, 8), (640, 8.2), (680, 8.4), (720, 8.6), (760, 8.8), (800, 9), (840, 9.2), (880, 9.4), (920, 9.6), (960, 9.8), (1000, 10)) \qquad (135) $$

LY (103) :

$$ LY = LYF \cdot LFERT \cdot LYMC \cdot LYMAP \qquad (136) $$

LYF (104) :

$$ LYF = \begin{cases} LYF2, & \text{if } TIME \geq PYEAR \\ LYF1, & \text{else} \end{cases} \qquad (137) $$

LYF2 (104.2) :

$$ LYF2 = \text{smooth3}(LYT, TDD) \qquad (138) $$

LYMAP (105) :

$$ LYMAP = \begin{cases} LYMAP2, & \text{if } TIME \geq PYEAR \\ LYMAP1, & \text{else} \end{cases} \qquad (139) $$

LYMAP1 (106) :

$$ LYMAP1 = \text{table} \left( \frac{IO}{IO70} \right) \qquad (140) $$

$$ ((0, 1), (10, 1), (20, 0.7), (30, 0.4)) \qquad (141) $$

LYMAP2 (107) :

$$ LYMAP2 = \text{table} \left( \frac{IO}{IO70} \right) \qquad (142) $$
$$((0, 1), (10, 1), (20, 0.98), (30, 0.95)) \qquad (143)$$

FIALD (108) :

$$FIALD = \text{table} \left( \frac{MPLD}{MPAI} \right) \qquad (144)$$

$$((0, 0), (0.25, 0.05), (0.5, 0.15), (0.75, 0.3), (1, 0.5), (1.25, 0.7), (1.5, 0.85), (1.75, 0.95), (2, 1)) \qquad (145)$$

MPLD (109) :

$$MPLD = \frac{LY}{DCPH} \qquad (146)$$

MPAI (110) :

$$MPAI = \frac{ALAI \cdot LY \cdot MLYMC}{LYMC} \qquad (147)$$

MLYMC (111) :

$$MLYMC = \text{table} \left( \frac{AIPH}{UAGI} \right) \qquad (148)$$

$$((0, 0.075), (40, 0.03), (80, 0.015), (120, 0.011), (160, 0.009), (200, 0.008), (240, 0.007), (280, 0.006), (30, 0.005), (360, 0.005), (400, 0.005), (440, 0.005), (480, 0.005), (520, 0.005), (560, 0.005), (600, 0.005)) \qquad (149)$$

## Constants

<table><thead><tr><th>Name</th><th>ID</th><th>Type</th><th>Value</th><th>Dimension</th></tr></thead><tbody><tr><td>AII</td><td>99.1</td><td>initial value</td><td>5000000000</td><td>$/year</td></tr><tr><td>ALAI1</td><td>100.1</td><td>constant</td><td>2</td><td>year</td></tr><tr><td>ALAI2</td><td>100.2</td><td>constant</td><td>2</td><td>year</td></tr><tr><td>LYF1</td><td>104.1</td><td>constant</td><td>1</td><td>Dmnl</td></tr><tr><td>IO70</td><td>107.2</td><td>constant</td><td>790000000000</td><td>$/year</td></tr><tr><td>SD</td><td>109.1</td><td>constant</td><td>0.07</td><td>1/year</td></tr></tbody></table>

## 4.3 Loop3

ALL (112) :

$$ALL = ALLN \cdot LLMY \qquad (150)$$

LLMY (113) :

$$LLMY = \begin{cases} 0.95 \frac{TIME-LLMYTM}{OY} \cdot LLMY1 + (1 - 0.95 \frac{TIME-LLMYTM}{OY}) \cdot LLMY2, & \text{if } TIME \ge LLMYTM \\ LLMY1, & \text{else} \end{cases} \qquad (151)$$

LLMY1 (114) :

$$LLMY1 = \text{table} \left( \frac{LY}{ILF} \right) \qquad (152)$$

$$((0, 1.2), (1, 1), (2, 0.63), (3, 0.36), (4, 0.16), (5, 0.055), (6, 0.04), (7, 0.025), (8, 0.015), (9, 0.01)) \qquad (153)$$
LLMY2 (115) :

$$LLMY2 = \text{table} \left( \frac{LY}{ILF} \right) \qquad (154)$$

((0, 1.2), (1, 1), (2, 0.63), (3, 0.36), (4, 0.29), (5, 0.26), (6, 0.24), (7, 0.22), (8, 0.21), (9, 0.2)) (155)

LER (116) :

$$LER = \frac{AL}{ALL} \qquad (156)$$

UILPC (117) :

$$UILPC = \text{table} \left( \frac{IOPC}{GDPU} \right) \qquad (157)$$

((0, 0.005), (200, 0.008), (400, 0.015), (600, 0.025), (800, 0.04), (1000, 0.055), (1200, 0.07), (1400, 0.08), (1600, 0.09)) (158)

UILR (118) :

$$UILR = UILPC \cdot POP \qquad (159)$$

LRUI (119) :

$$LRUI = \frac{\text{MAX}(0, UILR - UIL)}{\text{UILDT}} \qquad (160)$$

UIL (120) :

$$\frac{dUIL}{dt} = LRUI \qquad (161)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>ALLN</td><td>112.1</td><td>constant</td><td>1000</td><td>year</td></tr><tr><td>UILDT</td><td>119.1</td><td>constant</td><td>10</td><td>year</td></tr><tr><td>UILI</td><td>120.1</td><td>constant</td><td>8200000</td><td>hectare</td></tr></tbody></table>

## 4.4 Loop4

LFERT (121) :

$$\frac{dLFERT}{dt} = LFR - LFD \qquad (162)$$

LFDR (122) :

$$LFDR = \text{table}(PPOLX) \qquad (163)$$

((0, 0), (10, 0.1), (20, 0.3), (30, 0.5)) (164)

LFD (123) :

$$LFD = LFERT \cdot LFDR \qquad (165)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>LFERTI</td><td>121.2</td><td>initial value</td><td>600</td><td>Veg eq kg/(year*hectare)</td></tr></tbody></table>
## 4.5 Loop 5

LFR (124) :

$$LFR = \frac{ILF - LFERT}{LFERT} \qquad (166)$$

LFRT (125) :

$$LFRT = \text{table}(FALM) \qquad (167)$$

$$((0, 20), (0.02, 13), (0.04, 8), (0.06, 4), (0.08, 2), (0.1, 2)) \qquad (168)$$

FALM (126) :

$$FALM = \text{table}(PFR) \qquad (169)$$

$$((0, 0), (1, 0.04), (2, 0.07), (3, 0.09), (4, 0.1)) \qquad (170)$$

FR (127) :

$$FR = \frac{FPC}{SFPC} \qquad (171)$$

PFR (128) :

$$PFR = \text{smooth}(FR, FSPD) \qquad (172)$$

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>ILF</td><td>124.1</td><td>constant</td><td>600</td><td>Veg eq kg/(year*hectare)</td></tr><tr><td>SFPC</td><td>127.1</td><td>constant</td><td>230</td><td>Veg eq kg/(Person*year)</td></tr><tr><td>PFRI</td><td>128.1</td><td>initial value</td><td>1</td><td>Dmnl</td></tr><tr><td>FSDP</td><td>128.2</td><td>constant</td><td>2</td><td>year</td></tr></tbody></table>

## 5 Resources

NR (129) :

$$\frac{dNR}{dt} = -NRUR \qquad (173)$$

NRUR (130) :

$$NRUR = POP \cdot PCRUM \cdot NRUF \qquad (174)$$

NRUF (131) :

$$NRUF = \begin{cases} NRUF2, & \text{if } TIME \ge PYEAR \\ NRUF1, & \text{else} \end{cases} \qquad (175)$$

NRUF2 (131.2) :

$$NRUF2 = \text{smooth3}(NRTD, TDD) \qquad (176)$$

PCRUM (132) :

$$PCRUM = \text{table}\left(\frac{IOPC}{GDPU}\right) \qquad (177)$$
((0, 0), (200, 0.85), (400, 2.6), (600, 3.4), (800, 3.8), (1000, 4.1), (1200, 4.4), (1400, 4.7), (1600, 5)) (178)

NRFR (133) :

$$NRFR = \frac{NR}{NRI} \qquad (179)$$

FCAOR (134) :

$$FCAOR = \begin{cases} FCAOR2, & \text{if } TIME \geq FCAORTM \\ FCAOR1, & \text{else} \end{cases} \qquad (180)$$

FCAOR1 (135) :

$$FCAOR1 = \text{table}(NRFR) \qquad (181)$$

$$((0, 1), (0.1, 0.9), (0.2, 0.7), (0.3, 0.5), (0.4, 0.2), (0.5, 0.1), (0.6, 0.05), (0.7, 0.05), (0.8, 0.05), (0.9, 0.05), (1, 0.05)) \qquad (182)$$

FCAOR2 (136) :

$$FCAOR2 = \text{table}(NRFR) \qquad (183)$$

$$((0, 1), (0.1, 0.2), (0.2, 0.1), (0.3, 0.05), (0.4, 0.05), (0.5, 0.05), (0.6, 0.05), (0.7, 0.05), (0.8, 0.05), (0.9, 0.05), (1, 0.05)) \qquad (184)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>NRI</td><td>129.2</td><td>initial value</td><td>1000000000000</td><td>Resource units</td></tr><tr><td>NRUF1</td><td>131.1</td><td>constant</td><td>1</td><td>Dmnl</td></tr></tbody></table>

# 6 Pollution

PPGR (137) :

$$PPGR = (PPGIO + PPGAO) \cdot PPGF \qquad (185)$$

PPGF (138) :

$$PPGF = \begin{cases} PPGF2, & \text{if } TIME \geq PYEAR \\ PPGF1, & \text{else} \end{cases} \qquad (186)$$

PPGF2 (138.2) :

$$PPGF2 = \text{smooth3}(PTD, TDD) \qquad (187)$$

PPGIO (139) :

$$PPGIO = PCRUM \cdot POP \cdot FRPM \cdot IMEF \cdot IMTI \qquad (188)$$

PPGAO (140) :

$$PPGAO = AIPH \cdot AL \cdot FIPM \cdot AMTI \qquad (189)$$
PPAPR (141) :

$$PPAPR = \text{delay3}(PPGR, PPTD) \qquad (190)$$

PPOL (142) :

$$\frac{dPPOL}{dt} = PPAR - PPASR \qquad (191)$$

PPOLX (143) :

$$PPOLX = \frac{PPOL}{PPOL70} \qquad (192)$$

PPASR (144) :

$$PPASR = \frac{PPOL}{1.4AHL} \qquad (193)$$

AHLM (145) :

$$AHLM = \text{table}(PPOLX) \qquad (194)$$

$$((1, 1), (251, 11), (501, 21), (751, 31), (1001, 41)) \qquad (195)$$

AHL (146) :

$$AHL = AHL70 \cdot AHLM \qquad (196)$$

## Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>PPGF1</td><td>138.1</td><td>constant</td><td>1</td><td>Dmnl</td></tr><tr><td>FRPM</td><td>139.1</td><td>constant</td><td>0.02</td><td>Dmnl</td></tr><tr><td>IMEF</td><td>139.2</td><td>constant</td><td>0.1</td><td>Dmnl</td></tr><tr><td>IMTI</td><td>139.3</td><td>constant</td><td>10</td><td>Pollution units/Resource unit</td></tr><tr><td>FIPM</td><td>140.1</td><td>constant</td><td>0.001</td><td>Dmnl</td></tr><tr><td>AMTI</td><td>140.2</td><td>constant</td><td>1</td><td>Pollution units/$</td></tr><tr><td>PPTD</td><td>141.1</td><td>constant</td><td>20</td><td>year</td></tr><tr><td>PPOLI</td><td>142.2</td><td>initial value</td><td>25000000</td><td>Pollution units</td></tr><tr><td>PPOL70</td><td>143.1</td><td>constant</td><td>136000000</td><td>Pollution units</td></tr><tr><td>AHL70</td><td>146.1</td><td>constant</td><td>1.5</td><td>year</td></tr></tbody></table>

# 7 Supplementary

FOA (147) :

$$FOA = \frac{POF \cdot F}{POF \cdot F + SO + IO} \qquad (197)$$

FOI (148) :

$$FOI = \frac{IO}{POF \cdot F + SO + IO} \qquad (198)$$

FOS (149) :

$$FOS = \frac{SO}{POF \cdot F + SO + IO} \qquad (199)$$
# 8 Control 70

PLTPER (151) :

$$PLTPER = \text{step}(PLP, PLIT) \qquad (200)$$

PRTPER (152) :

$$PRTPER = \text{STEP}(PRP, PLIT) + \text{STEP}(-PRP, PRTT) \qquad (201)$$

Constants

<table><thead><tr><th>Name</th><th>ID</th><th>Type</th><th>Value</th><th>Dimension</th></tr></thead><tbody><tr><td>PYEAR</td><td>150.1</td><td>constant</td><td>1995</td><td>year</td></tr><tr><td>TIME</td><td>150.2</td><td>initial value</td><td>1900</td><td>year</td></tr><tr><td>PLP</td><td>151.1</td><td>constant</td><td>5</td><td>year</td></tr><tr><td>PLIT</td><td>151.2</td><td>constant</td><td>1900</td><td>year</td></tr><tr><td>PRP</td><td>151.3</td><td>constant</td><td>0</td><td>years</td></tr><tr><td>PRIT</td><td>152.1</td><td>constant</td><td>1900</td><td>year</td></tr><tr><td>PRTT</td><td>152.2</td><td>constant</td><td>2100</td><td>year</td></tr></tbody></table>

# 9 Sup 72 91 03

## 9.1 Pollution

PTD (-) :

$$\frac{dPTD}{dt} = PTDR \qquad (202)$$

PTDR (-) :

$$PTDR = \begin{cases} PTD \cdot POLGFM, & \text{if } TIME \geq PYEAR \\ 0, & \text{else} \end{cases} \qquad (203)$$

POLGFM (-) :

$$POLGFM = \text{table}\left(1 - \frac{PPOLX}{DPOLX}\right) \qquad (204)$$

$$((-1, 0), (0, 0)) \qquad (205)$$

COPM (-) :

$$COPM = \text{table}(PPGF) \qquad (206)$$

$$((0, 1.25), (0.1, 1.2), (0.2, 1.15), (0.3, 1.11), (0.4, 1.08), (0.5, 1.05), (0.6, 1.03), (0.7, 1.02), (0.8, 1.01), (0.9, 1), (1, 1)) \qquad (207)$$

Constants

<table><thead><tr><th>Name</th><th>ID</th><th>Type</th><th>Value</th><th>Dimension</th></tr></thead><tbody><tr><td>DPOLX</td><td>-</td><td>constant</td><td>1.2</td><td>Dmnl</td></tr></tbody></table>
## 9.2 Agriculture

LYTD (-) :

$$ \frac{dLYTD}{dt} = LYTDR \qquad (208) $$

LYTDR (-) :

$$ LYTDR = \begin{cases} LYTD \cdot LYCM, & \text{if } TIME \geq PYEAR \\ 0, & \text{else} \end{cases} \qquad (209) $$

LYCM (-) :

$$ LYCM = \text{table}(DFR - FR) \qquad (210) $$

$$ ((0,0), (1,0)) \qquad (211) $$

COYM (-) :

$$ COYM = \text{table}(LYF) \qquad (212) $$

$$ (((1,0.8) - (2,2]), (1,1), (1.2,1.05), (1.4,1.12), (1.6,1.25), (1.8,1.35), (2,1.5)) \qquad (213) $$

## 9.3 Resources

NRTD (-) :

$$ \frac{dNRTD}{dt} = NRATE \qquad (214) $$

NRATE (-) :

$$ NRATE = \begin{cases} NRTD \cdot NRCM, & \text{if } TIME \geq PYEAR \\ 0, & \text{else} \end{cases} \qquad (215) $$

NRCM (-) :

$$ NRCM = \text{table}\left(1 - \frac{NRUR}{DNRUR}\right) \qquad (216) $$

$$ ((-1,0), (0,0)) \qquad (217) $$

ICOR2T (-) :

$$ ICOR2T = \text{table}(NRUF) \qquad (218) $$

$$ (((0,3.75), (0.1,3.6), (0.2,3.47), (0.3,3.36), (0.4,3.25), (0.5,3.16), (0.6,3.1), (0.7,3.06), (0.8,3.02), (0.9,3.01), (1,3)) \qquad (219) $$

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>DNRUR</td><td>-</td><td>constant</td><td>4800000000</td><td>Resource units/year</td></tr></tbody></table>
# 10 Update 1991

## 10.1 Not defined

RESINT () :

$$ RESINT = \frac{NRUR}{IO} \qquad (220) $$

PLINID () :

$$ PLINID = \frac{PPGIO \cdot PPGF}{IO} \qquad (221) $$

CIO () :

$$ CIO = IO \cdot FIOAC \qquad (222) $$

CIOPC () :

$$ CIOPC = \frac{CIO}{POP} \qquad (223) $$

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>FCAORTM</td><td></td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>LLMYTM</td><td></td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>ARPTM</td><td></td><td>constant</td><td>4000</td><td>year</td></tr><tr><td>DFR</td><td></td><td>constant</td><td>2</td><td>Dmnl</td></tr><tr><td>TDD</td><td></td><td>constant</td><td>20</td><td>year</td></tr></tbody></table>

## 10.2 Control

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>POF</td><td></td><td>constant</td><td>0.22</td><td>$/Veg equiv kg</td></tr><tr><td>TH</td><td></td><td>constant</td><td>1000</td><td>C</td></tr><tr><td>TS</td><td></td><td>constant</td><td>0.5</td><td>year</td></tr><tr><td>FT</td><td></td><td>constant</td><td>2100</td><td>year</td></tr><tr><td>IT</td><td></td><td>constant</td><td>1900</td><td>year</td></tr><tr><td>SP</td><td></td><td>constant</td><td>TS</td><td>year</td></tr></tbody></table>

# 11 Update 2003

## 11.1 Human Welfare Index

HWI () :

$$ HWI = \frac{LEI + EI + GDPI}{3} \qquad (224) $$

LEI () :

$$ LEI = \text{table} \left( \frac{LE}{OY} \right) \qquad (225) $$

$$ ((25, 0), (35, 0.16), (45, 0.33), (55, 0.5), (65, 0.67), (75, 0.84), (85, 1)) \qquad (226) $$
EI () :

$$EI = \text{table}\left(\frac{\text{GDPPC}}{\text{GDPU}}\right) \qquad (227)$$

$$((0,0), (1000, 0.81), (2000, 0.88), (3000, 0.92), (4000, 0.95), (5000, 0.98), (6000, 0.99), (7000, 1)) \qquad (228)$$

GDPI () :

$$GDPI = \frac{\ln(\frac{\text{GDPPC}}{\text{RLGDP}}, 10)}{\ln(\frac{\text{RHGDP}}{\text{RLGDP}})} \qquad (229)$$

GDPPC () :

$$GDPPC = \text{table}\left(\frac{\text{IOPC}}{\text{GDPU}}\right) \qquad (230)$$

$$((0, 120), (200, 600), (400, 1200), (600, 1800), (800, 2500), (1000, 3200)) \qquad (231)$$

## 11.2 Human Ecological Footprint

HEF () :

$$HEF = \frac{ALGGHA + ULGHA + ALGHA}{TL} \qquad (232)$$

ALGHA () :

$$ALGHA = \frac{PPGR \cdot HUP}{HGHA} \qquad (233)$$

ALGGHA () :

$$ALGGHA = \frac{AL}{HGHA} \qquad (234)$$

ULGHA () :

$$ULGHA = \frac{UIL}{HGHA} \qquad (235)$$

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>HUP</td><td></td><td>constant</td><td>4</td><td>hectares/(Pollution units/year)</td></tr></tbody></table>

## 11.3 Units

### Constants

<table><thead><tr><td>Name</td><td>ID</td><td>Type</td><td>Value</td><td>Dimension</td></tr></thead><tbody><tr><td>RHGDP</td><td></td><td>constant</td><td>9508</td><td>$(/year*Person)</td></tr><tr><td>RLGDP</td><td></td><td>constant</td><td>24</td><td>$(/year*Person)</td></tr><tr><td>TL</td><td></td><td>constant</td><td>1.91</td><td>Ghectares</td></tr><tr><td>HGHA</td><td></td><td>constant</td><td>1000000000</td><td>hectare/Ghectare</td></tr><tr><td>OY</td><td></td><td>constant</td><td>1</td><td>year</td></tr><tr><td>UAGI</td><td></td><td>constant</td><td>1</td><td>$(/hectare/year)</td></tr><tr><td>UP</td><td></td><td>constant</td><td>1</td><td>Person</td></tr><tr><td>GDPU</td><td></td><td>constant</td><td>1</td><td>$(/Person/year)</td></tr></tbody></table>
# 12 Fonctions de lissage

* smooth

$$Y = SMOOTH(VAL, DT)$$

⇔

$$Y_t = Y_{t-1} + \frac{VAL_{t-1} - Y_{t-1}}{DT} \times TS \text{ avec } Y_0 = VAL_0$$

* smoothi

$$Y = SMOOTHI(VAL, DT, INIT)$$

⇔

$$Y_t = Y_{t-1} + \frac{VAL_{t-1} - Y_{t-1}}{DT} \text{ avec } Y_0 = INIT$$

* smooth3

$$Y = SMOOTH3(VAL, DT)$$

⇔

$$Y_t = Y_{t-1} + \frac{I1_{t-1} - Y_{t-1}}{DL} \times TS \text{ avec } Y_0 = VAL_0$$

$$I1_t = I1_{t-1} + \frac{I2_{t-1} - I1_{t-1}}{DL} \times TS \text{ avec } I1_0 = VAL_0$$

$$I2_t = I2_{t-1} + \frac{VAL_{t-1} - I2_{t-1}}{DL} \times TS \text{ avec } I2_0 = VAL_0$$

$$DL = \frac{DT}{3}$$

* delay3

$$Y = DELAY3(VAL, DT)$$

⇔

$$Y_t = \frac{I1_t}{DL}$$

$$I1_t = I1_{t-1} + (RT2_{t-1} - I1_{t-1}) \times TS \text{ avec } I1_0 = DL \times VAL_0$$

$$RT2_t = \frac{I2_t}{DL}$$

$$I2_t = I2_{t-1} + (RT3_{t-1} - I2_{t-1}) \times TS \text{ avec } I2_0 = I1_0$$

$$RT3_t = \frac{I3_t}{DL}$$

$$I3_t = I3_{t-1} + (VAL_{t-1} - I3_{t-1}) \times TS \text{ avec } I3_0 = I1_0$$

$$DL = \frac{DT}{3}$$
<figure><img src="image_16.png" /><figcaption>Figure 7-1 DYNAMO diagram of the world model</figcaption></figure>