Malliratkaisut Demot

Samankaltaiset tiedostot
Harjoitus 6 ( )

Harjoitus 6 ( )

Malliratkaisut Demot

Malliratkaisut Demot

Malliratkaisut Demot 6,

Malliratkaisut Demot

Malliratkaisut Demo 4

Malliratkaisut Demot

Malliratkaisut Demot

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

Malliratkaisut Demo 1

Malliratkaisut Demot

Malliratkaisut Demot

Harjoitus 3 ( )

Harjoitus 3 ( )

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Mat Lineaarinen ohjelmointi

Johdatus verkkoteoriaan 4. luento

Algoritmit 2. Luento 11 Ti Timo Männikkö

Luento 9: Yhtälörajoitukset optimoinnissa

Harjoitus 1 ( )

Mat Lineaarinen ohjelmointi

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Mat Lineaarinen ohjelmointi

Jälki- ja herkkyysanalyysi. Tutkitaan eri kertoimien ja vakioiden arvoissa tapahtuvien muutosten vaikutusta optimiratkaisuun

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

Malliratkaisut Demot

Piiri K 1 K 2 K 3 K 4 R R

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Harjoitus 1 ( )

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Malliratkaisut Demo 4

Demo 1: Simplex-menetelmä

Lineaarinen optimointitehtävä

Harjoitus 5 ( )

Harjoitus 5 ( )

MS-C2105 Optimoinnin perusteet Malliratkaisut 4

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Demo 1: Branch & Bound

Kombinatorinen optimointi

Harjoitus 2 ( )

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Kokonaislukuoptimointi

Luento 4: Lineaarisen tehtävän duaali

Keskeiset tulokset heikko duaalisuus (duaaliaukko, 6.2.1) vahva duaalisuus (6.2.4) satulapisteominaisuus (6.2.5) yhteys KKT ehtoihin (6.2.

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

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

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Talousmatematiikan perusteet: Luento 15. Rajoitettu optimointi Lagrangen menetelmä Lagrangen kerroin ja varjohinta

Kimppu-suodatus-menetelmä

Kokonaislukuoptimointi hissiryhmän ohjauksessa

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

Datatähti 2019 loppu

Search space traversal using metaheuristics

1 Määrittelyjä ja aputuloksia

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

Luento 7: Kokonaislukuoptimointi

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Harjoitus 2 ( )

Algoritmit 2. Luento 10 To Timo Männikkö

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

b 1. b m ) + ( 2b Ax) + (b b)

Este- ja sakkofunktiomenetelmät

Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot

TIEA382 Lineaarinen ja diskreetti optimointi

Luento 7: Kokonaislukuoptimointi

Matematiikan tukikurssi, kurssikerta 3

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Kokonaislukuoptimointi

Talousmatematiikan perusteet: Luento 14. Rajoitettu optimointi Lagrangen menetelmä: yksi yhtälörajoitus Lagrangen menetelmä: monta yhtälörajoitusta

8. Ensimmäisen käyvän kantaratkaisun haku

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

1 Rajoitettu optimointi I

Luku 8. Aluekyselyt. 8.1 Summataulukko

Talousmatematiikan perusteet: Luento 11. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Markov-ketjut pitkällä aikavälillä

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

Algebra I, harjoitus 5,

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

1 Ensimmäisen asteen polynomifunktio

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Mat Lineaarinen ohjelmointi

Analyysi 1. Harjoituksia lukuihin 1 3 / Syksy Osoita täsmällisesti perustellen, että joukko A = x 4 ei ole ylhäältä rajoitettu.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Algoritmit 1. Luento 9 Ti Timo Männikkö

Luento 3: Simplex-menetelmä

Matematiikan tukikurssi

Matematiikan tukikurssi

Matematiikan peruskurssi 2

Matematiikan tukikurssi

Transkriptio:

Malliratkaisut Demot 6 24.4.2017 Tehtävä 1 Määritelmän (ks. luentomonisteen s. 107) mukaan yleisen muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on min θ(u,v) s.t. u 0, (2) missä Tarkastellaan optimointitehtävää Tämä on muotoa (1) oleva tehtävä, jossa { θ(u,v) = inf f(x)+u T g(x)+v T h(x) }. (3) x X min c T x f(x) = c T x s.t. Ax b x 0. g(x) = b Ax X = {x R n x 0}. Nyt määritelmän (3) ja vektorien x X alkioiden ei-negatiivisuuden nojalla saadaan θ(u) = inf x X {ct x+u T (b Ax)} = inf x X {ut b+(c T u T A)x} u T b, kun c T u T A 0 eli A T u c =, kun c T u T A < 0. (4) Sijoittamalla funktion θ lauseke duaalitehtävään (2) ja ottamalla huomioon että epäyhtälörajoitetta vastaavan duaalimuuttujan u on oltava ei-negatiivinen saadaan vaadittua muotoa 1

max u T b s.t. A T u c u 0 oleva optimointitehtävä. Tehtävä 2 Tarkastellaan optimointitehtävää min 3x 11 +6x 12 +5x 21 +2x 22 +250y 1 +300y 2 s.t. 30x 11 +20x 12 50y 1 30x 21 +20x 22 50y 2 x 11 +x 21 = 1 (5) x 12 +x 22 = 1 0 x ij 1 y i {0,1}. Suoritetaan ensin täydellinen luettelointi seuraavan taulukon mukaisesti: y 1 y 2 x 11 x 12 x 21 x 22 f 0 0 0 1 0 0 1 1 307 1 0 1 1 0 0 259 1 1 1 0 0 1 555 Taulukossa on kullakin muuttujien y 1 ja y 2 salitulla yhdistelmällä ratkaistu optimaaliset x-muuttujat sekä laskettu kohdefunktion arvo. Taulukossa olevat viivat tarkoittavat, ettei sallittua ratkaisua ole olemassa. Tehtävän optimiratkaisu on siis x 11 = x 12 = 1 x 21 = x 22 = 0 y 1 = 1, y 2 = 0, ja kohdefunktio saa tällöin arvon 259. 2

Sovelletaan Lagrangen relaksaatiota dualisoimalla kolmas ja neljäs rajoite. Tällöin saadaan tehtävä min 3x 11 +6x 12 +5x 21 +2x 22 +250y 1 +300y 2 + v 1 (1 x 11 x 21 )+v 2 (1 x 12 x 22 ) s.t. 30x 11 +20x 12 50y 1 30x 21 +20x 22 50y 2 0 x ij 1 y i {0,1}. (6) Relaksoitu tehtävä on helpompi ratkaista, sillä rajoituksia on vähemmän ja jokainen muuttuja esiintyy tarkalleen yhdessä rajoitteessa. Tehtävä voidaan nyt jakaa kahdeksi riippumattomaksi osatehtäväksi, joista ensimmäisessä on muuttujatx 11,x 12,y 1 ja toisessa muuttujat x 21,x 22,y 2. Osatehtävät ovat min (3 v 1 )x 11 +(6 v 2 )x 12 +250y 1 s.t. 30x 11 +20x 12 50y 1 0 x ij 1, y 1 {0,1} ja min (5 v 1 )x 21 +(2 v 2 )x 22 +300y 2 s.t. 30x 21 +20x 22 50y 2 0 x ij 1, y 2 {0,1}. Ratkaisemalla osatehtävät tehtäväpaperissa annetuilla muuttujien v 1 ja v 2 arvoilla saadaan optimaaliset x-muuttujien arvot sekä vastaavat tehtävän (6) kohdefuktion arvot v 1 v 2 x 11 x 12 x 21 x 22 y 1 y 2 f 0 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 0 200 153 106 1 1 0 0 1 0 259 Havaitaan että relaksoidun tehtävän (6) optimiratkaisun kohdefunktion arvo antaa alarajan alkuperäisen optimointitehtävän (5) kohdefunktion optimiarvolle. Tiukin alaraja saadaan ylläolevan taulukon suurimmmasta kohdefunktion arvosta. Tämä alaraja on 259, joka on sama kuin alkuperäisen tehtävän (5) kohdefunktion optimiarvo. 3

Tavallisella relaksaatiolla (jossa korvataan rajoitteet y i {0,1} rajoitteilla 0 y i 1) saadaan x 11 = x 12 = y 1 = 1 ja x 21 = x 22 = y 2 = 0. Tällöin kohdefunktion arvoksi tulee 259 eli sattumalta saadaan sama ratkaisu kuin täydellisellä luettoloinnilla sekä Lagrangen relaksaatiolla. Tehtävä 3 Ratkaistaan branch and bound -menetelmällä tehtävä max 3x 1 +3x 2 +13x 3 s.t. 3x 1 +6x 2 +7x 3 8 6x 1 3x 2 +7x 3 8 x i {0,1,2,...}. (7) Koska tehtävässä on binääristen rajoitteiden sijaan kokonaislukurajoitteet, ei luentomonisteessa esitetty branch and bound -menetelmä ole sellaisenaan sovellettavissa. Kokonaislukutehtäville soveltuva menetelmä saadaan muuttamalla haarautumisehtoja. Muunnetussa menetelmässä kunkin solmun t vasempaan alipuuhun tulee rajoite x p x (t) p ja oikeaan alipuuhun rajoite x p x (t) p + 1, missä p on solmun t ratkaisuvektorin x (t) käsiteltäväksi valittavan ei-kokonaislukukomponentin indeksi ja x (t) p tarkoittaa suurinta kokonaislukua, joka on pienempi tai yhtäsuuri kuin x (t) p. Käytetään syvyyshakua. Toisin sanoen, kullakin askeleella valitaan tutkittavaksi solmuksi se joka on käsittelemättömistä solmuista syvimmällä puussa. Haarautumista lukuun ottamatta algoritmi on sama kuin luentomonisteessa esitetty algoritmi 4.10. Algoritmin toimintaa esittävä puu on piirretty kuvaan 1, ja siinä olevat merkinnät ovat samat kuin luentomonisteessa. Käsiteltäväksi valittava vektorin x (t) komponentti kussakin solmussa t on alleviivattu. Tehtävän ratkaisu saadaan solmusta 9 ja se on x (9) = (0,0,1) ṽ = 13. Algoritmin tuottama puu kuvassa 1 ei ole yksikäsitteinen, vaan haarautuminen olisi voitu tehdä parissa kohtaa myös eri tavalla: Solmussa 0 olisi voitu haarautua käyttäen vektorin x (0) toista komponenttia. Solmussa 6 olisi voitu tehdä haarautuminen vektorin x (5) ensimmäistä komponenttia käyttäen. 4

v 0 x 0 2.667, 2.667, 0 v 16, pyöristys: x 2,2,0 x 1 2 x 1 3 v 12 x 3 0 2 x 2 2, 2, 0.286 v 15.714, p: 2,2,0 x 3 1 1 x 3 x 6 0.333,0.333,1 2, 2.333, 0 3 6 v v 15, p: 0,0,1 13, p: 2,2,0 v 13 x 2 2 x 2 3 x 2 0 x 2 1 x 4 2,2,0 4 v 12 v rajalopetus 5 x 3 1 7 x 7 0, 0, 1.143 v 14.857, p: 0,0,1 12 x 3 2 x 1 0 8 x 8 0.167, 0, 1 v 13.5, p: 0,0,1 x 1 1 11 x 9 0,0,1 9 v 13 v rajalopetus 10 Kuva 1: Optimointitehtävän (7) ratkaisu branch and bound -menetelmällä Valittu haarautumistapa muuttaa ainoastaan saatua puuta, mutta ei vaikuta saatuun optimaaliseen ratkaisuun. Näin ollen haarautumistavasta riippumatta ratkaisu on sama kuin kuvan 1 solmussa 9. Algoritmin toimintaperiaate selviää kuvan 1 puusta. Periaatteessa branch and bound -algoritmin toimintaa voi tehostaa pyöristämällä kussakin käsiteltävässä solmussa t relaksaatiosta saatu ratkaisun x (t) komponentit alaspäin lähimpiin kokonaislukuarvoihin. Jos pyöristetystä ratkaisusta käytetään merkintää x (t), niin pöyristyksiä käyttävä menetelmä eroaa luentomonisteen algoritmissa 4.10 esitetystä menetelmästä kahdella tavalla: Askeleessa 4 verrataan pyöristetyllä ratkaisulla x (t) laskettua kohdefunktion arvoa parhaaseen tunnettuun kohdefunktion arvoon ˆv. 5

Koska x (t) on kussakin solmussa t sallittu, voidaan parasta tunnettua kohdefunktion arvoa ˆv päivittää myös välisolmuissa eikä vain päätesolmussa kuten alkuperäisessä algoritmissa (ks. luentomonisteen kuva 43). Usein pyöristysten käyttö antaa parempia rajoja kohdefunktion optimiarvolle, mutta ainakaan tässä tehtävässä siitä ei ole merkittävää hyötyä. Tehtävä 4 Sorvin alustusajat ovat epäsymmetriset. Jotta aloitusajat saadaan mukaan, lisätään taulukkoon tuote 0, jolloin taulukoksi tulee c ij 0 1 2 3 4 5 0 3 4 7 8 5 1 0 7 12 10 9 2 0 6 10 14 11 3 0 10 11 12 10 4 0 7 8 15 7 5 0 12 9 8 16 Taulukko 1: Alustusasetuksien kestot sorvissa Ajatellaan tehtävää kuuden kaupungin epäsymmetrisenä kauppamatkustajaongelmana. Kun valitaan päätösmuuttujat { 1, jos k:nneksi tehtävä työ on i y ki = 0, muuten, niin saadaan kauppamatkustajaongelma kirjoitettua kvadraattiseksi järjestelyongelmaksi min s.t. 5 5 6 c ij y ki y k+1,j i=0 j=0 k=1 5 y ki = 1, k = 1,...,6 i=0 6 y ki = 1, i = 0,...,5 k=1 y ki {0,1}, k = 1,...,6; i = 0,..,5. Tässä arvo y 7j merkitsee arvoa y 1j. 6

Ratkaisua etsittäessä lähdetään liikkeelle reitistä 0 5 4 3 2 1 0, jolloin reitin pituus (tai pikemminkin kesto) on 53 minuuttia. Etsitään lokaali optimi parittaisilla vaihdoilla, joita on kappaletta erilaista. n n 1 2 = 6 5 2 = 15 Tuloksista saadaan taulukko 2. Kyseisessä taulukossa vaihdot on tehty alkuperäiseen Vaihdetut Reitti vaihdon jälkeen Pituus (1,2) 5 0 4 3 2 1 49 (1,3) 4 5 0 3 2 1 41 (1,4) 3 5 4 0 2 1 48 (1,5) 2 5 4 3 0 1 52 (1,6) 1 5 4 3 2 0 54 (2,3) 0 4 5 3 2 1 40 (2,4) 0 3 4 5 2 1 41 (2,5) 0 2 4 3 5 1 55 (2,6) 0 1 4 3 2 5 50 (3,4) 0 5 3 4 2 1 39 (3,5) 0 5 2 3 4 1 43 (3,6) 0 5 1 3 2 4 54 (4,5) 0 5 4 2 3 1 49 (4,6) 0 5 4 1 2 3 46 (5,6) 0 5 4 3 1 2 53 Taulukko 2: Mahdolliset parittaiset vaihdot ensimmäisessä vaiheessa reittiin 0 5 4 3 2 1 0. Taulukon merkinnät tarkoittavat suljettuja reittejä, joissa oikeanpuolimmaisesta alkiosta palataan vasemmanpuolimmaiseen. Esimerkiksi rivin 1 reitti kulkee alkiosta 1 alkioon 5. Vaihdetut alkiot on selkeyden vuoksi alleviivattu. Ensimmäisen vaihdon jälkeen paras tulos on 39 minuuttia. Kun tähän reittiin sovelletaan uudelleen parittaisia vaihtoja tulos ei enää parane, joten reitti 0 5 3 4 2 1 0 on lokaali optimi. Yllä saatu optimi ei välttämättä ole paras mahdollinen, koska parittaiset vaihdot kattavat vai pienen osan hakuavaruudesta. Paras reitti eli globaali optimi 0 2 1 4 5 3 0 saadaan käymällä kaikki sallitut kombinaatiot läpi, jolloin reitin pituus on 4+6+10+ 7+8+0 = 35 minuuttia. 7

Tehtävä 5 Ratkaistaan edellinen tehtävä konstruktiivisilla heuristiikoilla. a) Lähimmän naapurin menetelmä: Aloitetaan 0-solmusta, ja tarkastellaan, mikä solmu on lähin. Taulukon 1 ylimmältä riviltä huomataan, että solmuun 1 on matkaa vain 3 minuuttia, joten lisätään se reittiin 0 1. Tämän jälkeen tarkastellaan, mikä solmu on lähinnä olemassa olevaa reittiä, ja huomataan, että solmuun 2 on matkaa vain 7 minuuttia. Saadaan reitti 0 1 2. Näin jatkaen saadaan 0 1 2 3, jonka jälkeen jäljellä on enää solmut 4 ja 5. Solmu 5 on lähempänä olemassa olevaa reittiä (10 < 12), joten lopullinen reitti on 0 1 2 3 5 4, johon kuluu aikaa 46 minuuttia. b) Lähimmän lisäyksen menetelmä: Aloitetaan suljetusta reitistä 0 0 ja tarkastellaan minkä solmun lisääminen olemassa olevaan reittiin tuottaa pienimmän lisäyksen. Käydään kaikki vaihtoehdot läpi, ja huomataan, että solmu 1 tuottaa vain 3 minuutin lisäyksen. Saadaan reitti 0 1 0. Tämän jäljeen käydään läpi kaikki vaihtoehdot sovittaen jäljellä olevia solmuja väliin 0 1 sekä väliin 1 0. Esimerkiksi solmun 3 asettaminen väliin 0 1 tuottaisi reitin 0 3 1 0, ja lisäys olisi 7 + 10 3 = 14. Huomaa, että kuljettaessa solmun 3 kautta, ei reittiä 0 1 enää käytetä, joten se on vähennettävä. Solmun 2 asettaminen samaiseen väliin tuottaa ainoastaan lisäyksen 4+6 3 = 7, ja on näin ollen parempi. Kaikki vaihtoehdot on käyty läpi alla olevassa taulukossa ja siitä huomataan, että solmun 2 lisääminen reittiin tuottaa pienimmän lisäyksen. Saadaan reitti 0 2 1 0. Myös reitti 0 1 2 0 tuottaa saman lisäyksen ja olisi siis myös mahdollinen valinta tässä heuristisessa algoritmissa. Väli Lisätty solmu Reitti lisäyksen jälkeen Lisäys 0 1 2 0 2 1 0 7 1 0 2 0 1 2 0 7 0 1 3 0 3 1 0 14 1 0 3 0 1 3 0 12 0 1 4 0 4 1 0 12 1 0 4 0 1 4 0 10 0 1 5 0 5 1 0 14 1 0 5 0 1 5 0 9 Seuraavaksi sovitetaan jäljellä olevia solmuja (3,4 ja 5) olemassa olevan reitin väleihin (0 2, 2 1 ja 1 0). Käydään kaikki vaihtoehdot läpi, ja huomataan, että solmun 8

5 lisäys väliin 1 0 tuottaa pienimmän lisäyksen +9. Saadaan reitti 0 2 1 5 0. Näin jatketaan, ja lopulta saadaan reitti 0 2 1 4 5 3 0, jonka pituus on 35 minuuttia. Tämä on sattumoisin myös globaali optimi. c) Kaukaisimman lisäyksen menetelmä: Aloitetaan jälleen samasta suljetusta reitistä 0 0. Samaan tapaan kuin edellisessä kohdassa sovitetaan olemassa olevan reitin väleihin kaikkia jäljellä olevia solmuja. Nyt valitaan solmu, joka tuottaa suurimman lisäyksen, kun b-kohdassa valittiin solmu, joka tuotti pienimmän lisäyksen. Ensimmäisellä kierroksella saadaan reitti 0 4 0, jonka jälkeen 0 4 3 0. Kolmas lisäys tuottaa reitin 0 5 4 3 0 ja nyt solmun 5 lisääminen väliin 0 4 antaa 5 + 16 8 = 13 lisäyksen. Jäljellä olevia solmuja (1 ja 2) sovitetaan kaikkiin suljetun reitin väleihin, jonka seurauksena lisätään solmu 2 väliin 3 0 lisäyksellä +11. Lopullinen reitti on 0 1 5 4 3 2 0, jonka kesto on 54 minuuttia. Tässä tehtävässä huomataan, että lähimmän lisäyksen menetelmä tuotti parhaan tuloksen. Sattumoisin tämä oli vieläpä globaali optimi. b)-kohdan ahne algoritmi ei kaikissa ongelmissa kuitenkaan tuota parasta tulosta, koska viimeiset lisäykset saattavat olla suhteettoman suuria. Silloin päinvastainen heuristiikka saattaisi olla toimivampi, eli aloitetaan lisäämällä kaukaisimpia solmuja. 9