Coupler plusieurs valeurs d’une matrice en fonction d’une valeur référentielle

RSDL

XLDnaute Nouveau
Bonjour à tous !

je cherche à calculer automatiquement des tours d’eau.
Dans le fichier joint il y a :
  • Un débit de pompe (= valeur référentielle)
  • Un tableau de débit que demande chaque parcelle (= matrice)
  • Un tableau des tours d’eau
Chaque tour d’eau doit couplet un maximum de débit parcelle afin d’optimiser au mieux le débit pompe. Pour un exemple : avec un débit de pompe de 10,1 m3/h on pourrai coupler les parcelles : 0,7 m3/h (parcelle n°12), 1,2 m3/h (parcelle n°23,2) et 8,2 m3/h (parcelles n°11). Et ceci donnerai le premier tour d’eau. La formule pourrait donc faire automatiquement toutes les associations possibles en fonction de la valeur référentielle.
 

Pièces jointes

  • Tour d'eau_exemple.xlsx
    13.7 KB · Affichages: 5

ODVJ

XLDnaute Impliqué
Bonjour,

Première idée, mettre plus de 10 colonnes.
Pour alimenter 102,9m3 avec une pompe 10,1m3, il faut au moins 11 tours.

Comme j’imagine que tu ne serais pas là à poser ta question si tu ne cherchais pas une solution en nombres entiers, il te faudra un 12ème tour pour arroser toutes tes parcelles.
En effet, un petit coup de solver sur ton problème fait ressortir l’infaisabilité pour 11 tours.

Le solver te donne une solution, bien sûr, mais tu peux en construire manuellement très facilement.

Remarque : le solveur d’excel ne peut gérer un modèle en variables binaires de cette taille.
Je suis passé par opensolver, qui se travaille de la même façon mais sans les limites du solveur d’excel.
Je n’ai pas cherché à modéliser autrement qu’en binaire.

Cordialement
 

ERIC S

XLDnaute Barbatruc
Bonjour à tous
en raisonnant manuellement, sauf si tu fais cette opération régulièrement, ou si tu veux bouger les paramètres comme B1, il doit être possible de le faire en s'aidant d'Excel mais

dans ton cas, sans plus de précision de ta part,
débit max 10.1
22 parcelles
nb de parcelles > 5.05 qté 9
tu n'as pas assez de petites parcelles pour associer avec : si tu associes la 16 et la 13, tu n'as pas de possibilité pour la 4 à la 6, cela dépasse ton max
sauf si tu joues sur du temps d'arrosage ou du débit max mais là il faut en dire plus

sinon la méthode manuelle : classer les parcelles par débit.
toutes celles qui dépassent la moitié du débit max sont des têtes de série (comme au tennis), et après on comble ou on ajoute des séries.

je ne peux rien dire de plus sans précision sur tes tolérances
 

RSDL

XLDnaute Nouveau
Bonjour,

Première idée, mettre plus de 10 colonnes.
Pour alimenter 102,9m3 avec une pompe 10,1m3, il faut au moins 11 tours.

Comme j’imagine que tu ne serais pas là à poser ta question si tu ne cherchais pas une solution en nombres entiers, il te faudra un 12ème tour pour arroser toutes tes parcelles.
En effet, un petit coup de solver sur ton problème fait ressortir l’infaisabilité pour 11 tours.

Le solver te donne une solution, bien sûr, mais tu peux en construire manuellement très facilement.

Remarque : le solveur d’excel ne peut gérer un modèle en variables binaires de cette taille.
Je suis passé par opensolver, qui se travaille de la même façon mais sans les limites du solveur d’excel.
Je n’ai pas cherché à modéliser autrement qu’en binaire.

Cordialement
Merci beaucoup pour ta réponse !

Par contre le nombre de tours d'eau est calculé en fonction de leur durée et de leur fréquence. Dans ce cas ce sont des tours d'eau de 23.1 heures tous les 10 jours. Du coup : 240 - (23.1*10) = 9 (= 10 tours max).
L'objectif serait de trouver une solution qui puisse s'adapter aux grandes exploitations ou groupement d'exploitation avec des centaines de parcelles (le manuel serait donc plutôt contraignant).

Avec opensolver tu as eu toutes les associations possibles ? Comment ça fonctionne ?

Merci encore !
 

RSDL

XLDnaute Nouveau
Bonjour à tous
en raisonnant manuellement, sauf si tu fais cette opération régulièrement, ou si tu veux bouger les paramètres comme B1, il doit être possible de le faire en s'aidant d'Excel mais

dans ton cas, sans plus de précision de ta part,
débit max 10.1
22 parcelles
nb de parcelles > 5.05 qté 9
tu n'as pas assez de petites parcelles pour associer avec : si tu associes la 16 et la 13, tu n'as pas de possibilité pour la 4 à la 6, cela dépasse ton max
sauf si tu joues sur du temps d'arrosage ou du débit max mais là il faut en dire plus

sinon la méthode manuelle : classer les parcelles par débit.
toutes celles qui dépassent la moitié du débit max sont des têtes de série (comme au tennis), et après on comble ou on ajoute des séries.

je ne peux rien dire de plus sans précision sur tes tolérances
Merci beaucoup pour ta réponse !

Comme expliquer pour ODVJ l'objectif serait de pouvoir appliquer la formule aux grandes exploits.

Oui ben c'est exactement ça j'ai du augmenter le débit à 11,2 m3/h (max que j'ai pu trouver) en le faisant manuellement :)

Merci encore !
 

ODVJ

XLDnaute Impliqué
Bonjour,

Je ne sais pas si c'est intéressant de passer de 11,2 à 11,157 en débit de pompe, mais voilà une solution à 11,157 :

1028513


cordialement
 

ODVJ

XLDnaute Impliqué
Je fais ça sur solveurs (OpenSolver et glpk).
Le premier est de prise en main immédiate. C'est comme le solveur d'excel.
Le second requiert plus de savoir faire dans l'écriture du modèle. C'est simplement une syntaxe à connaître car le modèle est le même pour chaque solveur.

Pour obtenir le résultat, j'ai tâtonné, en partant de 11,2.

Quand il y a une solution, la réponse est immédiate jusqu'à 11,16 pour glpk.
Opensolver est plus lent. 5 à 10 secondes.
Mais le résultat à 11,157 apparaît dès les tests à 11,19.

Quand le solveur commence à chercher trop longtemps, c'est qu'on a atteint le résultat de débit de la pompe.

Les tâtonnements peuvent évidemment s'automatiser.

Peut-être y a-t-il aussi un autre modèle plus direct, dont la cible serait le débit de la pompe ...... S'il y a des amateurs.

Cordialement
 
Dernière édition:

ODVJ

XLDnaute Impliqué
Tu as téléchargé OpenSolver?
Tu coches ensuite la case du complément OpenSolver dans Excel et tu verras apparaître dans l’onglet Données plusieurs icônes ont model et solve.
Tu modélises comme avec le solveur d’excel.
Je t’envoie le classeur dès que je me retrouve devant mon pc
 

RSDL

XLDnaute Nouveau
Oui, oui, mais OpenSolver comme le solveur d'excel accepte une seule valeur comme valeur objectif. Comment faire quand l'objectif est une matrice ?

Voilà comment je comprends le problème :

- Mes valeurs objectifs représentent les 1 en rouge dans ton tableau (B4:K25)
- Mes variables correspondent aux débits parcelles (B4:B25)
- Mes contraintes sont :
- 1er, le débit source (B1)
- 2ième, le nombre de tour d'eau max (B3:K3)
 

Statistiques des forums

Discussions
311 711
Messages
2 081 794
Membres
101 817
dernier inscrit
carvajal