We investigate applying an evolutionary algorithm (EA) to the design of a passive optical network (PON). We use three techniques to improve the performance. Firstly, to reduce the risk of sub-optimal convergence, we use a novel genetic encoding. Secondly, we combine the EA with a heuristic to guide the optimisation. Thirdly, we investigate various ways of sub-dividing the problem. We briefly present experiments to demonstrate how the EA performs. The results show the strengths and weaknesses of the various techniques we employ