Software in der freien Wildbahn: Unternehmen mit Daten und Algorithmen unterstützen
Mittlerweile weiß wohl jeder, was ein Algorithmus ist, oder? Besonders in der Softwareentwicklung sind Algorithmen allgegenwärtig:
„Ein Algorithmus ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt.“ (Quelle: Wikipedia)
Was gleich zu Beginn auffällt, ist die unkomplizierte Struktur:
Eingabe → Algorithmus → Ausgabe
Unsere Erfahrung zeigt, dass eine leichte Erweiterung dieser Struktur es dem Management eines Kundenunternehmens erleichtert, Softwarelösungen zu verstehen, anzunehmen und einzusetzen:
Geschäftsziele → Eingabe → Algorithmus → Ausgabe → Vorteile
In diesem Artikel werden wir uns also nicht mit den Algorithmen an sich befassen, sondern damit, wie die oben beschriebene Struktur in verschiedenen Softwareentwicklungsprojekten nachgebildet wurde.
Algorithmus 1: Verringerung der Stillstandzeiten in der Produktion
Für einen Hersteller von elektromechanischen Anlagen erhielten wir die Aufgabe, die Stillstandzeiten in der Fertigungslinie zu beseitigen. In Anbetracht der Kosten der Fertigungsanlagen (mehrere Millionen Euro pro Stück) und der anfänglichen Stillstandzeiten (von bis zu 40 %) lagen die potenziellen Vorteile auf der Hand: Jede Erhöhung der aktiven Zeit würde dem Unternehmen helfen, mehr zu produzieren und gleichzeitig die Kosten für die Anlagen zu senken.
Unsere Aufgabe: Entwicklung einer Softwarelösung, die den Fertigungsingenieuren eine bessere Planung ermöglicht, indem sie die Auslastung ihrer Maschinen in Echtzeit anzeigt.
Die Eingaben
Nachdem die Geschäftsziele des Kunden klar waren, begann unsere Arbeit mit der Definition der Eingaben:
- Die Datenstruktur wurde zu einer Matrix, die auf drei Säulen (den so genannten „Anker“-Eingaben) aufbaut: die Fertigungsmaschine, das Zielprodukt und der Vorgang, der für die Herstellung des Produkts erforderlich ist.
- Zusätzliche „Objekt“-Eingaben wie verschiedene Dokumente, Berichte, Informationen über Wartungszeiten usw.
Der Kunde konnte Daten in verschiedenen Formen eingeben/verwenden, wie z. B. durch:
- manuelle Eingaben
- .xls-Importe über eine spezielle grafische Schnittstelle
- andere Quellen/Formate, die möglicherweise für andere Zwecke verwendet wurden, z. B. bestehende ERP-Systeme usw.
Bei diesem System kommen die Haupteingaben von den Fertigungsingenieuren, die die eigentliche Kapazitätsplanung vornehmen (für jede Schicht/täglich/wöchentlich). Aber auch die Produktionsmitarbeiter geben Echtzeitdaten ein (z. B. „Status“: erledigte/fehlerhafte/verbleibende Artikel, Zeitüberschreitungen, Notfälle usw.). Schließlich berücksichtigt unser dynamischer Algorithmus auch die Besonderheiten des Fertigungsprozesses des Kunden.
Der Algorithmus
Anhand der Eingaben überprüft der Algorithmus dann kontinuierlich den Echtzeit-Status der einzelnen Produktionsanlagen: arbeiten sie, an welchem Produkt, die Abweichung (+/-) vom ursprünglichen Plan usw.
Die Ausgabe
Die Ausgabe ist eine komplexe, jedoch konsolidierte Datenbank und Anzeige, die einen Überblick über die Ladezeiten von Dutzenden von Maschinen bietet – denken Sie an Dutzende Dashboards, die sowohl einheitlich als auch individuell zugänglich sind, um detaillierte Informationen abzurufen.
Die Vorteile
Die daraus entstandene Softwarelösung hilft dem Kunden, eine Ladezeit von 95 % zu erreichen, was letztendlich zu einer 50 %igen Steigerung der Effizienz und des Produktionsvolumens führt. Da die „Struktur“ der Lösung leicht zu verstehen war, ermöglichte sie eine schnelle interne Umsetzung und Nutzung.
Algorithmus 2: Überblick über die Fristen/Einhaltung der Fristen
In einem anderen Projekt, das ebenfalls in der Fertigungsindustrie angesiedelt war, wurden die Zeitpläne/Fristen für die Herstellung komplexer Produkte analysiert, mit dem Ziel, den Verantwortlichen einen klaren Überblick über den Stand der Dinge zu verschaffen und ihnen Planungssicherheit zu gewähren. Da komplexe Produkte mit komplexen Zeitplänen über mehrere Zulieferer hinweg einhergehen, beginnt unsere Softwarelösung mit dem Liefertermin eines Produkts und berechnet den Zeitplan, um diesen zu einzuhalten.
Die Eingaben
Natürlich besteht der Datensatz aus viel mehr als nur dem Lieferdatum. Aufgrund der Komplexität der Produkte („ungefähr ein halbes Auto“) besteht die erste Eingabe darin, das Produkt aufzuschlüsseln in:
- ein „übergeordnetes“ Endprodukt,
- seiner „Hierarchie“: tausende kleinere Komponenten, jede mit ihren eigenen Informationen über Anbieter, Zeitplan, Lieferbedingungen usw.,
- den Montageprozess: die tatsächlichen Vorgänge, die Zeit, die Abfolge, die Herkunft der Komponenten usw.
Diese Struktur kommt der Arbeitsweise von Planern sehr nahe und erleichtert daher den Datenimport aus bestehenden „normalen“ Quellen wie .xls-Dateien oder ERP-Systemen.
Der Algorithmus
Auf der Grundlage der eingegebenen Daten und ausgehend vom Lieferdatum berechnet der Algorithmus den Herstellungszeitraum für ein Produkt.
Die Ausgaben
Das Hauptergebnis ist ein Gantt-Diagramm mit den chronologisch auszuführenden Vorgängen, jeweils mit eigenem Startpunkt, geschätztem Zeitrahmen, möglichen Abhängigkeiten von anderen Produkten, aktuellem Status, Warnmeldungen usw. Angenommen, Ihr Endprodukt muss am 1. Dezember ausgeliefert werden – das Diagramm zeigt Ihnen, dass die Komponente A.1. bis zum 15. Februar bestellt werden muss, bis zum 31. März eingeht und dann in die Komponente C.5. einfließt, die bis zum 1. Mai fertig sein sollte usw.
Da das Diagramm sehr komplex werden kann, ist es von Vorteil, dass es vergrößert/verkleinert werden kann. Die verschiedenen Ansichten werden durch die benutzerdefinierte GUI/Grafische Benutzeroberfläche ermöglicht, z. B:
- für den Produktdesigner/Planer: Eingaben zur Unterteilung des Produkts in seine immer kleiner werdenden Teile
- für den Produktionsplaner: Zeitplan für die Herstellung, Vorgänge und Status;
- für die Betriebsleitung: umfassende Übersicht und Berichterstattung.
Die Vorteile
Ein klarer Zeitplan und Überblick über den Fertigungsprozess sorgt für zuverlässige Zeitpläne und verbindliche Fristen. Die gesamte Produktionsumgebung wird überschaubarer, mit klaren und rechtzeitig gesetzten Aktionspunkten für alle beteiligten Parteien. Das Ergebnis: keine verpassten Liefertermine und zufriedene Kunden.