ÎncepețiÎncepe gratuit

Modelul restaurantului: configurare, rulare și analiza rezultatelor

În exercițiul anterior, ai definit generatorul care simulează cererile de masă și deciziile clienților de a aștepta sau de a pleca în funcție de timpii de așteptare.

Acum hai să configurăm modelul, să îl rulăm și să analizăm rezultatele. Amintește-ți că obiectivul construirii acestui model este de a determina numărul optim de mese și capacitatea bucătăriei pentru a servi cât mai mulți clienți, minimizând în același timp investiția inițială și costurile de funcționare.

Pentru a configura modelul într-un mod relevant, ai decis să vizitezi restaurante din zonă și să observi comportamentul clienților.

Ai observat că, în medie:

  • În orele de vârf, clienți noi soseau la fiecare 10 minute
  • Clienții aveau răbdare să aștepte între 1 și 10 minute pentru o masă (MIN_PATIENCE și MAX_PATIENCE)
  • Clienții plecau dacă timpul de așteptare depășea 10 minute
  • Clienții ocupau mesele între 40 și 90 de minute (MIN_SEATING_TIME și MAX_SEATING_TIME)

Unitatea de timp din model este minutul.

Acest exercițiu face parte din cursul

Simulare de evenimente discrete în Python

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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}")
Editează și rulează codul