FR 2897170 A1 20070810 FR 0650441 A 20060208 1 La présente invention a pour objets un procédé et un dispositif de pilotage d'un réacteur de traitement bactériologique d'un substrat. La digestion anaérobie est la transformation de matière organique en biogaz. La digestion anaérobie est réalisée en anaérobiose par une communauté microbienne complexe. Elle se produit naturellement dans les marais, les lacs, les intestins des animaux et de l'homme et de manière générale dans tous les écosystèmes où la matière organique se trouve en condition anaérobie. La digestion anaérobie est particulièrement difficile à contrôler au niveau industriel, du fait notamment de l'impossibilité de maîtriser en amont la nature chimique du substrat à traiter. Le terme substrat doit être interprété ici comme une matière organique quelconque, solide ou liquide, par exemple un effluent ou déchet. Actuellement, les méthodes proposées reposent sur un grand nombre de mesures physiques particulièrement délicates et coûteuses à acquérir, telles que des mesures permettant de caractériser le substrat, qui nécessitent notamment des capteurs DCO, DBO, des spectromètres et des COT-mètres. Pour faciliter le contrôle de la digestion, des systèmes 20 informatiques de contrôle peuvent être utilisés. Le document US 6 296 766 décrit un dispositif de digestion anaérobie d'effluents organiques dans un fermenteur. Le dispositif de digestion comporte un système de contrôle qui permet d'ajuster des paramètres, par exemple une température, à une valeur prédéterminée. 25 Cependant, ce système de contrôle nécessite l'intervention d'experts pour déterminer une modification des paramètres. Ce dispositif ne permet donc pas une commande autonome d'un digesteur. Par ailleurs, il ne permet pas d'effectuer une optimisation du procédé. La présente invention a pour but de proposer un dispositif et un 30 procédé qui évitent au moins certains des inconvénients précités. Un autre but de l'invention est de proposer un procédé d'optimisation, c'est-à-dire de maximisation d'une fonction de bénéfice, également appelée fonction d'optimisation du pilotage, d'un réacteur bactériologique. 35 Un autre but de l'invention est de proposer un procédé de contrôle d'un réacteur bactériologique qui soit fiable et d'un coût avantageux. 2 Un autre but de l'invention est de proposer un procédé qui soit autonome, c'est-à-dire qui ne requiert pas l'intervention d'un opérateur humain. Encore un autre but de l'invention est de proposer un procédé de 5 contrôle d'un réacteur bactériologique qui convienne au traitement d'un substrat de nature non maîtrisée. L'invention s'applique à des systèmes complexes, en l'occurrence les réacteurs de traitement bactériologique. Une idée à la base de l'invention est de mettre en place une architecture intelligente (elle se 10 règle toute seule) et automatique (elle agit toute seule) d'optimisation en temps réel du procédé bactériologique considéré. La méthode d'optimisation proposée diffère des méthodes de modélisation d'un procédé complexe dans lesquelles on cherche à reproduire par le calcul les procédés élémentaires multiples en jeu dans le procédé complexe, ce 15 qui implique une analyse et une description très détaillées du procédé complexe, et donc un nombre très élevé de variables. Elle diffère aussi des méthodes de contrôle du procédé complexe, qui consistent à générer des commandes amenant la réaction dans un état fixe prédéfini, appelé consigne. Au contraire, la méthode proposée fait appel à une fonction 20 d'optimisation dont les arguments peuvent être des quantités liées aux résultats tangibles aussi appelés bénéfices que l'utilisateur cherche à obtenir par la mise en oeuvre du procédé bactériologique. Une autre idée à la base de l'invention est de proposer des modifications incrémentielles de l'état physique d'un réacteur ou d'une 25 réaction et d'évaluer les effets de ces modifications directement en termes de ces bénéfices , tels qu'ils peuvent être transcrits dans la fonction d'optimisation, et non en termes de connaissances détaillées sur l'état physico chimique interne du réacteur. Cette approche peut être mise en oeuvre avec un nombre relativement faible de mesures physiques 30 et éventuellement avec des capteurs élémentaires et très peu coûteux (pH mètre, débitmètre de gaz). Une autre idée de base est que le critère à optimiser, c'est-à-dire le résultat tangible souhaité, tel que transcrit dans la fonction d'optimisation, peut être modifiable par l'utilisateur en fonction des 35 besoins du moment (demande forte en biogaz, surplus de substrat à consommer). Ceci confère une grande souplesse à l'installation 3 bactériologique alliée à une architecture de commande entièrement automatisée. A cet effet, l'invention a pour objet un procédé de pilotage d'un réacteur de traitement bactériologique d'un substrat produisant un produit de réaction valorisable, ledit réacteur comportant un actionneur pour piloter l'admission de substrat dans ledit réacteur, ledit procédé de pilotage comprenant les étapes consistant à : a) mesurer un état du réacteur, ledit état du réacteur incluant une mesure de débit sortant effectuée à l'aide d'un capteur de débit 10 sortant de produit de réaction, b) en fonction de l'état mesuré, utiliser une fonction d'optimisation du pilotage définissant un résultat à maximiser pour choisir une action modificatrice tendant statistiquement maximiser ladite fonction d'optimisation du pilotage grâce à un algorithme 15 d'apprentissage, c) et exécuter ladite action modificatrice. Avantageusement, à l'étape a), ledit état dudit réacteur inclut une mesure de pH effectuée à l'aide d'un capteur de pH. De préférence, l'étape b) comprend les sous-étapes consistant à : 20 d) envisager une action modificatrice de l'état du réacteur et prédire une évolution de ladite fonction d'optimisation du pilotage en réponse à ladite action modificatrice, ladite action modificatrice incluant au moins une opération appartenant à au moins une catégorie d'opération respective, 25 e) répéter l'étape d) pour un ensemble prédéterminé d'actions modificatrices, ledit ensemble prédéterminé d'actions modificatrices incluant au moins une action modificatrice incluant une opération de la catégorie modification du débit entrant de substrat, f) en fonction desdites variations de ladite fonction 30 d'optimisation du pilotage prédites à l'étape d), choisir une action modificatrice dans ledit ensemble prédéterminé d'actions modificatrices et exécuter ladite action modificatrice choisie. Avantageusement, l'évolution de ladite fonction d'optimisation du pilotage comprend l'espérance statistique d'une somme pondérée de 35 valeurs futures de ladite fonction d'optimisation du pilotage. 4 Selon un mode de réalisation de l'invention, la catégorie modification du débit entrant inclut une opération de maintien du débit entrant, une opération d'augmentation du débit entrant et une opération de diminution du débit entrant. De préférence, ledit réacteur comporte un actionneur pour piloter l'admission d'un agent de régulation du pH dans ledit réacteur, ledit ensemble prédéterminé d'actions modificatrices incluant au moins une action modificatrice incluant une opération de la catégorie modification du pH. Selon un mode de réalisation de l'invention, la catégorie modification du pH inclut une opération d'augmentation du pH, une opération de maintien du pH et une opération de diminution du pH. Selon un mode de réalisation de l'invention, ledit réacteur comporte un actionneur pour piloter l'admission de nutriments dans ledit réacteur, ledit ensemble prédéterminé d'actions modificatrices incluant au moins une action modificatrice incluant une opération de la catégorie modification des nutriments. Selon un mode de réalisation de l'invention, la catégorie modification des nutriments inclut une opération d'ajout de nutriments et 20 une opération neutre. Selon un mode de réalisation de l'invention, chaque action modificatrice inclut la combinaison d'une pluralité d'opérations appartenant à plusieurs catégories d'opérations respectives, chacune desdites opérations étant choisie parmi une pluralité d'opérations 25 prédéterminées associée à la catégorie d'opération. Avantageusement, l'étape a) comporte une sous-étape consistant à traiter les mesures effectuées à l'étape a) à l'aide d'une reconnaissance de motif, pour produire des données de mesures prétraitées, lesdites données de mesures prétraitées étant prises en compte à l'étape b) pour 30 choisir ladite action modificatrice. Selon un mode de réalisation de l'invention, l'étape b) est réalisée par un module de prédiction comportant un réseau de neurones. Selon un mode de réalisation de l'invention, l'étape d) comprend les sous-étapes consistant à : 35 - calculer, à partir desdites évolutions prédites à l'étape d), une probabilité associée à chaque action modificatrice envisagée, et - choisir l'action modificatrice par tirage aléatoire en fonction des probabilités calculées. Avantageusement, le calcul des probabilités est effectué par la formule de Gibbs. 5 Selon un mode de réalisation de l'invention, le procédé de pilotage comprend une étape g) consistant à prédire un état du réacteur à un instant ultérieur à partir desdites mesures effectuées à l'étape a), et de l'action modificatrice envisagée choisie à l'étape f), et une étape consistant à comparer l'état prédit à l'étape g) pour un instant donné t avec l'état mesuré du réacteur à l'instant donné t pour déterminer un paramètre de véracité de ladite prédiction, et calculer la probabilité associée à chaque action modificatrice en fonction dudit paramètre de véracité, les probabilités étant déterminées en fonction du paramètre de véracité de manière à amplifier les écarts entre les probabilités lorsque le paramètre de véracité est élevé et à diminuer les écarts entre les probabilités lorsque le paramètre de véracité est faible. De préférence, l'étape g) est effectuée par un module de simulation comportant un réseau de neurones. Avantageusement, ledit module de simulation présente une vitesse 20 d'apprentissage inférieure ou égale à la vitesse d'apprentissage dudit module de prédiction. Selon un mode de réalisation de l'invention, ladite fonction d'optimisation du pilotage est fonction d'au moins une variable choisie parmi un rendement de réaction, un débit sortant de produit de réaction, 25 une capacité de stockage disponible pour ledit produit de réaction et une quantité de substrat disponible. De préférence, le réacteur est un réacteur de digestion anaérobie de substrat organique. Selon des modes de réalisation de l'invention, le produit de 30 réaction valorisable inclut du méthane, et/ou de l'hydrogène, et/ou de 1' éthanol. L'invention a également pour objet un dispositif de pilotage destiné à piloter un réacteur de traitement bactériologique d'un substrat produisant un produit de réaction valorisable, ledit dispositif comportant 35 des entrées de mesure destinées à recevoir des mesures depuis des capteurs pour mesurer un état du réacteur, lesdites entrées de mesure incluant une entrée de mesure de débit sortant destinée à recevoir une mesure de débit sortant de produit de réaction, ledit dispositif comportant des moyens aptes à choisir, en fonction des mesures reçues, une action modificatrice tendant statistiquement à maximiser une fonction d'optimisation du pilotage grâce à un algorithme d'apprentissage, ladite fonction d'optimisation du pilotage définissant un résultat à maximiser, et à émettre un ordre d'exécution de ladite action modificatrice choisie au niveau d'une sortie de commande destinée à être connectée à des actionneurs dudit réacteur. Selon un mode de réalisation de l'invention, ledit dispositif est relié à des moyens de stockage pour mémoriser un ensemble prédéterminé d'actions modificatrices de l'état du réacteur, chaque action modificatrice incluant au moins une opération appartenant à au moins une catégorie d'opération respective, ledit ensemble prédéterminé incluant au moins une action modificatrice incluant une opération de la catégorie modification du débit entrant de substrat, ledit dispositif comportant un module de prédiction apte à prédire, en fonction des mesures reçues, une variation de ladite fonction d'optimisation du pilotage associée respectivement à chaque action modificatrice dudit ensemble d'actions modificatrices, et un module de décision apte, en fonction desdites variations prédites par ledit module de prédiction, à choisir une action modificatrice dans ledit ensemble prédéterminé d'actions modificatrices et à émettre un ordre d'exécution de ladite action modificatrice choisie au niveau de ladite sortie de commande. Selon un mode de réalisation de l'invention, le dispositif de pilotage comporte un système local situé à proximité du réacteur et incluant lesdits capteurs et lesdits actionneurs et un système distant incluant le module de décision et le module de prédiction et des moyens de communication pour permettre la communication entre le système local et le système distant. L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative détaillée qui va suivre, de plusieurs modes de réalisation de l'invention donnés à titre d'exemples purement illustratifs et non limitatifs, en référence aux dessins schématiques annexés. 7 Sur ces dessins : - la figure 1 est une vue schématique simplifiée d'un dispositif de digestion piloté par un procédé selon un mode de réalisation de l'invention ; - la figure 2 est une vue schématique simplifiée d'un dispositif de pilotage informatique du dispositif de digestion de la figure 1 ; - la figure 3 est un schéma fonctionnel représentant les étapes du procédé de commande du dispositif de digestion 10 - la figure 4 est un schéma fonctionnel par blocs du système de commande à intelligence avancée ; - la figure 5 est une vue schématique d'un motif reconnaissable par un module de prétraitement du système 15 de commande à intelligence avancée de la figure 4 ; - la figure 6 est une vue schématique simplifiée d'un réseau de neurones d'un module de prédiction du système de commande à intelligence avancée de la figure 4 ; - la figure 7 est un schéma fonctionnel représentant les 20 étapes de détermination d'une commande de débit entrant d'effluent par le système de commande avancé de la figure 4 - la figure 8 est une vue schématique simplifiée d'un réseau de neurones d'un module de simulation du système de 25 commande à intelligence avancée de la figure 4 ; et - la figure 9 est une vue similaire à la figure 4 montrant un deuxième mode de réalisation du système de commande à intelligence avancée. En se référant à la figure 1, on voit un dispositif de digestion 30 anaérobie 1, également appelé digesteur. Le digesteur 1 permet la transformation de matière organique, contenue dans un substrat, par exemple un effluent, en biogaz, composé principalement de méthane et de gaz carbonique. Le digesteur 1 est par exemple destiné à être utilisé par des industries agroalimentaires ou pharmaceutiques pour transformer 35 leur pollution organique en énergie renouvelable. Le digesteur 1 comporte un réacteur biologique 2 dans lequel se produisent des réactions de digestion. Le réacteur 2 est alimenté en effluent par le biais d'une cuve tampon 3, reliée à une entrée 23 du réacteur 2 par un conduit d'alimentation 14. La cuve tampon 3 est remplie d'un effluent, qui est par exemple rejeté par une usine, par une entrée 6. L'alimentation du réacteur 2 en effluent est contrôlée par un actionneur 7 disposé dans le conduit 14, l'actionneur 7 comportant une vanne et une pompe. En schématisant, le réacteur 2 contient deux populations de bactéries, les bactéries dites acidogènes, qui produisent de l'acide, et les bactéries méthanogènes, qui transforment l'acide en méthane. Les bactéries peuvent subir une culture dirigée ou être ajoutées périodiquement dans le réacteur 2. Les bactéries acidogènes se divisent en un temps de l'ordre de un ou deux jours et sont plus efficaces pour un pH de l'ordre de 6.5. Les bactéries méthanogènes se divisent en un temps de l'ordre de quatre à sept jours et sont plus efficaces pour un pH de l'ordre de 7.5. En cas de baisse du pH, les bactéries acidogènes continuent de produire des acides, ce qui contribue à une acidification plus importante du milieu. Cela a pour effet d'inhiber puis de tuer les bactéries méthanogènes. Le contrôle de la valeur du pH est donc un aspect important du pilotage du digesteur 1. Le digesteur 1 comporte un réservoir 8 contenant de l'anti-mousse, un réservoir 9 contenant des nutriments et un réservoir 10 contenant de 25 la soude. Les nutriments comprennent par exemple de l'azote, du phosphore et des oligoéléments, par exemple du fer et du manganèse. Les réservoirs 9 et 10 sont reliés à l'entrée 23 du réacteur 2 par des conduits d'alimentation 12 et 13 respectivement. L'alimentation du 30 réacteur 2 en soude est contrôlée par un actionneur 17 disposé dans le conduit 13, l'actionneur 17 comportant une vanne et une pompe. L'alimentation du réacteur 2 en nutriments est contrôlée par un actionneur 18 disposé dans le conduit 12, l'actionneur 18 comportant une vanne et une pompe. 35 Le digesteur 1 comporte un ballon d'eau chaude 20, chauffé par une chaudière 21 et comprenant une entrée d'eau froide 22. Le ballon d'eau chaude 20 est relié à un échangeur de chaleur 25 par un conduit 24. L'échangeur de chaleur 25 est relié à l'entrée 23 du réacteur 2 par un conduit d'alimentation 19. L'échangeur de chaleur 25 est disposé en aval des conduits 12, 13 et 14, c'est-à-dire que l'effluent mélangé à la soude et aux nutriments traverse l'échangeur de chaleur 25 avant d'entrer dans le réacteur 2 par l'entrée 23. L'échangeur de chaleur 25 permet de contrôler la température de l'effluent qui entre dans le réacteur 2. La température à l'intérieur du réacteur 2 doit en effet être maintenue stable pour que les bactéries soient efficaces. La température est par exemple maintenue de manière stable à environ 37 C. Un actionneur 26, disposé dans le conduit 24, permet de contrôler la circulation d'eau chaude provenant du ballon d'eau chaude 20 dans l'échangeur de chaleur 25. L'actionneur 26 comporte une vanne et une pompe. Le réacteur 2 comporte une sortie d'eau dépolluée 28, qui est par exemple disposée sur le haut du réacteur 2. Le volume d'eau dépolluée extraite du réacteur 2 correspond à chaque instant au volume de liquide alimentant le réacteur 2. La sortie d'eau dépolluée 28 est reliée à un échangeur de chaleur 32 par un conduit d'évacuation 5. L'échangeur de chaleur 32 est traversé par le conduit 14. Ainsi, l'effluent provenant de la cuve 3 peut être préchauffée par l'eau dépolluée en traversant l'échangeur de chaleur 32, avant d'être chauffée jusqu'à la température prédéfinie dans l'échangeur de chaleur 25, ce qui permet notamment d'économiser de l'énergie. Le réacteur 2 comporte une sortie de gaz 29 reliée à un conduit 27 de gaz qui conduit le gaz jusqu'à une installation utilisatrice dans laquelle le gaz est ensuite stocké dans un réservoir (non représenté) ou utilisé pour fournir de l'énergie. L'installation utilisatrice ici représentée est la chaudière 21 qui assure la production d'eau chaude stockée dans le ballon 20 et distribuée par le réseau d'eau chaude 33. Le réservoir 8 est relié par un conduit d'alimentation 15 au conduit 27. L'alimentation du conduit 27 en anti-mousse est contrôlée par un actionneur 16 disposé dans le conduit 15, l'actionneur 16 comportant une vanne et une pompe. Le réacteur 2 comporte des moyens (non représentés) permettant de ménager des conditions particulières de développement des bactéries, de telle sorte que les bactéries puissent être séparées de l'eau dépolluée avant son extraction. Les moyens comprennent par exemple des supports permettant l'immobilisation des bactéries. Le digesteur 1 comporte un capteur 30, de type débitmètre, disposé dans le conduit 14, pour mesurer le débit entrant d'effluent. Le digesteur 1 comporte un capteur 31, de type débitmètre, disposé dans le conduit 27, pour mesurer le débit sortant de gaz. Le digesteur 1 comporte un capteur de pH 35, pour mesurer le pH à l'intérieur du réacteur 2. Les systèmes de commande Les actionneurs 7, 17 et 18 sont commandés par un dispositif de pilotage informatique 35, représenté sur la figure 2. Le dispositif de pilotage 35 comporte une partie locale 36, située à proximité du réacteur 2, et une partie distante 37, située à distance du réacteur 2. Le trait mixte sur la figure 2 désigne la limite entre ces deux parties 35 et 36. La partie locale 36 comporte des moyens d'acquisition 38 des mesures provenant des capteurs 30, 31 et 35. Les moyens d'acquisition 38 comprennent par exemple une carte d'acquisition comportant un convertisseur analogique-numérique. La partie locale 36 comporte des moyens de stockage réduits 40, par exemple une mémoire de type EPROM, destinés à stocker les mesures récentes, une interface homme-machine 41, un système de commande à intelligence réduite 42 et des moyens de commande 43 pour émettre des commandes à destination des actionneurs 7, 17 et 18. La partie locale 36 comporte également des moyens d'émission réception 44, comprenant par exemple une carte réseau, aptes à échanger des données provenant des moyens de stockage 40 avec des moyens d'émission réception 45 de la partie distante 37, et des moyens de réception 46 aptes à recevoir des données, depuis des moyens d'émission 47 de la partie distante 37, relatives à la valeurs de paramètres locaux, comprenant par exemple une consigne de pH, une commande de débit entrant d' effluent et une commande d'ajout ou non de nutriments. La partie distante 37 comporte, outre les moyens d'émission réception 45 et les moyens d'émission 47, des moyens de stockage 50, par exemple un disque dur magnétique ou une mémoire de type EPROM, pour stocker les mesures transmises par la partie locale 36 et un historique des mesures, des moyens de stockage de paramètres 51, 11 une interface homme-machine 52 et un système de commande à intelligence avancée 53. L'interface 52, qui est par exemple un ordinateur de bureau, permet la saisie de paramètres de fonctionnement du digesteur 1, par exemple des paramètres permettant de spécifier la fonction d' optimisation. Procédé de commande On note Qin(t) une mesure de débit entrant d'effluent effectuée au temps t, Qgaz(t) une mesure de débit sortant de gaz effectuée au temps t, et pH(t) une mesure de pH dans le réacteur 2 effectuée au temps t. Le procédé décrit ci-dessous est un procédé itératif dont les étapes élémentaires sont répétées à chaque pas de temps. Le pas de temps est fixé. Dans ce qui suit, les expressions instant t , temps t et l'indice t désignent en fait un pas de temps. Les expressions instant t +1 , temps t+l et l'indice t+l désignent le pas de temps suivant et les expressions instant t-1 , temps t-1 et l'indice t-1 le pas de temps précédent. Par conséquent, les différentes étapes qui s'effectuent dans un même pas de temps ne sont pas nécessairement rigoureusement simultanées. Le procédé décrit dans les modes de réalisation ci-dessous a pour objectif général de produire de manière répétée, par exemple à chaque pas de temps t, une commande de débit entrant CQin(t) pour commander l'actionneur d'alimentation en effluent 7, une commande de pH CpH(t) pour commander l'actionneur d'alimentation en soude 17 et une commande de nutriment CN(t) pour commander l'actionneur d' alimentation en nutriment 180. Ces commandes sont produites de manière à respecter un objectif global de fonctionnement spécifié au moyen d'une fonction d'optimisation de pilotage r(t). La définition de cette fonction d'optimisation r(t) constitue normalement la seule décision humaine intervenant dans le procédé de commande. Lorsque cette fonction est spécifiée, le procédé peut se dérouler de manière automatique et autonome, sauf apparition d'une situation anormale demandant des mesures de sécurité appropriées. En se référant à la figure 3, on va maintenant décrire les étapes du procédé se produisant au temps t et permettant de déterminer une 12 commande de débit entrant d'effluent CQin(t), et/ou une commande de pH CpH(t), et/ou une commande de nutriments CN(t) à appliquer au digesteur 1. A l'étape 100, les moyens d'acquisition des mesures 38 reçoivent 5 des mesures Qin(t), Qgaz(t) et pH(t) des capteurs de débit 30, 31 et du capteur de pH 35. A l'étape 101, ces données sont stockées dans les moyens de stockage 40 et transmises aux moyens de stockage 50 par le biais des dispositifs d'émission réception 44 et 45. La réalisation de l'émission, de 10 la réception et de la gestion de la mémorisation est effectuée de manière connue et ne sera pas décrite en détail. A l'étape 102, un module de mesure d'erreur 55 teste une condition de normalité des mesures. La condition est vérifiée lorsque la différence entre des valeurs prédites par le système de commande à 15 intelligence avancée 53 et les valeurs mesurées Qin, Qgaz et pH correspondantes est inférieure à un seuil prédéterminé. Si la condition est vérifiée, le procédé passe à l'étape 103, sinon une situation anormale est détectée et le procédé passe à l'étape 104. Cette étape sera décrite en détail plus loin. 20 A l'étape 103, le système de commande à intelligence avancée 53 détermine une commande de débit entrant d'effluent CQin(t), et/ou une commande de pH CpH(t), et/ou une commande de nutriments CN(t) à appliquer au digesteur 1 au temps t. Les commandes sont transmises aux moyens de commande 43 et effectuées. 25 A l'étape 104, le système de commande à intelligence réduite 42 bascule dans un mode de commande de secours pour déterminer une commande de débit entrant d'effluent CQin(t), et/ou une commande de pH CpH(t), et/ou une commande de nutriments CN(t) à appliquer au digesteur au temps t. Les commandes sont déterminées à partir de 30 consignes prédéterminées définies par un opérateur humain et non à l'aide de la fonction d'optimisation. Les commandes sont transmises aux moyens de commande 43 et effectuées. En se référant aux figures 4 à 7, on va maintenant décrire plus en détail la détermination d'une commande de débit entrant d'effluent 35 CQin(t), d'une commande de pH CpH(t), et d'une commande de nutriments CN(t) à appliquer au digesteur 1 au temps t par le système de 13 commande à intelligence avancée 53, ce qui correspond à décrire plus en détail l'étape 103. La figure 4 représente un premier mode de réalisation du système de commande à intelligence avancée 53. Dans ce mode de réalisation, les trois commandes sont déterminées séparément les unes des autres par trois sous-systèmes fonctionnant selon essentiellement le même procédé, incluant chacun un module de prédiction 57 (respectivement 65, 67) et un module de décision 58 (respectivement 66, 68). On notera que ces trois sous-systèmes peuvent fonctionner avec des pas de temps différents. Détermination d'une commande de débit entrant, CQin(t) On va maintenant décrire les étapes du procédé permettant la détermination d'une commande de débit entrant CQin(t). La figure 7 représente les étapes effectuées au cours d'un même pas de temps. A l'étape 200, un module de prétraitement 56 reçoit des capteurs 30, 31 et du capteur de pH 35 des mesures de débit de gaz Qgaz(t), de débit entrant d'effluent Qin(t) et de pH pH(t). Le module de prétraitement 56 reçoitégalement des moyens de stockage 50 des mesures de débit de gaz Qgaz(t-1), de débit entrant d'effluent Qin(t-1) et de pH pH(t-1) acquises au pas de temps précédent. A l'étape 201, le module de prétraitement 56 permet de modifier les variables Qin, Qgaz et pH afin d'en enlever les informations a priori inutiles. Cela permet notamment de déterminer des descripteurs de l'état du réacteur de manière à mettre les mesures sous une forme plus concise facilitant leur utilisation ultérieure. Ce module peut constituer par exemple une analyse en composantes principales. Un autre exemple de réalisation est l'utilisation d'une grammaire de formes. Dans ce mode de réalisation, le module de prétraitement 56 prétraite les mesures Qin(t), Qgaz(t), pH(t), Qin(t-1), Qgaz(t-1), pH(t-1) en les comparant à des situations de références prédéfinies constituant une grammaire de formes stockée dans les moyens de stockage 50. Les situations de références sont établies par exemple par des experts humains ayant des connaissances théoriques sur les réactions chimiques impliquées par la digestion anaérobie. En d'autres termes, le prétraitement de l'étape 201 consiste en un changement de base. La figure 5 illustre une situation de référence possible, c'est-à-dire un vecteur propre de la nouvelle base. 14 Dans le présent mode de réalisation, on appelle état actuel du réacteur le sextuplet s(t) _ {Qin(t), Qgaz(t), pH(t), Qin(t-1), Qgaz(t-1), pH(t-1)}. Les données prétraitées sont transmises en entrée d'un module de prédiction 57. Une forme possible des données prétraitées est représentée schématiquement sur la figure 5. La suite du procédé fait appel à un ensemble prédéfini d'actions modificatrices du débit d'effluent EAM(DE) et à une fonction d'optimisation du pilotage r(t). Une action modificatrice du débit d'effluent AMDE consiste dans ce mode de réalisation en une opération de modification du débit entrant. L'ensemble EAM(DE) contient par exemple une action modificatrice AMDE1 de diminution du débit entrant, par exemple de -0,2 1/h, une action modificatrice AMDE2 de maintien du débit entrant et une action modificatrice AMDE3 d'augmentation du débit entrant, par exemple de +0,21/h. Les étapes suivantes visent à sélectionner celle de ces actions modificatrices qui remplit le mieux l'objectif global poursuivi tel que spécifié par la fonction d'optimisation r(t). Au sens de l'invention, la fonction d'optimisation du pilotage r(t) est une fonction qui définit le résultat à maximiser pour un pilotage automatique optimal du digesteur 1. Ce résultat souhaité peut revêtir de nombreuses formes auxquelles correspondent à chaque fois une fonction d'optimisation particulière. Par exemple, la fonction d'optimisation r(t) peut être conçue pour maximiser le débit de gaz Qgaz ou pour asservir le débit Qgaz à une caractéristique d'un système disposé en aval du digesteur 1, par exemple asservir ce débit à la consommation de produit de réaction effectuée en aval ou à la capacité de stockage disponible en aval. La fonction d'optimisation r(t) peut aussi être conçue pour maximiser la consommation d'effluent ou pour asservir le débit d'effluent Qin à une caractéristique d'un système disposé en amont du digesteur 1, par exemple asservir le débit entrant d'effluent Qin à un débit ou une capacité disponible en amont. La fonction d'optimisation r(t) peut donc être stationnaire ou varier dans le temps. La fonction d'optimisation r(t) peut également servir à maximiser un rendement de réaction. Elle peut aussi être conçue pour combiner plusieurs des buts précités, ou d'autres, selon une pondération particulière, constante ou variable dans le temps, par exemple en spécifiant l'importance relative du rendement d'épuration par rapport à la quantité de gaz produite ou l'importance du court terme par rapport au long terme. La fonction d'optimisation de pilotage est une traduction mathématique quantitative des bénéfices que l'exploitant entend tirer du fonctionnement du réacteur bactériologique auquel le procédé de pilotage est appliqué. Il appartient à l'exploitant de définir la nature des bénéfices attendus (par exemple quantité de biogaz produite, quantité d'effluent consommée, etc..), et éventuellement l'ordre de priorité entre différents bénéfices attendus. Une fonction d'optimisation de pilotage correspondante peut alors être écrite. Pour affiner l'adéquation entre les objectifs poursuivis et la fonction d'optimisation, il est possible de procéder à des essais et des modifications incrémentielles de cette fonction ou d'utiliser des méthodes d'ajustement de paramètre. Pour cela, à l'étape 202, un module de décision 58 teste si une action modificatrice du débit d'effluent AMDE de l'ensemble EAM(DE) d'actions modificatrices du débit d'effluent n'a pas encore été testée, c'est-à-dire si elle n'a pas encore été sélectionnée à l'étape 203. Comme aucune des actions modificatrices AMDE1, AMDE2 et AMDE3 n'a encore été testée, le procédé passe à l'étape 203. A l'étape 203, le module de décision 58 sélectionne une action modificatrice a tester parmi les actions modificatrices de l'ensemble EAM(DE) qui n'ont pas encore été testées. Par exemple l'action AMDE1 est sélectionnée. L'action sélectionnée, ici l'action AMDE1, est transmise en entrée du module de prédiction 57. On notera que les étapes 202 et 203 sont indépendantes des étapes 200 et 201 est peuvent par exemple être effectuées en parallèle. Lorsque les étapes 201 et 203 ont été effectuées, le procédé passe à l'étape 204. A l'étape 204, le module de prédiction 57 calcule une nouvelle 30 valeur VI d'une fonction valeur, c'est-à-dire l'estimation de la somme actualisée des valeurs à venir de la fonction d'optimisation : Vl=E(LYTr(T)) T>t Où t est l'instant courant, E est le symbole espérance 35 mathématique , r(T) représente la valeur (inconnue au temps courant t) que prendra la fonction d'optimisation au temps T et y est un coefficient d'actualisation. Plus le coefficient y est élevé, plus on maximise la fonction d'optimisation à court terme. Plus le coefficient y est faible, plus on regarde les intérêts à long terme. Le coefficient y peut notamment être égal à 1. Un exemple de fonction d'optimisation r(t) est donné par la formule suivante: Qgaz(t) ]+ r(t) = 2JQga2(t) +2,2 Mga4t) 2.,3e[QminùQin(t)}+ min Qin(t) Qin(t) où 21, 22, 20 et 2u4 désignent des constantes de pondération, Tmin un 10 rendement minimal et Qmin un débit de gaz minimal. La notation [x]+ représente la partie positive de l'expression x. Cette formule signifie que l'on veut maximiser le débit de gaz Qgaz(t) et le rendement d'épuration Qgaz(t)/Qin(t), tout en conservant un débit de gaz supérieur à une quantité prédéterminée Qmin et un 15 rendement supérieur à une quantité prédéterminée Tmin. Le module de prédiction 57 est par exemple constitué d'un réseau de neurones 60, représenté sur la figure 6. Le réseau de neurones 60 comporte une couche cachée 61. Les fonctions de transfert des neurones de la couche cachée 61 sont par exemple des fonctions sigmoïdes. La 20 fonction de transfert du neurone de sortie 62 est par exemple linéaire. Les entrées 63 du module de prédiction 57 reçoivent d'une part la valeur de l'état s(t) du réacteur, c'est-à-dire les mesures Qin(t), Qgaz(t), pH(t), Qin(t-1), Qgaz(t-1), pH(t-1) prétraitées par le module de prétraitement 56 à l'étape 201 et d'autre part l'action modificatrice 25 AMDE sélectionnée par le module de décision 58 à l'étape 203, ici l'action AMIE 1. La sortie 62 du module de prédiction 57 donne le jugement du module de prédiction 57, c'est-à-dire une valeur prédite VI de la fonction d'optimisation r(t) correspondant à l'action modificatrice sélectionnée à 30 l'étape 203. La valeur prédite VI est transmise au module de décision 58. A l'étape 205, le module de décision 58 mémorise le couple action modificatrice - valeur prédite (AMDE1, V1). Lorsque l'étape 205 a été effectuée, le procédé retourne à l'étape 202. A l'étape 202, le module de décision 58 teste si une action 35 modificatrice du débit d'effluent AMDE de l'ensemble EAM(DE) n'a pas encore été testée. Comme les actions AMDE2 et AMDE3 n'ont pas encore été testées, le procédé passe à l'étape 203. 17 A l'étape 203, une action modificatrice à tester est sélectionnée parmi les actions modificatrices de l'ensemble EAM(DE) qui n'ont pas encore été testées. Par exemple l'action AMDE2 est sélectionnée. L'action sélectionnée, ici l'action AMDE2, est transmise en entrée du module de prédiction 57. A l'étape 204, le module de prédiction 57 détermine une valeur prédite V2 de la fonction valeur à partir de l'état actuel s(t) du réacteur et de l'action modificatrice AMDE2. La valeur prédite V2 est transmise au module de décision 58. A l'étape 205, le module de décision 58 mémorise le couple action modificatrice - valeur prédite (AMDE2, V2). Lorsque l'étape 205 a été effectuée, le procédé retourne à l'étape 202. A l'étape 202, le module de décision 58 teste si une action modificatrice AMIDE de l'ensemble EAM(DE) n'a pas encore été testée. Comme l'action modificatrice AMDE3 n'a encore été testée, le procédé passe à l'étape 203. A l'étape 203, une action modificatrice a tester est sélectionnée parmi les actions modificatrices de l'ensemble EAM(DE) qui n'ont pas encore été testées. Dans l'exemple, la seule action restante, c'est-à-dire l'action AMDE3 est sélectionnée. L'action AMDE3 est transmise en entrée du module de prédiction 57. A l'étape 204, le module de prédiction 57 détermine une valeur prédite V3 de la fonction valeur à partir de l'état actuel s(t) du réacteur et de l'action modificatrice AMDE3. La valeur prédite V3 est transmise au module de décision 58. A l'étape 205, le module de décision 58 mémorise le couple action modificatrice -valeur prédite (AMDE3, V3). Lorsque l'étape 205 a été effectuée, le procédé retourne à l'étape 202. A l'étape 202, comme toutes les actions modificatrices de 30 l'ensemble EAM(DE) ont déjà été sélectionnées à l'étape 203, le procédé passe à l'étape 207. A l'étape 207, le module de décision 58 calcule une probabilité associée à chaque valeur prédite Vi, i = 1 à 3, par exemple en utilisant la formule de Gibbs donnée ci-dessous : 35 e R,v E e P Au dénominateur, le somme est étendue à l'ensemble d'actions modificatrices EAM(DE).. Par exemple EAM(DE) _ {-0.2L/h, OL, +0.2L/h}. (3t est un coefficient appelé température inverse qui est prédéterminé ou de préférence calculé par le module de décision 58 selon une méthode expliquée plus bas. A partir des probabilités, le module de décision 58 sélectionne de manière stochastique parmi les actions modificatrices testées AMDE1, AMDE2, AMDE3 celle qui doit être appliquée comme commande. On notera que plus (3t est élevé et plus les probabilités associées aux différentes actions modificatrices AMDE1, AMDE2, AMDE3 sont éloignées les unes des autres, donc plus le module de décision 58 est sensible aux différences entre les valeurs Vi prédites par le module de prédiction 57. Lorsque (3t est faible, au contraire, le choix du module de décision 58 est effectué de manière plus équiprobable. A l'étape 208, l'action modificatrice sélectionnée est transmise comme commande. Par exemple, l'action modificatrice AMDE2 est sélectionnée, et, dans ce cas, CQin(t)=AMDE2. Ce procédé permet de réaliser automatiquement une optimisation en temps réel du débit d'entrée Qin. Le procédé est effectué périodiquement avec un pas de temps défini dans le programme. Le pas de temps optimal pour un réacteur donné dépend de la cinétique chimique des réactions et de l'effluent. Il est par exemple déterminé par une simulation effectuée avant l'initialisation du dispositif de pilotage 35. Détermination d'une commande de pH, CpH(t) Les commandes de pH sont déterminées par un module de prédiction 65 et un module de décision 66 fonctionnant de la même manière que les modules 57 et 58 décrits ci-dessus et exploitant aussi la valeur de l'état du réacteur s(t) fournie par le module de prétraitement 56. En d'autres termes, les étapes du procédé permettant la détermination d'une commande de pH CpH(t) sont similaires aux étapes du procédé permettant la détermination d'une commande de débit entrant CQin(t). Les étapes de réception des mesures et de prétraitement, qui correspondent aux étapes 200 et 201 du procédé décrit précédemment, sont effectuées par le module de prétraitement 56. L'ensemble EAM(DE) d'actions modificatrices du débit entrant est ici remplacé par un ensemble EAM(pH) d'actions modificatrices du pH AMpH. Une action modificatrice du pH AMpH consiste en une opération de modification du pH. L'ensemble EAM(pH) contient par exemple une action modificatrice AMpHl d'accroissement du pH d'une quantité prédéterminée, une action modificatrice AMpH2 de maintien du pH et une action modificatrice AMpH3 de diminution du pH d'une quantité prédéterminée. L'étape de prédiction d'une valeur de la fonction d'optimisation r(t) est effectuée par un module de prédiction 65. Le module de prédiction 65 est similaire au module de prédiction 57. Le module 65 reçoit en entrée l'état du réacteur s(t) et une action modificatrice AMpH de l'ensemble EAM(pH). Les autres étapes sont effectuées par un module de décision 66 similaire au module de décision 58. La sortie du module 66 est une consigne, car, contrairement au débit entrant Qin, le pH ne peut pas être commandé directement de manière instantanée. L'actionneur 17 comporte un module de commande, par exemple un régulateur PID, apte à déterminer si de la soude doit être ajoutée dans le réacteur 2 pour atteindre ou au moins se rapprocher de la consigne, et, le cas échéant, à commander la vanne et la pompe de l'actionneur 17. Ce procédé est itéré moins fréquemment que le procédé permettant la détermination d'une commande de débit entrant CQin(t) car les variations de l'état du réacteur induites par l'ajout de soude ne sont observables qu'à plus long terme. Détermination d'une commande de nutriments, CN(t) Les étapes du procédé permettant la détermination d'une commande de nutriments CN(t) sont similaires aux étapes du procédé permettant la détermination d'une commande de débit entrant CQin(t). Les étapes de réception des mesures et de prétraitement, qui correspondent aux étapes 200 et 201 du procédé décrit précédemment, sont effectuées par le module de prétraitement 56. L'ensemble EAM(DE) d'actions modificatrices du débit entrant est ici remplacé par un ensemble EAM(N) d'actions modificatrices des nutriments AMN. Une action modificatrice des nutriments AMN consiste en une opération de modification des nutriments. L'ensemble EAMN) contient par exemple une action modificatrice AMN1 d'ajout de nutriment et une action modificatrice AMN2 de non ajout de nutriments ou opération neutre. L'étape de prédiction d'une valeur de la fonction d'optimisation r(t) est effectuée par un module de prédiction 67. Le module de prédiction 67 est similaire au module de prédiction 57. Le module 67 reçoit en entrée l'état du réacteur s(t) et une action modificatrice AMN de l'ensemble EAMN). Les autres étapes sont effectuées par un module de décision 68 similaire au module de décision 58. Ce procédé est itéré moins fréquemment que le procédé permettant la détermination d'une commande de débit entrant CQin(t) car les variations de l'état du réacteur induites par l'ajout de nutriments ne sont observables qu'à plus long terme. Détection d'anomalies Le système de commande à intelligence 53 avancée comporte un module de détection d'anomalies 70. Le module 70 reçoit en entrée l'état du réacteur s(t) à chaque pas de temps, à savoir les mesures Qin(t), Qgaz(t), pH(t), Qin(t-1), Qgaz(t-1), pH(t-1) prétraitée par le module de prétraitement 56. L'ensemble des différents états du réacteur au cours du temps forme des points dans un espace de grande dimension. Après un certain temps de fonctionnement, les points accumulés forment un nuage de points délimitant une zone de l'espace correspondant au fonctionnement normal du réacteur. Le module 70 détecte les cas où l'état actuel du réacteur constitue un point éloigné du nuage. Dans ce cas, le module 70 émet par exemple un signal à destination d'une alarme 77 pour signaler un état anormal du réacteur pouvant nécessiter une intervention humaine ou une action correctrice. Module de simulation Pour améliorer la fiabilité du pilotage, le système de commande à intelligence avancée 53 peut comporter un module de simulation 71. Dans ce cas, des étapes supplémentaires, représentées en traits interrompus sur la figure 7, sont effectuées à chaque pas de temps t, en plus des étapes 200 à 205 et 207 à 208, décrites précédemment. 21 Le module de simulation 71 met en oeuvre un modèle dynamique empirique du procédé bactériologique en cours dans le réacteur 2. La fonction du module de simulation 71 est de produire une prédiction de l'état du réacteur au pas de temps suivant, en fonction de l'état actuel et des actions modificatrices en cours d'exécution. Cette prédiction est ensuite comparée à l'état du réacteur effectivement constaté au pas de temps suivant, ce qui donne une mesure quantitative de la véracité, c'est-à-dire de l'exactitude, du modèle de simulation mis en oeuvre. Le module de simulation 71 est réalisé sous la forme d'un réseau de neurones dont l'apprentissage présente une convergence de même vitesse ou plus lente que le réseau de neurones 60 constituant le module de prédiction 57. Ainsi, l'exactitude du module de simulation 71 donne une mesure fidèle ou pessimiste de l'exactitude du module de prédiction 57. Le module de décision 58 s'appuie sur la mesure de véracité du module de simulation 71 pour donner plus ou moins d'importance aux valeurs produites par le module de prédiction 57, qui représentent les bénéfices attendus de chaque action modificatrice envisagée. A l'étape 209, le module de simulation 71 détermine un état simulé ES(t+l) du réacteur à l'instant t+l. Qin(t+l) n'a pas besoin d'être simulé puisque cette valeur est imposée par la commande CQin(t). L'état simulé comprend une valeur simulée du pH SpH(t+l) et une valeur simulée du débit sortant Qgaz SQgaz(t+1). Le module de simulation 71 est par exemple réalisé à partir d'un réseau de neurones 72 représenté sur la figure 8. Le réseau de neurones 72 comporte une couche cachée 73 qui comprend par exemple environ vingt neurones. Les fonctions de transfert des neurones de la couche cachée 73 sont par exemple des fonctions sigmoïdes. La fonction de transfert des neurones de sortie 74 et 75 du réseau de neurones 72 sont par exemple linéaires. Les entrées 76 du réseau de neurones 71 reçoivent l'état du réacteur s(t) prétraitées par le module de prétraitement 56 à l'étape 201 et les actions modificatrices AMDE, AMpH et AMN sélectionnées par les modules de décision 58, 66 et 68, c'est-à-dire les commandes CQin(t), CpH(t) et CN(t). La sortie 74 correspond à une valeur simulée du pH SpH(t+1). La sortie 75 correspond à une valeur simulée du débit sortant SQgaz(t+1). Les valeurs SpH(t+l) et SQgaz(t+l) sont transmises au module de décision 58, de manière que celui-ci puisse les utiliser pour calculer une valeur du coefficient (3t lors du pas de temps suivant. Lors du pas de temps suivant, t+l devient t . A l'étape 206, qui est par exemple effectuée à la suite de l'étape 202 lorsqu'il ne reste plus d'action modificatrice AMDE à tester, le module de décision 58 compare l'état simulé ES(t) du réacteur à l'instant t, déterminé par le module de simulation 71 à l'étape 209 décrite en détail plus haut, avec l'état mesuré EM(t) au temps t. L'état mesuré EM(t) comporte les mesures pH(t) et Qgaz(t). Le module de décision 58 fixe la valeur du coefficient (3t en fonction de la différence entre l'état simulé ES(t) et l'état mesuré EM(t). Dans ce cas, à l'étape 207, les probabilités sont calculées avec le coefficient (3t déterminé à l'étape 206. Le réglage du coefficient (3t permet de contrôler la stochastique du choix de la commande à effectuer. Ainsi, le module de décision 58 ajuste le coefficient (3t selon la véracité de la simulation produite par le module de simulation 71 à l'instant t de manière à accroître Bt lorsque cette véracité est élevée et à réduire Bt lorsque cette véracité est faible. Comme indiqué, les boucles de commande du débit entrant d'effluent, du pH et des nutriments n'ont pas nécessairement le même pas de temps. Le module de simulation 71 travaille de préférence au même pas de temps que les modules 57 et 58. Ici, CpH(t) et CN(t) désignent en fait la dernière commande de pH et la dernière commande de nutriment ayant été émises. Les valeurs SpH(t+l) et SQgaz(t+l) sont également transmises au module de mesure d'erreur 55. Le module 55 détermine, en fonction de l'écart entre une valeur simulée et une valeur mesurée, si la commande doit être effectuée par le système de commande à intelligence avancée 53 ou par le système de commande à intelligence réduite 42. Par exemple, si SpH(t+l)-pH(t+l) >S, S étant un seuil prédéterminé, la commande est effectuée par le système de commande à intelligence réduite 42. En d'autres termes, le module de mesure d'erreur 55 se base sur la mesure d'erreur du module de simulation 71 pour juger si le système de commande à intelligence avancée 53 est suffisamment entraîné pour pouvoir exercer de manière autonome la commande du réacteur. Dans le 23 cas contraire c'est le système de commande à intelligence réduite 42 qui prend la main. Cela correspond à l'étape 102 décrite précédemment. Apprentissage En se référant à la figure 10, on va maintenant décrire l'apprentissage du réseau de neurone 60 du module de prédiction 57. L'apprentissage consiste à prendre en compte des expériences passées, à plus ou moins long terme, pour mettre à jour les poids du réseau de neurones. Au temps t, un module de calcul 81 reçoit en entrée la valeur courante des arguments de la fonction r(t), ou du moins la valeur courante des mesures à partir desquelles ces arguments sont déterminables, à savoir ici Qgaz(t) et Qin(t), et produit en sortie une valeur calculée r(t) de la fonction d'optimisation à l'instant t. Un module d'apprentissage par renforcement 80 reçoit du module de calcul de la fonction d'optimisation 81 la valeur calculée r(t) de la fonction d'optimisation. Le module d'apprentissage par renforcement 80 reçoit également les valeurs V(t-1) et V(t) correspondantes, prédites par le module 57 au temps t-1 et au temps courant t. A partir de ces valeurs, le module d'apprentissage 80 effectue le calcul de la différence temporelle 8(t-1)=V(t-1)-(r(t)+yV(t)) qui sert de signal d'erreur pour la mise à jour des poids du réseau de neurones. On notera que les valeurs de la fonction r(t) sont calculées pour le passé et estimées pour l'avenir. Cette mise à jour est effectuée par exemple par un algorithme de rétropropagation des erreurs. Le procédé ainsi utilisé est un algorithme d'apprentissage par renforcement par différence temporelle et avec approximation par réseaux de neurones. Il est décrit en détail dans le livre Neuro Dynamic programming de D.Berstekas et J.Tsitsiklis, publié chez Athena Scientific (1996). De cette manière, le réseau de neurones 60 se règle au fur et à mesure des itérations du procédé de manière à apprendre à prédire la valeur que va prendre la somme actualisée des valeurs de la fonction d'optimisation en fonction de l'état actuel du réacteur s(t) et de l'action modificatrice envisagée. Lorsqu'il est réglé, les poids du réseau de neurones 60 sont sauvegardés dans une base de données. Ainsi, si le même effluent est rencontré ultérieurement, les poids du réseau de neurones lui correspondant peuvent être directement chargés. Cela peut également permettre le démarrage d'un autre module de prédiction à partir des poids du réseau de neurones 60. L'apprentissage des réseaux de neurones des modules de prédictions 65 et 67 est effectué de manière similaire. L'apprentissage du réseau de neurones 72 du module de simulation 71 est effectué par un module d'apprentissage (non représenté) similaire au module d'apprentissage 80. Le module d'apprentissage du module de simulation reçoit l'état mesuré EM(t) et l'état simulé ES(t) et emploie le même type d'algorithme. Le réglage du module de simulation 71 est plus lent que le réglage du module de prédiction 57. Lorsque le coefficient Bt est très élevé, le moindre écart entre deux valeurs Vi produites par le module de prédiction 57 se traduit par une différence importante de probabilité d'exécution entre les deux actions modificatrices correspondantes. Cela permet de sélectionner la meilleure action modificatrice possible lorsque le module de prédiction 57 est bien réglé. Inversement, lorsque Bt est faible, les écarts entre les valeurs Vi influent faiblement sur les probabilités d'exécution des actions modificatrices. Cela permet de sélectionner une action modificatrice de manière plus aléatoire lorsque le module de prédiction 57 n'est pas encore réglé afin de laisser s'exécuter des actions modificatrices déconseillées par le module de prédiction 57. Plus le système de commande laisse le réacteur 2 atteindre des états de fonctionnement non encore explorés, plus l'apprentissage des réseaux de neurones s'enrichit, ce qui tend à accroître leur fiabilité. Module de prédiction unique En se référant à la figure 9, on va maintenant décrire un deuxième mode de réalisation du système de commande à intelligence avancée 53 dans lequel les modules de prédiction 57, 65 et 67 sont remplacés par un module de prédiction 157 unique. Les étapes 300 et 301 sont similaires aux étapes 200 et 201. A l'étape 302, un module de décision 158 teste si une action modificatrices AM d'un ensemble EAM d'actions modificatrices n'a pas encore été testée, c'est-à-dire si elle n'a pas encore été sélectionnée à l'étape 303. Une action modificatrice AM contient dans ce mode de réalisation une opération de modification du débit entrant, une opération de 25 modification du pH et une opération de modification des nutriments. En d'autres termes, une action modificatrice AM du deuxième mode de réalisation est un vecteur construit à partir d'une action modificatrice du débit d'effluent AMDE selon le premier mode de réalisation, d'une action modificatrice du pH AMpH selon le premier mode de réalisation, et d'une action modificatrice des nutriments AMN selon le premier mode de réalisation. L'ensemble EAm contient par exemple toutes les combinaisons d'une action modificatrice du débit d'effluent AMDE, d'une action modificatrice du pH AMpH et d'une action modificatrice des nutriments AMN. Dans l'exemple décrit ici, l'ensemble EAm contient douze actions modificatrices : AM11=(AMDE3, AMpH2, AMN2) et AM12=(AMDE3, AMpH2, AMN1). Comme aucune des actions modificatrices AMI à AM12 n'a encore été testée, le procédé passe à l'étape 303. L'étape 303 est similaire à l'étape 203. Par exemple l'action AMI est sélectionnée et transmise en entrée du module de prédiction 157. A l'étape 304, le module de prédiction 158 calcule une valeur de la fonction d'optimisation du pilotage r(t). Le module de prédiction 157 est par exemple réalisé à partir d'un réseau de neurones (non représenté). Les entrées du réseau de neurones reçoivent l'état actuel du réacteur s(t) prétraitées par le module de prétraitement 156 à l'étape 301 et l'action modificatrice AMI sélectionnée par le module de décision 158 à l'étape303. On notera que, contrairement au premier mode de réalisation décrit, le module de prédiction 157 reçoit en entrée une action modificatrice AMj qui comprend à la fois une opération modificatrice du débit d'effluent, une opération modificatrice du pH et une opération modificatrice des nutriments. A partir de ces entrées, le module de prédiction 157 prédit une valeur V; de la somme actualisée des valeurs estimées de la fonction d'optimisation r(t). Ce calcul est effectué de manière similaire au AM1=(AMDE1, AMIDE' 1, AMN1), AM2=(AMDE1, AMpH 1, AMN2), AM3=(AMDE1, AMpH2, AMN2), AM4=(AMDE1, AMpH2, AMN1), AM5 (AMDE2, AMpH1, AMN1), AM6=(AMDE2, AMpH1, AMN2), AM7=(AMDE2, AMpH2, AMN2), AM8=(AMDE2, AMpH2, AMN1), AM9=(AMDE3, AMpH 1, AMN1), AM10=(AMDE3, AMpH 1, AMN2), 26 premier mode de réalisation. La valeur prédite Vi est transmise au module de décision 158. A l'étape 305, le module de décision 158 mémorise le couple action modificatrice û valeur prédite (AMj, Vi). Lorsque l'étape 305 a 5 été effectuée, le procédé retourne à l'étape 302. Plusieurs boucles sont ainsi effectuées de manière similaire jusqu'à ce que toutes les actions modificatrices AM de l'ensemble EAM aient été testées. Dans notre exemple, la boucle est effectuée 12 fois. Lors du treizième passage dans la boucle, à l'étape 302, comme 10 toutes les actions modificatrices de l'ensemble EAM ont déjà été sélectionnées à l'étape 303, le procédé passe à l'étape 307. Les étapes 307 et 308 sont similaires aux étapes 207 et 208. Le procédé conduit donc à sélectionner simultanément une opération modificatrice du débit d'effluent, une opération modificatrice du pH et 15 une opération modificatrice des nutriments. Un module de simulation 171, similaire au module de simulation 71, peut être prévu pour effectuer des étapes 306 et 307 similaires aux étapes 206 et 207 décrites dans le deuxième mode de réalisation. D'autres variantes peuvent utiliser d'autres algorithmes 20 d'apprentissage. Par exemple, le module de prédiction (57) et le module de décision (58) peuvent être remplacés par un unique module de recherche directe de politique qui reçoit en entrée la valeur de l'état s(t) du réacteur, c'est-à-dire les mesures Qin(t), Qgaz(t), pH(t), Qin(t-1), Qgaz(t-1), pH(t-1) prétraitées par le module de prétraitement (56), et qui 25 donne directement en sortie une action modificatrice à effectuer. On peut par exemple utiliser un réseau de neurones à une sortie (60) ou des machines à vecteurs de support. En particulier ce module de recherche directe de politique n'a pas besoin d'une liste prédéfinie d'actions modificatrices possibles. Dans la variante utilisant des réseaux de 30 neurones, l'apprentissage peut s'effectuer par une analyse de sensibilité des performances par rapport à un paramètre de contrôle, tel que cela est décrit en détail dans le document Policy Gradient in Continuous Time , Journal of Machine Learning Research 2006 et dans la Conférence francophone sur l'apprentissage, 2005. 35 Le dispositif de pilotage informatique peut être utilisé sur d'autres types de réacteurs et/ou avec des bactéries aptes à produire d'autres 27 produits de réaction valorisables, par exemple de l'hydrogène ou de l' éthanol. Le nombre d'actions modificatrices d'un ensemble d'actions modificatrices peut être différent des exemples donnés ci-dessus. D'autres paramètres de contrôle que ceux qui ont été considérés ci-dessus, à savoir le pH, le débit entrant d'effluent et l'ajout de nutriments, pourraient être optimisés par le dispositif de pilotage, par exemple l'ajout d'anti-mousse, l'ajout de bactéries et autres. Pour chaque paramètre à optimiser, une catégorie correspondante d'action modificatrice doit être définie et mémorisée dans le système de commande. Le système de commande à intelligence avancée peut donc être mis en oeuvre avec plus ou moins de catégories d'actions modificatrices que dans les modes de réalisation décrits. Par exemple, le pH pourrait être contrôlé sans être optimisé par le système de commande à intelligence avancée, par exemple par un régulateur PID classique contrôlant la valeur du pH pour que celui-ci se maintienne à une valeur de consigne. D'autres paramètres d'état que ceux qui ont été considérés ci-dessus, à savoir le pH, le débit entrant d'effluent et le débit sortant de gaz, peuvent être pris en compte pour caractériser l'état du réacteur. Pour chaque paramètre d'état à prendre en compte, un dispositif de mesure ou capteur correspondant doit être prévu. Par conséquent, le système de commande à intelligence avancée peut être mis en oeuvre avec plus ou moins de paramètres d'état du réacteur que dans les modes de réalisation décrits ci-dessus. Par exemple, le pilotage peut être effectué selon les mêmes principes sans utiliser de mesure de pH dans le système de commande à intelligence avancée, y compris lorsque le système de commande à intelligence avancée fixe les consignes de pH ou commande l'alimentation en soude. En d'autres termes, il n'est pas nécessaire de prévoir une correspondance terme à terme entre les mesures de l'état du réacteur reçu en entrée sur le système de commande à intelligence avancée et les catégories d'action modificatrice commandées par ce système. Il suffit que les paramètres d'états mesurés au niveau du réacteur permettent de calculer les arguments de la fonction d'optimisation et donc la valeur courante de cette fonction par le module de calcul 81. Le dispositif de pilotage selon l'invention peut être réalisé en tant qu'appareil dont la conception matérielle est spécifique à cette fin, ou en tant qu'appareil de conception matériel classique, par exemple des ordinateurs génériques, programmés au moyen de programmes d'ordinateur spécifiques à cette fin, ou en tant que combinaison des deux types d'appareils. Le dispositif de pilotage selon l'invention peut aussi être réalisé en tant que programme d'ordinateur. Au sens de l'invention, un programme d'ordinateur comporte des codes d'instruction aptes à être lus ou stockés sur un support et exécutables par un ordinateur ou un appareil similaire. Bien que l'invention ait été décrite en relation avec plusieurs modes de réalisations particuliers, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. REVENDICATIONS 1. Procédé de pilotage d'un réacteur (2) de traitement bactériologique d'un substrat produisant un produit de réaction valorisable, ledit réacteur (2) comportant un actionneur (7) pour piloter l'admission de substrat dans ledit réacteur (2), ledit procédé de pilotage comprenant les étapes consistant à : a) mesurer un état du réacteur, ledit état du réacteur incluant une mesure de débit sortant (Qgaz(t)) effectuée à l'aide d'un capteur de débit sortant (31) de produit de réaction, b) en fonction de l'état mesuré, utiliser une fonction d'optimisation du pilotage définissant un résultat à maximiser pour choisir une action modificatrice tendant statistiquement à maximiser ladite fonction d'optimisation du pilotage grâce à un algorithme d'apprentissage, c) et exécuter ladite action modificatrice. 2. Procédé de pilotage selon la revendication 1, caractérisé en ce que, à l'étape a), ledit état dudit réacteur inclut une mesure de pH effectuée à l'aide d'un capteur de pH. 3. Procédé de pilotage selon la revendication 1 ou 2, caractérisé en ce que l'étape b) comprend les sous-étapes consistant à : d) envisager (203, 303) une action modificatrice (AMDE, AMpH, AMN, AM) de l'état du réacteur et prédire (204, 304) une évolution de ladite fonction d'optimisation du pilotage (r(t)) en réponse à ladite action modificatrice, ladite action modificatrice incluant au moins une opération appartenant à au moins une catégorie d'opération respective, e) répéter l'étape d) pour un ensemble prédéterminé d'actions modificatrices, ledit ensemble prédéterminé d'actions modificatrices (EAM(DE), EAM(pH), EAM(N), EAM) incluant au moins une action modificatrice incluant une opération de la catégorie modification du débit entrant de substrat, f) en fonction desdites variations de ladite fonction d'optimisation du pilotage prédites à l'étape d), choisir (207, 307) une action modificatrice dans ledit ensemble prédéterminé d'actions modificatrices. 30 4. Procédé de pilotage selon la revendication 3, caractérisé en ce que l'évolution de ladite fonction d'optimisation du pilotage (r(t)) comprend l'espérance statistique d'une somme pondérée de valeurs futures de ladite fonction d'optimisation du pilotage. 5. Procédé de pilotage selon la revendication 3 ou 4, caractérisé en ce que la catégorie modification du débit entrant inclut une opération de maintien du débit entrant, une opération d'augmentation du débit entrant et une opération de diminution du débit entrant. 6. Procédé de pilotage selon l'une quelconque des revendications 3 à 5, caractérisé en ce que ledit réacteur (2) comporte un actionneur (17) pour piloter l'admission d'un agent de régulation du pH dans ledit réacteur, ledit ensemble prédéterminé d'actions modificatrices (EAM(pH), EAM) incluant au moins une action modificatrice (AMpH) incluant une opération de la catégorie modification du pH. 7. Procédé de pilotage selon la revendication 6, caractérisé en ce que la catégorie modification du pH inclut une opération d'augmentation du pH, une opération de maintien du pH et une opération de diminution du pH. 8. Procédé de pilotage selon l'une quelconque des revendications 3 à 7, caractérisé en ce que ledit réacteur comporte un actionneur (18) pour piloter l'admission de nutriments dans ledit réacteur (2), ledit ensemble prédéterminé d'actions modificatrices (EAMN), EAM) incluant au moins une action modificatrice (AMpH) incluant une opération de la catégorie modification des nutriments. 9. Procédé de pilotage selon la revendication 8, caractérisé en ce que la catégorie modification des nutriments inclut une opération d'ajout de nutriments et une opération neutre. 10. Procédé selon l'une quelconque des revendications 3 à 9, caractérisé en ce que chaque action modificatrice (AM) inclut la combinaison d'une pluralité d'opérations (AMDE, AMpH, AMN) appartenant à plusieurs catégories d'opérations respectives, chacune desdites opérations étant choisie parmi une pluralité d'opérations prédéterminées associée à la catégorie d'opération. 31 11. Procédé de pilotage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que l'étape a) comporte une sous-étape consistant à traiter (201) les mesures (Qin(t), pH(t), Qgaz(t)) effectuées à l'étape a) à l'aide d'une reconnaissance de motif, pour produire des données de mesures prétraitées, lesdites données de mesures prétraitées étant prises en compte à l'étape b) pour choisir ladite action modificatrice. 12. Procédé de pilotage selon l'une quelconque des revendications 1 à 11, caractérisé en ce que l'étape b) est réalisée par un module de prédiction (57, 65, 67, 157) comportant un réseau de neurones (60). 13. Procédé de pilotage selon la revendication 3 prise seule ou en combinaison avec l'une quelconque des revendications 4 à 12, caractérisé en ce que l'étape f) comprend les sous-étapes consistant à : - Calculer (207), à partir desdites évolutions prédites à l'étape d), une probabilité associée à chaque action modificatrice envisagée, et - choisir l'action modificatrice par tirage aléatoire en fonction des probabilités calculées. 16. Procédé de pilotage selon la revendication 13, caractérisé en ce que le calcul des probabilités est effectué par la formule de Gibbs. 17. Procédé de pilotage selon la revendication 13 ou 14, caractérisé en ce qu'il comprend une étape g) consistant à prédire (209) un état du réacteur à un instant ultérieur à partir desdites mesures effectuées à l'étape a), et de l'action modificatrice choisie à l'étape f), et une étape consistant à comparer (206) l'état prédit à l'étape g) pour un instant donné t avec l'état mesuré du réacteur à l'instant donné t pour déterminer un paramètre de véracité 03t) de ladite prédiction, et calculer la probabilité associée à chaque action modificatrice en fonction dudit paramètre de véracité, les probabilités étant déterminées en fonction du paramètre de véracité de manière à amplifier les écarts entre les probabilités lorsque le paramètre de véracité est élevé et à diminuer les écarts entre les probabilités lorsque le paramètre de véracité est faible. 32 16. Procédé de pilotage selon la revendication 15, caractérisé en ce que l'étape g) est effectuée par un module de simulation (71) comportant un réseau de neurones (72). 17. Procédé de pilotage selon la revendication 16 prise en combinaison avec la revendication 12, caractérisé en ce que ledit module de simulation (71) présente une vitesse d'apprentissage inférieure ou égale à la vitesse d'apprentissage dudit module de prédiction (60). 18. Procédé de pilotage selon l'une quelconque des revendications 1 à 17, caractérisé en ce que ladite fonction d'optimisation du pilotage (r(t)) est fonction d'au moins une variable choisie parmi un rendement de réaction, un débit sortant (Qgaz) de produit de réaction, une capacité de stockage disponible pour ledit produit de réaction et une quantité de substrat disponible. 19. Procédé de pilotage selon l'une quelconque des revendications 1 à 18, caractérisé en ce que le réacteur (2) est un réacteur de digestion anaérobie de substrat organique. 20. Procédé de pilotage selon l'une quelconque des revendications 1 à 19, caractérisé en ce que le produit de réaction valorisable inclut du méthane. 21. Procédé de pilotage selon l'une quelconque des revendications 1 à 20, caractérisé en ce que le produit de réaction valorisable inclut de l'hydrogène. 22. Procédé de pilotage selon l'une quelconque des revendications 1 à 21, caractérisé en ce que le produit de réaction valorisable inclut de l'éthanol. 23. Dispositif de pilotage destiné à piloter un réacteur (2) de traitement bactériologique d'un substrat produisant un produit de réaction valorisable, ledit dispositif comportant des entrées de mesure destinées à recevoir des mesures depuis des capteurs (30, 31) pour mesurer un état du réacteur (EM), lesdites entrées de mesure incluant une entrée de mesure de débit sortant destinée à recevoir une mesure de débit sortant de produit de réaction (Qgaz), 33 ledit dispositif comportant des moyens aptes à choisir, en fonction des mesures reçues, une action modificatrice tendant statistiquement à maximiser une fonction d'optimisation du pilotage grâce à un algorithme d'apprentissage, ladite fonction d'optimisation du pilotage (r(t)) définissant un résultat à maximiser, et à émettre un ordre d'exécution de ladite action modificatrice choisie au niveau d'une sortie de commande destinée à être connectée à des actionneurs (7, 17, 18) dudit réacteur. 24. Dispositif de pilotage selon la revendication 23, caractérisé en ce que ledit dispositif est relié à des moyens de stockage (50) pour mémoriser un ensemble prédéterminé d'actions modificatrices (AM, AMDE, AMpH, AMN) de l'état du réacteur, chaque action modificatrice incluant au moins une opération appartenant à au moins une catégorie d'opération respective, ledit ensemble prédéterminé incluant au moins une action modificatrice incluant une opération de la catégorie modification du débit entrant de substrat, ledit dispositif comportant un module de prédiction (57, 65, 67, 157) apte à prédire, en fonction des mesures reçues, une variation de ladite fonction d'optimisation du pilotage (r(t)) associée respectivement à chaque action modificatrice dudit ensemble d'actions modificatrices, et un module de décision (58, 66, 68, 158) apte, en fonction desdites variations prédites par ledit module de prédiction, à choisir une action modificatrice dans ledit ensemble prédéterminé d'actions modificatrices et à émettre un ordre d'exécution de ladite action modificatrice choisie au niveau de ladite sortie de commande. 25. Dispositif de pilotage selon la revendication 23 ou 24, caractérisé en ce qu'il comporte un système local (36) situé à proximité du réacteur et incluant lesdits capteurs et lesdits actionneurs et un système distant (37) incluant le module de décision et le module de prédiction et des moyens de communication pour permettre la communication entre le système local et le système distant.