Home
        Programmation Logique avec Contraintes et Ordonnancement
         Contents
1.    ce langage de se distinguer sur des probl  mes du type analyse synth  se de  circuits   lectriques analogiques  dans lesquels interviennent effectivement de  nombreuses contraintes lin  aires et non lin  aires  Il pr  sente d   autre part des  fonctionnalit  s de    m  ta programmation      il permet en particulier de traiter    symboliquement les termes et les contraintes arithm  tiques gr  ce    une forme  cod  e  traitement qu   il n est pas possible de r  aliser   l  gamment en CHIP ou  PrologII     4  Les langages de PLC    Pour effectuer un bilan sur l ensemble des possibilit  s offertes par ces langages   nous nous restreindrons aux trois langages qui nous semblent les plus repr  sentatifs  de la PLC   CHIP  DIN 88   PrologII  COL 90  et CLP R   JAF 87      4 1  Le fonctionnement de base des machines Prolog avec contraintes    L   tat de la machine abstraite ProloglIl peut   tre repr  sent   par un triplet   V B C  o       V est l ensemble des variables auxquelles on s int  resse      Best la liste des buts    r  soudre   B   bo b1    bn      C est le syst  me de contraintes courant     L utilisation d une r  gle du type      SQ   gt  S1 S2     Sm       o   c d  signe les contraintes attach  es    l utilisation de la r  gle  engendre le  nouvel   tat  V B  C   tel que      B  s  S2    Smb1  bn et C   C U c U  bo s0      Les contraintes propres    une clause sont plac  es    la suite des litt  raux logiques   Le langage se charge de l ordre dans lequel elles doivent 
2.    ventuellement minimisation de la date de fin de l ensemble des t  ches  minval Sprojet     minval S     domain_info S  Min  _ _       S   Min     15    Pour des probl  mes dont les t  ches ont des dur  es connues  le programme  pr  c  dent permet de trouver les fen  tres temporelles associ  es aux dates de d  but  des t  ches sur l ensemble des solutions admissibles    En revanche  lorsque les dur  es ne sont pas connues  cette caract  risation est  incompl  te car les contraintes font intervenir 3 variables  d  but  dur  e  fin  et la  consistance globale n est plus assur  e par les m  canismes de propagation sur les  domaines finis  La seule alternative est d adopter une mod  lisation en nombres  rationnels    L exemple ci dessous permet de mod  liser un graphe de contraintes temporelles  dont les sommets sont les dates de d  but et les dates de fin d un ensemble de t  ches   et dont les arcs correspondent    une contrainte de distance entre deux dates  Un tel  graphe  muni d un sommet origine des temps permet de d  terminer de mani  re  compl  te les valeurs minimales des distances entre tout couple de dates     Exemple  PrologI          Le graphe initial  d  clar   par la clause grapheO GO   est mod  lis   par une liste  d arcs du type    lt origine  extr  mit    valuation gt   Chaque noeud  origine ou  extr  mit    est de l un des trois types      1   lt org  0 gt      2   lt deb i   x gt  o   x est la variable date de d  but d   une t  che i      3   lt fin i   y gt 
3.   Max      Sn   Dn   lt   Max   pose_precede  S1 S2IS   D1 D2ID  Max      S2    0  Max   S1   D1   lt   S2   pose_precede  S21S   D2ID  Max      5 1 2  Contraintes de disjonction    Les probl  mes d ordonnancement    ressources non partageables d  finissent les  probl  mes d ordonnancement disjonctifs  Une mod  lisation par graphe non   conjonctif  ERS 79  BAR 88  est alors possible mais il n existe pas d algorithmes de  complexit   acceptable permettant comme dans le cas pr  c  dent de caract  riser de  mani  re n  cessaire et suffisante l ensemble des solutions  On ne peut donc attendre  de la PLC qu une gestion passive de ces contraintes  au sens o   les domaines des  variables ne peuvent   tre r  duits a priori par les contraintes     Une contrainte disjonctive entre deux t  ches t1 et t2 peut s exprimer sous la  forme d une disjonction d in  galit  s du type       S2   F1   0  v  S1   F2 20   o    v  repr  sente la disjonction logique  Elle traduit le fait que l une des deux  t  ches doit pr  c  der l autre  Dans le cas o   les dur  es sont connues  la contrainte  s exprime     S2   S1   D1  v  S1   S2   D2      5 1 2 1  Mod  lisation par un point de choix    C est la solution la plus directe  mais aussi la plus inefficace  pour traduire une  telle contrainte  la disjonction en Prolog   tant naturellement repr  sent  e par  l existence de 2 clauses d  finissant la m  me relation     Exemple  CHIP       disjonction  S1 S2 D1 D2     S2   gt   S1   D1   disjonctionl1 S1  2 
4.   Techniques et Science Informatiques  2 4   1983     COL 90  COLMERAUER A   An introduction to PrologIII  Communications of ACM  33 7    pp 69 90  1990     COS 93  CosyTEC  Reference Manual  COSY REF 001  1993     DEC 91  DECHTER R   MEIRI I   PEARL J   Temporal Constraints Networks  Artificial  Intelligence  49  pp 61 95  1991     DEC 92  DECHTER R   From local to global consistency  Artificial Intelligence  55  1992     DIB 70  DIBON M   Ordonnancement et potentiels   M  thode M P M   Hermann  1970     DIN 87  DincBAs M   SIMONIS H   Van HENTENRYCK P   Extending equation solving and  constraint handling in logic programs  Proc  Colloquium on Resolution of Equations in  Algebraic Structures  MCC  Austin  Texas  USA   1987     29     DIN 88  DINCBAS M   Van HENTENRYCK P   SIMONIS H   AGGOUN A   GRAF T   BERTHIER  F   The Constraint Logic Programming Language CHIP  Proc  International Conference  on Fifth Generation Computer Systems  FGCS 88    pp 693 702  Tokyo  Japan   1988     DIN 90  DincBAs M   SIMONIS H   Van HENTENRYCK P   Solving large combinatorial  problems in logic programming  Journal of Logic Programming  8  pp 75 93  1990     ELM 77  ELMAGHRABY S E   Activity networks  John Wiley  amp  Sons  1977     ELM 92  ELMAGHRABY S E   KAMBUROWSKI J   The analysis of activity networks under  generalized precedence relations  GPRs   Management Science  38  pp 1245 1263  1992     ERS 76  ERSCHLER J   Analyse sous contraintes et aide a la d  cision pour certains  probl  mes d
5.   ce qui  permettrait d aborder des probl  mes dont la mod  lisation n  cessite plusieurs types  de variables    Au contraire  certains langages se sp  cialisent dans la r  solution de probl  mes  tr  s sp  cifiques  privil  giant le point de vue de l optimisation au d  triment de la  caract  risation de la consistance des solutions et de la standardisation de la PLC   standardisation dont l absence a longtemps nuit  et nuit encore  au langage Prolog  lui m  me  Le but est clair   concurrencer les outils sp  cialis  s  ce qui entre en  contradiction avec les buts originaux de la PLC qui   taient la formalisation et  l int  gration de m  canismes g  n  raux de propagation de contraintes  De plus  le  fonctionnement des primitives les plus   volu  es n est pas clairement expliqu      24     concurrence oblige  et leur utilisation passe par une syntaxe relativement  contraignante  ce qui ne facilite pas leur appropriation par les programmeurs     7  Bibliographie     ACM 92  Communications of ACM  Special section on Logic Programming  35 3   1992     AGG 92  AGGOUN A   BELDICEANU N   Extending CHIP in order to solve complex  scheduling and placement problems  Actes des Journ  es Francophones de  Programmation Logique  pp 51 66  1992     BAR 88  BARTUSCH M   MOHRING R H   RADERMACHER F J   Scheduling project networks  with resource constraints and time windows  Annals of Operations Research  16  pp 201   240  1988     BAP 92  P  Baptiste  B  Legeard  C  Varnier  Hoist scheduling 
6.   quates     Exemple  CHIP    boucle d instanciation d une liste de variables    domaine fini     labeling1        labeling1  XIY        delete Var   XIY   Rest  0  most_constrained    indomain Var    labeling1 Rest      Le pr  dicat    indomain X     de CHIP est un g  n  rateur de valeurs qui   vite au  programmeur de sp  cifier explicitement le domaine de la variable  domaine qu il  n est pas certain de conna  tre au moment de l instanciation    tant donn   les  restrictions qu ont pu op  rer les contraintes  De m  me  le pr  dicat    enum X     de  PrologIII   num  re toutes les constantes enti  res n telles que le syst  me courant de  contraintes augment   de la contrainte X n soit globalement satisfait     4 2 2  Optimisation    Les langages de PLC incluent des primitives permettant de trouver une solution  optimale    un probl  me de satisfaction de contraintes    Dans le cas de probl  mes    variables rationnelles  ou r  elles   l algorithme du  Simplexe permet de r  pondre au probl  me d optimisation     la condition que le  crit  re soit lin  aire  gr  ce aux primitives du type    minimize X      PrologIIl  ou     rmin X      CHIP     Pour les variables    domaines finis  la primitive    min_max    de CHIP permet de  rechercher toutes les solutions et conserve celle de plus petit co  t  Lorsqu il existe  un tr  s grand nombre de solutions  la recherche peut   tre r  duite selon quatre  crit  res dont le    r  glage    ne peut   tre qu exp  rimental    1  une limite d
7.   tre interpr  t  es compte  tenu des contraintes d unification  En CHIP et en CLP R   au contraire  les  contraintes ne sont pas diff  renci  es des litt  raux classiques     4 2  G  n  ration de solutions    4 2 1  Sch  ma g  n  ral de r  solution    La r  solution d un probl  me dont les variables sont soumises    des contraintes  ob  it au sch  ma suivant      1  Cr  ation des variables du probl  me et ou pose des contraintes de domaine   2  Pose des contraintes binaires ou n aires    3  Instanciation des variables    4  Arr  t sur la premi  re solution ou retour sur les points de choix laiss  s en 3     ventuellement en 2 dans le cas de points de choix sur la pose de  contraintes      L ordre des   tapes 2 et 3 est primordial dans l optique d une utilisation active des  contraintes  Bien que l instanciation des variables soit non d  terministe  on peut    n  anmoins agir sur l ordre d instanciation    deux niveaux    1  strat  gie de choix des  variables    instancier    2  strat  gie de choix des valeurs pour une variable donn  e    Les primitives de choix des variables permettent d appliquer le first fail   principle  HAR 80   Ce principe dit qu il vaut mieux   chouer le plus t  t possible  dans l exploration de l espace de recherche  En pratique  il faut s  lectionner en  priorit   les variables ayant le plus petit domaine et pr  sentes dans le plus grand  nombre de contraintes  Cette s  lection peut   tre assur  e par le langage lui m  me  moyennant des primitives ad
8.  o   y est la variable date de fin de i     On pose la contrainte   y x z d  d   tant une constante positive ou n  gative    Le graphe courant G reprend la m  me structure que GO    la diff  rence que  chaque valuation est une variable dont on cherche la valeur minimale apr  s avoir  pos   et propag   les contraintes de GO    Le programme principal  top  consiste a lire le graphe initial  lancer la  propagation  et retourner les valeurs minimales des arcs        top   gt   grapheO GO   propa_graphe GO  G   affiche G      grapheO  arc1  arc2          gt      propa_graphe           gt    propa_graphe   lt  lt n_i  i gt    lt n_j  j gt   d0 gt  1 GO     lt  lt n_i  i gt    lt n_j  j gt   d gt    GJ    gt   propa_graphe GO  G   minimum   i  d     j  i  gt   d0      affiche       gt     affiche  A_rc   Liste_d_arcs     gt   outl A_rc   affiche Liste_d_arcs      L   exemple suivant permet de poser les contraintes de gamme dans un probl  me  de job shop  Un ensemble de travaux doivent   tre ex  cut  s sur un ensemble de    16    machines  Chaque travail est constitu   d   un ensemble de t  ches ordonn  es et  r  alis  es sur des machines diff  rentes  On consid  re chaque travail successivement   Pour chaque t  che d   un travail  on cr  e une variable domaine de d  but et on pose les  contraintes qui constituent la s  quence de t  ches au sein du travail     Exemple  CHIP       travail  S11S    D11ID  Max      S1    0  Max   pose_precede  S11S   D1ID  Max      pose_precede  Sn   Dn
9.  ordonnancement  Th  se de Doctorat d   tat  Univ  Paul Sabatier  Toulouse   1976     ERS 79  ERSCHLER J   FONTAN G   ROUBELLAT F   Potentiels sur un graphe non conjonctif et  analyse d   un probl  me d   ordonnancement    moyens limit  s  RAIRO RO  13  1979     ESQ 87  ESQUIROL P   R  gles et processus d   inf  rence pour l   aide    l   ordonnancement de  t  ches en pr  sence de contraintes  Th  se de Doctorat  Univ  Paul Sabatier  1987     ESQ 93a  ESQUIROL P   LOPEZ P   BOY G   BRADSHAW J   HAUDOT L   SICARD M   SCOOP    Syst  me COop  ratif pour     Ordonnancement de Production  rapport LAAS 94171  1994     ESQ 93b  ESQUIROL P   LOPEZ P   HUGUET M J   Modelling and managing disjunctions in  scheduling problems  Journal of Intelligent Manufacturing  6  1995  to appear     FRE 78  FREUDER E C   Synthesizing constraint expressions  Communications of ACM   21 11   1978     FRE 82  FREUDER E C   A sufficient condition for backtrack free search  Journal of ACM   29 1   1982     GAR 79  GAREY M R   JOHNSON D S   Computers and Intractability  W H  Freeman and  Company  New York  1979     GOT 93  GOTHA  Les probl  mes d   ordonnancement  RAJRO RO  27 1   pp 77 150  1993     HAN 88  HAN C   LEE C   Comments on Mohr and Henderson   s path consistency algorithm   Artificial Intelligence  36  1988     HAR 80  HARALICK R M   ELLIOT G L   Increasing search efficiency for Constraint  Satisfaction Problems  Artificial Intelligence  14  1980     HEN 89  Van HENTENRYCK P   Constraint satis
10.  principe de  r  solution  PR   ROB 65  qui permet     travers une d  monstration par r  futation   d obtenir les valeurs des variables   ventuellement pr  sentes dans la question pos  e   L ex  cution d un programme logique correspond    l exploration d un arbre de  d  rivation dont la racine constitue la n  gation de la clause    d  montrer et dont les  feuilles sont des clauses vides  cf  figure 1   Chaque branche est r  gie par un  algorithme d unification qui g  n  re l ensemble minimal des substitutions n  cessaires     l application du PR  Le choix des clauses devant   tre mises en relation lors des  diff  rentes inf  rences est contr  l   par une strat  gie d exploration en profondeur  d abord avec retour arri  re chronologique  Par d  faut  tous les points de choix sont  m  moris  s ainsi que leur contexte  listes des variables locales et des substitutions   pour assurer l exhaustivit   de la recherche     Pour aborder la r  solution de probl  mes avec contraintes  la PL est un outil  int  ressant    Le caract  re non d  terministe de la PL et sa s  mantique d  clarative permettent  de s  parer la repr  sentation d   un probl  me de sa r  solution  De plus lorsqu   ils sont  r  versibles  les programmes gagnent en g  n  ralit   et en r  utilisabilit    La proximit    conceptuelle de la strat  gie de r  solution et des techniques de recherche  arborescente dans les probl  mes combinatoires facilitent   galement la conception  des programmes    Toutefois  ces caract  r
11.  une dur  e   gale    la distance temporelle minimale  positive ou  n  gative  entre ces bornes  Ces contraintes temporelles peuvent se repr  senter sous  la forme d un graphe potentiels t  ches ou potentiels   tapes  DIB 70  ROY 70  ELM  77  ELM 92  ou d   un graphe potentiels bornes  ESQ 93b   permettant de prendre en  compte des dur  es variables et des contraintes sur ces dur  es    Les contraintes de localisation absolue peuvent   galement se traduire par des  in  galit  s du m  me type    condition d instancier une des deux bornes par un instant  de r  f  rence     Bi   By   B  0 B   Bi  lt  Bit   0   Bi    Bit    Traditionnellement  l application d algorithmes de recherche des plus longs  chemins entre deux sommets permet de caract  riser de mani  re n  cessaire et  suffisante l ensemble des solutions  Cette caract  risation est de complexit    acceptable  O n3  si n est le nombre de t  ches   PAP 82  DEC 91   Elle est  directement r  alisable par un langage de PLC tel que CHIP  et l exemple du  traitement d un probl  me PERT est souvent utilis   par les concepteurs  DIN 90   Le  squelette d un programme CHIP permettant de calculer les fen  tres temporelles  d ex  cution d un ensemble de taches avec contraintes de localisation absolue ou  relative des taches est le suivant      trouver_fenetres Liste_des_dates_de_debut_Si        pose des contraintes de localisation absolue  Si    Smin  Smax          pose des contraintes de localisation relative    Sj   gt   Si   Di    
12. D1 D2     S1   gt   S2   D2     L inconv  nient majeur de cette solution est de cr  er  pour n t  ches en conflit  un  espace de recherche de taille exponentielle en n  Les feuilles de l arbre g  n  r   par la    17    pose de l ensemble des contraintes disjonctives repr  sentent une solution  s  quentielle du probl  me et il est possible d obtenir les marges temporelles  associ  es    une s  quence donn  e avant toute instanciation des dates de d  but  La  figure 4 repr  sente les r  ductions   ventuelles de domaine temporel d une t  che   fen  tre  apr  s passage par un point de choix     i E i C   C E i EE jj    i pr  c  de j   j pr  c  de i      i E SSSR i  a j JE    Figure 4  R  duction des fen  tres apr  s un point de choix li      une disjonction    L ordre de pose des contraintes propos   dans les exemples est en g  n  ral statique  et impos   par une boucle d   num  ration des couples possibles  L efficacit   peut   tre  augment  e en rempla  ant cet ordre statique par un ordre plus dynamique qui forme  en priorit   les couples de t  ches dont les fen  tres temporelles se chevauchent le  moins  principe du first fail   La complexit   d une telle proc  dure ne garantit pas au  bout du compte une am  lioration tr  s nette de l efficacit     tant donn  e les nombreux  tests de comparaison qu exige le reclassement dynamique des t  ches avant chaque  pose de contrainte disjonctive     5 1 2 2  Mod  lisation par propagation conditionnelle    L utilisation de la primitive d
13. Programmation Logique avec Contraintes  et Ordonnancement    Patrick ESQUIROL      Pierre LOPEZ    Laboratoire d Analyse et d Architecture des Syst  mes du C NRS     7  avenue du Colonel Roche  31077 Toulouse Cedex      T N S A  de Toulouse  Complexe Scientifique de Rangueil  31077 Toulouse Cedex    R  SUM    Les probl  mes combinatoires tels que les probl  mes d ordonnancement ont fait  l objet de nombreux travaux en Recherche Op  rationnelle  et ont donn   lieu    l utilisation de  m  thodes de recherche arborescente  dont l efficacit   d  pend notamment de l exploitation     intelligente    des contraintes d  finissant les solutions admissibles  Malgr   la puissance et  l   l  gance qu offre la programmation logique au niveau de la repr  sentation  les langages  imp  ratifs lui ont souvent   t   pr  f  r  s pour des raisons d efficacit    A l heure actuelle  on  constate un int  r  t grandissant pour la programmation logique avec contraintes  dotant la  programmation logique de m  canismes puissants d interpr  tation de contraintes  arithm  tiques et symboliques  Apr  s avoir rappel   les fondements th  oriques de ces  m  canismes  dont certains sont issus de travaux en Intelligence Artificielle  nous essayons de  cerner les avantages r  els de l application de cette nouvelle technologie aux probl  mes  d ordonnancement     ABSTRACT  Combinatorial problems such as scheduling have been the target of many works in  the field of Operations Research  and led to develop tree se
14. ables sous forme d expressions bool  ennes b  ties sur la relation de  pr  c  dence entre deux t  ches  On peut trouver de telles contraintes dans la  formulation initiale des probl  mes   on peut   galement rechercher certaines formes  de contraintes    partir d une analyse sous contraintes  en particulier celles qui    23    autorisent une actualisation des fen  tres d ex  cution des t  ches dans le but de  caract  riser les solutions admissibles  ERS 76   Une pr  caution doit cependant   tre  prise lors du traitement symbolique de ces contraintes   la transitivit   de la relation  de pr  c  dence doit   tre pos  e explicitement pour tout triplet de variables  bool  ennes  ce qui alourdit de mani  re non n  gligeable le syst  me de contraintes     5 3  Discussion    Dans le cas disjonctif  la caract  risation des solutions admissibles d un probl  me  d ordonnancement peut faire intervenir    la fois des contraintes num  riques   temporelles  et symboliques  de s  quencement   Pour chacun de ces cas  on a  montr   l   ad  quation d   un mod  le    variables enti  res ou    variables bool  ennes    A l   heure actuelle cependant  il n existe pas de moyen   l  gant de lier les  inf  rences r  alis  es sur le domaine des variables enti  res et les variables  bool  ennes  du fait de l impossibilit   de construire des expressions m  langeant ces  deux types de variables dans les langages de PLC  cf   4 5   Si la propagation de  contraintes peut s effectuer depuis le syst  me de d
15. aleurs  une par variable  tel que  pour chaque contrainte Ck   les valeurs associ  es aux variables var Cx  assurent le  respect de Cx    Sur ce mod  le  on peut d  cliner plusieurs types de probl  mes  de complexit      quivalente  NP complets  GAR 791   le probl  me de la satisfaction d un ensemble  de contraintes sur des variables    domaine fini pouvant se ramener    celui de la  coloration d un graphe      e d  montrer l existence de solutions  trouver une  toutes les  solution s      e d  montrer qu une instanciation partielle des variables caract  rise au moins  une  toutes les  solution s      e d  terminer toutes les valeurs possibles d une variable sur l ensemble des  solutions     e trouver une  toutes les  solution s  optimale s      3 2  Notion de consistance dans les PSC et propagation de contraintes    La consistance  FRE 78  FRE 82  DEC 92  TSA 93  est une propri  t     tablie par  comparaison entre les valeurs d   une ou plusieurs variables et les valeurs autoris  es  par les contraintes  Le retrait  filtrage  de valeurs ou de n uplets de valeurs  inconsistants constitue un renforcement de coh  rence ou propagation de  contraintes  Un filtrage complet permet en th  orie d obtenir une repr  sentation  explicite de l ensemble des solutions  L absence de solution  ou inconsistance  globale  est d  tect  e a l issue d un filtrage  s il existe une variable Vj telle que  Di         Les algorithmes de filtrage  NAD 89  ont pour objet de transformer un CSP en  un nou
16. arch methods  whose efficiency  strongly depends on an    intelligent    processing of the constraints that define the feasibility  of the solutions  Although logic programming is a powerfull and elegant support for the  representation of such problems  classic imperative languages have been preferred for  efficiency considerations  Today constraint logic programming seems more attractive since it  extends logic programming with efficient mechanisms  managing symbolic and numeric  constraints  Once presented the theoretical bases of such mechanisms  this paper attempts to  delimit the real advantages of applying this new technology for the solving of scheduling  problems     MOTS CL  S   probl  mes de satisfaction de contraintes  programmation logique avec  contraintes  ordonnancement   KEY WORDS   Constraint Satisfaction Problems  Constraint Logic Programming  Scheduling     1  Introduction    Un grand nombre de probl  mes pratiques abord  s d   abord en Recherche  Op  rationnelle puis en Intelligence Artificielle  LAU 76  DIN 90    e g    ordonnancement  affectation de ressources  d  coupe de surfaces  v  rification de  circuits logiques     sont des probl  mes combinatoires dont la r  solution revient     explorer un espace de recherche discret pour trouver un point satisfaisant un  ensemble de contraintes  Pour la plupart de ces probl  mes  il n existe pas  d algorithme    la fois g  n  ral et efficace pour les r  soudre  Il sont donc souvent  abord  s    l aide de techni
17. ates vers le syst  me bool  en gr  ce     une propagation conditionnelle  on ne peut en revanche  associer de    d  mons    aux  variables bool  ennes dans le but d effectuer la propagation dans l autre sens     6  Conclusion    La PL offre un cadre    la fois rigoureux et souple pour la repr  sentation des  probl  mes combinatoires dont la r  solution n  cessite le parcours non d  terministe  d un espace de recherche  Par sa s  mantique d  clarative et la puissance de la logique  du premier ordre  elle procure lisibilit    concision et flexibilit   aux programmes  Par  contre la strat  gie de r  solution s av  re tr  s inefficace   tant donn   la faiblesse des  contraintes d unification comme seul m  canisme de propagation de contraintes   compar  s aux r  gles sp  cifiques existant sur les variables typ  es  comme les  domaines finis  entiers  r  els ou encore rationnels  D autre part le retour arri  re  chronologique en cas d   chec refl  te une utilisation passive des contraintes    Augment  e de r  gles d inf  rence sp  cifiques au traitement de contraintes sur des  variables typ  es  la PLC devient beaucoup plus int  ressante pour la repr  sentation et  la r  solution de ces m  mes probl  mes  notamment les probl  mes d ordonnancement   Cependant les diff  rents paradigmes de r  solution sont encore relativement  cloisonn  s et il n existe pas encore de langage complet capable de faire interagir les  m  canismes de propagation de contraintes sur des domaines diff  rents
18. bles     En l   absence d   hypoth  ses particuli  res  e g   contraintes num  riques binaires  conjonctives   il n existe pas d algorithme polynomial pour v  rifier la consistance  globale d un r  seau de contraintes quelconques  Il n est donc pas possible  d implanter un m  canisme g  n  ral efficace dans un langage de PLC     3 3  Les algorithmes d instanciation progressive et de propagation  8 prog    Lorsqu aucune d  duction ne permet de restreindre un domaine  la strat  gie  d instanciation consiste en une simple   num  ration des valeurs des variables  celles   ci   tant consid  r  es dans un ordre arbitraire  L application des r  gles de filtrage  donn  es ci dessous doit   tre envisag  e dans un contexte dynamique     partir d un    tat courant o   certaines variables du probl  me ont d  j     t   instanci  es  d autres pas     Le forward checking  FC  est une technique de renforcement de coh  rence par  domaine consistance  L id  e est d exploiter plus efficacement les contraintes  en  particulier lorsqu en cours de g  n  ration de solution  il ne subsiste dans une  contrainte qu une seule variable non instanci  e   toute valeur du domaine non  consistante avec les valeurs des variables d  j   instanci  es est alors retir  e du  domaine    Deux cas particuliers sont importants    l issue d un filtrage de ce type     e si le domaine devient vide  la r  solution n  cessite un retour arri  re     e si le domaine se r  duit    une seule valeur  la variable prend automat
19. che   nerg  tique  RAIRO APII  26 5 6   1992     LOP 95  Lopez P   HAUDOT L   SICARD M   ESQUIROL P   Constraint based approach to  design a DSS for scheduling  Proc  3rd International Conference on the Practical  Application of Prolog  PAP   95   Paris  1995     MAC 77  MACKWORTH A K   Consistency in networks of relations  Artificial Intelligence   8 1   1977     MOH 86  MoHR R   HENDERSON T C   Arc and path consistency revisited  Artificial  Intelligence  28  1986     MON 74  MONTANARI U   Networks of Constraints   fundamental properties and  applications to picture processing  Information Sciences  7  1974     NAD 89  NADEL B A   Constraint Satisfaction Algorithms  Journal of Computers  Intelligence  5  1989     PAP 82  PAPADIMITRIOU C H   STEIGLITZ K   Combinatorial optimization   Algorithms and  Complexity  Prentice Hall  Englewood Cliffs  NJ  1982     ROB 65  ROBINSON J A   A machine oriented logic based on the resolution principle   Journal of ACM  12 1   1965     ROY 70  Roy B   Alg  bre moderne et th  orie des graphes  tome II  Dunod  1970     RUD 74  RUDEANU S   Boolean Functions and Equations  North Holland  Amsterdam   London  1974     THI 93  THIERRY C   BEL G   ESQUIROL P   A Constraint Based Model For MultiSite  Scheduling  Proc  IFAC 93  Sidney  Australia   1993     TSA 93  TSANG E   Foundations of constraint satisfaction  Computation in Cognitive  Science Series  Academic Press  1993     WAL 72  WALTZ D L   Generating semantic descriptions from drawings of sc
20. command  es  et la disponibilit   limit  e des ressources sur chaque  p  riode  Une mod  lisation par flots est souvent propos  e pour r  soudre ce type de  probl  mes et les   quations de conservation de la mati  re sont lin  aires  THI 93    D   autres exemples d   application de la PLC    certains probl  mes de gestion du  temps et des ressources peuvent   tre avantageusement consult  s dans  BAP 92  BOI  95  LEG 92  WAL 94      Glossaire   Si date de d  but de i  Fi date de fin de i  Di dur  e de i  Pour une t  che i   Bi borne temporelle de i  Sj ou Fj   By borne inf  rieure de Bj    14    Bit borne sup  rieure de Bj  Xij variable bool  enne  vraie si i pr  c  de j     5 1  Probl  mes de dates    C est le cas des probl  mes de gestion de projets  ou d ordonnancement d atelier   La d  composition du travail en t  ches s y exprime    travers des contraintes de  localisation temporelle relative entre deux t  ches    D autre part  la d  finition de dates limites d ex  cution  e g   fin d un projet  d  lais  d   approvisionnement  de livraison     impose des contraintes de localisation  temporelle absolue des t  ches     5 1 1  Contraintes de localisation temporelle relative et absolue    La majorit   des contraintes de localisation temporelle relative peut s exprimer     travers une ou plusieurs in  galit  s entre des dates  du type   Bj   Bj   ajj  o   Bi et Bj  repr  sentent des bornes temporelles caract  ristiques des t  ches i et j  dates de d  but  et ou de fin   et ajj
21. contraintes n aires  n   3  du fait du caract  re local du FC  cf   3 3   Dans  le cas de contraintes lin  aires  la compl  tude passe par une mod  lisation en  variables rationnelles  dans ce domaine CHIP et PrologIII sont   quivalents     Mais ce jugement doit   tre relativis    En effet  la mod  lisation d   un probl  me  concret fait souvent intervenir des contraintes li  es 4 des variables de types  diff  rents  mod  les    variables mixtes   S   il existe plusieurs paradigmes de  r  solution de contraintes au sein d un m  me langage  la propagation de contraintes  entre diff  rents mod  les est relativement limit  e  Certaines faiblesses actuelles  seront donn  es en conclusion  cf    4 5      4 4  Retardement de contraintes    Toutes les contraintes n   ont pas un effet imm  diat d  s leur pose   certaines  n  cessitent une instanciation partielle des variables pour devenir actives  Pour  pouvoir poser des contraintes sans qu   elles soient imm  diatement   valu  es  on peut  utiliser un m  canisme de retardement de buts  Ceci correspond    une  programmation dirig  e par les donn  es et ne remet pas en cause pour autant le  sch  ma g  n  ral pr  sent   au  4 2 1  Les litt  raux retard  s sont r  veill  s et plac  s  dans la liste des buts courants d  s que les conditions d interpr  tation sont r  unies     Exemple 1  CLP R        e Z   X Y est retard  e jusqu    ce que l une au moins des 2 variables    droite de  l   galit   soit instanci  e     e Z   pow X Y   est re
22. de  variables et de contraintes  Mais les contraintes qu   elles repr  sentent sont alors  utilis  es de mani  re passive  Signalons des travaux r  cents  BOC 93  sur le  traitement de contraintes pseudo bool  ennes    D autre part  la relation qui lie un rationnel    son entier imm  diatement inf  rieur  ne peut pas   tre une contrainte  Une telle contrainte permettrait de propager  implicitement toute actualisation des bornes d un domaine d une variable sur le  domaine de l autre  Pour r  soudre ce probl  me  le co routining n est m  me pas  utilisable   en CHIP  on peut en effet propager l actualisation du domaine d un entier  vers un rationnel     touched 4         mais pas le contraire    On ne peut donc pas faire de propagation de contraintes d un syst  me de  contraintes    un autre  ce qui diminue les possibilit  s d   une repr  sentation naturelle     13    Ainsi  pour un probl  me donn    il est pr  f  rable de s orienter vers le langage le  plus adapt   au domaine de variables du probl  me consid  r    m  me s il couvre moins  de domaines que le langage concurrent     5  Application aux probl  mes d ordonnancement    L organisation du travail dans un syst  me de production ou dans un grand projet  n  cessite une d  composition du travail relativement aux ressources disponibles pour  son ex  cution  Le produit de cette d  composition conduit    d  finir un ensemble de  t  ches  chaque t  che repr  sentant une unit   de travail   l  mentaire  caract  ris  e par  une 
23. dur  e et un ensemble de ressources n  cessaires    son ex  cution  Le probl  me  d ordonnancement na  t de cette d  composition     tant donn   un ensemble de t  ches    l  mentaires et un ensemble de ressources dont la disponibilit   est limit  e  il est  n  cessaire d organiser l ex  cution des t  ches dans le temps en respectant des  contraintes vari  es telles que      e les contraintes de coh  rence technologique  gammes  contraintes logiques  d enchainement          e les contraintes de ressources   elles expriment une disponibilit   limit  e des  ressources  en nombre  en intensit   ou en   nergie  LOP 92       e les contraintes de localisation temporelle   elles r  sultent de l existence  d objectifs globaux de r  alisation  tels que des dates limites de d  but au plus t  t ou  de fin au plus tard  ou tels qu une dur  e totale limit  e     Compte tenu des diff  rents paradigmes de r  solution utilis  s dans les langages  de PLC  nous nous sommes limit  s 4 deux grandes classes de probl  mes pour  lesquels une approche par la PLC peut apporter une aide        les probl  mes pour lesquels il s agit de d  terminer des dates d ex  cution   g  n  ralement les dates de d  but        les probl  mes pour lesquels il s agit de trouver un s  quencement des taches sur  chaque ressource     Remarque  Un autre classe de probl  me concerne la planification de quantit  s a  produire sur un horizon discr  tis   en p  riodes de dur  e connue  en respectant les  d  lais et quantit  s 
24. e propagation conditionnelle de CHIP  pr  sent  e au    4 4  permet de s   affranchir de la pose d   un point de choix  en retardant l activation  des contraintes disjonctives tant que les domaines des variables ne permettent pas de  trancher pour l une des deux configurations  La mod  lisation est la suivante      disjonction2 S1  2 D1  D2      if S1   lt  S2 D2 then S2   gt   S1   D1   if S2   lt  S1 D1 then S1   gt   S2   D2     5 1 2 3  Autre type d   inf  rence    La prise en compte de contraintes disjonctives  que ce soit par pose de points de  choix ou par propagation conditionnelle ne r  duit que les bornes extr  mes des  domaines des variables  2B consistance  LHO 93  FAR 94    Il existe cependant des  cas o   les contraintes de disjonction pourraient op  rer des r  ductions de domaine a  priori  Sans pose de point de choix  et sans attendre qu une des deux alternatives de  s  quencement soit impossible  comme l   illustre la figure 5     18    Domaine que i ne peut enti  rement recouvrir  sans chevaucher j    i         Domaine que j ne peut enti  rement recouvrir  sans chevaucher i  Figure 5  R  duction interne de domaines    L interdiction de valeurs au sein d un domaine  am  ne 4a cr  er des    trous    dans  les domaines  information plus riche que la seule actualisation des bornes  En CHIP   ce type d inf  rence peut   tre r  alis  e grace    l utilisation de la primitive     cumulative     que nous d  taillons plus loin    5 1 4   ou directement par une  propos
25. e temps  machine   2  une borne sup  rieure et  3  inf  rieure du co  t   4  un pourcentage  d am  lioration     4 2 3  R  solution incr  mentale    Afin de conserver la flexibilit   et la souplesse de la PL  on ne peut faire  l hypoth  se que toutes les contraintes sont connues    l avance et pos  es en bloc  Au  contraire  la possibilit   de d  clarer les contraintes de mani  re modulaire  de les  int  grer progressivement  voire de les retirer  gr  ce    la pose de points de choix    permet de mettre au point des strat  gies de r  solution plus   volu  es     10    Exemple  Le programme partiel suivant  en CHIP  correspond    une strat  gie de  r  solution d un probl  me dans lequel il existe 2 niveaux de contraintes C1  C2  et 2  crit  res diff  rents f1  f2  On d  sire utiliser le crit  re f2 si l ensemble C1UC2 est  satisfiable  et le crit  re f1 si seulement C1 l est     resoudre V      creer_variables V    poser_C1 V    suite_resoudre V      suite_resoudre V     poser_C2 V      minimiser_f2 V    suite_resoudre V     minimiser_f1 V      Le caract  re incr  mental de la r  solution et la m  morisation automatique du  contexte r  sultant de la prise en compte de C1   vite une reprise de la r  solution  depuis le d  but lorsque C2 n   est pas satisfiable     On peut imaginer d autres types de strat  gies  comme par exemple la pose  conditionnelle de contraintes de plus en plus restrictives a partir d une observation  de l effet de ces contraintes sur le domaine des variab
26. enes with  shadows  MAC AI TR 271  MIT  1972     WAL 94  WALLACE M   Applying constraints for scheduling  Constraint Programming  B   Mayoh  E  Tyugu and J  Penjaam  eds    NATO Advanced Science Institute Series   Springer Verlag  1994     27    Biographies    Patrick ESQUIROL a obtenu sa th  se de Doctorat de l   Universit   Paul Sabatier en 1987  Il a  ensuite rejoint une soci  t   de services en informatique industrielle pour d  velopper plusieurs  projets dans les domaines de l   ordonnancement et des syst  mes    base de connaissances   Depuis 1989  il est ma  tre de conf  rences au D  partement de G  nie Electrique de l   Institut  National des Sciences Appliqu  es de Toulouse  o   il enseigne l   algorithmique  la  programmation et l intelligence artificielle  Il effectue sa recherche dans le groupe Syst  mes  de Production du Laboratoire d Analyse et d Architecture des Syst  mes du C N R S      Toulouse  Ses travaux portent sur l     tude des m  canismes d analyse et de propagation de  contraintes et la conception de logiciels coop  ratifs pour les probl  mes de gestion du temps  et des ressources    Email   esquirol laas fr    Pierre LOPEZ a obtenu sa th  se de Doctorat de l   Universit   Paul Sabatier en 1991  Depuis  1992  il est charg   de recherche au CNRS dans le groupe Syst  mes de Production du  Laboratoire d   Analyse et d Architecture des Syst  mes du C N R S     Toulouse  Charg   de  cours au D  partement de G  nie Electrique de l   Institut National des Sc
27. et plusieurs solutions  Par contre  il donne bien  toutes les variables fig  es par la prise en compte des contraintes  Nous donnerons au   5 2 un exemple d application en ordonnancement     3 5  Les contraintes sur les rationnels    Pour la satisfaction d un ensemble de contraintes lin  aires sur des variables  continues  l algorithme repris en PLC est celui du Simplexe  Initialement orient   sur  la recherche d une solution optimale  cet algorithme a subi certaines adaptations  autorisant le caract  re incr  mental de la r  solution et la caract  risation symbolique  d un ensemble de solutions    La r  solution donne lieu    deux types de r  ponses  soit l   chec  lorsque le  syst  me de contraintes n est pas satisfiable  soit une repr  sentation symbolique de  l ensemble des solutions  e g    y   6x   4z   8  z  gt   0    Dans le cas d une solution  unique  variables fig  es   la solution est une liste d   quations du type  Variable1   valeurl  Variable2  valeur2           ProloglII et CHIP utilisent une arithm  tique sur les rationnels  qui peuvent   tre  repr  sent  s de mani  re exacte en machine  pr  cision infinie   alors que la  repr  sentation des r  els en nombres flottants entra  ne des erreurs d arrondi    CLP R  utilise quant    lui une arithm  tique sur les r  els en notation flottante  Un  ensemble tr  s complet de primitives permettant de poser des contraintes non  lin  aires  e g   Y   X Z  Y  log X     de constantes et de fonctions math  matiques a  permis 
28. eur      3  ensemble non intercalable   entre deux t  ches i et j on ne peut pas ins  rer  simultan  ment toutes les t  ches d un ensemble donn        22    4  couplage entre 2 relations de succession   la contrainte    i pr  c  de j ou k  pr  c  de      peut se r    crire   Xij v Xk     Exemple     Figure 6  Trois t  ches en disjonction    Sur cet exemple  une recherche d ensembles non ant  rieurs et non post  rieurs  fournit les r  sultats suivants      A B  est non post  rieur de C  on ne peut pas placer C avant A et B       B C  est non ant  rieur de A  on ne peut pas placer A apr  s B et C      Exprim  es    l aide de variables bool  ennes ces relations conduisent a     Xi V Xg  A  Xi V XA   c B c   X  A X  V Xz     soit en CHIP  en rajoutant la relation de transitivit           Xac Xbc   amp   Xab Xac   amp    Xab  amp  Xbc    gt  Xac   amp   1   Xac        Ce traitement r  v  le une relation de pr  c  dence entre A et C  nouvelle contrainte  qui peut am  liorer l efficacit   d une proc  dure de r  solution    Pour mettre en place ce type d inf  rence symbolique il faut associer 4 chaque  couple de t  ches une variable bool  enne  e g   en modifiant disjonction2  cf 5 1 2 2      disjonction3 S 1 D1 S2 D2 X12      if S1   lt  S2   D2  then precede S1 S2 D1 X12    if S2   lt  S1   D1  then precede S2 S1 D2 X21    X21  amp   not X 12      precede Si Sj Di 1     Sj   gt   Si   Di     Les contraintes ci dessus sont des cas particuliers de contraintes plus g  n  rales  exprim
29. faction in logic programming  Logic  Programming Series  E  Shapiro  ed    MIT Press  1989     HUG 94  HUGUET M J   Approche par contraintes pour l aide    la d  cision et    la  coop  ration en gestion de production  Th  se de Doctorat  INSA Toulouse  1994     JAF 87  JAFFAR J   MICHAYLOV S   Methodology and Implementation of a CLP System   Proc  4th International Conference on Logic Programming   Melbourne  Australia   1987     JAF 94  JAFFAR J   MAHER M J   Constraint Logic Programming   A survey  Journal of  Logic Programming  19 20  pp 503 581  1994     LAU 76  LAURIERE J L   Un langage et un programme pour   noncer et r  soudre des  probl  mes combinatoires  Th  se de Doctorat  Univ  Pierre et Marie Curie  Paris  1976    LEG 92  LEGEARD B   BAPTISTEP   Solving some problems in the CIM area   perspectives of  the constraint logic programming approach  Proc  International Conference on Data and   Knowledge Systems for Manufacturing and Engineering  DKSM   92   Lyon  1992     LEV 94  Levy M L  Lopez P   PRADIN B   Characterization of feasible schedules for the  Flow shop problem   A decomposition approach  Proc  European Workshop on  Integrated Manufacturing Systems Engineering  IMSE   94   pp 307 315  Grenoble  1994     LHO 93  LHOMME O   Consistency techniques for numeric CSPs  Proc  13th Joint  Conference on Artificial Intelligence  IJCAI   93   Chamb  ry  1993     26     LOP 92  Lopez P   ERSCHLER J   ESQUIROL P   Ordonnancement de t  ches sous contraintes    une appro
30. i  me t  che  alors que  des dates interdites sont conserv  es dans le domaine de la premi  re        incompletude_cumulative  T1 T2 T3       T1  0 3 T2  0 6 T3 0   cumulative  T1 T2 T3   6 3 11   1 1 1  unused unused 2 unused unused         incompletude_cumulative L      L  T1 in  0 3   T2 in  0 6   0        On s   aper  oit m  me que le domaine de T1 peut   tre modifi   si la dur  e de T3  change  ce qui ne devrait avoir aucune sorte d   influence sur les autres t  ches          5 2  Probl  mes de s  quencement    Dans ce qui pr  c  de  le s  quencement de taches est traduit implicitement par des  contraintes d in  galit  s entre dates de d  but des t  ches  Un autre mod  le  utilisant  une variable bool  enne par couple de t  ches en disjonction  permet de traiter  symboliquement les probl  mes a contraintes disjonctives     Soit O un ensemble de t  ches tels que toute paire de t  che soit n  cessairement  ordonn  e  On peut mod  liser le probl  me du s  quencement absolu des t  ches par un  ensemble de n n 1  2 variables bool  ennes  une par couple de t  ches ordonn  es  lexicographiquement       VG j      O i lt j  Xij   1  vrai  si i pr  c  de j  Xij   0  faux  si j pr  c  de i   L int  r  t d un tel mod  le est d abord la repr  sentation de contraintes bas  es sur la    relation symbolique de succession  du type      1  ensemble non ant  rieur   e g   l expression X12 v X13 v X14 impose    la  t  che T1 d   tre situ  e avant T2 ou T3 ou T4      2  ensemble non post  ri
31. iences Appliqu  es de  Toulouse  il enseigne la th  orie des graphes  l   ordonnancement et la simulation des syst  mes       v  nements discrets  Ses travaux de recherche concernent l analyse et la propagation de  contraintes  en particulier les contraintes   nerg  tiques  les techniques de d  composition des  probl  mes d   ordonnancement et la conception de syst  mes coop  ratifs pour les probl  mes de  gestion du temps et des ressources    Email   lopez laas fr    28    
32. in Q Surflnt      S  1 4 6  F  Fin 9 Q     5 6 9   3 SurfInt 1    Dans  AGG 92   les auteurs pr  sentent certaines applications de la contrainte  cumulative    des probl  mes de placement  d   ordonnancement de projet ou encore de  job shop  Pour ce dernier cas  ils utilisent une proc  dure du type    labeling1     un  pr  dicat semblable       pose_precede     et la contrainte cumulative dans laquelle la  consommation de ressource des t  ches est   quivalente    une liste de 1  Des r  sultats  exp  rimentaux  en particulier sur le fameux probl  me 10x10x10  montrent qu   il est    21    possible d   obtenir des r  sultats int  ressants  une solution    1088 en 1 s  la solution  optimale en 25 mn sur SPARC IPC 12MB  et ceci par une programmation simple  mettant en jeu la contrainte cumulative    On constate toutefois  voir exemple 3  qu en l absence de toute g  n  ration  les  d  ductions engendr  es par la pose de la contrainte cumulative de CHIP d  pendent  de l ordre dans lequel les variables sont pass  es en arguments  sans qu aucune  indication visant    tirer parti de cet ordre ne soit fournie dans le manuel d utilisation     Exemple 3         Trois t  ches requi  rent chacune une unit   d   une ressource disponible en deux  exemplaires  La troisi  me t  che est bloqu  e dans sa fen  tre temporelle   le probl  me  devrait donc se r  duire    un probl  me disjonctif sur les deux premi  res t  ches  Le  r  sultat fournit bien toute l   information sur le d  but de la deux
33. iquement  cette valeur  variable fig  e      Le look ahead  LA  est    la k consistance ce que le FC est    la domaine   consistance  L id  e est de v  rifier que toute valeur du domaine d une variable encore  libre demeure consistante avec au moins une instanciation possible des variables  encore libres  Toute valeur telle qu il est impossible de trouver une instanciation  consistante des variables encore libres  est   cart  e du domaine  Comme  pr  c  demment  les m  mes actions sont r  alis  es dans le cas d un domaine devenant  vide ou se r  duisant    une seule valeur     L int  gration des m  canismes type FC ou LA peut am  liorer consid  rablement  l efficacit   globale d une r  solution par exploration et retour arri  re chronologique   en limitant le nombre d   checs et la profondeur    laquelle ils sont d  couverts    Cependant  un compromis doit   tre trouv   entre le gain obtenu par la diminution  de l espace de recherche et l effort  en temps et en m  moire  consenti    l analyse  Par  exemple l   utilisation syst  matique du LA  meilleur que le FC en ce qui concerne  l   lagage de l espace de recherche  n est pas r  aliste   au contraire  elle doit   tre  contr  l  e en   valuant la complexit      partir du nombre moyen de variables mises en  jeu  la taille moyenne des domaines et l interd  pendance des contraintes     3 4  Les contraintes bool  ennes    De nombreux probl  mes combinatoires donnent lieu    des mod  les    variables  bool  ennes   analyse synth  
34. istiques g  n  rales ne sauraient rel  guer au second plan le  souci de l efficacit   des programmes  Dans la suite  nous expliquons pourquoi il est  n  cessaire d   tendre la PL lorsqu on envisage de traiter des probl  mes dont la    r  solution est soumise    un grand nombre de contraintes num  riques et  symboliques     3  La programmation logique avec contraintes  PLC     Lors d   une exploration arborescente  le nombre d   checs et la profondeur     laquelle ils sont d  tect  s d  terminent fortement l efficacit   globale    A titre d exemple  le programme et l arbre ci dessous correspondent au probl  me  de la recherche de tous les couples de chiffres  x y  parmi  1 2 3  tels que x lt y  Les  branches menant aux solutions figurent en gras sur l   arbre        chiffre x   chiffre y   x  lt  y        x   x 3     chiffre y   x  lt  y     chiffre y   x  lt  y     chiffre y   x  lt  y   y 3 y 3 yal y 3         x lt  y    x lt y    x lt y    x lt y  FX  lt Y    x lt y    x lt y  7 X  lt Y  7 X  lt  Y       chec  x l   x 1    chec   chec  x 2    chec   chec   chec  y 2  y 3  y 3     Figure 1  Arbre de d  rivation Prolog    Sur 9 branches terminales  l arbre de recherche comporte 6   checs  alors que  ceux ci auraient pu   tre anticip  s    vitant ainsi une exploration inutile  En effet  les  domaines initiaux respectifs de x et de y comportent certaines valeurs incompatibles  avec l in  galit   stricte x lt y  par exemple les valeurs x 3 ou y 1    La mise en place d un tel rai
35. ition pr  sent  e et d  montr  e dans  LOP 95  dont la programmation est  donn  e ci dessous  Celle ci utilise le pr  dicat    notin 3    qui permet de supprimer des  valeurs au sein du domaine d   une variable  D   autre part  ce programme n   engendre  qu   une manipulation passive des contraintes   il sera donc int  ressant de poser un  m  canisme de    d  mon    afin de le rendre dynamique     arc_consistance S1 S2 D1 D2      D is D1   D2   if S2   lt  S2   D  then trou S1 S2 D1 D2    if S1   lt  S1   D  then trou S2 S1 D2 D1      trou S1 S2 D1 D2      domain_info S2 S2min S2max _         Min is S2max   D1  1   Max is S2min   D2   1   notin S1 Min Max      5 1 3  Ensembles non post  rieurs   non ant  rieurs    La contrainte de disjonction peut d  duire des conclusions fortes pour le  s  quencement global  En pratique cependant  cette r  gle peut ne pas   tre tr  s active  lorsque les dur  es op  ratoires sont petites par rapport aux fen  tres temporelles  Il  peut alors   tre plus int  ressant d     tudier les positions extr  mes d   une t  che par  rapport    un groupe de t  ches  ESQ 87  CAR 88   On examine ainsi si une t  che  peut   tre ex  cut  e avant ou apr  s un sous ensemble donn   de t  ches  Par exemple   si    ne peut pas   tre plac  e avant B et C  elle doit   tre plac  e au moins apr  s B ou  C  Le sous ensemble  B C  est un ensemble non post  rieur    A    Le programme ci dessous  impl  ment   en CHIP  permet de d  terminer les  ensembles non post  rieurs e
36. le     de probl  mes d ordonnancement    contraintes cumulatives  ESQ 93a  CHA 941     Le langage CHIP est le premier langage de PLC ayant   t   dot   d une primitive  d  di  e au traitement des contraintes cumulatives  Cette primitive r  alise une  interpr  tation active mais limit  e des contraintes de ce type  L utilisation de cette  contrainte n est pas facile   tant donn   le nombre impressionnant d options qui sont  propos  es     cumulative 8      Toutefois  en dehors de toute approche d optimisation   elle permet de resserrer les domaines des dates de d  but  en cr  ant   ventuellement  des trous dans les domaines    Les diff  rents arguments qui composent la contrainte cumulative sont  respectivement  des listes    S  de dates de d  but des t  ches   D  de dur  es des  t  ches   R  de quantit  s de ressource consomm  e   F  de dates de fin des t  ches   E   de surfaces des t  ches    Q  une capacit   de ressource    Fin  une dur  e totale  d   ordonnancement   une valeur interm  diaire  La plupart des arguments peuvent  prendre des valeurs enti  res ou s   inscrire dans des domaines finis  Une  caract  ristique originale de cette primitive concerne l   argument repr  sentant les  surfaces des t  ches  Cette surface  ou   nergie  est une grandeur agr  g  e qui permet  de raisonner simultan  ment sur le temps et les ressources  Son calcul est issu du  produit de la quantit   de ressource requise par une t  che par sa dur  e  Elle permet  d   asseoir certains raisonneme
37. les  au fur et 4 mesure de leur  pose  De telles strat  gies sont int  ressantes lorsque les contraintes peuvent   tre  hi  rarchis  es  En effet  la pose de contraintes s arr  te d  s que l ensemble courant  n est plus satisfiable  et le syst  me restaure le dernier   tat pr  c  dant l   chec  La  solution repr  sente alors un   tat dans lequel les contraintes les plus    importantes     ont   t   prises en compte  les contraintes    responsables    de l   chec  moins  importantes  ont le plus de raisons d   tre remises en cause  notamment dans l optique  d une r  solution interactive des probl  mes  ESQ 93a  HUG 94      4 3  Types de contraintes g  r  es par les langages de PLC    Les types de contraintes sont r  sum  s dans le tableau suivant     Arbres Chaines   Domaines   Bool  ens   Rationnels   Flottants Entiers   Are Pere et  PrologIII        EF a    Bae Ea ee Bal  CHIP                       finis   CLP R              finis           gestion active des contraintes sur ces types de variables      types de variables autoris  s      types de variables non autoris  s       Figure 3  Contraintes couvertes par les langages de PLC    Le langage CHIP appara  t comme celui qui couvre le plus de types de  contraintes  Il est capable de propager activement des contraintes sur des variables       11    domaine fini  notamment les entiers   avec la possibilit   de g  rer des ensembles  discontinus  e g   X     1 2 3  7 8 9    Cette propagation est n  anmoins incompl  te  pour des 
38. n r  le de guide pour un choix ordonn   des  variables et ou de leurs valeurs    On peut aussi avoir recours    des m  thodes plus exp  rimentales  utilisant des  connaissances sp  cifiques au domaine consid  r    On trouve souvent des strat  gies  tr  s efficaces dans les m  thodes heuristiques  CAR 93   mais cette sp  cificit   rend  les mod  les peu r  utilisables  notamment dans la perspective de la conception d   un  langage de programmation    Sur le plan pratique  on trouve deux classes d outils  Les outils g  n  raux  e g   la  programmation lin  aire en nombres entiers  proposent une   nonciation standard   moyennant une r    criture qui a tendance    augmenter substantiellement la taille de  l espace de recherche  augmentation du nombre de variables et ou du nombre de  contraintes     et qui abandonne certaines caract  ristiques importantes du domaine   existence d   heuristiques  de sym  tries      Les outils d  di  s    crits    l aide de  langages proc  duraux  procurent une efficacit   r  elle mais posent essentiellement le  probl  me de leur r  utilisabilit      Il existe donc un besoin r  el mais difficile    satisfaire   disposer d un langage  suffisamment riche pour   noncer sans les d  former une classe large de probl  mes  combinatoires  et suffisamment ouvert de mani  re    y int  grer des connaissances  sp  cifiques pouvant am  liorer consid  rablement l efficacit       2  La programmation logique standard  PL     En PL  CLO 81  COL 83  ACM 92   l ex  cu
39. nts    un niveau plus   lev   d   abstraction  lorsqu   on ne  conna  t pas de mani  re pr  cise les caract  ristiques de r  alisation  e g   la dur  e des  t  ches  Cette notion sert de base    une m  thode de propagation de contraintes  mettant en jeu des bilans   nerg  tiques  LOP 92     Les exemples suivants  COS 93  illustrent l   utilisation de la contrainte  cumulative  Dans le premier exemple  les dur  es des t  ches sont connues et on  cherche    minimiser la dur  e totale de l   ordonnancement  Dans le second  les dur  es    20    ne sont pas connues et on cherche    minimiser la surface au dessus d   une valeur  moyenne d utilisation de ressource fix  e    2     Pr  dicats communs aux 2 exemples     definition S  F R Fin Q Surflnt      S  S1 S2 S3   F  F1 F2 F3   R  1 2 2    S 1  10 F   1  10 Q    1 3    Fin SurfInt     1 10     labeling2        labeling2  XIL       indomain X    labeling2 L      Exemple 1   dur  es connues  minimisation de la dur  e de l   ordonnancement     top S F Fin Q Surflnt      definition S F R Fin Q  Surflnt    D  4 2 3    cumulative S D R F unused Q Fin  2 SurflInt     min_max labeling2 S  Fin         top S F Fin Q Surflnt      S  1 1 3  F  Fin 6 Q     5 3 6   3 SurfInt 4    Exemple 2   dur  es non connues  minimisation de la surface interm  diaire     top S F Fin Q SurfInt      definition S F R Fin Q Surfint    D  D1 D2 D3    E  4 4 6    D   1  10   cumulative S D R F E Q Fin  2 SurflInt     min_max labeling2 S  SurfInt         top S F F
40. problem  An approach based  on Constraint Logic Programming  Proc  IEEE International Conference on Robotics and  Automation  pp 1139 1144  Nice  1992     BEN 93  BENHAMOU F   COLMERAUER A   Constraint Logic Programming   selected  research  Logic Programming Series  E  Shapiro  ed    MIT Press  1993     BOC 93  BOCKMAYR A   Logic Programming with Pseudo Boolean Constraints  Constraint  Logic Programming   selected research  Logic Programming Series  F  Benhamou  amp  A   Colmerauer  eds    MIT Press  1993     BOI 94  BoIZUMAULT P   DELON Y   PERIDY L   Constraint Logic Programming for  Examination Timetabling  Journal of Logic Programming  1995  to appear     BUT 87  BUTTNER W   SIMONIS H   Embedding Boolean expressions into Logic  Programming  Journal of Symbolic Computation  4  1987     CAR 88  CARLIER J   PINSON E   An algorithm for solving the Job shop problem   Management Science  35 2   pp 164 176  1988     CAR 93  Mc CARTHY B L   Liu J   Addressing the gap in scheduling research   A review of  optimization and heuristic methods in production scheduling  JPR  31  pp 59 79  1993   CHA 94  CHAMARD A   FISHLER A   MADE  a workshop scheduler system written in CHIP   Proc  2nd International Conference on the Practical Application of Prolog  PAP   94     London  UK   1994     CLO 81  CLOocKSIN W F   MELLISH C S   Programming in Prolog  Springer Verlag  New  York  1981     COL 83  COLMERAUER A   KANOUI H   Van CANEGHEM M   Prolog  Bases th  oriques et  d  veloppements actuels
41. ques de recherche arborescente qui reposent sur une  strat  gie par tentatives et retour arri  re    La principale difficult   provient de la s  mantique des contraintes  Celles ci  expriment des connaissances de nature d  clarative   non  ant davantage des  relations que des d  pendances fonctionnelles  ce qui ne facilite pas la conception  d algorithmes en langage imp  ratif  L instanciation des variables intervenant dans  une contrainte n ob  it donc pas    un ordre connu a priori  De plus  les contraintes ne  peuvent   tre consid  r  es ind  pendamment  de mani  re s  quentielle de par le fort  couplage entre contraintes    travers les variables qu elles partagent  Enfin la nature  disjonctive de certaines  notamment en ordonnancement  GOT 93   engendre des  discontinuit  s de l espace des solutions rendant difficile sa formulation synth  tique    L     num  ration exhaustive des valeurs permet de tester toutes les contraintes   mais ceci n est envisageable que pour des probl  mes de tr  s petite taille et dans le  cas de domaines finis  Face    cette combinatoire  la    d  composabilit      d un  probl  me peut   tre une propri  t      rechercher car elle permet de r  soudre un  probl  me de grande taille    travers une suite de r  solutions de probl  mes de taille  r  duite  LEV 94   En outre  il peut exister plusieurs solutions admissibles qui ne  sont g  n  ralement pas totalement   quivalentes  Les crit  res utilis  s dans les  approches d optimisation jouent alors u
42. se de circuits logiques  probl  mes de s  quencement     d affectation     Si le probl  me g  n  ral de la r  solution d   quations bool  ennes est lui  aussi NP complet  il existe n  anmoins diff  rentes techniques de r    criture et  d interpr  tation  exploitables pour une meilleure gestion des contraintes bool  ennes  en PLC    Le traitement de contraintes bool  ennes pose d abord le probl  me de  l unification d expressions bool  ennes  RUD 74  COL 86  DIN 87   Il faut d  finir le  langage des expressions  constantes  variables  op  rateurs  et l interpr  tation de  l   galit   entre 2 expressions bool  ennes     En ProloglIl  l   nonc   de contraintes bool  ennes est d  fini par un langage  utilisant l ensemble des op  rateurs classiques  Les r  ponses sont fournies sous la  forme d un syst  me d   quations canonique  dont la forme peut d  pendre de l ordre  dans lequel les contraintes ont   t   consid  r  es  La strat  gie de r  solution est la SL   r  solution  saine et compl  te     Le langage CHIP est bas   sur une strat  gie diff  rente   la r    criture des  expressions d une alg  bre de Boole dans l anneau bool  en muni des op  rateurs  logiques ou exclusif et et  L int  r  t est d assurer l existence d un plus grand  unificateur unique  dont la d  termination peut   tre r  alis  e par un algorithme  d unification bool  enne efficace  DIN 87  BUT 87     Contrairement    PrologIII  CHIP ne retourne pas un syst  me d   quations  bool  ennes lorsque le probl  me adm
43. sonnement au sein m  me du langage  et non par  programmation  implique qu il puisse implicitement exploiter la contrainte x lt y  avant toute instanciation des variables  Le probl  me vient donc du fait que la  relation    x lt y    n est pas interpr  t  e comme une contrainte num  rique mais comme  un simple test sur des variables n  cessairement instanci  es au pr  alable  Les tests  num  riques ne sont d ailleurs pas des primitives logiques et leur existence a permis  de ne pas cantonner Prolog au seul calcul symbolique mais d en faire un v  ritable  langage de programmation    Si la r  duction initiale des domaines pr  sente un caract  re utile et n  cessaire   elle n   est pas suffisante   une contrainte peut ne devenir active qu    partir d une  certaine   tape d instanciation   c est le cas de la branche x 2  D  s que x est fix      2   la contrainte x lt y peut r  duire le domaine de y    la valeur 3  ce qui permet d     viter  l exploration inutile des branches y 1 et y 2     Ce type d inf  rence n est pas produit en PL car il exigerait de faire la diff  rence  entre les variables non typ  es  prenant comme valeur un terme  et les variables  num  riques  enti  res  rationnelles ou r  elles   Le manque d efficacit   de la PL  standard pour la r  solution des probl  mes comportant des contraintes num  riques  provient donc d une utilisation passive des contraintes   les valeurs incompatibles  avec les contraintes ne sont   limin  es que lors du retour arri  re cons  c
44. t non ant  rieurs maximaux d   une t  che et d   actualiser le  domaine de la date de d  but de cette t  che  Il utilise le m  canisme de propagation  conditionnelle et les pr  dicats    minimum 2    et    maximum 2    qui permettent de  calculer les extr  mit  s temporelles d   un ensemble de t  ches     19    non_posterieur Si Di T     non_anterieur Si Di T        duree_T T Sigma   duree_T T Sigma    liste_fins T L_fins   liste_debuts T L_debuts    minimum Fin_min L_fins   minimum Debut_min L_debuts    maximum Fin_max L_fins   maximum Debut_max L_debuts    D is Di   Sigma  if Si   lt  Debut_min   Sigma   if Fin_max   lt  Si   D then Si   Di   lt   Debut_max     then Si   gt   Fin_min     5 1 4  Contraintes cumulatives    Les limitations sur la disponibilit   des ressources induit des contraintes  cumulatives  Ces contraintes interdisent l ex  cution simultan  e d un nombre de  t  ches tel que l intensit   totale d utilisation de la ressource d  passe l intensit    maximale de la ressource  Il s en suit un s  quencement partiel des t  ches  moins fort  que le s  quencement total impos   par les contraintes disjonctives  A titre d exemple   un probl  me de 4 t  ches n  cessitant toutes une ressource disponible en deux  exemplaires est un probl  me    contraintes cumulatives   tout sous ensemble de trois  t  ches doit contenir au moins deux t  ches ordonn  es  Les probl  mes de d  coupe de  pi  ces sur un format de taille limit  e repr  sentent   galement une version    spatia
45. tard  e jusqu    ce que    X et Y soient instanci  es    gt  Z est   valuable   ou  X et Z soient instanci  es    gt  Y est   valuable   ou  X 1    gt  Z 1   ou Y  0    gt  Z   1   ou Y   1    gt  Z   X      Le principe est mis en   uvre par un m  canisme de co routining  DIN 88  HEN  89   De ce fait  il peut y avoir une incoh  rence dans le syst  me de contraintes    une    tape donn  e  celle ci n   tant d  tect  e que lors du r  veil des contraintes retard  es  ce  qui pr  sente un inconv  nient certain sur le plan de l efficacit    utilisation passive  des contraintes     L   exemple suivant montre que le retardement de contraintes est un m  canisme  d  licat  et qu il est tr  s important de ma  triser les sp  cificit  s du langage dans ce  domaine     Exemple 2  ProloglII      gt  U  N  0 lt N lt l y     La d  finition incoh  rente d   un arbre U de taille N comprise entre O et 1     n est  pas d  tect  e car la variable N est libre au moment de la pose de ces contraintes     12    Il existe deux modes de retardement de contraintes  implicite et explicite  Le  premier correspond au cas o   le langage prend en charge le retardement  apr  s avoir  d  tect   l impossibilit   d exploiter imm  diatement la contrainte  cf  exemple 1   Le  deuxi  me met en   uvre des primitives d  di  es comme      e freeze x  but A1 A2     An    PrologIll   but      n est   valu   que lorsque x est instanci     e delay but A1 A2     An   CHIP     but      n est   valu   que lorsque les argumen
46. tion d   un programme correspond au  d  roulement d   un raisonnement logique contr  l   par un d  monstrateur automatique   En PL  contrairement    la programmation imp  rative  une distinction est faite entre  repr  sentation  le programme  et traitement  l   ex  cution     Le programmeur mod  lise le probl  me    l aide d un ensemble de relations de la  logique des pr  dicats du premier ordre  puis construit un ensemble d     nonc  s sous  la forme de clauses de Horn  Dans le cas d   un graphe orient    une relation arc x y   symbolise l   arc orient   qui lie le sommet x au sommet y et une relation  chemin x y c  permet de relier deux n  uds x  origine  et y  extr  mit    par un  chemin c  liste des n  uds travers  s pour aller de x en y  x et y compris   La  d  finition r  cursive d   un chemin donne lieu    deux clauses      chemin x y  x y      arc x y    chemin x z  xIL      arc x y   chemin y z L      Le m  me programme peut servir       1  d  terminer tous les chemins entre deux  n  uds donn  s    2  construire tous les chemins partant d un n  ud donn   ou  3   arrivant en un n  ud donn      4  g  n  rer l ensemble des chemins du graphe    5   donner tous les chemins de longueur donn  e passant par un n  ud particulier  On  qualifie de r  versibles les programmes d  finissant des relations telles que la relation  chemin x y c   pour lesquels le r  le d   entr  e sortie des arguments n   est pas fig       Pour r  pondre    une question donn  e  le langage applique le
47. ts  A1  A2      An  v  rifient certaines  conditions d   instanciation  compl  te ou partielle      e touched but X Info  Type_ev   CHIP    L apparition d   un   v  nement modifiant le domaine fini de X   augmentation diminution de la borne minimum maximum  retrait d   une valeur  interne  engendre l   ex  cution imm  diate de but X Info      e une primitive de propagation conditionnelle  CHIP    if  lt condition gt  then  lt but1 gt  else  lt but2 gt     dont le fonctionnement est le suivant        si  lt condition gt  est satisfiable pour toutes les valeurs des variables  alors  lt but1 gt   est pos         si  lt condition gt  n est pas satisfiable pour toutes les valeurs des variables  alors   lt but2 gt  est pos         sinon  lt condition gt  est syst  matiquement r    valu      chaque modification du  domaine des variables impliqu  es dans  lt condition gt      45  Conclusion    Les langages de PLC ne permettent pas    l   heure actuelle de mod  liser  directement un probl  me faisant intervenir des contraintes m  langeant plusieurs  types de variables  ce qui cr  e un certain cloisonnement entre les diff  rents syst  mes  de traitement de contraintes  Par exemple  une expression h  t  rog  ne comme     B  x lt y      qui associe un bool  en B    l   valuation d une in  galit   arithm  tique   n   est pas autoris  e  En r  gle g  n  rale  l   int  gration de telles expressions oblige     programmer explicitement des relations de passage entre les diff  rents syst  mes 
48. utif    un    chec  g  n  re et teste   et non a priori  teste et g  n  re      Dans la suite  nous nous int  ressons aux m  canismes d   inf  rence qui ont   t    int  gr  s    la PL pour aboutir    la PLC  Nous pr  senterons un certain nombre de  d  finitions et de r  sultats th  oriques importants obtenus dans le domaine des  probl  mes de satisfaction de contraintes  PSC  et leur int  gration dans la PLC     travers le traitement des contraintes sur les variables    domaines finis  Des r  sultats  sp  cifiques sont   galement utilisables pour le traitement des contraintes sur les  bool  ens  pseudo bool  ens  rationnels  r  els  listes  arbres ou cha  nes de caract  res   que nous ne pourrons que r  sumer dans cet article  Nous renvoyons le lecteur      BEN 93  JAF 94  pour un tour d horizon des recherches actuelles en PLC et      TSA 93  pour une synth  se d  taill  e des PSC     3 1  Les PSC sur les domaines finis    Un PSC peut   tre d  fini  WAL 72  MON 74  MAC 77  par un 3 uplet  V D C   tel que      e V est un ensemble de variables   V    V1  V2      Vn  3      Dest un ensemble de domaines finis   D    D1  D2      Dn  o   chaque domaine D   est l ensemble des valeurs de Vj     e C est un ensemble conjonctif de contraintes   C    C1  C2      Cm  o   chaque  contrainte Cj est d  finie par        un sous ensemble de variables var Cj     Vip Viz   Vin      une relation rel Cj    rel Vi   Vi  Vipp   Dj   xDj9x   xDin      Une solution est un n uplet  v1  v2      Vj  de v
49. veau CSP    tel qu   un certain type de consistance soit v  rifi    Ils se distinguent  selon l   arit   des contraintes consid  r  es        contraintes unaires  Un CSP est domaine consistant si le domaine de chaque variable est coh  rent  avec l   ensemble des contraintes unaires qui p  sent sur elle       contraintes binaires  e Un CSP est arc consistant si le domaine de chaque variable est coh  rent  avec l   ensemble des contraintes binaires qui p  sent sur elle  L algorithme  AC4 propos   dans  MOH 86  est de complexit   O mxd2   avec m   nombre  de contraintes et d   taille maximale des domaines   e Un CSP est chemin consistant si tout couple de valeurs autoris   par une  contrainte liant 2 variables l   est aussi par tous le aem de contraintes  liant ces variables  L   algorithme PC4 est en O n3 d3   avec n   nombre de  variables  HAN 88    La chemin consistance est une condition plus forte que l arc consistance mais  ne constitue pas une condition suffisante de consistance globale  comme le  montre le probl  me de coloration de graphes de la figure 2  ou il existe bien  des triplets de valeurs consistants  alors que le probl  me de coloration d un  graphe complet de 4 sommets en 3 couleurs n admet aucune solution        Figure 2  Un PSC arc consistant mais non chemin consistant      contraintes n aires  Un CSP est k consistant si toute instanciation localement consistante de k 1  variables  peut   tre   tendue    toute instanciation localement consistante de k  varia
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
平成27年度Tango Good Goods募集要領 当センターでは、丹後地域で    USB スタータキット M15UF取扱説明書  Feuille de données techniques    10ZiG Technology 5172v    Copyright © All rights reserved. 
   Failed to retrieve file