FR 3159848 A1 20250905 FR 2402171 A 20240304 L’invention concerne une technique d’optimisation d’une programmation de production d’énergie électrique par un parc de production électrique comprenant une pluralité d’unités de production. Un système multi-agents (23), généré à partir d’une représentation formelle (10) dudit parc de production, construite à partir d’une ontologie (11) et d’un graphe de connaissances (12), simule, à partir d’une consigne (16) de production reçue, une production de puissance électrique par lesdites unités de production et génère, pour une période de référence, un programme de production d’énergie électrique optimisé, comprenant une consigne de production (18) ajustée en fonction de la production de puissance électrique simulée pour lesdites unités de production et tenant compte d’états de fonctionnement et de valeurs représentatives des paramètres de fonctionnement spécifiques à chacune et mises à jour (17) dans ladite représentation formelle. Figure de l’abrégé : Figure 1 Optimisation d’une programmation de production d’énergie électrique par un parc de production électrique La présente divulgation relève du domaine de la gestion et de l’optimisation des systèmes énergétiques, et plus particulièrement de l’optimisation de la production d’énergie électrique par un parc de production comprenant plusieurs centrales, telles que des centrales hydrauliques, des centrales thermiques ou encore des centrales nucléaires. Au cours de ces dernières années, le secteur énergétique a connu une transformation significative, caractérisée par la décentralisation de la production et une migration substantielle des modes de production d'électricité vers les sources d'énergie renouvelable, impliquant une pluralité d'acteurs. De plus, les centrales électriques sont de plus en plus vulnérables aux aléas climatiques, qui évoluent fréquemment. Par exemple, lorsqu'il fait trop chaud, certaines centrales nucléaires sont contraintes de suspendre leur production, ce qui peut nécessiter, pour le gestionnaire du réseau, une reprogrammation de la demande de production dans les autres centrales électriques dans la même vallée pour être en mesure de répondre aux besoins (ex : une augmentation de la capacité de production et de stockage de l’eau au sein de centrales hydrauliques situées en amont ou en aval de la centrale nucléaire). Ce passage vers un système énergétique complexe et décentralisé pose des défis croissants en matière de gestion de l'équilibre entre l'offre et la demande sur les réseaux électriques, ainsi que dans la conception d'algorithmes de gestion et d'optimisation adaptés pour les entreprises du secteur énergétique. Le modèle actuel de prévision et de programmation de la production électrique est fondé sur une approche mathématique qui suppose une homogénéité des différentes centrales de production. Cependant, il ne répond plus adéquatement à la réalité actuelle du secteur électrique, telle que décrite ci-dessus. En effet, ce modèle mathématique global repose sur l’existence de plusieurs modèles de production, associés chacun à un type d’unité de production, par exemple un modèle pour les centrales nucléaires, un modèle pour les centrales thermiques et un modèle pour les centrales hydrauliques. Cependant, ces modèles ne tiennent pas compte des contraintes locales affectant chacune des centrales (par exemple, une contrainte météorologique ou une contrainte technique structurelle de la centrale), et ne tiennent pas non plus compte de contraintes régionales, liées par exemple aux interactions entre centrales découlant de leur localisation géographique. Pour résoudre cet inconvénient, le Demandeur a dans un premier temps tenté d’ajuster les algorithmes existants de création de programmes d’appel de production électrique à destination des centrales, en intégrant, dans les équations mathématiques qui sous-tendent leur fonctionnement, des valeurs fictives destinées à représenter les caractéristiques spécifiques de chaque centrale. On rappelle qu’un programme d’appel contient la chronique de puissance active d’une source de production d’énergie électrique pour une journée J+1, et contient donc les plages horaires de production et les niveaux de puissance souhaités au cours de chacune de ces plages pour une source de production, pour cette journée J+1. Néanmoins, malgré ces tentatives d'ajustement numérique, l'approche demeure globale et ne parvient pas à adresser de manière exhaustive les contraintes locales et hétérogènes propres à chaque centrale. Cela se traduit souvent par un décalage entre les programmes d'appel et la capacité réelle de production dans un parc, exigeant des ajustements fréquents au cours de la journée. En outre, à ce jour, ces algorithmes de création de programmes d’appel sont conçus pour un type de centrale donné. Dans un parc de production électrique comprenant des centrales de différents types, la coordination entre ces diverses productions nécessite donc, pour le gestionnaire du parc, la consultation de plusieurs systèmes de création de programmes d’appel distincts. Il existe donc un besoin d’une technique d’optimisation de la programmation de production d’énergie électrique au sein d’un parc de production multi-filières (hydraulique, thermique, nucléaire, etc.), qui soit intégrée au sein d’un système unique, et permette de tenir compte des contraintes de production propres à chaque centrale du parc. Il existe également un besoin d’une telle technique qui soit évolutive, et puisse s’adapter dynamiquement aux modifications du comportement du parc de production en cas d’évolution. Résumé La présente divulgation vient améliorer la situation. Il est proposé un procédé d’optimisation d’une programmation de production d’énergie électrique par un parc de production électrique comprenant une pluralité d’unités de production, comprenant : une réception d’un programme de production d’énergie électrique, comprenant une consigne de production de puissance électrique pour les unités de production pour une période de référence ; une simulation, à partir de la consigne de production, d’une production de puissance électrique par les unités de production, mise en œuvre par un système multi-agents modélisant le parc, le système multi-agents étant généré à partir d’une représentation formelle du parc de production, construite à partir d’une ontologie et d’un graphe de connaissances comprenant un ensemble de nœuds représentant chacun un élément d’une des unités de production, et un ensemble d’arêtes représentant chacune une relation fonctionnelle entre deux nœuds qu’elles relient, la représentation formelle étant mise à jour : selon un pas de temps déterminé, à partir de valeurs représentatives de paramètres de fonctionnement des nœuds, reçues de capteurs disposés dans le parc ; à la volée, en cas de changement affectant au moins un état de fonctionnement d’un des nœuds ; une génération, pour la période de référence, d’un programme de production d’énergie électrique optimisé, comprenant une consigne de production ajustée en fonction de la production de puissance électrique simulée pour les unités de production et tenant compte des états de fonctionnement et des valeurs représentatives des paramètres de fonctionnement mises à jour dans la représentation formelle. Selon un autre aspect, il est proposé un système d’optimisation d’une programmation de production d’énergie électrique par un parc de production électrique comprenant une pluralité d’unités de production, comprenant : un module de communication configuré pour : recevoir un programme de production d’énergie électrique, comprenant une consigne de production de puissance électrique pour les unités de production pour une période de référence ; envoyer, aux unités de production, une consigne de production ajustée d’un programme de production d’énergie électrique optimisé pour la période de référence ; une base de données sémantique configurée pour stocker une représentation formelle du parc, construite à partir d’une ontologie et d’un graphe de connaissances comprenant un ensemble de nœuds représentant chacun un élément d’une des unités de production, et un ensemble d’arêtes représentant chacune une relation fonctionnelle entre deux nœuds qu’elles relient ; un ensemble de capteurs configurés pour fournir, selon un pas de temps déterminé, des valeurs représentatives de paramètres de fonctionnement des nœuds, destinées à alimenter la représentation formelle ; une interface homme-machine configurée pour permettre la mise à jour de la représentation formelle en cas de changement affectant au moins un état de fonctionnement d’un des nœuds ; un système multi-agents modélisant le parc, généré à partir de la représentation formelle, et configuré pour simuler, à partir de la consigne de production, une production de puissance électrique par les unités de production, le système multi-agents comprenant une entité centrale de programmation configurée pour générer, pour la période de référence, le programme de production d’énergie électrique optimisé, comprenant la consigne de production ajustée en fonction de la production de puissance électrique simulée pour les unités de production et tenant compte des états de fonctionnement et des valeurs représentatives des paramètres de fonctionnement mises à jour dans la représentation formelle. Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie d’un procédé tel que défini dans les présentes lorsque ce programme est exécuté par un processeur. Selon un autre aspect, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme. Les caractéristiques exposées dans les paragraphes suivants peuvent, optionnellement, être mises en œuvre, indépendamment les unes des autres ou en combinaison les unes avec les autres : Un tel procédé d’optimisation comprend également un envoi, auxdites unités de production, de la consigne de production ajustée du programme de production d’énergie électrique optimisé pour la période de référence. Un tel procédé d’optimisation comprend également une restitution sur une interface homme-machine de la production de puissance électrique simulée et/ou du programme de production d’énergie électrique optimisé généré. Le parc comprend au moins deux unités de production appartenant au groupe comprenant : - les centrales hydrauliques ; - les centrales thermiques ; - les centrales nucléaires ; - les sources d’énergie photovoltaïques ; - les sources d’énergie éoliennes ; - les sources d’énergie hydroliennes ; - les stations de pompages hydrauliques ; - les batteries. Les nœuds du graphe de connaissances représentent des éléments appartenant au groupe comprenant : - des réservoirs d’eau ; - des stations de pompage ; - des installations de production ; - des générateurs de production (i.e., des turbines ou des alternateurs) ; - des auxiliaires de production (i.e., des sources de production internes permettant d’apporter une puissance initiale au lancement du processus de production). Les paramètres de fonctionnement appartiennent au groupe comprenant : - un volume d’eau stocké ; - une plage de débit d’eau exigé en entrée ; - un débit d’eau en sortie ; - une puissance électrique produite ; - une plage de température d’eau en entrée ; - une puissance électrique demandée ; - une plage de puissance maximale disponible ; - une durée minimale de palier haut ; - une durée minimale de palier bas ; - un type de point de fonctionnement ; - un état de système (i.e. un positionnement de la centrale dans les différents mécanismes de réglage pour le gestionnaire du réseau de transport d’électricité, tels que réglage fréquence, puissance ou réserve) ; - un type de combustible (par exemple, fuel, nucléaire, cycle combiné gaz (ccg), charbon, gaz bicombustible, …) ; - une puissance de gaz demandée. Les états de fonctionnement appartiennent au groupe comprenant : - un état de fonctionnement actif ; - un état de panne ; - un état d’arrêt ; - un état de consommation électrique. La consigne de production de puissance électrique tient compte d’une prévision de consommation électrique. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. 1 FIG. 1 présente un schéma synoptique d’un système d’optimisation de programmation de production électrique d’un parc de production selon un mode de réalisation. Fig. 2 FIG. 2 montre sous forme synoptique les étapes de construction d’une représentation formelle du parc de production et de génération d’un système de simulation multi-agents compris dans le système d’optimisation de la FIG. 1 selon un mode de réalisation. Fig. 3 FIG. 3 détaille les étapes de génération automatique d’un code SMA de la FIG. 2 à partir de trois objets programmatifs selon un mode de réalisation. Fig. 4 FIG. 4 présente un exemple de reproduction graphique d’un parc de production électrique d’une vallée hydraulique sur l’interface du système de la FIG. 1 selon un mode de réalisation. Fig. 5 FIG. 5 illustre la représentation formelle du parc de production de la FIG. 4 et le mapping de différentes classes de l’ontologie en classes Java selon un mode de réalisation. Fig. 6 FIG. 6 montre un exemple de comportement d’un agent d’un système de simulation multi-agents selon un mode de réalisation. Fig. 7 FIG. 7 illustre des interactions entre agents d’un système de simulation multi-agents du parc de la FIG. 4 selon un mode de réalisation. Le principe général de l’invention repose sur la conception d’un système d’optimisation de la programmation de production pour un parc de production électrique, fondé sur l’utilisation combinée d’un système multi-agents et de graphes de connaissance représentatifs du fonctionnement des centrales du parc, et sur l’utilisation d’un tel système pour optimiser la programmation de production d’électricité du parc. Un tel système permet avantageusement de simuler le fonctionnement du parc de production électrique, en tenant compte en temps réel des contraintes de production propres à chaque centrale, quel que soit son type (hydraulique, nucléaire, thermique, photovoltaïque…), et ainsi d’optimiser les programmes de production d’électricité, dans une approche intégrée et multi-filière. On considère ci-après un parc de production électrique, comprenant un ensemble de centrales électriques de différents types ou de même type. On rappelle qu’une centrale électrique est un site industriel destiné à la production d’électricité, et qui alimente en électricité, au moyen du réseau électrique, les consommateurs, particuliers ou industriels, éloignés de la centrale. La production d’électricité y est assurée par la conversion en énergie électrique d’une énergie primaire qui peut être mécanique (force du vent, force de l’eau des rivières, des marées…), chimique (combustion d’énergies fossiles ou de biomasse), nucléaire ou encore solaire. Ainsi, le parc de production peut comprendre par exemple une ou plusieurs centrales hydrauliques, une ou plusieurs centrales thermiques, ou encore une ou plusieurs centrales nucléaires ou sources de production photovoltaïque. Dans l’ensemble de ce document, on désignera indifféremment de tels sites de production électriques par les termes de centrale, de source, ou encore d’unité de production. On décrit tout d’abord, en relation avec la FIG. 1 , le schéma synoptique général d’un tel système selon un mode de réalisation. Un tel système comprend une base de données, dans laquelle est maintenue à jour une représentation formelle notée KR et référencée 10 du parc de production électrique considéré. Comme on le verra plus en détail par la suite en relation avec les figures 2 et 3, cette représentation formelle KR 10 est construite à partir d’une ontologie référencée 11 et d’un graphe de connaissances référencé 12. Elle est mise à jour de manière régulière : - d’une part, à partir de valeurs de paramètres de fonctionnement qui sont fournies par un ensemble de capteurs 15 (compteurs électriques, débitmètres, thermomètres, anémomètres…) disposés dans le parc de production ; - d’autre part, à partir de mises à jour référencées 17 relatives aux états de fonctionnement des éléments contribuant à la production d’électricité au sein du parc (état de panne, état d’arrêt, état actif, etc.) ; ces mises à jour peuvent être effectuées par les professionnels gestionnaires du parc de production, au travers d’une IHM référencée 24. Un tel système comprend également un simulateur multi-agents SMA référencé 23, qui s’appuie sur la représentation formelle KR 10, et qui permet de simuler la production d’électricité au sein du parc, à partir de différents scénarii d’entrée. L’un de ces scénarii peut être une consigne référencée 16 de production électrique, imposée aux différentes unités de production du parc, pour une période de référence (par exemple, les prochaines 24h), et reçue par un module de réception Rx référencé 13. A partir de cette consigne 16, le système de simulation multi-agents SMA 23 simule la production d’électricité au sein du parc, en tenant compte de l’ensemble des valeurs des paramètres de fonctionnement et des états de fonctionnement mémorisés dans la base de données sémantique contenant la représentation formelle KR 10. Il agit ainsi comme un jumeau numérique du parc de production, qui permet de tenir compte, en temps réel ou quasiment, de l’ensemble des contraintes de fonctionnement locales et régionales susceptibles d’affecter les unités de production. En fonction du résultat de cette simulation, le système multi-agents SMA 23 peut ajuster le programme de production d’électricité en fonction de ces différentes contraintes pour qu’il reflète plus fidèlement la capacité de production réelle des différentes unités de production du parc. Il génère ainsi une consigne de production optimisée 18, qui peut être visualisée par l’intermédiaire de l’IHM 24, et également transmise par un module de transmission Tx référencé 14 aux différentes unités de production. Les unités de production connaissent alors les niveaux de puissance électrique à produire, selon un pas de temps déterminé de 5, 10 ou 30 minutes par exemple, au cours de la prochaine période de référence, e.g. les prochaines 24h. On présente à présent plus en détails, en relation avec les figures 2 et 3, les étapes préliminaires E1 et E2 de construction d’un système multi-agents, SMA, à partir de représentations de connaissances, KR, associées au parc de production électrique. Comme illustré sur la FIG. 2 , la connaissance métier propre à chaque centrale, ainsi que les valeurs associées aux éléments qui contribuent au fonctionnement de ces centrales peut être systématiquement exprimée à travers l'utilisation d'une représentation de connaissances 10, combinant une ontologie 11 et un graphe de connaissances 12 (désignée ici sous l'acronyme KR pour l’anglais « Knowledge Representation », en français « représentation de connaissances »). L'ontologie 11 agit comme un schéma de données contenant des concepts et des relations sémantiques pour modéliser un ensemble de connaissances dans un domaine précis, facilitant leur compréhension par des machines. En d’autres termes, une ontologie définit des concepts (principes, idées, catégorie d’objet, notions potentiellement abstraites) et des relations. Elle inclut généralement une organisation hiérarchique des concepts pertinents et des relations qui existent entre ces concepts, ainsi que des règles et axiomes qui les contraignent. Elle offre une représentation de propriétés générales de ce qui existe dans un formalisme supportant un traitement rationnel. C’est le résultat d’une formulation exhaustive et rigoureuse de la conceptualisation d’un domaine, en l’espèce, celui d’un parc de production électrique. Le graphe de connaissances 12, quant à lui, représente un réseau sémantique du domaine de connaissances stocké dans une base de données sous forme de graphe, où les nœuds représentent les données et les arêtes décrivent les relations entre ces données. Dans le contexte de ce document, les nœuds dépeignent les différents éléments impliqués dans la production d'électricité dans une centrale (identifiée par un code unique). Par exemple, une centrale hydraulique est associée à plusieurs éléments participant à sa production d’électricité, tels qu’un réservoir d’eau, une station de pompage et une installation de production. Les liens entre ces nœuds symbolisent les relations entre ces éléments et entre les diverses entités au sein d'un parc de production à une échelle spécifique. Une première étape référencée E1 consiste donc à collecter et formaliser l’ensemble des connaissances des professionnels de gestion et d’exploitation du parc de production, via une méthode uniforme de représentation formelle KR. Cette étape E1 permet donc une représentation formelle du parc de production, sur laquelle les professionnels pourront agir à tout instant pour l’adapter à une évolution du parc de production (modification d’une installation de production, ajout d’une nouvelle centrale, arrêt d’un équipement pour cause de panne ou pour motif règlementaire, etc. – mises à jour référencées 17 sur la FIG. 1 ). Ils peuvent interagir avec les experts en ontologie ou en manipulant directement le graphe de connaissances, sans avoir besoin de manipuler le code du système multi-agents qui sera décrit ci-après. En outre, ce dernier s’adapte automatiquement aux changements de connaissances grâce aux requêtes effectuées à travers le graphe de connaissances. La représentation formelle KR 10, obtenue à l’issue de l’étape E1, peut prendre la forme de symboles que le système peut stocker et manipuler (par exemple, langages et opération logiques, structures et opérations de graphes). Cette représentation formelle KR 10 est à la fois compréhensible par les humains et manipulable par les systèmes, en appliquant des règles de manipulation définies sur les symboles de ces représentations et dont l’interprétation simule, par exemple, un raisonnement. La représentation formelle KR 10 est ensuite utilisée comme entrée de l’étape référencée E2 de génération automatique de système multi-agents, SMA. Un Système Multi-Agents, tel que décrit par exemple par C. Donzelli et al. dans “Onto2MAS: An ontology-based framework for automatic multi-agent system generation”, 2016 12th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS) , IEEE, 2016, p. 381‑388, peut être défini comme un système complexe intégrant une collection d’agents autonomes ayant leurs propres objectifs et actions, capables d’interagir, de collaborer et d’échanger des connaissances à travers des moyens de communication. Ainsi, en utilisant un système multi-agents, on peut modéliser numériquement les caractéristiques individuelles de chaque élément du système de production électrique et observer comment ces éléments interagissent pour influencer le fonctionnement global du parc de production. La représentation formelle KR 10 alimente un outil référencé 20 de génération de code Java. Cet outil permet, d’une part, de générer, à partir de l’ontologie 11, un ensemble de classes Java 21 correspondant aux différents agents et objets du système SMA à créer, et d’autre part, d’assigner des comportements et des actions, référencés 22, aux différents agents. Cet outil 20 intègre un modèle de conversion entre l'ontologie et le code Java, et permet donc de générer le code source en Java associé à tous les agents avec leurs comportements, pour former une plateforme de simulation multi-agents, référencée 23. Cette plateforme 23 permet à l'utilisateur de visualiser, grâce à une IHM référencée 24, les résultats de simulation selon les scénarii d'entrée (par exemple, différentes consignes de production, ou différentes variantes du programme d’appel). Une telle plateforme de simulation 23 peut ainsi s'adapter à divers types de centrales de production électrique. En améliorant la précision de la génération des puissances à appeler, elle permet non seulement de mieux refléter la capacité opérationnelle réelle des centrales, mais également de vérifier la faisabilité des programmes d’appel pour chaque centrale en prenant en compte leurs contraintes locales et globale. Elle permet en outre d'anticiper et d'examiner les scénarii de perturbation potentiels, notamment les défaillances d'unités de production ou les événements liés aux catastrophes naturelles. Un tel système SMA, reposant sur une représentation de connaissances KR, permet de mieux garantir la stabilité, la fiabilité, et l'efficacité du réseau électrique, en évitant les pertes de temps associées aux ajustements de puissance et les pertes d'argent. Diverses tentatives ont été faites dans l’art antérieur, pour combiner des systèmes multi-agents (SMA) et des ontologies. Cependant, aucune de ces tentatives ne reposait, à la connaissance du Demandeur, sur l’utilisation d’un graphe de connaissance pouvant être mis à jour en temps réel. Le schéma de construction du système SMA illustré par la FIG. 2 repose sur l’utilisation conjointe des ontologies et graphes de connaissance, ensemble appelé KR 10, comme éléments d'entrée ou de ressource du SMA, plutôt que comme résultats finaux. Ainsi, l'utilisation des KR permet de définir le fonctionnement interne des agents du système, ce qui diffère de certaines approches de l’art antérieur qui se concentrent davantage sur la structure générale d'un SMA. La génération automatique d’un code SMA illustré par la FIG. 2 peut être détaillée en deux étapes en passant par trois objets programmatifs dits « classe Java », comme illustré par la FIG. 3 : - un lanceur de l’algorithme, appelé Main, référencé 25 ; - un objet de construction d’agent, appelé ConstructorAgent, référencé 26 ; - un objet de création de classes, appelé ClassBuilder, référencé 27. La création des classes à partir des ontologies est sous la direction de l’objet programmatif dit « ConstructorAgent » référencé 26. Cette étape combine le chargement des ontologies en mémoire, référencé 261, et la génération de classes fonctionnelles, référencée 262, à travers la classe utilitaire dite « ClassBuilder », référencée 27. Les fichiers d'ontologie, extraits du dépôt de ressources KR 10, subissent une transformation en code Java. Notablement, l'ontologie principale est séparée dans un modèle distinct, tandis que les ontologies auxquelles elle fait référence sont encapsulées dans un second modèle, préparant ainsi le terrain pour une sélection avisée des classes pertinentes dans la construction du SMA final. La règle de conversion repose sur l'utilisation d'un « ConstructorAgent » 26 qui s'appuie sur un « ClassBuilder » 27. Cet objet programmatif joue un rôle essentiel dans la traduction séquentielle et méthodique des concepts ontologiques en un code Java exécutable. Les liens hiérarchiques entre les classes sont établis en exploitant les propriétés "SubClass Of", tout en respectant les contraintes d'héritage de Java. Les propriétés ontologiques de types de données (owl:DatatypeProperty) sont converties en variables selon les règles de conversion d'XSD à Java, tandis que les propriétés d'objets (owl:ObjectProperty) sont converties en variables en utilisant la classe définie par la propriété "range" (rdfs:range) comme type. Les contraintes de cardinalité, en particulier la contrainte "minimum 1", guident l'algorithme en signalant la représentation des propriétés sous forme de listes (ArrayList). La fonction de conversion de l'ontologie est invoquée récursivement pour chaque propriété d'objet lorsque la classe du type de la variable est définie dans des ontologies externes. Enfin, l'algorithme analyse toutes les classes puis utilise un moteur de type Apache FreeMarker® (moteur de « templates » ou de gabarits qui permet de générer automatiquement des fichiers textes à partir d’un modèle de données de type tableau associatif) pour traduire efficacement les données en code Java, en se basant sur des « templates », ou modèles, spécifiques définis par le fichier de configuration. Les comportements, initialement codés manuellement, sont intégrés au code généré via des « templates » supplémentaires. Après l'écriture des fichiers source, une compilation simultanée prévient les problèmes potentiels de dépendances circulaires. Le Java Compiler reçoit un module « path » avec les dépendances essentielles, permettant aux agents du SMA de prendre forme et d'être transmis à une plateforme de modélisation SMA telle que JADE (Java Agent DEvelopment Framework - cadre de développement de systèmes multi-agents, open-source et basé sur le langage Java), tandis que l'API Reflection (processus d’analyse et de modification de toutes les caractéristiques d’une classe) de Java instancie des objets avec les classes et énumérations compilés. On rappelle qu’une énumération, ou « enum », est un type de données particulier, dans lequel une variable ne peut prendre qu’un nombre restreint de valeurs. Une énumération est en fait une classe. Les valeurs d’une énumération sont les seules instances possibles de cette classe. Le rythme de l'algorithme est maintenu par l’objet programmatif « ConstructorAgent » référencé 26, qui supervise la phase finale 263 d'instanciation des agents. Cette étape repose sur des requêtes SparQL spécifiques, offrant au développeur la flexibilité nécessaire pour intégrer des contraintes adaptées à son contexte. Par exemple, comme on le verra plus en détail dans la suite avec un exemple particulier de réalisation dans le cadre du parc de production d’une vallée, des restrictions sont appliquées pour ne sélectionner que les éléments et entités du parc de production appartenant à cette seule vallée. Initialement, une requête est lancée pour obtenir la liste complète des classes présentes dans le graphe de connaissances. Puis, pour chaque classe identifiée, une nouvelle requête est formulée pour récupérer toutes les propriétés liées, en incluant leur cardinalité le cas échéant. Lorsque les propriétés présentent une cardinalité, une fonction spécialisée est appelée pour réduire significativement le nombre de requêtes, assurant ainsi une performance optimale. Chaque propriété est alors stockée dans une variable Java de type Map, où le nom de la variable sert de clé et son type de valeur. Si la propriété correspond à une classe, une troisième requête SparQL est déployée pour obtenir tous les éléments nécessaires à l'instanciation des agents. La phase d'instanciation 263 s'achève en lançant un agent de la classe appropriée et en lui transmettant le Map des variables en argument. Cette dernière est utilisée au démarrage de l'agent pour initialiser ses variables grâce à l'API Reflection. Cette approche pragmatique garantit une initialisation efficace des agents, tout en prenant en compte les dépendances spécifiques au contexte du SMA. On décrit désormais, en relation avec les figures 4 à 7, un exemple particulier d’application d’un tel système multi-agents dans le cadre d’une vallée de production d’énergie électrique d’origine hydraulique. Le système d’optimisation de la programmation de production électrique a pour premiers objectifs de prendre en compte les contraintes locales de chaque centrale de la vallée 40 afin de produire la puissance électrique qui corresponde au mieux à la demande quotidienne de consommation électrique dans cette vallée. Une vallée, dans ce contexte, représente l'ensemble des centrales situées sur le même cours d'eau, avec leur position amont et aval respectives. La FIG. 4 illustre à titre d’exemple la vallée 40 de l'Ain, qui comprend sept centrales de production, référencées 411 à 417, symbolisées par deux cercles concentriques. Une centrale modélisée correspond à un site physique de production. Elle peut englober divers types d'éléments participant à sa production électrique. Dans l’exemple de la FIG. 4 , trois éléments sont modélisés : (a) un réservoir d'eau (symbolisé par un triangle plus ou moins grisé selon le volume d’eau contenu dans le réservoir, référencé 421 à 426)), (b) une station de pompage (symbolisée par un disque, référencée 431 et 432) et (c) une installation de production (i.e. une usine hydraulique, symbolisée par deux cercles concentriques, références 411 à 417)). Chaque élément est associé à un identifiant unique. Par exemple, sur la FIG. 4 , la centrale hydraulique de Vouglans est modélisée par trois agents : VOUGLR désignant un réservoir d'eau 421, VOUGLP désignant une station de pompage 431 et VOUGLH désignant l’usine de production électrique 411. Ainsi, un agent peut être défini comme la modélisation d’un équipement du parc de production électrique, qui est relié à un autre équipement du parc par un lien physique, fonctionnel et/ou de causalité. On comprend en effet, à titre d’exemple, que le niveau de puissance électrique susceptible d’être délivré en sortie de l’usine VOUGLH est directement dépendant du niveau d’eau contenu dans le réservoir VOUGLR. Sur la FIG. 4 , le sens de circulation de l’eau dans la vallée est symbolisé par des flèches. La connaissance métier sur le fonctionnement d’une centrale hydraulique a été modélisée conceptuellement avec une ontologie, illustrée sur la FIG. 5 , et les individus de chaque concept sont stockés sous forme du graphe de connaissances. Ces éléments de représentation des connaissances sont utilisés comme générateurs de ressources pour le système de simulation multi-agent de la FIG. 1 . On définit par exemple une classe « Installation de production », référencée 51, comme une sous-catégorie de la classe « Objet physique », référencé 50, qui est une catégorie générale englobant les caractéristiques communes entre les unités de production et les systèmes de stockage d'eau (par exemple, les lacs, les réservoirs), dit agents « Réservoir », référencé 52. Les contraintes locales sont spécifiquement modélisées au niveau de l’Installation de production 51, qui peut être une installation de production hydroélectrique 511, ou nucléaire 512 par exemple. En ce qui concerne les agents « Réservoir » 52, les contraintes locales sont principalement liées à leur volume d'eau. Elles se déclinent par exemple selon les paramètres de fonctionnement suivants : - volume d’eau minimum 520 ; - volume d’eau maximum 521 ; - volume d’eau 522 ; - cote 523. Les valeurs de ces différents paramètres sont fournies par les capteurs présents dans ou à proximité du réservoir, et mémorisées dans la base de données du système de la FIG. 1 : elles sont ensuite utilisées, en fonctionnement, pour simuler le comportement de l’agent « réservoir » 52. L’ « Objet physique » 50 est par exemple associé aux paramètres de fonctionnement relatifs à un débit d’eau entrant 501 et à un débit d’eau sortant 502, ainsi qu’à un éventuel apport 503 en provenance d’une station de pompage ou naturellement par le biais d'une rivière ou de ses affluents à proximité. Les valeurs de ces paramètres peuvent être mises à jour dans la base de données de la représentation formelle KR 10 selon un pas de temps déterminé, par exemple toutes les cinq ou dix minutes, en provenance de capteurs de type débitmètres disposés en amont et en aval de l’objet physique 50. Dans l’exemple du parc de production de la FIG. 4 , dont le modèle se concentre sur les centrales hydrauliques, on prend en compte, à l'échelle locale, les contraintes suivantes : les temps d'activation des usines, les durées d'ajustement de la puissance de production (durée de passage au point de fonctionnement supérieur 514 et durée de passage au point de fonctionnement inférieur 515), les capacités de production (« est disponible » 513), les débits d'eau nécessaires 517, les volumes d'eau initiaux 522, la production d'énergie demandée 516. À l'échelle régionale, plus précisément dans le contexte de la vallée 40 de la FIG. 4 , les contraintes tournent principalement autour de la position géographique relative de chaque centrale par rapport aux autres dans la vallée, qu'elles soient en amont ou en aval. Ces relations spatiales exercent une influence directe sur les restrictions d'entrée et de sortie, déterminant en fin de compte la capacité opérationnelle et la séquence de collaboration ou d'indépendance de chaque centrale. À l'échelle globale, le système multi-agents contient un agent qui joue un rôle spécifique, appelé « Entité centrale de programmation », référencé 53. Cette entité joue un rôle crucial à deux niveaux : en tant qu'entrée et sortie de la simulation. Dans un mode de réalisation, cette entité centrale de programmation 53 définit les plages horaires de production et les niveaux de puissance souhaités pour chacune de ces plages horaires pour chaque centrale le jour J+1. Cela constitue une contrainte essentielle dans l'ensemble du modèle, gérant la demande collective partagée par toutes les centrales d'une vallée spécifique. Ce programme d’appel peut constituer la consigne d’entrée du système d’optimisation de la FIG. 1 . Il définit, selon un pas de temps déterminé de cinq minutes par exemple, le niveau de puissance électrique attendu en sortie de chaque installation de production. Il peut notamment être établi à partir d’une prévision de la consommation électrique dans la vallée de la FIG. 4 au cours de la journée J+1. L’Entité Centrale de Programmation 53 est également l’agent qui génère, en sortie finale du système d’optimisation de la FIG. 1 , le programme de production électrique optimisé, comprenant une consigne de production pour chaque installation de production qui lui est associée, ajustée au cours de la simulation pour maximiser la satisfaction de la demande globale spécifiée. Cet ajustement s’opère en prenant en considération les contraintes locales de chaque centrale. Ainsi, le programme d'appel initial de chaque entité centrale de programmation 53 est modifié en fonction de la puissance et du débit d’eau en sortie de chaque centrale associée. On génère ainsi un programme d'appel optimisé, adapté à la capacité réelle des centrales de production électrique. Ce programme d’appel peut être transmis aux différentes unités de production, par l’intermédiaire d’un réseau de communication filaire ou sans fil, par exemple un réseau de transmission de données par fibre optique, ou un réseau de radiocommunication de type 4G, 5G ou plus. On notera qu’on peut prévoir une ou plusieurs entités centrales de programmation 53 par vallée, chaque entité centrale de programmation déterminant les consignes de production pour une ou plusieurs turbines qui lui sont associées. La FIG. 6 illustre une modélisation, au sein du système SMA 23, du comportement d’un agent « Installation de production » 51. Tout commence par l'état de « réveil » ou la réactivation 60 de l’agent « Installation de production » 51, où l'agent démarre la production d'électricité 61, communique les informations sur son débit aux « objets physiques » 50 en amont et en aval, puis attend pendant la période de montée de point de fonctionnement. Pendant la « phase de production » 61, l'agent enregistre régulièrement la production d'électricité et le débit utilisé. Lorsqu'il y a un changement 62 de point de fonctionnement sur le programme d’appel, l'agent transmet les informations de rendement aux agents voisins, puis attend pendant la période de transition après le changement de point de fonctionnement. En cas d'arrêt 63 de l'usine, l'agent informe les « objets physiques » 50 des nouveaux débits, puis attend la durée minimale de mise à l'arrêt. Enfin, l'agent reste inactif pendant certaines périodes 64, se réactivant périodiquement pour vérifier s'il doit reprendre l'activité. Les agents « réservoirs » 52 ont un comportement plus simple. Ils effectuent une mise à jour du volume d'eau à chaque pas de temps. Ils ajustent les débits d'entrée et de sortie en fonction des messages reçus et utilisent ces données pour mettre à jour le volume d'eau du réservoir. De plus, ils apportent des ajustements aléatoires aux apports d'eau pour refléter les fluctuations naturelles. Enfin, ils notifient les agents en amont si le niveau d'eau dépasse un seuil élevé et les agents en aval s'il descend en dessous d'un seuil bas. L'agent « Entité Centrale de Programmation » 53 envoie les programmes d’appel aux usines qui en ont besoin, généralement une fois par jour, pour faciliter la coordination et la planification de la production d'énergie. Pendant la simulation, le programme d'appel est ajusté en fonction des niveaux de puissance réels que chaque usine peut atteindre. L'ensemble des niveaux de puissance pour chaque heure constitue alors le nouveau programme d'appel complet pour la journée en question. Il est important de noter que la sortie de chaque agent est utilisée pour mettre à jour les paramètres de chaque nœud dans le graphe de connaissances. De plus, pour chaque programme d'appel, le système enregistre un fichier log qui contient toutes les informations sur la programmation de puissance pouvant être appelée. Enfin, l'évolution de chaque agent pendant la simulation est également affichée de manière visuelle via l'interface utilisateur 24 de la plateforme. Les usines présentent leur état et la puissance produite, tandis que le réservoir affiche le volume d'eau au pas de temps actuellement simulé. Dans un mode de réalisation, un pas de temps équivaut à 30 minutes. L'interaction dynamique et la coordination entre tous ces agents sont illustrées par la FIG. 7 . Un volume d’eau trop faible ou trop élevé dans un réservoir 52 induit un ajustement nécessaire du niveau de puissance électrique produit par une usine 51, et donc un ajustement du débit d’eau en sortie du réservoir 52. L’entité centrale de programmation 53 pilote et orchestre l’ensemble de ces ajustements. Il est ainsi possible de recréer les interactions complexes au sein du système énergétique, ce qui offre une simulation réaliste et détaillée de son fonctionnement. En plus de l'actualisation par les agents du système SMA 23 pendant la simulation, le graphe de connaissance peut également jouer un rôle central permettant aux opérationnels métiers de signaler un changement dans un élément d'une centrale pendant la simulation en interrogeant le graphe. Cette possibilité est facilitée par la normalisation de la communication du concept métier avec le système via le graphe de connaissance et son ontologie associée. Il est ainsi possible pour les gestionnaires du parc de production de signaler la perte d’un équipement pour panne ou pour raison règlementaire (par exemple l’arrêt d’une centrale nucléaire en raison d’une température d’eau trop élevée, ou d’un niveau d’eau trop faible en amont de la centrale). Le système multi-agents ainsi conçu constitue un jumeau numérique du parc de production électrique, qui prend en considération le fonctionnement spécifique de chaque installation de production multi-filières. Il est en outre parfaitement synchronisé avec le graphe de connaissance, ce qui lui permet de s’adapter immédiatement à tout évolution du parc de production retranscrite dans le graphe de connaissance. Cette convergence des différentes sources de production électrique au sein d'un système unifié constitue une innovation remarquable pour le secteur de l'énergie. Bien qu’il ait été décrit dans le cadre d’un exemple particulier d’un parc de production limité à une vallée hydraulique, on comprend aisément qu’il peut être généralisé à tout type de système énergétique, et notamment au système électrique européen, au sens du marché. Ce système est par nature évolutif, en raison notamment de l’évolution de la règlementation. La technique proposée permet d’exprimer cette évolution règlementaire au travers d’un graphe de connaissance, dont les données et leurs valeurs sont directement fournies par l’ensemble des capteurs présents au sein du système énergétique, et notamment les différents compteurs électriques placés sur les différentes centrales de production, les capteurs de débit d’eau en entrée et en sortie des réservoirs, stations de pompage et centrales hydrauliques, les capteurs de température, les anémomètres, etc. Procédé d’optimisation d’une programmation de production d’énergie électrique par un parc de production électrique comprenant une pluralité d’unités de production (411-417 ; 51), comprenant : une réception d’un programme (516) de production d’énergie électrique, comprenant une consigne (16) de production de puissance électrique pour lesdites unités de production pour une période de référence ; une simulation, à partir de ladite consigne (16) de production, d’une production de puissance électrique par lesdites unités de production(411-417 ; 51), mise en œuvre par un système multi-agents (23) modélisant ledit parc, ledit système multi-agents (23) étant généré à partir d’une représentation formelle (10) dudit parc de production, construite à partir d’une ontologie (11) et d’un graphe de connaissances (12) comprenant un ensemble de nœuds représentant chacun un élément d’une desdites unités de production (411-417 ; 51), et un ensemble d’arêtes représentant chacune une relation fonctionnelle entre deux nœuds qu’elles relient, ladite représentation formelle (10) étant mise à jour : selon un pas de temps déterminé, à partir de valeurs représentatives de paramètres de fonctionnement desdits nœuds, reçues de capteurs (15) disposés dans ledit parc ; à la volée, en cas de changement (17) affectant au moins un état de fonctionnement d’un desdits nœuds ; une génération, pour ladite période de référence, d’un programme de production d’énergie électrique optimisé, comprenant une consigne de production (18) ajustée en fonction de la production de puissance électrique simulée pour lesdites unités de production et tenant compte desdits états de fonctionnement et desdites valeurs représentatives des paramètres de fonctionnement mises à jour dans ladite représentation formelle. Procédé d’optimisation selon la revendication 1, caractérisé en ce qu’il comprend également un envoi, auxdites unités de production, de ladite consigne (18) de production ajustée du programme de production d’énergie électrique optimisé pour ladite période de référence. Procédé d’optimisation selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu’il comprend également une restitution sur une interface homme-machine (24) de ladite production de puissance électrique simulée et/ou dudit programme de production d’énergie électrique optimisé généré. Procédé d’optimisation selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit parc comprend au moins deux unités de production (411-417 ; 51) appartenant au groupe comprenant : - les centrales hydrauliques ; - les centrales thermiques ; - les centrales nucléaires ; - les sources d’énergie photovoltaïques ; - les sources d’énergie éoliennes ; - les sources d’énergie hydroliennes ; - les stations de pompage hydraulique ; - les batteries. Procédé d’optimisation selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdits nœuds dudit graphe de connaissances représentent des éléments appartenant au groupe comprenant : - des réservoirs d’eau (421-426 ; 52) ; - des stations de pompage (431-432) ; - des installations de production (411-417 ; 51) ; - des générateurs de production ; - des auxiliaires de production. Procédé d’optimisation selon l'une quelconque des revendications 1 à 5, caractérisé en ce que lesdits paramètres de fonctionnement appartiennent au groupe comprenant : - un volume d’eau stocké ; - une plage de débit d’eau exigé en entrée ; - un débit d’eau en sortie ; - une puissance électrique produite ; - une plage de température d’eau en entrée ; - une puissance électrique demandée ; - une plage de puissance maximale disponible ; - une durée minimale de palier haut ; - une durée minimale de palier bas ; - un type de point de fonctionnement ; - un état de système ; - un type de combustible ; - une puissance de gaz demandée. Procédé d’optimisation selon l'une quelconque des revendications 1 à 6, caractérisé en ce que lesdits états de fonctionnement appartiennent au groupe comprenant : - un état de fonctionnement actif ; - un état de panne ; - un état d’arrêt ; – un état de consommation électrique. Procédé d’optimisation selon l'une quelconque des revendications 1 à 7, caractérisé en ce que ladite consigne (16) de production de puissance électrique tient compte d’une prévision de consommation électrique. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 8 lorsque ce programme est exécuté par un processeur. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 8 lorsque ce programme est exécuté par un processeur. Système d’optimisation d’une programmation de production d’énergie électrique par un parc de production électrique comprenant une pluralité d’unités de production (411-417 ; 51), comprenant : un module de communication (13-14) configuré pour : recevoir un programme de production d’énergie électrique, comprenant une consigne (16) de production de puissance électrique pour lesdites unités de production (411-417 ; 51) pour une période de référence ; envoyer, auxdites unités de production (411-417 ; 51), une consigne (18) de production ajustée d’un programme de production d’énergie électrique optimisé pour ladite période de référence ; une base de données sémantique configurée pour stocker une représentation formelle (10) dudit parc, construite à partir d’une ontologie (11) et d’un graphe de connaissances (12) comprenant un ensemble de nœuds représentant chacun un élément d’une desdites unités de production (411-417 ; 51), et un ensemble d’arêtes représentant chacune une relation fonctionnelle entre deux nœuds qu’elles relient ; un ensemble de capteurs (15) configurés pour fournir, selon un pas de temps déterminé, des valeurs représentatives de paramètres de fonctionnement desdits nœuds, destinées à alimenter ladite représentation formelle (10) ; une interface homme-machine (24) configurée pour permettre la mise à jour (17) de ladite représentation formelle en cas de changement affectant au moins un état de fonctionnement d’un desdits nœuds ; un système multi-agents (23) modélisant ledit parc, généré à partir de ladite représentation formelle (10), et configuré pour simuler, à partir de ladite consigne (16) de production, une production de puissance électrique par lesdites unités de production (411-417 ; 51), ledit système multi-agents (23) comprenant une entité centrale de programmation (53) configurée pour générer, pour ladite période de référence, ledit programme de production d’énergie électrique optimisé, comprenant ladite consigne (18) de production ajustée en fonction de la production de puissance électrique simulée pour lesdites unités de production (411-417 ; 51) et tenant compte desdits états de fonctionnement et desdites valeurs représentatives des paramètres de fonctionnement mises à jour dans ladite représentation formelle (10).