En partenariat avec
Annale

ESSEC 2015Maths appliquées

Connectez-vous pour consulter le corrigé.

Accès complet à tous les corrigés avec un abonnement.
Essai gratuit 48h — accès immédiat, sans CB.

ÉcoleESSEC
Année2015
OptionECE
Thème principalProbabilités
ChapitresCalcul matriciel, Suites, Fonctions, Calcul intégral, Intégrales impropres, Variables aléatoires discrètes, Vecteurs aléatoires discrets, Variables aléatoires à densité, Convergence et approximation, Informatique

C’est en 1913 que F.W.Harris, ingénieur chez Westinghouse, établit une première formule très simple liée à un problème de gestion de stocks. C’est l’un des premiers exemples d’intervention des mathématiques dans le management, de solution d’un problème de « recherche opérationnelle » dans une entreprise.

Aujourd’hui, les modèles mathématiques sont très sophistiqués et en s’appuyant sur la puissance de calcul des ordinateurs du vingt-et-unième siècle, on peut les utiliser pour optimiser, au sens que l’on souhaite, la gestion de stocks.

Partie I. Mise en place du problème

En début de période, le stock contient déjà une quantité initiale de produit \(q_i\) (éventuellement nulle). Le gestionnaire peut alors s’il le souhaite commander une quantité \(q_c\) de produit, une seule fois, en début de période. Il n’y a pas de réapprovisionnement possible en cours de période.

La quantité totale \(q=q_i+q_c\) est disponible à la vente pour toute la période à venir.

On définit dans ce problème les constantes strictement positives :

  • prix de vente unitaire : \(v\)

    c’est le prix que rapporte chaque unité de produit vendue;

  • coût de stockage unitaire : \(k\)

    il s’applique à chaque unité de produit présente à un moment de la période dans le stock;

  • coût d’achat unitaire : \(c\)

    c’est le prix que coûte chaque unité de produit commandée en début de période;

  • coût fixe en cas d’achat : \(c_F\)

    ce coût forfaitaire s’applique uniquement s’il y a une commande passée en début de période.

Ces quatre constantes sont des réels strictement positifs, et on suppose de plus : \(v > k+c\).

On introduit enfin les variables aléatoires réelles suivantes :

  • \(D\), la demande, c’est la quantité de produit qui est demandée durant la période. Sa loi est supposée connue.

  • \(V\), la quantité de produit que l’on vend pendant la période.

  • \(B\), le bénéfice net sur l’ensemble de la période.

On admet que ces variables aléatoires sont toutes définies sur le même espace probabilisé \((\Omega,\mathcal{A},\mathbb{P})\).

  1. Pourquoi fait-on l’hypothèse \(v>k+c\) ?

Partie II. Optimisation du bénéfice moyen sur une période

A. Cas continu

Dans cette partie, on suppose que la variable aléatoire \(D\) représentant la demande admet une densité \(f\) qui est nulle sur \(]-\infty,0]\), et continue et strictement positive sur \(]0,+\infty[\).

On note \(R\) la fonction définie sur \([0,+\infty[\) par \(R(x)=\mathbb{P}(D>x)\).

Les quantités \(q_i\) et \(q_c\) sont des réels positifs ou nuls.

  1. Étude d’une fonction

    On définit la fonction \(\varphi\) sur \([0,+\infty[\) par : \[\varphi(x)=v\int_0^x R(t)\,dt- \left( k+c \right) x\]

    1. Montrer que \(R\) réalise une bijection de \([0,+\infty[\) sur \(]0,1]\).

      On pose dans la suite \(\displaystyle S=R^{-1} \! \left(\frac{k+c}{v} \right)\).

    2. Justifier l’existence et la dérivabilité de \(\varphi\) sur \([0,+\infty[\), et calculer sa dérivée sur cet intervalle.

    3. Déterminer les variations de \(\varphi\) sur \([0,+\infty[\).

    4. En déduire : pour tout réel \(x\) positif et différent de \(S\), \(\varphi(x)<\varphi(S)\).

  2. Calcul approché de \(S\) avec Python

    On suppose que l’on a défini une fonction d’en-tête def R(x) qui renvoie la valeur de \(R\) au point \(x\). Soit \(X\) une variable aléatoire qui suit la loi exponentielle de paramètre \(1\).

    1. Montrer que : \(\mathbb{P}\! \left(R(X)\leqslant\dfrac{k+c}v\right)= \mathrm{e}^{-S}\).

    2. Compléter le script Python qui suit, puis expliquer pourquoi il affiche une valeur approchée de \(S\) :

      import numpy as np
      import numpy.random as rd
      k=float(input('k='))
      c=float(input('c='))
      v=float(input('v='))
      compt=0
      for i in range(1000):
          Xrd.exponential(1)
          if ........ :
              compt=compt+1
      print('S=',-np.log(compt/1000))
  3. Espérance de vente

    La variable aléatoire \(V\) représente la quantité de produit vendue sur la période.

    On rappelle que \(q=q_i+q_c\) est la quantité de produit disponible à la vente.

    Le minimum de deux réels \(a\) et \(b\) est noté dans la suite \(\min(a,b)\).

    1. Justifier : \(V = \min(D,q)\).

    2. Soit \(g\) la fonction définie sur \(\mathbb{R}\) par \(g(x)=\min(x,q)\).

      1. Montrer que \(g\) est continue sur \(\mathbb{R}\).

      2. Établir la convergence de l’intégrale \(\displaystyle\int_0^q xf(x)\,\mathrm{d}x\).

      3. Montrer que \(V\) admet une espérance, et que l’on a : \[\mathbb{E}(V)=\int_0^q xf(x)\,\mathrm{d}x+qR(q)\]

      4. À l’aide d’une intégration par parties, établir ensuite : \[\mathbb{E}(V)=\int_0^qR(x)\,\mathrm{d}x\]

  4. Bénéfice espéré

    Le bénéfice net sur la période est la variable aléatoire \(B\). Ce bénéfice ne prend en compte que les dépenses et recettes de la période considérée. Par exemple, le coût d’achat du stock initial \(q_i\) n’est pas comptabilisé dans \(B\), mais le coût de stockage de \(q_i\) l’est.

    Les quantités autres que \(q_i\) et \(q_c\) sont considérées comme constantes, on propose par conséquent de noter \(\beta(q_i,q_c)=E(B)\) l’espérance de \(B\).

    1. Si on ne commande pas de produit (\(q_c=0\)), exprimer \(B\) en fonction de \(v,V,k\) et \(q_i\).

      En déduire : \(\displaystyle \beta(q_i,0)=\varphi(q_i)+cq_i\).

    2. Si on commande une quantité \(q_c\) strictement positive de produit, exprimer \(B\) en fonction de \(v,V,k,c_F,q_i,q_c\).

      En déduire : pour \(q_c>0\), \(\displaystyle \beta(q_i,q_c)=\varphi(q_c+q_i)+cq_i-c_F\).

  5. Optimisation

    On cherche à déterminer, en fonction d’une valeur donnée \(q_i\) du stock initial, quelle est la quantité de produit \(q_c\) à commander afin d’optimiser l’espérance de bénéfice.

    On reprend les notations de la question 2 : \(S\) est le réel strictement positif en lequel la fonction \(\varphi\) est maximale.

    1. On suppose \(q_i\geqslant S\).

      Montrer que pour tout \(q_c>0\), \(\beta(q_i,q_c)< \beta(q_i,0)\).

      En déduire que la meilleure stratégie est de ne pas acheter de produit.

    2. On suppose \(q_i < S\).

      1. Si on achète une quantité non nulle de produit, montrer que pour optimiser le bénéfice espéré on doit choisir \(q_c=S-q_i\).

        Autrement dit, on complète le stock à la quantité \(S\).

        On définit sur \([0,S[\) la fonction \(\psi\) par \(\psi(x)=\beta(x,S-x)-\beta(x,0)\).

      2. Établir que pour tout \(x\in[0,S[\) : \(\psi(x)=\varphi(S)-\varphi(x)-c_F\).

      3. En déduire que \(\psi\) est strictement décroissante sur \([0,S[\).

      4. Montrer que si \(c_F\geqslant \varphi(S)\), alors \(\psi\) est négative sur \([0,S[\).

        Quelle est la bonne stratégie dans ce cas ?

      5. Montrer que si \(c_F < \varphi(S)\), alors il existe un réel unique \(r\in \left]0,S\right[\) en lequel \(\psi\) s’annule en changeant de signe.

        En déduire que la bonne stratégie est de ne rien commander si \(q_i\geqslant r\) et de compléter le stock jusqu’à \(S\) si \(q_i<r\).

Conclusion de cette partie : on a mis en place une stratégie à deux seuils : \(r\) (seuil de renouvellement) et \(S\) (stock optimal). La stratégie consiste à ne rien commander si le stock initial est au moins égal à \(r\), et sinon à acheter la quantité qui complète le stock à la valeur \(S\).

B. Cas discret

Dans cette partie, on suppose que la variable aléatoire \(D\) qui représente la demande est à valeurs dans \(\mathbb{N}\).

Sa loi est définie par la donnée de la suite de nombres \((p_n)_{n\in\mathbb{N}}\) avec \(p_n=\mathbb{P}(D=n)\).

On suppose que pour tout entier naturel \(n\), \(p_n>0\).

On pose \(R_n=\mathbb{P}(D\geqslant n)\).

Les quantités \(q_i\), \(q_c\) sont maintenant des entiers naturels.

  1. On définit la suite \((\varphi_n)_{n\in\mathbb{N}}\) par \(\displaystyle \varphi_n=v\sum_{k=1}^{n}R_k- \left( k+c \right) n\) si \(n\geqslant 1\) et \(\varphi_0=0\).

    1. Donner une relation entre \(p_n\), \(R_n\) et \(R_{n+1}\) pour tout entier naturel \(n\).

    2. En déduire la monotonie de la suite \((R_n)_{n\in\mathbb{N}}\), et préciser \(R_0\) ainsi que \(\displaystyle \lim_{n\to +\infty}R_n\).

    3. Pour \(n\geqslant 1\), simplifier \(\varphi_{n}-\varphi_{n-1}\) et en déduire qu’il existe un entier naturel \(S\) tel que \(\varphi_S\) soit la valeur maximale de la suite \((\varphi_n)\).

  2. Calcul de \(S\) avec Python

    On suppose que l’on a défini une fonction d’entête def p(n) qui renvoie la valeur de \(p_n\).

    Compléter le script Python qui suit pour qu’il affiche \(\varphi_0,\ldots,\varphi_S\) puis la valeur de \(S\) :

    k=float(input('k='))
    c=float(input('c='))
    v=float(input('v='))
    n=0
    phi=0
    R=1-p(0)
    print(phi)
    while R>=.......... :
        n=n+1
        phi=phi+v*R-(k+c)
        print(phi)
        R=R- ..........
    print('S=',n)
  3. On rappelle que \(V=\min(D,q)\)\(q=q_i+q_c\).

    1. Montrer que \(V\) admet une espérance, donnée par : \(\displaystyle \mathbb{E}(V)=\sum_{n=0}^{q-1} np_n+qR_q\).

    2. Établir : \(\displaystyle \mathbb{E}(V)=\sum_{n=1}^{q}R_n\).

      On pourra utiliser la formule établie à la question 7.(a).

  4. On note, comme dans la partie A, \(\beta(q_i,q_c)\) l’espérance du bénéfice \(B\) en fonction de \(q_i\) et \(q_c\).

    1. Si \(q_c=0\), établir : \(\beta(q_i,0)=\varphi_{q_i}+cq_i\).

    2. Si \(q_c>0\), établir : \(\beta(q_i,q_c)=\varphi_{q_i+q_c}+cq_i-c_F\).

      Les formules obtenues étant très analogues à celles de la partie A, on peut établir (ce que l’on ne demande pas de faire) que la stratégie à deux seuils reste valable dans le cas discret, les seuils étant alors des entiers.

    3. En utilisant le script de la question 8 pour certaines valeurs de \(k,c\) et \(v\), on a obtenu les valeurs suivantes, arrondies à deux chiffres après la virgule, pour \(\varphi_0,...,\varphi_S\): \[0\quad 4\quad 7{,}9 \quad 11{,}94 \quad 15{,}77\quad 19{,}34\quad 22{,}40\quad 24{,}75\quad 26{,}16\quad 26{,}51\] et \(S=9\). Sachant que \(c_F=2{,}5\), déterminer à partir de quelle valeur de \(q_i\) il est préférable de ne pas commander dans ce cas particulier.

Partie III. Évolution du stock dans le temps

On cherche maintenant à modéliser l’évolution du stock sur plusieurs périodes, en se plaçant dans le cas discret. On introduit à cet effet une suite de variables aléatoires \((D_n)_{n\in\mathbb{N}^*}\) qui représentent les demandes aux périodes successives \(1,2,3,\ldots\) Ces variables sont supposées indépendantes et suivent toutes la même loi que la variable aléatoire \(D\) de la partie II.B. On reprend en particulier les notations \(p_k=\mathbb{P}(D_n=k)\) et \(R_k=\mathbb{P}(D_n\geqslant k)\), ainsi que l’hypothèse \(p_k>0\) pour tout \(k\in\mathbb{N}\).

Pour tout entier naturel non nul \(n\), on note \(X_n\) la variable aléatoire prenant comme valeur l’état du stock en fin de période \(n\) (il s’agit donc aussi du stock initial de la période \(n+1\)). On suppose qu’au début de la première période, le stock est vide, ce qui justifie la convention \(X_0=0\) (variable aléatoire certaine).

On adopte la stratégie à deux seuils \(r\) et \(S\) (entiers, vérifiant \(0<r<S\)) mise en place dans les parties précédentes, que l’on rappelle :

  • Si au début d’une période le stock est supérieur ou égal à \(r\), on ne commande rien.

  • Si le stock initial est inférieur strictement à \(r\), on le complète par une commande qui amène le stock à la valeur \(S\).

Pour tout \(i\) et \(j\) dans \(\left[\!\left[0,S\right]\!\right]\), en supposant que le stock initial d’une période donnée est égal à \(j\), on note \(m_{i,j}\) la probabilité pour que le stock à la fin de la période soit égal à \(i\).

On définit la matrice \(M=(m_{i,j})_{0\leqslant i,j\leqslant S}\). On notera que les lignes et les colonnes de \(M\) sont numérotées à partir de \(0\).

  1. Soit \(n\) un entier naturel.

    1. Justifier que la variable aléatoire \(X_n\) est à valeur dans l’intervalle d’entiers \(\left[\!\left[0,S\right]\!\right]\).

      Pour tout \(n\in\mathbb{N}\), on note alors \(U_n\) la matrice colonne \[U_n=\begin{pmatrix} \mathbb{P}(X_n=0)\\ \mathbb{P}(X_n=1)\\ \vdots\\ \mathbb{P}(X_n=S)\\ \end{pmatrix}\] qui représente la loi de \(X_n\).

    2. Justifier que pour tout \(i\in\left[\!\left[0,S\right]\!\right]\) : \(\displaystyle \mathbb{P}(X_{n+1}=i)=\sum_{j=0}^Sm_{i,j} \, \mathbb{P}(X_n=j)\).

      En déduire : \(U_{n+1}=MU_n\).

  2. Étude d’un cas particulier

    Dans cette question, on suppose que les constantes \(k,v,c,c_F\) sont telles que les seuils sont \(r=2\) et \(S=3\).

    1. Montrer que : \[M=\begin{pmatrix} R_3&R_3&R_2&R_3\\ p_2&p_2&p_1&p_2\\ p_1&p_1&p_0&p_1\\ p_0&p_0&0&p_0 \end{pmatrix}\]

      Pour tout entier naturel \(n\), on note \(a_n=\mathbb{P}(X_n=0)\), \(b_n=\mathbb{P}(X_n=1)\), \(c_n=\mathbb{P}(X_n=2)\) et \(d_n=\mathbb{P}(X_n=3)\), de sorte que \(U_n\) \(= \begin{pmatrix} a_n\\ b_n\\ c_n\\ d_n \end{pmatrix}\).

      1. Vérifier que pour tout entier naturel \(n\) : \(c_{n+1}= \left( p_0-p_1 \right) c_n+p_1\).

      2. En déduire une expression de \(c_n\) en fonction de \(p_0,p_1\) et \(n\).

      3. Montrer que la suite \((c_n)_{n\in\mathbb{N}}\) converge et déterminer sa limite, notée \(\gamma\), en fonction de \(p_0\) et \(p_1\).

    2. Montrer que les suites \((a_n)_{n\in\mathbb{N}}\), \((b_n)_{n\in\mathbb{N}}\) et \((d_n)_{n\in\mathbb{N}}\) convergent et déterminer leur limite en fonction de \(p_0\), \(p_1\), \(p_2\) et \(\gamma\).

    3. Conclure que la suite \((X_n)_{n\in\mathbb{N}}\) converge en loi.

  3. Existence et unicité d’une loi de probabilité invariante par \(M\)

    On reprend le cas général.

    1. Vérifier que tous les coefficients de la première ligne de \(M\) (c’est-à-dire \(m_{0,j}\), pour \(j\) dans \(\left[\!\left[0,S\right]\!\right]\)), sont strictement positifs.

      1. Montrer que pour tout \(j\in\left[\!\left[0,S\right]\!\right]\), \(\displaystyle\sum_{i=0}^{S}m_{i,j}=1\).

      2. Établir que \(1\) est une valeur propre de \({}^t\!M\) et préciser quel est un vecteur colonne propre associé à cette valeur propre.

      3. On rappelle le résultat du cours : toute matrice a le même rang que sa transposée.

        Montrer que \(1\) est valeur propre de \(M\).

    2. Soit \(U\) un vecteur colonne propre de \(M\) associé à la valeur propre \(1\).

      Montrer qu’il existe un réel \(\lambda\) tel que la matrice colonne \(V=\lambda U\), de coefficients \(v_0,\ldots,v_S\), vérifie \(MV=V\), \(\displaystyle\sum_{j=0}^S |v_j|=1\) et l’un au moins des coefficients de \(V\) est strictement positif.

    3. On suppose que \(V\) a aussi l’un au moins des ses coefficients qui est strictement négatif. Montrer que : \[\left|\displaystyle\sum_{j=0}^S m_{0,j}v_j\right|<\displaystyle\sum_{j=0}^S m_{0,j}|v_j|\ \] et et pour tout \(i\in\left[\!\left[1,S\right]\!\right]\) : \[\displaystyle\left|\sum_{j=0}^S m_{i,j}v_j\right|\leqslant \displaystyle\sum_{j=0}^S m_{i,j}|v_j|\] et en déduire une contradiction, puis que les coefficients de \(V\) sont tous positifs.

      (pour la première inégalité, on pourra poser \(\left|\displaystyle\sum_{j=0}^S m_{0,j}v_j\right|=\varepsilon\left(\displaystyle\sum_{j=0}^S m_{0,j}v_j\right)\)\(\varepsilon\in\{-1,1\}\).)

    4. On suppose qu’il existe un deuxième vecteur colonne \(W\), différent de \(V\), vérifiant les mêmes propriétés que \(V\).

      Montrer qu’il existe \(\alpha>0\), tel que \(\alpha \left( V-W \right)\) vérifie aussi les mêmes propriétés que \(V\). En déduire une contradiction. Que peut-on en déduire pour la dimension du sous espace propre de \(M\) associé à la valeur propre \(1\) ?

    5. On suppose que la suite \((X_n)_{n\in\mathbb{N}}\) converge en loi vers une certaine variable aléatoire \(X\).

      Montrer que \(X\) vérifie \(\begin{pmatrix} \mathbb{P}(X=0)\\ \mathbb{P}(X=1)\\ \vdots\\ \mathbb{P}(X=S)\\ \end{pmatrix}=V\).

Tu veux le corrigé détaillé ?

Le corrigé pas à pas, les aides et les explications sont disponibles dans la plateforme.

error: Ce contenu est protégé !