Section 5.4: Un premier exemple : un modèle simpliste de prédateur–proie Up Chapitre 5: Développer un MMA avec NetLogo Section 5.6: Outils d’expérimentation dans et autour NetLogo 

5.5figure logo-cle—mollette.png Application : Dynamiques des stratégies dans l’oligopole de Cournot

Votre mission dans cette application pratique est de développer un MMA représentant un oligopole de Cournot [Cournot, 1838] [U]  [U] https://gallica.bnf.fr/ark:/12148/bpt6k6117257c/, en NetLogo, où vous aller pouvoir étudier la dynamique des stratégies de niveau de production des firmes et les résultats agrégés de cette dynamique en termes de prix de marché, concentration et convergence ou non vers un état particulier de ce marché (peut-être l’équilibre de Cournot-Nash). Nous allons garder le modèle très simple et je vais vous guider dans votre démarche.

5.5.1 Description des éléments du modèle

Le modèle de Cournot représente le fonctionnement de la concurrence entre producteurs participant au marché d’un bien homogène. La demande des consommateurs pour ce bien peut-être représentée par une fonction de demande inverse à la Marshall : représente le prix auquel les consommateurs vont acheter les quantités produites par les firmes , et sont des paramètres de cette fonction linéaire. Nous allons fixer la valeur de ces paramètres de la manière suivante dans la configuration de base : (*) .
Nous allons supposer qu’il y ait nbFirmes (*) firmes dans cet oligopole et la fonction de chacune de ces firmes sera donnée par : est la quantité individuelle produite par chaque firme, F, et , des paramètres (*) . Nous adopterons les valeurs suivantes pour ces paramètres dans la configuration de base : .
Sur ce marché, chaque firme doit décider la quantité qu’elle va produire à chaque période et le prix de marché de la période va résulter de la confrontation de cette offre totale avec la demande des consommateurs. Dans ce contexte, trois états de ce marché se distinguent des autres, du fait de leurs propriétés intéressantes : l’équilibre de Cournot (C) correspondant à l’équilibre de Nash non-coopératif de ce marché, dont aucune firme n’a intérêt à s’éloigner seule ; la solution de concurrence parfaite (W) qui est l’optimum de Pareto qui maximise le bien-être social ; la solution coopérative (CS, le cartel) qui est l’optimum social des firmes où elles obtiennent collectivement le profit de monopole (mais la pire situation pour les consommateurs bien sûr). Nous pouvons facilement déterminer les caractéristiques de ces solutions :
Nous pouvons aussi facilement calculer les profits des firmes dans chacun des états, en utilisant la définition habituelle de la fonction du profit : .
La question que nous allons étudier ici est la suivante : Est-ce que la dynamique des stratégies de production des firmes et des prix qui en résultent converge vers un état particulier du marché et si oui, lequel?
Nous n’avons encore rien dit sur la manière dont les firmes vont choisir leur quantité et bien sûr, la dynamique de leur stratégies et son résultat risque de dépendre très fortement de ce comportement. Nous allons supposer que les quantités initiales des firmes sont tirées uniformément dans un intervalle donné : . A la fin de chaque période chaque firme va observer les quantités produites par ses concurrents et en supposant qu’ils vont reproduire leur production (conjectures de Cournot), elle va décider de produire la quantité qui devrait maximiser son profit de la période suivante dans ce cas (sa meilleure réponse ou sa réaction). Les quantités suivront donc les meilleures réponses des firmes et nous devrions observer une dynamique de type Cobwebb sur ce marché. Est-ce que cette dynamique convergera vers un état particulier (et notamment, vers )?
Apprentissage par meilleure réponse : Chaque firme produit pour la période sa réaction à la production totale de ses concurrents en période , en supposant qu’ils vont produire les mêmes quantités aussi en : représente la quantité totale des tous les concurrents de et la production de . Cette réaction correspond au niveau de production suivant pour :
Les éléments suivis par (*) devront être fixés dans l’interface graphique du modèle. Les paramètres de demande et de coût pourraient aussi être fixés dans l’interface pour faciliter les expériences avec ces paramètres.

5.5.2 Le programme NetLogo

La logique du programme pourrait suivre le déroulement suivant :
  1. L’utilisateur choisit dans l’interface les valeurs des paramètres;
  2. Le programme initialise les autres variables globales (déclarées dans la partie Code), crée et initialise les firmes (fixe aussi leur quantité initiale en suivant l’allocation aléatoire ci-dessus), calcule les valeurs des variables-clé correspondant aux trois solutions à partir des valeurs des paramètres fixées dans l’interface (la procédure setup);
  3. A chaque période (la procédure go) :
    1. le marché se réalise et le prix de marché de la période est déterminé, ainsi que les profits qui en résultent pour les firmes;
    2. le temps avance d’une période (et les résultats et les graphiques sont actualisés dans l’interface);
    3. chaque firme choisit la quantité qu’elle va utiliser dans la période à laquelle on vient de passer (et on recommence en (3.a), grâce à la répétition de la procédure go);
L’interface graphique du modèle devrait contenir dans ce cas :
Le code devrait de son coté contenir :

5.5.3 Expériences

Ce modèle étant assez simple, vous pouvez étudier le rôle de la structure de l’industrie dans ses dynamiques et dans sa convergence vers un état particulier le cas échéant (notamment vers l’équilibre de Cournot). Vous allez observer que ces dynamiques sont très sensibles au nombre de firmes, en faisant varier ce nombre, à partir de .
Instructions NetLogo à consulter dans le Dictionnaire : clear-all, reset-ticks, set, let, breed, turtles-own, create-turtles, ifelse, tick, max-one-of, random-float, random-normal, report.

5.5.4 Une extension possible : La prise en compte de l’apprentissage social

Nous pouvons inclure une autre manière dont les firmes peuvent ajuster leur stratégie : l’apprentissage sociale où l’apprentissage de la firme provient de l’observation des stratégies des autres firmes et de l’imitation de la stratégie de quantité utilisée par le concurrent qui a eu le plus de succès (le profit le plus élevé) à la période précédente. La firme utilise alors en la quantité utilisée par ce concurrent en . Si ce profit maximal a été obtenu par plusieurs firmes, alors la firme choisit au hasard le concurrent dont elle va imiter le comportement. La firme recourt à l’imitation à chaque période avec une probabilité probImitate (*). Par ailleurs, la firme fait aussi des expériences personnelles aléatoires, en ajustant aléatoirement son niveau de production à la marge : elle adopte un nouveau niveau de production , tiré d’une distribution Normale tronquée est la quantité moyenne des firmes à la période précédente, stdMut (*) l’écart-type de la distribution normale et pour rester à l’intérieur de cet intervalle. Cette expérimentation aléatoire est effectuée par chaque firme à chaque période, avec une probabilité probMutate (*). Vous trouveriez dans [54] des informations et des résultats plus complets sur cette question. Il faudrait aussi inclure un sélecteur (chooser) dans l’interface graphique, permettant de choisir le type d’apprentissage entre «meilleureReponse» et «appSocial». Ce choix doit être utilisé dans le code pour déterminer la règle d’apprentissage que les firmes doivent utiliser dans l’étape 5.5.2↑ ci-dessus. Il faudrait aussi un curseur pour probImitate, un pour probMutate et un pour stdMut.
Vous pouvez explorer dans vos expériences avec ce cas le rôle des paramètres du processus d’apprentissage des firmes, notamment probImitate et probMutate.
Une fois votre mission exécutée, vous pouvez consulter les fichiers Netlogo complets de ces applications à partir du site web dédié à cet ouvrage.

 Section 5.4: Un premier exemple : un modèle simpliste de prédateur–proie Up Chapitre 5: Développer un MMA avec NetLogo Section 5.6: Outils d’expérimentation dans et autour NetLogo 
Sommaire
(c) Murat Yildizoglu, 2021-