Model restaurace: Nastavení, spuštění a analýza výsledků
V předchozím cvičení jsi definoval/a generátor, který simuluje požadavky na stoly a rozhodování zákazníků – čekat, nebo odejít – na základě čekacích dob.
Teď model nastavíme, spustíme a analyzujeme výsledky. Připomeň si, že cílem tohoto modelu je zjistit optimální počet stolů a kapacitu kuchyně tak, aby bylo obslouženo co nejvíce zákazníků při minimálních počátečních a provozních nákladech.
Aby mělo nastavení modelu smysl, rozhodl/a ses navštívit restaurace v okolí a pozorovat chování zákazníků.
Zjistil/a jsi, že průměrně:
- Ve špičce přicházeli noví zákazníci každých 10 minut
- Zákazníci byli ochotni čekat na stůl 1 až 10 minut (
MIN_PATIENCEaMAX_PATIENCE) - Zákazníci odcházeli, pokud čekací doba přesáhla 10 minut
- Zákazníci obsadili stoly na 40 až 90 minut (
MIN_SEATING_TIMEaMAX_SEATING_TIME)
Čas v modelu je v minutách.
Toto cvičení je součástí kurzu
Diskrétní simulace událostí v Pythonu
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
INTERVAL_CUSTOMERS = 10
# Assign the appropriate values to the model parameters
MIN_PATIENCE = 1
MAX_PATIENCE = ____
MIN_SEATING_TIME = 40
MAX_SEATING_TIME = ____
customers_served = 0
customers_quiting_waiting = 0
env = simpy.Environment()
# Create the SimPy resource
tables = simpy.____(env, capacity=____)
env.process(source(env, NEW_CUSTOMERS, INTERVAL_CUSTOMERS, tables))
# Run the model
env.____(until=240)
print(f"Total number of tables served: {customers_served:02d}")
print(f"Total number of customers quiting waiting: {customers_quiting_waiting:02d}")