最初のアプローチ(時間に基づく)の単純なバージョンでの問題は、店舗を通過するまでに異なる時間がかかることを考慮していないことです。デリを待つのに多くの時間を費やすとそれ以降の卵を得る時間は、あなたがデリでどれくらい待っていたかに基づいて大きく変わります。だから、それらをチェックする平均時間に基づいて物事を注文することは、おそらく理想的ではありません。
バナナとブドウが1つのセクションにあり、通常はそれらを接近させると、ミルクと卵が別のセクションにあるなど、製品のグループを特定できれば、この順序を行う方がはるかに簡単です近くに近づく。このモデルにはいくつかの問題があります(ファンシーチーズのセクションまたは通常の乳製品のセクションからチェダーを得るかもしれませんが)、オーダーを行う方がはるかに簡単です(グループAはグループBの前ですグループBからアイテムを取得する前にグループAからアイテムを取得します(グループ定義を取得すると、それに基づいてソートされます)。
これはまた、新しいアイテムを入力するときに役立つ可能性があります。以前はブラックベリーを手に入れたことがないのに、アプリがウェブを検索したり、ブラックベリーが肉のカテゴリよりも果物のカテゴリに似ていると、彼らを果物グループに入れること。
どのようにグループ分けしますか? 1つの簡単な方法は、アイテムの平均時間差を距離測定値として使用してリスト内のアイテムをクラスタリングすることです(これは技術的なメトリックではありませんが、実際問題ではありません)。ここでは、k-meansやその他のクラスタリング手法を使用することができます。これは、Webやコーパスベースの類似性測度によっても増やすことができます。これは、新しいアイテムや店舗の最初の数回の実行に役立ちます。たぶんあなたはこれを助けるためにGPSデータも使うことができます。
グループに物事を割り当てることとグループを注文することとの間で何らかのEMプロセスを繰り返すことができますが、それが非常に役立つかどうかはわかりません。また、このプロセスが間違っている場合は、グループに手動で割り当てることもできます。
これはクールなアイデアです!あなたがそれをリリースすれば、多分私はそれを使用します。 :)
正直なところ、MLはこの問題に適していないようです。私はあなたがちょうど店のレイアウト(パン通路5、ミルク通路9)を知りたいと思うし、 –