CH NEO-ZÜRICH AUSGABE
WETTER · KLAR 28°C
BLEND DES TAGES · 07/ROGUE
EST. 2027
DIE AEC CYBER MORGENZEITUNG

PAZ Kaffi

DESIGN · ABBRUCH · KOFFEIN · DEPESCHE
AUSGABE 0730 · 30 July 2026
SENDUNG 04:42 MEZ
2'400 BOGEN GEDRUCKT
LESEZEIT · 47 MIN
Galapagos war niemals Magie — bauen Sie den Solver selbst
Akademie
FRAME · 07:00
30-07-2026

Galapagos war niemals Magie — bauen Sie den Solver selbst

Ruttens Galapagos war nie Magie. Bauen Sie den Solver in DEAP nach — Python-Tutorial für echte AEC-Optimierung.

Bevor es ein Schieber auf Ihrer Grasshopper-Canvas war, war es eine wissenschaftliche Arbeit. In den frühen 1960er Jahren veröffentlichte Lawrence J. Fogel On the Organization of Intellect und zündete die Lunte an der evolutionären Informatik. Ingo Rechenberg und John Henry Holland führten es durch die frühen 1970er Jahre weiter. Richard Dawkins brachte es 1986 mit The Blind Watchmaker auf Schreibtische von überall, mit einem endlosen Strom von kleinen Biomorphs, von Hand gezüchtet. Vor fünfzehn Jahren nahm David Rutten diese ganze Ahnenreihe, verdichtete sie in ein Bauteil namens Galapagos und demonstrierte es auf der AAG10-Konferenz in Wien am 21. September 2010. Sein Artikel erschien drei Tage später. Lesen Sie ihn und eines wird klar: Daran war niemals etwas Magisches.

Rutten ist erfrischend ehrlich über den Deal, auf den Sie sich einlassen. Evolutionäre Solver sind, in seinen Worten, langsam — verdammt langsam. Eine einzige Licht-/Schattenanalyse oder akustische Bewertung kann eine Minute pro Iteration kosten, und Sie brauchen mindestens 50 Generationen mit je 50 Individuen, bevor das Ding aufhört sich zu blamieren. Rechnen Sie selbst: 2.500 Bewertungen à eine Minute ergibt einen Zwei-Tage-Lauf für eine Fassadenstudie. Schlimmer noch, der Solver garantiert nicht mal eine Antwort. Allein gelassen läuft er endlos, entweder erreicht er den Peak nie oder steht darauf ohne es zu merken. Der Vorteil ist, dass er Ihnen jederzeit, wenn Sie abbrechen, ein Ergebnis gibt — neuere Antworten schlagen normalerweise ältere, so dass auch ein abgebrochener Lauf etwas auf dem Schreibtisch hinterlässt.

Das ist der ganze Deal auf einem funktionierenden Schreibtisch. Sie benutzen keinen genetischen Algorithmus, weil er elegant ist. Sie benutzen ihn, weil Ihr Problem unterbestimmt ist, hässlich und nicht das, das ein geschlossener Solver anfasst — Paneelwinkel gegen jährliche Blendung, Trägertiefe gegen Durchbiegung, eine Treppe, die zwei Absätze und ein Budget treffen muss. Die schlechte Nachricht ist die Rechnung. Die gute Nachricht ist, dass Sie den Motor selbst bauen können und exakt sehen, wo die Zeit hingeht.

←HEUTE: Ruttens Galapagos-Essay von 2010 beschreibt immer noch exakt den Solver, den Sie 2026 laufen lassen — fünf verzahnte Teile, keine Garantie, ernten Sie wann immer Sie wollen.
→3012: Optimierung ist kein Zwei-Tage-Batch mehr, sondern läuft ständig im Hintergrund; der Schreibtisch prüft Absicht, nicht Laufzeit.
Drehpunkt: Der Algorithmus hat sich seit Fogel nicht geändert — nur die Zahl der Bewertungen, die Sie sich vor dem Dinner leisten können, ist gewachsen.

Das Werkzeug: DEAP (Distributed Evolutionary Algorithms in Python) ist die Open-Source-Bibliothek, die Ruttens fünf Teile greifbar macht. Sie wird von einer Forschungsgruppe an der Université Laval gepflegt, sie ist pip-installierbar und sie zeigt die gleiche Anatomie, die Galapagos verbirgt: ein Genom, eine Fitnessfunktion, Selektion, Crossover und Mutation. Ein Nachmittag mit DEAP lehrt Sie mehr darüber, was Ihr Grasshopper-Solver wirklich tut, als ein Jahr an dem Schieber zu ziehen.

Setup:

git clone https://github.com/DEAP/deap.git
cd deap
pip install deap        # oder: pip install .
python -c "import deap; print(deap.__version__)"
python examples/ga/onemax.py   # erster evolutionärer Lauf, ~1s

Erste Schritte:

  1. Öffnen Sie examples/ga/onemax.py. Das ist der kleinste vollständige Solver: eine toolbox registriert Ihr Genom, Ihre evaluate und die drei Operatoren — das ist Ruttens Anatomie in ~40 Zeilen.
  2. Finden Sie creator.create("FitnessMax", base.Fitness, weights=(1.0,)). Drehen Sie das Gewicht auf (-1.0,) und Sie minimieren jetzt statt zu maximieren — der gleiche One-Line-Switch zwischen Lichteinfang und Blendungsbekämpfung.
  3. Ersetzen Sie evalOneMax durch Ihre eigene Zielfunktion, die einen Wert zurückgibt: Gesamtblendungsstunden, Kilogramm Stahl, Abweichung von einer Zielkurve.
  4. Laufen Sie es nochmal und beobachten Sie, wie das Generationenlog hochklettert. Diese steigende Zahl ist die Population, die sich um Ruttens Fitness-Spitzen gruppiert, ausgedruckt statt gezeichnet.

Atelier: In einem Atelier in Zürich oder Basel ist das kein Spielzeug. In dem Moment, in dem Sie eine Designfrage als “eine Zahl, die ich niedriger haben will” formulieren können, lässt Sie DEAP den Suchalgorithmus in Python prototypisieren, bevor Sie sich je einem Zwei-Tage-Galapagos-Lauf im Livemodell verschreiben — Sie debuggen die Zielfunktion, nicht den Geometrie-Motor. Ihr Montags-Zug: Nehmen Sie eine wiederkehrende Optimierung, die Sie derzeit mit dem Auge beurteilen — Paneelrotation, Trägertiefe, Öffnungsverhältnis — schreiben Sie ihre Zielfunktion als eine einzelne Python-Funktion, die einen Wert zurückgibt, und führen Sie sie gegen 20 zufällige Genome aus, um zu bestätigen, dass die Zahl sich in die erwartete Richtung bewegt, bevor Sie hochfahren.

Hack: Begrenzen Sie den Lauf, bevor er Ihre ganze Woche kostet. Ruttens zweite Warnung — der Solver weiss nicht, wann er stoppen soll — ist eine One-Line-Lösung: geben Sie ihm ein Abbruchkriterium und einen Platz, um das bisher beste Genom zu speichern, so dass ein abgebrochener Lauf noch ein brauchbares Ergebnis auf dem Schreibtisch hinterlässt.

from deap import tools
hof = tools.HallOfFame(1)            # das beste Genom, das je gesehen wurde
GOOD_ENOUGH = 0.5                    # Ihre akzeptable Fitness, in echten Einheiten
for gen in range(200):
    population = evolve(population)  # ein select/mate/mutate/evaluate-Durchsatz
    hof.update(population)
    if hof[0].fitness.values[0] <= GOOD_ENOUGH:
        break                       # ernten und stoppen, Peak nicht jagen

PAZ ist hier bereits gegangen — unser Artikel über Grasshoppers neue Ant und Raven Copilots machten denselben Punkt von der anderen Seite: Der parametrische Schreibtisch verschiebt sich von Autorschaft zu Audit. Ein evolutionärer Solver, den Sie wirklich verstehen, ist der Unterschied zwischen der Prüfung eines Ergebnisses und dem Vertrauen in einen Schieber, den Sie nicht lesen können.

Eine Warnung von weiter hinten auf der Strecke. Der Solver kostet fast nichts; das Modell, das er bewertet, ist das Risiko. Eine Optimierung ist nur so dauerhaft wie die Datei, die Sie noch in fünfundzwanzig Jahren öffnen können — eine auf die dritte Dezimalstelle abgestimmte Fassade ist wertlos, wenn das proprietäre Format, das sie speicherte, veraltet ist. Halten Sie die Zielfunktion in reinem Python und die Geometrie in etwas Offenem, und Ihr Zwei-Tage-Lauf bedeutet immer noch etwas, lange nachdem das Plugin obsolet ist.

Lernmaterial:

Laufen Sie Galapagos nicht im Glauben. Bauen Sie es einmal in DEAP nach, spüren Sie, wo die Minute pro Iteration hingeht, und Sie werden jede Optimierung, zu der Sie sich für den Rest Ihrer Praxis verpflichten, mit offenen Augen dimensionieren.

GEMELDET AUS
MIT-UNTERZEICHNER
PAZ Academy
VERTRAUEN
HIGH
NACHDRUCKE
© PAZ - PARAMETRIC ACADEMY ZURICH · ALLE RECHTE VORBEHALTEN

QUELLE ·

PAZ Kaffi · interdisziplinäre Redaktionsarbeit, geleitet von der PAZ Academy

⚑ FEHLER MELDEN · KORREKTUR EINSENDEN
◂ ZURÜCK ZUR TITELSEITE · PAZ KAFFI

© 2026 PAZ Academy.