La commande prédictive par modèle ( MPC ) est une méthode avancée de contrôle de processus permettant de piloter un processus tout en respectant un ensemble de contraintes. Les contrôleurs MPC s'appuient sur des modèles dynamiques du processus, le plus souvent des modèles empiriques linéaires obtenus par identification de système . Le principal avantage de la MPC réside dans sa capacité à optimiser l'intervalle de temps actuel tout en anticipant les intervalles futurs. Ceci est réalisé en optimisant un horizon temporel fini, mais en n'appliquant que l'intervalle de temps actuel, puis en réoptimisant de manière itérative, contrairement à un régulateur linéaire-quadratique ( LQR ). La MPC a également la capacité d'anticiper les événements futurs et d'adapter les actions de contrôle en conséquence. Les régulateurs PID ne possèdent pas cette capacité de prédiction. La MPC est presque systématiquement implémentée sous forme de commande numérique , bien que des recherches soient menées pour obtenir des temps de réponse plus rapides grâce à des circuits analogiques spécialement conçus.
Il est utilisé dans les industries de transformation , notamment dans les usines chimiques et les raffineries de pétrole, depuis les années 1980. Ces dernières années, il a également été utilisé dans les modèles d'équilibrage des réseaux électriques et dans l'électronique de puissance .
Les modèles utilisés en MPC sont généralement conçus pour représenter le comportement de systèmes dynamiques complexes et simples . La complexité supplémentaire de l'algorithme de commande MPC n'est généralement pas nécessaire pour assurer une commande adéquate des systèmes simples, souvent bien contrôlés par des régulateurs PID génériques . Parmi les caractéristiques dynamiques courantes difficiles à gérer pour les régulateurs PID, on peut citer les retards importants et les dynamiques d'ordre élevé. Les modèles MPC prévoient l'évolution des variables dépendantes du système modélisé suite aux variations des variables indépendantes . Dans un procédé chimique, les variables indépendantes ajustables par le régulateur sont souvent soit les consignes des régulateurs PID (pression, débit, température, etc.), soit l'élément de contrôle final (vannes, registres, etc.). Les variables indépendantes non ajustables par le régulateur sont utilisées comme perturbations. Les variables dépendantes de ces procédés sont d'autres mesures représentant soit les objectifs de contrôle, soit les contraintes du procédé. Le MPC utilise les mesures actuelles de l'installation, l'état dynamique actuel du procédé, les modèles MPC, ainsi que les valeurs cibles et limites des variables de procédé pour calculer les modifications futures des variables dépendantes. Ces modifications sont calculées de manière à maintenir les variables dépendantes au plus près de leurs valeurs cibles, tout en respectant les contraintes sur les variables indépendantes et dépendantes. Le MPC n'applique généralement que la première modification de chaque variable indépendante et répète le calcul lorsque la modification suivante est nécessaire. Bien que de nombreux processus réels ne soient pas linéaires, ils peuvent souvent être considérés comme approximativement linéaires sur une petite plage de fonctionnement. Les approches MPC linéaires sont utilisées dans la majorité des applications, le mécanisme de rétroaction du MPC compensant les erreurs de prédiction dues à l'inadéquation structurelle entre le modèle et le processus. Dans les contrôleurs prédictifs composés uniquement de modèles linéaires, le principe de superposition de l'algèbre linéaire permet d'additionner les effets des variations de plusieurs variables indépendantes afin de prédire la réponse des variables dépendantes. Ceci simplifie le problème de contrôle à une série de calculs matriciels directs, rapides et robustes. Lorsque les modèles linéaires ne sont pas suffisamment précis pour représenter les non-linéarités réelles d'un procédé, plusieurs approches peuvent être utilisées. Dans certains cas, les variables du procédé peuvent être transformées avant et/ou après le modèle MPC linéaire afin de réduire la non-linéarité. Le procédé peut être piloté par un MPC non linéaire qui utilise un modèle non linéaire directement dans l'application de contrôle. Ce modèle non linéaire peut prendre la forme d'un ajustement de données empiriques (par exemple, des réseaux de neurones artificiels) ou d'un modèle dynamique haute fidélité basé sur les bilans fondamentaux de masse et d'énergie. Le modèle non linéaire peut être linéarisé pour obtenir un filtre de Kalman ou spécifier un modèle pour un MPC linéaire. La commande prédictive (MPC) repose sur l'optimisation itérative à horizon fini d'un modèle de système. À l'instant t, l'état actuel du système est échantillonné et une stratégie de commande minimisant le coût est calculée (via un algorithme de minimisation numérique) pour un horizon temporel futur relativement court. Plus précisément, un calcul en ligne, ou à la volée, est utilisé pour explorer les trajectoires d'état issues de l'état actuel et trouver (par la résolution des équations d'Euler-Lagrange ) une stratégie de commande minimisant le coût jusqu'à l'instant t . Seule la première étape de la stratégie de commande est implémentée, puis l'état du système est échantillonné à nouveau et les calculs sont répétés à partir du nouvel état actuel, ce qui donne une nouvelle commande et une nouvelle trajectoire d'état prédite. L'horizon de prédiction est continuellement décalé, et c'est pourquoi la MPC est également appelée commande à horizon glissant . Bien que cette approche ne soit pas optimale, elle a donné en pratique d'excellents résultats. De nombreuses recherches universitaires ont été menées pour trouver des méthodes rapides de résolution des équations de type Euler-Lagrange, pour comprendre les propriétés de stabilité globale de l'optimisation locale du MPC et, en général, pour améliorer la méthode MPC. La commande prédictive par modèle est un algorithme de commande multivariable qui utilise : Voici un exemple de fonction de coût quadratique pour l'optimisation : sans enfreindre les contraintes (limites basses/hautes) avec etc.Théorie derrière le MPC

Principes du MPC
MPC non linéaire
La commande prédictive non linéaire (NMPC) est une variante de la commande prédictive qui se caractérise par l'utilisation de modèles de systèmes non linéaires pour la prédiction. Comme pour la commande prédictive linéaire, la NMPC requiert la résolution itérative de problèmes de commande optimale sur un horizon de prédiction fini. Alors que ces problèmes sont convexes en commande prédictive linéaire, ils ne le sont plus nécessairement en commande prédictive non linéaire. Ceci pose des défis tant pour la théorie de la stabilité que pour la résolution numérique de la NMPC.
La résolution numérique des problèmes de commande optimale NMPC repose généralement sur des méthodes de commande optimale directe utilisant des schémas d'optimisation de type Newton, selon l'une des variantes suivantes : tir direct unique , tir direct multiple ou collocation directe . Les algorithmes NMPC exploitent généralement la similarité entre les problèmes de commande optimale successifs. Ceci permet d'initialiser efficacement la procédure de résolution de type Newton par une estimation décalée de la solution optimale précédemment calculée, ce qui représente un gain de temps de calcul considérable. La similarité des problèmes successifs est encore davantage exploitée par les algorithmes de suivi de chemin (ou « itérations en temps réel ») qui ne cherchent jamais à faire converger un problème d'optimisation , mais effectuent seulement quelques itérations vers la solution du problème NMPC le plus récent avant de passer au suivant, préalablement initialisé ; voir, par exemple, Une autre approche prometteuse pour les problèmes d'optimisation non linéaire consiste à utiliser une méthode d'optimisation randomisée. Les solutions optimales sont trouvées en générant des échantillons aléatoires qui satisfont aux contraintes dans l'espace de solutions et en trouvant l'optimal en fonction de la fonction de coût.
Alors que les applications de commande prédictive non linéaire (NMPC) étaient par le passé principalement utilisées dans les industries de procédés et chimiques avec des fréquences d'échantillonnage relativement faibles, la NMPC est de plus en plus employée, grâce aux progrès réalisés au niveau du matériel de contrôle et des algorithmes de calcul, comme le préconditionnement dans des applications à fréquences d'échantillonnage élevées, par exemple dans l'industrie automobile, ou même lorsque les états sont distribués dans l'espace ( systèmes à paramètres distribués ) . Dans le domaine aérospatial, la NMPC a récemment été utilisée pour suivre en temps réel des trajectoires optimales de suivi/évitement de terrain
MPC explicite
La commande prédictive explicite (eMPC) permet une évaluation rapide de la loi de commande pour certains systèmes, contrairement à la commande prédictive en ligne. L'eMPC repose sur la programmation paramétrique , où la solution du problème de commande, formulé comme un problème d'optimisation, est précalculée hors ligne . Cette solution hors ligne, c'est-à-dire la loi de commande, est souvent sous la forme d'une fonction affine par morceaux (PWA). Le contrôleur eMPC stocke donc les coefficients de la PWA pour chaque sous-ensemble (région de commande) de l'espace d'état où la PWA est constante, ainsi que les coefficients de représentations paramétriques de toutes les régions. Chaque région se révèle géométriquement être un polytope convexe pour la commande prédictive linéaire, généralement paramétré par les coefficients de ses faces, ce qui nécessite une analyse de la précision de la quantification . L'obtention de la commande optimale se réduit alors à déterminer la région contenant l'état actuel, puis à évaluer la PWA à l'aide des coefficients stockés pour toutes les régions. Si le nombre total de régions est faible, la mise en œuvre de l'eMPC ne requiert pas de ressources de calcul importantes (comparativement au MPC en ligne) et est particulièrement adaptée aux systèmes de commande à dynamique rapide. Un inconvénient majeur de l'eMPC réside dans la croissance exponentielle du nombre total de régions de commande en fonction de certains paramètres clés du système contrôlé, comme le nombre d'états. Ceci augmente considérablement les besoins en mémoire du contrôleur et rend la première étape de l'évaluation PWA, c'est-à-dire la recherche de la région de commande courante, très coûteuse en calcul.
MPC robuste
Les variantes robustes de la commande prédictive par modèle (MPC) permettent de prendre en compte les perturbations bornées tout en garantissant le respect des contraintes d'état. Quelques-unes des principales approches de la MPC robuste sont présentées ci-dessous.
- Commande prédictive min-max . Dans cette formulation, l'optimisation est réalisée en considérant toutes les évolutions possibles de la perturbation. Il s'agit de la solution optimale aux problèmes de commande robuste linéaire , mais elle présente un coût de calcul élevé. L'idée fondamentale de l'approche MPC min-max est de transformer l'optimisation « min » en ligne en un problème « min-max », minimisant le pire cas de la fonction objectif, maximisée sur l'ensemble des systèmes possibles de l'ensemble d'incertitude.
- MPC à contraintes renforcées . Ici, les contraintes d'état sont élargies d'une marge donnée afin qu'une trajectoire puisse être garantie sous toute évolution de perturbation.
- Le MPC tubulaire utilise un modèle nominal indépendant du système et un contrôleur à rétroaction pour garantir la convergence de l'état réel vers l'état nominal. L'écart requis par rapport aux contraintes d'état est déterminé par l'ensemble des invariants positifs robustes (RPI), qui représente l'ensemble de toutes les déviations d'état possibles pouvant être introduites par une perturbation avec le contrôleur à rétroaction.
- La commande prédictive multi-étapes (MPC multi-étapes ) utilise une formulation arborescente de scénarios en approximant l'espace d'incertitude par un ensemble d'échantillons. Cette approche non conservative tient compte du fait que les informations de mesure sont disponibles à chaque étape de la prédiction et que les décisions prises à chaque étape peuvent être différentes et servir de recours pour contrer les effets des incertitudes. Son principal inconvénient réside toutefois dans le fait que la taille du problème croît exponentiellement avec le nombre d'incertitudes et l'horizon de prédiction.
- Commande prédictive multi-étapes améliorée par tube . Cette approche combine la commande prédictive multi-étapes et la commande prédictive basée sur un tube. Elle offre une grande liberté pour choisir le compromis optimal entre optimisation et simplicité grâce à la classification des incertitudes et au choix des lois de commande dans les prédictions.
Logiciel MPC
Des logiciels commerciaux de commande prédictive (MPC) sont disponibles et comprennent généralement des outils d' identification et d'analyse de modèles, de conception et de réglage de contrôleurs, ainsi que d'évaluation de leurs performances. Une étude des logiciels disponibles sur le marché a été réalisée par SJ Qin et TA Badgwell dans Control Engineering Practice 11 (2003) 733–764.
Les logiciels libres et open source disponibles pour la commande prédictive (non linéaire) comprennent notamment :
- Rockit (Rapid Optimal Control kit) — un framework logiciel permettant de prototyper rapidement des problèmes de contrôle optimal.
- acados — un framework logiciel fournissant des solveurs rapides et intégrés pour le contrôle optimal non linéaire.
- GRAMPC — un cadre MPC non linéaire adapté aux systèmes dynamiques avec des temps d'échantillonnage de l'ordre de la (sub)milliseconde et qui permet une implémentation efficace sur du matériel embarqué.
- CControl - une bibliothèque d'algèbre linéaire pour l'ingénierie de contrôle avec MPC et filtrage de Kalman pour microcontrôleurs embarqués et à faible coût
MPC vs. LQR
La commande prédictive par modèle et les régulateurs linéaires-quadratiques sont tous deux des expressions de la commande optimale, avec des schémas différents de définition des coûts d'optimisation.
Alors qu'un contrôleur prédictif de modèle examine souvent des ensembles de fonctions d'erreur de longueur fixe, souvent pondérés de manière progressive, le régulateur linéaire-quadratique examine toutes les entrées du système linéaire et fournit la fonction de transfert qui réduira l'erreur totale sur l'ensemble du spectre de fréquences, en faisant un compromis entre l'erreur d'état et la fréquence d'entrée.
En raison de ces différences fondamentales, le LQR possède de meilleures propriétés de stabilité globale, mais le MPC a souvent des performances localement optimales[?] et complexes.
Les principales différences entre MPC et LQR résident dans le fait que LQR optimise sur l'ensemble de l'horizon temporel, tandis que MPC optimise sur un horizon temporel glissant De plus, MPC calcule fréquemment une nouvelle solution, alors que LQR utilise la même solution unique (optimale) pour tout l'horizon temporel. Par conséquent, MPC résout généralement le problème d'optimisation sur un horizon temporel plus court et peut donc aboutir à une solution sous-optimale. Cependant, comme MPC ne fait aucune hypothèse de linéarité, il peut gérer les contraintes fortes ainsi que la migration d'un système non linéaire hors de son point de fonctionnement linéarisé, deux inconvénients majeurs de LQR.
Cela signifie que l'algorithme LQR peut s'avérer moins performant lorsqu'il opère loin de points fixes stables. Le MPC peut tracer une trajectoire entre ces points fixes, mais la convergence de la solution n'est pas garantie, notamment si l'on néglige la convexité et la complexité de l'espace du problème.