結論から言えば、板取計算にExcelは不向きです。組み合わせ最適化問題のため、専用のアプリが必要です。
マクロがありますから理論上できないわけではありません。しかし、計算量的にも専用のソフトウェアを開発すべきです。関数だけを用いた板取計算はできません。
しかし、これならば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
この場合縦向きにしたほうが歩留まりが良くなります。
実際に作成したExcelシートは次からダウンロードできます。
https://file.tubakurosoft.com/itadori.xlsx
表のイメージ
縦 | 横 | |
原板のサイズ | 1800 | 900 |
部材のサイズ | 400 | 300 |
アサリ寸法 | 3 | |
横置きで部材の採れる枚数 | 8 | |
縦置きで部材の採れる枚数 | 10 |
では、複数種類のサイズの部材を複数種類の原板から板取り(木取り)計算のアルゴリズムを考えてみます。
まずはどの部材を板取りするかを決めます。
板取ソフトをつくろうとして色々検索て出てきたキーワードの一つです。どんな方法だとない頭で頑張って読んでみると数式?(記憶曖昧どこで見たのかは忘れました)なんか入れて大層な解説がしてありましたが結局、大きいやつから採るというだけの話でがっかりしました。
他にはモンテカルロ法というのも見つけましたが、これもまたただの数撃ちゃ当たる戦法でした。また、「遺伝的アルゴリズム」といえばかっこ良く聞こえますが数撃ちゃ当たる戦法で出たマシなパターン同士を掛け合わせ、更に数撃ってみるみたいなものです。
結局、「これだ!」という方法は存在せず、通常は「部材の大きいやつから採れるやつで採る」ことになります。採れるやつとは原板(端材)の一番小さなやつから使っていくということです。これだけで大きな間違いはなさそうな"感じ"になります。
First Fit を基本に、例えば、定尺板のサイズについて
1800 = 900+900
1800 = 600+1200
1800 = 450*4
など部材のどれとどれを組み合わせたらうまく収まるかを割り出します。場合によってはより大きな原板・端材に割り当てたほうが効率が良い場合があります。そして、特に最初の大きな版を切るときには、長手方向から切るのか短手方向から切るかをちょっと考えてみると、のちの効率が変わってきます。
最適解を出すにはすべてのパターンを列挙して比較するしかありません。しかし、上記の通り、部材の枚数が10もあればPCでも無理です。部材が一つ増えるごとに組み合わせパターンは階乗的に増加し、必要な計算時間は宇宙の歴史をも簡単に超えます。よって最適解を出すことは現実的に不可能であり、コンピュータを使っても非常に難しい問題なのです。これが組合せ最適化問題です。そこで数学的な最適解は保証できなくても、実用的な時間で実用的な結果を出すアルゴリズムが模索されます。
PCなら大量のパターンを出して効率の一番よいものを選び出してくれます。しかし、板取パターンは実質無限に存在します。全部出すのは無理ですが、無限だとは言っても「感覚的にこれは違うだろう」がほとんどです。そこをどう取り除くかが板取ソフト・材料取りソフトの重要な品質となります。
自分で研究しなくてもすでに既成品があります。Cutting Plannerならば、慣れた人が手作業で数時間かかる作業も、数秒程度で実用的な結果を出します。30日間無料で使うことができますのでぜひともお試しください。
材料取り計画を作成するには熟練の経験と勘、そして相当な時間が必要です。簡単にできる仕事ではありません。そこで当社は実際の工場作業よって得た経験とコンピュータの長所を融合した、実用的な時間で実用的な結果を出すアルゴリズムを開発いたしました。