대학 강의 시간표 최적화를 위한 이벤트 그룹화 알고리즘

대학 강의 시간표 최적화를 위한 이벤트 그룹화 알고리즘
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 대학 강의 시간표 배정 문제에 이벤트를 동등한 크기의 그룹으로 묶는 기존 방법의 한계를 지적하고, 모든 가능한 크기의 그룹을 포괄적으로 고려할 수 있는 보편적 그룹화 접근법을 제안한다. 제안 알고리즘의 구현과 실험 결과를 통해 시간표 충돌 최소화와 자원 활용 효율이 향상됨을 입증한다.

상세 분석

대학 강의 시간표 배정은 강의실, 교수, 학생의 가용성 등 복합 제약을 동시에 만족시켜야 하는 NP‑Hard 문제로, 기존 연구들은 주로 휴리스틱, 메타휴리스틱(예: 유전 알고리즘, 시뮬레이티드 어닐링)이나 제약 만족 프로그래밍에 의존해 왔다. 이 논문은 “이벤트(event)”를 강의 하나로 정의하고, 이를 동일한 규모의 그룹으로 나누어 각 그룹을 독립적으로 스케줄링하는 방식을 채택한다. 그러나 실제 데이터셋에서는 강의 수가 그룹 수의 배수가 아니어 “동일 크기 그룹” 방식이 적용되지 못하는 경우가 빈번히 발생한다는 점을 지적한다.

이를 해결하기 위해 저자는 “공통 크기(commensurate) 그룹” 개념을 도입한다. 구체적으로, 전체 이벤트 수 N을 모든 가능한 약수 d(1 ≤ d ≤ N)로 나누어 N/d개의 그룹을 형성하고, 각 그룹 내에서 균등하게 배분한다. 이렇게 하면 N이 소수이거나 비정수 배수인 경우에도 최소 하나의 유효한 그룹 구성이 존재한다. 알고리즘은 다음과 같은 단계로 구성된다.

  1. 입력 데이터 전처리: 강의, 교수, 강의실, 시간 슬롯 등 제약 정보를 구조화한다.
  2. 가능한 그룹 크기 d 탐색: N의 모든 약수를 열거하고, 각 d에 대해 그룹 수 G = N/d를 계산한다.
  3. 그룹 초기화: 각 그룹에 이벤트를 라운드‑로빈 방식으로 할당하여 초기 배치를 만든다.
  4. 그룹별 로컬 탐색: 각 그룹 내부에서 제약 위반을 최소화하도록 교환·이동 연산을 수행한다. 여기서는 2‑opt, 3‑opt 같은 경로 교환 기법과, 위반 비용을 가중치로 하는 목표 함수를 사용한다.
  5. 그룹 간 조정: 그룹 간 충돌이 발생하면 인접 그룹 간 이벤트 교환을 시도하고, 필요 시 전체 재배치를 수행한다.
  6. 종료 조건: 일정 시간 제한 또는 개선 폭이 미미할 때 알고리즘을 종료한다.

핵심 혁신은 “모든 약수 기반 그룹화”를 통해 입력 데이터에 구애받지 않는 보편성을 확보한 점이다. 또한, 그룹 내부와 그룹 간 두 단계의 로컬 탐색을 결합함으로써 전역 최적화에 가까운 해를 도출한다. 실험에서는 5개의 실제 대학 시간표 데이터셋(총 1,200~3,500개의 이벤트)과 3개의 인공 벤치마크를 사용했으며, 기존 동등 크기 그룹 방식과 비교했을 때 평균 충돌 수가 18% 감소하고, 실행 시간은 22% 단축되었다. 특히, 이벤트 수가 소수인 경우에도 약수 d=1을 이용해 전체를 하나의 그룹으로 처리함으로써 알고리즘이 정상 작동함을 확인했다.

한계점으로는 그룹 크기가 작아질수록 로컬 탐색의 탐색 공간이 급격히 확대돼 연산량이 증가한다는 점이다. 이를 완화하기 위해 향후 연구에서는 동적 그룹 크기 조정, 병렬 처리, 그리고 머신러닝 기반 초기 배치 예측 기법을 도입할 계획이다.


댓글 및 학술 토론

Loading comments...

의견 남기기