그룹 네스팅이 밀도를 희생시키는 이유 — 그리고 Pressria Bridge가 이를 회복하는 방법
하루에 수십 건의 소량 주문을 돌리는 인쇄소는 사실 두 가지를 동시에 원한다. 빽빽한 자재 사용, 그리고 재단 후에도 부품이 주문별로 정렬된 상태로 남는 것. 대부분의 네스팅 도구는 둘 중 하나를 고르게 만든다.
이 글은 그 절충이 왜 존재하는지 — 그 밑에 깔린 기하학 — 그리고 Pressria Bridge(PB)가 어떻게 그 선택을 피하도록 설계되었는지 설명한다.
다중 주문 시트를 네스팅하는 두 가지 방식
서로 다른 여러 디자인이 한 시트에 올라올 때, 네스팅 엔진은 두 갈래 중 하나를 택할 수 있다.
- 전부 흩뿌리기. 모든 부품을 독립적으로 취급하고 실제 형상으로 패킹해 밀도를 최대화한다. 패킹은 빽빽하지만, 한 고객의 부품이 시트 전체에 퍼진다. 재단 후 작업자는 그것들을 찾아내 주문별로 다시 분류해야 한다.
- 주문을 묶어 두기. 각 주문의 부품을 한 블록으로 묶은 뒤 블록 단위로 배치한다. 재단 후 분류는 식은 죽 먹기지만 — 곧 보겠듯이 — 밀도가 떨어진다.
어느 단계도 자동화하지 않는 소프트웨어도 있다. 네스팅 전에 부품을 손으로 선택해 묶는 방식이다. 메커니즘은 다르지만, 묶인 경우의 기하학은 동일하다.
- 전 부품 흩뿌리기 — 최대 밀도, 그러나 주문이 흩어져 → 재단 후 수작업 분류
- 수작업 봉인 그룹 — 주문은 분류 가능하지만, 블록이 헐겁게 패킹돼 → 밀도 손실
- PB: 자동 그룹 + 갭필 — 분류 가능 하면서도 밀도 회복, 자동화된 단일 패스로
봉인된 그룹이 자재를 낭비하는 이유
일단 부품 한 묶음을 고정된 그룹으로 잠그면, 엔진은 더 이상 그 부품들을 개별적으로 움직일 수 없다. 그룹의 외곽 봉투 — 그 실루엣, 또는 가장 단순한 도구에서는 외접 사각형 — 으로 정의되는 하나의 강체 단위로 그룹 전체를 배치해야 한다. 그러면 두 가지 힘이 불리하게 작용하는데, 둘 다 패킹 이론에서 잘 정립된 것이다.
1. 봉투 낭비. 2차원 불규칙 패킹에 대한 리뷰들은, 도형을 둘러싸는(봉투) 폴리곤으로 감싸고 그 봉투를 배치 대상으로 삼으면 밀도가 급격히 떨어진다고 지적한다. 실제 윤곽과 봉투 사이의 모든 공간이 죽은 공간이기 때문이다. 불규칙한 키링 한 블록은 들쭉날쭉한 실루엣을 갖고, 그 가장자리의 오목한 부분은 이웃 블록이 재활용할 수 없다.
2. 자유도 상실. 네스팅은 최적화 문제다. 보통 각 부품은 자신의 위치와 회전을 자유 변수로 제공하며 — 빽빽한 패킹은 바로 그 자유를 활용하는 데서 나온다. 작은 원을 큰 캐릭터의 오목한 곡선에 밀어 넣거나, 두 개의 L자형을 맞물리게 하는 식이다. 부품을 그룹으로 얼리면 그 변수들이 삭제된다. 최적화에 제약을 더하는 것은 달성 가능한 최선의 결과를 결코 높이지 못하며, 거의 항상 낮춘다. 따라서 그룹화된 레이아웃의 상한은 동일한 부품을 자유롭게 배치한 경우보다 엄격히 낮다.
그것이 작업대에서 "큰 블록은 패킹이 나쁘다"로 나타나는 현상이다. 구현 버그가 아니라 — 기하학이다.
클러스터링이라는 단서 — 이론을 인용하기 전에 읽어라
네스팅 연구를 파고들면 클러스터링이 밀도를 높이는 최신 기법으로 설명되는 것을 보게 된다 — 방금 한 말과 정반대다. 두 진술 모두 참인데, 서로 다른 것을 가리키기 때문이다.
문헌에서 말하는 클러스터링은 — 예를 들어 Elkeran의 Guided Cuckoo Search 안의 쌍별(pairwise) 클러스터링은 — 상보적인 형상을 묶는다. 알고리즘이 윤곽이 서로 맞물리는 두 조각, 즉 볼록한 돌출부와 오목한 홈이 맞아떨어지는 쌍을 자동으로 찾아 그 짝을 한 단위로 다룬다. 결합된 형상이 따로일 때보다 더 잘 타일링되기 때문에 밀도가 올라간다.
이는 분류를 위해 동일한 부품을 묶는 것과 다르다. 분류 주도 그룹화는 같은 형상을 반복해서 묶어, 들쭉날쭉하고 타일링이 나쁜 블록을 만든다. 밀도 주도 클러스터링은 타일링이 잘 되기 때문에 일부러 서로 다른 상보적 형상을 묶는다.
그래서 규칙은 이렇다. 형상 맞춤을 위한 클러스터링은 밀도에 도움이 되고, 주문 분류를 위한 그룹화는 밀도를 해친다. PB는 분류를 위해 그룹화하고, 그 비용을 알고 받아들인 다음 — 밀도는 다른 방식으로 회복한다.
PB가 잃어버린 밀도를 회복하는 방법
PB의 네스팅은 Grid+NFP 하이브리드로, 아크릴 키링 워크스루에서 설명한 바로 그 엔진이다. 그룹 네스팅에서는 단일 패스로 두 가지를 한다.
- 주문 수량에 따른 자동 그룹화. 손으로 선택해 묶지 않는다. 수량을 입력하면 PB가 동일 디자인을 응집된 블록으로 클러스터링해, 함께 재단되고 함께 분류되게 한다.
- 개별 부품으로 갭필. 블록이 배치된 뒤, 들쭉날쭉한 실루엣 주변과 사이의 공간을 NFP(No-Fit Polygon) 배치로 개별 부품을 채워 넣는다.
그 두 번째 단계가 회복 메커니즘이며, 인정받은 아이디어에 대응한다. 네스팅 연구는 형상이 결합될 때 생기는 구멍을 내부 적합 폴리곤(IFP)으로 채워 레이아웃 밀도를 높이는 방법을 기술한다. PB는 같은 원리를 생산 수준에서 적용한다 — 봉인된 블록이 남기는 구멍을 비워 두는 대신 실제 부품으로 채운다.
순효과는 이렇다. 그룹화의 분류 이점을 유지하면서, 순수 그룹화라면 버렸을 밀도의 대부분을 되찾는다.
실제 시트에서는 어떻게 보이는가
아래 스크린샷은 실제 PB 결과다. 레이아웃의 두 층에 주목하라. 동일한 디자인은 응집된 블록으로 클러스터링되고 — 슈퍼히어로 피규어, 판다 콘, 여우, 돼지 얼굴 — 그러는 동안 더 작은 자투리 공간, 특히 하단을 따라서는 개별 부품으로 갭필된다.
- 160개 부품 — 여러 디자인을 주문 수량에 따라 자동 그룹화하고, 자투리 공간은 갭필
- 충진율 64.7% — 그룹화를 유지한 상태의 자재 활용률. 부품 사이 컷 간격이 미충진으로 잡히므로 보수적인 수치다
- 17초 — i9-14900K에서의 총 처리 시간
- 600×400mm — 표준 시트 크기
그룹화를 완전히 무시한 레이아웃이라면 충진율을 더 높일 수 있다 — 다만 모든 고객의 부품이 시트 전체에 흩어지고, 재단 후 누군가가 손으로 분류해야 한다. 위 수치는 시트를 분류 가능한 상태로 유지하면서 얻는 밀도이며, 그것이 생산에서 중요한 숫자다.
이것이 무엇이고 — 무엇이 아닌가
과장된 버전은 반증하기 쉬우므로, 정확히 짚어 둘 가치가 있다.
- PB는 그룹화를 무시하는 도구보다 더 빽빽하게 패킹하지 않는다. 오직 시트당 절대 최대 부품 수만이 목표이고 이후에 어떻게 분류되든 상관없다면, 그룹 없는 자유 형상 네스팅이 어떤 그룹화 레이아웃과도 같거나 더 낫다. 자유도 결과는 PB에도 적용된다 — 그룹화에는 언제나 상한이 있다.
- PB가 없애는 것은 그 절충이다. 관습적 워크플로는 밀도와 분류 사이의 선택을 강요한다. PB는 분류를 보존하는 그룹을 제공 하면서, 수작업 선택 없이 자동으로 틈을 채운다.
- 이득은 형상에 따라 다르다. 깊게 오목한 형상으로 가득한 시트는 그룹화 여부와 무관하게 콤팩트한 형상의 시트보다 피할 수 없는 낭비가 더 많다. PB가 기하학을 폐지하는 것은 아니다 — 회복 가능한 공간을 비워 두지 않게 막아 줄 뿐이다.
분류가 비용을 치를 가치가 있는 이유
하루에 수십 건의 주문을 처리하는 1~5인 작업장에서, 실제로 아픈 비용은 보통 자재 몇 퍼센트가 아니라 — 인건비다. 모든 주문의 부품이 흩어진 최대 밀도 시트는 재단 후 분류를 수작업 찾기로 바꿔 놓는다. 그룹화된 시트는 컷터에서 이미 주문별로 정리된 채 나온다.
이것이 밀도만 보는 벤치마크가 흔히 무시하는 생산 현실이다. 올바른 목표는 "시트당 최대 부품 수"가 아니라 — "분류·포장·출고에 드는 인간의 시간을 포함한, 주문당 총비용 최소화"다. 갭필을 갖춘 그룹화는 두 번째 숫자를 최적화하며, 그것이 인쇄소 사장이 실제로 치르는 숫자다.
핵심 정리
분류를 위해 동일 부품을 그룹화하면 밀도를 잃는다. 그것은 봉투 낭비에 자유도 상실이 더해진 것이고, 실재하는 비용이지 — 벤더의 변명이 아니다. 실수는 그 비용을 그룹화를 통째로 버릴 이유로 취급하는 것이다.
PB는 그룹화를 유지하고, 주문 수량에서 자동으로 그것을 구동하며, 주변 틈을 개별 부품으로 채워 밀도 비용을 대부분 회복한다. 결과는 손으로 조판하지 않고 손으로 분류하지도 않는 분류 가능한 시트다 — 바쁜 작업장에게는 그것이 비용을 갚아 주는 버전의 "효율"이다.
참고문헌
- Leao, Toledo, Oliveira, Carravilla & Gomes — Two-dimensional irregular packing problems: a review (봉투 폴리곤 낭비와 내부 적합 폴리곤 구멍 채우기에 관하여).
- Elkeran, A. (2013) — A new approach for sheet nesting problem using guided cuckoo search and pairwise clustering, European Journal of Operational Research (밀도를 높이는 상보적 클러스터링에 관하여).
Pressria Bridge는 네스팅, 칼선 생성, Illustrator 연동을 포함한 인쇄 생산 워크플로를 자동화하는 Windows 데스크톱 애플리케이션입니다. 무료 체험은 pb.pressria.com에서 가능합니다.