In diesem Artikel werde ich ein Beispiel für eine Simulation einer diskreten Ereignissimulation in Python vorstellen. Genauer gesagt eine LKW-Transportsimulationsanimation für eine Mine unter Verwendung von SimPy und DesViz in Python. Dieses Beispiel und das DesViz-Modul wurden von Prof. Paul Corry und seinem Team entwickelt und ich teile sein Beispiel in diesem Beitrag erneut. Mit DesViz SimPy können Modellentwickler ihr Simulationsmodell animieren .
Unten finden Sie eine Animation eines SimPy-Lkw-Transportsimulationsmodells für Bergbaubetriebe.
Das Beispiel ist dokumentiert und im GitHub-Repository von Paul Corry verfügbar: https://github.com/corryp/DesViz
Wie kann DesViz für Simulationsanimationen in Python verwendet werden?
Direktes Zitieren aus der DesViz-Dokumentation:
DesViz ist eine Sammlung von Python-Klassen und -Funktionen, die asynchrone Animationen für DES -Modelle (Discrete Event Simulation) ermöglichen. Es basiert auf dem Pyglet-Paket, das die zugrunde liegende Grafikfunktionalität bereitstellt. Mit DesViz kann ein DES- Modell eine CSV-Datei schreiben, die später von DesViz interpretiert wird, um Sprites zu konfigurieren und zu verschieben, die Hintergrund- und Vordergrundobjekte in der Simulation darstellen. Jede Zeile der CSV-Datei gibt die Simulationszeit, eine Animationsanweisung und eine Reihe von Argumenten im Zusammenhang mit dieser Anweisung an. Diese Anweisungen bieten eine kompakte Methode, um das Erscheinungsbild und die Bewegungen von Sprites auf eine Art und Weise festzulegen, die in einem DES- Kontext nützlich ist.DesViz-Dokumentation von Paul Corry
SimPy-Entwickler können DesViz verwenden, um ihr Simulationsmodell in einem zweistufigen Ansatz zu animieren. Zunächst müssen sie die DesViz-Bibliothek verwenden, um Animationsdaten zu generieren und zu speichern. Als nächstes wird die Animation zum Rendern einer Animation verwendet.
Hier sind einige Beispiele dafür, was Sie mit DesViz animieren können:
- Bewegungen von Pixelpunkt zu Pixelpunkt oder entlang vordefinierter Pfade, mit automatischer Objektausrichtung
- Anpassen der Objektausrichtung, dh Animieren von Objektdrehungen
- Definieren Sie Master-Slave-Beziehungen zwischen Objekten für Animationszwecke, z. B. LKW (Master) und Anhänger (Slave).
- Fortschrittsbalken, entweder statisch oder an ein anderes Objekt angehängt (z. B. zusammen mit dem zugehörigen Objekt bewegen)
- Beschriftung, Anmerkung und Hintergrundbilder
- definierte Animationsgeschwindigkeit (Bildintervall, d. h. fps – Bilder pro Sekunde)
Unter der Haube füllt DesViz eine Datenbank (CSV-Datei) mit definierten Animationsanweisungen. Diese Anweisungen müssen in die Simulationsanwendung selbst implementiert werden. Die zugrunde liegende Datenbank wird während der Simulationsausführung gefüllt und dann zum Rendern der Animation selbst verwendet. Zu diesem Zweck stellt DesViz eine Reihe von Klassen, Methoden und Funktionen zur Verfügung.
Verwandte Inhalte
Wenn Sie mehr über die Simulation diskreter Ereignisse und die damit verbundene Modellimplementierung in Python erfahren möchten, könnten die folgenden Blogbeiträge für Sie von Interesse sein:
- Link: Liste der Software zur Simulation diskreter Ereignisse
- Link : Simulationsmethoden für SCM-Analysten
- Link: Vorgehensmodell zur Simulation diskreter Ereignisse
- Link : Jobshop SimPy Python-Simulation
- Link : Statistiken mit Salabim visualisieren (DES, Python)
Wenn Sie mehr über Simulation und ihre Anwendungsfälle in der Bergbauindustrie erfahren möchten, könnten die folgenden Artikel für Sie von Interesse sein:
- Link: Tagebausimulation zur besseren Planung
- Link : Simulation und ihre Anwendungsfälle in der Bergbauindustrie
- Link : Lösung von Mischungsproblemen in der Bergbauindustrie
- Link : Lösung des Problems der Eisenerzmischung
- Link : Analytik in der Wertschöpfungskette der Stahlproduktion
Wirtschaftsingenieur mit Interesse an Optimierung, Simulation und mathematischer Modellierung in R, SQL, VBA und Python
Leave a Reply