[JAVA] Planen Sie das Optimierungs- "Nutzungsbild" mit einer KI, die den Grund für das Ergebnis versteht

Verfasser: Takashi Takahisa, Hitachi, Ltd.

Einführung

In diesem Artikel habe ich [Red Hat Decision Manager](https: // www.) In "Optimierung durch KI planen, die den Grund für das Ergebnis versteht" veröffentlicht. Wir werden einen konkreten Modellfall und ein Nutzungsbild der Funktionen der Planungsoptimierung mithilfe von redhat.com/en/technologies/jboss-middleware/decision-manager vorstellen. Wenn Sie den obigen Artikel nicht gelesen haben, empfehlen wir Ihnen, ihn zuerst zu lesen.

Beitragsliste:

  1. Planoptimierung mit KI, die den Grund für das Ergebnis versteht
  2. Planen Sie die Optimierung "Nutzungsbild" mit AI, die den Grund für das Ergebnis versteht (dieser Beitrag)

Modellkoffer (Geräteinspektionsplan)

In diesem Modellfall optimieren wir den jährlichen Inspektionsplan für Großgeräte.

Hintergrund

Aus folgenden Gründen werden wir die manuell durchgeführten Inspektionsplanungsarbeiten systematisieren. ・ Mit zunehmender Anzahl und Art der zu inspizierenden Geräte dauerte es lange, einen Plan zu erstellen.

Umriss des Plans

Geben Sie die Liste der zu inspizierenden Geräte für das aktuelle Jahr und die zugehörigen Daten für die Optimierungsberechnung ein und berechnen und geben Sie das Startdatum der Inspektion und den Inspektionsbereich (in dem die Inspektion durchgeführt wird) für jedes Gerät aus. Die Anzahl der Inspektionstage für jeden Gerätetyp ist vorzugeben. Inspektionen können nur an Wochentagen durchgeführt werden. Es ist nicht möglich, mehrere Geräte gleichzeitig in einem Inspektionsbereich zu inspizieren.

Verfassung

In diesem Modellfall wird es mit der folgenden Konfiguration implementiert. normal_flow.png

Einschränkungen / Bewertungsindikatoren (Excel-Regeln)

In diesem Modellfall werden die folgenden Einschränkungen festgelegt.

■ Absolute Einschränkungen (Einschränkungen, die Sie unbedingt einhalten möchten) -Begrenzung der Anzahl gleichzeitiger Inspektionen pro Tag: Pro Tag können nur x Einheiten inspiziert werden. -Begrenzte Anzahl von Tagen: Die Inspektion muss innerhalb von x Tagen ab dem letzten Enddatum der Inspektion erfolgen. ■ Überlegungen Einschränkungen (Einschränkungen, die Sie so weit wie möglich beibehalten möchten)

excel_rule.png

■ Informationen zur Prioritätsanpassung zwischen Regeln Die Priorität wird durch Stufe + Gewichtskoeffizient definiert, und das Ergebnis wird als Bewertungswert für jede Stufe bewertet. Es wird in der Reihenfolge des Bewertungswerts der höchsten Ebene bewertet (im obigen Beispiel schwer). Wenn der Bewertungswert der höchsten Ebene gleich ist, wird es anhand des Bewertungswerts der nächsten Ebene bewertet, und die Kombination mit dem besten Bewertungswert ist die optimale Lösung. Ich werde. In diesem Beispiel verwenden wir zwei Ebenen, Hard und Soft, um den Grad der Übereinstimmung mit den Betrachtungsbeschränkungen und dem Bewertungsindex zu optimieren und dabei immer die absoluten Einschränkungen zu beachten.

In diesem Beispiel gibt es zwei Ebenen, Hard und Soft, aber es können drei oder mehr sein. Wenn Sie die Einhaltung von Überlegungsbeschränkungen der Verbesserung von Bewertungsindikatoren vorziehen möchten, anstatt den Grad der Einhaltung von Überlegungsbeschränkungen und die Verbesserung von Bewertungsindikatoren umfassend zu bewerten, setzen Sie die Überlegungsbeschränkungen auf die mittlere Ebene. Dies kann erreicht werden.

Der Gewichtungsfaktor ist der Prioritätsanpassungsfaktor für Regeln derselben Ebene. In diesem Beispiel wird der Gewichtskoeffizient als Ganzzahl angegeben. Sie können jedoch einen Wert vom Typ BigDecimal angeben. Beispielsweise können Sie Werte wie "12.345" und "0.02" angeben. Erhöhen Sie den Gewichtungsfaktor für Regeln mit hoher Priorität, berücksichtigen Sie jedoch auch den Basiswert der Punktzahl für jede Regel. Beispielsweise basiert die absolute Einschränkung Nr. 1 auf der Anzahl der Einheiten, die den Grenzwert für die Inspektionsnummer überschreiten, die absolute Einschränkung Nr. 2 basiert auf der Anzahl der Tage, die die Grenzwerttage überschreiten, und der Grundwert ist in Nr. 2 wahrscheinlich größer, sodass der Koeffizient Nr. 1 verwendet wird. Ich mache es größer. Im Fall von absoluten Einschränkungen möchten wir sie immer schützen, daher müssen wir uns des Gewichtungskoeffizienten der harten Ebene nicht sehr bewusst sein, aber dieses Mal, wenn Eingabedaten eingehen, die schwer zu schützen sind, können wir beide im Durchschnitt erkennen. Berücksichtigt angepasst. Soft-Level-Gewichtungsfaktoren müssen sorgfältig abgewogen und bestimmt werden, um einen guten Plan zu erstellen. Sie können es jedoch jederzeit ändern, sodass Sie zunächst einen groben Wert angeben können.

Eingabedaten

Die zu planenden Geräte und Stammdaten werden als Eingabedaten empfangen. Durch Empfangen des Schwellenwerts der Einschränkungsregel als Eingabedaten ist es einfach, ihn später zu ändern. Da es zu lang wäre, alle Eingabedaten aufzulisten, werde ich sie als Auszug auflisten (es gibt einige andere Stammdaten, auf die verwiesen werden kann).

** Zu überprüfende Gerätedaten **

Gerätetyp Gerätename Enddatum der letzten Inspektion
A A01 2017/9/15
A A02 2017/4/20

** Definitionsdaten **

Schlüssel Wert
Begrenzung der Anzahl gleichzeitiger Inspektionen pro Tag 5
Maximale Anzahl von Tagen 900

** Inspektionstage Daten **

Gerätetyp Inspektionstage
A 16
B 16

Geschäftsanwendung

In diesem Modellfall haben wir das Lesen von Eingabedaten, die Auswertungsverarbeitung einiger Einschränkungsbedingungen, auf die aus Einschränkungsregeln verwiesen wird, das Aufrufen der Optimierungsberechnung von Red Hat Decision Manager, die Ausgabe des Optimierungsberechnungsergebnisses, die Ausgabe von Bewertungsdaten usw. implementiert. Ich erstelle eine Geschäftsanwendung. Die wichtigste und schwierigste Berechnung der KI-Optimierung selbst wird von Red Hat Decision Manager durchgeführt. Die Anzahl der Schritte für Geschäftsanwendungen beträgt daher 1,2 KB, was eine einfache Implementierung darstellt.

Optimierungsberechnung (Red Hat Decision Manager)

Die Optimierungsberechnung von Red Hat Decision Manager wird durchgeführt, indem die folgenden Prozesse (1) bis (3) wiederholt ausgeführt werden. ① Generieren Sie eine Kombination aus jedem Gerät und Inspektionsstartdatum und Inspektionsbereich (2) Berechnen Sie die Punktzahl der als Excel-Regel definierten Einschränkungsbedingung / Bewertungsindex für die generierte Kombination. ③ Vergleichen Sie den Bewertungswert dieser Kombination mit dem Bewertungswert der früheren optimalen Lösungskombination und legen Sie den besseren als optimale Lösung fest.

Hier werden der Kombinationsgenerierungsalgorithmus von (1) und die Wiederholungszeit (Berechnungszeit) von (1) bis (3) in der Einstellungsdatei von Red Hat Decision Manager definiert. Die optimale Berechnungszeit und die Algorithmuseinstellungen hängen von der Datenmenge, der Anzahl der Einschränkungen / Bewertungsindikatoren usw. ab. In diesem Modellfall werden jedoch die folgenden Einstellungen verwendet. Algorithmus zur Generierung der ersten Lösung: First Fit Lokaler Suchalgorithmus: Späte Akzeptanz Optimierungsberechnungszeit: 60 Sekunden

Definitionsinhalte dieses Optimierungsalgorithmus


<termination>
	<secondsSpentLimit>60</secondsSpentLimit>
</termination>
<constructionHeuristic>
	<constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
</constructionHeuristic>
<localSearch>
	<acceptor>
		<lateAcceptanceSize>80</lateAcceptanceSize>
	</acceptor>
	<forager>
		<acceptedCountLimit>1</acceptedCountLimit>
	</forager>
</localSearch>

■ Informationen zum Optimierungsalgorithmus Die Optimierungsalgorithmen von Red Hat Decision Manager basieren auf einer Kombination aus Algorithmen zur anfänglichen Lösungsgenerierung und lokalen Suchalgorithmen. Der anfängliche Lösungsgenerierungsalgorithmus generiert die erste Kombination, und der lokale Suchalgorithmus generiert die zweite und nachfolgende Kombination.

Der anfängliche Algorithmus zur Lösungsgenerierung verwendet diesmal First Fit, das am einfachsten zu verwenden ist. Wenn Sie die Leistung verbessern möchten, sollten Sie andere Algorithmen wie First Fit Decreasing verwenden, mit denen Sie die Kombination der anfänglichen Lösungen priorisieren können.

Der lokale Suchalgorithmus verwendet diesmal Late Acceptance, da er hoch skalierbar ist, die optimale Lösung leicht zu finden ist und leicht zu optimieren ist. Andere bekannte Algorithmen wie Tabu Search und Simulated Annealing werden ebenfalls unterstützt, und wir werden sie nach Bedarf berücksichtigen.

Für die verspätete Annahme müssen Sie nur das akzeptierte CountLimit auf 1 (in einigen Fällen 4) festlegen und nur die lateAcceptanceSize optimieren. Für lateAcceptanceSize gilt: Je größer der angegebene Wert, desto größer die Anzahl der Zielkombinationen und desto länger dauert die Lösung des Problems. Je höher jedoch die maximale Punktzahl ist. Daher wird der Wert entsprechend der Skala der Eingabedaten (in diesem Fall der Anzahl der zu inspizierenden Geräte, der Anzahl der Kandidatendaten für das Inspektionsstartdatum, der Anzahl der Inspektionsbereiche) und der Berechnungszeit angepasst. Auch wenn die Eingabedaten jedes Mal unterschiedlich sind, können Sie damit den für lateAcceptanceSize angegebenen Wert dynamisch entsprechend der Skalierung der Eingabedaten festlegen.

Die Tabu-Suche muss durch Kombinieren von zwei Parametern optimiert werden, und der Bereich der angegebenen Werte muss auch in einem größeren Bereich als die späte Akzeptanz optimiert werden.

Simuliertes Tempern ist ein spezifizierter Wert des Abstimmungsparameters, und es ist erforderlich, die Bewertung der Einschränkungsregel zusätzlich zur Skalierung und Berechnungszeit der Eingabedaten zu berücksichtigen. Wenn die Einschränkungsregel hinzugefügt oder der Gewichtskoeffizient geändert wird, wird auch der Abstimmungsparameter geändert. Es muss überprüft werden.

Die Planungsoptimierungsfunktion von Red Hat Decision Manager basiert auf einem OSS namens OptaPlanner. Eine Liste der in Red Hat Decision Manager verfügbaren Algorithmen und detaillierten Spezifikationen finden Sie im OptaPlanner-Benutzerhandbuch.

■ Informationen zur Berechnungszeit und zur Konvergenz der Ergebnisse Je länger die Berechnungszeit ist, desto besser ist das Ergebnis, aber im Laufe der Zeit wird die Punktzahl konvergieren und sich kaum verbessern. Entscheiden Sie, wie viel Zeit Sie möchten, und berücksichtigen Sie dabei Ihre Zielpunktzahl (Optimierungsgrad) und Leistungsanforderungen. Zusätzlich zum einfachen Ende der Berechnung ist es möglich, die Berechnung zu beenden, wenn eine bestimmte Punktzahl erreicht ist, die Berechnung zu beenden, wenn sich die Punktzahl für einen bestimmten Zeitraum nicht verbessert, und die Berechnung zu beenden, wenn eine der mehreren Endbedingungen erfüllt ist.

** Beispiel für Zeitraffer und Score-Konvergenz ** best_soft_score_statistic_example.png

Ergebnisdaten

-Die Optimierungsergebnisdaten sind die Daten, denen das Inspektionsstartdatum und der Inspektionsbereich den zu inspizierenden Geräten zugeordnet sind. -Für Inspektionsbereiche bereiten wir so viele Inspektionsbereiche wie die Anzahl der gleichzeitigen Inspektionen pro Tag vor und weisen zu, welchen Inspektionsbereich jedes Gerät verwendet. -Für das Enddatum der Inspektion wird der Wert ausgegeben, der automatisch aus dem Startdatum der Inspektion und der Anzahl der Inspektionstage berechnet wird. -Für die Anzahl der Rückgabetage wird der Wert ausgegeben, der automatisch aus dem Inspektionsstartdatum und dem vorherigen Inspektionsenddatum berechnet wird.

** Ergebnisdaten (Auszug) **

Gerätetyp Gerätename Beginn der Inspektion Enddatum der Inspektion Inspektionsbereich Rückgabetage
E E09 2019/4/25 2019/5/24 5 735
A A07 2019/4/26 2019/5/24 4 599

** Visualisierte Ergebnisdaten (Auszug) ** visualize_result.png

Score-Informationsdaten (Grund für die Ergebnisse)

Dies sind die Daten, die den Grad der Übereinstimmung mit den Randbedingungen und die Bewertung durch den Bewertungsindex als Bewertung ausgeben. Die Punktzahl ist diesmal eine Abzugsmethode für alle Regeln. Je näher sie an 0 liegt, desto besser ist die Bewertung. In dieser Geschäftsanwendung wird es in eine Excel-Datei ausgegeben.

** Zusammenfassung ** score_summary.png

** Regel + Geräteeinheitsblatt (Auszug) ** score_rule_device.png

** Regel + Planstartdatum Blatt (Auszug) ** score_rule_yearmonth.png

Bild der Verwendung von Score-Informationsdaten (Grund für die Ergebnisse)

Bestätigung, dass es wie erwartet funktioniert

Die absolute Einschränkung und die Überlegungsbeschränkung befinden sich im obigen "Zusammenfassungsblatt", und die Punktzahl lautet "0hard / 0soft", was zeigt, dass keine Verletzung vorliegt (geschützt).

Für den Bewertungsindex Nr. 1 wird "- (Grenzwert für Tage und Rückgabetage)" * "Excel-Regelgewichtungskoeffizient 1" als Bewertungswert verwendet. In der obigen Tabelle "Regeln + Geräteeinheit (Auszug)" lauten die Werte in der Spalte "Punktzahl" und in den Werten "Begrenzte Tage - Rückgabetage" in jeder Zeile "0hard / -109soft" und "109". Sie können sehen, dass sie übereinstimmen und ordnungsgemäß funktionieren.

Für den Bewertungsindex Nr. 2 lautet der Bewertungswert "- (Gesamtzahl der Geräte / 12 Anzahl der Geräte im aktuellen Monat) ^ 2" * "Excel-Regelgewichtskoeffizient 100" für Geräte desselben Gerätetyps. Der Bruchteil der Division wird auf die zweite Dezimalstelle gerundet. Wenn Sie sich das oben stehende Blatt "Regel + Planstartdatum (Auszug)" ansehen, stimmt der Wert in der Spalte "Punktzahl" mit dem Wert überein, der nach der obigen Formel in jeder Zeile berechnet wurde, und er funktioniert ordnungsgemäß. Ich verstehe. Beispiel :-( 13/12 --1) ^ 2 * 100 = - (1.08333 ... --1) ^ 2 * 100 = - (1.1 - 1) ^ 2 * 100 = - (0.1) ^ 2 * 100 = - 0,01 * 100 = -1 ⇒ Entspricht "0 hart / -1,00 weich".

Problemerkennung von Eingabedaten und Randbedingungen

Abhängig vom Inhalt der Eingabedaten werden die Einschränkungen möglicherweise nie erfüllt und eine Planung ist möglicherweise nicht möglich. Zum Beispiel die folgenden Fälle. ・ Entwicklung eines Inspektionsplans für das Geschäftsjahr 2009 (nach dem 1. April 2019). ・ Das letzte Enddatum der Inspektion ist 2016/3/1. -Die maximale Anzahl von Tagen für die absolute Einschränkung Nr. 2 beträgt 900 Tage. In einem solchen Fall können die absoluten Einschränkungen nicht eingehalten werden und der Plan kann nicht erstellt werden, selbst wenn der Beginn der Inspektion frühestens am 1. April 2019 geplant ist. (Möglicherweise wurden das geplante Jahr, das vorherige Inspektionsdatum, die maximale Anzahl von Tagen falsch eingestellt usw.) Score-Informationsdaten erleichtern das Erkennen dieser Probleme, da Sie schnell erkennen können, welche Daten verletzt werden.

** Ergebnisinformationen (Übersichtsblatt), wenn die maximale Anzahl von Tagen verletzt wird ** score_NG_example1a.png ** Ergebnisinformationen, wenn die maximale Anzahl von Tagen verletzt wird (Regel + Geräteeinheitsblatt (Auszug)) ** score_NG_example1b.png

Vergleich mit früheren Plänen

Sie können die Ergebnisse des vergangenen Plans und des neuen Plans vergleichen, um festzustellen, ob der Plan besser als der vergangene Plan ist. Sie können die Score-Informationen des vergangenen Plans ausgeben, indem Sie die geplanten Daten als Eingabedaten angeben, indem Sie die Geschäftsanwendung und die Excel-Regel verwenden, die für die normale Optimierungsberechnung so wie sie sind erstellt wurden. Die geplanten Daten sind die Eingabedaten (Inspektionszielgerätedaten) sowie die geplanten Werte "Inspektionsstartdatum" und "Inspektionsbereich".

** Konfiguration der Score-Informationsausgabe der geplanten Daten ** planned_data_flow.png

** Geplante Daten früherer Pläne **

Gerätetyp Gerätename Enddatum der letzten Inspektion Beginn der Inspektion Inspektionsbereich
A A01 2017/9/15 2019/4/22 1
A A02 2019/4/26 2019/7/25 1

** Score-Informationsdaten früherer Pläne ** past_planning.png ** Ergebnisinformationsdaten für neue Pläne von Red Hat Decision Manager ** new_rhdm_planning.png

In diesem Beispiel werden alle Einschränkungen sowohl im vorherigen Plan als auch im neuen Plan erfüllt, aber die Punktzahl der Metrik ist im neuen Plan besser, und Sie können sehen, dass der Plan effizienter ist.

Wenn Sie das Gewicht des Soft-Scores nach Kosten anpassen, können Sie quantitativ beurteilen, wie viel Kostenreduzierung durch den verbesserten Score erzielt wurde. Wenn beispielsweise die Kosten aufgrund der Reduzierung der Anzahl der Inspektionen durch Maximierung der Anzahl der Rückgabetage und der Reduzierung zusätzlicher Inspektionskosten wie Überstundenvergütung durch Arbeitsnivellierung um 20.000 Yen pro Soft Score gesenkt werden, (Past Plan Score - New Plan Score) * (Kostensenkungskosten pro Soft Score) = (10426 - 6979) * 2 = 3447 * 2 = 6894 Es kann geschätzt werden, dass "die Kosten im Vergleich zum früheren Plan um 68,94 Millionen Yen gesenkt wurden".

Durch den Vergleich der Ergebnisse des vergangenen Plans und des neuen Plans auf diese Weise kann quantitativ beurteilt werden, wie optimiert er ist. In dem unwahrscheinlichen Fall, dass der vergangene Plan eine bessere Punktzahl aufweist, werden Sie sich darüber im Klaren sein, dass es Spezifikationen gibt, die nicht berücksichtigt wurden, und dass es Probleme wie Berechnungszeit und Algorithmus-Optimierung gibt.

abschließend

In diesem Artikel haben wir ein Bild der Verwendung der Planoptimierung mithilfe von KI vorgestellt, das den Grund für die Ergebnisse zeigt. Durch Verwendung der Score-Informationsdaten, die der Grund für das Ergebnis sind, ist es möglich, quantitativ zu beurteilen, wie viel Optimierung durchgeführt wurde, und es zu verbessern, damit eine bessere Optimierung erreicht werden kann. Ich hoffe, Sie werden es in Betracht ziehen.

Recommended Posts

Planen Sie das Optimierungs- "Nutzungsbild" mit einer KI, die den Grund für das Ergebnis versteht
Planen Sie die Optimierung mit AI, die den Grund für das Ergebnis versteht
Generieren Sie die Datei colours.xml für dunkle Themen mit der Technologie, die Force Dark unterstützt