はい、これには間違いなく線形計画法を使用できますが、それは難しく、問題をより正確に定義する必要があると思います。コメントするには質問が多すぎます。これを回答として書いても構いません...
あなたのポイントは、「列グループ」または「行グループ」のいずれかにあります。上記の提案から、列グループと行グループの数を事前に知っていると理解していますか?
グループの構成を知っているので、これらのグループ内のポイントの再分割を見つけて、以下によって決定されるコストの合計を最小化する必要があります。
- 水平クラスターの垂直幅 (
c(H) = max (i,j in H) |yi - yj|
)
- 垂直クラスタの水平幅 (
c(V) = max (i,j in V) |xi - xj|
)
H
水平クラスター、垂直V
クラスターの場合、総コストは次のようになります。
c(H1) + c(H2) + ... + c(Hn) + c(V1) + c(V2) + ... + c(Vp)
n
(水平クラスターの数) と(p
垂直クラスターの数) は事前にわかっています。これは正しいです?
水平グループの場合、「穴」はあり得ないとおっしゃっています。穴のサイズを定量化できる場合は、これを問題の制約として表します。例えば:
for each i in C, ( min (j in C) |xi - xj| ) < r
水平クラスター C に r を超えるギャップがないことを保証します。これでよろしいですか? 定数ですかr
?
これは完全な問題ですか、それとも他の制約 (グループごとの最小ポイント数など) がありますか?
正確な最小限のソリューションが必要ですか、それとも「良い」ソリューションで十分でしょうか?
最後に、技術的な部分についてですが、あなたの以前の投稿は 'python' とタグ付けされていましたが、これはタグ付けされていないため、モデルを解決するために python を使用する必要がありますか?