Complex systems with many adjustable parameters make it difficult for an individual to optimise the system for best performance. An example would be traffic flow optimisation at a major junction. A human could manually tune the settings for one traffic light to optimise the flow through it, but they would find it difficult to adjust the traffic light settings through the full junction to achieve the best optimisation for all traffic flows.
To solve problems of this type, we have conducted research into a number of algorithms for optimising complex systems. These algorithms aim to find the best possible solution for a given problem within a large set of candidate solutions. Some examples are learning systems and ad-hoc optimisation.

Learning systems are an increasingly important area of research due to the requirement for automated systems to tackle more complex and challenging problems. Learning systems are broadly defined as any system which, given an input, adapts in order to achieve a defined goal. The strength of learning systems is that they can frequently provide solutions to problems which are too complex to be approached analytically. In such cases, learning systems can often find solutions which would take domain experts significant amounts of time to develop.

Ad-hoc optimisation algorithms have also been developed at TRT (UK) for solving various problems such as the assignment of traffic load to the multiple radio bearers in a Wireless Mesh Network with multiple radios per mesh node.