如何优化矩形框的选择-PHP

时间:2018-09-28 20:15:04

标签: php math optimization multidimensional-array mathematical-optimization

盒子的计算/体积/大小 我需要将m个大小不同的n个盒子放在另一个矩形盒子中!

基于m个不同大小的n个盒子,如何获得最小的盒子(具有最小的体积)的计算是什么?

我知道盒子m的大小,也知道多少个。 请记住,例如:

两个3 x 3 x 3的盒子

更好地组织在6 x 3 x 3的盒子中

该公式效果很好:

sum of the smallest measure X the largest measure X the other major measure

另一个例子是两个方框:

4 X 5 X 7

6 X 8 X 2

最小度量的总和=(4 + 2)X(8)X(7)

但是,例如,当我们有10个盒子时,这根本不起作用! 如何组织,根据我拥有的盒子的尺寸,最小的盒子的体积是多少?

我不知道这个问题是否只能用基本工具回答(我通过优化(导数)尝试过,但是我做不到)

我需要通过PHP从邮箱进行计算!而且在转换为代码之前我无法在数学上解决问题

我在PHP代码方面没有问题,在数学方面有问题,我不知道如何以最佳方式解决此问题!

我使用了下面的代码,但如前所述,它不适用于很多盒子,仅适用于2或3。

$length = 0;
$height = 0;
$width = 0;

foreach ($products as $key => $product) {
    for ($quantity = 0; $quantity < $product['quantity']; $quantity ++) { 
        $length = $length + (float) $product['dimension'][0];
    }

    if($product['dimension'][1] > $height) {
        $height = (float) $product['dimension'][1];
    }

    if($product['dimension'][2] > $width) {
        $width = (float) $product['dimension'][2];
    }
}

$box = ($length . ' x '. $height . ' x '. $width);

0 个答案:

没有答案