Menggabungkan proses deterministik dan non-deterministik

Simulasi Peristiwa Diskret dengan Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Proses deterministik dan non-deterministik

Diagram yang menunjukkan urutan proses suatu sistem. Dimulai dengan proses deterministik, Proses A, diikuti proses non-deterministik, Proses B, dan diakhiri dengan proses deterministik lain, Proses C.

Contoh: Pengelolaan arus penumpang di bandara

  • Non-deterministik: Waktu kedatangan penumpang ke bandara
  • Deterministik: Pengangkutan bagasi di dalam bandara setelah check-in
Simulasi Peristiwa Diskret dengan Python

Contoh: Lini perakitan di pabrik

Proses deterministik

  • Transportasi bahan baku ke pabrik
  • Langkah yang sepenuhnya otomatis
  • Inspeksi kualitas
  • Pengemasan
  • Mengirim produk baru ke pelanggan

Contoh: Mesin pengelasan

Waktu proses = Panjang garis las x Kecepatan mesin las

Proses non-deterministik

  • Pemesanan bahan baku
  • Perakitan manual komponen kompleks

Plot sebar yang menunjukkan durasi suatu perakitan manual saat diulang berkali-kali.

Simulasi Peristiwa Diskret dengan Python

Proses deterministik

Contoh: Lini perakitan dengan pengelasan

  • 2 proses deterministik
    welding_1 welding_2

  • welding_1

    • Nama proses: Welding component A
    • Waktu proses: 5 jam
  • welding_2

    • Nama proses: Welding component B
    • Waktu proses: length * hours_per_length

Membuat dictionary untuk tiap proses:

welding_1 = {
    "name": "Welding component A",
    "time_hours": 5
}

length = 20   # meters
hours_per_length = 0.2  # hours 

welding_2 = {
    "name": "Welding component B",
    "time_hours": length * hours_per_length
}
Simulasi Peristiwa Diskret dengan Python

Proses non-deterministik

Contoh: Lini perakitan

  • 2 proses non-deterministik manual_assembly_1 manual_assembly_2

  • manual_assembly_1

    • Nama proses: Manual Assembly A
    • Rata-rata waktu proses: 80 jam
    • Simpangan baku: 5 jam
  • manual_assembly_2

    • Nama proses: Manual Assembly B"
    • Rata-rata waktu proses: 20 jam
  • Simpangan baku: 2 jam

Membuat dictionary untuk tiap proses:

manual_assembly_1 = {
    "name": "Manual Assembly A",
    "time_hours": 80,
    "std_hours": 5
}
manual_assembly_2 = {
    "name": "Manual Assembly B",
    "time_hours": 20,
    "std_hours": 2}
Simulasi Peristiwa Diskret dengan Python

Bangun simulasi berbasis peristiwa

Urutan proses manufaktur Diagram yang menunjukkan urutan proses dalam aktivitas manufaktur, berurutan: welding_1, manual_assembly_1, manual_assembly_2, dan welding_2.

Model peristiwa-diskrit

# Initiate time-tracking variable
time = numpy.zeros(number_of_processes)

# Next-event time progression time[0] = 0 time[1] = time[0] + welding_1["time_hours"] time[2] = time[1] + rd.gauss(manual_assembly_1["time_hours"], manual_assembly_1["std_hours"]) time[3] = time[2] + rd.gauss(manual_assembly_2["time_hours"], manual_assembly_2["std_hours"]) time[4] = time[3] + welding_2["time_hours"] time[5] = time[4]
Simulasi Peristiwa Diskret dengan Python

Satuan waktu dan eksplorasi model

  • Satuan waktu
    • Pastikan satuan waktu konsisten untuk semua proses.
Simulasi Peristiwa Diskret dengan Python

Ayo berlatih!

Simulasi Peristiwa Diskret dengan Python

Preparing Video For Download...