Gestion des stocks stochastiques

  • Published on
    05-Jan-2017

  • View
    217

  • Download
    4

Embed Size (px)

Transcript

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    1

    Master MIMSE - Anne 2

    Optimisation Stochastique

    Gestion des stocks stochastique

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    2

    Incertitudes dans le modle

    Le modle de base : contraintes de satisfaction des demandes

    Tx h

    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.

    La matrice T est parfois appele matrice de technologie.

    Par analogie avec la gestion des stocks, modles plus ou moinscycliques,

    mais incertitudes sur :

    le taux de demande,

    le taux de production : pannes de machine (donc retardsdans la production), productivit, dfauts des matires pre-mires, produits fabriqus dfectueux,

    les fournisseurs (retards de livraison, indisponibilits, d-fauts)

    les modles parfaitement cycliques et les raisonnements asso-cis (raisonner par quantits ou par priodes, cest quivalent)ne sont plus valables.

    Rsultat : possibilit dune pnurie.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    3

    Consquences dune pnurie

    Plusieurs cas se prsentent. Une pnurie peut entraner :

    la perte dune vente,

    la perte dun client (donc de ventes futures), atteinte limage de marque,

    un retard de livraison : produit pris sur les fabrications/livraisonsfutures (back-order ),

    des cots pour se fournir ou fabriquer en urgence,

    le blocage dun atelier (ligne de production).

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    4

    Cots dune pnurie

    Les cots peuvent donc tre :

    fixes, indpendamment du nombre dobjets en rupture oude la dure de la rupture de stocks,

    proportionnels aux ventes perdues, indpendamment de ladure,

    proportionnels aux quantits et aux dures : pnalits deretard, astreintes...

    Ces cots sont difficiles valuer,

    moins quils ne rsultent dune ngociation fournisseur/client.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    5

    Niveau de service

    La qualit de service se mesure galement de plusieurs faons(types) :

    1. le nombre de priodes de pnuries, indpendamment des quan-tits et des dures,

    2. le nombre ditems en rupture, de demandes non remplies, in-dpendamment de la dure,

    3. le retard moyen des demandes insatisfaites.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    6

    Types dinventaire

    En pratique, deux types dtat des stocks :

    Inventaire continu : stock connu tout instant

    lourd mettre en place pour de grandes quantits et de unegrande varit darticles,

    parfois imprcis,

    ou au contraire indment trop prcis.

    On peut mettre en place des stocks dalerte pour lancer unecommande

    Pnurie entre la date de la commande et la livraison

    Inventaire priodique (toutes les semaines, tous les mois...)

    Plus lger

    De toute faon imprcis

    Risque de pnurie mme avant la commande, entre deuxinventaires.

    Passer commande avant le seuil dalerte

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    7

    Quatre techniques pour sen sortir...

    Gonfler les demandes, sous-estimer les capacits de livrai-son,

    Utiliser des stocks de scurit : commander alors que le stockrestant est plus que suffisant pour couvrir une demande moyennejusqu la livraison.

    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).

    Rsoudre un problme stochastique (cf. contrainte de hasard)

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    8

    Modle du marchand de journaux -1-

    Modle une seule priode :

    tout est remis zro la fin des journes,

    les sur-stocks ne se transmettent pas la priode suivante,

    les ruptures ne sont pas combles par les commandes fu-tures.

    On note :

    Cots dachat (par le marchand de journaux) :cA,

    Prix de vente :cV ,

    Prix de reprise dinvendus :cI .

    Demande : D v.a. de fonction de densit f(x) et demoyenne E[D] connues.

    On cherche valuer la quantit Q commander.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    9

    Marchand de journaux -2-Calcul du bnfice

    Bnfice dune commande de Q journaux :

    C(Q) = cAQ+ cV min{Q, D}+ cI max{QD, 0}

    Si Q D on peut rcrire :

    C(Q) = cAQ+cV Q = (cV cA)(QD)+(cV cA)D

    Sinon Q D on peut rcrire :

    C(Q) = cAQ + cV D + cI(Q D)

    = (cI cA)(D Q) + (cV cA)D.

    Bref, en notant cO = cA cI et cU = cV cA on a :

    C(Q) = cO max{QD, 0}+cU max{DQ, 0}+cUD.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    10

    Marchand de journaux -3-Calcul de lesprance

    On prend lesprance (loi des grands nombres : sur un grandnombre de jours, le comportement en moyenne tend vers lesprance).

    Partie constante : cUE[D] nglige par la suite (nintervientpas pour loptimisation).

    Il reste :

    E[C(Q)] = cOE[max{Q D, 0}] + cUE[max{D Q, 0}]

    = cO Q

    0 (Q x)f(x)dx + cU +

    Q (x Q)f(x)dx

    = cOQ Q

    0 f(x)dx cO Q

    0 xf(x)dx

    +cU +

    Q xf(x)dx cUQ +

    Q f(x)dx.

    En drivant par rapport Q :

    dE[C(Q)]/dQ = cO Q

    0 f(x)dx cU +

    Q f(x)dx

    = cOF (Q) cU(1 F (Q))

    Drive = 0 do F (Q) = cU/(cO + cU).

    Pour F inversible, Q = F 1(cU/(cO + cU)).

    cOPr[D Q] = cUPr[D Q

    ].

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    11

    Marchand de journaux -4-Variantes

    Invendus perdus : faire cI = 0 donc cO = cA.

    Demandes discrtes :

    Trouver Q1 et Q2 conscutives telles que

    F (Q1) cU/(cO + cU) F (Q2),

    Prendre la plus haute : Q = Q2.

    Stock initial : u > 0.

    Il suffit de commander Q u.

    On interprte Q comme un niveau cible.

    A la limite u > 0 on ne commande rien.

    Pertinent dans le cas ditems non prissables.

    Nombre infini de priodes :

    Si les invendus se reportent sur les priodes suivantes,

    et les ruptures sont fournies (avec retard) grce aux com-mandes suivantes,

    sur un nombre infini de priodes, en moyenne, les quan-tits commandes sont gales aux demandes.

    On calcule limn+1nC(n priodes ) et on annule la

    drive.

    On trouve F (Q) = p/(p+h) avec p cot des ruptures(par item non disponible) et h cot de stockage.

    Ventes perdues : F (Q) = (p+Sc)/(p+h+Sc)avec S prix de vente et c cot variable.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    12

    Systme politique de recommande fixe (s,Q)

    On suppose que la politique de contrle des stocks est un in-ventaire continu,

    ltat des stocks est connu chaque instant.

    la demande est alatoire, stationnaire

    Politique de recommande fixe (s,Q) :

    On lance une commande si le niveau de stock observ atteintun niveau minimum

    s = niveau-seuil, seuil dalerte, point de recommande,

    la quantit commande est fixe, note Q.

    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.

    Ici, Q et s sont les deux variables de dcision (indpendantes).

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    13

    Notations

    Demande :

    la demande est une variable alatoire et stationnaire :

    lesprance de la demande sur un intervalle de temps delongueur l est constante et proportionnelle l,

    de taux D.

    La variable alatoire importante considrer est X la de-mande pendant le dlai de livraison L, considr fixe !

    X est une v.a. avec :

    E[X] = X = DL et 2X = 2DL,

    fonction de densit f(x),

    fonction de rpartition F (x),

    fonction de perte L(x) = +

    x (t x)f(t)dt.

    Cots :

    K cot fixe par commande,

    h = I.c cot de stockage par item, par an,

    c cot variable la commande,

    p pnalit de rupture de stock.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    14

    Analyse de la politique (s,Q)

    Longueur moyenne dune priode :

    Une priode (cycle) est la dure entre deux livraisons dequantit Q.

    Donc en moyenne T = Q/D.

    Stock de scurit :

    Le niveau de stock est au plus bas juste avant une livraison.

    Ce niveau minimum moyen est appel stock de scurit(Safety Stock).

    SS = E[s X] = s DL.

    Niveau de stock moyen :

    Ce niveau moyen varie linairement entre SS et SS + Q

    donc :I+ = SS + Q/2.

    Pnurie moyenne :

    Si pendant un cycle la demande X est suprieure s, ona une rupture.

    La rupture moyenne sur un cycle est donc

    I = E[max{X s, 0}] =

    +

    s

    (x s)f(x)dx

    I = L(s)

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    15

    Politique (s,Q) optimale :

    Cot moyen par unit de temps :

    C(s, Q) =K

    T+ cD + hI+ +

    p

    TI

    En ngligeant cD (constant) on rcrit :

    C(s, Q) = KD

    Q+ h(s DL +

    Q

    2) + p

    D

    QI(s)

    Les drives donnent :

    C

    Q=

    KD

    Q2+

    h

    2

    pD

    Q2I(s)

    C

    s= h +

    pD

    Q

    dI(s)

    ds

    avec dI(s)ds

    = Pr[X > s].

    Fonction convexe sous des conditions simples, donc annulerle gradient.

    On trouve alors :

    Q =

    2D(K + pI(s))

    h

    avec s vrifiant

    Pr[X > s] =hQ

    pD.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    16

    Remarques sur les conditions optimales

    Daprs la formule

    Q =

    2D(K + pI(s))

    h

    on a pIs qui apparat comme un cot fixe supplmentaire.

    A part a, formule EOQ.

    Lautre condition

    Pr[X > s] =hQ

    pD

    peut se rcrire

    p

    T Pr[rupture de stock] = h.

    A loptimum, le bnfice moyen dajouter une unit au stockde scurit est gal ce cot.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    17

    Calcul de (s, Q)

    Solution exacte

    Rsoudre un systme non linaire deux inconnues.

    Q =

    2D(K + pI(s))

    h

    et s vrifiant

    Pr[X > s] =hQ

    pD.

    Ne peut se faire si on na pas dcriture analytique pourL(s) et F (s).

    Mme encore si on en a une...

    Bon courage !

    Une solution approche

    On ignore la possibilit dune rupture de stock,

    on calcule alors Q selon lEOQ

    Q =

    2KD

    h

    puis s tel que :

    Pr[X > s] =hQ

    pD.

    OK si I(s) est bas.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    18

    Solution algorithmique

    1. On pose Q0 = EOQ

    2. Itration i

    (a) Calculer si partir de Qi :

    si = F1(1

    hQ

    pD)

    (b) Calculer Qi+1 partir de si :

    Qi+1 =

    2D(K + pI(si))

    h

    (c) Si |Qi+1 Qi| > reboucler.

    Convergence rapide.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    19

    Niveau de service et politique (s,Q)

    Niveau de Type 1 :

    Le pourcentage moyen de cycles avec une pnurie est suprieur %.

    Loi des grands nombres : sur beaucoup de cycles, le nombremoyen de cycles avec pnurie est gal la probabilit davoirune pnurie sur un cycle.

    Pr[X > s] 1

    Imposer un niveau de service de Type 1 de niveau dterminecompltement le s choisir !

    En effet F (s) = ,

    On peut prendre alors Q = EOQ (solution courammentadopte)

    La pnalit par rupture est obtenue par

    p =Q

    D(1 )

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    20

    Niveau de service et politique (s,Q)

    Niveau de Type 2 :

    La proportion des demandes satisfaites est suprieure %.

    La proportion des demandes insatisfaites sur un cycle doit tresuprieure (1 )% (en moyenne).

    I(s)/Q = (1 ).

    Equation faisant intervenir Q et s, donc

    Imposer un niveau de service de Type 2 de niveau ne suffitplus dterminer s !

    Comme

    p =hQ

    Pr[X > s]D,

    on rcrit

    Q =

    2D(K + hQPr[X>s]D

    I(s))

    h

    do

    Q =I(s)

    Pr[X > s]+

    2KD

    h+

    (

    I(s)

    Pr[X > s]

    )2

    .

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    21

    Politiques dinventaire priodique

    Le niveau dinventaire est connu (mesur) des moments fixsdans le temps.

    Utile quand les cots dun inventaire continu sont trop levs,

    ou pour des raisons dorganisation de lentreprise ou lies des priodicits de commande, fabrication...

    Priodicit fixe ou un paramtre optimiser.

    Le niveau moyen de stock est suprieur au cas dinventairecontinu,

    car plus longue priode o la rupture peut arriver

    remplacer L par T + L (T temps entre deux inventaires).

    quand L > T , considrer les commandes en cours :position dinventaire= en-stocks - back-orders + comman-des en cours.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    22

    Deux politiques courantes

    Politique (s, S, T )

    On mesure toutes les T units de temps,

    si la fin dune priode le niveau de stock passe en-dessousde s on place une commande

    pour atteindre un niveau de stock de S (niveau cible).

    Commander par quantit fixe peut causer des instabilitsdans le systme.

    Politique (S, T )

    On commande la fin de chaque priode de temps,

    jusquau niveau cible

    Simple implmenter, valable quand les cots de com-mande sont faibles par rapport aux cots dinventaire.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    23

    Politique (S, T ) avec ventes perdues

    Un seul produit,

    L est fixe,

    Cot fixe K incluant les cots dinventaire,

    Pnalit par article en rupture p

    Taux moyen de demande D,

    X v.a. de la demande pendant T + L, avec

    f.d. : f(x),

    E[X] = D(T + L),

    2X = 2D(T + L)

    Quantit moyenne commander Q = TD,

    Pnurie moyenne I(S, T ) = +

    S (x S)f(x)dx

    Stock de scurit moyen : SS = S E[X] + I(S, T )

    Niveau dinventaire moyen : I+ = SS + Q2

    .

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    24

    Politique (S, T ) optimale

    Cot moyen par unit de temps :

    C(S, T ) =K

    T+hS hD(L+

    T

    2)+(h+

    p

    T)I(S, T ).

    Si T est fixe (impose par lenvironnement),

    dC

    dS= h + (h +

    p

    T)dI

    dS

    do loptimum

    Pr[X > S] =hT

    hT + p.

    Si T nest pas fixe,

    pas de solution analytique (drive en T qui coince...)

    Solution numrique :

    Prendre un T ,

    Calculer S(T ),

    Calculer (T ) = C(S(T ), T )

    Optimiser la fonction (T ) par des techniques approches.

    A T fixe

    Niveau de service de type 1 : Pr[X > S] = (1 ).

    Niveau de type 2 : I(S)/DT = (1 )

    Fixer un niveau de service revient fixer S donc SS.

  • DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT --

    25

    Politique priodique (s, S, T )

    On cherche la politique qui minimise le cot total par unit detemps.

    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.

    Solution optimale rarement utilise en pratique.

    Solution approche courante :

    Calculer une politique optimale (s, Q) pour un inven-taire continu.

    On pose

    s = s, S = s + Q et T =Q

    D.

    Il existe aussi des modles multi-produits (si, Si, T ) o parex. les cots fixes sont partags...