EP1515252B1

Method and computer system for reducing runtimes in material requirements planning

Abstract

This record has no abstract on file.

EP1515252B1, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Expired 9 September 2023, 3 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

13 claims: 13 independent, 0 dependent

  1. 1
    A computer implemented method for material requirements planning comprising the steps of:loading a plurality (200) of bills of materials into a data structure (300);analysing parent-child relationships (310) between components of the plurality of bills of materials in the data structure (300), wherein the parent-child relationships in the data structure define planning levels for the components;characterised in that the method comprises the further steps of a material requirements planning engine (100) setting for each component in the data structure (300) a counter value (CV) that indicates the number of parent components for each component;the material requirements planning engine (100) decrementing the counter value (CV) of a specific child component (A2) when the planning of a parent component (F1, F2) of the specific child component (A2) is completed;the material requirements planning engine (100) proceeding with the planning of the specific child component (A2) if the associated counter value (CV) indicates that the planning of all parent components (F1, F2) of the specific child component (A2) is completed, wherein the parent components (F1, F2) have planning levels that are superordinate to the planning level of the specific child component (A2), and proceeding in parallel with the planning of further components at planning levels superordinate to the planning level of the child component (A2). Computerimplementiertes Verfahren für die Materialbedarfsplanung, mit den folgenden Schritten: Laden mehrerer (200) Auftragsstücklisten in eine Datenstruktur (300);Analysieren von Haupt-/Unterkomponenten-Beziehungen (310) zwischen Komponenten der mehreren Auftragsstucklisten in der Datenstruktur (300), wobei die Haupt-/Unterkomponenten-Beziehungen in der Datenstruktur Planungsebenen für die Komponenten definieren;dadurch gekennzeichnet, daß das verfahren ferner die folgenden Schritte umfaßt: eine Materialbedarfsplanungs-Engine (100) setzt für jede Komponente in der Datenstrukur einen Zählerwert (CV), der die Anzahl der Hauptkomponenten für jede Komponente angibt;die Materialbedarfsplanungs-Engine (100) dekrementiert den Zählerwert (CV) einer spezifischen Unterkomponente (A2), wenn das Planen einer Hauptkomponente (F1, F2) der spezifischen Unterkomponente (A2) abgeschlossen ist;die Materialbedarfsplanungs-Engine (100) setzt die Planung der spezifischen Unterkomponente (A2) fort, wenn der assoziierte Zählerwert (CV) angibt, daß das Planen aller Hauptkomponenten (F1, F2) der spezifischen Unterkomponente abgeschlossen ist, wobei die Hauptkomponenten (F1, F2) Planungsebenen aufweisen, die der Planungsebene der spezifischen Unterkomponente (A2) übergeordnet sind, und setzt parallel die Planung weiterer Komponenten auf der Planungsebene der Unterkomponente (A2) übergeordneten Planungsebenen fort. Procédé mis en oeuvre sur un ordinateur pour la planification des besoins en composants, comprenant les étapes de : chargement d'une pluralité (200) de nomenclatures dans une structure de données (300) ;analyse de relations parent-enfant (310) entre des composants de la pluralité de nomenclatures dans la structure de données (300), les relations parent-enfant dans la structure de données définissant des niveaux de planification pour les composants ;le procédé étant caractérisé en ce qu'il comprend les étapes supplémentaires de : un moteur de planification des besoins en composants (100) fixant pour chaque composant dans la structure de données (300) une valeur de compteur (CV) qui indique le nombre de composants parents pour chaque composant ;le moteur de planification des besoins en composants (100) décrémentant la valeur de compteur (CV) d'un composant enfant particulier (A2) lorsque la planification d'un composant parent (F1, F2) du composant enfant particulier (A2) est achevée ;le moteur de planification des besoins en composants (100) poursuivant la planification du composant enfant particulier (A2) si la valeur de compteur (CV) associée indique que la planification de tous les composants parents (F1, F2) du composant enfant particulier (A2) est achevée, les composants parents (F1, F2) possédant des niveaux de planification superordonnés au niveau de planification du composant enfant particulier (A2), et poursuite en parallèle de la planification d'autres composants à des niveaux de planification superordonnés au niveau de planification du composant enfant (A2).
  2. 2
    Procédé selon la revendication 1, dans lequel l'étape de fixation est réalisée pour chaque composant possédant un drapeau de planification. The method of claim 1, wherein the setting step is performed for each component having a planning flag. Verfahren nach Anspruch 1, wobei der Setzschritt für jede Komponente mit einem Planungsflag ausgeführt wird.
  3. 3
    Procédé selon la revendication 2, dans lequel l'étape de poursuite est réalisée si le composant enfant particulier possède un drapeau de planification. The method of claim 2, wherein the proceeding step is performed if the specific child component has a planning flag. Verfahren nach Anspruch 2, wobei der vorausgegangene Schritt ausgeführt wird, wenn die spezifische Unterkomponente ein Planungsflag aufweist.
  4. 4
    Procédé selon l'une quelconque des revendications précédentes, dans lequel, dans l'étape de poursuite, la planification d'autres composants au niveau de planification dudit au moins un composant enfant correspondant est inachevée. The method of anyone of the previous claims, wherein, in the proceeding step, the planning of further components at the planning level of at least one corresponding parent component is incomplete. Verfahren nach einem der vorhergehenden Ansprüche, wobei bei dem vorausgegangenen Schritt die Planung weiterer Komponenten auf der Planungsebene mindestens einer entsprechenden Hauptkomponente unvollständig ist.
  5. 5
    Procédé selon la revendication 4, dans lequel la planification du composant enfant particulier dans l'étape de poursuite est réalisée par un premier processus au niveau de planification subordonné et la planification d'autres composants à des niveaux de planification superordonnés est réalisée par au moins un deuxième processus. The method of claim 4, wherein planning of the specific child component in the proceeding step is performed by a first process at the subordinate planning level and the planning of further components at superordinate planning levels is performed by at least a second process. Verfahren nach Anspruch 4, wobei die Planung der spezifischen Unterkomponente in dem vorausgegangenen der vorausgegangene Schritt durch einen ersten Prozeß auf der untergeordneten Planungsebene ausgeführt wird und die Planung weiterer Komponenten auf übergeordneten Planungsebenen durch mindestens einen zweiten Prozeß parallel ausgeführt wird.
  6. 6
    Procédé selon l'une quelconque des revendications précédentes, dans lequel la structure de données est mise en oeuvre sous la forme d'une table non relationnelle en utilisant des pointeurs pour indiquer les relations parent-enfant (310) entre les composants. indiquer les relations parent-enfant (310) entre les composants. The method of any one of the previous claims, wherein the data structure is implemented as a non-relational table using pointers to reflect the parent-child relationships (310) between components. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenstruktur als eine nichtrelationale Tabelle unter Verwendung von Zeigern implementiert wird, die die Haupt-/Unterkomponenten-Beziehungen (310) zwischen Komponenten widerspiegeln.
  7. 7
    Procédé selon les revendications 5 ou 6, dans lequel la durée de planification pour chaque composant est stockée dans la structure de données (300). The method of claims 5 or 6, wherein the planning duration for each component is stored in the data structure 300. Verfahren nach den Ansprüchen 5 oder 6, wobei die Planungsdauer für jede Komponente in der Datenstruktur 300 gespeichert wird.
  8. 8
    Procédé selon la revendication 7, dans lequel la durée de planification pour chaque composant issu d'une exécution précédente du procédé est utilisée pour regrouper des composants en vue d'optimiser le traitement en parallèle. The method of claim 7, wherein the planning duration for each component from a previous execution of the method is used to bundle components into packages for optimised parallel processing. Verfahren nach Anspruch 7, wobei die Planungsdauer für jede Komponente von einer vorausgegangenen Ausführung des Verfahrens zum Bündeln von Komponenten zu Paketen zur optimierten parallelen Verarbeitung verwendet wird.
  9. 9
    A computer program product for material requirements planning comprising a plurality of instructions that when loaded into a memory of a computer system (900) cause at least one processor of the computer system (900) to execute the steps of any one of the claims 1 to 8. Computerprogrammprodukt zur Materialbedarfsplanung, umfassend mehrere Anweisungen, die beim Laden in einen Speicher eines Computersystems (900) bewirken, daß mindestens ein Prozessor des Computersystems (900) die Schritte des beliebigen einzelnen der Ansprüche 1 bis 8 ausführt. Produit programme informatique pour la planification des besoins en composants, comprenant une pluralité d'instructions qui, une fois chargées dans une mémoire d'un système informatique (900), amènent au moins un processeur du système informatique (900) à exécuter les étapes selon l'une quelconque des revendications 1 à 8.
  10. 10
    A computer system (900) for material requirements planning comprising:a first storage component (200) configured to store a plurality (200) of bills of materials;a second storage component (300) configured to load the plurality of bills of materials into a data structure;anda MRP engine (100) configured to: analyse parent-child relationships (310) between components of the plurality of bills of materials in the data structure (300), wherein the parent-child relationships in the data structure define planning levels for the components;characterized in that the MRP engine (100) is configured to set for each component in the data structure (300) a counter value (CV) that indicates the number of parent components for each component;decrement the counter value (CV) of a specific child component (A2) when the planning of a parent component (F1, F2) of the specific child component (A2) is completed;proceed with the planning of the specific child component (A2) if the associated counter value (CV) indicates that the planning of all parent components (F1, F2) of the specific child component is completed, wherein the parent components (F1, F2) have planning levels that are superordinate to the planning level of the specific child component (A2);and proceed in parallel with the planning of further components at planning levels superordinate to the planning level of the child component (A2). Computersystem (900) für die Materialbedarfsplanung, umfassend: eine erste Speicherkomponente (200), die so konfiguriert ist, daß sie mehrere (200) Auftragsstücklisten speichert;eine zweite Speicherkomponente (300), die so konfiguriert ist, daß sie die mehreren Auftragsstücklisten in einer Datenstruktur speichert;undeine MRP-Engine (100), die so konfiguriert ist, daß sie Haupt-/Unterkomponenten-Beziehungen (310) zwischen Komponenten der mehreren Auftragsstücklisten in der Datenstruktur analysiert, wobei die Haupt-/Unterkomponenten-Beziehungen in der Datenstruktur Planungsebenen für die Komponenten definieren;dadurch gekennzeichnet, dass die MRP-Engine (100) so konfiguriert ist, daß sie: für jede Komponente in der Datenstrukur einen Zählerwert (CV) setzt, der die Anzahl der Hauptkomponenten für jede Komponente angibt;den Zählerwert (CV) einer spezifischen Unterkomponente (A2) dekrementiert, wenn das Planen einer Hauptkomponente (F1, F2) der spezifischen Unterkomponente (A2) abgeschlossen ist;die Planung der spezifischen Unterkomponente (A2) fortsetzt, wenn der assozierte Zählerwert (CV) angibt, daß das Planen aller Hauptkomponenten (F1, F2) der spezifischen Unterkomponente abgeschlossen ist, wobei die Hauptkomponenten (F1, F2) Planungsebenen aufweisen, die der Planungsebene der spezifischen Unterkomponente (A2) übergeordnet sind;undparallel die Planung weiterer Komponenten auf der Planungsebene der Unterkomponente (A2) übergeordneten Planungsebenen fortsetzt. Système informatique (900) pour la planification des besoins en composants, comprenant : un premier composant de stockage (200) configuré pour stocker une pluralité (200) de nomenclatures ;un deuxième composant de stockage (300) configuré pour charger la pluralité de nomenclatures dans une structure de données ;etun moteur MRP (100) configuré pour : analyser des relations parent-enfant (310) entre des composants de la pluralité de nomenclatures dans la structure de données (300), les relations parent-enfant dans la structure de données définissant des niveaux de planification pour les composants :caractérisé en ce que le moteur MRP (100) est configuré pour : fixer, pour chaque composant dans la structure de données (300), une valeur de compteur (Cv) qui indique le nombre de composants parents pour chaque composant ;décrémenter la valeur de compteur (CV) d'un composant enfant particulier (A2) lorsque la planification d'un composant parent (F1, F2) du composant enfant particulier (A2) est achevée ;poursuivre la planification du composant enfant particulier (A2) si la valeur de compteur (CV) associée indique que la planification de tous les composants parents (F1, F2) du composant enfant particulier est achevée, les composants parents (F1, F2) possédant des niveaux de planification superordonnés au niveau de planification du composant enfant particulier (A2) ;etpoursuivre en parallèle la planification d'autres composants à des niveaux de planification superordonnés au niveau de planification du composant enfant (A2).
  11. 11
    Computersystem nach Anspruch 10, wobei die MRP-Engine (100) so konfiguriert ist, daß sie den Zählerwert setzt, falls die entsprechende Komponente ein Planungsflag aufweist. Système informatique selon la revendication 10, dans lequel le moteur MRP (100) est configurée pour fixer la valeur de compteur au cas où le composant correspondant possède un drapeau de planification. The computer system of claim 10, wherein the MRP engine (100) is configured to set the counter value in case the corresponding component has a planning flag.
  12. 12
    Computersystem nach Anspruch 10 oder 11, wobei die MRP-Engine (100) so konfiguriert ist, daß sie die Planung der spezifischen Unterkomponente (A2) fortsetzt, falls die spezifische Unterkomponente ein Planungsflag aufweist. Système informatique selon la revendication 10 ou 11, dans lequel le moteur MRP (100) est configuré pour poursuivre la planification du composant enfant particulier (A2) au cas où le composant enfant correspondant possède un drapeau de planification. The computer system of claim 10 or 11, wherein the MRP engine (100) is configured to proceed with the planning of the specific child component (A2) in case the specific child component has a planning flag.
  13. 13
    Computersystem nach einem der Ansprüche 10 bis 12, wobei die Datenstruktur in der zweiten Speicherungskomponente (300) als eine nichtrelationale Tabelle unter Verwendung von Zeigern implementiert wird, um die Haupt-/Unterkomponenten-Beziehung (310) zwischen Komponenten widerzuspiegeln. Système informatique selon l'une quelconque des revendications 10 à 12, dans lequel la structure de données dans le deuxième composant de stockage (300) est mise en oeuvre sous la forme d'une table non relationnelle en utilisant des pointeurs pour indiquer les relations parent-enfant (310) entre des composants. The computer system of any one of the claims 10 to 12, wherein the data structure in the second storage component (300) is implemented as a non-relational table using pointers to reflect the parent-child relationships (310) between components.
Independent claims13