Quindi, ho un centro di imballaggio A
.
E ho n
punti sparsi per A
. Chiamiamoli i 1 , i 2 ... i n .
Ho una soglia massima di distanza, chiamata D
.
Il mio compito è quello di spezzare quei punti n
in gruppi di massimo m
ogni punto. Ogni gruppo non può superare il m
punti, in modo tale che una persona che inizia da A
e che va a tutti i punti appartenenti a un particolare gruppo viaggi per una distanza ottimizzata.
Ad esempio, A - > i 1 - > i 4 - > i 10 - > A < = D
Quello che ho descritto sopra è un problema di TSP. Attualmente, ciò che ho fatto è suddividerli in cluster usando l'algoritmo K-means e quindi suddividerli manualmente in più gruppi in modo che ogni gruppo non possa avere più di% puntim
.
C'è un approccio migliore a questo problema?
In breve, sto cercando un algoritmo di clustering in cui:
- Ogni cluster non può superare un determinato numero di punti.
- Il clustering avviene sulla distanza (latitudine / longitudine nel mio caso).