COUPLAGE CSP ET CBR : PREMIÈRES IDENTIFICATIONS DES
Transcription
COUPLAGE CSP ET CBR : PREMIÈRES IDENTIFICATIONS DES
8th International Conference of Modeling and Simulation - MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia "Evaluation and optimization of innovative production systems of goods and services" COUPLAGE CSP ET CBR : PREMIÈRES IDENTIFICATIONS DES MODES DE COUPLAGE Aurélien C ODET DE B OISSE, Élise VAREILLES, Paul G ABORIT & Michel A LDANONDO Université de Toulouse – Mines Albi – CGI Campus Jarlard Allée des Sciences 81013 Albi CT Cedex 09 Thierry C OUDERT & Laurent G ENESTE Université de Toulouse – ENI de Tarbes – LGP 47, avenue d’Azereix BP 1629 65016 Tarbes Cedex RÉSUMÉ : le but de cette communication est de présenter les articulations possibles entre la programmation par satisfaction de contraintes (CSP) et le raisonnement à partir de cas (CBR) pour l’aide à la décision en maintenance d’hélicoptères dans le cadre d’un projet nommé Hélimaintenance R&D. Le projet Hélimaintenance R&D a pour but de réduire de 30 % les coûts de maintenance des hélicoptères civils et militaires. Notre objectif consiste à fournir une estimation du temps d’immobilisation des hélicoptères lors de leur maintenance basée sur de la connaissance experte et métier capitalisée. Le couplage des deux approches d’aide à la décision (CBR et CSP) devrait permettre de tirer parti des avantages de chacun tout en minimisant leurs inconvénients. Une première piste consiste à compléter ou à modifier un modèle en utilisant les connaissances capitalisées du second. Une deuxième piste envisage de s’appuyer sur un modèle fiable pour valider ou invalider l’autre modèle auquel on accorde une plus faible confiance. Enfin, une dernière idée est de faire fonctionner les deux systèmes de concert, soit pour réduire leurs espaces de solutions, soit pour aider à l’adaptation d’une solution potentielle. Un exemple de maintenance d’hélicoptères permet d’appuyer nos propositions. MOTS-CLÉS : raisonnement à partir de cas, filtrage par contraintes, systèmes d’aide à la décision, couplage CSB et CBR, maintenance d’hélicoptères 1 INTRODUCTION 1.1 Présentation du projet Hélimaintenance Dans l’aéronautique, la maintenance représente 45 % des dépenses dans le cycle de vie complet des hélicoptères. Pour cette raison, de nombreux travaux industriels cherchent actuellement à réduire les coûts, soit dès la conception des aéronefs (Poncelin & al. 2006), soit lors du plan de maintenance lui-même. Le projet Hélimaintenance, qui mobilise des laboratoires universitaires (ISAE, ONERA, EMAC) et des entreprises (IXAIRCO, C3EM, SEMIA) de la région Midi-Pyrénées, concerne l’étude de méthodes permettant une réduction de ces coûts : – en aval, lors de la réalisation du plan de maintenance, par l’exploitation de connaissances de terrain permettant une aide à la décision, – et en amont, lors de la phase de planification, afin d’estimer au mieux l’ensemble des opérations de maintenance à effectuer et la durée d’immobilisation des aéronefs. Le point essentiel de la maintenance d’hélicoptères est que, pour conserver son certificat de navigabilité, le propriétaire de l’hélicoptère doit suivre à la lettre le plan de maintenance de son appareil ou MRB (Maintenance Report Board). Le MRB est donné par le constructeur pour une certaine gamme d’hélicoptères. Il spécifie la durée entre deux interventions, le type d’intervention et la description exacte de chaque opération, incluant toutes les options. Le constructeur, pour effectuer son planning de maintenance, s’appuie sur différents paramètres, dont voici quelques exemples : – l’âge de l’hélicoptère, – l’usage de l’appareil (nombre de cycles de vols, nombre d’heures de vol, ...). Il existe trois types de maintenance normalisés : – le service minimal (MS) : les pièces et circuits courants sont testés et changés si nécessaire (climatisation, huile, essuie-glaces, etc.), – le service intermédiaire (IS) : outre le service minimal, les pièces critiques dans le fonctionnement de l’hélicoptère sont testées et changées si nécessaire (rotor, pales, treuil, etc.), – le service complet (CS) : l’hélicoptère est entièrement démonté et toutes les pièces sont testées et remplacées si nécessaire. Chaque opération d’entretien est accompagnée d’une indication du temps théoriquement nécessaire à sa réalisation. MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia Ceci permet d’estimer le temps total théorique de maintenance de l’appareil. Dans la pratique, ce temps est modifié par des évènements extérieurs non prévus par le MRB. Par exemple, une durée estimée de 120 heures de maintenance peut passer à 180 heures si l’hélicoptère a volé dans une atmosphère très salée (missions en mer) entraînant une corrosion supérieure à la normale. L’immobilisation d’un aéronef représentant un coût important pour son propriétaire, il serait donc intéressant d’avoir une estimation plus précise du temps de maintenance à prévoir afin de choisir le moment opportun pour effectuer cette maintenance. 1.2 Solutions envisagées Dans le cadre du projet Hélimaintenance, la maintenance des hélicoptères peut être vue comme une opération routinière, c’est-à-dire que les maintenanciers acquièrent de l’expérience au fur et à mesure des interventions (Pahl & Beitz 1996). Il est alors possible de capitaliser l’expérience passée. Cela permettrait d’améliorer le rendement des futurs plans de maintenance et en particulier de mieux en estimer la durée. Les approches que nous envisageons pour cette capitalisation sont les approches par contraintes (CSP) ainsi que le raisonnement à partir de cas (RàPC ou CBR). Les travaux de (Dutta, Wierenga & Dalebout 1997), de (Nemati, Steiger, Iyer & Herschel 2002) et de (Fargier, Lang & Schiex 1996) démontrent la possibilité d’utiliser des approches CBR et/ou CSP pour de l’aide à la décision. Selon (Montanari 1974), les CSP sont définis comme un triplet (variables, domaines, contraintes portant sur les variables). De nombreux auteurs tels que (Tsang 1993) ou (Sabin & Freuder 1996) ont démontré que ce type de modèles pouvait permettre l’aide à la décision dans le cas d’opérations routinières. Pour cela, il faut disposer de connaissance explicite, c’est-à-dire formalisée ou formalisable. Dans le domaine d’application considéré, cette connaissance explicite est en partie fournie par le MRB (type d’hélicoptère, nombre d’heures de vols, âge...). Cette connaissance peut être complétée par les connaissances acquises par les maintenanciers sur le terrain. Cette approche, bien que très performante, est complexe à mettre en place surtout lors des phases d’extraction / formalisation des connaissances. Selon (Kolodner 1993), un CBR stocke la connaissance implicite et contextualisée grâce à l’enregistrement de cas passés, chaque cas pouvant être décrit par un ensemble de descripteurs (variables). Chaque nouveau cas est comparé aux cas passés grâce à des fonctions de similarité afin d’identifier les cas stockés les plus similaires. Puis un expert adapte les solutions associées à ces cas similaires pour tenter de trouver une solution au nouveau cas. Dans notre étude, les interventions de maintenance passées peuvent être identifiées comme des cas qui sont alors enregistrés dans une base de cas. La principale difficulté de l’utilisation du CBR réside dans l’adaptation des solutions identifiées dans la base de cas. Les maintenanciers, bien qu’experts en matière de maintenance d’hélicoptère, ne sont pas forcé- ment en mesure d’adapter les cas passés, souvent à cause de la complexité de ceux-ci. L’idée de cette communication est d’envisager le couplage des approches CSP et CBR afin de voir comment elles peuvent se compléter pour utiliser de la connaissance contextualisée (CBR) et de la connaissance formelle (CSP). Dans la suite de cette communication, nous entendons par CSP, à la fois le modèle de contraintes et le filtrage par les contraintes et par CBR, à la fois la recherche des cas passés et leur adaptation, le reste étant effectué par l’homme. 1.3 Organisation de la communication Les travaux se basent sur un exemple qui est utilisé par la suite pour illustrer nos propos. Dans un premier temps, nous présentons les variables utilisées dans le modèle ainsi que les spécificités inhérentes aux modèles CSP et CBR. Nous abordons ensuite les méthodes de constitution de la connaissance et les méthodes de validation de la connaissance. Par la suite, nous présentons les méthodes de couplage des deux systèmes et nous terminons par un système de filtrage à partir de cas. 2 DESCRIPTION DU MODÈLE 2.1 Variables issues du MRB Parmi les variables utilisées dans le modèle, le premier type concerne celles directement issues du MRB. Elles sont listées dans la première partie de la table 1. Par exemple : HT (le type d’hélicoptère), UT (le type d’utilisation d’hélicoptère) ou HF (le nombre d’heures de vol de l’hélicoptère). 2.2 Variables non issues du MRB Ces variables sont listées en deuxième partie de la table 1. Bien que n’apparaissant pas dans le MRB, ces variables décrivent des éléments susceptibles de modifier l’estimation du temps de maintenance. Par exemple, W MA (le taux d’utilisation des machines nécessaires à la maintenance), HL (le fait que l’hélicoptère ait soulevé ou non des charges importantes) ou encore CO (le soin du propriétaire pour son hélicoptère) sont des variables ajoutées car ces concepts n’apparaissent pas dans le MRB. 2.3 Variable de sortie La variable RT qui est le temps réel estimé de maintenance, est la variable de sortie du système. Elle correspond à l’estimation du temps moyen de maintenance estimé par le constructeur à prévoir pour un hélicoptère. Elle se base sur la somme du temps passé pour chaque opération unitaire. Cette variable est calculée dans le CSP (cf. section 2.4) et elle est capitalisée via un descripteur au sein de la base de cas du CBR. MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia Variable Nom Type Domaine HT Helicopter Type Symbolic UT ST Use Type Service Type Symbolic Symbolic HA FH NF HE Helicopter Age Flight Hours Number of Flights Helicopter Equipment Numeric Numeric Numeric Symbolic TT Theorical Time Numeric {Dragonfly (Dr), Gazelle (Ga), Puma (Pu), Dolphin (Do), Tiger (Ti)} {Civilan, Military} {Mini Service (MS), Interim Service (IS), Complete Service (CS)} [0 ;+∞[ (years) [0 ;+∞[ (hours) [0 ;+∞[ {Standard (S), Rescue (R), VIP (V), Agricultural (A), Military (M), Camerawork (C)} [0 ;3400] Flight Condition Use Condition Carefull Owner Heavy Loads Workshop Humans Availability Workshop Machines Availability Symbolic Symbolic Symbolic Boolean Symbolic Symbolic {Very Severe, Severe, Normal, Ideal} {Sea, Desert, Mountain, Country} {Bad, Medium, Good} {Yes, No} {Free, Medium, Busy} {Free, Medium, Busy} Real Time Numeric [0 ;+∞[ FC UC CO HL W HA W MA RT TABLE 1 : Liste des variables d’entrées-sorties du modèle. Variable AS AI DCO DHL DHE GC WM Nom Type Domaine Moyen d’obtention Atmosphere Severity Age Impact Deduced Carefull Owner Deduced Heavy Load Deduced Helicopter Equipment General Conditions Workshop Modulation Numeric Numeric Numeric Numeric Numeric Numeric Numeric [1 ;10] [0 ;10] {2 ;5 ;8} {1 ;8} {1 ;2 ;3 ;6} Depends of coef. {1 ;3 ;5 ;6 ;7 ;8 ;9} Table Equation Table Table Table Equation Table 6 TABLE 2 : Liste des variables spécifiques au modèle CSP. HT UT ST FC Table UC AS HA FH Équation AI Équation GC Eq (1) RT NF CO HL HE DCO DHL DHE W HA W MA Table Table 9 TT Table 6 W M F IGURE 1 : Variables et contraintes du modèle étudié. Variable HT UT ST TT FC OC Description of similarity between... Obtaining two helicopters of the same type two uses of helicopters two type of services two therorical times of maintenance two helicopters with different flight conditions two different owner cares Table 0.8 if different, 1 else Table Difference between both Table Table TABLE 3 : Quelques fonctions de similarité du modèle CBR. MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia 2.4 Spécificités du CSP Le CSP utilise une liste de variables intermédiaires, présentées dans la table 2. Il s’agit par exemple de la variable GC (les conditions générales d’utilisation) ou de la variable W M (la disponibilité générale de l’atelier). RT = α × T T + β × GC + γ ×W M (1) La variable RT est obtenue par l’équation (1) qui stipule que la valeur de cette variable dépend des valeurs des variables représentant le temps théorique T T , des conditions générales d’utilisation GC et de la disponibilité générale de l’atelier W M. L’importance donnée aux trois variables de calcul T T , GC et W M est pondérée par trois coefficients α, β et γ sur lesquels les experts peuvent jouer pour adapter le modèle à la réalité. contraintes du CSP. Cette approche est représentée sur la figure 2. L’ensemble de la base de cas est analysée par un expert en utilisant par exemple des techniques statistiques ou d’analyse de données pour régler ou valider des connaissances formelles. Il peut alors décider de modifier certaines contraintes du modèle, d’amender des domaines de variables ou même d’ajouter de nouvelles variables et contraintes. Prenons par exemple l’équation (1) qui permet d’obtenir RT . Les experts savent que le temps réel de maintenance est fonction de T T , GC et W M mais ne peuvent pas donner précisément la valeur des coefficients α, β et γ. Grâce aux cas correspondants aux interventions de maintenance passées et stockées, le tableau de cas présenté table 4 est obtenu. Une technique de régression linéaire multiple permet alors de déduire les coefficients de α, β et γ. Le modèle de contraintes complet est représenté sur la figure 1. Nous retrouvons sur ce modèle les variables issues du MRB, celles ajoutées et nécessaires à la description d’une opération de maintenance ainsi que les variables intermédiaires de calcul. TT GC WM RT 1200 3000 200 2000 1000 120 2 8 10 5 2 9 8 4 1 5 2 8 1321 3101 270 2012 981 341 2.5 Spécificités du CBR TABLE 4 : Cas passés de maintenance. Le CBR utilise des fonctions de similarité afin d’identifier les cas proches du nouveau cas. Quelques-unes de ces fonctions sont listées dans la table 3, par exemple, FC (la similarité entre deux hélicoptères ayant des conditions de vols différentes) ou OC (la similarité entre deux appareils ayant un propriétaire différent). 3 MÉTHODES PERMETTANT DE CONSTITUER DE LA CONNAISSANCE Les deux méthodes que nous présentons dans cette section permettent de compléter ou de valider de la connaissance capitalisée. Ces améliorations ne sont pas complètement automatiques et sont pilotées par un expert. Grâce à cette technique, nous obtenons α = 0, 97, β = 8, 06 et γ = 16, 59. La pondération de l’équation (1) donne alors l’équation (2). Cette régression a permis d’affiner le CSP. Si l’on teste l’équation trouvée sur les résultats issus du CBR, l’erreur moyenne est de 5,31 heures sur une durée de réparation moyenne de 1337,67 heures, donnant ainsi une marge d’erreur de 0,4%. RT = 0, 97 × T T + 8, 06 × GC + 16, 59 ×W M (2) 3.1.2 Le modèle de contraintes permet de compléter la base de cas Nouveau cas 3.1 Utilisation d’une approche pour compléter l’autre 3.1.1 La base de cas permet de compléter le modèle de contraintes CBR Expert CSP CSP Expert CBR Modèle de contraintes Complétion Base de cas F IGURE 3 : Utilisation du CSP pour compléter les manquements du CBR. Base de cas Complétion Modèle de contraintes F IGURE 2 : Analyse des cas de la base de cas afin de compléter/modifier le modèle. Une première approche consiste à utiliser les cas présents dans la base de cas afin de compléter le modèle de Une seconde approche consiste à utiliser un CSP afin de compléter les cas capitalisés dans une base de cas. Il ne s’agit pas là de créer de nouveaux cas dans la base (qui eux sont réels) mais plutôt de les « parfaire ». Dans la réalité, la capitalisation de cas n’est pas idéale : la base de cas peut comporter des cas incomplets, la valeur d’un ou plusieurs descripteurs n’étant pas renseignée, ce qui peut perturber MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia la recherche de cas similaires ou proches. La figure 3 présente cette approche. Dans le cas où le CSP renvoie un domaine de valeurs possibles correspondant à une valeur manquante dans la base de cas, l’expert peut alors décider d’un ensemble de valeurs qui combleront ce manque. Prenons comme exemple un nouveau cas qui doit être inséré dans la base de cas (table 5). Celui-ci est intéressant et représentatif de la maintenance des hélicoptères, mais il manque une information. Ici, W MA n’est pas renseigné. Les deux contraintes qui s’appliquent dans notre cas sont l’équation (1) dans laquelle nous utilisons les valeurs de coefficients α = 1, β = 10 et γ = 8, ainsi que le tableau de contraintes 6. Le CSP effectue le filtrage et en déduit alors que W MA = Medium. Il ne reste plus qu’à l’expert à valider cette information afin que le cas entré en base soit complet et parfaitement cohérent avec le CSP et la réalité. TT GC W HA W MA RT 120 9 busy ? 274 TABLE 5 : Nouveau cas à prendre en compte auquel il manque une information. W HA W MA WM Free Free Medium Busy 0 3 5 Medium Free Medium Busy 3 6 7 Busy Free Medium Busy 6 8 9 TABLE 6 : Charge de l’atelier. 3.2 Utilisation d’une approche pour valider l’autre 3.2.1 La base de cas permet de valider le modèle de contraintes Ainsi celui-ci sera validé ou invalidé par les cas passés. Les travaux de (Shchekotykhin & Friedrich 2009) permettent par exemple de détecter quelles contraintes sont incohérentes dans un modèle. Le principe est illustré par la figure 4. Chaque cas est passé un à un dans le CSP et celui-ci renvoie les contraintes qui ont été violées et celles qui ne le sont pas. Après avoir passé un nombre suffisant de cas dans le CSP, il est alors possible de valider ou non certaines contraintes de ce modèle. Il est ensuite envisageable d’utiliser l’approche décrite au paragraphe 3.1 ou de revoir le modèle « manuellement » en cas de conflits. Prenons comme exemple une liste de cas issus de la base de cas (table 7). Cette liste permet la validation d’une contrainte liant W MA, W HA et W M (table 6) ainsi que l’équation contraignant RT (équation 1). La table 8 présente les valeurs de RT renvoyées par le CSP et par le CBR. Nous voyons alors que parfois, le CSP ne semble pas du tout en accord avec la base de cas. Après une analyse de l’expert, il s’avère que ces différences surviennent lorsque W MA est à l’état Busy. Étant donné que, dans cet exemple, nous plaçons notre confiance dans la base de cas, il faut alors revoir la table 6 afin de modifier la connaissance stockée dans le CSP. Line TT GC 1 2 3 4 5 6 7 200 457 865 864 642 4351 7431 3 5 8 7 6 5 9 W HA W MA RT Free Free Medium Free Busy Free Medium Busy Medium Busy Free Busy Free Free 272 537 1612 926 1054 4400 7542 TABLE 7 : Liste de cas passés afin de vérifier le CSP. Expert CBR CSP Valide ? oui non Base de cas Modèle de contraintes F IGURE 4 : Validation du CSP par le CBR. Dans le cas où la confiance en la connaissance stockée est plutôt axée sur la base de cas, le principe est de vérifier le modèle de contraintes créé grâce aux cas mémorisés. Line RT CBR RT CSP Différence 1 2 3 4 5 6 7 272 537 1612 926 1054 4400 7542 271 531 1001 934 774 4401 7545 2 6 611 8 280 1 3 TABLE 8 : Retours du CSP et du CBR sur les cas soumis. MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia 3.2.2 Le modèle de contraintes permet de valider la base de cas Base de cas bruts Expert CSP Valide ? CBR oui non Modèle de contraintes Vérifier le cas Base de cas validés F IGURE 5 : Validation du CBR par le CSP. Dans la situation où la confiance dans la connaissance stockée est accordée au modèle de contraintes, on peut alors confronter chaque cas de la base de cas au modèle CSP qui le validera ou non. S’il est validé, il pourra alors rester dans la base de cas. Sinon, il en sera retiré afin de ne pas fausser les requêtes à venir. Cette approche est décrite sur la figure 5. de descripteurs à renseigner manuellement dans le CBR et les domaines possibles de certains descripteurs. Ce type d’approche est particulièrement utile lorsque certaines valeurs de descripteurs d’un CBR peuvent être déduites à partir d’autres valeurs. Le CSP en affranchit donc de leur saisie et/ou propose un domaine de valeurs possibles pour un descripteur. La figure 6 illustre ce principe. Prenons comme exemple le n-uplet {HT , UT , ST , T T }. Si l’utilisateur souhaite capitaliser un nouveau cas, lors de la saisie des données, le filtrage par le CSP réduit les solutions possibles. Par exemple, si HT est Puma, alors le CSP renverra le fait qu’il n’y a aucune différence en le civil et le militaire (cf table 9). Il ne lui restera alors plus qu’à rentrer le type de service effectué. À l’inverse, si l’utilisateur met un temps théorique de 3400 heures, le CSP choisira alors automatiquement le Tigre militaire avec un service complet (cf table 9). Cette phase de filtrage n’est qu’indicative et doit donc être validée par l’utilisateur. HT Dr Si nous reprenons l’exemple ci-dessus, les lignes de la table 7 sont passées une à une dans le CSP. La table 8 présente les réponses données respectivement par le CSP et le CBR. Il suffit alors à l’expert de choisir les cas à retirer ou non du CBR afin de ne pas fausser les recherches ultérieures. Dans notre exemple, il pourrait choisir de retirer les cas 3 et 5 pour lesquels la différence entre les deux temps théoriques est importante (supérieure à 10% d’écart). ST TT ∀UT MS IS CS ≤ 120 ≤ 140 [600 ;1000] MS IS CS CS ≤ 120 . [600 ;1200] [600 ;1400] ∀UT Ga Dans les deux méthodes vues précédemment, le contrôle effectué par un expert est indispensable. En effet, seul un expert peut prendre la décision de valider ou non un modèle, que ce soit pour le CSP ou pour le CBR. 4.1 Le modèle de contraintes permet de réduire l’espace de recherche du CBR C M Pu ∀UT MS IS CS ≤ 140 ≤ 200 [600 ;1500] Do C M C M ∀ UT MS MS IS IS CS ≤ 140 ≤ 160 [150 ;300] [150 ;400] [1200 ;2000] Ti ∀ UT C M C M MS IS IS CS CS ≤ 210 [300 ;600] [300 ;800] [2000 ;3200] [2000 ;3400] 4 UTILISATION PAR COUPLAGE DES DEUX APPROCHES TABLE 9 : Temps théorique de maintenance. Recherche minimisée Recherche UT Cas CSP CBR Modèle de constraintes Base de cas F IGURE 6 : Réduction du domaine de recherche du CBR par le CSP. Cette approche vise principalement à améliorer l’ergonomie et la performance du CBR. En effet, via un premier filtrage effectué par le CSP, l’ensemble des modalités des descripteurs est filtré par le CSP, diminuant ainsi le nombre 4.2 Le modèle de contraintes aide à adapter les cas du CBR Utilisateur Recherche CBR Base de cas Adaptation Cas adapté CSP Modèle de contraintes MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia F IGURE 7 : Utilisation du CSP pour la phase d’adaptation du CBR. des cas proches peut alors retourner au CSP une nouvelle contrainte contextualisée issue des cas passés. Les recherches de (Purvis & Pu 1995) et (Ruet & Geneste 2002) indiquent que la principale utilisation qui peut être faite du CSP en appoint du CBR se situe dans la phase d’adaptation. Cette phase est la plus complexe du procédé du CBR. Le CSP permet alors de la rendre plus abordable. La figure 7 illustre ce principe d’aide à l’adaptation par le CSP. Prenons par exemple la table 9. Imaginons que cette table n’existe pas dans le CSP car les experts n’ont pas pu la modéliser. Le CBR contient tout de même la table 11. Lors de la saisie du type d’hélicoptère, le CSP envoie une requête dans la base de cas pour trouver la contrainte liant HT , UT , ST et T T . La table 12 montre différentes déductions effectuées à l’aide du moteur de filtrage du CSP suite à la saisie de certaines données. Prenons pour exemple la recherche du temps réel d’immobilisation pour un hélicoptère dont le temps théorique d’immobilisation est de 800 heures avec GC = 5, W HA = Free et W MA = Medium. Le résultat le plus similaire renvoyé par le CBR est un hélicoptère dont le temps théorique d’immobilisation était de 900 heures, avec GC = 5, W HA = Busy et W MA = Medium. Le CSP peut aider à l’adaptation de cette solution pour la recherche effectuée. Il utilisera donc ses connaissances pour donner le résultat le plus proche possible de la réalité. La table 10 donne les différentes entrées-sorties du système. Entrées CBR Sorties CBR Sorties CSP TT GC W HA W MA RT 800 900 800 5 5 5 Free Busy Free Medium Medium Medium 1014 874 TABLE 10 : Entrées-sorties de l’adaptation du CBR par le CSP. 5 FILTRAGE À BASE DE CAS CSP UT ST TT Pu Do Pu Pu Ti Ga Do Ga Ga Do Dr Do Pu Ga Dr Do Dr Pu Dr C M C C M C C C M M M C C M M M C M C IS MS CS IS CS CS MS CS MS MS IS MS MS CS IS MS CS CS IS 182 154 679 89 2768 678 43 1198 76 145 112 65 76 657 34 154 879 832 65 TABLE 11 : Base de cas utilisée par le Case Base Filtering. Entrée Modèle de contraintes HT {Pu} {Pu, C} {CS} {Ga, CS} Sortie {182, 679, 89, 76, 832} {182, 679, 89, 76} {679, 2768, 678, 1198, 657, 879, 832} {678, 1198, 657} TABLE 12 : Exemple de déductions faites par le CSP selon les saisies de l’utilisateur. CBR Base de cas F IGURE 8 : Filtrage à base de cas. Le filtrage à base de cas ou Case Base Filtering, présenté en figure 8, consiste à coupler le CBR et le CSP afin qu’ils travaillent ensemble, les entrées de l’un étant en partie alimentées par les sorties de l’autre. L’idée générale est que le CSP utilise le CBR lorsque certaines de ses variables ne sont pas ou peu contraintes. Le CBR lui renvoie alors une liste de cas proches. Un système d’agrégation Il est bien entendu indispensable d’être en mesure d’interpréter les résultats renvoyés par le CBR. Dans l’exemple, il serait incohérent de ne filtrer que sur les quelques valeurs agrégées et renvoyées par le CBR. La question se pose donc de savoir quelle est la pertinence de l’information retournée par le CBR. Dans le cas précédent, en se basant sur la première ligne de la table 12, le CSP doit-il intégrer une contrainte amenant à réduire le domaine de T T via : – – – – un intervalle englobant ([76 ;832]) ? une borne inférieure (≥ 76) ? une borne supérieure (≤ 832) ? un ensemble d’intervalles avec une tolérance ([66 ;86] ∪ [79 ;99] ∪ [172 ;192] ∪ [669 ;689] ∪ [822 ;842]) ? MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia Il est aussi envisageable d’analyser la demande du CSP pour qu’il questionne correctement le CBR. Prenons le cas d’un utilisateur qui recherche un hélicoptère dont le temps théorique de maintenance est de 400 heures. Cette requête peut être traduite de plusieurs manières. Par exemple : – le temps théorique est égal à 400 : T T = 400, – le temps théorique est égal à 400 plus ou moins 10 : T T = [390, 410] Une piste de solution pourrait être de passer par un analyseur intermédiaire entre le CBR et le CSP qui rendrait les échanges cohérents et plus flexibles. Cet analyseur devrait être renseigné avec de la connaissance d’experts, permettant ainsi de renvoyer les bonnes données au système de filtrage à base de cas. Cette solution est représentée sur la figure 9. Modèle de contraintes CSP Analyseur CBR Base de cas F IGURE 9 : Filtrage à base de cas amélioré. 6 CONCLUSION ET PERSPECTIVES L’idée principale de cette communication concerne le dialogue entre deux approches d’exploitation des connaissances : le CSP et le CBR. Six méthodes de couplage ont été identifiées : Dans le cadre du projet Hélimaintenance, ce système devrait permettre à terme d’estimer de manière fiable et rapide le temps réel d’immobilisation des hélicoptères maintenus par Hélimaintenance afin de planifier au mieux les réparations à effectuer. Étant donné la complexité de mise à jour du modèle de contraintes et la difficulté à adapter les solutions issues du CBR, il semble intéressant de combiner les deux approches. Cela induirait d’ajouter des contraintes contextualisées issues du CBR dans le CSP, ce qui est rendu possible par l’utilisation du filtrage à partir de cas. Il reste donc à tester la possibilité de faire dialoguer un CSP et un CBR afin d’ajouter dynamiquement des contraintes contextualisées dans un modèle de contraintes grâce à un CBR. 7 REMERCIEMENTS Les auteurs tiennent à remercier tous les partenaires du projet Hélimaintenance, en particulier les experts d’IXAIRCO pour leur engagement dans la construction des modèles de CSP et CBR. RÉFÉRENCES BIBLIOGRAPHIQUES Dutta, S., Wierenga, B. & Dalebout, A. (1997). Case-based reasoning systems : From automation to decisionaiding and stimulation, IEEE Transactions on knowledge and date engeneering, Vol. 9. Fargier, H., Lang, J. & Schiex, T. (1996). Mixed constraint satisfaction : a framework for decision problems under incomplete knowledge., Technical report, IRIT Université Paul Sabatier and INRA. Kolodner, J. (1993). Case-based reasoning, Morgan Kaufman Publishers. Montanari, U. (1974). Networks of constraints : fundamental properties and application to picture processing, Information sciences, Vol. 7, pp. 95–132. – la base de cas permet de compléter le modèle de contraintes (section 3.1.1). Nemati, H. R., Steiger, D. M., Iyer, L. S. & Herschel, R. T. (2002). Knowledge warehouse : an architectural integration of knowledge management, decision support, artificial intelligence and data warehousing, Decision Support Systems 33(2) : 143 – 161. – le modèle de contraintes permet de compléter la base de cas (section 3.1.2). Pahl, G. & Beitz, W. (1996). Engineering Design : A Sytematic Approach, Springer-Verlag. – la base de cas permet de valider le modèle de contraintes (section 3.2.1). Poncelin, G. & al. (2006). Product Life Cycle Aspects, Springer, chapter Design to maintenance cost by the control of the products environment, pp. 95–107. DOI : 10.1007/978-2-287-48370-7. – le modèle de contraintes permet de valider la base de cas (section 3.2.2). – le modèle de contraintes permet de réduire de l’espace de recherche du CBR (section 4.1). – le modèle de contraintes aide à adapter les cas du CBR (section 4.2). – Filtrage à base de cas (section 5). Purvis, L. & Pu, P. (1995). National science foundation grant iri, Technical report, Adaptation Using Constraint Satisfaction Techniques. Ruet, M. & Geneste, L. (2002). Search and adaption in a fuzzy object oriented case base, Advances in CaseBased Reasoning, ECCBR. MOSIM’10 - May 10-12, 2010 - Hammamet - Tunisia Sabin, D. & Freuder, E. (1996). Configuration as composite constraint satisfaction, Artificial Intelligence and Manufacturing Research Planning Workshop, pp. 153–161. Shchekotykhin, K. & Friedrich, G. (2009). Argumentation based constraint acquisition, in M. Stumptner & P. Albert (eds), Proceedings of the IJCAI-09 Workshop on Configuration, IJCAI, p. 47. Tsang, E. (1993). Foundations of constraints satisfaction, Academic Press, London.