Mulai sekarangMulai gratis

Mengembangkan model peristiwa-diskret

Anda diminta untuk mengembangkan model peristiwa-diskret untuk suatu operasi pertanian guna membantu mengalokasikan sumber daya, meningkatkan produktivitas, serta mengidentifikasi dan menghilangkan kemacetan proses.

Anda masih mendiskusikan berbagai proses yang terlibat bersama rekan kerja dan sejauh mana detailnya perlu direpresentasikan dalam model. Karena itu, Anda sepakat bahwa informasi tersebut akan dikompilasi dalam sebuah dictionary bernama process_dict dengan struktur berikut. Gagasannya adalah dictionary ini akan diperbarui seiring tersedianya lebih banyak informasi tentang proses.

process_dict = {
    "Process name 1":  <duration>,
    "Process name 2":  <duration>,
    ...
}

Mari membangun model peristiwa-diskret generik bernama discrete_model_farm() yang dapat menjadwalkan sejumlah peristiwa diskret apa pun yang didefinisikan dalam dictionary tersebut.

Argumen masukan model (berurutan) adalah:

  1. process_dict: Dictionary berisi informasi tentang proses
  2. simulation_time: Periode simulasi

Waktu dalam model akan diukur dalam hari.

Latihan ini merupakan bagian dari kursus

Simulasi Peristiwa Diskret dengan Python

Lihat Kursus

Instruksi latihan

  • Inisialisasi variabel keadaan model, yaitu time (melacak waktu) dan supply_chain (melacak jumlah siklus), lalu setel keduanya ke nol.
  • Tetapkan kondisi penghentian sehingga model berjalan selama time lebih kecil daripada simulation_time.
  • Tambahkan durasi proses ke variabel keadaan time.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def discrete_model_farm(process_dict, simulation_time):
  # Initiate variables
  time = ____
  supply_chain = ____

  # Define ending condition
  while ____ < ____:

    supply_chain += 1
    process_names = list(process_dict.keys())

    for p in range(len(process_names)):
		  
      event_duration = process_dict[process_names[p]]
          
      # Add the process duration
      ____ += event_duration
      print(f"{process_names[p]}  (completed): time = {time}")
          
    print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")  
Edit dan Jalankan Kode