• Aucun résultat trouvé

Une fois l’exploration de l’arbre des solutions d ´efinit, il est n ´ecessaire de se pencher sur la m ´ethode d’ ´evaluation des nœuds via la borne inf ´erieure.

3.3.2.2/ BORNE INFERIEURE´

D ´efinir correctement la borne inf ´erieure est n ´ecessaire pour pouvoir r ´ealiser un algo- rithme de B&B. La borne inf ´erieure est une fonction qui ´evalue la distance de picking minimum que l’on peut esp ´erer d’une solution incompl `ete. En d’autres termes, elle per- met de connaˆıtre l’ ´evaluation minimum de toutes les solutions compl `etes construites `a partir de cette solution. Comme nous l’avons vu dans l’algorithme (5), la borne inf ´erieure permet d’ ´eliminer des branches de l’arbre des solutions en ne les explorant pas. Dans les faits, si la borne inf ´erieure d’une solution incompl `ete est sup ´erieure `a l’ ´evaluation de la meilleure solution trouv ´ee jusqu’ `a pr ´esent alors cette solution et toutes ses branches sont ignor ´ees (on dit qu’on fait une coupe) puisque leur exploration ne pourra en aucun cas donner une meilleure solution.

Le principe de la borne inf ´erieure propos ´e dans ce chapitre est de sommer les plus pe- tite distances possible que pourrais parcourir un agent lors de la collecte des diff ´erentes listes de picking. Concr `etement, on consid `ere chaque paire de r ´ef ´erences successives de chaque liste et on d ´etermine une distance th ´eorique minimale entre les deux empla- cements correspondants, on distingue alors plusieurs cas de figure. Si les deux empla- cements sont connus la distance entre les deux est elle aussi connue. Si l’un des deux emplacements est connu et pas l’autre alors la distance minimale th ´eorique correspond

`a la distance entre l’emplacement connu et son plus proche voisin (qui n’est pas d ´ej `a assign ´e `a une r ´ef ´erence). Enfin, si aucun des deux emplacements n’est connu, alors la distance minimale correspond `a la plus petite distance possible entre deux emplacements non-assign ´es. borneIn f(P, L) = m P t=1 [ |Ct|−1 P i=1

[d[P(Li,t), P(Li+1,t)].ωLi,t(P).ωLi+1,t(P) + ( min

b∈[2,n] b<P

d[P(Li,t), b]).ωLi,t(P).(1 − ωLi+1,t(P))

+ ( min a∈[2,n]

a<P

d[a, P(Li+1,t)]).(1 − ωLi,t(P)).ωLi+1,t(P)

+ ( min a,b∈[2,n]

a,b b<P a<P

d[a, b]).(1 − ωLi,t(P)).(1 − ωLi+1,t(P))]]

(3.16) ωi(P)=        1 si i ≤ tailleDe(P) 0 sinon (3.17)

Pour pouvoir calculer la borne inf ´erieure, on introduit deux param `etres. Tout d’abord, on d ´efinit Li,tcomme ´etant l’objet num ´ero i de la liste t. Ensuite, on introduit le param `etre ω(P) d ´efinit par l’ ´equation (3.17). ω(P) est un vecteur binaire de dimension n tel que ωi(P)= 1 si et seulement si l’emplacement de la r ´ef ´erence i est d ´etermin ´e par P. Ce param `etre permet de distinguer les diff ´erents cas qui peuvent se pr ´esenter lors du parcours de l’arbre de solutions.

La borne inf ´erieure en elle-m ˆeme est d ´efinie par l’ ´equation (3.16). Elle est en effet la somme de quatre termes, correspondant chacun `a un cas pr ´ecis.

• ωLi,t(P).ωLi+1,t(P)= 1 si et seulement si l’emplacement de la r´ef´erence de Li,t et de Li+1,t sont d ´efinit par P. Dans ce cas la distance entre ces deux emplacements (d[P(Li,t), P(Li+1,t)]) est ajout ´ee `a la valeur de la borne inf ´erieure.

• ωLi,t(P).(1 − ωLi+1,t(P))= 1 si est seulement si l’emplacement de la r´ef´erence de Li,t est d ´efinit par P mais pas celui de Li+1,t. Dans ce cas on ne peut pas connaˆıtre la distance entre les deux emplacements puisque l’un d’eux n’est pas connu. On calcul donc la distance entre l’emplacement de Li,t et son plus proche voisin non d ´efinit par P que l’on ajoute `a la valeur de la borne inf ´erieure.

• Le cas ou (1 − ωLi,t(P)).ωLi+1,t(P) = 1 est analogue au pr´ec´edent. Dans ce cas, on ajoute la distance entre l’emplacement de la r ´ef ´erence de Li+1,tet son plus proche voisin non d ´efinit par P `a la valeur de la borne inf ´erieure.

TABLE3.1 – Temps de calcul du B&B avec la borne inf ´erieure standard et am ´elior ´ee nombre de noeuds borne inf. standard borne inf.

am ´elior ´e am ´elioration

5 1.7 s 1.3 s 31% 10 4.3 s 3.1 s 28% 20 203 s 115 s 43% 30 1030 s 537 s 43% 40 53.3 min 27.3 min 49% 50 103 min 55.3 min 46% 100 8.63 h 4.52 h 47%

de Li,t ni celui de Li+1,t n’est d ´efinit par P. Dans ce cas, ne sachant rien sur ces emplacements on ajoute `a la valeur de la borne inf ´erieure la plus petite distance possible entre deux emplacements encore non d ´efinit par P.

On obtient donc la borne par sommation de ces quatre termes dont un seul est syst ´ematiquement non-nul pour un ´el ´ement d’une liste de picking donn ´ee. Ce qui correspond `a la somme des plus petites distances possibles que pourrait parcourir l’agent effectuant le picking pour chaque liste.

Il est int ´eressant de comparer cette borne inf ´erieure `a sa version plus classique. En effet, la borne inf ´erieure classique consisterait ici `a sommer uniquement les distances entre les r ´ef ´erences dont les emplacements sont d ´efinit par P. Apr `es quelques exp ´erimentations sur des instances de tailles vari ´ees (r ´esum ´e dans la table 3.1), il apparaˆıt que plus le nombre de noeuds est ´elev ´e, plus l’am ´elioration induite par l’utilisation de la borne inf ´erieure propos ´ee s’approche des 50% par rapport `a sa version classique sa version classique (sommation uniquement des distances connues).

Afin de bien comprendre la d ´efinition de la borne inf ´erieure propos ´ee ici, nous nous pro- posons de traiter un exemple simplifi ´e repr ´esent ´e par la figure (3.7). Dans cet exemple on consid `ere une unique liste de picking qui contient les r ´ef ´erences 2, 5, 6 et 3 (dans cet ordre). Le stock, quant `a lui, est constitu ´e en tout de 9 emplacements (donc 8 r ´ef ´erences et le d ´ep ˆot). Enfin, le vecteur P d ´eterminant l’emplacement des r ´ef ´erences n’est que partiellement d ´efini, seul l’emplacement des r ´ef ´erences 1 `a 4 sont connues. Comme vu pr ´ec ´edemment, la borne inf ´erieure se calcule en plusieurs ´etapes.

Tout d’abord, on consid `ere la distance entre le d ´ep ˆot (le nœud 1) et la premi `ere r ´ef ´erence de la liste, `a savoir la r ´ef ´erence 2 qui se trouve `a l’emplacement 3 (car P(2)= 3). On note donc la premi `ere distance `a prendre en compte d1= d(1, 3).

Ensuite, on cherche `a calculer la distance entre l’emplacement du premier ´el ´ement de la liste (P(2)) et le second (P(5)). Malheureusement, P(5) n’est pas d ´efini, il va donc falloir consid ´erer la plus petite distance que l’agent pourrait parcourir en partant de l’empla-