자동차 생산라인 모델링: Python 제너레이터
자동차 생산라인을 최적화하기 위한 이산 사건 모델을 구축해 달라는 요청을 받았어요. 먼저 생산라인에 포함된 주요 프로세스 그룹을 파악했습니다. (1) 용접 및 도장, (2) 조립 및 테스트예요. 물론 각 그룹에는 많은 하위 프로세스와 작업이 있지만, 지금은 모델의 첫 번째 고수준 버전을 코딩하는 데 집중하려고 합니다.
이미 핵심 프로세스 그룹을 파악했으니, 이제 각 프로세스를 완료하는 데 걸리는 평균 시간을 정해야 해요. 조사 결과, 용접 및 도장은 15시간, 부품 조립 및 테스트는 24시간이 걸리는 것으로 파악됐습니다.
simpy 패키지는 이미 임포트되어 있어요.
모델에서 시간 단위는 시간(hours) 입니다.
이 연습은 강의의 일부입니다
Python으로 배우는 이산 사건 시뮬레이션
연습 안내
car_production_line_gen이라는 이름의 Python 제너레이터를 정의하세요.- 생산라인에 용접 및 도장의 소요 시간을 기록하세요.
- 마찬가지로 부품 조립 및 테스트에 걸리는 시간도 기록하세요.
- 현재 시뮬레이션 시간을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Defining a Generator that includes the processes
def ____(env):
car_number = 0
while True:
car_number += 1
# Process 1: Clock the time requirement for welding and painting
yield env.____(____)
print(f"Car {car_number}: Welding and painting (completed) => time = {env.now}")
# Process 2: Clock in time for process 2 and yield it
____
print(f"Car {car_number}: Assembly of parts and testing (completed) => time = {env.now}")
# Print car ready for shipment
print(f"Car {car_number}: Car ready for shipping! time = {env.____} hours")