Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1516:logistische_probleme:simulationsprogramm [2016/02/24 15:18] jakobfaustus [Variante von Stefan] |
ws1516:logistische_probleme:simulationsprogramm [2016/05/10 14:46] (aktuell) |
||
---|---|---|---|
Zeile 81: | Zeile 81: | ||
===== Variante von Stefan ===== | ===== Variante von Stefan ===== | ||
- | Stefans Programm | + | Nun ist es jedoch viel verschenkte Rechenzeit, die Züge Schritt für Schritt zu simulieren, wenn sie a) sehr vorhersehbar unterwegs sind (denn sie können sich ja nicht überholen) und b) nur der Endzustand interessiert, die Zwischensituationen werden nie benötigt. |
+ | Stefans Programm arbeitet mit linearer Mathematik, indem es vorausberechnet, wann sich zwei Züge treffen würden und verzichtet somit auf viele Berechungsschritte. Dies ermöglicht das Berechnen auch größerer Probleme in vertretbarer Laufzeit, was mit "Simulieren" nur bedingt der Fall war. | ||
<code python> | <code python> | ||
+ | EPSILON = 1e-10 | ||
+ | |||
def passiert(trajectory, ort): | def passiert(trajectory, ort): | ||
'''Gibt den Zeitpunkt und die Intervalnummer i zurück, zu dem | '''Gibt den Zeitpunkt und die Intervalnummer i zurück, zu dem |