Difference between revisions of "Optimalizace kapacity vleku (NetLogo)"
Line 64: | Line 64: | ||
=== Implementace === | === Implementace === | ||
− | V modelu existují lyžaři, kolem kterých se celá simulace odehrává. Ti mohou být v několika stavech, podle kterých se různě chovají chovají. Tyto stavy jsou uloženy v proměnných. | + | V modelu existují lyžaři, kolem kterých se celá simulace odehrává. Ti mohou být v několika stavech, podle kterých se různě chovají chovají. Tyto stavy jsou uloženy v proměnných. Dále model obsahuje globální proměnné a několik lokálních proměnných. |
==== Proměnné, parametry, obory hodnot ==== | ==== Proměnné, parametry, obory hodnot ==== | ||
− | + | Globální proměnné: | |
+ | |||
+ | * lastNewPerson - tato proměnná limituje, po jakém čase mohou kolem procházet noví potencionální lyžaři. Jestliže je na ně fronta moc dlouhá, procházejí kolem skiareálu a mizí. S každým tickem se přičítá. Když má v daném ticku projít kolem další člověk, tato proměnná se porovná a je-li větší než 10, vytvoří se nový člověk a proměnná se vynuluje. |
Revision as of 12:00, 5 June 2016
Contents
JESTE NENI HOTOVE
Zadání
Název simulace: Optimalizace kapacity vleku
Předmět: 4IT495 Simulace systémů (LS 2015/2016)
Autor: Bc. Martin Hradil
Typ modelu: Multiagentní
Modelovací nástroj: NetLogo 5.3.1
Definice problému
Příjmy skiareálu s jednou sjezdovkou jsou z drtivé většiny tvořeny z prodeje permanentek. Pro největší příjmy je tedy vhodné, aby se do skiareálu vešlo co nejvíce lidí.
Celý skiareál má ale určitou kapacitu lidí, kteří se do něj vejdou, a při tom se ještě vzájemně na sjezdovce neblokují. Limitovat počet lidí na sjezdovce je možné kapacitou vleku (kolik lyžařů/čas vlek vyveze na kopec, nebo po jaké době vyveze jednoho lyžaře).
Cíl
Cílem simulace je při zadané šířce sjezdovky nalézt maximální kapacitu vleku, při které se lyžaři ještě nebudou blokovat tolik, aby se hromadili na kopci kvůli ucpání sjezdovky.
Metoda
Jelikož se jedná o multiagentní simulaci, jako prostředek byl zvolen program NetLogo, v poslední verzi 5.3.1. V něm byl vytvořen model skiareálu, ve kterém se jednotliví agenti pohybují.
Jelikož každý člověk má jiné schopnosti a chová se na sjezdovce jinak, lze jednotlivé lyžaře obtížně vyjádřit čísly. V nástroji NetLogo je možné vlastnosti lažařů jako rychlost nebo velikost obloučků náhodně generovat. Podklady pro nastavení generování těchto parametrů by bylo možné získat pozorováním na nějaké sjezdovce. To však nebylo vzhledem k aktuálnímu ročnímu období možné a tak byly odhadnuty.
Model
Tato část obsahuje popis modelu, jeho grafické rozhraní a logiku. První je vysvětlen samotný model, následně jak ho používat.
Popis Modelu
Grafické Rozhraní
Grafické rozhraní se skládá z části nastavení a ovládání, hlavního okna s vizualizací děje, a grafů a monitorů.
Část s ovládáním obsahuje posuvníky pro nastavení parametrů v rámci vhodných mezí a tlačítka pro prvotní nastavení a běh.
Hlavní okno s vizualizací obsahuje grafický model skiareálu. Ten se skládá z několika částí:
- Kolem procházející cesta
- Příchozí cesta do fronty
- Fronta
- Vlek
- Výstup z vleku
- Sjezdovka
Celé pozadí je zelené a má znázorňovat les nebo louku.
V pravé části jsou zobrazeny číselné výstupy simulace v číslech a grafech.
Implementace
V modelu existují lyžaři, kolem kterých se celá simulace odehrává. Ti mohou být v několika stavech, podle kterých se různě chovají chovají. Tyto stavy jsou uloženy v proměnných. Dále model obsahuje globální proměnné a několik lokálních proměnných.
Proměnné, parametry, obory hodnot
Globální proměnné:
- lastNewPerson - tato proměnná limituje, po jakém čase mohou kolem procházet noví potencionální lyžaři. Jestliže je na ně fronta moc dlouhá, procházejí kolem skiareálu a mizí. S každým tickem se přičítá. Když má v daném ticku projít kolem další člověk, tato proměnná se porovná a je-li větší než 10, vytvoří se nový člověk a proměnná se vynuluje.