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
t−1+xF
t=xD
t+sF
t∀t∈ {1, . . . , T },(1)
sD
t−1+xD
t=dt+sD
t∀t∈ {1, . . . , T },(2)
xi
t≤yi
t
T
X
k=t
dk∀i∈ {D, F },∀t∈ {1, . . . , T }(3)
xF, xD∈RT
+, sF, sD∈RT+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
t−1xi
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 1≤i≤j≤T,α∈ {0, uD
i−1}et β∈ {0, uD
j}.
Les périodes iet jdéfinissent un bloc, noté [i, j]α
β, si sD
t−1=α, 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 j−1sont
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.