Open Table of Contents

Allocation

Go to ToolBox Implementation Go to .NET Implementation

Allocates a set of demand points (Customers) to user specified number of supply points (Facilities) out of a Facilities point dataset based on the Euclidian distance between the Customers and Facilities. In other words the function selects N Facilities out of K candidates to service a set of M Customer locations in such a way that each Customer is allocated to a single Facility (based on Euclidean distance) and the total distance between the Customers and selected Facilities is minimized.

The function uses heuristic vertex substitution algorithm modified from Teitz and  Bart (1968) and can handle comparatively large problems (Number of Customers * Number Facilities < 5 Million)

Inputs:

Outputs:

Illustration:

Input Facilities and Customers - No required facilities Result (Selected facilities in green)
Input Facilities and Customers - Two required facilities Result (Selected facilities in green)
   

Notes:

References:

ToolBox implementation

(Go to TOP)

Command line syntax

ET_GPAllocate <facilities_dataset> {facility_name_field} {facility_type_field} <customers_dataset> {customer_name_field} <out_links_feature_class> <out_facilities_feature_class> <number_facilities> {Cutoff_distance}

Parameters

Expression Explanation
<centers_dataset> A Point feature class or feature layer - the candidate facilities.
 {facility_name_field} A String representing a field name - the values in this field are used to identify the facilities.
 {facility_type_field} A String representing a field name - the values in this field are used to identify the facilities.
<customers_dataset> A Point feature class or feature layer - the Customers (demand points).
 {customer_name_field} A String representing a field name - the values in this field are used to identify the customers.
<out_links_feature_class> A String - the full name of the output link feature class (A feature class with the same full name should not exist)
<out_facilities_feature_class> A String - the full name of the output selected facilities feature class (A feature class with the same full name should not exist)
<number_facilities> An integer - the number of facilities to be selected
{Cutoff_distance} A number - the maximum distance between a Facility and a Customer to be used.

Scripting syntax

EET_GPAllocate (facilities_dataset, facility_name_field, facility_type_field, customers_dataset, customer_name_field, out_links_feature_class, out_facilities_feature_class, number_facilities,   Cutoff_distance

See the explanations above:
<> - required parameter
{} - optional parameter

.NET implementation
(Go to TOP)

Allocate(pFacFC As IFeatureClass, pCustFC As IFeatureClass, sOutLinkFN As String, sOutFacFN As String, iNumFac As Integer, Optional sFacName As String = "", Optional sFacType As String = "", Optional sCustName As String = "", Optional dCutOff As Double = 1000000000) As IFeatureClass

Copyright Ianko Tchoukanski