Genetic Programming Hyper-heuristics for Job Shop Scheduling
Scheduling problems arise whenever there is a choice of order in which a number of tasks should be performed; they arise commonly, daily and everywhere. A job shop is a common manufacturing environment in which a schedule for processing a set of jobs through a set of machines needs to be constructed. Job shop scheduling (JSS) has been called a fascinating challenge as it is computationally hard and prevalent in the real-world. Developing more effective ways of scheduling jobs could increase profitability through increasing throughput and decreasing costs. Dispatching rules (DRs) are one of the most popular scheduling heuristics. DRs are easy to implement, have low computational cost, and cope well with the dynamic nature of real-world manufacturing environments. However, the manual development of DRs is time consuming and requires expert knowledge of the scheduling environment. Genetic programming (GP) is an evolutionary computation method which is ideal for automatically discovering DRs. This is a hyper-heuristic approach, as GP is searching the search space of heuristic (DR) solutions rather than constructing a schedule directly. The overall goal of this thesis is to develop GP based hyper-heuristics for the efficient evolution (automatic generation) of robust, reusable and effective scheduling heuristics for JSS environments, with greater interpretability. Firstly, this thesis investigates using GP to evolve optimal DRs for the static two-machine JSS problem with makespan objective function. The results show that some evolved DRs were equivalent to an optimal scheduling algorithm. This validates both the GP based hyper-heuristic approach for generating DRs for JSS and the representation used. Secondly, this thesis investigates developing ``less-myopic'' DRs through the use of wider-looking terminals and local search to provide additional fitness information. The results show that incorporating features of the state of the wider shop improves the mean performance of the best evolved DRs, and that the inclusion of local search in evaluation evolves DRs which make better decisions over the local time horizon, and attain lower total weighted tardiness. Thirdly, this thesis proposes using strongly typed GP (STGP) to address the challenging issue of interpretability of DRs evolved by GP. Several grammars are investigated and the results show that the DRs evolved in the semantically constrained search space of STGP do not have (on average) performance that is as good as unconstrained. However, the interpretability of evolved rules is substantially improved. Fourthly, this thesis investigates using multiobjective GP to encourage evolution of DRs which are more readily interpretable by human operators. This approach evolves DRs with similar performance but smaller size. Fragment analysis identifies popular combinations of terminals which are then used as high level terminals; the inclusion of these terminals improved the mean performance of the best evolved DRs. Through this thesis the following major contributions have been made: (1) the first use of GP to evolve optimal DRs for the static two-machine job shop with makespan objective function; (2) an approach to developing less-myopic DRs through the inclusion of wider looking terminals and the use of local search to provide additional fitness information over an extended decision horizon; (3) the first use of STGP for the automatic discovery of DRs with better interpretability and semantic validity for increased trust; and (4) the first multiobjective GP approach that considers multiple objectives investigating the trade-off between scheduling behaviour and interpretability. This is also the first work that uses analysis of evolved GP individuals to perform feature selection and construction for JSS.