​This book presents practical algorithms for solving a wide variety of cutting and packing problems from the perspective of combinatorial optimization. Problems of cutting and packing objects in one-, two-, or three-dimensional space have been extensively studied for many years because of numerous real applications--for instance, in the clothing, logistics, manufacturing, and material industries. Cutting and packing problems can be classified in three ways according to their dimensions: The one-dimensional problem is the most basic category of problems including knapsack problems, bin packing problems, and cutting stock problems, among others. The two-dimensional problem is a category of geometric problems including rectangle packing problems, circle packing problems, and polygon packing problems, among others. The three-dimensional problem is the most difficult category of problems and has applications in container loading, cargo and warehouse management and so forth. Most of these variants are NP-hard, since they contain as a special case the knapsack problem or the bin packing problem, which are already known to be NP-hard. Therefore, heuristics and metaheuristics are very important to design practical algorithms for these problems. We survey practical algorithms for solving a wide variety of cutting and packing problems in this book.
Another feature of cutting and packing problems is the requirement to develop powerful geometric tools to handle the wide variety and complexity of shapes that need to be packed. We also survey geometric properties and tools for cutting and packing problems in the book.