因为装箱问题是NP难问题,wiki中的Hardness of bin packing部分有说明。
所谓的FFD算法是指First-fit-decreasing bin packing算法。
但是尝试了很久,使用FFD的方法没有找到过反例,即非最优的解,网上搜索,大部分搜索到的是如下图的求解例子:
自己尝试了几组简单的数字组合的例子,FFD都能找到的都是最优解。
后来尝试查找wiki, 总算找到一个反例了:
当输入的items的size为44, 24, 24, 22, 21, 17, 8, 8, 6, 6.
箱子的capacity为61.
那么可以得到的解为(44,17)(24,24,8)(22,21,8,6)(6),
而实际上,可以得到含有三个箱子的解:(44,8,8)(24,24,6,6)(22,21,17)