假设一个长方体已,和分别为其长度、宽度和高度,其中; 现在我们要切割变成更小的长方体, 宽度和身高分别,其中,,和.
如何设计一种算法来获得尽可能多的更小的长方体,并给出所有可行的切割方法。
例如,当, 和一个最优解是:最多6个小长方体,典型的切割模式:
假设一个长方体已,和分别为其长度、宽度和高度,其中; 现在我们要切割变成更小的长方体, 宽度和身高分别,其中,,和.
如何设计一种算法来获得尽可能多的更小的长方体,并给出所有可行的切割方法。
例如,当, 和一个最优解是:最多6个小长方体,典型的切割模式:
这个问题看起来像是切料问题的一个变种。总体思路是设置一个优化问题,该问题对几何约束(在您的情况下为长方体形状)和目标(最大化长方体数量)进行编码。在造纸行业,经典的例子是一维裁切库存问题,您尝试将一卷纸裁切成各种长度以满足各种产品的需求,同时最大限度地减少纸张浪费(因为余料不能作为产品出售) . 一维切削库存问题是一个混合整数线性程序,如果您的实例也是混合整数,我不会感到惊讶。