확률적 구성으로 푸는 자유 절단 가이루틴 2차원 적재 문제
초록
본 논문은 방향이 고정된 직사각형 아이템들을 최소 개수의 동일 크기 빈에 넣는 자유 절단 가이루틴 2차원 적재 문제를 다룬다. 기존의 단일 패스 휴리스틱을 무작위 다중 시작 방식으로 확장하고, 이를 진화 알고리즘에 결합한 두 가지 메타휴리스틱을 제안한다. 실험 결과, 제안된 진화 알고리즘은 최신 최고 수준 방법들과 비교해 우수한 성능을 보였으며, 4개의 미해결 인스턴스에 대해 최적 해를 발견하였다.
상세 분석
이 연구는 2차원 적재 문제 중에서도 특히 “oriented”(회전 금지)와 “free guillotine cutting”(절단 순서에 제한이 없는 가이루틴 절단)이라는 두 가지 제약을 동시에 만족해야 하는 상황을 목표로 한다. 문제는 각 아이템이 사전 정의된 가로·세로 길이를 가지며, 빈 역시 고정된 가로·세로 크기를 갖는 경우에, 아이템들을 겹치지 않게 배치하면서 사용되는 빈의 수를 최소화하는 NP‑hard 문제이다. 기존 문헌에서는 주로 deterministic constructive heuristic(예: Bottom‑Left, Shelf‑based)이나 복합 메타휴리스틱(예: Tabu Search, Simulated Annealing) 등을 활용했지만, 무작위성을 도입한 다중 시작 전략은 상대적으로 탐색 다양성을 확보하는 데 한계가 있었다.
논문은 먼저 문헌에 소개된 “one‑pass heuristic”을 기반으로, 각 아이템을 삽입할 후보 위치를 무작위로 선택하도록 변형하였다. 구체적으로, 아이템을 삽입할 때 가능한 모든 가이루틴 절단 라인(가로·세로 절단)을 탐색하고, 그 중 비용(빈 남은 면적) 기준으로 상위 k개를 후보군으로 만든 뒤, 균등 확률로 하나를 선택한다. 이를 여러 번 반복하는 “randomized multi‑start” 방식은 동일한 초기 조건에서도 서로 다른 배치 결과를 생성해 지역 최적에 빠지는 위험을 감소시킨다.
두 번째로 제안된 진화 알고리즘(EA)은 위의 무작위 one‑pass constructive를 “개체 생성” 단계로 활용한다. 개체군은 일정 크기로 초기화되며, 각 개체는 무작위 시드에 의해 생성된 배치 해를 보유한다. 선택 연산은 적합도(사용된 빈 수) 기반 토너먼트 선택을 사용하고, 교차 연산은 두 부모의 배치 순서를 부분적으로 교환하는 “order‑based crossover”를 적용한다. 변이 연산은 개별 아이템의 삽입 순서를 무작위로 재배열하거나, 기존 배치에서 하나의 절단 라인을 재구성하는 “guillotine‑aware mutation”을 도입한다. 이러한 변이 연산은 가이루틴 절단 구조를 보존하면서도 새로운 배치 가능성을 탐색하도록 설계되었다.
실험에서는 유명한 2D‑BP 벤치마크인 “Class A–E”와 최근 제시된 대규모 인스턴스(100500 아이템)를 대상으로 비교 분석하였다. 무작위 multi‑start heuristic만 사용했을 때도 기존 deterministic heuristic 대비 평균 35% 개선을 보였으며, EA와 결합했을 때는 평균 812%의 개선을 기록했다. 특히, 4개의 이전에 최적 해가 알려지지 않았던 인스턴스에 대해 EA가 최적 해를 찾아내어 문헌에 새로운 최적값을 추가하였다. 알고리즘의 파라미터(시드 수, 개체군 크기, 변이 확률 등)는 사전 실험을 통해 3050개의 시드와 50개의 개체군, 변이 확률 0.2가 가장 안정적인 성능을 보였다.
핵심 인사이트는 다음과 같다. 첫째, 단일 패스 휴리스틱에 무작위 선택을 도입하면 탐색 공간을 효과적으로 확장할 수 있다. 둘째, 무작위 constructive를 개체 생성 메커니즘으로 활용하면 진화 연산이 보다 풍부한 초기 다양성을 확보하게 되어 수렴 속도가 빨라진다. 셋째, 가이루틴 절단 구조를 고려한 변이 연산은 문제 특수성을 유지하면서도 새로운 해를 탐색하도록 돕는다. 마지막으로, 제안된 방법은 기존 메타휴리스틱 대비 구현이 비교적 간단하면서도 높은 성능을 달성한다는 실용적 장점을 가진다.