I need to make clusters of exactly 50 points based on location to be used later as an input layer in VRP. No other attribute available on the basis of which they can be grouped. Grouping analysis doesn't give exactly the same no. Appreciate if someone can help. geonet geo-processing tools point statistics network geoprocessing vrp networkanalyst
Hi,can you share the output with me, that you have created via location allocation?
This is what I have done now.Still getting the same results.
Actually, the global standard is that we can cover maximum 50 outlets/day using one vehicle, not more/less than that. let's say if a salesman is covering a chunk of 50 outlets on monday, then on tuesday he needs to start visiting the next nearest chunk of 50 outlets, starting from one end and sweeping the entire area. This can't be controlled in VRP even if I specify that the max order count is 50, the system incorporates all the parameters like start, end time, demand, capacity, max travelling time to generate the route, which doesn't give us the exact 50 outlets. Also, if I input all the data, the routes that are generated are overlapping, hence routes are not optimized. so I was looking if somehow I get clusters of 50 outlets, I can preserve the route and relative sequence in VRP.
Peano sort.... from the Sort help .... The peano sort is shown in the figure in this link...
Hi, I have implemented the same, but I'm not getting the results that you have attached.This is what I did.
Input: Sample DataOutput: Output specificationField: ShapeSpatial Sort Method : UR(By default)
Added a new field and calculated it using the formula in python :
int<SPAN class="" style="color: #999999; border: 0px; font-weight: inherit; margin: 0px; padding: 0px;">(</SPAN>OBJECTID <SPAN class="" style="color: #a67f59; background: rgba(255, 255, 255, 0.498039); border: 0px; font-weight: inherit; margin: 0px; padding: 0px;">/</SPAN> <SPAN class="" style="color: #990000; border: 0px; font-weight: inherit; margin: 0px; padding: 0px;">50</SPAN><SPAN class="" style="color: #999999; border: 0px; font-weight: inherit; margin: 0px; padding: 0px;">)</SPAN>
The groups i'm getting are random, not nearest neighbours.can you tell me what I'm missing here.
There is a similar question here: Group every near 50 points together If you scroll down towards the end of the thread you will find an answer by Curtis Price that provided a solution that might work for you.
I gave it a try on your dataset and attached the result for you to examine. I added an extra field with the classes.
Hi Sarah,
I'm not sure if this will work for you but you could try using location allocation solver with the maximize capacitated coverage problem type. Load in your locations you are trying to block into 50 order groups as the demand points. Since you know how many demand points you are adding you know how many chunks of 50 you want to make and can make that the Facilities count for the problem with a capacity of 50. The one portion that you wouldn't have naturally is locations for those possible facilities. The location allocation solver will accept more facilities then you are wanting to group too and will pick the best ones though so if you add in double or triple the number of facilities then what you are wanting in groupings (you would have to play with that a little to determine how many would be needed) and have them distributed throughout the region it should help group them into chunks of 50. You could try creating a dense grid of the facility points or possibly scaling the density to the density of the demand points. I did a quick test of this using the sample data you provided and it seemed to work okay for me but takes awhile. One restriction though is the number of facilities to choose is maxed at 100 so you would need to scale the problem to fit that. An idea for that is to start at the corners and section off groupings of 50 since in the sample you are only 5 or 6 over that limit. Or you could split the problem in half along some boundary that makes since like maybe a major highway or river.
Out of curiosity, what is your use case that you need to break the VRP problems down to have exactly 50 orders for the solver?
The sample data that you have shared already has points created and it seems like at the same location. I just want to confirm that your data extent is the country boundary and the points should be placed within that extent.
If this is the case please try out the following:
1) Open Create Random Points tool.
2) Provide the output location where the point feature class or the shapefile will be created.
3) Name of the feature class or the shapefile.
4) Constraining Feature Class should be the country boundary.
5) Specify the total number of point features you want to create.
Let the other settings be default.
~Shan
Hi I have attached the sample data. Kindly take a look.Thanks
Sure, I can work with that.
Hi, I have tried executing it, but I'm not sure how it works. Can I share the sample data?
In that case you can set the extent for the country and use Create Random Points tool.
Random points, these are basically the location of outlets all across the country.
Sarah,
Are these 50 points randomly within a certain extent frame?
If it is the case you can use the Create Random Points tools available under ArcToolbox > Data Management Tools > Sampling Tools > Create Random Points.
Please see Create Random Points—Help | ArcGIS Desktop
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.