A saját tervemnél a szerkezet állékonyságának biztosításához használtam az eljárást. Ilyenfajta algoritmusok használatára a McNeel Rhinoceros 3D adott lehetőséget. Ezt egészítettem ki a Grasshopper 3D-vel, mely a parametrikus modellezést tette lehetővé, illetve magában tartalmazza a Galapagos evolúciós motort. Kiegészítettem még a szoftvert a Karamba 3D-vel, hogy létrejöhessen a végeselemes statikai szimuláció, illetve a Kangaroo-val, amely a formaoptimalizációt tette lehetővé. [4] Az algoritmus a szerkezet deformációja, azaz lehajlása alapján értékelt minden próbálkozást. Ezt az értéket a Karamba 3D-vel végzett analízis alapján kaptam, a tetőre ható szél-, hó- és önsúlyterhek alapján. Ez lett az algoritmus Fitness értéke, ez alapján törekedett a program a legjobb eredményre a 20 darab oszlop pozíciójának és dőlésszögének változtatásával. Ez viszont rendkívül sok változó paraméter, és így megnőtt a lehetősége annak is, hogy végeredményként csupán egy lokális minimumot kapunk a globális helyett. Ezt tudjuk ellensúlyozni a párosítási beállításokkal.
Ilyenfajta evolúciós eljárásoknál általában kétfajta pároztatásról beszélhetünk. A párosítás alatt azt az eljárást értjük, amikor a populációból kiválasztjuk, melyik kettő vagy több egyed genetikai állományát kombináljuk össze. Ezt tehetjük úgy, hogy egy adott egyedet a hozzá legközelebb elhelyezkedő leghasonlóbb egyedekkel párosítunk. Ilyenkor viszont azt kockáztatjuk, hogy a populációnk egy lokális optimumon fog ragadni. Egy másik megközelítés az úgynevezett zoophilic mating. Ilyenkor kizárjuk az adott egyedhez túl közel álló egyedeket, és ezzel növeljük a genetikai sokszínűséget. Ezt az eljárást több egyedre kivetítve jól lehatárolható fajokat kapunk, ahol mindegyik populáció a saját optimumát keresi, és ezzel nagyobb szórásban vizsgáljuk az adott problémát. Optimálisnak tűnő megoldás az lenne, hogy megpróbáljuk elkerülni a beltenyészetet, de kontrollálni tudjuk a túlzottan távoli párosodást is – elkerülve a túl véletlenszerű, zajos eredményeket. Emellett képesek vagyunk beállítani, hogy mekkora populáció mellett szeretnénk dolgozni, azaz egy adott generáció hány tagot tartalmazzon, ezzel is csökkentve az esélyét, hogy egy lokális minimumon maradjon az eljárás. Ha egy megoldáshoz közel járunk az algoritmus futtatása előtt, akkor beállíthatjuk, hogy hány százalékban örököljenek az új generációk a kezdőtől, illetve mekkora legyen az öröklés százaléka. [3] Saját példámban a legjobb eredményeket akkor értem el, amikor az algoritmust először zoophilic pároztatással futtattam nagy populációszám mellett, hogy megtalálja a globális maximum lehetséges szintjét, majd minél közelebbi egyedeket pároztattam, hogy a globális maximum környékén a lehető legjobb eredményeket garantálhassam.
Ezekről az evolúciós eljárásokról tudni kell, hogy rendkívül sok időt vehetnek igénybe, és a parametrikus szkript felépítésétől függően nagyon sok számítási kapacitásra is szükség lehet. Ám még így is rendkívül sok lehetőséget vagyunk képesek velük tesztelni. Előnyük az is, hogy nem szükséges a végeredményt elfogadnunk, mint legjobbat, hanem részeredményeket is kiragadhatunk, felülvizsgálhatunk és eredményként felmutathatjuk. Így valójában az összes kipróbált verziót átértékelhetjük. Az én kísérleteim során a legjobban teljesítő algoritmus két napig futott, és 112 generációt hozott létre, ami közel 6000 egyedi kipróbált állapotot jelent. Tervezésem során ezekkel az eljárásokkal tudtam biztosítani, hogy egy irreguláris, azaz szabálytalan, elemi függvényekkel nem, vagy nehezen leírható felülethez – az azt érő terheket és a szerkezetben ébredő erőjátékokat is figyelembe véve – egy megvalósítható, optimális szerkezetet hozhassak létre.
Ehhez szükséges volt az a parametrikus környezet, amelyben definiálni tudtam a teljes tetőgeometriát, így biztosítva azt, hogy minden verzión gyors méréseket tudjak végezni. Az ilyen parametrikus felületek előnye, hogy komolyabb programozási tudás nélkül, gyorsan vagyunk képesek geometriákat definiálni, és azokat különböző kiegészítők segítségével optimalizálni, mérni. A Grasshopperen belül képesek lehetünk olyan láncmodellek felállítására másodpercek alatt, mint amilyeneket Antoni Gaudí, Barcelona egyik legmeghatározóbb építésze is használt saját 19. századi szerkezeteinek optimalizálására. De közelebb is találunk példát hasonló törekvésekre: a nemrég Pritzker-díjat nyert Iszozaki Arata is előszeretettel használ úgynevezett XESO [1] eljárásokat, ezeket szintén könnyedén reprodukálhatjuk ebben a fejlesztői környezetben. Így ezek az eszközök rendkívül nagy segítséget jelenthetnek egy mind építészeti, mind más szakági szempontból megfelelő koncepció felállítására. Nem muszáj csak tartószerkezeti szempontokat figyelembe vennünk, ugyanúgy állíthatunk energetikai, gépészeti kritériu-mokat is a programnak, hiszen erőssége a rugalmasságában, moduláris felépítésé-ben rejlik. A kivitelezés folyamatát is megkönnyítheti egy jól felépített algoritmus, ehhez viszont már a tervezési fázis elején számításba kell venni képességeit, és megfelelő stratégiát kell felállítani. Más iparágakban is egyre nagyobb szerepet kapnak a hasonló fejlesztői környezetek és eljárások, egyre több és jobban teljesítő hasonló algoritmusról beszélhetünk. Elkezdtek megjelenni olyan példák is, ahol különböző megoldómotoroknak különböző munkafázist szánnak, így is optimalizálva a végeredményeiket. [2] Véleményem szerint az építészetnek is javára válhat, ha odafigyel ezekre az eljárásokra és megpróbálja a munkafolyamatokba integrálni. Az in-tuíciónkat nem helyettesíti a tervezés során, hiszen a megfelelő kérdéseket még mindig nekünk kell feltenni, csupán a döntésünket segítheti, olyan mederbe terel-heti a tervezés folyamatát, amilyet az elején nem is sejtettünk volna.