Solveur distance et quantité cible

Bonjour à tous ,

Je voudrais à l'aide du solveur faire en sorte que pour atteindre la quantité cible pré-définis (cellule "L3"), deux contraintes doivent etre respectées

1- Ne pas commoencer par les quantités les plus élévées ( choix ascendant);

2-La distance moyenne entre les villes doit être au maximum 100km ou bien la distance vers la ville pivot VILLE1 ne doit pas dépasser 100.

Merci à tous

bonjour,

une proposition basée sur une mes réponses précédentes à ce sujet

Bonjour h2so4 ;

Merci pour ta réponse, donc dans ta proposition t'as pris en compte le critère de la moyenne entre les villes,

Si je mets comme critère la distance entre par exemple la ville 1 et les reste des ville ne doit pas dépasser 100km as-tu une proposition pour cela.

donc dans ta proposition t'as pris en compte le critère de la moyenne entre les villes,

oui, mais je me suis rendu compte d'une erreur dans la formule pour la priorité (la formule donne l'avantage aux grandes valeurs d'abord), J'ai adapté la formule. j'ai également adapté le paramétrage du solveur pour ne considérer que les villes à une distance <= à 100 km de la ville 1. (pas de solution !) Ceci dit au lieu de demander au solveur de ne pas choisir ces villes tu peux aussi simplement les supprimer avant de lancer le solver, ça facilitera la recherche pour le solver

Très bien ,

STP pourquoi t'as mis 1000 dans formule cellule "I14" ? s'agit-il d'une erreur,

Avant que tu modifies le fichier ça marchait , ceci dit pour la distance ça reste un critère important.

bonjour,

il s'agit d'une formule du calcul de la distance moyenne. une moyenne se calcule en faisant la somme des distances divisée par le nombre distances. Si le nombre de distances est 0, cela provoque une erreur division par zero. Pour le solver il ne peut pas y avoir de formules en erreur, j'ai donc mis une condition qui met une distance moyenne qui ne convient pas (1000 dans ce cas, mais j'aurais pu mettre n'importe quelle autre valeur supérieure à 100), si le nombre de distances à prendre en compte pour la moyenne est nul.

Oui , je crois que pas de solution est du au fait que la quantité cible ex : 1 400 000 , ne pourrait être satisfaite avec des nombres entiers par rapport aux quantiés mentionnées dans chaque ville , erreur chiffres entiers, on pourrait peut-être mettre un interval comme valeur cible , dans ce cas là comment y remédier

Merci pour ton assistance

bonjour,

tu peux simplement remplacer la contrainte =1.400.000 par une contrainte doit être compris entre 1.300.000 et 1.400.000. Si tu veux avoir la valeur la plus proche de 1.400.000 en utilisant de préférence les plus petites valeurs, tu as 2 optimisations à combiner, il faut donc trouver une équation qui combine les 2 objectifs

par exemple (écart entre valeur cible et valeur trouvée)*(pondération des valeurs utilisées) le plus petit possible

il faut éliminer toutes les villes dont la distance est > 100 avant de lancer le solveur

bonsoir,

paramétrage de la feuille et du solver sans avoir à éliminer les distances > 100 avant lancement du solver.

Bonjour;

Merci pour ta précieuse aide, néanmoins je suis un peu perdu là dedans , j'aurais besoins STP que tu m'éclaires

je t'ai mis des commentaires dans le fichier en pièce-jointe.

Cordialement.

bonjour,

I14= calcul de la distance moyenne pour les villes sélectionnées (comme tu as demandé par après à ne sélectionner que les villes à une distance <=100) la moyenne sera d'office <=100, donc cette donnée n'est plus utilisée comme contrainte.

K14 : formule qui compte le nombre de villes sélectionnées à une distance > 100, pour respecter ta contrainte les villes sélectionnées doivent être à une distance <=100, cette cellule doit contenir 0 (contrainte K14=0)

colonne M : Formule qui donne un poids (puissance de 2) au volume en fonction du rang de sa valeur (plus petit est le volume, plus petit est le poids).

O4 : dans tes premières demandes tu demandais de chercher les villes qui permettaient de trouver un certain volume total (1400000) en utilisant de préférence les petits volumes. Contrainte = avoir une somme de 1400000 et optimisation =chercher la somme des poids la plus petite. Donc s'il y a plusieurs combinaisons qui respectent les contraintes on choisit celle qui a la somme de poids minimum.

P4 : Ensuite tu as demandé d'avoir une somme de volumes dans un intervalle (par exemple entre 1200000 et 1400000, on change la contrainte =1400000 par 2 contraintes >=1200000 et <=1400000). Et ici j'ai fait l'hypothèse qu'il fallait trouver la somme dans cet intervalle qui soit la plus proche de 1400000 et qui maximise l'utilisation des petits volumes. Une formule qui optimise l'écart est (1400000-somme des volumes) et le résultat doit être le plus proche possible de zéro pour avoir l'optimum. Et pour combiner avec la préférence sur les petits volumes, je multiplie l'écart trouvé par la somme de poids. Tu peux donner plus ou moins d'importance à l'une des données à optimiser (écart minimum et utilisation des volumes les plus petits) en modifiant la formule en P4.

Salut,

Encore merci pour ton assistance, j'ai mis une contrainte par rapport à la moyenne, regarde si c'est correst STP

colonne M : Formule qui donne un poids (puissance de 2) au volume en fonction du rang de sa valeur (plus petit est le volume, plus petit est le poids).

J'ai pas compris cette étape, pourquoi t'as mis en puissance 2 en particulier ?

donc à travers cette formule le solver prends les valeurs les plus petite avant ?!

bonsoir,

J'ai pas compris cette étape, pourquoi t'as mis en puissance 2 en particulier ?

une intuition

le tout est de trouver une formule qui permet de respecter les priorités que tu souhaites.

donc à travers cette formule le solver prends les valeurs les plus petite avant ?!

je vais prendre un exemple : imagine que tu doives obtenir une somme de 400 avec les valeurs 50,50,100,100,200,300,400

selon la formule le poids pour 50(rang 1) est 2, pour 100 (rang 3) est 8, pour 200 (rang 5) est 32, pour 300 (rang 6) est 64, et pour 400 (rang 7) est de 128

tu peux obtenir 400

en faisant 50+50+100+200, total des poids est de 2+2+8+32 soit 44

en faisant 100+100+200, total des poids est de 8+8+32 soit 48

en faisant 50+50+300, total des poids est de 2+2+64 soit 68

en faisant 100+300, total des poids est de 8+64 soit 72

en faisant 400, soit total des poids est de 128

en demandant au solver de minimiser le total des poids, la solution 50+50+100+200 va être retenue.

Bonsoir,

Très bonne intuition alors , l'essentiel c'est que ça marche quel que soit le cas pratique (formule robuste).

j'ai changé la contrainte relative à la distance ≤100 km , je l'ai remplacée par la moyenne des distances des villes.

Je sais pas si tu as eu le temps de jeter un coup d'œil pour voir si c'est correct.

cordialement très bonne soirée.

bonsoir

j'ai changé la contrainte relative à la distance ≤100 km , je l'ai remplacée par la moyenne des distances des villes.

Je sais pas si tu as eu le temps de jeter un coup d'œil pour voir si c'est correct.

Pourquoi ? as-tu un doute ? As-tu testé ? le résultat ne te convient pas ?

Juste pour confirmer c'est tout

bonjour,

Juste pour confirmer c'est tout

Je n'ai pas la science infuse. Voir paramétrage du solver dans ma proposition de mercredi à 15:19 pour la contrainte sur la moyenne (I14), ça ressemble tout-à-fait à ce que tu as fait et pour moi c'est une solution correcte.

Ok !

Merci.

Rechercher des sujets similaires à "solveur distance quantite cible"