직교 2차원 배낭 문제 사각형 빈에 정사각형 포장을 위한 PTAS와 6/5 근사 알고리즘
본 논문은 이익이 부여된 정사각형들을 직사각형 빈에 넣어 총 이익을 최대화하는 2차원 배낭 문제를 다룬다. 저자들은 먼저 “큰 자원”(높이가 너비보다 충분히 큰) 직사각형 빈에 가중 정사각형을 포장하는 PTAS를 설계하고, 이를 이용해 일반 이익 정사각형 배낭 문제에 대해 6/5 + ε 근사 비율을 보장하는 알고리즘을 제시한다. 핵심 아이디어는 이익과 크기를 제한된 클래스들로 라운딩하고, 큰 정사각형은 코너 포장, 작은 정사각형은 사각형을 직사…
저자: Xin Han, Kazuo Iwama, Guochuan Zhang
1. 서론 및 문제 정의
논문은 이익이 부여된 정사각형들의 부분집합을 하나의 직사각형 빈에 넣어 총 이익을 최대화하는 2차원 정사각형 배낭 문제를 다룬다. 이 문제는 아이템이 무게가 아닌 면적(또는 이익)과 크기로 표현되는 전통적인 2차원 배낭 문제와 달리, 빈이 반드시 단위 정사각형일 필요가 없다는 점에서 새로운 난이도를 가진다. 저자들은 이 문제의 강한 NP‑hard성을 언급하고, 기존 연구(Jansen & Zhang, Caprara & Monaci 등)의 근사 알고리즘이 주로 단위 빈 또는 특정 형태의 빈에 국한돼 있었음을 지적한다.
2. 관련 연구 정리
관련 연구에서는 (i) 정사각형을 단위 빈에 포장하는 PTAS, (ii) 직사각형을 단위 빈에 포장하는 2‑approximation, (iii) 다중 배낭 문제에 대한 PTAS 등이 제시되었다. 특히, Fishkin et al.과 Han et al.이 제시한 정사각형 PTAS는 이 논문의 첫 단계인 “큰 자원” 빈에 대한 PTAS와 직접적인 연관이 있다. 그러나 기존 알고리즘은 빈이 가로·세로가 동일하거나, 아이템이 무게와 동일한 경우에만 적용 가능했으며, 일반 직사각형 빈에 대한 근사 비율은 알려지지 않았다.
3. 주요 결과 및 기법 개요
저자들은 두 가지 주요 결과를 제시한다.
- (A) “큰 자원” 직사각형 빈(높이가 너비보다 충분히 큰)에서 가중 정사각형을 포장하는 PTAS.
- (B) 위 PTAS를 활용해 일반 직사각형 빈에 이익 정사각형을 포장하는 6/5 + ε 근사 알고리즘.
핵심 아이디어는 입력을 제한된 수의 이익·크기 클래스로 라운딩하고, 각 클래스별로 아이템 수를 정밀히 추정한 뒤, 큰 아이템은 코너 포장, 작은 아이템은 블록 분할 후 스트립 포장 기법을 적용하는 것이다.
4. PTAS 설계 상세 (섹션 2)
① 라운딩 및 추정: 아이템의 이익을 (1+ε)ⁱ 형태로 O(ε⁻¹·log n)개의 클래스로 묶고, 각 클래스 내 크기도 (ε⁻¹)개의 구간으로 제한한다. 이 과정에서 전체 이익의 O(ε)만 손실된다.
② 서브리스트 생성: 라운딩된 인스턴스에서 가능한 서브리스트를 O(n^{ε⁻³})개 생성한다. 각 서브리스트는 “가능한 최적 해”와 (1‑O(ε))·OPT 이상의 이익을 보장한다.
③ 빈별 아이템 배분: 각 서브리스트에 대해 아이템을 빈에 배분한다. 아이템 수가 작으면 완전 탐색, 많으면 (1+ε)·ε·k/c 형태의 근사값으로 그리드화한다.
④ 스트립 포장 적용: 각 빈에 대해 폭 1인 스트립에 대해 APTAS(Lemma 4)를 적용해 높이 (1+ε)·OPT + O(1/ε²) 이하로 포장한다.
5. 일반 직사각형 빈에 대한 6/5 + ε 근사 (섹션 3)
큰 정사각형이 적은 경우를 “코너 포장”이라 부른다. 큰 정사각형을 빈의 네 모서리에 차례로 배치하면 남은 영역이 L‑shape 혹은 복합 폴리곤이 된다. 이 폴리곤을 직사각형 블록으로 분할하고, 각 블록에 대해 다중 배낭 기법(
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기