Kom igångKom igång gratis

Restaurangmodell: Konfigurera, kör och analysera resultat

I föregående övning definierade du generatorn som simulerar bordsförfrågningar och kundernas beslut att vänta eller lämna baserat på väntetider.

Nu ska vi konfigurera modellen, köra den och analysera resultaten. Kom ihåg att målet med modellen är att fastställa lämpligt antal bord och kökskapacitet för att betjäna så många kunder som möjligt, med minimal investering och driftkostnad.

För att konfigurera modellen på ett meningsfullt sätt bestämde du dig för att besöka restauranger i området och observera kundbeteendet.

Du noterade att i genomsnitt:

  • Under rusningstid anlände nya kunder var 10:e minut
  • Kunder hade tålamod att vänta mellan 1 och 10 minuter på ett bord (MIN_PATIENCE och MAX_PATIENCE)
  • Kunder lämnade om väntetiden översteg 10 minuter
  • Kunder uppehöll sig vid borden i 40 till 90 minuter (MIN_SEATING_TIME och MAX_SEATING_TIME)

Tiden i modellen anges i minuter.

Den här övningen är en del av kursen

Diskret händelsesimulering i Python

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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}")
Redigera och kör kod