Der Artikel beschreibt die Ergebnisse der erfolgreichen Anwendung der diskreten Optimierungsmethode zur Lösung eines besonderen Problems der Optimierung der Produktionsplanung, aber charakteristisch für viele Produktionsunternehmen in der Lebensmittel-, Chemie- und Pharmaindustrie.

Ich stelle fest, dass mit der Notwendigkeit, dieses Problem zu lösen, oft an anderen Stellen, innerhalb des Produktionsplans, sinnvolle Zeit der Nachjustierung gefunden wird.

Die allgemeine Struktur des Lösungsoptimierungsalgorithmus ist gegeben. Für das Eintauchen in das Thema ist eine ernsthafte Untersuchung der Graphentheorie, der Massenabfertigungstheorie und der Terminierungstheorie erforderlich.

Aufgabenstellung

Angenommen, wir sind mit der Aufgabe konfrontiert, die Produktionsplanung in einem Chemieunternehmen zu automatisieren, das 100 Produkte auf denselben Produktionslinien produziert. Als Ergebnis der Automatisierung erwarten wir, dass der Planungsprozess ohne menschliches Eingreifen durchgeführt wird und der daraus resultierende Produktionsplan nicht von einer Person in einer akzeptablen Zeit verbessert werden kann.

Bei der Lösung des Optimierungsproblems ist es zunächst notwendig zu verstehen, was genau wir optimieren. Mit anderen Worten, um die Zielfunktion zu definieren, die wir verbessern werden. In unserem Beispiel werden wir die gesamte Rekonfigurationszeit minimieren. So müssen wir eine Folge von Fertigungsaufträgen auswählen, in denen die Gesamtzeit, die wir für die Rekonfiguration ausgeben, minimal sein wird.

Für diejenigen, die mit den Besonderheiten der Organisation der Produktion in chemischen Anlagen nicht vertraut sind, sollte klargestellt werden, dass die Umstellung wesentlich länger dauern kann als die Produktion des Endprodukts selbst (der Wirkstoff). Bei der Nachjustierung wird das Gerät zerlegt, gewaschen, gesammelt, vom Labor für chemische Reinheit überprüft. Darüber hinaus muss man verstehen, dass die Matrix der Nachstellungen asymmetrisch sind. Das heißt, die Umstellzeit von Produkt A zu Produkt B kann von der Zeit der Nachstellung von Produkt B bis Produkt A abweichen.

Verwirrung der Ansätze

Die häufigste Lösung, die für viele unkomplizierte Optimierer in den Sinn kommt, ist, Produkte mit der kürzesten Rüstzeit zu finden und sie zu einem Paar zu kombinieren. Dann haften Sie an diesem Paar den nächsten Nachbarn und handeln so, bis wir nacheinander alle unsere Produkte in einer Kette sammeln. Allerdings garantiert ein solcher Ansatz nur eine Lösung, die besser als die schlimmsten ist. In der Praxis wird bei zufällig erzeugten Matrizen der Nachjustierungen ein solcher Algorithmus ein Ergebnis geben, das schlechter als das optimale um das 1,5 bis 2-fache sein wird.

Lassen Sie uns versuchen zu verstehen, warum dies geschieht. Zeichnen wir 2 Punkte auf der Ebene: Punkt A und Punkt B. Ich denke, jeder erinnert sich an die Schule, dass der kürzeste Abstand zwischen diesen Punkten eine gerade Linie ist (AB). Jetzt lassen Sie uns noch ein paar Punkte auf dieser Linie zeichnen (Bild 1.1.) . Der Kürzeste Weg zwischen der Abfolge der Punkte bleibt die gleiche, direkt von A nach B. Wenn wir die ursprüngliche Linie entfernen und versuchen, alle Punkte konsequent zu verbinden, nur unter Berücksichtigung des Abstandes zwischen ihnen, (Bild 1.1.), ist es offensichtlich, dass das erhaltene Ergebnis viel schlechter als das optimale ist. Algorithmen, die auf mittleren oder mittleren Abständen basieren, zeigen auch Ergebnisse, die weit von optimal entfernt sind.

Bild 1­.1.

Bei der Suche nach einer Lösung, können Sie alle möglichen Kombinationen finden und wählen unter diesen die besten. In der Praxis ist dies jedoch unmöglich, da die Anzahl aller möglichen Kombinationen für 100 Produkte 9*10^157 beträgt. Auch wenn wir entscheiden, dass die Berechnung einer solchen Kombination eine Nanosekunde einnimmt, dann glaube ich, dass die Berechnung aller möglichen Kombinationen, die alle auf unserem Planeten vorhandenen Rechenressourcen verwenden, länger dauert als die Zeit des Bestehens des Planeten selbst. Dementsprechend ist diese Optimierungsmöglichkeit in der Praxis nicht anwendbar.

Es sollte erkannt werden, dass die Menschheit noch nicht gelernt hat, genau solche Probleme in einer "vernünftigen" Zeit zu lösen und vielleicht niemals lernen wird. Aber was ist zu tun, wenn solche Probleme in der Praxis angetroffen werden und gelöst werden müssen? In diesen Fällen werden diskrete Optimierungsmethoden angewendet, die, obwohl sie das optimale Ergebnis nicht garantieren, eine Lösung erhalten, die dem Optimum sehr nahe kommt.

Verwenden von Approximalen Algorithmen. Stufen der Lösung.

In der Praxis ist die Lösung solcher Probleme nur durch die Verwendung von Approximationsalgorithmen möglich. Das Wesen solcher Algorithmen besteht darin, dass wir, um das exponentielle Wachstum der Komplexität eines solchen Problems zu erkennen, eine Lösung durch Versuch und Irrtum aufbauen und es konsequent verbessern, bis die maximale Anzahl von Versuchen erreicht ist oder die Zeitbegrenzung erschöpft ist.

Bei der Lösung eines solchen Problems ist es für mich einfacher, es als eine vollständig verbundenes asymmetrisch orientierte Grafik darzustellen, wo die Ecken die Produkte sind, und die Kanten die Rekonfiguration. Für mich ist dies der sichtbarste und logischste Ansatz von allem, was ich angetroffen habe. Leider ist eine solche Grafik nur selten metrisch, was es unmöglich macht, einen Teil der Algorithmen zu verwenden, die den Prozess der Lösung zum finden einer Lösung beschleunigen könnten.

Schritt 1.

Zuerst müssen wir eine anfängliche Lösung wählen. Dazu kann man einfach die stochastische kombinatorische Wahl der Ecken aus dem ganzen Satz verwenden. Bei der Lösung von Problemen großer Dimensionen kann statt der stochastischen Wahl die Ähnlichkeit eines minimalen Spannbaums verwendet werden, der in der Regel sofort starke Kombinationen von Ecken angibt, obwohl er bei der Suche nach dem Optimum als solchen nicht hilft.

Schritt 2.

Im nächsten Schritt müssen wir eine Kostenfunktion einführen, in der wir alle Funktionen von Strafen und Verlusten setzen, die wir berücksichtigen wollen. Zum Beispiel können wir dem Algorithmus erlauben, ein Optimum zu bieten, das zu Verletzungen von vertraglichen Verpflichtungen gegenüber Kunden führt. Dementsprechend müssen die Funktion der Kosten (Strafe) und ihre Art für jede spezifische Aufgabe stimmen. Es ist wichtig zu verstehen, dass die Komplexität der Kostenfunktion einen dramatischen Einfluss auf die Gesamtleistung des Algorithmus haben wird. Also, es sind nur die kritischen Dinge, die in der Wertfunktion sinnvoll sind.

Schritt 3. Das Minimum finden.

Was die Ansätze zur weiteren Verbesserung der Ergebnisse angeht, dann gibt es hier nichts das zu kompliziert ist. Wir versuchen nur, das beste lokale Minimum der N-dimensionalen Funktion zu finden. In unserem Beispiel ist dies eine Funktion in einem 100-dimensionalen diskreten Hyperspace. Als eine der Arbeitsvarianten können wir einen endlichen Satz von zufälligen Koordinatenvektoren erzeugen und für jeden von ihnen einen Wert mit unserer Funktion berechnen. Nachdem wir die Kosten für jeden solchen Vektor erhalten haben, können wir bereits die Topologie unserer Funktion darstellen und die Suche in der Nähe des bekannten Minimums fortsetzen. Natürlich ist das eine ziemlich einfache Methode, es gibt auch komplexere, die eine kontinuierliche Suche nach lokalen Minima durchführen, aber selbst so ein einfacher und verständlicher Ansatz gibt ganz gute Ergebnisse, besonders wenn wir für die rechnerische Komplexität kämpfen müssen.

Demonstration der Wirksamkeit von approximativen Algorithmen

Um die Ergebnisse der Anwendung von Approximationsalgorithmen in der Praxis zu demonstrieren, verwende ich eine Matrix von Nachstellungen von 53 Produkten, für die ein optimaler Zielwert von 6.905 Einheiten bekannt ist. Die Anzahl der möglichen Kombinationen für diese Aufgabe wird 4*10^69 sein, was auch nicht seine Lösung durch eine vollständige Auflistung impliziert. Es gibt auch eine Notwendigkeit, eine kleine Reservierung zu machen, warum ich diese spezielle Matrixgröße gewählt habe und nicht die größere. Die erklärung ist sehr einfach, als Teil der Vorbereitung des Artikels für Berechnungen, ich benutze meine eigene Hardware basierend auf dem alten Intel i7 2600K, der alle 4 Kerne und 8 Gewinde um 97% lädt und nicht das Kühlsystem hat. Solche Multithreading wird durch die Architektur des Algorithmus selbst und durch die Tatsache, dass alle Codes in Java 8 mit dem Stream API (forkjoin parallelism) geschrieben werden. Als Teil des industriellen Betriebs solcher Algorithmen sollte ihre Arbeit außerhalb des SAP-Ökosystems (oder eines anderen ERP-Systems) auf eigenständigen HPC-Servern mit einer Tendenz zum größeren Multithreading durchgeführt werden, sowie mit einem großen Prozessor-Cache und einem RAM mit kleinen Timings.

Nun, die Rückkehr direkt zur Arbeit des Algorithmus, schauen wir uns das Bild. 2, an, in dem 5 separate Grafiken reflektiert werden. Die erste davon ist der Ziel (Minimum) "min" Wert, den wir erreichen wollen. Die zweite ist das Ergebnis der Verwendung des "gierigen" Algorithmus "Gierig", der durch den oben beschriebenen Algorithmus der Paarung von Produkten erhalten wird und ergibt ein Ergebnis von 12'706 Einheiten. Verbleibend sind drei Versuche, den Zielwert sukzessive mit den diskreten Optimierungsmethoden "do_1, do_2, do_3" zu approximieren, welche ein gleiches Ergebnis ergeben. Im Rahmen dieses Beispiels verwenden wir 30.000 Epochen. Die Epoche ist eine Art separate Iteration, in deren Rahmen wir das vorherige Ergebnis verbessern wollen.

 

Bild 2. Die Arbeit der Optimierungsalgorithmen

Auf dem Diagramm sehen wir deutlich, wie der Algorithmus der diskreten Optimierung allmählich das Ergebnis verbessert, aber trotzdem kann man noch mehrere Zielvorgaben erreichen, wenn man bei etwa 7003 Einheiten immer den Zielwert stoppt. Und hier ist es notwendig zu verstehen, die wichtigsten Algorithmen der diskreten Optimierung nicht garantieren, dass wir schließlich das optimale Ergebnis für eine bestimmte Zeit oder eine bestimmte Anzahl von Epochen erhalten. Wie wir jedoch aus dem Beispiel sehen, unterscheiden sich die von uns erhaltenen Ergebnisse von der optimalen um 1,4% und vom Ergebnis des "gierigen" Algorithmus um 81%, was meiner Meinung nach mehr als akzeptabel ist, um die angewandten Probleme der Produktionsplanung zu lösen. Und angesichts der Tatsache, dass der Erhalt eines solchen Ergebnisses etwa zwei Minuten von der nicht produktivsten Düse nahm, wird dieser Ansatz bei angewandten Problemen noch attraktiver.

Was ist in der Praxis zu betrachten?

Die Verwendung solcher Optimierungsmethoden beinhaltet eine ausschließlich individuelle Herangehensweise an die zu lösenden Aufgaben. In der Praxis stellt sich heraus, dass es von der Aufgabe bis zur Aufgabe möglich ist, nur die empfangene Erfahrung zu übertragen, aber nicht die Algorithmen selbst. Die Abstimmparameter der Algorithmen selbst hängen sehr stark von der "Dichte" der Daten in der Matrix, der Anzahl der optimierten Produkte und einer Art a priori Wissen usw. ab. Damit stellt sich heraus, dass die Parameter des Algorithmus selbst optimiert werden müssen, aber es gibt nicht viele Algorithmenparameter, und wir sind bereits in der Lage, ähnliche Probleme zu lösen. 

Der Artikel beschreibt die Ergebnisse der erfolgreichen Anwendung der diskreten Optimierungsmethode zur Lösung eines besonderen Problems der Optimierung der Produktionsplanung, aber charakteristisch für viele Produktionsunternehmen in der Lebensmittel-, Chemie- und Pharmaindustrie.

Ich stelle fest, dass mit der Notwendigkeit, dieses Problem zu lösen, oft an anderen Stellen, innerhalb des Produktionsplans, sinnvolle Zeit der Nachjustierung gefunden wird.

Die allgemeine Struktur des Lösungsoptimierungsalgorithmus ist gegeben. Für das Eintauchen in das Thema ist eine ernsthafte Untersuchung der Graphentheorie, der Massenabfertigungstheorie und der Terminierungstheorie erforderlich.

Aufgabenstellung

Angenommen, wir sind mit der Aufgabe konfrontiert, die Produktionsplanung in einem Chemieunternehmen zu automatisieren, das 100 Produkte auf denselben Produktionslinien produziert. Als Ergebnis der Automatisierung erwarten wir, dass der Planungsprozess ohne menschliches Eingreifen durchgeführt wird und der daraus resultierende Produktionsplan nicht von einer Person in einer akzeptablen Zeit verbessert werden kann.

Bei der Lösung des Optimierungsproblems ist es zunächst notwendig zu verstehen, was genau wir optimieren. Mit anderen Worten, um die Zielfunktion zu definieren, die wir verbessern werden. In unserem Beispiel werden wir die gesamte Rekonfigurationszeit minimieren. So müssen wir eine Folge von Fertigungsaufträgen auswählen, in denen die Gesamtzeit, die wir für die Rekonfiguration ausgeben, minimal sein wird.

Für diejenigen, die mit den Besonderheiten der Organisation der Produktion in chemischen Anlagen nicht vertraut sind, sollte klargestellt werden, dass die Umstellung wesentlich länger dauern kann als die Produktion des Endprodukts selbst (der Wirkstoff). Bei der Nachjustierung wird das Gerät zerlegt, gewaschen, gesammelt, vom Labor für chemische Reinheit überprüft. Darüber hinaus muss man verstehen, dass die Matrix der Nachstellungen asymmetrisch sind. Das heißt, die Umstellzeit von Produkt A zu Produkt B kann von der Zeit der Nachstellung von Produkt B bis Produkt A abweichen.

Verwirrung der Ansätze

Die häufigste Lösung, die für viele unkomplizierte Optimierer in den Sinn kommt, ist, Produkte mit der kürzesten Rüstzeit zu finden und sie zu einem Paar zu kombinieren. Dann haften Sie an diesem Paar den nächsten Nachbarn und handeln so, bis wir nacheinander alle unsere Produkte in einer Kette sammeln. Allerdings garantiert ein solcher Ansatz nur eine Lösung, die besser als die schlimmsten ist. In der Praxis wird bei zufällig erzeugten Matrizen der Nachjustierungen ein solcher Algorithmus ein Ergebnis geben, das schlechter als das optimale um das 1,5 bis 2-fache sein wird.

Lassen Sie uns versuchen zu verstehen, warum dies geschieht. Zeichnen wir 2 Punkte auf der Ebene: Punkt A und Punkt B. Ich denke, jeder erinnert sich an die Schule, dass der kürzeste Abstand zwischen diesen Punkten eine gerade Linie ist (AB). Jetzt lassen Sie uns noch ein paar Punkte auf dieser Linie zeichnen (Bild 1.1.). Der Kürzeste Weg zwischen der Abfolge der Punkte bleibt die gleiche, direkt von A nach B. Wenn wir die ursprüngliche Linie entfernen und versuchen, alle Punkte konsequent zu verbinden, nur unter Berücksichtigung des Abstandes zwischen ihnen, (Bild 1.1.), ist es offensichtlich, dass das erhaltene Ergebnis viel schlechter als das optimale ist. Algorithmen, die auf mittleren oder mittleren Abständen basieren, zeigen auch Ergebnisse, die weit von optimal entfernt sind.

Bild 1­.1.

Bei der Suche nach einer Lösung, können Sie alle möglichen Kombinationen finden und wählen unter diesen die besten. In der Praxis ist dies jedoch unmöglich, da die Anzahl aller möglichen Kombinationen für 100 Produkte 9*10^157 beträgt. Auch wenn wir entscheiden, dass die Berechnung einer solchen Kombination eine Nanosekunde einnimmt, dann glaube ich, dass die Berechnung aller möglichen Kombinationen, die alle auf unserem Planeten vorhandenen Rechenressourcen verwenden, länger dauert als die Zeit des Bestehens des Planeten selbst. Dementsprechend ist diese Optimierungsmöglichkeit in der Praxis nicht anwendbar.

Es sollte erkannt werden, dass die Menschheit noch nicht gelernt hat, genau solche Probleme in einer "vernünftigen" Zeit zu lösen und vielleicht niemals lernen wird. Aber was ist zu tun, wenn solche Probleme in der Praxis angetroffen werden und gelöst werden müssen? In diesen Fällen werden diskrete Optimierungsmethoden angewendet, die, obwohl sie das optimale Ergebnis nicht garantieren, eine Lösung erhalten, die dem Optimum sehr nahe kommt.

Verwenden von Approximalen Algorithmen. Stufen der Lösung.

In der Praxis ist die Lösung solcher Probleme nur durch die Verwendung von Approximationsalgorithmen möglich. Das Wesen solcher Algorithmen besteht darin, dass wir, um das exponentielle Wachstum der Komplexität eines solchen Problems zu erkennen, eine Lösung durch Versuch und Irrtum aufbauen und es konsequent verbessern, bis die maximale Anzahl von Versuchen erreicht ist oder die Zeitbegrenzung erschöpft ist.

Bei der Lösung eines solchen Problems ist es für mich einfacher, es als eine vollständig verbundenes asymmetrisch orientierte Grafik darzustellen, wo die Ecken die Produkte sind, und die Kanten die Rekonfiguration. Für mich ist dies der sichtbarste und logischste Ansatz von allem, was ich angetroffen habe. Leider ist eine solche Grafik nur selten metrisch, was es unmöglich macht, einen Teil der Algorithmen zu verwenden, die den Prozess der Lösung zum finden einer Lösung beschleunigen könnten.

Schritt 1.

Zuerst müssen wir eine anfängliche Lösung wählen. Dazu kann man einfach die stochastische kombinatorische Wahl der Ecken aus dem ganzen Satz verwenden. Bei der Lösung von Problemen großer Dimensionen kann statt der stochastischen Wahl die Ähnlichkeit eines minimalen Spannbaums verwendet werden, der in der Regel sofort starke Kombinationen von Ecken angibt, obwohl er bei der Suche nach dem Optimum als solchen nicht hilft.

Schritt 2.

Im nächsten Schritt müssen wir eine Kostenfunktion einführen, in der wir alle Funktionen von Strafen und Verlusten setzen, die wir berücksichtigen wollen. Zum Beispiel können wir dem Algorithmus erlauben, ein Optimum zu bieten, das zu Verletzungen von vertraglichen Verpflichtungen gegenüber Kunden führt. Dementsprechend müssen die Funktion der Kosten (Strafe) und ihre Art für jede spezifische Aufgabe stimmen. Es ist wichtig zu verstehen, dass die Komplexität der Kostenfunktion einen dramatischen Einfluss auf die Gesamtleistung des Algorithmus haben wird. Also, es sind nur die kritischen Dinge, die in der Wertfunktion sinnvoll sind.

Schritt 3. Das Minimum finden.

Was die Ansätze zur weiteren Verbesserung der Ergebnisse angeht, dann gibt es hier nichts das zu kompliziert ist. Wir versuchen nur, das beste lokale Minimum der N-dimensionalen Funktion zu finden. In unserem Beispiel ist dies eine Funktion in einem 100-dimensionalen diskreten Hyperspace. Als eine der Arbeitsvarianten können wir einen endlichen Satz von zufälligen Koordinatenvektoren erzeugen und für jeden von ihnen einen Wert mit unserer Funktion berechnen. Nachdem wir die Kosten für jeden solchen Vektor erhalten haben, können wir bereits die Topologie unserer Funktion darstellen und die Suche in der Nähe des bekannten Minimums fortsetzen. Natürlich ist das eine ziemlich einfache Methode, es gibt auch komplexere, die eine kontinuierliche Suche nach lokalen Minima durchführen, aber selbst so ein einfacher und verständlicher Ansatz gibt ganz gute Ergebnisse, besonders wenn wir für die rechnerische Komplexität kämpfen müssen.

Demonstration der Wirksamkeit von approximativen Algorithmen

Um die Ergebnisse der Anwendung von Approximationsalgorithmen in der Praxis zu demonstrieren, verwende ich eine Matrix von Nachstellungen von 53 Produkten, für die ein optimaler Zielwert von 6.905 Einheiten bekannt ist. Die Anzahl der möglichen Kombinationen für diese Aufgabe wird 4*10^69 sein, was auch nicht seine Lösung durch eine vollständige Auflistung impliziert. Es gibt auch eine Notwendigkeit, eine kleine Reservierung zu machen, warum ich diese spezielle Matrixgröße gewählt habe und nicht die größere. Die erklärung ist sehr einfach, als Teil der Vorbereitung des Artikels für Berechnungen, ich benutze meine eigene Hardware basierend auf dem alten Intel i7 2600K, der alle 4 Kerne und 8 Gewinde um 97% lädt und nicht das Kühlsystem hat. Solche Multithreading wird durch die Architektur des Algorithmus selbst und durch die Tatsache, dass alle Codes in Java 8 mit dem Stream API (forkjoin parallelism) geschrieben werden. Als Teil des industriellen Betriebs solcher Algorithmen sollte ihre Arbeit außerhalb des SAP-Ökosystems (oder eines anderen ERP-Systems) auf eigenständigen HPC-Servern mit einer Tendenz zum größeren Multithreading durchgeführt werden, sowie mit einem großen Prozessor-Cache und einem RAM mit kleinen Timings.

Nun, die Rückkehr direkt zur Arbeit des Algorithmus, schauen wir uns das Bild. 2, an, in dem 5 separate Grafiken reflektiert werden. Die erste davon ist der Ziel (Minimum) "min" Wert, den wir erreichen wollen. Die zweite ist das Ergebnis der Verwendung des "gierigen" Algorithmus "Gierig", der durch den oben beschriebenen Algorithmus der Paarung von Produkten erhalten wird und ergibt ein Ergebnis von 12'706 Einheiten. Verbleibend sind drei Versuche, den Zielwert sukzessive mit den diskreten Optimierungsmethoden "do_1, do_2, do_3" zu approximieren, welche ein gleiches Ergebnis ergeben. Im Rahmen dieses Beispiels verwenden wir 30.000 Epochen. Die Epoche ist eine Art separate Iteration, in deren Rahmen wir das vorherige Ergebnis verbessern wollen.

 

Bild 2. Die Arbeit der Optimierungsalgorithmen

Auf dem Diagramm sehen wir deutlich, wie der Algorithmus der diskreten Optimierung allmählich das Ergebnis verbessert, aber trotzdem kann man noch mehrere Zielvorgaben erreichen, wenn man bei etwa 7003 Einheiten immer den Zielwert stoppt. Und hier ist es notwendig zu verstehen, die wichtigsten Algorithmen der diskreten Optimierung nicht garantieren, dass wir schließlich das optimale Ergebnis für eine bestimmte Zeit oder eine bestimmte Anzahl von Epochen erhalten. Wie wir jedoch aus dem Beispiel sehen, unterscheiden sich die von uns erhaltenen Ergebnisse von der optimalen um 1,4% und vom Ergebnis des "gierigen" Algorithmus um 81%, was meiner Meinung nach mehr als akzeptabel ist, um die angewandten Probleme der Produktionsplanung zu lösen. Und angesichts der Tatsache, dass der Erhalt eines solchen Ergebnisses etwa zwei Minuten von der nicht produktivsten Düse nahm, wird dieser Ansatz bei angewandten Problemen noch attraktiver.

Was ist in der Praxis zu betrachten?

Die Verwendung solcher Optimierungsmethoden beinhaltet eine ausschließlich individuelle Herangehensweise an die zu lösenden Aufgaben. In der Praxis stellt sich heraus, dass es von der Aufgabe bis zur Aufgabe möglich ist, nur die empfangene Erfahrung zu übertragen, aber nicht die Algorithmen selbst. Die Abstimmparameter der Algorithmen selbst hängen sehr stark von der "Dichte" der Daten in der Matrix, der Anzahl der optimierten Produkte und einer Art a priori Wissen usw. ab. Damit stellt sich heraus, dass die Parameter des Algorithmus selbst optimiert werden müssen, aber es gibt nicht viele Algorithmenparameter, und wir sind bereits in der Lage, ähnliche Probleme zu lösen. 

Autor
Денис Мягков
Архитектор решений SAP
Fragen Sie den Autor
Share

Effektive Methoden zur Optimierung des Produktionsplanungsprozesses
SAP F&R mit SAP Merchandise
Buchhaltungsformen Bilanzierung von Sachanlagen. Berechnung des Kostenpreises. Abgrenzung. Logistik. Periodenabschluss.

Senden
Benutzerregistrierung
Nach der Registrierung können Sie eingeschränktes Material herunterladen.

Registrieren Sie sich
Benutzerautorisierung
Nach der Registrierung können Sie eingeschränktes Material herunterladen.
Kein Passwort? Dann brauchen Sie hier — Registrierung?

Benutzerregistrierung
Ihre Registrierung war erfolgreich!

Passwort Wiederherstellung
Ein Brief mit einem neuen Passwort wurde an Ihre E-Mail gesendet

SAP-Experten von TeamIdea beantworten alle Ihre Fragen.

Vielen Dank für Ihre Nachricht an TeamIdea. In naher Zukunft wird sich unser Spezialist mit Ihnen in Verbindung setzen.