Šíření kůrovce a jeho regulace (NetLogo)

Zadání
Název simulace: Šíření kůrovce a jeho regulace

Předmět: 4IT495 Simulace systémů (LS 2015/2016)

Autor: Bc. Agata Janeczková

Typ modelu: Multiagentní model

Modelovací nástroj: NetLogo

Definice problému
Simulace se bude zabývat aktuálním problémem přemnožení lýkožrouta smrkového (dále jen kůrovce) v českých lesích. Velký vliv na jeho šíření mají skládky vytěženého dříví, které kůrovec přednostně obsazuje. Za dlouhodobé skladování dříví v lese může jeho nedostatečný odbyt, popřípadě špatné plánování vytěžování dřeva a jeho následného exportu. Jako výchozí bod simulace je zvolena situace, kdy se v lese objevila první kůrovcová ohniska. Je možné uvažovat jako začátek tzv. zvýšený stav kůrovce. Ten nastane, vytěžíme-li více jak 1 m3 kůrovcového dříví na 5 ha lesa. Simulací bych chtěla nastínit, jak by bylo možné v takovém případě postupovat, aby les utrpěl minimální ztráty. Uvažovaný princip regulace je následovný. K ochraně skládek budou použity insekticidní sítě (modré skládky), které brouka při kontaktu kontaminují a ten během relativně krátké doby umírá. Regulace kůrovce probíhá primárně díky použití těchto ochranných sítí na stanovené procento nově vytvářených skládek. Dále je například možné nastavit množství vyváženého dříví (počtu skládek), množství přidávaných skládek v jednom kole, parametry týkající se průměrného objemu a stáří dospělého stromu, či způsob vysazování mladých stromků. Přitom jsou průběžně sledovány příjmy plynoucí z exportu vytěženého dřeva v závislosti na jeho kvalitě a také náklady na ochranné sítě tak, aby se jejich zavedení ještě vyplatilo. Model abstrahuje od detailního procesu rozmnožování a vývoje kůrovce.

Cíl
Cílem simulace Šíření kůrovce a jeho regulace je nalezení vhodné strategie vedoucí k regulaci, ne-li eliminaci kůrovce. A to s utrpením co nejmenších ztrát. Regulace by měla probíhat primárně díky použití ochranných sítí na stanovené procento nově vytvářených skládek. Více viz definování problému výše.

Přístup k řešení
Předmětem simulace je vymezená část lesa, která bude mít jako výchozí takové množství zdravých stromů a stromů napadených kůrovcem, aby situace odpovídala zvýšenému stavu (viz bod 2). Model představuje zalesněnou plochu 10 201 m2 (1 ha). Zvýšený stav kůrovce v tomto případě nastane, pokud na modelové hektarové ploše vytěžíme minimálně 0,2 m3 kůrovcového dříví. To nastane už při počátečním nastavení jednoho kůrovcového ohniska, jelikož uvažovaný objem stromu je roven 2,5m3 (výchozí nastavení). I když nastavíme na začátku počet kůrovcových ohnisek na minimální hodnotu (1), situace již odráží požadovaný stav. Počet ohnisek je na začátku simulace nastaven o něco vyšší (10), jelikož při nastavení na minimální hodnotu proběhne eliminace kůrovce velmi rychle. Jako místo skládky je totiž vybrána oblast s nejvyšším výskytem kůrovcem napadených stromů. Což by v případě jednoho ohniska vedlo i při vytvoření pouze jedné další skládky k jeho okamžité eliminaci. Takto rychlá detekce kůrovce je v reálném světě nepravděpodobná.


 * 1)  Základní stav - na 5 ha vytěžíme do 1m3 kůrovcem napadeného dříví.


 * 1)  Zvýšený stav - vytěžíme-li více jak 1 m3 kůrovcového dříví a nalezneme-li již ohniska ("kůrovcová kola") v mladších porostech.


 * 1)  Kalamitní stav - stav lýkožrouta lesklého, kdy dochází k rozsáhlému napadení smrkových porostů.

Průměrná zásoba dřeva v České republice na 1 ha lesních pozemků je 265 m3. Výchozí nastavení objemu stromu je rovno 2,5 m3 dřeva. Pro potřeby modelu jsem vzala průměrné hodnoty z tabulky viz (Tabulka objemu). Dospělý strom je tedy 14 m vysoký a jeho průměr dosahuje 50 cm. Předpokladem je fakt, že kůrovec obsazuje přednostně materiál čerstvě odumřelý (skládky). V případě výskytu kůrovce v určitém okolí skládky (uvažován okruh o průměru 15 m) se již dále lýkožrout nešíří. Tato situace nastává při obsazení skládky jak chráněné tak nechráněné. Jelikož v případě skládky s ochrannou sítí nastává smrt kontaminovaných brouků a v případě nechráněné skládky se ze skládky stává lapač. Čili skládka se při prvním náletu mění na napadenou (lapač) a kůrovci svými feromony přilákají další jedince. Taková skládka je preferovaná před zdravými stromy. Tato preference platí i pro chráněnou sládku, jelikož ochranná síť je pro potřeby nalákání kůrovce napuštěna feromony. Pokud není v určité vzdálenosti skládka, kůrovec se šíří tak, že napadá zdravý náhodný strom. Přičemž přes 50 % brouků napadá stromy do 40 metrů, do 500 metrů létá 98 % brouků. To je také vzdálenost, která se pokládá za dostatečnou ochrannou vzdálenost před napadením kůrovcem. V modelu je nastavena ještě 3% pravděpodobnost vyhynutí kůrovce na daném stromě, kdy se strom ubránil díky zvýšené produkci pryskyřice. Lýkožrout se totiž snaží, aby jich ve stromě bylo více a při překročení kritického množství už se strom neubrání a uschne.

Model
Předmětem simulace je vymezená část lesa, která bude mít jako výchozí takové množství zdravých stromů a stromů napadených kůrovcem, aby situace odpovídala zvýšenému stavu. Detailněji viz kapitola Přístup k řešení. Model tedy představuje zalesněnou plochu 10 201 m2 (1 ha), kde se objeví kůrovec. Šíření kůrovce se simulace snaží regulovat především pomocí správného nastavení množství přidávaných a exportovaných skládek v každém kroku ( 1 rok) a jejich balením do ochranných sítí. Simulace končí ve dvou momentech, a to při eliminaci kůrovce nebo v horším případě při kalamitním stavu kůrovce (viz Tabulka 1).

Grafické rozhraní
Obrazovka uživatelského rozhraní je rozdělena do tří částí (viz Obrázek 1). Nalevo jsou umístěné ovládací prvky, které slouží k nastavení vstupních parametrů. Nastavitelné vstupní hodnoty se týkají množství kůrovcových ohnisek, přidávaných či vyvážených skládek, ceny a množství chráněných skládek a v neposlední řadě také parametrů stromů a prodávaného dřeva. Uprostřed je grafické znázornění průběhu simulace. Detaily ohledně znázornění jednotlivých typů agentů viz Přehled agentů. V pravé části obrazovky je možné sledovat vývoj množství zdravých stromů (dospělé + mladé), napadených stromů, mladých stromů a suchých stromů. Vývoj množství typů stromů je umístěn v pravém horním rohu obrazovky. Graf v pravém dolním rohu znázorňuje vývoj příjmů za exportované dřevo a nákladů na ochranné sítě. To vše řídí tři hlavní tlačítka Setup, Go a Initial settings. Více ohledně ovládání viz bod Ovládání



Typy agentů a jejich vlastnosti


STROM (patch)
 * time-growth - stáří stromu pro zjištění, kdy strom dosáhne požadovaných rozměrů

SKLÁDKA (timber)
 * age - stáří skládky
 * n-trees - počet stromů na skládce pro účely výpočtu příjmů z exportovaného objemu dřeva a také pro určení počtu nově vysazených stromků

CÍLOVÝ BOD (target)
 * attacked-neighb - počet napadených sousedů napadeného stromu, pro účely nalezení nejvíce kůrovcem zasažené oblasti (cílového místa skládky)

Přehled agentů
 Strom

 Mladý strom

 Strom napadený kůrovcem

 Suchý strom (bílá)

Skládka (vytěžené dřevo)

Napadená skládka (slouží jako lapač)

Modrá skládka (ochranná síť)

 Cílový bod (skrytý)

Vstupní parametry
Průběh simulace je ovlivněn nastavitelnými parametry. Cílem simulace je regulace kůrovcem napadených stromů pomocí vhodného nastavení vstupních parametrů. Klíčovým parametrem je % skládek zabalených do ochranných sítí, s čímž se pojí pořizovací náklady. Ty jsou kontrolovány tak, aby se množství ochranných sítí vyplatilo s ohledem na příjmy z exportovaného dřeva.


 * Les
 * 1) attack-start - počet ohnisek kůrovce na začátku simulace
 * 2) density - hustota lesa, která se udržuje po celou dobu simulace


 * Skládky
 * 1) new-timbers - počet přidávaných skládek v každém kole
 * 2) ex-timbers - počet exportovaných skládek v každém kole
 * 3) percent-of-safe-timbers - % přidávaných skládek, které jsou zabaleny do ochranné sítě
 * 4) blue-price - cena ochranné sítě (1 ks vystačí na jednu skládku)


 * Stromy
 * 1) tree-volume - objem dospělého stromu
 * 2) m3-price - cena za m3 zdravého dřeva
 * 3) m3-price-attacked - cena za m3 napadeného dříví (palivo)
 * 4) new-age - stáří vysazovaných mladých stromků na místě bývalé skládky
 * 5) old-one - věk, kdy se strom stává dospělým

Další nastavení modelu

 * 1) timber-cut-dist - okruh skácení stromů pro vytvoření skládky
 * 2) timber-dist - dosažitelnost skládky, preference přesunu kůrovce
 * 3) flying-range - 50% brouků létá do vzdálenosti 40 m
 * 4) seeds - nahrazení % mrtvých stromů malými samovolně rostoucími semenáčky

Ovládání
Ovládat simulaci lze pomocí následujících tlačítek. Krokování modelu znamená krok vpřed o rok.


 * | S | Setup- připravení modelu ke spuštění s aktuálně nastavenými parametry
 * | G | Go- spuštění simulace, ta běží, dokud nedojde k:


 * 1) eliminaci kůrovce (print " Les je ZACHRÁNĚN ")
 * 2) eliminaci zdravých stromů (print " Les se NEPODAŘILO ZACHRÁNIT ")


 * | I  | Initial settings- nastaví všechny vstupní parametry na výchozí a provede Setup

Sledované ukazatele
Zde je výčet sledovaných ukazatelů. Vývoj důležitých ukazatelů je sledován v průběhu času díky grafům (viz Obrázek 3). Na začátku byla myšlenka primárně sledovat vývoj nákladů na pořízení ochranných sítí, aby jejich výše byla únosná. Model však poukázal na výši nákladů spojených s pořízením ochranných sítí, které jsou v porovnání s příjmy za exportované dřevo ve většině případů zanedbatelné. Jelikož model abstrahuje od dalších nákladů, které by bylo dobré vzít v potaz pro lepší vypovídací hodnotu, je zde námět pro rozšíření (viz Možná rozšíření modelu).


 * 1) % of attacked trees - % napadených stromů z celkového počtu stromů
 * 2) Attacked trees - počet napadených stromů
 * 3) All trees - počet všech stromů
 * 4) Safe timber used - počet skládek zabalených do ochranných sítí
 * 5) Costs (safety) - náklady na pořízení ochranných sítí
 * 6) Sum of exports - celkový počet exportovaných skládek

Principy simulace
Kapitola zahrnuje přehled a popis všech procedur, které v modelu najdete. Funkce jsou seřazeny dle sledu simulovaných událostí.


 * setup
 * - nastavení interních parametrů moddelu
 * - zahrnuje proceduru forest-setup


 * setup-forest
 * - vytvoří náhodně umístěné stromy v závislosti na hustotě lesa (density)
 * - vytvoří vstupním parametrem určené množství kůrovcových ohnisek


 * reset-all-settings
 * - návrat k výchozímu nastavení parametrů


 * go
 * - kontrola podmínek ukončení simulace
 * - zahrnuje následující procedury

set-targets add-timbers beetles-spread seed-trees timber-aging young-trees-aging trees-count tick


 * set-targets
 * - vytvoření pomyslných (pomocných a skrytých) cílů, jenž označují napadený strom a jeho vlastností je počet napadených sousedů (attacked-neighb) v daném okruhu (timber-cut-dist)


 * add-timbers
 * - vytvoří počet skládek daných parametrem (new-timbers), z toho nastavené procento (percent-of-safe-timbers) skládek s ochrannou sítí
 * - zahrnuje find-attacked-area
 * - skácí okruh stromu ve vzdálenosti timber-cut-dist

to add-timbers create-timbers new-timbers [ set age 0 ] let safe-timbers (new-timbers * percent-of-safe-timbers / 100) ask timbers with [ age = 0 ] [ find-attacked-area setxy pxArea pyArea                                             ; souřadnice nejvíce napadené oblasti set color brown + 1 set size 4 ask targets-here [die] ] ask n-of safe-timbers timbers with [ age = 0 ] [                   ; nastavitelný počet chráněných skládek set color blue set blue-timbers blue-timbers + safe-timbers set safety-costs (blue-timbers * blue-price)                    ; náklady na ochranné sítě = počet modrých skládek x cena sítě ] ask patches with [pcolor = green or pcolor = red or pcolor = white] [ ask timbers with [ age = 0 ] [                                  ; skládka = vytěžení okruhu stromů if distance myself < timber-cut-dist [ ask myself [set pcolor violet] set n-trees count patches with [pcolor = violet]            ; zjištění počtu sťatých stromů na skládce ]   ]  ]  ask patches with [pcolor = violet]  [                              ; "odstranění" sťatých stromů set pcolor green - 4 ] end


 * find-attacked-area
 * - zjištění souřadnic nejvíce napadené oblasti


 * beetles-spread (viz Omezení modelu)
 * - změní nastavené % stromů z napadených na zdravé na základě pravděpodobnosti vymizení kůrovce, strom se ubránil (uhynutí kůrovce díky zvýšené produkci pryskyřice)
 * - z jednoho napadeného stromu se kůrovec rozšíří náhodně na 0 až 2 další stromy v okruhu 40 m (flying-range)
 * - z jednoho napadeného stromu se kůrovec náhodně rozšíří na 0 až 1 strom bez prostorového omezení
 * - zahrnuje beetles-near-timbers a timber-export


 * beetles-near-timbers
 * - přemístění se kůrovce na preferovanou skládku v dosahu (timber-dist)
 * - strom, ze kterého se přesouvá sice uschne, ale z tohoto místa se již kůrovec dále nešíří
 * - napadená skládka se stává lapačem


 * timber-export
 * - skládky jsou exportovány dle zásady: nenapadená skládka má přednost před chráněnou skládkou a ta má přednost před napadenou skládkou
 * - nenapadená skládka má nejvyšší cenu > chráněné se nic nestane > napadená plní funkci lapače
 * - zahrnuje plant-trees

to timber-export if ticks >= 1 [                                          ; exportuje se až od 2. "kola" repeat ex-timbers [                                    ; export zopakovat tolikrát, kolik se má exportovat skládek ifelse count timbers with [ color = brown + 1 ] > 0 [ set export one-of timbers with [ color = brown + 1 ] ask export [ set size 1 set export-revenues export-revenues + (m3-price * n-trees * tree-volume)      ; CENA/m3 x počet stromů na skládce x průměrný objem stromu (m3) ]     ] [      ifelse count timbers with [ color = blue ]  > 0 [                                  ; přehození sítě na jakou skládku => ne, životnost půl roku set export one-of timbers with [ color = blue ] ask export [ set size 1 set export-revenues export-revenues + (m3-price * n-trees * tree-volume) ]     ] [      ifelse count timbers with [ color = red ] > 0 [ set export one-of timbers with [ color = red ] ask export [ set size 1 set export-revenues export-revenues + (m3-price-attacked * n-trees * tree-volume)     ; jako lapače, proto nejdéle, prodej s nižší cenou na palivo ]     ] [      ]      ]      ]      set sum-ex-timbers (sum-ex-timbers + 1) plant-trees ] ]  end


 * plant-trees
 * - vysazení takového počtu mladých stromků, jaký počet byl vytěžen na jejich místě (v okruhu skládky)
 * - stáří vysazovaných stromků je dáno vstupním parametrem new-age


 * seed-trees                      
 * - nahradí % suchých stromů novými semenáčky (interní parametr seeds)


 * timber-aging a young-trees-aging
 * - stárnutí skládek a mladých stromů


 * trees-count
 * - přepočítání ukazatelů healthy-trees a attacked-trees


 * out
 * - výstupem jsou hodnoty pro potřeby analýzy
 * - výstupem jsou také hlášky o nastalém konci simulace
 * a) Les je ZACHRÁNĚN
 * b) Les se NEPODAŘILO ZACHRÁNIT

Zhodnocení výsledné simulace
Kapitola obsahuje závěry, ke kterým se došlo až v průběhu vytváření samotné simulace a její následnou analýzu.

Předpoklady a omezení modelu
PŘEDPOKLADY

Pro zjednodušení modelové situace jsou brány v úvahu následující předpoklady.


 * kůrovec napadá mladé stromy až dosáhnou dospělosti (vstupní parametr time-growth)
 * při vytvoření skládky jsou napadené skácené stromy odstraněny ihned, tzn. že je skládka prvotně bez známky kůrovce

OMEZENÍ

Při bližším seznámení se s tématem problematiky kůrovce byly stanoveny následující omezení modelu.


 * šíření kůrovce bylo oproti původně zamýšlenému způsobu šíření zpomaleno, aby mělo smysl situaci modelovat a bylo vidět, jak celý proces regulace může probíhat

Možná rozšíření modelu
Model by bylo možné prozkoumat z pohledu doby čekání skládek v lese než nastane jejich export. Například jaká je průměrná čekací doba skládky a jaký to má vliv na vývoj celé situace. Dále model sice počítá s výdaji na ochranné sítě, ale už abstrahuje od výdajů např. na lesníky, techniku, zpracování dřeva do výsledné podoby atd. O tyto údaje by bylo možné model doplnit. Dále je možné důkladněji vypočítat cenu exportované skládky podle rozlišení jednotlivých kusů stromu. Momentální nastavení předpokládá, že zpracovaná skládka je bez známky kůrovce (viz Omezení modelu). Bylo by možné také nějakým způsobem rozvíjet myšlenku suchých stromů, jejich zpracování a funkci v modelu.

Analýza pozorování
S cílem důkladnějšího prozkoumání průběhu regulace šíření kůrovce byla provedena analýza výstupních dat (soubor Analýza). Ta obsahuje 500 pozorování pro výchozí nastavení parametrů (karta PARAMETRY A) a dalších 500 pozorování pro zvýšenou hustotu lesa o 10 % a navýšení % chráněných skládek o 50 % (karta PARAMETRY B). Pro oba nastavení vstupních hodnot byly prozkoumány zvlášť případy vyléčení lesa a kalamitního stavu kůrovce. Výsledky analýzy jsou patrné z Grafů níže.

Grafy
Výsledky analýzy výstupních dat simulace znázorněné grafy.


 * PARAMETRY A






 * PARAMETRY B





Závěr
Cílem simulace Šíření kůrovce a jeho regulace bylo nalezení vhodné strategie vedoucí k regulaci, ne-li eliminaci kůrovce v napadeném lese. Pokud možno s utrpením co nejmenších ztrát. Co se týče průběhu simulace s výchozími parametry, je zřejmé, že s minimálními náklady na ochranné sítě se dá napadený les ve 38 % případů "vyléčit". A to v relativně krátké době - průměrně v průběhu 10 let. Naopak ke kalamitnímu stavu došlo v 62 % případů. Kalamita nastala průměrně po 21 letech snažení se o eliminaci kůrovce. Výstupy práce tedy naplňují stanovený cíl, zvolená strategie použití ochranných sítí na skládkách je ve 38% případů účinná. Pro sledování A a B s odlišnými parametry byl průřez pozorování velmi podobný.

Ke stažení
| vlastní simulace v programu NetLogo 5.3

| výstupy z pozorování, pro PARAMETRY A (výchozí) a PARAMETRY B (každé po 500 opakování)