Microsoft 365 Solver - meilleure solution problème type "tetris"

de_hanstrapp

XLDnaute Occasionnel
Bonjour le Forum,

Je me permets ce message car je n'arrive pas à trouver de solution efficace à mon problème.
En effet, j'ai un tableau de présences dans des hébergements pour plus de 300 personnes.
J'aimerai arriver à optimiser les résultats en essayant de regrouper au maximum les données pour avoir le moins besoin de chambres. Pour cela il faudrait voir si la personne 1 est compatible avec la personne 2 etc. et ainsi de suite...
Quelqu'un aurait une idée de comment résoudre cette "équation" ?

Merci par avance pour votre collaboration.

nsapg
 

Pièces jointes

  • Exemple.xlsx
    47.3 KB · Affichages: 13

de_hanstrapp

XLDnaute Occasionnel
Bonjour Eric,
Je vais essayer d'être plus précis...
Mon objectif est d'arriver à associer différentes personnes afin d'optimiser le planning et éviter les "trous" et essayer de trouver la meilleure solution pour utiliser un minimum de chambres au regard du planning global.
nsapg
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @nsapg,

Ce que te suggérait @eriiiic, c'est de nous expliquer le contexte du problème.

Tout ce qu'on voit, c'est un tableau de nombre, une ligne d'en-tête (on ne sais pas ce que c'est) et une colonne d'en-tête. On ne connait pas le nombre de chambre, leurs capacités, les compatibilités...

Il faut exposer le problème comme si l'interlocuteur n'y connaissait rien; ce qui est le cas.
 
Dernière édition:

eriiic

XLDnaute Barbatruc
C'est un peu restrictif, non ? N'y aurait-il pas d'autres solutions ???
Si bien sûr. Mais c'est beaucoup plus difficile, ils ne se laissent pas toujours faire :)
Par contre ça vaut 10 point !

Pour cela il faudrait voir si la personne 1 est compatible avec la personne 2 etc
Tout à fait.
Seulement nul tableau qui recense ces incompatibilités.
Nul tableau fournissant la taille des chambres.
Liste non exhaustive. Pense seulement que nous ne sommes pas devins...
Et mauvais lecteurs en plus. Je viens de voir que je répétais mapomme. Donc soit très clair et complet :)
eric
 

de_hanstrapp

XLDnaute Occasionnel
Bonjour Eriiic, Mapomme,
Bonjour le forum,

Alors je vais essayer d'être plus précis...
1. L’en-tête correspond à des jours calendaires
2. La colonne "A" correspond aux noms et prénoms des personnes
3. le chiffre "1" correspond au(x) jour(s) de présence(s) de chaque personne

Le but est d'arriver à trouver la meilleure solution possible pour réduire au maximum le nombre de chambres à trouver. Une personne = une chambre (pas possible de mettre deux personnes dans la même chambre sur la même période).

Ex : la personne n°10 pourrait être "compatible" avec la personne n°90 ou 91 mais est-ce la meilleure solution par rapport à l'ensemble des combinaisons possibles au regard du nombre de personnes mentionnées dans mon tableau et de leurs présences.
En rouge, les personnes qui viennent deux fois avec un "trou" de présence entre les deux dates.

Est-ce que ces informations vous permettent de mieux appréhender mon problème ?

Quoi qu'il en soit, désolé pour mon manque de clarté initial.

Bon dimanche de confinement à tous,

nsapg
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @nsapg ;)

Je savais bien que j'avais déjà travaillé sur un sujet de ce type. J'ai eu du mal à le retrouver.

Lire attentivement cette discussion de mai 2016 (suivre le lien) où, entre autres, j'ai soumis une solution:
...........................Optimiser planning de réservations de chambres (#22)

Peut-être faudra-t-il adapter votre fichier de départ (pour ma proposition de solution) ?
(Pour occuper mon confinement, je vais essayer d’adapter à votre cas ma solution de 2016)

D'autres solutions sont proposées par d'autres que moi. Surtout les essayer aussi...


:)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil
Juste pour le plaisir de croiser mapomme¸et comme jadis en chanson¸ Herbert à dit:
(Pour confiner mes occupations, je vais solutionner votre cas avec adaption et essayage (mais sans la cabine)
D'autres propositions sont solutionnées pour d'autres que moi. Sur tout (sauf sur route verglacée) les essayer aussi...
:)
;)
Je vous laisse tétriser à donf. Bonne fin de dimanche.
 

de_hanstrapp

XLDnaute Occasionnel
Re @nsapg :),

Une adaptation à votre cas. Moins simple que prévue à cause des client à plusieurs séjour sur la période.
Cliquer sur le bouton Hop!.
le code est dans module1.
Bonjour Mapomme,

Merci beaucoup pour votre travail... !
C'est tout a fait ce que je souhaitais réaliser.

J'ai une question technique : serait il par exemple possible de limiter l'accès à deux transferts par chambre ?
Par exemple : Client 1 - Client 2 - Client 3 ou alors Client 1 - Client 2 - Client 1 dans le cadre des clients à plusieurs séjours.
Est-ce envisageable dans le code vba ?

Bien cordialement,

Nsapg
 

de_hanstrapp

XLDnaute Occasionnel
Bonjour Mapomme,

Merci beaucoup pour votre travail... !
C'est tout a fait ce que je souhaitais réaliser.

J'ai une question technique : serait il par exemple possible de limiter l'accès à deux transferts par chambre ?
Par exemple : Client 1 - Client 2 - Client 3 ou alors Client 1 - Client 2 - Client 1 dans le cadre des clients à plusieurs séjours.
Est-ce envisageable dans le code vba ?

Bien cordialement,

Nsapg

Bonjour Mapomme,
J'ai essayé d'ajouter des lignes à mon tableau initial et je rencontre un message d'erreur :
1586248538616.png

1586248582938.png

Pouvez-vous m'aider svp à résoudre le problème ?
Merci par avance.
nsapg
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 844
dernier inscrit
atori2