Revenir
Revenir

Problème de la surréservation - Grand Oral

Les compagnies aériennes vendent plus de billets qu’il n’y a de places dans les avions, car certains...

Sommaire

Activité CAPYTALE : le problème de la surréservationPrésentation du problèmeModélisation du problèmeRecherche d'un seuilBénéfice maximal

Activité CAPYTALE : le problème de la surréservation

Présentation du problème

Les compagnies aériennes vendent plus de billets qu’il n’y a de places dans les avions, car certains passagers ne se présentent pas à l’embarquement du vol sur lequel ils ont réservé. On appelle cette pratique lesurbooking.
Le risque existe toutefois pour cette pratique : si certains voyageurs ne peuvent pas embarquer faute de place, un dédommagement financier important sera à mettre en œuvre par la compagnie aérienne.
Dans cette activité, on se propose de jouer le rôle d'une de ces compagnies aériennes. Le but est de déterminer un nombre de billets à vendre afin de maximiser le profit à chaque vol.

Modélisation du problème

On suppose que l'on vend 
nnn
 billets pour un vol qui comporte un nombre de places strictement inférieur à 
nnn
. D'après les données des années précédentes, on remarque que seule une certaine proportion 
ppp
 des passagers ayant acheté leurs billets se présente en effet à l'embarquement. On suppose que les présences des différents passagers sont indépendants les unes des autres.
On note alors 
XXX
 le nombre de passagers présents lors de l'embarquement.
Question 1
Justifier que 
XXX
X suit une loi binomiale dont on précisera les paramètres.
Question 2
La fonction factorial du module math permet de calculer la factorielle d'un nombre entier donné en argument. Écrire une fonction binomiale qui prend en entrée trois nombres 
nnn
, 
ppp
 et 
kkk
 et qui renvoie la valeur de 
P(X=k)P(X=k)P(X=k)
 lorsque 
XXX
 suit une loi binomiale de paramètres 
nnn
 et 
ppp
.
from math import factorial
def binomiale(n, p, k):
    #Compléter ici
Question 3
Quelle est l'utilité de la fonction suivante ?
def binomiale_cumul(n, p, k):
    total = 0
    for i in range(0, k+1) :
        total = total + binomiale(n, p, i)
    return total
Question 4
Dans cette question, on suppose que
n=205n=205n=205
et
p=0,97p=0,97p=0,97
. À l'aide de la fonction précédente, calculer
P(X⩽200)P(X \leqslant 200)P(X⩽200)
et interpréter ce résultat dans le contexte de l'exercice.

Recherche d'un seuil

Dans toute cette partie, on considère un avion ayant une capacité totale de 200 places. On suppose que la probabilité qu'un passager ayant acheté son billet se rende à l'aéroport est de 0,95.
L'objectif est de déterminer le nombre maximal de billets 
nnn
 à vendre pour que la probabilité d'avoir plus de passagers présents à l'embarquement que de places dans l'avion soit inférieure ou égale à0,05.
Question 5 
On suppose dans cette question que 
n=205n = 205n=205
.
En moyenne, combien de passagers se présenteront à l'embarquement à chaque vol ?
Question 6
Compléter la fonction suivante puis déterminer le nombre maximal de billets que la compagnie peut vendre tout en limitant à 5 % le risque de devoir rembourser des passagers surnuméraires.
def seuil(p = 0.95):
    n = 200
    ... binomiale_cumul(n, p, ...) > ... :
        n = n + 1
    return ...

Bénéfice maximal

On souhaite déterminer le nombre de billets à vendre en prenant cette fois en compte le prix du billet et la valeur du dédommagement en cas de manque de place dans l'avion. On suppose dans cette partie que :
  • l'avion a une capacité de 200 places vendues au prix unitaire de 100 euros ;
  • la probabilité qu'un passager ayant acheté son billet se rende à l'embarquement est de 0,95 ;
  • chaque passager qui ne pourrait pas embarquer, faute de place, sera dédommagé de 2000 euros.
Question 7
On note 
nnn
 le nombre de billets vendus (on suppose bien évidemment que
n>200n > 200n>200
).
Justifier que la fonction suivante permet de calculer le bénéfice moyen d'un vol si l'on vend 
nnn
 billets.
def benefice_moyen(n, p = 0.95):
    total = 100 * n * binomiale_cumul(n, p, 200)
    for i in range(201, n+1):
        total = total + (100 * n - (n-200) * 2000) * binomiale(n, p, i)
    return total
Question 8
En utilisant cette fonction, déterminer le nombre de billets à vendre pour réaliser un bénéfice moyen maximal.