Roadmap

Diskrete Mathematik, Stochastik, lineare und nichtlineare Optimierung, dynamische Optimierung, kombinatorische Optimierung, dynamische Programmierung, Heuristisches Verfahren, Entscheidungstheorie, Spieltheorie, Graphentheorie, Warteschlangentheorie, Simulation, Verteilungstypen, Zufallsvariable, Monte-Carlo-Methode, Markov-Prozesse, Algorithmen…

Algorithmen & Co. im Alltag

Wer denkt, diese mathematische Komplexität hat mit Alltag nichts zu tun, irrt. Aber genau das fasziniert an diesem Thema: Die Komplexität so zu verbergen, dass sie meist gar nicht in das Bewusstsein der Anwender gelangt.

Oder wer – außer natürlich Mathematiker und speziell OR-Experten – macht sich schon Gedanken darüber, wie der Weg des soeben eingetroffenen Postpaketes errechnet wurde? Oder was für komplexe Berechnungen hinter Bahn-, Bus- und vor allem Flugplänen stecken? Denn hierbei gilt es eine Vielzahl an Variablen (häufig viele Millionen) zu berücksichtigen, um ein optimales Ergebnis zu erhalten. Das Bedürfnis des Passagiers jedoch ist es, einfach einzusteigen und pünktlich am gewünschten Ziel anzukommen.

Viele Planungen – ein Ziel

„Das Ziel erreichen“ ist auch der Grund, warum wir heute tagtäglich das Navigationsgerät in unseren Autos nutzen. Es ist so einfach: Das Ziel eingeben, die Navigation starten und eine Stimme sagt uns, was wir als nächstes zu tun haben.

Wenn wir aber doch einmal einen Blick auf eine Straßenkarte werfen, wird uns bewusst, wie problematisch die Planung der optimalen Route ist. Schon bei einer längeren Strecke mit nur einem einzigen Ziel – beispielsweise vom Münchner Hauptbahnhof zum Hamburger Flughafen – gibt es unzählige Alternativen. Und was uns der Blick auf die Karte erst gar nicht verrät sind Ampelkreuzungen, Einbahnstraßen, Sperrungen, Staus etc.

Das Navigationsgerät nimmt uns dieses Problem ab – und zwar mit Hilfe von Operations Research. Hierzu verwendet der Routenplaner Algorithmen, die auch in der OR zum Einsatz kommen. Und das funktioniert so: Alle Berechnungen basieren auf einem Modell. Das Navigationssystem beschränkt sich dabei auf die Aspekte, die für die Modellierung entscheidend sind – also Straßentypus, Geschwindigkeitsregeln, Sperrungen oder Staus. Andere Aspekte werden je nach Planung vernachlässigt: z. B. Motorisierung, Wetter, Pausen… So filtert das Navigationssystem die kürzeste bzw. die schnellste Verbindung zwischen zwei Orten heraus, damit uns die Stimme letztendlich sagt: „Sie haben Ihr Ziel erreicht!“

Egal, ob es um kurze Routen für Autofahrer, Zugverbindungen mit wenigen Umstiegen oder schnelle Paketlieferungen geht: Optimierungsverfahren, die mit Modellen und Algorithmen rechnen, haben letztlich immer dasselbe Ziel: ein den Anwenderwünschen am besten entsprechendes Ergebnis.

Mehr oder weniger komplex?

Dass Optimierungsverfahren äußerst komplex sind, steht außer Frage. Beim Entwicklungsprozess aber wird die Frage nach der Sichtbarkeit der Komplexität zur Gradwanderung: Wieviel Komplexität ist dem Anwender zumutbar? Wieviel Komplexität wünscht sich der Anwender selbst? Welche Einstellungen soll ein Anwender vornehmen können – und wieviel muss dafür über die internen Berechnungsmethoden bekannt sein?

Bei der Zusammenarbeit im Entwicklungsprozess neigen zukünftige Anwender dazu, das Optimierungsproblem und somit die Komplexität an die Oberfläche zu führen. Natürlich soll der Anwender in der Lage sein, Dateneingaben zu ändern bzw. Eingabefehler zu korrigieren. Außerdem ermöglichen Szenarioanalysen das Ausprobieren verschiedenster Daten. Und geben dem Anwender so ein Gefühl der Sicherheit die Software zu kontrollieren und zu beherrschen.

Die Komplexität eines Verfahrens ist weitaus größer, je mehr Entscheidungen durch das Verfahren selbst getroffen werden. Das Ergebnis hierbei sind jedoch häufig bessere Entscheidungen, da es dem Entwicklungsteam möglich ist, gründlicher zu konzipieren und zu prüfen. Entscheidungen, die erst vom Benutzer getroffen werden, führen oftmals zu keiner sinnvollen Anwendung, da dann die Zeit fehlt für gründliches Abwägen und Prüfen der Eingabe.

Die Erfahrungen der Vergangenheit zeigen, dass OR-Einbettung in Software am erfolgreichsten ist, wenn die Komplexität verborgen bleibt und die Oberfläche einfach gehalten ist.

Zurück zum Navi…

Auf unser Beispiel des Navigationsgerätes übertragen bedeutet dies: Die Anwendung des Routenplaners ist simpel. Ein paar Auswahl- und Eingabemöglichkeiten hat der Anwender – in diesem Fall der Autofahrer – trotzdem: Möchte ich die Autobahn vermeiden? Gibt es ein Zwischenziel? Oder möchte ich doch vielleicht ganz woanders hin? Taucht plötzlich ein Stau auf, wird der Autofahrer vor die Wahl gestellt, die Route beizubehalten oder eine neue Berechnung durchführen zu lassen. Die Entscheidung hierzu liegt letztendlich beim Anwender.

Wäre beim Navigationsgerät die Komplexität nicht so gut verborgen, und die Anwendung nicht so einfach, könnte Folgendes passieren: Vor jeder Abbiegung fragt die Stimme: „Möchten Sie diese Straße wirklich fahren?“ und vielleicht noch: „Mit welcher durchschnittlichen Geschwindigkeit möchten Sie diese Straße befahren?“

Car navigation

Jedes Mal wäre eine Eingabe vom Anwender nötig. Doch diesem fehlten Zeit und nötige Hintergrundinformationen, um in diesem Augenblick die beste Wahl treffen zu können.

Also überlassen wir diese Entscheidungen dann doch lieber dem Navigationsgerät mit all seiner Komplexität und seinen mathematischen Möglichkeiten. Und die Möglichkeiten werden immer größer: die neueste Generation der Routenplaner lernt das Verhalten des Fahrers – z. B. die „normale“ Geschwindigkeit auf der Autobahn – und berücksichtigt dies bei zukünftigen Berechnungen.

OR-Einbettung in OPTANO

Die Einbettung von Operations Research in Software ist am erfolgreichsten, wenn die Anwendung im Ergebnis richtig einfach und leicht verständlich bedienbar ist. Im Entwicklungsprozess für OPTANO Projekte können zukünftige Anwender hier voll und ganz auf das Wissen und die Erfahrungen unserer OR-Experten vertrauen. So dass im Ergebnis die Softwareoberfläche genau zur Anwendung passt.