装箱算法(bin-packing algorithm),理学-计算机科学技术-计算机科学理论-算法-近似算法,复杂的离散组合最优化问题。举例说明:给定个物体集合,每个物体,体积为。有一批同型号、容量都为的箱子。最少需要多少个箱子,才能将中物体都装入箱内,且每个箱子装入物体的体积总和不超过箱子容量?装箱问题是NP-难解的,这里考虑解答装箱问题的首次适合(first-fit; FF)算法。设想开始时,有若干待用的空箱子,其容量都为。按某种顺序将S中的物体装入箱子中,并且总将装入第一个可装它的箱子中,直到将中元素装完为止。算法:式中,为物体及其体积;为箱子容量。①将S中的物体排序,得到主次表。②自标号1到标号逐个将中的物体装入箱子中,物体装入箱子内,当且仅当所有标号小于j的物体都已装入箱子,且箱子中已装入物体的体积和加上超过,且箱子已装入物体的体积和加上不超过。首次适合算法具体描述如下。算法执行过程只是对主次表进行一次扫描,因而若不计生成主次表时间,只需就可完成。关于首次适合算法的性能估计有下述定理。定理1:对于装箱问题的任意实例及任意确定的主次表,首次适合算法的近似性能比满足:。