• Aucun résultat trouvé

D´efinition de m´ethodes hybrides

De nombreux probl`emes du monde r´eel se placent dans le cadre tr`es g´en´eral des probl`emes de satisfaction de contrainte (CSP), o`u un crit`ere d´efini par une fonction de coˆut doit ˆetre minimis´e dans un domaine admissible des variables. Lorsque la complexit´e de ces probl`emes est ´elev´ee (probl`emes NP-complets notamment), deux grandes familles de m´ethodes de r´esolution se distinguent pour les r´esoudre :

Les m´ethodes exactes proc`edent `a une exploration compl`ete et g´en´eralement d´eterministe de l’es- pace de recherche. Ces m´ethodes utilisent des algorithmes de type Branch & Bound pour instan- cier progressivement les variables du probl`eme [Papadimitriou 82, Horst 95]. Des m´ecanismes

124 CHAPITRE 9. R ´ESOLUTION PAR DES M ´ETHODES HYBRIDES classiques de backtrack permettent d’abandonner une branche de l’arbre de recherche `a chaque fois que l’instanciation partielle des variables viole certaines contraintes ou qu’une preuve per- met d’´etablir que les solutions contenues dans la branche ne sont pas optimales. Par contre, toutes les autres branches sont syst´ematiquement d´evelopp´ees : ces m´ethodes deviennent inap- propri´ees lorsque la taille du probl`eme augmente alors que le temps imparti pour le r´esoudre est restreint. Dans ce cas, la m´ethode peut ˆetre adapt´ee, par simplification du probl`eme ou par restriction de l’espace de recherche, mais l’optimum global initialement recherch´e ne sera plus forc´ement obtenu.

Les m´ethodes approch´ees se basent sur une exploration locale (m´ethodes de descente [Selman 98]) et al´eatoire (algorithmes g´en´etiques, recuit simul´e, algorithmes de colonies de fourmis) de l’es- pace de recherche. Elles ne garantissent donc pas l’obtention d’une solution optimale mais per- mettent, dans de nombreuses applications, de trouver des solutions int´eressantes en un temps raisonnable `a des probl`emes fortement combinatoires : elles n’ont naturellement d’int´erˆet que lorsqu’aucune m´ethode exacte ne permet de r´esoudre le probl`eme dans le temps imparti. Ces deux types de m´ethodes rel`event de deux approches oppos´ees, mais les m´ecanismes qu’elles utilisent peuvent ˆetre combin´es pour constituer des m´ethodes hybrides, dans lesquelles les deux concepts coop`erent : rather than competing, can we cooperate [Freuder 95]. Dans ce contexte, deux principales techniques d’hybridation peuvent logiquement ˆetre envisag´ees, selon le type de la m´ethode qui sera hybrid´ee :

– La premi`ere consiste `a utiliser des m´ethodes approch´ees pour orienter ou participer `a l’ex- ploration de l’espace de recherche d’une m´ethode exacte : selon les cas, la m´ethode hybride r´esultante conserve ou perd sa compl´etude initiale.

– Inversement, une m´ethode approch´ee peut ˆetre enrichie par des m´ecanismes issus des m´ethodes exactes. La m´ethode r´esultante reste forc´ement une m´ethode approch´ee, mais peut en ˆetre lar- gement am´elior´ee.

9.2.2 Hybridation de m´ethodes exactes

Ajout de m´ecanismes approch´es

Une m´ethode exacte se d´efinit en fonction d’heuristiques et de m´ecanismes d’´elagage et de re- tour arri`ere (backtrack) dans l’arbre de recherche. Des m´ethodes approch´ees peuvent facilement ˆetre introduites `a ces deux niveaux :

– Les heuristiques permettent d’orienter l’exploration : elles d´eterminent g´en´eralement quelles variables doivent ˆetre instanci´ees dans les prochaines ´etapes de l’algorithme et avec quelles valeurs. Dans ce cas, la qualit´e de l’heuristique influence directement la rapidit´e de l’algorithme mais ne conditionne pas l’obtention d’un optimum global : les m´ethodes approch´ees peuvent donc ˆetre utilis´ees pour fournir ces heuristiques sans nuire `a la compl´etude de la m´ethode. – Les m´ecanismes d’´elagage de l’arbre reposent sur la v´erification des contraintes (v´erifications

de coh´erence des instanciations partielles) et sur l’utilisation de bornes inf´erieures et sup´erieures d´elimitant le coˆut des solutions devant ˆetre explor´ees. De nombreuses techniques, plus ou moins li´ees au probl`eme d’optimisation, peuvent ˆetre utilis´ees pour d´efinir ces bornes : la connais- sance d’une solution admissible en est l’exemple le plus classique, car elle fournit directement une borne sup´erieure du coˆut des solutions optimales [Gondran 85]. L`a aussi, une m´ethode ap- proch´ee peut apporter une borne sup´erieure int´eressante, en fournissant rapidement une solution sous-optimale au probl`eme initial [Wallace 96] ou mˆeme `a chaque sous-probl`eme relatif `a une instanciation partielle des variables [Mazure 96].

9.2. D ´EFINITION DE M ´ETHODES HYBRIDES 125 – Les m´ecanismes de backtrack d´efinissent l’endroit o`u l’exploration doit reprendre une fois qu’une branche de l’arbre a ´et´e abandonn´ee : l`a encore, une m´ethode approch´ee peut ˆetre uti- lis´ee pour choisir la nouvelle branche `a explorer de fac¸on non d´eterministe [Prestwich 01]. Partage de l’exploration

Une m´ethode approch´ee peut ´egalement ˆetre utilis´ee pour participer `a l’exploration de l’arbre de recherche. Ce partage de l’exploration peut se d´efinir de diff´erentes fac¸ons :

– La m´ethode approch´ee peut prendre le relais `a partir d’une certaine profondeur de la recherche : dans ce cas, la profondeur de transition peut ˆetre dynamique et d´ependre par exemple du temps restant pour trouver une solution, ou d’une estimation de la qualit´e et de la taille de la branche `a explorer.

– La m´ethode approch´ee peut ˆetre utilis´ee pour d´efinir les sous-espaces que doit explorer la m´ethode exacte. La taille relative des sous-espaces par rapport `a l’espace initial peut servir de param`etre `a l’hybridation : lorsqu’elle varie dans]0, 1], la m´ethode passe progressivement

d’une m´ethode approch´ee `a une m´ethode exacte [Barnier 97].

Cette forme d’hybridation transforme le plus souvent la m´ethode exacte en une m´ethode ap- proch´ee, car l’obtention d’une solution optimale n’est plus garantie.

9.2.3 Hybridation de m´ethodes approch´ees

Une m´ethode approch´ee se d´efinit en fonction :

1. d’un ´etat initial, repr´esentant g´en´eralement une ou plusieurs instanciations des variables ; 2. d’un op´erateur de transition, permettant de passer de l’´etat courant `a l’´etat suivant, choisi

g´en´eralement al´eatoirement dans un voisinage du premier. 3. d’un crit`ere d’arrˆet.

L’hybridation peut ˆetre effectu´ee `a tous les niveaux de l’algorithme, bien que dans la plupart des cas, elle ne concerne que la phase de transition. Elle ne sera envisag´ee ici que sur les deux premiers points.

´

Elaboration de l’´etat initial

L’´etat initial influence fortement la vitesse de convergence des m´ethodes approch´ees et peut par- fois conditionner l’ensemble des solutions susceptibles d’ˆetre trouv´ees (pour les m´ethodes de descente particuli`erement). L’emploi de m´ecanismes d´eterministes pour am´eliorer l’´etat initial est un proc´ed´e courant :

– Des m´ecanismes d´eterministes peuvent fournir des instanciations admissibles `a partir des- quelles l’exploration de la m´ethode approch´ee peut d´ebuter : ceci se r´ev`ele tr`es utile pour des probl`emes fortement contraints, o`u il est difficile d’atteindre al´eatoirement le domaine admis- sible. Ce genre de technique peut notamment s’appliquer `a la population initiale d’un algo- rithme g´en´etique, pour que les individus respectent les contraintes du probl`eme d`es la premi`ere g´en´eration.

– Une m´ethode exacte peut ˆetre appliqu´ee sur une partie r´eduite de l’espace de recherche, pour en extraire rapidement un optimum sur ce sous-espace. Chaque optimum local ainsi obtenu peut former un point de d´epart int´eressant pour une m´ethode d’exploration al´eatoire. Ceci permet par exemple de former un individu particulier de la population initiale d’un algorithme g´en´etique, ou encore d’initialiser la r´epartition des ph´eromones dans un algorithme de colonies de fourmis.

126 CHAPITRE 9. R ´ESOLUTION PAR DES M ´ETHODES HYBRIDES Exploration du voisinage

Des techniques issues des m´ethodes exactes peuvent ˆetre appliqu´ees dans une m´ethode approch´ee, lors de la transition de l’´etat courant `a l’´etat suivant :

– Des m´ecanismes classiques de renforcement de coh´erence (tels que le forward checking ou l’arc-coh´erence) utilis´es dans les m´ethodes exactes permettent de restreindre le choix de l’´etat suivant vers les seuls sous-espaces voisins qui sont susceptibles de contenir l’optimum global [Bowen 96].

– Une m´ethode exacte peut permettre d’explorer compl`etement un voisinage de l’´etat courant, pour g´en´erer un nouvel ´etat « optimal » dans ce voisinage. Dans ce contexte, il faut n´eanmoins veiller `a ne pas rendre la m´ethode approch´ee trop d´eterministe, car elle convergerait alors syst´ematiquement vers le mˆeme optimum local et perdrait donc son int´erˆet : un param`etre fixe g´en´eralement la participation de la m´ethode exacte par rapport aux transitions classiques de la m´ethode.

9.3

Greffe d’un op´erateur d´eterministe sur l’algorithme g´en´etique