Bonjour,
Dans cette discussion précédente vous m'avez aidé à mettre au point un algorithme d'optimisation de l'occupation d'un local.
Je dis local car en guise de chambre d'hôtel il s'agit d'un gîte de vacances pour animaux, et c'est là que réside toute la finesse :
Les animaux vont vivre en salle commune, mais ils vont passer par un local d'acclimatation. Ce local, dénommé chambre dans la discussion précédente, va avoir une occupation a durée variable en fonction du caractère du pensionnaire. Cela peut varier de 1h a 6 jours, avec une moyenne de deux jours.
Par contre, une fois en salle commune, le nombre de pensionnaires simultanés ne peux pas excéder 20 individus.
Ce qui nous donne comme données de départ:
Séjour (Sx)
Salle d'acclimatation (SA)
S1 du 1 au 15 avec 2 jours en SA
S2 du 2 au 9 avec 4 jours en SA
S3 du 7 au 20 avec 1h en SA
Etc...
Le séjour en SA se fait toujours en début de séjour global (logique).
Je me retrouve confronté au problème suivant:
Les réservations se faisant à l'avance, et ne connaissant pas la durée réelle de l'acclimatation du pensionnaire, comment puis-je déterminer au mieux le nombre de SA libre a un moment donné ?
Si je considère systématiquement 1h, j'aurai rapidement un engorgement.
Si je considère 6 jours, j'aurai un taux d'inoccupation très élevé et je refuserai inutilement des séjours.
En me basant sur l'algorithme proposé par tbc92 , je me dis qu'il y a peut être moyen de partir de là pour avoir une occupation optimale des SA ?
Que pensez-vous de la proposition : durée en SA = arrondi supérieur de (numéro de chambre /2) en nombre de jours ?
Vu que l'algorithme va remplir les 1eres chambres d'abord, on suppose que le nombre de SA libre est proportionnel au nombre de chambres inoccupées.
Par contre, si il ne me reste que peu de chambres, il est fort probable que j'ai des pensionnaires ayant besoin d'une longue période d'acclimatation et, par la même occasion, peu de SA libres, justement.
Du coup, si le premier jour d'un séjour j'ai 1 ou 2 chambres occupées, je ne bloque sa SA que 2 jours
Par contre, si j'ai 12 chambres occupées je considère qu'il faudra 6 SA pour le nouveau pensionnaire.
La ou ça se complique encore un peu pour mes pauvres neurones, c'est que les SA ne sont utilisées qu'une partie du séjour des pensionnaires. Je pourrais donc très bien avoir une arrivée avec 19 résidents déjà présents mais qu'ils soient tous là depuis plus de 6 jours... Ou tous arrivés le matin.
Du coup, comment feriez-vous pour accepter le plus de pensionnaires possibles en évitant (absolument) un manque de SA ?
Partager