더해서 나누면 왜 모자라나
필요한 조각 길이를 전부 더하고 원장 길이로 나눈 뒤 올림하면 최소 장수가 나옵니다. 이 값은 절대 넘어설 수 없는 하한선이지만, 실제로 그 장수로 끝나는 경우는 드뭅니다. 두 가지가 빠져 있기 때문입니다.
첫째는 자투리입니다. 2440mm 원장에서 760mm 조각을 뽑으면 세 개가 나오고 160mm가 남습니다. 이 160mm는 다른 조각을 넣기에 짧다면 그냥 버려지는 길이입니다. 조각 길이가 원장 길이의 약수에 가까울수록 자투리가 줄고, 어중간할수록 늘어납니다.
둘째는 톱날입니다. 자를 때마다 톱날 두께만큼이 톱밥이 되어 사라집니다. 테이블쏘 기준 3mm 정도인데, 조각을 스무 번 자르면 60mm가 없어집니다. 760mm 조각 세 개를 뽑는 계산도 760 × 3 = 2280이 아니라 760 × 3 + 3 × 2 = 2286이 되어야 맞습니다.
커프를 왜 조각 수보다 하나 적게 세나
이 계산기는 한 원장에 조각 n개를 넣을 때 커프를 n−1번만 뺍니다. 처음 보면 인색해 보이지만 실제 작업 순서를 따라가 보면 맞는 계산입니다.
2440mm 원장에서 600mm 조각 네 개를 뽑는다고 해 봅시다. 원장 끝에서 600mm를 재고 자릅니다(1번 절단). 다시 600을 재고 자릅니다(2번). 또 자릅니다(3번). 이제 남은 부분이 대략 600mm를 조금 넘는데, 여기서 네 번째 조각은 더 자를 필요 없이 원장의 원래 끝면을 그대로 씁니다. 절단은 세 번이고 커프도 세 번분입니다.
다만 예외가 있습니다. 남은 자투리를 따로 떼어 보관하려고 마지막에 한 번 더 자른다면 커프가 n번 들어갑니다. 그리고 원장 끝이 상해 있어 처음에 한 번 다듬는다면 그것도 별도입니다. 계산기의 "원장 끝 손질 여유"가 이 몫을 받는 칸이고, 여기에 톱날 두께를 더한 값을 넣으면 실제와 맞습니다.
배치 방식: 긴 것부터 넣는 이유
조각을 원장에 나눠 담는 문제는 수학에서 빈 패킹(bin packing)이라고 부르는 오래된 문제입니다. 이름은 거창하지만 여행 가방에 짐을 나눠 담는 것과 똑같습니다.
가장 널리 쓰이는 방법이 First Fit Decreasing입니다. 조각을 긴 것부터 정렬한 뒤, 하나씩 꺼내 들어갈 수 있는 첫 번째 원장에 넣고, 어디에도 안 들어가면 새 원장을 꺼냅니다. 짧은 조각은 뒤에 남겨 두었다가 여기저기 생긴 틈을 메우는 데 쓰는 셈입니다. 반대로 짧은 것부터 넣으면 앞쪽 원장이 잔챙이로 가득 차고 긴 조각이 갈 곳을 잃어 원장이 훨씬 많이 듭니다.
| 방식 | 결과 | 언제 쓰나 |
|---|---|---|
| First Fit Decreasing | 대개 최소치에 한두 장 이내 | 기본값. 자재를 아끼는 것이 목적일 때 |
| First Fit (적은 순서 그대로) | FFD보다 조금 더 씀 | 도면 순서대로 잘라야 헷갈리지 않을 때 |
| 완전 탐색 | 진짜 최소 | 조각이 열 개 남짓일 때만 현실적 |
근사라는 말의 뜻
FFD가 내놓는 장수는 이론상 최적해의 약 1.22배를 넘지 않는다는 것이 증명되어 있습니다. 원장 열 장이 최소인 문제라면 최악의 경우에도 열두세 장 안에서 끝난다는 뜻입니다. 실제 목공 물량처럼 조각 종류가 몇 안 되는 경우에는 대부분 최적해와 같거나 한 장 차이입니다.
그래도 최적이라고 부를 수는 없습니다. 진짜 최소를 구하려면 가능한 모든 조합을 따져 봐야 하는데, 조각이 스무 개만 넘어가도 경우의 수가 감당할 수 없이 늘어납니다. 그래서 산업용 재단 프로그램조차 대부분 이런 휴리스틱을 쓰거나, 쓴다 해도 시간 제한을 두고 적당한 선에서 멈춥니다. 화면에 나온 장수는 "이 정도면 충분하고 대개 이보다 크게 좋아지지 않는다"는 답이지 "이보다 적을 수 없다"는 답이 아닙니다.
자투리를 줄이는 실전 요령
계산 결과가 마음에 안 들 때 손댈 수 있는 곳은 세 군데입니다.
조각 길이를 조금 조정합니다. 원장 2440에서 800짜리를 세 개 뽑으면 커프 때문에 아슬아슬하게 안 들어갑니다. 795로 5mm만 줄여도 세 개가 들어가면서 원장 한 장이 통째로 절약되는 일이 흔합니다. 설계 치수에 여유가 있는지 먼저 봅니다.
다른 길이의 조각과 짝을 짓습니다. 1200을 두 개 뽑으면 40mm가 남지만, 1200 하나에 600 두 개를 넣으면 자투리가 훨씬 줄어듭니다. 여러 부재를 한꺼번에 넣고 계산해야 이런 조합이 잡힙니다. 프로젝트를 부재별로 나눠 계산하면 이 기회를 놓칩니다.
원장 규격을 바꿉니다. 같은 목재라도 2440과 3600 두 규격이 있다면 조각 길이에 따라 유리한 쪽이 다릅니다. 두 번 계산해서 총 길이 기준으로 어느 쪽이 싼지 비교해 보면 됩니다.
목재소에 맡길 때 알아 둘 것
재단을 목재소에 맡기면 절단 한 번에 요금이 붙는 경우가 많습니다. 이때는 원장 장수만 줄이는 것이 능사가 아니라 절단 횟수도 함께 봐야 합니다. 원장 한 장을 아끼려고 절단이 다섯 번 늘어나면 손해일 수 있습니다.
또 목재소의 패널쏘는 톱날이 두꺼워 커프가 4mm에 가깝고, 재단 오차도 ±1mm 정도는 감안해야 합니다. 조각들을 이어 붙여 정확한 전체 길이를 맞춰야 하는 작업이라면 한 조각 정도는 여유 있게 잘라 두었다가 현장에서 다듬는 편이 안전합니다.
이어서 볼 만한 계산
면적 단위로 자재를 잡는 작업은 바닥재 계산기, 타일 계산기, 벽지 계산기, 페인트 계산기가 각각 맡고 있고, 공사 전체 비용의 윤곽은 인테리어 예산 계산기에서 잡습니다. 집을 손보는 항목별 시세가 궁금하면 집수리 비용 가이드를 함께 보세요.
자주 묻는 질문
계산기가 알려 준 장수보다 더 적게 나올 수도 있나요?
있습니다. 이 계산은 최적해를 보장하지 않는 근사 방식이라 조합을 손으로 바꿔 보면 한 장이 줄어드는 경우가 가끔 있습니다. 특히 조각 종류가 두세 가지뿐이고 개수가 많을 때 그렇습니다. 다만 대부분의 실제 물량에서는 이 결과가 최소치와 같거나 한 장 차이이고, 손으로 더 파고들 때 아끼는 자재비보다 들이는 시간이 더 클 때가 많습니다.
커프를 0으로 두면 어떻게 되나요?
절단 손실을 완전히 무시하고 조각을 붙여서만 배치합니다. 레이저 커팅처럼 손실이 거의 없는 경우나, 톱날 두께를 이미 조각 길이에 포함해 넣은 경우에 씁니다. 일반적인 톱질에서 0으로 두면 딱 맞아떨어지는 조합이 실제로는 마지막 조각이 몇 밀리미터 모자라 안 들어가는 사태가 생기니 주의하세요.
가로세로 둘 다 잘라야 하는 합판은 어떻게 하나요?
이 계산기로는 정확히 다룰 수 없습니다. 넓은 판을 두 방향으로 나누는 문제는 어느 방향을 먼저 자르느냐에 따라 결과가 완전히 달라지는 별개의 문제입니다. 실무에서는 보통 긴 방향으로 먼저 켠 뒤 각 띠를 다시 자르는데, 그 경우라면 띠 하나하나를 이 계산기의 원장으로 놓고 한 번씩 돌려 보는 방법이 쓸 만합니다.
자투리를 다음 작업에 쓰려면 어떻게 관리하나요?
결과 표의 "끝에 남는 길이" 칸이 원장별 자투리입니다. 이 중 쓸 만한 길이를 다음 프로젝트의 조각 목록에 원장으로 넣어 다시 돌리면 재고를 활용한 계산이 됩니다. 다만 자투리를 따로 떼어 보관하려면 절단이 한 번 더 들어가니 실제 길이는 표시값에서 톱날 두께만큼 빠진다고 보면 맞습니다.
조각을 몇 개까지 넣을 수 있나요?
줄은 40개, 조각은 모두 합쳐 300개까지입니다. 그보다 많으면 앞에서부터 300개까지만 배치하고 안내가 뜹니다. 대량 물량은 길이가 같은 조각끼리 묶어 별도로 계산한 뒤 장수를 더하는 편이 검산도 쉽고 실제 재단 순서와도 맞습니다.