Model restoran: Menyiapkan, menjalankan, dan menganalisis hasil
Pada latihan sebelumnya, Anda mendefinisikan generator yang mensimulasikan permintaan meja dan keputusan pelanggan untuk menunggu atau pergi berdasarkan waktu tunggu.
Sekarang mari siapkan modelnya, jalankan, dan analisis hasilnya. Ingat bahwa tujuan membangun model ini adalah menentukan jumlah meja dan kapasitas dapur yang tepat untuk melayani jumlah pelanggan maksimal sambil meminimalkan investasi awal dan biaya operasional.
Agar penyiapan model bermakna, Anda memutuskan untuk mengunjungi restoran di sekitar dan mengamati perilaku pelanggan.
Anda mencatat bahwa rata-rata:
- Selama jam sibuk, pelanggan baru datang setiap 10 menit
- Pelanggan bersedia menunggu antara 1 hingga 10 menit untuk mendapatkan meja (
MIN_PATIENCEdanMAX_PATIENCE) - Pelanggan pergi jika waktu tunggu lebih lama dari 10 menit
- Pelanggan menempati meja selama 40 hingga 90 menit (
MIN_SEATING_TIMEdanMAX_SEATING_TIME)
Waktu dalam model dinyatakan dalam menit.
Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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}")