नियतात्मक और अनियतात्मक प्रक्रियाओं का संयोजन

Python में Discrete Event Simulation

Diogo Costa (PhD, MSc)

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

नियतात्मक और अनियतात्मक प्रक्रियाएँ

किसी सिस्टम की प्रक्रियाओं का अनुक्रम दिखाने वाला आरेख। यह एक नियतात्मक प्रक्रिया, Process A, से शुरू होता है, फिर एक अनियतात्मक प्रक्रिया, Process B, आती है, और अंत में एक और नियतात्मक प्रक्रिया, Process C, होती है.

उदाहरण: हवाई अड्डों में यात्री प्रवाह प्रबंधन

  • अनियतात्मक: यात्री के हवाई अड्डे पर पहुँचने का समय
  • नियतात्मक: चेक-इन के बाद हवाई अड्डे के अंदर सामान का परिवहन
Python में Discrete Event Simulation

उदाहरण: फैक्टरी में असेंबली लाइन

नियतात्मक प्रक्रियाएँ

  • कच्चे माल का कारखाने तक परिवहन
  • पूरी तरह स्वचालित चरण
  • गुणवत्ता निरीक्षण
  • पैकेजिंग
  • नए उत्पाद का ग्राहकों तक परिवहन

उदाहरण: वेल्डिंग मशीन

प्रोसेसिंग समय = वेल्डिंग लाइन की लंबाई x वेल्डिंग मशीन की गति

अनियतात्मक प्रक्रियाएँ

  • कच्चे माल का ऑर्डर
  • जटिल हिस्सों की मैन्युअल असेंबली

एक बिखराव चार्ट जो किसी मैन्युअल असेंबली की अवधि को कई बार दोहराने पर दिखाता है.

Python में Discrete Event Simulation

नियतात्मक प्रक्रियाएँ

उदाहरण: वेल्डिंग वाली असेंबली लाइन

  • 2 नियतात्मक प्रक्रियाएँ
    welding_1

welding_2

  • welding_1

    • प्रक्रिया का नाम: Welding component A

    • प्रोसेसिंग समय: 5 घंटे

  • welding_2
    • प्रक्रिया का नाम: Welding component B
    • प्रोसेसिंग समय: length * hours_per_length

प्रत्येक प्रक्रिया के लिए dictionary बनाना:

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
}
Python में Discrete Event Simulation

अनियतात्मक प्रक्रियाएँ

उदाहरण: असेंबली लाइन

  • 2 अनियतात्मक प्रक्रियाएँ manual_assembly_1

manual_assembly_2

  • manual_assembly_1

    • प्रक्रिया का नाम: Manual Assembly A
    • औसत प्रोसेसिंग समय: 80 घंटे

    • मानक विचलन: 5 घंटे

  • manual_assembly_2
    • प्रक्रिया का नाम: Manual Assembly B"
    • औसत प्रोसेसिंग समय: 20 घंटे
  • मानक विचलन: 2 घंटे

प्रत्येक प्रक्रिया के लिए dictionary बनाना:

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}
Python में Discrete Event Simulation

इवेंट-आधारित सिमुलेशन बनाइए

मैन्युफैक्चरिंग की प्रक्रिया-श्रृंखला मैन्युफैक्चरिंग गतिविधि की प्रक्रियाओं का क्रम दिखाने वाला आरेख, जिसमें समयानुक्रम में ये प्रक्रियाएँ हैं: welding_1, manual_assembly_1, manual_assembly_2, और welding_2.

डिस्क्रीट-इवेंट मॉडल

# 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]
Python में Discrete Event Simulation

समय इकाइयाँ और मॉडल की जाँच

  • समय इकाइयाँ
    • सुनिश्चित करें कि सभी प्रक्रियाओं के लिए समय इकाइयाँ एकसमान हों.
Python में Discrete Event Simulation

अभ्यास करते हैं!

Python में Discrete Event Simulation

Preparing Video For Download...