-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft allgemein die Optimierung eines technischen Entwurfs (Engineering-Design-Optimierung) und insbesondere einen verbesserten Product-by-Process (Verfahren zur Definition eines Produkts) und ein System zur Gewinnung einer Menge von besser konvergierten und diversifizierten globalen Pareto-optimalen Lösungen bei einer auf einem multikriteriellen evolutionären Algorithmus (Multi-Objective Evolutionary Algorithm, MOEA) basierenden Optimierung des technischen Entwurfs.
-
ALLGEMEINER STAND DER TECHNIK
-
Heutzutage wird die rechnergestützte Entwicklung (Computer-Aided Engineering, CAE) angewendet, um Ingenieure bei Aufgaben wie Analyse, Simulation, Entwurf, Fertigung usw. zu unterstützen. In einem herkömmlichen technischen Entwicklungsverfahren wird eine CAE-Analyse (z. B. Finite-Elemente-Analyse (FEA), Finite-Differenzen-Analyse, maschenfreie Analyse, numerische strömungsmechanische (Computational Fluid Dynamics, CFD-)Analyse, Modalanalyse für die Verbesserung des Geräusch- und Schwingungsverhaltens (Noise, Vibration, Harshness, NVH) usw.) verwendet, um Reaktionen (z. B. Spannungen, Verschiebungen usw.) auszuwerten. Wenn man die Automobilkonstruktion als ein Beispiel verwendet, so wird eine spezielle Version oder ein spezieller Entwurf eines Autos unter Verwendung der FEA analysiert, um die Reaktionen auf gewisse Lastbedingungen zu erhalten. Die Ingenieure werden dann versuchen, den Fahrzeugentwurf durch das Modifizieren von gewissen Parametern oder Entwurfsvariablen (z. B. Dicke der Stahlhülle, Orte der Rahmen usw.) auf der Basis spezifischer Aufgaben und Nebenbedingungen zu verbessern. Danach wird eine weitere FEA durchgeführt, um diese Änderungen widerzuspiegeln, bis ein ”bester” Entwurf erzielt wurde. Dieser Ansatz hängt jedoch von der Kenntnis der Ingenieure ab, oder er beruht auf einem Verfahren von Versuch und Irrtum.
-
Ferner befinden sich, wie oft bei irgendwelchen technischen Problemen oder Projekten, diese Ziele und Nebenbedingungen im Allgemeinen im Konflikt, und sie interagieren auf nichtlineare Weise miteinander und mit Entwurfsvariablen. Somit ist es nicht sehr klar, wie sie zu modifizieren sind, um den ”besten” Entwurf oder Kompromiss zu erzielen. Diese Situation wird sogar noch komplexer bei einer multidisziplinären Optimierung, welche mehrere unterschiedliche CAE-Analysen (z. B. FEA, CFD und NVH) erfordert, um eine Menge von miteinander in Konflikt stehenden Zielen zu erfüllen. Um dieses Problem zu lösen, wird ein systematischer Ansatz zur Identifizierung des ”besten” Entwurfs angewendet, der als Entwurfsoptimierung bezeichnet wird.
-
Die Optimierung solcher Systeme mit mehr als einer Zielfunktion wird als multikriterielle Optimierung bezeichnet. Im Gegensatz zu einkriteriellen Optimierungsproblemen (Single-objective Optimization Problems, SOPs) liefern die multikriteriellen Optimierungsprobleme (Multi-objective Optimization Problems, MOPs) nicht nur eine einzige optimale Lösung. Stattdessen führen sie zu einer Menge von optimalen Lösungen, welche unterschiedliche Kompromisse zwischen Zielfunktionen repräsentieren. Diese Lösungen werden als Pareto-optimale Lösungen oder Pareto-optimale Lösungsmenge bezeichnet. Die Darstellung der Pareto-optimalen Lösungsmenge im Entwurfs-Zielfunktionsraum wird Pareto-optimale Front (POF) genannt. Eine der gebräuchlichsten Strategien zum Auffinden Pareto-optimaler Lösungen besteht darin, das multikriterielle Optimierungsproblem in ein einkriterielles Optimierungsproblem umzuwandeln und danach eine einzige Kompromisslösung zu bestimmen. Es gibt mehrere Wege, um ein MOP in ein SOP umzuwandeln, nämlich Methode der gewichteten Summen, invertierte Nutzenfunktionen, Zielprogrammierung (Goal Programming), [Epsilon-]Constraint-Ansatz usw. Nachteile dieses dem Stand der Technik entsprechenden Ansatzes der Umwandlung von MOP in SOP sind, dass jede Optimierungssimulation einen einzigen Kompromiss zum Ergebnis hat und mehrere Simulationen möglicherweise nicht mit ausreichend unterschiedlichen Kompromisslösungen enden.
-
Eine der Methodiken zur Optimierung eines technischen Entwurfs, die in jüngster Zeit angewendet wird, beruht auf einem genetischen Algorithmus (GA) oder evolutionären Algorithmus. Es wurde nachgewiesen, dass mittels genetischer Algorithmen multikriterielle Optimierungsprobleme effizient gelöst werden können, da sie in einer einzigen numerischen Simulation eine Menge von unterschiedlichen Kompromisslösungen liefern. Ein GA beginnt im Allgemeinen mit zufällig generierten Populationen als Anfangsgeneration. Danach werden Evolutionsschemata wie etwa Kreuzungen und/oder Mutationen verwendet, um zukünftige Generationen zu erzeugen. Eines der Probleme bei MOEA ist, dass erhaltene Pareto-optimale Lösungen möglicherweise nicht diversifiziert sind (d. h. Streubreite und Uniformität können schlecht sein), oder die Konvergenz kann unzureichend sein.
-
Um die Qualität und insbesondere die Diversität der POF bei einer MOEA-basierten technischen Optimierung zu verbessern, ist es daher wünschenswert, über verbesserte Verfahren und Systeme zur Gewinnung einer Menge von diversifizierten globalen Pareto-optimalen Lösungen bei einer auf einem MOEA basierenden Optimierung des technischen Entwurfs zu verfügen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Es werden ein System und ein Product-by-Process zur Gewinnung einer Menge von besser konvergierten und diversifizierten Pareto-optimalen Lösungen bei einer Optimierung des technischen Entwurfs eines Erzeugnisses (z. B. Automobil, Mobiltelefon usw.) offenbart. Gemäß einem Aspekt der vorliegenden Erfindung werden mehrere MOEA-basierte technische Optimierungen eines Erzeugnisses unabhängig voneinander durchgeführt. Jede der unabhängig durchgeführten Optimierungen unterscheidet sich von anderen hinsichtlich gewisser Parameter, wie etwa der Anfangsgeneration und/oder des evolutionären Algorithmus. Zum Beispiel können Populationen (Entwurfsalternativen) einer Anfangsgeneration zufällig aus unterschiedlichen Seeds (Startwerten) eines Zufallszahlen- oder Pseudozufallszahlengenerators erzeugt werden. In einem anderen Beispiel verwendet jede Optimierung einen speziellen evolutionären Algorithmus, darunter insbesondere den Nondominated Sorting Genetic Algorithm (NSGA-II), den Strength Pareto Evolutionary Algorithm (SPEA) usw.
-
Gemäß einem anderen Aspekt der vorliegenden Erfindung werden die Pareto-optimalen Lösungen jeder unabhängig durchgeführten Optimierung kombiniert, um eine Menge von besser konvergierten und diversifizierten Lösungen zu erzeugen. Kombinationen können an einem oder mehreren vordefinierten Kontrollpunkten während des evolutionären Prozesses der Optimierung vorgenommen werden.
-
Gemäß noch einem anderen Aspekt wird die MOEA-basierte technische Optimierung in einem Computersystem durchgeführt. Zum Beispiel werden Bewertungen von Entwurfs-Zielfunktionen mit Analyseverfahren der rechnergestützten Entwicklung (z. B. Finite-Elemente-Analyse, maschenfreie Analyse usw.) durchgeführt. Zufällig erzeugte Populationen basieren auf einem Zufallszahlen- oder Pseudozufallszahlengenerator, der in einem Computersystem implementiert ist.
-
Andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden beim Studium der folgenden ausführlichen Beschreibung einer Ausführungsform derselben in Verbindung mit den beigefügten Zeichnungen ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden anhand der folgenden Beschreibung, der beigefügten Ansprüche und der begleitenden Zeichnungen besser verständlich.
-
1A ist eine schematische Darstellung, welche ein rohrförmiges Element (ein beispielhaftes technisches Erzeugnis) zeigt, das unter Verwendung der Dicke als Entwurfsvariabler zu optimieren ist;
-
1B ist eine schematische Darstellung, welche beispielhafte Lösungen, darunter Pareto-optimale Lösungen, in einem Raum mehrerer Zielfunktionen (multi-objective function space) zeigt;
-
1C ist ein Flussdiagramm, das einen beispielhaften Verfahrensablauf zur Bestimmung eines Nicht-Dominanz-Lösungskriteriums veranschaulicht, der bei der Implementierung einer Ausführungsform der vorliegenden Erfindung verwendet wird;
-
2 ist eine schematische Darstellung, in der die Definition der Crowding-Distanz (Besiedelungsabstand) einer Lösung in einer Pareto-Front graphisch dargestellt ist;
-
3A–3B sind schematische Darstellungen des Kombinierens von Lösungen von zwei unabhängig durchgeführten MOEA-basierten Optimierungen gemäß einer Ausführungsform der vorliegenden Erfindung;
-
4 ist eine schematische Darstellung, die ein Beispiel des Kombinierens mehrerer MOEA-basierter Optimierungen zeigt, um eine besser konvergierte und diversifizierte Menge von Lösungen zu bilden;
-
5 ist ein Flussdiagramm, das einen beispielhaften Verfahrensablauf zur Gewinnung einer Menge von besser konvergierten und diversifizierten Lösungen durch Kombinieren von Pareto-optimalen Lösungen zeigt, die aus mehreren unabhängig durchgeführten MOEA-basierten Optimierungen eines technischen Entwurfs resultieren, gemäß einer Ausführungsform der vorliegenden Erfindung;
-
6 ist ein Flussdiagramm, das einen beispielhaften Verfahrensablauf der Durchführung einer technischen Optimierung unter Verwendung eines genetischen oder evolutionären Algorithmus zeigt; und
-
7 ist ein Funktionsschema, welches wichtige Komponenten einer Rechenvorrichtung zeigt, in welcher eine Ausführungsform der vorliegenden Erfindung implementiert sein kann.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es wird zunächst auf 1A Bezug genommen; ein rohrförmiges Konstruktionselement 102 (d. h. ein beispielhaftes technisches Erzeugnis) wird im Rahmen einer technischen Optimierung optimiert, mit dem Entwurfsziel, unter einer gewissen Auslegungs-Lastbedingung das Gewicht zu minimieren und damit die Kosten für ein gegebenes Material (z. B. Stahl von normaler Festigkeit) zu minimieren. Es ist offensichtlich, dass eine geringere Dicke 104 zu einer Konstruktion mit geringerem Gewicht führen würde. An einem gewissen Punkt würde die Konstruktion jedoch zu schwach, um einer Auslegungslast standzuhalten (z. B. Strukturversagen infolge des Fließens des Materials und/oder Knickens). Daher erfordert die technische Optimierung dieser rohrförmigen Konstruktion ein weiteres Entwurfsziel der Maximierung der Festigkeit, welche zu einer sichereren Konstruktion führt. In diesem beispielhaften Fall ist die Dicke 104 eine Entwurfsvariable, welche einen Bereich (z. B. von einem Achtel Zoll bis zu einem halben Zoll) als einen Entwurfsraum aufweisen kann. Beliebige Entwurfsalternativen werden aus diesem Raum ausgewählt. In einem multikriteriellen evolutionären Algorithmus werden Populations- oder Entwurfsalternativen in jeder Generation aus dem Entwurfsraum ausgewählt.
-
Der Entwurfsraum ist eindimensional (z. B. eine Linie), wenn nur eine Entwurfsvariable vorhanden ist. Der Entwurfsraum wird für zwei Variable zu einem zweidimensionalen Gebiet, und so weiter. Für mehr als drei Entwurfsvariable ist der Entwurfsraum ein Hyperraum, welcher nicht graphisch dargestellt werden kann.
-
Basierend auf zwei miteinander in Konflikt stehenden Entwurfszielen, ist 1B ein X-Y-Diagramm, das die Ergebnisse einer beispielhaften Entwurfsoptimierung zeigt. Zwei Achsen repräsentieren zwei verschiedene Zielgrößen in Form von Funktionen f1 und f2. Bei einer multikriteriellen Optimierung gibt es nicht eine optimale Lösung, sondern stattdessen ist eine Menge von Lösungen vorhanden, welche Kompromisse zwischen Zielfunktionen widerspiegeln. Um die einzelnen Lösungen zu unterscheiden, wird ein als Nicht-Dominanz-Kriterium (non-domination criterion) bezeichnetes Konzept verwendet, um Lösungen zu vergleichen.
-
1C ist ein Flussdiagram, das einen beispielhaften Verfahrensablauf zur Bestimmung des Nicht-Dominanz-Kriteriums zeigt. Es werden zwei Entwurfsalternativen bewertet, um jeweilige Lösungen X und Y entsprechend den Entwurfs-Zielfunktionen zu erhalten (d. h. multikriteriell). Die Lösung X dominiert Y (Schritt 172), falls eine der folgenden drei Bedingungen erfüllt ist.
- 1. X ist zulässig und Y ist unzulässig. (Schritte 154 und 156).
- 2. Sowohl X als auch Y sind unzulässig (Schritt 160), jedoch ist X weniger unzulässig als Y (Schritt 162).
- 3. Wenn sowohl X als auch Y zulässig sind (Schritt 164), müssen die folgenden beiden Bedingungen erfüllt sein (Schritte 170 und 172):
a. X ist nicht schlechter als Y bezüglich aller Entwurfsziele; und
b. X ist streng besser als Y bezüglich mindestens eines Entwurfsziels.
-
Ferner kann man bestimmen, ob die Lösung Y die Lösung X dominiert (Schritte 175 und 176). Schließlich, falls keine Lösung die andere dominiert, sind X und Y nicht-dominiert (non-dominated) zueinander (Schritt 178)
-
1B zeigt ein Beispiel einer Minimierung ohne Nebenbedingungen mit zwei Zielfunktionen. Jeder Punkt repräsentiert eine berechnete Lösung einer Entwurfsalternative (z. B. eine der Populationen in einer gegebenen Generation des MOEA) innerhalb eines Bereiches 116. Entsprechend dem Nicht-Dominanz-Kriterium existiert für jede Raute 122 mindestens ein Dreieck 124, welches besser als die Raute 122 bezüglich mindestens eines Zieles ist, ohne bezüglich eines anderen Ziels schlechter zu sein. Somit werden alle einzelnen Lösungen in den Rauten 122 durch die Dreiecke 124 dominiert. In ähnlicher Weise werden alle Dreiecke 124 durch Quadrate 126 dominiert, und Quadrate werden durch Kreise 128 dominiert. Keine Lösung, die durch Dreiecke 124 repräsentiert ist, kann als besser bezeichnet werden als irgendeine andere Lösung, die durch Dreiecke 124 repräsentiert ist; daher sind sie nicht-dominiert bezüglich einander. Alle Individuen, die durch Kreise 128 repräsentiert sind, sind nicht-dominiert bezüglich eines beliebigen anderen Individuums und haben folglich einen besten oder höchsten Rang (z. B. Rang eins). Wenn alle Punkte, die durch Kreise repräsentiert sind, aus 1B entfernt werden, dann werden die durch Quadrate 126 repräsentierten Individuen nicht-dominiert bezüglich aller anderen. Daher wird den Quadraten 128 der zweitbeste Rang (z. B. Rang zwei) zugewiesen, und so weiter.
-
In dem in 1B dargestellten Beispiel repräsentieren die Kreise 128 eine Menge von Pareto-optimalen Lösungen, und die Linie 130, welche alle Kreise 128 verbindet, wird Pareto-optimale Front genannt. Es ist anzumerken, dass im Allgemeinen mehr als ein Individuum oder mehr als eine Lösung mit demselben Rang vorhanden ist.
-
Ein Aspekt Pareto-optimaler Lösungen wird als Diversität bezeichnet, welche durch zwei Maße quantifiziert wird: Streubreite (spread) und Uniformität (uniformity). Die Streubreite ist definiert als die größte Diagonalenlänge des größten Hyperwürfels, der von der Menge Pareto-optimaler Lösungen im N-dimensionalen Funktionsraum gebildet wird. Die Streubreite kann auch als Volumen des größten Hyperwürfels definiert werden. Die Uniformität ist definiert als eine Größe, die ausdrückt, wie gleichmäßig die Lösungen in einer Menge von Pareto-optimalen Lösungen verteilt sind. Mathematisch kann die Uniformität [Delta] wie folgt ausgedrückt werden: wobei di als Crowding-Distanz (Besiedelungsabstand) einer Lösung in einem Funktionsraum definiert ist (siehe graphisches Beispiel, das in 2 dargestellt ist) und ”n” die Gesamtzahl der Lösungen in der Menge Pareto-optimaler Lösungen ist. Die Crowding-Distanz ist definiert als halber Umfang des größten Hyperwürfels um eine Lösung herum, welcher keine anderen Lösungen umgibt. Grenzpunkten oder Grenzlösungen (z. B. 210a und 210n) wird eine Crowding-Distanz zugewiesen, die gleich dem Doppelten des Abstands zum nächsten Nachbar ist. Das Maß der Uniformität ist ähnlich der Standardabweichung der Crowding-Distanz, und daher ist ein kleiner Wert der Uniformitäts-Metrik wünschenswert, wodurch eine gute Verteilung der Lösungen erzielt wird.
-
2 zeigt eine beispielhafte Menge von (als Punkte dargestellten) Pareto-optimalen Lösungen 210a–n in einem Entwurfs-Zielfunktionsraum, der durch zwei Funktionen repräsentiert wird (d. h. einem zweidimensionalen Funktionsraum mit f1 und f2 als den beiden Achsen). Die Pareto-optimale Front wird durch die gepunktete Linie 230 dargestellt. Der Abstand 240 zwischen den beiden Lösungen an den äußersten Enden 210a und 210n wird als Streubreite (spread) der Menge von Pareto-optimalen Lösungen bezeichnet. Die Crowding-Distanz di einer Lösung 210i ist gleich dem Abstand ai plus bi.
-
Im Interesse der Einfachheit der Darstellung und Beschreibung werden in 2 nur zwei Entwurfs-Zielfunktionen betrachtet. Für den Durchschnittsfachmann ist klar, dass bei einer für reale Projekte durchgeführten Optimierung andere Anzahlen von Zielfunktionen verwendet werden.
-
Das Ziel bei einer MOEA-basierten Optimierung eines technischen Entwurfs besteht darin, eine vollständige globale Menge Pareto-optimaler Lösungen zu gewinnen. Für ein reales Erzeugnis ist die globale Menge Pareto-optimaler Lösungen jedoch unbekannt; daher ist eine Menge von Lösungen erwünscht, welche ”diversifizierte” Lösungen einschließt.
-
Eines der Mittel, um dieses Ziel zu erreichen, wird durch die Beispiele veranschaulicht, die in 3A–3B dargestellt sind. In 3A werden zwei MOEA-basierte Optimierungen (d. h. eine erste und eine zweite Optimierung 302a–b) eines Erzeugnisses unabhängig durchgeführt. Jede Optimierung mit einer zufällig erzeugten Anfangsgeneration von Populationen (d. h. Entwurfsalternativen). Der Unterschied zwischen diesen beiden Optimierungen ist, dass die Populationen in der Anfangsgeneration verschieden sind. Bei einer Ausführungsform werden unterschiedliche Seeds (Startwerte) eines Zufallszahlen- oder Pseudozufallszahlengenerators verwendet. Infolgedessen werden aufgrund unterschiedlicher Reihen von Zufalls- oder Pseudozufallszahlen unterschiedliche Populationen erzeugt. Die Entwurfsalternativen (Populationen) werden dann bewertet und in einem Zielfunktionsraum nach ihrem Rang klassifiziert. Die erste und die zweite Menge 304a–b von Pareto-optimalen Lösungen der Anfangsgeneration, die in 3A dargestellt sind, sind für die erste bzw. zweite Optimierung 302a–b bestimmt. Die Optimierung wird entsprechend einem evolutionären Algorithmus (z. B. NSGA-II), der als ein Pfeil ”EA” 305 dargestellt ist, für N Generationen durchgeführt. Am Ende der N-ten Generation werden jeweilige Mengen 306a–b von Pareto-optimalen Lösungen gewonnen. Die Mengen 306a–b werden dann zu einer kombinierten Menge von Pareto-optimalen Lösungen 308 kombiniert. Es ist visuell offensichtlich, dass die kombinierte Menge 308 eine größere Streubreite als jede der Mengen 306a–b hat, so dass sie folglich besser konvergiert und diversifiziert ist. Wenn die Mengen 306a–b kombiniert werden, werden nur nicht-dominierte Lösungen aufbewahrt (ein beispielhafter Verfahrensablauf zum Bestimmen dominierter Lösungen ist aus 1C ersichtlich). Zum Beispiel ist die Lösung 309b durch die Lösung 309a dominiert, daher ist die Lösung 309b nicht in der endgültigen kombinierten Menge 310 enthalten.
-
In dem in 3B dargestellten Beispiel werden ebenfalls zwei Optimierungen 312a–b unabhängig durchgeführt. In diesem Beispiel beginnen die Optimierungen 312a–b mit derselben Menge von Entwurfsalternativen (d. h. Populationen) als Anfangsgeneration. Nach Bewertung der Entwurfs-Zielfunktionen und Klassifizierung nach dem Rang sind die erste und die zweite Menge 314a–b von Pareto-optimalen Lösungen identisch. Es werden unabhängige Optimierungen mit zwei verschiedenen evolutionären Algorithmen durchgeführt, die durch einen Pfeil ”EA-1” 315a und einen Pfeil ”EA-2” 315b angegeben sind. zum Beispiel ist ”EA-1” NSGA-II, während ”EA-2” SPEA ist. Nach N Generationen der Evolution werden zwei Mengen 316a–b von Pareto-optimalen Lösungen erhalten und zu einer kombinierten Menge 318 kombiniert. In diesem Beispiel ist die Uniformität der kombinierten Menge 318 wesentlich besser als die der zweiten Menge 316b, und die Streubreite der kombinierten Menge 318 ist besser als die der ersten Menge 316a. Ähnlich wie im vorhergehenden Beispiel enthält die endgültige kombinierte Menge 320 nur nicht-dominierte Lösungen in der Menge 318.
-
Es wird nun auf 4 Bezug genommen, in der ein allgemeineres Beispiel der Gewinnung einer besser diversifizierten Menge von Pareto-optimalen Lösungen bei einer MOEA-basierten Optimierung eines technischen Entwurfs gemäß einer Ausführungsform der vorliegenden Erfindung dargestellt ist. Es wird eine Anzahl von MOEA-basierten Optimierungen (erste bis M-te Optimierung 402a–m) unabhängig durchgeführt, mit einer beliebigen Anfangsgeneration von Entwurfsalternativen. Es werden Evolutionen mit demselben oder mit unterschiedlichen evolutionären Algorithmen durchgeführt (z. B. ”EA-1” 405a, ..., ”EA-M” 405m). Nach N Generationen werden M Mengen von Pareto-Lösungen 406a–m zu einer kombinierten Menge 408 kombiniert. Es ist anzumerken, dass M und M positive ganze Zahlen sind; die kombinierte Menge 408 würde besser konvergierte und diversifizierte Lösungen enthalten, verglichen mit jeder unabhängigen Optimierung allein. Schließlich werden dominierte Lösungen aus der Menge 408 ausgeschlossen, um die endgültige kombinierte Menge 420 zu bilden.
-
5 ist ein Flussdiagramm, das einen beispielhaften Verfahrensablauf 500 zur Gewinnung einer solchen Menge von diversifizierten Lösungen durch Kombinieren von Pareto-optimalen Lösungen zeigt, die aus mehreren unabhängig durchgeführten MOEA-basierten Optimierungen eines technischen Entwurfs resultieren, gemäß einer Ausführungsform der vorliegenden Erfindung. Der Verfahrensablauf 500 ist vorzugsweise softwaremäßig implementiert.
-
Der Verfahrensablauf 500 beginnt mit einer Beschreibung eines zu optimierenden Erzeugnisses (z. B. Unterhaltungselektronik, Auto, Flugzeug usw.) in Schritt 502. In Schritt 504 wird ein Entwurfsraum des Erzeugnisses definiert, indem eine Menge von Entwurfsvariablen gewählt wird (siehe 1A, die ein sehr einfaches Beispiel hierfür zeigt). Außerdem wird ein Zielfunktionsraum definiert, indem mehrere Entwurfs-Zielfunktionen bei einer MOEA-basierten Optimierung identifiziert werden. Als Nächstes werden in Schritt 506 mehrere unabhängige MOEA-basierte Optimierungen des technischen Entwurfs durchgeführt (siehe Beispiel in 4). Jede der Optimierungen ist so gestaltet, dass sie gewisse unterschiedliche Merkmale oder Parameter aufweist, zum Beispiel Entwurfsalternativen in der Anfangsgeneration und/oder unterschiedliche evolutionäre Algorithmen (NSGA-II, SPEA usw.). Anschließend werden im Schritt 508 die Pareto-optimalen Lösungen, die bei den einzelnen Optimierungen gewonnen wurden, an vorbestimmten Kontrollpunkten (z. B. nach der N-ten Generation der Evolution) zu einer kombinierten Menge von Lösungen kombiniert. Ein Kontrollpunkt kann durch eine Anzahl von Kriterien definiert sein, zum Beispiel Gesamtzahl der Bewertungen von Zielfunktionen, Anzahl der Generationen oder andere äquivalente Bedingungen, die geeignet sind zu bestimmen, ob die kombinierte Menge von Lösungen eine globale Pareto-optimale Lösungsmenge erreicht hat. Der Verfahrensablauf 500 fährt dann mit einer Entscheidung 510 fort, in welcher bestimmt wird, ob das Gesamt-Stopp- oder Abbruch-Kriterium der MOEA-basierten Optimierung erfüllt ist. Das Gesamt-Stopp-Kriterium kann in Form vieler Bedingungen implementiert sein. Zum Beispiel kann es über die Bedingung definiert sein, dass irgendeine der unabhängig durchgeführten Optimierungen konvergiert ist, oder dass alle unabhängigen Optimierungen konvergiert sind. Es kann auch sämtliche kombinierten Mengen an allen vorhergehenden Kontrollpunkten prüfen, um zu bestimmen, ob die Pareto-optimalen Lösungen konvergiert sind.
-
Falls ”nein”, geht der Verfahrensablauf 500 zu Schritt 512 über, um die Ausführung der mehreren MOEA-basierten Optimierungen bis zu einem nächsten Kontrollpunkt fortzusetzen. Dann werden der Schritt 508 und die Entscheidung 510 wiederholt, bis bei der Entscheidung 510 das Kriterium erfüllt ist. Der Verfahrensablauf 500 endet, indem er dem ”Ja”-Zweig folgt.
-
Ein Flussdiagramm, das in 6 dargestellt ist, zeigt einen beispielhaften Verfahrensablauf 600 der Durchführung eines evolutionären Algorithmus, der bei einer Optimierung des technischen Entwurfs eines Erzeugnisses angewendet wird. Der Verfahrensablauf 600 ist vorzugsweise softwaremäßig implementiert.
-
Der Verfahrensablauf 600 beginnt in Schritt 602 mit dem Erzeugen einer Anfangsgeneration von Populationen (z. B. Entwurfsalternativen des Erzeugnisses) aus dem Entwurfsraum. Der Entwurfsraum ist ein n-dimensionaler Hyperraum, der durch ”n” Entwurfsvariable definiert ist. Die Anfangsgeneration von Populationen wird im Allgemeinen zufällig generiert, was in einem Computersystem (z. B. Computer 700 von 7) durch Verwendung eines Zufallszahlen- oder Pseudozufallszahlengenerators simuliert werden kann. Als Nächstes wird in Schritt 604 jede Entwurfsalternative bewertet. Die Bewertung wird im Allgemeinen mit einem Analyseverfahren der rechnergestützten Entwicklung (z. B. Finite-Elemente-Analyse, maschenfreie Analyse, Randelement-Analyse, numerische Strömungsmechanik usw.) durchgeführt. Lösungen der rechnergestützten Analyse werden in einen Zielfunktionsraum eingesetzt. Als Nächstes wird in einem Entscheidungsschritt 606 bestimmt, ob ein vordefiniertes Stoppkriterium erfüllt ist. Falls ”nein”, geht der Verfahrensablauf 600 zu Schritt 608 über, um die Lösungen nach ihrem Rang zu klassifizieren (z. B. nicht-dominierte Lösungen, wie in 1B dargestellt). Es können auch andere, äquivalente verfahren angewendet werden.
-
In Schritt 610 wird unter Verwendung von Evolutionsschemata wie Kreuzung, Mutation usw. eine nächste Generation von Populationen oder Entwurfsalternativen aus der vorhergehenden Generation erzeugt. Danach geht der Verfahrensablauf 600 zurück zu Schritt 604, und der Ablauf wiederholt sich, bis das Kriterium der Entscheidung 606 erfüllt ist. Damit endet der Ablauf 600.
-
Gemäß einem Aspekt betrifft die vorliegende Erfindung ein oder mehrere Computersysteme, die in der Lage sind, den hier beschriebenen Funktionsumfang auszuführen. Ein Beispiel eines Computersystems 700 ist in 7 dargestellt. Das Computersystem 700 umfasst einen oder mehrere Prozessoren, wie etwa den Prozessor 704. Der Prozessor 704 ist an einen internen Kommunikationsbus 702 des Computersystems angeschlossen. Verschiedene Softwareausführungsformen werden anhand dieses beispielhaften Computersystems beschrieben. Nach dem Studium dieser Beschreibung wird es für einen Fachmann auf diesem Gebiet offensichtlich, wie die Erfindung unter Verwendung anderer Computersysteme und/oder Computerarchitekturen implementiert werden kann.
-
Das Computersystem 700 umfasst auch einen Hauptspeicher 708, vorzugsweise einen Direktzugriffsspeicher (RAM), und es kann auch einen Sekundärspeicher 710 umfassen. Der Sekundärspeicher 710 kann beispielsweise ein oder mehrere Festplattenlaufwerke 712 und/oder ein oder mehrere Wechselspeicherlaufwerke 714, die ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein optisches Plattenlaufwerk usw. darstellen, enthalten. Das Wechselspeicherlaufwerk 714 liest von einer Wechselspeichereinheit 718 und/oder schreibt auf diese, auf eine wohlbekannte Art und Weise. Die Wechselspeichereinheit 718 stellt eine Diskette, ein Magnetband, eine optische Platte usw. dar, von der das Wechselspeicherlaufwerk 714 liest und auf die dieses schreibt, Es versteht sich, dass die Wechselspeichereinheit 718 ein von einem Computer verwendbares Speichermedium aufweist, in dem Computersoftware und/oder Daten gespeichert sind.
-
Bei alternativen Ausführungsformen kann der Sekundärspeicher 710 andere ähnliche Mittel aufweisen, um zu ermöglichen, dass Computerprogramme oder andere Anweisungen in das Computersystem 700 geladen werden. Solche Mittel können beispielsweise eine Wechselspeichereinheit 722 und eine Schnittstelle 720 einschließen. Beispiele hierfür können eine Programmkassette und eine Kassettenschnittstelle (wie man sie in Videospielvorrichtungen finden kann), einen auswechselbaren Speicherchip (wie einen löschbaren, programmierbaren Nur-Lese-Speicher (EPROM), einen Flash-Speicher eines universellen seriellen Busses (USB) oder einen PROM) und eine zugehörige Aufnahmevorrichtung und andere auswechselbare Speichereinheiten 722 und Schnittstellen 720, die es ermöglichen, dass Software und Daten von der auswechselbaren Speichereinheit 722 zu dem Computersystem 700 übertragen werden, umfassen. Im Allgemeinen wird das Computersystem 700 durch die Software eines Betriebssystems (OS), die Aufgaben wie Prozesssteuerung, Speicherverwaltung, Vernetzung und E/A-Dienste ausführt, gesteuert und koordiniert.
-
Es kann auch eine Kommunikationsschnittstelle 724 vorhanden sein, die eine Verbindung mit dem Bus 702 herstellt. Die Kommunikationsschnittstelle 724 ermöglicht, dass Software und Daten zwischen dem Computersystem 700 und externen Vorrichtungen übertragen werden. Beispiele der Kommunikationsschnittstelle 724 können ein Modem, eine Netzschnittstelle (wie eine Ethernet-Karte), ein Kommunikationsanschluss, ein Steckplatz und eine Karte nach dem Personal Computer Memory Card International Association (PCMCIA) Standard usw. sein. Software und Daten werden über die Kommunikationsschnittstelle 724 übertragen. Der Computer 700 kommuniziert mit anderen Rechenvorrichtungen über ein Datennetz auf der Basis eines speziellen Satzes von Regeln (d. h. eines Protokolls)s). Eines der gebräuchlichsten Protokolle ist TCP/IP (Transmission Control Protocol/Internet Protocol), das üblicherweise im Internet verwendet wird. Im Allgemeinen verwaltet die Kommunikationsschnittstelle 724 das Umwandeln einer Datendatei in kleinere Pakete, die über das Datennetz übertragen werden, oder fügt empfangene Pakete wieder zu der ursprünglichen Datendatei zusammen. Außerdem handhabt die Kommunikationsschnittstelle 724 den Adressenteil jedes Pakets, so dass es an das richtige Ziel gelangt, oder sie fängt Pakete ab, die für den Computer 700 bestimmt sind. In diesem Dokument werden die Begriffe ”Computerprogrammmedium”, ”computerlesbares Medium”, von einem Computer beschreibbares Medium” und ”von einem Computer verwendbares Medium” verwendet, um allgemein Medien wie das Wechselspeicherlaufwerk 714 (z. B. ein Flash-Speicher-Laufwerk) und/oder eine Festplatte, die in dem Festplattenlaufwerk 712 installiert ist, zu bezeichnen. Diese Computerprogrammprodukte sind Mittel, um für das Computersystem 700 Software bereitzustellen. Die Erfindung betrifft solche Computerprogrammprodukte.
-
Das Computersystem 700 kann auch eine Ein-/Ausgabe-(E/A-)Schnittstelle 730 umfassen, welche dem Computersystem 700 ermöglicht, auf einen Monitor, eine Tastatur, eine Maus, einen Drucker, einen Scanner, einen Plotter und dergleichen zuzugreifen.
-
Computerprogramme (auch als Computersteuerlogik bezeichnet) werden als Anwendungsmodule 706 im Hauptspeicher 708 und/oder Sekundärspeicher 710 gespeichert. Computerprogramme können auch über die Kommunikationsschnittstelle 724 empfangen werden. Solche Computerprogramme ermöglichen es dem Computersystem 700, wenn sie ausgeführt werden, die Funktionen der vorliegenden Erfindung, die hier erörtert wurden, auszuführen. Insbesondere versetzen die Computerprogramme, wenn sie ausgeführt werden, den Prozessor 704 in die Lage, die Funktionen der vorliegenden Erfindung auszuführen. Dementsprechend stellen solche Computerprogramme Steuerungen des Computersystems 700 dar.
-
Bei einer Ausführungsform kann, wenn die Erfindung unter Verwendung von Software implementiert wird, die Software in einem Computerprogrammprodukt gespeichert sein und in das Computersystem 700 unter Verwendung des Wechselspeicherlaufwerks 714, des Festplattenlaufwerks 712 oder der Kommunikationsschnittstelle 724 geladen werden.
-
Das Anwendungsmodul 706 veranlasst, wenn es durch den Prozessor 704 ausgeführt wird, den Prozessor 704, die Funktionen der Erfindung, wie sie hier beschrieben sind, auszuführen.
-
In den Hauptspeicher 708 können ein oder mehrere Anwendungsmodule 706 geladen werden, die von einem oder mehreren Prozessoren 704 mit oder ohne eine Benutzereingabe über die E/A-Schnittstelle 730 ausgeführt werden können, um die gewünschten Aufgaben zu erfüllen. Im Betrieb werden, wenn mindestens ein Prozessor 704 eines der Anwendungsmodule 706 ausführt, die Ergebnisse berechnet und in dem Sekundärspeicher 710 (d. h. dem Festplattenlaufwerk 712) gespeichert. Der Status der CAE-Analyse oder der Optimierung des technischen Entwurfs (z. B. Pareto-optimale Lösungen vor und nach Kombination) wird dem Benutzer über die E/A-Schnittstelle 730 entweder als Text oder in Form einer graphischen Darstellung mitgeteilt.
-
Obwohl die vorliegende Erfindung unter Bezug auf spezielle Ausführungsformen derselben beschrieben wurde, dienen diese Ausführungsformen nur der Veranschaulichung der vorliegenden Erfindung und schränken diese nicht ein Verschiedene Modifikationen oder Änderungen der speziell offenbarten beispielhaften Ausführungsformen werden für Fachleute naheliegend sein. Zum Beispiel werden, obwohl die Anzahlen der Entwurfs-Zielfunktionen als zwei dargestellt wurden, in Wirklichkeit größere Anzahlen von Entwurfszielen verwendet. Ferner können, obwohl die Größe von Populationen oder die Zahl der Entwurfsalternativen in jeder Generation als kleine Zahlen dargestellt und beschrieben sind, stattdessen andere Größen oder Anzahlen verwendet werden. Insgesamt soll der Umfang der Erfindung nicht auf die hier offenbarten speziellen beispielhaften Ausführungsformen beschränkt sein, und alle Modifikationen, die Fachleuten in den Sinn kommen, sollen in der Grundidee und im Rahmen dieser Anmeldung und im Umfang der beigefügten Ansprüche eingeschlossen sein.