Optimisation of a tree structured centralized data network using an evolutionary algorithm - Katzen, Jeffrey Marc (Department of Electrical Engineering, 2016)
This thesis attempts to solve the problem of optimising the design of tree structured centralized data network using an Evolutionary Algorithm. A centralized data network is also known as a client-server network. In this type of network, the client, which is usually a terminal connected to the network, would send a request for information to the server. The server would then download the reply back to the client. An example of such a network would be a bank's ATM network. Each ATM machine would be a client and the central server would store information relating to all the bank's customers. The idea was that once this was done the fitness function used in the above problem would be modified to suite the design of a network used to interconnect LANs that would also form a tree structure. Each of the nodes in this network would be a LAN connected to the network via a bridge or router. Unfortunately the results obtained in attempting to optimise the topology of the centralized data network were very poor. A heuristic normally used to solve this problem outperformed the Evolutionary Algorithm on all the three counts that the comparison was performed. Therefore another method using an Evolutionary Algorithm that can optimise the network interconnecting LANs was introduced. The first chapter in this thesis is an introduction to the thesis and all the terms and concepts that are used in it. The second chapter explains the heuristic used. The third chapter discusses what particular properties are needed by a coding scheme used in an Evolutionary Algorithm to solve this problem. It introduces a few alternatives that have been used in the past but do not meet all the requirements. Then it introduces the coding scheme that was used in this thesis and the fitness function used to evaluate each candidate solution. The next chapter tabulates the results and draws conclusions from these results. The final chapter discusses areas of future research possibilities. There are also several appendices. The first introduces the Genetic Algorithm (GA) and discusses some hypotheses that attempt to explain why it is so successful at problem solving. The next appendix introduces Population Based Incremental Learning (PBIL). This is the Evolutionary Algorithm that is used in attempting to solve this problem. Appendix C explains a method of converting between real and binary numbers; this method is not used in this thesis but is important to know when dealing with Evolutionary Algorithms that are only capable of manipulating binary values. The next two appendices discuss Prim's algorithm and Competitive Learning. Prim's algorithm is an MST algorithm that is used in the coding scheme. Competitive Learning is a classification technique that PBIL is partly based on. An explanation of each function used to implement the heuristic and PBIL is given in Appendix F. This is followed by a listing of the Matlab code of each function.