WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Techniques hybrides de recherche exacte et approchée: application à  des problèmes de transport

( Télécharger le fichier original )
par Boris BONTOUX
Université d'Avignon et des pays de Vaucluse - Doctorat spécialité informatique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.3 Opérateurs de recherche locale

L'optimisation par Colonie de Fourmis a besoin de coopérer avec une recherche locale afin d'être efficace. Nous explorons le voisinage de solutions avec plusieurs procédures de recherche locale. Nous décrivons dans un premier temps ces procédures, avant de détailler la manière dont elles sont combinées.

3.3.1 Procédures de recherches locales basiques 2-opt

Cette procédure est bien connue dans le contexte du TSP (Lin, 1965). Cette procédure consiste à choisir deux marchés dans le tour et à permuter la circulation entre ces deux marchés si cela améliore la solution. La complexité de cette procédure est O(m2). Pour le TPP, la procédure réoptimise la séquence de marchés visités, sans modifier l'ensemble des marchés non visités.

Simplification

Durant la construction du tour, certains produits peuvent être achetés dans un premier temps dans un marché vi, puis finalement être achetés dans un marché visité par la suite, si ces produits sont disponibles à un plus faible coût. Quand le tour est terminé, certains marchés peuvent être toujours présents dans le tour, alors qu'aucun produit n'y est acheté. La procédure simplification supprime ces marchés du tour.

Insertion

La procédure insertion (voir (Riera-Ledesma et Salazar-González, 2005) pour plus de détails) tente d'insérer des marchés non visités dans le tour. Une insertion est effectuée chaque fois que l'économie réalisée sur les coûts d'achats des produits dépasse l'augmentation de coûts de transport. La complexité de cette procédure est O(m2 × n).

Suppression

La procédure suppression (voir la procédure drop proposée par (Riera-Ledesma et Salazar-González, 2005)) est la procédure symétrique de l'insertion. Un marché est supprimé du tour, à partir du moment où la diminution des coûts de transport dépasse l'augmentation des coûts d'achats des produits. La complexité de cette procédure est

O(m2 × n).

3.3.2 Application de l'opérateur Dropstar

La procédure dropstar, présentée plus en détail dans le chapitre 2, est une sorte d'extension de la procédure k-drop proposée par Riera-Ledesma et Salazar-González (2005). Dans cette procédure, k marchés consécutifs sont supprimés du tour. Avec la procédure dropstar, nous proposons de déterminer l'ensemble optimal de marchés, consécutifs ou non, qui doivent être supprimés d'une solution. Ainsi, en gardant l'ordre original du tour, la procédure dropstar en extrait la sous-séquence optimale (voir la section 2.4.2 pour une vision plus générale de la procédure Dropstar).

Cette extension permet d'agrandir considerablement la taille du voisinage. Cependant, trouver la meilleure solution voisine est un problème NP-difficile comme cela est montre ci-dessous.

Nous definissons maintenant le concept de sous-sequence. Soit S = (i1, . . . , ik) une sequence, solution realisable du problème de l'Acheteur Itinerant et S' = (i'1, ... , i'l) une autre sequence, solution realisable du problème de l'Acheteur Itinerant. On considère que S' est une sous-sequence de la sequence S si S' ? S et que quel que soit i' m et i' n appartenant à S' tel que i' m precède in', alors i' m precède i' n dans S.

Propriete 1 Trouver la meilleure sous-séquence S' d'une séquence S est un problème NPdifficile.

Demonstration. Pour montrer que le problème de recherche d'une sous-sequence optimale (ou PRSS) est NP-difficile, montrons que le problème decisionnel de recherche d'une sous-sequence (ou PRSS-dec) est NP-complet. Par rapport au PRSS, le PRSS-dec cherche une solution de valeur inferieure à un objectif donne, plutôt qu'une solution de coût optimal. Il est possible de verifier en temps polynomial si une solution du problème decisionnel est realisable et si le coût de cette solution est inferieur à un objectif donne. Le PRSS-dec appartient donc à la classe NP. Pour montrer que ce problème est NP-complet, nous proposons une reduction du problème decisionnel de Couverture d'Ensemble (ou PCE-dec) vers le PRSS-dec.

Considerons une instance du PCE-dec. Soit X un ensemble. Soit F une famille de sous-ensembles de X, avec ?f?F f = X. L'objectif du PCE-dec est de trouver un sous-ensemble F' de F (F' ? F) tel que ?f?F' f = X et |F'| = Q.

Construisons une instance du problème de l'Acheteur Itinerant : on definit G = (V, A) un graphe complet. On note V = {v0, ... , vm} où v0 est le depôt et v1, . . . , vm sont les marches. À chaque f ? F, on associe une ville vi. Les coûts de transport sont notes cij = 1 quels que soient vi, vj ? V\{v0} et civ0 = 0 pour tout vi ? V\{v0}. P = {p1, . . . , pn} est l'ensemble des produits. Chaque produit pk est un element de X. Chaque produit pk ? P est disponible dans un ensemble de marches Vk ? V et les coûts d'achats des produits sk,i est egal à 0 quels que soient pk ? X et vi ? Vk.

Construisons la solution realisable S du problème de l'Acheteur Itinerant qui visite l'ensemble des sommets.

Montrons que resoudre une instance du PCE-dec où le nombre d'ensembles doit être inferieur à Q revient alors à savoir s'il existe une sous-sequence S' de S, telle que le coût de S' soit inferieur à Q.

Supposons qu'il existe une sous-sequence realisable S' de coût inferieur à Q. Le coût des produits etant nul, le nombre de marches de S' est donc inferieur ou egal à Q. On peut donc en deduire qu'il existe une solution F' au PCE-dec, telle que chaque sous-ensemble f de F' correspond à un marche de S'. Le nombre de sous-ensemble f est donc inferieur à Q.

Supposons maintenant qu'il existe une solution F' au PCE-dec. La solution S' où chaque
marche de S est un element f de F' est une solution du PRSS-dec correspondant. La

réponse aux deux problèmes de décision est donc identique.

Précisons que la réduction se fait en temps polynomial et rappelons que le problème décisionnel de Couverture Minimale est NP-complet (Garey et Johnson, 1979). Finalement, ceci permet de conclure que la recherche d'une sous-séquence optimale appartient à la classe des problèmes NP-difficiles. ~

Nous calculons la sous-séquence optimale à l'aide d'un algorithme de programmation dynamique (voir la section 2.4.4 pour plus de détails sur cet algorithme) appliqué sur un graphe obtenu à partir du tour original. Ce graphe est construit de la façon suivante. Un noeud est ajouté pour chaque marché visité dans le tour. Deux noeuds sont ajoutés, afin de dupliquer le dépôt en début et en fin de tour. Des arcs sont ensuite construits entre chaque marché et les marchés situés à la suite dans le tour. (cf. Fig. 3.1). La procédure consiste alors à trouver le plus court chemin dans le graphe entre les deux copies du dépôt, avec la contrainte que tous les produits soient achetés. Le coût du chemin est égal à la somme des coûts de transport et des coûts d'achats des produits.

0 4 2 7 3 10 0

FIGURE 3.1 - Exemple d'un tour et du graphe résultant utilisé par la procédure dropstar

Dans l'objectif d'accélérer la résolution de la procédure dropstar, la construction du graphe est légèrement modifiée. Quand un marché vi présent dans le tour est le seul marché à proposer un certain produit parmi les marchés du tour, ce marché doit être dans toute sous-séquence valide. Ainsi, les arcs entre deux noeuds situés de part et d'autre de vi ne peuvent être empruntés. De tels arcs sont alors supprimés du graphe (cf. Fig. 3.2).

L'algorithme de programmation dynamique que nous avons utilisé pour trouver le plus court chemin dans le graphe est inspiré de l'algorithme développé par Feillet et al. (2004) pour le Problème du Plus Court Chemin Élémentaire avec Contraintes de Ressources et est présenté plus en détails dans la section 2.4.4 dans le chapitre 2. Dans ce problème, des labels correspondent à des chemins partiels. Afin de limiter le nombre de labels, nous proposons d'appliquer des règles de dominance.

Dans ce qui suit, nous notons L = (C, P1, . . . , Pn) un label correspondant à un chemin partiel, pour lequel C représente le coût du chemin partiel, comprenant les coûts de transport et les coûts d'achats des produits, Pj le coût d'achat du produit pj. Pj est

0 4 2 7 3 10 0

FIGURE 3.2 - Exemple d'un tour et du graphe résultant pour lequel le marché 7 doit appartenir au tour

fixé à zéro quand le produit p1 n'a pas été encore acheté dans le chemin partiel. Un label L1 domine un label L2, ce qui est noté L1 < L2, quand les deux chemins partiels représentés par ces labels mènent au même noeud et que l'on peut être certain que n'importe quelle extension de L1 serait de coût plus faible que l'extension identique pour L2. Dans ce cas, le label L2 peut être alors supprimé.

Un point important à prendre en considération lorsque deux labels sont comparés est qu'ils n'ont pas nécessairement acheté les produits au même prix. Ainsi, les économies potentielles sur les coûts d'achats qui peuvent être obtenues en étendant les labels sont différentes pour les deux labels comparés. Nous limitons la comparaison de labels dans le cas pour lequel les deux labels L1 et L2 mènent au même marché et que tous les produits achetés par le label L2 sont aussi achetés par le label L1. Nous appelons alors S1 l'ensemble de produits achetés par le label L1 et S C S1 l'ensemble de produits achetés par le label L2. Dans ce cas, pour chaque produit p1 E S, une simple borne supérieure sur le montant additionnel d'économies sur le coût d'achat de p1 qui peut être attendu par le label L2 comparé au label L1 est égal à max(0, P2 1 -- P11 ). Une condition suffisante

pour obtenir la dominance L1 < L2 est alors

C2 -- ? max(0, P2 1 -- P1 1 ) = C1

p1ES

En effet, cette condition assure que les économies potentielles sur les coûts d'achats des produits pour le label L2 ne peuvent pas contrebalancer la différence actuelle des coûts.

Cette condition peut être renforcée en prenant en considération les coûts d'achats des produits qui ont été achetés seulement par le label L1. Dans cette optique, nous introduisons le coût potentiel c0 ik d'un produit pk dans le marché vi. Ce coût est égal au coût d'achat minimum du produit pk dans les marchés situés à la suite du marché vi dans le tour courant. Avec cette notation, une condition de dominance renforcée peut être établie telle que : L1 < L2 si

C2 -- ? max(0, P2 1 -- P11 ) + ? max(c0 i1, P11 ) = C1

p1ES p1ES1\S

Le nouveau terme de cette condition représente le coût d'achat minimal pour le label L2 des produits qui ne sont actuellement achetés que par le label L1.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Piètre disciple, qui ne surpasse pas son maitre !"   Léonard de Vinci