Abstract
Crew scheduling is the problem of pairing crews with each of the vehicles in operation during a certain period of time. A typical procedure of crew schedule optimization consists of enumerating all possible pairings and then selecting the subset which can cover all the operating vehicles, with the goal of minimizing the number of pairings in the subset. The linear programming approach popularly adopted for optimal selection of pairings, however, is not applicable when the objective function cannot be expressed in a linear form. This paper proposes a method of integrating integer programming and heuristic search to solve difficult crew scheduling problems in which the objective function cannot be expressed in linear form and at the same time the number of crews available is limited. The role of heuristic search is to improve the incomplete solution generated by integer programming through iterative repair. Experimental results show that our method outperforms human experts in terms of both solution quality and execution time when applied to real world crew scheduling Problems which can hardly be solved by traditional methods.
승무일정계획이란 특정 기간동안 운행할 차량들을 대상으로 각 차량마다 필요로 하는 승무원을 배정하는 계획을 말한다. 최적 승무일정계획의 수립은 일반적으로 가능한 모든 종류의 개별 근무표들을 생성한 다음 이들을 대상으로 투입 승무원의 수가 최 소화 될 수 있는 최적조합을 선정하는 방식으로 이루어지고 있다. 근무표 최적조합의 선정을 위한 종래의 기법들은 주로 선형계획법에 기반을 두고 있으나, 목적함수에 선형식으로 표현하기 어려운 요소가 포함되어 있을 경우 적용이 어렵다는 문제가 있다. 본 논문은 선형식으로 표현하기 어려운 목적함수를 포함할 뿐만 아니라 동원 가능한 승무원의 수가 제한되어 있는 경우에도 계획 수립이 가능하도록, 기존의 정수계획법에 휴리스틱 탐색기법을 결합하는 방안을 제시한다. 휴리스틱 탐색은 정수계획법에 의해 일차로 도출된 계획의 불완전한 부분을 교정하기 위해 반복적 개선 탐색을 수행하는 방식으로 이루어진다. 기존의 방법으로 해결이 어려운 실제 현장의 승무일정계획 문제를 대상으로 한 실험 결과, 본 논문의 방법은 전문가의 수작업 결과보다 더 좋은 수준의 계획을 빠른 시간 내에 수립할 수 있음을 확인하였다.