• No results found

Optimization of concrete structure using genetic algorithm

N/A
N/A
Protected

Academic year: 2021

Share "Optimization of concrete structure using genetic algorithm"

Copied!
70
0
0

Loading.... (view fulltext now)

Full text

(1)

ˇ

CESK ´

E VYSOK ´

E U ˇ

CEN´I TECHNICK ´

E V PRAZE

Fakulta stavebn´ı

Katedra betonov´ych a zdˇen´ych konstrukc´ı

Optimalizace betonov´e konstrukce pomoc´ı

genetick´eho algoritmu

Diplomov´a pr´ace

(2)

Vedouc´ı pr´ace:

Ing. Martin Petˇr´ık, Ph.D. ˇ

Cesk´e vysok´e uˇcen´ı technick´e v Praze Fakulta stavebn´ı

Katedra betonov´ych a zdˇen´ych konstrukc´ı Th´akurova 7

166 29 Praha 6 ˇ

(3)

ZADÁNÍ DIPLOMOVÉ PRÁCE

I. OSOBNÍ A STUDIJNÍ ÚDAJE

410726 Osobní číslo: Stanislav Jméno: Zažirej Příjmení: Fakulta stavební Fakulta/ústav:

Zadávající katedra/ústav: Katedra betonových a zděných konstrukcí Stavební inženýrství

Studijní program:

Konstrukce pozemních staveb

Studijní obor:

II. ÚDAJE K DIPLOMOVÉ PRÁCI

Název diplomové práce anglicky:

Optimization of concrete structure using genetic algorithm

Pokyny pro vypracování:

Seznam doporučené literatury:

Jméno a pracoviště vedoucí(ho) diplomové práce:

Ing. Martin Petřík, Ph.D., katedra betonových a zděných konstrukcí FSv

Jméno a pracoviště druhé(ho) vedoucí(ho) nebo konzultanta(ky) diplomové práce:

Termín odevzdání diplomové práce: 20.05.2018 Datum zadání diplomové práce: 22.02.2018

Platnost zadání diplomové práce: _____________

___________________________ ___________________________

___________________________

prof. Ing. Jiří Máca, CSc.

podpis děkana(ky) podpis vedoucí(ho) ústavu/katedry

Ing. Martin Petřík, Ph.D.

podpis vedoucí(ho) práce

III. PŘEVZETÍ ZADÁNÍ

Diplomant bere na vědomí, že je povinen vypracovat diplomovou práci samostatně, bez cizí pomoci, s výjimkou poskytnutých konzultací. Seznam použité literatury, jiných pramenů a jmen konzultantů je třeba uvést v diplomové práci.

.

Datum převzetí zadání Podpis studenta

© ČVUT v Praze, Design: ČVUT v Praze, VIC CVUT-CZ-ZDP-2015.1

Název diplomové práce:

(4)
(5)

ˇ

Cestn´e prohl´aˇsen´ı

Prohlaˇsuji, ˇze jsem diplomovou pr´aci na t´ema Optimalizace betonov´e konstrukce pomoc´ı genetick´eho algoritmu zpracoval samostatnˇe za pouˇzit´ı uveden´e literatury a pramen˚u. D´ale prohlaˇsuji, ˇze odevzdan´a elektronick´a forma t´eto pr´ace je shodn´a s listinnou for-mou.

V Praze, Kvˇeten 2018

... Bc. Stanislav Zaˇzirej

(6)
(7)

Podˇekov´an´ı

Chtˇel bych podˇekovat vedouc´ımu pr´ace Ing. Martinu Petˇr´ıkovi, Ph.D. za odborn´e veden´ı, ochotu, pˇredan´e znalosti a zkuˇsenosti, cenn´e rady a za vˇenovan´y ˇcas. D´ale dˇekuji rodiˇc˚um za trpˇelivost a neust´alou podporu bˇehem cel´eho m´eho studia.

(8)
(9)

Abstrakt

Tato diplomov´a pr´ace se zab´yv´a optimalizac´ı betonov´e konstrukce pomoc´ı genetick´eho algoritmu. C´ılem je implementace algoritmu v jazyce Python a jeho n´asledn´a aplikace pˇri optimalizaci konkr´etn´ıch konstrukc´ı. V prvn´ı ˇc´ast jsou pops´any vybran´e metody opti-malizaˇcn´ıch technik. V dalˇs´ı je vysvˇetlen princip ˇcinnosti genetick´ych algoritm˚u. V po-sledn´ı ˇc´asti je n´azornˇe uk´az´an zp˚usob implementace algoritmu v Pythonu a ovˇeˇren´ı jeho funkˇcnosti pˇri optimalizaci vybran´ych konstrukc´ı.

Kl´ıˇcov´a slova:

genetick´y algoritmus, optimalizace, hodnocen´ı, kˇr´ıˇzen´ı, populace, Python, objektovˇe ori-entovan´e programov´an´ı, metoda koneˇcn´ych prvk˚u

Abstract

This diploma thesis deals with an optimization of concrete structure using genetic algori-thm. The aim of the thesis is to implement genetic algorithm in Python language and use it for specific structures optimization. In the first part are described chosen methods of optimization. The second explains the principle of operation of genetic algorithms. The last one illustrates the implementation of genetic algorithm in Python and verification of its functionality for specific structure optimization.

Keywords:

genetic algorithm, optimization, fitness, crossover, population, Python, object oriented programming, finite element method

(10)
(11)

Obsah

Seznam obr´azk ˚u xiii

Seznam tabulek xv

Seznam symbol ˚u a zkratek xvii

1 Uvod´ 1

2 Metody optimalizace 3

2.1 Principy ˇcinnosti v´ybran´ych algoritm˚u . . . 6

3 Genetick´e algoritmy 13 3.1 Principy ˇcinnosti genetick´ych algoritm˚u . . . 14

3.2 Genetick´e oper´atory . . . 15 3.2.1 Ohodnocen´ı . . . 16 3.2.2 V´ybˇer . . . 17 3.2.3 Kˇr´ıˇzen´ı . . . 19 3.2.4 Mutace . . . 21 3.2.5 Doplnˇen´ı . . . 21

4 Implementace v jazyce Python 23 4.1 Metoda koneˇcn´ych prvk˚u . . . 23

4.2 Gener´atory stˇen . . . 29

4.2.1 Objektovˇe orientovan´e programov´an´ı . . . 32

4.3 Celkov´e nastaven´ı GA a oper´ator˚u . . . 33

4.3.1 Nastaven´ı ohodnocen´ı . . . 34

4.3.2 Nastaven´ı kˇr´ıˇzen´ı . . . 36

4.3.3 Nastaven´ı mutace . . . 36

4.4 Pˇr´ıklad 1- symetricky podepˇren´a konstrukce . . . 37

4.4.1 Gener´ator lini´ı . . . 37

4.4.2 Voronoi gener´ator . . . 39

4.5 Pˇr´ıklad 2 - nesymetricky podepˇren´a konstrukce . . . 40

4.5.1 Gener´ator lini´ı . . . 40

4.5.2 Voronoi gener´ator . . . 41

4.6 V´ypoˇcet vybran´e varianty v programu RFEM . . . 42

5 Z´avˇer 45

(12)

Pˇr´ıloha A 49

A.1 Pˇr´ıklad 1 . . . 49

A.1.1 Gener´ator lini´ı . . . 49

A.1.2 Voronoi gener´ator . . . 50

A.2 Pˇr´ıklad 2 . . . 51

A.2.1 Gener´ator lini´ı . . . 51

(13)

Seznam obr´azk ˚u

1.1 Uk´azka modern´ı architektury a pˇr´ıkladu pouˇz´ıt´ı optimalizce. . . 1

2.1 Dˇelen´ı optimalizaˇcn´ıch metod dle Vesterstrøma [1]. . . 4

2.2 Dˇelen´ı optimalizaˇcn´ıch metod dle Zelinky[1]. . . 4

2.3 Princip horolezeck´eho algoritmu [2]. . . 7

2.4 Simulovan´e ˇz´ıh´an´ı. . . 8

2.5 Princip ACO algoritmu. . . 9

3.1 Charles Robert Darwin (a), Anaximandros z Mil´etu (b). . . 13

3.2 Alan Mathison Turing (a) a John Henry Holland (b). . . 14

3.3 Dˇelen´ı evoluˇcn´ıch algoritm˚u. . . 14

3.4 Obecn´y cyklus evoluˇcn´ıho algoritmu GA [4]. . . 16

3.5 Ruletov´y v´ybˇer. . . 18

3.6 Stochastick´y v´ybˇer[5]. . . 19

4.1 B´azov´e funkce pro biline´arn´ı ˇctyˇr´uheln´ıkov´y prvek. . . 24

4.2 Lokalizace prvk˚u. . . 26

4.3 Glob´aln´ı p´asov´a matice tuhosti. . . 26

4.4 Izoparametrick´y prvek. . . 27

4.5 Italsk´y pavilon Expo 2015. . . 29

4.6 Tvar stˇeny vytvoˇren´y pomoc´ı gener´atoru lini´ı. . . 29

4.7 Pˇr´ıklady v´yskytu Voron´eho diagramu v architektuˇre a pˇr´ırodˇe. . . 30

4.8 Tvar stˇeny vytvoˇren´y pomoc´ı Voronoi gener´atoru. . . 31

4.9 Definice tvaru stˇeny pomoc´ı matice. . . 31

4.10 Lokalizace prvk˚u ve stˇenˇe. . . 31

4.11 Uk´azka pouˇzit´ı OOP v Pythonu. . . 32

4.12 Sch´ema vytvoˇren´eho algoritmu. . . 33

4.13 Cyklus GA v Pythonu. . . 33

4.14 Graf penalizaˇcn´ıch funkc´ı. . . 35

4.15 Kˇr´ıˇzen´ı v Pythonu. . . 36

4.16 Mutace v Pythonu. . . 36

4.17 Symetrick´e podepˇren´ı - okrajov´e podm´ınky pro gener´ator lini´ı. . . 37

4.18 Tvar nejlepˇs´ıho jedince v 9. generaci. . . 38

4.19 Porovn´an´ı nejlepˇs´ıho jedince v prvn´ı a posledn´ı generaci. . . 38

4.20 V´yvoj hodnoty fitness pro gener´ator lini´ı - symetrick´e podepˇren´ı. . . 38

4.21 Symetrick´e podepˇren´ı - okrajov´e podm´ınky pro Voronoi gener´ator. . . 39

4.22 V´yvoj nejlepˇs´ıho jedince populace. . . 39

4.23 Nesymetrick´e podepˇren´ı - okrajov´e podm´ınky pro gener´ator lini´ı. . . 40

4.24 V´yvoj nejlepˇs´ıho jedince populace. . . 40

4.25 V´yvoj hodnoty fitness pro gener´ator lini´ı - nesymetrick´e podepˇren´ı. . . 41

(14)

4.27 V´yvoj nejlepˇs´ıho jedince populace. . . 41

4.28 Vybran´a konstrukce pro ovˇeˇren´ı spr´avnosti v´ypoˇctu. . . 42

4.29 Definice zat´ıˇzen´ı a tvaru stˇeny pro v´ypoˇcet v RFEMu. . . 42

4.30 Porovn´an´ı pr˚uhyb˚u. . . 42

4.31 Porovn´an´ı napˇet´ı. . . 43

4.32 Vizualizace moˇzn´e aplikace stˇeny v praxi. . . 43

A.1 Pˇrehled nejlepˇs´ıch jedinc˚u populace ve vybran´ych generac´ıch. . . 49

A.2 Pˇrehled nejlepˇs´ıch jedinc˚u populace ve vybran´ych generac´ıch. . . 50

A.3 Pˇrehled nejlepˇs´ıch jedinc˚u populace ve vybran´ych generac´ıch. . . 51

(15)

Seznam tabulek

2.1 Analogie procesu ˇz´ıh´an´ı a kombinatorick´e optimalizace . . . 7

3.1 Bin´arn´ı k´odov´an´ı jedinc˚u. . . 16

3.2 Ohodnocen´ı jedinc˚u. . . 16

3.3 Pravdˇepodobnost v´ybˇeru jedinc˚u. . . 18

3.4 Turnajov´y v´ybˇer jedinc˚u. . . 19

3.5 Jednobodov´e kˇr´ıˇzen´ı. . . 20

3.6 Dvoubodov´e kˇr´ıˇzen´ı. . . 20

3.7 Uniformn´ı kˇr´ıˇzen´ı. . . 20

3.8 Binarn´ı mutace gen˚u. . . 21

(16)
(17)

Seznam symbol ˚u a zkratek

E Young˚uv modul N B´azov´a funkce

γxy Smykov´a deformace ve rovinˇe xy

ν Poisson˚uv souˇcinitel

σx Norm´alov´e napˇet´ı ve smˇeru x

σy Norm´alov´e napˇet´ı ve smˇeru y

σ1,2 Hlavn´ı napˇet´ı

τxy Smykov´e napˇet´ı ve rovinˇe xy

εx Norm´alov´a deformace ve smˇeru x

εy Norm´alov´a deformace ve smˇeru y

k Lok´aln´ı matice tuhosti

ACO Ant Colony Optimization

BIM Building Information Model neboli Informaˇcn´ı model budovy EVT Evoluˇcn´ı v´ypoˇcetn´ı techniky

GA Genetick´y algoritmus MKP Metoda koneˇcn´ych prvk˚u

(18)
(19)

Kapitola 1

´

Uvod

Nov´e trendy v architektuˇre a n´astup technologi´ı BIM a 3D tisku mˇen´ı pˇr´ıstup k n´avrhu staveb. To klade nov´e poˇzadavky na projektanty a statiky napˇr´ıklad v podobˇe sn´ıˇzen´ı objemu pouˇzit´eho materi´alu nebo n´aklad˚u na provoz budovy. Motivac´ı pro danou pr´aci byl z´ajem nauˇcit se pouˇz´ıvat zaj´ımavou optimalizaˇcn´ı metodu, kter´a by vedla k vyˇreˇsen´ı dan´ych probl´emu.

(a) Budova obchodu TOD’s v Tokiu.

(b) Optimalizace konstrukˇcn´ıho prvku.

Obr´azek 1.1: Uk´azka modern´ı architektury a pˇr´ıkladu pouˇz´ıt´ı optimalizce.

C´ılem t´eto pr´ace je vytvoˇren´ı genetick´eho algoritmu v jazyce Python a jeho aplikace pˇri optimalizaci betonov´e konstrukce. Jako pˇredmˇet optimalizace byla vybr´ana nosn´a stˇena. Aby algoritmus pracoval efektivnˇe, je nutn´e do nˇej zahrnout n´astroj pro tvorbu n´ahodn´ych tvar˚u stˇen a n´astroj pro statick´y v´ypoˇcet konstrukc´ı.

(20)
(21)

Kapitola 2

Metody optimalizace

Optimalizaˇcn´ı algoritmy jsou v´ykonn´ym n´astrojem pro ˇreˇsen´ı cel´e ˇrady probl´em˚u inˇzen´yrsk´e praxe a obvykle se pouˇz´ıvaj´ı v pˇr´ıpadech, kdy ˇreˇsen´ı dan´eho probl´emu analytickou cestou je nevhodn´e ˇci nere´aln´e. Vˇetˇsina tˇechto probl´em˚u m˚uˇze b´yt definov´ana jako optimalizaˇcn´ı ´uloha pˇrevedena na matematickou ´ulohu, kter´a je d´ana vhodn´ym funkˇcn´ım pˇredpisem. Optimalizace tohoto pˇredpisu vede k nalezen´ı argument˚u ´uˇcelov´e funkce.1 Pro ˇreˇsen´ı ta-kov´ych probl´em˚u byla vyvinuta tˇr´ıda v´ykonn´ych algoritm˚u, kter´e umoˇzˇnuj´ı ˇreˇsit velmi efektivnˇe sloˇzit´e probl´emy. Algoritmy t´eto tˇr´ıdy nesou n´azev

”evoluˇcn´ı algoritmy“. Evoluˇcn´ı algoritmy patˇr´ı k heuristick´ym algoritm˚um,kter´e m˚uˇzeme rozdˇelit na deter-ministick´e a stochastick´e (viz. Obr. 2.1). Algoritmy druh´e skupiny se liˇs´ı v tom, ˇze nˇekter´e jejich kroky vyuˇz´ıvaj´ı n´ahodn´e operace. To znamen´a, ˇze v´ysledky ˇreˇsen´ı, kter´e z´ısk´ame, se pˇri kaˇzd´em spuˇstˇen´ı programu mohou liˇsit. Proto m´a smysl spustit program v´ıcekr´at a vybrat nejlepˇs´ı z´ıskan´e ˇreˇsen´ı.

Stochastick´e heuristick´e metody poskytuj´ı pouze obecn´y r´amec a jednotliv´e operace algoritmu je tˇreba definovat( napˇr. operaci kˇr´ıˇzen´ı a mutace u genetick´ych algoritm˚u, ope-raci sousedstv´ı u simulovan´eho ˇz´ıhan´ı, atd.) v z´avislosti na konkr´etn´ım probl´emu. Jelikoˇz se tyto metody ˇcasto inspiruj´ı pˇr´ırodn´ımi procesy, oznaˇcuj´ı se jako evoluˇcn´ı algoritmy. Podle strategie je lze rozdˇelit do dvou tˇr´ıd:

• Metody zaloˇzen´e na bodov´e strategii, napˇr. simulovan´e ˇz´ıh´an´ı, horolezeck´y algo-ritmus a zak´azan´e prohled´av´an´ı. Z´akladem tˇechto operac´ı je operace sousedstv´ı aktu´aln´ıho ˇreˇsen´ı, v nˇemˇz hled´ame ˇreˇsen´ı lepˇs´ı.

• Metody zaloˇzen´e na strategii populace. Sem patˇr´ı genetick´e algoritmy.

Tyto metody se liˇs´ı od klasick´ych gradientn´ıch metod t´ım, ˇze pˇripouˇstˇej´ı pˇrijet´ı horˇs´ıho ˇreˇcen´ı do dalˇs´ı iterace. T´ım se snaˇz´ı vyhnout uv´aznut´ı v lok´aln´ım optimu. Lze naj´ıt celou ˇradu heuristick´ych metod, napˇr. neuronov´e s´ıtˇe, Lagrangeova relaxaˇcn´ı metoda.

1veliˇcina, jej´ıˇz minimalizac´ı nebo maximalizac´ı hled´ame optim´aln´ı ˇreˇsen´ı a kter´a je rozhoduj´ıc´ı pro

(22)

KAPITOLA 2. METODY OPTIMALIZACE

Obr´azek 2.1: Dˇelen´ı optimalizaˇcn´ıch metod dle Vesterstrøma [1].

(23)

Optimalizaˇcn´ı algoritmy slouˇz´ı k nalezen´ı minima zadan´e funkce tak, ˇze hledaj´ı op-tim´aln´ı numerickou kombinaci jejich argument˚u. Tyto algoritmy lze rozdˇelit na z´akladˇe princip˚u jejich ˇcinnosti, podle sloˇzitosti apod. Tato rozdˇelen´ı vˇsak nejsou jedin´a moˇzn´a mohou se mezi sebou liˇsit. R˚uzn´e pohledy na klasifikaci evoluˇcn´ıch algoritm˚u demon-struje Obr. 2.1 a Obr. 2.2. Jednotliv´e tˇr´ıdy algoritmu pˇredstavuj´ı obecnˇe zp˚usoby ˇreˇsen´ı dan´eho probl´emu metodami s r˚uzn´ym stupnˇem efektivity a sloˇzitosti. Podle jejich vlast-nosti dˇel´ıme algoritmy do tˇechto kategori´ı [1]:

• Enumerativn´ı

Algoritmus provede v´ypoˇcet vˇsech moˇzn´ych kombinac´ı dan´eho probl´emu. Tento pˇr´ıstup je vhodn´y pro probl´emy, u nichˇz jsou argumenty ´uˇcelov´e funkce diskr´etn´ıho charakteru a nab´yvaj´ı mal´eho mnoˇzstv´ı hodnot. Pokud by byl pouˇzit obecnˇe, je moˇzn´e, ˇze pro ´uspˇeˇsn´e ukonˇcen´ı by potˇreboval ˇcas, kter´y je delˇs´ı, neˇz existence naˇseho vesm´ıru.

• Deterministick´e

Tato skupina algoritm˚u je postaven´a pouze na rigor´ozn´ıch metod´ach klasick´e ma-tematiky. Algoritmy tohoto charakteru obvykle vyˇzaduj´ı omezuj´ıc´ı pˇredpoklady, kter´e tˇemto metod´am umoˇzˇnuj´ı pod´avat efektivn´ı v´ysledky. Tyto pˇredpoklady ob-vykle jsou:

– probl´em je line´arn´ı, konvexn´ı

– prohled´avan´y prostor moˇzn´ych ˇreˇsen´ı je mal´y a souvisl´y – ´uˇcelov´a funkce, pokud moˇzno, m´a pouze jeden extr´em – mezi parametry ´uˇcelov´e funkce nejsou neline´arn´ı interakce – probl´em je definov´an v analytick´em tvaru

V´ysledkem deterministick´eho algoritmu je pak jedin´e ˇreˇsen´ı • Stochastick´e

Algoritmy tohoto typu jsou zaloˇzeny na vyuˇzit´ı n´ahody. Jde v podstatˇe o ˇcitˇe n´ahodn´e hled´an´ı hodnot argument˚u ´uˇcelov´e funkce s t´ım, ˇze v´ysledkem je vˇzdy to nejlepˇs´ı ˇreˇsen´ı, jenˇz bylo nalezeno bˇehem cel´eho n´ahodn´eho hled´an´ı. Algoritmy tohoto typu jsou obvykle:

– pomal´e

– vhodn´e jen pro mal´e prohled´avan´e prostory moˇzn´ych ˇreˇsen´ı – vhodn´e pro hrub´y odhad

(24)

KAPITOLA 2. METODY OPTIMALIZACE

• Sm´ıˇsen´e

Algoritmy t´eto tˇr´ıdy pˇredstavuj´ı smˇes metod deterministick´ych a stochastick´ych, kter´e ve vz´ajemn´e spolupr´aci dosahuj´ı pˇrekvapivˇe dobr´ych v´ysledk˚u. Pomˇernˇe sil-nou podmnoˇzisil-nou tˇechto algoritm˚u jsou jiˇz zm´ınˇen´e evoluˇcn´ı algoritmy. Algoritmy sm´ıˇsen´eho charakteru jsou:

– robustn´ı, coˇz znamen´a, ˇze nez´avisle na poˇc´ateˇcn´ıch podm´ınk´ach velmi ˇcasto najdou kvalitn´ı ˇreˇsen´ı, jenˇz je reprezentov´ano obvykle jedn´ım ˇci v´ıce glob´aln´ımi extr´emy

– efektivn´ı a v´ykonn´e, coˇz znamen´a, ˇze jsou schopny nal´ezt kvalitn´ı ˇreˇsen´ı bˇehem relativnˇe mal´eho poˇctu ohodnocen´ı ´uˇcelov´e funkce

– jsou odliˇsn´e od ˇcistˇe stochastick´ych metod

– maj´ı minim´aln´ı nebo ˇz´adn´e poˇzadavky na pˇredbˇeˇzn´e informace – jsou schopn´e pracovat s probl´emy typu

”ˇcern´a skˇr´ıˇnka“, tzn. nepotˇrebuj´ı ke sv´e ˇcinnosti analytick´y popis probl´emu

– jsou schopny nal´ezt v´ıce ˇreˇsen´ı bˇehem jednoho spuˇstˇen´ı

2.1

Principy ˇcinnosti v´ybran´ych algoritm ˚u

1. Stochastick´y horolezeck´y algoritmus (Stochastic Hill-Climbing)

Je to verze tzv. horolezeck´eho algoritmu, kter´a obohacen´a o stochastickou sloˇzku. Patˇr´ı mezi gradientn´ı metody. To znamen´a, ˇze prohled´av´a prostor moˇzn´ych ˇreˇsen´ı ve smˇeru nejvˇetˇs´ıho sp´adu. Funguje n´asleduj´ıc´ım zp˚usobem. Vˇzdy se vych´az´ı z n´ahodn´eho bodu v prostoru moˇzn´ych ˇreˇsen´ı. Pro moment´alnˇe navrˇzen´e ˇreˇsen´ı se na-vrhne urˇcit´e okol´ı a dan´a funkce se minimalizuje jen v tomto okol´ı. Z´ıskan´e lok´aln´ı ˇreˇsen´ı se pak pouˇzije jako stˇred pro v´ypoˇcet nov´eho okol´ı. Cel´y proces se iterativnˇe opakuje. Bˇehem procesu se zaznamen´av´a nejlepˇs´ı nalezen´e ˇreˇsen´ı. Po ukonˇcen´ı slouˇz´ı toto ˇreˇsen´ı jako nalezen´e optimum. Nev´yhodou tohoto algoritmu je to, ˇze v nˇem m˚uˇze za urˇcit´ych podm´ınek doj´ıt k zacyklen´ı a ˇreˇsen´ı tak uv´ızne v lok´aln´ım extr´emu.

Na Obr. 2.3 je vidˇet, ˇze terˇc v horn´ı ˇc´asti obr´azku je startem algoritmu. Pro nˇej je vygenerov´ana mnoˇzina ˇcerven´ych ˇreˇsen´ı. Nejlepˇs´ı ˇreˇsen´ı je oznaˇceno tuˇcn´ym ˇcerven´ym bodem, kter´y slouˇz´ı jako nov´a pozice pro vygenerov´an´ı nov´e (b´ıl´e) mnoˇziny ˇreˇsen´ı. Nejlepˇs´ı ˇreˇsen´ı je oznaˇceno jako b´ıl´y tuˇcn´y bod a ten je pak pouˇzit pro vy-generov´an´ı zelen´e mnoˇziny ˇreˇsen´ı

(25)

2.1. PRINCIPY ˇCINNOSTI V ´YBRAN ´YCH ALGORITM ˚U

Obr´azek 2.3: Princip horolezeck´eho algoritmu [2].

2. Simulovan´e ˇz´ıh´an´ı

Simulovan´e ˇz´ıh´an´ı patˇr´ı mezi algoritmy, kter´e pˇripouˇst´ı kroky, po nichˇz dojde ke zhorˇsen´ı hodnoty ´uˇcelov´e funkce. Inspirace k jeho formulaci byla nalezena ve sta-tistick´e mechanice v popisu fyzik´aln´ıho procesu ˇz´ıh´an´ı tuh´eho tˇelesa. Pˇri ˇz´ıh´an´ı kov˚u s nestabiln´ı krystalovou mˇr´ıˇzkou doch´az´ı ke stabilizaci voln´ych ˇc´astic k op-tim´aln´ımu stavu, tj. k vytvoˇren´ı stabiln´ı krystalov´e mˇr´ıˇzky. Tˇeleso se nejdˇr´ıve zahˇreje na vysokou teplotu. T´ım se jeho atom˚um umoˇzn´ı dostat z lok´aln´ıch minim vnitˇrn´ı energie mezi stavy s vyˇsˇs´ı energi´ı (do rovnov´aˇzn´ych poloh) a postupn´ym sniˇzov´an´ım teploty se polohy atom˚u fixuj´ı. To znamen´a, ˇze pˇri koneˇcn´e teplotˇe ˇz´ıh´an´ı, kter´a je podstatnˇe niˇzˇs´ı neˇz byla poˇc´ateˇcn´ı, jsou vˇsechny atomy v rovnov´aˇzn´ych poloh´ach a tˇeleso neobsahuje ˇz´adn´e vnitˇrn´ı defekty ani pnut´ı. Takov´y kov pak m´a mnohem lepˇs´ı vlastnosti. Simulovan´e ˇz´ıh´an´ı je nejrozˇs´ıˇrenˇejˇs´ı metoda pro registraci MRI ob-raz˚u.

Tabulka 2.1: Analogie procesu ˇz´ıh´an´ı a kombinatorick´e optimalizace

ˇz´ıh´an´ı kombinatorick´a optimalizace

stav syst´emu pˇr´ıpustn´e ˇreˇsen´ı

energie stavu syst´emu hodnota ´uˇcelov´e funkce zmˇena stavu syst´emu pˇrechod k sousedn´ımu ˇreˇsen´ı

teplota ˇr´ıd´ıc´ı parametr

ust´alen´y stav heuristick´e ˇreˇsen´ı

Hled´an´ı glob´aln´ıho minima funkce m˚uˇze b´yt realizov´ano podobn´ym zp˚usobem. Vnitˇrn´ı energii nahrazuje ´uˇcelov´a funkce a teplotu ˇr´ıd´ıc´ı parametr (viz. Tab. 2.1). Simulovan´e ˇz´ıh´an´ı postupnˇe

”ochlazuje“ pr˚ubˇeˇzn´y stav. V kaˇzd´em kroku najde n´ahodn´y bod v okol´ı souˇcasn´eho stavu, porovn´a jeho

”energii“ se souˇcasn´ym sta-vem a s urˇcitou pravdˇepodobnost´ı z´avislou na tomto rozd´ılu a na

(26)

KAPITOLA 2. METODY OPTIMALIZACE

tohoto nov´eho stavu pˇresune.Tato pravdˇepodobnost nen´ı nulov´a v pˇr´ıpadˇe, ˇze nov´y stav je horˇs´ı neˇz p˚uvodn´ı, proto tato metoda pˇri dostateˇcn´e teplotˇe neuv´azne v lok´aln´ım minimu.

Obr´azek 2.4: Simulovan´e ˇz´ıh´an´ı.

3. Zak´azan´e prohled´av´an´ı (Tabu Search)

Je to vylepˇsen´a verze horolezeck´eho algoritmu, do kter´e byla zavedena tzv. kr´atkodob´a pamˇet’. Jej´ım ´ukolem je pamatovat si ty transformace, pomoc´ı kter´ych byl vypoˇc´ıt´an aktu´aln´ı stˇred. To m´a za n´asledek, ˇze nedoch´az´ı k zacyklen´ı d´ıky zak´azan´emu pouˇzit´ı tˇechto transformac´ı (odtud n´azev

”zak´azan´e prohled´av´an´ı“). Tato metoda byla vy-lepˇsena jeˇstˇe o tzv. dlouhodobou pamˇet’, kter´a obsahuje transformace, kter´e nejsou v pamˇeti kr´atkodob´e, ale byly ˇcasto pouˇzity. Jejich pouˇzit´ı je pak penalizov´ano. To pak sniˇzuje ˇcetnost jejich pouˇzit´ı. Na rozd´ıl od horolezeck´eho algoritmu nedoch´az´ı tak ˇcasto k uv´ıznut´ı v lok´aln´ıch extr´emech.

4. Evoluˇcn´ı strategie (Evolutionary strategy)

Tento algoritmus patˇr´ı mezi prvn´ı ´uspˇeˇsn´e stochastick´e algoritmy v historii. Byl navrˇzen poˇc´atkem ˇsedes´at´ych let. Vych´az´ı z principu pˇrirozen´eho v´ybˇeru podobnˇe jako genetick´e algoritmy. Na rozd´ıl od jin´ych stochastick´ych algoritm˚u pracuje evoluˇcn´ı strategie pˇr´ımo s re´aln´ymi hodnotami. Jej´ım j´adrem je pr´ace s ˇreˇsen´ım ve formˇe vektoru x, kter´e je mutov´ano pomoc´ı vektoru n´ahodn´ych ˇc´ısel. Probl´em akceptace nov´eho ˇreˇsen´ı je striktnˇe deterministick´y.

5. Optimalizace mravenˇc´ı koloni´ı (Ant Colony Optimization (ACO))

Je to algoritmus, jehoˇz ˇcinnost napodobuje chov´an´ı mravenc˚u v kolonii. Je zaloˇzen na n´asleduj´ıc´ım principu. Je definov´an zdroj mravenc˚u (mraveniˇstˇe) a c´ıl jejich snaˇzen´ı (potrava). Kdyˇz jsou vypuˇstˇeni, tak po nˇejak´e dobˇe dojde k tomu, ˇze vˇsichni mravenci se pohybuj´ı po kratˇs´ı (optim´aln´ı) cestˇe mezi zdrojem a c´ılem (viz. Obr. 2.5). To je d´ano t´ım, ˇze si svou cestu znaˇckuj´ı feromonem. Pokud doraz´ı prvn´ı mra-venec k rozcest´ı dvou cest, kter´e vedou ke stejn´emu c´ıli, pak je jeho rozhodnut´ı, po kter´e cestˇe se vyd´a, n´ahodn´e. Ti, kteˇr´ı najdou potravu, zaˇcnou cestu znaˇckovat a pˇri n´avratu jsou d´ıky tˇemto znaˇck´am pˇri rozhodov´an´ı ovlivnˇen´ı ve prospˇech t´eto cesty. Pˇri n´avratu ji oznaˇcuj´ı podruh´e, coˇz opˇet zvyˇsuje pravdˇepodobnost

(27)

rozhod-2.1. PRINCIPY ˇCINNOSTI V ´YBRAN ´YCH ALGORITM ˚U

ritmu. Feromon je zde zastoupen v´ahou, kter´a je pˇriˇrazena dan´e cestˇe vedouc´ı k c´ıli. Tato v´aha je aditivn´ı, coˇz umoˇzˇnuje pˇrid´avat dalˇs´ı

”feromony“ od dalˇs´ıch ” mra-venc˚u“. V ACO algoritmu je zohlednˇen i fakt vypaˇrov´an´ı feromon˚u tak, ˇze v´ahy u jednotliv´ych spoj˚u s ˇcasem sl´abnou. To zvyˇsuje robustnost algoritmu z hlediska na-lezen´ı glob´aln´ıho extr´emu.

”aco“ byl pouˇzit s ´uspˇechem na optimalizaˇcn´ı probl´emy, jako je probl´em obchodn´ıho cestuj´ıc´ıho ˇci n´avrh telekomunikaˇcn´ıch s´ıt´ı.[1]

Obr´azek 2.5: Princip ACO algoritmu. 6. Metoda imunitn´ıho syst´emu (Immunology System Method)

Tento algoritmus je zaloˇzen na principech fungov´an´ı imunitn´ıho syst´emu v ˇziv´ych organizmech. Na imunitn´ı syst´em je nahl´ıˇzeno jako na multiagentn´ı syst´em, kde jednotliv´ı agenti maj´ı sv˚uj specifick´y ´ukol. Tito agenti maj´ı r˚uzn´e pravomoci a schopnosti komunikovat s jin´ymi agenty. Na z´akladˇe t´eto komunikace a urˇcit´e

” svo-body“ v rozhodov´an´ı jednotliv´ych agent˚u vznik´a hierarchick´a struktura schopn´a ˇreˇsit komplikovan´e probl´emy. Jako pˇr´ıklad pouˇzit´ı metody lze uv´est antivirovou ochranu u velk´ych a rozlehl´ych poˇc´ıtaˇcov´ych syst´em˚u.

7. Memetick´e algoritmy (Memetic Algorithms)

V´yznamnou charakteristikou tˇechto algoritm˚u je pouˇzit´ı r˚uzn´ych aproximaˇcn´ıch algoritm˚u, technik lok´aln´ıho vyhled´av´an´ı, speci´aln´ıch rekombinaˇcn´ıch oper´ator˚u apod. Memetick´e algoritmy mohou b´yt charakterizov´any jako strategie soutˇeˇze a spolupr´ace, kter´a projevuje atributy synergetiky. Jako pˇr´ıklad lze uv´est hybridn´ı kombinaci genetick´ych algoritm˚u a simulovan´eho ˇz´ıh´an´ı nebo paraleln´ı lok´aln´ı prohled´av´an´ı. Memetick´e algoritmy byly pouˇzity napˇr. pˇr´ı ˇreˇsen´ı probl´emu ob-chodn´ıho cestuj´ıc´ıho, uˇcen´ı neuronov´e v´ıcevrstv´e s´ıtˇe, pl´anov´an´ı ´udrˇzby, neline´arn´ı celoˇc´ıseln´e programov´an´ı a dalˇs´ı.

8. Rozpt´ylen´e prohled´av´an´ı (Scatter Search)

(28)

KAPITOLA 2. METODY OPTIMALIZACE

algoritm˚u a je dost podobn´y algoritmu Tabu Search. Je to vektorovˇe orientovan´y al-goritmus, kter´y m´a za ´ukol generovat nov´e vektory (ˇreˇsen´ı) na z´akladˇe pomocn´ych heuristick´ych technik. Pˇri startu vych´az´ı z ˇreˇsen´ı z´ıskan´ych pomoc´ı vhodn´e heuris-tick´e techniky. Pot´e jsou generov´ana nov´a ˇreˇsen´ı na z´akladˇe podmnoˇziny nejlepˇs´ıch ˇreˇsen´ı ze startu. Z tˇechto novˇe nalezen´ych ˇreˇsen´ı se opˇet vybere mnoˇzina tˇech nej-lepˇs´ıch a cel´y proces se opakuje. Tento algoritmus byl pouˇzit k ˇreˇsen´ı probl´emu, jako je ˇr´ızen´ı dopravy, uˇcen´ı neuronov´e s´ıtˇe, optimalizace bez omezen´ı a mnoh´e dalˇs´ı.

9. Rojen´ı ˇc´astic (Particle Swarn)

Algoritmus je zaloˇzen na pr´aci s populac´ı jedinc˚u. Jejich pozice v prostoru moˇzn´ych ˇreˇsen´ı je mˇenˇena pomoc´ı tzv. rychlostn´ıho vektoru. V z´akladn´ı verzi nedoch´az´ı mezi jedinci k vz´ajemn´emu ovlivˇnov´an´ı. To je odstranˇeno ve verzi s tzv. sousedstv´ım. V r´amci tohoto sousedstv´ı pak doch´az´ı k vz´ajemn´emu ovlivˇnov´an´ı tak, ˇze jedinci patˇr´ıc´ı do jednoho sousedstv´ı putuj´ı k nejhlubˇs´ımu extr´emu, kter´y byl v tomto sou-sedstv´ı nalezen[1].

10. Neuronov´e s´ıtˇe

Tyto algoritmy patˇr´ı mezi nejstarˇs´ı ˇc´asti umˇel´e inteligence. Vznik lze datovat do druh´e poloviny dvac´at´eho stolet´ı. Lze je naj´ıt v ˇr´ızen´ı, identifikaci, modelov´an´ı, predikci apod. Jejich velkou nev´yhodou je, ˇze neexistuje rigor´ozn´ı metoda, kter´a by dok´azala jednoznaˇcnˇe interpretovat informace o syst´emu obsaˇzen´e ve vah´ach neuˇcen´e s´ıtˇe.

11. Fuzzy logika

Na rozd´ıl od neuronov´e s´ıtˇe m´a fuzzy logika tu v´yhodu, ˇze veˇsker´e kroky jsou ri-gor´oznˇe matematizov´any a podpoˇreny mnoha teor´emy a d˚ukazy. Lze je naj´ıt prak-ticky vˇsude, kde se pouˇz´ıvaj´ı neuronov´e s´ıtˇe. Podm´ınkou vˇsak je, ˇze nˇekter´e jej´ı ˇc´asti mus´ı b´yt nastaveny expertem v dan´e problematice, nebo pomoc´ı speci´aln´ıch algoritm˚u, kter´e vych´azej´ı z namˇeˇren´ych dat syst´emu.

12. Evoluˇcn´ı algoritmy

Tato ˇc´ast umˇel´e inteligence tvoˇr´ı most mezi sobˇestaˇcn´ymi algoritmy typu neuro-nov´e s´ıtˇe a tˇemi, kter´e potˇrebuj´ı ke spuˇstˇen´ı ˇci bˇehu lidsk´eho oper´atora. Lze je pouˇz´ıt napˇr. pro nauˇcen´ı neuronov´e s´ıtˇe ˇci optimalizaci jej´ı struktury, nastaven´ı fuzzy mo-delu nebo fuzzy regul´atoru apod. Pomoc´ı evoluˇcn´ıch algoritm˚u lze ˇreˇsit prakticky jak´ykoliv probl´em, pokud je definov´an jako optimalizaˇcn´ı ´uloha. Zaj´ımav´ymi al-goritmy z t´eto oblasti jsou tzv. genetick´e programov´an´ı a gramatick´a evoluce. Tyto speci´aln´ı algoritmy neslouˇz´ı k nalezen´ı parametr˚u regresn´ı funkce2, ale k nalezen´ı regresn´ı funkce samotn´e (vˇcetnˇe parametr˚u) tak, aby prokl´adala pˇr´ısluˇsn´a data. Oba

(29)

2.1. PRINCIPY ˇCINNOSTI V ´YBRAN ´YCH ALGORITM ˚U

algoritmy byly s ´uspˇechem pouˇzity na identifikaci struktury syst´emu na z´akladˇe namˇeˇren´e pˇrechodov´e charakteristiky, na n´avrh sloˇzit´ych elektronick´ych obvod˚u atd. Z jejich podstaty plyne, ˇze jsou ide´aln´ı pˇri identifikaci a modelov´an´ı kom-plexn´ıch syst´emu, u nichˇz je matematick´a nebo fyzik´aln´ı anal´yza obt´ıˇzn´a.

13. Synergetika

Tento obor je sloˇzen z teori´ı, jako je teorie katastrof, teorie chaosu nebo nerov-nov´aˇzn´e termodynamiky. M´a velkou budoucnost v kybernetice a chemii. Jiˇz dnes existuje tzv. ˇr´ızen´ı chaosu, kde se vyuˇz´ıv´a teorie chaosu a teorie katastrof pro ˇr´ızen´ı speci´aln´ı tˇr´ıdy syst´emu nebo k n´avrhu ˇr´ızen´ı, kter´e se m´a vyhnout chaotick´ym reˇzim˚um. Jej´ı potenci´al leˇz´ı rovnˇeˇz v biochemick´ych technologi´ıch, kde se r´ysuje moˇznost syntetizace sloˇzit´ych biochemick´ych l´atek vyuˇzit´ım princip˚u kybernetiky a nerovnov´aˇzn´e termodynamiky. Tak´e ji lze vyuˇz´ıt pro vyˇsetˇrov´an´ı struktur´aln´ı sta-bility ˇci existence reˇzim˚u, pˇri nichˇz by dan´y syst´em vykazoval chaotick´e ˇci kata-strofick´e chov´an´ı.

Pro optimalizaˇcn´ı algoritmy existuje jist´a statisticky v´yznamn´a skuteˇcnost, kter´a se v odborn´e terminologii naz´yv´a

”No Free Lunch Teor´em“. Je to toer´em, ve kter´em se tvrd´ı, ˇze neexistuje algoritmus, kter´y by dok´azal ˇreˇsit vˇsechny probl´emy l´epe neˇz jin´e algoritmy, neboli existuje podmnoˇzina probl´emu, pro kter´e je algoritmus A lepˇs´ı neˇz algoritmus B a naopak. Neexistuje tedy

(30)
(31)

Kapitola 3

Genetick´e algoritmy

Evoluˇcn´ı v´ypoˇcetn´ı techniky (EVT) jsou numerick´e algoritmy, kter´e vych´azej´ı ze z´akladn´ıch princip˚u Darwinovy a Mendelovy teorie evoluce, jej´ıˇz hlavn´ı ideou je pˇred´av´an´ı rodiˇcovsk´eho genomu nov´ym potomk˚um a n´asledn´e uvolnˇen´e ˇzivotn´ıho prostoru [1]. Avˇsak ani Darwin nebyl prvn´ı, kdo pˇriˇsel s takovou myˇslenkou. V´yrazn´ym myslitelem, kter´y jiˇz pˇred Darwi-nem propagoval myˇslenku evoluce, byl Anaximandros z Mil´etu, jehoˇz n´azory jsou shrnuty v jeho nedochovan´em filosofick´em spise ”O pˇr´ırodˇe”(tento n´azev z´ıskal aˇz pozdˇeji). Podle nˇej p˚uvodn´ım principem svˇeta a pˇr´ıˇcinou vˇseho byt´ı je tzv.

”neomezeno“ (ˇrecky apeiron), z nˇehoˇz se pak vydˇeluje studen´e a tepl´e a such´e a vlhk´e. Tento princip si lze pˇredstavit jako neomezenou a nedefinovanou vlhkost, ze kter´e pak postupnˇe vznikaj´ı dalˇs´ı pˇr´ırodn´ı l´atky i jednotliv´e druhy ˇziv´ych bytost´ı.

(a) (b)

Obr´azek 3.1: Charles Robert Darwin (a), Anaximandros z Mil´etu (b).

Technologie EVT z´avis´ı na existenc´ı tzv. evoluˇcn´ıch algoritm˚u. Zaˇc´atek jejich historie se obvykle datuje do poloviny 70. let, kdy se poprv´e objevily genetick´e algoritmy (GA), pˇr´ıpadnˇe do poloviny 60. let, kdy byly poprv´e s ´uspˇechem pouˇzity tzv. evoluˇcn´ı strategie. Duchovn´ımi otci evoluˇcn´ıch algoritm˚u jsou osobnosti, jako byl matematik A. M. Turing, N. A. Barricelli a dalˇs´ı. V t´eto dobˇe byly formulov´any a definov´any principy, kter´e zcela jasnˇe popisuj´ı principy evoluˇcn´ıch algoritm˚u. To, ˇze nebyly program´atorsky realizov´any, bylo d´ano nedostatkem v´ykonn´e v´ypoˇcetn´ı techniky. Pojem GA jako prvn´ı formuloval v roce 1975 John Holland. Ten na z´akladˇe sv´eho v´yzkumu navrhl genetick´y algoritmus, kter´y je abstrakc´ı pˇr´ısluˇsn´ych biologick´ych proces˚u a pracuje s populac´ı jedinc˚u, pˇriˇcemˇz

(32)

KAPITOLA 3. GENETICK ´E ALGORITMY

kaˇzd´y z jedinc˚u reprezentuje vhodn´ym zp˚usobem zak´odovan´e ˇreˇsen´ı dan´eho probl´emu. Definoval tak´e oper´ator kˇr´ıˇzen´ı (crossover), kter´y je povaˇzov´an za hlavn´ı rozliˇsovac´ı znak.

(a) (b)

Obr´azek 3.2: Alan Mathison Turing (a) a John Henry Holland (b).

3.1

Principy ˇcinnosti genetick´ych algoritm ˚u

Genetick´e algoritmy spolu s genetick´ym programov´an´ım, evoluˇcn´ı strategi´ı a evoluˇcn´ım programov´an´ım patˇr´ı do skupiny evoluˇcn´ıch algoritm˚u (viz. Obr. 3.3). Jak jiˇz bylo uve-deno, jedn´a se o vyhled´avac´ı algoritmus, kter´y je zaloˇzen na darwinovsk´em principu evo-luce. Hled´an´ı optim´aln´ıho (nebo dostateˇcnˇe vyhovuj´ıc´ıho) ˇreˇsen´ı prob´ıh´a formou soutˇeˇze v r´amci populace. ´Uspˇeˇsnost jedince je charakterizov´ana schopnosti pˇreˇz´ıt, rozmnoˇzit se a pˇredat sv˚uj genom do dalˇs´ı populace. Tato schopnost mus´ı b´yt kvalifikovateln´a. Kaˇzd´y jedinec je posuzov´an hodnotic´ı funkc´ı, jej´ıˇz velikost je vyj´adˇrena hodnotou fitness. Je-dinci s lepˇs´ım ohodnocen´ım maj´ı vyˇsˇs´ı pravdˇepodobnost pˇreˇz´ıt a pod´ılet se na vytv´aˇren´ı n´asleduj´ıc´ı generace. Po pouˇzit´ı rozmanit´ych technik kˇr´ıˇzen´ı a reprodukce vznikne nov´a generace, ve kter´e jsou vlastnosti jedinc˚u ˇc´asteˇcnˇe zdˇedˇeny a ˇc´asteˇcnˇe ovlivnˇeny n´ahodn´ymi mutacemi. Opakuje-li se tento evoluˇcn´ı cyklus mnohokr´at, obvykle vznikne populace s jedinci, kteˇr´ı maj´ı vysok´e ohodnocen´ı a mohou pˇredstavovat dostateˇcn´e nebo dokonce optim´aln´ı ˇreˇsen´ı. Protoˇze tento evoluˇcn´ı proces v sobˇe zahrnuje znaˇcn´y d´ıl n´ahodnosti, je zˇrejm´e, ˇze kaˇzd´y bˇeh pˇr´ısluˇsn´eho algoritmu se bude odv´ıjet odliˇsn´ym zp˚usobem. Z t´ehoˇz d˚uvodu se v nˇekter´ych pˇr´ıpadech pomˇernˇe snadno m˚uˇze st´at i to , ˇze cel´a populace v procesu zdegenerujea nejlepˇs´ı jedinec bude reprezentovat pouze lok´aln´ı optimum [3].

Evoluˇcn´ı algoritmy

Genetick´e algoritmy

Genetick´e

programov´an´ı Evoluˇcn´ı strategie

Evoluˇcn´ı programov´an´ı

(33)

3.2. GENETICK ´E OPER ´ATORY

Z Obr. 3.4 vypl´yv´a, ˇze populace v GA je sloˇzena z jedinc˚u, kde kaˇzd´y jedinec pˇredstavuje jedno konkr´etn´ı ˇreˇsen´ı probl´emu o v´ıce promˇenn´ych, kter´e jsou zak´odov´any v genech. Chromozom je pak soubor vˇsech gen˚u jedince. Pˇri kˇr´ıˇzen´ı z´ısk´a nov´y jedinec ˇc´ast chro-mozomu od kaˇzd´eho rodiˇce a postupnˇe se prosazuje genom, kter´y reprezentuje nejlepˇs´ı ˇreˇsen´ı dan´eho probl´emu. Aby nedoch´azelo ke kombinov´an´ı jiˇz existuj´ıc´ıho genofondu populace, doch´az´ı pˇri reprodukci k n´ahodn´e mutaci genomu, kter´a zajiˇst’uje to, ˇze do po-pulace pˇrib´yvaj´ı nov´a ˇreˇsen´ı a zvyˇsuje se diverzita popo-pulace. Selekce, kˇr´ıˇzen´ı a mutace se oznaˇcuj´ı jako genetick´e oper´atory.

Lze nal´ezt r˚uzn´e definice GA, kter´e se liˇs´ı zejm´ena ve zp˚usobu vytv´aˇren´ı nov´e popu-lace, obecn´e sch´ema je vˇsak patrn´e z Obr. 3.4 a je n´asleduj´ıc´ı:

1. Inicializace. N´ahodn´e vygenerov´an´ı poˇc´ateˇcn´ı populace.

2. Ohodnocen´ı. V´ypoˇcet ´uˇcelov´e funkce a pˇriˇrazen´ı fitness kaˇzd´emu jedinci v popu-laci

3. Selekce. N´ahodn´y v´ybˇer dvojice jedinc˚u z populace a vytvoˇren´ı potomk˚u. 4. Kˇr´ıˇzen´ı (crossover).V´ymˇena ˇc´asti genetick´e informace (chromozomu). 5. Mutace. N´ahodn´a zmˇena gen˚u v chromozomu.

6. Nov´a populace. Vytvoˇren´ı nov´e populace z potomk˚u.

7. Opakov´an´ı/ukonˇcen´ı. Proces se opakuje od bodu 2 dokud nen´ı splnˇena ukonˇcuj´ıc´ı podm´ınka (nejlepˇs´ı jedinec dos´ahl poˇzadovan´ych parametr˚u nebo poˇc´ıtadlo dos´ahlo zadan´eho poˇctu generac´ı)

3.2

Genetick´e oper´atory

Zp˚usob, kter´ym jsou jedinci geneticky pops´ana (zak´odov´ana), je velmi d˚uleˇzit´y pro ´uspˇech nebo ne´uspˇech genetick´eho algoritmu, kter´y je pouˇzit pro konkr´etn´ı ´ulohu. Pro lepˇs´ı n´azornou uk´azku fungov´an´ı jednotliv´ych oper´ator˚u bude v t´eto kapitole uvaˇzov´ano bin´arn´ı k´odov´an´ı. To znamen´a, ˇze kaˇzd´y gen jedince m˚uˇze nab´yvat pouze dvou hodnot (0 nebo 1) a chromozomy jsou pak tvoˇreny ˇretˇezcem tˇechto hodnot o dan´e d´elce. Bin´arn´ı k´odov´an´ı patˇr´ı mezi nejstarˇs´ı a nejpouˇz´ıvanˇejˇs´ı druhy k´odov´an´ı. M´a vˇsak sv´a omezen´ı. M˚uˇze doch´azet ke zkreslov´an´ı, a to zejm´ena pˇri kˇr´ıˇzen´ı a mutaci, kdy mal´a zmˇena genotypu zp˚usob´ı rozs´ahlou zmˇenu fenotypu a naopak. Tento jev se naz´yv´a Hammingova bari´era a d´a se ˇreˇsit pouˇzit´ım oper´atoru inverze (nebo inverzn´ı matice) nebo pomoc´ı Grayova k´odov´an´ı. V tomto ilustrativn´ım pˇr´ıkladˇe je poˇc´ateˇcn´ı populace sloˇzena ze ˇctyˇr n´ahodnˇe vygenero-van´ych jedinc˚u. Kaˇzd´y m´a d´elkou chromozomu 8 (viz.Obr. 3.1). V dalˇs´ım kroku by mˇelo n´asledovat ohodnocen´ı, selekce, kˇr´ıˇzen´ı, mutace a vytvoˇren´ı nov´e populace z potomk˚u.

(34)

KAPITOLA 3. GENETICK ´E ALGORITMY

Obr´azek 3.4: Obecn´y cyklus evoluˇcn´ıho algoritmu GA [4]. Tabulka 3.1: Bin´arn´ı k´odov´an´ı jedinc˚u.

Populace Jedinec ˇc. Chromozom 1 (1, 1, 1, 0, 0, 1, 0, 0) 2 (0, 1, 0, 1, 0, 1, 1, 1) 3 (0, 0, 1, 0, 0, 0, 1, 0) 4 (1, 1, 0, 1, 0, 0, 0, 1)

3.2.1

Ohodnocen´ı

Jako hodnot´ıc´ı funkce m˚uˇze b´yt pouˇzita pˇr´ımo ´uˇcelov´a funkce, na kter´e hled´ame mini-mum ˇci maximini-mum, nebo ji mlˇzeme sestavit jin´ym zp˚usobem. Z´asadn´ı ovˇsem je, ˇze hod-not´ıc´ı funkce mus´ı b´yt vytvoˇrena pro konkr´etn´ı probl´em, kter´y se pokouˇs´ıme pomoc´ı GA vyˇreˇsit. V naˇsem pˇr´ıpadˇe je hodnocen poˇcet jedniˇcek v chromozomu jedince. ˇC´ım vyˇsˇs´ı poˇcet jedniˇcek, t´ım vyˇsˇs´ı je ohodnocen´ı.

Tabulka 3.2: Ohodnocen´ı jedinc˚u. Populace

Jedinec ˇc. Chromozom Fitness

1 (1, 1, 1, 0, 0, 1, 0, 0) 4 2 (0, 1, 0, 1, 0, 1, 1, 1) 6 3 (0, 0, 1, 0, 0, 0, 1, 0) 2 4 (1, 1, 0, 1, 0, 0, 0, 1) 4

(35)

3.2. GENETICK ´E OPER ´ATORY

3.2.2

V´ybˇer

Oper´ator selekce slouˇz´ı k v´ybˇeru jedinc˚u vhodn´ych k dalˇs´ı reprodukci a mˇel by napodo-bovat proces pˇrirozen´eho v´ybˇeru. Selekce by mˇela prob´ıhat tak, aby potomstvo bylo kva-litnˇejˇs´ı neˇz rodiˇce a z´aroveˇn aby byla zachov´ana rozmanitost. Pˇri tom by selekce nemˇela b´yt pˇr´ıliˇs voln´a, jelikoˇz by evoluˇcn´ı proces mohl postupovat pomalu a jak´ykoliv pokrok by byl m´alo zˇreteln´y. Existuje nˇekolik metod selekce:

1. Ruletov´y v´ybˇer

Jedn´a se zˇrejmˇe o nejrozˇs´ıˇrenˇejˇs´ı selekˇcn´ı metodu. Na rozd´ıl od klasick´e rulety, kde kaˇzd´e z ˇc´ısel m˚uˇze b´yt vybr´ano se stejnou pravdˇepodobnosti, jsou v tomto pˇr´ıpadˇe favorizov´ani jedinci s vyˇsˇs´ım ohodnocen´ım. Tˇemto jedinc˚um je na ruletov´em kole pˇriˇrazena vˇetˇs´ı v´yseˇc a existuje tedy vyˇsˇs´ı pravdˇepodobnost, ˇze pˇri hodu budou vybr´ani pr´avˇe oni. Je nˇekolik moˇznost´ı, jak takov´e ruletov´e kolo sestrojit, a liˇs´ı pˇredevˇs´ım ve zp˚usobu urˇcov´an´ı velikosti v´yseˇc´ı. Jedna z nich je ruletov´y v´ybˇer s pravdˇepodobnosti v´ybˇeru pˇr´ımo ´umˇernou ohodnocen´ı. K vytvoˇren´ı takov´eho kola je potˇreba seˇc´ıst hodnoty fitness vˇsech jedinc˚u v populaci a pak kaˇzd´emu pˇriˇradit proporcion´alnˇe odpov´ıdaj´ıc´ı kruhovou v´yseˇc. Pro populaci s poˇctem jedinc˚u N je velikost takov´e v´yseˇce d´ana vztahem:

pi= fi N

i=1 fi ; i∈ {0, ..., N} (3.1)

Po vytvoˇren´ı ruletov´eho kola pak staˇc´ı pˇri kaˇzd´em v´ybˇeru vygenerovat n´ahodn´e ˇc´ıslo R ∈< 0, 1 > a vybrat i-t´eho jedince, pr´avˇe kdyˇz plat´ı n´asleduj´ıc´ı vztah:

fi−1< R ≤ fi; i∈ {0, ..., N} (3.2)

Kde fije kumulativn´ı hodnocen´ı, kter´e je d´ano vztahem:

fi= i

j=1 pj= i

j=1 fi N

k=1 fk ; i∈ {0, ..., N} (3.3)

Pro n´aˇs ilustrativn´ı pˇr´ıklad to znamen´a, ˇze se ruletov´e kolo rozdˇel´ı na ˇctyˇri v´yseˇce, kter´e svou plochou odpov´ıdaj´ı hodnocen´ı jedinc˚u, jak je uk´az´ano v Tab. 3.3. Je zˇrejm´e, ˇze napˇr. jedinec ˇc. 2 m´a vˇetˇs´ı ˇsanci b´yt vybr´an neˇz jedinec ˇc. 3 apod. Cel´y proces v´ybˇeru je pak zn´azornˇen na Obr. 3.5. Nejdˇr´ıve jsou n´ahodnˇe vyge-nerov´ana ˇctyˇri ˇc´ısla: 0.102, 0.548, 0.239, 0.657. A na z´akladˇe porovn´an´ı s kumula-tivn´ım hodnocen´ım dle vztahu 3.2 jsou vybr´ani jedinci ˇc´ıslo: 1, 2, 1, 3. Ti n´aslednˇe budou vystaven´ı p˚usoben´ı dalˇs´ıch genetick´ych oper´ator˚u.

(36)

KAPITOLA 3. GENETICK ´E ALGORITMY Tabulka 3.3: Pravdˇepodobnost v´ybˇeru jedinc˚u.

Populace

Jedinec ˇc. Chromozom Fitness % z celkov´eho

fitness Kumulovan´e fitness 1 (1, 1, 1, 0, 0, 1, 0, 0) 4 25,0% 0,250 2 (0, 1, 0, 1, 0, 1, 1, 1) 6 37,5% 0,625 3 (0, 0, 1, 0, 0, 0, 1, 0) 2 12,5% 0,750 4 (1, 1, 0, 1, 0, 0, 0, 1) 4 25,0% 1,000

Nev´yhodou ruletov´eho v´ybˇeru je, ˇze pˇr´ıliˇs favorizuje jedince s nejlepˇs´ım ohodno-cen´ım. To pak m˚uˇze v´est ke sn´ıˇzen´ı rozmanitosti v populaci a v´ysledek m˚uˇze kon-vergovat k lok´aln´ımu extr´emu.

Obr´azek 3.5: Ruletov´y v´ybˇer.

2. Stochastick´y univerz´aln´ı v´ybˇer

Tato selekˇcn´ı metoda je podobn´a rul´etov´emu v´ybˇeru s jedn´ım rozd´ılem. Interval < 0; 1 > je rozdˇelen na stejn´e ˇc´asti, ale pro v´ybˇer napˇr. ˇctyˇr jedinc˚u (k = 4) staˇc´ı n´ahodnˇe vygenerovat pouze jedno ˇc´ıslo. To se n´aslednˇe vydˇel´ı t´ımto poˇctem je-dinc˚u k. V´ysledn´e ˇc´ıslo n´am urˇcuje prvn´ıho vybran´eho jedince a na tuto pozici se um´ıst´ı tzv. pointer [5]. D´ale jsou na osu pˇrid´any dalˇs´ı pointery, pˇriˇcemˇz vzd´alenost mezi nimi se rovn´a 1k. Sch´ematicky tuto metodu zn´azorˇnuje Obr. 3.6. Tento zp˚usob v´ybˇeru umoˇzˇnuje ponechat rozmanitost v populaci, ale neˇreˇs´ı tzv. probl´em pˇredˇcasn´e konvergence, kter´y je charakteristick´y pro selekˇcn´ı mechanismy, kde pravdˇepodobnost v´ybˇeru je pˇr´ımo ´umˇern´a ohodnocen´ı.

3. Seˇr´ıznut´y v´ybˇer

Na rozd´ıl od pˇredchoz´ıch metod je tato metoda umˇel´a. Pouˇz´ıv´a se pro populace s velk´ym poˇctem jedinc˚u, kteˇr´ı jsou seˇrazen´ı dle sv´eho ohodnocen´ı a vybr´ani jsou jen nejlepˇs´ı. Parametrem pro v´ybˇer je tzv. ˇrezac´ı pr´ah, kter´y urˇcuje, jak´y pod´ıl populace bude vybr´an. Obvykle se tento parametr pohybuje v rozmez´ı 10% − 50%.

(37)

3.2. GENETICK ´E OPER ´ATORY

Obr´azek 3.6: Stochastick´y v´ybˇer[5]. 4. Turnajov´y v´ybˇer

V t´eto metodˇe se z populace vybere k jedinc˚u (nejˇcastˇeji k = 2), kteˇr´ı se setkaj´ı v simulovan´em souboji. V´ıtˇez´ı jedinec s vyˇsˇs´ı hodnotou fitness a postupuje d´al. V´yhodou tohoto selekˇcn´ıho mechanizmu je vyˇsˇs´ı ˇsance v´ybˇeru jedinc˚u s hornˇs´ım ohodnocen´ım, a t´ım zachov´an´ı vˇetˇs´ı diverzity v populaci. Pro v´ybˇer jedinc˚u do turnaje se pouˇz´ıv´a bud’ n´ahodn´y index nebo roletov´y v´ybˇer. Metoda je zn´azornˇena v Tab. 3.4:

Tabulka 3.4: Turnajov´y v´ybˇer jedinc˚u. Populace Jedinec ˇc. Fitness 1 4 2 6 3 4 4 2 Turnaj

Jedinci vybran´ı do souboje V´ıtˇez souboje

(4,1) 1

(3,2) 2

(1,3) 1

(3,1) 3

5. Poˇradov´y v´ybˇer

Pˇri pouˇzit´ı t´eto metody jsou nejdˇr´ıve jedinci vzestupnˇe seˇrazeni dle hodnoty ness. D´ale jim je pˇriˇrazen´a kruhov´a v´yseˇc, jej´ıˇz velikost jiˇz nen´ı z´avisl´a na fit-ness, ale na poˇrad´ı jedince. L´epe um´ıstˇen´ı jedinci maj´ı tedy vetˇs´ı ˇsanci b´yt vybr´ani. Tento zp˚usob selekce ˇreˇs´ı probl´em napˇr. ruletov´eho v´ybˇeru, kde v´yraznˇe silnˇejˇs´ı jedinci byli opakovanˇe vyb´ır´ani do nov´e generace, br´anili v´ybˇeru slabˇs´ıch jedinc˚u a sniˇzovali t´ım r˚uznorodost populace.

3.2.3

Kˇr´ıˇzen´ı

Oper´ator kˇr´ıˇzen´ı (crossover) slouˇz´ı k vytvoˇren´ı potomk˚u vybran´ych rodiˇc˚u, rozˇsiˇruje pro-hled´avan´y prostor t´ım, ˇze skl´ad´a nov´a ˇreˇsen´ı z jiˇz existuj´ıc´ıch, a sniˇzuje riziko uv´aznut´ı v lok´aln´ı extr´emu. Existuje cel´a ˇrada technik kˇr´ıˇzen´ı, pˇriˇcemˇz jejich spoleˇcn´a vlastnost je ta, ˇze jde vˇzdy o vz´ajemnou v´ymˇenu chromozom˚u. N´ıˇze jsou vysvˇetleny principy nˇekolika z´akladn´ıch metod kˇr´ıˇzen´ı.

(38)

KAPITOLA 3. GENETICK ´E ALGORITMY

1. Jednobodov´e kˇr´ıˇzen´ı

Jedn´a se o nejjednoduˇsˇs´ı a nejzn´amnˇejˇs´ı oper´ator bin´arn´ıho kˇr´ıˇzen´ı. Nejprve je n´ahodnˇe zvolen jeden gen v chromozomu, od kter´eho poˇc´ınaje jsou vymˇenˇeny zbyl´e ˇc´asti chromozomu mezi rodiˇci. Vznikou t´ım dva nov´ı jedinci, kteˇr´ı maj´ı ˇc´ast gen˚u po prvn´ım a ˇc´ast po druh´em z obou rodiˇc˚u [3].Pro n´aˇs ilustrativn´ı pˇr´ıklad, kde do prvn´ıho p´aru byli vybr´ani jedinci ˇc. 1 a 2, pˇredpokl´adejme, ˇze byl vybr´an 3. gen jako bod kˇr´ıˇzen´ı. V´ysledek cel´e operace je zn´azonˇen v Tab. 3.5. Je zˇrejm´e, ˇze kˇr´ıˇzen´ım vznikl jedinec, jehoˇz ohodnocen´ı 7, a je tedy lepˇs´ı neˇz oba jeho rodiˇce. Bod kˇr´ıˇzen´ı by mˇel b´yt pˇrirozen´ym ˇc´ıslem z intervalu K ∈< 1; L − 1 >; K ∈ N, kde L je d´elka chromozomu. Nem´a smysl volit jako bod kˇr´ıˇzen´ı posledn´ı gen, jelikoˇz by nedoˇslo k ˇz´adn´e genetick´e v´ymˇenˇe a tato operace by byla zbyteˇcn´a.

Tabulka 3.5: Jednobodov´e kˇr´ıˇzen´ı.

Jedinec ˇc. Chromozom Nov´y chromozom

1 (1, 1, 1 | 0, 0, 1, 0, 0) → (1, 1, 1 | 1, 0, 1, 1, 1) 2 (0, 1, 0 | 1, 0, 1, 1, 1) → (0, 1, 0 | 0, 0, 1, 0, 0)

2. Dvou a v´ıcebodov´e kˇr´ıˇzen´ı

Tato metoda je podobn´a jednobodov´emu kˇr´ıˇzen´ı s t´ım rozd´ılem, ˇze lich´y zvolen´y bod kˇr´ıˇzen´ı mi ud´av´a zaˇc´atek v´ymˇeny gen˚u a sud´y konec v´ymˇeny. U dvoubodov´eho kˇr´ıˇzen´ı tedy mezi prvn´ım a druh´ym bodem k v´ymˇenˇe nedoch´az´ı. Pˇredpokl´adejme, ˇze pro n´aˇs pˇr´ıpad byly zvoleny jako body kˇr´ıˇzen´ı geny ˇc´ıslo dva a ˇsest. V´ysledek je uk´az´an v Tab. 3.6.

Tabulka 3.6: Dvoubodov´e kˇr´ıˇzen´ı.

Jedinec ˇc. Chromozom Nov´y chromozom

1 (1, 1 | 1, 0, 0, 1 | 0, 0) → (1, 1 | 0, 1, 0, 1 | 0, 0) 2 (0, 1 | 0, 1, 0, 1 | 1, 1) → (0, 1 | 1, 0, 0, 1 | 1, 1)

3. Uniformn´ı kˇr´ıˇzen´ı

Tento typ kˇr´ıˇzen´ı zobecˇnuje jednobodov´e a v´ıcebodov´e kˇr´ıˇzen´ı tak, ˇze kaˇzd´y gen m˚uˇze b´yt bodem v´ymˇeny. K tomu jsou pouˇzity tzv. kˇr´ıˇz´ıc´ı masky, kter´e jsou stejnˇe dlouh´e jako chromozomy jedinc˚u a na jednotliv´ych pozic´ıch n´ahodnˇe nab´yvaj´ı hod-not 0 nebo 1. V pˇr´ıpadˇe, kdy na dan´e pozici v masce je hodhod-nota 0, pˇrevezme poto-mek gen od prvn´ıho rodiˇce. Naopak kdyˇz je tato hodnota rovna 1, pˇrevezme gen od druh´eho rodiˇce. Pˇr´ıklad pouˇzit´ı t´eto metody je zobrazen v Tab. 3.7.

Tabulka 3.7: Uniformn´ı kˇr´ıˇzen´ı.

Jedinec ˇc. Chromozom Maska Nov´y chromozom

1 (1, 1, 1, 0, 0, 1, 0, 0) [1,1,0,0,1,1,1,0] (0, 1, 1, 0, 0, 1, 1, 0)

(39)

3.2. GENETICK ´E OPER ´ATORY

4. Aritmetick´e kˇr´ıˇzen´ı

Tato metoda se pouˇz´ıv´a u kˇr´ıˇzen´ı s re´aln´ymi hodnotami chromozom˚u. Potomek (O) je kombinac´ı obou rodiˇc˚u (P1, P2), jak je uk´azano v rovnici 3.4, kde a je n´ahodnˇe

vygenerovan´e ˇc´ıslo v intervalu a ∈< 0; 1 >; a ∈ R.

O= a · P1+ (1 − a) · P2 (3.4)

3.2.4

Mutace

Tento oper´ator, kter´emu jsou vystaven´ı novˇe vytvoˇren´ı jedinci, rozˇsiˇruje prohled´avan´y

prostor o dalˇs´ı ˇreˇsen´ı, kter´a nebylo moˇzn´e z´ıskat kˇr´ıˇzen´ım. Mutace s velmi malou pravdˇepodobnost´ı (obvykle od 0.1% do 5%) n´ahodnˇe mˇen´ı hodnoty jednotliv´ych gen˚u. Pˇr´ıklad pouˇzit´ı

mu-tace je zn´azornˇen v Tab. 3.8. U stagnuj´ıc´ıch generac´ı m˚uˇzeme zv´yˇsit pravdˇepodobnost mutace nebo zav´est dynamickou mutaci, kter´a bude automaticky reagovat na v´yvoj popu-lace.

Tabulka 3.8: Binarn´ı mutace gen˚u.

Jedinec ˇc. Chromozom pˇred mutac´ı Chromozom po mutaci 1 (1, 1, 1, 0, 0, 1, 0, 0) → (1, 0, 1, 0, 0, 1, 0, 0) 2 (0, 1, 0, 1, 0, 1, 1, 1) → (0, 1, 0, 1, 1, 1, 1, 1) 3 (0, 0, 1, 0, 0, 0, 1, 0) → (0, 0, 1, 0, 0, 0, 0, 0) 4 (1, 1, 0, 1, 0, 0, 0, 1) → (1, 1, 1, 1, 0, 0, 0, 1)

3.2.5

Doplnˇen´ı

V pˇr´ıpadˇe, ˇze poˇcet novˇe vygenerovan´ych jedinc˚u je menˇs´ı neˇz v pˇredchoz´ı populaci, je tˇreba zb´yvaj´ıc´ı jedince doplnit. Naopak pokud je tento poˇcet vyˇsˇs´ı, mus´ı se vybrat jedinci, kteˇr´ı se dostanou do nov´e populace a kteˇr´ı budou zapomenuti. Jedny z moˇzn´ych metod doplnˇen´ı jsou:

1. Ryz´ı doplnˇen´ı

Bˇehem kˇr´ıˇzen´ı byl vytvoˇren stejn´y poˇcet jedinc˚u jako v populaci rodiˇc˚u. Nov´a po-pulace se tedy skl´ad´a pouze z tˇechto potomk˚u.

2. Uniformn´ı doplnˇen´ı

Byl vytvoˇren menˇs´ı poˇcet jedinc˚u neˇz v pˇredeˇsl´e populaci. Nov´a populace se dopln´ı n´ahodnˇe vybran´ymi jedinci z populace rodiˇc˚u.

3. Elitn´ı doplnˇen´ı

Byl vytvoˇren menˇs´ı poˇcet jedinc˚u neˇz v pˇredeˇsl´e populaci. Nov´a generace se dopln´ı nejlepˇs´ımi jedinci z pˇredeˇsl´e generace.

(40)
(41)

Kapitola 4

Implementace v jazyce Python

Tato kapitola je vˇenov´ana vytvoˇren´ı GA v jazyce Python, kter´y je n´aslednˇe pouˇzit k optimalizaci ˇzelezobetonov´e nosn´e stˇeny. V jednotliv´ych kroc´ıch jsou pˇredstaveny prin-cipy v´ypoˇctu, zp˚usoby generov´an´ı stˇen a nastaven´ı jednotliv´ych oper´ator˚u algoritmu. V z´avˇeru kapitoly jsou demonstrov´any pˇr´ıklady aplikace vytvoˇren´eho GA na konkr´etn´ıch konstrukc´ıch a porovn´an´ı v´ypoˇctu s komerˇcn´ım softwarem.

4.1

Metoda koneˇcn´ych prvk ˚u

Metoda koneˇcn´ych prvk˚u (MKP) pˇredstavuje pˇribliˇzn´e numerick´e ˇreˇsen´ı parci´aln´ıch di-ferenci´aln´ıch rovnic s pˇr´ısluˇsn´ymi okrajov´ymi podm´ınkami. MKP nach´az´ı uplatnˇen´ı v mnoha oborech - ve strojn´ım, automobilov´em, leteck´em, elektrotechnick´em a stavebn´ım. Kromˇe probl´em˚u statiky a dynamiky pevn´ych a poddajn´ych tˇeles se bˇeˇznˇe vyuˇz´ıv´a pro modelov´an´ı proudˇen´ı tekutin, veden´ı tepla, k anal´yze elektromagnetick´ych pol´ı apod.

Pro ´uspˇeˇsn´e sestaven´ı GA je nutn´e opakovanˇe spoˇc´ıtat nˇekolik variant konstrukc´ı v jedn´e populaci. V bˇeˇzn´ych komerˇcn´ıch softwarech urˇcen´ych pro statickou anal´yzu kon-strukc´ı je tento poˇzadavek obt´ıˇznˇe provediteln´y. Z tohoto d˚uvod˚u byl vytvoˇren bal´ık pro v´ypoˇcet konstrukc´ı pomoc´ı MKP , ve kter´em byly uvaˇzov´any n´asleduj´ıc´ı pˇredpoklady:

1. Z´akladn´ı rovnice

V´ypoˇcet vych´az´ı ze z´akladn´ı rovnice deformaˇcn´ı metody:

K · r = F (4.1)

kde K je matice tuhosti konstrukce, r je vektor posunut´ı a f je vektor zat´ıˇzen´ı. 2. Slab´e ˇreˇsen´ı diferenci´aln´ı rovnice a jeho diskretizace

Z´akladem MKP se stala Galerkinova metoda. Pouˇz´ıv´a se pˇri ˇreˇsen´ı soustavy parci´aln´ıch diferenci´aln´ıch rovnic a jej´ı princip spoˇc´ıv´a v nahrazen´ı p˚uvodn´ı rovnice (tzv. siln´e ˇreˇsen´ı) jej´ı integr´aln´ı formou (tzv. slab´e ˇreˇsen´ı) a n´aslednou diskretizac´ı (pˇreveden´ı na ´ulohu s koneˇcn´ym poˇctem parametr˚u). ˇReˇceno jin´ymi slovy, m˚uˇzeme spojitou

(42)

KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON

funkci aproximov´at pomoc´ı diskr´etn´ıho model˚u, kter´y se skl´ad´a z jednoho nebo nˇekolika aproximaˇcn´ıch polynom˚u a spojit´a funkce je rozdˇelena na koneˇcn´e ele-menty (prvky). Kaˇzd´y prvek je definov´an pomoc´ı interpolaˇcn´ı funkce, kter´a popi-suje jeho chov´an´ı mezi koncov´ymi body, kter´e se naz´yvaj´ı uzly [6]. Aproximativn´ı ˇreˇsen´ı budeme hledat jako line´arn´ı kombinaci b´azov´ych funkc´ı:

u=

n

i=1

uiNi(x) (4.2)

Pokud bychom dosadili do ˇreˇsen´e rovnice tuto aproximaci, nebude ˇreˇsen´a rovnice splnˇena pˇresnˇe. To snaˇz´ıme vyˇreˇsit t´ım, ˇze k rovnici pˇriˇcteme zbytkovou funkci (reziduum). Abychom zbytkovou funkci minimalizovali (tzn. dostali co nejpˇresnˇejˇs´ı aproximaci), n´asob´ıme zbytkovou funkci funkci v´ahovou, integrujeme pˇres celou oblast ˇreˇsen´ı a v´ysledek poloˇz´ıme rovno nule. Tento postup naz´yv´ame metodou v´aˇzen´ych rezidu´ı.

3. B´azov´e funkce

B´azov´e funkce se obvykle znaˇc´ı p´ısmenem N. Tyto funkce jsou pˇredeps´any pro kaˇzd´y uzel prvku a vyuˇz´ıv´a se vlastnosti, kterou m´a Kroneckerovo delta. To zna-men´a, ˇze pro dan´y uzel pvku nab´yv´a b´azov´a funkce hodnoty 1 a ve vˇsech ostatn´ıch uzlech je rovna nule. N´azornˇe je to zobrazeno na Obr. 4.1. Pˇri v´ypoˇctu byly pouˇzity biline´arn´ı ˇctvercov´eprvky s n´asleduj´ıc´ımi b´azov´ymi funkcemi:

N1= 1 4(1 − x)(1 − y) N2= 1 4(1 + x)(1 − y) N3= 1 4(1 + x)(1 + y) N4= 1 4(1 − x)(1 + y) (4.3) 0 0.5 1 0 0.5 1 0 0.5 1 (0) (1) (2) (3) B´azov´a funkce N1 0 0.5 1 0 0.5 1 0 0.5 1 (0) (1) (2) (3) B´azov´a funkce N2 0 0.5 1 0 0.5 1 0 0.5 1 (0) (1) (2) (3) B´azov´a funkce N3 0 0.5 1 0 0.5 1 0 0.5 1 (0) (1) (2) (3) B´azov´a funkce N4

(43)

4.1. METODA KONE ˇCN ´YCH PRVK ˚U

4. Lok´aln´ı matice tuhosti

Lok´aln´ı matice tuhosti k je d´ana vztahem: [k] =

Z

A

[B]T[D][B]t dxdy (4.4)

kde t je tlouˇst’ka prvk˚u, B je matice derivac´ı b´azov´ych funkc´ı a D je matice tuhosti materi´alu. [B] =     ∂ N1 ∂ x 0 ∂ N2 ∂ x 0 ∂ N3 ∂ x 0 ∂ N1 ∂ x 0 0 ∂ N1 ∂ y 0 ∂ N2 ∂ y 0 ∂ N3 ∂ y 0 ∂ N1 ∂ y ∂ N1 ∂ y ∂ N1 ∂ x ∂ N2 ∂ y ∂ N2 ∂ x ∂ N3 ∂ y ∂ N3 ∂ x ∂ N4 ∂ y ∂ N4 ∂ x     (4.5) [D] = E 1 − ν2    1 ν 0 ν 1 0 0 0 1−ν2    (4.6)

Lok´aln´ı matice tuhosti prvku m´a velikost 8x8 (d´ano dvˇema nezn´am´ymi posuny v kaˇzd´em ze ˇctyˇr uzl˚u), je symetrick´a a obecnˇe se d´a zapsat takto :

[k] =                 k11 k21 k22 k31 k32 k33 k41 k42 k43 k44 k51 k52 k53 k54 k55 k61 k62 k63 k64 k65 k66 k71 k72 k73 k74 k75 k76 k77 k81 k82 k83 k84 k85 k86 k87 k88                 (4.7)

5. K´odov´a ˇc´ısla a lokalizace

Po vytvoˇren´ı lok´aln´ı matice tuhosti je nutn´e ji spr´avnˇe lokalizovat do matice glob´aln´ı. K tomu se vyuˇz´ıvaj´ı tzv. k´odov´a ˇc´ısla, kter´e pˇrestavuj´ı jednotliv´e nezn´am´e posuny uzl˚u (na Obr. 4.2 oznaˇceny ˇcervenˇe). Nejdˇr´ıve jsou oˇc´ıslov´any vˇsechny prvky a uzly v konstrukci. Kaˇzd´y prvek m´a svoje lok´aln´ı ˇc´ısla uzl˚u (oznaˇceny zelenˇe), kter´ym odpov´ıdaj´ı glob´aln´ı ˇc´ısla uzl˚u (oznaˇceny modˇre) v z´avislosti na pozici dan´eho prvku. Na z´akladˇe toho pˇrevodu, jsou jednotliv´e prvky lok´aln´ı matice tuhosti pˇriˇcteny na pˇr´ısluˇsn´e pozice glob´aln´ı matice.

6. Glob´aln´ı matice tuhosti

Pˇri dodrˇzen´ı ˇc´ıslov´an´ı k´odov´ych ˇc´ısel dle Obr. 4.2, je glob´aln´ı matice ˇr´ıdk´a (vˇetˇsina prvk˚u v matici je nulov´a) a p´asov´a (Obr. 4.3). Tyto vlastnosti mˇely z´asadn´ı vliv na v´ypoˇcet a na to, jak´ym zp˚usobem byla MKP implementov´ana v jazyce Python. Pˇri v´ypoˇctu konstrukc´ı s jemnˇejˇs´ı s´ıt´ı (a tedy s vˇetˇs´ım poˇctem nezn´am´ych a vˇetˇs´ı

(44)

ma-KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON

Obr´azek 4.2: Lokalizace prvk˚u.

tic´ı tuhost´ı) doch´azelo k rychl´emu zaplnˇen´ı RAM pamˇet´ı a v´ypoˇcet byl zastaven. Zp˚usobovalo to obrovsk´e mnoˇzstv´ı dat v podobˇe nul, kter´e se do matice ukl´adalo. Tento probl´em se podaˇrilo vyˇreˇsit pomoc´ı pˇr´ıdavn´eho bal´ıku scipy. Konkr´etnˇe se jednalo o funkci scipy.sparse, kter´a ukl´adala matici tuhosti v podobˇe souˇradnic a pˇr´ısluˇsn´ych hodnot na tˇechto pozic´ıch (lze vyj´adˇrit jako K[i,j]=data). Nulov´e prvky matice byly tedy zcela eliminov´any. Tento pˇr´ıstup umoˇznil prov´adˇet v´ypoˇcet kon-strukc´ı s jemnˇejˇs´ı s´ıt´ı prvk˚u a taky zrychlen´ı v´ypoˇctu.

Obr´azek 4.3: Glob´aln´ı p´asov´a matice tuhosti.

7. Numerick´a integrace

V´ypoˇcet matice tuhosti vyˇzaduje integraci souˇcin˚u b´azov´ych funkc´ı a tuhosti. Pro sloˇzitˇejˇs´ı pˇr´ıpady vˇsak tuto integraci nelze prov´adˇet analyticky. M´ısto toho se vyuˇz´ıv´a numerick´a integrace. Existuje nˇekolik metod, ale pro polynomy je zvl´aˇstˇe vhodn´a Gaussova numerick´a integrace. Princip spoˇc´ıv´a v tom, ˇze se snaˇz´ıme stanovit hod-noty vah wi a souˇradnic integraˇcn´ıch bod˚u ξi tak, abychom integrovali pˇresnˇe

po-lynom co nejvyˇsˇs´ıho ˇr´adu. Hledan´y integr´al pak m˚uˇze b´yt vyj´adˇren n´asledovnˇe:

b Z a f(x) dx ≈ n

i=1 wif(ξi) (4.8)

(45)

4.1. METODA KONE ˇCN ´YCH PRVK ˚U

pˇresn´a pro polynom (2n − 1) stupnˇe. Pˇri v´ypoˇctu byla uvaˇzov´ana dvoubodov´a inte-grace s hodnotou vah 1.

Tabulka 4.1: Gaussovy integraˇcn´ı body a v´ahy.

n Integraˇcn´ı body ξi V´ahy wi

1 0 2 2 ±1/√3 1 3 0 8/9 ≈ 0.888889 ±p3/5 ≈ 0.774597 5/9 ≈ 0.555556 4 ± r  3 − 2p6/5/7 ≈ 0.339981 (18 +√30)/36 ≈ 0.652145 ± r  3 + 2p6/5/7 ≈ 0.861136 (18 +√30)/36 ≈ 0.347855 8. Izoparametrick´e prvky

Numerick´a integrace se zpravidla prov´ad´ı v pˇrirozen´ych souˇradnic´ıch ξ , η na inter-valu < −1; 1 >. Geometri´ı prvk˚u je proto tˇreba do tˇechto souˇradnic transformovat. Tzv. izoparametrick´e prvky pouˇz´ıvaj´ı pro aproximaci souˇradnic stejn´e funkce jako pro aproximaci uzlov´ych posun˚u. Tyto funkce maj´ı stejn´y poˇcet parametr˚u, a proto se takov´e prvky oznaˇcuj´ı jako izoparametrick´e.

Obr´azek 4.4: Izoparametrick´y prvek.

V´ypoˇcet lok´aln´ı matice tuhosti je pak d´an vztahem:

[k] = Z 1 −1 Z 1 −1[B] T[D][B]t dξ dη = n

i=1 n

j=1 [B]T[D][B]t wiwj|detJ| (4.9)

kde J je Jakobi´an transformace, kter´y se d´a vyj´adˇrit jako [6]:

J= " ∑∂ N∂ ξi ∑∂ N∂ ηi # h xi yi i (4.10)

(46)

KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON J= 1 4 " −(1 − η) (1 − η) (1 + η) −(1 + η) −(1 − ξ ) −(1 + ξ ) (1 + η) (1 − ξ ) #       x1 y1 x2 y2 x3 y3 x4 y4       (4.11)

9. Vztahy teorie pruˇznosti pro rovinn´y probl´em

V kaˇzd´em uzlu koneˇcn´eho prvk˚u, budou dva nezn´ame posuny (u, v). Na cel´y prvek tedy bude celkem osm nezn´am´ych:

h

u1, v1, u2, v2, u3, v3, u4, v4

iT

(4.12) Pro ˇreˇsen´ı probl´emu rovinn´e napjatosti byly pouˇzity n´asleduj´ıc´ı geometrick´e rov-nice v maticov´em tvaru:

   εx εy γxy   =     ∂ ∂ x 0 0 ∂ ∂ y ∂ ∂ y ∂ ∂ x     " u v # (4.13)

Fyzik´aln´ı rovnice byly uvaˇzov´any v tomto maticov´em tvaru:    σx σy τxy   = E 1 − ν2    1 ν 0 ν 1 0 0 0 1−ν2       εx εy τxy    (4.14)

V´ypoˇcet hlavn´ıch napˇet´ı konstrukce, kter´e pak byly vyuˇzity pro ohodnocen´ı je-dinc˚u, byl proveden dle vztahu:

σ1,2= σx+ σy 2 ± r σx− σy 2 2 + τ2 xy (4.15)

(47)

4.2. GENER ´ATORY ST ˇEN

4.2

Gener´atory stˇen

Jak jiˇz bylo zm´ınˇeno, pˇredmˇetem optimalizace je ˇzelezobetonov´a betonov´a nosn´a stˇena. Aby bylo moˇzn´e prov´est v´ypoˇceta a n´aslednou optimalizace, byly vytvoˇreny dva ge-ner´atory stˇen:

1. Gener´ator lini´ı

Tento gener´ator byl inspirov´an budovou Italsk´eho pavilonu na Expu 2015. Jej´ı fas´ada je vyrobena z panel˚u z biodynamick´eho cementu. Jeho bio sloˇzka je d´ana fo-tokatalytick´ymi vlastnostmi materi´alu, pˇri kontaktu se slunenˇc´ım svˇetlem materi´al zachycuje nˇekter´e zneˇcist’uj´ıc´ı l´atky z ovzduˇs´ı a promˇeˇnuje je v inertn´ı s˚ul. Dy-namick´a sloˇzka je d´ana tekutost´ı materi´alu a umoˇzˇnuje vytv´aˇret sloˇzit´e tvary [7]. Strukturu pak tvoˇr´ı zmˇet’ ˇcar r˚uzn´ych tlouˇstˇek, kter´e se kˇr´ıˇz´ı pod rozliˇcn´ymi ´uhly. Tento tvar m´a pˇripom´ınat zkamenˇel´y les a pˇr´ırodu.

(a) Pohled na budovu (b) Detail fas´ady

Obr´azek 4.5: Italsk´y pavilon Expo 2015.

Na podobn´em principu je zaloˇzen vytvoˇren´y gener´ator. Nejdˇr´ıve je na z´akladˇe vstupn´ıch hodnot (v´yˇska a d´elka stˇeny, maxim´aln´ı a minim´aln´ı hodnota tlouˇst’ky lini´ı a jejich poˇcet) vytvoˇrena matice, kter´a obsahuje n´ahodnˇe vygenerovan´e souˇradnice kon-cov´ych bod˚u a tlouˇst’ky lini´ı. Na z´akladˇe t´eto matice jsou linie vykresleny do za-dan´eho prostoru (Obr. 4.6).

(48)

KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON

2. Voronoi gener´ator

Tento gener´ator byl inspirov´an tzv. Voron´eho diagramem (Obr. 4.7(a)), coˇz je zp˚usob rozdˇelen´ı prostoru, kter´y je urˇcen´y vzd´alenostmi k mnoˇzinˇe bod˚u v tomto prostoru. Existuje nˇekolik algoritm˚u pro sestrojen´ı dan´eho diagramu (napˇr.inkrement´aln´ı, rozdˇel a panuj, Fortunova metoda, z Delaunayovy triangulace apod.), ale nejjed-noduˇsˇs´ım pˇr´ıpadem je rozdˇelen´ı roviny podle mnoˇziny bod˚u M. Voron´eho diagram kaˇzd´emu bodu b z mnoˇziny M pˇriˇrad´ı buˇnku V tak, ˇze vˇsechny body v buˇnce V jsou bl´ıˇze k bodu b neˇz k jak´emukoliv bodu z mnoˇziny M.

Voron´eho diagram se vyuˇz´ıv´a napˇr. v poˇc´ıtaˇcov´e grafice (mozaiky), geografii (anal´yza s´ıdel), chemii (3D modelov´an´ı bunˇek a prvk˚u) a robotice (pl´anov´an´ı cesty robot˚u). Tento vzor lze naj´ıt i v pˇr´ırodˇe napˇr. na kˇr´ıdlech v´aˇzky nebo na srsti ˇziraf.

(a) Voron´eho diagram (b) Kˇr´ıdla v´aˇzky

(c) Fas´ada budovy (d) Vzory na srsti ˇziraf

Obr´azek 4.7: Pˇr´ıklady v´yskytu Voron´eho diagramu v architektuˇre a pˇr´ırodˇe.

Stejnˇe jako u gener´atoru lini´ı je i v tomto pˇr´ıpadˇe nejdˇr´ıve vytvoˇrena matice ob-sahuj´ıc´ı n´ahodnˇe vygenerovan´e souˇradnice bod˚u, na z´akladˇe kter´ych se vykresl´ı Voron´eho diagram (Obr. 4.7).

(49)

4.2. GENER ´ATORY ST ˇEN

Obr´azek 4.8: Tvar stˇeny vytvoˇren´y pomoc´ı Voronoi gener´atoru.

Aby bylo moˇzn´e u takto vygenerovan´ych stˇen pˇri tvorbˇe s´ıtˇe MKP lokalizovat jednot-liv´e prvky v m´ıstech, kde je materi´al, a n´aslednˇe tyto stˇeny spoˇc´ıtat, byl zvolen n´asleduj´ıc´ı zp˚usob, jak definovat tvar stˇeny. Nejdˇr´ıve je vytvoˇren´a nulov´a matice W o rozmˇerech:

W =H a × L a  (4.16) kde H je v´yˇska stˇeny, L d´elka stˇeny a a je d´elka hrany koneˇcn´ych prvk˚u. Do takto pˇripraven´e matice byl na z´akladˇe jiˇz dˇr´ıve vygenerovan´ych souˇradnic bod˚u pˇrenesen tvar konstrukce. K tomu byl vyuˇzit pˇr´ıdavn´y bal´ık skimage.draw, kter´y do matice W pˇriˇcetl 1 na m´ısta, kde je materi´al. N´azornˇe je tento proces uk´az´an na Obr. 4.9.

1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1

Obr´azek 4.9: Definice tvaru stˇeny pomoc´ı matice.

Na Obr. 4.10 je demonstrov´an algoritmus, kter´y vyhled´a nenulov´e prvky matice W , a zaznamen´a jejich polohu, kter´a se n´aslednˇe vyuˇzije k pˇriˇcten´ı lok´aln´ı matice tuhosti do glob´aln´ı na z´akladˇe k´odov´ych ˇc´ısel.

(50)

KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON

4.2.1

Objektovˇe orientovan´e programov´an´ı

Hlavn´ı d˚uvodem pro zvolen´ı Pythonu jako programovac´ıho jazyka, je moˇznost vyuˇzit´ı tzv. objektovˇe orientovan´eho programov´an´ı (OOP). Jedn´a se o zp˚usob programov´an´ı, ve kter´em z´akladn´ı jednotkou je objekt, kter´y odpov´ıd´a nˇejak´emu objektu z re´aln´eho svˇeta (napˇr. ˇclovˇek, auto, nosn´a stˇena nebo datab´aze). Kaˇzd´y objekt m´a sv´e :

• vlastnosti - data, kter´a uchov´av´a (napˇr. vˇek, znaˇcka auta, tvar stˇeny)

• schopnosti - funkce, kter´e um´ı vykon´avat (napˇr. jdi do ˇskoly, natankuj, zapiˇs hod-notu do datab´aze)

Rozliˇsujeme dva typy objekt˚u: • vestavˇen´e typy (napˇr. seznam) • tˇr´ıdy (class)

Tˇr´ıdy jsou

”ˇsablony“, podle kter´ych se tvoˇr´ı jednotliv´e objekty. ˇR´ık´ame pak, ˇze objekt je instanc´ı dan´e tˇr´ıdy. Na Obr. 4.11 j´a zn´azornˇena definice tˇr´ıdy individual, podle kter´e se generuj´ı jednotliv´e stˇeny v populaci. Z´aroveˇn je vidˇet pˇriˇrazen´ı vlastnosti fitness kaˇzd´e instanci t´eto tˇr´ıdy.

(51)

4.3. CELKOV ´E NASTAVEN´I GA A OPER ´ATOR ˚U

4.3

Celkov´e nastaven´ı GA a oper´ator ˚u

Vytvoˇren´y algoritmus zaˇc´ın´a n´ahodn´ym vygenerov´an´ım poˇc´ateˇcn´ı populace o velikosti 40 jedinc˚u. To zahrnuje vytvoˇren´ı matice souˇradnic bod˚u a matice definuj´ıc´ı tvar stˇeny pro kaˇzd´eho jedince (viz. Kapitola 4.2). N´aslednˇe je cel´a populace stˇen spoˇc´ıt´ana po-moc´ı MKP a v´ysledky jsou uloˇzeny jako vlastnost dan´eho jedince. D´ale jsou jednot-liv´e konstrukce ohodnoceny a seˇrazeny. Na z´akladˇe poˇradov´eho v´ybˇeru jsou aritmeticky zkˇr´ıˇzeny matice souˇradnic bod˚u, kter´ym jsou stˇeny definov´any. V dalˇs´ım kroku prob´ıh´a n´ahodn´a mutace, kter´a nepatrnˇe mˇen´ı souˇradnice bod˚u. Pokud nen´ı dosaˇzen maxim´aln´ı zadan´y poˇcet generac´ı, je vytvoˇrena nov´a populace, kter´a se skl´ad´a z 28 potomk˚u, 10 novˇe n´ahodnˇe vygenerovan´ych jedinc˚u a dvou kopi´ı nejlepˇs´ıho jedinec z minul´e populace. Oper´ator mutace je aplikov´an pouze na jedn´e z tˇechto kopi´ı. To zaruˇcuje, ˇze potenci´aln´ı nejlepˇs´ı ˇreˇsen´ı nebude v pr˚ubˇehu zniˇceno. Pˇri dosaˇzen´ı maxim´aln´ıho poˇctu generac´ı je proces ukonˇcen. N´azornˇe to ilustruje Obr. 4.12.

Obr´azek 4.12: Sch´ema vytvoˇren´eho algoritmu.

Pro kaˇzd´y krok algoritmu byl vytvoˇren´y samostatn´y bal´ık - pro vytvoˇren´ı populace, v´ypoˇcet konstrukc´ı, ohodnocen´ı, kˇr´ıˇzen´ı, mutaci a uloˇzen´ı v´ysledk˚u v podobˇe obr´azk˚u a .txt dokumentu. Tyto bal´ıky jsou naimportov´any do centr´aln´ıho soubor˚u, ze kter´eho prob´ıh´a spuˇstˇen´ı cel´eho algoritmu (viz. Obr. 4.13).

(52)

KAPITOLA 4. IMPLEMENTACE V JAZYCE PYTHON

4.3.1

Nastaven´ı ohodnocen´ı

Do hodnot´ıc´ı funkce vstupuje nˇekolik parametr˚u:

• maxim´aln´ı deformace - v podobˇe pomˇeru maxim´aln´ı deformace jedince k ma-xim´aln´ı deformaci z cel´e populace :

de f = max de f(ind)

max de f(pop) (4.17)

Tento pomˇer u jedince s nejvˇetˇs´ı deformac´ı tedy bude roven 1. Naopak u jedince s nejmenˇs´ı deformac´ı bude tento pomˇer nejmenˇs´ı z populace.

• vylehˇcen´ı - v podobˇe pomˇeru poˇctu pouˇzit´ych prvk˚u (poˇcet nenulov´ych prvk˚u v matici, kterou je definov´an tvar stˇeny (4.16)), k maxim´aln´ımu poˇctu pouˇzit´ych prvk˚u v populaci :

elements= elements used(ind)

max elements used(pop) (4.18)

• pr ˚umˇern´a deformace - v podobˇe pomˇeru pr˚umˇern´e deformace jedince k maxim´aln´ı pr˚umˇern´e deformaci v populaci. Pr˚umˇern´a deformace uprumje vyj´adˇrena jako souˇcet

absolutn´ıch hodnot deformac´ı na konstrukci k poˇctu pouˇzit´ych prvk˚u.

uprum= ∑ |u|

elements used (4.19)

prum de f = uprum(ind)

max uprum(pop) (4.20)

Kromˇe ohodnocen´ı konstrukc´ı doch´az´ı i k jejich penalizaci, kter´a je zaloˇzena na tˇechto parametrech:

• penalizace deformace - penalizace je spoˇc´ıt´ana na z´akladˇe n´asleduj´ıc´ı funkce, ve kter´e jako promˇenn´a vystupuje maxim´aln´ı deformace konstrukce:

pen de f = 1

1 + 100e−0.4·u max (4.21)

• penalizace vyuˇzit´ı - penalizace je spoˇc´ıt´ana na z´akladˇe funkce, ve kter´e jako promˇenn´a vystupuje pomˇer poˇctu m´alo vyuˇzit´ych prvk˚u k celkov´emu poˇctu prvk˚u. Prvek je povaˇzov´an za m´alo vyuˇzit´y, pokud jeho napˇet´ı leˇz´ı v intervalu < −5; 0.5 > MPa. Penalizace je spoˇc´ıt´ana pro σ1i σ2a n´aslednˇe zpr˚umˇerov´ana.

References

Related documents

Pro implementaci reprezentac´ı s-box˚ u bylo vyuˇ zito t´ eˇ z specializovan´ ych tˇ r´ıd obsaˇ zen´ ych v Galibu. Tedy nejen odvozen´ım od GAGenome. Na obr´ azku 6.1 je

Traditional methods are not well suited for thinning large arrays; hence Genetic algorithm(GA) is used to find the optimum thinned configuration to achieve the specified

In this project, a genetic algorithm (GA) optimization technique is applied to 7-level cascaded multilevel inverter which determines optimum switching angles to eliminate 5 th

Zaj´ımav´ e ale je, ˇ ze oproti prvotn´ımu n´ avrhu jsou na tom v pr˚ umˇ ern´ em poˇ ctu gene- rac´ı pro nalezen´ı vˇ sech optim´ aln´ıch ˇ reˇ sen´ı varianty

Je sice zamezeno pˇ r´ım´ emu mˇ eˇ ren´ı pevnosti v tahu ohybem, jak ale bylo vysvˇ etleno v minul´ e kapitole, mˇ eˇ ren´ı pouze absorbovan´ e energie jako veliˇ

This study aims to arrange the optimal layout of microsatellite components using GA to meet the requirements set by the mission payload, the launcher and the spacecraft

Jak jsem uvedl již v kapitole 7.3.2 , prostředky nejrychlejší vyrovnávací paměti na CUDA zařízení jsou na makro úrovni řízeny hardwarem (jsou využity jako L1 cache).

Nejdůležitější částí je hodnocení finanční výkonnosti pomocí moderní metodiky, která je v rámci této diplomové práce zastoupena ukazatelem EVA, kde jsou