包裹机箱中包裹拟合算法

Fitting parcel in parcel machine box algorithm

提问人:Viacheslav Ravdin 提问时间:7/8/2023 更新时间:7/8/2023 访问量:40

问:

昨天我问了另一个问题,发现有一个垃圾箱包装问题,目前没有解决方案。

因此,我决定重新表述我的问题,使其更具针对性,并再次提出问题。

我有一台包裹机,里面有 3 种不同类型的箱子:

Array(
    "S" => Array(
        "width" => 380,
        "length" => 640,
        "height" => 90,
    ),
    "M" => Array(
        "width" => 380,
        "length" => 640,
        "height" => 190,
    ),
    "L" => Array(
        "width" => 380,
        "length" => 640,
        "height" => 390,
    ),
);

我还有一个包裹,里面有 N 个盒子,每个盒子都有已知的尺寸:

Array(
    "PRODUCT_1" => Array(
        "width" => $x1,
        "length" => $y1,
        "height" => $z1,
    ),
    "PRODUCT_2" => Array(
        "width" => $x2 ,
        "length" => $y2 ,
        "height" => $z2,
    ),
    ...
    "PRODUCT_N" => Array(
        "width" => $xN ,
        "length" => $yN ,
        "height" => $zN,
    ),
)

有没有办法确定我的包裹适合哪个包裹机箱?

php 数学 bin-packing

评论


答:

0赞 Viacheslav Ravdin 7/8/2023 #1

我花了两天时间在谷歌上搜索,最后我找到了一个满足我需求的小型 PHP 库:https://boxpacker.io/en/stable/

非常感谢Doug Wright!