시작하기무료로 시작하기

모델 구축: 환경과 자원 생성

여러분은 항공기 제조사의 조립 라인을 최적화하는 일을 맡게 되었어요. 항공기의 주요 구성 요소는 (1) 동체(fuselage), (2) 날개(wings), (3) 꼬리날개(empennage), (4) 동력장치(power plant: 엔진과 프로펠러), (5) 착륙장치(landing gear)입니다.

이들 각 구성 요소는 서로 다른 조립 공정 섹션을 거치며, 슬롯은 각각 3, 2, 2, 3개가 있어요. 즉, 한 단계가 끝나면 다음 단계로 넘어가는데, 슬롯이 비어 있으면 바로 진행하고, 아니면 대기해야 해요. 조립 순서는 아래 도식에 제시된 단계 1–4의 순서를 따라야 합니다. 모델의 시간 단위는 시간(hours)입니다.

Airplane assembly sequence showing the different processes and limited shared resources.

이 조립 라인을 시뮬레이션하는 이산 사건 모델을 구축하세요.

이 연습은 강의의 일부입니다

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()
코드 편집 및 실행