Réservations d'hôtel probables

Sep 21 2020

Un hôtel dispose de 100 chambres et facturent leurs chambres à l'avance. Le nombre de réservations pour demain soir est noté$n$. Les chambres sont conservées jusqu'à 22 heures, mais si un client ne s'est pas présenté à 22 heures, la réservation est annulée et l'hôtel conserve les frais de réservation. L'expérience passée de l'hôtel a appris que la probabilité qu'un client réservé se présente réellement avant 22 heures est$p = 19/20$, et que les clients de l'hôtel se présentent (ou non) indépendamment les uns des autres. Laisser$X$ désigne le nombre de clients réservés qui se présentent avant 22 heures.

Supposons que l'hôtel gagne 50 dollars de profit pour chaque client et non-présentation, mais qu'il doive payer une compensation de 60 dollars à chaque client qui ne peut pas rester en raison d'une surréservation. En supposant que la demande de chambres pré-réservées est illimitée, combien de chambres devraient être vendues pour maximiser le profit attendu?

Donc on a ça $P(X=k)={n \choose k}(p)^k\times(1-p)^{n-k}$. J'ai du mal à créer une fonction de profit. Ma première tentative a été$$v(X) = \begin{cases} 50n-60(X-100) & X > 100\\ 50n & X \leq 100 \end{cases}$$Cependant, pour maximiser les gains, il semble que l'hôtel aurait besoin d'une bonne compréhension de exactement qui se présentera, ce qui est aléatoire. Cette fonction ne semble pas non plus saisir la probabilité que les clients se présentent, ce qui devrait pondérer les choix que l'hôtel fera. Quel type de fonction de profit prendra en compte la probabilité que des invités se présentent?

Réponses

1 PedroSebe Sep 22 2020 at 10:50

Votre fonction de profit est correcte. Ce que vous voulez maximiser ici, c'est le profit attendu , c'est-à-dire:$$\mathbb E[v(X)]=\sum_{x=1}^n p(X=x)\cdot v(x)$$

Nous pouvons écrire un script R pour optimiser cette fonction:

# function to find expected profit if they book n rooms
expected_profit <- function(n){
  X = seq(0,n)
  prob = dbinom(X, size=n, prob=19/20)
  profit = ifelse(X>100, 50*n-60*(X-100), 50*n)
  return(sum(prob*profit))
}

# plotting that function
plot(
  seq(1,400),
  unlist(Map(expected_profit, seq(1,400))),
  type="l"
  )

# finding the maximum
which.max(unlist(Map(expected_profit, seq(1,400))))

Cela donne le résultat $n=108$. Autrement dit, ils optimisent leur profit moyen en réservant 108 chambres.

user295357 Sep 23 2020 at 03:18

Il est évident que le nombre optimal de réservations générant un profit maximum doit être supérieur au nombre de chambres disponibles (soit 100). Ainsi, il suffit de rechercher le numéro de réservation optimal avec$n > 100$.

$Average Profit(n)$

$= 50n - 60\sum_{k=101}^n (k-100){n \choose k}p^k\times(1-p)^{n-k}$.

Cela donne le numéro de réservation optimal 108 pour $p=0.95$, comme fourni ci-dessus par PedroSebe .