SIMULATION 한 장 · 출근길 지하철
출근길 지하철, 왜 한두 대는 그냥 보내야 할까?
기본 조건(3분 배차, 8칸, 90분 동안 약 3,715명이 승강장에 옴)에서는 759명이 열차를 한 번 이상 그냥 보냈고, 평균 대기는 1.9분, 가장 오래 기다린 사람은 6.9분이었습니다. 정점 무렵 출발 열차의 혼잡도는 최대 162%까지 올랐습니다.
배차 간격을 2분으로 줄이면 못 탄 사람이 42.5명, 평균 대기가 0.7분으로 크게 줄었습니다. 열차를 10칸으로 늘리면 못 탄 사람은 506명, 최대 혼잡도는 131%였습니다.
열차를 바꾸지 않고 출근 시간만 넓게 퍼뜨린 시차 출근 조건에서도 못 탄 사람이 236명으로 줄었습니다. 반대로 승객이 1.3배가 되면 1,050명이 열차를 보내고 승강장 최대 인원은 536명까지 늘었습니다.
무엇을 시뮬레이션하나요?
출근길 환승역 승강장에서 문이 열려도 들어갈 틈이 없어 열차 한두 대를 그냥 보내는 일은 흔합니다. 이 시뮬레이터는 한 방향 승강장 하나를 골라 아침 07:30부터 09:00까지를 재현합니다. 사람들은 계단 두 곳으로 내려와 가까우면서 줄이 짧은 출입문을 골라 줄을 서고, 열차는 앞 역에서 이미 사람을 태운 채로 들어옵니다.
문이 열리면 먼저 내리고, 그다음 줄 앞사람부터 탑니다. 칸이 붐빌수록 한 명이 타는 데 시간이 더 걸리고, 문이 닫히거나 칸이 한계까지 차면 남은 사람은 다음 열차를 기다립니다. 왼쪽 패널에서 배차 간격, 칸 수, 승객 수, 앞 역 혼잡도, 정차 시간, 출근 시간대 분산을 바꿀 수 있습니다.
시나리오별 결과
| 시나리오 | 평균 대기 시간 | 가장 오래 기다린 사람 | 한 번 이상 못 탄 사람 | 승강장 최대 인원 | 최대 출발 혼잡도 |
|---|---|---|---|---|---|
| 기본 (3분·8칸) | 1.9분 | 6.9분 | 759명 | 402명 | 162% |
| 배차 간격 2분 | 0.7분 | 1.9분 | 42.5명 | 188명 | 110% |
| 10칸 열차 | 1.6분 | 5.1분 | 506명 | 369명 | 131% |
| 승객 1.3배 | 2분 | 8분 | 1,050명 | 536명 | 169% |
| 시차 출근 | 1.4분 | 4.2분 | 236명 | 208명 | 145% |
각 시나리오를 손님 흐름(난수 시드)만 바꿔 30번씩 돌린 평균입니다. 시나리오 이름을 누르면 같은 조건으로 위 시뮬레이터가 열립니다.
기본 (3분·8칸) · 배차 간격 2분 · 10칸 열차 · 승객 1.3배 · 시차 출근
어떻게 계산하나요?
이 모델은 공장·물류·교통 운영 분석에 쓰는 이산사건 시뮬레이션입니다. 흐름은 도착(계단) → 출입문 선택·줄서기 → 열차 도착 → 하차 → 승차 → 출발이고, 못 탄 사람은 같은 줄에 남아 다음 열차를 기다립니다.
- 도착: 시간에 따라 도착률이 바뀌는 비정상 포아송 과정입니다. 08:20 무렵이 정점이며, 기본 조건에서 정점에는 1분에 100명 안팎이 승강장으로 내려옵니다.
- 출입문 선택: 계단에서 문까지 걷는 시간과 이미 줄 선 사람 수를 함께 따져 문을 고릅니다. 사람마다 선호가 조금씩 달라, 계단 가까운 문에 줄이 몰리는 현상이 생깁니다.
- 혼잡도: 서울교통공사 정의대로 혼잡도(%) = 실제 탑승 인원 ÷ 열차 탑승 기준 인원 × 100이고, 1칸 160명을 100%로 봅니다.
- 앞 역 혼잡도: 열차는 3분 배차·8칸 기준 정점 시각에 설정한 혼잡도(기본 150%)로 들어옵니다. 배차가 짧아지거나 칸이 늘면 같은 인원이 더 많은 열차·칸으로 나뉘므로 도착 혼잡도도 그만큼 낮아집니다.
- 승하차: 이 역에서 약 10%가 내리고, 한 명 내리는 데 0.7초, 타는 데 1초가 걸립니다. 칸 혼잡도가 100%를 넘으면 넘은 만큼 타는 시간이 길어집니다.
- 한계: 칸 혼잡도가 200%에 닿으면 더 탈 수 없다고 봅니다. 문이 닫힐 때까지 타지 못한 사람은 '못 탄 사람'으로 셉니다.
"평균 대기 시간"은 출입문 앞에 도착한 순간부터 열차에 오른 순간까지이고, "최대 출발 혼잡도"는 열차가 이 역을 떠날 때 전체 칸 평균 혼잡도 중 가장 높은 값입니다.
이 시뮬레이션의 가정
- 07:30~09:00, 90분 동안 한 방향 승강장 하나만 시뮬레이션합니다. 08:55 이후에는 새로 오는 사람이 없습니다.
- 1칸 160명이 혼잡도 100%이고, 칸마다 출입문은 4개입니다.
- 칸 혼잡도 200%를 더 이상 탈 수 없는 한계로 둡니다(모델 가정).
- 앞 역에서 오는 승객 총량은 배차 간격·칸 수와 무관하게 같다고 보고, 열차·칸 수에 나눠 싣습니다.
- 줄 선 사람은 끼어들거나 다른 문으로 옮기지 않습니다. 열차는 시각표대로 오며 지연은 작은 흔들림만 넣었습니다.
실제와 다를 수 있는 점
- 실제 혼잡도와 정원 기준은 노선·차량마다 다릅니다(서울교통공사도 '호선별 정원에 따라 상이'하다고 밝힙니다).
- 실제 승강장에서는 문 앞이 아니라 열차 안쪽 통로가 비어 있어도 사람들이 문 근처에 몰려 덜 타기도 합니다. 이 모델은 칸 안 분포를 고르게 봅니다.
- 도착 패턴과 앞 역 혼잡도는 가상의 출근 시간대 분포입니다. 특정 역의 실측 데이터가 아닙니다.
자주 묻는 질문
지하철 혼잡도 100%는 몇 명인가요?
서울교통공사는 혼잡도(%)를 실제 탑승 인원 ÷ 열차 탑승 기준 인원 × 100으로 계산하고, 1칸 160명을 100%로 봅니다. 좌석만 모두 찬 상태는 혼잡도 34%입니다. 이 시뮬레이터도 같은 기준을 씁니다.
배차 간격을 줄이는 것과 칸 수를 늘리는 것 중 어느 쪽이 효과가 큰가요?
이 시뮬레이션 조건에서는 배차를 3분에서 2분으로 줄였을 때 못 탄 사람이 759명에서 42.5명으로, 8칸을 10칸으로 늘렸을 때는 506명으로 줄었습니다. 배차 단축은 열차 수와 문 수가 함께 늘어나고 기다리는 시간 자체도 짧아져 효과가 더 컸습니다.
시차 출근은 정말 효과가 있나요?
총 출근 규모를 비슷하게 두고 정점만 넓게 퍼뜨렸더니, 못 탄 사람이 759명에서 236명으로, 평균 대기가 1.9분에서 1.4분으로 줄었습니다. 열차 처리 능력에 가까운 정점 수요를 낮추는 것만으로 혼잡이 크게 줄어드는 전형적인 대기행렬 현상입니다.
결과가 실행할 때마다 다른 이유는 무엇인가요?
사람이 내려오는 시각, 문 선택, 앞 역 혼잡도에 확률 요소가 들어가기 때문입니다. 같은 조건이라도 흐름이 달라지므로, 본문 표는 30번 반복한 평균을 보여 줍니다. '섞기' 버튼으로 같은 조건의 다른 흐름을 볼 수 있습니다.
실제 역 데이터로 돌려볼 수 있나요?
서울교통공사는 1~8호선 역·방향별 30분 단위 평균 혼잡도를 공공데이터로 공개합니다. 그 값을 '앞 역에서 이미 탄 정도'에 넣고, 역의 시간대별 승차 인원으로 '승객 몰림 정도'를 맞추면 실제 역에 가까운 출발점이 됩니다. 다만 이 페이지의 숫자는 가상 조건에서의 비교용입니다.
참고 자료
- 서울교통공사, 2024년 4분기 열차혼잡도 (혼잡도 정의·1칸 160명 기준)
- 공공데이터포털, 서울교통공사_지하철혼잡도정보 (좌석만 찼을 때 34%)
- 한국철도통계(KRIC), 서울교통공사 지하철 혼잡도 산출 모델 '철도 10대 기술상' 수상 (2021)
- Queueing theory (Wikipedia)
- Discrete-event simulation (Wikipedia)
다른 일상 시뮬레이션
마지막 업데이트 2026-10-21 · 만든 곳 데이터팝콘 · 유튜브 @simulation.hanjang · 인스타그램