모델 구축: 환경과 자원 생성
여러분은 항공기 제조사의 조립 라인을 최적화하는 일을 맡게 되었어요. 항공기의 주요 구성 요소는 (1) 동체(fuselage), (2) 날개(wings), (3) 꼬리날개(empennage), (4) 동력장치(power plant: 엔진과 프로펠러), (5) 착륙장치(landing gear)입니다.
이들 각 구성 요소는 서로 다른 조립 공정 섹션을 거치며, 슬롯은 각각 3, 2, 2, 3개가 있어요. 즉, 한 단계가 끝나면 다음 단계로 넘어가는데, 슬롯이 비어 있으면 바로 진행하고, 아니면 대기해야 해요. 조립 순서는 아래 도식에 제시된 단계 1–4의 순서를 따라야 합니다. 모델의 시간 단위는 시간(hours)입니다.

이 조립 라인을 시뮬레이션하는 이산 사건 모델을 구축하세요.
이 연습은 강의의 일부입니다
Python으로 배우는 이산 사건 시뮬레이션
연습 안내
- 자원 정보를 담은 사전을 완성하세요. 키는
step_1_fuselage,step_2_wings,step_3_power_plant,step_4_landing_gear이며, 값(공정 소요 시간)은 각각 20, 8, 10, 8시간입니다. - SimPy 환경을 생성해
env라는 변수에 저장하세요. - 다이어그램에 표시된 해당 수용량(슬롯 수)으로 모델의 자원을 완성하고,
step_1_fuselage,step_2_wings,step_3_power_plant,step_4_landing_gear라는 변수에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define a dictionary with your processes
processing_time = {
"____": 20,
"____": 8,
"step_3_power_plant": ____,
"step_4_landing_gear": ____
}
# Create your SimPy Environment with the name env
env = simpy.____()
# Create resources for each assembly step
step_1_fuselage = simpy.____(env, capacity=____)
step_2_wings = simpy.____(env, capacity=2)
step_3_power_plant = simpy.____(env, capacity=2)
step_4_landing_gear = simpy.____(env, capacity=3)
env.process(order_aircraft(env, PLANE_ORDERS, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear))
env.run()