지연 절약 클라우스 생성을 이용한 일반 선행 관계 자원 제한 프로젝트 일정 문제 해결
초록
본 논문은 일반 선행 관계를 포함하는 자원 제한 프로젝트 일정 문제(RCPSP/max)를 정확히 해결하기 위해, 유한 도메인과 부울 SAT을 결합한 지연 절약 클라우스 생성(Lazy Clause Generation, LCG) 기법을 제안한다. 실험 결과, PSPLib의 2,340개 인스턴스 중 2,337개에서 기존 최고 기록을 맞추거나 능가했으며, 미해결 631개 인스턴스 중 573개를 완전 해결하고 나머지 58개 중 51개의 경계도 개선하였다.
상세 분석
RCPSP/max는 작업 간에 최소·최대 시작 시간 차이를 정의하는 일반화된 선행 관계와 동시에 자원 용량 제한을 만족시켜 전체 프로젝트 기간을 최소화하는 NP‑hard 문제이다. 기존 연구에서는 제약 프로그래밍(CP), 혼합 정수 계획법(MIP), 그리고 메타휴리스틱(예: 유전 알고리즘, 시뮬레이션 어닐링) 등을 활용했지만, 최적성 증명과 대규모 인스턴스 처리에서 한계가 있었다. 본 논문은 이러한 한계를 극복하기 위해 LCG라는 하이브리드 솔버를 도입한다. LCG는 CP의 도메인 전파와 SAT의 절충 학습을 결합해, 변수 할당 시 발생하는 충돌을 ‘노구드’(nogood) 형태로 저장하고, 이후 탐색 과정에서 재사용함으로써 불필요한 탐색을 크게 줄인다. 구체적으로, 작업 시작 시각을 정수 변수로 모델링하고, 자원 제한은 전역 카디널리티 제약으로, 일반 선행 관계는 차이 제약(difference constraint)으로 변환한다. 전파 단계에서는 전통적인 영역 감소와 전역 일관성 검사를 수행하고, 충돌 발생 시 SAT 엔코더를 통해 절을 생성한다. 이렇게 생성된 절은 SAT 솔버의 CDCL(Conflict‑Driven Clause Learning) 메커니즘에 의해 관리되어, 동일한 불가능한 부분 탐색을 방지한다. 실험에서는 PSPLib의 표준 2,340개 인스턴스를 대상으로, LCG 기반 솔버가 기존 최고 기록을 99.9% 이상 유지하면서도 평균 해결 시간이 크게 감소했음을 보였다. 특히, 631개의 미해결 인스턴스 중 573개를 완전 최적해로 마감했으며, 나머지 58개 중 51개는 상한·하한 경계를 개선했다. 이는 LCG가 복합 제약 구조와 대규모 탐색 공간을 동시에 효율적으로 다룰 수 있음을 입증한다. 또한, 충돌 학습이 탐색 트리의 깊이를 제한하고, 메모리 사용량을 합리적인 수준으로 유지함으로써, 기존 CP‑only 접근법 대비 높은 확장성을 제공한다는 점도 강조된다.