Neu in meinem Wiki: Simulationen mit SimPy und Mesa

Simulation
SimPy
Mesa
Dynamische Systeme
Autor:in

Jörg Kantel

Veröffentlichungsdatum

20. Mai 2023

Während einer eher zufälligen Diskussion kam meine Erinnerung an die 1972 veröffentlichte Studie »Die Grenzen des Wachstums. Bericht des Club of Rome zur Lage der Menschheit« wieder hoch. Ich hatte – wie viele andere – das Buch seinerzeit verschlungen und das dort verwendete Weltmodell hatte damals schon meine Begeisterung für Modellbildung und Simulation geweckt. Dies brachte mich darauf, daß ich zu diesem Thema schon lange nicht mehr gearbeitet hatte und ich beschloß, dies zu ändern.

Wie immer in solchen Fällen kam bei mir natürlich zuerst die Frage nach der zu verwendenden Software hoch. Geneigte Leserinnen und Leser des Schockwellenreiters wissen, daß die Antwort bei mir natürlich nur Python heißen kann, doch welche Bibliotheken kann oder soll ich verwenden? Eine kurze Recherche ließ mich auf SimPy und Mesa stoßen.

Simpy (nicht zu verwechseln mit SymPy, einem Python-Paket für symbolische Mathematik) ist ein prozessbasiertes Simulationsframework für diskrete Ereignisse, das auf Standard-Python basiert. Es ermöglicht Benutzern, aktive Komponenten wie Kunden, Fahrzeuge oder Agenten als einfache Python-Generatorfunktionen zu modellieren. SimPy wird als Open-Source-Software unter der MIT-Lizenz veröffentlicht.

Zu SimPy sind mir folgende Tutorials untergekommen:

Und diese Links runden das Ergebnis ab:

Dann ist da noch Mesa, ein ist ein freies (Apache-2-Lizenz), agentenbasiertes Modellierungs- (oder ABM-) Framework in Python. Damit können Nutzer mithilfe integrierter Kernkomponenten (zum Beispiel räumlicher Raster und Agentenplaner) oder benutzerdefinierter Implementierungen schnell agentenbasierte Modelle erstellen. Mesas Ziel ist es, ein Python 3-basierte Gegenstück zu NetLogo, Repast oder MASON zu sein.

Zu Mesa gibt es eine Reihe von YouTube-Videos (die hebe ich mir jedoch für den nächsten Freitag auf). Daneben gab das Netz auch noch folgende Tutorials frei:

Die Mesa-Homepage ist auf ReadTheDocs zu finden und natürlich besitzt die Bibliothek ebenfalls ein GitHub-Repositorium.

SimPy und Mesa haben erst einmal je eine Seite in meinem Wiki spendiert bekommen. Ich möchte damit in der nächsten Zeit etwas Sinnvolles anstellen, dazu habe ich erst einmal meine Bibliothek geplündert. Neben dem Originalbericht an den Club of Rome haben meine Regale auf die Schnelle diese Bücher freigegeben:

Und dann natürlich alles von Frederic Vester, was meine Bibliothek hergab – und das ist nicht wenig. Vester war ebenfalls (seit 1993) Mitglied im Club of Rome und sein Buch Die Kunst vernetzt zu denken – Ideen und Werkzeuge für einen neuen Umgang mit Komplexität wurde 1999 als der »neue Bericht an den Club of Rome« veröffentlicht (ich besitze die Taschenbuchausgabe, die 2002 aktualisiert und erweitert bei dtv in München herauskam).

Das ist doch mal wieder ein Programm, nicht nur für mich, sondern ich hoffe auch für Euch. Und habt Nachsicht mit den Kids, die sich derzeit an den Asphalt festkleben. Denn seit dem ersten Bericht an den Club of Rome vor über 50 Jahren hat sich in der Politik nichts verändert (wie auch? Jede Veränderung stellt die Systemfrage). Die Kids sind daher zu recht sauer.