|
ちなみに以下の部分を考えてみました。
>最適解の求め方ではありませんが、Sub test2()で出来た隙間3つ(重複部処理必要)に、どれだけ詰められるのか計算をする、と言うように階層を作って行くと、精度を上げられると思いますよ。
>
段ボールケースのサイズ X,Y,Z
商品の箱のサイズ A,B,C
縦、横、奥行き方向の個数 l,m,n
箱詰め済み寸法 Al=x , Bm=y , Cn=z
隙間 X-x=dx , Y-y=dy , Z-z=dz
(1)dx×Y×Zの6方向計算と、X×dy×Zの計算と、X×Y×dzの計算で箱詰め最大値を求める。dx×Y×Zが最大の時は、XYZで出た数量にこれを加え残り2つの隙間の検討を行う。
(2)x×dy×Zの計算とx×Y×dzの計算を比較し大きい方を箱詰め数量に加えて残りの隙間の検討をする。x×dy×Zが大きかったとすると、
(3)残りの隙間は、x×y×dzとして計算する。
当然(1)が最大の時(1)+(2)+(3)が最大になるとは限らないので、隙間の組み合わせ6種について、それぞれ6方向計算すると言う方法の方が良いのか、実際に計算させて計算時間、計算結果差異等を見てみないと分かりません。
6方向計算は、段ボールケース(及び隙間)サイズの受け渡しを管理すれば使い回しが出来るので、必要ならば前述計算式を利用してみてください。
とココまで書いていたのですが、よく考えたら今回は、一度に検討する長さが3種類に限定されるのでもう少し精度の高い計算法があるような気がしてきました。少し考えてみます。
|
|