Research Article

Facility Location with Tree Topology and Radial Distance Constraints

Algorithm 2

Guided local search-based metaheuristics.
Data: input matrices and and input graph .
Result: a feasible solution for .
Step 1:;
Set and ;
while ( is not empty) do
 Let be the vertex with minimum degree in ;
and ;
 Remove all neighbors of from W;
 Find the minimum spanning tree formed with nodes in S using the Kruskal algorithm;
 Assign each user to its nearest facility in S and compute the objective function value of ;
 Save the current solution found in if its objective function value is less than the best found so far;
;
Step 2:;
while () do
 Update degree vector according to the indices of each element in as ;
 Set and ;
while ( is not empty and ) do
  Let be the vertex with minimum value in ;
   and ;
  Remove all neighbors of from W;
 Find the minimum spanning tree formed with nodes in S using the Kruskal algorithm;
 Assign each user to its nearest facility in S and compute the objective function value of ;
 Save the current solution found in if its objective function value is less than the best found so far. If a better solution is found, set ; ;
If () then
  ;
else
  ;
Return best solution found and its objective function value;