← Back to CoursesStemExpert
StemExpert
Expert · Handboek · 2. Optimaliseren
StemExpert · Brecht Corbeel · schoolium.me
StemExpert
E2. Optimaliseren
EExpert · deel E1 · Wiskundige gereedschapskist

Handboek · hoofdstuk 2Optimaliseren

Het beste ontwerp vinden: waar de afgeleide nul is, op de rand, of numeriek

Ingenieurs zoeken zelden 'een' oplossing; ze zoeken de beste: de tank met het minste materiaal, de spanning met het grootste vermogen, de route met de laagste kosten. Waar een gladde functie een maximum of minimum heeft, is haar afgeleide nul. Je leert optimalisatieproblemen opstellen en exact oplossen, herkent wanneer het optimum op een grens ligt, zoekt numeriek als de formule niet oplosbaar is, en weegt doelen af die elkaar tegenwerken. Het Habitat-werk: de drinkwatertank van het station.

8× uitleg5× uitgewerkt voorbeeld1× ontleed1× naslag1× verhaal1× het geheel2× code16 opdrachten in het werkboek± 10 lestijden
Hoe breed en hoe hoog moet een tank van 500 L zijn? Minder materiaal, minder vloer, door de deur: drie doelen tegelijk.
Hoe breed en hoe hoog moet een tank van 500 L zijn? Minder materiaal, minder vloer, door de deur: drie doelen tegelijk.
Na dit hoofdstuk
Verhaal · 2.1

Fermat en de luie lichtstraal

1/19

Al in de eerste eeuw liet Heron van Alexandrië zien dat een lichtstraal die op een spiegel weerkaatst, de kortste weg neemt tussen bron en oog. Vijftienhonderd jaar later ging de Franse jurist en amateurwiskundige Pierre de Fermat een stap verder. Rond 1636 beschreef hij in een tekst die via de Parijse monnik Marin Mersenne van hand tot hand ging, een methode om maxima en minima te vinden: vervang door , stel de twee uitdrukkingen 'bijna gelijk', deel door en laat daarna weg. Dat is, zonder het woord, de afgeleide gelijkstellen aan nul, dertig jaar voor Newton en Leibniz.

In 1662 gebruikte Fermat zijn methode voor licht dat van lucht naar water gaat. Hij nam aan dat licht niet de kortste weg neemt maar de snelste, en dat het in water trager gaat. De weg van de kortste tijd breekt dan af aan het oppervlak, en de knik volgt precies de brekingswet die Snellius en Descartes eerder uit metingen hadden gehaald. Voor het eerst werd een natuurwet geschreven als een optimum.

Dat idee kwam steeds terug: een zeepvlies neemt de kleinste oppervlakte aan, een ketting hangt met het laagste zwaartepunt, bijen bouwen zeshoekige cellen (dat zeshoeken de wand met de minste omtrek geven, werd pas in 1999 bewezen door Thomas Hales). Ingenieurs doen het bewust: minder materiaal, meer vermogen, lagere kosten. Maar de natuur heeft één doel per keer, een ontwerper vaak drie die elkaar tegenwerken.

Waarom dit hoofdstuk ertoe doet

Het brein van het station neemt voortdurend beslissingen: welke spanning haalt het meeste uit de panelen, wanneer laden, hoeveel lampen aan? Achter elk van die beslissingen zit een optimalisatie. En elk onderdeel dat je ontwerpt, van tank tot mast, is een afweging die je met cijfers wil kunnen verdedigen. Gradiëntafdaling, het werkpaard van de AI in hoofdstuk 43, begint hier.

Licht dat van lucht naar water gaat, knikt: volgens Fermat de weg van de kortste tijd.
Licht dat van lucht naar water gaat, knikt: volgens Fermat de weg van de kortste tijd.
Uitleg · 2.2

Extrema en de horizontale raaklijn

2/19
wat je al kanwat nu komt
de top van een parabool, betekenisvol interpreteren (hoofdstuk 4 van Intermediate)het maximum of minimum van elke afleidbare functie
een criteriatabel met gewichten (hoofdstuk 30 van Fundamental, 38 van Intermediate)de gewogen som en het Pareto-front
het MPP van een zonnepaneel aflezen (hoofdstuk 20 van Intermediate)het MPP berekenen, en een regelaar die het zoekt
afgeleiden, raaklijnen, numeriek differentiëren (hoofdstuk 1)de afgeleide nul stellen, en numeriek zoeken als dat niet exact kan

Een functie heeft in een lokaal maximum als voor alle in de buurt van ; een globaal maximum als dat geldt voor het hele domein. Minimum analoog. Het kernargument is kort: is afleidbaar in een lokaal maximum binnen het domein, dan is het differentiequotiënt niet positief voor en niet negatief voor . Beide limieten zijn , dus:

stelling van Fermat
De omgekeerde richting geldt niet: maakt alleen een kandidaat (een stationair punt).

Waar zoek je dus? Op drie soorten plaatsen:

  1. Stationaire punten: .
  2. Randen van een gesloten domein: daar hoeft de afgeleide niet nul te zijn.
  3. Punten waar niet afleidbaar is: een knik, zoals in 0.

De figuur toont het allemaal voor op . In is de raaklijn horizontaal, maar de functie stijgt links én rechts: een buigpunt met horizontale raaklijn, geen extremum. Het globale maximum en minimum liggen op de randen, waar .

−1,0−0,50,00,51,01,52,02,53,0−5−4−3−2−101234567xf(x)← globaal minimum (rand)globaal maximum (rand)lokaal maximumlokaal minimumbuigpunt, raaklijn horizontaalf(x) = x³ (x − 2)² op [−0,8; 2,6]
Drie horizontale raaklijnen, maar maar twee lokale extrema; de globale extrema liggen op de rand.
Uitleg · 2.3

Maximum, minimum of geen van beide?

3/19

Tekenschema. De afgeleide vertelt waar stijgt () en daalt (). Gaat in een stationair punt van naar , dan is het een maximum; van naar een minimum; wisselt het teken niet, dan geen extremum. Voor is :

min (rand)geen extremumlok. maxlok. minmax (rand)
test met de tweede afgeleide
Bol () rond een horizontale raaklijn is een top, hol een dal. Is , dan zegt de test niets: gebruik het tekenschema.

In is ook : de test faalt, het tekenschema beslist (geen extremum). In is : maximum. In is : minimum. In de figuur zie je dezelfde informatie op één tijdas: waar door nul gaat, heeft een horizontale raaklijn; waar door nul gaat (ook in en ), wisselt de bolling.

f′ = 0 betekent een maximum of minimum

heeft in 0 een horizontale raaklijn en is er toch nergens extreem. Een stationair punt is een kandidaat, geen besluit. In de techniek komt het voor waar twee effecten elkaar net opheffen, bv. een motorkoppel dat even vlak blijft.

−1,0−0,50,00,51,01,52,02,53,0−4−20246xf(x)f−1,0−0,50,00,51,01,52,02,53,0−4−202468xf′(x)f′ = x²(x − 2)(5x − 6)−1,0−0,50,00,51,01,52,02,53,0−20−1001020xf″(x)f″ = 4x(5x² − 12x + 6)
Waar f′ door nul gaat met een tekenwissel, heeft f een extremum; in x = 0 raakt f′ de as zonder te wisselen: geen extremum.
Uitgewerkt voorbeeld · 2.4

Het grootste proefveld

4/19

Tegen de zuidgevel van de klimaatmodule komt een rechthoekig proefveld voor buitenteelt. De gevel vormt één zijde; voor de drie andere zijden is er 12 m gaas. Welke afmetingen geven de grootste oppervlakte?

Gegeven
  • drie zijden samen 12 m; de gevel is de vierde zijde
Gevraagd
  • afmetingen en oppervlakte van het grootste veld
Oplossing
  1. 1
    Variabelen: = de zijde loodrecht op de gevel (m), = de zijde evenwijdig met de gevel (m).
  2. 2
    Doelfunctie: (m²). Randvoorwaarde: , dus en . Domein: .
  3. 3
    Kandidaten: ; randen en geven .
  4. 4
    Aard: : maximum. , .
Antwoord
Een veld van 3 m diep en 6 m breed: 18 m². De zijde langs de gevel is twee keer zo lang als de diepte.
Klopt dit? Probeer en : in beide gevallen, iets minder, en symmetrisch rond 3 m zoals bij elke parabool. Zonder gevel (vier zijden) zou het optimum een vierkant zijn.
Uitleg · 2.5

Een optimalisatieprobleem opstellen

5/19

Het moeilijkste aan optimaliseren is zelden het afleiden; het is het probleem juist opschrijven. Vijf stappen helpen:

  1. Variabelen: welke grootheden mag je kiezen? Geef ze een symbool en een eenheid, en maak een schets.
  2. Doelfunctie: welke ene grootheid wordt minimaal of maximaal? Schrijf ze in functie van de variabelen: materiaal, kosten, vermogen, tijd.
  3. Randvoorwaarden: een gelijkheid (het volume moet 500 L zijn) gebruik je om een variabele te elimineren; een ongelijkheid (past door de deur, niet hoger dan het plafond, positief) bepaalt het domein.
  4. Kandidaten: stationaire punten, randen van het domein en knikken. Vergelijk hun waarden.
  5. Controle: is het een maximum of minimum? Kloppen de eenheden en de orde van grootte? Hoe gevoelig is het resultaat voor de aannames?
Eén doel, de rest wordt voorwaarde

Wil je 'weinig materiaal én weinig vloeroppervlak', dan heb je geen doelfunctie maar twee. Kies er één en maak van de andere een voorwaarde ('hoogstens 0,5 m² vloer'), of weeg ze (verder in dit hoofdstuk). Wie twee doelen tegelijk wil maximaliseren, krijgt geen antwoord maar een discussie.

1 Variabelengrootheden,symbolen,eenheden;schets2 Doelfunctiewat wordtminimaal ofmaximaal?3 Voorwaardengelijkheden:elimineren;ongelijkheden:domein4 Kandidatenf′ = 0, randen,knikken5 Controleaard, eenheden,orde,gevoeligheid
Vijf stappen: de wiskunde zit vooral in stap 4, de ingenieurskunst in 1, 2, 3 en 5.
Uitgewerkt voorbeeld · 2.6

Het blik met het minste materiaal

6/19

Een cilindrisch blik moet 330 mL bevatten. Welke straal en hoogte vragen het minste materiaal, als bodem, deksel en wand even dik zijn? Vergelijk met een echt blikje (ongeveer 6,6 cm breed).

1,52,02,53,03,54,04,55,05,56,06,57,0200250300350400450500straal r (cm)materiaal A (cm²)optimumecht blikjeA(r) = 2πr² + 2V/rbodem + dekselwand
De wand wordt goedkoper bij een grotere straal, bodem en deksel duurder: het minimum ligt waar beide even snel veranderen.
Gegeven
  • gelijke dikte van bodem, deksel en wand
Gevraagd
  • , en de oppervlakte bij het minimum
  • het meerverbruik van een blikje van 6,6 cm breed
Oplossing
  1. 1
    Doelfunctie: (bodem, deksel, wand). Voorwaarde: , dus voor .
  2. 2
    , .
  3. 3
    . Merk op: uit volgt . De hoogte is gelijk aan de diameter.
  4. 4
    Aard: : minimum. .
  5. 5
    Blikje van 6,6 cm breed () met dezelfde inhoud: en , dus maar 1,5 % meer.
Antwoord
en : het zuinigste blik is even hoog als breed. Een smaller blikje kost nauwelijks meer materiaal.
Klopt dit? Waarom zijn echte blikjes toch hoger (ongeveer 11,5 cm)? De wand van een blikje is maar ongeveer 0,1 mm dik, bodem en deksel ongeveer 0,25 mm. Weeg je de oppervlakken met hun dikte, dan verschuift het optimum naar , hier ongeveer 2,5. Het echte blik () ligt ertussen: een vernauwde hals, de greep in de hand, stapelen en automaten spelen ook mee.
Uitleg · 2.7

Een vlak optimum

7/19

Het echte blikje wijkt 12 % af van de optimale straal en kost toch maar 1,5 % meer materiaal. Dat is geen toeval. Rond een glad minimum is , dus volgens Taylor (hoofdstuk 1)

De eerste-ordeterm valt weg: een afwijking kost kwadratisch weinig. Schrijf je de straal relatief, , dan is voor elke cilinder met gelijke dikte . Een afwijking van 10 % kost ongeveer 1 %, een van 20 % ongeveer 4 %. Wie minder dan 5 % extra materiaal wil, mag de straal kiezen tussen 0,79 en 1,24 keer de optimale.

Dat is goed nieuws voor de ontwerper: in de buurt van het optimum is er ruimte voor andere doelen (past het door de deur, staat het stabiel, bestaat die maat in de handel) zonder veel te verliezen. Het omgekeerde geldt ook: een optimum dat je nauwkeurig 'raakt', levert weinig op als het vlak is. Rekenen tot op de millimeter is dan zinloos.

Niet elk optimum is vlak

Een optimum op de rand (een actieve randvoorwaarde) heeft een helling die niet nul is: daar kost elke afwijking evenredig veel. En sommige grootheden reageren sterk, zoals het vermogen van een zonnepaneel voorbij het MPP (de kromme valt steil naar ).

hoogstens 5 % meer0,500,751,001,251,501,752,000,951,001,051,101,151,201,251,301,351,40r / ropt A / Amin exactparabool 1 + (x − 1)²
Binnen de groene band kost de afwijking minder dan 5 % extra materiaal; de parabool 1 + (x − 1)² is de benadering van Taylor.
Uitgewerkt voorbeeld · 2.8

Maximale vermogensoverdracht

8/19

Een bron met bronspanning en inwendige weerstand voedt een belasting . Welke krijgt het grootste vermogen, hoe groot is dat, en wat is dan het rendement? Is dat een goed idee voor de batterij van de module?

0,00,51,01,52,02,53,03,54,0020406080belasting R (Ω)P (W)R = rvermogen in de belasting0,00,51,01,52,02,53,03,54,00255075100belasting R (Ω)rendement (%)rendement R / (R + r)
Het vermogen is maximaal bij R = r, maar dan gaat de helft verloren; bij grotere R daalt het vermogen en stijgt het rendement.
Gegeven
  • ,
  • ,
Gevraagd
  • bij het maximum, , rendement
Oplossing
  1. 1
    Doelfunctie: voor . In hoofdstuk 1 (opdracht 1.2) vond je .
  2. 2
    . Tekenschema: voor , voor : maximum.
  3. 3
    .
  4. 4
    Rendement: : de helft van het vermogen wordt warmte in de bron zelf.
  5. 5
    Met (tien keer ): bij .
Antwoord
geeft 72 W, maar met 50 % rendement. Voor een batterij of een net is dat geen goed idee: daar wil je het rendement maximaliseren (), niet het vermogen in de last.
Klopt dit? Bij signalen is het omgekeerd: een antenne, een microfoon of een meetversterker levert weinig vermogen en elke microwatt telt. Daarom zijn kabels en ingangen daar op elkaar afgestemd (50 Ω bij radio). En een zonnepaneel? Dat is geen spanningsbron met een weerstand; zijn optimum (het MPP) zoek je verder in dit hoofdstuk numeriek.
Uitgewerkt voorbeeld · 2.9

Habitat: de drinkwatertank met het minste materiaal

9/19

Het station krijgt een drinkwatertank van 500 L: genoeg voor een week volledig verbruik door twee bewoners (ongeveer 70 L per dag voor drinken, koken en wassen) als de waterzuivering uitvalt, of voor een maand drinken en koken. De tank is een gesloten cilinder in HDPE (hoofdstuk 17 van Intermediate). Welke vorm vraagt het minste materiaal (a) als bodem, deksel en wand even dik zijn, (b) als de bodem, die het water draagt, anderhalve keer zo dik is? Ter vergelijking: een open bak.

Gegeven
  • (b) materiaal (in eenheden wanddikte × oppervlakte)
Gevraagd
  • en in beide gevallen, en de oppervlakte in (a)
Oplossing
  1. 1
    (a) Zoals het blik: , en ; .
  2. 2
    Algemeen, met kosten (bodem), (deksel) en (wand) per m²: , dus geeft en .
  3. 3
    (b) , : , , dus en .
  4. 4
    Open bak (): , dus en : 21 % minder materiaal, maar voor drinkwater onaanvaardbaar (stof, algen, hoofdstuk 5 van Intermediate).
Antwoord
(a) met materiaal; (b) en . Hoe duurder de bodem en het deksel tegenover de wand, hoe slanker de tank.
Klopt dit? Controleer (a): . Maar past een tank van 86 cm breed door de deur van de woonmodule? Dat is de vraag van het volgende blad.
Uitleg · 2.10

Randvoorwaarden: als het optimum op de rand ligt

10/19

De tank moet door een deur met 0,80 m vrije doorgang: met een centimeter speling aan elke kant is . En in de technische ruimte (2,6 m hoog) moet boven de tank ruimte blijven voor de vulopening en de leidingen: , of . Het toegelaten domein is dus .

Het vrije optimum () ligt buiten dat domein. Binnen het domein daalt overal, dus het beste toegelaten ontwerp ligt op de rand: , . De deurvoorwaarde is actief: ze bepaalt het ontwerp, en daar is . De prijs is klein, precies omdat het optimum vlak is: in plaats van , 0,9 % meer materiaal.

Een algemene les: los eerst het vrije probleem op, en kijk dan welke voorwaarden geschonden zijn. Die worden actief; vul ze in als gelijkheid en optimaliseer verder over wat overblijft. Bij meer variabelen wordt dat systematisch met de methode van Lagrange (hoger onderwijs): in het optimum wijst de gradiënt van de doelfunctie loodrecht op de grens.

Randvoorwaarden die je niet ziet

Een volle tank weegt ongeveer 530 kg. Op een voetafdruk van 0,48 m² is dat ongeveer 11 kN/m², terwijl een woningvloer ontworpen wordt op een verdeelde belasting in de orde van 2 kN/m². De tank hoort op een eigen sokkel die de last naar de fundering brengt (hoofdstuk 10 van Intermediate en hoofdstuk 12). Een optimum dat de vloer laat doorbuigen, is geen optimum.

past niet door de deur0,50,60,70,80,91,01,11,23,33,43,53,63,73,83,94,04,14,24,34,44,54,6diameter d (m)materiaal A (m²)vrij optimumbeste toegelatenA(d) bij 500 L, gesloten
De gekleurde stroken zijn verboden (links: hoger dan 2,2 m, rechts: past niet door de deur). Het vrije optimum (0,86 m) valt erin; het beste toegelaten ontwerp ligt op de grens van de deur, met minder dan 1 % extra materiaal.
Uitleg · 2.11

Meerdere doelen: gewogen som en Pareto-front

11/19

In een woonmodule van 24 m² is vloeroppervlak kostbaar. Een smallere tank neemt minder vloer in maar vraagt meer materiaal; een bredere tank (boven 0,86 m) vraagt meer van beide. Zet elke diameter uit als punt (vloeroppervlak, materiaal). Een ontwerp is gedomineerd als een ander ontwerp op beide doelen minstens even goed is en op één beter. De niet-gedomineerde ontwerpen vormen het Pareto-front: daar kan je alleen iets winnen door elders iets te verliezen.

De wiskunde kiest niet op het front; de ontwerper wel, met een van drie technieken:

  • Gewogen som: minimaliseer (dimensieloos maken is nodig, anders tel je m² bij kilogram op). De gewichten zijn een waardeoordeel: zeg ze hardop.
  • Eén doel, de rest als voorwaarde (-methode): minimaliseer het materiaal met . Dat is wat ingenieurs het vaakst doen, omdat een grens makkelijker te verdedigen is dan een gewicht.
  • Kiezen op het front: toon de opdrachtgever de hele kromme en laat de afweging zichtbaar.

Voor de tank (tabel bij het volgende blad): tussen 0,54 en 0,78 m ligt elk ontwerp op het front. 0,78 m spaart het meeste materiaal, 0,70 m spaart 0,09 m² vloer voor 3,0 % meer materiaal en een hogere waterdruk.

0,20,30,40,50,60,70,80,91,03,33,43,53,63,73,83,94,04,14,24,3vloeroppervlak F (m²)materiaal A (m²)deurhoogted = 0,54d = 0,60d = 0,70d = 0,78d = 0,86d = 1,00Pareto-frontgedomineerd
Links van d = 0,86 m ruil je materiaal tegen vloer (het front); rechts ervan verlies je op beide doelen (gedomineerd).
Code · 2.12

Habitat: de tank doorrekenen

12/19

Het programma zet de doelen en voorwaarden naast elkaar voor zes diameters en zoekt met een rooster (stap 1 mm) de toegelaten diameter met het minste materiaal. Bij één variabele is een rooster snel genoeg en zeer robuust: het vindt ook een optimum op de rand, en je ziet meteen hoe vlak het is.

Pythontank.py28 regelsDownload
# tank.py - de drinkwatertank van 500 L: materiaal, vloeroppervlak en vloerdruk per diameterimport math V = 0.50                     # m3D_DEUR, H_MAX = 0.78, 2.2    # randvoorwaarden: door de deur, en niet te hoog (m)  def gegevens(d):    r = d / 2    h = V / (math.pi * r * r)    A = 2 * math.pi * r * r + 2 * math.pi * r * h        # bodem + deksel + wand (m2)    F = math.pi * r * r                                   # vloeroppervlak (m2)    p = 1000 * 9.81 * h / 1000                            # waterdruk op de bodem (kPa)    return h, A, F, p  A_min = gegevens(2 * (V / (2 * math.pi)) ** (1 / 3))[1]print("  d (m)  h (m)  A (m2)  extra  F (m2)  p (kPa)  toegelaten")for d in (0.54, 0.60, 0.70, 0.78, 0.86, 1.00):    h, A, F, p = gegevens(d)    ok = d <= D_DEUR and h <= H_MAX    print("  %.2f   %.3f  %.3f   %4.1f%%  %.3f   %4.1f    %s" % (d, h, A, (A / A_min - 1) * 100, F, p, "ja" if ok else "nee")) # rooster: de toegelaten diameter met het minste materiaal (stap 1 mm)beste = min((d / 1000 for d in range(500, 1201)             if d / 1000 <= D_DEUR and gegevens(d / 1000)[0] <= H_MAX),            key=lambda d: gegevens(d)[1])print("beste toegelaten diameter: %.3f m (h = %.3f m)" % (beste, gegevens(beste)[0]))

Uitvoer:

  d (m)  h (m)  A (m2)  extra  F (m2)  p (kPa)  toegelaten
  0.54   2.183  4.162   19.3%  0.229   21.4    ja
  0.60   1.768  3.899   11.8%  0.283   17.3    ja
  0.70   1.299  3.627    4.0%  0.385   12.7    ja
  0.78   1.046  3.520    0.9%  0.478   10.3    ja
  0.86   0.861  3.487    0.0%  0.581    8.4    nee
  1.00   0.637  3.571    2.4%  0.785    6.2    nee
beste toegelaten diameter: 0.780 m (h = 1.046 m)

De kolom 'extra' toont het vlakke optimum: 0,70 tot 1,00 m blijft binnen 4 %. De vloerdruk van het water alleen gaat van 6 kPa (breed) tot ruim 20 kPa (smal); het gewicht van de tank en de sokkel komt erbij. Met een rooster van 701 punten is het antwoord tot op de millimeter bekend; nauwkeuriger is zinloos voor een tank die in standaardmaten verkocht wordt.

Uitgewerkt voorbeeld · 2.13

Habitat: de keuze van de tank

13/19

Kies een diameter voor de drinkwatertank en verdedig de keuze met de doelen (materiaal, vloer) en de voorwaarden (deur, hoogte, vloerbelasting). Gebruik een gewogen som met voor materiaal en voor vloer, met de waarden van het vrije optimum als referentie.

Gegeven
  • ,
  • toegelaten:
Gevraagd
  • de diameter met de kleinste
  • een verantwoorde keuze
Oplossing
  1. 1
    . Afleiden (of een rooster) geeft het minimum van bij .
  2. 2
    Die diameter ligt binnen het toegelaten domein. Met (alleen materiaal) zou je op de deurgrens 0,78 m uitkomen; hoe zwaarder de vloer weegt, hoe smaller de tank.
  3. 3
    Controle vloerbelasting: bij drukt de volle tank ongeveer , bij ongeveer : in beide gevallen een eigen sokkel op de fundering.
  4. 4
    Keuze: , water plus een luchtruimte. Argumenten: minste materiaal binnen de voorwaarden, laagste druk op de sokkel, en een standaardmaat van die orde is in de handel. De gewogen som zou een smallere tank kiezen; dat verschil (een paar tienden van een vierkante meter vloer) is een beslissing voor de bewoners, niet voor de wiskunde.
Antwoord
Een gesloten cilinder van 0,78 m binnendiameter en 1,05 m waterhoogte, op een eigen sokkel in de technische ruimte. Nieuwe waarde voor het stationsdossier.
Klopt dit? Gevoeligheid: een tank van 0,70 m kost 3,0 % meer materiaal en spaart 0,09 m² vloer. Omdat het optimum vlak is, doen beide keuzes het goed; wat telt, is dat de afweging zichtbaar en onderbouwd is.
Uitleg · 2.14

Numeriek optimaliseren

14/19

Vaak kan je niet exact oplossen. Het vermogen van een zonnepaneel is met (in een eenvoudig diodemodel) . Dan is , en heeft geen oplossing in gewone functies. Voor een paneel van 350 Wp (, , ) zoek je numeriek:

  • Rooster: reken uit in veel punten en neem het beste. Eenvoudig en robuust (ook bij meerdere toppen), maar duur bij veel variabelen.
  • Bisectie op : links van het maximum en rechts. Halveer het interval en houd de helft met de tekenwissel. Na stappen is het interval keer zo klein.
  • Gulden snede: zonder afgeleide. Kies twee proefpunten in . Is , dan kan het maximum niet rechts van liggen (bij een functie met één top): schrap dat stuk, anders het stuk links van . Leg je de proefpunten op de fractie , dan is één van de twee oude punten meteen een proefpunt van het nieuwe interval: één functiewaarde per stap, en het interval krimpt telkens met 0,618. (Uit die eis volgt .)
methodewat ze nodig heeftinterval per stapstappen voor 41 V → 0,01 V
rooster (alle punten)alleen –4100 evaluaties
bisectie op het teken van × 0,513
gulden snedealleen , unimodaal× 0,61818
Newton op (hoofdstuk 36) en fout wordt kwadratisch kleinerenkele
perturb and observemetingen van vaste stapvolgt het maximum als het verschuift

Het resultaat: het MPP ligt bij en , met . De gulden snede had er 18 stappen voor nodig om tot op 0,01 V te komen, bisectie 16 stappen tot op 0,001 V.

Unimodaal

Bisectie op en de gulden snede vinden een maximum alleen als er in het interval precies één is. Een half beschaduwd paneel met bypassdiodes heeft er soms twee: dan vindt de methode misschien het kleinste. Een grof rooster vooraf lost dat op.

0481216202428323640440100200300400U (V)P (W)P(U) van een paneel van 350 Wp0481216202428323640440123456789U (V)stap kproefpunten x₁ en x₂
Onder: bij elke stap het zoekinterval (lijn) met zijn twee proefpunten; het interval trechtert naar het MPP.
Code · 2.15

Het MPP berekenen, en volgen

15/19

Drie methoden op hetzelfde model. De afgeleide wordt numeriek berekend met een centrale differentie (hoofdstuk 1), zoals je doet als je geen formule voor hebt. De derde methode is die van een echte MPPT-regelaar: die kent geen model, maar meet. Hij verandert de spanning een beetje en kijkt of het vermogen stijgt; zo niet, dan keert hij om (perturb and observe).

Pythonmpp.py55 regelsDownload
# mpp.py - het punt van het grootste vermogen van een zonnepaneel, drie numerieke methodenimport math ISC, VOC, A = 10.9, 41.0, 2.44                 # kortsluitstroom (A), openklemspanning (V), diodeparameter (V)I0 = ISC / (math.exp(VOC / A) - 1)             # verzadigingsstroom: I(VOC) = 0  def P(u):                                      # vermogen (W) bij spanning u (V)    return u * (ISC - I0 * (math.exp(u / A) - 1))  def dP(u, h=1e-5):                             # afgeleide: centrale differentie (hoofdstuk 1)    return (P(u + h) - P(u - h)) / (2 * h)  # 1. bisectie op de afgeleide: dP > 0 links van het MPP, dP < 0 rechtsa, b, n = 0.0, VOC, 0while b - a > 0.001:    m = (a + b) / 2    if dP(m) > 0:        a = m    else:        b = m    n += 1print("bisectie op P':  U = %.3f V, P = %.2f W na %d stappen" % ((a + b) / 2, P((a + b) / 2), n)) # 2. gulden snede op P zelf (geen afgeleide nodig)g = (math.sqrt(5) - 1) / 2a, b, n = 0.0, VOC, 0x1, x2 = b - g * (b - a), a + g * (b - a)p1, p2 = P(x1), P(x2)while b - a > 0.01:    if p1 > p2:        b, x2, p2 = x2, x1, p1        x1 = b - g * (b - a)        p1 = P(x1)    else:        a, x1, p1 = x1, x2, p2        x2 = a + g * (b - a)        p2 = P(x2)    n += 1print("gulden snede:     U = %.3f V, P = %.2f W na %d stappen" % ((a + b) / 2, P((a + b) / 2), n)) # 3. perturb and observe, zoals een MPPT-regelaar: kleine stap, kijk of P stijgtu, stap, richting = 30.0, 0.5, +1vorig = P(u)spoor = []for k in range(14):    u += richting * stap    nu = P(u)    if nu < vorig:                             # slechter: keer om        richting = -richting    vorig = nu    spoor.append("%.1f" % u)print("perturb and observe:", " ".join(spoor))

Uitvoer:

bisectie op P':  U = 34.378 V, P = 349.89 W na 16 stappen
gulden snede:     U = 34.378 V, P = 349.89 W na 18 stappen
perturb and observe: 30.5 31.0 31.5 32.0 32.5 33.0 33.5 34.0 34.5 35.0 34.5 34.0 34.5 35.0

Bisectie en gulden snede komen op hetzelfde punt uit. Perturb and observe klimt vanaf 30 V naar het MPP en blijft daarna heen en weer springen tussen drie spanningen rond de top: een regelaar die blijft zoeken, verliest een klein beetje, maar volgt het maximum wel als de zon of de temperatuur verandert. Een kleinere stap verkleint die schommeling maar maakt het volgen trager (opdracht 2.9).

Ontleed · 2.16

Het werkpunt van een zonnepaneel

16/19

Stroom en vermogen van het paneel van 350 Wp bij standaardtestcondities (1000 W/m², cel op 25 °C), uit het diodemodel. De verticale lijn staat op het MPP.

048121620242832364044024681012U (V)I (A)stroom I(U)0481216202428323640440100200300400U (V)P (W)vermogen P = U · IIsc · U
Het MPP ligt op de knie van de stroomkromme, waar de rechthoek U × I onder de kromme het grootst is.
Wijs een nummer aan: de figuur zoomt in. Klik om vast te zetten.
  1. 1
    Kortsluitstroom

    Bij U = 0 levert het paneel 10,9 A, maar geen vermogen. De stroom is evenredig met het zonlicht.

  2. 2
    De knie

    Boven ongeveer 35 V gaan de diodes in de cellen geleiden en valt de stroom snel weg: de exponentiële term wint.

  3. 3
    Openklemspanning

    Bij 41,0 V is de stroom nul: weer geen vermogen. Ze daalt als de cellen warm worden (hoofdstuk 20 van Intermediate).

  4. 4
    Stroombron

    Links van de knie is de stroom bijna constant: P stijgt bijna lineair met U, langs de stippellijn Isc · U.

  5. 5
    Horizontale raaklijn

    Het MPP: 349,9 W bij 34,4 V en 10,18 A. Hier is dP/dU = 0; de vulfactor P/(Voc · Isc) is 0,78.

  6. 6
    Steil voorbij het MPP

    Rechts van het MPP valt het vermogen veel sneller dan links: een regelaar werkt liever een tikje links van het MPP.

Uitleg · 2.17

Meer variabelen: de gradiënt

17/19

Een open bak in de vorm van een balk (lengte , breedte , hoogte ) moet 0,50 m³ water bevatten. Nu zijn er twee vrije variabelen: met is het materiaal

Een partiële afgeleide is een gewone afgeleide naar één variabele, met de andere vast: en . In een minimum zijn ze allebei nul. Uit beide volgt en : , , . Een open bak is dus twee keer zo breed als hoog.

De twee partiële afgeleiden samen vormen de gradiënt . Hij wijst in de richting waarin het snelst stijgt, en staat loodrecht op de niveaulijnen. Gradiëntafdaling zet daarom kleine stappen tegen de gradiënt in:

gradiëntafdaling
is de stapgrootte (in de AI: de learning rate).

In de figuur vertrekt de zoektocht in met en volgt de steilste helling naar beneden, eerst snel, dan steeds trager omdat de gradiënt kleiner wordt. Een te grote schiet over het dal heen en divergeert. Het programma probeert vier stapgroottes:

def A(l, b, V=0.5):                  # open bak: bodem l*b en vier wanden, hoogte V/(l*b)
    return l * b + 2 * V / b + 2 * V / l


def grad(l, b, V=0.5):
    return b - 2 * V / l ** 2, l - 2 * V / b ** 2


for eta in (0.1, 0.3, 0.6, 0.7):
    l, b = 0.45, 1.8
    for k in range(1, 301):
        gl, gb = grad(l, b)
        l, b = l - eta * gl, b - eta * gb
        if abs(gl) + abs(gb) < 1e-6 or not (0 < l < 10 and 0 < b < 10):
            break
    print("eta %.1f: na %3d stappen l = %.4f, b = %.4f" % (eta, k, l, b))
eta 0.1: na 142 stappen l = 1.0000, b = 1.0000
eta 0.3: na  41 stappen l = 1.0000, b = 1.0000
eta 0.6: na  71 stappen l = 1.0000, b = 1.0000
eta 0.7: na   3 stappen l = 1.7820, b = 85.0149

Een neuraal netwerk (hoofdstuk 43) doet precies dit, met miljoenen variabelen in plaats van twee.

0,20,40,60,81,01,21,41,61,82,02,20,20,40,60,81,01,21,41,61,82,02,2lengte l (m)breedte b (m)A = 3,6A = 4,0A = 4,6gradiëntafdaling, η = 0,3minimum (1; 1)
Elke stap staat loodrecht op de niveaulijn waar hij vertrekt; de stappen worden korter naarmate het dal vlakker wordt.
Naslag · 2.18

Optimaliseren: formules en werkwijze

18/19

Stappen: variabelen, doelfunctie, randvoorwaarden en domein, kandidaten (stationaire punten, randen, knikken), controle en gevoeligheid.

stationaire punten
cilinder met het minste materiaal
symboolbetekeniseenheid
kost of dikte van bodem, deksel, wandper m²
maximale vermogensoverdracht
symboolbetekeniseenheid
inwendige weerstand van de bronΩ
vlak optimum
gulden snede
symboolbetekeniseenheid
lengte van het zoekinterval na n stappeneenheid van x
gradiëntafdaling
symboolbetekeniseenheid
stapgrootte (learning rate)–
methodewat ze nodig heeftinterval per stapstappen voor 41 V → 0,01 V
rooster (alle punten)alleen –4100 evaluaties
bisectie op het teken van × 0,513
gulden snedealleen , unimodaal× 0,61818
Newton op (hoofdstuk 36) en fout wordt kwadratisch kleinerenkele
perturb and observemetingen van vaste stapvolgt het maximum als het verschuift
Het geheel · 2.19

Waar optimaliseren vandaan komt en waar het heen gaat

19/19

Optimaliseren verbindt wiskunde (W) met ontwerpen (D): het maakt van 'een goed idee' een verdedigbare keuze. Het raakt energie (MPP, rendement), elektronica (aanpassing), constructies (materiaal, sterkte) en data en AI (een model trainen is een fout minimaliseren).

Programma van eisen en criteriatabel: de eerste vorm van doelen en randvoorwaarden.

De top van een parabool: het eerste optimum zonder afgeleide.

De I-U-kromme en het MPP, hier berekend en gevolgd.

Een keuzematrix met gewichten: de gewogen som in de praktijk.

De afgeleide en de numerieke differentie die hier nul gesteld of gebruikt worden.

Wanddikte en spanning: waarom grote tanks breed en laag zijn (opdracht 2.13).

De MPPT-lader van het zonnepark: perturb and observe in hardware.

Newton-Raphson en andere methoden om nulpunten en optima te vinden.

Kleinste kwadraten: de beste rechte is een optimum.

Gradiëntafdaling met miljoenen variabelen.

Trade-offstudies: meerdere doelen afwegen in een groot project.

HabitatHet stationsdossier krijgt een drinkwatertank van 500 L: gesloten HDPE-cilinder, 0,78 m binnendiameter, 1,05 m waterhoogte, op een eigen sokkel in de technische ruimte. Het brein van het station optimaliseert ook in bedrijf: de MPPT-regelaars zoeken het werkpunt van de panelen, en later (hoofdstuk 49) kiest het energiebeheer wanneer het laadt en welke lasten het uitstelt.
Samenvatting

In het kort

Begrippen

Wat je nu kent

stationair punt
Punt waar de afgeleide nul is: de raaklijn is horizontaal. Kandidaat voor een extremum, maar het kan ook een buigpunt zijn.
lokaal extremum
Een maximum of minimum in vergelijking met de punten in de buurt; het globale extremum is het grootste of kleinste over het hele domein.
doelfunctie
De grootheid die je minimaal of maximaal wil maken, geschreven als functie van de ontwerpvariabelen.
randvoorwaarde
Een eis waaraan het ontwerp moet voldoen: een gelijkheid (bv. het volume) of een ongelijkheid (bv. past door de deur).
actieve randvoorwaarde
Een ongelijkheid die in het optimum precies gelijk wordt: het optimum ligt op de grens.
vlak optimum
Rond een glad extremum verandert de doelfunctie maar kwadratisch: een kleine afwijking kost bijna niets.
Pareto-optimaal
Een ontwerp dat je op geen enkel doel kan verbeteren zonder op een ander doel in te leveren; samen vormen ze het Pareto-front.
gulden snede (zoeken)
Numerieke methode die een maximum insluit in een interval dat elke stap met de factor 0,618 krimpt, met één nieuwe functiewaarde per stap.
MPP
Maximum power point: de spanning waarbij een zonnepaneel het grootste vermogen levert; een MPPT-regelaar zoekt en volgt dat punt.
gradiënt
De vector van de partiële afgeleiden; hij wijst in de richting waarin een functie van meer variabelen het snelst stijgt.
Aan de slag in het werkboek16 opdrachten, van oefenen tot uitdagen