Its length is the total number of potential base stations. It keeps track of utilization information of all base stations. Each base station also has a linked list, which keeps track of the index of reachable potential subscribers. The benefit of doing so is to lower the computation complexity in simulated annealing. When adding or removing a base station, with the given index of that base station, we only have to go through the potential subscribers.
Server is declared as possible base station where lasers are installed.
Annealer is a simulated annealing computation drive. List is a linked list for each server to keep track reachable users. Heap is a priority queue implemented with heap sort. Its usage is to sort out all fixed base stations. There is also a simply program that generates topology information based on area range and the number of the potential subscribers.