Bilmonteringslinje: lägg till icke-deterministiska händelser med SimPy
Den här övningen fokuserar på icke-deterministiska processer med SimPy.
Du ska modifiera SimPy-versionen av din bilmonteringslinjemodell och lägga till samma deterministiska händelser med SimPy-metoder.
Kom ihåg att "Svetsning och målning" tar i genomsnitt 15 timmar att slutföra, men att varaktigheten kan variera med fem timmar (upp eller ned). På samma sätt tog "Montering av delar och testning" i genomsnitt 24 timmar att slutföra, men varaktigheten kan variera med sex timmar (upp eller ned).
SimPy-biblioteket har redan importerats åt dig.
Den här övningen är en del av kursen
Diskret händelsesimulering i Python
Övningsinstruktioner
- Räkna in varaktigheten för processen "Svetsning och målning" och ta hänsyn till den nya informationen om dess variabilitet med metoden
random.randint(). - Räkna in varaktigheten för processen "Montering av delar och testning" och ta hänsyn till den nya informationen om dess variabilitet med metoden
random.randint().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
def car_production_line(env):
car_number = 0
while True:
car_number += 1
# Adding process 1: Clock-in time requirement for Welding and Painting
yield env.____(random.____(10, 20))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")
# Adding process 2: Return/yield time after completing the process and print the current time
yield env.____(random.____(18, 30))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")
env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)