Zacznij terazZacznij za darmo

Model restauracji: konfiguracja, uruchomienie i analiza wyników

W poprzednim ćwiczeniu zdefiniowałeś(-aś) generator symulujący prośby o stolik i decyzje klientów dotyczące oczekiwania lub rezygnacji na podstawie czasu oczekiwania.

Teraz skonfigurujmy model, uruchommy go i przeanalizujmy wyniki. Przypomnij sobie, że celem budowania tego modelu jest określenie odpowiedniej liczby stolików i pojemności kuchni, aby obsłużyć jak największą liczbę klientów przy minimalnych kosztach początkowych i bieżących.

Aby skonfigurować model w sensowny sposób, postanowiłeś(-aś) odwiedzić restauracje w okolicy i zaobserwować zachowania klientów.

Zauważyłeś(-aś), że średnio:

  • W godzinach szczytu nowi klienci przychodzili co 10 minut
  • Klienci byli gotowi czekać od 1 do 10 minut na stolik (MIN_PATIENCE i MAX_PATIENCE)
  • Klienci odchodzili, jeśli czas oczekiwania przekraczał 10 minut
  • Klienci zajmowali stoliki przez 40 do 90 minut (MIN_SEATING_TIME i MAX_SEATING_TIME)

Czas w modelu podawany jest w minutach.

To ćwiczenie jest częścią kursu

Symulacja zdarzeń dyskretnych w Pythonie

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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}")
Edytuj i uruchom kod