Iterate through Nearest Facility Network Analyst Model - Performance Issue

785
6
Jump to solution
07-25-2023 11:24 AM
dmorales
New Contributor II

dmorales_0-1690309168543.png

I'm iterating through 1.4 million members and 10k providers to calculate the route from member to provider. Find routes tool worked but dissolved member routes, thus why I ran nearest facility. The model has been running for 7 days.  It's working it's just lagging.  Any tips on how to increase performance?  I am running locally on laptop and don't have GeoAnalytics Server.  

0 Kudos
1 Solution

Accepted Solutions
MelindaMorang
Esri Regular Contributor

If the members have a preassigned provider, then you can likely use the Solve Large Analysis With Known OD Pairs tool in that same toolbox.  Hopefully that will just work!

Actually, right now I'm researching user workflows for exactly this - solving an analysis with predefined origin-destination pairs.  If you have the time and inclination and are willing to tell me more about your workflow to help us design better software in the future, I would be very grateful if you could fill out the attached questionnaire and return it to me.

View solution in original post

6 Replies
MelindaMorang
Esri Regular Contributor

Happy to help you with this.

There's not quite enough information here for me to determine whether this will work for your needs, but this downloadable toolset for solving large Network Analyst problems may do the trick: https://github.com/Esri/large-network-analysis-tools If you just need the travel time and/or distance between origins and the closest destination (and not the route geometry), you can use the Solve Large OD Cost Matrix tool, and will go waaaaayyyy faster than what you're doing now.  It does a bunch of pre-processing to improve performance, chunks up the problem and solves it in parallel across all the cores of your machine, and also uses the arcpy.nax solver objects under the hood, which are faster than the network analysis layers you can use in a model.

Also, here is a video from a DevSummit 2022 presentation about how to solve large network analysis problems: https://mediaspace.esri.com/media/t/1_hzppnv8p 

dmorales
New Contributor II

Thanks for your reply.  To give you more context, I have members that are linked with a specific provider.  Thus, I ran the Find Routes tool and linked the member and providers, but the routes were dissolved, and I needed individual routes represented in the attribute data.  So, I tried to iterate through the data and select members and the provider to calculate the routes.  If I didn't need to link the members with the provider they saw, it would be an easier task.  I'll look at the links you provided. Thanks.  

0 Kudos
MelindaMorang
Esri Regular Contributor

If the members have a preassigned provider, then you can likely use the Solve Large Analysis With Known OD Pairs tool in that same toolbox.  Hopefully that will just work!

Actually, right now I'm researching user workflows for exactly this - solving an analysis with predefined origin-destination pairs.  If you have the time and inclination and are willing to tell me more about your workflow to help us design better software in the future, I would be very grateful if you could fill out the attached questionnaire and return it to me.

dmorales
New Contributor II

Wanted to thank Melinda and Jhonatan for their guidance.  The Solve Large Analysis With Known OD Pairs Python Script tool is a game changer. I will never touch ModelBuilder again.  🙂

 

0 Kudos
MelindaMorang
Esri Regular Contributor

(Side note: If, by any chance, you are trying to do healthcare network adequacy calculations, Esri has some specific tools designed especially for that.  You would need to talk to your Esri representative to find out how to get started with that, though.)

JGarridoLecca
New Contributor

@dmorales Hello! 

I would be happy to help with anything related to healthcare network calculations. Please just let us know if you were able to increase the performance of your calculation. 

Best!