Metaheuristiikat logistiikan optimoinnissa

Koko: px
Aloita esitys sivulta:

Download "Metaheuristiikat logistiikan optimoinnissa"

Transkriptio

1 Pekka Hotokka Metaheuristiikat logistiikan optimoinnissa Tietotekniikan kandidaatintutkielma 17. kesäkuuta 2008 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä

2 Tekijä: Pekka Hotokka Yhteystiedot: Työn nimi: Metaheuristiikat logistiikan optimoinnissa Title in English: Metaheuristics for optimization of logistics Työ: Tietotekniikan kandidaatintutkielma Sivumäärä: 26 Tiivistelmä: Tässä tutkielmassa käydään läpi logistiikan optimointia, ja erityisesti sellaisia metaheuristiikoiksi kutsuttuja ratkaisumenetelmiä, jotka sopivat hyvin logistiikan optimointiongelmien ratkaisemiseen. English abstract: This thesis includes introduction to optimization of logistics and concentrates more on metaheuristics, which are efficient solving methods for logistics optimization problems Avainsanat: logistiikka, optimointi, heuristiikka, metaheuristiikka, kauppamatkustajan ongelma, ajoneuvojen reititysongelma Keywords: logistics, optimization, heuristics, metaheuristics, travelling salesman problem, vehicle routing problem, TSP, VRP

3 Sisältö 1 Johdanto 1 2 Optimoinnista Optimointitehtävän matemaattinen malli Erilaisia optimointitehtäviä ja ratkaisumenetelmiä Kombinatoriset optimointiongelmat ja NP-täydellisyys Logistiikan optimointi Sovelluksia ja ongelmia Kauppamatkustajan ongelma Ajoneuvojen reititysongelma Heuristiset ja metaheuristiset ratkaisumenetelmät Heuristiset algoritmit Metaheuristiikat Perinteiset metaheuristiikat Geneettiset algoritmit Simuloitu jäähdytys Tabuetsintä Neuroverkot Ant Colony Optimization ACO-menetelmän perusteet ACO:n paradigmoja Menetelmän toimivuudesta ja kehityksestä Guided Local Search Ratkaisun ominaisuudet ja täydennetty kustannusfunktio GLS VRP-ongelmissa Active Guided Evolution Strategies Edge Assembly Crossover EAX-menetelmän perusteet VRP:ssä Menetelmän toimivuudesta i

4 9 Menetelmien erot ja yhtäläisyydet Satunnaisuus Muistin käyttö Korjaavien menetelmien käyttö Tulosten vertailusta menetelmien välillä Yhteenveto 20 Lähteet 21 ii

5 1 Johdanto Optimoinnin tarkoituksena on etsiä annetulle ongelmalle paras mahdollinen ratkaisu annettujen ehtojen perusteella. Usein parhaan mahdollisen ratkaisun selvittämiseksi ongelmasta muodostetaan matemaattinen malli, joka ratkaistaan kyseiselle mallille sopivalla optimointimenetelmällä. Logistiikan ja ajoneuvojen reitityksen tehostamista on tutkittu jo pitkään, mutta vasta viimeisen kymmenen vuoden aikana on pystytty kehittämään menetelmiä, joilla voidaan ratkaista tehokkaasti käytännössä esiintyviä ongelmia. Tämä opinnäyte esittelee muutamia uusia metaheuristiikoiksi kutsuttuja logistiikan optimointiongelmiin soveltuvia yleiskäyttöisiä ratkaisumenetelmiä. Ensimmäisenä luvussa 2 kuvataan optimointitehtävien yleistä luonnetta, esitellään erilaisia optimointitehtäviä ja perehdytään tarkemmin kombinatorisiin optimointiongelmiin, jotka liittyvät läheisesti logistiikan optimointiin. Kolmannessa luvussa käsitellään optimointia logistiikan näkökulmasta, sen ongelmia ja sovelluksia, sekä esitellään kaksi tärkeintä logistiikan optimointiin liittyvää tehtävätyyppiä. Neljäs luku toimii johdantona heuristisiin ja metaheuristisiin ratkaisumenetelmiin. Luvuissa 5-8 esitellään tarkemmin metaheuristiikkoja; Luku 5 käsittelee jo pidempään käytössä olleita menetelmiä ja luvut 6-8 viime vuosien aikana kehitettyjä menetelmiä. Lopuksi ennen yhteenvetoa luvuissa 9-10 käsitellään eri metaheuristiikoista löytyvien ominaisuuksien eroja ja yhtäläisyyksiä, sekä ongelmia eri metaheuristiikkojen välisessä tehokkuuden vertailussa. 2 Optimoinnista Vaikka kaikista optimointitehtävistä ei ole tarpeellista tai edes mahdollista muodostaa matemaattista mallia, niin mallin muodostaminen on kuitenkin välttämätöntä siinä tapauksessa että tehtävä halutaan ratkaista (tietokoneella) laskennallisesti. Matemaattisen mallin muodostaminen on erittäin tärkeä osa optimointitehtävän ratkaisemista, koska saadun tuloksen käyttökelpoisuus ja oikeellisuus riippuu hyvin paljon siitä kuinka tarkasti malli kuvaa alkuperäistä ongelmaa. Mallin muodostaminen ja sen ominaisuudet riippuvat hyvin paljon annetusta tehtävästä, joten tehtävien mallintamista ei käsitellä tämän enempää. [13, luku 1] 1

6 2.1 Optimointitehtävän matemaattinen malli Optimointitehtävän matemaattisessa mallissa tarvitaan optimoitava suure, joka yleensä esitetään funktiona. Yleinen optimointitehtävän malli esitetään yleensä muodossa: minimoi f(x), kun x S, jossa f(x) on optimoitava funktio, jota kutsutaan tavoitefunktioksi tai kustannusfunktioksi. S on optimointitehtävän sallittu alue, jonka sisällä tehtävän ratkaisun tulee sijaita. Sallittu alue S voidaan esittää epäyhtälörajoitteiden g i ja yhtälörajoitteiden h j joukkona, joiden leikkausjoukko S on. g i 0 kaikilla i = 1,..., m h i = 0 kaikilla j = 1,..., l Optimointitehtävän ratkaisemiseen käytettävän menetelmän tarkoituksena on siis löytää funktiolle f(x) mahdollisimman pieni arvo, siten että kaikki rajoitteet g i ja h j ovat voimassa. Jos tehtävä olisi etsiä mahdollisimman suurta arvoa funktiolle f(x), olisi kyseessä maksimointitehtävä, joka voidaan kuitenkin palauttaa kaavan (1) muotoon minimoimalla funktiota f(x). Pistettä x 0 jossa f( 0 ) saavuttaa pienemmän arvon kuin missään kyseisen pisteen pienessä ympäristössä (ympäristön määritelmä riippuu tehtävän määrittelystä) kutsutaan lokaaliksi optimipisteeksi. Jos pienin arvo on samalla pienin arvo myös koko sallitussa alueessa, niin kyse on globaalista optimipisteestä. Optimointitehtävällä voi siis olla useita lokaaleja optimipisteitä, joissa tavoitefunktion arvo on huonompi kuin globaalissa optimipisteessä. Jos tehtävällä on useita globaaleja optimipisteitä, niin niissä tavoitefunktion arvo on aina sama. Useille tehtäville on kuitenkin vaikeaa tai jopa mahdotonta määrittää globaalia optimia tai tarkistaa onko lokaali optimipiste samalla myös globaalioptimipiste. Useat menetelmät hakevatkin vain tehtävän lokaalia minimiä, koska sen etsiminen on huomattavasti helpompaa. [13, luku 1] 2.2 Erilaisia optimointitehtäviä ja ratkaisumenetelmiä Koska optimoitavia asioita löytyy hyvin monenlaisista kohteista, niin myös niistä muodostettavien tehtävien ominaisuudet saattavat poiketa toisistaan hyvinkin paljon ja samalla niiden ratkaisemiseen käytettävät menetelmät saattavat olla hyvinkin 2

7 erilaisia. Vaikka joidenkin yksinkertaisten tehtävien ratkaiseminen saattaa olla mahdollista analyyttisesti, niin yleensä ratkaisumenetelmät ovat iteratiivisia algoritmeja, jotka kehittävät tehtävän optimiratkaisua lähestyvän sarjan ratkaisuja. Seuraavissa kappaleissa esitellään joitakin ominaisuuksiltaan erityyppisiä optimointitehtäviä, ja niille tyypillisiä ratkaisumenetelmiä. Lineaarisessa optimoinnissa sekä tavoitefunktio, että rajoitteet ovat lineaarisia funktioita. Lineaariset optimointitehtävät ratkaistaan usein simplex algoritmiin perustuvilla menetelmillä. Epälineaarisessa optimoinnissa puolestaan, joko tavoitefunktio, yksi tai useampi rajoitefunktio, tai molemmat ovat epälineaarisia. Erilaisia ratkaisumenetelmiä tehtäville on useita, mutta monet niistä perustuvat funktioiden derivaattojen käyttöön. Kokonaislukuoptimointi tarkoittaa sitä että muiden rajoitteiden lisäksi tehtävän muuttujat saavat saada ainoastaan kokonaislukuarvoja. Ratkaisumenetelmät riippuvat tehtävä muista ominaisuuksista, koska tehtävä voi olla esimerkiksi lineaarinen tai epälineaarinen. Monitavoiteoptimoinnissa on nimensä mukaisesti tarkoitus optimoida montaa, mahdollisesti ristiriitaista, asiaa samaan aikaan, eli optimoitavia tavoitefunktioita on useampi kuin yksi. Monissa monitavoiteoptmoinnin menetelmissä tarvitaan päätöksentekijää valitsemaan sopivin muodostetuista ratkaisuvaihtoehdoista. Kombinatorinen optimointitehtävä on sellainen, jossa sallittujen ratkaisujen määrä on äärellinen. Koska tärkeimmät logistiikan optimointiin liittyvät tehtävät ovat luonteeltaan kombinatorisia, niin tätä tehtävätyyppiä käsitellään enemmän luvussa 2.3. Tehtävätyyppien luokitteluja on olemassa myös monia muita ja osa tehtävistä saattaa sisältää myös useamman kuin yhden luokan ominaisuuksia. [13, luku 1] [19] 2.3 Kombinatoriset optimointiongelmat ja NP-täydellisyys Yhteistä kaikille kombinatorisille optimointiongelmille on se, että niillä on äärellinen määrä sallittuja ratkaisuja. Tällaisen tehtävän rajoitteet ovat diskreettejä ja rajoitettuja, eli esimerkiksi kokonaislukuja joltain äärelliseltä väliltä. Teoriassa kombinatorinen optimointiongelma voidaan ratkaista muodostamalla kaikki mahdolliset sallitut ratkaisut ja valitsemalla niistä paras. Käytännössä useat tehtävät ovat sellaisia, että tehtävän koon (muuttujien määrän) kasvaessa, sallittujen ratkaisujen määrä kasvaa huomattavasti nopeammin, esimerkiksi eksponentiaalisesti. Seurauksena tästä on se että vaikka pienet ongelmat ratkeaisivat suhteellisen helposti, niin 3

8 hieman suuremmilla ongelmilla kaikkien ratkaisujen läpikäyminen on käytännössä mahdotonta. Tyypillisiä esimerkkejä kombinatorisista optimointitehtävistä ovat töidenjärjestelytehtävä ja kauppamatkustajan ongelma. Töidenjärjestelytehtävässä on n kappaletta tehtäviä ja m kappaletta koneita, sekä jokaiselle tehtävälle konekohtaiseen käsittelyyn kuluva aika. Tavoitteena on järjestää tehtävät koneille, niin että ensimmäisen työn aloituksesta viimeisen työn valmistumiseen kuluu mahdollisimman vähän aikaa. Kauppamatkustajan ongelmassa on tarkoituksena löytää lyhin reitti annettujen kaupunkien välillä, niin että kaikissa kaupungeissa käydään täsmälleen kerran. Kauppamatkustajan ongelmaan perehdytään tarkemmin luvussa 3.2. [19, luku 5] Molemmat yllä esitetyt ongelmat, monien muiden ongelmien lisäksi, kuuluvat vaikeasti ratkeavien NP-täydellisten (NP-complete = "non-deterministic polynomial time-complete) ongelmien luokkaan, joille ei ole löydetty ongelman koon suhteen polynomisesti rajatussa ajassa toimivaa ratkaisualgoritmia. Koska tällaisen algoritmin löytyminen on hyvin epätodennäköistä, niin on kehitetty paljon menetelmiä, jotka pyrkivät löytämään lähellä optimia olevan ratkaisun kohtuullisessa ajassa. Näitä menetelmiä kutsutaan heuristiikoiksi ja niitä käsitellään tarkemmin luvussa 4. [2] 3 Logistiikan optimointi Logistiikan tarkoituksena on huolehtia siitä, että tarvittavat resurssit ovat oikeassa paikassa oikeaan aikaan. Logistiikka kattaa resurssien hankinnan, niiden varastoinnin ja kuljetuksen. Resursseilla voidaan tässä yhteydessä tarkoittaa esimerkiksi tavaroita, ihmisiä tai palveluita. Varsinaiseksi tieteenalaksi logistiikka alkoi toisen maailmasodan aikana, kun armeijoiden vaatimia materiaalivirtoja piti alkaa suunnitella järjestelmällisesti luvulla myös liiketoiminta kehittyi ja laajentui niin paljon, että monimutkaisten raaka-aine ja tavarantoimitusten suunnittelua alettiin kehittää yhä enemmän. [18] Nykyään logistiikkaa pidetään yritysten ja organisaatioiden tärkeimpänä toimintona, jonka taloudellinen vaikutus on hyvin suuri. Niinpä onnistuneella logistiikkaketjun optimoinnilla voidaankin saavuttaa huomattavia taloudellisia säästöjä tai kilpailuetuja muihin yrityksiin nähden, parantuneen palvelutason muodossa. 4

9 3.1 Sovelluksia ja ongelmia Logistiikan alalla on monia mahdollisuuksia optimointiin ja kuljetus ja jakelutoiminnan osalla ne voidaan jakaa kolmelle tasolle. Strategisen tason suunnittelussa pyritään sijoittamaan varastot, varikot ja muut toimitilat tehokkaasti. Taktisella tasolla optimoidaan tarvittavan kuljetuskaluston kokoa ja tyyppiä. Toiminnallisen tason optimoinnissa pyritään tekemään ajoreiteistä ja aikatauluista mahdollisimman kustannustehokkaat. Toiminnallisen tason optimointia suoritetaan yleensä kauppamatkustajan- tai ajoneuvojen reititysongelman avulla, jotka esitellään seuraavissa luvuissa. Molempien reititysongelmien hankaluutena, on se että ne ovat hyvin NP- täydellisinä hankalia ratkaista tarkasti, ja monissa käytännön tilanteissa ajoreitteihin tarvitsee tehdä muutoksia pienellä varoitusajalla, tai jopa kesken reitin ajamisen. Tällaisia tilanteita varten tarvitaan nopeita heuristisia ratkaisumenetelmiä. 3.2 Kauppamatkustajan ongelma Kauppamatkustajan ongelmassa (Traveling Salesman Problem, TSP) on annettuna n kappaletta paikkakuntia (tai muita kohteita, solmuja) ja niiden väliset etäisyydet. Tehtävänä on löytää niiden välille mahdollisimman lyhyt reitti siten että lähdetään paikkakunnalta 1 ja käydään kaikilla muilla paikkakunnilla täsmälleen kerran ja palataan lopuksi paikkakunnalle 1. Kuvassa 1 on esitetty eräs sallittu ratkaisu pienelle kauppamatkustajan ongelmalle. Kauppamatkustajan ongelma kombinatorinen, mutta mahdollisten ratkaisuvaihtoehtojen määrä on n!, jolloin jo 20 paikkakunnan tapauksessa sallittuja ratkaisuja on yli Monissa tapauksissa edellytetään että paikkakuntien välisissä etäisyyksissä on voimassa kolmioepäyhtälö, eli kaikki paikkakunnat sijaitsevat samassa euklidisessa tasossa ( TSP). Lisäksi voidaan vaatia että etäisyydet ovat symmetrisiä, eli paikkakunnalta a on yhtä pitkä matka paikkakunnalle b, kuin b:ltä on a:lle. Näillä ehdoilla voidaan mahdollisten ratkaisujen määrää karsia, mutta silti suurilla ongelmilla ratkaisuja on hyvin paljon. Jälkimmäistä ehtoa ei myöskään ole aina mahdollista täyttää, esimerkiksi silloin kun reitti sisältää yksisuuntaisia osia. Varsinaisen reitityksen ohella kauppamatkustajan ongelmalle on myös muita sovelluskohteita, esimerkiksi piirilevylle porattavien reikien porausjärjestys niin että se saadaan tehtyä mahdollisimman nopeasti, on optimoitavissa kauppamatkustajan ongelman avulla. 5

10 Kuva 1: Kauppamatkustajan ongelman esimerkkiratkaisu. 3.3 Ajoneuvojen reititysongelma Ajoneuvojen reititysongelma (Vehicle Routing Problem, VRP), on kauppamatkustajan ongelman yleistys, jossa on yhdeltä varikolta lähteviä useita ajoneuvoja kiertämässä kohteita, sekä kaikille kohteille on määrätty tarve ja ajoneuvoille maksimikapasiteetti. Yksi ajoneuvo voi siis kiertää vain niin monta kohdetta, kuin mihin sen kapasiteetti riittää, jonka jälkeen sen on palattava varikolle. VRP:ssä pyritään ajettavan matkan lisäksi usein myös minimoimaan tarvittavien ajoneuvojen määrä. Ajoneuvojen reititysongelma on tyypillinen kaikelle jakelutoiminnalle, jossa esimerkiksi tuotteita jaetaan keskusvarastolta jälleenmyyjille. Kuvassa 2 on esimerkki VRP:n mahdollisesta ratkaisusta Ajoneuvojen reititysongelma on monimutkaisuudeltaan ja sallittujen ratkaisujen määrältään yleensä huomattavasti vastaavan kokoista kauppamatkustajan ongelmaa suurempi, jolloin mahdollisuus tarkan ratkaisun etsimiseen on harvinaista. Nykyisin yli 50 kohteen reititysongelmat voidaan ratkaista tarkoilla menetelmillä vain joissakin erikoistapauksissa. Ajoneuvojen reititysongelman perusmalli ei ole aina riittävä, vaan todellisissa tilanteissa tarvitaan usein rajoituksia, jotka tekevät tehtävästä vielä monimutkaisemman. Palveltavilla kohteilla saattaa olla esimerkiksi aikarajoituksia, joiden sisällä käynti on suoritettava (VRPTW), jakelun lisäksi reitin varrella saattaa olla noutoja tai käytössä saattaa olla useampi varikko, joilta ajoneuvot voivat lähteä. Myös monia muita muunnoksia ja niiden yhdistelmiä on olemassa. 6

11 Kuva 2: Ajoneuvojen reititysongelman esimerkkiratkaisu. 4 Heuristiset ja metaheuristiset ratkaisumenetelmät Heuristisen ratkaisumenetelmän tavoitteena on löytää mahdollisimman lähellä optimia oleva ratkaisu kohtuullisessa ajassa, silloin kun tehtävän tarkka ratkaiseminen on mahdotonta tai liikaa aikaa vievää. Tavallisten heurististen algoritmien toteutus riippuu yleensä paljon annetusta tehtävästä, kun taas metaheuristiset algoritmit puolestaan ovat yleiskäyttöisempiä menetelmiä ratkaisuavaruuden tehokkaaseen läpikäymiseen. 4.1 Heuristiset algoritmit Heuristinen algoritmi on siis menetelmä joka pyrkii ratkaisemaan annetun tehtävän lähelle tarkkaa optimiratkaisua. Heuristiset menetelmät voidaan jakaa kolmeen päätyyppiin. Rakentamismenetelmät pyrkivät suoraan muodostamaan hyvän valmiin ratkaisun tyhjästä lähtien. Korjaavan menetelmän tarkoituksena on yrittää parantaa jo olemassa olevaan ratkaisua, korjaamalla sitä pienen paikallisen muutoksen avulla parempaan suuntaan. Tätä voidaan toistaa kunnes parempaan suuntaan tapahtuvaa korjausta ei enää löydy, tällöin on päädytty lokaaliin optimipisteeseen. Yhdistetyn ja toistetun menetelmän periaatteena on luoda useita alkuratkaisuja (satunnaisesti tai eri rakentamismenetelmillä), joita kaikkia parannetaan korjaavilla menetelmillä ja lopuksi valitaan saaduista ratkaisuista paras. Kauppamatkustajan ongelmalle yksinkertaisin rakentamismenetelmä on lähim- 7

12 män naapurin menetelmä, jossa aloitussolmun jälkeen reittiin lisätään jäljellä olevista solmuista se, johon edellistä solmusta on lyhin etäisyys. Menetelmä ei usein anna kovin hyviä tuloksia, mutta on erittäin yksinkertainen toteuttaa. Korjaavat menetelmät kauppamatkustajan ongelmassa perustuvat kahden tai useamman solmuparin välisten reittien uudelleen järjestelyyn. Menetelmät sopivat myös ajoneuvojen reititysongelman optimointiin, jossa voidaan lisäksi yrittää siirtää solmuja reittien välillä. Heurististen menetelmien ongelma on se, että saatujen tulosten hyvyyttä on hankala arvioida, koska tarkkaa optimia ei tiedetä. Menetelmän tehokkuutta voidaan testata vain kokeellisesti, ja silloinkin saadaan korkeintaan tilastollisia luotettavuuksia. [19] 4.2 Metaheuristiikat Metaheuristiikat ovat sellaisten menetelmien joukko, jotka toimivat korkeamman tason strategioina ohjaamassa optimaalisen ratkaisun hakuprosessia. Ne ovat moniin ongelmiin sopivia yleiskäyttöisiä menetelmiä, jotka tarvitsevat toimiakseen tehtäväkohtaisia algoritmeja ja heuristiikkoja. Metaheuristiikat pyrkivät välttämään lokaaliin optimipisteeseen juuttumista käyttämällä hyväkseen esimerkiksi satunnaisuutta tai useita rinnakkaisia ratkaisuja eli ratkaisupopulaatiota. Lisäksi kehittyneemmät menetelmät pitävät kirjaa ratkaisun kehittymisestä, jonka avulla ratkaisun hakuprosessia ohjataan. [2] Metaheuristiikkojen hyvänä puolena pidetään niiden monikäyttöisyyden lisäksi sitä, että ne pystyvät nopeasti löytämään ratkaisuavaruudesta ne alueet, joilta löytyy hyviä ratkaisuja, eivätkä tuhlaa liikaa aikaa kertaalleen tutkittujen tai huonoja ratkaisuja sisältävien alueiden tutkimiseen. Huonona puolena on puolestaan edelleen se, että saatujen ratkaisujen optimaalisuutta ei pystytä varmistamaan. Käytännössä metaheuristiikat ovat kuitenkin osoittautuneet hyvin tehokkaiksi menetelmiksi varsinkin monimutkaisten kombinatoristen ongelmien ratkaisemisessa. Vaikka metaheuristiikat pystyvät tehokkaasti pienentämään tutkittavaa ongelma-avaruutta, ovat ne varsinkin suurissa ja vaikeissa ongelmissa silti usein liian hitaita. [2] ja 1980-luvuilla alkunsa saaneet simuloitu jäähdytys, geneettiset algoritmit ja tabuhaku ovat ensimmäisiä optimoinnissa käytettyjä metaheuristiikkoja ja ne esitellään lyhyesti luvussa 5. Ant Colony Optimization, Guided Local Search ja Edge Assembly Crossover ovat uudempia ja kehittyneempiä menetelmiä, joihin perehdytään tarkemmin luvuissa

13 5 Perinteiset metaheuristiikat Tässä luvussa esiteltävät menetelmät ovat ensimmäisiä metaheuristisia menetelmiä ja ovat luonteeltaan suhteellisen yksinkertaisia. Niitä on kuitenkin tutkittu hyvin paljon ja todettu monissa tilanteissa varsin käyttökelpoisiksi menetelmiksi, joten ne ovat vakiinnuttaneet paikkansa myös kombinatoristen optimointiongelmien ratkaisemisessa. 5.1 Geneettiset algoritmit Geneettisten algoritmien (GA) lähtökohtana on luonnon kyky kehittää eliöitä siten, että ne sopeutuvat ympäristöönsä. Algoritmit ylläpitävät joukkoa ratkaisuja, populaatiota, jota muokataan esimerkiksi risteyttämällä ja suorittamalla mutaatioita niin, että syntyy entistä parempia ratkaisuja ja huonoja ratkaisuja karsitaan pois. Geneettiset algoritmit perustuvat siis melko suoraan Darwinin evoluutioteoriaan ja ovat osa evolutionaaristen menetelmien joukkoa. Ratkaisujen helppoa muokkaamista varten ne yritetään esittää yksinkertaisessa muodossa, yleensä joko bittijonona tai kokonaislukujen joukkona. Lisäksi jokaiselle populaation ratkaisulle on laskettuna hyvyysarvo (esimerkiksi tavoitefunktion perusteella), joka vaikuttaa kyseisen ratkaisun selviytymiseen seuraavalle iteraatiokierrokselle tai todennäköisyyteen, jolla se valitaan vanhemmaksi risteytysoperaatioon. Osassa GA-menetelmistä iteraatiokierroksella siirretään osa ratkaisuista suoraan seuraavaan populaatioon, usein tähän joukkoon kuuluu tähän mennessä paras löydetty ratkaisu. Risteytysoperaatiota varten valitaan osa ratkaisuja vanhemmiksi, joita yhdistellään pareittain, tai useampi kerrallaan, uusien ratkaisujen saamiseksi. Myös satunnaisten mutaatioiden avulla voidaan tuottaa uusia ratkaisuja. Jos uusi ratkaisu ei sijaitse tehtävän sallitulla alueella, niin se voidaan hylätä ja muodostaa uusi ratkaisu tilalle. Koska joissain tehtävissä on hyvin hankala löytää sallitulla alueella olevia ratkaisuja, niin parempi vaihtoehto on joko pienentää ratkaisun hyvyysarvoa riippuen siitä kuinka kaukana sallitusta alueesta ratkaisu on, tai pyrkiä korjaamaan ratkaisua niin että se on sallitussa alueessa. Geneettisistä algoritmeista löytyy monia muunnoksia, jotka poikkeavat toisistaan esimerkiksi uuteen populaatioon ja vanhemmiksi valittavien ratkaisujen valintasääntöjen perusteella, erilaisten risteytysmenetelmien perusteella ja erilaisten lopetusehtojen perusteella. [2] 9

14 5.2 Simuloitu jäähdytys Simuloitu jäähdytys [11] on analogia metallin tai lasin hitaalle jäähdytysprosessille, jolla aineelle pyritään saamaan mahdollisimman kestävä rakenne. Se on yksi ensimmäisistä menetelmistä, joilla pyritään välttämään lokaaliin minimiin juuttumista. Menetelmän pääperiaatteena on sallia ratkaisun muuttuminen välillä myös huonompaan suuntaan, jolloin on mahdollista päästä pois lokaalin optimin vaikutusalueelta. Simuloitu jäähdytys aloittaa tilanteesta jossa on olemassa aloitusratkaisu s S (joka voidaan luoda satunnaisesti tai jollain heuristisella menetelmällä) ja lämpötilaparametri T. Jokaisella iteraatiokierroksella ratkaisua s muutetaan hieman satunnaisesti ratkaisuksi s, ja jos uusi ratkaisu on parempi kuin vanha, niin se hyväksytään automaattisesti. Jos uusi ratkaisu on huonompi kuin vanha, niin se hyväksytään todennäköisyydellä, joka yleensä lasketaan kaavalla e f(s ) f(s) T. Eli huonomman ratkaisun hyväksyminen riippuu tavoitefunktioiden arvojen lisäksi myös lämpötilaparametrin arvosta, jota pienennetään pikkuhiljaa hakuprosessin edetessä. Haun alussa saatetaan hyväksyä suuriakin muutoksia huonompaan suuntaan, mutta kun T on tarpeeksi pieni, ei huonompia ratkaisuja enää hyväksytä ja menetelmä konvergoi (lokaaliin)optimipisteeseen. Hyvin oleellinen osa menetelmää on tapa jolla lämpötilan pudotusta säädetään, koska sen avulla kontrolloidaan tasapainoa hakuprosessin laajuuden ja konvergenssin välillä. Yleensä pyritään siihen, että hakuprosessin alussa T :n arvoa vähennetään vähän (jos ollenkaan), jotta saataisiin mahdollisimman monipuolinen otos ratkaisuavaruudesta. Haun loppupuolella T :n arvoa voidaan vähentää nopeammin konvergenssin nopeuttamiseksi. Jäähdytyssäännöt voivat kuitenkin olla myös paljon monimutkaisempia, lämpötilaa voidaan esimerkiksi myös nostaa sopivissa tilanteissa. [9] Threshold Accepting (TA) [6] on toimintaperiaatteeltaan melko samanlainen kuin simuloitu jäähdytys, mutta hieman vähemmän tunnettu metaheuristiikka. TA:ssa asetetaan aluksi prosenteissa oleva raja, jota enempää ei ratkaisu parhaaseen löydettyyn ratkaisuun suhteutettuna huonontua. Ratkaisua parantavat muutokset hyväksytään aina ja ratkaisua huonontavat siirrot siinä tapauksessa, että ne eivät huononna ratkaisua tämän rajan yli. Rajaa sitten tiputetaan pikkuhiljaa kunnes se putoaa nollaan, jolloin huonontavia muutoksia ei enää hyväksytä ja menetelmä päätyy lokaaliin optimiin. Vaikka TA ei ole yleisesti menetelmänä yhtä tunnettu kuin simuloitu jäähdytys, on sillä erityisesti VRP-ongelmien yhteydessä saatu parempia tuloksia. Lisäksi TA:n 10

15 hyväksi puoleksi on laskettava se, että se on yksi yksinkertaisimmista metaheuristiikoista toteuttaa, joten sen toimivuutta on suhteellisen nopea koittaa erilaisissa ongelmissa ja tilanteissa. [3] 5.3 Tabuetsintä Tabuetsinnän (Tabu search) [8] periaatteena on käyttää ongelmakohtaisia korjaavia menetelmiä, joilla käydään läpi käsiteltävän ratkaisun naapuriratkaisuja ja pyritään lokaaliin optimiin. Lokaalista optimipisteestä pyritään jatkamaan sallimalla siirtyminen pisteeseen, joka ei paranna tavoitefunktion arvoa, mutta siirtyminen tapahtuu kuitenkin pisteeseen joka huonontaa tavoitefunktion arvoa vähiten. Menetelmässä pidetään myös jollakin tavalla muistissa kirjaa viimeisistä siirroista ja näiden tietojen, tabulistan, avulla estetään siirtyminen takaisin ratkaisuun, joka on äskettäin käyty läpi. Tabuetsintä toiminnan kannalta on oleellista se, kuinka tehtävän ratkaisun hakuavaruus ja menetelmä, jolla naapuriratkaisuja käydään läpi valitaan. Sopivat avaruudet ja menetelmät saattavat vaihdella paljonkin ja niiden valitseminen edellyttää paljon tietoa tehtävän luonteesta, joissa tapauksissa on esimerkiksi kannattaa käydä läpi myös ei-sallittuja ratkaisuja suorituksen aikana. TSP:n ja tavallisen VRP:n yhteydessä usein kuitenkin riittää hakuavaruudeksi sallitut ratkaisut ja hakumenetelmäksi jokin korjaava heuristinen menetelmä. Tabuetsintä varsinaisena perustana on siis lyhytkestoisessa muistissa oleva tabulista, joka pitää sisällään jonkinlaista tietoa viimeksi suoritetuista siirroista, jotta voitaisiin estää joutuminen takaisin tutkittuun ratkaisuun ja siten päätyminen kiertämään kehää. Tabulistan sisältö pyritään usein pitämään mahdollisimman yksinkertaisena ja ennalta määrätyn mittaisena. Jokaiselle tehtävätyypille on kuitenkin monta mahdollisuutta millaisessa muodossa listaan lisättävät tabut annetaan. Eräs vaihtoehto olisi pitää kirjaa kokonaisista ratkaisuista, mutta tämä vaatisi kuitenkin hyvin paljon tilaa ja listan läpikäyminen olisi hidasta. Yleisesti käytetään sellaisia tabuja, jotka pitävät kirjaa siirtojen tekemistä muutoksista ja pystyvät siten estämään käänteisen muutoksen. Esimerkiksi jos VRP:ssä on juuri siirretty asiakas v 1 reitiltä R 1 reitille R 2, niin käänteinen siirto voidaan estää kieltämällä asiakkaan v 1 siirtäminen reitiltä R 2 reitille R 1, tai yleisemmin kieltämällä asiakkaan v 1 siirtäminen takaisin reitille R 2 lähtöreitistä riippumatta. Kaikkein voimakkain tabu olisi kieltää asiakkaan v 1 siirtäminen kokonaan toistaiseksi. Tabu voidaan myös jättää huomioimatta, jos ratkaisu olisi muuten riittävän hyvä, näin tehdään yleensä ainakin silloin kun ratkaisu on 11

16 parempi kuin paras tähän mennessä tunnettu ratkaisu. Lisäksi jos ratkaisuavaruuden tutkimisessa käytetään useammanlaisia siirtoja, niin jokaiselle siirtotyypille voidaan pitää omaa tabulistaa. Menetelmän suoritus lopetetaan kun ratkaisu ei ole parantunut tietyn iteraatiomäärän aikana, iteraatioiden maksimimäärä on tullut täyteen tai ratkaisun hyvyys on saavuttanut ennalta määrätyn rajan. Tabuetsintä perusmallikin voi joissakin tapauksissa pystyä ratkaisemaan vaikeita ongelmia, mutta usein sitä on syytä laajentaa tekniikoilla, jotka esimerkiksi sopivissa kohdassa laajentavat tai tihentävät ratkaisuavaruuden läpikäymistä. Vaikka tabuetsintä on sellaisenaankin tehokas menetelmä kombinatoristen optimointiongelmien ratkaisemiseen, niin siitä on kehitetty tehokkaampia ja monimutkaisempia versioita, tai sitä käytetään osana muita ratkaisumenetelmiä. [7] 5.4 Neuroverkot Neuroverkkojen käyttöä optimoinnissa [10] alettiin tutkia jo vuonna 1985 ja menetelmästä on tämän jälkeen kehitetty useita paranneltuja versioita. Neuroverkkoja käytettäessä optimointiongelman kustannusfunktiosta ja sakkomuotoon muutetuista rajoitefunktioista muodostetaan yhdessä energiafunktio, jota neuroverkko pyrkii minimoimaan ja oppimaan samalla tekemään kannattavia muutoksia ratkaisuun. Vaikka neuroverkot ovat paljon puhuttu aihe tekoälyn saralla, niistä on tehty suhteellisen paljon tutkimusta, niin TSP ja VRP ongelmien ratkaisemiseen niistä ei ole onnistuttu kehittämään tehokkaasti toimivaa versiota. [14] 6 Ant Colony Optimization Ant colony optimization (ACO) eli muurahaisyhdyskuntaoptimointi perustuu muurahaisten kykyyn etsiä ruokaa toisten muurahaisten jättämien feromonijälkien perusteella. Kulkiessaan muurahainen jättää jälkeensä tasaista feromonijälkeä ja kun toinen muurahainen kohtaa tällaisen jäljen niin se jollain todennäköisyydellä alkaa seuraamaan kyseistä jälkeä ja vahvistaa sitä samalla kyseistä jälkeä, mikä puolestaan suurentaa todennäköisyyttä että myös seuraava muurahainen lähtee seuraamaan kyseistä jälkeä. Kun muurahainen on löytänyt ruokaa se palaa takaisin omaa jälkeään pitkin vahvistaa sitä jälleen. Feromonin haihtuminen saa aikaan sen, että lyhyet reitit vahvistuvat nopeammin kuin pitkät ja niitä suositaan enemmän. Reittien satunnaisen valinnan avulla voidaan kuitenkin koko ajan löytää uusia reittejä, jotka ovat nopeampia kuin olemassa olevat.[1] 12

17 6.1 ACO-menetelmän perusteet Kun ACO:a käytetään reititysoptimoinnissa, niin aluksi yksittäisen muurahaisen tehtävänä on muodostaa ongelmalle sallittu ratkaisu käyttämällä hyväksi tietoa olemassa olevista feromonijäljistä ja asiakkaiden välisistä etäisyyksistä. Aina varikolta tai asiakkaan luota lähtiessään muurahainen valitsee satunnaisen uuden asiakkaan, jonka valinnassa suositaan lyhyitä etäisyyksiä ja vahvoja feromonijälkiä. Kun ajoneuvon kapasiteetti (tai rajoite reitin maksimipituudesta) tulee täyteen, niin palataan varikolle ja jatketaan uuden asiakkaan valintaa sieltä. [1] [5] Kun m kappaletta reittejä on rakennettu valmiiksi, niin päivitetään feromonijälkiä siten, että kaikkien kaarien feromonia vähennetään jollakin vakiolla, ja muurahaisen kulkemien kaarien feromoniarvoa lisätään sopivasti. Tämän jälkeen aloitetaan uusi iteraatiokierros. Tätä ACO:n perusmuotoa kutsutaan Ant system -menetelmäksi (AS), jota voidaan laajentaa monin tavoin. [5] Reittejä voidaan koittaa parantaa korjaavilla heuristisilla menetelmillä, ja jos niin löydetään uusi paras ratkaisu, niin sen feromonijälkeä lisätään. Toinen vaihtoehto menetelmän tehostamiseksi on käyttää kandidaattilistoja, joihin sisällytetään vain sopiva määrä käsittelyssä olevan asiakkaan lähimpiä naapureita. Näin estetään menetelmää tuhlaamaan resursseja, sellaisten siirtojen tutkimiseen jotka hyvin epätodennäköisesti parantaisivat ratkaisua.[1] Myös feromonijälkien hallintaan on esitetty monia erilaisia paradigmoja, joita käsitellään seuraavassa luvussa. 6.2 ACO:n paradigmoja Rank Based Ant System paradigmassa valitaan vain E parasta ratkaisua tuottanutta muurahaista, eli elitistiä, ja vain näiden kulkemien reittien feromonijälkeä vahvistetaan. Parasta löydettyä ratkaisua vahvistetaan eniten, tavoitefunktion arvosta riippuvalla määrällä feromonia, ja muita E 1 elitistin muodostamia reittejä vahvistetaan feromonimäärällä, joka vähenee sekä ratkaisun sijoituksen perusteella että tavoitefunktion arvon perusteella. Elitisteihin kuulumattomien kaarien feromonia vähennetään sovitulla arvolla, aivan kuin niitä ei olisi kuljettu ollenkaan. Max-Min Ant System paradigmassa aloitetaan vahvistamalla ainoastaan parasta tähän mennessä löydettyä ratkaisua. Koska tämä johtaa helposti ratkaisujen haun keskittymiseen yhden ratkaisun ympärille, niin feromonijäljille määritellään maksimija minimirajat, jotta kovin suuria eroja ei pääsisi jälkien välillä syntymään. Feromonin maksimiraja riippuu parhaan tunnetun ratkaisun tavoitefunktion arvosta ja minirajana on jokin positiivinen luku. Lisäksi feromoniarvot alustetaan maksimira- 13

18 jaksi, jolloin ensimmäisten iteraatiokierrosten vaikutus on pienempi ja ratkaisuavaruuden tutkiminen tapahtuu laajemmin. Ja vasta myöhemmin, feromonien haihtumisen johdosta, tutkiminen tiivistyy löydettyjen hyvien ratkaisujen ympärille. Ant Colony System (ACS) muuttaa feromonijälkien hallinnan lisäksi myös päätöksentekoprosessia asiakkaan valinnan yhteydessä. Todennäköisyydellä q 0 valitaankin feromonijälkien ja etäisyyden perusteella paras seuraava asiakas ja todennäköisyydellä 1 q 0 satunnainen asiakas samalla periaatteella kuin perusmenetelmässä. Tässäkin paradigmassa vahvistetaan vain parasta löydettyä ratkaisua, mutta myös feromonin haihtuminen rajataan vain kaariin, jotka sisältyvät tähän ratkaisuun. Lisäksi käytetään lokaalia haihtumista, joka vähentää kaaren feromoniarvoa aina kun se valitaan kuljettavaksi, jolloin estetään tilanne, että samaa kaarta käytettäisiin aina uudelleen vaikka q 0 :n arvo olisi melkein yksi. Myös feromoniarvon miniraja on määriteltynä. [4] 6.3 Menetelmän toimivuudesta ja kehityksestä Ensimmäisenä kehitetty Ant System -menetelmä ei ollut kovin kilpailukykyinen muihin samankaltaisten tehtävien ratkaisemiseen tarkoitettujen menetelmien rinnalla, mutta uudet paradigmat feromonien hallinnassa ovat parantaneet menetelmän toimivuutta huomattavasti ja kehitys jatkuu edelleen. Esitettyjä paradigmoja ei voi laittaa suoraan paremmuusjärjestykseen. Max-Min Ant System tuottaa hieman parempia ratkaisuja kuin muut, mutta hitaammin. ACS toimii nopeasti, mutta ratkaisujen hyvyydessä on suurta vaihtelua. Rank Based Ant System näyttää olevan parhaiten tasapainossa laskenta-ajan ja ratkaisuiden kanssa. [4] ACO:n tekee mielenkiintoiseksi myös se, että menetelmän perusluonne on sellainen, että sen suoritus voidaan helposti muuttaa rinnakkaiseksi, eli jakamaan laskentaa useamman prosessorin kesken. Tästä on hyötyä varsinkin suurien tehtävien ratkaisemisessa, joissa laskenta-aikaa voidaan säästää huomattavasti. ACO:n sopivuus myös dynaamisiin, eli kesken ratkaisemisen muuttuviin ongelmiin, näyttää varsin lupaavalta, mutta tältä alueelta ei vielä ole kattavia tutkimustuloksia. [5] 7 Guided Local Search Guided local search (GLS) [17] käyttää tehtäväkohtaisia korjaavia menetelmiä lokaalin minimin etsimiseen, ja sen jälkeen ohjaa hakua uuteen suuntaan käyttämällä hyväkseen ratkaisuille määriteltyjä ominaisuuksia ja niiden avulla laskettavaa täy- 14

19 dennettyä tavoitefunktiota. 7.1 Ratkaisun ominaisuudet ja täydennetty kustannusfunktio Ratkaisun ominaisuuksilla pyritään erottelemaan ratkaisuja toisistaan. Ominaisuuksien joukko riippuu annetusta ongelmasta, ja jokaiselle ongelman ratkaisulle on määriteltävissä sisältääkö se jonkun ominaisuuden vai ei. Tämän lisäksi jokaisella ominaisuudella on hinta, joka kuvaa sen vaikutusta ratkaisun hyvyyteen. TSP:ssä ja VRP:ssä ominaisuuksien joukkona käyttää esimerkiksi solmujen välisiä kaaria, ratkaisu sisältää kaaren määrittelemän ominaisuuden, jos se sisältää kyseisen kaaren. Täydennetty kustannusfunktio muodostetaan alkuperäisestä tavoitefunktiosta lisäämällä siihen sakkotermi, joka on muotoa M λ p i I i (s). i=1 Tässä M on ominaisuuksien yhteenlaskettu määrä, p i on i:nnen ominaisuuden sakkoparametri ja I i on indikaattorifunktio, joka saa arvon 1 jos ratkaisu s sisältää ominaisuuden i ja arvon 0, jos se ei sisällä. Parametri λ määrittelee, kuinka paljon sakkotermiä painotetaan suhteessa alkuperäiseen tavoitefunktioon. [17] Nyt korjaavat menetelmät käyttävät täydennettyä kustannusfunktiota ratkaisun etsimiseen ja kun päädytään lokaaliin minimiin, niin sakotetaan kaikki siinä ratkaisussa esiintyviä ominaisuuksia, TSP:n ja VRP:n tapauksessa ratkaisussa olevia kaaria. Tämän jälkeen korjaavat menetelmät voivat aloittaa uudestaan, koska sakotuksen jälkeen täydennetty kustannusfunktio ei enää ole lokaalissa optimipisteessä. Ratkaisun hyvyys pitää kuitenkin jokaisessa lokaalissa optimipisteessä laskea myös alkuperäisellä kustannusfunktiolla, jotta voidaan tarkistaa onko kyseinen ratkaisu kun paras tähän mennessä löydetty, siinä tilanteessa että sakkotermejä ei lasketa mukaan. Menetelmästä voidaan muodostaa variaatioita esimerkiksi alentamalla sakkoja tiettyjen kierrosmäärien jälkeen tai käyttämällä satunnaiselementtiä sakon määrän määrittämisessä. 7.2 GLS VRP-ongelmissa GLS on todettu varsin toimivaksi menetelmäksi VRP-ongelmissa, ja sillä on saatu varsin hyviä tuloksia. Lisäksi sen toteutus näille ongelmille on varsin suoraviivainen, koska ratkaisun sakotettavina ominaisuuksina on helppo käyttää kaaria asiakkaiden välillä. GLS on myös mahdollista yhdistää ilman suuria ongelmia muihin 15

20 menetelmiin esimerkiksi tehostamaan pelkkien korjaavien menetelmien käyttöä. 7.3 Active Guided Evolution Strategies Active guided evolution strategies (AGES) [12] on kaksivaiheinen menetelmä, jossa ensimmäisenä vaiheena käytetään GLS-menetelmää ohjamaan korjaavia menetelmiä GLS:n suhteen paikalliseen optimiin asti. Tämän jälkeen siirrytään Evolution Strategies -vaiheeseen (ES), jossa asiakkaita poistetaan ja lisätään satunnaisiin reitteihin ja tämän jälkeen siirrytään vaiheeseen 1, jossa ratkaisua koitetaan parantaa GLS-menetelmällä. Alkuperäinen versio menetelmästä on laadittu VRPTW-ongelmia varten, mutta myös hieman muokattu versio CVRP- ongelmia varten on todettu erittäin hyvin toimivaksi. AGES-menetelmä käyttää myös algoritmia, jolla rajoitetaan korjaavan menetelmän hakuavaruus lähelle kulloinkin GLS-menetelmällä sakotettuun kaarta. Tämä nopeuttaa menetelmää huomattavasti, varsinkin hyvin suurilla ongelmilla, joissa hakuavaruuden laajuus aiheuttaa monilla muilla menetelmillä ongelmia. Menetelmällä onkin päästy parhaaseen tunnettuun ratkaisuun suuressa osassa testiongelmia ja löydetty joitakin uusia parhaita tunnettuja ratkaisuja vuonna 2005 ajetuissa testeissä. Menetelmän nopeuskin on varsin kohtuullinen ja lisäksi menetelmästä on erittäin nopea fast konfiguraatio tilanteisiin, jossa tarvitaan hyvä tulos nopeasti. 8 Edge Assembly Crossover Edge Assembly Crossover (EAX) [16] on populaatioon perustuva evolutionaarinen algoritmi, jonka perustana on vanhempien yhdisteleminen A-B sykleiksi kutsuttujen risteytysten perustella. A-B sykleistä on mahdollista muodostaa useita erilaisia jälkeläisiä, ja jos joku jälkeläinen on parempi kuin ensimmäinen vanhemmista (Avanhempi), niin seuraavalla iteraatiolla se korvaa kyseisen vanhemman populaatiossa. Menetelmässä populaation koko pysyy vakiona ja jos alkuperäisen populaation diversiteetti on tarpeeksi suurin, niin diversiteetti myös säilyy, koska uusi ratkaisu voi korvata vain sellaisen vanhemman, jota käyttäen se on muodostettu. EAX-menetelmää on yleisemmin käytetty TSP-ongelmissa, mutta se todettu myös hyvin tehokkaaksi menetelmäksi VRP-ongelmien ratkaisemisessa [15]. 16

21 8.1 EAX-menetelmän perusteet VRP:ssä Populaation luomiseksi muodostetaan n kappaletta erilaisia aloitusratkaisuja vapaavalintaisella satunnaistetulla menetelmällä. Tämän jälkeen populaation ratkaisut järjestetään jonoon satunnaiseen järjestykseen ja jokaiselle kahdelle peräkkäiselle ratkaisulle (A- ja B-ratkaisut) suoritetaan varsinainen EAX-iteraatio. A-B syklit muodostetaan yhdistämällä kahden vanhemman kaaret ja valitsemalla tästä sellaiset suljetut syklit, joissa A- ja B-vanhempien kaaret vuorottelevat. A-B sykleistä muodostetaan E-joukko, joka voi olla mikä tahansa sykleistä muodostettu yhdiste. E-joukkoon valitut syklit riippuvat menetelmän parametreista. Seuraavaksi muodostetaan uusi ratkaisu poistamalla E-joukosta kaikki A-ratkaisun kaaret ja lisäämällä B-ratkaisun kaaret. Näin muodostetussa väliratkaisussa voi olla sellaisia lenkkejä, jotka eivät ole yhteydessä varikkoon, ne yhdistetään sellaiseen reittiin johon yhdistämiskustannus on pienin. Tässä vaiheessa reittien kapasiteetit saattavat olla sallittua suurempia, jolloin kapasiteettaja korjataan tätä varten muokatuilla korjaavilla menetelmillä. Lopuksi ratkaisua koetetaan vielä parantaa sopivilla korjaavilla menetelmillä. Tämä vaihe voidaan toistaa useilla eri E-joukoilla ja näistä muodostetuista valitaan paras. Jos muodostunut ratkaisu on parempi kuin A-vanhempi, niin se korvaa kyseisen vanhemman populaatiossa. Jos ratkaisu on huonompi, niin hylätään. Tämän jälkeen otetaan käsittelyyn seuraava ratkaisupari, eli B-vanhemmasta tulee A-vanhempi ja B-vanhemmaksi valitaan jonosta seuraava ratkaisu. Näin käydään koko jono läpi ja lopuksi populaatiosta on muodostunut uusi sukupolvi. Jos lopetuskriteerit eivät ole täyttyneet, niin voidaan uusi sukupolvi sekoittaa uudestaan satunnaiseen järjestykseen jonoon ja aloittaa pareittaiset EAX-operaatiot jonon alusta. 8.2 Menetelmän toimivuudesta Menetelmä on todettu erittäin tehokkaaksi, ja sillä päästään hyvin usein testiongelmien parhaaseen löydettyyn ratkaisuun. Menetelmällä on myös löydetty useisiin ongelmiin uusi paras tunnettu ratkaisu. Pienenä rajoitteena menetelmän käytössä on se, että EAX-operaatio vaatii että molemmissa vanhemmissa on saman verran reittejä, jolloin koko populaation ratkaisuissa on oltava sama määrä reittejä. Tämän vuoksi reittien määrä on annettava kiinteänä parametrina, tai menetelmää on ajettava usealla eri aloituspopulaatiolla, joissa on eri reittien määrät. [15] 17

22 9 Menetelmien erot ja yhtäläisyydet Kaikilla edellä kuvatuilla menetelmillä on omat toimintaperiaatteensa ja ominaispiirteensä, mutta siltikin niistä yhteisiäkin piirteitä, jotka eivät kaikki aina ole aivan itsestään selviä. Lisäksi yhä suuremmissa määrin uudet menetelmät ovat ns. hybridimenetelmiä, joissa on piirteitä useista olemassa olevista menetelmistä. Tässä luvussa käydään läpi joitakin erilaisten menetelmien eroja ja yhtäläisyyksiä. 9.1 Satunnaisuus Hyvin suuri osa metaheuristiikoista käyttää satunnaisuutta jossain muodossa mahdollistamaan normaalia laajemman hakuavaruuden ja estämään ratkaisun juuttumista lokaaliin optimipisteeseen. Perinteisemmistä metaheuristiikoista geneettiset algoritmit käyttävät satunnaisuutta usein risteytettävien vanhempien valintaan, ja mutaatioiden tekemiseen. Simuloitu jäähdytys puolestaan valitsee huonontavia siirtoja satunnaisluvusta riippuvan parametrin perusteella, alussa ratkaisun haku riippuu hyvinkin paljon satunnaisuudesta, mutta loppua kohden satunnaiselementin vaikutus vähenee ja etsintä alkaa muistuttaa korjaavaa menetelmää ilman metaheuristiikkaa. Tabuetsintä alkuperäisessä muodossaan ei käytä minkäänlaista satunnaiselementtiä, vaan samasta alkuratkaisusta päädytään aina samaan lopputulokseen, jos algoritmin toiminta ja parametrit pidetään samana. ACO-menetelmässä reitin seuraavan asiakkaan valinnassa on oleellisessa asemassa satunnaistekijä, jonka avulla haku pysyy laajana, eikä painotu pelkästään liikaa lyhyiden asiakasvälien suosimiseen. GLS-menetelmä ei itsessään sisällä satunnaisuuden käyttöä, mutta esimerkiksi AGES-laajennoksessa satunnaisuutta käytetään menetelmän ES-osassa, jolloin reiteiltä poistettavat pisteet valitaan satunnaisesti. EAX-menetelmässä satunnaisuutta käytetään sekä aloituspopulaation luomiseen, että populaatiolistan sekoittamiseen, mikä määrää seuraavan kierroksen risteytettävät parit. Satunnaiselementtien käyttämisestä johtuen menetelmät saattavat antaa erilaisen lopputuloksen eri ajokerroilla. Tästä on se hyvä puoli että jos laskenta-aikaa on tarpeeksi, niin menetelmää voidaan suorittaa useita kertoja ja valita lopputuloksista paras, toisaalta tämä taas vaikeuttaa menetelmien tehokkuuden vertailua ja tulosten raportointia. Usein tällaisille menetelmille ilmoitetaankin ajokertojen määrä, paras saatu tulos, keskimääräinen tulos, huonoin tulos, sekä yhteen ajokertaan kuluva keskimääräinen aika. Lisäksi menetelmän toteutuksen testaamista ja parametrien hienosäätämistä varten toteutuksessa yleensä tarvitaan ominaisuus, että satunnaiselementti lukitaan paikalleen, eli satunnaislukugeneraattorille annetaan kiinteä sie- 18

23 menluku, jotta satunnaisuus ei vaikuttaisi liikaa toimivuuden testaamisen ja hienosäätöjen tuloksiin. 9.2 Muistin käyttö Muistin käytöllä on mahdollisuus rajoittaa sitä, että samoja tai hyvin samankaltaisia ratkaisuja käytäisiin useasti uudelleen läpi. Ensimmäinen muistia ratkaisun etsimiseen rajoittamiseen selkeästi käyttävä menetelmä on tabuetsintä, joka säilyttää joitakin viimeisiä ratkaisuun tehtyjä muutoksia tabulistassa, eikä salli näiden muutosten kumoamista. Tavallaan kaikki populaatioperustaiset käyttävät myös muistia hyväkseen, koska ne säilyttävät useita eri ratkaisuja tallessa ja käyttävät näitä sitten hyväkseen ratkaisun etsimisessä. GLS:n muisti puolestaan liittyy sakkotermiin, joka VRP:n ratkaisemisessa tarkoittaa usein jokaiselle kaarelle määrättyyn sakon määrään ja ratkaisun etsimisen rajoittamiseen niiden avulla. Suurten ratkaisupopulaatioiden ja jokaiselle mahdolliselle kaarelle asetettavien sakkokertoimien muistissa pitäminen saattaa kuitenkin muuttua ongelmaksi varsinkin hyvin suurten ongelmien kanssa, koska muistinkulutus yleensä kasvaa huomattavasti nopeammin kuin ongelman koko. Toisaalta jos toteutuksessa käytettäviä tietorakenteita optimoidaan kuluttamaan vain vähän muistia, niin saattaa puolestaan toteutuksen nopeus kärsiä huomattavasti. 9.3 Korjaavien menetelmien käyttö Monet metaheuristiikoista perustuvat korjaavien menetelmien ohjaamiseen ja niiden auttamiseen pois lokaaleista optimeista, mutta jotkin menetelmät rivät kuitenkaan välttämättä edes tarvitsisi niitä, vaan käyttävät korjaavia menetelmiä ainoastaan ratkaisujen hienosäätämiseen paremmiksi. Tabuetsintä ja simuloitu jäähdytys perustuvat korjaavien menetelmien käyttämiselle, tabuhaku ohjaa ratkaisun etsinnän pois lokaalista optimista kun sinne joudutaan ja simuloitu jäähdytys pitää etsintää alkuvaiheessa laajalla alueella antamalla korjaavan menetelmän tehdä myös ratkaisua huonontavia siirtoja. Geneettisen algoritmit eivät puolestaan korjaavia menetelmiä tarvitse koska ne perustuvat olemassa olevien ratkaisujen yhdistämiseen ja satunnaiseen muuttamiseen. Usein nekin jossain vaiheessa pyrkivät hakemaan parempaa tulosta joitakin korjaavia menetelmiä käyttäen. Menetelmissä jotka perustuvat korjaavien menetelmien ohjaamiseen, saattaa olla hyvinkin suuri merkitys lopputuloksiin sillä, että minkälaisia korjaavia menetelmiä 19

24 käytetään. Joillekin metaheuristiikoille saattaa sopia yksinkertaiset ja hyvin nopeat korjaavat menetelmät, kun taas toiset toimivat paremmin paljon erilaisia muutoksia kokeilevat korjaavat menetelmät. 10 Tulosten vertailusta menetelmien välillä Optimointimenetelmien laittaminen paremmuusjärjestykseen aiheuttaa usein suuria ongelmia. Vaikka monille eri ongelmatyypeille yleisesti käytössä olevat testiongelmat helpottavatkin menetelmien suorituskyvyn vertailua, niin ongelmaksi jää kuitenkin ratkaisun hyvyyden vertaaminen käytettyyn laskenta-aikaan. Myös laskentaajan ilmoittaminen on pieni ongelma, koska jokaisen menetelmän kehittäjä ajaa testit omalla tietokoneellansa, jolloin melkein kaikkien menetelmien laskennalliset tulokset on esitetty laskentatehokkudeltaan erilaisilla koneilla ajettuna, eivätkä ole suoraan vertailukelpoisia. Myös edellä esitetty menetelmissä käytetty satunnaisuus vaikeuttaa menetelmien vertailua, koska menetelmälle ei voida esittää yksikäsitteistä tulosta, vaan tuloksien tulkinnassa ja vertailussa on käytettävä tuloksia useista eri ajoista ja tehtävä tilastollista analyysiä näiden perusteella. Näiden lisäksi vertailua vaikeuttavat erilaiset toteutustavat. Varsinkin jos esitetty algoritmi on monimutkainen niin sen voi usein toteuttaa monella eri tavalla niin, että toimintaperiiate on täysin sama, mutta ilman testejä on vaikea nähdä mikä olisi laskennallisesti nopein tapa. Myös saman algoritmin toteuttaminen eri ohjelmointiympäristöissä saattaa vaikuttaa huomattavastikin sen suoritusaikaan, eikä kaikkien tuloksen tarkkaa toteutusympäristöä ole aina mainittu. 11 Yhteenveto Metaheuristiikkojen ja heuristiikkojen avulla on mahdollista saada varsin hyviä tuloksia sellaisiin logistiikan optimointiongelmiin, joita ei ole mahdollista ratkaista tarkoilla menetelmillä. Metaheuristiikkojakin on kuitenkin hyvin monia erilaisia, eikä ainakaan tähän mennessä ole löydetty sellaista menetelmää, joka toimisi tehokkaasti kaikilla mahdollisilla ongelmatyypeillä. Tässä tutkielmassa esitetyt metaheuristiikat eivät ole kattava lista kaikista olemassa olevista menetelmistä, mutta antavat hyvän kuvan siitä, että minkälaisia menetelmiä metaheuristiikat voivat olla ja millaisia yhtäläisyyksiä ja eroavaisuuksia niistä löytyy. 20

25 Perinteisempiä metaheuristiikkoja ei useinkaan enää käytetä sellaisenaan, vaan osana muita kehittyneempiä ratkaisumenetelmiä. Uudempien menetelmien ongelmana on kuitenkin niiden monimutkaisuus ja mahdollisesti säätöä tarvitsevien parametrien määrä, jolloin ennen tehtävän ratkaisemista tarvittavan valmistelevan työn määrä saattaa olla hyvinkin suuri. Metaheuristiikkojen käytettäessä joutuu lisäksi tasapainoilemaan ratkaisun laskentaan käytettävän ajan ja ratkaisun hyvyyden suhteen. Lisäksi useiden menetelmien toteuttaminen on melko hankalaa, ja hyvin suuria ongelmakokoja varten olisi tarvetta vieläkin nopeammille ratkaisumenetelmille. Metaheuristiikkojen välistä tehokkuuden vertailua vaikeuttaa muun muassa useissa menetelmissä käytettävä satunnaisuus, menetelmissä käyttävien korjaavien heuristiikkojen erilaisuus, sekä metaheuristiikkojen testauksessa käytettävät eritasoiset tietokoneet ja erilaiset toteutusympäristöt ja -tavat. Lähteet [1] John E. Bell ja Patrick R. McMullen, Ant colony optimization for the vehicle routing problem, Advanced Engineering Informatics, Vol. 18, (2004) [2] Christian Blum ja Andrea Roli, Metaheuristics in Combinatorial Optimization: Overview an Conceptual Comparison, ACM Computing Surveys, Vol. 35, No. 3 September 2003 pp [3] Olli Bräysy, Jean Berger, Mohamed Barkaoui, Wout Dullaert, A Threshold Accepting Metaheuristic for the Vehicle Routing Problem with Time Windows, Central Eur. J. Oper. Res, [4] Karl F. Doerner, Richard F.Hartl, Guenter Kiechle, Maria Lucka, Marc Reimann Paraller Ant Systems for the Capacitated Vehicle Routing Problem, EvoCop 2004, LNCS 3004, pp [5] Marco Dorigo ja Thomas Stützle The Ant Colony Optimization Metaheuristic: Algorithms, Applications and Advances, Handbook of Metaheuristics (2003) Chapter 9, ISBN [6] Gunter Dueck, Tobias Scheuer, Threshold accepting: a general purpose optimization algorithm appearing superior to simulated annealing, Journal of Computational Physics archive, Volume 90, Issue 1, 1990, pp

Optimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi

Optimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi Optimointi Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa Ongelman mallintaminen Mallin ratkaiseminen Ratkaisun analysointi 1 Peruskäsitteitä Muuttujat: Sallittu alue: x = (x 1, x 2,...,

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Derivaatta Tarkastellaan funktion f keskimääräistä muutosta tietyllä välillä ( 0, ). Funktio f muuttuu tällä välillä määrän. Kun tämä määrä jaetaan välin pituudella,

Lisätiedot

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Jari Hast xx.12.2013 Ohjaaja: Harri Ehtamo Valvoja: Hari Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Evoluutiopohjainen monitavoiteoptimointi MCDM ja EMO Monitavoiteoptimointi kuuluu

Lisätiedot

TILASTOLLINEN LAADUNVALVONTA

TILASTOLLINEN LAADUNVALVONTA 1 Aki Taanila TILASTOLLINEN LAADUNVALVONTA 31.10.2008 2 TILASTOLLINEN LAADUNVALVONTA Tasalaatuisuus on hyvä tavoite, jota ei yleensä voida täydellisesti saavuttaa: asiakaspalvelun laatu vaihtelee, vaikka

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 1 Ti 6.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 1 Ti 6.9.2011 p. 1/28 p. 1/28 Numeriikan termejä Simulointi: Reaalimaailman ilmiöiden jäljitteleminen (yleensä)

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

Lisätiedot

Epäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c.

Epäyhtälön molemmille puolille voidaan lisätä sama luku: kaikilla reaaliluvuilla a, b ja c on voimassa a < b a + c < b + c ja a b a + c b + c. Epäyhtälö Kahden lausekkeen A ja B välisiä järjestysrelaatioita A < B, A B, A > B ja A B nimitetään epäyhtälöiksi. Esimerkiksi 2 < 6, 9 10, 5 > a + + 2 ja ( + 1) 2 2 + 2 ovat epäyhtälöitä. Epäyhtälössä

Lisätiedot

Search space traversal using metaheuristics

Search space traversal using metaheuristics Search space traversal using metaheuristics Mika Juuti 11.06.2012 Ohjaaja: Ville Mattila Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki

Lisätiedot

Johdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015

Johdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015 Johdatus diskreettiin matematiikkaan Harjoitus 7, 28.10.2015 1. Onko olemassa yhtenäistä verkkoa, jossa (a) jokaisen kärjen aste on 6, (b) jokaisen kärjen aste on 5, ja paperille piirrettynä sivut eivät

Lisätiedot

Käyttöjärjestelmät: Virtuaalimuisti

Käyttöjärjestelmät: Virtuaalimuisti Käyttöjärjestelmät: Virtuaalimuisti Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Muistinhallinta

Lisätiedot

2.7 Neliöjuuriyhtälö ja -epäyhtälö

2.7 Neliöjuuriyhtälö ja -epäyhtälö 2.7 Neliöjuuriyhtälö ja -epäyhtälö Neliöjuuren määritelmä palautettiin mieleen jo luvun 2.2 alussa. Neliöjuurella on mm. seuraavat ominaisuudet. ab = a b, a 0, b 0 a a b =, a 0, b > 0 b a2 = a a > b, a

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

Algoritmit ja tietorakenteet Copyright Hannu Laine. 1, kun n= 0. n*(n-1)!, kun n>0;

Algoritmit ja tietorakenteet Copyright Hannu Laine. 1, kun n= 0. n*(n-1)!, kun n>0; 1 Rekursio Rekursion periaate ja rekursio määrittelyvälineenä Rekursiota käytetään tietotekniikassa ja matematiikassa erilaisiin tarkoituksiin. Eräänä käyttöalueena on asioiden määrittely. Esimerkkinä

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1 String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen

Lisätiedot

Aluksi. 2.1. Kahden muuttujan lineaarinen epäyhtälö

Aluksi. 2.1. Kahden muuttujan lineaarinen epäyhtälö Aluksi Matemaattisena käsitteenä lineaarinen optimointi sisältää juuri sen saman asian kuin mikä sen nimestä tulee mieleen. Lineaarisen optimoinnin avulla haetaan ihannearvoa eli optimia, joka on määritelty

Lisätiedot

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Simo K. Kivelä, 15.4.2003 Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Aksioomat Luonnolliset luvut voidaan määritellä Peanon aksioomien avulla. Tarkastelun kohteena on

Lisätiedot

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Luetteloivat ja heuristiset menetelmät Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Branch and Bound sekä sen variaatiot (Branch and Cut, Lemken menetelmä) Optimointiin

Lisätiedot

2.2 Täydellinen yhtälö. Ratkaisukaava

2.2 Täydellinen yhtälö. Ratkaisukaava . Täydellinen yhtälö. Ratkaisukaava Tulon nollasäännöstä näkee silloin tällöin omituisia sovellutuksia. Jotkut näet ajattelevat, että on olemassa myöskin tulon -sääntö tai tulon "mikä-tahansa"- sääntö.

Lisätiedot

monissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä.

monissa laskimissa luvun x käänteisluku saadaan näyttöön painamalla x - näppäintä. .. Käänteisunktio.. Käänteisunktio Mikäli unktio : A B on bijektio, niin joukkojen A ja B alkioiden välillä vallitsee kääntäen yksikäsitteinen vastaavuus eli A vastaa täsmälleen yksi y B, joten myös se

Lisätiedot

Luento 6. June 1, 2015. Luento 6

Luento 6. June 1, 2015. Luento 6 June 1, 2015 Normaalimuodon pelissä on luontevaa ajatella, että pelaajat tekevät valintansa samanaikaisesti. Ekstensiivisen muodon peleissä pelin jonottaisella rakenteella on keskeinen merkitys. Aluksi

Lisätiedot

Lisää segmenttipuusta

Lisää segmenttipuusta Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

Esimerkkejä derivoinnin ketjusäännöstä

Esimerkkejä derivoinnin ketjusäännöstä Esimerkkejä derivoinnin ketjusäännöstä (5.9.008 versio 1.0) Esimerkki 1 Määritä funktion f(x) = (x 5) derivaattafunktio. Funktio voidaan tulkita yhdistettynä funktiona, jonka ulko- ja sisäfunktiot ovat

Lisätiedot

Algoritmit 2. Luento 8 Ke 13.4.2016. Timo Männikkö

Algoritmit 2. Luento 8 Ke 13.4.2016. Timo Männikkö Algoritmit 2 Luento 8 Ke 13.4.2016 Timo Männikkö Luento 8 Rekursioyhtälöt Master-lause Lähin pistepari Ahne menetelmä Lyhin virittävä puu Kruskalin menetelmä Primin menetelmä Merkkitiedon tiivistäminen

Lisätiedot

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit

Lisätiedot

Ennakkovaroitustoimintojen sekä. uuden teknologian hyödyntäminen. toteutuspöytäkirjamenettelyssä

Ennakkovaroitustoimintojen sekä. uuden teknologian hyödyntäminen. toteutuspöytäkirjamenettelyssä Ennakkovaroitustoimintojen sekä uuden teknologian hyödyntäminen toteutuspöytäkirjamenettelyssä Toteutuspöytäkirjamenettely Toteutuspöytäkirjan käyttö alkoi viime vuosituhannen vaihteessa, samassa yhteydessä

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 10 1 Sarjakehitelmiä Palautetaan mieliin, että potenssisarja on sarja joka on muotoa a n (x x 0 ) n = a 0 + a 1 (x x 0 ) + a 2 (x x 0 ) 2 + a 3 (x x 0 ) 3 +. n=0 Kyseinen

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

KOKEMUKSIA TOIMINTAKYKYÄ. Itsenäiseen elämään sopivin palveluin -hanke 2011-2014 Merja Marjamäki

KOKEMUKSIA TOIMINTAKYKYÄ. Itsenäiseen elämään sopivin palveluin -hanke 2011-2014 Merja Marjamäki KOKEMUKSIA TOIMINTAKYKYÄ ARVIOIVISTA MENETELMISTÄ Itsenäiseen elämään sopivin palveluin -hanke 2011-2014 Merja Marjamäki Itsenäiseen elämään sopivin palveluin -hanke Tavoitteena on saada tietoa lievästi

Lisätiedot

Miten korkeakoulujen yhteishaun ja erillishakujen kokonaisuutta tulisi kehittää?

Miten korkeakoulujen yhteishaun ja erillishakujen kokonaisuutta tulisi kehittää? Miten korkeakoulujen yhteishaun ja erillishakujen kokonaisuutta tulisi kehittää? Nykytilan haasteita, mahdollisen kehittämisen aikataulu ja vaihtoehtoja OKM/KTPO 2.6.2016 Tulevat haut ja kehittämisen aikajanaa

Lisätiedot

Darwin: Tutkimusprojektin esittely

Darwin: Tutkimusprojektin esittely 1 Darwin: Tutkimusprojektin esittely Tutkimusongelma: voidaanko ohjelmistoarkkitehtuuri generoida automaattisesti? Suomen Akatemian rahoittama tutkimusprojekti 2009-2011 TTY & TaY yhteistyö Ks. http://practise.cs.tut.fi/project.php?project=darwin

Lisätiedot

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto:

Pisteen x lähistö koostuu kaikista ratkaisuista, jotka on saatu x:stä tekemällä siihen yksi siirto: 24 10. Lokaali haku Optimoinnissa heuristisilla menetelmillä tarkoitetaan algoritmeja, jotka osassa tapauksista antavat tehtävälle hyvän tai lähes optimaalisen ratkaisun, mutta joiden toimivuutta ei voida

Lisätiedot

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS PROJEKTIN JOHTAMINEN ON YKSINKERTAISTA PUUHAA Projektin suunnittelua Projektin toteutusta Listaa tehtävät Tehkää tehtävät Projektin ohjausta

Lisätiedot

JOENSUUN SEUDUN HANKINTATOIMI KOMISSIOMALLI 28.03.2014

JOENSUUN SEUDUN HANKINTATOIMI KOMISSIOMALLI 28.03.2014 JOENSUUN SEUDUN HANKINTATOIMI KOMISSIOMALLI 28.03.2014 KOMISSIO Komissio otetaan käyttöön kaikissa kilpailutuksissa, joiden hankintakausi alkaa 1.1.2012 tai sen jälkeen Raha liikkuu Joensuun seudun hankintatoimen

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

Geneettiset algoritmit

Geneettiset algoritmit Geneettiset algoritmit Evoluution piirteitä laskennassa Optimoinnin perusteet - Kevät 2002 / 1 Sisältö Geneettisten algoritmien sovelluskenttä Peruskäsitteitä Esimerkkejä funktion ääriarvon etsintä vangin

Lisätiedot

OHJ-1151 Ohjelmointi IIe

OHJ-1151 Ohjelmointi IIe Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja

Lisätiedot

Diskreetit rakenteet

Diskreetit rakenteet Diskreetit rakenteet 811120P 5 op 7. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 Mikä on verkko? verkko (eli graafi) koostuu solmuista ja väleistä, jotka yhdistävät solmuja

Lisätiedot

Eksponenttifunktion Laplace muunnos Lasketaan hetkellä nolla alkavan eksponenttifunktion Laplace muunnos eli sijoitetaan muunnoskaavaan

Eksponenttifunktion Laplace muunnos Lasketaan hetkellä nolla alkavan eksponenttifunktion Laplace muunnos eli sijoitetaan muunnoskaavaan Laplace muunnos Hieman yksinkertaistaen voisi sanoa, että Laplace muunnos muuttaa derivaatan kertolaskuksi ja integroinnin jakolaskuksi. Tältä kannalta katsottuna Laplace muunnoksen hyödyllisyyden ymmärtää;

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Uudistuva RISKINARVIO-ohje

Uudistuva RISKINARVIO-ohje Uudistuva RISKINARVIO-ohje Kommentteja luonnoksesta Terhi Svanström 20.9.2013 30.9.2013 Page 1 Yleisiä huomioita rakenteesta ja käsitteistä Kommentteja riskinarviointi-osuudesta Kehuja 30.9.2013 Page 2

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

MUUTOS 14! - Sosiaaliset kriteerit julkisissa hankinnoissa!

MUUTOS 14! - Sosiaaliset kriteerit julkisissa hankinnoissa! Kysely Välkky-projektissa keväällä 2011 toteutetuista MUUTOS! -koulutuksista MUUTOS 14! - Sosiaaliset kriteerit julkisissa hankinnoissa! Aika ja paikka: 11.3.2011, MTC Oy, Pori Kouluttajat: Timo Martelius

Lisätiedot

Verkkotehtäviin pohjautuva arviointi matematiikan opetuksessa

Verkkotehtäviin pohjautuva arviointi matematiikan opetuksessa Verkkotehtäviin pohjautuva arviointi matematiikan opetuksessa Linda Blåfield, Helle Majander, Antti Rasila & Pekka Alestalo Aalto-yliopiston teknillinen korkeakoulu Oppimisen arviointi Käytännössä: Tarkastellaan

Lisätiedot

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista.

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista. OHJE OPISKELIJALLE MOODLEN KÄYTTÖÖN 1/5 2011/2012 MOODLE KOULUTUKSESSA Työterveyslaitoksella käytetään Moodle -verkko-oppimisalustaa. Potilassiirtojen Ergonomia - koulutus on monimuotokoulutusta, johon

Lisätiedot

Suomi toisena kielenä -ylioppilaskoe. FT Leena Nissilä Opetusneuvos, yksikön päällikkö OPETUSHALLITUS

Suomi toisena kielenä -ylioppilaskoe. FT Leena Nissilä Opetusneuvos, yksikön päällikkö OPETUSHALLITUS Suomi toisena kielenä -ylioppilaskoe FT Leena Nissilä Opetusneuvos, yksikön päällikkö OPETUSHALLITUS 1 Uusi opetussuunnitelma haastaa oppimisen Uusi opetussuunnitelma haastaa oppimisen Teknologian soveltaminen

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 9..7 Luento Kokonaislukuoptimoinnin algoritmeja (kirja.-.) Lineaarinen ohjelmointi - Syksy 7 / Luentorunko Gomoryn leikkaava taso Branch & Bound Branch & Cut Muita menetelmiä

Lisätiedot

Prosessit etyön kehittämisessä

Prosessit etyön kehittämisessä Prosessit etyön kehittämisessä Hanna Alila, Oulun yliopisto 15.4.2011 Hanke lyhyesti eprosessit-hankkeen päätavoitteena on tutkia empiirisesti vuorovaikutus- ja etäteknologoita caseorganisaatioiden johtamisessa

Lisätiedot

Sähköpostiohjeet. Tehokas ja huoleton sähköposti

Sähköpostiohjeet. Tehokas ja huoleton sähköposti Sähköpostiohjeet 1 Uuden PST tiedoston luominen sähköposteille... 3 Tärkeää!... 3 Tiedoston luominen... 3 Kansioiden luominen datatiedostoon... 5 Pikatoimintojen luominen... 8 Odottaa vastausta allekirjoitus...

Lisätiedot

Väli- ja loppuraportointi

Väli- ja loppuraportointi Väli- ja loppuraportointi Hyvän raportin merkitys hankkeen tulosten kuvaamisessa Sari Ahvenainen ESR-koordinaattori 25.5.2011 Uudenmaan ELY-keskus Väliraportti (1/8) Miksi väliraportti tehdään? - Tarkoituksena

Lisätiedot

Dynaamisen järjestelmän siirtofunktio

Dynaamisen järjestelmän siirtofunktio Dynaamisen järjestelmän siirtofunktio Nyt päästään soveltamaan matriisilaskentaa ja Laplace muunnosta. Tutkikaamme, miten lineaarista mallia voidaan käsitellä. Kuten edellä on jo nähty säätötekniikassa

Lisätiedot

Kriittisen polun hallinta CRIPMAN (CRItical Path MANagement) Pekka Maijala & Jaakko Paasi

Kriittisen polun hallinta CRIPMAN (CRItical Path MANagement) Pekka Maijala & Jaakko Paasi Kriittisen polun hallinta CRIPMAN (CRItical Path MANagement) Pekka Maijala & Jaakko Paasi CRIPMAN CRIPMAN on tuotteen arvoverkoston tai sen osan toiminnan optimoinnin ja kehittämisen menetelmä. Kriittisen

Lisätiedot

TIEA382 Lineaarinen ja diskreetti optimointi

TIEA382 Lineaarinen ja diskreetti optimointi TIEA382 Lineaarinen ja diskreetti optimointi Jussi Hakanen Tietotekniikan laitos jussi.hakanen@jyu.fi AgC 426.3 Yleiset tiedot Tietotekniikan kandidaattiopintojen valinnainen kurssi http://users.jyu.fi/~jhaka/ldo/

Lisätiedot

Kenguru 2016 Mini-Ecolier (2. ja 3. luokka) Ratkaisut

Kenguru 2016 Mini-Ecolier (2. ja 3. luokka) Ratkaisut sivu 1 / 11 TEHTÄVÄ 1 2 3 4 5 6 VASTAUS E B C D D A TEHTÄVÄ 7 8 9 10 11 12 VASTAUS E C D C E C TEHTÄVÄ 13 14 15 16 17 18 VASTAUS A B E E B A sivu 2 / 11 3 pistettä 1. Anni, Bert, Camilla, David ja Eemeli

Lisätiedot

Mielestämme hyvä kannustus ja mukava ilmapiiri on opiskelijalle todella tärkeää.

Mielestämme hyvä kannustus ja mukava ilmapiiri on opiskelijalle todella tärkeää. Ops-perusteluonnosten palaute Poikkilaakson oppilailta 1 LUKU 2 B Perusopetuksen arvoperusta Suunta on oikea, ja tekstissä kuvataan hyvin sitä, kuinka kaikilla lapsilla kuuluisi olla oikeus opiskella ja

Lisätiedot

Hyvä vesihuoltohanke, suunnittelijan näkökulma

Hyvä vesihuoltohanke, suunnittelijan näkökulma Hyvä vesihuoltohanke, suunnittelijan näkökulma Hannu Pirinen Pohjois-Karjalan aikuisopisto 16.03.2012 Maveplan Oy March 14, 2012 2 PÄÄVAIHEET: Osuuskunnan perustaminen Liittymishalukkuuden selvittäminen

Lisätiedot

HALLINTOTIETEIDEN MAISTERIN TUTKINTO Valintakoe 6.6.2014 Pisteet yhteensä (tarkastaja merkitsee)

HALLINTOTIETEIDEN MAISTERIN TUTKINTO Valintakoe 6.6.2014 Pisteet yhteensä (tarkastaja merkitsee) HALLINTOTIETEIDEN MAISTERIN TUTKINTO Valintakoe 6.6.2014 Pisteet yhteensä (tarkastaja merkitsee) VALINTAKOKEEN PISTEYTYS Valintakokeesta on mahdollisuus saada maksimissaan 60 pistettä. Tehtävät perustuvat

Lisätiedot

P A R T. Professional Assault Response Training 2002. Seppo Salminen Auroran koulu. Valtakunnalliset sairaalaopetuksen koulutuspäivät 16.11.

P A R T. Professional Assault Response Training 2002. Seppo Salminen Auroran koulu. Valtakunnalliset sairaalaopetuksen koulutuspäivät 16.11. P A R T Professional Assault Response Training 2002 Seppo Salminen Auroran koulu Valtakunnalliset sairaalaopetuksen koulutuspäivät 16.11.2007 PART -taustaa Ammatillista reagointia uhkaavissa ja väkivaltaisissa

Lisätiedot

MAA10 HARJOITUSTEHTÄVIÄ

MAA10 HARJOITUSTEHTÄVIÄ MAA0 Määritä se funktion f: f() = + integraalifunktio, jolle F() = Määritä se funktion f : f() = integraalifunktio, jonka kuvaaja sivuaa suoraa y = d Integroi: a) d b) c) d d) Määritä ( + + 8 + a) d 5

Lisätiedot

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit GA & robot path planning Janne Haapsaari AUTO3070 - Geneettiset algoritmit GA robotiikassa Sovelluksia liikkeen optimoinnissa: * eri vapausasteisten robottien liikeratojen optimointi * autonomisten robottien

Lisätiedot

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena Tiivistelmät, väli- ja loppuraportit Auli Vuorela ESR-koordinaattori Uudenmaan ELY-keskus 6.5.2013 Raportteja, raportteja, raportteja Loppuraportti

Lisätiedot

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org Sisällysluettelo Yleistä...3 Asennus... 4 Asetukset... 4 Toimitustavat... 5 Tilauksen käsittely...6 Huomioitavaa... 7 Lähipaketti toimitustapa...

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Niemenkulman vanha koulu. Yhdistysten talot ja tilat ilta 3.5. Vartsala Terhi Ajosenpää

Niemenkulman vanha koulu. Yhdistysten talot ja tilat ilta 3.5. Vartsala Terhi Ajosenpää Niemenkulman vanha koulu Yhdistysten talot ja tilat ilta 3.5. Vartsala Terhi Ajosenpää Niemenkulman koulu yi Koulun käyttötarkoitus muotoutunut vuosien saatossa tilanteiden mukaan o Rakennettu kansakouluksi

Lisätiedot

Strategia, johtaminen ja KA. Virpi Einola-Pekkinen 29.4.2015

Strategia, johtaminen ja KA. Virpi Einola-Pekkinen 29.4.2015 Strategia, johtaminen ja KA 29.4.2015 Valtiovarainministeriö Talouden ja hyvinvoinnin vakaan perustan rakentaja VM vastaa vakaan ja kestävän kasvun edellytyksiä vahvistavasta talouspolitiikasta valtiontalouden

Lisätiedot

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016 Osakesalkun optimointi Anni Halkola Turun yliopisto 2016 Artikkeli Gleb Beliakov & Adil Bagirov (2006) Non-smooth optimization methods for computation of the Conditional Value-at-risk and portfolio optimization.

Lisätiedot

Muurahaiskolonnaoptimointi ja kauppamatkustajan ongelma

Muurahaiskolonnaoptimointi ja kauppamatkustajan ongelma Muurahaiskolonnaoptimointi ja kauppamatkustajan ongelma Jaakko Ahola LuK-tutkielma Turun yliopisto Helmikuu 2015 Sisältö 1 Johdanto 3 2 Muunnos oikeista muurahaisista keinotekoisiin 4 2.1 Tuplapolkukoe...........................

Lisätiedot

Valintaperusteet, kevät 2013: Liiketalouden koulutusohjelma 210 op, Liiketalouden ammattikorkeakoulututkinto, Tradenomi

Valintaperusteet, kevät 2013: Liiketalouden koulutusohjelma 210 op, Liiketalouden ammattikorkeakoulututkinto, Tradenomi Valintaperusteet, kevät 2013: Liiketalouden koulutusohjelma 210 op, Liiketalouden ammattikorkeakoulututkinto, Tradenomi Valintakokeisiin kutsutaan kaikki hakukelpoiset hakijat. Lopulliseen opiskelijavalintaan

Lisätiedot

Opintopolku opastaa korkeakouluhakuihin

Opintopolku opastaa korkeakouluhakuihin Opintopolku opastaa korkeakouluhakuihin 4.12.2012 Erityisasiantuntija Joni Penkari, OPH Mikä on opintopolku? Mitä uusi korkeakouluhaku tarkoittaa hakijalle? Miten opintopolku vie korkeakouluopiskelijaksi?

Lisätiedot

Oletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on

Oletetaan, että funktio f on määritelty jollakin välillä ]x 0 δ, x 0 + δ[. Sen derivaatta pisteessä x 0 on Derivaatta Erilaisia lähestymistapoja: geometrinen (käyrän tangentti sekanttien raja-asentona) fysikaalinen (ajasta riippuvan funktion hetkellinen muutosnopeus) 1 / 13 Derivaatan määritelmä Määritelmä

Lisätiedot

Marjan makuisia koruja rautalangasta ja helmistä -Portfolio

Marjan makuisia koruja rautalangasta ja helmistä -Portfolio Marjan makuisia koruja rautalangasta ja helmistä -Portfolio Saara Lohi 2007 Suunnittelu ja tavoitteet Suunnittelun lähtökohtana oli kuva pihlajanmarjoista pajumatolla. Tavoitteena on suunnitella ja toteuttaa

Lisätiedot

Animaation tuotanto. Mika Timonen

Animaation tuotanto. Mika Timonen Animaation tuotanto Mika Timonen Sisällys Johdanto Animoijat - Odotukset ja vastuualueet Hahmoanimoinnin tuotantoketju Suunnittelu Pintakerroksen luonti Luurangon luonti Pintakerroksen yhdistäminen luurankoon

Lisätiedot

KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2.

KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2. Päijät-Hämeen liitto The Regional Council of Päijät-Häme KUNTIEN ROOLI MUUTOKSESSA Vaikuttamisiltapäivä ja EK-foorumi 3.2. @Jari_Parkkonen #PHliitto Lähde: Tilastokeskus Kartta ja analyysi: Timo Aro Lähde:

Lisätiedot

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI

Lisätiedot

Matematiikan tukikurssi 3.4.

Matematiikan tukikurssi 3.4. Matematiikan tukikurssi 3.4. Neliömuodot, Hessen matriisi, deiniittisyys, konveksisuus siinä tämän dokumentin aiheet. Neliömuodot ovat unktioita, jotka ovat muotoa T ( x) = x Ax, missä x = (x 1,, x n )

Lisätiedot

TW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ

TW- EAV510: WDS- TOIMINTO KAHDEN TW- EAV510 LAITTEEN VÄLILLÄ TWEAV510: WDSTOIMINTO KAHDEN TWEAV510 LAITTEEN VÄLILLÄ Alla kaksi vaihtoehtoista ohjetta WDSverkon luomiseksi Ohje 1: WDSyhteys käyttää WPAsalausta. Tässä ohjeessa WDSyhteys toimii vain, kun tukiasema

Lisätiedot

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen Paikkatietomarkkinat, Helsinki 3.11.2009 Tero Heinonen Sisältö Kuvioton metsäsuunnittelu Optimointi leimikon suunnittelumenetelmänä Verrataan optimointi lähestymistapaa diffuusiomenetelmään Muuttuvat käsittely-yksiköt

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3 7.3.07 Tehtävä Olkoon tilamuuttujat Tällöin saadaan rekursioyhtälö f n (x n ) = max yn {0,} ynwn xn f 0 ( ) = 0. x n = vaiheessa n jäljellä oleva paino, n =,...,N, esine n pakataan

Lisätiedot

KELAN INDUKTANSSI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Miika Manninen, n85754 Tero Känsäkangas, m84051

KELAN INDUKTANSSI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Miika Manninen, n85754 Tero Känsäkangas, m84051 VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Miika Manninen, n85754 Tero Känsäkangas, m84051 SATE.2010 Dynaaminen kenttäteoria KELAN INDUKTANSSI Sivumäärä: 21 Jätetty tarkastettavaksi: 21.04.2008

Lisätiedot

Ehdotus NEUVOSTON PÄÄTÖS

Ehdotus NEUVOSTON PÄÄTÖS EUROOPAN KOMISSIO Bryssel 15.4.2015 COM(2015) 153 final 2015/0078 (NLE) Ehdotus NEUVOSTON PÄÄTÖS yhteistä passitusta käsittelevässä EU EFTA-sekakomiteassa esitettävästä Euroopan unionin kannasta yhteistä

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Parhaita käytäntöjä käyttöön Benchmarking lähtökohtana, RouteSmart työkaluna

Parhaita käytäntöjä käyttöön Benchmarking lähtökohtana, RouteSmart työkaluna Parhaita käytäntöjä käyttöön Benchmarking lähtökohtana, RouteSmart työkaluna Parhaat käytännöt käyttöön Miksi? ESD Energiapalvelu direktiivi Tavoitteena säästää 50 milj. bensiinilitraa vastaava energiamäärä

Lisätiedot

Ohje hakulomakkeen täyttämiseen yliopistohaku.fi -palvelussa

Ohje hakulomakkeen täyttämiseen yliopistohaku.fi -palvelussa Hakijan ohje Opetushallitus kevät 2013 Ohje hakulomakkeen täyttämiseen yliopistohaku.fi -palvelussa Tässä ohjeessa on kuvattu miten hakulomake täytetään ja lähetetään yliopistohaku.fi-palvelussa. Näytön

Lisätiedot

Reitinoptimointiongelma, sen variantit ja ratkaisumenetelmät. FT Tuukka Puranen TIEA382 7.3.2012

Reitinoptimointiongelma, sen variantit ja ratkaisumenetelmät. FT Tuukka Puranen TIEA382 7.3.2012 Reitinoptimointiongelma, sen variantit ja ratkaisumenetelmät FT Tuukka Puranen TIEA382 7.3.2012 Tavoitteet Tunnistaa alueita, jossa reitinoptimointia voidaan hyödyntää Hahmottaa reitinoptimoinnin keskeiset

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Lausuntopyyntö STM 2015

Lausuntopyyntö STM 2015 Lausuntopyyntö STM 2015 1. Vastaajatahon virallinen nimi Nimi - Vaasan sairaanhoitopiirin ky 2. Vastauksen kirjanneen henkilön nimi Nimi - Göran Honga 3. Vastauksen vastuuhenkilön yhteystiedot Nimi Asema

Lisätiedot

Antavatko Kelan standardit mahdollisuuden toteuttaa hyvää kuntoutusta työssä uupuneille ja mielenterveysongelmaisille?

Antavatko Kelan standardit mahdollisuuden toteuttaa hyvää kuntoutusta työssä uupuneille ja mielenterveysongelmaisille? Antavatko Kelan standardit mahdollisuuden toteuttaa hyvää kuntoutusta työssä uupuneille ja mielenterveysongelmaisille? Sari Kauranen, psykologi Verve Oulu Kokemuksia ja havaintoja kahdesta näkökulmasta

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Yleistä https://korppi.jyu.fi/kotka/r.jsp?course=96762 Sisältö Johdanto yksitavoitteiseen

Lisätiedot

Aki Taanila LINEAARINEN OPTIMOINTI

Aki Taanila LINEAARINEN OPTIMOINTI Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen

Lisätiedot

Riskienhallinta DTV projektissa. Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Riskienhallinta DTV projektissa. Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Teknillinen korkeakoulu 61 Riskienhallinta DTV projektissa Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 1.0 29.10.01 Oskari Pirttikoski Ensimmäinen versio

Lisätiedot

Laboratoriotyön sisältö. Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti (1 raportti/työ)

Laboratoriotyön sisältö. Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti (1 raportti/työ) Päällystyksen ja pintakäsittelyn kemiaa laboratoriotyöt kevät 2012 n. 15 h labratyöskentelyä Laboratoriotyön sisältö Pareittain tehtävä laboratoriotyö Vaatimukset: Laboratoriotyöskentely Loppuraportti

Lisätiedot

360 asteen kuvan tekeminen

360 asteen kuvan tekeminen 360 asteen kuvan tekeminen 1. Kuvaus kopterilla Kuvaa kopterilla samasta paikasta kuvia joka suuntaan. Kuvissa pitää olla peittoa, eli jokaisessa kuvassa näkyy hieman viereisen kuvan aluetta Kuvaus kannattaa

Lisätiedot

Mitä lapsen tulisi varhaiskasvatuksesta saada? Leikki-ikäisen hyvän kasvun eväät MLL 25.10.2013 Helsinki Marjatta Kalliala

Mitä lapsen tulisi varhaiskasvatuksesta saada? Leikki-ikäisen hyvän kasvun eväät MLL 25.10.2013 Helsinki Marjatta Kalliala Mitä lapsen tulisi varhaiskasvatuksesta saada? Leikki-ikäisen hyvän kasvun eväät MLL 25.10.2013 Helsinki Marjatta Kalliala Lasta ei voida ohjelmoida kokemaan sitä mitä aikuiset toivovat hänen kokevan.

Lisätiedot

SIS. Vinkkejä Ampèren lain käyttöön laskettaessa magneettikenttiä:

SIS. Vinkkejä Ampèren lain käyttöön laskettaessa magneettikenttiä: Magneettikentät 2 SISÄLTÖ: Ampèren laki Menetelmän valinta Vektoripotentiaali Ampèren laki Ampèren lain avulla voidaan laskea maneettikenttiä tietyissä symmetrisissä tapauksissa, kuten Gaussin lailla laskettiin

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot