17

PHPを使用して1つの大きな正方形/長方形にまとめたい、さまざまなサイズの正方形と長方形のコレクションがあります。四角形は通常、モンタージュにしたいイメージですが、単に数学オブジェクトである場合もあります。

これにはPHPアルゴリズムがあり、このタイプのものは何と呼ばれていますか?

更新:さらに検索した後、私が欲しいのはビンパッキング問題と呼ばれると思います。ただし、人間の関心を可能にするために、特定の種類のパッキングの問題 (画像など) に対してある程度のランダム化も追加したいと考えています。

4

3 に答える 3

9

2D ビン パッキングは NP 困難な問題です。ただし、近似アルゴリズムはあります。

このコード (および説明) を見てください。複数のアルゴリズムが含まれており、GUI があります。

2D パッキング問題の解決

于 2011-07-16T08:08:28.220 に答える
0

焼きなまし法アルゴリズムを使用できると思います。私は長方形の新聞ページを長方形の広告で埋めるためにそれを使用しました。あなたが言ったように、あなたはそれをランダム化された解決策から始めることができ、それからあなたはゆっくりと良い解決策に到達することができます。ここhttp://codetuner.blogspot.com/2010/03/simulated-annealing-approach-to.htmlを参照してください。私はそれをページネーションの問題を解決するために使用しました。私はあなたがあなたの要件にもそれを使うことができると思います。

于 2011-07-22T16:11:40.323 に答える
0

PHPで1Dビンパッキングアルゴリズムを作成しました。ベスト フィット、ファースト フィットなどを探します。しかし、これは 2 次元の問題ではありません。ナップザックの問題を探してみませんか?

于 2011-07-15T19:49:05.830 に答える