Zacznij terazZacznij za darmo

Linia montażu samochodów: dodawanie procesów niedeterministycznych

To ćwiczenie skupia się na procesach niedeterministycznych bez użycia SimPy. W następnym ćwiczeniu przejdziemy do SimPy.

Zostałeś poproszony o uwzględnienie zmienności czasu trwania procesów w poprzednim modelu zdarzeń dyskretnych dla linii produkcji samochodów. Zidentyfikowane wcześniej grupy procesów to: (1) "Spawanie i malowanie" oraz (2) "Montaż części i testowanie". Pamiętaj, że każda z tych grup obejmuje wiele podprocesów i zadań, ale na razie skupiasz się na kodowaniu pierwszej wersji modelu na wysokim poziomie.

Wcześniej ustalono, że spawanie i malowanie zajmuje średnio 15 godzin, natomiast montaż części i testowanie – średnio 24 godziny.

Po dodatkowych badaniach i obserwacjach dotyczących zmienności czasu trwania tych procesów stwierdzono, że spawanie i malowanie może się wahać o pięć godzin (w górę lub w dół), a montaż części – o sześć godzin (w górę lub w dół).

Zaktualizuj model zdarzeń dyskretnych, aby uwzględniał zmienność czasu trwania tych procesów. Pakiet random został już załadowany.

To ćwiczenie jest częścią kursu

Symulacja zdarzeń dyskretnych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zarejestruj czas trwania procesu "Spawanie i malowanie", uwzględniając nowe informacje o zmienności – użyj odpowiedniej metody z pakietu random, która generuje losowe liczby całkowite.
  • Zarejestruj czas trwania procesu "Montaż części i testowanie", uwzględniając nowe informacje o zmienności – użyj odpowiedniej metody z pakietu random, która generuje losowe liczby całkowite.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod