In recent years, there have been many studies in which tailored heuristics and meta-heuristics have been applied to specific optimisation problems. These algorithms can be extremely efficient, but may also lack generality. In contrast, the research outlined in this monograph focuses on building a general-purpose combinatorial optimisation problem solver using a variety of meta-heuristic algorithms including Simulated Annealing and Tabu Search. The work is novel because it uses a modelling environment in which the solution is stored in dense dynamic list structures, unlike a more conventional sparse vector notation. Because of this, it incorporates a number of neighbourhood search operators that are normally only found in tailored algorithms and it performs well on a range of problems. The general nature of the outlined system allows a model developer to rapidly prototype different problems. The results indicate that the system achieves good performance in terms of solution quality and runtime on a range of combinatorial problems.