Der Prozess der mathematischen Modellierung

Ein charakteristisches Merkmal der heute entstehenden mathematischen Modelle ist ihre Komplexität, die sich aus der Komplexität der zu modellierenden Objekte ergibt. Dies führt zu immer aufwendigeren Modellen und zur Notwendigkeit, gleichzeitig auf mehrere Theorien aus verschiedenen Wissensgebieten zurückzugreifen sowie moderne Berechnungsmethoden und Rechnertechnik zur Gewinnung und Analyse der Simulationsergebnisse einzusetzen. Bei komplexen Objekten ist es in der Regel unmöglich, alle Anforderungen innerhalb eines einzigen Modells zu erfüllen. Stattdessen muss ein ganzes Spektrum von Modellen desselben Objekts geschaffen werden (in manchen Fällen ein hierarchisches System „verschachtelter“ Modelle), von denen jedes am besten für die Lösung der ihm jeweils zugewiesenen Aufgaben geeignet ist.

Die Notwendigkeit, Modelle in großem Umfang zu konstruieren, erfordert die Entwicklung eines Regel- und Vorgehenssystems, das die Kosten der Modellentwicklung senkt und die Wahrscheinlichkeit von Fehlern verringert, die sich später nur schwer beseitigen lassen. Ein solches Regelwerk könnte man als Technologie zur Erstellung mathematischer Modelle bezeichnen.

Der Prozess der Konstruktion eines beliebigen mathematischen Modells lässt sich als eine Abfolge von Phasen darstellen:

  1. Untersuchung des zu modellierenden Objekts und Erstellung des Pflichtenhefts für die Modellentwicklung (inhaltliche Problemformulierung);
  2. Konzeptionelle und mathematische Formulierung der Aufgabe;
  3. Qualitative Analyse und Überprüfung der Korrektheit des Modells;
  4. Auswahl und Begründung der Lösungsmethoden;
  5. Gewinnung der Lösung;
  6. Entwicklung des Lösungsalgorithmus und Untersuchung seiner Eigenschaften; Umsetzung des Algorithmus als Software;
  7. Validierung des Modells;
  8. Praktische Anwendung des konstruierten Modells.

Mathematische Modelle — insbesondere solche, die numerische Methoden und Rechnertechnik einsetzen — erfordern für ihre Konstruktion erhebliche intellektuelle, finanzielle und zeitliche Ressourcen. Daher wird die Entscheidung, ein neues Modell zu entwickeln, nur dann getroffen, wenn es keine einfacheren Wege gibt, die anstehenden Probleme zu lösen (zum Beispiel durch Modifikation eines bestehenden Modells).

Der Bedarf an einem neuen Modell kann im Zusammenhang mit wissenschaftlicher Forschung entstehen, insbesondere an der Schnittstelle verschiedener Wissensgebiete. Sobald die Entscheidung zur Konstruktion eines neuen mathematischen Modells getroffen ist, sucht der Auftraggeber ein Team für die Durchführung der Arbeiten. In der Regel gehören dem Projektteam Fachleute unterschiedlicher Ausrichtung an: angewandte Mathematiker, Fachexperten, die mit dem zu modellierenden Objekt gründlich vertraut sind, sowie Softwareentwickler. Sobald die Entscheidung zur Erstellung des Modells bestätigt und das Projektteam gebildet ist, beginnt die Untersuchungsphase. Das Hauptziel dieser Phase besteht darin, eine inhaltliche Formulierung der Modellierungsaufgabe zu erarbeiten. Die inhaltliche Problemformulierung ist eine in allgemeinverständlicher Sprache formulierte Liste der zentralen Fragen zum Modellierungsobjekt, auf die der Auftraggeber eine Antwort erhalten möchte.

Die Erstellung der Liste von Fragen, die das neue Modell beantworten soll, ist häufig selbst ein eigenständiges Problem, das Fachleute mit besonderen Kenntnissen und Fähigkeiten erfordert. Sie müssen nicht nur den Fachbereich der Modellierung gründlich verstehen und die Möglichkeiten der modernen numerischen Mathematik und Rechnertechnik kennen, sondern auch in der Lage sein, mit Menschen zu kommunizieren — um die praktischen Experten, die ein intuitives „Gespür“ für das Modellierungsobjekt und die Feinheiten seines Verhaltens besitzen, zum Sprechen zu bringen. Zu solchen Fachleuten gehören beispielsweise Systemanalytiker, Systems-Engineering-Spezialisten und Operations-Research-Experten.

Auf Grundlage einer Analyse aller gesammelten Informationen muss die Person, die das Problem formuliert, die Anforderungen an das künftige Modell so festlegen, dass sie einerseits den Auftraggeber zufriedenstellen und andererseits die Umsetzung des Modells innerhalb des vorgegebenen Zeit- und Budgetrahmens ermöglichen. Systemanalytiker (bzw. Operations-Research-Experten) müssen in der Lage sein, aus einer großen Menge locker strukturierter und vielfältiger Informationen über das Modellierungsobjekt sowie aus den verschiedenen, oft vage formulierten Wünschen und Anforderungen des Auftraggebers, das Wesentliche herauszufiltern, das tatsächlich umgesetzt werden kann.

Auf Grundlage der gesammelten Informationen über das Modellierungsobjekt formuliert der Systemanalytiker (bzw. Ingenieur, Operations-Research-Experte) gemeinsam mit dem Auftraggeber die inhaltliche Problemformulierung, die in der Regel noch nicht endgültig ist und im Verlauf der Modellentwicklung präzisiert und weiter ausgearbeitet werden kann. Alle nachfolgenden Anpassungen und Änderungen der inhaltlichen Formulierung sollten jedoch von geringfügiger, nicht grundsätzlicher Natur sein.

Das gesamte während der Untersuchung gesammelte Material — das angesammelte Wissen über das Objekt, die inhaltliche Problemformulierung, zusätzliche Anforderungen an die Modellumsetzung und die Darstellung der Ergebnisse — wird in Form eines Pflichtenhefts für Entwurf und Entwicklung des Modells dokumentiert. Das Pflichtenheft stellt das abschließende Dokument der Untersuchungsphase dar. Je vollständiger die während der Untersuchung gesammelten Informationen über das Objekt sind, desto klarer lässt sich die inhaltliche Problemstellung formulieren, desto umfassender können gesammelte Erfahrungen und Kenntnisse berücksichtigt werden und desto mehr Schwierigkeiten lassen sich in den folgenden Phasen der Modellentwicklung vermeiden.

Im Unterschied zur inhaltlichen Formulierung wird die konzeptionelle Formulierung der Modellierungsaufgabe in der Regel von den Mitgliedern des Projektteams ohne Beteiligung von Vertretern des Auftraggebers erarbeitet, und zwar auf Grundlage des in der vorangegangenen Phase entwickelten Pflichtenhefts sowie unter Nutzung des verfügbaren Wissens über das Modellierungsobjekt und der Anforderungen an das künftige Modell. Die Analyse und gemeinsame Diskussion aller verfügbaren Informationen über das Modellierungsobjekt durch die Teammitglieder ermöglicht es, ein konzeptionelles Modell des Objekts zu bilden — eine Synthese der von jedem Teammitglied entwickelten kognitiven Modelle.

Die konzeptionelle Formulierung der Modellierungsaufgabe ist eine Liste der für den Auftraggeber interessanten zentralen Fragen, ausgedrückt in den Begriffen konkreter Fachdisziplinen, zusammen mit einem Satz von Hypothesen über die Eigenschaften und das Verhalten des Modellierungsobjekts.

Die größten Schwierigkeiten bei der Ausarbeitung der konzeptionellen Formulierung treten bei Modellen auf, die an der Schnittstelle verschiedener Disziplinen liegen. Unterschiede in Traditionen, Begriffen und Sprachen, die zur Beschreibung derselben Objekte verwendet werden, stellen bei der Erstellung interdisziplinärer Modelle sehr ernsthafte Hindernisse dar.

Eine abgeschlossene konzeptionelle Formulierung ermöglicht die Erstellung der mathematischen Formulierung der Modellierungsaufgabe, die eine Reihe mathematischer Beziehungen umfasst, die das Verhalten und die Eigenschaften des Modellierungsobjekts beschreiben.

Die mathematische Formulierung der Modellierungsaufgabe ist die Gesamtheit der mathematischen Beziehungen, die das Verhalten und die Eigenschaften des Modellierungsobjekts beschreiben.

Ein mathematisches Modell gilt als korrekt, wenn alle Prüfverfahren mit positivem Ergebnis durchgeführt wurden: Dimensionsanalyse, Prüfung der Größenordnungen, Prüfung der Art der Abhängigkeiten, Analyse von Grenzfällen, Randbedingungen, physikalische Bedeutung und mathematische Abgeschlossenheit. Die mathematische Formulierung ist noch abstrakter als die konzeptionelle, da sie das ursprüngliche Problem auf ein rein mathematisches Problem reduziert, für das gut ausgearbeitete Lösungsmethoden existieren.

Alle Methoden zur Lösung der Aufgaben, die den „Kern“ mathematischer Modelle bilden, lassen sich in analytische und algorithmische (numerische) Methoden einteilen.

Es sei angemerkt, dass bei der Verwendung analytischer Lösungen zur Gewinnung numerischer Ergebnisse häufig auch die Entwicklung entsprechender, auf Computern implementierter Algorithmen erforderlich ist.

Die Ausgangslösung nimmt in diesem Fall jedoch die Form eines analytischen Ausdrucks (oder eines Satzes von Ausdrücken) an. Auf algorithmischen Methoden beruhende Lösungen sind demgegenüber grundsätzlich nicht auf exakte analytische Lösungen des betreffenden Problems zurückführbar.

Die Wahl einer bestimmten Forschungsmethode hängt in hohem Maße von der Qualifikation und Erfahrung der Mitglieder des Projektteams ab. Analytische Methoden sind für die anschließende Analyse der Ergebnisse bequemer, lassen sich jedoch nur auf relativ einfache Modelle anwenden. Lässt das mathematische Problem (selbst in vereinfachter Formulierung) eine analytische Lösung zu, so ist diese einer numerischen Lösung zweifellos vorzuziehen.

Algorithmische Methoden reduzieren das Problem auf einen Algorithmus, der mithilfe von Rechnertechnik ein rechnerisches Experiment durchführt. Die Genauigkeit der Modellierung in einem solchen Experiment hängt entscheidend von der gewählten Methode und ihren Parametern ab. Algorithmische Methoden sind in der Regel aufwendiger umzusetzen und erfordern von den Mitgliedern des Projektteams fundierte Kenntnisse der numerischen Mathematik, eine umfangreiche Bibliothek spezialisierter Software sowie leistungsfähige Rechenressourcen.

Numerische Methoden sind nur auf korrekt gestellte mathematische Probleme anwendbar, was ihren Einsatz in der mathematischen Modellierung erheblich einschränkt. Allen numerischen Methoden gemeinsam ist die Reduktion des mathematischen Problems auf ein endlichdimensionales Problem. Dies wird meist durch Diskretisierung des ursprünglichen Problems erreicht — das heißt durch Ersetzen von Funktionen eines kontinuierlichen Arguments durch Funktionen eines diskreten Arguments. Die Anwendung jeder numerischen Methode führt unvermeidlich zu Fehlern in den Ergebnissen. Es lassen sich drei Hauptkomponenten des bei der numerischen Lösung des ursprünglichen Problems auftretenden Fehlers unterscheiden: der inhärente Fehler, der mit der ungenauen Angabe der Eingangsdaten (Anfangs- und Randbedingungen, Gleichungskoeffizienten und rechte Seiten) verbunden ist; der Diskretisierungsfehler, der mit dem Übergang zu einem diskreten Analogon des ursprünglichen Problems verbunden ist; sowie der Rundungsfehler, der mit der endlichen Genauigkeit der im Computer dargestellten Zahlen verbunden ist.

Eine natürliche Anforderung an jeden konkreten Berechnungsalgorithmus ist die Konsistenz der Größenordnungen dieser drei Fehlertypen.

Eine numerische bzw. approximative Methode wird stets als Berechnungsalgorithmus umgesetzt. Daher gelten alle Anforderungen, die generell an Algorithmen gestellt werden, auch für Berechnungsalgorithmen. Vor allem muss ein Algorithmus praktisch durchführbar sein — er muss das Problem innerhalb einer akzeptablen Rechenzeit lösen. Eine wichtige Eigenschaft eines Algorithmus ist seine Genauigkeit — die Fähigkeit, eine Lösung des ursprünglichen Problems mit vorgegebener Genauigkeit in einer endlichen Anzahl von Operationen zu erhalten.

Die Laufzeit eines Algorithmus hängt von der Anzahl der zur Erreichung der vorgegebenen Genauigkeit erforderlichen Operationen ab. Für jedes mathematische Problem lassen sich in der Regel mehrere Algorithmen vorschlagen, die eine Lösung mit der gewünschten Genauigkeit liefern, jedoch mit unterschiedlicher Anzahl von Operationen. Algorithmen, die für dieselbe Genauigkeit weniger Operationen benötigen, werden als sparsamer oder effizienter bezeichnet.

Während der Ausführung eines Berechnungsalgorithmus entsteht bei jedem Rechenschritt ein bestimmter Fehler. Von Schritt zu Schritt kann dieser Fehler wachsen oder nicht wachsen (in manchen Fällen kann er sogar abnehmen). Wächst der Fehler während der Berechnung unbegrenzt an, so bezeichnet man den Algorithmus als instabil bzw. divergent. Andernfalls bezeichnet man den Algorithmus als stabil bzw. konvergent.

Die enorme Vielfalt numerischer Methoden erschwert die Auswahl einer konkreten Methode im jeweiligen Fall erheblich. Da für die Umsetzung eines gegebenen Modells mehrere alternative algorithmische Methoden verwendet werden können, erfolgt die Wahl einer konkreten Methode unter Berücksichtigung dessen, welche Methode hinsichtlich Effizienz, Stabilität und Genauigkeit der Ergebnisse am besten zum Modell passt und welche den Mitgliedern des Projektteams am vertrautesten ist.

Bei der Entwicklung verschiedener Softwaresysteme, die zur Lösung eines breiten Spektrums von Forschungs-, Konstruktions- und Managementaufgaben eingesetzt werden, dienen mathematische Modelle heute in der Regel als Grundlage. Daraus ergibt sich die Notwendigkeit, ein Modell als Computerprogramm umzusetzen. Der Prozess der Entwicklung zuverlässiger und effizienter Software ist nicht weniger komplex als alle vorangegangenen Phasen der Erstellung mathematischer Modelle. Diese Aufgabe kann nur erfolgreich gelöst werden, wenn man moderne Programmiersprachen und -technologien sicher beherrscht, die Möglichkeiten der Rechnertechnik und verfügbare Software kennt sowie die Besonderheiten der Umsetzung von Methoden der numerischen Mathematik versteht.

Der Prozess der Softwareentwicklung lässt sich in mehrere Phasen unterteilen:

  • Erstellung des Pflichtenhefts für die Softwareentwicklung;
  • Entwurf der Struktur des Softwaresystems;
  • Programmierung des Algorithmus;
  • Testen und Fehlerbeseitigung;
  • Wartung und Betrieb.

Das Pflichtenheft für die Softwareentwicklung wird in Form einer Spezifikation dokumentiert. In der Entwurfsphase wird die Gesamtstruktur des Softwaresystems festgelegt. Das gesamte Programm wird in Softwaremodule unterteilt. Für jedes Modul werden funktionale Anforderungen formuliert und ein Algorithmus zur Umsetzung dieser Funktionen entwickelt. Das Interaktionsschema zwischen den Modulen — bekannt als Datenflussdiagramm des Softwaresystems — wird festgelegt. Es wird ein Testplan entwickelt, und es werden Eingabedaten für das Testen einzelner Module sowie des Gesamtsystems festgelegt.

Die meisten Programme, die mathematische Modelle umsetzen, bestehen aus drei Hauptteilen:

  • einem Präprozessor (Aufbereitung und Überprüfung der Eingabedaten des Modells);
  • einem Solver (Lösung des Problems, Durchführung des rechnerischen Experiments);
  • einem Postprozessor (Visualisierung und Darstellung der Ergebnisse).

Der Einführung moderner Programmiertechnologien sollte erhebliche Bedeutung beigemessen werden. Der Zweck jeder solchen Technologie besteht in erster Linie darin, die Zuverlässigkeit der Software zu erhöhen und die Produktivität der Entwickler zu steigern. Je ernsthafter und umfangreicher das Softwareprojekt ist, desto bedeutsamer werden die Fragen der Anwendung moderner Programmiertechnologien. Werden diese Fragen vernachlässigt, kann dies zu erheblichen Zeitüberschreitungen und einer verringerten Zuverlässigkeit des Softwaresystems führen.

Ein entscheidender Faktor für die Gewährleistung der Zuverlässigkeit und der kurzen Entwicklungszeit eines Softwaresystems zur Lösung einer bestimmten Klasse von Problemen ist das Vorhandensein einer gut ausgebauten Bibliothek zueinander kompatibler Softwaremodule. Ein Programm ist zuverlässiger und lässt sich schneller entwickeln, wenn standardisierte Softwarekomponenten in größtmöglichem Umfang verwendet werden.

Die Adäquatheit eines mathematischen Modells ist der Grad, in dem die mit dem entwickelten Modell erzielten Ergebnisse mit experimentellen Daten oder den Ergebnissen einer Referenzaufgabe übereinstimmen.

Die Validierung des Modells verfolgt zwei Ziele:

  • die Überprüfung der Gültigkeit des Systems von Hypothesen, die in den Phasen der konzeptionellen und mathematischen Formulierung aufgestellt wurden. Zur Überprüfung der Hypothesen sollte erst übergegangen werden, nachdem die Lösungsmethoden verifiziert und die Software einer umfassenden Fehlerbeseitigung sowie der Beseitigung aller Konflikte unterzogen wurde;
  • der Nachweis, dass die Genauigkeit der Ergebnisse der im Pflichtenheft festgelegten Genauigkeit entspricht.

Die Validierung des entwickelten mathematischen Modells erfolgt durch Vergleich mit verfügbaren experimentellen Daten zum realen Objekt oder mit den Ergebnissen anderer, bereits zuvor erstellter und bewährter Modelle. Im ersten Fall spricht man von einer Validierung durch Vergleich mit dem Experiment, im zweiten von einem Vergleich mit den Ergebnissen einer Referenzaufgabe.

Die Frage der Modellierungsgenauigkeit hängt von den an das Modell gestellten Anforderungen und seinem beabsichtigten Zweck ab. Auch die Genauigkeit der experimentellen Ergebnisse bzw. die Besonderheiten der Formulierungen der Referenzaufgabe müssen berücksichtigt werden. Für Modelle, die für grobe Näherungs- und Größenordnungsberechnungen bestimmt sind, gilt eine Genauigkeit von 10–15 % als zufriedenstellend. Für Modelle, die in Steuerungs- und Überwachungssystemen eingesetzt werden, kann die erforderliche Genauigkeit 1–2 % oder sogar noch höher liegen.

Treten Probleme mit der Adäquatheit des Modells auf, sollte die Korrektur mit einer systematischen Analyse aller möglichen Ursachen für die Diskrepanz zwischen Modellierungsergebnissen und experimentellen Ergebnissen beginnen. Zunächst sollte das Modell untersucht und sein Adäquatheitsgrad für verschiedene Werte der veränderlichen Parameter (Anfangs- und Randbedingungen, Parameter, die die Eigenschaften der Modellierungsobjekte charakterisieren) bewertet werden. Erweist sich das Modell im für den Forscher interessierenden Parameterbereich als nicht adäquat, kann versucht werden, die Werte der Modellkonstanten und Anfangsparameter zu präzisieren. Führt dies weiterhin nicht zu positiven Ergebnissen, bleibt als einzige Möglichkeit zur Verbesserung des Modells die Überarbeitung des angenommenen Systems von Hypothesen. Diese Entscheidung bedeutet praktisch eine Rückkehr zur zweiten Phase des Modellentwicklungsprozesses und kann nicht nur eine grundlegende Änderung der mathematischen Formulierung nach sich ziehen, sondern auch der Lösungsmethoden (zum Beispiel den Übergang von analytischen zu numerischen Methoden), eine vollständige Überarbeitung der Software und einen neuen Zyklus der Modellvalidierung. Daher muss die Entscheidung zur Überarbeitung des angenommenen Systems von Hypothesen sorgfältig abgewogen werden und darf erst getroffen werden, wenn alle anderen Möglichkeiten zur Verbesserung der Modelladäquatheit ausgeschöpft sind.

Deskriptive Modelle dienen dazu, die untersuchten Parameter eines gegebenen Phänomens oder Prozesses zu charakterisieren sowie die Gesetzmäßigkeiten zu untersuchen, die Veränderungen dieser Parameter bestimmen. Diese Modelle können eingesetzt werden, um die Eigenschaften und das Verhalten des untersuchten Objekts unter verschiedenen Kombinationen von Eingangsdaten und Betriebsbedingungen zu untersuchen; beim Aufbau von Optimierungsmodellen; sowie beim Aufbau von Simulationsmodellen komplexer Systeme.

Für Forschungszwecke entwickelte Modelle werden in der Regel nicht bis zur Stufe von Softwaresystemen ausgebaut, die für die Verbreitung an externe Nutzer bestimmt sind. Ihre Lebensdauer ist üblicherweise auf die Dauer des entsprechenden Forschungsprogramms begrenzt. Diese Modelle zeichnen sich durch einen explorativen Charakter, die Verwendung neuer Berechnungsverfahren und Algorithmen sowie eine unausgereifte Benutzeroberfläche aus.

Modelle und die darauf aufbauenden Softwaresysteme, die für die anschließende Verbreitung an externe Nutzer oder für die kommerzielle Freigabe bestimmt sind, verfügen über eine gut ausgearbeitete, benutzerfreundliche Oberfläche sowie leistungsfähige Präprozessoren und Postprozessoren. Diese Modelle beruhen in der Regel auf bewährten und gut etablierten Formulierungen und Berechnungsverfahren. Es sollte jedoch bedacht werden, dass solche Modelle nur zur Lösung einer klar definierten Problemklasse ausgelegt sind.

Unabhängig vom beabsichtigten Einsatzzweck des Modells ist das Entwicklungsteam verpflichtet, sowohl eine qualitative als auch eine quantitative Analyse der Modellierungsergebnisse durchzuführen.

Durch die Arbeit mit dem Modell werden die Entwickler zu Fachleuten in dem mit dem Modellierungsobjekt verbundenen Bereich. Sie entwickeln ein hinreichend gründliches Verständnis der Eigenschaften des Objekts und sind in der Lage, sein Verhalten vorherzusagen und zu erklären.

Eine umfassende Analyse der Modellierungsergebnisse ermöglicht daher Folgendes:

  • das betrachtete Objekt zu modifizieren, seine optimalen Kennwerte zu finden oder zumindest sein Verhalten und seine Eigenschaften bestmöglich zu berücksichtigen;
  • den Anwendungsbereich des Modells abzugrenzen;
  • die Gültigkeit der in der Phase der mathematischen Formulierung angenommenen Hypothesen zu überprüfen und die Möglichkeit einer Vereinfachung des Modells zur Steigerung seiner Effizienz bei Beibehaltung der erforderlichen Genauigkeit zu bewerten;
  • die Richtung anzugeben, in der das Modell weiterentwickelt werden sollte.