간호사 근무표 최적화를 위한 문제 구조 활용 유전 알고리즘
초록
본 논문은 영국 대형 병원의 간호사 근무표 작성 문제를 다중 선택 집합 커버링 형태로 모델링하고, 전통적인 유전 알고리즘이 제약을 제대로 다루지 못하는 한계를 극복하기 위해 문제 구조 기반의 협력 서브‑인구(co‑evolution) 전략, 동적 페널티 가중치, 그리고 보상·벌점 시스템을 도입한다. 실험 결과, 이러한 기법들이 기존 GA를 실용적인 수준으로 끌어올려 1분 이내에 최적 혹은 근접 해를 도출함을 보여준다.
상세 분석
이 연구는 간호사 스케줄링을 “다중 선택 집합 커버링” 문제로 정의하고, 각 간호사의 가능한 근무 패턴을 0‑1 벡터(14 차원)로 표현한다. 제약은 (1) 각 간호사가 정확히 하나의 패턴을 선택해야 함(다중 선택 제약)과 (2) 모든 교대에 대해 각 급급별 최소 인원 요구를 만족해야 함으로 구성된다. 이러한 제약은 NP‑hard 특성을 가지며, 기존 정수계획법(IP)이나 시뮬레이티드 어닐링, 탭서치 등으로도 일부 인스턴스만 해결 가능했다.
기본 GA는 개체를 “간호사 × 패턴 인덱스” 문자열로 인코딩하고, 균일 교차와 2 % 변이율을 적용한다. 다중 선택 제약은 인코딩 자체가 보장하지만, 커버링 제약은 페널티 함수로 처리한다. 초기 실험에서는 고정 페널티 가중치가 수렴을 방해하는 문제가 있었으며, 이를 해결하기 위해 위반 제약 수에 비례하는 동적 가중치를 도입하였다(α = 8, v = 5).
핵심 혁신은 문제 구조를 활용한 협력 서브‑인구(co‑evolution) 전략이다. 전체 인구를 급급·근무 유형별 서브‑인구로 분할하고, 각 서브‑인구는 해당 부분 문제(예: 야간 근무, 고급 급급)에 특화된 교차·변이를 수행한다. 이후 서브‑인구 간에 해를 교환함으로써 전역적인 제약 만족을 촉진한다. 이와 더불어 보상·벌점 시스템을 도입해, 간호사의 선호도와 과거 근무 이력에 기반한 패턴 선택을 장려하거나 억제한다. 또한, “지능형 변이” 연산자는 위반이 심한 교대를 우선적으로 수정하도록 설계돼, 탐색 효율을 크게 높인다.
실험은 3개 병동에서 수집한 52개의 실제 데이터와, 동일 인원·패턴이지만 비용(p_ij)을 무작위로 생성한 추가 52개 데이터에 대해 수행되었다. 각 실험을 20번 반복한 결과, 기본 GA는 대부분의 경우 feasible 해를 찾지 못했으나, 서브‑인구와 보상·벌점, 지능형 변이를 결합한 개선된 GA는 90 % 이상에서 최적 혹은 최적에 근접한 해(오차 ≤ 3)를 1분 이내에 도출했다. 이는 기존 탭서치와 비교해 비슷하거나 약간 우수한 성능을 보이며, 특히 비용 가중치가 변동하는 상황에서도 안정적인 탐색이 가능함을 시사한다.
이 논문의 주요 기여는 (1) 복잡한 다중 선택 제약을 자연스럽게 만족시키는 인코딩 설계, (2) 제약 위반을 동적으로 억제하는 페널티 가중치 메커니즘, (3) 문제 구조를 활용한 협력 서브‑인구 전략, (4) 실무 요구를 반영한 보상·벌점 및 지능형 변이 연산자이다. 이러한 요소들은 일반적인 스케줄링·배정 문제에 쉽게 확장될 수 있으며, 제약이 복잡하고 목표가 다중인 실시간 최적화 상황에서도 유전 알고리즘의 적용 가능성을 크게 확대한다.
댓글 및 학술 토론
Loading comments...
의견 남기기