De blog van The Write Mind

Gras groeit niet sneller door er aan te trekken

Gras groeit niet sneller door er aan te trekken
In deze Simsalabim post komen volgende onderwerpen aan bod:

Gras groeit niet sneller door er aan te trekken

Maar dat wist u natuurlijk ook wel. Net zoals u weet dat gras wél harder groeit als u het doordacht aanpakt: op de juiste tijdstippen verzorgen, en regelmatig van de nodige voeding voorzien. Zo een doordachte aanpak helpt op vele domeinen (sneller) betere resultaten boeken, en slimme virtuele simulatie vormt daarop absoluut geen uitzondering.

We hadden het er in een vorige blog post al over dat high-fidelity multifysica, high-performance computing (HPC) en process integration & design optimization (PIDO) technieken het mogelijk maken om met virtuele simulatie sneller betrouwbare ontwerpgegevens te genereren. Laat ons nu even bekijken hoe dat ook meer doordacht kan, en hoe we slimme virtuele simulatie in de praktijk kunnen brengen.

Op zoek naar een strategie voor slimme virtuele simulatie

Het moet gezegd worden dat het gebruik van PIDO-technieken daarbij al een eerste stap is in de goede richting. Die technieken maken een “engineer by objective” aanpak mogelijk waarbij van meet af aan wordt nagedacht vanuit de finale doelstellingen die men wil bereiken. Op die manier kan een strategie worden uitgetekend om die doelstellingen zo efficiënt mogelijk te realiseren.

Binnen die strategie zal niet langer incrementeel worden gewerkt (via trial-and-error het initieel ontwerp stap voor stap verbeteren), maar wordt van meet af aan het volledige ontwerpdomein overschouwd. Vertrekkend vanuit de vragen

  • wat zijn de belangrijkste ontwerpdoelstellingen?
  • welke ontwerpparameters hebben we in de hand?

worden experimentele ontwerptechnieken (Design of Experiments, DOE) gebruikt om een minimum aan goed gekozen ontwerpvarianten door te rekenen die een maximum aan relevante ontwerpinformatie opleveren.

Wat betekent dat nu concreet in de praktijk?

Laat ons een eenvoudig maar concreet voorbeeld bekijken, waarbij de doelstelling is een specifieke performantie (bv. gewicht, mechanische spanning, brandstofverbruik, …) te minimaliseren. De bijgaande figuur toont het (a priori onbekende) verloop van die performantie in functie van de ontwerpparameter, en dat binnen een beperkt gebied rondom het initieel ontwerp (het ontwerpdomein).

Slimme virtuele simulatie: grafiek van a priori onbekende performantie

De vraag die we ons daarbij stellen: hoe komt een engineering team zo efficiënt mogelijk te weten hoe de performantie varieert binnen het ontwerpdomein? Of anders gezegd: hoe plant dit team het best een reeks virtuele simulaties om zo snel mogelijk de meest relevante punten op de performantiecurve te ontdekken?

Een incrementele aanpak vergt tijd, en soms ook een flinke dosis geluk

Er kan natuurlijk altijd incrementeel worden gewerkt. Zo een incrementele aanpak is strikt sequentieel: elk nieuw virtueel experiment wordt slechts doorgerekend na evaluatie van een vorig experiment. Die aanpak werkt in 3 fasen (beweeg over elk der figuren in onderstaande slider om de toelichting voor elke fase te lezen):

Deze incrementele aanpak kan dus absoluut een verbeterd ontwerp opleveren, maar daar staat wel een belangrijke kostprijs tegenover:

  • in totaal zijn 8 virtuele experimenten nodig, wat overeenkomt met een totale rekentijd van 16 uur.
  • bovendien is het gevonden ontwerp slechts een sub-optimaal ontwerp. Dat had allicht beter gekund indien andere keuzes waren gemaakt tijdens het iteratief proces, maar dit is sterk afhankelijk van de kennis en ervaring waarover het engineering team beschikt.

Virtuele experimenten gericht plannen spaart tijd

Bij toepassing van experimentele ontwerptechnieken (Design of Experiments) wordt niet langer via trial-and-error gewerkt, maar wordt vooraf een tabel van modelvarianten opgesteld. Daarbij worden dan een of meer parameters per experiment gewijzigd, waardoor snel inzicht wordt verkregen in (on)gewenste effecten van die parameters.

Lees hieronder meer in detail hoe dat concreet tewerk gaat in het huidig voorbeeld (beweeg over elk der figuren in onderstaande slider om de toelichting voor elke fase te lezen).

Deze aanpak op basis van experimentele ontwerptechnieken levert dus nagenoeg hetzelfde sub-optimale ontwerp als de incrementele aanpak, maar tegen een beduidend lagere kostprijs:

  • in totaal zijn slechts 5 virtuele experimenten nodig, wat overeenstemt met een totale rekentijd van 2 + 8 = 10 uur,
  • indien de 4 geplande experimenten in parallel worden doorgerekend, wordt de totale rekentijd zelfs gereduceerd tot 2 + 2 = 4 uur.

En toch moet het nog beter kunnen, niet?

Hoewel voorgaande aanpak al een pak efficiënter is dan een incrementele aanpak, blijft toch het gevoel overheersen dat het beter moet kunnen. Virtuele experimenten worden immers enkel gedefinieerd op basis van ontwerpparameters, ongeacht het verloop van de performantiecurve.  Daardoor blijft het risico bestaan dat de belangrijkste gebieden te weinig (of helemaal niet) worden bemonsterd, of dat minder interessante gebieden daarentegen worden overbemonsterd (en dus rekentijd wordt verspild).

Het zou daarom best wel nuttig kunnen zijn om meer te doen met de resultaten van uitgevoerde virtuele experimenten. Bijvoorbeeld door die te gebruiken om volgende experimenten te plannen daar waar de performantie echt in het interessante bereik duikt!

Dat is nu net wat adaptieve DOE algoritmen doen. Eerder dan virtuele experimenten te genereren enkel op basis van ontwerpparameters, leren zij uit de resultaten van vorige virtuele experimenten. Zoals typisch het geval is bij algoritmen voor gecontroleerd leren, leggen adaptieve DOE algoritmen de resultaten vast in een predictief model dat na een initiële leerfase perfect in staat is om steeds nauwkeuriger voorspellingen te maken.

Lees hieronder meer in detail hoe dat concreet tewerk gaat in het huidig voorbeeld (beweeg over elk der figuren in onderstaande slider om de toelichting voor elke fase te lezen).

Een aanpak op basis van adaptieve DOE algoritmen verkent op een slimme manier de meest interessante gebieden in het ontwerpdomein, en is daarom bij uitstek geschikt om het absolute minimum van de performantie te ontdekken:

  • in totaal zijn 10 virtuele experimenten nodig, wat overeenstemt met een totale rekentijd van 2 + 18 = 20 uur,
  • indien de progressief geplande experimenten in parallel worden doorgerekend, wordt de totale rekentijd zelfs gereduceerd tot 2 + 2 + 2 + 2= 8 uur.

Voor slechts de helft van de rekentijd die nodig was voor een incrementele aanpak wordt een beduidend beter resultaat gevonden. Daarbij is het resultaat geenszins afhankelijk van de kennis en ervaring die aanwezig zijn bij het engineering team, maar levert de aanpak zelf nieuwe inzichten op die het team toelaten om sneller in te zoomen op oplossingen met het grootste verbeteringspotentieel.

Slimmer = sneller + beter

En dat zal des te meer het geval zijn naarmate de complexiteit van het ontwikkelingsproces toeneemt. Hoe meer ontwerpparameters een rol spelen, hoe belangrijker het wordt om zuinig om te springen met rekentijd en te kiezen voor een meer gestructureerde aanpak. Het gebruik van algoritmen voor machinaal leren, zoals adaptieve DOE algoritmen, biedt in dat opzicht opportuniteiten om met slimme virtuele simulatie sneller betere producten te ontwikkelen.

In een volgende bijdrage gaan we dieper in het gebruik van algoritmen voor ongecontroleerd leren binnen virtuele simulatieprocessen.  Die algoritmen zijn heel geschikt om verborgen verbanden en structuren bloot te leggen binnen grote hoeveelheden ontwerpgegevens, en leveren daardoor vaak verrassende inzichten op.

Interessant? Vergeet deze Simsalabim post niet te delen:
Luc Meulewaeter Gras groeit niet sneller door er aan te trekken
Ontdek aanverwante Simsalabim posts:
Luc MeulewaeterGras groeit niet sneller door er aan te trekken