Programme linéaire inspiré du problème du voyageur de commer

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
admiré
Membre Naturel
Messages: 12
Enregistré le: 17 Aoû 2009, 13:57

programme linéaire inspiré du problème du voyageur de commer

par admiré » 03 Juil 2010, 13:46

Bonjour à tous,

Je suis depuis un bon moment sur cette variante du problème de voyageur du commerce..
Je ne parviens pas à la résoudre. S'ils vous plait, pourriez-vous me donner quelques orientations pour y parvenir?


Voici le problème et un exemple:


Soit un camion de capacité illimité disponible dans l'entrepôt qui doit visiter un ensemble de fournisseur pour ramasser leurs produits une et une seule fois et retourner à son dépôt à la fin de la journée de façon à minimiser le temps total du voyage. Certaines demandes ne sont pas connues à l'avance.Elles ne sont connues qu'au moment où le camion est en route.

Écrire un programme linéaire permettant de déterminer l'ordre de visite des fournisseurs une fois une nouvelle demande est arrivée de façon à minimiser le temps total de voyage.

[url="http://www.hebergementimages.com/image-04e093208fd062aa9234774b73fc5c6d_VRP.bmp.html"]Image[/url]
Lien sponsorisé : [url="http://www.reductionet.com"]reduction[/url]




Merci d'avance de votre aide!



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 03 Juil 2010, 15:11

salut,

ya que le graphe qui change non.
J'imagine que tu sais résoudre le pvc avec prog linéaire.

Donc au tout début mettons, tu calcules un itinéaires.
Une fois calculé, tu le parcours.
A chaque fois que tu passes par un entrepot, tu marques l'entrepot.

Soudain, un évènement arrive et un nouvel entrepot est à visiter.
Tu recalcules pour chaque entrepot que tu n'as pas visité la distance avec le nouvel entrepot.
Ca te fait un nouveau graphe (ou on a enlevé les entrepots marqués (vu que t'es passés dessus, ils servent plus a rien)).
Pis rebelotte.
la vie est une fête :)

admiré
Membre Naturel
Messages: 12
Enregistré le: 17 Aoû 2009, 13:57

par admiré » 04 Juil 2010, 11:12

fatal_error a écrit:salut,

ya que le graphe qui change non.
J'imagine que tu sais résoudre le pvc avec prog linéaire.

Donc au tout début mettons, tu calcules un itinéaires.
Une fois calculé, tu le parcours.
A chaque fois que tu passes par un entrepot, tu marques l'entrepot.

Soudain, un évènement arrive et un nouvel entrepot est à visiter.
Tu recalcules pour chaque entrepot que tu n'as pas visité la distance avec le nouvel entrepot.
Ca te fait un nouveau graphe (ou on a enlevé les entrepots marqués (vu que t'es passés dessus, ils servent plus a rien)).
Pis rebelotte.

Merci beaucoup pour votre réponse.

Il n ' y a pas un moyen pour résoudre le problème sans refaire un autre programme chaque fois un nouveau évènement apparait? Y a t-il une technique qui permet d'intégrer la dimension dynamique au programme sans refaire un nouveau programme ?

Merci de votre réponse.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 04 Juil 2010, 13:20

re,

a mon avis (c'est que mon avis) je pense que on est obligé de recomputer.
Là, comme ca, pour intégrer ton problème de manière dynamique, je vois que de la prog dynamique (...).

Le problème, c'est qu'a supposer qu'on se fasse une prog dynamique (a la place de l'opti linéaire), bien qu'on construit une table avec les minimums des distances des chemins entre chaque noeud, on intègre pas au plus petit détail ce que ca donnerait avec notre nouveau noeud.

De fait, il faudrait recomputer la table (du moins l'étage du bas (ou ya les plus cours chemins de trois noeuds), avec eventuellement les répercussions sur les étages du dessus).
Bref, je suis sceptique, mais ca me dépasse un peu. Pe est-ce possible.

J'ajoute qu'en revanche on peut toujours essayer de faire une heuristique avec des clusters des noeuds les plus proches et de faire appartenir le nouveau noeud à un cluster de manière à "minimiser" les longs trajets (entre clusters)
la vie est une fête :)

admiré
Membre Naturel
Messages: 12
Enregistré le: 17 Aoû 2009, 13:57

par admiré » 04 Juil 2010, 16:03

fatal_error a écrit:re,

a mon avis (c'est que mon avis) je pense que on est obligé de recomputer.
Là, comme ca, pour intégrer ton problème de manière dynamique, je vois que de la prog dynamique (...).

Le problème, c'est qu'a supposer qu'on se fasse une prog dynamique (a la place de l'opti linéaire), bien qu'on construit une table avec les minimums des distances des chemins entre chaque noeud, on intègre pas au plus petit détail ce que ca donnerait avec notre nouveau noeud.

De fait, il faudrait recomputer la table (du moins l'étage du bas (ou ya les plus cours chemins de trois noeuds), avec eventuellement les répercussions sur les étages du dessus).
Bref, je suis sceptique, mais ca me dépasse un peu. Pe est-ce possible.

J'ajoute qu'en revanche on peut toujours essayer de faire une heuristique avec des clusters des noeuds les plus proches et de faire appartenir le nouveau noeud à un cluster de manière à "minimiser" les longs trajets (entre clusters)

Merci beaucoup pour votre réponse.
L'objectif est de proposer une formulation mathématique pour résoudre le problème et de le tester en utilisant méthode exacte comme Branch and Bound implantéedans Ilog CPLEX ou LINGO

Une dernière question SVP, si on procède à résoudre le problème par la programmation linéaire en nombre entier, comment faire l'expérimentation sur des jeux de données?(car les modèles sont dissociés, non?) :help:

Merci d'avance.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 04 Juil 2010, 19:45

salut,

je peux pas t'en dire plus, je connais pas la prog linéaire en nombre entiers, et même si j'avoue que ca m'intrigue, j'ai pas le temps (probablement) pour bien y piger. Donc j'peux pas t'aider plus :triste:
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 39 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite