簡體   English   中英

查找完全覆蓋矩形集所需的最少固定大小矩形的算法

[英]Algorithm for finding the fewest fixed size rectangles required to completely cover set of rectangles

我在不同的位置有一個大小不同的矩形的集合-我們將其稱為“集合A”。

目標是生成一個固定大小的矩形(集合B)的輔助集合,該集合將集合A中的所有矩形包圍起來。集合B中的矩形將具有2000x1000像素的固定大小。 我正在嘗試對此進行優化,以便集合B包含盡可能少的矩形。

例

在上圖中,紅色矩形代表集合A。我們能夠將所有這些包含在3個固定大小的矩形中。

一些規則:

  1. 集合A中的所有矩形必須完全包含在集合B中的矩形的邊界內。

  2. 集合B矩形必須始終為2000x1000像素。

  3. 集合A的矩形大小介於50x50像素和1999x999像素之間。 切勿大於1999px或大於999px。

  4. 集合A矩形將分布在整個區域中,大小是集合B矩形的幾倍。

  5. 只要滿足規則1,就可以將集合A中的矩形部分或全部顯示在集合B中多個矩形的邊界內。

  6. 來自兩個集合的所有矩形將是軸平行的。

我確定那里有解決該問題的示例,但是我不確定該問題叫什么,因此我的搜索沒有發現任何有用的信息。

假設B矩形可以重疊,那么我將執行以下操作。 首先,對於一個B矩形可以覆蓋的每組A矩形,請列舉一個這樣的B矩形。 我們可以向上和向右滑動B矩形,直到它緊靠兩個A矩形的邊緣,因此,我們要做的就是從A矩形收集左x坐標和下y坐標的集合。 ,對於直接乘積中的每個元素,在其中放置B矩形的左下角。

現在,對於這些B矩形中的每一個,確定其覆蓋的A矩形的集合。 然后將覆蓋率問題轉換為一個設置覆蓋率的整數程序,並使用整數程序求解器找到最佳解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM