Brevet FR3144113A1 — publié le 20240628

Procédé de détermination d’un jeu de seuils de maintenance optimal d’une pluralité de pièces mécaniques Un aspect de l’invention concerne un procédé de détermination d’un jeu de seuils de maintenance optimal d’une pluralité de pièces mécaniques, chaque pièce mécanique de la pluralité de pièces mécaniques étant divisée en une pluralité de modules, chaque module étant associé à un type de module, chaque type de module étant associé à au moins un seuil de maintenance en-deçà duquel une opération de maintenance doit être effectuée sur un module dudit type de module, le procédé étant mis en œuvre à l’aide d’un modèle de la pièce mécanique et d’une plage de valeurs pour chaque seuil de maintenance, le procédé de détermination comprenant pour une durée prédéfinie : Pour chaque jeu de seuils de maintenance d’une pluralité de jeux de seuils de maintenance compatible avec la plage associée à chaque seuil, une étape de simulation du nombre de pièce mécanique disponible et du nombre d’opérations de maintenance effectuées sur toute la durée prédéfinie de sorte à obtenir une pluralité de simulations, chaque simulation étant associée à un jeu de seuils de maintenance ; Lorsque, pour au moins une simulation effectuée lors de l’étape précédente, le nombre de pièces disponibles est au-dessus d’une première valeur cible et/ou que le nombre d’opérations de maintenance est en dessous d’une deuxième valeur cible sur toute la durée prédéterminée, une étape de sélection du jeu de seuils associé à la simulation considérée comme jeu de seuils de maintenance optimal ; Lorsqu’aucun jeu de seuils ne permet d’obtenir un nombre de pièces mécaniques disponibles au-dessus de la première valeur cible ou un nombre d’opérations de maintenance en dessous de la deuxième valeur cible durant toute la période considérée, une étape de détermination d’une nouvelle pluralité de jeux de seuils compatible avec la plage associée à chaque seuil, la nouvelle pluralité de jeu de seuils étant au moins en partie différent de la pluralité de jeux de seuils déjà utilisé, les étapes précédentes étant répétées avec cet nouvelle pluralité de jeux de seuils. Procédé de détermination d’un jeu de seuils de maintenance optimal d’une pluralité de pièces mécaniques DOMAINE TECHNIQUE DE L’INVENTION Le domaine technique de l’invention est celui de la maintenance d’une pluralité de pièces mécaniques. La présente invention concerne un procédé de détermination d’un jeu de seuils de maintenance optimal. ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION La gestion d’une pluralité de pièces mécaniques, par exemple une flotte de turbomachines peut être relativement complexe lorsque l’on souhaite s’assurer d’un nombre cible de pièces mécaniques disponibles. Au-delà des aspects logistiques inhérent à la gestion elle-même, des aspects techniques entrent en jeu, comme le seuil de déclenchement des opérations de maintenance sur tout ou partie des pièces mécaniques en question. Dans l’état de la technique, la gestion de ce niveau de disponibilité se fait au travers de plusieurs moyens indépendants les uns des autres. Le nombre cible de pièces mécaniques disponibles peut par exemple être évalué en prenant en compte, de manière théorique, les plans d’entretien éventuellement complétés par des retours d’expérience. Ce nombre peut également être évalué à l’aide de modèles prenant en compte une partie du cycle de vie des pièces et des modules qui les composent. Ces modèles permettent en général de faire des choix isolés concernant les règles de maintenance. Par exemple, un modèle selon l’état de la technique pourra s’intéresser aux stocks de modules de rechange sans toutefois prendre en compte les règles de fonctionnement des ateliers en charge des opérations de maintenance sur les pièces mécaniques considérées (notamment, des règles de regroupement des démontages des pièces et des règles de remontage). Dans un autre exemple, un modèle selon l’état de la technique pourra prendre en compte le nombre de démontages des pièces mécaniques considérées (par exemple le nombre de déposes pour une turbomachine) encore une fois sans prendre en compte les règles de fonctionnement des ateliers. Dans encore un autre exemple, un modèle selon l’état de la technique pourra calculer les besoins en pièces de rechange sans toutefois tenir compte du caractère aléatoire des pannes ou bien encore du nombre de pièces disponibles. Autrement dit, les solutions de l’état de la technique ne prennent pas l’ensemble des paramètres dans leur globalité et ne permettent donc pas de déterminer de manière précise, la valeur des seuils de maintenance qu’il convient de choisir pour obtenir un nombre cible de pièces mécaniques disponibles en minimisant la charge de maintenance. L’invention offre une solution aux problèmes évoqués précédemment, en permettant de déterminer un jeu de seuils de maintenance permettant de s’assurer d’un nombre déterminé de pièces mécaniques disponibles tout en limitant les opérations de maintenance inutiles. Un premier aspect de l’invention concerne un procédé de détermination d’un jeu de seuils de maintenance optimal d’une pluralité de pièces mécaniques, chaque pièce mécanique de la pluralité de pièces mécaniques étant divisée en une pluralité de modules, chaque module étant associé à un type de module, chaque type de module étant associé à au moins un seuil de maintenance en-deçà duquel une opération de maintenance doit être effectuée sur un module dudit type de module, le procédé étant mis en œuvre à l’aide d’un modèle de la pièce mécanique et d’une plage de valeurs pour chaque seuil de maintenance, le modèle de la pièce mécanique prenant en compte le vieillissement de la pièce mécanique et le cycle de maintenance de la pièce mécanique, le procédé de détermination comprenant, pour une durée prédéfinie : Pour chaque jeu de seuils de maintenance d’une pluralité de jeux de seuils de maintenance compatible avec la plage associée à chaque seuil, une étape de simulation, à l’aide du modèle de la pièce mécanique, de la pluralité de pièces mécanique sur la durée prédéfinie de sorte à déterminer le nombre de pièces mécaniques disponibles et le nombre d’opérations de maintenance effectuées sur la durée prédéfinie, chaque simulation étant associée au jeu de seuils de maintenance correspondant ; Lorsque, pour au moins une simulation effectuée lors de l’étape précédente, le nombre de pièces disponibles est au-dessus d’une première valeur cible et/ou que le nombre d’opérations de maintenance est en dessous d’une deuxième valeur cible sur toute la durée prédéterminée, une étape de sélection du jeu de seuils associé à la simulation considérée comme jeu de seuils de maintenance optimal ; Lorsqu’aucun jeu de seuils ne permet d’obtenir un nombre de pièces mécaniques disponibles au-dessus de la première valeur cible et/ou un nombre d’opérations de maintenance en dessous de la deuxième valeur cible durant toute la durée prédéfinie, une étape de détermination d’une nouvelle pluralité de jeux de seuils compatible avec la plage associée à chaque seuil, la nouvelle pluralité de jeu de seuils étant au moins en partie différente de la pluralité de jeux de seuils déjà utilisée, les étapes précédentes étant répétées avec cette nouvelle pluralité de jeux de seuils. Grâce à l’invention, il est possible de minimiser les opérations de maintenance effectuées sur les pièces mécaniques tout en garantissant un niveau de disponibilité cible desdites pièces. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon le premier aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles. Dans un mode de réalisation, chaque jeu de seuils comprend : un seuil de régénération représentant un seuil au-delà duquel une régénération du module doit être effectuée ; et/ou un seuil de visite avancé représentant un seuil au-delà duquel une visite préventive du module doit être effectuée ; et/ou un seuil d’alignement représentant un seuil au-delà duquel un alignement des potentiels du module doit être effectué. Dans un mode de réalisation, le procédé met en œuvre un algorithme d’optimisation évolutionnaire, la pluralité de jeux de seuils de maintenance initiale étant générée aléatoirement, et l’étape de détermination d’une nouvelle pluralité de jeux de seuils étant effectuée par « reproduction », « croisement » et/ou « remplacement » des jeux de seuils de maintenance. Dans un mode de réalisation alternatif, le procédé met en œuvre un algorithme d’apprentissage par renforcement. Dans un mode de réalisation, la durée prédéfinie est divisée en une pluralité de périodes, et l’algorithme d’apprentissage est mis en œuvre à l’aide d’un processus markovien de décision défini de la manière suivante : Chaque instant correspond à une période de la durée prédéfinie de sorte que où est le nombre de périodes de la pluralité de périodes ; Un état du système correspond à l’état de la pluralité de pièces mécaniques à l’instant défini par un vecteur avec le nombre de pièce mécanique disponibles, la première valeur cible et le nombre d’opérations de maintenance pour la période considérée ; une action est la modification des seuils de maintenance dans la limite des plages fixés ; une valeur représentant la récompense à la période , cette valeur étant négative lorsque la première valeur cible n’est pas atteinte à la fin de la période considérée et positive lorsque la première valeur cible est atteinte à la fin de la période considérée. De plus la nouvelle pluralité de jeux de seuils est déterminée en fonction de la ou des récompenses obtenues lors des simulations précédentes. Dans un mode de réalisation, la valeur de la récompense est donnée par la relation suivante : où est le nombre maximal d’opération de maintenance. Dans un mode de réalisation, le modèle de la pièce mécanique est modélisé à l’aide d’un langage objet, une première classe d’objet « Parc » étant associé à la pluralité de pièces mécanique, une deuxième classe d’objet « Pièce » étant associé à chaque pièce mécanique et une troisième classe d’objet « Module » étant associé à chaque module de chaque pièce, un objet « Pièce » comprenant un objet de classe « Module » pour chacun des modules qui lui est associé. Un deuxième aspect de l’invention concerne un dispositif de traitement de données comprenant des moyens de mise en œuvre du procédé selon le premier aspect de l’invention. Un troisième aspect de l’invention concerne un programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre un procédé selon le premier aspect de l’invention. Un quatrième aspect de l’invention concerne un support de données lisible par ordinateur sur lequel est enregistré le programme d’ordinateur selon le troisième aspect de l’invention. L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. La montre une représentation d’une pièce mécanique comportant douze modules. La montre un flux de maintenance sous la forme d’une pluralité d’états, chaque passage d’un état à un autre état étant associé à une transition. La montre une représentation de l’état de chaque module sous la forme d’un tableau, cette représentation étant de type DataFrame. La montre une représentation objet du cycle de maintenance. Les , et montrent le gain de performance associé à l’utilisation d’une approche orientée objet dans la simulation du cycle de maintenance. Les et montrent une mise en œuvre d’un procédé selon l’invention à l’aide d’un algorithme évolutionnaire. Les et montrent l’évolution du nombre de pièces mécaniques disponibles pour deux agents entraînés sur un faible nombre d’itérations sur la et sur un nombre important d’itération sur la . Les à montrent l’évolution du nombre de pièces mécaniques disponible en fonction de l’expression de la récompense utilisée. DESCRIPTION DETAILLEE Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. Dans la suite de la description, l’invention sera illustrée à l’aide d’un exemple dans lequel la pièce mécanique est un moteur, par exemple une turbomachine d’avion. Cependant, il ne s’agit que d’un exemple et l’invention peut être mise en œuvre pour tout type de pièce mécanique. Un premier aspect de l’invention concerne un procédé de détermination des seuils de maintenance d’une pluralité de pièces mécaniques PM, dans la suite une pluralité de moteurs d’avion, chaque pièce mécanique PM de la pluralité de pièces mécaniques étant divisée en une pluralité de modules, chaque module étant associé à un type de module (ainsi une turbomachine comprend des aubes, chaque aube pouvant être assimilé à un module de même type – bien entendu, la finesse de découpage dépend du degré de précision souhaité du modèle et de l’objectif recherché). Les pièces mécaniques de la pluralité de pièces mécaniques sont des pièces similaires (elles sont composées d’une majorité de modules identiques) ou bien identiques (l’ensemble des modules qui les composes sont identiques). Par ailleurs, chaque type de module est associé à au moins un seuil de maintenance en-deçà duquel une opération de maintenance doit être effectuée sur un module du type de module considéré. Ce seuil est identique pour tous les modules du même type quelle que soit la pièce mécanique PM dans laquelle est présent ledit module. Le procédé selon l’invention peut être mis en œuvre par un moyen de calcul (par exemple un processeur ou une carte ASIC) couplé à une mémoire (par exemple un disque dur et/ou une mémoire vive de type RAM), ladite mémoire étant configurée pour stocker les données et les instructions nécessaires à la mise en œuvre du procédé selon l’invention par le moyen de calcul. Dans un mode de réalisation, le procédé selon l’invention prend en compte le seuil de régénération (appelé queue de potentiel de limite de fonctionnement dans le domaine et abrégé par QDP-LF) et/ou le seuil de visite avancée (appelé queue de potentiel de visite normale dans le domaine et abrégé par QDP-VN) et/ou le seuil d’alignement (appelé alignement de potentiel dans le domaine). Bien entendu, le procédé selon l’invention pourra prendre en compte d’autres seuils de maintenance. Afin de mettre en œuvre le procédé selon l’invention, une plage de valeurs est associée à chaque seuil, le procédé de détermination déterminant alors une valeur comprise dans la plage en question pour chaque seuil considéré. Dans le domaine de l’aéronautique, les seuils de maintenance peuvent notamment concerner le nombre d’heures de vol, le nombre de cycles décollage/atterrissage ou bien encore être liés à un niveau d’usure mesuré sur le module considéré. De manière générale, ces seuils sont examinés lorsque la pièce mécanique PM subit une panne, par exemple parce que l’un (ou plusieurs) des modules est défaillant. Le ou les modules défaillants sont réparés ou remplacés et les modules restants sont examinés si des seuils de maintenance ont été franchis (dans le domaine, on parle de vérification du potentiel, par exemple du potentiel de vol dans l’aéronautique). Il est par exemple possible de régénérer le potentiel d’un module de manière préventive lorsque le seuil de régénération est atteint ou franchi ou bien encore d’effectuer une visite préventive lorsque le seuil de visite avancée est atteint ou franchi. Autrement dit, lorsqu’un seuil de maintenance est atteint ou franchi (sur la base d’une grandeur objective liée au fonctionnement du module en question), une ou plusieurs mesures ou inspections sont réalisées (niveau d’usure, présence de fissures, etc.) afin de s’assurer du bon fonctionnement du module en question. En modifiant ces seuils, il est possible d’influer sur le taux de disponibilité des pièces mécaniques PM de la pluralité de pièces mécaniques PM. En effet, des seuils trop bas peuvent conduire à une augmentation du risque de panne et donc une baisse de la disponibilité des pièces mécaniques. De la même manière, des seuils trop élevés peuvent entraîner des opérations de maintenance inutiles avec tous les inconvénients que cela entraîne. L’invention permet de déterminer un jeu de seuils de maintenance permettant d’éviter ces deux écueils. Ainsi, grâce à l’invention, il est possible de minimiser les opérations de maintenance effectuées sur les pièces mécaniques PM tout en garantissant un niveau de disponibilité cible desdites pièces mécaniques PM. Pour cela, le procédé selon l’invention comprend tout d’abord, pour chaque jeu de seuils de maintenance d’une pluralité de jeux de seuils de maintenance compatible avec la plage associée à chaque seuil, une étape de simulation du nombre de pièces mécaniques disponible et du nombre d’opérations de maintenance effectuées de sorte à obtenir une pluralité de simulations, chaque simulation étant associée à un jeu de seuils de maintenance. Ainsi, lors de cette étape, pour chacun des jeux de seuils de maintenance, une simulation est effectuée de sorte à déterminer notamment le nombre de pièces mécaniques disponibles et le nombre d’opérations de maintenance effectuées sur la période considérée. Bien entendu, d’autres indicateurs peuvent également être pris en compte lors de ces simulations. Les résultats ainsi obtenus pourront ensuite être comparés à un objectif cible en termes de nombre de pièces mécaniques disponibles et/ou en nombre d’opérations de maintenance effectuées. Le procédé selon l’invention comprend également lorsque, pour au moins une simulation effectuée lors de l’étape précédente, le nombre de pièces mécaniques disponibles est au-dessus d’une première valeur cible et/ou que le nombre d’opérations de maintenance est en dessous d’une deuxième valeur cible sur toute la durée prédéfinie, une étape de sélection du jeu de seuils associé à la simulation considérée comme jeu de seuils de maintenance optimal. Si plusieurs simulations remplissent ces critères, alors la simulation permettant d’obtenir les résultats les plus proches des valeurs cibles est retenue. Dans un mode de réalisation, la durée prédéfinie est divisée en périodes, chaque période est associée à une première valeur seuil et/ou une deuxième valeur seuil qui peuvent être différentes pour chaque période, et le respect des valeurs seuils fixées est examiné période par période. Le procédé comprend aussi, lorsqu’aucun jeu de seuils de maintenance ne permet d’obtenir un nombre de pièces mécaniques disponibles au-dessus de la première valeur cible et/ou un nombre d’opérations de maintenance en dessous de la deuxième valeur cible durant toute la durée prédéfinie, une étape de détermination d’une nouvelle pluralité de jeux de seuils de maintenance compatibles avec la plage associée à chaque seuil, au moins en partie différente de la pluralité de jeux de seuils déjà utilisée, les étapes précédentes étant répétées avec cette nouvelle pluralité de jeux de seuils. Ainsi, les étapes du procédé sont répétées jusqu’à l’obtention d’un jeu de seuils permettant d’obtenir la ou les valeurs cibles souhaitées. Modèle de la pièce mécanique Pour cela, le procédé selon l’invention est mis en œuvre à l’aide d’un modèle de la pièce mécanique PM prenant notamment en compte le vieillissement et les défaillances de la pièce mécanique PM ainsi que le cycle de maintenance de cette pièce mécanique PM. Dans un mode de réalisation, le modèle en question prend notamment en compte : les chaînes de montage et démontage, notamment les temps moyens nécessaire à chaque opération de maintenance associée à chaque module ; la fourniture de nouveaux modules ou la mise hors service de modules ne pouvant pas être réparés ou arrivés en fin de vie ; les conditions d’utilisation des pièces mécaniques de la pluralité de pièces mécaniques et donc des modules composant lesdites pièces mécaniques ; les événements aléatoires pouvant survenir, par exemple une panne au niveau d’un module ou de plusieurs modules ou la découverte d’un défaut sur une pièce lors du contrôle d’un module. Ces différents aspects sont matérialisés au travers de paramètres de maintenance qui sont fixés lors de la mise en œuvre du procédé selon l’invention et qui définissent le modèle utilisé lors de cette mise en œuvre. Ainsi, le modèle en question permet de rendre compte du vieillissement des pièces mécaniques de la pluralité de pièces mécaniques et du cycle de maintenance (notamment en considérant plusieurs niveaux de maintenance en fonction de la nature de l’opération de maintenance, etc.). Le modèle mis en œuvre dans la présente invention est plus particulièrement décrit aux à . La représente une pièce mécanique PM composée de douze modules de type différents et indépendants les uns des autres. Lorsqu’une panne intervient sur l’un au moins des modules, il est possible de désassembler et remplacer et/ou réparer le module en question. Ainsi, dans le flux de maintenance, chaque pièce mécanique PM passe par une succession d’états et de transitions à différentes échelles : à l’échelle de la pièce mécanique PM et à l’échelle de chaque module. Comme illustré à la , le flux de maintenance lors du vieillissement d’une telle pièce mécanique PM peut être représenté à l’aide d’un diagramme d’états représentant les états (les cercles) que peuvent prendre le moteur ou les différents modules lors du cycle de maintenant ainsi que les transitions (les flèches – sur la figure, les transitions sont numérotées de T1 à T10) possibles entre ces différents états. Plus particulièrement, ce diagramme peut être vu comme un graphe orienté (au sens de la théorie des graphes). Chaque sommet indique la localisation de la pièce mécanique PM ou du module dans la chaîne de maintenance : c’est son état. Chaque arc (ou flèche) indique une transition d’un état à un autre. Sur la , les transitions en pointillés représentent les transitions à l’échelle de la pièce mécanique PM, tandis que les transitions en ligne continue représentent les transitions à l’échelle des modules. Il est ainsi possible de suivre le flux de maintenance d’une pièce mécanique PM, par exemple d’un moteur d’avion. Le moteur d’avion est initialement dans l’état avionné (c’est à dire en état de marche) ou état « aircraft » représenté par le cercle « A/C » du diagramme. Puis, ce moteur subit une panne à cause d’un incident sur le module 7 : ce module doit donc être retiré du moteur. Le moteur va alors transiter au sein de différentes localisations (transitions T1 et T2) pour ensuite être désassemblé à l’atelier de Dépose-Remontage (transition T3 - « DEP/REM » sur le diagramme). Après désassemblage du moteur pour démonter le module 7, les transitions se font à l’échelle de chaque module. Notamment, le module 7 va passer par différents ateliers afin d’y être réparé (transitions T4 et T6). Cette réparation va régénérer le potentiel de vol (évoqué précédemment) du module, ce dernier étant ensuite stocké (« STOCK MODULES » sur le diagramme – transitions T5 et T7). Par ailleurs, une vérification du potentiel de vol restant de tous les modules du moteur est effectuée. Dans l’exemple choisi, le module 4 a un potentiel de vol assez faible (il va bientôt atteindre sa limite de fonctionnement), et le module 10 doit bientôt subir une visite de contrôle technique. Il est envisageable de régénérer le potentiel de vol du module 4 de manière préventive. Le seuil en dessous duquel il est judicieux d’effectuer cette régénération définit la notion de queue de potentiel de limite de fonctionnement évoquée précédemment. De la même façon, le seuil de temps restant en dessous duquel il est judicieux d’effectuer la visite en avance définit la notion de queue de potentiel de visite normale également évoquée précédemment. Les modules vont donc être transférés vers des ateliers spécifiques, subir des réparations si nécessaire, puis être remis en stock. De plus, en fonction des modules présents en stocks, il est possible de reconstituer un ou plusieurs moteurs à l’atelier (« DEP/REM » sur le diagramme – transition T8). A partir de cet état, les transitions se font à nouveau à l’échelle des moteurs. Le moteur ainsi reconstitué subit une série de tests au banc d’essai (« BANC » sur le diagramme – transition T9) avant d’être avionné (retour à l’état « A/C » – transition T10). Afin de pouvoir suivre la position de chaque pièce mécanique PM et de chaque module de chaque pièce mécanique PM dans le cycle de maintenance, il est possible d’utiliser un tableau de type DataFrame comme illustré à la . Dans ce tableau, chaque module est représenté par une ligne, les informations fournies sur chaque ligne permettant d’associer chaque module à une pièce mécanique PM. Lorsqu’un module ou un moteur est déplacé, la position du module ou des modules associés au moteur considéré est mise à jour pour tenir compte du déplacement. En reprenant l’exemple précédent, si le moteur de numéro de série « TITI » est avionné, alors tous les modules rattachés à ce moteur seront en localisation « A/C ». Puis, quand le moteur tombe en panne, la colonne « Localisation » est modifiée pour tous les modules associés à ce moteur qui passent à la localisation « TRANSIT ». Toutes les transitions moteurs ou modules fonctionnent sur ce principe. Dans ce mode de réalisation, la simulation mise en œuvre dans le procédé selon l’invention comprend donc une boucle d’appels de fonctions de transition qui modifient les lignes et colonnes du tableaux (dans l’exemple de la , dix fonctions de transition sont nécessaires, mais il ne s’agit que d’un exemple et ce nombre varie en fonction du cycle de maintenance à simuler). Pour chaque fonction de transition, il est donc nécessaire d’appliquer un ou plusieurs filtres conditionnels pour sélectionner les lignes d’intérêt (par ex., récupérer tous les modules d’un moteur donné) puis modifier la localisation (entre autres). Dans un mode de réalisation alternatif illustré à la , le modèle du cycle de maintenance est représenté en utilisant une langage objet. Plus particulièrement, le parc de pièces mécaniques (c’est à dire la pluralité de pièces mécaniques) est représenté par un objet d’une première classe, par exemple la classe Parc. De plus, l’objet de la classe Parc comprend une pluralité (n sur la ) d’objets de la classe PieceMecanique (ou de la classe Moteur dans l’exemple de la ) qui, à son tour, comprend une pluralité (20 sur la ) d’objets de la classe Modules. Dans l’exemple de la , il est également possible d’envisager une pluralité d’objets Avion chacun associé à un ou plusieurs objets Moteur. Cette architecture permet de ne pas avoir recours aux fonctions filtres évoquées précédemment. Plus particulièrement, dans ce mode de réalisation, les attributs d’une classe ne peuvent être manipulés que par l’intermédiaire de méthodes associées à ladite classe. Cette encapsulation permet par exemple de modifier le comportement par défaut d’une instruction comme « moteur.localisation = ‘A/C’ » (ou moteur est l’objet et localisation est un attribut associé à cet objet – cet instruction modifie la valeur de l’attribut). Par encapsulation, cette instruction va passer par le biais d’une méthode (parfois appelé « setter ») qui va : Modifier la valeur de l’attribut « localisation » de l’objet « moteur » ; Mettre à jour l’attribut localisation de tous les modules de l’objet « moteur » ; Mettre à jour une liste recensant tous les moteurs en localisation « A/C » (par exemple dans l’objet « Parc ») Ainsi, les fonctions qui ont besoin d’accéder à tous les moteurs avionnés du parc y auront accès directement via cette liste. L’adoption de la programmation objet (ou POO pour Programmation Orientée Objet) a pour avantage de réduire considérablement le temps de calcul nécessaire à une simulation comme le montrent la , la et la qui illustrent, pour la le temps de calcul nécessaire pour l’exécution d’une transition avec l’approche classique Dataframe (à gauche) et Objet (à droite) , et pour les et ce temps de calculs pour différentes transitions avec l’approche classique Dataframe ( ) et l’approche programmation objet proposée par la présente invention ( ). Il apparaît clairement sur ces figures que les gains en matière de temps de calcul sont significatifs. Algorithme d’optimisation évolutionnaire Dans un mode de réalisation, le procédé selon l’invention est réalisé à l’aide d’un algorithme d’optimisation évolutionnaire. Dans ce mode de réalisation, la pluralité de jeux de seuils de maintenance initiale (c’est-à-dire utilisée pour les premières simulations) est générée aléatoirement, chaque jeu de seuils de maintenance étant appelé un individu. Par ailleurs, l’étape de détermination d’une nouvelle pluralité de jeux de seuils de maintenance est effectuée par « reproduction », « croisement » et/ou « remplacement », ces actions constituant une ou plusieurs opérations mathématiques effectuées sur les individus ayant obtenu les résultats les plus proches des valeurs cibles. Le principe de l’algorithme d’optimisation évolutionnaire est connu de la personne du métier et il ne sera donc pas détaillé davantage dans la présente description. La et la illustrent la mise en œuvre d’un procédé selon l’invention avec un algorithme évolutionnaire. Plus particulièrement, la représente l’évolution du nombre de pièces mécaniques disponibles au cours du temps pour 50 simulations différentes (les pointillés matérialisant la fin de l’année 2022 et 2023), la zone grisée représentant l’écart à deux sigmas par rapport à la valeur moyenne sur l’ensemble des simulations. La représente quant à elle, un jeu de seuils de maintenances pour dix modules en fonction de l’année considérée. Cependant, bien que l’algorithme d’optimisation évolutionnaire ait démontré son efficacité et sa pertinence, il n’est pas sans inconvénient. Tout d’abord, au cours d’une simulation, il est fréquent que la ou les valeurs cibles (par exemple la valeur cible de disponibilité) ne soient pas atteintes. Par ailleurs, dans l’algorithme d’optimisation évolutionnaire, il est nécessaire d’effectuer, pour chaque jeu de seuils de maintenance, des simulations complètes sur l’ensemble de la durée considérée, pour sélectionner les meilleurs candidats. De surcroît, la durée considérée est en général divisée en périodes (par exemple d’une année lorsque la durée considérée est de plusieurs années), chaque période étant associé à une ou plusieurs valeurs cibles, et le nombre de paramètres à optimiser est alors proportionnel au nombre de périodes. En effet, chaque individu correspond à un jeu de paramètres complet (i.e. le jeu de seuils de maintenance année par année). Ainsi, le nombre de paramètres peut croître considérablement. Algorithme d’apprentissage par renforcement Une manière originale de s’affranchir des limites énoncées précédemment est d’avoir recours à un algorithme d’apprentissage par renforcement. Pour mémoire, l’apprentissage par renforcement (ou « reinforcement learning » en anglais) est une méthode d’apprentissage machine (ou « machine learning » en anglais) inspirée de l’apprentissage humain et animal. Ce type d’apprentissage est basé sur le concept du « conditionnement opérant », qui suggère que les individus peuvent apprendre de nouveaux comportements en observant les conséquences de leurs propres actions. L’Apprentissage par renforcement consiste à programmer une intelligence artificielle, l’agent, qui va interagir au sein d’un environnement. En fonction des actions effectuées, l’état de l’environnement va être modifié, et l’agent va recevoir une récompense (ou « reward » en anglais – positive ou négative). Cet agent sera donc récompensé pour les bonnes actions, et puni pour les comportements incorrects. En mettant à jour les connaissances qu’il a sur l’environnement, l’agent va chercher à maximiser ses récompenses en choisissant les actions les plus avantageuses. Formellement, l’apprentissage par renforcement repose sur un processus markovien de décision, tels qu’il est défini en mathématiques appliquées par la théorie des probabilités et la théorie de la décision. Il est judicieux de rappeler la définition d’un tel processus afin d’illustrer les avantages de cette approche par rapport à l’algorithme évolutionnaire introduit précédemment. Dans un algorithme d’apprentissage par renforcement, le système évolue au cours du temps sous l’influence d’un agent. Par ailleurs, le temps est discrétisé en différents instants de 0 à N de sorte que le système est défini par : ensembles finis d’états , l’état du système à l’instant t est désigné par l’état ; Une famille d’actions avec l’ensemble des actions possibles à l’instant quand le système est à l’état . et, pour tout : Une probabilité de transition de passer de l’état à l’état en ayant effectué l’action ; Une fonction de récompense . Le but de l’algorithme d’apprentissage par renforcement est d’estimer la probabilité de transition . Plus cette estimation est correcte, plus l’agent aura une connaissance fine sur les actions à effectuer pour maximiser ses récompenses. Afin de pouvoir appliquer un tel algorithme au procédé selon l’invention, un processus markovien de décision a été développé par les inventeurs, ce dernier étant défini comme suit : Chaque instant correspond à une période de la durée considérée ; par exemple une année lorsque la durée considérée est de plusieurs années – pour une simulation de dix ans, on a donc ; L’état du système correspond à l’état de la pluralité de pièces mécaniques à l’instant . Cet état est un vecteur avec le nombre de pièces mécaniques disponibles, la valeur cible du nombre de pièces mécaniques disponibles et le nombre d’opérations de maintenance pour l’année considérée ; L’action est la modification des seuils de maintenance de la pluralité de seuils de maintenances dans la limite des plages fixées ; La valeur de la récompense à l’instant sera négative si la valeur cible n’est pas atteinte à la fin de la sous-période , elle sera positive dans le cas contraire, cette valeur étant de préférence de plus en plus élevée à mesure que la valeur obtenue se rapproche de la valeur cible (afin de ne pas induire des seuils trop bas qui entraîneraient des opérations de maintenance intempestives). Comme déjà mentionné, cet algorithme est une alternative à l’algorithme d’optimisation évolutionnaire. Il présente notamment l’avantage de ne pas nécessiter de réaliser des simulations complètes sur l’ensemble de la durée considérée avant de déterminer si le choix des seuils de maintenance est satisfaisant. En effet, l’apprentissage se fait période après période (par exemple, année après année) en fonction de la valeur cible ou des valeurs cibles pour la période considérée (qui peuvent être différentes d’une période à l’autre) ce qui permet un gain conséquent en temps de calcul. Cet avantage est notamment illustré aux et . Sur ces figures, le nombre de pièces mécaniques PM disponibles en fonction des périodes est illustré pour un agent entraîné sur 15 itérations à la (c’est à dire 15 répétitions des étapes du procédé selon l’invention) et sur 2657 itérations à la (c’est à dire 2657 répétitions des étapes du procédé selon l’invention). Comme le montre la , la simulation n’a pas besoin d’être effectuée sur tout la durée, mais peut être arrêtée lorsqu’il est clair que les valeurs cibles ne seront pas atteintes. Pour mémoire, lorsque l’algorithme évolutionnaire est utilisé, la simulation doit nécessairement être effectuée sur l’ensemble de la durée, c’est à dire pour toutes les périodes de cette durée. Les performances de l’algorithme d’apprentissage par renforcement dépendent de la manière dont la fonction de récompense est définie, du choix de l’algorithme d’apprentissage et du choix des hyperparamètres (c’est-à-dire les paramètres de l’algorithme lui-même tels que le nombre d’itérations, la tolérance de convergence, etc.). Dans un mode de réalisation, la valeur de la récompense est donnée par la relation (ou fonction de récompense) suivante : où est le nombre maximal d’opération de maintenance. Comme le montre la , une telle fonction de récompense permet de respecter la valeur cible du nombre de pièces mécaniques disponibles sans toutefois trop s’en éloigner. Plus particulièrement, le terme défini l’intensité de la punition (valeur négative de la récompense) en fonction de la distance entre le nombre de pièces mécaniques disponibles et la première valeur cible : l’agent va donc chercher les actions qui vont le rapprocher de la première valeur cible (cela incite par exemple l’agent à abaisser une partie au moins des valeurs seuils lorsque le nombre de pièces mécaniques disponibles est trop faible ou, au contraire, à augmenter une partie au moins des valeurs seuils lorsque le nombre de pièces mécaniques disponibles est trop élevé). Comme le montre la ,en l’absence de ce terme, l’agent aura tendance à atteindre des valeurs largement supérieures à la première valeur cible. Ensuite, le terme est toujours strictement positif car . Si (i.e. si la première valeur cible est respectée), l’agent sera récompensé positivement (sous réserve que la distance reste raisonnable). Enfin, le terme va « punir » l’agent car la première valeur cible n’est pas dépassée, le facteur N permettant d’inciter l’agent à toujours atteindre la première valeur cible pour arriver au bout de chaque simulation. En effet, dès que l’agent ne respecte plus la première valeur cible, la somme positive des qui a été accumulée les années précédentes sera compensée (négativement) par la punition . En outre, les et montrent que des formulations simplistes de la fonction de récompense ne permettent pas d’obtenir de bonnes performances. Par exemple, la montre qu’une fonction de récompense basée uniquement sur la disponibilité (+1 si la valeur cible est atteinte et -1 autrement) conduit à un nombre de pièces mécaniques disponibles largement au-dessus de la valeur cible et donc un nombre d’opérations de maintenance trop importants. De la même manière, la montre qu’une fonction de récompense basée uniquement sur ne permettent pas d’obtenir des résultats satisfaisants, le nombre de pièces mécaniques disponibles étant inférieure à la valeur cible dès la première année. De préférence, l’algorithme d’apprentissage par renforcement utilisé dans le procédé selon l’invention est choisi parmi un algorithme de type A2C (de l’anglais Advantages Actor Critic), un algorithme de type SAC (de l’anglais Soft Actor Critic) ou un algorithme de type PPO (Proximal Policy Optimization), ces algorithmes se révélant plus performant que les autres algorithmes (par ex. « Model-Based ») dans le cadre du procédé selon l’invention. Plus généralement, l’algorithme d’apprentissage par renforcement utilisé dans le procédé selon l’invention est un algorithme d’apprentissage par renforcement de type « Model-Free », c’est-à-dire qu’aucune hypothèse n’est faite sur la façon dont l’environnement de l’agent va changer. Procédé implémenté par ordinateur de détermination d’un jeu de seuils de maintenance optimal d’une pluralité de pièces mécaniques, chaque pièce mécanique (PM) de la pluralité de pièces mécaniques étant divisée en une pluralité de modules, chaque module étant associé à un type de module, chaque type de module étant associé à au moins un seuil de maintenance en deçà duquel une opération de maintenance doit être effectuée sur un module dudit type de module, le procédé étant mis en œuvre à l’aide d’un modèle de la pièce mécanique (PM) et d’une plage de valeurs pour chaque seuil de maintenance, le modèle de la pièce mécanique (PM) prenant en compte le vieillissement de la pièce mécanique (PM) et le cycle de maintenant de la pièce mécanique (PM), le procédé de détermination comprenant pour une durée prédéfinie : Pour chaque jeu de seuils de maintenance d’une pluralité de jeux de seuils de maintenance compatible avec la plage associée à chaque seuil, une étape de simulation, à l’aide du modèle de la pièce mécanique (PM), de la pluralité de pièces mécanique sur la durée prédéfinie de sorte à déterminer le nombre de pièces mécaniques disponibles et le nombre d’opérations de maintenance effectuées sur la durée prédéfinie, chaque simulation étant associée au jeu de seuils de maintenance correspondant ; Lorsque, pour au moins une simulation effectuée lors de l’étape précédente, le nombre de pièces disponibles est au-dessus d’une première valeur cible et/ou que le nombre d’opérations de maintenance est en dessous d’une deuxième valeur cible sur toute la durée prédéterminée, une étape de sélection du jeu de seuils associé à la simulation considérée comme jeu de seuils de maintenance optimal ; Lorsqu’aucun jeu de seuils ne permet d’obtenir un nombre de pièces mécaniques disponibles au-dessus de la première valeur cible et/ou un nombre d’opérations de maintenance en dessous de la deuxième valeur cible durant toute la durée prédéfinie, une étape de détermination d’une nouvelle pluralité de jeux de seuils compatible avec la plage associée à chaque seuil, la nouvelle pluralité de jeux de seuils étant au moins en partie différente de la pluralité de jeux de seuils déjà utilisé, les étapes précédentes étant répétées avec cette nouvelle pluralité de jeux de seuils. Procédé selon la revendication précédente dans lequel chaque jeu de seuils comprend : un seuil de régénération représentant un seuil au-delà duquel une régénération du module doit être effectuée ; et/ou un seuil de visite avancé représentant un seuil au-delà duquel une visite préventive du module doit être effectuée ; et/ou un seuil d’alignement représentant un seuil au-delà duquel un alignement des potentiels du module doit être effectué. Procédé selon l’une des revendications précédentes dans lequel le procédé met en œuvre un algorithme d’optimisation évolutionnaire, la pluralité de jeux de seuils de maintenance initiale étant générée aléatoirement, et l’étape de détermination d’une nouvelle pluralité de jeux de seuils étant effectuée par « reproduction », « croisement » et/ou « remplacement » des jeux de seuils de maintenance. Procédé selon l’une des revendications 1 à 2 dans lequel le procédé met en œuvre un algorithme d’apprentissage par renforcement. Procédé selon la revendication précédente dans lequel la durée prédéfinie est divisée en une pluralité de périodes, et l’algorithme d’apprentissage est mis en œuvre à l’aide d’un processus markovien de décision défini de la manière suivante : Chaque instant correspond à une période de la durée prédéfinie de sorte que où est le nombre de périodes de la pluralité de périodes ; Un état du système correspond à l’état de la pluralité de pièces mécaniques à l’instant défini par un vecteur avec le nombre de pièces mécaniques (PM) disponibles, la première valeur cible et le nombre d’opérations de maintenance pour la période considérée ; une action est la modification des seuils de maintenance dans la limite des plages fixés ; une valeur représentant la récompense à la période , cette valeur étant négative lorsque la première valeur cible n’est pas atteinte à la fin de la période considérée et positive lorsque la première valeur cible est atteinte à la fin de la période considérée ; la nouvelle pluralité de jeux de seuils est déterminée en fonction de la ou des récompenses obtenues lors des simulations précédentes. Procédé selon la revendication précédente dans lequel la valeur de la récompense est donnée par la relation suivante : où est le nombre maximal d’opération de maintenance. Procédé selon l’une des revendications précédentes dans lequel le modèle de la pièce mécanique (PM) est modélisé à l’aide d’un langage objet, une première classe d’objet « Parc » étant associé à la pluralité de pièces mécanique, une deuxième classe d’objet « Pièce » étant associé à chaque pièce mécanique (PM) et une troisième classe d’objet « Module » étant associé à chaque module de chaque pièce, un objet « Pièce » comprenant un objet de classe « Module » pour chacun des modules qui lui est associé. Dispositif de traitement de données comprenant des moyens de mise en œuvre du procédé selon l’une des revendications précédentes. Programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre un procédé selon l’une des revendications 1 à 7. Support de données lisible par ordinateur, sur lequel est enregistré le programme d'ordinateur selon la revendication 9.