• Aucun résultat trouvé

Adaptation de la méthode générale de génération de colonnes

4.1 Méthode de résolution par génération de colonnes

4.1.2 Adaptation de la méthode générale de génération de colonnes

4.1.2.1 Résolution du problème maître restreint

Après avoir été mis sous la forme du programme linéaire en nombres entiers (4.1)- (4.4), nous résolvons le DARP dans un SEPGCOL où à chaque nœud le problème maître (MP) est résolu par une méthode de génération de colonnes tel que présenté dans la section2.2. Les solutions primales et duales sont obtenues par un algorithme de pro- grammation linéaire de type simplexe ou point intérieur, dont l’efficacité s’est montrée équivalente lors de nos expérimentations. Pour l’ensemble des expérimentations effec- tuées, le temps de résolution du programme linéaire se révèle négligeable par rapport à celui du problème esclave sur nos instances à quelques dizaines de requêtes. Nous ne gérons donc pas de manière particulière les colonnes générées par le problème es- clave ; une colonne générée n’étant jamais supprimée de l’ensemble Ω′. La contrainte (4.3) sur la taille de la flotte peut être supprimée lorsque le nombre de véhicules n’est pas limitatif en pratique. Les distances étant toujours positives et respectant l’inégalité triangulaire, il est possible de relâcher la contrainte d’affectation (4.2) en une inégalité (≥1). Le problème maître devient alors un problème de couverture a priori plus simple. Les variables duales qu’il génère sont positives ou nulles, ce qui peut être un avantage lors de la résolution du problème esclave.

4.1.2.2 Représentation du problème esclave comme un ESPPRC

Toutes les contraintes de réalisibilité des tournées sont présentes dans le problème esclave. Nous modélisons le problème esclave comme un ESPPRC que nous résolvons par programmation dynamique. Sous l’effet des contraintes de fenêtres de temps as- sez serrées et des contraintes de précédence entre ramassage et livraison, la contrainte d’élémentarité des tournées a de fortes chances d’être peu active. Nous avons pourtant décidé de ne pas la relâcher car le contrôle des contraintes de couplage (et de pré- cédence) entre ramassage et livraison reviennent aussi à contrôler l’absence de cycles relativement longs. Pour compenser le manque d’efficacité lié à la conservation des in- formations nécessaires au respect de la contrainte d’élémentarité, nous nous en servons pour renforcer les règles limitant l’extension des chemins partiels et la dominance entre chemins partiels. D’autre part, une partie des instances de PDPTW sur lesquelles nous avons effectué nos tests ont des fenêtres de temps très larges et le gain alors apporté par la résolution d’un ESPPRC est influent sur la qualité de la relaxation linéaire du pro- blème maître. Nous détaillons la résolution du problème esclave dans la section4.1.3. 4.1.2.3 Recherche arborescente

Pour les raisons discutées dans la section2.2.2.1, la sélection des colonnes λωcomme variables de séparation est un mauvais choix. Le choix de variables de branchement le plus naturel est celui de l’arc « la plus fractionnaire » dans la solution optimale de la re-

Chapitre 4. Maximisation de la qualité de service

laxation linéaire1. La règle de branchement crée un sous-arbre où l’utilisation de cet arc est imposée et un sous-arbre où son utilisation est prohibée. Cette règle de branchement assure la convergence de la recherche. Elle peut être généralisée au flot sortant d’un en- semble de sommets (Naddef et Rinaldi, 2002). D’autres règles de branchement sont proposées dans la littérature, sur les véhicules (Desrochers et al.,1992), sur les fenêtres de temps (Dumas et al.,1991).Ropke(2005) teste quatre stratégies de branchements : sur les arcs, sur les véhicules puis les arcs, sur les flots sortants et sur les véhicules puis les flots sortants. Sur ces tests, le branchement sur les flots sortants se relève légèrement plus performant que celui sur les arcs. Brancher sur les véhicules suffit généralement à obtenir l’optimalité. Dans les cas où les véhicules ont un coût fixe d’utilisation très élevé, brancher sur les véhicules s’avère bien plus efficace car l’écart entre les bornes inférieures possibles a tendance à être très élevé.

La qualité de la relaxation linéaire, donc des bornes inférieures, du modèle d’affec- tation s’avère excellente, puisque sur l’ensemble des instances que nous avons résolu, presque toutes le sont à la racine. Par conséquent, nous nous contentons d’une seule règle de séparation assez simple. Nous sélectionnons la succession de services « la plus fractionnaire » dans la solution optimale de la relaxation linéaire ; ce qui revient à consi- dérer le nombre de fois que sont utilisés tous les arcs réalisant une même succession de services. L’ordre de traitement des nœuds respecte la valeur de leur borne inférieure respective. Lorsque le nombre de véhicules est limité, la borne inférieure de chaque nœud peut être améliorée par la somme de la valeur optimale de la relaxation linéaire du problème maître et le produit entre la taille de la flotte et la valeur optimale du problème esclave, dans l’éventualité où cette dernière est connue. En effet, la valeur de la solution courante du problème maître restreint ne peut pas être plus diminuée que par l’intégration, pour chaque véhicule, d’une tournée correspondant à une solution optimale du problème esclave.

4.1.2.4 Initialisation de Ω

L’ensemble des tournées initiales n’est pas forcément vide. Un algorithme de cons- truction de tournées peut-être utilisé pour son initialisation. Cette initialisation nous affranchit de développements supplémentaires au niveau du problème esclave pour obtenir de bonnes solutions sur des problèmes peu contraints et propices aux heuris- tiques. Comme c’est le cas de certaines instances deLi et Lim(2001), où les services sont proches et où les fenêtres de temps et de flux d’occupation sont presque inexistantes. Pour ces problèmes, seule la preuve d’optimalité est difficile à obtenir.

À chaque nœud de l’arbre de recherche, lorsqu’on ne dispose pas de tournées for- mant une solution réalisable de (MPR), on utilise une tournée « passe-partout » – elle effectue tous les services – possédant un coût très élevé. On appelle cela la méthode du BigM. Si le problème est réalisable et qu’aucune colonne n’est générée par le pro- blème esclave alors que la solution courante du problème maître restreint donne une

1La fraction d’arc utilisée se mesure en sommant les valeurs des variables de sélection des tournées (λω) incluant cet arc.

4.1. Méthode de résolution par génération de colonnes

valeur non nulle à « passe-partout », on peut alors conclure que le coefficient attribué à « passe-partout » dans la fonction objectif est trop petit. Cependant, un coefficient trop élevé peut nuire aux performances de l’algorithme (Desaulniers,2007). Lors de nos ex- périmentations, cet impact s’est révélé assez faible et l’utilisation de bornes supérieures même inatteignables (car trop élevées), n’a pas dégradé la rapidité de convergence de façon gênante, sachant que la limitation du temps de calcul ne fait pas partie de nos objectifs principaux.

La figure 4.1 résume le schéma général de notre implémentation de la méthode SEPGCOL. La borne inférieure associée à un nœud n est notée BI(n)et BS désigne la meilleure borne supérieure courante. La valeur optimale du problème maître restreint est notée Z∗tandis que celle du problème esclave est notée c.

oui non oui Résoudre EP non non oui oui oui oui Stop Résoudre MP restreint : Z∗ colonnes de coût négatif ?

Créer les nœuds fils EP résolu

à l’optimum : c∗? Ajouter les colonnes

Z∗>BI(n)? BI(n) ≥BS? Z∗+Kc>BI(n)? à MP restreint Z ∗<BSet entière ? n=argmin{BI(m): m un nœud} BS:=Z∗ avec BI(f ils):=Z∗ BI(n):=Z∗+Kc

Chapitre 4. Maximisation de la qualité de service