Microsoft 365 Trouver la meilleure combinaison possible

P24

XLDnaute Nouveau
Bonjour à tous,

Nouveau sur le forum et débutant... je vous expose ma problématique.

Dans le classeur joint, j'ai un tableau avec des dates qui correspondent à des périodes d'utilisations d'un matériel.
Mon objectif est de trouver la meilleure combinaison possible pour optimiser au maximum le nombre de matériel nécessaire.

Contrainte : il n'est pas possible d’avoir plus de 3ID par ligne optimisée.
Info : la lettre "R" ne doit pas faire partie de l'optimisation (seul les "1" sont à prendre en considération).

Avez-vous des pistes/solutions ?

P24
 

Pièces jointes

  • Exemple.xlsm
    136.7 KB · Affichages: 15

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour P24, et bienvenu sur XLD,
Pour moi c'est totalement abscons.
Que signifie :
Mon objectif est de trouver la meilleure combinaison possible pour optimiser au maximum le nombre de matériel nécessaire.
Pourriez vous donner un exemple d'attendu ?
Par ex le 07/05 242 ID sont utilisés, que doit on faire ?
Doit on regrouper les ID trois par trois s'ils ont le même planning ?
 
Dernière édition:

P24

XLDnaute Nouveau
Bonjour Sylvanu,

L'idée est de regrouper les lignes dans l'esprit d'un "tetris" comme par exemple ID0011 + ID0012 + ID0013.
En limitant à trois fusions de ligne maximum et en trouvant la meilleur solution possible pour diminuer au maximum le nombre de lignes finales.

P24
 

P24

XLDnaute Nouveau
Bonsoir,
Un essai en PJ avec ce que j'ai compris : je réunis les ID qui ont même planning, avec 3 ID max associés.
Pensez à valider les macros. La macro s'exécute par appui sur le bouton.
Re,
Je pense que mes explications ne sont pas claires et j'en suis désolé car je vous ai pris de votre temps...

Ce que je souhaite faire c'est remplir les périodes vides d'un ID par un ID qui peut combler ce vide. D'une autre manière c'est avoir un tableau avec un maximum de 1 sans chevauchement possible et un minimum de lignes d'ID avec pour contrainte pas plus de trois ID différents par ligne.

L'ID 1 est il compatible avec l'ID2, l'ID3, l'ID 4 etc... puis l'ID2 est il compatible avec l'ID1, l'ID3, l'ID 4 etc. et ains de suite pour trouver la meilleur combinaison totale possible.

P24
 

bsalv

XLDnaute Occasionnel
un fichier binaire "xlsb" est moins grand que le même fichier "xlsm" et on dit qu'il est plus performant ... . Donc je choisis toujours cette extension, mauvais habitude ???
 

Pièces jointes

  • P24.xlsb
    182.3 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour le forum,

Quelques réflexions en passant :

- nombre de 1 =NB.SI(E:AK;1) = 9824

- nombre de "R" =NB.SI(E:AK;"R") = 500

- contenu maximum d'une ligne =COLONNES(E:AK) =33

- nombre de lignes minimum =(9824+500)/33 = 312,848 = 313.

Pour se rapprocher de ce minimum il faut faire des tirages aléatoires des zones remplies.

A+
 

P24

XLDnaute Nouveau
un fichier binaire "xlsb" est moins grand que le même fichier "xlsm" et on dit qu'il est plus performant ... . Donc je choisis toujours cette extension, mauvais habitude ???
Merci pour les commentaires.
Par contre quand je modifie les données tester le fichier, je me rends compte qu'il n'est pas limité à 3 ID par ligne (dans mon nouveau test il y en à 4).
Dans le resultat, est il possible de les sortir sous un format type l'onglet synthèse avec une différenciation de couleur par exemple en fonction du nombre d'ID par ligne ?
 

P24

XLDnaute Nouveau
Bonjour le forum,

Quelques réflexions en passant :

- nombre de 1 =NB.SI(E:AK;1) = 9824

- nombre de "R" =NB.SI(E:AK;"R") = 500

- contenu maximum d'une ligne =COLONNES(E:AK) =33

- nombre de lignes minimum =(9824+500)/33 = 312,848 = 313.

Pour se rapprocher de ce minimum il faut faire des tirages aléatoires des zones remplies.

A+
Bonjour Job75, possibilité de me montrer un exemple ?
 

job75

XLDnaute Barbatruc
Il faut commencer par déblayer le terrain en faisant pour chaque ligne la somme des "1" et du "R".

Il y a 190 lignes dont la somme fait 33, on peut donc les ignorer.

Ensuite on peut grouper l'unique ligne de 30 avec l'unique ligne de 3.

Ensuite il y a 20 lignes de 28 à grouper avec 20 lignes de 4, c'est tout ce qu'on peut faire.

On élimine ainsi 211 lignes, les tirages aléatoires porteront sur les 268 lignes restantes de 27 à 4.
 

P24

XLDnaute Nouveau
Il faut commencer par déblayer le terrain en faisant pour chaque ligne la somme des "1" et du "R".

Il y a 190 lignes dont la somme fait 33, on peut donc les ignorer.

Ensuite on peut grouper l'unique ligne de 30 avec l'unique ligne de 3.

Ensuite il y a 20 lignes de 28 à grouper avec 20 lignes de 4, c'est tout ce qu'on peut faire.

On élimine ainsi 211 lignes, les tirages aléatoires porteront sur les 268 lignes restantes de 27 à 4.
Novice, je ne sais pas ce que c'est ni comment faire un tirage aléatoire. Possibilité de me montrer via mon fichier ?
 

Statistiques des forums

Discussions
315 096
Messages
2 116 172
Membres
112 676
dernier inscrit
little_b