ANALYSE D`UN SYSTEME DE PILOTAGE MIXTE : PRODUCTION A
Transcription
ANALYSE D`UN SYSTEME DE PILOTAGE MIXTE : PRODUCTION A
3e Conférence Francophone de MOdélisation et SIMulation «Conception, Analyse et Gestion des Systèmes Industriels» MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) ANALYSE D’UN SYSTEME DE PILOTAGE MIXTE : PRODUCTION A LA COMMANDE – PRODUCTION PAR ANTICIPATION Khaled HADJ YOUSSEF*, Yves DALLERY*° * Laboratoire Productique-Logistique Ecole Centrale Paris. Grande Voie des Vignes 92 295 Châtenay-Malabry cedex, France. Mél : [email protected], [email protected] Christian VAN DELFT° ° Département MIL Groupe HEC. 78 351 Jouy-en-Josas cedex, France. Mél : [email protected] RESUME : Dans ce travail, on s’intéresse à l’optimisation des systèmes industriels assurant la production de deux catégories de produits : des produits à demandes élevées qui sont fabriqués par anticipation et des produits à demandes faibles (voire intermittentes) qui sont fabriqués à la commande. Deux politiques de pilotage de flux ont été considérées pour ces systèmes : la politique FIFO (First In First Out) où le premier produit qui est demandé sera le premier à occuper la machine, et ensuite la politique PP (Priorité avec Préemption) où on donne une priorité totale aux produits à demandes faibles sur les produits à demandes élevées. Contrairement à ce que pourrait laisser supposer l'intuition les résultats présentés dans ce papier montrent que le passage d'une politique FIFO vers une politique PP n’est pas toujours bénéfique. Cependant, on remarque bien que ce passage peut induire, dans plusieurs cas, un gain très important au niveau du coût total de production. MOTS-CLES : Production à la commande ; Production par anticipation ; Partage de capacité ; FIFO ; Priorité. 1. INTRODUCTION Afin de pouvoir répondre aux demandes des clients dans des délais courts, tout en minimisant le coût total de production, les gestionnaires d'entreprises industrielles se trouvent souvent obligés de répondre à trois questions clés : quel produit fabriquer ? quand le fabriquer ? et combien en fabriquer ? Pour résoudre ce problème, on adopte généralement une stratégie de production qui permet de déterminer les grandes lignes des décisions à prendre dans ce contexte. Parmi les stratégies généralement adoptées on cite : • Production par anticipation (Make to stock) qui consiste à constituer un stock de produits finis à partir duquel les commandes des clients sont directement servies. Cette approche engendre généralement un délai quasiment nul, un bon taux de service, un minimum de temps de réponse, mais elle provoque en contre partie des coûts de stockage importants. Traditionnellement, cette stratégie est recommandée pour la production en grande série des produits standards à forts volumes de demandes. • Production à la commande (Make to order) où on ne commence la fabrication qu'à la réception de la demande. Cette approche élimine les stocks de produits finis, par contre, elle augmente le temps de réponse de l’entreprise. Cette stratégie est recommandée pour les productions unitaires et de petites séries des produits très personnalisés et à demande intermittente. • Assemblage à la commande (Assemble to order) : cette stratégie est une combinaison des deux précédentes ; elle consiste à fabriquer les composants du produit par anticipation mais ne faire l’assemblage que sur commande, ce qui est très utile dans le cas des produits personnalisés et qui sont composés des pièces standards. Plusieurs travaux de recherche ont traité le problème de la sélection optimale de la stratégie de pilotage des flux et de la détermination des paramètres associés (comme les niveaux de stocks par exemple). D’autres travaux ont analysé en particulier la stratégie de l'assemblage à la commande, en étudiant le choix optimal de la frontière qui divise le système de production en deux sous systèmes l’un fonctionnant par anticipation et l’autre à la commande. Dans cet article, on s’intéresse à un autre type de problèmes qui tournent autour de la problématique de la combinaison des deux stratégies : fabrication à la commande et fabrication par anticipation. On considère ici un système industriel réalisant la production de deux catégories de produits: une famille de produits à demandes élevées qu’on note par HV (High Volume), pour lesquels on adopte généralement une stratégie de production par anticipation, et ensuite une catégorie de produits à demandes faibles, qu’on note par LV (Low Volume), pour lesquels on adoptera plutôt une fabrication à la commande. Il est clair ici qu’on aura un problème de partage de capacité de production, où on sera amené à définir l’ordre de passage des différents types de produit dans le système. La politique la plus naturelle, et la plus simple à gérer, est la priorité FIFO (First In First Out). Dans ce cas, la première commande arrivée est la première qui sera réalisée. MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) Une politique alternative consiste à donner une priorité totale aux produits LV sur les produits HV. Une telle stratégie permet de diminuer le temps de réponse de l’entreprise pour les produits LV. En contrepartie, elle va causer nécessairement l’augmentation du niveau de stock des produits de type HV. Dans quelle mesure une telle approche est-elle plus efficace que la simple politique FIFO ? Comment fixer les paramètres optimaux dans ces deux stratégies ? Telles sont les questions auxquelles on a essayé de répondre dans ce travail. 2. MODELISATION DU PROBLEME 2.1. Hypothèses • Le temps de production suit une loi exponentielle de taux µ quelle que soit la classe du produit. • Les stocks sont à capacités illimitées. • Pas de temps de changement de série, ni de phénomène de pannes. Deux autres hypothèses ont été posées, qui fixent le cadre des résultats obtenus : • On suppose que kLV>>kHV : c'est-à-dire que le nombre des LV est largement supérieur au nombre des HV ; la capacité de production étant toutefois également répartie entre les deux catégories de produits. Autrement dit, si on appelle ρHV le taux d’utilisation de la machine par les produits de type HV et ρLV le taux d’utilisation de la machine par les produits de type LV, on prend λi = ∑ i =1 µ k HV Afin de pouvoir étudier le problème, plusieurs simplifications et hypothèses ont été prises : • On s’intéresse à un système de production comportant un seul étage de fabrication (constitué d’une seule machine) piloté selon le principe Base Stock Control System (BSCS) dont le principe de fonctionnement est décrit par la figure suivante : l’hypothèse que ρHV = ρLV ⇔ ∑ En particulier, si toutes les demandes des produits de type HV ont le même taux d’arrivée λHV et que toutes les demandes des produits de type LV ont le même taux d’arrivée λLV on aura dans ce cas kHV.λHV = kLV.λLV. Or puisque kLV>>kHV on aura λLV<<λHV. B demande client λi i = k HV +1 µ k P Livraison du produit au client M D Figure1. Principe de fonctionnement d’un système BSCS mono-produit La file B contient les pièces brutes qui attendent de passer sur la machine M dès que cette dernière est disponible. La machine M contient les produits en cours de fabrication. La file P contient les produits finis. La file D contient les demandes clients. Initialement, P contient un stock initial de s pièces, B, M et D sont vides. L’arrivée d’une demande dans la file D engendre en même temps l’arrivée d’un ordre de fabrication qui se traduit par l’entrée d’une nouvelle pièce brute dans la file B. Si la demande arrive à D et trouve une pièce disponible dans P, on livre immédiatement cette pièce au client ceci se traduit par la diminution d’une pièce de la file P et en même temps la diminution d’une demande de la file D. Si la demande arrive à D et ne trouve aucune pièce disponible dans P, elle reste en attente jusqu'à ce qu’une pièce termine son traitement sur la machine. Pour plus de détails voir (Liberopoulos et Dallery, 2000) • on suppose avoir k classes de produits, tels que les premières classes (soit kHV classes) sont à demandes élevées, tandis que le reste, soit kLV = k - kHV classes, sont à demandes faibles. • Les demandes sont unitaires et arrivent suivant une loi de poisson de taux λi pour chaque classe i . On a pris cette hypothèse pour deux raisons, la première c’est qu’elle est très réaliste. En effet, on trouve généralement dans la plupart des petites et moyennes entreprises industrielles ces deux catégories des produits : la catégorie très demandée, qui représente l’activité de base de l’entreprise et qui est généralement produite par anticipation, et la deuxième catégorie qui comporte une large gamme de produits qui sont rarement demandés donc qui ne sont produits qu’à la commande. Ce qui explique bien le choix de kLV>>kHV et λHV>>λLV. La deuxième raison pour laquelle on a pris cette hypothèse c’est que si on s’intéresse à un système où ρHV est nettement différente de ρLV , le problème de partage de capacité n’aura plus cette grande importance vu qu’on se trouvera dans la situation où on travaille presque en totalité par anticipation ou dans le cas inverse en totalité à la commande ce qui se contredit avec la problématique initiale qu’on a posé. • La deuxième hypothèse concerne la définition de la règle de priorité des LV sur les HV ; on suppose que cette priorité est avec préemption. Dès qu’une demande d’un produit de type LV se présente, si le système est en cours de traitement d'un produit de type HV, cette production est interrompue, et la demande de type LV est traitée. Si on n’a plus de produit LV en attente, on re- - 618 - MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) k vient alors pour terminer le traitement des produits de type HV. De plus, la priorité entre les produits de même type est simplement FIFO. Min Z(s1,s2,…..,sk) = Ni : la variable aléatoire représentant le nombre de pièces de type i présentes dans le système (stock des pièces brutes et machine ) si : le stock nominal des produits finis de type i X i : la variable aléatoire représentant le nombre de pièces de type i présentes dans le stock des produits finis Yi : la variable aléatoire représentant le nombre de demandes de type i en attente Di : la variable aléatoire représentant le temps d’attente d’une demande de type i On définit aussi : hi : le coût unitaire ( par unité de produit par unité de temps) de stockage des produits de type i xi = E[ X i ] : le nombre moyen de pièces de type i i i =1 i (s1,s2,…..,sk) d i ≤ d ic . i = 1,2……k si ≥ 0, ∀i tq : 2.2. Notations Dans tout ce qui suit, on adoptera la notation suivante : µ : taux de service de la machine ρ : taux d’occupation de la machine k : le nombre de classes de produits, kHV : le nombre de classes de produits de type HV, kLV : le nombre de classes de produits de type LV, avec kHV + kLV = k Z : le coût total par unité de temps Pour chaque classe i, (i = 1,2…..k), on définit : λi : taux d’arrivée des demandes de type i ∑ h .x 3. PRINCIPE DE RESOLUTION Pour comparer les deux stratégies, il est nécessaire pour chaque cas d'optimiser les paramètres du problème associé et d'évaluer le coût total optimal correspondant. Par souci de clarté des diagrammes, on s’intéressera surtout à la différence des coûts engendrés par les deux politiques en étudiant le gain qu’on définit par : G% = Z FIFO − Z PRE *100 Z FIFO Où ZFIFO est le coût total optimal engendré si on emploie la politique FIFO et ZPRE est le coût total optimal engendré si on emploie la politique Priorité Préemptive. 3.1. Étude de la stratégie FIFO (Buzacott et Shanthikumar, 1993) ont traité le problème considéré ici dans le cas de la stratégie FIFO. Ils ont démontré en particulier qu’on peut décomposer la problématique multi-produits en plusieurs problématiques mono-produits indépendantes les unes des autres. Ce résultat conduit à la reformulation suivante : présentes dans le stock des produits finis y i = E[ Yi ] : le nombre moyen de demandes de type i en k Min Z(s1,s2,…..,sk) = attente i =1 d i = E[Di] : le temps moyen d’attente des demandes de valeur critique d ic . Formellement, ceci se traduit par: i (s1,s2,…..,sk) d i ≤ d ic . i = 1,2……k si ≥ 0, ∀i 2.3. Formulation (s1,s2,…..,sk) qui minimisent le coût de stockage des produits finis, sous la contrainte que pour chaque type i de demande, le temps moyen d’attente soit inférieur à une i tq : type i Deux types de formulations sont possibles. Le problème peut tout d'abord être formulé comme la minimisation de la somme du coût de stockage des produits et du coût d’attente des demandes qui ne sont pas satisfaites immédiatement. Une formulation alternative consiste à minimiser le coût de stockage, sous la contrainte de satisfaire un certain taux de service. Dans ce travail on va adopter le second type. Plus précisément, on s’intéressera à la détermination des stocks optimaux (s1* , s 2* ,...., s k* ) qui sont les valeurs respectives de ∑ h .x Min Zi (si) = hi .x i (si) d i ≤ d ic . si ≥ 0 tq : i = 1,2……k Chaque sous-problème possède alors une solution analytique. En particulier (Buzacott et Shanthikumar, 1993) ont obtenu l'expression des lois stationnaires des variables aléatoires Xi et Yi à partir de la loi stationnaire de Ni. On peut, à partir de cela, calculer l'expression analytique des valeurs de xi ( s i ) et de y i ( s i ) : - 618 - MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) xi = si − yi = où : ( ρˆ i s 1 − ρˆ i i 1 − ρˆ i ) y (s + a ) = [∇(− a ).Ps (X = 0etY = 0 )] + s +1 ρˆ i i 1 − ρˆ i ρ̂ i = µ − ∑λ j j ≠i ) ln λ .d c (1 − ρˆ ) i si* = MAX i i − 1,0 ln ρˆ i +∞ i = −∞ i =1 Où : ∇(x) = x si x > 0 = 0 si non λi Il est alors possible d'identifier pour chaque type de produit le stock optimal si* solution du problème. (Hadj youssef, 2000) a démontré que si* est donné par l’expression suivante : ( −1 ∑ ∇(i − a ).Ps (X = i ) + ∑ ∇(i − a ).Ps (Y = i ) On peut donc calculer le coût optimal pour chaque classe par l’expression : ρˆ i s* Zi(si*) = hi .x i = hi. s i* − 1 − ρˆ i i ˆ 1 − ρi Le coût total optimal associé à la politique FIFO est alors et Ps(X=0 et Y=0) =1- [Ps(X ≠ 0) + Ps(Y ≠ 0)] = Ps(X=0)+Ps(Y=0) - 1 En complément, d (s ) sera ensuite calculée directement 1 par la loi de Little : d ( s ) = y ( s ) . λ Cette propriété est très intéressante, car elle permet d’évaluer les paramètres optimaux si* à partir d'une seule simulation. Il nous suffit après de calculer le coût optimal pour chaque classe de produit par l’expression : Zi(si*) = hi .x i puis d’en déduire le coût total optimal engendré si on emploi la politique de la priorité, qui k n’est autre que : ZPRE = ∑ Z i ( si* ) . i =1 k donné par : ZFIFO = ∑ Z i ( si* ) . i =1 4. 4.1. Hypothèses 3.2. Étude de la stratégie Priorité avec préemption Dans le cas de la stratégie Priorité Préemptive, il n'existe aucune expression analytique pour le coût total optimal ZPRE. On a donc eu recours à une approche de simulation pour estimer les valeurs numériques de ce coût. Une propriété intéressante, liée à la structure du problème, rend l'approche d'optimisation via simulation très efficace. En effet, soient Ps ( X = i ) la probabilité d’avoir i pièces dans le stock de produits finis sachant qu’on a un stock nominal de s pièces et Ps (Y = i ) la probabilité d’avoir i demandes en attente sachant qu’on a un stock nominal de s pièces. (Hadj youssef, 2000) a montré qu’il suffit de connaître les distributions de probabilité stationnaires Ps ( X = i ) et Ps (Y = i ) ∀ i = 0, 1, 2…. , pour une valeur particulière du paramètre s, pour pouvoir évaluer les expressions x (s ) et y (s ) pour toutes les valeurs de ce paramètre. Il a montré en effet, que pour tout entier a (positif ou négatif) on a : x (s + a ) = [∇(a ).Ps (X = 0etY = 0 )] + −1 +∞ i =−∞ i =1 ∑ ∇(i + a ).Ps (Y = i ) + ∑ ∇(i + a ).Ps (X = i ) ETUDE NUMERIQUE Les développements théoriques présentés ci-dessus ont été illustrés sur un exemple numérique via une simulation à l’aide du logiciel Arena. Les données numériques de l'exemple sont les suivantes : kHV = 1, soit une classe unique de produits à demandes élevées. kLV = 10, soit 10 classes distinctes de produits à demandes faibles. Le taux de service de la machine est fixé à µ = 10. Le coût unitaire de stockage est de h=1 quelle que soit la classe du produit. Le taux d’utilisation de la machine ρ est fixé à 80%, avec une répartition de la charge égale entre les deux catégories des produits : les taux d'utilisation par les deux classes sont donc ρHV = ρLV = 0.4 On suppose, en plus, que toutes les demandes de type LV ont comme taux d’arrivée λi=0.4 , i =2,3...11. 4.2. Résultats numériques 4.2.1. La courbe de gain La figure suivante présente la courbe du gain G en fonction du délai critique d’attente dc, définissant la contrainte du modèle. On rappelle qu’un gain positif signifie que la politique de Priorité avec préemption est plus efficace, alors qu’un gain négatif signifie le contraire. - 618 - MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) 100 80 60 40 20 gain% 0 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 -20 -40 Figure 2. Courbe de gain -60 dc La figure fait bien apparaître, que pour ce cas précis, le gain est fortement positif dans certaines plages de valeurs du délai dc, mais négatif dans d'autres plages. La structure de la politique optimale n'est donc pas évidente. En particulier, il est faux de supposer que la stratégie de Priorité avec préemption surpasse toujours la simple stratégie FIFO. 25 20 15 S.HV_FIFO S.LV_FIFO S.HV_PRE S.LV_PRE 10 5 0 0 0,05 0,1 0,15 0,2 0,25 dc 0,3 Figure 3. Valeurs des stocks optimaux - 618 - 0,35 0,4 0,45 MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) 4.2.2. Les valeurs des stocks optimaux La figure ci-dessous présente, en fonction du délai dc, les valeurs de S.HV_FIFO, S.LV_FIFO, S.HV_PRE et S.LV_ PRE : les stocks optimaux des produits HV et LV suivant les deux politiques considérées ici. On observe ici que le stock optimal des produits à volume élevé est plus grand si on emploie la priorité préemptive que si on emploie la politique FIFO (S.HV_PRE > S.HV_FIFO). Ceci est bien expliqué par le fait qu’on leur a réservé moins de capacité en faisant la priorité. On remarque par contre que le stock optimal des produits à volume faible a baissé en faisant la priorité (S.LV_PRE ≤ S.LV_FIFO), ce qui est évidant du moment où on leur a donné une priorité totale. Si on observe ce qui se passe en un point particulier de la courbe, pour dc = 0.35 par exemple, on constate bien que l’emploi de la politique de la priorité au lieu de FIFO à engendré la diminution d’une pièce pour chaque classe de produits à volume faibles, étant donné qu’on a dix classes de ce type, on a pu en total diminuer les stocks initiaux de cette catégorie de dix pièces. On constate par contre que l’augmentation du stock de la classe des produits à volume élevé causé par l’emploi de cette politique, n’est que de trois pièces, ce qui explique le fait qu’on a un gain total positif pour dc=0.35 En suivant le même raisonnement pour le point dc = 0.12, on observe que l’emploi de la politique de la priorité n’a pas baissé le niveaux des stocks des produits à volumes faibles (SLV_FIFO = SLV_PRE) par contre, il a causé une augmentation du stock initial de la classe des produits à volume élevé, ceci engendre évidemment un gain total négatif. L'explication de cette situation est sans doute liée à l'aspect discret des valeurs possibles pour les niveaux de stock. On peut postuler que si les stocks pouvaient prendre des valeurs réelles, on trouverait SLV_FIFO > SLV_PRE pour toutes les valeurs de dc. 5. Il convient toutefois de signaler que de nombreuses hypothèses ont été posées. Tout d'abord, on n'a pas considéré de coût fixe au niveau des coûts de stocks. De tels coûts fixes favoriseraient la politique PP, en ce sens que cette politique permet d'éliminer complètement certains stocks de produits LV. De plus, on n'a pas introduit de coût de changement de série, ni de notion de délai client qui peuvent influencer la nature des résultats obtenus. De tels problèmes font l'objet de nouvelles recherches, en cours actuellement. REFERENCES Buzacott J.A. and J.G. Shanthikumar, 1993. Stochastic models of manufacturing systems, Prentice Hall. Hadj youssef K., 2000. Analyse d’un système de pilotage mixte. Mémoire de DEA, Laboratoire ProductiqueLogistique, Ecole Centrale Paris, France. Liberopoulos G. and Y. Dallery, 2000. A unified framework for pull control mecanisms in multi-stage manufacturing systems, Annals of Operations Research, Volume on Performance Evaluation Of Production Lines, 93, Pages 325-355. CONCLUSION Cette recherche étudie et compare les performances de deux politiques de gestion des flux (la politique FIFO et la politique de la priorité avec préemption ) dans un cadre multi-produit. Des résultats analytiques sont disponibles pour caractériser la politique FIFO, alors que les performances de la politique PP ont été estimées par simulation, aucune approche analytique n'étant disponible. Il a ainsi été possible de calculer les stocks optimaux (et les coûts totaux correspondants) pour ces deux politiques. Cette étude présente un exemple numérique évaluant le gain que peut apporter le passage d'une politique FIFO vers une politique PP. Les résultats obtenus dans ce cas précis, montrent que ce gain n’est pas toujours positif, contrairement à ce que pourrait laisser supposer l'intuition. Cependant, dans certaines plages de valeurs pour les données, on observe un gain très important au niveau du coût total (de l'ordre de 80%). - 618 -