• Aucun résultat trouvé

1.3 Approches Hybrides PPC-PLNE

1.3.1 Comparaison des approches

Mod´elisations

La diff´erence la plus ´evidente entre les deux approches r´eside dans la mod´elisation du probl`eme. Tandis que la programmation lin´eaire ne permet de traiter les contraintes que sous la forme d’´ega- lit´es ou d’in´egalit´es lin´eaires, la programmation par contraintes accepte tout type de relations pour formuler les contraintes d’un CSP, comprenant les in´egalit´es lin´eaires, mais aussi, les contraintes lo- giques (p. ex. , sous forme de clause x = 5∨y = 2∨z 6= 3 ou d’implication x = 0 ⇒ y ≥ 1∧y+z < 2), ou encore les contraintes globales. Les contraintes globales sont un moyen de formuler succintement un groupe de contraintes, comme par exemple all-different(x1, . . . , xk) pour sp´ecifier l’ensemble

des contraintes xi6= xj, pour tout 1 ≤ i < j ≤ k.

Ce langage de mod´elisation d´eclaratif est un atout pour la programmation par contraintes car les probl`emes d’optimisation combinatoire pr´esentent g´en´eralement des sous-structures ind´ependantes facilement identifiables, chacune pouvant ˆetre formul´ee par une contrainte globale. Il requiert ainsi une moindre expertise au moment de d´eterminer une (bonne) formulation du probl`eme. Il est aussi flexible et permet de prendre plus facilement en compte de nouvelles contraintes, sans avoir `a recon- sid´erer enti`erement la m´ethode. En effet, ce type de mod´elisation, avec en particulier les contraintes globales, induit une d´ecomposition du probl`eme sur laquelle est bas´e le mode de r´esolution de la PPC. `A chaque contrainte globale, est associ´e un ou plusieurs algorithmes de filtrage sp´ecifiques. Ces algorithmes prennent en compte le groupe de contraintes, sous-jacent `a la contrainte globale, dans son ensemble et de mani`ere plus efficace que les techniques de propagation standard appli- qu´ees aux contraintes s´epar´ees. De tels algorithmes ont fait l’objet d’´etudes avanc´ees du fait qu’une mˆeme contrainte globale peut mod´eliser une sous-structure commune `a de nombreux probl`emes d’optimisation. La contrainte globale cumulative permet, par exemple, de mod´eliser l’occupation d’une ressource dans n’importe quel probl`eme d’ordonnancement, mais elle apparaˆıt aussi dans les probl`emes de tourn´ee de v´ehicules. Les algorithmes associ´es, issus d’ailleurs principalement de la RO (voir section 2.2), s’appliquent ainsi `a tous ces probl`emes, ou plutˆot `a leurs sous-probl`emes

de fa¸con `a filtrer davantage. La propagation de contraintes se charge alors de faire partager les r´eductions de domaines `a toutes les contraintes du probl`eme.

Le principe d’associer algorithmes et contraintes est une notion importante en PPC et qui marque sa diff´erence fondamentale d’avec la PLNE o`u, hormis la condition d’int´egralit´e, les contraintes ont toutes plus ou moins un rˆole identique. `A l’inverse, en imposant un langage de mod´elisation plus strict, la programmation lin´eaire a permis de d´evelopper des techniques de r´e- solution sophistiqu´ees et aussi moins sp´ecifiques aux (sous-)probl`emes : elles s’appliquent, plus ou moins, `a tout type de programme lin´eaire et consid`erent le probl`eme d’une mani`ere plus globale. La r´esolution d’un programme lin´eaire est peu d´ependante de la forme des in´egalit´es que celui- ci contient, tandis qu’en PPC, s’il n’existe pas de techniques de filtrage d´edi´ees, la propagation standard sera peu efficace sur les contraintes portant sur plus de deux variables.

Cette distinction entre les mod`eles et donc entre les modes de r´esolution PPC et PLNE, au lieu d’ˆetre un argument oppos´e `a l’hybridation des deux m´ethodes, est plutˆot une preuve de leur compl´ementarit´e. Les sch´emas d’int´egration les plus r´ecents reposent sur des mod´elisations mixtes PPC/PLNE o`u les contraintes d’un probl`eme sont formul´ees et trait´ees soit par PPC, soit par PL, soit par les deux m´ethodes `a la fois.

M´ethodes de r´esolution

Cette int´egration est facilit´ee par le fait que les sch´emas de r´esolution des deux approches sont similaires. Tous deux sont en effet bas´es sur trois principes : le partitionnement de l’espace de recherche, l’´etude de relaxations et l’inf´erence de nouvelles contraintes.

Le partitionnement de l’espace de recherche est le point de d´epart de la strat´egie « diviser et conqu´erir », la plus employ´ee `a la fois en PPC (backtracking) et en PLNE (PSE). Tout l’espace est bien sˆur consid´er´e, mais `a chaque moment, seule une fraction est ´etudi´ee, `a la recherche d’une solution strictement meilleure que celles trouv´ees dans les sous-espaces pr´ec´edement ´etudi´es. Les m´ethodes arborescentes s´eparent ainsi progressivement l’espace en parties de plus en plus fines jusqu’`a ce que, soit une solution optimale dans le sous-espace courant est exhib´ee, soit on prouve qu’aucune meilleure solution n’est contenue dans ce sous-espace.

`

A l’oppos´e du partitionnement o`u le probl`eme est simplifi´e en ´etant sur-contraint, une relaxation consid`ere le probl`eme sans tenir compte des contraintes les plus dures, ´elargissant ainsi la recherche, pour la faciliter, `a des solutions non-r´ealisables. Si le terme « relaxation » est clairement d´efini en PLNE, avec en premier lieu la relaxation continue, il est sous-jacent au maintien de la consistance en PPC o`u il d´esigne simplement l’ensemble des contraintes de domaines (constraint store). Une solution de la relaxation en PPC consiste en une instanciation des variables `a une valeur quelconque de leurs domaines, mais, `a moins que l’espace ne soit r´eduit `a cette solution uniquement, elle n’est pas explicit´ee, contrairement `a la PLNE o`u la relaxation est effectivement r´esolue. Dans les deux approches, on cherche `a prouver que la relaxation (et donc le probl`eme original) ne contient pas de (meilleure) solution : en PPC, si le domaine d’une variable est vide ; en PLNE, si la solution optimale de la relaxation est moins bonne que la solution courante du probl`eme.

Enfin, pour resserrer la formulation de la relaxation, de nouvelles contraintes peuvent ˆetre inf´er´ees des contraintes initiales du probl`eme et ajout´ees `a la relaxation. Cela se traduit, en PLNE, par la g´en´eration de coupes pour le programme lin´eaire relˆach´e, et en PPC, par les techniques de filtrage et la propagation de contraintes induisant une r´eduction des domaines des variables.

Ce sch´ema modulaire commun pr´esente une voie d’unification des deux approches puisque, par exemple, dans une m´ethode arborescente, la relaxation `a chaque noeud peut ˆetre r´esolue alter- nativement ou simultan´ement par propagation de contraintes ou par programmation lin´eaire. De

mˆeme, les contraintes inf´er´ees par l’une des deux m´ethodes peuvent ´eventuellement ˆetre traduites puis utilis´ees par l’autre. Ainsi, la plupart des m´ethodes coop´eratives emploient le pouvoir d’in- f´erence de la PPC pour d´eduire les coupes d’une relaxation formul´ee par un programme lin´eaire. `

A son tour, le programme lin´eaire renvoie alors une instanciation compl`ete des variables proche d’une solution optimale, permettant de guider la recherche mais aussi de supprimer le noeud s’il est sub-optimal.

La dualit´e est une autre notion commune aux deux approches. En effet, la formulation du dual en programmation lin´eaire a l’interpr´etation logique suivante [Hooker 2000b] : Si f est une fonction d´efinie au moins sur un ensemble S et `a valeurs dans un ensemble ordonn´e, disons R, alors le dual du probl`eme min{f (x) | x ∈ S} s’´ecrit max{β | x ∈ S ⇒ f (x) ≥ β}. Cette remarque permet d’appliquer `a la PPC certaines techniques lin´eaires consid´erant une formulation duale du probl`eme, et en particulier, la d´ecomposition de Benders.

Optimisation

Mˆeme si la PPC permet de r´esoudre des probl`emes d’optimisation, le rˆole du crit`ere d’optimi- sation y est moins important qu’en PL. En effet, pour un probl`eme de minimisation par exemple, la fonction objectif f (x) en PPC est g´en´eralement formul´ee au moyen d’une contrainte de borne f (x) < ub o`u ub est la valeur de la meilleure solution connue et est donc graduellement diminu´ee au cours de la recherche. Cette contrainte est simplement prise en compte par la propagation comme une contrainte de r´ealisabilit´e. De plus, si f porte sur de nombreuses variables, les techniques de r´eduction de domaines s’av´erent parfois inefficaces sur ce type de contraintes.

Au contraire, la r´esolution d’un PLNE repose sur une utilisation intensive du crit`ere d’opti- misation par le biais des relaxations. D´ej`a, la solution du probl`eme relˆach´e, proche d’une solution r´ealisable optimale, sert `a guider la recherche en fournissant une bonne indication sur la prochaine s´eparation de l’espace `a effectuer. En fait, elle fournit une information plus pr´ecise encore, car toute solution optimale d’un programme lin´eaire renseigne, par l’interm´ediaire des coˆuts r´eduits, sur la variation de son coˆut si la valeur de ses coordonn´ees hors-base est modifi´ee. En particulier, dans un PLVB, si on met `a 1 une variable hors-base (´egale `a 0 dans la solution relˆach´ee) et que, de ce fait, le coˆut de la solution relˆach´ee d´epasse le coˆut de la meilleure solution enti`ere connue alors on peut conclure que cette variable est ´egale `a 0 dans toute solution optimale de l’espace courant. On supprime ainsi la valeur 1 du domaine de cette variable, autrement dit on fixe la variable `a 0. Cette technique (reduced cost fixing), courante en PLVB et qui se g´en´eralise en PLNE aux bornes inf´erieures et sup´erieures des variables, est clairement une technique de r´eduction de domaines au sens de la PPC. La propagation de contraintes bas´ee sur les coˆuts r´eduits a r´ecemment ´et´e ´etudi´ee et appliqu´ee avec succ`es (voir section suivante).