METSÄTYÖKONESIMULAATTORI
OSA 1
KÄYTTÖOPAS
ERKKI MÄKELÄ
1. JOHDANTO
Simulaattori on Tampereen yliopiston Matemaattisten tieteiden laitoksen tilastotieteen yksikön metsänkorjuuprojektin ohessa kehitetty tietokoneohjelma, jonka avulla voidaan simuloida metsätyökoneen tietojenkäsittelyosan toimintaa ja laatia ennusteita koko metsän puuston arvosta. Simulaattori käyttää samantyyppistä tiedostoformaattia kuin metsätyökonekin, joten se voi hyödyntää metsätyökoneelta saatua aineistoa lähes sellaisenaan.
Tässä Simulaattorin käyttöoppaan ensimmäisessä osassa käydään läpi ohjelman käskyt ja toiminnot. Toisessa osassa esitellään laskennan taustalla olevia tilastollisia malleja sekä suoritetaan muutamia esimerkkiajoja.
Metsätyökone karsii puun ja katkoo sen tukeiksi samalla kertaa. Rungon katkominen tukeiksi optimaalisella tavalla edellyttää, että rungon kapenema ja tukkirajan korkeus (tukkipuun minimiläpimitta) tunnetaan. Nykyaikaisessa metsätyökoneessa on kuljettajan apuna tietokone. Puunrunkoa karsiessaan metsätyökone tekee samalla mittauksia rungon pituudesta ja paksuudesta. Näiden mittausten ja jo aiemmin käsiteltyjen runkojen avulla se ennustaa rungon loppuosan kapenemista ja samalla myös tukkirajan korkeuden. Väärä ennuste johtaa väärin tehtyyn katkaisuun ja loppurungon arvon alenemiseen. Runko voitaisiin tietysti mitata ensin kokonaan ja katkoa vasta sitten, mutta ajanhukan lisäksi tästä aiheutuu myös käsittelyvaurioita puulle.
Simulaattori lähtee käsittelemään puuta tyvestä alkaen samoin kuten metsätyökonekin. Lähestyttyään parametrinä annetun matkan kohti ensimmäistä katkaisukohtaa Simulaattori laskee tunnetun osan avulla ennusterunkokäyrän tuntemattomalle latvaosalle. Ennustekäyrän ja jo mitatun tyviosan avulla lasketaan optimaaliset katkaisukohdat. Suoritettuaan katkaisun Simulaattori menee runkoa mitaten eteenpäin, kunnes aletaan lähestyä seuraavaa katkaisukohtaa. Simulaattori päivittää ennustekäyrän lisämittausten avulla, suorittaa seuraavan katkaisun ja jatkaa taas eteenpäin. Käsitellessään puita Simulaattori näyttää katkaisuittain, millaisen ennusteen se on laskenut puun latvaosalle ja millaiset katkaisupäätökset tämän ennusteen avulla on tehty.
Rungon kapenema ei ole vakio eri puuyksilöillä eikä edes saman puun eri osissa. Se vaihtelee myös lajeittain ja puun kasvupaikan mukaan. Ennuste tarkentuu käsittelyn edetessä tyvestä latvaa kohti ja alueen puuston kasvutavan tullessa tunnetuksi.
Metsän ennustamisohjelma on tarkoitettu apuvälineeksi pystypuuston
ennakkoarviointiin. Ohjelma tekee otoksen runkotiedostosta ja generoi tämän jälkeen
metsän uudelleen annettujen lähtötietojen perusteella. Tämä generoitu
runkokäyrästö "kaadetaan" ja verrataan, kuinka lähelle ennustemetsän
tukkijakaumat ovat osuneet todellisen metsän tukkijakaumia ja kuinka lähellä
ennustemetsästä saatu hinta ja tilavuus ovat todellisesta metsästä saatuja hintoja ja
tilavuuksia. Ohjelman avulla voidaan graafisten jakauma- ja yhteenvetotaulukoiden avulla
verrata alkuperäisen ja ennusteaineiston parametrien ja tunnuslukujen jakaumia sekä
tutkia, miten ajoparametrien muutokset vaikuttavat metsän ennustamiseen.
Simulaattori on ohjelmoitu C++-kielellä Windows-ympäristöön käyttäen MDI-tekniikkaa (Multiple Document Interface), jonka ansiosta
useampaa Simulaattoria voidaan ajaa yhtaikaa
datan siirto ohjelmien välillä käy kätevästi
käyttöliittymä on samantyyppinen kuin muissakin Windows-ohjelmissa
ohjelmassa on hypertekstimäinen Windows-ohjetiedosto
ohjelman tulostus ja grafiikka ovat laitteistoriippumattomia
ohjelma käynnistyy omassa ikkunassaan
Ohjelman laskentapainoitteisuuden takia sitä on suositeltavaa ajaa Pentium-prosessoreilla varustetuissa koneissa, mutta se toimii myös vanhemmissa 386- ja 486-prosessoreilla varustetuissa koneissa samoin kuin Macintoshissa PC-emulaattorin alla.
Simulaattori koostuu varsinaisesta ajettavasta ohjelmatiedostosta winsimul.exe sekä kolmesta ajurista bc450rtl.dll, metcode.dll ja metglib.dll. Lisäksi pakettiin kuuluu Windows-ohjetiedosto winsimul.hlp. Runkokäyrätiedostot on varustettu .stm-tarkenteella ja apteerauksessa käytettävät hintamatriisit .apt-tarkenteella. Metsän ennustamisessa syntyvä generoitu runkokäyrästö talletetaan oletusarvoisesti tiedostoon gen.enn.
Simulaattori asennetaan yksinkertaisesti kopioimalla tiedostot kovalevylle omaan hakemistoonsa. Simulaattorin käynnistämisen jälkeen aukenee näytölle aloitusikkuna. Siitä valitaan, kumpi ohjelman osista käynnistetään: metsätyökoneensimulointi vai metsänennustus.
Aloitusikkunasta voidaan valita myös sekä simuloinnin että
ennustuksen ohjeet. Ohjeisiin pääsee myös myöhemmin milloin tahansa ohjelman
suorituksen aikana Ohje-valikon kautta. Funktionäppäimellä f1
saadaan aukeamaan aktiivisena olevan ikkunan ohjeet. Aloitusikkunasta voidaan valita
katseltavaksi myös metsätyökoneen toimintaa esittelevä demonstraatio.
3. OHJELMAN IKKUNAT JA KOMENNOT
3.1. Runkokäyrien ennustaminen ja metsätyökoneen simulointi
Jos alussa valittiin simulointi, tulee näkyviin seuraava dialogi-ikkuna:
Ennen simuloinnin aloittamista dialogi-ikkunasta valitaan:
Mallipuiden lukumäärä. Mallin päivittämiseen käytettävien runkojen lukumäärä. Tunnetun osan pituus. Pituus (tyvestä tai edellisestä katkaisusta), jonka jälkeen Simulaattori laskee seuraavan katkaisukohdan.
Tyvestä poistettava pituus. Puun tyviosan mittaustiedot, jotka jätetään huomioimatta ennustetta laskettaessa. Annetun korkeuden läpimitta otetaan vielä huomioon.
Ennustuksen asteluku. Rungon ennustamisessa käytettävän polynomin asteluku. 1 = suora, 2 = toisen asteen käyrä, 3 = kolmannen asteen käyrä.
Satunnaisefektien lukumäärä. Ennustaminen tapahtuu ns. sekamallin avulla. Valinnalla määritetään montaako satunnaisvaikutustermiä ennustepolynomissa käytetään.
Puutiedosto. Puutiedoston valinta.
Ajotapa. Ajo voidaan suorittaa joko yksi runko ja yksi katkaisu kerrallaan prosessin etenemistä seuraten tai jatkuvana koko tiedoston läpi.
Hintojen laskutapa sekä hintatiedosto. Tukkien hinnat voidaan määrittää funktiolla tai vaihtoehtoisesti
tiedostoon talletetusta hintamatriisista.
Simulointi käynnistyy valituilla arvoilla OK-painikkeen osoituksen jälkeen. Ensimmäisen ennusteen laskeminen kestää jonkin verran pitempään kuin seuraavien, sillä alussa suoritetaan laskentamallin tarvitsemat muuttujien alustukset.
Simulointia ohjataan Simulointi- ja Näyttötoiminnot-valikoilla. Ohjelman etenemistä voidaan tarkastella neljässä eri ikkunassa. Kullakin ikkunalla on omat näyttötoimintonsa, joita voidaan ohjata myös säädinpaneelista, joka ponnahtaa näkyville simuloinnin käynnistyessä. Näyttötoiminnot-valikko ja säädinpaneeli mukautuvat aina aktiiviseen ikkunaan.
Simulointi-valikko
|
Lopeta simulointi . Paluu alkuun. Simuloinnin näyttötapa. Valitaan, näytetäänkö katkaisut-ikkunassa pelkkä ennuste vai myös todellinen tilanne. Komennolla voidaan myös säätää koordinaatiston akseleita. Hintojen laskutapa. Valitaan, käytetäänkö hintafunktiota vai tiedostoon talletettua hintalistaa. Hintataulukko. Hintalistan katselu ja editointi. Ajoasetusten näyttö. Näyttää valitut asetukset. Seuraava puu. Ennustetaan seuraava puu. |
Katkaisut-ikkuna näyttää yksittäisen puun simuloinnin tulokset:
Yksi/kaksi/neljä koordinaatistoa . Valitaan, monenko katkaisun tilanne näytetään ikkunassa yhtaikaa. Erikoisnäyttö näyttää kaikki ennustekäyrät yhtaikaa. Tukkien pituudet näyttää käsiteltävästä puusta saatavat tukit optimaalisesti katkaistuina sekä ennustuksen eri vaiheissa katkaistuina. Ensimmäinen/edellinen/seuraava katkaisu antavat mahdollisuuden siirtyä tarkastelemaan tilannetta eri katkaisuissa. Laskentatiedot näyttää ennustemallin parametrit.
|
Tukkijakauma-ikkunassa on mahdollista tarkastella saatujen tukkien jakaumaa
pituuden suhteen joko kokonaisuudessaan tai katkaisuittain.
|
Kertymätaulukko-ikkunassa voidaan tarkkailla tukkien kertymistä prosessin edetessä. Tukit
luokitellaan pituuden ja kapeamman pään halkaisijan mukaan.
Palkkinäyttö . Saatujen tukkien jakauma esitetään graafisesti kolmiulotteisessa taulukossa.
Väri/Mustavalkotaulukko . Tulokset esitetään numeerisesti. Väritaulukossa on apuna väri osoittamassa tukkien lukumäärää kussakin luokassa. Hattupalkkinäyttö. Kuten palkkinäyttö, mutta etummaiset rivit eivät peitä takimmaisia niin pahasti kuin palkkinäytössä. Etummainen rivi pois. Poistaa etummaisen rivin, jolloin saadaan paremmin näkyviin taustalla olevia palkkeja. Rivin lisäys eteen. Palauttaa rivejä, jotka on poistettu edellisellä komennolla. |
|
Näytöllinen alkua/loppua kohti . Taulukko ei välttämättä mahdu yhteen näytölliseen. Komennon avulla voidaan katsella taulukon alku- tai loppuosaa. Tukit ovat nousevassa järjestyksessä paksuuden mukaan. Rivin rullaus alkua/loppua kohti. Kuten edellinen komento, mutta näyttöä siirretään vain rivin verran. Taulukon alkuun/loppuun. Siirrytään taulukon alkuun tai loppuun. |
Yhteenveto katkaisuista -ikkunassa esitetään suoritetun ajon puuaineiston runkokäyrien ennustamisessa syntyneen virheen tilastollisia tunnuslukuja sekä yhteenvetotietoja tukkien hinnoista, tilavuuksista ja lukumäärästä ennustetuissa ja optimaalisissa katkaisuissa. Todellisen ja ennustetun runkokäyrän välistä virhettä mitataan RMSE:llä (root mean square error), joka määritellän siten, että
missä N on ennusteiden yi lukumäärä.
|
3.2. Metsän ennustaminen
Alussa tulee näkyviin dialogi-ikkuna, josta valitaan halutut vaihtoehdot:
Puutiedosto. Valitaan puutiedosto.
Soviteltavan polynomin aste. Valitaan runkokäyrien ennustamisessa käytettävän polynomin aste. 1 = suora, 2 = toisen asteen käyrä, 3 = kolmannen asteen käyrä.
Tyvestä poistettava pituus määrää kuinka paljon puun tyviosaa jätetään ottamatta huomioon runkokäyrän ennustetta laskettaessa.
Generoitavien puiden lukumäärä kannattaa asettaa samaksi kuin alkuperäisen tiedoston puiden lukumäärä. Tällöin voidaan helpommin vertailla saatuja jakaumatietoja.
Tulostiedoston nimi. Tiedosto, johon generoitavan metsän runkokäyrät talletetaan. Oletusarvona gen.enn.
Hintojen laskutapa. Valitaan joko funktio tai hintalista.
Hintalistan nimi. Hintalistatiedoston oletusarvona h.apt.
Satunnaislukujen generointitapa. Muuttumattomia satunnaislukuja käytettäessä ohjelma käyttää metsän generoimisessa aina samoja satunnaislukuja. Tästä voi olla hyötyä eri ennustusparametreillä ajettujen ennusteiden vertailussa. Vaihtelevat satunnaisluvut -valinta käyttää aina erilaista satunnaislukujen sarjaa.
Ennustuspuiden lukumäärä. Otokseen otettavien puiden lukumäärä.
Arviointitapa. Arviointitavan valinnoilla määrätään käytetäänkö
otospuiden läpimittatietoja koko rungosta vai tietyiltä korkeuksilta. Myös puun pituus
voidaan valita yhdeksi kriteeriksi.
Ennustusta ohjataan Ennuste- ja Näyttötoiminnot-valikoilla tai vaihtoehtoisesti säädinpaneelilla. Samoin kuin simuloinnissakin voidaan ennustuksen tuloksia tarkastella neljässä eri ikkunassa neljältä eri kannalta.
Ennuste
-valikko Lopeta ennustus . Paluu alkuun. Uudelleen katkaisu antaa mahdollisuuden valita toinen hintataulukko. Katkaisut suoritetaan uudelleen uusien arvojen mukaisesti. Hintataulukko. Hintalistan katselu ja editointi. Ajoasetusten näyttö. Näyttää alun dialogi-ikkunasta valitut asetukset. |
Katkaisujen
tukkijakaumat -ikkunasta nähdään, miten
metsätyökonesimulaattorin katkaisemat todellisen metsän ja generoidun metsän tukit
ovat jakautuneet pituuden suhteen.
Tukkijakauma . Tukkijakaumaa voidaan tarkastella katkaisuittain tai kaikkiaan. Katkaisujen
yhteenvetotiedot näyttää miten todellisesta ja
generoidusta metsästä saadut hinnat eroavat toisistaan markkamääräisesti ja
prosentuaalisesti. Lisäksi nähdään tukkien lukumäärä sekä niiden keskimääräiset
hinnat ja tilavuudet katkaisuittain ja yhteensä.
Todellisesta ja generoidusta metsästä saatujen tukkijakaumien samanlaisuutta mitataan jakauma-asteella ja c2-yhteensopivuustestillä. Jakauma-aste saa arvoja väliltä [0,1] siten, että se on 1, kun jakaumat ovat täysin yhtenevät ja 0, kun jakaumat ovat täysin erilaiset. |
Ennusteen jakaumat -ikkunassa voidaan verrata ennustetun ja todellisen metsän runkojen
läpimittojen, pituuksien, parametrien ja tilavuuksien jakaumia.
Todellisen/Ennuste/Todellinen+Ennuste. Jakaumia voidaan halutessa tarkastella erikseen.
Halutut jakaumat saadaan näkyville kätevimmin säädinpaneelin painikkeiden ja valintalistojen avulla. Säädinpaneelissa on myös näkyvillä jakaumaan liittyviä tunnuslukuja.
|
Ennusteen tunnusluvut -ikkunassa näytetään todellisen ja ennustetun aineiston parametrien keskiarvot ja hajonnat sekä niitä vastaavat korrelaatiomatriisit. Lisäksi näytetään todellisen ja ennustetun metsän puiden lukumäärä sekä todellisen ja ennusteen virhetermin hajonta. Tunnusluku-ikkunan säädinpaneelissa nähdään vastaavat tiedot otoksesta, jolla metsää on ennustettu.
Pisteparvi-ikkunassa voidaan tutkia todellisen ja ennustemetsän puihin liittyviä
pisteparvia. Koordinaatiston x- ja y-akselien arvoiksi voidaan valita joko
jokin läpimittojen, pituuksien tai parametrien arvoista, tai tilavuus.
Pisteiden koko voidaan pitää kiinteänä tai suhteutettuna johonkin kolmanteen muuttujaan p. Näyttötapa-valinnoilla määrätään, katsotaanko todellisen metsän (T) vai ennustetun metsän (E) pisteparvia erikseen, vai molempien pisteparvia yhdessä (TE) tai eri koordinaatistoissa (T+E). Pitämällä kontrollinäppäin pohjassa pistettä klikatessa saadaan näkyviin yksittäisen pisteen tarkat arvot. |
3.3. Runkokäyrien katselu
|
Runkokäyrien katselu avaa näytölle puukäyrien katseluikkunan.
Koordinaatiston säätö. Koordinaatiston akselien arvoaluetta voidaan säätää. |
Seuraava/edellinen puu . Lisää kuvaan seuraavan/ edellisen puun runkokäyrän. Puskuritaulukon alkuun/loppuun. Näyttää puskuritaulukon puut alkuun/loppuun. Puskuritaulukon koko on 100 runkoa. Ruudun tyhjennys tyhjentää näytön. Puskuritaulukon lajittelu. Lajittelee rungot nousevaan järjestykseen. |
3.4. Muut toiminnot
|
Lopeta . Ohjelman lopetus. Kopiointi leikepöydälle. Aktiivisen ikkunan kopiointi leikepöydälle, josta kuva voidaan edelleen siirtää johonkin toiseen ohjelmaan. Kuvat voidaan kopioida sekä bittikarttoina että metatiedostoina, jolloin kuvien piirtotarkkuus säilyy. Tulostus kirjoittimelle. Aktiivisen ikkunan tulostus kirjoittimelle. Järjestä. Ikkunoiden ja ikonien järjestely näytöllä. Säätimet. Säädinpaneelissa on samat toiminnot kuin Näyttötoiminnot-valikossa. 1, 2, 3, 4, 5. Navigointi ohjelman ikkunoiden välillä. Hakemisto. Ohjeiden päähakemisto. Aktiiviseen ikkunaan liittyvä ohje. Kaikkiin ikkunoihin on olemassa ohjeet, joihin pääsee suoraan tällä komennolla tai F1-näppäimellä. Simulaattoridemo käynnistää simulointia esittelevän demonstraation. Tietoja. Tietoja ohjelmasta. |
Simulaattorin käyttämät runkokäyrätiedostot ovat yksinkertaistettuja versioita oikean metsätyökoneen tuottamista ASCII-tiedostoista. Runkokäyrät esitetään tyvestä kohti latvaa siten, että mittaustulokset erotetaan toisistaan välilyönnillä ja eri puunrungot rivinvaihdolla.
Simulaattorin runkokäyrätiedostot voivat koostua yksinomaan numeerisesta datasta (esimerkki 1),
291 289 287 284 285 282 282 281 282 281 280 278 0
241 239 237 237 234 232 232 230 231 232 230 226 0
164 161 159 159 160 158 157 153 154 156 156 156 0
Esimerkki 1
. Runkokäyrätiedosto sisältää ainoastaan numeerista dataajolloin Simulaattori käsittelee dataa automaattisesti niin kuin se olisi mitattu 30 cm:n välein.
Halutessa voidaan käyttää toista formaattia, jossa voidaan antaa rungoista vapaavalintaista lisäinformaatiota (esimerkki 2). Asteriskia (*) käytetään ilmoittamaan, että kaksi seuraavaa riviä sisältää ei-numeerista dataa, ja että varsinainen runkokäyrä annetaan vasta neljännellä rivillä. Simulaattori käsittelee dataa nyt siten, kuin se olisi mitattu 10 cm:n välein. Generoitaessa metsää data talletetaan tätä jälkimmäistä tapaa käyttäen.
*
Kuusi
Runko 1
291 289 287 284 285 282 282 281 282 281 280 278 0
*
Kuusi
Runko 2
241 239 237 237 234 232 232 230 231 232 230 226 0
*
Kuusi
Runko 3
164 161 159 159 160 158 157 153 154 156 156 156 0
Esimerkki 2
. Runkokäyrätiedosto sisältää myös ei-numeerista dataa5. TULEVAISUUDEN NÄKYMIÄ
Simulaattori on kehittyvä ohjelma, jota on tarkoitus päivittää sitä mukaa, kun metsänkorjuuprojektiin liittyvä tutkimus etenee. Seuraava askel voisi olla esimerkiksi jakauma-apteerausta suorittavan modulin suunnittelu ja toteutus tai metsikön spatiaalinen simulointi. Lisätietoja metsänkorjuuprojektista löytyy sen www-sivuilta osoitteesta <http://www.uta.fi/laitokset/mattiet/tilasto/projekti.html>.