Hallo Forum,
anbei möchte ich euch kurz mein Problem schildern. Ich selbst bin mit meinem Latein langsam am Ende.
Kurz zur Vorgeschichte:
Im Rahmen einer HiWi-Tätigkeit an der Uni optimiere ich gerade meine Bachelorarbeit. Dabei hatte ich bereits vor knapp einem Jahr den (dynamischen) Dijkstra-Algorithmus für eine agentenbasierte Materialflusssteuerung programmiert. Ich arbeitete überwiegend mit Tabellen, da die 9.0er Version von Tecnomatix Plant Simulation ja noch nicht explizit Arrays zur Verfügung stellte. Sämtliche Methoden, Tabellen und Sonstiges für die Wegfindung relevantes habe ich als benutzerdefiniertes Attribut auf das jeweilige Fahrzeug gepackt. Das ganze funktionierte auch wunderbar, solange man die ganzen Kleinigkeiten, die so eine agentenbasierte Materialflusssteuerung mit sich bringt, beachtete. Die Methoden sowie die Tabelle zur Berechnung wurden entsprechend groß. Schlussendlich lief das Programm mit mehreren Fahrzeugen nicht so schnell, wie sich das die Professorin vorstellte. Das ganze sollte also optimiert werden:
Geschehen sollte dies durch die Verwendung von Arrays an Stelle von Tabellen. Ob dies letztlich so viel schneller ist, bezweifle ich momentan noch. Außerdem habe ich das ganze zum A*-Algorithmus umprogrammiert, so dass etwas zielorientierter nach dem kürzesten/günstigsten Weg gesucht werden kann. Doch die Programmierung mit Arrays führte von Anfang an immer wieder zu Laufzeitfehlern und Programmabstürzen.
Kann es vielleicht sein, dass die Verwendung von Arrays noch nicht so ausgereift ist in der 10.1er Version (mit der ich das ganze umprogrammierte).
Oder ist Plant Simulation evtl. damit überfordert, wenn ich z.B. in eine Matrix A (any[2,1]) zwei Vektoren A und B (jeweils any[] mit zuvor eingefügten Werten) einfüge, die Matrix A wiederum in einen Vektor C(any[]) und diesen Vektor C, sobald er mit mehreren Matrizen gefüllt ist, wieder in eine Matrix B (any[8,1]).
Auf jeden Fall kriege ich ständig irgendeinen Laufzeitfehler, dieser muss nicht immer derselbe sein und auch nicht an der gleichen Stelle auftreten. Vor allem aber (!!!) tritt das Problem auf, sofern ich mit dem Debugger arbeite und dabei von einem Haltepunkt zum nächsten springen möchte!!!
Es wäre wirklich schön, wenn irgendwer einen Ansatz hätte, wie ich das Problem beheben könnte.
Bei Bedarf lade ich die entsprechenden Methoden hoch.
An den Support dachte ich auch schon, allerdings bringt der wahrscheinlich nicht so viel wenn ich ständig verschiedene Laufzeitfehler bekomme bzw. diese an unterschiedlichen Stellen in der Methode auftreten.
Anbei noch einige Screenshots mit entsprechenden Laufzeitfehlern.
Besten Dank schon mal im Voraus. Hoffentlich könnt ihr mir schnell helfen...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP