DE102020204351A1 - Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen - Google Patents

Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen Download PDF

Info

Publication number
DE102020204351A1
DE102020204351A1 DE102020204351.5A DE102020204351A DE102020204351A1 DE 102020204351 A1 DE102020204351 A1 DE 102020204351A1 DE 102020204351 A DE102020204351 A DE 102020204351A DE 102020204351 A1 DE102020204351 A1 DE 102020204351A1
Authority
DE
Germany
Prior art keywords
machine
machines
orders
job
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020204351.5A
Other languages
English (en)
Inventor
Christian Daniel
Maksym Lefarov
Joel Oren
Zohar Feldman
Nima Manafzadeh Dizbin
Dotan di Castro
Felix Milo Richter
Ayal Taitler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020204351.5A priority Critical patent/DE102020204351A1/de
Priority to US17/179,702 priority patent/US20210312280A1/en
Priority to CN202110354635.1A priority patent/CN113496347A/zh
Publication of DE102020204351A1 publication Critical patent/DE102020204351A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32335Use of ann, neural network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Strategic Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Manufacturing & Machinery (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Automation & Control Theory (AREA)
  • Educational Administration (AREA)
  • Evolutionary Biology (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Verfahren zum Planen einer Menge von Aufträgen für eine Vielzahl von Maschinen, wobei jeder Auftrag durch mindestens ein Merkmal definiert ist, das eine Verarbeitungszeit des Auftrags kennzeichnet, wobei, wenn eine beliebige der Maschinen frei ist, ein Auftrag aus der Menge von Aufträgen zur Ausführung durch die Maschine und zum Einplanen für die Maschine ausgewählt wird, wobei der Auftrag wie folgt ausgewählt wird: ein Graph Neural Network erhält als Eingabe die Menge von Aufträgen und einen aktuellen Zustand von mindestens der Maschine, die frei ist, das Graph Neural Network gibt eine Belohnung für die Menge von Aufträgen aus, wenn sie auf den Maschinen gestartet werden, deren Zustände in das Graph Neuronal Network eingegeben werden, und der Auftrag für die freie Maschine wird abhängig von der Ausgabe des Graph Neural Network ausgewählt.

Description

  • Die Erfindung betrifft einen Auftragsplaner für Maschinen, insbesondere Produktionsmaschinen, zur sukzessiven Auswahl von Aufträgen über ein Graph Neural Network. Die Erfindung betrifft ferner ein Computerprogramm und ein maschinenlesbares Speichermedium sowie ein System, das zur Ausführung des Auftragsplaners ausgelegt ist.
  • Stand der Technik
  • Die Optimierung des Durchsatzes oder der Ressourcennutzung ist eine Herausforderung und birgt ein großes Potenzial für Kosteneinsparungen in Fertigungsbetrieben und ein großes Potenzial zur Steigerung der Produktivität.
  • Eine Herausforderung liegt in der kombinatorischen Natur des Problems. Es gibt viele mögliche Planungen, und das Problem, die beste Planung zu finden, ist oft NP-hart. Eine weitere Herausforderung ist seine Online- (oder dynamische) Natur. Zusätzliche Aufgaben treffen während der Ausführung der aktuellen Planung ein. Die Eigenschaften der eintreffenden Aufträge sind nicht mit Sicherheit bekannt, bevor sie eintreffen.
  • Mao et al. (https://arxiv.org/abs/1810.01963) verwendeten einen Algorithmus für bestärkendes Lernen REINFORCE mit „Graph Convolutional Embedding“ für die Auftragsplanung auf einem Cluster.
  • Vorteile der Erfindung
  • Die vorliegende Erfindung offenbart einen Auftragsplaner, der auf bestärkendem Lernen und vorzugsweise ferner auf globaler Suche basiert, genauer gesagt durch Kombinieren eines mit dem DQN-Algorithmus (Deep Q-Network) und mit MCTS (Monte-Carlo-Baum-Suche) trainierten Graph Convolutional Network.
  • Die Vorteile sind wie folgt: (1) Der Auftragsplaner weist eine gute Leistung auf, wenn die Planungsentscheidungen schnell getroffen werden müssen. In diesem Fall steht keine Zeit für Suche zur Verfügung, und es wird vorgeschlagen, eine Planung nur auf der Grundlage eines Wertnetzes des DQN zu erstellen. Experimente haben gezeigt, dass die mit dem Wertnetz (engl. value network) des DQN erstellten Planungen bereits Standardheuristiken zur Planung wie regelbasierte Planung, z. B. die Heuristik für gewichtete kürzeste Bearbeitungszeit, übertreffen. (2) Der Auftragsplaner kann eine beliebige verfügbare Zeit vollständig zur Deliberation nutzen. Wenn etwas Zeit zur Verfügung steht kann die Optimieren der Planung über MCTS erfolgen. Da MCTS ein Anytime-Algorithmus ist, kann er jederzeit angehalten werden und eine Ausgabeplanung erzeugen. Da die Ausgaben des Wertnetzes des DQN als Suchheuristik verwendet werden, ist die ausgegebene Planung mindestens so gut wie die Planung, die nur durch das Wertnetz erzeugt wird. Die Ausgabe verbessert sich kontinuierlich, je länger MCTS läuft. Wenn genügend Zeit zur Verfügung steht, kann MCTS bei der optimalen Planung ankommen. (3) Der Auftragsplaner kann Informationen darüber berücksichtigen, wie zusätzliche Aufgaben im Laufe der Zeit eintreffen.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt der Erfindung wird ein Verfahren zum Planen einer Vielzahl von Aufträgen offenbart. Vorzugsweise handelt es sich um ein computerimplementiertes Verfahren.
  • Eine Zuteilung und/oder Reihung von Arbeit an industrielle ausführende Einheiten als Maschinen, insbesondere innerhalb von Zeitfenstern, kann als Planung bezeichnet werden. Die Menge von Aufträgen enthält alle Aufträge, die ausgeführt werden müssen und die aktuell zur Ausführung anstehen. Ein Auftrag kann als eine Aufgabe verstanden werden, die von der Maschine ausgeführt werden muss. Die Vielzahl von Maschinen können identische oder ähnliche Maschinen sein und können parallel betrieben werden. Die Maschinen können sich alle in einer Fabrik befinden oder über mehrere Fabriken verteilt sein.
  • Jeder Auftrag wird durch mindestens ein erstes Merkmal definiert, das eine Bearbeitungszeit des Auftrags kennzeichnet. Die Bearbeitungszeit kann eine Zeitdauer sein, die eine Maschine zum Bearbeiten des entsprechenden Auftrags benötigt. Optional wird mit einem zweiten Merkmal eine Wichtigkeit des Auftrags gekennzeichnet.
  • Wenn eine beliebige der Maschinen frei ist, wird ein Auftrag aus der Menge von Aufträgen zur Ausführung auf dieser Maschine ausgewählt und für diese Maschine eingeplant. Idealerweise wird der Auftrag so ausgewählt, dass die Gesamtfertigstellungszeit der Menge von Aufträgen minimiert wird. Unter einer freien Maschine kann verstanden werden, dass entweder die Maschine ihren aktuellen Auftrag beendet hat/der aktuelle Auftrag abgebrochen wurde und die Maschine einen neuen Auftrag starten kann oder die Maschine noch mit keinem jeglichen Auftrag gestartet ist. Wenn eine Maschine einen Auftrag ausführt, kann der entsprechende Zustand dieser Maschine als belegt bezeichnet werden.
  • Der Auftrag wird wie folgt ausgewählt. Ein Graph Neural Network (GNN) empfängt als Eingabe die Menge von Aufträgen und einen aktuellen Zustand von mindestens der Maschine, die frei ist. Das GNN wird dafür trainiert, eine Belohnung zu schätzen, die man erhält, wenn ein Auftrag so ausgeführt wird, dass die Gesamtfertigstellungszeit minimiert wird. Genauer gesagt wird das GNN dafür trainiert, dass es eine hohe Belohnung für eine kleine Fertigstellungszeit für die Menge von Aufträgen ausgibt.
  • Der aktuelle Zustand der Maschine kann die aktuelle Einrichtung und die verbleibende Bearbeitungszeit umfassen. Der Zustand einer Maschine kann ferner z. B. die Klasse umfassen, für die sie gerade eingerichtet ist, ob sie gerade von einem Auftrag belegt ist, und wenn ja, die verbleibende Bearbeitungszeit. Optional kann eine Zeitdauer bis zu den nächsten Wartungsarbeiten angegeben werden. Es ist auch möglich, dass das GNN als Eingabe die Zustände aller Maschinen empfängt. Dann werden vorzugsweise die nicht relevanten Maschinen und Aufträge maskiert, z. B. durch Nullen.
  • Das GNN gibt eine, insbesondere erwartete kumulative diskontierte, Belohnung für die Menge von Aufträgen aus, wenn diese hypothetisch auf den Maschinen, deren Zustände in das GNN eingegeben werden, gestartet werden. Es lässt sich sagen, dass die erwartete Gesamtfertigstellungszeit umso geringer ist, je größer die Belohnung ist. Der Auftrag für die freie Maschine wird in Abhängigkeit von der Ausgabe des Graph Neural Network ausgewählt, die die höchste Belohnung erzielt. Dann kann eine der freien Maschinen oder die freie Maschine einen Befehl zum Ausführen des ausgewählten Auftrags erhalten.
  • Es wird vorgeschlagen, dass das GNN als Eingabe einen, insbesondere zweiseitigen und ungerichteten, Graphen erhält, der zwei disjunkte unabhängige Mengen von Knoten (U, V) umfasst, wobei die erste Menge von Knoten (U) für jede Maschine ihren aktuellen Zustand und die zweite Menge von Knoten (V) die Merkmale jedes Auftrags innerhalb der Menge von Aufträgen umfasst. Ferner umfasst der Graph eine Menge von Kanten (E), wobei die Kanten eine Verbindung zwischen Knoten der ersten Menge von Knoten mit Knoten der zweiten Menge von Knoten kennzeichnen. Zusätzlich enthält der Graph einen globalen Informationsvektor, der für den gesamten Graphen relevant ist. Dieser kann auf null initialisiert werden.
  • Die Ausgabe des Graph Neural Networks ist dann ein Graph mit der gleichen Struktur, aber mit den aktualisierten Knoten der Mengen von Knoten U und V, Kanten und globalen Merkmalsvektoren. Die aktualisierten Kanten werden als die Belohnung, auch Q-Wert genannt, für die Einplanung eines der Aufträge auf einer der Maschinen, die durch die jeweilige Kante verbunden sind, interpretiert. Das aktualisierte globale Merkmal kann eine Leerlaufaktion der Maschine kennzeichnen. Dann ist es möglich, statt einen Auftrag abhängig von der Ausgabe des GNN auszuwählen, einen Leerlaufzustand der Maschine abhängig von der Ausgabe des GNN auszuwählen.
  • Der Vorteil der Verwendung von GNNs besteht darin, dass das gleiche Netz auf Probleme unterschiedlicher Größe, d. h. mit einer unterschiedlichen Anzahl von Aufträgen oder Maschinen, angewendet werden kann.
  • Es wird darauf hingewiesen, dass nach der Auswahl des Auftrags der Auftrag der Maschine zugewiesen wird, die dann mit der Ausführung des Auftrags beginnt. Dieser Vorgang kann wiederholt werden, bis alle Aufträge erledigt sind. Der ausgewählte Auftrag kann nachträglich aus der Menge von Aufträgen entfernt werden.
  • Es wird vorgeschlagen, dass der Auftrag durch ein drittes Merkmal definiert wird, das eine Klasse aus einer Vielzahl von Klassen kennzeichnet, wobei jede der Klassen eine entsprechende Einrichtung der Maschinen kennzeichnet, die zur Ausführung des entsprechenden Auftrags erforderlich ist. Darüber hinaus können die aktuellen Zustände der Maschinen ihre aktuelle Einrichtung kennzeichnen. Das Graph Neural Network erhält eine weitere Eingabe, nämlich Zeitstrafen, wenn aufgrund von zwei unmittelbar aufeinanderfolgenden Aufträgen unterschiedlicher Klassen für dieselbe Maschine eine Neuauslegung der Maschine durch eine Änderung der Einrichtung einer jeglichen Maschine erforderlich ist. Die Zeitstrafen können Werte sein, die proportional zu einer gemessenen oder vorbestimmten Zeit sein können, wobei es sich um gemessene Zeiten oder durch Erfahrungswerte über die Neuauslegung der Maschinen geschätzte Zeiten handeln kann.
  • Genauer gesagt kodiert die Menge von Kanten des Eingangsgraphen der GNN-Kantenmerkmale die Einrichtungszeit, die dazu erforderlich ist, den Auftrag zu verarbeiten, der dem Knoten der zweiten Menge von Knoten auf der entsprechenden Maschine der ersten Menge von Knoten entspricht.
  • Es wird ferner vorgeschlagen, dass alle Aufträge der Menge von Aufträgen in eine Warteschlange eingereiht werden, abhängig von der Ausgabe des GNN. Die Warteschlange definiert eine Reihenfolge, in der die Aufträge von der Vielzahl von Maschinen abgearbeitet werden. Vorzugsweise werden die Aufträge entsprechend der Warteschlange von den Maschinen abgearbeitet. Besonders bevorzugt wird die Warteschlange neu ausgewertet, nachdem einer der Aufträge der Warteschlange beendet wurde.
  • Es wird ferner vorgeschlagen, dass zusätzliche Aufträge zu gewissen Zeitpunkten während des Abarbeitens der Aufträge eintreffen und die zusätzlichen Aufträge zur Menge von Aufträge hinzugefügt werden. Der Vorteil ist, dass das Verfahren auch mit dynamischen Einstellungen umgehen kann, da die Flexibilität des Auftragsplaners erhöht ist. Um den Eintreffzeitpunkt bei der Auswahl der Aufträge zu berücksichtigen, kann jeder Auftrag durch ein weiteres Merkmal definiert werden, das einen Zeitstempel beim Eintreffen in der Auftragswarteschlange kennzeichnet.
  • Es wird ferner vorgeschlagen, dass eine Parametrisierung θ des Graph Neural Network durch bestärkendes Lernen, insbesondere durch Deep Q-Network Learning, optimiert wird. Vorzugsweise wird für das bestärkende Lernen eine simulierte Fabrik, ein so genannter digitaler Zwilling, verwendet, der die Dynamik der realen Fabrik widerspiegelt, genauer gesagt, wie sich der Zustand einer Fabrik ändert, wenn ein Auftrag gestartet wird. Man kann sagen, dass die simulierte Fabrik einer Umgebung entspricht, in der ein Agent der Algorithmen für bestärkendes Lernen aktiv ist und seine Strategie optimiert.
  • Es wird ferner vorgeschlagen, dass für die Auswahl des nachfolgenden Auftrags eine Monte-Carlo-Baum-Suche (MCTS) angewendet wird. Die Monte-Carlo-Baum-Suche baut iterativ einen Suchbaum auf, ausgehend vom aktuellen Zustand der Maschinen und der Menge von Aufträgen, wobei zum Ausweiten des Suchbaums die Ausgabe des Graph Neural Network als eine Suchheuristik verwendet wird. Abhängig vom Suchbaum wird der nachfolgende Auftrage ausgewählt und/oder wobei die Monte-Carlo-Baum-Suche eine Planung von Aufträgen ausgibt.
  • Der Vorteil des Kombinierens des Graph Neural Network mit der Monte-Carlo-Baum-Suche führt zu einer Planung, die sehr nahe an einer optimalen Planung liegt. Durch das GNN ist eine Simulation der Maschinen, insbesondere der Fabrik, nicht erforderlich.
  • Es wird ferner vorgeschlagen, dass zum Ausweiten des Suchbaums die Aktionen auf der Grundlage einer oberen Konfidenzgrenze ausgewählt werden. Dies bedeutet, dass Aktionen mit den höchsten Belohnungen in Abhängigkeit davon gewählt werden, wie oft die entsprechende Aktion bereits gewählt wurde.
  • Es wird ferner vorgeschlagen, den Suchbaum zu beschneiden, insbesondere indem nur eine vorbestimmte Anzahl k von Aufträgen mit den höchsten Belohnungen innerhalb mindestens eines Rollouts berücksichtigt wird. Der Vorteil ist eine überlegene Optimierung durch die reduzierte Komplexität des Suchbaums, was zu einem verbesserten Suchverhalten der MCTS führt.
  • Bei den Maschinen kann es sich um Produktionsmaschinen handeln, und Logistikroboter können dazu eingesetzt werden, die Produktionsmaschinen mit Produktionsmaterial zu versorgen, das für den aktuellen Auftrag der jeweiligen Maschine benötigt wird, wobei die Logistikroboter abhängig von den geplanten Aufträgen gesteuert werden.
  • Bei einer Produktionsmaschine kann es sich um eine Fertigungsmaschine handeln, z. B. eine Stanzmaschine, ein Schneidwerk oder ein Spindelbohrer, vorzugsweise eines Fertigungssystems, z. B. als Teil einer oder einer Vielzahl von Produktionslinien. Es wird ferner vorgeschlagen, dass ein Steuerungssystem die Maschinen in Abhängigkeit von den geplanten Aufträgen steuert.
  • In einem zweiten Aspekt der Erfindung entsprechen die Maschinen Depots oder Auslieferungsstandorten von Waren, wobei abhängig von der Menge von Aufträgen eine Transportroute für die Waren bestimmt wird. Für diesen Aspekt der Erfindung wird der Auftragsplaner auf logistische Probleme angewandt (z. B. Planung der Route eines Kuriers durch eine Stadt, wobei zusätzliche Punkte zum Aufnehmen/Abgeben von Artikeln hinzugefügt werden, während der Kurier unterwegs ist). Es wird darauf hingewiesen, dass der Auftragsplaner nicht auf diese speziellen Anwendungen beschränkt ist und auf eine Reihe verschiedener Online- oder Offline-Planungsprobleme oder kombinatorischer Optimierungsprobleme in verschiedenen industriellen Bereichen, z. B. in der Verpackungsindustrie, angewendet werden kann.
  • Ausführungsformen der Erfindung werden mit Bezug auf die folgenden Figuren erläutert. Die Figuren zeigen:
    • 1 ein Flussdiagramm eines Verfahrens, das von einem Auftragsplaner ausgeführt wird; und
    • 2 ein Trainingssystem.
  • Im Folgenden wird ein Auftragsplaner offenbart, der sowohl auf bestärkendem Lernen als auch auf globaler Suche aufbaut, genauer gesagt durch Kombinieren von Graph Convolutional DQN mit MCTS, wobei das eine vom anderen profitiert. Der Auftragsplaner ist in der Lage, eine Lösung eines als Graph dargestellten Planungsproblems direkt zu berechnen, ohne dafür externe Solver oder Simulationsumgebungen zu benötigen.
  • Zunächst wird die Einstellung eines Problems definiert, das vom Auftragsplaner gelöst werden kann.
  • Im Allgemeinen soll der Auftragsplaner in der Lage sein, ein Problem der Online-Planung, ein spezifisches kombinatorisches Online-Problem, zu lösen. Es ist zu beachten, dass der Auftragsplaner leicht auf andere kombinatorische Online-Probleme ausgedehnt werden kann, etwa das Problem des Handlungsreisenden und Fahrzeugrouting-Probleme, bei denen z. B. die Ziele online hinzugefügt werden. Die kombinatorischen Online-Optimierungsprobleme, beinhaltend logistische Online-Probleme (z. B. Planung der Route eines Kuriers durch eine Stadt, bei der zusätzliche Punkte zum Abholen/Abliefern von Artikeln hinzugefügt werden, während der Kurier unterwegs ist).
  • Im Folgenden werden in der Ausführungsform Planungsprobleme betrachtet, bei denen eine Anzahl von wartenden Aufträgen von einem Satz ähnlicher Maschinen bearbeitet werden muss, insbesondere die Planung in Produktionsfabriken (Bestimmung der Bearbeitungsreihenfolge von Waren bei verschiedenen Bearbeitungsschritten) sowie die Planung in anderen Industriebereichen, z. B. bei der Verpackung. Bei den Maschinen kann es sich um eine beliebige Art von Maschinen handeln, z. B. eine Produktionsmaschine, eine Transportmaschine und so weiter.
  • Die Aufträge können zu verschiedenen Klassen gehören. Wenn zwei Aufträge unterschiedlicher Klassen nacheinander auf derselben Maschine verarbeitet werden, muss die Einrichtung der Maschine geändert werden, was eine Zeitstrafe durch die Neuauslegung der Maschine zur Folge hat. Bei zwei aufeinanderfolgenden Aufträgen der gleichen Klasse gibt es keine solche Zeitstrafe. Zusätzlich zu ihren Klassen werden Aufträge durch ihre Bearbeitungszeiten, vorzugsweise durch ihre Gewichtung (d. h. Wichtigkeit) und vorzugsweise durch den Zeitpunkt ihres Eintreffens in der Warteschlange gekennzeichnet.
  • Die gewichtete Gesamtfertigstellungszeit (TWCT) kann wie folgt definiert werden: T W C T = j J w j C j
    Figure DE102020204351A1_0001
    wobei J die Menge von Aufträgen ist, w0 das Gewicht des Auftrags j ist und Co seine Fertigstellungszeit ist, d. h. die Differenz zwischen dem Zeitpunkt, an dem für j die Verarbeitung beendet ist, und dem Zeitpunkt, an dem er in der Warteschlange eingetroffen ist.
  • Der Auftragsplaner ist dafür ausgelegt, dass die TWCT minimiert wird.
  • Ein Zustand kann durch die Menge wartender Aufträge und deren Merkmale, wie oben definiert (z.B. Fertigstellungszeit, Gewichtung der Aufträge, ...), und den aktuellen Zustand der Maschinen gekennzeichnet werden. Konkret wird jede Maschine durch eine Klasse repräsentiert, für die sie derzeit eingerichtet ist, ob sie gerade durch einen Auftrag belegt ist und wenn ja, wie groß die verbleibende Bearbeitungszeit ist. Die Matrix von Einrichtungswechselzeiten ist ebenfalls beobachtbar. Es ist zu beachten, dass ein Zustand als ein Entscheidungspunkt behandelt wird, wenn es in diesem Zustand mindestens eine freie Maschine und einen wartenden Auftrag gibt.
  • Zusätzlich können empfangene Sensorsignale, z. B. von eingebauten Überwachungssensoren der Fertigungsmaschinen der Fabrik (z. B. aktuelle Auslastung, Wartungsbedarf) und Sensoren, die die Position und den Zustand von Aufträgen innerhalb der Fabrik (z. B. Siliziumwafer) überwachen, zur Kennzeichnung des Zustands verwendet werden. Optional kann ein Status der aktuellen Situation einer Materialversorgungskette dazu verwendet werden, den Zustand zu kennzeichnen.
  • Aktionen können als Tupel (j; m) repräsentiert werden und entsprechen dem Starten des Auftrags j auf der Maschine m. Wenn die Aktion ausgeführt wird, wird ein Ereignis, das eine Aktualisierung des Zustands repräsentiert, für den Zeitpunkt registriert, zu dem der Auftrag beendet wird. Alternativ kann eine „Kein-Betrieb“-(noop)-Aktion ausgeführt werden, die auf keiner der freien Maschinen einen Auftrag startet. In beiden Fällen wird die Simulation iterativ bis zum nächsten Ereignis vorgezogen, bis der nächste Entscheidungspunkt erreicht ist.
  • Es kann statische und dynamische Einstellungen geben. Bei statischen Einstellungen sind alle relevanten Aufträge im Ausgangszustand sichtbar, z. B. zu Beginn des Verfahrens oder vor dem Starten des Auftragsplaners. In der dynamischen Einstellung können zusätzliche Aufträge zu gewissen Zeitpunkten (d. h. in Eintreffintervallen) eintreffen, wobei die Anzahl der eintreffenden Aufträge zu Beginn jedes Intervalls durch eine Poisson-Verteilung für alle Klassen, jede mit ihrer eigenen Rate, geschätzt werden kann. Die Häufigkeit von Auftragsklassen kann dem Zipfschen Gesetz folgen. Die Episode wird beendet, wenn alle Aufträge eingetroffen und abgearbeitet sind.
  • Die sofortigen Belohnungen können als rt = TWCT(st + 1) - TWCT(st) angegeben werden, wobei die Fertigstellungszeit durch die aktuelle Zeit für nicht abgeschlossene Aufträge ersetzt wird. Die Gesamtbelohnung einer Episode ergibt sich demnach zu: t = 0 T 1 r t = t = 0 T 1 T W C T ( s t + 1 ) T W C T ( s t ) = T W C T ( s T ) T W C T ( s 0 ) = T W C T ( s T )
    Figure DE102020204351A1_0002
  • Es ist zu beachten, dass die aktuelle Zeit bei S0 0 ist, so dass TWCT(S0) = 0 ist, und dass alle Aufträge bei ST abgeschlossen sind, so dass TWCT(ST) genau der TWCT-Zielwert ist.
  • Erklärung für die Wahl für das Deep Q-Netz (DGN): Q Graph Neural Network. Das oben beschriebene Problem der Online-Planung kann als ein Markov-Entscheidungsprozess (MDP) betrachtet werden, wobei S und A der Zustands- bzw. der Aktionsraum ist und P(S0|S, a) die Wahrscheinlichkeit des Übergangs vom Zustand s ∈ S zum Zustand s' ∈ S bei Anwendung der Aktion a ∈ A bezeichnet. Um die MDP-Formulierung zu lösen, wird einen Algorithmus für bestärkendes Lernen angewendet.
  • Vorzugsweise kann ein DQN-Algorithmus außerhalb einer Strategie verwendet werden, der eine Annäherung an die Q(s, a)-Funktion erlernt, die die kumulative diskontierte Belohnung für die Anwendung von a bei s und das anschließende Befolgen einer Strategie von Aktionen repräsentiert, die übermäßig oder explorativ sein könnte. Für weitere Informationen über die Q-Funktion wird der Leser auf das folgende Dokument verwiesen: Bertsekas, D. „Dynamic programming and optimal control“, Athena scientific Belmont, MA, 2005.
  • Aufgrund des großen Zustandsraums S und der Komplexität der Q-Funktion ist ein neuronales Netz, das durch θ parametriert ist, eine gängige Wahl für die Approximation der Q-Funktion. Diese Annäherung kann so trainiert werden, dass die quadrierte zeitliche Differenz, angegeben wie folgt, minimiert wird: T D r ( s , a ) + γ   max a '   Q ( s ' , a ' ; θ ) Q ( s , a ; θ )
    Figure DE102020204351A1_0003
    mit dem Diskontierungsfaktor y und einer unmittelbaren Belohnung r(s, a).
  • Bei der Implementierung des DQN-Algorithmus wird ein GNN als Approximation der Q-Funktion verwendet. GNN ist ein gebräuchlicher Name für ein Framework, bei dem ein neuronales Netz oder ein Satz von neuronalen Netzen wiederholt auf die Graphdarstellung der Eingabedaten angewendet wird. GNNs haben mehrere Eigenschaften, die in einem Kontext der kombinatorischen Optimierung wichtig sind: Sie sind permutationsäquivariant und können Beobachtungen unterschiedlicher Größe (d. h. unterschiedliche Anzahl von Knoten und Kanten) verarbeiten, solange die Dimensionalität der Merkmale konstant bleibt. Außerdem sind GNNs in der Lage, die relationale Verzerrung in Beobachtungen durch mehrstufige Informationsweitergabe innerhalb der Graphdarstellung, d. h. durch Message-Passing, zu nutzen.
  • Für das Planungsproblem wird jede Beobachtung durch einen bipartiten, ungerichteten Graphen repräsentiert, der durch das Tupel G = (w; U; V; E) repräsentiert wird.
  • In der vorgeschlagenen Kodierung entsprechen U und V zwei disjunkten, unabhängigen Mengen von Knoten, wobei ui der Merkmalsvektor von Maschine i und vj der Merkmalsvektor von Auftrag j ist. Die Merkmalsvektoren der Maschine und des Auftrags bestehen aus den oben beschriebenen Merkmalen. Der eigentliche Merkmalsvektor jedes Knotens ui ∈ U und vj ∈ V ist die Verkettung von Maschinen- und Auftragsmerkmalen, wobei die irrelevanten Dimensionen durch Nullen maskiert werden können. Die Mengen der Maschinen- und Auftragsknoten sind durch die Menge der Kanten E = (ek, mk, jk) miteinander verbunden, wobei ek ein Kantenmerkmalvektor, mk ein Index eines Maschinenknotens und jk ein Index eines Auftragsknotens ist, der durch die Kante k verbunden ist. Kantenmerkmale kodieren die Einrichtungszeit, die zur Bearbeitung des Auftrags jk auf der entsprechenden Maschine mk benötigt wird. Zusätzlich enthält die Graphdarstellung einen Parameter w, der den globalen Informationsvektor darstellt. Dieser Parameter w wird als globales Merkmal bezeichnet und wird für jede Beobachtung auf 0 initialisiert und für die Informationsweitergabe während des Message-Passing verwendet.
  • Vorzugsweise wird die GNN-Architektur mit kodierendem/dekodierendem Message-Passing verwendet, wie sie in Battaglia, P. W et al. „Relational inductive biases, deep learning, and graph networks“, arXiv preprint arXiv:1806.01261, 2018 beschrieben ist.
  • Die Ausgabe des GNN ist ein Graph der gleichen Struktur, aber mit den aktualisierten Knoten ui und vi und vj Kanten ek und globalen Merkmalsvektoren w. Das Merkmal ek der Kante k wird als der Q-Wert der Einplanung des Auftrags jk auf der Maschine mk und das globale Merkmal w als der Q-Wert der noop-Aktion interpretiert.
  • Zum Anlernen der Q-Funktion wird ein Simulator der Maschinen eingesetzt, der das Problem als diskrete Ereignissimulation modelliert. Vorzugsweise wird eine simulierte Fabrik, auch „digitaler Zwilling“ genannt, eingesetzt, die die Dynamik einer realen Fabrik widerspiegelt, d. h. wie sich der Zustand der Fabrik ändert, wenn ein Auftrag an einer Maschine gestartet wird und wie im Laufe der Zeit weitere Aufträge eintreffen. In einer alternativen Ausführungsform können aufgezeichnete Daten aus den Maschinen oder aus der Fabrik als Trainingsdaten zum Anlernen der Q-Funktion verwendet werden oder die umkodierten Daten können zum Aufbau des Simulators verwendet werden. Wie bereits oben erwähnt, wird das DGN-Lernen vorzugsweise zum Anlernen der Q-Funktion und zum Trainieren des GNN verwendet.
  • Nachdem das GNN trainiert wurde, kann es direkt zur Planung von Aufträgen auf einer Vielzahl von Maschinen verwendet werden. Wenn beispielsweise ein Entscheidungspunkt auftritt, gehen die oben beschriebenen Eingaben des GNN von der aktuellen Situation zu dem Zeitpunkt aus, an dem der Entscheidungspunkt auftritt. Abhängig von der Ausgabe des GNN wird aus der Menge der wartenden Aufträge der nächste Auftrag mit dem höchsten Q-Wert ausgewählt. Dieses Verfahren kann jedes Mal angewendet werden, wenn Entscheidungspunkte auftreten. Interessanterweise ist dieses Verfahren weder auf statische noch auf dynamische Einstellungen beschränkt. Für den Fall, dass der Entscheidungspunkt auftritt oder für den Fall, dass eine komplette Planung aller wartenden Aufträge in eine Planung oder eine Warteschlange eingeplant werden soll, kann eine Monte-Carlo-Baum-Suche verwendet werden. Die Monte-Carlo-Baum-Suche (MCTS) ist ein Online-Planungsverfahren für sequenzielle und (möglicherweise) stochastische Entscheidungsprobleme. MCTS funktioniert über die Suche nach der optimalen Entscheidung, die in jedem Zustand zu treffen ist, durch iteratives Abtasten von Rollouts: Sequenzen von Schritten, die im aktuellen Zustand beginnen und entweder in Endzuständen oder in Zuständen enden, die bis zum Ende des Planungshorizonts erreicht wurden. Diese Rollouts werden zum Aufbau eines Suchbaums verwendet, der Informationen über die betrachteten Zustände speichert. Zu diesen Informationen gehören Q-Wert-Schätzungen QT(s; a), die dazu verwendet werden, die Suche in den nachfolgenden Rollouts zu leiten und schließlich, wenn die Zeitbegrenzung erreicht ist, eine Entscheidung für den aktuellen Zustand auszugeben.
  • Während MCTS in der Lage ist, qualitativ hochwertige Entscheidungen zu finden, ohne jegliches domänenspezifisches Wissen einzubeziehen, kann die Verfügbarkeit guter domänenspezifischer Heuristiken den Suchprozess erheblich erleichtern und bessere Entscheidungen in kürzeren Deliberationszeiten liefern. Vorzugsweise wird eine Variation des MCTS-Algorithmus namens UCT (für weitere Informationen: Kocsis, L. und Szepesvari, C. „Bandit based monte-carlo planning", in European Conference on Machine Learning, Seiten 282-293. Springer, 2006.) in Verbindung mit dem trainierten GNN angewendet. Insbesondere werden Rollouts abgetastet, indem Aktionen gemäß der Strategie für die obere Konfidenzgrenze (UCB, siehe auch Kocsis et al. oder Liu et al. „Adapting improved upper confidence bounds for Monte-Carlo tree search", in: Advances in Computer Games. Springer, Cham, 2015. S. 53-64.) für Zustände ausgewählt werden, die sich innerhalb des Suchbaums befinden (d. h. dem Baum in vorangegangenen Rollouts hinzugefügt wurden), und ansonsten die Aktion mit der höchsten Q-Wert-Schätzung QN(s; a) = Q(s; a; θ) gewählt wird, die aus dem trainierten GNN erhalten wird. UCB gleicht Exploration und Exploitation aus, indem es zuerst alle Aktionen einmal ausprobiert und danach die Aktion wählt, die den folgenden Wert maximiert: Q T ( s , a ) + β log ( n s ) n s , a
    Figure DE102020204351A1_0004
    wobei ns,a die Anzahl der Abtastungen der Aktion a im Zustand s bezeichnet, ns = Σns,a und β der Explorationsfaktor ist.
  • Die Q-Werte in den einzelnen Zuständen werden geschätzt als: Q T ( s , a ) = i = 1 n s , a r ¯ l n s , a
    Figure DE102020204351A1_0005
    wobei r ¯ l
    Figure DE102020204351A1_0006
    die über die Abtastung (Rollout) i akkumulierte Belohnung vom Zustand s bis zum Ende des Rollouts ist.
  • Da die Anzahl der Aktionen in manchen Fällen recht groß sein kann, was häufig zu einer schlechten Leistung führt, kann ein Beschneidungsmechanismus angewendet werden, der das GNN zusätzlich ausnutzt. Bei der Suche werden nämlich nur die k Aktionen mit den höchsten Q-Werten-Schätzungen QN(s; a) berücksichtigt.
  • Ausgehend vom aktuellen Zustand kann die MCTS angewendet werden, um den Suchbaum zu erzeugen, wobei in Abhängigkeit vom Suchbaum die Planung von Aufträgen abgeleitet wird, z. B. durch Auswahl der Zweige des Suchbaums, die die kürzeste TWCT ergeben.
  • MCTS kann so lange ausgeführt werden, wie für die Optimierung zur Verfügung steht (z. B. Sekunden bis Minuten) oder bis eine optimale Auftragswarteschlange gefunden ist.
  • 1 zeigt ein Flussdiagramm (10) einer Ausführungsform zum Trainieren des Auftragsplaners und zum Ausführen des Auftragsplaners.
  • Das Verfahren beginnt mit Schritt 11. In diesem Schritt wird der Simulator der Fabrik initialisiert.
  • Im nachfolgenden Schritt 12 wird das GNN trainiert, wobei ein Algorithmus für bestärkendes Lernen, insbesondere DGN, angewendet wird. Der Verstärkungsalgorithmus wird auf dem Simulator zu dem Zweck ausgeführt, den Simulator und sein Verhalten für gegebene Aktionen bei gegebenen Zuständen zu untersuchen.
  • Wenn das Training des GNN beendet ist, folgt Schritt 13. Für einen gegebenen Zustand der Maschinen und eine Menge von Aufträgen wird eine Warteschlange von Aufträgen ermittelt. Die Warteschlange wird vom MCTS wie oben beschrieben ermittelt.
  • Es wird darauf hingewiesen, dass das Ermitteln der Warteschlange von Aufträgen über die MCTS gestartet werden kann, wenn alle oder ein Teil der Maschinen frei sind oder wenn der Entscheidungspunkt für eine Maschine erreicht ist.
  • Nachdem die Warteschlange erhalten wurde, werden die Aufträge in Schritt 14 von den Maschinen abgearbeitet. Nachdem zum Beispiel eine Auftragswarteschlange durch die MCTS oder ein nächster Auftrag in Abhängigkeit vom Q-Wert ermittelt wurde, wird der nächste Auftrag der entsprechenden ermittelten Maschine zugewiesen. Die Maschine wird dann zum Ausführen ihres neu zugewiesenen Auftrags gesteuert.
  • Wird die Warteschlange von Aufträgen anschließend fortgesetzt, kann bei Erreichen eines Entscheidungspunktes entweder die MCTS erneut angewendet werden und der nächste Auftrag wird nicht aus der Reihenfolge der Warteschlange ausgewählt, sondern der nächste Auftrag wird über die durch den MCTS-Suchbaum ermittelte aktualisierte Warteschlange ausgewählt, oder der nächste Auftrag wird nur in Abhängigkeit vom Q-Wert des GNN ausgewählt, oder die Reihenfolge der Warteschlange wird weiter verwendet.
  • In einer weiteren Ausführungsform wird in Abhängigkeit vom nächsten ermittelten Auftrag ein Steuersignal ermittelt. Das Steuersignal dient zum Steuern der Maschine und/oder zum Steuern eines physischen Systems, z. B. eines computergesteuerten Roboters, der Aufträge in verfügbare Maschinen lädt und/oder die Maschine für die erforderliche Einrichtung für den nächsten Auftrag neu ausgelegt.
  • 2 zeigt eine Ausführungsform eines Trainingssystems (20) zum Trainieren des GNN (22). Ein Trainingsmodul (21) stellt Trainingsdaten für das GNN (22) bereit, dessen Parameter θ in einem Speicher (23) abgelegt sind, und die Parameter werden in Abhängigkeit von der Ausgabe des GNN (22) durch vorzugsweise das bestärkende Lernen DGN aktualisiert.
  • Ein computerlesbarer Speicher (24) enthält Anweisungen, die bei ihrer Ausführung durch einen Computer (25) den Computer veranlassen, das Training des GNN durchzuführen.
  • Der Begriff „Computer“ umfasst eine beliebige Vorrichtung zum Verarbeiten von vordefinierten Rechenanweisungen. Diese Rechenanweisungen können in Form von Software oder in Form von Hardware oder auch in einer Mischform von Software und Hardware vorliegen.
  • Es versteht sich ferner, dass die Verfahren nicht nur wie beschrieben vollständig in Software umgesetzt werden können. Sie können auch in Hardware oder in einer Mischform aus Software und Hardware umgesetzt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Kocsis, L. und Szepesvari, C. „Bandit based monte-carlo planning“, in European Conference on Machine Learning, Seiten 282-293. Springer, 2006 [0054]
    • Kocsis et al. oder Liu et al. „Adapting improved upper confidence bounds for Monte-Carlo tree search“, in: Advances in Computer Games. Springer, Cham, 2015. S. 53-64 [0054]

Claims (12)

  1. Verfahren zum Planen einer Mehrzahl von Aufträgen für eine Vielzahl von Maschinen, wobei jeder Auftrag durch mindestens ein Merkmal definiert ist, das eine Bearbeitungszeit des Auftrags charakterisiert, wobei, wenn eine der Maschinen frei ist, ein Auftrag aus der Menge von Aufträgen zur Ausführung auf der Maschine ausgewählt und für diese Maschine eingeplant wird, wobei der Auftrag wie folgt ausgewählt wird: ein Graph Neural Network empfängt als Eingabe die Mehrzahl von Aufträge und einen aktuellen Zustand von mindestens der Maschine, die frei ist, das Graph Neural Network gibt Belohnungen für jeden Auftrag aus, wenn er auf den freien Maschinen gestartet wird, deren Zustände in das Graph Neuronal Network eingegeben werden, und der Auftrag für die freie Maschine wird abhängig von den vom Graph Neural Network ausgegebenen Belohnungen ausgewählt.
  2. Verfahren nach Anspruch 1, wobei der Auftrag durch ein weiteres Merkmal definiert wird, das eine Klasse aus einer Vielzahl von Klassen charakterisiert, wobei jede der Klassen eine entsprechende Einrichtung der Maschinen charakterisiert, die zur Ausführung des entsprechenden Auftrags erforderlich ist, wobei die aktuellen Zustände der Maschinen auch deren aktuelle Einrichtung charakterisieren, wobei das Graph Neural Network eine weitere Eingabe erhält, nämlich Zeitstrafen, wenn aufgrund von zwei unmittelbar aufeinanderfolgenden Aufträgen unterschiedlicher Klassen für dieselbe Maschine, die Maschine durch eine Änderung der Einrichtung jeglicher Maschinen neu eingerichtet werden muss.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei zu gewissen Zeitpunkten zusätzliche Aufträge eintreffen und die zusätzlichen Aufträge der Mehrzahl von Aufträgen hinzugefügt werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Parametrisierung θ des Graph Neural Network durch bestärkendes Lernen, insbesondere durch Deep Q-Network Learning, optimiert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Auswahl des nachfolgenden Auftrags eine Monte-Carlo-Baum-Suche (MCTS) angewendet wird, wobei die Monte-Carlo-Baum-Suche ausgehend vom aktuellen Zustand der Maschinen und der Mehrzahl von Aufträgen iterativ einen Suchbaum aufbaut, wobei zum Ausweiten des Suchbaums die ausgegebene Belohnung des Graph Neural Network als eine Suchheuristik verwendet wird, wobei in Abhängigkeit vom Suchbaum der nachfolgende Auftrag ausgewählt wird.
  6. Verfahren nach Anspruch 5, wobei zum Ausweiten des Suchbaums die Aktionen auf der Grundlage einer oberen Konfidenzgrenze ausgewählt werden.
  7. Verfahren nach Anspruch 5 oder 6, wobei der Suchbaum beschnitten wird, insbesondere durch Berücksichtigung nur einer vorbestimmten Anzahl von Aufträgen mit den höchsten Q-Werten innerhalb mindestens eines Rollouts.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei den Maschinen um Produktionsmaschinen handelt, und insbesondere Logistikroboter zur Versorgung der Produktionsmaschinen mit Produktionsmaterial eingesetzt werden, das für den aktuellen Auftrag der jeweiligen Maschine benötigt wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Zustand der Maschinen in Abhängigkeit von empfangenen Sensorsignalen ermittelt wird, wobei der Zustand der Maschinen auch einen aktuellen Laststatus und/oder einen den Wartungsbedarf der jeweiligen Maschine kennzeichnenden Parameter umfasst.
  10. Computerprogramm, das dafür ausgelegt ist, einen Computer zu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 9 mit allen seinen Schritten durchzuführen, wenn das Computerprogramm von einem Prozessor ausgeführt wird.
  11. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 10 gespeichert ist.
  12. System, das dafür ausgelegt ist, das Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.
DE102020204351.5A 2020-04-03 2020-04-03 Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen Pending DE102020204351A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020204351.5A DE102020204351A1 (de) 2020-04-03 2020-04-03 Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen
US17/179,702 US20210312280A1 (en) 2020-04-03 2021-02-19 Device and method for scheduling a set of jobs for a plurality of machines
CN202110354635.1A CN113496347A (zh) 2020-04-03 2021-04-01 用于为多个机器调度作业集合的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020204351.5A DE102020204351A1 (de) 2020-04-03 2020-04-03 Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen

Publications (1)

Publication Number Publication Date
DE102020204351A1 true DE102020204351A1 (de) 2021-10-07

Family

ID=77749765

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020204351.5A Pending DE102020204351A1 (de) 2020-04-03 2020-04-03 Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen

Country Status (3)

Country Link
US (1) US20210312280A1 (de)
CN (1) CN113496347A (de)
DE (1) DE102020204351A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4357997A1 (de) * 2022-10-19 2024-04-24 Siemens Aktiengesellschaft Verfahren zum ermitteln einer fertigungsreihenfolge von fertigungsaufträgen einer fertigungsanlage, fertigungsanlage-system, computerprogramm sowie elektronisch lesbarer datenträger

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113879339A (zh) * 2021-12-07 2022-01-04 阿里巴巴达摩院(杭州)科技有限公司 自动驾驶的决策规划方法、电子设备及计算机存储介质
CN114860435B (zh) * 2022-04-24 2024-04-05 浙江大学台州研究院 基于任务选择过程强化学习的大数据作业调度方法
EP4325310A1 (de) * 2022-08-19 2024-02-21 Siemens Aktiengesellschaft Verbesserung der monte-carlo-baumsuche mit online-planung für multiagentennetzwerk
CN115202591B (zh) * 2022-09-16 2022-11-18 厦门大学 一种分布式数据库系统的存储装置、方法及存储介质
CN115660324B (zh) * 2022-10-09 2023-06-13 浙江大学 基于图强化学习的电网多断面越限调控方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3315844B2 (ja) * 1994-12-09 2002-08-19 株式会社東芝 スケジューリング装置及びスケジューリング方法
JPH11235648A (ja) * 1998-02-17 1999-08-31 Toshiba Corp 製造計画管理装置、製造計画管理方法、及び、製造計画管理プログラムを記録したコンピュータ読み取り可能な記録媒体
US6584369B2 (en) * 2000-02-02 2003-06-24 Texas Instruments Incorporated Method and system for dispatching semiconductor lots to manufacturing equipment for fabrication
US6856845B2 (en) * 2003-04-28 2005-02-15 Palo Alto Research Center Inc. Monitoring and reporting incremental job status system and method
US7151972B2 (en) * 2005-01-05 2006-12-19 International Business Machines Corporation Method for autonomic control of a manufacturing system
US8606386B2 (en) * 2010-03-12 2013-12-10 Ana Maria Dias Medureira Pereira Multi-agent system for distributed manufacturing scheduling with Genetic Algorithms and Tabu Search
US8626385B2 (en) * 2012-03-15 2014-01-07 Caterpillar Inc. Systems and methods for analyzing machine performance
JP6423769B2 (ja) * 2015-08-31 2018-11-14 ファナック株式会社 加工精度維持機能を有する加工システム
JP6114421B1 (ja) * 2016-02-19 2017-04-12 ファナック株式会社 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法
WO2018098396A1 (en) * 2016-11-25 2018-05-31 Glowforge Inc. Multi-user computer-numerically-controlled machine
WO2020086214A1 (en) * 2018-10-26 2020-04-30 Dow Global Technologies Llc Deep reinforcement learning for production scheduling
KR102251316B1 (ko) * 2019-06-17 2021-05-12 (주)브이엠에스 솔루션스 강화 학습 및 시뮬레이션 기반의 공장 내 디스패칭 방법 및 그 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kocsis et al. oder Liu et al. „Adapting improved upper confidence bounds for Monte-Carlo tree search", in: Advances in Computer Games. Springer, Cham, 2015. S. 53-64
Kocsis, L. und Szepesvari, C. „Bandit based monte-carlo planning", in European Conference on Machine Learning, Seiten 282-293. Springer, 2006

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4357997A1 (de) * 2022-10-19 2024-04-24 Siemens Aktiengesellschaft Verfahren zum ermitteln einer fertigungsreihenfolge von fertigungsaufträgen einer fertigungsanlage, fertigungsanlage-system, computerprogramm sowie elektronisch lesbarer datenträger

Also Published As

Publication number Publication date
US20210312280A1 (en) 2021-10-07
CN113496347A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
DE102020204351A1 (de) Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen
DE69028612T2 (de) Aufstelloptimierung von flexiblen Herstellungssystemen
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE112017005538T5 (de) Automatisierte Erzeugung von Arbeitsabläufen
EP2452232B1 (de) Verfahren zur optimierung von petri-netz orchestrierten arbeitsabläufen für service-orientierte automatisierungsgeräte in service-orientierten automatisierten systemen
DE102017223717A1 (de) Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
DE102021203400A1 (de) Computerimplementiertes Verfahren und Computerprogramm zur Montagestückzahlplanung von Montageteilen für eine Produktionsoptimierung eines Produktionssystems, Montagestückzahlplanungssystem und Produktionsplanung und-steuerungssystem
DE102020203718A1 (de) Computerimplementiertes Verfahren für eine Produktionsplanung und/oder -steuerung eines Produktionssystems und Produktionsplanung und/oder-steuerungssystem zur Produktionsoptimierung
WO2021190919A1 (de) Computerimplementiertes verfahren für eine produktionsplanung und/oder -steuerung eines produktionssystems und produktionsplanung und/oder -steuerungssystem
DE102019203214A1 (de) Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
EP4118493A1 (de) Verfahren und vorrichtung zur optimierten produktion von blechteilen
DE102019203634A1 (de) Verfahren und Vorrichtung zum Ansteuern eines Roboters
DE102020215589A1 (de) Steuern eines deep-sequence-modells mit prototypen
EP3736749A1 (de) Verfahren und vorrichtung zur ansteuerung eines geräts mit einem datensatz
DE112016007312T5 (de) Netzwerk-bildungsvorrichtung und netzwerk-bildungsverfahren
DE102019008295A1 (de) Produktionsplanänderungssystem, produktionsplanänderungsverfahren und produktionsplanänderungsprogramm
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
EP3992733A1 (de) Maschinenbelegungsplanung für eine komplexe fertigungsanlage
EP3650964B1 (de) Verfahren zum steuern oder regeln eines technischen systems
DE202021102099U1 (de) Vorrichtung zum Verarbeiten einer Wissensgrapheneinbettung
DE112019005057T5 (de) Bewegungssteuerungsverfahren, Bewegungssteuervorrichtung, Bewegungssteuersystem, Programm und Speichermedium für mehrere Fahrzeuge
EP3637354A1 (de) Verfahren zur suche eines programmcodes für ein elektronisches gerät in einer datenbank
DE102019128223A1 (de) Verfahren, Vorrichtungen und Computerprogramme
DE112022003696T5 (de) Verfahren und systeme zur erzeugung von modellen für die bildanalyse pipeline prediction
EP4357997A1 (de) Verfahren zum ermitteln einer fertigungsreihenfolge von fertigungsaufträgen einer fertigungsanlage, fertigungsanlage-system, computerprogramm sowie elektronisch lesbarer datenträger