The University of Edinburgh: College of Science and Engineering: The School of Informatics
Abstract
Centre for Intelligent Systems and their ApplicationsIn recent years, research into ‘neighbourhood search’ optimisation techniques such as simulated
annealing, tabu search, and evolutionary algorithms has increased apace, resulting in a
number of useful heuristic solution procedures for real-world and research combinatorial and
function optimisation problems. Unfortunately, their selection and design remains a somewhat
ad hoc procedure and very much an art. Needless to say, this shortcoming presents real
difficulties for the future development and deployment of these methods.
This thesis presents work aimed at resolving this issue of principled optimiser design. Driven
by the needs of both the end-user and designer, and their knowledge of the problem domain
and the search dynamics of these techniques, a semi-formal, structured, design methodology
that makes full use of the available knowledge will be proposed, justified, and evaluated. This
methodology is centred around a Knowledge Based System (KBS) view of neighbourhood
search with a number of well-defined knowledge sources that relate to specific hypotheses
about the problem domain. This viewpoint is complemented by a number of design heuristics
that suggest a structured series of hillclimbing experiments which allow these results to be
empirically evaluated and then transferred to other optimisation techniques if desired.
First of all, this thesis reviews the techniques under consideration. The case for the exploitation
of problem-specific knowledge in optimiser design is then made. Optimiser knowledge is
shown to be derived from either the problem domain theory, or the optimiser search dynamics
theory. From this, it will be argued that the design process should be primarily driven by
the problem domain theory knowledge as this makes best use of the available knowledge and
results in a system whose behaviour is more likely to be justifiable to the end-user.
The encoding and neighbourhood operators are shown to embody the main source of problem
domain knowledge, and it will be shown how forma analysis can be used to formalise the
hypotheses about the problem domain that they represent. Therefore it should be possible
for the designer to experimentally evaluate hypotheses about the problem domain. To this
end, proposed design heuristics that allow the transfer of results across optimisers based on a
common hillclimbing class, and that can be used to inform the choice of evolutionary algorithm
recombination operators, will be justified. In fact, the above approach bears some similarity to
that of KBS design. Additional knowledge sources and roles will therefore be described and
discussed, and it will be shown how forma analysis again plays a key part in their formalisation.
Design heuristics for many of these knowledge sources will then be proposed and justified.
This methodology will be evaluated by testing the validity of the proposed design heuristics in
the context of two sequencing case studies. The first case study is a well-studied problem from
operational research, the flowshop sequencing problem, which will provide a through test of
many of the design heuristics proposed here. Also, an idle-time move preference heuristic will
be proposed and demonstrated on both directed mutation and candidate list methods.
The second case study applies the above methodology to design a prototype system for resource
redistribution in the developing world, a problem that can be modelled as a very large
transportation problem with non-linear constraints and objective function. The system, combining
neighbourhood search with a constructive algorithm which reformulates the problem
to one of sequencing, was able to produce feasible shipment plans for problems derived from
data from the World Health Organisation’s TB programme in China that are much larger than
those problems tackled by the current ‘state-of-the-art’ for transportation problems