Configuration � base de contraintes by YxkG7V5a

VIEWS: 7 PAGES: 13

									Configuration à base de contraintes


          Hélène Fargier    Laurent Henocque

            IRIT-Toulouse     LSIS-Marseille
                                                            Introduction

• Configurer = simuler la réalisation d’un produit à partir de composants
  d’un catalogue
    – définir la structure
        • ex: choix du nombre de processeurs d' un PC
    – choisir des valeurs pour les attributs variables
        • quantité de mémoire, vitesse, …

• On peut ainsi configurer :
        • des calculateurs : R1 puis XCON pour Digital,
        • des armoires électroniques (Edf, Demex)
        • des véhicules (Renault, Daimler Chryster)
        • des fenêtres, des grues, du logiciel, la relation client, la vente, les
          crédits
        • etc, etc, etc
                                                                          GDR-I3, dec 02 -- 2
                                                 Introduction (2)

• Programmation déterministe, Systèmes experts
       variabilité du catalogue  => difficultés de maintenance du
  système
• Nouvelles approches:
    – programmation par contraintes et/ou programmation logique
    – modélisations orientées objets
• Objectif de l' exposé : tentative d' état de l' art sur ces approches
         1. La problématique de la configuration
         2. Apports de la PL
         3. Apports de la programmation par contraintes
         4. Modélisation orientées objet
         5. Conclusion ;-)
                                                                    GDR-I3, dec 02 -- 3
   1. La problématique de la configuration

3 types de tâches :
    – 1 : la gestion du modèle de produit (le « produit générique ») et du
      modèle de configuration (connaissance sur le processus de
      configuration lui même) ;


    – 2 : la phase de configuration proprement dite (instancier le produit
      générique en un produit réalisable);


    – 3 : les tâches aval:
         • génération de données techniques (prix, délais, nomenclatures, BOM)
         • gestion des produits configurés (suivi, modification, reconfiguration)


                                                                      GDR-I3, dec 02 -- 4
                                     Génération du modèle

• Générer le « produit générique » : définir sa structure (sous produits,
  sous fonctions eux même configurables) et les contraintes entre les
  paramètres
   modéliser éventuellement le processus de configuration (liste de
   questions, conseils)
• le valider : tester sa cohérence, identifier les données mortes, identifier
  des produits types
• le maintenir : validation + gestion de la cohérence dynamique, souvent
  par test sur des sessions types positives ou négatives




                                                                   GDR-I3, dec 02 -- 5
        La phase de configuration utilisateur

   But : permettre à l' utilisateur de définir une instance du modèle
   générique réalisable (satisfaction des contraintes) et satisfaisant ses
   propres besoins
• 1. La phase de spécification (fortement interactive) :
    – maintenance des domaines à chaque choix de l' utilisateur;
    – proposition d' explications, aide à la relaxation.
• 2. La phase de génération de solution : rechercher un produit
  satisfaisant contraintes et spécifications utilisateur :
    – optimiser le délais, le prix, etc;
    – en cas d' échec, expliquer !


                                                                   GDR-I3, dec 02 -- 6
                                  2. Les apports de la PL

• Modèle et spécifications exprimées en PL
• Il est impossible de connaître le nombre de composants dans une
  solution, contraintes de cardinalité basse seulement
  => indécidabilité du problème dans le cas général
• Restriction à des domaines à algorithmes de décision efficaces :
    – Concurent constraint programming - CCP (ex: configuration de
      logiciel en reprographie)
    – CLP (ex: ConBaCon pour les moteurs électriques)
    – Modèles stables (ex: configuration de Debian Linux)
• En général, restriction aux tâches de génération de solution et de
  reconfiguration (systèmes à interactivité limitée)
                                                                 GDR-I3, dec 02 -- 7
             3. Configuration et satisfaction de
                                     contraintes

• Aspect déclaratif des CSP (SAT inclus) et progrès des algorithmes
  associés mais limitation à des problèmes propositionnels
• Pour exploiter les méthodes CSP
        • poser une borne sup sur le nombre de composants
        • le modèle générique devient une instance de CSP

• Requêtes facilement adressées:
        • filtrage (limité) des domaines en cours de spécification
        • génération de solution, validation de modèle, test de sessions types
          reconfiguration

• Requêtes nécessitant une extension du cadre CSP
        • Modélisation de la structure et dimension générative
        • Calcul d' explications / de restaurations
        • Filtrage (complet) des domaines en cours de spécification
                                                                      GDR-I3, dec 02 -- 8
                  3.1 CSP : prise en compte de la
                            dimension générative


• Gérer les variables et contraintes non utilisées dans la solution (ne pas
  tout mettre à plat)
    – CSP dynamiques et conditionnels : méta-contraintes d' activation
      de variables, de contraintes
    – CSP génératifs : notion explicite de composants et de connections;
    – CSP composites : les valeurs de certaines variables sont des CSP -
      ne sont gérés par les algo que variables et contraintes pertinentes
    – CSP structuraux (indécidables)




                                                                  GDR-I3, dec 02 -- 9
     3.2 CSP: explication de l' incohérence,
               restauration de la cohérence

Pour la configuration interactive (c' est l’utilisateur qui résout le CSP)
• Compilation du CSP (automate, BDD, arbre de synthèse, tableaux)
         • Le maintien de la cohérence globale devient faisable (linéaire)
         • Idem pour le calcul de restaurations, la génération de solution, la
           validation de modèle
         • Structure compilée potentiellement exponentielle en espace, mais
           faible complexité en pratique (composants indépendants, valeurs
           interchangeables)

• Calcul à la volée
         • d' une restauration (CSP valués; combinatoire)
         • d' une explication minimale au sens de l' algo de maintien de
           cohérence courant


                                                                       GDR-I3, dec 02 -- 10
                3.3 CSP : génération de solution


• Génération simple : c' est là que l' on récupère beaucoup des
  algorithmes puissants de CSP et/ou de SAT
• Mais on veut aussi pouvoir optimiser:
    – Optimisation de critère simple :
        • CSP valué (poids sur les choix) ou optimisation de critère en CSP
        • Algos de recherche opérationnelle
        • Recherches incomplètes (heuristique + LDS, réparation de solution,
          descente, etc)
    – Optimisation multi-critère : solutions Pareto optimales, optimisation
      globale, heuristiques


                                                                   GDR-I3, dec 02 -- 11
    4. Modélisation orientées objet (en bref)

• Exploitation « directe » des boites à outils CSP sur langage objet (Ilog
  solver, Choco)
    – cf. CSP hiérachiques = domaines hiérarchique et héritage en CSP
    – Ilog configurator, Caméléon
• Concepts et Frames
• Logiques terminologiques et de description
Remarque : UML est aussi un langage formel très bien adapté à la
  description du modèle de produit générique ; une solution = une
  instance du modèle



                                                                GDR-I3, dec 02 -- 12
                                                             Conclusion

• Fort intérêt pratique de la recherche en configuration
         nombreux domaines d' application industriels ; demande des industriels;
   implication en R&D

• Fort intérêt théorique des applications de configuration par contraintes
   elles succitent des questions qui font évoluer les cadres originaux (aspects
   génératifs par ex, explications, etc)

• Les applications de ces recherches peuvent dépasser la « simple »
  configuration de produit
         • Agents cognitifs : modélisation d' un agent comme un modèle de
           configuration et construction d' une configuration de l' agent
           compatible avec les faits
         • Traitement du langage naturel (analyse syntaxique)

• Conflits entre les différentes approches (PL-CSP / objet) ?
                                                                        GDR-I3, dec 02 -- 13

								
To top