vyuka:cviceni:x36dsi:uloha1

Zadání

Zprovozněte obecné simulační schema SHO (návod pro linuxovou učebnu K310):

  1. stáhněte si (demonstrační příklad).
  2. tento archiv rozbalte: tar xvfz queuesys-linux-20100218.tgz
  3. změňte aktuální adresář: cd queuesys
  4. přeložte zdrojové kódy simulace: make
  5. spusťte simulaci: ./simulace
  6. upravujte pouze soubor hlavni.cc, ostatní zdrojové soubory neměňte

Upravte obecné schéma SHO na tento případ:

Uvažujme hospodu, kde roznáší pivo jediný hostinský. V hospodě sedí 30 hostů, z toho 5 hostů jsou štamgasti, a mají proto při obsluze přednost. Každý z hostů pije pivo průměrně 20 minut, doba pití piva jedním hostem je dána exponenciálním rozložením. Jakmile host dopije pivo, zamyslí se po dobu 0-2 minuty s rovnoměrným rozložením a pak zavolá na hostinského, aby mu přinesl další. Hostinský je schopen najednou obsloužit pouze jednu objednávku (jednoho hosta). Obsluha mu trvá 2-5 minut (tedy 120-300 sekund) s rovnoměrným rozložením. Objednávky svých přátel obslouží vrchní přednostně před ostatními, nepřeruší ale obsluhu předchozí objednávky. Na začátku simulace (po otevření hospody) si všichni hosté objednají pivo. Hospoda je otevřena 10 hodin ⇒ Simulaci nechte běžet po dobu 10 hodin (simulačního času !).

Určete:

  • průměrnou i maximální dobu čekání na pivo štamgastů
  • průměrnou i maximální dobu čekání na pivo ostatních hostů
  • kolik štamgastů průměrně/maximálně čekalo najednou na pivo
  • kolik ostatních hostů průměrně/maximálně čekalo najednou na pivo
  • kolik objednávek zůstalo v době zavíračky nevyřízeno.

Tyto hodnoty zobrazte v přehledné tabulce.

Průměrné počty hostů a štamgastů ve frontách vzorkujte v intervalu jedné minuty.

Termín odevzdání

Úlohu nahrejte pomocí tohoto formuláře na server do 1.3.2011 23:59:59. Nahrává se pouze soubor hlavni.cc. Na nejbližším cvičení úlohu zkontroluji a pokud bude hodnota md5 odpovídat a byla na server nahrána v časovém limitu, dostanete body.

Jak přeložit a spustit příklad na SHO na Windows

Následující řádky popisují postup, kterým dosáhnete překladu a spuštění příkladu ve výukovém systému pro simulaci systémů hromadné obsluhy pod Windows (např. v učebně K311).

  1. Stáhněte si soubor s obecným simulačním schematem SHO (queuesys.zip) a rozbalte ho do nového adresáře.
  2. Spusťte Microsoft Visual Studio .Net (Start → Programy → Microsoft Visual Studio .Net → Microsoft Visual Studio .Net)
  3. Otevřete projekt queueSys.dsp (File → Open → Project and select queueSys.dsp), potvrďte případnou konverzi na nový formát projektu.
  4. Vpravo nahoře rozbalte v okně “Solution Explorer” položku queueSys a Source Files
  5. Poklepejte myší na souboru Main0.cpp
  6. Otevře se soubor se zdrojovým kódem, ten si prostudujte.
  7. Překlad provedete Ctrl-Shift-B
  8. Spuštění provedete Ctrl-F5. Občas se výsledný soubor (uložen jako queueSys.exe v podadresáři Debug) odmítne spustit s tím, že nemáte dostatečná práva ke spouštění souborů na aktuálním disku. Pomůže např. zkopírování exe souboru do adresáře C:\TEMP.
  9. Prohlédněte si výsledky simulace.

Velmi doporučuji založený projekt neměnit a v případě změny simulace podstrkávat Visual Studiu pouze jiný soubor Main0.cpp. Soubor Main0.cpp je jediný, který budete editovat, ostatní soubory projektu v žádném případě neměňte.

Soubor Main0.cpp se jmenuje v linuxové verzi hlavni.cc.

  • vyuka/cviceni/x36dsi/uloha1.txt
  • Last modified: 2011/02/23 14:43
  • by smitka