• Aucun résultat trouvé

cement 3 c’est- `a-dire la distance entre cet emplacement et son plus proche voisin non d ´efinit par P. Dans ce cas, il s’agit de l’emplacement 2. On note alors la seconde distance d2= d(3, 2).

Le probl `eme pour calculer la prochaine distance, c’est que ni l’emplacement de la r ´ef ´erence 5 ni celui de la r ´ef ´erence 6 ne sont connus. Dans ce cas, on consid `ere que la plus petite distance que l’agent puisse faire pour rejoindre ces deux emplacements correspond `a la distance entre les deux emplacements les plus proches qui ne sont pas d ´ej `a d ´efinis par P, `a savoir le 8 et le 9. On note donc d3= d(8, 9).

Les distances suivantes se calculent de fac¸on analogue et on obtient donc d4 = d(5, 6) et d5= d(6, 1).

La borne inf ´erieure se calcule alors en faisait la somme de toutes les distances pr ´ec ´edemment calcul ´ees (d1+ d2+ d3+ d4+ d5).

La m ´ethode de r ´esolution du probl `eme principal bas ´e sur le concept du B&B est compl `etement d ´efini. Afin de pouvoir proposer plusieurs approches et de d ´ecider de la meilleure, nous proposons dans la suite de ce manuscrit de tester l’utilisation d’une autre m ´ethode, les algorithmes g ´en ´etiques.

3.3.3/ ALGORITHME GEN´ ETIQUE´

Comme nous l’avons vu dans le chapitre pr ´ec ´edent, les algorithmes g ´en ´etiques donnent de bons r ´esultats lorsqu’il s’agit de r ´esoudre des probl `emes d ´eriv ´es du TSP. C’est pour- quoi ce type d’algorithme semble `a nouveau tout indiqu ´e dans ce cas.

3.3.3.1/ REPRESENTATION DES SOLUTIONS´

Pour impl ´ementer un algorithme g ´en ´etique, la premi `ere ´etape consiste `a proposer une repr ´esentation de la solution. Cette repr ´esentation est donn ´ee par l’ ´equation (3.18). Pour rappel, dans ce genre d’algorithme, les solutions sont appel ´ees des individus et leurs composants des g `enes.

S =        L= {L1, L2, ..., Lm} P= [p1, p2, ..., pn] (3.18)

Chaque solution S est compos ´ee d’un ensemble de listes de picking ordonn ´ees L et d’un vecteur d’emplacement P. Chaque liste Li est elle-m ˆeme un vecteur contenant des r ´ef ´erences du stock et respectant un ordre pr ´ecis qui sera l’ordre dans lequel l’agent devra effectuer l’op ´eration de picking. Pour rappel, le vecteur P correspond `a l’appariement entre les r ´ef ´erences stock ´ees et leurs emplacements (la r ´ef ´erence i se trouve `a l’emplacement P(i)).

3.3.3.2/ CROISEMENTS ET MUTATIONS

Comme vu pr ´ec ´edemment, pour mettre en place un algorithme g ´en ´etique, il est n ´ecessaire de d ´efinir des op ´erateurs de croisement et de mutation. Les op ´erateurs sont les fonctions qui vont permettre de cr ´eer de nouvelles solutions (enfants ou filles) `a partir de solutions d ´ej `a existantes (parents).

Les op ´erateurs de croisements ont pour r ˆole de simuler la reproduction de deux indivi- dus. Le principe est de trouver une fac¸on astucieuse de fusionner les composantes de deux solutions pour en cr ´eer une troisi `eme qui va garder des aspects communs avec ses parents. Dans le cadre de la th `ese, nous proposons deux op ´erateurs de croisement dont les ´equations (3.19) et (3.20) donnent des exemples d’application. Le premier op ´erateur identifie les ´el ´ements robustes de chaque liste de picking des deux solutions parentes. Les ´el ´ements robustes sont les r ´ef ´erences qui se trouvent `a la m ˆeme place dans les listes compar ´ees deux `a deux de chaque solution, ces ´el ´ements sont conserv ´es dans la solu- tion fille et les autres ´el ´ements sont choisis al ´eatoirement. Pour ce qui est du vecteur P celui d’un des deux parents est al ´eatoirement s ´electionn ´e pour ˆetre transmis `a la solution fille. Ainsi, la solution fille contient toutes les parties communes des listes de picking de ses deux parents.

Le second op ´erateur de croisement fonctionne selon un principe similaire, `a la diff ´erence que ce dernier s’effectue non pas sur les listes mais sur le vecteur P. Dans ce cas, c’est l’ensemble des listes d’une des solutions parentes qui est al ´eatoirement choisi pour ˆetre transmis `a la solution fille.

Lorsque deux individus doivent ˆetre crois ´es, l’un des deux op ´erateurs est al ´eatoirement choisi. Li = [2,5, 8, 6,7,4] L0i = [8,5, 6, 2,7,4]        → [6,5, 2, 8,7,4] (3.19) P = [1, 4, 6,2, 3, 7,5, 8] P0 = [1, 6, 7,2, 8, 4,5, 3]        → [1, 7, 3,2, 4, 6,5, 8] (3.20)

Une fois les op ´erateurs de croisement d ´efinis, il est n ´ecessaire de cr ´eer les op ´erateurs de mutation. Les op ´erateurs de mutation ont pour r ˆole de simuler les m ´ecanismes de mutation g ´en ´etique spontan ´ee d’un individu en modifiant un ou plusieurs de ses g ˆenes. Du point de vue de l’algorithme g ´en ´etique, il s’agit concr `etement de modifier l ´eg `erement une composante d’une solution. Pour l’algorithme g ´en ´etique d ´etaill ´e ici, on d ´efinit trois op ´erateurs de mutation.

Le premier cr ´e ´e une nouvelle solution `a partir d’une solution m `ere en s ´electionnant al ´eatoirement une liste de picking Li, puis deux ´el ´ements de cette liste. Les deux ´el ´ements sont alors intervertis pour cr ´eer la solution fille, ce qui revient `a modifier l’ordre dans lequel l’agent r ´ecoltera les objets de la liste. Un exemple de cet op ´erateur est donn ´e par l’ ´equation (3.21).

Le second op ´erateur effectue la m ˆeme op ´eration que le premier, mais sur toutes les listes de picking au lieu d’une seule choisit al ´eatoirement.

Enfin, le troisi `eme op ´erateur de mutation va modifier le vecteur P. Pour ce faire, deux ´el ´ements de P sont al ´eatoirement s ´electionn ´es puis intervertis. Concr `etement, cette manipulation intervertit l’emplacement de deux r ´ef ´erences au sein du stock. Un exemple de cet op ´erateur est donn ´e par l’ ´equation (3.22).

Li= [2,5, 8,6, 7, 4] −→ [2,6, 8,5, 7, 4] (3.21) P= [1,4, 6, 2,3, 7, 5, 8] −→ [1,3, 6, 2,4, 7, 5, 8] (3.22)

3.3.4/ LES METHODES MIXTES´

Les sections pr ´ec ´edentes de ce chapitre ont permis de d ´etailler les diff ´erentes m ´ethodes de r ´esolution poss ´edant chacune leurs avantages et leurs inconv ´enients. Afin d’obtenir la meilleure solution possible, il est possible de combiner ces m ´ethodes pour combiner les avantages de chacune. Dans cette section, nous pr ´esentons deux m ´ethodes construites sur ce principe que nous appellerons des m ´ethodes mixtes. On d ´efinit ainsi ”l’algorithme g ´en ´etique mixte” et la ”m ´ethode B&B mixte”, le principe de ces m ´ethodes est d ´etaill ´e dans la figure (3.8).

un MFIF (voir section (3.3.1)). L’algorithme du MFIF permet d’obtenir un vecteur d’emplacement P `a partir des listes de dotations.

Etape 2 : l’ensemble des listes L et le vecteur d’emplacement P sont utilis ´es pour construire une solution. Un algorithme de TSP est utilis ´e avec une limite de temps d ´efinie pour optimiser les chemins de cette solution. Une fois le probl `eme r ´esolu (ou la limite de temps atteinte) et si la solution n’est pas faisable, la m ´ethode d’utilisation des sous-tours est utilis ´ee pour obtenir une solution r ´ealiste (voir section (3.3.1.2)).

Etape 3 : la solution obtenue est utilis ´ee pour initialiser les deux autres m ´ethodes. Dans le cas de l’algorithme g ´en ´etique (voir section (3.3.3)) cette solution initiale est ajout ´ee `a la population initiale. Pour ce qui est de la m ´ethode bas ´ee sur le B&B (voir section (3.3.2)), l’ ´evaluation de la meilleure solution trouv ´ee est initialis ´ee en

´evaluant la solution initiale.