DOI QR코드

DOI QR Code

A Digital Twin Simulation Model for Reducing Congestion of Urban Railways in Busan

부산광역시 도시철도 혼잡도 완화를 위한 디지털 트윈 시뮬레이션 모델 개발

  • Choi, Seon Han (Dept. of IT Convergence and Application Eng., Pukyong National University) ;
  • Choi, Piljoo (Dept. of IT Convergence and Application Eng., Pukyong National University) ;
  • Chang, Won-Du (Dept. of Computer Eng., Pukyong National University) ;
  • Lee, Jihwan (Dept. of Systems Management and Eng., Pukyong National University)
  • Received : 2020.09.18
  • Accepted : 2020.10.06
  • Published : 2020.10.31

Abstract

As a representative concept of the fourth industrial revolution era where everything is digitized, digital twin means analyzing and optimizing a complex system using a simulation model synchronized with the system. In this paper, we propose a digital twin simulation model for the efficient operation of urban railways in Busan. Due to the geopolitical nature of Busan, where there are many mountains and narrow roads, the railways are more useful than other public transportation. However, this inversely results in a high level of congestion, which is an inconvenience to citizens and may be fatal to the spread of the virus, such as COVID19. Considering these characteristics, the proposed model analyzes the congestion level of the railways in Busan. The model is developed based on a mathematical formalism called discrete-event system specification and deduces the congestion level and the average waiting time of passengers depending on the train schedule. In addition, a new schedule to reduce the congestion level is derived through particle swarm optimization, which helps the efficient operation of the railways. Although the model is developed for the railways in Busan, it can also be used for railways in other cities where a high level of congestion is a problem.

Keywords

1. 서론

디지털 트윈(Digital twin)은 모든 것이 디지털화 되는 4차 산업혁명 시대를 대표하는 개념으로 실제 시스템에 대한 사이버상에 존재하는 모델을 의미하며, 제조, 전력, 항공, 스마트 시티 등 다양한 분야에서 활용되고 있다. 디지털 트윈의 특징은 IoT 센서들을 통해서 수집된 실제 시스템에 대한 빅데이터를 바탕으로 실제 시스템과 끊임없는 동기화를 유지한다. 그리고 동기화된 모델에 대한 시뮬레이션을 통하여 실제 시스템의 상태를 분석하고, 최적으로 제어하며, 미래에 발생할 고장 등을 예측한다[1]. Fig. 1은 이러한 디지털 트윈의 개념을 나타낸다.

MTMDCW_2020_v23n10_1270_f0001.png 이미지

Fig. 1. Concept of digital twin.

디지털 트윈에서 가장 중요한 부분은 실제 시스템의 특성을 잘 반영하여 분석 목적에 따라 시뮬레이션 모델을 개발하는 것이다[3]. 시뮬레이션 모델을 개발하는 방법은 크게 전통적인 모델링 시뮬레이션(M&S: Modeling and simulation) 방법과 최근 주목 받고 있는, 빅데이터를 활용한 기계학습 방법이 있다. M&S 방법은 시스템 사이언스 적인 접근 방식으로 대상 시스템의 동작 원리와 지식을 활용하여 수학 방정식 또는 논리적 알고리즘 형태의 추상화 모델을 만드는 것을 의미하며, 대상 시스템의 입력과 출력 간의 인과관계(Causality)를 표현한다. 반면에, 기계학습 방법은 대상의 입력과 출력에 대한 빅데이터를 인공신경망(Artificial neural network) 등을 통하여 학습하여 입력과 출력 간의 연관관계(Correlation)를 표현한다. 최근 딥러닝 기술이 발전함에 따라서, 기계학습 방법은 시스템에 대한 충분한 입출력 데이터가 있는 경우, 대상 시스템의 동작 원리나 지식을 알지 못하더라도 시스템의 특성을 잘 반영한 높은 신뢰도(Fidelity)의 모델을 개발할 수 있으므로 주목받고 있다. 하지만 데이터를 수집하기 어려운 경우, 또는 이전에 학습한 데이터가 적용되지 않는, 즉 시스템의 구성 또는 운용 법칙 등이 변경되는 경우에 적용하기 어려운 한계가 있다. M&S 방법의 경우 데이터를 확보하기 어렵더라도, 대상 시스템의 특성과 동작 원리 등을 파악할 수 있는 경우 효과적으로 모델을 개발할 수 있다. 또한, 기계학습을 통해 개발된 데이터 기반의 모델과 달리 시스템의 구성 또는 운용 법칙이 변경되는 경우에도 활용될 수 있다. 하지만 신뢰도 검증에 대한 문제가 항상 존재한다[2]. Table 1은 두 방법에 대한 요약을 나타낸다. 최근 높은 신뢰도의 디지털 트윈 모델을 개발하기 위해서 서로 간에 상호보완적인 장단점을 가진 M&S 방법과 기계학습 방법을 융합하는 시도가 이루어지고 있다[4].

Table 1. Comparison between classical modeling & simulation and machine learning methods for developing digital twin simulation model [2]

MTMDCW_2020_v23n10_1270_t0001.png 이미지

디지털 트윈이 효과적으로 활용될 수 있는 다양한 산업 시스템 중에서, 본 논문에서는 도시철도 시스템에 주목한다. 도시철도 시스템은 도로 교통 혼잡에 영향을 받지 않는 친환경적인 대중교통 수단으로 전 세계의 대도시에서 활용되고 있으며, 디지털 트윈이 적용되었을 때 그 운용과 관리에 효율성을 높일 수 있다. 현재까지 도시철도 시스템에 대한 다양한 시뮬레이션 모델이 개발되었으며, 이들 시뮬레이션 모델은 그 활용 목적에 따라서 구분될 수 있다. Koutsopoulos and Wang[5], Wu et al.[6]은 도시철도의 환승시간을 최적화하고 동기화하기 위한 시뮬레이션 모델을 개발하였다. Schmaranzer et al.[7]은 이탈리아 베니스(Venice)의 도시철도 시스템에 대한 의사 결정 및 관리를 위한 시뮬레이션 모델을 연구하였다. 이들 연구가 도시철도 시스템의 운영 측면에 집중하였다면, 도시철도의 기계적인 부분에 대한 관리를 위한 디지털 트윈을 개발한 연구들도 있었다. Shevlyugin et al.[8]은 도시철도의 견인 동력을 관리하기 위한 디지털 트윈을 개발하였으며, Zuo et al.[9]은 에어 브레이킹(Air braking) 시스템에 대한 시뮬레이션 모델을 연구하였다. 이 외에도 Yang et al.[10]은 도시철도 개찰구의 운영 최적화를 위한 시뮬레이션 모델을 개발하였으며, Chen et al.[11]은 도시철도 에서의 화재 발생 시 대피 상황을 시뮬레이션 모델을 바탕으로 연구하였다.

본 논문에서는 부산광역시의 도시철도 시스템의 효율적인 운영을 위한 디지털 트윈 시뮬레이션 모델을 개발한다. 부산의 경우 현재 김해경전철까지 포함하여 6개의 노선이 운영되고 있다. 산이 많고 도로가 좁은 부산의 특성상 도시철도 시스템은 버스 등의 다른 대중교통 수단보다 그 활용도가 높다. 하지만, 이 높은 활용도는 역설적으로 부산 도시철도 시스템의 높은 혼잡도를 유발하여 시민들의 불편을 초래한다. 특히, 이 높은 혼잡도는 최근 유발된 코로나19 (COVID19) 바이러스의 확산에 치명적이다. 기존의 도시철도 운영에 관해서 연구된 모델들의 경우 승객의 대기 시간, 환승 시간, 기차 지연 등에 대한 분석 목적(Objective)을 가지고 있었지만, 본 논문에서는 부산광역시 도시철도의 특성을 반영하여 혼잡도를 분석할 수 있는 모델을 개발한다. 이 모델은 이산 사건 시스템(Discrete-event system)을 효과적으로 표현할 수 있는 수학적 형식론(Formalism)인 Discreteevent system specification (DEVS)[12]에 기반하여 개발된다. 개발된 디지털 트윈 모델은 부산 도시철도 시스템의 역별 승하차 인원에 대한 정보를 바탕으로 현재 도시철도 시스템의 차량 운용, 혼잡도, 승객 대기 시간 등을 분석할 수 있다. 또한, 입자 군집 최적화(Particle swarm optimization)[13] 기법을 통해서 혼잡도를 낮출 수 있는 새로운 차량 배차 계획을 도출하여 실제 도시철도 시스템의 배차 간격을 조정할 수 있다. 본 모델은 부산광역시 도시철도 시스템을 대상으로 개발되었지만, 혼잡도가 문제가 되는 다른 도시의 도시철도 시스템에도 활용될 수 있다.

본 논문의 구성은 다음과 같다. 2장에서 DEVS에 대해서 간략하게 설명하고, 3장에서 개발한 시뮬레이션 모델을 제시한다. 4장에서 이를 활용한 실험 결과를 제시하고, 5장에서 결론을 맺는다.

2. 이산사건 시스템 명세(DEVS)

시스템은 기본적으로 입력, 출력, 그리고 시스템의 상태로 표현될 수 있다. 시스템의 상태는 시각 t에서 시스템의 출력을 결정할 수 있는 정보를 의미하며, 이산값 또는 연속값(즉, 실수값)으로 표현될 수 있다. 그리고 이 상태 정보는 이전 시각의 상태와 입력, 또는 시간에 따라서 결정된다. 예를 들어서 자동차의 구동계 시스템에서, 사용자가 가속 페달을 밟은 정도는 입력, 자동차의 속도가 출력이 될 수 있다. 그리고 속도를 결정하는 엔진의 회전수는 시스템의 연속적인 상태, 기어의 단 수는 이산적인 상태로 정의될 수 있다. 이 상태 변수들은 입력에 따라서, 또 이전 시각의 상태에 따라서 변하지만, 입력이 없는 경우에 (즉 가속 페달을 밟지 않는 경우) 시간이 흐름에 따라서 변할 수도 있다.

시스템의 입력 및 출력, 그리고 상태는 시간에 따른 연속 또는 이산적인 값을 가질 수 있으며, 이에 따라서 4가지 시스템의 종류를 구분할 수 있다. 이중에서 교통, 생산, 물류, 로봇, 군사 등 다양한 분야에 존재하는 이산사건 시스템은 시스템의 상태를 모두 이산적인 값으로 표현하고, 시스템의 입력과 출력이 시간에 따른 연속적인 값이 아닌, 특정 시점에 발생하는 이벤트로 정의되는 시스템을 의미한다. 예를 들어, 컴퓨터에서 중앙처리장치가 처리하는 작업의 순서를 결정하는 운영체제의 스케줄러(Scheduler)의 경우 중앙처리장치의 작업이 완료되었다는 이벤트가 발생하면 그 시점의 작업들의 우선순위를 고려하여 다음 작업을 할당하므로, 이산사건 시스템으로 정의될 수 있다. 이러한 이산사건 시스템의 특징은 이벤트와 이벤트가 발생하는 사이의 시간에 일어나는 연속적인 변화를 무시하기 때문에 높은 효율성을 가질 수 있다. 예를 들어 센서 시스템이 시간에 따라 진행되는 연속적인 아날로그 전류(또는 전압)의 변화를 모두 서버에 전송하는 것이 아닌, 특정 값 이상일 때, 즉 이벤트가 발생하였을 때만 메시지를 서버에 전달한다면 한정된 전력을 효율적으로 활용할 수 있다.

DEVS는 수학적 집합론에 기반한 모델링 언어로서, 이산사건 시스템을 효과적으로 표현할 수 있으며, 다양한 분야의 국방, 교통, 재난대피 등 복잡한 시스템을 분석하기 위해 활용되었다[14-17]. 이러한 표준화된 언어를 통하여 모델링할 경우 개발된 모델의 검증이 용이하며, 향후 모델의 개선이 쉽게 이루어질 수 있다는 장점이 있다. 시스템이 다양한 하위 구성 요소들의 결합으로 이루어져 있듯이, DEVS도각 하위 구성 요소를 표현하기 위한 원자(Atomic) 모델과, 이 원자 모델들의 결합을 표현하기 위한 결합 모델(Coupled) 모델로 이루어진다.

원자 모델의 경우 3개의 집합과 4개의 함수로 구성 요소를 표현하며, 이는 다음과 같이 정의된다.

\(A M=\left\langle X, Y, S, \delta_{i n t}, \delta_{e x t}, \lambda, t a\right\rangle\)

X: A set of input events

Y: A set of output events

S: A set of states

\(\delta_{e x t}\): External transition function;

\(Q \times X \rightarrow S, \text { where } Q=\{(s, e) \mid s \in S, 0 \leq e \leq t a(s)\} \text { and }\)

\(e \text { is elapsed time after transition. }\)

\(\delta_{i n t}\): Internal transition function; \(S \rightarrow S\)

\(\lambda\): Output function; \(S \rightarrow Y\)

\(ta\): Time advance function; \(S \rightarrow R_{\infty}^{+}\)

3개의 집합은 입력 이벤트(X), 출력 이벤트(Y), 상태 집합(S)이며, 4개의 함수는 내부 상태 천이 함수(δint), 외부 상태 천이 함수(δext), 출력 함수(λ), 시간 전진 함수(ta)이다. 입력 이벤트 집합은 이 원자 모델에 입력될 수 있는 모든 입력 이벤트의 집합이며, 출력 이벤트 집합은 발생할 수 있는 모든 출력 이벤트의 집합이다. 상태 집합은 이 원자 모델이 가질 수 있는 모든 상태의 집합을 나타낸다. 한 시점에서 모델은 하나의 상태에 있게 되며, 하나의 상태에서 머물 수 있는 최대 시간이 정해져 있는데 이는 시간 전진 함수에 의해서 정해진다. 입력 이벤트가 발생하게 되면, 외부 상태 천이 함수에 의해서 입력과 현재 상태에 따라서 다음 상태를 결정하게 된고, 이 상태에 머물 수 있는 시간이 시간 전진 함수에 의해서 결정된다. 만약 아무 입력 이벤트가 발생하지 않고이 상태에 머물 수 있는 시간에 도달하게 되면, 출력 함수를 통해서 외부로 현재 상태에 대한 출력 이벤트를 발생시키고, 내부 상태 천이 함수에 의해서 다음 상태를 결정한다.

시스템의 각 구성 요소들이 원자 모델로 표현이 되면, 이 원자 모델들의 결합을 통해서 시스템을 표현할 수 있다. 결합 모델은 3개의 집합과 3개의 관계, 그리고 하나의 함수를 통해서 이 결합을 표현하며, 다음과 같이 정의된다.

\(C M=\left\langle X, Y,\left\{M_{i}\right\}, E I C, E O C, I C, S E L E C T\right\rangle\)

X: A set of input events; \( X \subseteq\underset{i}{\bigcup} X_{i}\)

Y: A set of output events; \(Y \underset{\forall i}{\bigcup} Y_{i}\)

{Mi}: A set of component models

EIC: External input coupling relation; \(E I C \subseteq X \times \underset{i}{\bigcup} X_{i}\)

EOC: External output coupling relation; \(E O C \subseteq \underset{i}{\bigcup} Y_{i} \times Y\)

IC: Internal coupling relation; \( I C \subseteq\underset{i} \bigcup Y_{i} \times \underset{j}\bigcup X_{j}\)

SELECT: Select function; \( 2^{\left\{M_{i}\right\}}-\Phi \rightarrow M_{i}\)

3개의 집합은 입력 이벤트(X), 출력 이벤트(Y), 구성 요소 모델 집합({Mi})이며, 3개의 관계는 외부 입력 연결 관계(EIC), 외부 출력 연결 관계(EOC), 내부 연결 관계(IC)이며, 1개의 함수는 선택 함수(SELECT) 이다. 입력 이벤트 및 출력 이벤트 집합은 이 결합 모델이 가질 수 있는 모든 입력과 출력 이벤트의 집합이며, 결합 모델이 포함하고 있는 하위 모델들의 입력과 출력 집합의 결합으로 정의된다. 구성 요소 모델 집합은 결합 모델이 포함하고 있는 하위 모델들의 집합이며, 이 하위 모델은 원자 모델뿐만 아니라 또 다른 결합 모델도 가능하다. 이를 통해서 DEVS는 시스템의 계층 구조(hierarchy)를 표현할 수 있다. 외부 입력 연결 관계는 결합 모델의 입력과 내부 모델들의 입력을 연결하며, 외부 출력 연결 관계는 결합 모델의 출력과 내부 모델들의 출력을 연결한다. 내부 연결 관계는 내부 모델들 간의 입출력 연결을 나타낸다. 선택 함수는 내부 모델들 간의 실행 우선순위를 결정하는 함수이다. 예를 들어서 내부 모델 A, B, C 로 동시에 전달되는(Broadcasting) 입력 이벤트가 발생할 경우, 세 개의 모델 중에서 어떤 모델의 외부 천이 함수를 가장 먼저 실행시킬지를 선택 함수가 결정한다. 모델들은 이벤트를 통해서 서로 간에 영향을 주고받기 때문에 동시에 실행되는 경우에도 그 실행 순서에 따라서 다른 시뮬레이션 결과를 초래할 수도 있기 때문에, 선택 함수가 필요하다.

대상 시스템에 대해서 DEVS를 바탕으로 명세된 모델은 다양한 프로그래밍 언어로 구현되어서 실행될 수 있으며, DEVS 모델을 쉽게 구현하고 실행할 수 있도록 하는 다양한 도구들, 예를 들어 DEVSIM++[18], aDEVS[19], CD++[20], DEVSJAVA[21], xDEVS[22], PyPDEVS[23] 등이 있다. Risco-Martin et al. [24]은 이들 도구에 대한 비교 결과를 제시한다. 다음 장에서는 DEVS를 바탕으로 도시철도 시스템의 효율적인 운영을 위한 디지털 트윈 모델을 제시한다.

3. TrainSim: 부산광역시 도시철도 디지털 트윈 시뮬레이션 모델

본 논문에서 개발하는 부산 도시철도 시스템에 대한 디지털 트윈은 Fig. 2와 같이 구성된다. 실제 도시철도 시스템으로부터 승하차 정보를 전달받아 시뮬레이션 모델을 동기화하며, 이 동기화 된 모델은 현재 차량 배차 계획에 대한 혼잡도와 승객의 대기 시간을 도출한다. 디지털 트윈은 이 모델을 바탕으로 입자 군집 최적화를 통해서 혼잡도를 낮출 수 있는 새로운 차량 배차 계획을 도출하여 실제 시스템에 반영한다.

MTMDCW_2020_v23n10_1270_f0002.png 이미지

Fig. 2. Overall structure of digital twin system for urban railways in Busan.

앞서 언급하였지만, 디지털 트윈 시스템에서 가장 중요한 것은 시스템의 특성을 잘 반영하여 분석 목적을 잘 달성할 수 있는 시뮬레이션 모델을 개발하는 것이다. Fig. 3은 DEVS를 기반으로 개발된 부산 도시철도 시스템의 차량 배차 계획에 대한 혼잡도와 승객의 대기 시간을 분석하기 위한 시뮬레이션 모델 TrainSim의 구조를 나타낸다. 이 모델은 DEVS 결합 모델로서 내부에 Line과 Experimental Framework(EF) 두 개의 결합 모델을 하위 모델로 가지고 있다. 정차역들이 순차적으로 연결된 도시철도 시스템을 묘사하는 Line은 정차역을 모델링하는 Station 원자 모델들의 결합으로 구성되어 있다. 또한, 기차의 경우 각 Station 모델들 간에 주고받는 메시지 형태로 표현된다. EF는 DEVS 기반의 시뮬레이션 모델에 대한 효과적인 활용을 돕는 모델링 구조로, 배차 계획에 따라서 기차를 생성하는 Generator 원자 모델과 모든 기차역을 거치면서 수집된 정보를 바탕으로 혼잡도와 승객의 대기 시간을 분석하는 Transducer 원자 모델로 구성된다. Line과 EF는 내부 연결 관계로 연결되어 있어서 기차로 표현되는 메시지를 주고받는다. 다음은 TrainSim에 대한 DEVS 명세이다.

\(\text { TrainSim }=\left\langle X, Y,\left\{M_{i}\right\}, E I C, E O C, I C, S E L E C T\right\rangle\)

\(X=\Phi\)

\(Y=\Phi\)

\(\left\{M_{i}\right\}=\{\text { Line, } \mathrm{EF}\}\)

\(E I C=\Phi\)

\(E O C=\Phi\)

\(I C=\{\text { (EF.Out_Train, Line.In_Train), (Line.Out_ }\text { Train, EF.In_Train)\} } \)

\(\operatorname{SELECT}(\{\text { Line, } \mathrm{EF}\})=\mathrm{EF}\)

MTMDCW_2020_v23n10_1270_f0003.png 이미지

Fig. 3. Structure of digital twin simulation model.

TrainSim의 경우 최상위 결합 모델로서 외부로부터 입력되는 이벤트와 외부에 출력되는 이벤트가 없으므로 X와 Y가 모두 공집합이다. 내부 모델로 Line과 EF 두 개를 가지고 있으며, 내부 모델 간의 연결이 내부 연결 관계로 정의되어 있다. 즉 EF 내부 모델(Generator)의 상태 변화로 인하여 발생한 출력 이벤트(EF.Out_Train)는 Line의 입력 이벤트(Line.In_Train)로 작용하여 Line 내부 모델(Staion #1)의 상태 변화를 초래한다. 마찬가지로 Line 내부 모델(Station #k)의 상태 변화로 인하여 발생한 출력 이벤트(Line.Out_Train)는 EF의 입력 이벤트(EF.In_ Train)로 작용하여 EF 내부 모델(Transducer)의 상태를 변화시킨다. 한편, TrainSim의 경우 내부에서 발생한 이벤트가 외부로 전달되지 않으므로 외부 입력 연결 관계 및 외부 출력 연결 관계는 모두 공집합이다. SELECT 함수는 Line과 EF가 동시에 실행되어야 할 경우 EF를 먼저 실행하도록 명시한다. 다음은 Line과 EF 결합 모델들에 대한 DEVS 명세이다.

\(\text { Line }=\left\langle X, Y,\left\{M_{i}\right\}, E I C, E O C, I C, S E L E C T\right\rangle\)

\(X=\left\{\operatorname{In}_{-} \text {Train }\right\}\)

\(Y=\{\text { Out_Train }\}\)

\(\left\{M_{i}\right\}=\{\text { Station } \# 1, \text { Station } \# 2, \ldots, \text { Station } \# k\}\)

\(E I C=\{\text { (Line.In_Train, Station #1.Previous_ }\text { Station_ Departure)\} } \)

\(E O C=\{\text { (Station #k.Departure, Line.Out_Train) }\)

\(I C=\{\forall i \in\{1, . ., k-1\}: \text { (Station #i.Departure, }\text { Station } \# i+1 . \text { Previous_Station_Departure })\}\)

SELECT: priority is given to stations with fast number

\(\mathrm{EF}=\left\langle X, Y,\left\{M_{i}\right\}, E I C, E O C, I C, S E L E C T\right\rangle\)

\(X=\left\{\operatorname{In}_{-} \text {Train }\right\}\)

\(Y=\{\text { Out_Train }\}\)

\(E I C=\{(\text { EF.In_Train, Transducer.End_Train) }\}\)

\(E O C=\{\text { (Generator.Gen_Train, EF.Out_Train) }\)

\(I C=\Phi\)

\(\text { SELECT }(\{\text { Generator, } \text { Transducer }\})=\text { Generator }\)

Line과 EF 모두 입력 이벤트로 In_Train, 출력 이벤트로 Out_Train을 가진다. Line의 경우 외부 입력 연결 관계에 정의된 대로, Line에 입력된 In_Train 이벤트는 내부의 Station #1 모델의 Previous_ Station_Departure 입력 이벤트로 연결되어 Station #1 모델의 상태를 변화시킨다. 또한, 외부 출력 연결 관계에 정의된 대로 내부 Station #k 모델에서 발생한 Departure 이벤트가 Line의 Out_Train 출력 이벤트로 연결되어 외부로 전달된다. EF의 경우도 Fig. 3에서 나타난 것과 같이, 외부 입력 연결 관계와 외부 출력 연결 관계가 정의된다. Line은 다수의 Station 원자 모델을 하위 모델로 가지며, 내부 연결 관계에 정의된 것과 같이 각 Station 모델의 Departure 출력이벤트는 다음 Station 모델의 Previous_Station_Departure 입력 이벤트로 연결된다. 즉 이 이벤트의 발생에 따라서 이벤트의 메시지 형태로 정의되는 기차가 각 정차역을 이동하게 되며, 이는 Station 원자 모델을 설명할 때 보다 자세하게 설명한다. EF는 Generator와 Transducer 원자 모델을 하위 모델로 가지며, Fig. 3에서 표시된 것과 같이 두 모델 간의 연결이 없으므로 내부 연결 관계는 공집합으로 정의 된다. Line에서는 번호가 빠른 Station 모델이 동시 이벤트가 발생하였을 때 우선순위를 가지며, EF에서는 Generator가 우선순위를 가진다.

정리하면 TrainSim은 Station, Generator, Transducer 3개의 원자 모델을 기본으로 하여 여러 개의 결합 모델이 이들을 감싸는 계층적 구조를 이루고 있다. 이 3개의 원자 모델은 이벤트를 발생시켜 (결합 모델을 통해서) 다른 원자 모델에게 전달하고, 이 전달된 이벤트는 모델의 상태를 변경하여 다른 이벤트가 발생하도록 한다. 이벤트가 전달될 때는 메시지의 형태로 전달이 되는데, TrainSim에서는 언급한 바와 같이 기차를 이 메시지로 모의한다. Generator 에서 배차 계획에 따라서 순차적으로 생성된 기차는 이벤트에 따라서 각 Station을 거쳐 최종적으로 Transducer에 도착하게 된다. 각 Station에서는 혼잡도와 승객의 대기 시간을 분석하기 위하여 승객의 승차와 하차를 모의하며, 기차는 Station을 거칠 때마다 내부 승차 인원이 변경된다. 그리고 Transducer 에서는 기차의 승차 인원 변경 이력을 바탕으로 혼잡도와 승객의 대기 시간을 도출한다. 본 TrainSim에서 핵심이 되는 모델은 각 정차역에서 승객의 승차와 하차를 모의하는 Station 원자 모델이다. 다음은 Station에 대한 DEVS 명세를 나타내고, Fig. 4는 이를 도식화한 다이어그램을 나타낸다.

\(\text { Station }=\left\langle X, Y, S, \delta_{\text {int }}, \delta_{\text {ext }}, \lambda, t a\right\rangle\)

X = {Previous_Station_Departure

Y = {Departure}

S = {EMPTY, OCCUPIED}

\(\delta_{e x t}\)((EMPTY, e), Previous_Station_Departure)) = (OCCUPIED, 0)

\(\delta_{e x t}\)((OCCUPIED, e), Previous_Station_ Departure)) = (OCCUPIED, e); Continue()

MTMDCW_2020_v23n10_1270_f0004.png 이미지

Fig. 4. DEVS Diagram of Station atomic model.

Fig. 4에서 타원은 상태와 그 상태에 최대로 머물 수 있는 시간(ta)를 나타낸다. 실선과 점선 화살표는 상태 천이를 나타내는데, 실선은 외부에서 입력된 이벤트에 의해 발생하는 외부 상태 천이, 점선은 각 상태에서 최대로 머물 수 있는 시간이 도래했을 때 발생하는 내부 상태 천이 및 그때 발생하는 출력 이벤트를 나타낸다. DEVS 명세와 Fig. 4에서 보이듯이, Station은 2개의 상태와 1개의 입력 및 출력 이벤트를 가진다. EMPTY 상태는 이전 정차역을 출발하여 이 정차역으로 다가오는 또는 이 정차역에 정차한 기차가 하나도 없음을 의미하며, OCCUPIED 적어도 1개 이상의 기차가 정차역으로 다가오거나 정차해 있는 상태를 의미한다. Previous_Station_Departure 이벤트는 이전 정차역에서 기차의 출발 이벤트를 의미하며 (즉, Station #i-1의 Departure 출력 이벤트), 이 이벤트가 입력되면 Station의 상태는 OCCUPIED 상태로 천이된다. 그리고 OCCUPIED 상태에 머물 수 있는 시간(Occupied_Time)이 지나면 Departure 출력 이벤트를 발생시키고 EMPTY 상태로 천이하게 된다. 이때 Occupied_Time은 기차가 전역을 출발해서 현재 정차역을 다시 출발할 때까지 걸리는 시간을 의미한다. Fig. 5는 Station 모델의 이벤트와 상태에 관해서 설명한다.

MTMDCW_2020_v23n10_1270_f0005.png 이미지

Fig. 5. Event descriptions of Station atomic model.

한 기차가 운행하는 시간을 분석하면 역 간 이동을 위해서 움직이는 시간과 역에 정차해서 승객을 승하차하는 시간이 반복된다. (관점에 따라서 다양한 이벤트를 정의할 수 있지만) 이 시간의 흐름에서 기차가 도착하고 출발하는 것을 이벤트라고 정의할때, Station 모델은 기차의 출발 이벤트만을 고려한다. 이는 본 모델의 분석 목적이 혼잡도와 승객의 대기 시간이기 때문이다. 이 분석 목적에 따르면 한 정차역에서 승차하는 승객의 숫자와 하차하는 승객의 숫자가 중요한데 이 숫자는 기차가 출발하는 시점에서 확정된다. 따라서 기차의 출발 이벤트에 따라서 Station 모델의 상태가 변경되게 되며, 다음 Station 모델의 상태를 변경시키기 위해서 출발 이벤트를 전달하는 것이다. 또한, OCCUPIED 상태에 머무를 수 있는 Occupied_Time은 이전 역에서 출발해서 현재 역을 출발하기까지 걸리는 시간으로 정의된다. OCCUPIED 상태에서 Station은 현재 기차에 승차 및 하차 인원을 모의하여 기차의 승차 인원을 변경한다. 승차 인원의 경우 푸아송 과정(Poisson process)으로 승객의 도착을 모의하며, 직전 기차가 출발한 시점(즉, 가장 최근 Departure 이벤트를 발생시킨 시점)에서 현재 기차가 출발할 시점(즉, Occupied_Time에 도달하는 시점)까지의 기간에 도착한 승객의 총수를 기차의 승차 인원에 추가한다. 또한, 각 승객의 도착 시점을 바탕으로 기차를 타기 전까지의 대기 시간을 메시지에 함께 기록한다. 하차 인원의 경우 로그 정규분포(Lognormal distribution)으로 하차 인원을 추정하며, 기차의 승차 인원에서 감한다. 여기서 푸아송 과정의 파라미터 λh와 로그 정규분포의 파라미터 μh 및 σh는 시간에 따라서 달라지는 값이며, Fig. 2에 나타나듯이 실제 도시철도 시스템으로부터 얻어진 승객의 승하차 데이터로부터 도출된다. 이 수집되는 데이터를 바탕으로 파라미터를 계속해서 변경하므로 실제 시스템과 동일성을 유지할 수 있다.

Generator 원자 모델과 Transducer 원자 모델은 Station 원자 모델에 비하면 간단하다. 다음은 두 원자 모델에 대한 DEVS 명세를 나타내고, Fig. 6은 이를 도식화한 다이어그램을 나타낸다.

\(\text { Generator }=\left\langle X, Y, S, \delta_{\text {int }}, \delta_{\text {ext }}, \lambda, \text { ta }\right\rangle\)

\(X=\Phi \\ \)

\(Y=\{\text { Gen_Train }\} \)

\(S=\{\mathrm{GEN}\}\)

\(\delta_{e x t} \): undefined

\(\delta_{\text {int }}((\mathrm{GEN}, \text { Scheduled_Time }))=(\mathrm{GEN}, 0)\)

\(\lambda(\mathrm{GEN})=\text { Gen_Train }\)

\(t a(\mathrm{GEN})=\text { Scheduled_Time }\)

\(\text { Transducer }=\left\langle X, Y, S, \delta_{\text {int }}, \delta_{\text {ext }}, \lambda, t a\right\rangle\)

\(X=\{\text { End_Train }\}\)

\(Y=\Phi\)

\(S=\{\mathrm{DATACOL}\}\)

\(\delta_{e x t}((\text { DATACOL }, \text { e), End_Train })=(\text { DATACOL, } 0)\)

\(\delta_{i n t}\): undefined

\(\lambda\): undefined

\(t a(\mathrm{DATACOL})=\infty\)

MTMDCW_2020_v23n10_1270_f0006.png 이미지

Fig. 6. DEVS Diagrams of Generator and Tranducer atomic models.

Generator는 1개의 출력 이벤트(Gen_Train)를 가지며, 1개의 상태(GEN)를 가진다. GEN 상태에서 머물 수 있는 시간(Scheduled_Time)은 기차 배차 간격을 의미한다. 따라서 Generator는 기차 배차 계획에 따라서 정해진 간격마다 기차를 생성하여 이벤트에 포함된 메시지의 형태로 Station에 전달한다. 여기서 Scheduled_Time은 고정된 값이 아니며, 기차를 생성할 때마다 달라질 수 있는 값이다. Transducer는 1개의 입력 이벤트(End_Train)를 가지며, 1개의 상태(DATACOL)를 가진다. DATACOL 상태에서 외부 입력 이벤트로 End_Train이 입력되게 되면, 이 이벤트 메시지에 포함된 기차의 승객 승하차 이력을 바탕으로 혼잡도와 승객의 대기 시간을 분석한다. 다음 장에서 본 디지털 트윈 시뮬레이션 모델을 활용하는 사례를 제시한다.

4. 디지털 트윈 시뮬레이션 모델의 활용

앞서 제안한 디지털 트윈 시뮬레이션을 활용하기 위해서는 Fig. 2와 같이 부산 도시철도 시스템으로부터 실시간 승하차 정보를 전달받아서 동기화를 해야한다. 즉 이 정보를 바탕으로 시뮬레이션 모델에 필요한 파라미터, 즉 승하차 확률분포 파라미터, 각 Station 모델의 Occupied_Time, Generator 모델의 Scheduled_Time 등을 도출해서 적용한다. 하지만 현재 아쉽게도 실시간 승하차 정보를 전달받는 시스템이 구축되지 않았으므로, 본 논문에서는 이 모델의 활용 사례를 간접적으로나마 보여주기 위해서, 부산도시철도 시스템에 대한 누적된 정보를 활용한다. 정부에서 운영하는 공공데이터포털(www.data.go.kr) 에서 수집한 “2019년 시간대별 승하차인원”[25], “2019년 부산도시철도 열차운행실적”[26], “도시철도 운행정보”[27] 데이터를 바탕으로 시뮬레이션 모델에 필요한 파라미터를 도출하였다. Fig. 7은 Train Sim의 각 Station 원자 모델이 승하차 승객을 모의하는데 필요한 푸아송 과정의 파라미터(λh)와 로그 정규분포의 파라미터(μh, σh)를 도출하는데 사용되는“2019년 시간대별 승하차인원” 데이터의 일부분을나타낸다. 이를 바탕으로 본 장에서는 현재 운영되고 있는 도시철도의 배차 계획에 대한 혼잡도와 승객의 대기시간을 분석하고, 입자 군집 최적화를 통해 혼잡도를 낮출 수 있는 새로운 배차 계획을 도출한다.

MTMDCW_2020_v23n10_1270_f0007.png 이미지

Fig. 7. A small portion of used data to estimate the parameters in the proposed digital twin simulation model[25].

4.1 현재 배차 계획에 대한 혼잡도 및 승객의 대기 시간 분석

부산광역시에는 총 6개의 노선이 운영되고 있으나, 본 논문에서는 가장 승차 인원이 많은 1호선에 대해서 “다대포해수욕장” 역을 출발역으로 “노포”역을 종착역으로 하는 기차의 배차 계획에 대해서 분석하였다. 1호선의 경우 평일과 주말 및 공휴일을 포함하는 휴일의 배차 계획에 차이가 있는데, 본 논문에서는 평일의 배차 계획에 대해서 분석하였다. 이 배차 계획은 총 176대의 기차로 구성되어 있으며, 최대 배차 간격은 16분, 최소 배차 간격은 3분, 평균 배차간격은 약 6.2분이다 [28]. 각 기차에 대해서 역별로 혼잡도를 도출하였으며, 이 혼잡도는 열차 정원(1호선의 경우 970명)에 대한 승차 인원의 비율로 계산되었다. 또한, 승객의 평균 대기 시간을 각 기차 및 역에 대해서 도출하였으며, 이는 각 역에서 한 기차에 승차하는 모든 승객의 대기 시간에 대한 평균으로 정의된다. 즉, Fig. 5에서 1번부터 n번 승객까지의 대기시간에 대한 평균과 동일하다. 시뮬레이션 모델 내의 승객이 확률 분포에 따라서 생성되므로, 동일한 배차 계획에 대해서 분석한다고 하더라도, 매번 시뮬레이션의 결과(혼잡도와 대기 시간)는 다르게 도출된다. 따라서 동일한 배차 계획에 대해서 100번의 반복 시뮬레이션을 통한 평균값을 도출하였으며, 그 결과는 Fig. 8과 Fig. 9에 도시되어 있다.

MTMDCW_2020_v23n10_1270_f0008.png 이미지

Fig. 8. Congestion analysis for the 1st line of Busan railways in a weekday based on the digital twin simulation model.

MTMDCW_2020_v23n10_1270_f0009.png 이미지

Fig. 9. Passengers’average waiting time analysis for the 1st line of Busan railways in a weekday based on the digital twin simulation model.

Fig. 8은 부산 도시철도 1호선의 평일에 배차 계획에 따른 각 기차와 역에 대한 혼잡도를 나타낸다. 혼잡도는 열차 정원에 대한 승차 인원의 비율로 계산되므로 1의 혼잡도는 만원 열차를 의미한다. 1호선의 경우 승차 인원이 많으므로 출발역과 종착역 부근을 제외하고는 전체적으로 혼잡도가 높은 편이다. 특히 이른 아침과 저녁의 출퇴근 시간대는 배차 간격이 짧음에도 불구하고 높은 혼잡도가 유지되는 것을 볼 수 있다. 이러한 높은 혼잡도는 시민들의 불편을 초래하고, 특히 최근 유발된 바이러스의 확산에 큰 위험이 될 수 있다. Fig. 9는 각 기차와 역에 대해서 승객의 평균 대기 시간을 나타낸다. 평균 대기 시간의 경우 배차 간격이 조밀한 출퇴근 시간에는 2분 정도로 유지되는 반면에, 배차 간격이 넓은 낮 및 새벽과 늦은 밤에는 대기 시간이 길어지는 것을 확인할 수 있다. 1호선에 대한 전체적인 평균 대기 시간은 약 3분 정도로 측정되었다.

4.2 입자 군집 최적화를 통한 혼잡도를 낮출 수 있는 배차 계획 도출

디지털 트윈은 Fig. 1에 나타나듯이 분석뿐만 아니라 시뮬레이션 모델을 바탕으로 최적화 및 예측을 통하여 실제 시스템을 제어하는 것에 그 활용 의미가 있다. 본 논문에서는 개발한 시뮬레이션 모델을 바탕으로 입자 군집 최적화 기법을 적용하여 최대 혼잡도를 낮출 수 있는 새로운 배차 계획을 도출하므로 그 활용 의미를 보여준다.

입자 군집 최적화는 새 떼나 물고기 무리 등 군집의 사회적 행동을 모방하여 복잡한 최적화 문제를 해결하기 위해 개발된 메타휴리스틱(Metaheuristic) 알고리즘이다[13]. 단순하지만 최적해로 빠르게 수렴할 수 있고 최적화의 대상이 되는 목적 함수(Objective function)에 영향을 받지 않기 때문에, 반도체 생산 공정 등의 복잡한 현대 산업 시스템에 대한 디지털 트윈 시뮬레이션 모델 기반의 최적화에 효과적으로 활용되고 있다[29]. 입자 군집 최적화에서 군집은 한정된 개수의 입자들로 이루어져 있으며, 탐색 공간(Search space) 내에서 입자들은 각기 특정 해에 대응되는 위치와 속도를 가지고 최적해를 찾기 위해 탐험(Exploration)과 이용(Exploitation)을 반복한다. 입자 군집 최적화의 가장 큰 특징은 군집의 사회적 행동 이론을 적용하여 최적해를 빠르게 찾기 위해 입자들이 서로 간의 정보를 공유하는 것에 있다. 이를 위해서 입자들은 메모리를 가지고 있으며, 이 메모리에 거쳐 간 위치 중 최적의 위치인 개인 최적점(Personal best position)을 저장한다. 그리고 매 반복마다 개인 최적점을 공유하여 개인 최적점중 가장 최적의 위치인 전역 최적점(Global best position)을 도출한다. 이 개인 최적점과 전역 최적점은 입자들이 모이도록 하는 기준으로 작용하며, 각 입자는 개인 최적점과 전역 최적점에 도달할 수 있도록 자신의 속도와 위치를 갱신한다. Algorithm 1은 입자 군집 최적화를 나타내며, Fig. 10은 입자들이 위치와 속도를 가지고 최적해에 수렴하는 예를 나타낸다.

MTMDCW_2020_v23n10_1270_f0010.png 이미지

Fig. 10. An example of optimization using particle swarm optimization.

Algorithm 1: Particle swarm optimization

기본적으로 입자 군집 최적화는 확률적 요소가 존재하지 않는 결정적(Deterministic)인 환경에서 작동하도록 개발되었으나, 본 논문의 시뮬레이션 모델은 확률적 요소를 포함하고 있다. 확률적 환경에서 입자 군집 최적화를 적용하기 위해 다양한 방법들이 제안된 바 있으나, 본 논문에서는 최근에 제안되어 뛰어난 효율성을 나타내는 Choi and Bae [29] 방법을 적용한다. 이 방법은 평균값을 구할 때 사용되는 시뮬레이션 반복 횟수를 효과적으로 할당하는 최적 컴퓨팅 자원 할당(Optimal computing budget allocation)이라는 리샘플링(Resampling) 기법을 적용하므로 입자 군집 최적화에 미치는 확률적 요소의 영향을 최소화한다.

본 논문에서 최적화의 목적은 최대 혼잡도를 낮추는 배차 계획을 도출하는 것이다. 여기서 최대 혼잡도는 Fig. 8에 나타난 값 중에서 최댓값으로 정의된다. 평균 혼잡도가 아닌 최대 혼잡도를 지표로 사용하는 것은 혼잡도의 경우 일정 정도 이상이 되어야 승객에게 불편을 유발하기 때문에, 평균보다 최대 혼잡도가 승객에게 미치는 불편도를 더 잘 반영할 수 있기 때문이다. 최대 혼잡도를 낮추기 위해서 고려해야 할 기차의 배차 계획은 거의 무한한 조합이 있다. 즉 탐색 공간이 굉장히 넓고 고차원이기 때문에, 최적해를 효율적으로 찾기 위해서 탐색 공간을 줄이기 위한 몇 가지 제약을 추가하였다. 첫 번째로 기차의 대수를 고정한다. 기차의 수를 증가시켜 배차 간격을 줄이면 당연히 혼잡도는 줄어들게 되지만 열차의 운용 비용이 동시에 증가하므로 실제로 활용하기 어려운 해가 도출되게 된다. 따라서 의미 있는 배차 계획을 도출하기 위해서 기차의 수를 현재의 배차 계획과 동일한 176대로 고정한다. 두 번째로 열차의 최소 배차 간격을 열차 간 거리 유지 등의 운행 안전을 고려하여 2분으로 정하고, 열차의 최대 배차 간격을 승객의 편의를 고려해서 20분으로 정하였다. 세 번째로 열차의 배차 간격의 최소 시간 단위를 분으로 정한다. 마지막으로 첫차와 막차의 출발 시간은 변경하지 않는다. 이렇게 제약사항을 추가하여도, 탐색 공간은 175차원(176대의 기차이므로, 기차 사이의 간격은 175개가 존재함)의 넓은 공간이다. 넓은 공간을 충분히 탐색하기 위해 5,000개의 입자로 구성된 군집을 구성하였으며, 50번까지 알고리즘 반복을 진행하였다. 입자 군집 최적화의 나머지 파라미터는 표준 설정을 참고하였다.

Fig. 11은 입자 군집 최적화의 알고리즘 반복이 진행되어 감에 따라서 최대 혼잡도가 점점 낮아지는 것을 나타내며, Table 2는 현재 배차 계획과 입자 군집 최적화를 통해 도출된 배차 계획을 비교한다. 도출된 배차 계획은 최대 혼잡도를 1.1433에서 1.1120으로 감소시켰으며, 평균 대기 시간의 경우 큰 영향을 끼치지 않았다. 한편 도출된 배차 계획의 최대 혼잡도가 기존의 배차 계획에 대해서 그렇게 감소 비율이 높지 않은 것은 두 가지 이유로 추정할 수 있다. 첫 번째는 본 최적화 문제의 탐색공간 내에서 가능한 배차 계획의 최대 혼잡도의 최솟값 자체가 높은 경우이며, 두 번째는 넓고 고차원인 탐색공간에서 입자 군집 최적화가 최적의 해를 찾지 못했을 경우이다. 입자 군집 최적화의 경우 찾은 해가 탐색공간 내의 실제 최적해라는 보장을 하지 못하기 때문에, 본 논문에서 찾은 해보다 최대 혼잡도를 더 낮출 수 있는 해가 존재할 가능성이 충분히 있다. 이러한 복잡한 시뮬레이션 기반의 최적화 문제를 해결하기 위해서는 최적화 알고리즘 또한 그 문제에 최적화될 수 있도록 조정이 필요하다. 본 논문에서는 이를 추후 연구로 남겨둔다.

Table 2. Comparison between current train schedule and optimized train schedule by particle swarm optimization

MTMDCW_2020_v23n10_1270_t0002.png 이미지

MTMDCW_2020_v23n10_1270_f0011.png 이미지

Fig. 11. Graph of max congestion of the optimized train schedule versus the iteration number of particle swarm optimization.

본 활용 사례는 비록 누적 데이터를 바탕으로 제시되었지만, 현 배차 계획의 혼잡도와 대기 시간을 분석하고, 입자 군집 최적화를 바탕으로 최대 혼잡도를 최소화하는 최적의 배차 계획을 제시하였다. 이를 바탕으로 향후 Fig. 2와 같이 부산 도시철도 시스템으로부터 실시간 승하차 정보를 전달받아서 동기화가 되었을 때, 디지털 트윈으로서 현재 배차 계획을 분석하고 최적화하여 실제 시스템을 제어하는 데 효과적으로 활용될 수 있을 것이라 기대한다. 

5. 결론

본 논문에서는 부산광역시 도시철도 시스템의 효율적인 운영을 위한 디지털 트윈 시뮬레이션 모델 TrainSim을 개발하였다. 본 모델은 도시철도 시스템의 혼잡도와 승객의 대기 시간을 분석하기 위하여 DEVS를 기반으로 개발되었다. TrainSim은 각 정차역을 묘사하는 Station 원자 모델들, 차량 배차 계획에 따라서 순차적으로 기차를 생성하는 Generator 원자 모델, 그리고 모든 역을 통과한 기차의 승차 데이터를 분석하는 Transducer 원자 모델을 기반으로 결합 모델들이 이들을 감싸는 계층적인 구조를 이루고 있다. 기차는 메시지의 형태로 정의되며, 이 메시지는 Generator에서 배차 계획에 따라 생성되어 기차의 출발 이벤트에 따라서 한 Station에서 다음 Station으로 전달된다. 각 Station에서는 실제 도시철도 시스템의 데이터로부터 추출된 파라미터를 바탕으로 승차 및 하차 인원을 확률적으로 모의하여 기차의 승차 데이터에 반영한다. 정차역을 거치며 누적된 데이터는 Transducer에서 혼잡도와 승객의 대기 시간을 도출하는 데 활용된다. 본 모델의 활용을 보여주기 위해서 부산광역시 1호선에 대한 1년간의 승하차 이력 누적 데이터를 활용하여서 현재 평일 배차 계획에 대한 혼잡도와 승객의 평균 대기 시간을 분석하였으며, 입자 군집 최적화를 활용하여 최대 혼잡도를 낮출 수 있는 새로운 배차 계획을 도출하였다. 비록 누적 데이터로 결과를 도출하였지만, 이 결과는 부산 도시철도 시스템으로부터 승차와 하차에 대한 실시간 데이터를 받아서 TrainSim이 동기화가 가능해질 때 디지털 트윈으로서 시스템의 분석과 최적화에 효과적으로 활용될 수 있음을 입증한다. 추후 연구로 정확도를 높이기 위해서 모델을 고도화하며, 입자 군집 최적화를 통한 최적화에 걸리는 시간을 단축하고 도출된 최적해의 신뢰도를 높이기 위해서 최적화 알고리즘을 TrainSim의 특성에 맞게 개선한다.

References

  1. S.H. Ji, “Technology Trends for the Fourth Industrial Revolution and Manufacturing Robots,” Journal of Korea Multimedia Society, Vol. 21, No. 4, pp. 9-14, 2017.
  2. G.K. Lee, H.D. Yoo, and T.G. Kim, “Digital Twin Technology Development,” Korea Evaluation Institute of Industrial Technology PD Issue Report, Vol. 18, No. 9, pp. 75-97, 2018.
  3. T.G. Kim, “M and S Engineering,” Communications of the Korean Institute of Information Scientists and Engineers, Vol. 25, No. 11, pp. 5-15, 2007.
  4. B.S. Kim, B.G. Kang, S.H. Choi, and T.G. Kim, “Data Modeling versus Simulation Modeling in the Big Data Era: Case Study of a Greenhouse Control System,” Simulation, Vol. 93, No. 7, pp. 579-594, 2017. https://doi.org/10.1177/0037549717692866
  5. H.N. Koutsopoulos and Z. Wang, “Simulation of Urban Rail Operations: Application Framework,” Transportation Research Record: Journal of the Transportation Research Board, Vol. 2006, No. 1, pp. 84-91, 2007. https://doi.org/10.3141/2006-10
  6. J. Wu, M. Liu, H. Sun, T. Li, Z. Gao, and D.Z. Wang, "Equity-based Timetable Synchronization Optimization in Urban Subway Network," Transportation Research Part C: Emerging Technologies, Vol. 51, pp. 1-18, 2015. https://doi.org/10.1016/j.trc.2014.11.001
  7. D. Schmaranzer, R. Braune, and K.F. Doerner, "A Discrete Event Simulation Model of the Viennese Subway System for Decision Support and Strategic Planning," Proceeding of the 2016 Winter Simulation Conference, pp. 2406-2417, 2016.
  8. M.V. Shevlyugin, A.A. Korolev, A.E. Golitsyna, and D.S. Pletney, “Electric Stock Digital Twin in a Subway Traction Power System,” Russian Electrical Engineering, Vol. 90, No. 9, pp. 647-652, 2019. https://doi.org/10.3103/S1068371219090098
  9. J.G. Zuo, Z.M. Wnag, and M.L. Wu, “Simulation Model of Air Braking System for Subway Train,” Journal of Traffic and Transportation Engineering, Vol. 13, No. 2, pp. 42-47, 2013.
  10. Y. Yang, J. Li, and Q. Zhao, “Study on Passenger Flow Simulation in Urban Subway Station Based on Anylogic,” Journal of Software, Vol. 9, No. 1, pp. 140-146, 2014.
  11. Y. Chen, Y. Cai, P. Li, and G. Zhang, "Study on Evacuation Evaluation in Subway Fire Based on Pedestrian Simulation Technology," Mathematical Problems in Engineering, Vol. 2015, pp. 1-10, 2015.
  12. B.P. Zeigler, H. Praehofer, and T.G. Kim, Theory of Modeling and Simulation, Academic Press, Cambridge, 2000.
  13. J. Kennedy and R.C. Eberhart, "Particle Swarm Optimization," Proceeding of the 1995 International Conference on Neural Networks, pp. 1942-1948, 1995.
  14. S.H. Choi, K.M. Seo, and T.G. Kim, “Accelerated Simulation of Discrete Event Dynamic Systems via a Multi-fidelity Modeling Framework,” Applied Sciences, Vol. 7, No. 10, pp. 1-13, 2017.
  15. B.G. Kang, S.H. Choi, S.J. Kwon, J.H. Lee, and T.G. Kim, "Simulation-based Optimization on the System-of-Systems Model via Model Transformation and Genetic Algorithm: A Case Study of Network-centric Warfare," Complexity, Vol. 2018, pp. 1-15, 2018.
  16. J.W. Bae, S.H. Lee, J.H. Hong, and I.C. Moon, “Simulation-based Analyses of an Evacuation from a Metropolis during a Bombardment,” Simulation, Vol. 90, No. 11, pp. 1244-1267, 2014. https://doi.org/10.1177/0037549714551291
  17. I.C. Moon, J.W. Bae, J.S. Lee, D.Y. Kim, H.R. Lee, and T.S. Lee, "EMSSIM: Emergency Medical Service Simulator with Geographic and Medical Details," Proceeding of the 2016 Winter Simulation Conference, pp. 1272-1284, 2016.
  18. T.G. Kim, C.H. Sung, S.Y. Hong, J.H. Hong, C.B. Choi, J.H. Kim, et al., “DEVSim++ Toolset for Defense Modeling and Simulation and Interoperation,” The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology, Vol. 8, No. 3, pp. 129-142, 2010. https://doi.org/10.1177/1548512910389203
  19. aDEVS (2015), http://web.ornl.gov/-1qn/adevs/ (accessed September 18, 2020).
  20. CD++ (2015), http://cell-devs.sce.carleton.ca (accessed September 18, 2020).
  21. DEVSJAVA(2015), http://acims.asu.edu/software/devsjava (accessed September 18, 2020).
  22. DUNIP Technologies(2015), http://www.duniptechnologies.com (accessed September 18, 2020).
  23. Y. Van Tendeloo and H. Vangheluwe, "The Modular Architecture of the Python (P) DEVS Simulation Kernel," Proceeding of the 2014 Symposium on Theory of Modeling and Simulation-DEVS, pp. 387-392, 2014.
  24. J.L.R. Martin, S. Mittal, J.C.F. Jimenez, M. Zapater, and R.H. Correa, “Reconsidering the Performance of DEVS Modeling and Simulation Environments Using the DEVStone Benchmark,” Simulation, Vol. 93, No. 6, pp. 459-476, 2017. https://doi.org/10.1177/0037549717690447
  25. The number of passengers getting on and off by time(2019), https://www.data.go.kr/data/3057229/fileData.do (accessed July 15, 2020).
  26. Train operation records of Busan Urban Railways (2019), https://www.data.go.kr/data/3057438/fileData.do (accessed July 15, 2020).
  27. Train operation information(2019), https://www.data.go.kr/data/15001019/file Data.do (accessed July 15, 2020).
  28. Train time table(2020), https://www.humetro.busan.kr/homepage/english/stationtime/page/view.do?menu_no=10060102 (accessed August 13, 2020).
  29. S.H. Choi and J.W. Bae, "An Effective Adjustment to the Integration of Optimal Computing Budget Allocation for Particle Swarm Optimization in Stochastic Environments," IEEE Access, Vol. 8, pp. 173654-173665, 2020. https://doi.org/10.1109/ACCESS.2020.3025559