IniziaInizia gratis

Modello del ristorante: configura, esegui e analizza i risultati

Nel precedente esercizio hai definito il generatore che simula le richieste di tavoli e le decisioni dei clienti di aspettare o andarsene in base ai tempi di attesa.

Ora configuriamo il modello, eseguiamolo e analizziamo i risultati. Ricorda che l’obiettivo è determinare il numero adeguato di tavoli e la capacità della cucina per servire il massimo numero di clienti, minimizzando l’investimento iniziale e i costi operativi.

Per impostare il modello in modo sensato, hai deciso di visitare i ristoranti della zona e osservare il comportamento dei clienti.

Hai notato che in media:

  • Durante le ore di punta, arrivava un nuovo cliente ogni 10 minuti
  • I clienti erano disposti ad aspettare tra 1 e 10 minuti per un tavolo (MIN_PATIENCE e MAX_PATIENCE)
  • I clienti se ne andavano se l’attesa superava i 10 minuti
  • I clienti occupavano i tavoli per 40–90 minuti (MIN_SEATING_TIME e MAX_SEATING_TIME)

Il tempo nel modello è espresso in minuti.

Questo esercizio fa parte del corso

Simulazione a eventi discreti in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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}")
Modifica ed esegui il codice