08-30-2017, 01:34 PM
(08-30-2017, 12:06 PM)ST001 Ha scritto: Provo a fare una tabella quando ho un attimo, ma ti assicuro che mi è capitato. ;)
Ci credo!
ma un tempo pensavo anchio così... poi ho parlato con Pink... che mi ha aperto gli occhi :idea:
Ho provato a fornirgli un controesempio, un caso in cui c'è disponibilità ma non è possibile
muovere le camere in modo tale da liberarne una continuamente. Nel farlo, mi sono reso
conto che invece è sempre possibile. Ed ho trovato anche l'algoritmo per farlo.
Si basa sullo swap, cioè sposto le prenotazioni della camera A nella camera B e viceversa
quelle della camera B nella camera A. (Posso farlo assumendo che A e B siano dello stesso
tipo e che le camere dello stesso tipo siano identiche).
Supponiamo che vogliamo liberare la camera X per il periodo d1,dn, assumendo che il tipo
camera di X abbia disponibilità >0 per ogni giorno tra d1 e dn.
(Ovviamente non si può cercare di liberare una camera X per un periodo d1, dn, quando nel
primo giorno d1 c'è già in X una prenotazione iniziata prima).
A partire dal primo giorno d1, se nella camera X il giorno non è libero allora trovo una
camera Y che ha d1 libero (se la disponibilità è>0 c'è sicuramente), faccio lo swap delle
prenotazioni con data arrivo >= di d1 della camera X con quelle della camera Y che ha
il giorno d1 libero, in questo modo nella camera X ho il giorno d1 libero. Poi vado avanti
nel giorno successivo d2 e ripeto la funzione (anche in d2 esiste almeno una camera libera)..
..ripeto fino a dn.
Se trovi un controesempio: si per favore, faccelo pervenire, grazie.