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
billets pour un vol qui comporte un nombre de places strictement inférieur à
. D'après les données des années précédentes, on remarque que seule une certaine proportion
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
le nombre de passagers présents lors de l'embarquement.
Question 1
Justifier que
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
,
et
et qui renvoie la valeur de
lorsque
suit une loi binomiale de paramètres
et
.
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
et
. À l'aide de la fonction précédente, calculer
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
à 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
.
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
le nombre de billets vendus (on suppose bien évidemment que
).
Justifier que la fonction suivante permet de calculer le bénéfice moyen d'un vol si l'on vend
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.