Linia de asamblare auto: adăugarea evenimentelor nedeterministe
Acest exercițiu se concentrează pe procesele nedeterministe fără a folosi SimPy. În exercițiul următor, vom lucra cu SimPy.
Ai fost rugat să iei în considerare variabilitatea în durata proceselor din modelul discret de evenimente anterior al unei linii de producție auto. Grupurile de procese identificate anterior sunt (1) "Sudare și vopsire" și (2) "Asamblarea pieselor și testarea". Reține că fiecare dintre aceste grupuri implică numeroase sub-procese și sarcini, însă deocamdată te concentrezi pe codarea primei versiuni a modelului tău la un nivel înalt.
Anterior, ai determinat că sudarea și vopsirea durau în medie 15 ore, iar asamblarea pieselor și testarea durau în medie 24 de ore.
Între timp, ai realizat cercetări și monitorizări suplimentare pentru a studia variabilitatea în durata acestor procese. Ai concluzionat că sudarea și vopsirea pot varia cu cinci ore (în plus sau în minus), iar durata asamblării pieselor poate varia cu șase ore (în plus sau în minus).
Actualizează modelul tău discret de evenimente pentru a ține cont de variațiile în durata acestor evenimente.
Pachetul random a fost deja importat pentru tine.
Acest exercițiu face parte din cursul
Simulare de evenimente discrete în Python
Instrucțiuni pentru exercițiu
- Înregistrează durata procesului "Sudare și vopsire", ținând cont de noile informații despre variabilitate, folosind o metodă din pachetul
randomcare generează numere întregi aleatorii. - Înregistrează durata procesului "Asamblarea pieselor și testarea", ținând cont de noile informații despre variabilitate, folosind o metodă din pachetul
randomcare generează numere întregi aleatorii.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
def car_production_line(SIMULATION_TIME):
car_number, time = 0, 0
while time < SIMULATION_TIME:
car_number += 1
# Clock the time requirement for: Welding and Painting
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")
# Clock the time requirement for: Assembly of parts and Testing
time += ____
if time >= SIMULATION_TIME: break
print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")
car_production_line(SIMULATION_TIME)