Voraussetzungen
keine
Lerninhalte
Einblick in die mathematische Modellierung
Kritisches Hinterfragen von Modellannahmen
Das Stauproblem - Motivation zur Benutzung dieses Buches#
Modellbildung und Simulation verbindet eine Vielzahl von Disziplinen, von grundlegender Mathematik über numerische Lösungsalgorithmen und Computernumerik hin zu der Syntax verschiedener Programmiersprachen. Dabei fällt es manchmal schwer, den Überblick zu behalten. Dieses Übungsbuch soll dabei helfen, die Modellbildung und Simulation durch ihre Schichten hindurch zu durchdringen und sie (be-)greifbar zu machen.
Als Beispiel hierfür nehmen wir uns eine Extremwertaufgabe vor. Diese spielen in der Praxis oft eine große Rolle.
Aufgabenstellung#
Angenommen das Schweizer Verkehrsministerium stellt eine Anfrage an Sie, die bestehenden Tempolimits Ihrer Autobahnen zu überprüfen, unter dem konkreten Aspekt:
“Wie können möglichst viele Fahrzeuge eine Engstelle, z.B. einen Tunnel passieren?”
Nun ist Ihre Expertise gefragt!
Extremwertaufgaben in fünf Akten#
1. Parameterauswahl und Modellreduktion#
Um diese Frage beantworten zu können, brauchen wir ein Modell. Aber welche Größen kommen dabei in Betracht? Zum Beispiel können wir uns fokussieren auf
Länge und Geschwindigkeit der Fahrzeuge
Zusammensetzung der Fahrzeugarten (PKW vs. LKW)
Anzahl der Fahrspuren, Zu und Abfahrten
Sichtverhältnisse, Fahrbahnbeschaffenheit
(Sicherheits-) Abstand zwischen den Fahrzeugen
…und potentiell einige mehr.
Hierbei kommt die Frage auf: Wie können alle Parameter in diesem Modell berücksichtigt werden?
Das ist gar nicht unbedingt nötig, da ein Modell die Natur aufs Nötig(st)e reduziert. Wir vereinfachen daher weiter auf ein mathematisch behandelbares Optimierungsproblem unter den Annahmen
die Fahrbahn sei einspurig
alle Fahrzeuge seien PKWs gleicher Länge
alle Fahrzeuge fahren mit der gleichen Geschwindigkeit
alle Fahrer:innen halten den gleichen Sicherheitsabstand ein
Das ist für einen langen Tunnel in den Alpen nicht mal allzu unrealistisch…
Hinweis
Dies entspricht dem ersten Schritt im Lösungsschema von Extremwertaufgaben: “Vereinfachtes Modell der Natur erstellen”
2. Mathematische Formulierung der Fragestellung#
Was wir uns eigentlich fragen, ist: Was ist besser…?
1. Hohes Tempo und großer Sicherheitsabstand
oder
2. Niedriges Tempo und kleiner Sicherheitsabstand
Um eine mathematische Funktion für unser Tunnel Modell aufstellen zu können, müssen wir nur noch etwas konkreter fragen:
“Bei welcher Geschwindigkeit ist der Verkehrsfluss \(F \left[\frac{\text{Fahrzeuge}}{\text{h}}\right]\), d.h. die Anzahl der passierenden Fahrzeuge pro Stunde, am größten?”
Da wir das Modell bereits genügend vereinfacht haben, bleiben nur drei Variablen:
Geschwindigkeit \(v \,\text{[m/s]}\)
Abstand der Fahrzeuge \(s \,\text{[m]}\)
Fahrzeuglänge \(L \,\text{[m]}\)
Diese können wir in eine mathematische Funktion für den Verkehrsfluss (in SI-Einheiten) überführen.
Hinweis
Dies entspricht dem zweiten Schritt im Schema zur Lösung von Extremwertaufgaben: “Die Ermittlung der Zielfunktion”
3. Konstruktion von Nebenbedingungen#
Um die Gleichung besser lösen zu können, können wir Nebenbedingungen konstruieren, welche die Variablen in Beziehung zueinander setzen:
Lege die Fahrzeuglänge \(L\) als Konstante fest, z.B. \(L=4.5 \text{ m}\).
Für den Sicherheitsabstand kennen wir aus der Fahrschule die Faustregeln:
“Bremsweg-Regel” \(s(v) = \frac{v}{10} \cdot \frac{v}{10} = \frac{v^2}{100}\)
“Tacho-Halbe-Regel” \(s(v) = \frac{v}{2}\)
Diese Regeln sind Faustregeln, bei denen die Einheiten als umgeformt angenommen werden. Daher formulieren wir sie in SI-Einheiten um:
“Bremsweg-Regel” \(s\left(v\,\left[\frac{\text{m}}{\text{s}}\right]\right) = \frac{(v\cdot 3.6\,\text{s})^2}{100\,\text{m}}\)
“Tacho-Halbe-Regel” \(s\left(v\,\left[\frac{\text{m}}{\text{s}}\right]\right) = \frac{v\cdot 3.6\,\text{s}}{2}\)
Mithilfe der “Bremsweg-Regel” und der konstanten Fahrzeuglänge vereinfachen wir die Funktion zu:
Hinweis
Dies entspricht dem dritten Schritt im Lösungsschema: “Eliminierung von Variablen durch Nebenbedingungen”
4. Mathematische Lösung des Modells#
Einschub: Definition und Sätze zu Extremwerten
Definition: Ein lokales Maximum (Minimum) ist der Wert der Funktion \(f\) an einer Stelle \(x_0\), wenn in einer \(\varepsilon\) Umgebung von \(x_0\) die Funktion keine größeren (kleineren) Werte annimmt.
Notwendige Bedingung für ein lokales Extremum: Die differenzierbare Funktion \(f\) besitzt in \(x_0\) eine waagerechte Tangente, d.h. \(f'(x_0)=0\).
Hinreichende Bedingung für ein lokales Extremum: Gilt für die mindestens zweimal differenzierbare Funktion \(f\)
\(f'(x_0)=0\) und \(f''(x_0)<0\), dann hat \(f\) dort ein lokales Maximum.
\(f'(x_0)=0\) und \(f''(x_0)>0\), dann hat \(f\) dort ein lokales Minimum.
Für die Gleichung setzen wir also \(F' = 0\) und es muss gelten \(F'' < 0\).
Die Berechnung von \(F'(v)\) finden Sie hier zum Aufklappen (Click to show)!
\(F'\) erhalten wir mit der Quotientenregel:
Somit ergibt sich:
Die Berechnung von \(F''(v)\) finden Sie hier ebenfalls zum Aufklappen!
\(F''\) erhalten wir ebenfalls mit der Quotientenregel und zusätzlich der Kettenregel:
Somit ergibt sich: \(F''(5.89) = -0.019\)
Prüfung mit \(F''(v_1)\) (\(v_2\) liegt außerhalb des Definitionsbereichs) zeigt, dass für \(v_1 = +5.89\,\frac{\text{m}}{\text{s}} = +21.21 \,\frac{\text{km}}{\text{h}}\) ein lokales Maximum vorliegt.
Hinweis
Dies entspricht dem vierten Schritt im Lösungsschema: “Bestimmung der lokalen Extremstellen”
5. Prüfung der Gültigkeit und Randstellen#
Es bleiben noch zwei letzte Tests:
Liegt die oben errechnete Lösung im Definitionsbereich von \(F\)? \(\rightarrow\) JA!
Am Rand des Definitionsbereichs könnten noch (globale) “Randextrama” liegen. Ist dies hier der Fall? \(\rightarrow\) NEIN!
Das Ganze geht auch ganz einfach in Octave:
F = @(V) -(V)./(4.5 + ((V*3.6).^2)/100); % set F as negative to be able to use minimize function
x = fminbnd (F, 0, 200)
Fmax = -F(x)
x = 5.8926
Fmax = 0.6547
Hinweis
Dies entspricht dem fünften Schritt im Lösungsschema: “Gültigkeits- und Randstellen Prüfung”
Damit erhalten wir die Lösung: Bei \(v=21.21 \frac{\text{km}}{\text{h}}\) wird ein maximaler Fahrzeugdurchsatz von \(F\left(21.21 \frac{\text{km}}{\text{h}}\right) = 0.6547 \frac{\text{Fahrzeuge}}{\text{s}} = 2357 \frac{\text{Fahrzeuge}}{\text{h}}\) erreicht.
Physikalisches Know-How#
Bevor wir die Ergebnisse an das Schweizer Verkehrsministerium übergeben, müssen wir zuletzt noch fragen: Als wie realistisch schätzen wir diese Lösung ein?
Dazu variieren wir die Faustformel für den Sicherheitsabstand zur “Tacho-Halbe-Regel”. Daraus ergibt sich
\(F\) hat also keine lokalen Extrema. Die Überprüfung der Randstellen liefert
\(F(0)=0\)
\(\lim_{v\to\infty}{F(v)}=\lim_{v\to\infty}{\frac{v}{4.5\,\text{m} + \frac{v\cdot 3.6 \,\text{s}}{2}}} = 0.555 \frac{\text{Fahrzeuge}}{\text{s}} = 2000 \frac{\text{Fahrzeuge}}{\text{h}}\)
Der Grenzwert bei 2. wird anhand der Regel von Bernoulli-L’Hospital berechnet.
Show code cell source
% graphische Darstellung von F(v) für beide Abstandsmodelle
graphics_toolkit("gnuplot")
vmax = 200;
dv = 1;
v = linspace(0,vmax,vmax*dv);
L = 4.5;
s_bremsweg = (v.^2)/100;
F_bremsweg = (1000*v)./(L + s_bremsweg);
s_tachohalbe = v/2;
F_tachohalbe = (1000*v)./(L + s_tachohalbe);
plot(v,F_bremsweg,"linewidth",7,v,F_tachohalbe,"linewidth",7)
xlabel ("Geschwindigkeit [km/h]");
ylabel ("Fahrzeugdurchsatz [Fahrzeuge/h]");
h = legend ("Bremsweg-Modell", "Tacho-Halbe-Modell");
legend (h, "location", "northeast");
Die Modelle liefern also sehr unterschiedliche Ergebnisse, mit denen wir noch nicht voll zufrieden sein können. Daraus ergibt sich die Frage:
Können wir einfachen Mitteln zu einer deutlich realistischeren Beschreibung des Problems kommen?
Die Antwort: Ja, durch etwas mehr Gehirnschmalz und Einsatz von ein wenig mehr Physik.
Verbesserung des Modells#
Mehr Physik
Tatsächlich besteht der Anhalteweg u.a. aus dem Reaktionsweg und dem Bremsweg. Letzterer kann mit dem realen Beschleunigungsgesetz genauer berechnet werden: \(s_\text{B} = \frac{v^2}{2\cdot a}\) (Verzögerung \(a\) = negative Beschleunigung!)Mehr Gehirnschmalz
Bisher wird beim Sicherheitsabstand so getan, als ob im Bremsfall der Vorfahrende instantan von \(v\) auf \(0 \,\frac{\text{m}}{\text{s}}\) stoppt. Dessen Bremsweg \(s_{\text{VF}} = \frac{v^2}{2\cdot a_{\text{VF}}}\) wird in der Fahrpraxis oft vom eigenen Bremsweg abgezogen.
Wenn man beides berücksichtigt, ergibt sich mit Hilfe der Reaktionszeit \(t_\text{R}\) und der Verzögerung \(a\) als neuer Sicherheitsabstand \(s\):
Wieder müssen wir mit Nebenbedingungen (hier: Konstanten) das Problem vereinfachen:
\(t_\text{R}=1 \text{ s}\)
\(a=30 \,\frac{\text{m}}{\text{s}^2}\)
Show code cell source
% graphische Darstellung von F(v) für die drei Abstandsmodelle
graphics_toolkit("gnuplot")
vmax = 200/3.6;
dv = 1;
v = linspace(0,vmax,vmax*dv);
L = 4.5;
s_bremsweg = ((v*3.6).^2)/100;
F_bremsweg = v./(L + s_bremsweg);
s_tachohalbe = v*3.6/2;
F_tachohalbe = v./(L + s_tachohalbe);
t_R = 1;
a_selbst = 6;
a_VF = 7;
s_physik = v*t_R + v.^2/(2*a_selbst) - v.^2/(2*a_VF);
F_physik = v./(L + s_physik);
[maxF,bestv] = max(F_physik);
maxF
bestv = bestv/dv
plot(v,F_bremsweg,"linewidth",7,v,F_tachohalbe,"linewidth",7,v,F_physik,"linewidth",7)
xlabel ("Geschwindigkeit [m/s]");
ylabel ("Fahrzeugdurchsatz [Fahrzeuge/s]");
h = legend ("Bremsweg-Modell", "Tacho-Halbe-Modell", "Angepasstes Modell");
legend (h, "location", "northeast");
maxF = 0.68357
bestv = 20
Also wird bei \(20\,\frac{\text{m}}{\text{s}} = 72 \,\frac{\text{km}}{\text{h}}\) der maximale Fahrzeugdurchsatz \(F\left(v = 71 \,\frac{\text{km}}{\text{h}}\right) = 0.6836 \,\frac{\text{Fahrzeuge}}{\text{s}} = 2461 \,\frac{\text{Fahrzeuge}}{\text{h}}\) erreicht.
Zusammenfassung#
Das neue Modell kommt den tatsächlichen Tempolimits schon recht nahe. Damit könnte man dem Schweizer Verkehrsministerium durchaus Rat geben!
Das Lösen von solchen Extremwertaufgaben besteht also aus fünf Schritten, die wir alle hier kennengelernt haben:
Vereinfachtes Modell der Natur erstellen
Die Ermittlung der Zielfunktion
Eliminierung von Variablen durch Nebenbedingungen
Bestimmung der lokalen Extremstellen
Gültigkeits- und Randstellen-Prüfung
Außerdem haben wir eine wichtige Lektion gelernt:
Für eine gute Simulation ist ein Bewusstsein für die Modellannahmen entscheidend.
Ausblick#
In dieser Lösung sind natürlich einige Modellannahmen getroffen worden, die der Realität nicht standhalten, wie variierende Abstände und riskante Fahrweisen.
Ein sehr bekanntes Modell zur Verkehrssimulation ist das Nagel-Schreckenberg-Modell. Damit können Phänomene wie der “Stau-aus-dem-nichts” oder Knotennetze mit Kreuzungen und Ampelschaltungen einfach simuliert werden. Ein Beispiel dafür finden Sie in dem Kapitel Verkehrssimulation mit zellulären Automaten wieder.
Eine weitere Möglichkeit, Verkehr zu simulieren, ist mit Partiellen Differentialgleichungen. Diese lernen Sie in dem Kapitel Verkehrssimulation mit finiten Volumen kennen.