駐車場問題を最適化します。どのようなアルゴリズムで私はたくさんの中の車の中で最も量を合わせて使用する必要がありますか?
-
26-09-2019 - |
質問
どのようなアルゴリズム(ブルートフォースか)私は多くの車がそう(コンテナからの)少なくとも一つの出口があることが駐車場に(すべての車が同じサイズであると仮定)とに入れて使用すると、車はできませんブロックされます。または缶誰かが私にこの問題の例を示したプログラムで解決します。
駐車場がいいだろうな形状に変化するが、あなたが前提とする場合、それは結構です、いくつかの不変の形状です。
別の編集: (それはロット中の車の数に加重要因であったならば、それは完全に素晴らしいだろうが)駐車場で距離を駆動する要因ではないと仮定します。
別の編集: 2次元(何のクレーンや車上駆動)と想定していない。
別の編集: 彼らが駐車されたらあなたは(それは係員付き駐車場はありません)周りの車を移動することはできません。
解決
さて、レッツ・簡素化/ concreteifyビット。私たちの車は単位正方形であることを前提とし、駐車場はNはNをXは、私たちは左下隅から/ exitを入力する必要があります。単純なパターンは、ほぼ2/3の車とフル(Nのために示さ= 12)に多くを取得します:
+------------+
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|C CC CC CC C|
|
-----------+
私はあなたがおそらくできる最善のは、多くの2/3を取得することであることを証明することができます。あなたは完全に完全なガレージから始まり、時刻(現在は到達可能な)車の1を駆動することにより、空のスペースを構築することを想像してみてください。あなたが車を削除するたびに、3台の、新たに到達可能な車まで生産し、1回の到達可能な車(今は空のスペース)を削除します。だから、あなたが作るすべてのスペースのために、あなたはほとんどの2以上到達可能な車で作成します。 2/3 N ^ 2到達可能な車を作成するには、少なくとも1/3 N ^ 2のスペースを作る必要があり、それはあなたが持っているすべての正方形をです。あなたはとてもフル最も2/3でガレージを埋めることができます。
>無限 - その密度はNとして2/3に近づくように、は、上記単純なパターンは、漸近的に最適です。 (ちょっと退屈な、私はいくつかの木に見えるパターンが良いだろう期待していた。)
他のヒント
これは出口があることが追加要件と、基本的にビンパッキングのと等価です特定の場所にある、すべての車が終了することができます - !自体難しい問題である。
あなたの問題があるので、少なくともNP困難ます。
(各車が他の車を移動せずに離れて駆動することができると仮定して)指定されたサイズと形状のロットの駐車スポットの最大数効率のあなたの定義ですか?そうだとすれば、それはパッキング問題ではなく、ナップザック問題であり、それは私にはNPに聞こえるが、任意の実世界の多くのためのソリューションの範囲は、それが実用的で徹底的な検索で解決できるほど小さいこと。
私はそれが技術的にNP完全かもしれないと思います。しかし、私はあなたがソリューションのインテリジェントセット、最後の経験オフ建物一つ一つを開発し、アルゴリズム的に計算セットから最適なソリューションを選択することができると思います。あなたはそれが最善の解決策であることを証明することができないかもしれません。しかし、実用的な観点から、あなたはそれが本当に問題であなたがそこに?
に3以上の車を絞っていた無限の時間を与えられたことを行い、最適化された駐車場を持っています