Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

MoiMajid

XLDnaute Nouveau
Bonjour, il me faut implementer sous vba la résolution d'un problème d'affectation d'entrepots avec un algo exhaustif.

La recherche exhaustive est la méthode la plus simple, mais aussi souvent la plus coûteuse, pour trouver la
ou les solutions optimales à un problème. Comme son nom l'indique, on va énumérer l'ensemble des solutions
possibles, les parcourir une à une et conserver celle qui retourne le meilleur résultat. Comme le nombre de
solutions possibles est ni, la recherche nit toujours. Toutefois, si l'on a N variables binaires, on aura à
énumérer 2N solutions possibles.

Voici l'enoncé : Le territoire de Lordaeron est relativement grand. Pour alimenter les diérentes cités en grain, il faut
construire des entrepôts. Sur le plan page précédente, les cités à approvisionner sont :
- La capitale, Lordaeron (qui a besoin de 500 unités de nourriture)
- La citadelle de Dalaran (besoin : 350 unités)
- La cité de Stratholme (besoin : 300 unités)
- La forteresse de Mardenholde (besoin : 400 unités)
- La forteresse de Durnholde (besoin : 350 unités)
- La cité de Caer Darrow (besoin : 250 unités)
Les entrepôts peuvent être placés à Brill, Hearthglen, Andorhal et Strahnbrad. Les coûts de constructions
associés sont respectivement de 200, 250, 300 et 350 pièces d'or. On suppose pour l'instant que les entrepôts
sont de capacité innie. Les coûts de transports entre les lieux possibles pour les entrepôts et les cités à desservir
sont les suivants (en pièces d'or).
Brill Hearthglen Andorhal Strahnbrad
Lordaeron 100 200 250 350
Dalaran 500 450 350 250
Stratholme 125 75 125 300
Mardenholde 175 50 175 300
Durnholde 300 300 200 100
Caer Darrow 350 350 250 150
Votre travail, en tant que conseiller, est de trouver la manière optimale de placer les entrepôts, sachant qu'il
faut que tous les besoins soient satisfaits, et que le coût total doit être le plus petit possible. Où placez-vous les
entrepôts ?
Supposons maintenant que la capacité maximale des entrepôts soit nie, et que les quatres lieux possibles
puissent stocker 1200 unités de nourriture chaque. Où doit-on alors construire les entrepôts ? Que se passe-t-il
si la capacité maximale est de 800 ?

J'ai déjà reussi à résoudre le probleme en methode exacte et B&b avec l'excel solver.
je suis arrivé a l'implementation exhaustive je plante.

Voici le Pseudo code :
//m = nombre d'entrepôts, modèle = tableaux décrivants le PL
xmax = vecteur_nul(n)
ymax = vecteur_nul(m)
vmax = MAXINT
Pour i de 1 à 2n Faire
y = convertir_en_vecteur(i,m)
[x,val,état] = résoudrePL(modèle,y)
Si état == ok Alors
Si val < vmax Alors
vmax = val
xmax = x
ymax = y
Fin Si
Fin Si
Fin Pour

Voila vous trouverz comme piece jointe mon fichier excel avec les premieres étapes de mon algo en fait j'ai du mal avec la fonction résoudrePL(modele,y) vous me direz c la plus difficile lol.
Pour ceux qui peuvent m'aider merci d'avanc et pour les autres aussi :).
 

Pièces jointes

  • Entrepots Exacte - Copie.xlsm
    32.7 KB · Affichages: 86

Habitude

XLDnaute Accro
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Bonjour

D'abord les cout de constructions sont relativement les mêmes que les coûts de transport.
Ce qui dimininue l'impact de contruire 3 entrepot au lieu de 2.
Il manque à mon avis les couts d'exploitation d'un entrepot.
Car avec 2150 unités à desservir, 2 entrepots de 1200 unités sont nécessaires, peut-etre que 3 couteraient moins cher.
Alors que pour 800unités, 3 entrepot sont nécessaires.

En visuelle je te dirais, pour 1200
Hearthglen et Strahnbrad
1200 unités et 950 unités
600 de constructions
825 de transports
pour 1425 pieces d'or

Pour 800 unités par entrepôt
Brill, Hearthglen et Strahnbrad
dans l'ordre 750, 700 et 700 unités desservies.
800 de constructions
925 de transports
pour 1725 pieces d'or

Andorhal
Bonne partout de par sa moyenne mais excellente nulle part de par son écart min-max.
Cette ville serait a éviter.

Sauf si bien sur, il faut tenir de compte de quelconque délai de livraison.
 

MoiMajid

XLDnaute Nouveau
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Comme je l'ai indiqué plus haut j'ai déjà effectuée une résolution mathematique sous excel solver.
Methode exacte : 1425 pour 1200 et capacité infinie et 1611 pour 800 (2 et 3 entrepots)
Methode B&B : 1425 pour 1200 et capacité infinie et 1725 pour 800 (2 et 3 entrepots)

ce que je cherhce a faire c'est d'implementer la methode exhaustive et que j'ai des lacune en VBA.
 

Habitude

XLDnaute Accro
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Re
Effectivement je viens d'ouvrir ton fichier
Avant de pondre quoi que ce soit, j'essaie de comprendre le problème.

Dans votre capacité 800, Dalaran est livré en partie a partir de Heartglen et Strahnbrad.
Je constate que vous garder la possibilité d'une livraison à partir de plusieurs entrepôts.
Possibilité que je n'avais pas pris en compte.
OR........ Un transport, a aussi une capacité non ?
Et qu'il soit plein ou non, le cout reste ne reste-t-il pas le même ?
A mon avis, le cout de transport par unité ne peut pas s'appliquer.
Si une ville est désservie par 2 entrepôts, il faut doublez vos frais de transport.
 

MoiMajid

XLDnaute Nouveau
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Je comprends ce que tu veux dire ( tu peux me tutoyer) et non on n'a pas pas de problème vis a vis de cela. J'ai écrit dans mon poste toutes les données. Quitte à me répéter mon probleme c'est l'ecriture de la fonction ou sous-routine résolution je sais comment la faire manuellelement étape par étape mais quand cela viens à la programmation ...
 

MoiMajid

XLDnaute Nouveau
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Voici une code plus comprehensible si quelqu'un peut m'aider je plante tjrs avec résolution.
 

Pièces jointes

  • Entrepots recherche exhaustive.xlsm
    17.9 KB · Affichages: 84

Habitude

XLDnaute Accro
Re : Help implementation d'un algorithme exhaustif dans l'affectation d'entrepots

Bonjour à tous

MoiMajid
Il s'agit d'un exercice?
Une adaptation de celui-ci? (cf Exercice #5)
http://www.airelle.info/teachings/Appr3/RO/TD/TD1.pdf

Habitude: tout comme moi tu ne sembles pas être un joueur de World of WarCraft ;)

Sérieusement, toute cette problématique est basé sur un jeu ??

J'esseyais donc d'appliquer une logique sur du fantastique !!
Je ne comprends toujours pas en quoi le transport par unité s'applique.

Ca s'arrête ici pour moi, MoiMajid ne me prends visiblement pas au sérieux.
 

Statistiques des forums

Discussions
312 162
Messages
2 085 858
Membres
103 005
dernier inscrit
gilles.hery