Ing.-Büro Schöttke

PolyOPT - Regressionstool, Approximationsprogramm und Optimierer in Einem

Jeder, der sich mit Berechnung bzw. Simulation im weitesten Sinne beschäftigt, steht mehr oder weniger häufig vor dem gleichen Problem: Man hat einen Punktehaufen und stellt sich die Frage: Wie kann man diese Punkte, die zumeist aus Messungen aber auch komplizierten Berechnungen mittels Differentialgleichungen stammen, mit möglichst kleinem Fehler aber hoher Rechengeschwindigkeit mathematisch beschreiben. Das Diagramm zeigt ein Beispiel solcher Punkte, aufgetragen über der Achse x1. Man erkennt, dass x1 nicht die einzige Abhängigkeit der Werte y darstellt, sondern dass diese noch von weiteren Größen (x2, x3 ....) abhängig sind. Für die Lösung solcher Probleme wurde das Programmsystem POLYOPT entwickelt.

Wie der Name schon andeutet handelt es sich dabei um einen Optimierer auf Basis von Polynomansätzen, dessen Aufgabe es ist, eine mathematische Funktion für eine vorhandene Menge von Punkten (z.B. Messpunkte, Rechenergebnisse u.ä.) zu finden. Es sind hierfür keine besonderen mathematischen Vorkenntnisse über Regressionsrechnung usw. erforderlich und die Bedienung ist absolut einfach gehalten. Das Programm wurde nicht von Mathematikern entwickelt, die darauf aus sind das letzte m an Genauigkeit herauszukitzeln, sondern von einem Praktiker mit über 20 Jahren Simulationserfahrung, der aus praktischer Erfahrung weiß was der Ingenieur benötigt und was nicht.

Heute werden für die Lösung derartiger Probleme auch häufig sog. genetische (oder auch evolutionäre) Algorithmen eingesetzt, deren Methoden aus der Evolutionstheorie abgeleitet sind. Deren Ergebnisse sind jedoch ziemlich kryptische Funktionen bei denen absolut kein physikalischer Zusammenhang mehr erkennbar ist. Genau dies soll bei dem hier vorgestellten Programm nicht der Fall sein. Für den Ingenieur der mit der Hand am Arm eine schnelle Lösung für sein Simulationsproblem sucht, ist die Anwendung solch komplexer vom Mathematikern entwickelten Ansätze viel zu kompliziert und damit zeitraubend und die Ergebnisse und ggf. Fehler- und Warnmeldungen sind kaum interpretierbar. Dazu kommt, dass solche Ansätze, ändert man nur die Reihenfolge der Punkte, zu einem anderen Ergebnis führen, da sie von einem bestimmten Zustand ausgehen und davon abgeleitete Kindprozesse verfolgen. Immer die beste Variante wird weiterverfolgt, die anderen werden verworfen. Beginnt man daher mit einer anderen Reihenfolge, läuft man ggf. in eine andere Richtung. Diese Ansätze eignen sich daher mehr für die Grundlagenforschung und sind im Simulationsalltag eher schlecht einzusetzen.

Das Programmsystem POLYOPT wurde hingegen von einem Praktiker, einem Ingenieur mit mehr als 20 Jahren Berufserfahrung in der Simulationstechnik, im Laufe seines Berufslebens entwickelt und ständig verbessert. Oberste Priorität war hierbei die Benutzerfreundlichkeit, damit eine einfache und schnelle Anwendung des Programmpakets möglich ist. Keine komplizierten Eingaben für deren Verständnis man ein Mathematikstudium benötigt, sondern Beschränkung auf das Wesentliche.

Das Paket ist alles in einem. Es ermittelt sowohl die einfachste Regressionsgerade oder nimmt die zeitaufwändigste Optimierungsrechnung vor. Das Programm sucht, wenn gewünscht,  aus mehreren Millionen von Polynomkombinationen die optimale Funktion heraus und gibt für verschiedene Anzahlen von Berechnungskoeffizienten die erzielbaren Genauigkeiten an. Der Praktiker kann dann anhand dieser Genauigkeiten entscheiden, ob er eher eine Funktion mit höherer Genauigkeit und mehr Koeffizienten benötigt, oder ob ihm eine einfach zu interpretierende Funktion mit weniger Berechnungskoeffizienten für seine Anwendung genügt.

In der derzeitigen Ausbaustufe wird eine maximale Polynomordnung von 2 bei 4 voneinander unabhängigen Achsen in allen Kombinationsmöglichkeiten analysiert und die Ergebnisse mit bis zu 10 Koeffizienten angegeben. Bei weniger Achsen sind selbstverständlich auch höhere Polynomgrade möglich. Bei höheren Achsenzahlen soll zukünftig der Polynomgrad auch noch auf 3 erhöht werden, jedoch muß man dabei berücksichtigen dass solche Funktionen, mit Maxima und Wendepunkten, lediglich zu Interpolationszwecken gut geeignet sind. An Funktionen, die aus Messwerten extrahiert werden, wird häufig jedoch auch der Anspruch an eine gewisse Extrapolationsfähigkeit gestellt. Dafür sind Funktionen höherer Ordnung als 2 nach Erfahrung des Programmautors nur sehr bedingt geeignet. Die Achsenanzahl, die vom Optimierer als die Signifikanten aus den Angebotenen ausgewählt wird, soll ebenfalls noch über die Zahl 3 hinaus erhöht werden. Aber auch hier gilt, je komplexer die Funktion desto weniger interpretierbar ist sie. Des Weiteren wird dann natürlich der Rechenzeitaufwand sehr in die Höhe getrieben, wenngleich der hier verwendete Optimier-Algorithmus als sehr schnell bezeichnet werden kann. Als Beispiel dient hier ein ausgeführtes Beispiel: 220 Punkte, vorgegeben in 6 Achsen, davon 3 signifikante Achsen im 2.Polynomgrad aus xxx Millionen Möglichkeiten ausgesucht benötigten zur Optimierung eine Zeit von xxx Minuten auf einem 3800+ AMD-Prozessor (sorry, muß noch gemessen werden ...).

Auch die max. Anzahl an Polynomkoeffizienten soll noch erweitert werden, jedoch muß man auch hier bedenken, wie weit dies sinnvoll ist. Welcher Simulant kann schon etwas mit einer Funktion mit 25 Koeffizienten anfangen, die dann ebenso nicht mehr interpretierbar ist, wie die kryptischen Funktionen aus den genetischen Algorithmen. Die bisher am häufigsten verwendeten Ergebnisse aus dem Programm waren Funktionen mit 5-7 Koeffizienten. Eine weitere Ausbaustufe soll zukünftig noch die Erweiterung auf Logarithmusfunktionen, Exponentialfunktionen und Wurzelfunktionen umfassen. Dies dürfte eine noch etwas umfangreichere Aufgabe sein. Deshalb hat sich der Programmierer entschlossen das Programm zu kommerzialisieren und anderen Simulanten zugänglich zu machen, da die Weiterentwicklung kostenintensiv und nebenher einfach nicht mehr zu machen ist. Die Lizenzgebühren sollen zukünftig die Weiterentwicklung des Programmsystems finanzieren.

Der Download wird in Kürze hier möglich sein, an der Version wird zur Zeit intensiv gearbeitet

Home   Über uns   Tätigkeiten   Software download   Impressum   Links