You are on page 1of 90

TAMPEREEN TEKNILLINEN YLIOPISTO

Konetekniikan osasto

JUSSI JALKANEN

AVARUUSKEHÄN DISKREETTI OPTIMOINTI

Lisensiaatintutkimus

Tarkastajat prof. Juhani Koski


yliass. Ari Aalto
Määrätty osastoneuvoston kokouksessa
12.5.2004
TAMPEREEN TEKNILLINEN YLIOPISTO
Konetekniikan osasto / Teknillinen mekaniikka ja optimointi
JALKANEN, JUSSI: Avaruuskehän diskreetti optimointi
Lisensiaatintutkimus, 64 s., 7 liitettä
Tarkastajat: prof. Juhani Koski ja yliass. Ari Aalto
Rahoittaja: Teknillisen mekaniikan valtakunnallinen tutkijakoulu
Elokuu 2004
-----------------------------------------------------------------------------------------------

Tässä työssä tarkastellaan putkipalkeista kootun avaruuskehän diskreettiä


optimointia. Ideana on valita kolmiulotteisen kehän palkit annetusta joukosta
eri kokoisia teollisesti valmistettuja ohutseinäisiä ja poikkileikkaukseltaan suo-
rakaiteen muotoisia RHS-putkia niin, että kehän massa minimoituu ja vaaditut
rajoitusehdot toteutuvat. Rajoitusehdot huolehtivat siitä, etteivät rakenteen
siirtymät kasva liian suuriksi, vertailujännitys ei ylitä suurinta sallittua arvoa,
kehä ei menetä stabiilisuuttaan ja ominaistaajuudet eivät satu kielletyille vä-
leille. Kehän topologia ja muoto eivät muutu optimoinnin kuluessa. Rakenteen
analysointiin käytetään elementtimenetelmää, jossa kehän siirtymien oletetaan
olevan pieniä ja materiaalin lineaarisesti kimmoista. Kehän kaikkien liitosten
oletetaan olevan jäykkiä.
Avaruuskehän massan minimointiongelma muodostuu epälineaariseksi ja
suunnittelumuuttujiltaan diskreetiksi optimointiongelmaksi, jonka ratkaisemi-
nen yleisessä tapauksessa on laskennallisesti hyvin vaativa tehtävä. Ratkaise-
misessa käytetään kolmea erilaista heuristista optimointimenetelmää, jotka ovat
simuloitu jäähdytys, tabuhaku ja geneettinen algoritmi. Simuloitu jäähdytys ja
tabuhaku kuuluvat lokaaleihin hakualgoritmeihin, ja geneettinen algoritmi on
eräs evoluutioalgoritmeista. Algoritmien keskinäisen tehokkuuden selvittämi-
seksi avaruuskehän massan minimointiongelmassa tarkastellaan kolmea tes-
tiongelmaa, jotka ratkaistaan aikaisemmissa tutkimuksissa tehokkaiksi havai-
tuilla simuloidun jäähdytyksen, tabuhaun ja geneettisen algoritmin versioilla.
Saatujen tulosten perusteella tarkastelluista algoritmeista ei voida nimetä
yhtä, joka olisi paras valinta kaikissa avaruuskehän massan minimointiongel-
missa. Simuloidulla jäähdytyksellä, tabuhaulla ja geneettisellä algoritmilla on
kullakin omat hyvät ja huonot puolensa. Se, mitä algoritmia kolmikosta tulisi
käyttää, riippuu kulloisestakin tehtävästä. Jatkotutkimuksen kannalta geneetti-
sessä algoritmissa näyttäisi olevan eniten potentiaalia.
ABSTRACT

The topic of this research is the discrete sizing optimization of space frames
that are made of standard commercial cold-formed RHS sections. The mass of
the frame is minimized subject to the displacement, stress, stability and
frequency constraints. The topology and the shape of the frame are fixed.

The space frame mass minimization problem is solved using three heuristic
optimization methods which are simulated annealing, tabu search and genetic
algorithm. In order to find the most efficient algorithm three test problems are
solved. However, according to results it is not possible to name only one
algorithm that would be the best in all the space frame mass minimization
problems.
Alkusanat

Tämä lisensiaatintutkimus on syntynyt useamman vuoden opiskelun ja tutki-


muksen seurauksena Teknillisen mekaniikan ja optimoinnin laitoksella. Tar-
koituksena on ollut kerätä tähän mennessä syntyneet tutkimustulokset yhdeksi
kertaalleen mietityksi kokonaisuudeksi. Varsinainen tavoite on heti perään sa-
masta aihepiiristä tehtävä väitöskirja.

Haluan esittää kiitokseni lisensiaatintutkimuksen tarkastamisesta Teknillisen


mekaniikan ja optimoinnin laitoksen johtajalle professori Juhani Koskelle ja
Rakennetekniikan laitoksen yliassistentti Ari Aallolle. Lisäksi haluan kiittää
työn ohjaajaa Juhani Koskea optimoinnin piiriin johdattamisesta, alan syvälli-
sen asiantuntemuksen antamisesta käyttööni ja vapaasta työskentelyilmapii-
ristä. Mikkelin ammattikorkeakoulun yliopettaja Martti Poraa haluan kiittää
mielenkiinnosta työtäni kohtaan ja saamistani arvokkaista kommenteista. Tek-
nillisen mekaniikan ja optimoinnin laitoksen nykyiselle ja entiselle kokeneem-
malle kaartille kuuluu kiitos mekaniikan taitojen opettamisesta. Viimeisim-
pänä, muttei vähäisimpänä, kiitokset vaimolle avusta ja tuesta näinä akateemi-
sen tutkimuksen vuosina.

Tampereella 17.8.2004

Jussi Jalkanen
Nikinväylä 9 E 24
33580 Tampere
040-5026899
SISÄLLYSLUETTELO

TIIVISTELMÄ…………………………………………………………………..
ABSTRACT……………………………………………………………………..
ALKUSANAT…………………………………………………………………...
SISÄLLYSLUETTELO…………………………………………………………
LYHENTEET JA MERKINNÄT……………………………………………….
1 JOHDANTO ............................................................................................... 1
1.1 Diskreetti optimointiongelma ................................................................. 1
1.2 Diskreetti avaruuskehän massan minimointiongelma ............................ 5
1.3 Tutkimuksen tavoitteet ja sisältö ............................................................ 6

2 ONGELMAN FORMULOINTI................................................................. 8
2.1 Suunnittelumuuttujien valinta................................................................. 9
2.2 Kohdefunktio ........................................................................................ 11
2.3 Rajoitusehdot ........................................................................................ 11
2.4 Optimointiongelma standardimuodossa ............................................... 13
2.5 Laskennallinen vaativuus ..................................................................... 20

3 HEURISTISET OPTIMOINTIMENETELMÄT ..................................... 23


3.1 Yleisiä etuja .......................................................................................... 23
3.2 Yleisiä puutteita .................................................................................... 25
3.3 Lokaalit hakualgoritmit ........................................................................ 26
3.3.1 Lähistö .......................................................................................... 28
3.3.2 Simuloitu jäähdytys ...................................................................... 30
3.3.3 Tabuhaku ...................................................................................... 33
3.4 Geneettinen algoritmi ........................................................................... 36

4 ESIMERKKITEHTÄVÄT ....................................................................... 41
4.1 Kolmen palkin kehä.............................................................................. 43
4.2 Kahdeksan palkin kehä ......................................................................... 47
4.3 Kahdenkymmenen kuuden palkin kehä................................................ 51

5 OPTIMOINTIMENETELMIEN VERTAILU ......................................... 56


6 YHTEENVETO........................................................................................ 59
7 LÄHDELUETTELO ................................................................................ 61
LIITTEET………………………………………………………………………..
LYHENTEET JA MERKINNÄT

EA evoluutioalgoritmit (Evolution Algorithms)


FEM elementtimenetelmä (Finite Element Method)
GA geneettinen algoritmi (Genetic Algorithm)
LP lineaarinen (jatkuvamuuttujainen) optimointiongelma
(Linear Programming)
NLP epälineaarinen (jatkuvamuuttujainen) optimointiongelma
(NonLinear Programming)
NP epädeterministisesti polynomiaikaiset tehtävät
P deterministisesti polynomiaikaiset tehtävät
RHS suorakaide putkipalkki (Rounded Hollow Section)
SA simuloitu jäähdytys (Simulated Annealing)
TS tabuhaku (Tabu Search)
VVEH vakiovääristymisenergiahypoteesi

α lämpötilakerroin
γ puristuspuolen suhteellisuusrajan ja myötörajan suhde
λ kuormituskerroin
λ kr alin (kriittinen) kuormituskerroin
λn redusoitu hoikkuusluku
λ nr rajahoikkuusluku
ν Poissonin luku
Ω käypä joukko
ωi ominaiskulmataajuus i

ρ tiheys
σmax vertailujännityksen suurin sallittu arvo
σ-p puristuspuolen suhteellisuusraja
σ red VVEH:n mukainen vertailujännitys
σx normaalijännitys
τ , τ1 , τ2 leikkausjännitys
τ Q ,τ Q
y z
leikkausvoimien Qy ja Qz aiheuttamat leikkausjännitykset
τv vääntömomentin aiheuttama leikkausjännitys
A LP-ongelman rajoitusehtojen kerroinmatriisi
A poikkipinta-ala
~
A seinämän keskiviivan sisään jäävä pinta-ala
b LP-ongelman rajoitusehtojen oikean puolen pystyvektori
b poikkileikkauksen leveys
C arvoltaan suuri positiivinen vakio
c LP-ongelman kohdefunktion kerroinvektori
d kohdefunktion arvojen erotus
E kimmomoduuli
~
E (x) evaluointifunktio
e Neperin luku
F voima
F (x) kelpoisuusfunktio
f(x), f kohdefunktio
fi ominaistaajuus i
f jmax ominaistaajuuden j yläraja

f jmin ominaistaajuuden j alaraja

f ominaistaajuusrajoitusehdon skaalauskerroin
g i (x) epäyhtälörajoitusehtofunktio i

g iσ (x) jännitysrajoitusehtofunktio i

g bg (x) globaali nurjahdusrajoitusehtofunktio

g ibl (x) lokaali nurjahdusrajoitusehtofunktio i

g f ( x) ominaistaajuusrajoitusehtofunktio

g iu (x) siirtymärajoitusehtofunktio i

h j (x) yhtälörajoitusehtofunktio j

h poikkileikkauksen korkeus
I1, I2 pääneliömomentit
Iy, Iz neliömomentit y- ja z-akselien suhteen
Iv vääntöneliömomentti
i, j indeksejä
K rakenteen jäykkyysmatriisi
Kg rakenteen geometrinen jäykkyysmatriisi
K ratkaisuiden lukumäärä samassa lämpötilassa
k elementin jäykkyysmatriisi
kg elementin geometrinen jäykkyysmatriisi
k palkin koon muutos lähistöä määriteltäessä
L pituus
Ln nurjahduspituus
M globaali massamatriisi
M siirtojen joukko
My, Mz taivutusmomentit y- ja z-akselien ympäri
Mv vääntömomentti
m elementin konsistentti massamatriisi
m profiilien lukumäärä
m ratkaisuun x tehtävä siirto
N normaalivoima
Nbg globaalin nurjahduksen varmuusluku
Nbl lokaalin nurjahduksen varmuusluku
~
N optimointiongelman instanssin koko
N (x) ratkaisun x lähistö
n kehän palkkien lukumäärä
nc rajoitusehtojen lukumäärä
nd diskreettien suunnittelumuuttujien lukumäärä
ndf vapausasteiden lukumäärä
ne yhtälörajoitusehtojen lukumäärä
nu siirtymärajoitusehtojen lukumäärä
nv suunnittelumuuttujien lukumäärä
n suunnitteluavaruuden alkioiden lukumäärä
nf kiellettyjen taajuusvälien lukumäärä
P todennäköisyys
Pn nurjahdusvoima
p, pi todennäköisyys
pc risteytystodennäköisyys
pm mutaatiotodennäköisyys
Qy, Qz leikkausvoimat y- ja z-akselien suunnassa
qi suunnittelumuuttujan i diskreettien arvojen lukumäärä
Re vetopuolen myötöraja

R− e puristuspuolen myötöraja (tyssäysraja)


r poikkileikkauksen nurkan ulkoreunan pyöristyssäde
S0 aloituspopulaatio
St sukupolven t populaatio
si suunnitteluavaruuden piste
T lämpötila
Talku alkulämpötila
Tloppu loppulämpötila
t poikkileikkauksen seinämän paksuus, kierroslaskuri
uj vapausasteen j siirtymä

u max
j vapausasteen j siirtymän yläraja

u min
j vapausasteen j siirtymän alaraja

usall suurin sallittu siirtymän arvo


u siirtymärajoitusehdon skaalausvakio
u siirtymävektori
W kehän massa
W* optimirakenteen massa
Wy, Wz taivutusvastukset y- ja z-akselien suhteen
Wv vääntövastus
X suunnitteluavaruus
X0 aloituspopulaatiollinen ratkaisuja
X t +1 sukupolven t + 1 populaatiota vastaava ratkaisujen joukko
x, y, z koordinaatit
~
x, ~y, ~
z koordinaatit palkilla
xi suunnittelumuuttuja i
x' lokaali optimi
ximax suunnittelumuuttujan i yläraja

ximin suunnittelumuuttujan i alaraja

xiqi suunnittelumuuttujan i qi:s arvo


~
x palkin piste sen omassa koordinaatistossa
x suunnittelumuuttujien vektori
x0 alkuarvaus
x* optimipiste
xk iteraatiopiste k
x̂ * ratkaisujoukon paras ratkaisu
y ratkaisu

[~x ~y ~z ] T x, ~
pystyvektori, jonka alkioina ~ y ja ~
z
[ a, b ] suljettu väli a:sta b:hen
p∨ q p tai q
P ⊆ NP P on joukon NP osajoukko
Ω⊂X Ω on joukon X aito osajoukko
A∩B joukkojen A ja B leikkaus
x* ∈ Ω x* on joukon Ω alkio
∀ i = 1, 2,K kaikilla arvoilla i = 1, 2,K
x⊕m ratkaisuun x tehtävä siirto m
1

1 JOHDANTO

1.1 Diskreetti optimointiongelma

Suunnittelutyössä päädytään hyvin usein tilanteeseen, jossa insinöörin täytyy


tehdä valintoja joidenkin tiettyjen vaihtoehtojen välillä. Tarjolla olevista mah-
dollisuuksista on valittava jokin asetetut vaatimukset täyttävä. Esimerkiksi jo-
honkin laitteeseen asennettava sähkömoottori täytyy valita moottorivalmistajan
tarjoamasta valikoimasta. Suunnittelijan ei ole mahdollista ottaa sellaista
moottoria, jonka ominaisuudet olisivat täsmälleen halutut, vaan täytyy tyytyä
sopivaan tarjolla olevista vaihtoehdoista. Sähkömoottorin lisäksi muita tyypilli-
siä vain tietyn kokoisina saatavia komponentteja ovat esimerkiksi laakerit,
vaihteet, putket, venttiilit, pultit, putkipalkit, levyt, köydet jne. Taloudellisista
syistä niiden valmistuksessa rajoitutaan tiettyihin kokoihin ja suurin sarjoihin.
Jos halutaan valita jokin standardivalikoimasta poikkeava koko, on se periaat-
teessa mahdollista, mutta tulee usein erittäin kalliiksi.

a) b)

c) F

Kuva 1. Tyypillisiä valintatilanteita tiettyjen mahdollisuuksien joukosta. a)


Mikä moottoreista tulisi valita? b) Minkä kokoinen putkipalkki
tarvitaan? c) Montako pulttia liitoksessa tulisi olla?
2

Toinen vastaava valintatilanne tiettyjen annettujen vaihtoehtojen välillä syntyy,


kun kysytään sopivaa lukumäärää. Esimerkiksi tehtävänä voi olla
muovikomposiitin kuitukerrosten, teräslevyn jäykisteiden tai liitoksen pulttien
lukumäärän valinta. Selvästikin kerroksien, jäykisteiden ja pulttien määrien
täytyy olla kokonaislukuja. Kolmas esimerkki diskreettien vaihtoehtojen jou-
kosta valitsemisesta on materiaalin valinta. Auton vaihdelaatikko voidaan aja-
tella valettavan teräksestä, alumiinista, titaanista tai magnesiumista. Sitä ei ole
kuitenkaan mahdollista tehdä valamalla niin, että käytettäisiin kaikkia neljää
materiaalia.

Edellä kuvatun kaltaisissa valintatilanteissa suunnittelijan tulisi etsiä käytettä-


vissä olevista ratkaisuvaihtoehdoista paras mahdollinen asetetut vaatimukset
täyttävä. Mikäli eri ratkaisuvaihtoehtojen vaikutukset pystytään laskennallisesti
selvittämään, tarjoaa optimointi luontevan tavan hakea parasta ratkaisua. Usein
tavoitteena pidetään taloudellisesti edullisinta suunnitelmaa ja muiden vaik-
kapa teknisten vaatimusten osalta riittää, että ne toteutuvat. Alhaisten kustan-
nusten sijasta päämääränä voi tietysti olla myös esimerkiksi turvallisuuden
maksimointi, jolloin kustannusten säilyminen kohtuullisena otetaan huomioon
rajoitusehtojen kautta.

Optimoinnissa haetaan valittujen suunnittelumuuttujien arvoja systemaattisesti


muuttelemalla minimoitavalle (maksimoitavalle) kohdefunktiolle pienintä
(suurinta) mahdollista arvoa niin, että kaikki yhtälö- tai epäyhtälömuotoiset
rajoitusehdot toteutuvat. Mikäli kaikki suunnittelumuuttujat voivat saada va-
paasti arvoja niille kullekin sallitulta väliltä, on kyse jatkuvasta tehtävästä. Jos
suunnittelumuuttujat voivat saada vain tiettyjä diskreettejä arvoja, eivätkä mi-
tään arvoa näiden sallittujen arvojen välistä, on kyse diskreetistä optimointion-
gelmasta. Sekalukutehtävässä puolestaan osa suunnittelumuuttujista on jatku-
via ja osa diskreettejä.

Diskreettejä suunnittelumuuttujia sisältävä rajoitettu optimointiongelma on


yleisessä tapauksessa standardimuodossa esitettynä
3

min f (x)
h j ( x) = 0 j = 1, 2, K , ne
g j ( x) ≤ 0 j = ne + 1, K , nc . (1)
{
xi ∈ xi1 , xi2 , K , xiqi } i = 1, 2, K , nd
x min
i ≤ xi ≤ x max
i i = nd + 1, K , n v

x on suunnittelumuuttujat sisältävä vektori

[
x = x1 x 2 K x nd | x nd +1 x nd + 2 K x nv ] T
, (2)

missä on nd kpl diskreettejä muuttujia ja n v − nd kpl jatkuvia muuttujia. f (x)

on minimoitava kohdefunktio ja h j (x) = 0 ja g j (x) ≤ 0 ovat ongelman yhtälö-

ja epäyhtälörajoitusehdot. Kohdefunktio ja rajoitusehdot voivat olla suunnitte-


lumuuttujien suhteen joko lineaarisia tai epälineaarisia funktioita. Jos kohde-
funktio tai yksikin rajoitusehdoista on epälineaarinen, on koko optimointion-
gelma epälineaarinen. Kukin diskreeteistä suunnittelumuuttujista x i,
i = 1, 2, K , nd , saa vain jonkin sille sallituista arvoista xi1 , xi2 , K, xiqi . Jatku-

vien suunnittelumuuttujien xi, i = nd + 1, 2, K , n v , arvojen on puolestaan ol-

tava annettujen alarajojen ximin ja ylärajojen ximax välissä.

Optimointiongelman suunnittelumuuttujien tyyppi on usein oleellista ongelman


ratkaisemisen vaativuuden kannalta. Mikäli kaikki suunnittelumuuttujat ovat
jatkuvia, on optimointiongelma yleensä merkittävästi helpompi ratkaista kuin
sellainen, missä yksikin suunnittelumuuttujista on diskreetti. Näin on siitä
huolimatta, että jatkuvassa optimointiongelmassa ratkaisuvaihtoehtojen luku-
määrä on ääretön ja pelkkiä diskreettejä muuttujia sisältävässä ongelmassa se
on äärellinen. Edellä kuvattu tiettyjen vaihtoehtojen joukosta valitseminen
johtaa väistämättä sekalukutehtävään tai puhtaasti diskreettiin optimointion-
gelmaan. Taulukossa 1 on esitetty eräs pääasiassa diskreettejä muuttujia sisäl-
tävien optimointiongelmien jaottelu.

Diskreetin optimointiongelman ratkaisumenetelmät voidaan jakaa kahteen pää-


ryhmään: tarkat menetelmät ja likimääräiset menetelmät. Tarkat menetelmät ta-
kaavat (joskus tietyin oletuksin) globaalin optimin eli optimointiongelman
kaikkein parhaimman ratkaisun löytymisen. Esimerkkeinä voidaan mainita
4

kaikkien ratkaisumahdollisuuksien läpikäyminen eli ns. täydellinen enumeraa-


tio tai branch&bound-algoritmi, jossa suuri osa mahdollisista ratkaisuvaihtoeh-
doista karsitaan päättelemällä pois (ns. implisiittinen enumeraatio). Kaikki tar-
kat menetelmät vaativat väistämättä paljon laskentatyötä ja ne muuttuvat on-
gelman koon kasvaessa nopeasti toivottoman hitaiksi käyttää.

Taulukko 1. Jatkuvia ja diskreettejä suunnittelumuuttujia sisältävien opti-


mointiongelmien eräs jaottelu, [6].
Tyyppi Kuvaus
Kaikki suunnittelumuuttujat ovat jatkuvia ja kohdefunktio ja
1 rajoitusehdot kahdesti jatkuvasti derivoituvia. Standardi NLP-
tehtävä.
Sekalukutehtävä, missä kohdefunktio ja rajoitusehdot ovat kah-
desti jatkuvasti derivoituvia. Diskreetit suunnittelumuuttujat
2
voivat saada optimoinnin kuluessa tilapäisesti myös arvoja dis-
kreettien arvojen välistä.
Sekalukutehtävä, missä kohdefunktio ja/tai rajoitusehdot ovat
derivoitumattomia. Diskreetit suunnittelumuuttujat voivat saada
3
optimoinnin kuluessa tilapäisesti myös arvoja diskreettien ar-
vojen välistä.
Sekalukutehtävä, missä kohdefunktio ja rajoitusehdot ovat de-
rivoituvia tai derivoitumattomia. Jotkin diskreetit suunnittelu-
4
muuttujat eivät voi saada optimoinnin kuluessa muita kuin sal-
littuja diskreettejä arvoja.
Sekalukutehtävä, missä kohdefunktio ja rajoitusehdot ovat de-
rivoituvia tai derivoitumattomia. Osa diskreeteistä suunnittelu-
5
muuttujista on kytköksissä toisiinsa niin, että yhden arvon kiin-
nittäminen määrää myös muiden arvot.
Kombinatorinen ongelma, missä kaikki suunnittelumuuttujat
6 ovat diskreettejä ja kohdefunktio ja/tai rajoitusehdot derivoitu-
mattomia.

Likimääräiset menetelmät tuottavat usein kohtuullisessa laskenta-ajassa hyviä


lähellä optimia olevia ratkaisuja. Etukäteen ei ole kuitenkaan takeita lopputu-
loksen laadusta. Toisaalta käytännön sovelluksissa ei olla useinkaan kiinnostu-
neita kaikkein parhaimmasta ratkaisusta, vaan kohtuullisen nopeasti saatu al-
kuarvausta selvästi parempi tulos riittää. Esimerkkeinä lukuisista likimääräi-
sistä ratkaisumenetelmistä voidaan mainita jatkuvaksi relaksoidun ongelman
ratkaisun pyöristäminen diskreetiksi, duaalimenetelmät ja erilaiset heuristiset
menetelmät.
5

1.2 Diskreetti avaruuskehän massan minimointiongelma

Tässä työssä käsitellään putkipalkeista kootun avaruuskehän palkkien valitse-


mista parhaalla mahdollisella tavalla jostakin annetusta valikoimasta standardi-
profiileita. Optimoinnissa mahdolliset profiilit ovat poikkileikkaukseltaan tie-
tyn tyyppisiä, mutta kooltaan erilaisia. Profiilien kokovalikoima voi olla mieli-
valtainen. Tehtävänä on hakea kevein mahdollinen ratkaisu niin, etteivät ra-
kenteen siirtymät kasva liian suuriksi, vertailujännitys ei ylitä suurinta sallittua
arvoa, kehä ei menetä stabiilisuuttaan ja ominaistaajuudet eivät satu kielletyille
väleille. Kyseessä on kantavien rakenteiden diskreetin optimoinnin mitoitus-
tehtävä, jolloin kehän topologia ja muoto eivät muutu optimoinnin kuluessa.

Tarkastellun optimointiongelman ratkaisumenetelmiksi on valittu kolme eri-


laista heuristista algoritmia: simuloitu jäähdytys (simulated annealing, SA),
tabuhaku (tabu search, TS) ja geneettinen algoritmi (genetic algorithm, GA).
Heuristiset algoritmit ovat melko yksinkertaisia ja joustavia tapoja ratkoa
muilla keinoin hankalasti ratkaistavissa olevia diskreettejä optimointiongelmia.
Kohdefunktion ja rajoitusehtojen osalta riittää, että niiden arvot pystytään las-
kemaan halutuissa suunnitteluavaruuden pisteissä. Kohdefunktion ja rajoi-
tusehtojen derivaattoja suunnittelumuuttujien suhteen ei tarvita. Kuten muut-
kaan likimääräiset algoritmit, myöskään heuristiset menetelmät eivät pysty ta-
kaamaan globaalin optimin löytymistä. Yleensä ne toimivat virittämisen jäl-
keen varsin hyvin, mutta saattavat toisinaan epäonnistua pahastikin.

Avaruuskehän analysointi tapahtuu elementtimenetelmää käyttäen. Käytössä


on tavallinen 12-vapausasteen avaruuspalkkielementti. Siirtymien oletetaan
olevan pieniä ja materiaalin lineaarisesti kimmoista. Kehän liitosten mahdol-
lista joustoa ei ole huomioitu, kuten ei myöskään palkin poikkileikkauksen
vääristymistä väännön seurauksena.

Optimoinnin perusteisiin tutustuminen erityisesti kantavien rakenteiden opti-


moinnin kannalta onnistuu oppikirjojen [4], [14], [18], [23] ja [39] avulla. Dis-
kreettiä kantavien rakenteiden optimointia on puolestaan esitelty teoksessa [17]
ja katsauksissa [5], [6], [7], [19] ja [35]. Kirjallisuudessa melko harvinaista
diskreetin epälineaarisen optimointiongelman ratkaisemista on käsitelty teok-
sessa [15]. Kaikista kolmesta tähän työhön liittyvästä heuristisesta algoritmista
6

löytyy johdanto teoksista [2] ja [34]. Simuloitua jäähdytystä käsitellään kirjassa


[1] ja geneettistä algoritmia klassikoiksi nousseissa kirjoissa [16] ja [27].

Aikaisemmin simuloitua jäähdytystä on käsitelty mekaniikan alan lehtien artik-


keleissa [8], [12], [28] ja [30]. Tabuhakua on vastaavasti sovellettu artikke-
leissa [9], [10] ja [13]. Kolmikon ylivoimaisesti suosituin menetelmä on ge-
neettinen algoritmi, josta löytyy valtava määrä artikkeleita. Niiden kaikkien tai
edes merkittävimpien listaaminen on mahdotonta. Tässä yhteydessä kannattaa-
kin mainita ainoastaan [31], joka sisältää kattavan yhteenvedon geneettisestä
algoritmista teräsrakenteiden optimoinnissa.

Simuloidun jäähdytyksen, tabuhaun ja geneettisen algoritmin keskinäistä


tehokkuutta kantavien rakenteiden optimoinnin ongelmissa ei ole aikaisemmin
vertailtu kovinkaan paljon. Ainoa löytynyt ja saatavilla oleva kaikkia kolmea
käsittelevä vertaileva tutkimus näyttää olevan [26]. Pelkästään simuloitua jääh-
dytystä ja geneettistä algoritmia vertailevia artikkeleita ovat [11] ja [19].

1.3 Tutkimuksen tavoitteet ja sisältö

Tämä työ on jatkoa Tampereen teknillisen yliopiston Teknillisen mekaniikan ja


optimoinnin laitoksella jo pitkään jatkuneelle kantavien rakenteiden optimoin-
nin tutkimukselle ([3], [22], [24], [25], [29], [32], [37] ja [38]). Opinnäyte on
eräänlainen tiivistetty ja täydennetty versio tekijän raporteista [20] ja [21].

Lisensiaatintutkimuksen tavoitteena on ollut:

• Formuloida putkipalkeista kootun avaruuskehän massan minimointion-


gelma ja selostaa, miten kehän analysointi tapahtuu.

• Tuoda julki heurististen optimointimenetelmien yleisiä etuja ja puutteita


sekä esitellä simuloidun jäähdytyksen, tabuhaun ja geneettisen algorit-
min toimintaperiaate.

• Tutkia simuloidun jäähdytyksen, tabuhaun ja geneettisen algoritmin


suorituskykyä testiongelmien perusteella.

Kuten edellä on jo nähty, johdantoluvussa tarkastellaan diskreettiin optimoin-


tiongelmaan johtavia syitä, diskreettejä suunnittelumuuttujia sisältäviä opti-
7

mointiongelmia yleisellä tasolla, avaruuskehän massan minimointiongelmaa


verbaalisti kuvailtuna sekä tutkimusaiheeseen liittyvää kirjallisuutta.

Luvussa 2 pohditaan eri mahdollisuuksia valita suunnittelumuuttujat avaruus-


kehän massan minimointiongelmassa sekä tarkastellaan kohdefunktiota ja ra-
joitusehtoja. Tämän jälkeen esitetään ongelma matemaattisessa standardimuo-
dossa ja selostetaan, miten kehän analysointi on hoidettu. Luvun lopussa käsi-
tellään vielä formuloidun optimointiongelman laskennallista vaativuutta.

Useille heuristisille optimointimenetelmille yhteisiä etuja ja puutteita on esi-


telty luvun 3 alussa. Ennen simuloidun jäähdytyksen ja tabuhaun esittelyä kä-
sitellään lokaalien hakualgoritmien perusideaa ja lähistön merkitystä näiden
algoritmien kohdalla. Luvun lopussa selvitetään pääpiirteissään geneettisen al-
goritmin toimintaa.

Luvussa 4 ratkaistaan kolme testiongelmaa käyttäen simuloitua jäähdytystä,


tabuhakua ja geneettistä algoritmia. Ensimmäisenä testiongelmana on kolmen
palkin pelkästään jännitysrajoitusehtoja sisältävä tehtävä. Toisen testiongelman
rakenteena on kahdeksan palkin kehä ja rajoitusehtoina siirtymä-, jännitys- ja
nurjahdusrajoitusehdot. Kolmannessa testiongelmassa tarkastellaan kahden-
kymmenen kuuden palkin kehää jännitys-, stabiilisuus- ja taajuusrajoituseh-
doilla.

Heurististen menetelmien keskinäistä tehokkuutta lasketuissa testiongelmissa


tarkastellaan luvussa 5. Samassa yhteydessä verrataan myös saatuja tuloksia
kirjallisuudesta löytyneen aikaisemman samantyylisen artikkelin tuloksiin. Lo-
puksi luvussa 6 tehdään vielä yhteenveto tutkimuksen sisällöstä.
8

2 ONGELMAN FORMULOINTI

Putkipalkkikehän massan minimointiongelmassa tehtävänä on valita kehän


palkit annetusta äärellisestä joukosta standardiprofiileita niin, että rakenteen
massa minimoituu ja vaaditut rajoitusehdot toteutuvat. Kehän topologiaa tai
muotoa ei muutella optimoinnin kuluessa. Rajoitusehtoina voivat olla haluttu-
jen solmusiirtymien rajoittaminen sallituille väleille, vakiovääristymisener-
giahypoteesin (VVEH, von Mises) mukaisen vertailujännityksen pysyminen
suurinta sallittua arvoa pienempänä, yksittäisten palkkien sekä koko rakenteen
stabiilisuuden säilyminen ja ominaistaajuuksien pysyminen poissa kielletyiltä
väleiltä. Kehän kuormitukset ovat ajasta riippumattomia.

Tarkastellaan tapausta, jossa kaikki n kpl kehän palkkeja valitaan samasta m


kpl profiileita sisältävästä joukosta (kuva 2). Profiilit ovat keskenään samaa
tyyppiä, tässä työssä poikkileikkaukseltaan suorakaiteen muotoisia RHS-put-
kia, mutta niiden lukumäärä ja kokojakauma on mielivaltainen.

a) b)
z n=8
20F
F

y
1 2 m-2 m-1 m
x

Kuva 2. a) Kahdeksan palkin avaruuskehä. b) Suorakaiteen muotoisten


putkipalkkien sarja.

Optimoinnissa mahdollista putkipalkkien joukkoa ei voi yleisessä tapauksessa


järjestää yksikäsitteisesti suuruusjärjestykseen niin, että kaikki poikkipintasuu-
reet (poikkipinta-ala, neliömomentit, vääntöneliömomentti jne.) pienenisivät tai
kasvaisivat siirryttäessä profiilien sarjassa yhtä pienempään tai suurempaan
kokoon. Esimerkiksi suorakaiteella profiililla poikkipinta-alan kasvaessa saat-
taa toinen pääneliömomenteista pienetä, jolloin taivutuksessa tämän akselin
suhteen palkki onkin heikompi.
9

2.1 Suunnittelumuuttujien valinta

Suunnittelumuuttujien valinta vaikuttaa oleellisesti optimointiongelman luon-


teeseen ja sen ratkaisemiseen. Vaihtoehtoja on yleensä useita ja seuraavassa
käsitellään muutamaa avaruuskehän massan minimointiongelmassa kyseeseen
tulevaa tapaa. Yksinkertaisinta lienee valita kutakin palkkia kohden vain yksi
suunnittelumuuttuja, jonka avulla lausutaan kaikki tarvittavat poikkipintasuu-
reet. Tavallisin valinta on palkin poikkipinta-ala A. Ongelmaksi nousee A:n ja
muiden poikkipintasuureiden välisten yhteyksien I y = I y ( A) , I z = I z ( A) jne.

muodostaminen (kuva 3). Kunkin profiilin pinta-alan arvolla tulee saada tar-
kasti saman profiilin muiden poikkipintasuureiden arvot. Mikäli funktiot
I y = I y ( A) , I z = I z ( A) jne. eivät ole monotonisia, jatkuvia ja riittävän sileitä,

saatetaan joidenkin optimointialgoritmien kohdalla törmätä ongelmiin. Eräs


ongelmallinen tilanne syntyy, kun useammalla profiililla on sama pinta-ala,
mutta erilaiset neliömomentit. Tinkimällä yleisyydestä ja valitsemalla etukä-
teen optimointiin mukaan vain tietyn kokoiset profiilit on mahdollista käyttää
poikkipinta-alaa A ainoana suunnittelumuuttujana kutakin palkkia kohden.

Edellä kuvatuista ongelmista päästään eroon, kun valitaan kunkin palkin suun-
nittelumuuttujiksi suoraan kaikki tarvittavat poikkipintasuureet. Avaruuske-
hällä näitä ovat, rakenteen analysointitavasta riippuen, esimerkiksi poikkipinta-
ala A, neliömomentit I y ja I z , taivutusvastukset W y ja W z sekä vääntövastus

Wv . Tätä lähestymistapaa käytettäessä tulee jotenkin huolehtia siitä, että opti-

moinnin lopussa kunkin palkin suunnittelumuuttujien arvot vastaavat jotakin


olemassa olevaa profiilia. Samaan palkkiin liittyvät suunnittelumuuttujat ovat
selvästi kytkettyjä, sillä niistä yhden arvon kiinnittäminen johtaa tavallisesti
kaikkien muidenkin arvojen määräytymiseen.

Poikkipintasuureiden käyttö suoraan suunnittelumuuttujina johtaa melko suu-


reen määrään muuttujia. Lisäksi kehän analysointitapa vaikuttaa näiden muut-
tujien lukumäärään. Ongelma voidaan kiertää valitsemalla suunnittelumuuttu-
jiksi poikkileikkauksen geometrisia mittoja, kuten esimerkiksi suorakaiteella
putkipalkilla korkeus h, leveys b, seinämän paksuus t ja nurkan säde r. Tarvit-
tavat pinta-ala, neliömomentit jne. voidaan helposti laskea näistä mitoista.
10

Myös tällaiset geometriset samaan palkkiin liittyvät suunnittelumuuttujat ovat


selvästi kytkettyjä, jos käytössä on tietty sarja profiileita.

a) b)

c)

Kuva 3. Rautaruukin RHS-putkien suositussarjan profiilien (84 kpl, liite 1)


a) neliömomentti Iy b) neliömomentti Iz ja c) vääntöneliömomentti
Iv poikkipinta-alan A funktiona.

Kaikissa edellä esitellyissä valintatavoissa suunnittelumuuttujat voivat saada


optimointiprosessin aikana myös muita kuin tiettyjä ennalta määrättyjä dis-
kreettejä arvoja. Alkuperäinen diskreetti optimointiongelma voidaan siten ha-
luttaessa relaksoida jatkuvaksi ja ratkaista vaikkapa branch&bound-algoritmia
käyttäen. Jos suunnittelumuuttujiksi valitaan kunkin palkin profiilin järjestys-
luku profiilien muodostamassa sarjassa saadaan formulointi, jossa suunnitte-
lumuuttujat voivat olla arvoltaan ainoastaan kokonaislukuja välillä 1,K , m .
Rakennetta analysoitaessa poikkipintasuureet poimitaan järjestysluvun perus-
teella taulukosta. Kutakin palkkia kohden riittää yksi suunnittelumuuttuja,
mutta optimointiongelma on muuttunut luonteeltaan selvästi kombinatoriseksi.
11

Simuloitua jäähdytystä, tabuhakua tai geneettistä algoritmia käytettäessä edellä


esitellyistä vaihtoehdoista viimeinen tuntuu kaikkein luontevimmalta avaruus-
kehän massan minimointiongelmassa. Niinpä tässä työssä suunnittelumuuttu-
jiksi xi valitaan palkkien profiilien järjestysluvut niiden muodostamassa sar-
jassa. Suunnittelumuuttujien vektori x, missä xi ∈ {1, 2, K , m} ja i = 1, 2,K , n ,

ilmoittaa kehän kunkin palkin poikkileikkauksen "suuruuden", kun profiilit on


järjestetty jossakin mielessä kevyimmästä järeimpään. Kehän analysoinnissa
tarvittavat poikkipintasuureet poimitaan suoraan putkipalkkien valmistajan
toimittamasta taulukosta tai lasketaan poikkileikkauksen mitoista, kun tiede-
tään, monesko profiili kullakin palkilla on.

2.2 Kohdefunktio

Perimmäiseksi tavoitteeksi avaruuskehän optimoinnissa on luonnollista ottaa


kustannusten minimoiminen. Kehän kokonaiskustannuksiin vaikuttavat materi-
aalin kulutuksen lisäksi myös esimerkiksi valmistuskustannukset. Valmistuk-
sen aiheuttamien kustannusten suuruus riippuu puolestaan palkkien koon ohella
työmenetelmistä ja on täten erilainen eri konepajoissa. Näin ollen voidaan val-
mistuskustannukset kuitenkin olettaa vakiosuuruisiksi ja jättää pois ja keskittyä
vain materiaalin kulutuksen minimointiin. Tällöin optimointiongelman kohde-
funktioksi valitaan kehän massa. Koska kaikkien palkkien materiaali on sama,
voitaisiin minimoinnin kohteeksi ottaa yhtä hyvin myös materiaalitilavuus.
Kohdefunktion arvo on laskettavissa helposti, kun tiedetään kutakin palkkia
vastaavan suunnittelumuuttujan arvo ja sitä kautta poikkipinta-ala.

2.3 Rajoitusehdot

Rajoitusehtojen tehtävä on huolehtia siitä, että optimoinnin tuloksena saatava


rakenne on käyttökelpoinen. Siirtymä-, jännitys-, stabiilisuus- ja ominaistaa-
juusrajoitusten lisäksi voi joskus olla tarpeen ottaa huomioon myös muita, ku-
ten esimerkiksi väsymiseen tai valmistettavuuteen liittyviä rajoitusehtoja. Li-
säksi käytännön suunnittelutehtävässä ei ole useinkaan mahdollista, että kaikki
kehän palkit voivat olla keskenään erilaisia. Tavoitteena on konstruktio, jossa
tietyt palkit ovat keskenään kooltaan aina samoja. Tämä voidaan hoitaa pakot-
tamalla yhtälörajoitusehdoilla suunnittelumuuttujien arvoja samoiksi. Toinen
12

vaihtoehto on järjestää laskenta niin, että xi tarkoittaakin palkkien ryhmän i


profiilien järjestyslukua profiilien sarjassa. Tässä esityksessä tarkastellaan kui-
tenkin tapausta, jossa kaikki kehän palkit voivat olla erilaisia.

Avaruuskehän massan minimointiongelmassa rajoitusehtoja ei ole valittu niin,


että ne olisivat jonkin normin mukaisia. Tarkoituksena on toimia yleisemmällä
tasolla, eikä rajoittua tiettyyn sovellukseen ja siihen liittyviin normeihin. To-
dellisessa suunnittelutehtävässä tulee luonnollisesti erilaiset viranomaisten
asettamat vaatimukset muotoilla rajoitusehdoiksi.

y
2 8
5 L, A, I y , Iz, I v 11
1 7
6
3 4 12 10 x
9
z

Kuva 4. Avaruuspalkkielementti, jolla on 12 vapausastetta.

Jotta rajoitusfunktioiden arvot voitaisiin laskea, tulee kehä analysoida esimer-


kiksi elementtimenetelmällä. Siirtymien, jännitysten, kuormituskertoimen ja
ominaistaajuuksien laskemisen vaatima työmäärä riippuu tällöin oleellisesti
analysointiin käytetyn laskentamallin tarkkuudesta. Jos FEM-malli huomioi
esimerkiksi suuret siirtymät ja epälineaarisen materiaalimallin, tulee siitä las-
kennallisesti raskas. Laskenta-aika kasvaa luonteeltaan iteratiivisilla optimoin-
tialgoritmeilla helposti liian suureksi. Koska myös simuloidussa jäähdytyk-
sessä, tabuhaussa ja geneettisessä algoritmissa joudutaan laskemaan kohde-
funktion ja rajoitusehtojen arvot hyvin monta kertaa, käytetään tässä työssä
kunkin palkin mallintamiseen ainoastaan yhtä yksinkertaista lineaarisen kim-
moteorian mukaista 12 vapausasteen avaruuspalkkielementtiä (kuva 4). Kaik-
kien liitosten oletetaan olevan täysin jäykkiä, ja poikkipintapainuma pääsee
vapaasti tapahtumaan väännön yhteydessä. Elementin jäykkyysmatriisi k, kon-
sistentti massamatriisi m ja geometrinen jäykkyysmatriisi kg on esitetty lopussa
liitteessä 2.
13

Mikäli halutaan huomioida useampia kuormitustapauksia, kasvaa


optimointiongelman siirtymä-, jännitys ja stabiilisuusrajoitusehtojen luku-
määrä. Näiden rajoitusten tulee toteutua kaikissa kuormitustapauksissa, jolloin
ongelmassa on omat siirtymä-, jännitys- ja stabiilisuusrajoitusehdot kutakin
kuormitustapausta kohden. Koska useampien kuormitustapausten huomioimi-
nen ei sinänsä tuo mitään uutta optimointiongelmaan, käsitellään tässä tilan-
netta, jossa niitä on vain yksi.

2.4 Optimointiongelma standardimuodossa

Standardimuodossa esitettynä avaruuskehän massan minimointiongelma on

min W (x )

g iu (x ) ≤ 0 i = 1, K , n u
g iσ (x ) ≤ 0 i = 1, K , n
g ibl (x ) ≤ 0 i = 1, K , n , (3)
g bg (x ) ≤ 0
g f (x ) ≤ 0

x ∈ { x1 , x 2 , K , x n }

missä W (x ) on kehän massa, g iu (x ) ≤ 0 ovat siirtymärajoitusehdot, g iσ (x ) ≤ 0

ovat jännitysrajoitusehdot, g ibl (x ) ≤ 0 ovat yksittäisten palkkien nurjah-

dusrajoitusehdot, g bg (x ) ≤ 0 on koko kehän nurjahdusrajoitusehto ja g f (x ) ≤ 0

on ominaistaajuusrajoitus. nu on siirtymärajoitusehtojen lukumäärä ja n = m n


on ongelman kaikkien epäkäypien tai käypien ratkaisujen lukumäärä eli suun-
nitteluavaruuden koko. Optimointiongelma (3) on tyypiltään diskreetti epäline-
aarinen optimointiongelma. Sen ratkaiseminen on usein hyvin vaativa tehtävä.

Siirtymärajoitusehdot g iu (x ) ≤ 0 rajoittavat FEM-mallin haluttujen

vapausasteiden j siirtymät u j (x ) alarajojen u min


j ja ylärajojen u max
j välille eli

u min
j ≤ u j (x ) ≤ u max
j . (4)
14

Kaksoisepäyhtälö voidaan jakaa edelleen kahdeksi standardimuodon tavalli-


seksi epäyhtälöksi ja skaalata sopivalla vakiolla u , jolloin saadaan

u min − u j (x ) u j (x ) − u max
≤ 0 ≤0 .
j j
ja (5)
u u

Skaalauksen idea on pyrkiä muuttamaan rajoitusfunktion saama arvo välille


[− 1,1 ] ja tehdä taustaltaan erilaiset rajoitukset keskenään paremmin
vertailukelpoisiksi. Usein on tarpeen rajoittaa jonkin vapausasteen j siirtymä
vain pienemmäksi tai suuremmaksi kuin jokin rajoitusarvo, jolloin ei tarvita
toista ehdoista (5).

Jännitysrajoitusehdot g iσ (x ) ≤ 0 rajoittavat VVEH:n mukaisen

vertailujännityksen alle suurimman sallitun arvon σ max kaikkialla kehässä.


Kehän palkin jonkin pisteen VVEH:n mukainen vertailujännitys riippuu suun-
x = [~
nittelumuuttujista x sekä tarkastelukohdan koordinaateista ~ x ~ z ] pal-
y ~
T

kin omassa koordinaatistossa. Vertailujännityksen arvo saadaan laskettua kaa-


valla

σ red (x, ~x ) = σ x (x, ~x )2 + 3τ (x, ~x )2 , (6)

missä σ x (x, ~
x ) on normaalivoimasta ja taivutusmomenteista johtuva normaali-
jännitys ja τ (x, ~
x ) on leikkausvoimista ja vääntömomentista johtuva leik-
kausjännitys. Kunkin palkin alkupäähän kohdistuvat kuormitukset saadaan ele-
menttimenetelmällä ja näistä voidaan edelleen statiikan avulla laskea palkin ha-
lutun poikkileikkauksen rasitukset. Normaalijännityksen laskenta tapahtuu tek-
nistä taivutusteoriaa käyttäen kaavalla

M y (x, ~
x)~ M z (x, ~x) ~ N (x, ~
x)
σ x (x, ~x ) = z + y + . (7)
I y (x) I z ( x) A(x)
15

Kuva 5. Kuvassa a) on leikkausvoimien Qy ja Qz, taivutusmomenttien My


ja Mz sekä vääntömomentin Mv positiiviset suunnat palkin alku-
päässä. Normaalivoima N on positiivinen, jos kyseessä on veto.
Positiiviset suunnat poikkeavat elementtimenetelmän positiivi-
sista suunnista. Kuvassa b) on leikkausvoiman Qy aiheuttama sei-
nämän paksuussuunnassa vakio leikkausjännitysjakauma suora-
kaiteen muotoisella ohutseinäisellä poikkileikkauksella, kun nur-
kan pyöristystä ei huomioida.

Leikkausjännitystä τ (x, ~
x ) laskettaessa oletetaan, että aina poikkileikkauksen
ulkoreunan suuntainen leikkausjännityskenttä on vakio seinämän paksuussuun-
nassa. Vääntömomentin aiheuttama poikkileikkauksessa kaikkialla vakiosuu-
ruinen leikkausjännitys lasketaan Bredtin kaavalla

M v (x, ~x)
τ v (x, ~x ) = ~ , (8)
2 A ( x) t ( x)
~
missä A(x) on seinämän keskiviivan sisään jäävä pinta-ala. Kun tähän lisätään
leikkausvoimien Q y (x, ~
x ) ja Q z (x, ~
x ) aiheuttamat leikkausjännitysjakaumat

τ Q (x, ~x ) ja τ Q (x, ~x ) (kuva 5) saadaan τ (x, ~x ) .


y z

τ (x, ~x ) = τ v (x, ~x ) + τ Q (x, ~x ) + τ Q (x, ~x )


y z
(9)
16

Jos kehän optimointiongelmassa on kuormituksena vain pistevoimia tai piste-


momentteja FEM-mallin solmuilla, esiintyy kunkin elementin suurin vertailu-
jännityksen arvo joko elementin alku- tai loppupään poikkileikkauksessa. Siten
kullakin elementillä i voidaan ottaa sen alku- ja loppupäästä sopivasti eri puo-
lilta poikkileikkausta tarvittava määrä pisteitä, joiden VVEH:n mukaisten ver-
tailujännitysten suurin arvo σ ired (x) rajoitetaan pienemmäksi kuin suurin sal-

littu arvo σ max . Jännityksen suhteen haluttu varmuusluku ajatellaan jo otetun


huomioon arvossa σ max . Tällöin siis vaaditaan, että

σ ired (x ) ≤ σ max (10)

eli standardimuodossa skaalattuna

σ ired (x )
−1 ≤ 0 . (11)
σ max

Nurjahdusrajoitusehdot g ibl (x ) ≤ 0 estävät kehän yksittäisiä palkkeja nurjahta-

masta. Palkin i nurjahdusvoima Pn i (x) saadaan laskettua Eulerin kaavalla, jos

redusoitu hoikkuusluku λ n i (x) on suurempi kuin materiaaliarvoista riippuva

rajahoikkuusluku λ nri eli nurjahdus on kimmoinen. Jos taas λ n i (x) ≤ λ nri eli

nurjahdus on kimmoton, saadaan Pn i laskettua Timoshenkon ja Geren [36]

esittämällä kaavalla. Nurjahdusvoiman Pn i (x) lausekkeeksi tulee tällöin

 π 2 Ei Ai (x)
 , λ n i (x) ≥ λ nri
 λ n i ( x)
2

Pn i (x) =  , (12)
 R A (x) 1 − 1 − γ λ (x) 2  , λ n i (x) < λ nri
 −ei i  λ2nri i
n

  

missä R−ei on puristuspuolen myötöraja ja γ puristuspuolen suhteellisuusrajan


ja myötörajan suhde eli

σ −p
γ = . (13)
R− e

Vaikka rakenneteräksillä oletetaan usein, että σ-p ja R-e ovat samat, on rulla-
muovattujen profiilien tapauksessa suurista jäännösjännityksistä johtuen kui-
17

tenkin hyvä oletus γ = 12 , [36]. Tällöin Eulerin hyperbeli yhtyy Timoshenkon

ja Geren esittämään käyrään pisteessä λ n = λ nr jatkuvasti derivoituvasti. Li-


säksi rajahoikkuusluvulle λ nri saadaan lauseke

Ei 2 Ei
λ nr = π =π . (14)
i
σ −p i
R− e i

Kehän liitosten osalta oletetaan yksinkertaisesti, että palkit on kiinnitetty täysin


jäykästi toisiinsa. Lisäksi on oletettu, että kunkin palkin mallintamiseen on
käytetty vain yhtä elementtiä. Kuva 6 esittää vielä kaavakuvamaisesti edellä
selostettua nurjahdusvoiman Pn riippuvuutta redusoidusta hoikkuusluvusta λn.

Eulerin hyperbeli

R-eA

Kuva 6. Nurjahdusvoima Pn on redusoidun hoikkuusluvun λn funktio.

Nurjahdusrajoitusehdoissa vaaditaan, että kunkin palkin i normaalivoiman vas-


taluku on pienempi kuin nurjahdusvoima jaettuna lokaalin nurjahduksen var-
muusluvulla Nbl.

Pn i (x )
− N i (x ) ≤ (15)
N bl

eli standardimuodossa

N bl N i (x )
− −1 ≤ 0 . (16)
Pn i (x )
18

Jos poikkileikkauksen pääneliömomentteja I1 ja I2 vastaavat akselit eivät voi


vaihtaa paikkaa keskenään optimoinnin kuluessa, riittää yksi nurjahdusrajoi-
tusehto kutakin palkkia kohden. Redusoitu hoikkuusluku lasketaan käyttäen
pienempää pääneliömomenttia I2 kaavalla

Ln i
λ n ( x) =
i
, (17)
I 2i ( x)
Ai (x)

missä nurjahduspituutena Ln i on puolet palkin todellisesta pituudesta Li.

Globaali nurjahdusrajoitusehto g bg (x ) ≤ 0 huolehtii siitä, että useampi palkki

tai koko kehä ei pääse yhtäaikaisesti nurjahtamaan. Tätä varten lasketaan line-
aarisen stabiilisuusteorian mukaisen kahden matriisin ominaisarvotehtävän alin
positiivinen ominaisarvo λkr yhtälöstä

K u = −λ K g u , (18)

missä K on rakenteen jäykkyysmatriisi ja Kg rakenteen geometrinen jäyk-


kyysmatriisi. Tämä ns. kriittinen kuormituskerroin λ kr = λ kr (x) on samalla
suoraan varmuus kehän nurjahtamisen suhteen. Globaalissa nurjahdusrajoi-
tusehdossa yksinkertaisesti vaaditaan, että

λ kr (x ) ≥ N bg (19)

eli standardimuodossa

λ kr (x )
1− ≤0 , (20)
N bg

missä Nbg on globaalin nurjahduksen suhteen haluttu varmuusluku.

Ominaistaajuusrajoitusehdossa g f (x ) ≤ 0 on ideana estää rakenteen

[ ]
ominaistaajuuksia fi(x) joutumasta kielletyille väleille f jmin , f jmax , joita on nf

kpl eli j = 1, 2, K , nf (kuva 7). Kehän ominaiskulmataajuudet ω i (x) saadaan

ratkaistua ominaisarvotehtävästä
19

Ku = ω2 Mu, (21)

missä K on rakenteen jäykkyysmatriisi ja M rakenteen (konsistentti) massa-


matriisi. Ominaistaajuudet fi lasketaan edelleen kaavalla

ω i ( x)
f i ( x) = . (22)

f1min f1max f 2min f 2max

f1 f2 f3 f4 f5 f6 f7 taajuus

Kuva 7. Rakenteen ominaistaajuudet fi eivät saa osua kielletyille väleille.

Ominaistaajuusrajoitusehdoissa vaaditaan tällöin kutakin kiellettyä väliä


j = 1, 2, K , nf kohden

f i (x) < f jmin ∨ f i (x) > f jmax ∀ i = 1, 2, K , ndf (23)

eli

f i (x ) f (x )
min
− 1 < 0 ∨ 1 − i max < 0 ∀ i = 1, 2,K, ndf . (24)
fj fj

Parametri ndf on FEM-mallin vapausasteiden lukumäärä, joka on samalla kehän


laskentamallin mukainen ominaistaajuuksien lukumäärä. Jos taajuus f i (x) ei

satu kielletylle välille [f j


min
]
, f jmax , saa toinen rajoitusehtofunktioista (24)

positiivisen arvon ja toinen negatiivisen. Jos taas taajuus osuu välille, ovat
molemmat arvoltaan positiivisia. Tilanne, missä molemmat rajoitusehtofunktiot
olisivat negatiivisia, ei luonnollisestikaan ole mahdollinen. Rajoitukset (24)
voidaan siten yhdistää yhdeksi rajoitusehdoksi, jossa vaaditaan kullekin
j = 1, 2, K , nf

 f (x ) 
1 − f i (x )  ≤ 0
 
f ⋅  i min − 1 ∀ i = 1, 2, K , ndf . (25)
 f   f j 
max
 j  
20

Vakion f idea on toimia skaalauskertoimena ja pyrkiä muuttamaan


ominaistaajuusrajoitusfunktion arvo välille [− 1,1 ] . Muutetaan vielä nf ndf kpl

(25):n tyyppisiä rajoitteita yhdeksi rajoitusehdoksi, jossa vaaditaan

  f (x ) 
1 − f i (x ) 
   
max  max  f ⋅  i min − 1  ≤ 0 . (26)
  f j   f j 
j =1, 2 , K, nf i =1, 2 , K, ndf max
   

Vaikka kiellettyjä taajuusvälejä olisi useampiakin kuin vain yksi, on ongel-


massa ainoastaan yksi taajuusrajoitusehto.

Globaali nurjahdusrajoitusehto ja ominaistaajuusrajoitusehto edellyttävät omi-


naisarvotehtävien ratkaisemista. Kun rakenteen mallintamisessa käytetään vain
yhtä elementtiä palkkia kohden, aiheutuu ominaisarvotehtävien ratkaisuihin
jonkin verran epätarkkuutta.

2.5 Laskennallinen vaativuus

Laskennallinen vaativuus eli kompleksisuus tarkoittaa tehtävän numeerisen rat-


kaisemisen vaatimien resurssien suhdetta tehtävän kokoon. Teoriassa on suuri
merkitys sillä, mihin ns. kompleksisuusluokkaan jokin optimointiongelma
kuuluu. Optimointiongelmalla tarkoitetaan tässä yhteydessä vaikkapa lineaari-
sen optimoinnin, LP, tehtävää min c T x , Ax = b , tai esimerkiksi edellä formu-
loitua avaruuskehän massan minimointiongelmaa. Instanssi puolestaan tar-
koittaa joitakin konkreettisia lukuarvoja optimointiongelmalle eli LP-ongel-
~
massa vektoreita b ja c sekä matriisia A. Instanssin koko N on esimerkiksi
suunnittelumuuttujien tai rajoitusehtojen lukumäärä.

Tiettyyn optimointiongelmaan on usein tarjolla monia erilaisia algoritmeja. Al-


goritmin tehokkuutta voidaan kuvata sen aikavaativuudella ja tilavaativuudella.
Tarkemmin voidaan vielä erottaa aikavaativuus pahimmassa tapauksessa ja
keskimäärin sekä tilavaativuus pahimmassa tapauksessa ja keskimäärin. Aika-
vaativuus on yleensä tilavaativuutta enemmän kiinnostava seikka. Se on jokin
~
instanssin koosta N riippuva funktio. Eri algoritmien aikavaativuuksia vertail-
taessa ollaan kiinnostuneita vain asymptoottisesta käyttäytymisestä, jolloin tar-
vittavan laskentatyön kannalta on suuri merkitys, onko kyseessä polynomi vai
21

eksponenttifunktio. Esimerkiksi jos jokin ongelma voidaan ratkaista aikavaati-


~
vuudeltaan muotoa N 2 olevalla algoritmilla A ja aikavaativuudeltaan muotoa
~
2 N olevalla algoritmilla B, niin tietokoneen laskentatehon kasvattaminen
tuhatkertaiseksi nostaa tietyssä ajassa ratkaistavan instanssin koon algoritmilla
A 32-kertaiseksi, mutta algoritmilla B uusi instanssin koko saa olla ainoastaan
~
N + 10 .

Optimointiongelman aikavaativuus tarkoittaa sen ratkaisevan parhaan algorit-


min aikavaativuutta. Lineaarisen optimoinnin SIMPLEX-algoritmi on pahim-
massa tapauksessa aikavaativuudeltaan eksponentiaalinen, mutta ellipsoidial-
goritmi on polynomiaikainen. Siten LP on ongelmana polynomiaikainen. Saa-
tujen kokemusten perusteella SIMPLEX toimii yleensä kuitenkin paremmin
kuin ellipsoidialgoritmi, joten sen keskimääräinen aikavaativuus on melko al-
hainen.

NP
P

NP-vaikeat NP-täydelliset

Kuva 8. Aikakompleksisuusluokat P ja NP sekä NP-täydelliset ongelmat ja


NP-vaikeat ongelmat.

Ongelmat (tarkemmin niiden ns. päätösversiot) voidaan jakaa eri luokkiin.


Luokka P koostuu ongelmista, joille löytyy polynomiaikainen deterministinen
algoritmi. Luokka NP koostuu puolestaan ongelmista, joille löytyy polynomi-
aikainen epädeterministinen ratkaisualgoritmi. Tällöin arvattu ratkaisu voidaan
tarkistaa polynomiajassa. Tiedetään, että P ⊆ NP , mutta ponnisteluista huoli-
matta ei olla onnistuttu selvittämään, onko varmasti P ≠ NP . NP-täydelliset
ongelmat ovat NP:ssä olevia ongelmia, joiksi jokainen muukin NP:n ongelma
voidaan redusoida polynomiajassa. NP-vaikeita (NP-kovia) ovat sellaiset on-
gelmat, joiksi jokainen muukin NP:n ongelma voidaan redusoida po-
lynomiajassa, mutta jotka eivät itse välttämättä kuulu luokkaan NP. Jos on
voimassa P ≠ NP , kuten nykytietämyksen valossa vahvasti näyttää olevan,
22

niin yhdellekään NP-täydelliselle ongelmalle ei ole olemassa determinististä


polynomiaikaista ratkaisualgoritmia. Eräs tapa jaotella ongelmia on jakaa ne
selviäviin ja selviämättömiin. Selviäviä eli käytännössä ratkaistavia ovat luo-
kan P ongelmat ja selviämättömiä eli liiaksi aikaa vieviä ovat kaikki muut kuin
luokan P ongelmat.

Diskreettiä kantavien rakenteiden optimointia käsittelevien artikkeleiden yh-


teydessä ei oteta juuri koskaan kantaa kulloisenkin optimointiongelman lasken-
nalliseen vaativuuteen. Yleensä vain todetaan, että diskreetti ongelma on paljon
vaativampi ratkaista kuin vastaava jatkuvamuuttujainen tehtävä, vaaditun las-
kentatyön määrä kasvaa eksponentiaalisesti tehtävän koon kasvaessa tai jotakin
muuta vastaavaa. Ilmeisesti kokemuksen ja esimerkkien perusteella tiedoste-
taan hyvin tehtävän koon kasvamiseen liittyvät vaikeudet, mutta tarkemmin
asiaan ei puututa. Poikkeuksen muodostaa kuitenkin artikkeli [40]. Siinä on
näytetty, että isostaattisen tasoristikon massan minimointiongelma yhdellä
siirtymärajoitusehdolla ja diskreeteillä poikkipinta-aloilla on NP-vaikea on-
gelma. Jännitysrajoitusehtojen lisääminen ei muuta tulosta.

Artikkeli [40] ei todista, että myös avaruuskehän massan minimointiongelma


olisi NP-vaikea. Se antaa kuitenkin syyn olettaa, että näin voi hyvinkin olla.
Jos avaruuskehän massan minimointiongelma on NP-vaikea tai NP-täydellinen,
ei ole olemassa algoritmia, joka ratkaisisi ongelman mielivaltaisen instanssin
järkevässä ajassa (polynomiaikaisesti). Tällaisissa tehtävissä täytyy tyytyä
käyttämään esimerkiksi simuloidun jäähdytyksen, tabuhaun ja geneettisen al-
goritmin kaltaisia heuristisia menetelmiä.

Vaikka jokin ongelma olisikin todistettu NP-vaikeaksi tai NP-täydelliseksi, ei


tämä vielä kuitenkaan tarkoita, että mitään ei ole tehtävissä. Saattaa nimittäin
olla niin, että ongelmaan löytyy algoritmi, joka ratkaisee suuren osan kysee-
seen tulevista instansseista kohtuullisessa ajassa. Lisäksi käytännön optimoin-
titehtävässä ei useinkaan tarvita globaalia optimia, vaan lähellä sitä olevat rat-
kaisut riittävät.
23

3 HEURISTISET OPTIMOINTIMENETELMÄT

Heuristinen tarkoittaa päättelyä, joka ei täytä ankaria loogisia vaatimuksia,


mutta johtaa usein oikeaan tulokseen. On siis tavallaan kyse älykkäiden
arvausten menetelmästä. Optimoinnissa tämä tarkoittaa determinististä tai sto-
kastista algoritmia, joka yleensä tuottaa hyvän tuloksen, muttei kuitenkaan
välttämättä ongelman optimiratkaisua. Heuristisia optimointimenetelmiä on
lukuisia erilaisia, ja lisäksi on olemassa eri menetelmien yhdistelmiä. Niistä
laajimmalle käyttöön levinneissä matkitaan usein jotakin luonnosta otettua il-
miötä. Heuristisen optimointimenetelmän idean takana voi olla myös jokin rat-
kaistavan ongelman erityispiirteeseen perustuva ajatus.

3.1 Yleisiä etuja

Heuristisilla menetelmillä on paljon ominaisuuksia, jotka tekevät niistä hou-


kuttelevia algoritmeja juuri avaruuskehän massan minimointiongelman kaltai-
sissa tehtävissä. Näistä ehkä tärkeimpänä voidaan mainita algoritmien perus-
ideoiden yksinkertaisuus. Usein heuristisilla menetelmillä voidaan ratkaista,
ainakin likimääräisesti, erittäin vaikeita kombinatorisia optimointiongelmia.
Esimerkiksi tässä työssä käsitellyt simuloitu jäähdytys, tabuhaku ja geneettinen
algoritmi ovat sovellettavissa hyvin monen erilaisen optimointitehtävän ratkai-
semiseen varsin pienellä työmäärällä. Kynnys siirtyä käyttämään näitä mene-
telmiä on melko matala, koska soveltaminen ei vaadi kovinkaan pitkälle mene-
vää matematiikan tai tietotekniikan osaamista.

Toisena arvokkaana piirteenä voidaan mainita se, että heuristisilla menetelmillä


riittää, että pystytään laskemaan kohdefunktion ja rajoitusehtojen arvot halu-
tussa suunnitteluavaruuden pisteessä. Optimointiongelma voi olla epäkonveksi
ja sen sisältämät funktiot hyvin epälineaarisia, epäjatkuvia tai derivoitumatto-
mia. Lisäksi suunnittelumuuttujien diskreettien arvojen ei tarvitse jakautua ta-
saisesti jollekin välille, vaan ne voivat sijaita miten tahansa. Optimointiongel-
man ei tarvitse olla myöskään relaksoitavissa suunnittelumuuttujiltaan jatku-
vaksi. Nämä seikat mahdollistavat jonkin kaupallisen FEM-ohjelman käyttämi-
sen ns. mustana laatikkona. Ohjelma saa syötteenä kulloisestakin iteraatiopis-
24

teestä riippuvat lähtötiedot ja tulostaa niiden perusteella laskemansa arvot,


joista voidaan edelleen laskea kohdefunktion ja rajoitusehtojen arvot. Tällöin ei
tarvitse tarkemmin tietää, miten laskenta todellisuudessa tapahtuu.

Kolmas heurististen optimointimenetelmien tärkeä etu on se, että ne eivät ju-


miudu ensimmäiseen vastaantulevaan lokaalin optimiin. Diskreetin optimoin-
tiongelman lokaali minimi tai maksimi on määritelty myöhemmin sivulla 27.
Simuloitua jäähdytystä, tabuhakua ja geneettistä algoritmia käytettäessä on
mahdollista paeta lokaalista optimista ja yrittää löytää tehtävän globaali optimi.

Taulukko 2. Heurististen optimointimenetelmien, kuten simuloitu jäähdy-


tys, tabuhaku ja geneettinen algoritmi, tyypillisiä etuja ja
puutteita.

Edut: Puutteet:
- Yksinkertaisia. - Tarvitaan paljon analyyseja.
- Joustavia. - Lopputuloksen laatu jää avoi-
meksi.
- Sopivat vaikeille ongelmille.
- Paljon eri versioita ja paramet-
- Ei tarvita herkkyysanalyysia.
reja.
- Ei ajauduta lähimpään lokaaliin
- Herkkyysinformaatio puuttuu.
optimiin.
- Rajoitusehtojen huomioiminen.
- Rinnakkaistettavissa.
- Stokastisilla algoritmeilla tarvi-
- Parantavat nopeasti alkuarvausta.
taan useampia optimointiker-
toja.
- Vaikeudeltaan erilaiset tehtävät
yhtä työläitä.

Optimointitehtävien koon kasvaessa rinnakkaislaskenta tarjoaa luontevan tavan


nopeuttaa niiden ratkaisemista. Tarkastelluista heuristisista menetelmistä tabu-
haku ja geneettinen algoritmi ovat luonnostaan helposti rinnakkaistettavissa
samanaikaisesti useammalla tietokoneelle. Lähteessä [30] on käsitelty mahdol-
lisuuksia rinnakkaistaa simuloitu jäähdytys. Laskennan hajauttaminen useam-
malla tietokoneelle lyhentää tehokkaasti laskenta-aikaa kustannusten kasva-
matta kuitenkaan kohtuuttomasti.
25

Heurististen menetelmien etuna voidaan vielä mainita tyypillisesti varsin nopea


kohdefunktion arvon kehitys optimoinnin alussa. Tällöin menetelmiä voidaan
käyttää alkuarvausta paremman tuloksen nopeaan hakemiseen. Myöhemmin,
jos tarvetta esiintyy, optimointia voidaan jatkaa pidemmälle siitä, mihin alusta-
vissa laskuissa jäätiin.

3.2 Yleisiä puutteita

Vaikka heuristisilla menetelmillä on paljon hyviä puolia, on niillä myös selviä


heikkouksia. Näistä rajoittavimmaksi muodostuu varsinkin kantavien rakentei-
den optimoinnissa kohdefunktion ja rajoitusehtojen arvojen laskeminen monta
kertaa. Optimoinnin aikana täytyy kohdefunktio ja rajoitusehdot laskea tyypil-
lisesti tuhansissa eri suunnitteluavaruuden pisteissä, mikä tarkoittaa yhtä mon-
taa FEM-analyysia. Tällöin on selvää, ettei yhteen laskentakertaan voi kulua
kovin paljon aikaa, tai muuten optimointi kestää aivan liian kauan.

Heuristisia menetelmiä käytettäessä ei yleensä ole olemassa keinoa todeta,


onko jokin optimoinnin kuluessa löydetty piste jo globaali optimi vai ei. Las-
kentaa täytyy jatkaa niin kauan, että voidaan olla tyytyväisiä löydettyyn ratkai-
suun ja uskotaan, ettei kannata enää tuhlata resursseja mahdollisen vielä pa-
remman ratkaisun löytämiseksi. Tavallisesti ei ole myöskään olemassa keinoa
arvioida, kuinka kaukana heuristisen algoritmin löytämä paras ratkaisu mah-
dollisesti on globaalista optimista.

Yleensä kustakin heuristisesta optimointimenetelmästä on olemassa lukuisia eri


variaatioita. Lisäksi nämä variaatiot sisältävät useampia parametreja, joille pi-
täisi valita jotkin arvot. Laskijan voi olla vaikeata päättää ilman lukuisia ko-
keiluita, millaista versiota ja minkälaisia parametrien arvoja tulisi käyttää kul-
loisessakin optimointitehtävässä. Yksittäisessä tehtävässä hyvin toimivaksi vi-
ritetty algoritmi ei ole välttämättä hyvä hieman muutetussa ongelmassa.

Muina heuristisille optimointimenetelmille tyypillisinä puutteina voidaan vielä


mainita lopullista ratkaisua vaille oleva kysymys rajoitusehtojen parhaasta kä-
sittelytavasta, satunnaisuuden simuloidun jäähdytyksen ja geneettisen algorit-
min kaltaisten stokastisten algoritmien tuloksiin tuoma epävarmuus ja heuris-
tisten menetelmien tehottomuus helpoissa tehtävissä.
26

3.3 Lokaalit hakualgoritmit

Tarkastellaan seuraavassa yleisessä muodossa olevaa diskreettiä minimointion-


gelmaa

min f (x ) , x∈Ω ⊂ X , (27)

missä Ω on käypä joukko ja X suunnitteluavaruus.

Lokaalien hakualgoritmien idea on alkuarvauksesta x0 lähtien etsiä kulloisessa-


kin iteraatiopisteessä xk sen ns. lähistöstä N (x k ) sellaisia uusia ratkaisuja y,

jotka parantavat evaluointifunktion E = E (x ) arvoa. Evaluointifunktioksi voi-


~ ~

daan valita suoraan ongelman kohdefunktio tai jokin muu esimerkiksi myös
rajoitusehdot huomioiva funktio. Lähistöön N (x k ) kuuluvat kaikki ne ratkaisut,
jotka ovat jossakin mielessä lähellä pistettä xk.

Kuva 9. a) Piste x, lähistö N (x ) , käypä joukko Ω ja ratkaisuavaruus X. b)

Lokaalin hakualgoritmin iteraatiot alkuarvauksesta x0 optimiin x*

Yksinkertaisimmillaan ongelman kohdefunktio toimii suoraan evaluointifunk-


tiona, ja seuraavaksi iteraatiopisteeksi valitaan aina se käypä lähistön piste,
joka parantaa kohdefunktiota eniten. Mikäli lähistöstä ei löydy enää nykyistä
ratkaisua parempaa pistettä, lopetetaan laskeminen ja palautetaan viimeisin ite-
raatiopiste ongelman ratkaisuna. Algoritmi on tavallaan diskreetti versio jat-
kuvamuuttujaisten tehtävien puolelta tutusta jyrkimmän vieton menetelmästä.
27

Lokaalin hakualgoritmin perusmuodon suurin heikkous on sen juuttuminen en-


simmäiseen vastaan tulevaan lokaaliin optimiin. Tässä yhteydessä lokaalilla
minimillä tarkoitetaan sellaista pistettä x* ∈ Ω , että f (x *) ≤ f (x )

∀ x ∈ Ω ∩ N (x *) , ja lokaalilla maksimilla pistettä x* ∈ Ω , jossa f (x *) ≥ f (x )

∀ x ∈ Ω ∩ N (x *) . Jos ongelmalla on useita lokaaleja optimeita, riippuu lähis-


tön määrittelystä ja alkuarvauksesta, mihin näistä päädytään. Usein kuitenkin
ensimmäisessä lokaalissa optimissa kohdefunktion arvo jää heikoksi.

syvänne
f ( x)

x* x' x

Kuva 10. Lokaaliin optimiin x' johtava syvänne yhden suunnittelumuuttu-


jan minimointiongelmassa. x* on ongelman globaali optimi.

Lokaalin haun ajauduttua johonkin pisteeseen on mahdotonta sanoa ilman yli-


määräistä informaatiota, onko löydetty piste pelkkä lokaali optimi vai mahdol-
lisesti myös tehtävän globaali optimi. Globaalissa minimipisteessä x* ∈ Ω on
voimassa f (x *) ≤ f (x ) ∀ x ∈ Ω , ja globaalissa maksimipisteessä x* ∈ Ω on
voimassa f (x *) ≥ f (x ) ∀ x ∈ Ω . Ei ole myöskään mahdollista päätellä,
kuinka hyvä löydetty lokaali optimipiste on verrattuna globaaliin optimiin tai
muihin lokaaleihin optimeihin. Ongelma voidaan yrittää kiertää ratkaisemalla
sama tehtävä peräkkäin usealla eri alkuarvauksella. Tällöin toivotaan, että eri
kerroilla päädytään eri lokaaleihin optimeihin, ja että joku näistä vastaisi myös
globaalia optimia.

Lokaalin hakualgoritmin perusmuodon ja kehittyneempien versioiden tärkein


ero on tapa, jolla yritetään välttää juuttuminen lokaaliin optimiin. Hyvin monet
optimointialgoritmit voidaan tulkita lokaaleiksi hakualgoritmeiksi, mutta tässä
työssä keskitytään kuitenkin vain kahteen "puhdastyyliseen" lokaaliin haku-
28

algoritmiin, nimittäin simuloituun jäähdytykseen ja tabuhakuun. Molemmissa


menetelmissä on mahdollista valita seuraavaksi iteraatiopisteeksi myös kohde-
funktiota heikentävä ratkaisu ja siten ”kiivetä” kuvan 10 syvänteen reunan yli
kohti parempaa ratkaisua.

3.3.1 Lähistö

Lokaalin hakualgoritmin toiminnan kannalta on tärkeätä määritellä lähistö jär-


kevästi. Tapa, jolla lähistö muodostetaan, vaikuttaa voimakkaasti lokaalin ha-
kualgoritmin tehokkuuteen. Lähistö on luonnollisesti eri tehtävissä erilainen.

Optimointiongelmassa (27) ratkaisua x lähellä oleva ratkaisu y saadaan teke-


mällä siirto m ratkaisuun x eli y = x ⊕ m . Pisteen x lähistö N (x ) koostuu kai-
kista niistä pisteistä, jotka on saatu x:stä tekemällä siihen yksi siirto eli

N (x ) = { y ∈ X y = x ⊕ m , m ∈ M }, (28)

missä M on kaikkien siirtojen joukko. Siirto m on käypä, jos y = x ⊕ m on


käypä. Lähistön koko on puolestaan sen kaikkien alkioiden eli siirtojen m
lukumäärä.

Lähistö N (x ) on kytketty, jos kaikille pareille x1 , x 2 ∈ Ω on olemassa jono


x1 = s1 , s 2 , K , s j = x 2 siten, että s i ∈ N (s i −1 ) , i = 2, 3,K, j . Tällöin siis kaikki

käyvän joukon alkiot ovat periaatteessa saavutettavissa lokaalilla hakualgorit-


milla kaikista muista alkioista. Lähistö N (x ) on heikosti kytketty, jos on ole-

massa kaikilla x ∈ Ω jono x = s1 , s 2 , K, s j = x * siten, että s i ∈ N (s i −1 ) ,

i = 2, 3,K, j ja x* on optimointiongelman globaali optimi. Tällöin tehtävän


globaali optimi voidaan periaatteessa saavuttaa kaikista käyvän joukon alki-
oista. Jos lähistö on kytkemätön, käy puolestaan niin, että joistakin alkuarvauk-
sista lähtien ei ole mahdollista löytää optimia.

Optimointiongelman mielivaltaista ratkaisua lähellä olevien muiden ratkaisui-


den määritteleminen ei ole aina helppoa. Samalle ongelmalle voi löytyä useita
käyttökelpoisia tapoja muodostaa lähistö. Hyvän lähistön määrittelemiseksi ei
voida antaa yleisiä toimintaohjeita, joita seuraamalla se saataisiin muodostet-
29

tua. On kuitenkin mahdollista listata ominaisuuksia, jollainen lähistön periaat-


teessa tulisi olla. Hyvä lähistö on:

• Kytketty eli käyvässä joukossa Ω ei ole alueita, joita algoritmi ei saa-


vuta.

• Kooltaan sopiva.

• Ongelman ominaispiirteet huomioiva.

• Yksinkertainen muodostaa.

Avaruuskehän massan minimointiongelmassa mahdollisten profiilien määrä ja


kokojakauma voi olla eri tilanteissa erilainen. Profiileita voi olla paljon ja nii-
den jakauma tasainen. Toisaalta lukumäärä voi olla pieni ja jakauma epätasai-
nen, vaikkapa useita pieniä kokoja ja vain muutama iso. Käytetyn lähistön
täytyy olla sellainen, että se toimii kohtuullisesti kaikissa tapauksissa.

Lähistön koon on oltava pienehkö, koska kohdefunktion ja rajoitusehtojen ar-


vojen laskemiseksi jossakin uudessa suunnitteluavaruuden pisteessä rakenne
täytyy analysoida elementtimenetelmällä. FEM-analyysit ovat työläitä ja ku-
luttavat keskikokoisella laskentamallilla enemmän aikaa kuin mitä menee itse
lokaalin hakualgoritmin toimintojen suorittamiseen. Siten FEM-analyysien
määrä ei saa olla yhdellä iteraatiokierroksella kovin suuri, jotta iteraatiokier-
roksia tulisi riittävästi.

Peräkkäisillä iteraatiokierroksilla lähistöt sisältävät monasti samoja pisteitä.


FEM-analyysien määrän vähentämiseksi voidaan kohdefunktion ja rajoituseh-
tojen arvot tallettaa niiden laskemisen jälkeen muistiin. Seuraavalla kerralla,
kun sama piste kuuluu taas lähistöön ja kysytään kohdefunktion ja rajoitusten
arvoja ko. pisteessä, voidaan funktioiden arvot hakea suoraan muistista. Kaik-
kia laskettuja FEM-ratkaisuja ei aina kannata pitää muistissa, sillä sen tarkis-
taminen, tiedetäänkö jokin tietty ratkaisu jo vai ei, saattaa kestää liian kauan.

Pienin mahdollinen muutos johonkin avaruuskehään on yhden palkin muutta-


minen profiilien sarjassa askelta kevyemmäksi tai järeämmäksi muiden pysy-
essä kooltaan samoina. Jotta lähistöstä tulisi kytketty, täytyy sen pisteiden olla
sellaisia, että kaikkia palkkeja kasvatetaan vuorollaan suuremmaksi ja pienem-
30

mäksi. Lähistön koko pysyy vielä kohtuullisena, jos kerrallaan muutetaan ku-
takin palkkia k askelta suuremmaksi ja pienemmäksi muiden pysyessä kooltaan
samoina. Jos palkkien määrä kehässä on n, tulee lähistön kooksi tällöin 2kn.
Tällaista lähistöä käytettäessä voi kehässä muuttua kullakin iteraatiokierrok-
sella ainoastaan yksi palkki kerrallaan. Iteraatiokierroksia tarvitaan siten melko
paljon.

n=3 8 9 11  12 


20 20 20 20
k=2        
30  30  30  30 

10  10  10  10  10 


18 
x = 20  
19 
 
 21
 
22
  N (x )
30  30 30 30 30 

10  10  10  10 


20 20 20 20
       
 28 29  31 32 

Kuva 11. Ratkaisu x ja lähistö N (x ) , kun palkkien määrä on kolme ja


koon muutos on kaksi askelta.

Periaatteessa edellistä täydellisempi lähistö saadaan, jos sallitaan muutokset


useamman palkin kohdalla saman iteraatiokierroksen aikana. Tämä kasvattaa
kuitenkin lähistön kokoa hyvin nopeasti. Jos esimerkiksi otetaan huomioon
kaikki vaihtoehdot palkkien muuttuessa toisistaan riippumatta yhtä suurem-
maksi tai pienemmäksi, tulee lähistön kooksi 3n-1. Jos joudutaan tutkimaan
kaikki lähistön pisteet kullakin iteraatiokierroksella, kymmenen palkin kehällä
lähistön koko on jo aivan liian iso (59048).

3.3.2 Simuloitu jäähdytys

Simuloitu jäähdytys tai tarkemmin simuloitu mellotus (annealing) on stokasti-


nen optimointialgoritmi, jonka idea on saatu tilastollisesta fysiikasta. Se pyrkii
matkimaan sulan metallin hidasta jäähdyttämistä. Metallin sulaessa pääsevät
sen hiukkaset järjestäytymään vapaasti. Kun sitten sulaa metallia jäähdytetään
riittävän hitaasti, päätyy kiderakenne minimienergiatilaan (globaali optimi). Jos
31

taas jäähdytys on liian nopeata, on seurauksena korkeampi energiatila ja hau-


raampi materiaali (lokaali optimi).

Simuloidun jäähdytyksen toiminta on lyhyesti seuraava: Kulloisessakin iteraa-


tiopisteessä xk valitaan sen lähistöstä N (x k ) satunnaisesti uusi piste y. Yleensä

kaikilla lähistön N (x k ) pisteillä on yhtä suuri todennäköisyys tulla valituksi,


mutta näin ei välttämättä tarvitse olla, vaan jotkut pisteet voidaan valita suu-
remmalla todennäköisyydellä kuin toiset. Jos y on käypä ja parantaa kohde-
funktion f arvoa, valitaan se aina automaattisesti uudeksi iteraatiopisteeksi. Jos
taas y on käypä, mutta ei paranna kohdefunktion f arvoa, voidaan se kuitenkin
valita uudeksi iteraatiopisteeksi todennäköisyydellä

d

P (T , d ) = e T
, (29)

missä d on kohdefunktion arvojen erotus d = f (y ) − f (x k ) ja T on ns.


lämpötilaksi kutsuttu parametri. Tällöin kohdefunktion arvoa huonontavien
pisteiden tapauksessa nykyistä ratkaisua hieman heikommilla ratkaisuilla on
suurempi todennäköisyys tulla hyväksytyiksi kuin paljon huonommilla. Mikäli
arvottu lähistön piste y on epäkäypä, se voidaan hylätä välittömästi. Toinen
vaihtoehto on sakottaa kohdefunktiota rajoitusten rikkomiseen suuruuteen näh-
den, jolloin seuraavaksi iteraatiopisteeksi voi tulla epäkäypä piste. Lämpötilaa
T pienennetään sopivasti optimoinnin kuluessa, jolloin prosessin edetessä pi-
demmälle todennäköisyys valita kohdefunktion arvoa huonontavia pisteitä lä-
henee nollaa, ja algoritmi valitsee vain kohdefunktion arvoa parantavia lähistön
pisteitä. Koska varsinkin alussa valitaan kohdefunktiota huonontavia iteraa-
tiopisteitä, täytyy optimoinnin kuluessa pitää kirjaa kulloinkin parhaasta tie-
detystä ratkaisusta.

Optimoinnin alussa lämpötila T asetetaan niin suureksi, että kaikkien kohde-


funktiota huonontavien ratkaisujen todennäköisyys tulla valituksi on melkein
yksi. Tämän ideana on välttää jumiutuminen ensimmäiseen vastaantulevaan lo-
kaaliin optimiin. Sopiva alkuarvo Talku voidaan yrittää laskea siten, että ensin
selvitetään keskimääräinen kahden naapuripisteen antama kohdefunktioiden ar-
vojen erotus d valitsemalla satunnaisesti tietty määrä pistepareja, joissa kum-
32

pikin piste kuuluu toisen lähistöön. Sen jälkeen ratkaistaan alkulämpötila Talku
yhtälöstä (29) sijoittamalla todennäköisyydeksi P lähellä yhtä oleva arvo (esi-
merkiksi 0,99) ja kohdefunktioiden arvojen erotukseksi d.

Taulukko 3. Simuloidun jäähdytyksen perusmuoto.

Aseta alkuarvaus nykyiseksi iteraatiopisteeksi ja parhaaksi tiedetyksi


0.
ratkaisuksi sekä alkulämpötila lämpötilaksi.
Jos lämpötila on saavuttanut loppulämpötilan, palauta paras tiedetty
1.
ratkaisu vastauksena ja lopeta.
2. Arvo käypä nykyisen ratkaisun lähistön piste.
Jos kohdefunktion arvo parani arvotussa pisteessä, sijoita se uudeksi
3.
iteraatiopisteeksi.
Jos kohdefunktion arvo huononi, laske P(T,d) kaavalla (29) ja arvo
4. satunnaisluku p ∈ [ 0 ,1 ] . Jos p ≤ P(T , d ) , sijoita arvottu lähistön piste
uudeksi iteraatiopisteeksi.
Jos paras tiedetty kohdefunktion arvo parani, päivitä parhaaksi tiede-
5.
tyksi ratkaisuksi nykyinen iteraatiopiste.
6. Laske lämpötilaa ja palaa kohtaan 1.

a) b)

Kohdefunktion arvo T
f Paras tiedetty arvo
Talku

Tloppu
Iteraatiot Iteraatiot

Kuva 12. Simuloidussa jäähdytyksessä tyypillinen a) kohdefunktion kehi-


tys ja b) lämpötilan kehitys.
33

Simuloidun jäähdytyksen toiminnan kannalta sopiva lämpötilan lasku on tär-


keätä. Kirjallisuudesta löytyykin lukuisia erilaisia tapoja hoitaa asia. Tavallisin
keino laskea lämpötilaa T on kertoa sitä vakiokertoimella α, jonka arvo vaih-
telee välillä 0,80 … 0,99. Jos käytetään nopeata jäähdytystä eli pientä kerrointa
α, on laskenta-aika lyhyt, mutta optimointi päätyy todennäköisesti heikkoon
lokaaliin optimiin. Sopivaa jäähdytysnopeutta valittaessa joudutaan siten teke-
mään kompromissi laskenta-ajan ja ratkaisun laadun välillä. Monasti lämpöti-
lan lasku tapahtuu vasta sitten, kun samassa lämpötilassa on satunnaisesti ha-
ettu K kpl lähistön pisteitä. Lukumäärää K voidaan haluttaessa hitaasti kasvat-
taa optimoinnin kuluessa.

Simuloidun jäähdytyksen lopetuskriteeriksi valitaan yleensä joku lämpötila


Tloppu, jonka saavuttamisen jälkeen optimointi lopetetaan. Lopetuslämpötilan
tulisi olla niin matala, että todennäköisyys valita kohdefunktiota huonontavia
lähistön pisteitä on hyvin pieni. Tällöin sopiva lopetuslämpötila voidaan mää-
rittää samaan tyyliin kuin edellä alkulämpötila asettamalla todennäköisyydeksi
P esimerkiksi arvo 0,01.

3.3.3 Tabuhaku

Tabuhaun ideana on lokaalin hakualgoritmin perusmuodon tyyliin siirtyä kul-


loisestakin ratkaisusta xk aina sen lähistössä N (x k ) olevaan seuraavaan käy-
pään ratkaisuun xk+1 siten, että ongelman kohdefunktio f paranee mahdolli-
simman paljon. Aivan kaikki käyvät lähistön pisteet eivät ole kuitenkaan sal-
littuja, sillä tietty määrä nykyistä ratkaisua edeltäviä ratkaisuja on julistettu ta-
buiksi, jolloin ne eivät tule kyseeseen. Kielletyt ratkaisut sijoitetaan ns. tabu-
listaan, missä yleensä aina uusin tulokas pudottaa viimeisimmän pois. Rajoi-
tusehdot otetaan huomioon kuten simuloidussa jäähdytyksessä eli epäkäyvät
ratkaisut hylätään tai kohdefunktiota sakotetaan suhteessa epäkäypyyden suu-
ruuteen.

Aluksi tabuhaku toimii jyrkimmän vieton menetelmän mukaisesti hakeutuen


lokaaliin optimiin, missä ei ole enää tarjolla kohdefunktiota parantavia lähistön
ratkaisuja. Kun kohdefunktiota ei voida parantaa, valitaan seuraavaksi iteraa-
tiopisteeksi sitä vähiten huonontava ratkaisu. Tämän jälkeen, jos tabuhaussa ei
34

olisi kielletty palaamasta edellisiin ratkaisuihin, siirryttäisiin seuraavalla kier-


roksella takaisin jo löydettyyn lokaaliin optimiin. Näin ollen tabulista estää me-
netelmää joutumasta päättymättömään silmukkaan ja mahdollistaa poistumisen
lokaalista optimista.

Tabulistaa voidaan pitää tabuhaun eräänlaisena muistina. Seuraavaa iteraa-


tiopistettä ei valita lähistöstä pelkästään nykyisen ratkaisun perusteella, vaan
valintaan vaikuttaa myös se, miten nykyiseen pisteeseen on tultu. Joissakin so-
velluksissa kaikkia edellisiä ratkaisuja ei voida aina julistaa tabuiksi, koska lä-
histön uuden ratkaisuehdokkaan vertaaminen jokaiseen tabulistaan talletettuun
ratkaisuun voi käydä liian työlääksi. Jos tabulistaan ei talleteta kaikkia iteraa-
tiopisteitä, ei päättymättömään silmukkaan joutuminenkaan ole täysin estetty.

Tabuhaku voidaan lopettaa, kun ennalta sovittu iteraatiokierrosten määrä täyt-


tyy. Koska hakuprosessin kuluessa kohdefunktion arvo välillä aina huononee,
täytyy pitää kirjaa kulloinkin parhaasta tiedetystä ratkaisusta. Laskennan lo-
puttua tämä palautetaan ongelman likimääräisenä optimiratkaisuna.

f
Kohdefunktion arvo
Paras tiedetty arvo

Iteraatiot

Kuva 13. Tyypillinen kohdefunktion arvon kehittyminen tabuhaulla.

Tabulistaan ei aina kannata sijoittaa suoraan varsinaisia ratkaisuja, vaan ratkai-


sujen joitakin tiettyjä ominaisuuksia. Tällöin ei siis kielletä kerrallaan aina yhtä
konkreettista ratkaisua, vaan samalla kaikki ne ratkaisut, joilla on tietyt samat
ominaisuudet. Ideana menetelmässä on suunnata tabuhaku sellaisille suunnitte-
35

luavaruuden alueille, missä ei olla aikaisemmin käyty, mutta mistä saattaisi


kenties löytyä entistä parempia ratkaisuja. Käytäntö voi kuitenkin johtaa siihen,
että jollakin iteraatiokierroksella hylätään tabuna sellainen käypä lähistön rat-
kaisu, joka parantaisi parasta tiedettyä kohdefunktion arvoa, vaikka tässä pis-
teessä ei ole koskaan käyty. Tämän estämiseksi voidaan tarkistaa tabun ratkai-
sun tapauksessa kohdefunktion arvo. Jos kohdefunktion arvo on riittävän hyvä,
esimerkiksi yksinkertaisimmillaan parempi kuin paras tiedetty arvo, hyväksy-
tään piste seuraavaksi iteraatiopisteeksi. Avaruuskehän massan minimointion-
gelmassa kohdefunktion arvon laskeminen ei edellytä FEM-analyysia, joten
tarkistus on laskennallisesti kevyt tehdä.

Tabulistan pituus pidetään monasti vakiona eli lista on tyypiltään staattinen.


Dynaamisen tabulistan tapauksessa listan pituus puolestaan muuttuu hakupro-
sessin kuluessa saadun informaation perusteella. Eräs tapa toteuttaa dynaami-
nen tabulista on sellainen, missä lista tyhjennetään parhaan tiedetyn ratkaisun
parantuessa, listaa lyhennetään yhdellä (tiettyyn rajaan saakka) kohdefunktion
arvon parantuessa ja listaa pidennetään yhdellä (tiettyyn rajaan saakka) kohde-
funktion huonontuessa.

Taulukko 4. Tabuhaun perusmuoto.

Aseta kierroslaskuri ykköseksi, tabulista tyhjäksi sekä nykyiseksi ite-


0.
raatiopisteeksi ja parhaaksi tiedetyksi ratkaisuksi alkuarvaus.
Jos kierroslaskurin arvo ylittää maksimiarvon, palauta paras tiedetty
1.
ratkaisu vastauksena ja lopeta.
Valitse seuraavaksi iteraatiopisteeksi kohdefunktiota eniten paran-
2.
tava tai vähiten huonontava lähistön käypä ratkaisu, joka ei ole tabu.
Lisää edellinen iteraatiopiste tabulistaan ja poista siitä vanhin, ellei
3.
lista ole vajaa.
Jos paras tiedetty kohdefunktion arvo parani, päivitä parhaaksi tiede-
4.
tyksi ratkaisuksi nykyinen iteraatiopiste.
5. Kasvata kierroslaskuria yhdellä ja palaa kohtaa 1.

Tabuhaun perusmuodossa tabulistaan talletetaan kiellettyjä ratkaisuja tai niiden


ominaisuuksia vain joiltakin nykyistä edeltäviltä iteraatiokierroksilta. Siten ta-
bulistan voidaan ajatella olevan tyypiltään lyhytkestoinen muisti. Eräs keino
36

yrittää ohjata hakuprosessia kohti parempia ratkaisuja on kehittää jonkinlainen


pidempiaikainen muisti, jossa käytetään hyväksi koko hakuprosessin ajalta
kertynyttä tietoa. Tämä voi tapahtua esimerkiksi siten, että pidetään kirjaa rat-
kaisujen eri ominaisuuksien esiintymiskerroista, jolloin jonkin ominaisuuden
esiintyessä liian monta kertaa, voidaan se julistaa tabuksi. Toinen mahdollisuus
on tarkastella hyvien ratkaisujen ominaisuuksia ja jossakin vaiheessa julistaa
kaikki sellaiset ratkaisut, jotka eivät sisällä näitä, tabuiksi. Kolmantena ver-
siona voidaan mainita ns. backtracking, jossa aina tietyn iteraatiomäärän välein
palataan parhaaseen siihen mennessä löydettyyn ratkaisuun ja jatketaan proses-
sia tästä lokaalista optimista. Jotta ei lähdettäisi etenemään hakuavaruudessa jo
tutkittua reittiä pitkin, tulee kieltää aikaisemmin löydetyt em. pisteeseen ja siitä
pois johtavat ratkaisut. Ensimmäisen menetelmän ideana on siirtää tabuhaku
tutkimattomaan osaan hakuavaruutta, josta toivon mukaan löytyy uusia entistä
parempia ratkaisuja. Kahden jälkimmäisen menetelmän ideana on puolestaan
kohdistaa tabuhaku sinne, mistä on jo aikaisemminkin löytynyt hyviä ratkai-
suja.

3.4 Geneettinen algoritmi

Geneettinen algoritmi poikkeaa edellä esitellyistä lokaaleista hakualgoritmeista


siinä mielessä, että siinä käsitellään ratkaisujen joukkoa pelkän yhden ratkaisun
sijaan. Menetelmässä muodostaan ns. populaatio, joka kehittyy kolmen perus-
operaation valinnan, risteytyksen ja mutaation seurauksena yhä paremmaksi
iteraatiokierrosten eli sukupolvien kuluessa. Ideana on matkia luonnon evoluu-
tiota, jonka mukaan vain hyvät yksilöt selviytyvät jatkamaan sukua. Geneetti-
nen algoritmi on yksi versio evoluutioalgoritmeista (evolution algorithms, EA),
jotka kaikki matkivat evoluutiota perusoperaatioita hieman eri tavoin painot-
taen.

Populaation yksilöt ovat geneettisessä algoritmissa koodattuja optimointion-


gelman ratkaisuja. Koodaustapoja on käytössä useita erilaisia, mutta tavallisin
on binäärikoodaus, jossa kutakin suunnittelumuuttujan mahdollista arvoa vas-
taa aina jokin binääriluku. Kun kaikkien suunnittelumuuttujien binääriesitykset
laitetaan samaan vektoriin peräjälkeen, saadaan yhtä tiettyä optimointiongel-
man käypää tai epäkäypää ratkaisua vastaava binäärikoodattua muoto eli yksilö
37

tai kromosomi. Binäärikoodatun ratkaisun yksittäistä bittiä kutsutaan geeniksi


(kuva 14).

x1 ∈ { 0, 1, 2, 3, 4, 5, 6, 7 } 0 000
1 001
x2 ∈ { 0, 1, 2, 3, 4, 5, 6, 7 } 2 010
3 011
4 100
5 101
6 110
7 111

Ratkaisu Yksilö/kromosomi Populaatio


x1 = 3 0  0  1 0  0 
x = 3 1 1 1 1 0 
x2 = 1 1
1 1 1 0  0 
0  0  0  1 … 1
0  0  0  1 1
1 1 0 0 1
geeni

Kuva 14. Binäärikoodaus, geeni, yksilö/kromosomi ja populaatio.

Jos optimointiongelmassa suunnittelumuuttujat voivat saada joitakin tiettyjä


arvoja, voidaan nämä arvot numeroida suuruusjärjestyksessä ykkösestä lähtien
ja käyttää koodattuna ratkaisuna suoraan järjestyslukua. Koodauksessa on siten
erilaisia merkkejä yhtä paljon kuin suunnittelumuuttujilla on vaihtoehtoisia ar-
voja. Tällöin risteytys ja mutaatio täytyy miettiä uudelleen verrattuna binää-
rikoodaukseen. Kun koodauksessa käytetään enemmän merkkejä kuin vain 0 ja
1, lyhenee vastaavasti yksilöiden pituus. Lisäksi ei pääse muodostumaan sellai-
sia yksilöitä, joilla ei olisi vastinetta todellisuudessa.

Geneettisessä algoritmissa tulee pystyä arvioimaan, kuinka hyvä jokin yk-


silö/ratkaisu on. Tämä tapahtuu vain positiivisia arvoja saavan ns. kelpoisuus-
funktion (hyvyysfunktio, fitness-function) avulla siten, että mitä suuremman
arvon tietty ratkaisu antaa kelpoisuusfunktiolle, sitä parempi se on. Minimoin-
tiongelmassa yksinkertainen tapa muodostaa kelpoisuusfunktio on

F ( x ) = C − f ( x) , (30)
38

missä f(x) on kohdefunktio ja C riittävän suuri positiivinen luku. Maksimoin-


tiongelmassa voidaan ottaa suoraan tehtävän kohdefunktio kelpoisuusfunkti-
oksi. Valinnan toiminnan varmistamiseksi kelpoisuusfunktion arvo voidaan
tarvittaessa skaalata.

Valinnalla (selection) tarkoitetaan geneettisen algoritmin yhteydessä niiden


yksilöiden valitsemista populaatiosta, joiden perusteella seuraavan sukupolven
yksilöt muodostetaan. Usein käytetty tapa suorittaa valinta on ns. rulettivalinta
(roulette-wheel selection), missä lasketaan kullekin yksilölle i todennäköisyys
pi päästä vanhemmaksi jakamalla yksilön kelpoisuusfunktion arvo koko popu-
laation kelpoisuusfunktioiden arvojen summalla

Fi
pi = . (31)
∑ Fj
j

p7
p1
p6
p2
p5 p3
p4

Kuva 15. Rulettivalinnassa yksilön muita suurempi kelpoisuusfunktion


arvo lisää todennäköisyyttä pi päästä vanhemmaksi.

Todennäköisyys pi vastaa kuvitteellisen rulettipyörän ratkaisua i vastaavaan


sektorin leveyttä koko pyörän ympärysmitan ollessa 1. Aina kun tarvitaan van-
hempi, pyöräytetään kuvitteellista rulettipyörää ja katsotaan mikä yksilö tuli.
Rulettivalinnassa hyvien ratkaisujen todennäköisyys päästä vanhemmiksi,
vaikka useammankin kerran, on suurempi kuin huonojen, mutta huonoillakin
on kuitenkin mahdollisuutensa. Rulettivalinta kuuluu ns. suhteellisiin valinta-
menettelyihin (proportional selection). Muita vaihtoehtoisia valintamenettelyjä
ovat järjestysvalinta (ranking selection) ja turnausvalinta (tournament
39

selection). Turnausvalinnassa kahdesta populaation satunnaisesti valitusta yk-


silöstä pääsee vanhemmaksi kelpoisuusfunktion arvoltaan parempi, jos mo-
lemmat ovat käypiä. Jos molemmat ovat epäkäypiä, valitaan rajoitusehtoja vä-
hemmän rikkova, ja jos vain toinen on käypä, valitaan aina se.

Risteytyksen (crossover) idea on muodostaa kahden vanhemmiksi valitun yk-


silön pohjalta kaksi uutta yksilöä eli jälkeläistä. Risteytys ei aina toteudu auto-
maattisesti, vaan todennäköisyydellä pc, jolloin todennäköisyydellä 1 − p c van-

hemmat kopioituvat sellaisenaan seuraavaan sukupolveen. Yleensä risteytysto-


dennäköisyyden arvona käytetään p c = 0,6 K 0,8 . Yksinkertaisin tapa toteuttaa

risteytys on ns. yhden pisteen risteytys (one point crossover), missä katkaistaan
molemmat vanhemmiksi valitut yksilöt satunnaisesta kohtaa ja vaihdetaan esi-
merkiksi niiden loppuosat keskenään (kuva 16). Vastaavasti kahden pisteen ris-
teytyksessä katkaisukohtia on kaksi ja vaikkapa näiden kohtien väliset osat
vaihdetaan. Tavallisesti populaation koko pidetään sukupolvesta toiseen va-
kiona.

Vanhemmat: Jälkeläiset:

1 1 1 1 1 1 1 1 1 11 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

Kuva 16. Yhden pisteen risteytys.

Laskennan edistyessä valinnan ja risteytyksen seurauksena käy niin, että po-


pulaatio pyrkii homogenisoitumaan eli ratkaisut rupeavat muistuttamaan yhä
enemmän toisiaan. Populaation monimuotoisuuden lisäämiseksi käytetään
mutaatiota (mutation), jossa systeemiin tulee satunnaisesti uusia geenejä. Toi-
veena on, että uudet erilaiset geenit johtavat yhä parempiin ratkaisuihin. Käy-
tännössä mutaatio hoidetaan muuttamalla pienellä mutaatiotodennäköisyydellä
pm yksilön jokin geeni vastakkaiseksi. Tavallisesti käytetään luokkaa
p m = 0,005K 0,03 olevia arvoja.
40

Taulukko 5. Geneettisen algoritmin perusmuoto.

Valitse aloituspopulaatiollinen ratkaisuita X0 ja koodaa se aloituspo-


0. pulaatioksi S0. Hae paras ratkaisu ja aseta se parhaaksi tiedetyksi
ratkaisuksi x * . Aseta kierroslaskuriksi t = 0 .
Valitse populaatiosta S t seuraavan sukupolven vanhemmat ja risteytä
1.
niistä todennäköisyyttä pc käyttämällä uusi populaatio S t +1 .
2. Tee populaatiolle S t +1 mutaatio todennäköisyydellä pm.
Hae populaatiota S t +1 vastaavan ratkaisujen joukon X t +1 paras yksilö
3. x̂ * . Jos x̂ * on parempi kuin x * , aseta parhaaksi tiedetyksi ratkaisuksi
x * = x̂ * .
Jos lopetuskriteeri toteutuu, lopeta ja palauta x * vastauksena. Jos lope-
4. tuskriteeri ei toteudu, kasvata kierroslaskuria yhdellä t = t + 1 ja palaa
kohtaan 1.

Rajoitusehtojen käsittely hoidetaan geneettisessä algoritmissa tavallisesti sa-


kottamalla. Epäkäyvän ratkaisun kohdefunktion arvoa huononnetaan verran-
nollisesti rajoitusten rikkomisen suuruuteen nähden. Sopivan sakkokertoimen
valinta voi olla hankalaa, mutta se tulisi valita kuitenkin niin, että vain vähän
epäkäypiä ratkaisuita ei kielletä heti, vaan niillä on mahdollisuus selvitä. Eräs
tapa hoitaa rajoitusehdot ilman sakotusta on käyttää turnausvalintaa.

Riippuen valinnan on toteutustavasta, voi käydä niin, että geneettisen algorit-


min pysähtyessä paras löydetty ratkaisu ei ole enää hengissä. Jos kuitenkin ha-
lutaan varmistua siitä, että paras tai parhaat ratkaisut säilyvät aina seuraavaan
sukupolveen, voidaan käyttää ns. elitismiä. Tällöin esimerkiksi populaation
heikoin yksilö korvataan ennen valintaa edellisen populaation parhaalla yksi-
löllä.

Tavallisin lopetuskriteeri on pyörittää geneettistä algoritmia niin kauan, että


jokin ennalta asetettu sukupolvien määrä tulee täyteen. Muita mahdollisuuksia
ovat kelpoisuusfunktion arvon kehityksen tasaantumisen tai populaation ho-
mogeenisyyden tarkkailu. Jos kelpoisuusfunktion arvo ei enää näytä paranevan
tai kaikki populaation yksilöt ovat liki samoja, ei optimointia kannata jatkaa
pidemmälle.
41

4 ESIMERKKITEHTÄVÄT

Seuraavassa tarkastellaan kolmea esimerkkitehtävää, jotka ratkaistaan käyttäen


simuloitua jäähdytystä, tabuhakua ja geneettistä algoritmia. Tarkoituksena on
vertailla algoritmien keskinäistä tehokkuutta, kun mittarina pidetään massan
kehitystä optimoinnissa kuluneiden FEM-analyysien määrän funktiona. Pelkkä
eri algoritmien antamien lopputulosten vertaaminen ei riitä, sillä usein sovel-
luksissa on tärkeämpää löytää nopeasti lähellä optimia olevia ratkaisuja kuin
käyttää paljon aikaa todellisen optimin löytämiseen. Heuristisia menetelmiä
käytettäessä suurin osa ajasta kuluu FEM-analyysien suorittamiseen, jolloin
varsinainen optimoinnin vaatima laskenta-aika riippuu FEM-mallin koosta ja
käytetyn tietokoneen nopeudesta. Siten massan kehitystä on parempi seurata
FEM-analyysien funktiona kuin laskenta-ajan funktiona. Kustakin algoritmista
on valittu variaatio, joka on aikaisemmin osoittautunut tehokkaaksi putkipalk-
kikehän massan minimointiongelmassa erilaisilla versioilla suoritetuissa tes-
teissä ([20] ja [21]).

Simuloidussa jäähdytyksessä ja tabuhaussa tarvittava lähistö määritellään niin,


että ainoastaan yksi palkki saa kerrallaan muuttua liitteen 1 mukaisessa profii-
lien sarjassa järeämmäksi tai kevyemmäksi muiden pysyessä samaan aikaan
vakiokokoisina. Se, montako askelta muutos on, riippuu optimoitavien palk-
kien lukumäärästä kehässä ja on siten erilainen eri esimerkeissä.

Simuloidussa jäähdytyksessä alkulämpötilaksi on valittu Talku = 10000 ja

loppulämpötilaksi Tloppu = 0, 001 . Samassa lämpötilassa haetaan 40 lähistön

pistettä, minkä jälkeen uusi lämpötila saadaan kertomalla vanhaa vakiolla


α = 0, 9 . Epäkäypä lähistön piste hylätään aina automaattisesti.

Tabuhaussa tabulista on toteutettu niin, että tietty määrä edellisiä konkreettisia


ratkaisuita ja niiden kaltaisia ratkaisuita on kielletty. Tietyn tyyppisten ratkai-
suiden kieltäminen hoidetaan siten, että jonkin suunnittelumuuttujan arvon
vaihtuessa kyseinen muuttuja pysyy tietyn määrän seuraavia kierroksia va-
kiona. Täksi iteraatiokierrosten lukumääräksi valitaan puolet kulloisestakin
tehtävän suunnittelumuuttujien määrästä. Parittomalla määrällä pyöristys teh-
42

dään alas päin. Myös tabuhaussa epäkäypä piste hylätään välittömästi. Las-
kentakierroksia on kaikkiaan 60.

Geneettisessä algoritmissa käytetään binäärikoodausta, turnausvalintaa, kahden


pisteen risteytystä ja elitismiä. Kelpoisuusfunktion muodostaa riittävän ison
luvun ja kohdefunktion erotus. Populaation kokona käytetään 50 yksilöä ja su-
kupolvien kokonaismäärä on 120. Risteytystodennäköisyydeksi on valittu
p c = 0, 8 ja mutaatiotodennäköisyydeksi p m = 0, 01 . Geneettisellä algoritmilla

aloituspopulaatio arvotaan ja sen tulee sisältää vähintään 25 käypää yksilöä.

Kaikilla kolmella menetelmällä pidetään muistissa 200 kappaletta viimeisim-


mäksi laskettuja kohdefunktion ja rajoitusehtojen arvoja. Aina ennen kohde-
funktion tai rajoitusehtojen arvojen laskemista tarkistetaan, onko ne jo mah-
dollisesti aikaisemmin laskettu. Jos on, saadaan arvot nopeasti suoraan muis-
tista, ja jos ei ole, suoritetaan FEM-analyysi ja lasketaan kohdefunktion ja ra-
joitteiden arvot.

Koska simuloitu jäähdytys ja geneettinen algoritmi ovat stokastisia algoritmeja,


saadaan yleensä toisistaan poikkeavia tuloksia eri tietokoneajoilla. Tämän takia
sama tehtävä täytyy ratkaista useampaan kertaan, jotta voitaisiin sanoa jotakin
algoritmien tehokkuudesta. Esimerkkitehtävissä simuloidun jäähdytyksen ja
geneettisen algoritmin ratkaisukertojen määräksi on valittu viisi ajoa, joista
saaduista tuloksista muodostetaan vertailuissa käytettävä keskimääräinen tulos.

Numeeriset esimerkkitehtävät on laskettu tavallisella PC-koneella käyttäen


Matlab-ympäristössä toimivaa ohjelmaa. Käytetty FEM-ratkaisija ja kaikki op-
timointialgoritmit ovat itse kirjoitettuja. Lineaarisen yhtälöryhmän ja
ominaisarvotehtävän ratkaisemisessa käytetään kuitenkin Matlabin valmiita
rutiineita. Kulloisestakin tehtävästä muodostetaan aluksi SI-järjestelmän yksi-
köitä käyttäen määrämuotoinen syöttötiedosto, jonka ohjelma lukee. Suoritet-
tuaan optimoinnin ohjelma kirjoittaa laskemansa tulokset tulostiedostoon ja
piirtää haluttaessa kuvia. Menetelmä mahdollistaa testiongelmien kaltaisten
uusien rakenteeltaan, kuormituksiltaan ja rajoitusehdoiltaan erilaisten opti-
mointitehtävien muodostamisen hyvin pienellä työllä. Luonnollisesti ohjelmaa
43

voi käyttää myös pelkkään avaruuskehien analysointiin. Liitteissä 3 ja 4 on


esimerkit lähtötiedostosta ja tulostiedostosta.

4.1 Kolmen palkin kehä

Tarkastellaan ensimmäisenä numeerisena esimerkkitehtävänä oheisen kuvan 17


mukaista yksinkertaista isostaattista kolmen palkin kehää. Minimoitava kohde-
funktiona on kehän massa ja ainoina rajoitusehtoina jännitysrajoitusehdot,
jotka pitävät huolen siitä, ettei VVEH:n mukainen vertailujännitys nouse mis-
sään palkissa suuremmaksi kuin sallittu maksimiarvo σ max = 237 MPa, joka on
saatu jakamalla myötöraja Re = 355 MPa varmuusluvulla 1,5. FEM-mallissa

on yksi elementti kutakin palkkia kohden ja rakenteen omaa painoa ei oteta


kuormituksena huomioon. Rakenne on tuettu jäykästi palkin 1 alapäästä. FEM-
mallin tuntemattomien vapausasteiden lukumäärä on 18.

z L

2
F = 10 kN
1
3 2 L L =2 m
L 1 F
F

y
x

Kuva 17. Kolmen palkin kehä testiongelmassa yksi.

Kehän palkit täytyy valita kuvan 18 mukaisista Rautaruukin poikkileikkauksel-


taan suorakaiteen muotoisista RHS-putkista, [33]. Käytössä olevien 84 profiilin
korkeudet h, leveydet b, seinämän paksuudet t ja nurkan säteet r on esitetty lo-
pun liitteessä 1. Materiaaliarvoina käytetään taulukon 6 arvoja. Kehän kaikki
palkit sijaitsevat yz-tasossa ja ne on sijoitettu niin päin, että kuvan 18 mukai-
nen z-akseli on globaalin x-akselin suuntainen.

Taulukko 6. Esimerkkitehtävien materiaaliarvot.

Kimmomoduuli E Poissonin luku ν Tiheys ρ Myötöraja Re


210 GPa 0,3 7850 kg/m3 355 MPa
44

h
t z
r

Kuva 18. Poikkileikkaukseltaan suorakaide RHS-putki ja vertailujännityksen


laskentapisteet.

Jotta voitaisiin olla varmoja, ettei vertailujännitys ylitä optimoinnin kuluessa


missään kohdin kehää arvoa σ max = 237 MPa, valitaan kaikkien palkkien alku-
ja loppupään poikkileikkauksista kummastakin ulkoreunalta 8 pistettä. Vali-
tuista pisteistä 4 sijaitsee poikkileikkauksen nurkissa ja 4 sen symmetria-akse-
leilla (kuva 18). Nurkan pisteiden tarkka sijainti lasketaan kulloisenkin poikki-
leikkauksen taivutusmomenttien My ja Mz perusteella niin, että normaalijänni-
tys σx saa suurimman tai pienimmän mahdollisen arvon kunkin nurkan alu-
eella. Kuhunkin palkkiin liittyvässä jännitysrajoitusehdossa vaaditaan, että
alku- ja loppupään yhteensä 16 pisteen suurin vertailujännitys jää alle sallitun
arvon. Kolmen palkin kehällä jännitysrajoitusehtoja tulee siten 3 kpl.

Standardimuodossa esitettynä ensimmäinen testiongelma on muotoa

min W (x)
σ ired (x)
−1 ≤ 0 i = 1, 2, 3 (32)
σ max
 x1 
x =  x 2  ∈ {x1 , x 2 , K , x n }
 x3 

Ongelman käypien ja epäkäypien ratkaisuiden lukumäärä on n = 84 3 . Niiden


kaikkien läpikäyminen eli täydellinen enumeraatio olisi tehokasta tietokonetta
käyttäen vielä suhteellisen helppoa. Se ei ole kuitenkaan tarpeen, sillä kuvan 17
45

kolmen palkin kehä on isostaattinen rakennne, missä kehän omaa painoa ei


huomioida. Tällöin palkkien rasitukset (normaalivoima, leikkausvoimat,
vääntömomentti ja taivutusmomentit) eivät riipu niiden poikkileikkauksien
mitoista, ja kunkin palkin jännitysten suuruuteen vaikuttaa ainoastaan sen oma
koko. Tämä mahdollistaa ongelman globaalin optimin hakemisen varsin
pienellä työmäärällä niin, että jostakin käyvästä alkuarvauksesta lähtien
pienennetään yhtä aikaa kaikkien palkkien kokoa pienimpään profiiliin saakka.
Tällöin optimirakenteessa kehän kunkin palkin koko on se, jolla palkin massa
on pienin mahdollinen siihen liittyvän jännitysrajoitusehdon ollessa
negatiivinen.

Simuloidussa jäähdytyksessä ja tabuhaussa lähistö on määritelty niin, että


palkin koon suurin muutos saa olla enintään 12 askelta pienemmäksi tai
suuremmaksi liitteen 1 mukaisessa sarjassa. Tällöin lähistön koko on 72. Näillä
algoritmeilla tarvittavaksi alkuarvaukseksi on valittu rakenne, jossa kaikkien
kolmen palkin profiilina on liitteen 1 numero 65.

240
SA (keskiarvo 5 ajon perusteella)
TS
220 GA (keskiarvo 5 ajon perusteella)
optimi W * = 113,65 kg
kg
200

massa
[kg] 180

160

140

120

100
0 1000 2000 3000 4000 5000 6000 7000
FEM-analyysit

Kuva 19. Kohdefunktion kehitys ensimmäisessä testiongelmassa (kolmen


palkin kehä) simuloidulla jäähdytyksellä (SA), tabuhaulla (TS)
ja geneettisellä algoritmilla (GA).
46

Kuvassa 19 on esitetty ensimmäisessä testiongelmassa eri algoritmeilla saadut


tulokset. Kuvasta nähdään, että tabuhaku löytää globaalin optimin
( x1* = x 2* = 56 , x3* = 40 , W * = 113,65 kg ja 65 FEM-analyysia em. keinolla ja
alkuarvauksella) varsin nopeasti (281 FEM-analyysilla), simuloitu jäähdytys
huomattavasti hitaammin (keskimäärin 4901 FEM-analyysilla) ja geneettinen
algoritmi ei löydä ollenkaan jääden keskimäärin tulokseen 120 kg.

Geneettisellä algoritmilla 50 yksilön alkupopulaation, joista puolet on käypiä,


arpomiseen kuluu keskimäärin noin 400 FEM-analyysia ja vasta tämän jälkeen
käynnistyy varsinainen optimointi. Alkupopulaation parasta yksilöä vastaava
ratkaisu on (keskimäärin) varsin hyvä verrattuna simuloidun jäähdytyksen ja
tabuhaun alkuarvaukseen.

Satunnaisuudesta johtuva simuloidun jäähdytyksen ja tabuhaun tulosten vaih-


televuus eri optimointikerroilla nähdään hyvin kuvasta 20.

a) b)
240 160

155
220
150
200 145

140
180
massa massa
135
[kg] 160
[kg]
130

140 125

120
120
115

100 110
0 1000 2000 3000 4000 5000 6000 7000 300 400 500 600 700 800

FEM-analyysit FEM-analyysit

Kuva 20. Kohdefunktion kehitys viidellä eri optimointikerralla (sininen kat-


koviiva) sekä keskimääräinen kohdefunktion kehitys (punainen)
a) simuloidulla jäähdytyksellä b) geneettisellä algoritmilla.

Optimikokoisilla profiileilla kolmen palkin kehää kuormittavien voimien vai-


kutuspisteen siirtymät x-, y- ja z-suunnissa ovat 100,35 mm, 9,94 mm ja 5,77
mm. Palkkien suurimmat VVEH:n mukaiset vertailujännitykset ovat puoles-
taan 211,71 MPa, 236,80 MPa ja 224,20 MPa. Rajoitusfunktioiden arvoiksi
saadaan tällöin g1σ = −0,1067 , g 2σ = −0,0008 ja g 3σ = −0,0540 .
47

4.2 Kahdeksan palkin kehä

Toisena testiongelmana käytetään kuvan 21 mukaista kahdeksan palkin ava-


ruuskehää kuormituksineen. Minimoitavana kohdefunktiona on kehän massa ja
rajoitusehdot pakottavat voiman F suuntaisen siirtymän u pienemmäksi kuin
suurin sallittu arvo u sall = 70 mm, palkkien VVEH:n mukaisen vertailu-
jännityksen kaikkialla kehässä pienemmäksi kuin maksimiarvo σ max = 237
MPa ja huolehtivat siitä, että kukin palkki erikseen ei menetä stabiilisuuttaan.
Kehän FEM-mallissa kaikki palkit on mallinnettu jälleen vain yhdellä elemen-
tillä, ja rakenteen omaa painoa ei oteta huomioon kuormituksissa. Palkkien 1,
2, 3 ja 4 alapään tuenta on jäykkä. FEM-mallin tuntemattomien vapausasteiden
lukumäärä on 24.

Optimoinnissa mahdollisten profiilien lukumäärän osalta tarkastellaan kahta eri


tapausta. Ensimmäisessä käytössä ovat kaikki liitteen 1 profiilit (84 kpl). Toi-
sessa tapauksessa optimoinnissa käytössä ovat liitteen 1 profiilit 1, 9, 17, 25,
33, 41, 49, 57, 65, 73 ja 81. Materiaaliarvoina käytetään taulukon 6 arvoja.
Palkit on sijoitettu niin päin, että pystysuorissa palkeissa (1, 2, 3, ja 4) kuvan
18 mukainen y-akseli on globaalin y-akselin suuntainen ja vaakasuorissa pal-
keissa (5, 6, 7 ja 8) kuvan 18 y-akseli on globaalin z-akselin suuntainen.

Kuva 21. Kahdeksan palkin kehä testiongelmassa kaksi.


48

Standardimuodossa esitettynä toinen testiongelma on

min W (x )

u (x ) − u sall
≤0
u
σ i (x )
red
−1 ≤ 0 i = 1, 2, K , 8 . (33)
σ max
N i (x )
− −1 ≤ 0 i = 1, 2, K , 8
Pn i (x )

 x1 
x =  M  ∈ { x1 , x 2 , K , x n }
 x8 

Siirtymärajoitusehdossa skaalausvakioksi on valittu u = 0,1 m.


Jännitysrajoitusehtojen osalta käytetään samaa lähestymistapaa kuin testion-
gelmassa yksi eli rajoitetaan kunkin palkin vertailujännitysten maksimi alku- ja
loppupoikkileikkauksen ulkoreunalla kahdeksassa eri pisteessä enintään
σ max :n suuruiseksi.

Ongelman käypien ja epäkäypien ratkaisuiden lukumäärä on suuremmalla pro-


fiilien joukolla n = 84 8 ja pienemmällä n = 118 . Jos käytössä on tietokone, joka
pystyy laskemaan kohdefunktion ja rajoitusehtojen arvot tuhannessa eri pis-
teessä yhden sekunnin aikana, kestää kaikkien suunnitteluavaruuden pisteiden
läpikäyminen ensimmäisessä tapauksessa yli 78600 vuotta ja jälkimmäisessä
tapauksessa noin 60 tuntia. On selvää, että vielä näinkin pienessä ongelmassa
vähänkään suuremmalla profiilien määrällä ei ole enää mahdollista tarkistaa
kaikkia kandidaattiratkaisuja ja valita niistä parasta käypää. Työssä käytetyllä
tietokoneella yhden FEM-analyysin teko kestää todellisuudessa noin 0,2 se-
kuntia.

Simuloidussa jäähdytyksessä ja tabuhaussa tarvittavana alkuarvauksena käyte-


tään ratkaisua, missä palkkien 1, 2 ja 6 profiileiksi on valittu liitteen 1 numero
65 ja loppujen profiileiksi numero 25. Lähistö on määritelty samoin kuin en-
simmäisessä testiongelmassa eli suurin muutos palkin koolle on 12 askelta pie-
nemmäksi tai suuremmaksi. Pienemmällä profiilien määrällä (11 kpl) muutos
49

voi enimmillään tosin olla vain 10 askelta suuremmaksi tai pienemmäksi. Lä-
histön koko on siten 192 (84 kpl profiileita) tai 160 (11 kpl profiileita).

Kuvissa 22 ja 23 sekä taulukoissa 7 ja 8 on esitetty toisessa testiongelmassa


saadut tulokset.

1200
SA (keskiarvo 5 ajon perusteella)
1150 TS
GA (keskiarvo 5 ajon perusteella)
1100

1050

1000

massa 950
[kg]
900

850

800

750

700

650
0 1000 2000 3000 4000 5000 6000 7000
FEM-analyysit

Kuva 22. Testiongelmassa kaksi (kahdeksan palkin kehä) simuloidulla


jäähdytyksellä (SA), tabuhaulla (TS) ja geneettisellä algoritmilla
(GA) saadut tulokset, kun käytössä on 84 kappaletta profiileita.

Taulukko 7. Testiongelmassa kaksi simuloidulla jäähdytyksellä (SA), tabu-


haulla (TS) ja geneettisellä algoritmilla (GA) löydetyt parhaat
rakenteet, kun käytössä ovat kaikki 84 profiilia.

Palkki 1 2 3 4 5 6 7 8 Massa [kg]


SA 81 58 2 1 1 2 4 2 648,55
TS 77 77 1 1 1 54 1 1 770,48
GA 33 82 1 1 1 38 1 1 626,17
50

1200
SA (keskiarvo 5 ajon perusteella)
1150 TS
GA (keskiarvo 5 ajon perusteella)
1100

1050

1000
massa 950
[kg]
900

850

800

750

700

650
0 1000 2000 3000 4000 5000 6000 7000
FEM-analyysit

Kuva 23. Testiongelmassa kaksi (kahdeksan palkin kehä) simuloidulla


jäähdytyksellä (SA), tabuhaulla (TS) ja geneettisellä algoritmilla
(GA) saadut tulokset, kun käytössä on 11 kappaletta profiileita.

Taulukko 8. Testiongelmassa kaksi simuloidulla jäähdytyksellä (SA), tabu-


haulla (TS) ja geneettisellä algoritmilla (GA) löydetyt parhaat
rakenteet, kun käytössä on 11 profiilia.

Palkki 1 2 3 4 5 6 7 8 Massa [kg]


SA 81 65 1 1 1 1 1 1 690,00
TS 65 65 1 1 1 65 1 1 906,26
GA 81 65 1 1 1 1 1 1 690,00

Kuvan 22 perusteella nähdään, että suuremmalla määrällä profiileita keskimää-


rin paras lopputulos saavutetaan simuloidulla jäähdytyksellä (653 kg), hieman
huonompi keskimääräinen tulos geneettisellä algoritmilla (661 kg) ja heikoin
tabuhaulla (770 kg). Taulukon 7 perusteella geneettisen algoritmin eräällä
ajolla löydetään kuitenkin kaikkein kevein rakenne (626 kg). Geneettisellä al-
goritmilla aloituspopulaation arpominen kestää keskimäärin 348 FEM-analyy-
sia. Testiongelmassa kaksi suuremmalla profiilien joukolla palkin 2 jännitys-
51

rajoitusehto on rajoitteista aina lähimpänä aktiivista. Taulukon 7 rakenteita


vastaavat rajoitusfunktioiden arvot on esitetty työn lopussa liitteessä 5.

Kuvasta 23 nähdään, että pienemmällä määrällä profiileita tulokset ovat saman


tyyliset kuin suuremmallakin määrällä. Simuloitu jäähdytys on keskimäärin
paras (712 kg), geneettinen keskimäärin toiseksi paras (730 kg) ja tabuhaku
huonoin (906 kg). Taulukon 8 perusteella simuloitu jäähdytys ja geneettinen
algoritmi päätyvät molemmat parhaimmillaan tulokseen 690 kg. Pienemmällä
profiilien määrällä geneettisen algoritmin aloituspopulaation arpominen kestää
keskimäärin 396 FEM-analyysin verran. Palkin 2 jännitysrajoitusehto on jäl-
leen aktiivisin paitsi yhdellä geneettisen algoritmin ajolla, jolloin palkin 6 nur-
jahdusrajoitusehto on lähimpänä aktiivista. Parhaita rakenteita vastaavat rajoi-
tusfunktioiden arvot on esitetty lopun liitteessä 6.

4.3 Kahdenkymmenen kuuden palkin kehä

Kolmantena testiongelmana on kuvan 24 mukainen 26 palkin avaruuskehä,


jossa kuormituksena on kaksi F:n suuruista pistevoimaa. Minimoidaan kehän
massaa rajoitusehtojen huolehtiessa, ettei VVEH:n mukainen vertailujännitys
kasva missään kohdin suuremmaksi kuin suurin sallittu arvo σ max = 237 MPa,
kehän yksittäiset palkit tai koko kehä eivät menetä stabiilisuuttaan varmuudella
N bg = N bl = 3 ja kehän kaikki ominaistaajuudet fi pysyvät pois kielletyltä vä-

liltä [ 38 , 42 ] Hz. FEM-mallissa kukin palkki on mallinnettu ainoastaan yh-


dellä elementillä, ja palkkien 1, 2, 3 ja 4 alapään tuenta on jäykkä, jolloin tun-
temattomien vapausasteiden lukumääräksi tulee 72. Kehän oma paino jätetään
huomioimatta.

Optimoinnissa mahdollisia palkkikokoja ovat liitteen 1 kaikki 84 suorakaiteen


muotoista RHS-putkea. Materiaaliarvot löytyvät taulukosta 6. Palkit on sijoi-
tettu mallissa niin päin, että pystysuorien palkkien (1, 2, 3, 4, 9, 10, 11, 12, 18
ja 21) kuvan 18 mukainen y-akseli on globaalin y-akselin suuntainen, vaa-
kasuorien palkkien (5, 6, 7, 8, 13, 14, 15, 16, 23, 24, 25 ja 26) y-akseli on glo-
baalin z-akselin suuntainen ja vinossa olevien palkkien (17, 19, 20, 22) y-akseli
on globaalin yz-tason suuntainen.
52

z 3
2 L
23 26

24 25 F
17 22 21
19
18 20 F
L 13 16
15
14
L=4 m
9 12 10 11
F=20000 N
L 5
8

6 7

1 4 2 3 y
L
x L
L
Kuva 24. Kehä kuormituksineen kolmannessa testiongelmassa.

Matemaattisessa standardimuodossa esitettynä testiongelma on

min W (x )

σ ired (x )
−1 ≤ 0 i = 1, 2, K , 26
σ max
N bl N i (x )
− −1 ≤ 0 i = 1, 2, K , 26
Pn i (x )
λ kr (x ) (34)
1− ≤0
N bg

  f (x ) 
1 − f i (x ) 
  
max  f ⋅  i min − 1  ≤ 0
i =1, 2 , K, 72
  f 


 f max  

 x1 
x =  M  ∈ {x1 , x 2 , K , x n }
 x 26 
53

Skaalauskertoimeksi valitaan f = 10 ja nyt on alaraja f min = 38 Hz sekä yläraja

f max
= 42 Hz. Jännitysrajoitukset hoidellaan kuten edellisissäkin esimerkeissä.

Käypien ja epäkäypien ratkaisujen lukumäärä on tällä kertaa valtava n = 84 26 ,


mikä miljoonan FEM-analyysin sekuntivauhdilla tarkoittaisi, että niiden kaik-
kien läpikäyminen kestäisi noin 3,4 ⋅ 10 36 vuotta. Todellisuudessa yhden FEM-
analyysin teko kestää käytössä olleella tietokoneella noin 0,8 sekuntia.

Simuloidun jäähdytyksen ja tabuhaun käypänä alkuarvauksena on rakenne,


jossa kaikkien palkkien profiiliksi on valittu liitteen 1 numero 41. Lähistö on
määritelty niin, että suurin sallittu muutos palkin koolle on 4 askelta suurem-
maksi tai pienemmäksi, jolloin lähistön kooksi tulee 208.

Kolmannessa testiongelmassa saadut tulokset on esitetty kuvassa 25 sekä tau-


lukoissa 9, 10 ja 11.

3200
SA (keskiarvo 5 ajon perusteella)
3000 TS
GA (keskiarvo 5 ajon perusteella)
2800

2600

massa 2400
[kg]
2200

2000

1800

1600

1400
0 2000 4000 6000 8000 10000
FEM-analyysit

Kuva 25. Testiongelmassa kolme (kahdenkymmenen kuuden palkin kehä)


simuloidulla jäähdytyksellä (SA), tabuhaulla (TS) ja geneettisellä
algoritmilla (GA) saadut tulokset.
54

Taulukko 9. Simuloidulla jäähdytyksellä kolmannessa testiongelmassa löy-


detty paras ratkaisu.
Massa 1309,2 kg
Palkki 1 2 3 4 5 6 7 8 9 10 11 12 13
Profiili 4 38 15 63 4 56 48 52 38 33 56 44 48
Palkki 14 15 16 17 18 19 20 21 22 23 24 25 26
Profiili 15 38 56 2 5 21 5 21 1 12 1 47 12

Taulukko 10. Tabuhaulla kolmannessa testiongelmassa löydetty paras rat-


kaisu.
Massa 1652,0 kg
Palkki 1 2 3 4 5 6 7 8 9 10 11 12 13
Profiili 38 38 41 42 38 38 38 42 41 41 40 40 41
Palkki 14 15 16 17 18 19 20 21 22 23 24 25 26
Profiili 38 38 41 38 33 38 33 38 33 38 38 38 33

Taulukko 11. Geneettisellä algoritmilla kolmannessa testiongelmassa löy-


detty paras ratkaisu.
Massa 1331,4 kg
Palkki 1 2 3 4 5 6 7 8 9 10 11 12 13
Profiili 1 9 60 1 33 2 33 64 1 53 5 64 38
Palkki 14 15 16 17 18 19 20 21 22 23 24 25 26
Profiili 4 33 37 1 8 57 27 5 1 2 41 8 1

Kuvan 25 perusteella simuloitu jäähdytys näyttäisi toimivan lopputuloksen


kannalta keskimäärin parhaiten (1418 kg), geneettinen algoritmi keskimäärin
toiseksi parhaiten (1462 kg) ja tabuhaku heikoiten jääden tulokseen 1652 kg.
Kaikkein paras tulos (1309 kg) löytyi simuloidulla jäähdytyksellä. Kolman-
nessa testiongelmassa ei ole mahdollista nimetä vain yhtä rajoitusehtoa, joka
olisi kaikkein rajoittavin. Eri optimointikerroilla ovat eri rajoitusehdot lähim-
pänä aktiivisuutta. Taulukoiden 9…11 rakenteita vastaavat rajoitusfunktioiden
arvot on esitetty liitteessä 7.
55

Kolmannen testiongelman ominaistaajuusrajoitusehto on melko tiukka. Tämä


näkyy riittävästi käypiä yksilöitä sisältävän geneettisen algoritmin aloituspo-
pulaation generoinnin työläytenä. Kun valitaan satunnaisesti palkkien poikki-
leikkausten suuruus, on rakenne melko harvoin käypä. Tarvitaan keskimäärin
6243 FEM-analyysia, ennen kuin varsinainen optimointi pääsee käyntiin. Si-
muloidun jäähdytyksen ja tabuhaun tarvitsema käypä alkuarvaus oletettiin tie-
detyksi. Myös sen hakeminen voi olla joissakin tapauksissa työlästä.
56

5 OPTIMOINTIMENETELMIEN VERTAILU

Laskettujen kolmen testiongelman perusteella simuloitu jäähdytys, tabuhaku ja


geneettinen algoritmi tuntuisivat kohtuullisesti parantavan kohdefunktion arvoa
alkuarvaukseen tai aloituspopulaation parhaaseen ratkaisuun nähden. Kohde-
funktion kehitys on heuristisille menetelmille tyypilliseen tapaan voimakkainta
optimoinnin alussa, minkä jälkeen kohdefunktion arvo tasaantuu jollekin ta-
solle. FEM-analyysien määrä nousee väistämättä melko suureksi kaikilla kol-
mella menetelmällä.

Simuloitu jäähdytys päätyy optimoinnin lopussa tuhansien FEM-analyysien


jälkeen kaikissa testiongelmissa keskimäärin parhaaseen tulokseen. Tabuhaku
jää puolestaan selvästi huonoimpaan tulokseen kahdessa jälkimmäisessä tes-
tiongelmassa ollen ensimmäisessä ongelmassa kuitenkin tehokkain. Geneetti-
sellä algoritmilla riittävästi käypiä alkuarvauksia sisältävän aloituspopulaation
arpominen kestää kauan, mutta sen jälkeen kohdefunktion arvo paranee nope-
asti. Nopeaan edistymiseen näyttäisi olevan ainakin osaltaan selityksenä se,
että geneettisellä algoritmilla FEM-analyysien tulosten pitäminen muistissa
vähentää tehokkaasti uusien analyysien tarvetta. Simuloidulla jäähdytyksellä ja
tabuhaulla jo laskettujen ratkaisujen muistissa pitämisestä ei näytä olevan lä-
heskään yhtä suurta hyötyä. Kuvien 19, 22, 23 ja 25 käyrien alkuosien perus-
teella nähdään, että jos optimoinnin kuluessa voidaan tehdä vain joitakin satoja
FEM-analyyseja, on simuloitu jäähdytys kolmikon paras vaihtoehto optimoin-
tialgoritmiksi.

Luonteeltaan stokastisilla simuloidulla jäähdytyksellä ja geneettisellä algorit-


milla eri optimointikerroilla saadut tulokset poikkeavat toisistaan, kuten ku-
vasta 20 nähdään. Näiden algoritmien tehokkuutta tabuhakuun verrattaessa on
otettava huomioon, että tulosten luotettavuuden takia tarvitaan useampia opti-
mointikertoja. Jos tehdään vain yksi optimointiajo, voivat tulokset olla huo-
nolla tuurilla keskimääräiseen nähden heikkoja.

Testiongelma yksi osoittaa simuloidun jäähdytyksen, tabuhaun ja geneettisen


algoritmien ominaisuuden käsitellä kaikkia ongelmia samalla tavalla. Vaikka
on olemassa yksinkertainen tapa hakea globaali optimi, etenevät heuristiset
57

menetelmät samaan raskaaseen tyyliin kuin kahdessa jälkimmäisessä lasken-


nallisesti oleellisesti vaikeammassa esimerkkitehtävässä. Jos optimoitava kehä
on isostaattinen rakenne ja ongelmassa on vain jännitysrajoitusehtoja, ovat si-
muloitu jäähdytys, tabuhaku ja geneettinen algoritmi huonoja valintoja ratkai-
sumenetelmiksi.

Testiongelman kaksi perusteella nähdään, että massan lasku on nopeampaa


pienemmällä määrällä (11 kpl) profiileita kuin suuremmalla määrällä (84 kpl).
Siten optimoinnissa kannattaa aluksi valita vain osa profiileista mukaan ja
vasta myöhemmin mahdollisesti lisätä niiden määrää. Luonnollisesti suurem-
malla määrällä profiileita saavutetaan lopussa parempi tulos kuin pienemmällä
määrällä.

Aikaisemmassa vastaavan tyylisessä tutkimuksessa [26] on todettu, että tabu-


haku antaa parhaat tulokset ja nopeammin kuin simuloitu jäähdytys tai geneet-
tinen algoritmi. Hitaimmaksi menetelmäksi havaittiin samassa tutkimuksessa
geneettinen algoritmi ja heikoimmat tulokset saatiin puolestaan simuloidulla
jäähdytyksellä. Tämän työn kokemusten valossa lähteen [26] tulokset tuntuvat
kysymyksiä herättäviltä. Osaltaan tilannetta selittänee se, että tutkimuksessa
[26] on ollut käytössä erilaiset versiot simuloidusta jäähdytyksestä, tabuhausta
ja geneettisestä algoritmista kuin tässä työssä, ja se, että testiesimerkkien ra-
kenteet ovat olleet ristikoita.

Yhteenvetona simuloidulla jäähdytyksellä, tabuhaulla ja geneettisellä algorit-


milla saaduista tuloksista kolmessa lasketussa testiongelmassa voidaan todeta,
että näistä heuristisista menetelmistä ei ole mahdollista nimetä vain yhtä joka
olisi paras kaikissa mahdollisissa tehtävissä. Kaikilla kolmella on omat puut-
teensa ja etunsa. Eri tehtäviin tulisi siten tapauskohtaisesti valita kulloinkin so-
piva menetelmä. Mitään yleispäteviä valintaohjeita ei voida kuitenkaan antaa,
jolloin korostuu optimointiongelman hahmottamisen tärkeys ja laskijan koke-
mus. Tulevaisuutta ajatellen geneettisessä algoritmissa näyttäisi olevan ehkä
eniten potentiaalia, mikäli vain alkupopulaation muodostus saadaan kevyem-
mäksi kuin mitä se on tässä työssä. Lisäksi olisi mielenkiintoista verrata ge-
neettistä algoritmia muihin populaatiopohjaisiin heuristisiin optimointimene-
58

telmiin, kuten esimerkiksi parveilualgoritmi (particle swarm optimization,


PSO)
59

6 YHTEENVETO

Tässä esityksessä on käsitelty kolmiulotteisen putkipalkeista valmistetun ava-


ruuskehän massan minimointiongelmaa siirtymä-, jännitys,- stabiilisuus- ja
taajuusrajoitusehdoilla. Stabiilisuusrajoitusehdot huomioivat sekä yksittäisten
palkkien että koko kehän stabiilisuuden säilymisen. Kehän palkit valitaan
suorakaiteen muotoisten RHS-putkien valikoimasta, joka voi olla kokojakau-
maltaan mielivaltainen. Kehän analysointi tapahtuu elementtimenetelmällä
olettaen, että siirtymät ovat pieniä ja materiaali lineaarisesti kimmoista. Kehän
kaikki liitokset oletetaan jäykiksi. Todellisuutta yksinkertaistavan lineaarisen
FEM-mallin käyttö analysoinnissa on perusteltua siksi, että rakenneanalyysien
määrä kasvaa optimoinnissa väistämättä hyvin suureksi.

Simuloitu jäähdytys, tabuhaku ja geneettinen algoritmi ovat heuristisia opti-


mointimenetelmiä, jotka sopivat hyvin vaikeiden diskreettien optimointion-
gelmien likimääräiseen ratkaisemiseen. Tutkimuksessa on selvitetty näiden
kolmen algoritmin toimintaperiaatetta ja taustaa sekä keskinäistä tehokkuutta
avaruuskehän massan minimointiongelmassa testiongelmien avulla. Ensimmäi-
senä testiongelmana on kolmen palkin pelkästään jännitysrajoitusehtoja sisäl-
tävä tehtävä. Toisen testiongelman rakenteena on kahdeksan palkin kehä ja ra-
joitusehtoina siirtymä-, jännitys- ja nurjahdusrajoitusehdot. Kolmannessa tes-
tiongelmassa tarkastellaan kahdenkymmenen kuuden palkin kehää jännitys-,
stabiilisuus- ja taajuusrajoitusehdoilla. Testiongelmien ratkaisemisessa käyte-
tään kustakin algoritmista sellaista versiota, joka on todettu aikaisemmissa tut-
kimuksissa [20] ja [21] tehokkaaksi.

Testiongelmien tulosten perusteella ei voida yksikäsitteisesti sanoa, mikä tar-


kastelluista vaihtoehdoista simuloitu jäähdytys, tabuhaku vai geneettinen algo-
ritmi olisi paras valinta kaikissa avaruuskehän massan minimointiongelmissa.
Jos voidaan tehdä vain joitakin satoja FEM-analyyseja, on simuloitu jäähdytys
paras valinta. Geneettisellä algoritmilla kuluu paljon FEM-analyyseja aloitus-
populaation arpomiseen, mutta optimoinnin käynnistyttyä kohdefunktion ke-
hitys on huomattavasti nopeampaa kuin simuloidulla jäähdytyksellä tai tabu-
haulla. Tabuhaku on deterministinen algoritmi, eikä sitä siten vaivaa satunnai-
60

suudesta johtuva tulosten tietty epävarmuus, kuten simuloitua jäähdytystä ja


geneettistä algoritmia. Tulevan tutkimuksen kannalta geneettinen algoritmi
vaikuttaisi kolmikosta kaikkein lupaavimmalta. Tällöin tulisi keskittyä aloitus-
populaation generoinnin nopeuttamiseen.

On selvää, että tämä opinnäyte ei voi olla tyhjentävä selvitys simuloidusta


jäähdytyksestä, tabuhausta ja geneettisestä algoritmista kehärakenteiden opti-
mointiongelmissa. Työn ideana on ollut käyttökelpoisen diskreetin avaruuske-
hän massan minimointiongelman formulointi, heurististen menetelmien peri-
aatteiden esittely ja niiden mahdollisuuksien testaaminen formuloidussa on-
gelmassa. Tulevaisuuden lisäselvitystä vaativina seikkoina voidaan mainita ke-
hän FEM-mallin kehittäminen huomioimalla liitosten jousto, suuret siirtymät ja
epälineaarinen materiaalimalli. Optimointiongelmaa tulisi kehittää täydentä-
mällä kohdefunktiota sekä sallimalla kehän topologian ja liitostyypin muuttu-
minen optimoinnissa. Heurististen algoritmien osalta sopivien versioiden ja
niiden parametrien arvojen valinta vaatii myös lisäselvittelyä.
61

7 LÄHDELUETTELO

[1] Aarts E., Korst J. 1989. Simulated Annealing and Boltzman


Machines. John Wiley & Sons.

[2] Aarts E., Lenstra J. K. (ed.) 1997. Local Search in Combinatorial


Optimization. John Wiley & Sons.

[3] Aho M. 2003. Discrete Optimization of Large Scale Laminated


Composite Structures. Väitöskirja, Tampereen teknillinen yliopisto,
Teknillisen mekaniikan ja optimoinnin laitos.

[4] Arora J. S. 1989. Introduction to Optimum Design. McGraw-Hill.

[5] Arora J. S., Huang M. W., Hsieh C. C. 1994. Methods for


optimization of nonlinear problems with discrete variables: A review.
Structural Optimization 8, 69-85.

[6] Arora J. S. 2002. Methods for discrete variable structural


optimization. In: Burns S. A. (ed.) Recent Advances in Optimal
Structural Design. ASCE.

[7] Bauer J., Gutkowski W. 1995. Discrete structural optimization: A


review. In: Olhoff N., Rozvany G. I. N. (ed.) Proceedings of the First
World Congress of Structural and Multidisciplinary Optimization.
Pergamon.

[8] Balling R. J. 1991. Optimal steel frame design by simulated


annealing. Journal of Structural Engineering 117, 1780-1795.

[9] Bennage W. A., Dhingra A. K. 1995. Optimization of truss topology


using tabu search. International Journal for Numerical Methods in
Engineering 38, 4035-4052.

[10] Bland J. A. 1995. Discrete-variable optimal structural design using


tabu search. Structural Optimization 10, 87-93.
62

[11] Botello S., Marroquin J. L., Onate E., van Horebeek J. 1999. Solving
structural optimization problems with genetic algorithms and
simulated annealing. Intenational Journal for Numerical Methods in
Engineering 40, 165-188.

[12] Chen T. Y., Su J. J. 2002. Efficiency improvement of simulated


annealing in optimal structural designs. Advances in Engineering
Software 33, 675-680.

[13] Dhingra A. K., Bennage W. A. 1995. Discrete and continuous


variable structural optimization using tabu search. Engineering
Optimization 24, 177-196.

[14] Farkas J. & Jarmai K. 1997. Analysis and Optimum Design of Metal
Structures. A.A. Balkama.

[15] Floudas C. A. 1995. Nonlinear and Mixed-Integer Optimization.


Oxford University Press.

[16] Goldberg D. E. 1989. Genetic Algorithms in Search, Optimization


and Machine Learning. Addison Wesley publishing company.

[17] Gutkowski W. (ed.) 1997. Discrete Structural Optimization.


Springer-Verlag.

[18] Haftka R. & Gürdal Z. 1992. Elements of Structural Optimization.


Kluwer.

[19] Huang M. W., Arora J. S. 1996. Optimal design with discrete


variables: Some numerical experiments. International Journal for
Numerical Methods in Engineering 40, 165-188.

[20] Jalkanen J. 2004. Simuloitu jäähdytys ja tabuhaku putkipalkkikehän


optimoinnissa. Laitosraportti, Tampereen teknillinen yliopisto, Tek-
nillisen mekaniikan ja optimoinnin laitos.
63

[21] Jalkanen J. 2004. Geneettinen algoritmi putkipalkkikehän optimoin-


nissa. Laitosraportti, Tampereen teknillinen yliopisto, Teknillisen
mekaniikan ja optimoinnin laitos.

[22] Kere P. 2002. Multi-Criteria Optimization of Composite Lamination


for Maximum Failure Margins with an Interactive Descent
Algorithm. Väitöskirja, Acta Polytechnica Scandinavica, Mechanical
Engineering Series.

[23] Kirsch U. 1993. Structural Optimization. Spinger-Verlag.

[24] Koski J. 1979. Truss Optimization with Vector Criterion. Lisensiaa-


tintyö, Tampereen teknillinen korkeakoulu, Teknillinen mekaniikka.

[25] Koski J. 1984. Bicriterion Optimum Design Method for Elastic


Trusses. Väitöskirja, Acta Polytechnica Scandinavica, Mechanical
Engineering Series.

[26] Manoharan S., Shanmuganathan S. 1999. A comparison of search


mechanics for structural optimization. Computers&Structures 73,
363-372.

[27] Michalewicz Z. 1994. Genetic Algorithms + Data Structures =


Evolution Programs. Springer-Verlag.

[28] Moh J. S., Chiang D. Y. 2000. Improved simulated annealing search


for structural optimization. AIAA Journal 38, 1965-1973.

[29] Murtola E. 1998. Ohuen pyörähdyssymmetrisesti käyttäytyvän kuori-


rakenteen monitavoitteinen optimointi. Lisensiaatintyö, Tampereen
teknillinen korkeakoulu, Teknillinen mekaniikka.

[30] Leite J. P. B., Topping B. H. V. 1999. Parallel simulated annealing


for structural optimization. Computers&Structures 73, 545-564.
64

[31] Pezeshk S., Camp C. V. 2002. State of art on the use of genetic
algorithms in design of steel structures. In: Burns S. A. (ed.) Recent
Advances in Optimal Structural Design. ASCE.

[32] Pora M. 1994. Kantavien komposiittilevyjen ja -laattojen optimointi.


Lisensiaatintyö, Tampereen teknillinen korkeakoulu, Teknillinen me-
kaniikka.

[33] Rautaruukki Metform 1997. Rautaruukin putkipalkkikäsikirja.

[34] Reeves C. R. (ed.) 1995. Modern Heuristic Techniques for


Combinatorial Problems. McGraw-Hill book company.

[35] Thaneder P. B., Vanderplaats G. N. 1995. Survey of discrete variable


optimization for structural design. Journal of Structural Engineering,
Vol. 121, No 2, 301-306.

[36] Timoshenko S. P., Gere J. M. 1987. Mechanics of Materials. PWS


Publishing Company.

[37] Turkkila T. 1997. Kantavien rakenteiden diskreetti optimointi. Lisen-


siaatintyö, Tampereen teknillinen korkeakoulu, Teknillinen meka-
niikka.

[38] Turkkila T. 2003. Topology Optimization of Plane Frames with


Stability Constraint. Väitöskirja, Tampereen teknillinen yliopisto,
Teknillisen mekaniikan ja optimoinnin laitos.

[39] Vanderplaats G. 1999. Numerical Optimization Techniques for


Engineering Design. Vanderplaats Research & Development.

[40] Yates D. F., Templeman A. B., Boffey T. B. 1982. The complexity of


procedures for determining minimum weight trusses with discrete
member sizes. International Journal of Solids and Structures, Vol.
18, No. 6, 487-495.
Liite 1. Rautaruukin suorakaiteen muotoiset suositussarjan putkipalkit
(RHS-putket) [33].

h [mm] b [mm] t [mm] r [mm] h [mm] b [mm] t [mm] r [mm]


1. 50 30 2 4 43. 150 100 8 20
2. 60 40 2 4 44. 160 80 4 8
3. 60 40 2,5 5 45. 160 80 5 10
4. 70 50 2 4 46. 160 80 6 12
5. 70 50 2,5 5 47. 160 90 7,1 17,75
6. 70 50 3 6 48. 180 100 5 10
7. 80 40 2,5 5 49. 180 100 6 12
8. 80 60 2 4 50. 180 100 7,1 17,75
9. 80 60 2,5 5 51. 180 100 8 20
10. 80 60 3 6 52. 200 80 6 12
11. 80 60 4 8 53. 200 100 5 10
12. 90 50 2,5 5 54. 200 100 6 12
13. 90 50 3 6 55. 200 100 8 20
14. 100 40 2,5 5 56. 200 120 5 10
15. 100 50 2,5 5 57. 200 120 6 12
16. 100 50 3 6 58. 200 120 8 20
17. 100 60 2 4 59. 200 120 10 25
18. 100 60 2,5 5 60. 220 120 6 12
19. 100 60 3 6 61. 220 120 8 20
20. 100 60 4 8 62. 220 120 10 25
21. 100 80 3 6 63. 250 150 5 10
22. 100 80 4 8 64. 250 150 6 12
23. 100 80 5 10 65. 250 150 8 20
24. 100 80 6 12 66. 250 150 10 25
25. 120 60 3 6 67. 250 150 12,5 37,5
26. 120 60 4 8 68. 260 140 6 12
27. 120 80 3 6 69. 260 140 8 20
28. 120 80 4 8 70. 260 140 10 25
29. 120 80 5 10 71. 260 180 6 12
30. 120 80 6 12 72. 260 180 8 20
31. 140 70 4 8 73. 260 180 10 25
32. 140 70 5 10 74. 300 100 5 10
33. 140 80 3 6 75. 300 100 6 12
34. 140 80 4 8 76. 300 100 8 20
35. 140 80 5 10 77. 300 200 6 12
36. 140 80 6 12 78. 300 200 8 20
37. 140 80 6,3 15,75 79. 300 200 10 25
38. 150 100 3 6 80. 300 200 12,5 37,5
39. 150 100 4 8 81. 400 200 6 12
40. 150 100 5 10 82. 400 200 8 20
41. 150 100 6 12 83. 400 200 10 25
42. 150 100 6,3 15,75 84. 400 200 12,5 37,5
Liite 2. 12 vapausasteen avaruuspalkkielementin jäykkyysmatriisi k,
konsistentti massamatriisi m ja geometrinen jäykkyysmatriisi
k g.
y

2 8
5 1 L, A, I y, Iz, I v 11
7
6
3 4 12 10 x
9
z
Liite 3. Esimerkki testiongelmissa käytetyn optimointiohjelman lähtötie-
dostosta.

! Syötettävät asiat annetaan määrättyjen koodisanojen jälkeen tietyssä muodossa. Huutomerkki


! aloittaa aina kommenttirivin.
!
! Suunnitelmissa olleen esikäsittelijän kirjoittama tunnisteteksti syöttötiedoston alussa.
Date&Source:
Itse käsin kirjoitettu lähtötiedosto.
!
! Nimi lähtötiedostolle, joka tulostuu myös tulostiedoston alkuun.
Name:
8 palkin avaruuskehä
!
! Analysoidaanko (=1) vai optimoidaanko (=2) rakenne?
Action:
2
!
! Pisteet, joita käytetään solmujen määräämisen. (nro, x- y- ja z-koordinaatti)
Points:
1000
2060

!
! Materiaalitiedot. (materiaali nro, kimmomoduli, poissonnin vakio, tiheys, pituuden
! lämpötilakerroin ja myötöraja)
Material:
1 210000000000 0.3 7850 0.000012 350000000
!
! Käytössä oleva palkkien profiilin tyyppi. (1=RHS ainoa mahdollisuus tällä hetkellä)
Section_Type:
1
!
! Profiilien dimensiot. (RHS-putkella profiilinro, korkeus, leveys, seinämän paksuus ja nurkan
! säde)
Profiles:
1 0.050 0.030 0.002 0.004
2 0.060 0.040 0.002 0.004

!
! Elementit. (elementtinro, alkusolmu, loppusolmu, suuntasolmu, materiaalinro,
! profiilinro=alkuarvaus ja optimoitava palkkien ryhmä (0=ei osallistu optimointiin))
Elements:
1 4 8 3 1 65 1
2 3 7 9 1 65 2

!
! Tuenta. (nro, solmunro, siirtymä x-, y- ja z-suunnassa sekä rotaatio x-, y- ja z- akselin
! ympäri, 0=estetty ja 1=vapaa )
Supports:
11000000
22000000

!
! Kuormitukset solmuilla. (solmunro, voima x-, y- ja z- suunnassa sekä momentti x-, y- ja z-
! akselin ympäri)
Forces:
7 0 0 -600000 0 0 0
8 0 30000 0 0 0 0
!
! Viivakuormat elementeillä. (elementtinro, intensiteetit qx, qy ja qz alkusolmussa sekä
! intensiteetit qx, qy ja qz loppusolmussa)
Distributed_Forces:
!
! Kehän kokema lämpötilan muutos.
Temperature:
0
!
! Huomioidaanko kehän oma paino? (0=ei ja 1=kyllä)
Gravity:
0
!
! Siirtymärajoitusehdot (solmunro, siirtymän alaraja ja yläraja kullekin vapausasteelle, kun
! inf=ääretön)
Displacement_Constraints:
8 -inf inf -inf 0.07 -inf inf -inf inf -inf inf -inf inf
!
! Suurin sallittu VVEH:n mukaisen vertailujännityksen arvo kullekin elementille.
(elementtinro,
! maksimijännitys)
Stress_Constraints:
1 237000000
2 237000000

!
! Huomioidaanko yksittäisten palkkien nurjahdus. (0=ei, 1=kyllä koskien optimoitavia
! elementtejä ja 2=kyllä koskien kaikkia elementtejä)
Local_Buckling_Constraints:
1
!
! Huomioidaanko lineaarisen stabiilisuusteorian mukainen nurjhdus? (0=ei ja 1=kyllä)
Global_Buckling_Constraints:
0
!
! Kielletyt välit ominaistaajuuksille. (välin nro, alaraja ja yläraja)
Frequency_Constraints:
1 20 25
2 30 40

!
! Optimoinnissa kullekin elementille mahdolliset profiilit aikaisemmin annetuista
! vaihtoehdoista.
Feasible_Set:
1 1 9 17 25 33 41 49 57 65 73 81
2 1 9 17 25 33 41 49 57 65 73 81

!
! Jännitysrajoitusehdon varmuusluku.
Stress_Safety_Factor:
1
!
! Varmuusluku palkkien ja koko kehän nurjahtamisen suhteen.
Buckling_Safety_Factor:
1
!
! Optimointialgoritmi parametreineen (1=SA, 2=TS ja 3=GA + algoritmista riippuva määrä
! eri parametreja)
Algorithm:
3 0 1 50 120 0.8 0.01 1 200 2 0.4 25 0
!
Liite 4. Esimerkki testiongelmissa käytetyn optimointiohjelman tulostie-
dostosta.
Date:
07-May-2004 12.19.32

Name:
8 palkin avaruuskehä

Action:
optimization

Sections:
rectangular RHS (h, b, t, r)
1. 0.4000 0.2000 0.0060 0.0120
2. 0.2600 0.1800 0.0100 0.0250
3. 0.0500 0.0300 0.0020 0.0040
4. 0.0500 0.0300 0.0020 0.0040
5. 0.0500 0.0300 0.0020 0.0040
6. 0.0500 0.0300 0.0020 0.0040
7. 0.0500 0.0300 0.0020 0.0040
8. 0.0500 0.0300 0.0020 0.0040

Displacements (Fx, Fy, Fz, Rx, Ry, Rz):


1. +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000
2. +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000
3. +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000
4. +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000 +0.00000000
5. +0.00005666 +0.01568505 +0.00000127 -0.00195127 +0.00002163 +0.00286961
6. -0.00005484 +0.01568503 -0.00000138 -0.00193585 +0.00034488 +0.00272786
7. -0.00005408 +0.04557457 -0.00212805 -0.01137088 -0.00001266 +0.00003068
8. +0.00005585 +0.04653349 +0.00000030 -0.01162194 +0.00001391 +0.00002311

Reduced stresses:
1. 163190145.1602
2. 178455930.6868
3. 10730655.4291
4. 10425610.8557
5. 13852172.0658
6. 92294222.7276
7. 14447969.8914
8. 17925320.7941

Local buckling:
1. Inf
2. 4.3545
3. 694.7741
4. Inf
5. 1182.7575
6. 1.0029
7. Inf
8. 59903.0588

Global buckling:
1.0102

Natural frequencies:
1. 1.3603
2. 4.3348
3. 5.1946
4. 5.9194
5. 6.4342
6. 7.3964
7. 7.8637
8. 8.5595
9. 9.6537
10. 13.6713
11. 44.2783
12. 44.8547
13. 51.5195
14. 58.2775
15. 76.0552
16. 87.5611
17. 131.1587
18. 145.3610
19. 152.6403
20. 185.4940
21. 191.6591
22. 228.6539
23. 231.1755
24. 250.0396

Algorithm:
Genetic Algorithm

Object function in optimum point:


790.4380

Constraints in optimum point:


1. -0.23466510
2. -0.31143399
3. -0.24702139
4. -0.95472297
5. -0.95601008
6. -0.94155202
7. -0.61057290
8. -0.93903810
9. -0.92436574
10. -1.00003214
11. -0.77035332
12. -0.99856068
13. -1.00132403
14. -0.99915452
15. -0.00285813
16. -1.00078987
17. -0.99998331

Iterations:
120

FEM-analysis:
669

The evolution of object function:


Iteration FEM-analysis Objectfunction
1. 432 1030.1321
2. 461 931.0155

118. 669 790.4380
119. 669 790.4380
end
Liite 5. Rajoitusehtojen arvot testiongelmassa kaksi (kahdeksan palkin
kehä) parhailla rakenteilla, kun käytössä on 84 kpl profiileita.

Simuloitu jäähdytys:
Object function in optimum point:
648.5545

Constraints in optimum point:


1. -0.10752800 siirtymärajoitusehto
2. -0.12209079 palkin 1 jännitysrajoitusehto
3. -0.01319000 " 2 "
4. -0.91613427 " 3 "
5. -0.91501141 " 4 "
6. -0.92457995 " 5 "
7. -0.57585234 " 6 "
8. -0.90214522 " 7 "
9. -0.86409970 " 8 "
10. -1.00007822 palkin 1 nurjahdusrajoitusehto
11. -0.55858036 " 2 "
12. -0.99820849 " 3 "
13. -1.00345778 " 4 "
14. -0.99804201 " 5 "
15. -0.81063116 " 6 "
16. -1.00038386 " 7 "
17. -1.00037237 " 8 "

Tabuhaku:
Object function in optimum point:
770.4793

Constraints in optimum point:


1. -0.29704508 siirtymärajoitusehto
2. -0.43760160 palkin 1 jännitysrajoitusehto
3. -0.00018044 " 2 "
4. -0.95997639 " 3 "
5. -0.96166483 " 4 "
6. -0.95000663 " 5 "
7. -0.35215323 " 6 "
8. -0.94432499 " 7 "
9. -0.93632821 " 8 "
10. -1.00443573 palkin 1 nurjahdusrajoitusehto
11. -0.68071519 " 2 "
12. -0.99875568 " 3 "
13. -1.00108463 " 4 "
14. -0.99925461 " 5 "
15. -0.98365131 " 6 "
16. -1.00066858 " 7 "
17. -0.99999789 " 8 "
Geneettinen algoritmi:
Object function in optimum point:
626.1657

Constraints in optimum point:


1. -0.21788367 siirtymärajoitusehto
2. -0.53219262 palkin 1 jännitysrajoitusehto
3. -0.00007427 " 2 "
4. -0.95635732 " 3 "
5. -0.95147165 " 4 "
6. -0.94116112 " 5 "
7. -0.37773640 " 6 "
8. -0.93611252 " 7 "
9. -0.92551843 " 8 "
10. -1.00716099 palkin 1 nurjahdusrajoitusehto
11. -0.80087103 " 2 "
12. -0.99871005 " 3 "
13. -1.00125553 " 4 "
14. -0.99917437 " 5 "
15. -0.92785261 " 6 "
16. -1.00082588 " 7 "
17. -1.00010728 " 8 "
Liite 6. Rajoitusehtojen arvot testiongelmassa kaksi (kahdeksan palkin
kehä) parhailla rakenteilla, kun käytössä on 11 kpl profiileita.

Simuloitu jäähdytys:
Object function in optimum point:
690.0025

Constraints in optimum point:


1. -0.17815667 siirtymärajoitusehto
2. -0.22781931 palkin 1 jännitysrajoitusehto
3. -0.09565900 " 2 "
4. -0.94876974 " 3 "
5. -0.95054287 " 4 "
6. -0.93447868 " 5 "
7. -0.61692083 " 6 "
8. -0.93015159 " 7 "
9. -0.91509464 " 8 "
10. -1.00003590 palkin 1 nurjahdusrajoitusehto
11. -0.67792566 " 2 "
12. -0.99834944 " 3 "
13. -1.00149018 " 4 "
14. -0.99904903 " 5 "
15. -0.25026641 " 6 "
16. -1.00087296 " 7 "
17. -0.99998572 " 8 "

Tabuhaku:
Object function in optimum point:
906.2623

Constraints in optimum point:


1. -0.31102857 siirtymärajoitusehto
2. -0.42693062 palkin 1 jännitysrajoitusehto
3. -0.00075643 " 2 "
4. -0.96148942 " 3 "
5. -0.96310116 " 4 "
6. -0.95194621 " 5 "
7. -0.58046155 " 6 "
8. -0.94628113 " 7 "
9. -0.94129393 " 8 "
10. -1.00676385 palkin 1 nurjahdusrajoitusehto
11. -0.67120629 " 2 "
12. -0.99889918 " 3 "
13. -1.00094690 " 4 "
14. -0.99927341 " 5 "
15. -0.99195477 " 6 "
16. -1.00065272 " 7 "
17. -0.99999885 " 8 "
Geneettinen algoritmi:
Object function in optimum point:
690.0025

Constraints in optimum point:


1. -0.17815667 siirtymärajoitusehto
2. -0.22781931 palkin 1 jännitysrajoitusehto
3. -0.09565900 " 2 "
4. -0.94876974 " 3 "
5. -0.95054287 " 4 "
6. -0.93447868 " 5 "
7. -0.61692083 " 6 "
8. -0.93015159 " 7 "
9. -0.91509464 " 8 "
10. -1.00003590 palkin 1 nurjahdusrajoitusehto
11. -0.67792566 " 2 "
12. -0.99834944 " 3 "
13. -1.00149018 " 4 "
14. -0.99904903 " 5 "
15. -0.25026641 " 6 "
16. -1.00087296 " 7 "
17. -0.99998572 " 8 "
Liite 7. Rajoitusehtojen arvot testiongelmassa kolme (kahdenkymmenen
kuuden palkin kehä) parhailla rakenteilla.

Simuloitu jäähdytys:
Object function in optimum point:
1309.2184

Constraints in optimum point:


1. -0.54753316 palkin 1 jännitysrajoitusehto
2. -0.47132626 " 2 "
3. -0.29996768 " 3 "
4. -0.09325813 " 4 "
5. -0.85645071 " 5 "
6. -0.87312869 " 6 "
7. -0.92458124 " 7 "
8. -0.06577817 " 8 "
9. -0.63757536 " 9 "
10. -0.66116157 " 10 "
11. -0.23488537 " 11 "
12. -0.10154127 " 12 "
13. -0.86648756 " 13 "
14. -0.51104256 " 14 "
15. -0.78651875 " 15 "
16. -0.37228371 " 16 "
17. -0.45315570 " 17 "
18. -0.72790161 " 18 "
19. -0.82872673 " 19 "
20. -0.89424338 " 20 "
21. -0.73609738 " 21 "
22. -0.55663037 " 22 "
23. -0.97172513 " 23 "
24. -0.53727469 " 24 "
25. -0.99418989 " 25 "
26. -0.81388105 " 26 "
27. -2.04581463 palkin 1 nurjahdusrajoitusehto
28. -0.65242872 " 2 "
29. -0.15763444 " 3 "
30. -1.10021914 " 4 "
31. -0.97690079 " 5 "
32. -0.99701565 " 6 "
33. -0.99835270 " 7 "
34. -1.03870418 " 8 "
35. -1.20102272 " 9 "
36. -0.59871956 " 10 "
37. -0.91252255 " 11 "
38. -1.15994144 " 12 "
39. -1.00110724 " 13 "
40. -0.41769578 " 14 "
41. -0.99985352 " 15 "
42. -0.95856027 palkin 16 nurjahdusrajoitusehto
43. -5.99204291 " 17 "
44. -0.21274451 " 18 "
45. -0.35912557 " 19 "
46. -0.99480287 " 20 "
47. -0.79716190 " 21 "
48. -8.79398574 " 22 "
49. -0.99984292 " 23 "
50. -10.0828671 " 24 "
51. -1.00006294 " 25 "
52. -1.92650005 " 26 "
53. -0.06809513 globaali nurjahdusrajoitusehto
54. -0.01389904 ominaistaajuusrajoitusehto

Tabuhaku:
Object function in optimum point:
1651.9636

Constraints in optimum point:


1. -0.42928153 palkin 1 jännitysrajoitusehto
2. -0.36924320 " 2 "
3. -0.01547506 " 3 "
4. -0.02633847 " 4 "
5. -0.77447058 " 5 "
6. -0.56466832 " 6 "
7. -0.76584059 " 7 "
8. -0.00051190 " 8 "
9. -0.69853581 " 9 "
10. -0.66283269 " 10 "
11. -0.01343115 " 11 "
12. -0.07102630 " 12 "
13. -0.76429179 " 13 "
14. -0.56230696 " 14 "
15. -0.65917038 " 15 "
16. -0.35069017 " 16 "
17. -0.76094190 " 17 "
18. -0.82176321 " 18 "
19. -0.83254192 " 19 "
20. -0.83070308 " 20 "
21. -0.68628227 " 21 "
22. -0.66679025 " 22 "
23. -0.93931713 " 23 "
24. -0.85980273 " 24 "
25. -0.98055795 " 25 "
26. -0.84134297 " 26 "
27. -1.24715859 palkin 1 nurjahdusrajoitusehto
28. -0.62260999 " 2 "
29. -0.86535091 " 3 "
30. -1.13051274 " 4 "
31. -0.99676638 " 5 "
32. -1.00037714 palkin 6 nurjahdusrajoitusehto
33. -1.00320116 " 7 "
34. -1.00114947 " 8 "
35. -1.11513760 " 9 "
36. -0.81659361 " 10 "
37. -0.88851659 " 11 "
38. -1.11125963 " 12 "
39. -1.00049264 " 13 "
40. -0.80020794 " 14 "
41. -0.99876066 " 15 "
42. -0.96233586 " 16 "
43. -1.31906952 " 17 "
44. -0.75317545 " 18 "
45. -0.68811689 " 19 "
46. -1.00000852 " 20 "
47. -0.85798353 " 21 "
48. -1.28913629 " 22 "
49. -1.00028983 " 23 "
50. -1.22729026 " 24 "
51. -1.00001027 " 25 "
52. -1.20534870 " 26 "
53. -1.72093578 globaali nurjahdusrajoitusehto
54. -0.00764701 ominaistaajuusrajoitusehto

Geneettinen algoritmi:
Object function in optimum point:
1331.3858

Constraints in optimum point:


1. -0.35481022 palkin 1 jännitysrajoitusehto
2. -0.46486765 " 2 "
3. -0.13590807 " 3 "
4. -0.13192195 " 4 "
5. -0.87610311 " 5 "
6. -0.76627099 " 6 "
7. -0.84705517 " 7 "
8. -0.22080985 " 8 "
9. -0.50366109 " 9 "
10. -0.80263143 " 10 "
11. -0.03125740 " 11 "
12. -0.21063435 " 12 "
13. -0.83068207 " 13 "
14. -0.32812477 " 14 "
15. -0.82711115 " 15 "
16. -0.18695849 " 16 "
17. -0.24413267 " 17 "
18. -0.70035426 " 18 "
19. -0.90654976 " 19 "
20. -0.86256401 " 20 "
21. -0.67862602 " 21 "
22. -0.35886111 palkin 22 jännitysrajoitusehto
23. -0.97186926 " 23 "
24. -0.93997176 " 24 "
25. -0.94929116 " 25 "
26. -0.66674229 " 26 "
27. -5.21775196 palkin 1 nurjahdusrajoitusehto
28. -0.07059876 " 2 "
29. -0.88699945 " 3 "
30. -7.45444446 " 4 "
31. -1.00031978 " 5 "
32. -1.01465879 " 6 "
33. -1.00243430 " 7 "
34. -0.96445213 " 8 "
35. -5.17985055 " 9 "
36. -0.83144010 " 10 "
37. -0.35476831 " 11 "
38. -1.04772465 " 12 "
39. -0.99946627 " 13 "
40. -0.01428828 " 14 "
41. -0.99827744 " 15 "
42. -0.99613295 " 16 "
43. -12.66693746 " 17 "
44. -0.31854601 " 18 "
45. -0.88925242 " 19 "
46. -1.00286845 " 20 "
47. -0.48482644 " 21 "
48. -8.48347052 " 22 "
49. -1.00121931 " 23 "
50. -1.12270275 " 24 "
51. -0.99981561 " 25 "
52. -6.98295748 " 26 "
53. -0.00028836 globaali nurjahdusrajoitusehto
54. -0.00275494 ominaistaajuusrajoitusehto

You might also like