NetworkCenter

Top  Previous  Next

Function NetworkCenter(NodeNumber, MaxIterations: Integer; Eps, power: Double; var TotalCost: Double): integer;

 

This function solves the minimax problem for the street network. This means locate a number of facilities in a network, so the distance from any node to the nearest facility is minimized. The method uses an allocate-locate strategy.

 

Input parameters are NodeNumber, which tells how many facilities you want.

 

Maxiterations controls the granularity of a grid used for testing additional nodes to prevent getting stuck in local optima. We recommed 0 to 3. 3 gives for instance 3 x 3 = 9 nodes. With higher values you get much longer calculation times, but 2 is generally sufficient.

 

Eps controls the relative difference in TotalCost value between master iterations, that make the calculations stop. We recommend 0.01 (i.e 1%). Do not use 0 or you risk an endless loop.

 

Power controls the kind of target:

1) With power=100 it uses the classical minimax strategy, i.e. all parts of the network are treated equally important.

2) With power=1 it minimizes the cost to each link from the center multiplied by the length of the link. Here the length of the link serves as a weight or proxy for number of inhabitants etc.

3) With power>1 the cost above is raised to the power of the value. Typical values will be from 1 to 2.

 

You can fill in the nodelist in advance with the location of existing facilities, since last step in the calculations is minimizing the total distance between existing locations and new centers, by sorting the new centers so they match with the previous locations.

 

Result is available through function NodeListGet.

 

See also NetworkCenter2.

 

Possible error codes: -10 -30 -40 -41

Versions: Pro

ActiveX / VCL / CLX component: RWcalc