Rectangle blanket problem: Binary integer linear programming formulation and solution algorithms
|Başlık||Rectangle blanket problem: Binary integer linear programming formulation and solution algorithms|
|Publication Type||Journal Article|
|Year of Publication||2019|
|Authors||Demiröz, B. Evrim, K. I. Altinel, and L. Akarun|
|Journal||European Journal of Operational Research|
|Anahtar kelimeler||Branch-and-price, Computer vision, Cutting /Packing, Heuristics, integer programming|
A rectangle blanket is a set of non-overlapping axis-aligned rectangles, used to approximately represent the two-dimensional image of a shape. The use of a rectangle blanket is a widely considered strategy for speeding-up the computations in many computer vision applications. Since neither the rectangles nor the image have to be fully covered by the other, the blanket becomes more precise as the non-overlapping area of the image and the blanket decreases. In this work, we focus on the rectangle blanket problem, which involves the determination of an optimum blanket minimizing the non-overlapping area with a given image subject to an upper bound on the total number of rectangles the blanket can include. This problem has similarities with rectangle covering, rectangle partitioning and cutting/packing problems. The image replaces an irregular master object by an approximating set of smaller axis-aligned rectangles. The union of these rectangles, namely, the rectangle blanket, is neither restricted to remain entirely within the master object, nor required to cover the master object completely. We first develop a binary integer linear programming formulation of the problem. Then, we introduce four methods for its solution. The first one is a branch-and-price algorithm that computes an exact optimal solution. The second one is a new constrained simulated annealing heuristic. The last two are heuristics adopting ideas available in the literature for other computer vision related problems. Finally, we realize extensive computational tests and report results on the performances of these algorithms.