Problèmes de lot-sizing à deux niveaux avec capacité de stockage

Problèmes de lot-sizing à deux niveaux avec capacité de
stockage limitée
Siao-Leu Phouratsamay, Safia Kedad-Sidhoum, Fanny Pascual
Sorbonne Universités, UPMC Univ Paris 06, CNRS, LIP6 UMR 7606, 4 place Jussieu 75005 Paris
{siao-leu.phouratsamay, safia.kedad-sidhoum, fanny.pascual}@lip6.fr
Mots-clés :Lot-sizing, programmation dynamique, analyse de complexité.
1 Introduction
Nous nous intéressons à l’étude des problèmes de lot-sizing à deux niveaux (2ULS 1) avec
une capacité de stockage limitée. Ce problème apparaît dans une chaîne logistique à deux
acteurs : un fournisseur et un distributeur. Le distributeur doit satisfaire une demande pour
un unique produit sur un horizon de temps discret de Tpériodes. Afin de satisfaire cette
demande, il détermine un plan d’approvisionnement auprès du fournisseur, i.e. il détermine à
quelle période produire et en quelle quantité produire. Le fournisseur détermine de son côté un
plan de production dans le but de satisfaire le plan d’approvisionnement du distributeur. À une
période t, chaque unité produite par le distributeur (resp. fournisseur) induit un coût unitaire
de production pD
t(resp. pF
t). La production d’une unité par le distributeur (resp. fournisseur)
à une période tinduit un coût fixe de lancement fD
t(resp. fF
t). Le stockage d’une unité de la
période tà la période t+ 1 par le distributeur (resp. fournisseur) induit un coût de stockage
hD
t(resp. hF
t). Le coût total pour chaque acteur est donné par le coût fixe de production, le
coût unitaire de production et le coût de stockage. Le problème 2ULS consiste à déterminer
un plan d’approvisionnement et un plan de production de manière à satisfaire la demande en
miminimant le coût de la chaîne logistique, i.e. le coût total des deux acteurs de la chaîne
logistique.
En pratique, la capacité de stockage du fournisseur et du distributeur peut être limitée.
Par exemple, certaines industries telles que les industries pharmaceutiques nécessitent des sites
de stockage avec des besoins complexes comme un contrôle de température ou des normes
de sécurité. Ces contraintes industrielles peuvent induire une capacité de stockage limitée [2].
Le problème de lot-sizing à un niveau avec capacité de stockage (ULS-IB 2) a été étudié par
de nombreux auteurs [1, 2, 3, 7, 5]. Le problème ULS-IB a été introduit par Love [5], qui a
proposé un algorithme de résolution en O(T3). Par la suite, Atamtürk et al. [2] ont proposé un
algorithme de meilleure complexité en O(T2)pour résoudre ce problème. Jaruphongsa et al.
[4] ont étudié le problème 2ULS avec une capacité de stockage limitée au niveau du fournisseur
et des fenêtres de temps. Ils proposent un algorithme de programmation dynamique en O(T3)
pour résoudre ce problème en considérant des coûts spécifiques.
Dans notre étude, nous nous intéressons à la résolution des problèmes 2ULS où la capacité de
stockage est limitée au niveau du fournisseur, au niveau du distributeur ou aux deux niveaux
de la chaîne logistique. Dans la section 2, nous proposons de résoudre le problème 2ULS avec
une capacité de stockage limitée au niveau du distributeur par un algorithme en O(T4). Dans
la section 3, nous montrons que le problème 2ULS avec une capacité de stockage limitée au
niveau du fournisseur est au contraire NP-difficile.
1. Two-level Uncapacitated Lot-Sizing problem
2. Uncapacitated Lot-Sizing problem with Inventory Bounds
Formulation mathématique du problème 2ULS
Nous noterons xD
t(resp. xF
t) la quantité d’unités produite à la période tpar le distributeur
(resp. fournisseur), sD
t(resp. sF
t) le niveau de stock du distributeur (resp. fournisseur) à la fin
de la période tet yD
t(resp. yF
t) la variable binaire associée au lancement d’une production à la
période tpar le distributeur (resp. fournisseur). Cette dernière vaut 1 s’il y a un lancement à la
période tau niveau du distributeur (resp. fournisseur) et 0 sinon. La formulation mathématique
du problème 2ULS est donnée par :
min X
i∈{D,F }
T
X
t=1
(fi
tyi
t+pi
txi
t+hi
tsi
t)
s.t. sF
t1+xF
t=xD
t+sF
tt∈ {1, . . . , T },(1)
sD
t1+xD
t=dt+sD
tt∈ {1, . . . , T },(2)
xi
tyi
t
T
X
k=t
dki∈ {D, F },t∈ {1, . . . , T }(3)
xF, xDRT
+, sF, sDRT+1
+, yF, yD∈ {0,1}T
Le problème 2ULS peut être résolu à partir d’un algorithme de programmation dynamique en
O(T2logT)[6]. Pour ce problème, il existe toujours une solution optimale vérifiant la propriété
ZIO (Zero Inventory Ordering) définie par : pour tout t∈ {1, . . . , T },pour tout i∈ {D, F },
si
t1xi
t= 0. En d’autres termes, à chaque période t, le fournisseur et le distributeur ne pro-
duisent que lorsque le niveau de stock est à zéro.
Dans le cas où la capacité de stockage est limitée, la quantité d’unités stockée par le dis-
tributeur (resp. fournisseur) à une période tne doit pas dépasser la capacité de stockage uD
t
(resp. uF
t). La propriété ZIO n’est alors plus valide, comme le montre cette instance : T= 2,
uD= [B, B],pF=hF=fD=hD= [0,0],fF= [0,1],pD= [0,1], d = [0, B + 1]. La meilleure
solution vérifiant la propriété ZIO est xF= [d2,0] et xD= [0, d2]. Le coût de cette solution
est B+ 1 alors que la solution optimale qui ne vérifie pas la propriété ZIO est donnée par
xF= [B+ 1,0] et xD= [B, 1] de coût égal à 1.
2 Capacité de stockage au niveau du distributeur
Dans cette section, nous étudions le problème 2ULS où le distributeur a une capacité de
stockage limitée uD. Ce problème sera noté 2ULS-IBD. Nous montrons que ce problème peut
être résolu en temps polynomial par un algorithme de programmation dynamique en O(T4).
La propriété ZIO est valide au niveau du fournisseur mais ne l’est plus au niveau du dis-
tributeur. Il est possible de caractériser une solution optimale pour le problème 2ULS-IBDen
utilisant une décomposition par blocs [2, 5].
Définition 1 Soit i, j deux périodes telles que 1ijT,α∈ {0, uD
i1}et β∈ {0, uD
j}.
Les périodes iet jdéfinissent un bloc, noté [i, j]α
β, si sD
t1=α, uD
j=βet 0< sD
t< uD
tpour
tout t∈ {i, . . . , j 1}.
En d’autres termes, le niveau de stock entrant et sortant d’un bloc [i, j]α
βest soit nul soit
saturé (égal à la capacité de stockage). Les niveaux de stock entre les périodes iet j1sont
strictement positifs mais ne saturent pas la capacité.
Les deux propositions suivantes ont permis de proposer un algorithme polynomial pour
résoudre le problème 2ULS-IBD.
Proposition 1 Il y a au plus une période de production dans un bloc [i, j]α
β.
Proposition 2 Il existe une solution optimale du problème 2ULS-IBDoù :
i) la propriété ZIO est observée pour tout tau niveau du fournisseur.
ii) le plan d’approvisionnement xDest décomposé en une succession de blocs.
L’idée de l’algorithme consiste à déterminer la manière optimale de décomposer le plan
d’approvisionnement en une succession de blocs afin de satisfaire la demande. Il faut éga-
lement déterminer la période d’approvisionnement optimale dans chaque bloc. De plus, la
propriété ZIO au niveau du fournisseur implique qu’une période de production peut permettre
de satisfaire plusieurs périodes d’approvisionnement. Il faut alors déterminer à quelle période
le fournisseur doit produire et combien de périodes d’approvisionnement seront couvertes par
cette production. L’algorithme proposé est de complexité O(T4).
3 Capacité de stockage au niveau du fournisseur
Nous étudions dans cette section le problème 2ULS où le fournisseur a une capacité de
stockage limitée uF. Ce problème sera noté 2ULS-IBF.
Théorème 1 Le problème 2ULS-IBFest NP-difficile.
Preuve :
Montrons que le problème 2ULS-IBFest NP-difficile par une réduction du problème subset-
sum. Le problème subset-sum est le suivant : étant donné un entier Set un ensemble S
de nentiers (a1, . . . , an), existe-t-il un sous-ensemble I ⊆ S tel que Pai∈I ai=S? Nous
transformons une instance de subset-sum en une instance du problème 2ULS-IBFde la manière
suivante :
-T= 2n+ 1. Nous noterons T1(resp. T2) l’ensemble des périodes impaires (resp. paires) dans
{1,...,2n},
-fF
t= 1 pour tout t∈ T1et fF
t= 2Spour tout t∈ T2∪ {T},
-fD
t= 2Spour tout t∈ T1∪ {T}et fD
t= 0 pour tout t∈ T2,
-pF
t= (adt
2e1)/adt
2epour tout t∈ T1∪ T2∪ {T},
-pD
t=hF
t=hD
t= 0 pour tout t∈ T1∪ T2∪ {T},
-uF
t=adt
2epour tout t∈ T1∪ T2,uF
T= 0.
Nous montrons alors pour cette instance qu’il existe une solution au problème 2ULS-IBFde
coût au plus Ssi et seulement si il existe une solution au problème subset-sum.
Supposons qu’il existe une solution SIà une instance Idu problème de subset sum, et
montrons qu’il existe une solution de coût au plus Sà l’instance correspondante de notre
problème. Cette solution est la suivante : si ai∈ SI, alors le fournisseur produit à la période
t= 2i1une quantité aid’unités. Ceci lui coûte fF
t+pF
t×ai= 1 + ((ai1)/ai)×ai=ai.
Le fournisseur stocke alors à un coût nul la quantité d’unités produite pendant une période
(ce qui est possible car égale à la limite de capacité entre tet t+ 1). Ensuite toutes les unités
sont envoyées au distributeur à un coût nul, et sont stockées à un coût nul chez le distributeur.
Cette solution est donc de coût Pai∈SIai=S.
De la même façon, nous montrons que s’il existe une solution de coût au plus S, alors il
existe une solution au problème subset-sum (notons que s’il existe une solution de coût au
plus Salors les unités sont nécessairement produites par le fournisseur aux périodes impaires,
et ensuite stockées pendant une période chez le fournisseur). La figure 1 représente l’instance
de notre problème correspondant à une instance de subset-sum avec n= 3 pour laquelle la
réponse est oui (a1+a3=S: pour notre problème les productions, de quantités a1et a3, ont
lieu aux périodes 1 et 5 chez le fournisseur).
Comme le problème 2ULS-IBFest NP-difficile, le problème 2ULS où la capacité de stockage
est limitée chez le fournisseur et le distributeur est également NP-difficile. Nous avons mis en
place un algorithme de programmation dynamique pseudo-polynomial pour le résoudre. Dans le
cas où la capacité de stockage est présente à chaque niveau, la propriété ZIO n’est valide à aucun
niveau. L’idée de l’algorithme consiste à évaluer à chaque période ttous les niveaux de stock
possibles du fournisseur et du distributeur limités par uD
tet uF
trespectivement. La complexité
de l’algorithme mis en place est en O(PT
t=1 uD
tuF
tPT
k=tMD
kMF
tk)MD
k= min(uD
k,PT
i=kdi)
et MF
tk = min(uF
t,PT
i=k+1 di).
fF12S12S12S2S
Fournisseur 1 2 3 4 5 6 7
fD2S02S02S02S
Distributeur 1 2 3 4 5 6 7
a10 0 0 a30 0
a1000a30
0a1000a30
0a1a1a1a1S
000000S
Production
Stockage
FIG. 1 – Illustration d’une solution du problème 2ULS-IBFdans la preuve du théorème 1 où n= 3,
S={a1, a2, a3}et a1+a3=S
4 Conclusion
Nous avons étudié différents problèmes de lot-sizing à deux niveaux avec capacité de stockage
limitée. Lorsque la contrainte de stockage concerne le distributeur, en nous appuyant sur une
caractérisation des solutions optimales, nous avons proposé un algorithme de programmation
dynamique en O(T4)résolvant ce problème. Quand la contrainte de stockage concerne le four-
nisseur, nous avons montré que le problème est NP-difficile. Nous avons également proposé un
algorithme pseudo-polynomial lorsque les deux acteurs ont une capacité de stockage limitée.
Il serait intéressant d’étudier le cas où la capacité de stockage au niveau du fournisseur
est constante. Par ailleurs, dans le cas où le fournisseur et le distributeur font partie d’une
même entreprise, il est possible que les acteurs partagent le même site de stockage. Nous
pouvons alors considérer une capacité de stockage limitée qui soit partagée, i.e. qu’à chaque
période, le niveau de stock du distributeur et celui du fournisseur ne doivent pas dépasser
cette capacité de stockage partagée. La complexité de ce problème n’a pas encore été étudiée.
Nous avons considéré des problèmes 2ULS comprenant un unique produit et un distributeur.
Il serait également intéressant d’étudier des problèmes 2ULS avec capacité de stockage limitée
comprenant plusieurs produits, plusieurs distributeurs ou plusieurs fournisseurs.
Remerciements Ce travail a été soutenu par le projet FUI RCSM "Risk, Credit Chain &
Supply Chain Management" financé par la région Ile-de-France.
Références
[1] Alper Atamtürk and Simge Küçükyavuz. Lot sizing with inventory bounds and fixed costs :
Polyhedral study and computation. Operations Research, 53(4) :711–730, 2005.
[2] Alper Atamtürk and Simge Küçükyavuz. An o(n2) algorithm for lot sizing with inventory bounds
and fixed costs. Oper. Res. Lett., 36(3) :297–299, May 2008.
[3] Hark-Chin Hwang and Wilco van den Heuvel. Improved algorithms for a lot-sizing problem with
inventory bounds and backlogging. Naval Research Logistics (NRL), 59(3-4) :244–253, 2012.
[4] Wikrom Jaruphongsa, Sila Çetinkaya, and Chung-Yee Lee. Warehouse space capacity and delivery
time window considerations in dynamic lot-sizing for a simple supply chain. International Journal
of Production Economics, 92(2) :169 – 180, 2004.
[5] Stephen F. Love. Bounded production and inventory models with piecewise concave costs. Mana-
gement Science, 20(3) :313–318, 1973.
[6] Rafael A. Melo and Laurence A. Wolsey. Uncapacitated two-level lot-sizing. Oper. Res. Lett.,
38(4) :241–245, July 2010.
[7] Eugeniusz Toczyłowski. An o(t2) algorithm for the lot-sizing problem with limited inventory
levels. In Emerging Technologies and Factory Automation, 1995. ETFA ’95, Proceedings., 1995
INRIA/IEEE Symposium on, volume 3, pages 77–85 vol.3, Oct 1995.
1 / 4 100%