私は配達アプリを持っていて、注文 (各注文には緯度と経度の座標があります) を場所の近接性 (直線距離) と最大注文数や最大合計商品 (各注文には商品の量があります) などの制約によってグループ化したいと考えています。 .
近接グループ化には、DBSCAN を使用しました
coordinates = [[lat,lng],[lat,lng]],[lat,lng]],[lat,lng]],[lat,lng]]]
distance_matrix = squareform(pdist(coordinates, (lambda u,v: haversine(u,v))))
#eps=0.1 => 100m radius, 50m linear
db = DBSCAN(eps=0.1, min_samples=2, metric='precomputed')
results = db.fit(distance_matrix)
この機能に制約を追加するにはどうすればよいですか?
DBSCAN または HDBSCAN 以外のものを使用してこれを行う方法はありますか?