Excelでの板取、材料取り計算

板材から効率よく長方形材の部材を切り出すアルゴリズム

ここではパネルソー・シャーリングなどで板材を一直線に切断することを想定しています。

原版から同じサイズの部材が何枚取れるか

話を簡単にするためにまずは1次元(長尺材)かつ同じサイズの部材で考えます

アサリ3mmとして、1800mmから200mmは何本取れるか?

Int((1800 + 3) / (200 + 3)) = 8

IntはExcelなどにある小数点以下を切り捨てる関数として使用しています。

これが2次元(板材)かつすべて同じ向きの部材になると

1800*900mmの原版から400*300の部材が何枚取れるか?

Int((1800 + 3) / (400 + 3)) * Int((900 + 3) / (300 + 3)) = 8

部材の向きを変えて(縦と横を入れ替え)みると

Int((1800 + 3) / (300 + 3)) * Int((900 + 3) / (400 + 3)) = 10

この場合縦向きにしたほうが歩留まりが良くなります。

実際に作成したスプレッドシートが次になります

板取計算

複数サイズの部材を木取る場合

  • ある部材を採るとき、最初に長手方向を切るか短手方向を切るかであとの端材の形が変わります。図を参照。

  • 部材の回転が出来る場合は更にパターンが倍になります。

  • 部材がn枚ある場合採る順番は n! 種類あります。

  • 原版の種類が複数ある場合は(できた端材も同様に考える)どれに部材を割り当てるかで組み合わせがさらに増えます。

First Fit 法

板取ソフトをつくろうとして色々検索て出てきたキーワードの一つです。どんな方法だとない頭で頑張って読んでみると数式?(記憶曖昧 どこで見たのかは忘れました)なんか入れて大層な解説がしてありましたが結局、大きいやつから採るというだけの話でがっかりしました。

他にはモンテカルロ法というのも見つけましたが、これもまたただの数撃ちゃ当たる戦法でした。また、「遺伝的アルゴリズム」といえばかっこ良く聞こえますが数撃ちゃ当たる戦法で出たマシなパターン同士を掛け合わせ、更に数撃ってみるみたいなものです。

結局、「これだ!」という方法は存在せず、通常は「部材の大きいやつから採れるやつで採る」ことになります。採れるやつとは原版(端材)の一番小さなやつから使っていくということです。これだけで大きな間違いはなさそうな "感じ" になります。

更に上を目指す

First Fit を基本に、

例えば、定尺板のサイズについて

1800=900+900

1800=600+1200

1800=450*4

など部材のどれとどれを組み合わせたらうまく収まるかを割り出します。場合によってはより大きな原版・端材に割り当てたほうが効率が良い場合があります。 そして、特に最初の大きな版を切るときには、長手方向から切るのか短手方向から切るかをちょっと考えてみると、のちの効率が変わってきます。

大量のパターンを生成して選び出す

PCなら大量のパターンを出して効率の一番 よいものを選び出してくれます。パターンは無限に存在します。全部出すのは無理ですが、無限と言っても「感覚的にこれは違うだろう」がほとんどです。そこをどう取り除くかが板取ソフト・材料取りソフトの重要な品質になります。

4. これは組合せ最適化問題です

最適解を出すにはすべてのパターンを列挙して比較するしかありません。しかし、上記の通り、部材の枚数が10もあればPCでも無理です。部材が一つ増えるごとに組み合わせパターンは階乗的に増加し、計算時間は宇宙の歴史をも簡単に超えます。これが組合せ最適化問題です。そこで数学的な最適解は保証できなくても、実用的な時間で実用的な結果を出すアルゴリズムが模索されます。

5. 板取計算にExcelは不向き、専用のアプリが必要です

マクロがありますからできないわけではありません。しかし、計算量的にも専用のソフトウェアを開発すべきです。関数だけを用いた板取計算はできません。

自分で研究しなくてもすでに既成品があります。Cutting Plannerならば、慣れた人が手作業で数時間かかる作業も、数秒程度で実用的な結果を出します。30日間無料で使うことができますのでぜひともお試しください。

材料取り計画を作成するには熟練の経験と勘、そして相当な時間が必要です。簡単にできる仕事ではありません。学術的にはこれは「組合せ最適化」と呼ばれる問題です。最適解を保証するにはすべてのパターンを摘出して選び出すしかありません。切り出しパターンは部材、原板の種類がひとつ増えるごとに階乗的に増加し、すべてを列挙すると実質的に無限になります。よって最適解を出すことは現実的に不可能であり、コンピュータを使っても非常に難しい問題なのです。そこで当社は実際の工場作業よって得た経験とコンピュータの長所を融合した、実用的な時間で実用的な結果を出すアルゴリズムを開発いたしました。