NashOpt -- A Python Library for Computing Generalized Nash Equilibria

NashOpt est une bibliothèque Python open-source qui calcule et conçoit des équilibres de Nash généralisés dans des jeux non coopératifs à contraintes partagées en exploitant les conditions KKT conjointes, en utilisant JAX pour les jeux non linéaires et la programmation linéaire en nombres mixtes pour les jeux linéaires-quadratiques, tout en supportant des problèmes de conception de jeux inverses et de Stackelberg.

Alberto Bemporad

Publié 2026-03-10
📖 5 min de lecture🧠 Analyse approfondie

Each language version is independently generated for its own context, not a direct translation.

🎮 NashOpt : Le "Coach" qui aide les joueurs à trouver un accord parfait

Imaginez un grand jeu de société où plusieurs joueurs (des voitures, des entreprises, ou des producteurs d'électricité) doivent prendre des décisions en même temps. Le problème ? Chaque joueur veut gagner son propre match, mais ils sont tous contraints par les mêmes règles du terrain (comme la capacité d'une route ou la bande passante d'internet).

C'est ce qu'on appelle un jeu non coopératif. L'objectif de ce papier est de présenter NashOpt, un nouveau logiciel (une boîte à outils en Python) qui aide à trouver le moment précis où personne n'a plus intérêt à changer sa décision. On appelle cela un Équilibre de Nash Généralisé.

Voici comment ça marche, expliqué avec des analogies du quotidien :

1. Le Problème : Le chaos sur l'autoroute 🚗

Imaginez une autoroute saturée.

  • Le joueur A veut aller vite.
  • Le joueur B veut économiser du carburant.
  • Le joueur C veut éviter les péages.

Ils ont tous des objectifs différents, mais ils partagent la même route (la contrainte). Si le joueur A accélère trop, il bloque le joueur B. Si le joueur B freine trop, il gêne le joueur C.
L'Équilibre de Nash, c'est l'état de la circulation où, si chacun regarde autour de lui, personne ne pense : "Tiens, si je changeais ma vitesse, je serais mieux ?". Tout le monde est bloqué dans une situation stable, même si ce n'est pas l'idéal pour tout le monde.

2. La Solution : NashOpt, le super-calculateur 🧠

Avant, trouver cet équilibre était comme essayer de résoudre un casse-tête géant avec les yeux bandés. C'était lent et compliqué, surtout si les règles étaient complexes (non-linéaires).

NashOpt change la donne avec deux approches magiques :

  • Pour les jeux complexes (la "Recette de Cuisine") :
    Si les règles du jeu sont très compliquées (comme une recette de gâteau avec des ingrédients qui réagissent bizarrement entre eux), NashOpt utilise une technologie appelée JAX (un super-cerveau mathématique). Il transforme le problème en une équation de "chasse aux erreurs". Il dit : "Essaie une décision, calcule l'erreur, corrige-la, et recommence très vite". Grâce à la puissance des ordinateurs modernes, il trouve la solution en quelques millisecondes.

  • Pour les jeux simples et carrés (le "Lego") :
    Si les règles sont simples et linéaires (comme empiler des cubes), NashOpt utilise une méthode différente. Il transforme le problème en un puzzle mathématique précis (un programme linéaire mixte en nombres entiers). C'est comme si on disait à un robot : "Trouve-moi toutes les façons possibles d'empiler ces cubes sans qu'ils tombent".
    L'avantage ? Il peut trouver plusieurs équilibres différents pour le même jeu. Parfois, il y a plusieurs façons de s'entendre, et NashOpt vous montre toutes les options !

3. Les Super-Pouvoirs de NashOpt 🦸‍♂️

Le papier montre que ce logiciel ne sert pas juste à observer, mais aussi à concevoir le jeu :

  • L'Enquêteur (Jeu Inverse) :
    Imaginez que vous voyez une situation idéale (par exemple, tout le monde arrive à l'heure au travail sans embouteillage). Vous vous demandez : "Quelles règles du jeu faudrait-il mettre en place pour que cela arrive ?". NashOpt peut remonter le temps mathématiquement pour trouver les paramètres (les prix, les taxes, les limites) qui créent cet équilibre parfait.

  • Le Chef d'Orchestre (Jeux de Stackelberg) :
    Imaginez un chef (l'État ou une entreprise leader) qui fixe les règles, et des joueurs qui réagissent. NashOpt aide le chef à choisir les meilleures règles pour que les joueurs, en cherchant leur propre intérêt, finissent par faire ce que le chef souhaite (comme réduire la pollution sans que personne ne s'en rende compte).

  • Le Contrôle de Trafic (LQR et MPC) :
    Le papier applique cela à la réalité :

    • LQR : Comme des voitures autonomes qui ajustent leur vitesse pour ne pas se percuter, chacune pour son propre compte, mais en trouvant un rythme commun.
    • MPC : Comme un gestionnaire de réseau électrique qui doit répartir l'énergie entre plusieurs usines. NashOpt calcule comment chaque usine doit agir pour que le réseau reste stable, même si chaque usine essaie de maximiser son profit.

4. Pourquoi c'est génial ? ✨

  • C'est gratuit et ouvert : C'est comme un Lego dont tout le monde peut prendre les pièces pour construire ses propres jeux.
  • C'est rapide : Grâce à l'intelligence artificielle moderne (JAX), ce qui prenait des heures prend quelques secondes.
  • C'est flexible : Que vous soyez un économiste, un ingénieur en robotique ou un urbaniste, vous pouvez utiliser cet outil pour prédire comment les gens vont réagir dans un système partagé.

En résumé 🎯

NashOpt, c'est comme avoir un GPS pour les décisions humaines. Au lieu de vous dire "tournez à gauche", il vous dit : "Voici le moment exact où tout le monde est d'accord, ou voici les règles à changer pour que tout le monde soit d'accord."

C'est un outil puissant pour transformer le chaos des interactions humaines et économiques en une danse coordonnée, que ce soit pour gérer le trafic, l'énergie ou les marchés financiers.