Gestion des stocks stochastiques

  • Published on
    05-Jan-2017

  • View
    217

  • Download
    4

Embed Size (px)

Transcript

<ul><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>1</p><p>Master MIMSE - Anne 2</p><p>Optimisation Stochastique</p><p>Gestion des stocks stochastique</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>2</p><p>Incertitudes dans le modle</p><p> Le modle de base : contraintes de satisfaction des demandes</p><p>Tx h</p><p>avec T Tk x reprsentant la quantit de produit k ou de pro-duit la priode k pouvant tre fournie (par fabrication oucommande) et hk la demande correspondante.</p><p> La matrice T est parfois appele matrice de technologie.</p><p> Par analogie avec la gestion des stocks, modles plus ou moinscycliques,</p><p> mais incertitudes sur :</p><p> le taux de demande,</p><p> le taux de production : pannes de machine (donc retardsdans la production), productivit, dfauts des matires pre-mires, produits fabriqus dfectueux,</p><p> les fournisseurs (retards de livraison, indisponibilits, d-fauts)</p><p> les modles parfaitement cycliques et les raisonnements asso-cis (raisonner par quantits ou par priodes, cest quivalent)ne sont plus valables.</p><p> Rsultat : possibilit dune pnurie.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>3</p><p>Consquences dune pnurie</p><p> Plusieurs cas se prsentent. Une pnurie peut entraner :</p><p> la perte dune vente,</p><p> la perte dun client (donc de ventes futures), atteinte limage de marque,</p><p> un retard de livraison : produit pris sur les fabrications/livraisonsfutures (back-order ),</p><p> des cots pour se fournir ou fabriquer en urgence,</p><p> le blocage dun atelier (ligne de production).</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>4</p><p>Cots dune pnurie</p><p> Les cots peuvent donc tre :</p><p> fixes, indpendamment du nombre dobjets en rupture oude la dure de la rupture de stocks,</p><p> proportionnels aux ventes perdues, indpendamment de ladure,</p><p> proportionnels aux quantits et aux dures : pnalits deretard, astreintes...</p><p> Ces cots sont difficiles valuer,</p><p> moins quils ne rsultent dune ngociation fournisseur/client.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>5</p><p>Niveau de service</p><p>La qualit de service se mesure galement de plusieurs faons(types) :</p><p>1. le nombre de priodes de pnuries, indpendamment des quan-tits et des dures,</p><p>2. le nombre ditems en rupture, de demandes non remplies, in-dpendamment de la dure,</p><p>3. le retard moyen des demandes insatisfaites.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>6</p><p>Types dinventaire</p><p>En pratique, deux types dtat des stocks :</p><p> Inventaire continu : stock connu tout instant</p><p> lourd mettre en place pour de grandes quantits et de unegrande varit darticles,</p><p> parfois imprcis,</p><p> ou au contraire indment trop prcis.</p><p> On peut mettre en place des stocks dalerte pour lancer unecommande</p><p> Pnurie entre la date de la commande et la livraison</p><p> Inventaire priodique (toutes les semaines, tous les mois...)</p><p> Plus lger</p><p> De toute faon imprcis</p><p> Risque de pnurie mme avant la commande, entre deuxinventaires.</p><p> Passer commande avant le seuil dalerte</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>7</p><p>Quatre techniques pour sen sortir...</p><p> Gonfler les demandes, sous-estimer les capacits de livrai-son,</p><p> Utiliser des stocks de scurit : commander alors que le stockrestant est plus que suffisant pour couvrir une demande moyennejusqu la livraison.</p><p> Utiliser un dlai de livraison de scurit : on prvoit la dateo le stock deviendra critique, et on commande plus tt (siincertitude concerne plutt les dlais).</p><p> Rsoudre un problme stochastique (cf. contrainte de hasard)</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>8</p><p>Modle du marchand de journaux -1-</p><p> Modle une seule priode :</p><p> tout est remis zro la fin des journes,</p><p> les sur-stocks ne se transmettent pas la priode suivante,</p><p> les ruptures ne sont pas combles par les commandes fu-tures.</p><p> On note :</p><p> Cots dachat (par le marchand de journaux) :cA,</p><p> Prix de vente :cV ,</p><p> Prix de reprise dinvendus :cI .</p><p> Demande : D v.a. de fonction de densit f(x) et demoyenne E[D] connues.</p><p> On cherche valuer la quantit Q commander.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>9</p><p>Marchand de journaux -2-Calcul du bnfice</p><p> Bnfice dune commande de Q journaux :</p><p>C(Q) = cAQ+ cV min{Q, D}+ cI max{QD, 0}</p><p> Si Q D on peut rcrire :</p><p>C(Q) = cAQ+cV Q = (cV cA)(QD)+(cV cA)D</p><p> Sinon Q D on peut rcrire :</p><p>C(Q) = cAQ + cV D + cI(Q D)</p><p>= (cI cA)(D Q) + (cV cA)D.</p><p> Bref, en notant cO = cA cI et cU = cV cA on a :</p><p>C(Q) = cO max{QD, 0}+cU max{DQ, 0}+cUD.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>10</p><p>Marchand de journaux -3-Calcul de lesprance</p><p> On prend lesprance (loi des grands nombres : sur un grandnombre de jours, le comportement en moyenne tend vers lesprance).</p><p> Partie constante : cUE[D] nglige par la suite (nintervientpas pour loptimisation).</p><p> Il reste :</p><p>E[C(Q)] = cOE[max{Q D, 0}] + cUE[max{D Q, 0}]</p><p>= cO Q</p><p>0 (Q x)f(x)dx + cU +</p><p>Q (x Q)f(x)dx</p><p>= cOQ Q</p><p>0 f(x)dx cO Q</p><p>0 xf(x)dx</p><p>+cU +</p><p>Q xf(x)dx cUQ +</p><p>Q f(x)dx.</p><p> En drivant par rapport Q :</p><p>dE[C(Q)]/dQ = cO Q</p><p>0 f(x)dx cU +</p><p>Q f(x)dx</p><p>= cOF (Q) cU(1 F (Q))</p><p> Drive = 0 do F (Q) = cU/(cO + cU).</p><p> Pour F inversible, Q = F 1(cU/(cO + cU)).</p><p> cOPr[D Q] = cUPr[D Q</p><p>].</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>11</p><p>Marchand de journaux -4-Variantes</p><p> Invendus perdus : faire cI = 0 donc cO = cA.</p><p> Demandes discrtes :</p><p> Trouver Q1 et Q2 conscutives telles que</p><p>F (Q1) cU/(cO + cU) F (Q2),</p><p> Prendre la plus haute : Q = Q2.</p><p> Stock initial : u &gt; 0.</p><p> Il suffit de commander Q u.</p><p> On interprte Q comme un niveau cible.</p><p> A la limite u &gt; 0 on ne commande rien.</p><p> Pertinent dans le cas ditems non prissables.</p><p> Nombre infini de priodes :</p><p> Si les invendus se reportent sur les priodes suivantes,</p><p> et les ruptures sont fournies (avec retard) grce aux com-mandes suivantes,</p><p> sur un nombre infini de priodes, en moyenne, les quan-tits commandes sont gales aux demandes.</p><p> On calcule limn+1nC(n priodes ) et on annule la</p><p>drive.</p><p> On trouve F (Q) = p/(p+h) avec p cot des ruptures(par item non disponible) et h cot de stockage.</p><p> Ventes perdues : F (Q) = (p+Sc)/(p+h+Sc)avec S prix de vente et c cot variable.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>12</p><p>Systme politique de recommande fixe (s,Q)</p><p> On suppose que la politique de contrle des stocks est un in-ventaire continu,</p><p> ltat des stocks est connu chaque instant.</p><p> la demande est alatoire, stationnaire</p><p> Politique de recommande fixe (s,Q) :</p><p> On lance une commande si le niveau de stock observ atteintun niveau minimum</p><p> s = niveau-seuil, seuil dalerte, point de recommande,</p><p> la quantit commande est fixe, note Q.</p><p> Pour une demande dterministe fixe, dans le modle EOQ, iltait quivalent de commander un niveau-seuil quavec unepriodicit fixe, et pour un dlai de livraison fixe, s tait fixe.</p><p> Ici, Q et s sont les deux variables de dcision (indpendantes).</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>13</p><p>Notations</p><p> Demande :</p><p> la demande est une variable alatoire et stationnaire :</p><p> lesprance de la demande sur un intervalle de temps delongueur l est constante et proportionnelle l,</p><p> de taux D.</p><p> La variable alatoire importante considrer est X la de-mande pendant le dlai de livraison L, considr fixe !</p><p> X est une v.a. avec :</p><p> E[X] = X = DL et 2X = 2DL,</p><p> fonction de densit f(x),</p><p> fonction de rpartition F (x),</p><p> fonction de perte L(x) = +</p><p>x (t x)f(t)dt.</p><p> Cots :</p><p> K cot fixe par commande,</p><p> h = I.c cot de stockage par item, par an,</p><p> c cot variable la commande,</p><p> p pnalit de rupture de stock.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>14</p><p>Analyse de la politique (s,Q)</p><p> Longueur moyenne dune priode :</p><p> Une priode (cycle) est la dure entre deux livraisons dequantit Q.</p><p> Donc en moyenne T = Q/D.</p><p> Stock de scurit :</p><p> Le niveau de stock est au plus bas juste avant une livraison.</p><p> Ce niveau minimum moyen est appel stock de scurit(Safety Stock).</p><p>SS = E[s X] = s DL.</p><p> Niveau de stock moyen :</p><p> Ce niveau moyen varie linairement entre SS et SS + Q</p><p> donc :I+ = SS + Q/2.</p><p> Pnurie moyenne :</p><p> Si pendant un cycle la demande X est suprieure s, ona une rupture.</p><p> La rupture moyenne sur un cycle est donc</p><p>I = E[max{X s, 0}] =</p><p> +</p><p>s</p><p>(x s)f(x)dx</p><p>I = L(s)</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>15</p><p>Politique (s,Q) optimale :</p><p> Cot moyen par unit de temps :</p><p>C(s, Q) =K</p><p>T+ cD + hI+ +</p><p>p</p><p>TI</p><p> En ngligeant cD (constant) on rcrit :</p><p>C(s, Q) = KD</p><p>Q+ h(s DL +</p><p>Q</p><p>2) + p</p><p>D</p><p>QI(s)</p><p> Les drives donnent :</p><p>C</p><p>Q= </p><p>KD</p><p>Q2+</p><p>h</p><p>2</p><p>pD</p><p>Q2I(s)</p><p>C</p><p>s= h +</p><p>pD</p><p>Q</p><p>dI(s)</p><p>ds</p><p>avec dI(s)ds</p><p>= Pr[X &gt; s].</p><p> Fonction convexe sous des conditions simples, donc annulerle gradient.</p><p> On trouve alors :</p><p>Q =</p><p>2D(K + pI(s))</p><p>h</p><p>avec s vrifiant</p><p>Pr[X &gt; s] =hQ</p><p>pD.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>16</p><p>Remarques sur les conditions optimales</p><p> Daprs la formule</p><p>Q =</p><p>2D(K + pI(s))</p><p>h</p><p>on a pIs qui apparat comme un cot fixe supplmentaire.</p><p> A part a, formule EOQ.</p><p> Lautre condition</p><p>Pr[X &gt; s] =hQ</p><p>pD</p><p>peut se rcrire</p><p>p</p><p>T Pr[rupture de stock] = h.</p><p> A loptimum, le bnfice moyen dajouter une unit au stockde scurit est gal ce cot.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>17</p><p>Calcul de (s, Q)</p><p> Solution exacte</p><p> Rsoudre un systme non linaire deux inconnues.</p><p>Q =</p><p>2D(K + pI(s))</p><p>h</p><p>et s vrifiant</p><p>Pr[X &gt; s] =hQ</p><p>pD.</p><p> Ne peut se faire si on na pas dcriture analytique pourL(s) et F (s).</p><p> Mme encore si on en a une...</p><p> Bon courage !</p><p> Une solution approche</p><p> On ignore la possibilit dune rupture de stock,</p><p> on calcule alors Q selon lEOQ</p><p>Q =</p><p>2KD</p><p>h</p><p> puis s tel que :</p><p>Pr[X &gt; s] =hQ</p><p>pD.</p><p> OK si I(s) est bas.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>18</p><p>Solution algorithmique</p><p>1. On pose Q0 = EOQ</p><p>2. Itration i</p><p>(a) Calculer si partir de Qi :</p><p>si = F1(1 </p><p>hQ</p><p>pD)</p><p>(b) Calculer Qi+1 partir de si :</p><p>Qi+1 =</p><p>2D(K + pI(si))</p><p>h</p><p>(c) Si |Qi+1 Qi| &gt; reboucler.</p><p> Convergence rapide.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>19</p><p>Niveau de service et politique (s,Q)</p><p>Niveau de Type 1 :</p><p> Le pourcentage moyen de cycles avec une pnurie est suprieur %.</p><p> Loi des grands nombres : sur beaucoup de cycles, le nombremoyen de cycles avec pnurie est gal la probabilit davoirune pnurie sur un cycle.</p><p> Pr[X &gt; s] 1 </p><p> Imposer un niveau de service de Type 1 de niveau dterminecompltement le s choisir !</p><p> En effet F (s) = ,</p><p> On peut prendre alors Q = EOQ (solution courammentadopte)</p><p> La pnalit par rupture est obtenue par</p><p>p =Q</p><p>D(1 )</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>20</p><p>Niveau de service et politique (s,Q)</p><p>Niveau de Type 2 :</p><p> La proportion des demandes satisfaites est suprieure %.</p><p> La proportion des demandes insatisfaites sur un cycle doit tresuprieure (1 )% (en moyenne).</p><p> I(s)/Q = (1 ).</p><p> Equation faisant intervenir Q et s, donc</p><p> Imposer un niveau de service de Type 2 de niveau ne suffitplus dterminer s !</p><p> Comme</p><p>p =hQ</p><p>Pr[X &gt; s]D,</p><p> on rcrit</p><p>Q =</p><p>2D(K + hQPr[X&gt;s]D</p><p>I(s))</p><p>h</p><p> do</p><p>Q =I(s)</p><p>Pr[X &gt; s]+</p><p>2KD</p><p>h+</p><p>(</p><p>I(s)</p><p>Pr[X &gt; s]</p><p>)2</p><p>.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>21</p><p>Politiques dinventaire priodique</p><p> Le niveau dinventaire est connu (mesur) des moments fixsdans le temps.</p><p> Utile quand les cots dun inventaire continu sont trop levs,</p><p> ou pour des raisons dorganisation de lentreprise ou lies des priodicits de commande, fabrication...</p><p> Priodicit fixe ou un paramtre optimiser.</p><p> Le niveau moyen de stock est suprieur au cas dinventairecontinu,</p><p> car plus longue priode o la rupture peut arriver</p><p> remplacer L par T + L (T temps entre deux inventaires).</p><p> quand L &gt; T , considrer les commandes en cours :position dinventaire= en-stocks - back-orders + comman-des en cours.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>22</p><p>Deux politiques courantes</p><p> Politique (s, S, T )</p><p> On mesure toutes les T units de temps,</p><p> si la fin dune priode le niveau de stock passe en-dessousde s on place une commande</p><p> pour atteindre un niveau de stock de S (niveau cible).</p><p> Commander par quantit fixe peut causer des instabilitsdans le systme.</p><p> Politique (S, T )</p><p> On commande la fin de chaque priode de temps,</p><p> jusquau niveau cible</p><p> Simple implmenter, valable quand les cots de com-mande sont faibles par rapport aux cots dinventaire.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>23</p><p>Politique (S, T ) avec ventes perdues</p><p> Un seul produit,</p><p> L est fixe,</p><p> Cot fixe K incluant les cots dinventaire,</p><p> Pnalit par article en rupture p</p><p> Taux moyen de demande D,</p><p> X v.a. de la demande pendant T + L, avec</p><p> f.d. : f(x),</p><p> E[X] = D(T + L),</p><p> 2X = 2D(T + L)</p><p> Quantit moyenne commander Q = TD,</p><p> Pnurie moyenne I(S, T ) = +</p><p>S (x S)f(x)dx</p><p> Stock de scurit moyen : SS = S E[X] + I(S, T )</p><p> Niveau dinventaire moyen : I+ = SS + Q2</p><p>.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>24</p><p>Politique (S, T ) optimale</p><p> Cot moyen par unit de temps :</p><p>C(S, T ) =K</p><p>T+hS hD(L+</p><p>T</p><p>2)+(h+</p><p>p</p><p>T)I(S, T ).</p><p> Si T est fixe (impose par lenvironnement),</p><p>dC</p><p>dS= h + (h +</p><p>p</p><p>T)dI</p><p>dS</p><p> do loptimum</p><p>Pr[X &gt; S] =hT</p><p>hT + p.</p><p> Si T nest pas fixe,</p><p> pas de solution analytique (drive en T qui coince...)</p><p> Solution numrique :</p><p> Prendre un T ,</p><p> Calculer S(T ),</p><p> Calculer (T ) = C(S(T ), T )</p><p> Optimiser la fonction (T ) par des techniques approches.</p><p> A T fixe</p><p> Niveau de service de type 1 : Pr[X &gt; S] = (1 ).</p><p> Niveau de type 2 : I(S)/DT = (1 )</p><p> Fixer un niveau de service revient fixer S donc SS.</p></li><li><p>DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -- </p><p>25</p><p>Politique priodique (s, S, T )</p><p> On cherche la politique qui minimise le cot total par unit detemps.</p><p> Le calcul du cot moyen est trs complexe : utilisation de lathorie des chanes de Markov pour calculer le cot moyenpar cycle entre deux commandes conscutives, diviser par lalongueur moyenne dun cycle.</p><p> Solution optimale rarement utilise en pratique.</p><p> Solution approche courante :</p><p> Calculer une politique optimale (s, Q) pour un inven-taire continu.</p><p> On pose</p><p>s = s, S = s + Q et T =Q</p><p>D.</p><p> Il existe aussi des modles multi-produits (si, Si, T ) o parex. les cots fixes sont partags...</p></li></ul>