U of Nott CS & IT COL Research Lab


Last Update: 24 September 2025

Back to the Main Page

Individual Dissertation (Relevant for UG and PGT Projects)

Supervision of Student Projects

Please look at the lists of past supervised undergraduate (UG) and postgraduate taught (PGT or MSc) projects below to get an idea of the topics that are within my interests when supervising student projects. For each student project supervised in the past you can read the abstract as written in the dissertation by the student. Below there is also a link to a document with some general guidance on the different stages of a project.

See the list of UG projects and PGT projects that I have supervised.

See the individual project guidelines (for students that I supervise).

Areas of Interest for Supervising Student Projects

The project topics in this page are related to my areas of research, which in a summarised way include the development of models and algorithms for optimisation and artificial intelligence and their application to tackle a range of real-world optimisation problems in different areas. Among the techniques applied in my research are intelligent heuristic search, evolutionary algorithms, mathematical programming, multi-objective methods, machine learning, computer simulation and data science. Also, some of the these project topics are related to the module that I currently teach, Linear and Discrete optimisation or related to other modules in the School of Computer Science, like Simulation and optimisation for Decision Support, Artificial Intelligence Methods, Desing of Intelligent Agents, Advanced Algorithms and Data Structures, Machine Learning, Fundamentals of Artificial Intelligence. I would also be interested in supervising projects that explore the interplay between optimisation with machine learning, data science, evolutionary computation, simulation, intelligent agents, and related topics. Note that all the projects topics listed below can involve research and/or programming but they can also be tailored for a practical application that is in your interests.

In general, I would also supervise projects in topics proposed by students if the project is within my interests and I feel competent to supervise the project. Please contact me (email, teams or in-person) if you are interested in me supervising your project so that we can have a conversation before agreeing to supervise a project.

What is required to undertake the project topics suggested here? One typical question is: is this project adequate for obtaining a high grade? and the answer for all projects listed here is yes but is strongly depends on the student's committment to develop a high-quality project and write a high-quality dissertation. The projects listed here have the potential to carry out research and develop a computer system. You definitely need to do considerable programming but also search the literature, select, read and analyse sources of information. As a computing student you are expected to produce good quality computer code. At first sight, these projects might seem too challenging, particularly if you are not familar with the problems or techniques. However, these are project topics for which I can offer specific guidance. Selecting a challenging project does not guarantee you to obtain a high grade, that is only a good start. It is your performance and achievements which will be reflected in the final grade.

Are these project topics suitable for MSc, MSci or BSc dissertations? Most of the project topics suggested here can be adapted for developing a dissertation according to the degree type and subject (computer science, artificial intelligence, data science, etc.). Please see the corresponding project handbook for more guidelines and the requirements that your project should meet according to your degree. For all these project topics, there is a potential for producing a publication if that is something that interests you.

The topics for individual projects listed below are intentionally described briefly to allow flexibility in the specific direction of the project. The intention is that if these topics trigger your interest, then we can discuss further so that you conduct some preliminary research to shape the specific project to your own liking and interest. If you want some more specifics on these project topics, please contact me (email, teams or in-person) to have a conversation.

Some Topics for Individual Projects

NOW TAKING ON SUPERVISIONS OF BSC AND MSCI PROJECTS FOR THE ACADEMIC YEAR 2025-2026

Computational Model for Water Irrigation System in Paddy Fields

This is an opportunity to get involved in a new collaboration with researchers in agricultural sciences on the application of computational techiques like simulation, optimisation, data science, and machine learning, to improve the water management of irrigation systems in paddy fields. The cultivation of rice is an essential activity particularly in Asian countries. Some paddy field are a complex system having a lake, drainage water, rainfall, water pumping, as the main components. The goal is to maintain good water quality as well as make the most effective and efficient use of the available resources including water. The computer system would be used to simulate and optimise the operation of the whole water irrigation system and it would include data analysis, forecasting, optimisation, and other techniques as needed. The computer system should be capable of capturing the relationship between water pumping, drainage, irrigation, rainfall, etc. through appropriate mathematical and computational modelling mechanisms and operate as a black-box system with data science, machine learning and optimisation inside. It is not expected that a student project would develop the whole system, instead this project opens the opportunity for several individual or group student projects.

AI Language Models to Generate Optimisation Models and Solution Approaches

ChatGPT, Google Gemini, and Microsoft Copilot are recent examples of Artificial Intelligence language models that have received considerable attention due to their capabilities to generate content. For tackling an optimisation problem, one of the baseline steps is to have a mathematical programming model (linear or nonlinear) to represent the problem in a formal way. This step usually requires some degree of expertise for developing such algebraic models. Once a mathematical programming model is available, it is relatively easy to plug the model into existing solvers to explore how difficult is to solve it and to develop the model further with more details about the optimisation problem in hand. The aim of this project is to develop a methodology to use AI language models such as ChatGPT and others to assist in the automated generation of mathematical programming models for optimisation problems. A similar project could be the use of AI language models to assist non-experts in identifying optimisation problems. Yet another similar project could be the use of AI language models to provide users with no expertise in optimisation with a template of a solution approach (i.e. an algorithm) to generate solutions to the optimisation problem.

Experimenting With Different Optimisation Algorithms for Decision Focused Learning

Decision focused learning combines machine learning and optimisation seeking to provide a more robust methodology for forecasting. The machine learning model might produce some errors in the prediction and the optimisation method can help to "spot such forecasting errors" as part of the decision-making process, that is, as part of the search for optimal solutions. Then, decision focused learning seeks to feedback errors in the decision-making stage to the predictive stage carried out by the machine learning model. An ongoing research project is exploring this technique to forecast solar irradiance in renewable energy generation, and uses a standard Genetic Algorithm (GA) as the optimiser. The student project would focus on developing other optimisation algorithms or an improved version of the current GA. Optimisation methods to be considered can be exact (e.g. linear programming) or heuristic, including evolutionary strategies or metaheuristics. The existing GA could be improved by developing tailored genetic operators and other mechanisms.

Benchmarking the Performance of Various Optimisation Solvers

A good number of optimisation solvers exist such as Cplex, Google OR Tools, Gurobi, Pyomo, Cplex, and others. In the COMP4041 - Linear and Discrete Optimization module, students learn to develop linear optimisation models in spreadsheet and algebraic forms, using solvers like Excel Solver and LP-Solve, which do not require much computeer programming, and that perform ok for optimisation models of modest size. However, for larger and more challenging optimisation problems, more powerful solvers like the ones mentioned above are needed. Student projects can focus on implementing some optimisation model(s) in selected solvers and conduct an experimental study to evaluate the performance of such solvers when tackling the given optimisation problem(s). Moreover, optimisation can also be implemented in other programming environments like R, Julia, Matlab, etc. and these can also be the subject of experimentation.

Machine Learning Classifiers to Recognise Features in Solutions to Optimisation Problems

Solutions to different problem instances of optimisation problems could have some common features or patterns that if recognised, could be useful to tailor the design of optimisation algorithms. For example, the identification of such features can help to 1) construct partial solutions to the optimisation problem to then complete the solution, or 2) to inspire the design of tailored heuristics to produce high-quality solutions to the optimisation problem. Some ongoing research is exploring the learning through of features in solutions to instances of the Travelling Salesman Problem (TSP) to then produce partial solutions for unseen problem instances. In the learning stage, the distance matrix and the optimal solution for a large number of TSP instances are used for learning, then the model seeks to predict which cities would be directly connected in unseen TSP instances. After having a set of selected edges connecting some cities, a follow-up procedure can be used to complete the solution to the TSP instance.

Further Developments With Script Generator for LP-Solve IDE

LP-Solve is a free mathematical programming solver for linear optimisation models. The solver can be used in different ways: as a command line application, as a library from various programming environments, and through a basic IDE. The IDE can take models in lp format which is the fully expanded algebraic expressions of the mathematical optimisation model. For models of considerable size with more than a few decision variables and a few constraints, it is better to express the model using algebra in compact notation. A past student project developed a generator that takes a linear optimisation model expressed in compact algebraic notation, check its correctness and generates the optimisation model in lp format that can then be solved using the LP-Solve IDE or the command line application, see that project abstract here. There is a need to properly test that system and develop it further for better usability which could make it a suitable tool for assisting teaching in the module Linear and Discrete Optimization.

Educational Software Tools for Search and Optimisation Algorithms

There is good variety of search and optimisation algorithms and many bibliographic resources that describe these algorithms at various levels of detail, but not many software tools to facilitate the "self-learning" of how these methods work. Heuristic search is an important technique from Artificial Intelligence that is also subject to intensive research because it can help to solve very difficult and large search and optimisation problems. The goal here is to develop tools that interactively illustrate the way in which some algorithm works. The focus should be on effectively visualisation and interactivity, can be a tutorial or even a computer game. There are several examples of projects of this type that I have supervised in the past, see the lists linked above.

Intelligent Optimisation on Smarphones for Endpoint AI

Endpoint AI is the development of Artificial Intelligence models and algorithms that can be executed effectively and efficiently in end-user computing devices that are resource-constrained, privacy-critical, and possibly operating offline. There are many optimisation problems that can be solved with intelligent search and optimisation techniques but doing so following the Endpoint AI approach requires innovative development. For example, developing a mobile app to facilitate the automated creation of schedules for part-time workers (e.g. in the hospitality industry) through modern smartphones. There are many real-world scenarios in which a schedule needs to be created for part-time workers while taking into account a variety of requirements, restrictions and objectives. Another example of application is developing a mobile app to facilitate the automated creation of schedules for amateur sport competitions (e.g. recreational and school leagues) through modern smartphones. There are many real-world scenarios in which a schedule needs to be created for small or medium size sport competitions where the schedule is created perhaps manually by a person. Usually, the competition takes place on a set of venues and a variety of requirements, restrictions and objectives must also be taken into account when constructing the schedule. This project topic could also focus on the development of effective user interfaces to ensure usability and good user experience. Other applications could be the subject of a project developing Endpoint AI.

Optimisation Software Library for the Office Space Allocation Problem

The office space allocation problem refers to allocating people to office space in order to ensure an adequate utilisation of the available office space while also satisfying additional constraints. Various works have been done on this problem, developing algorithms, problem instance generators and graphical user interfaces. There is a set of benchmark instances for this optimisation problem and the goal is to develop a library that includes baseline optimisation routines including objective function, local search algorithms, metaheuristics, etc.

Further Development and Evaluation of Non-linear Great Deluge

The Non-linear Great Deluge algorithm is a metaheuristic proposed some years ago. The method has a simple and neat design but is showed to perform very well when applied to course timetabling problems. Some variants of the algorithm incorporating mechanisms from evolutionary computation and from machine learning have been developed too. Several papers about non-linear great deluge are listed in this webpage. The goal in this project is to evaluate the performance of these algorithms on other optimisation problems (continuous or combinatorial) and deploy other machine learning mechanisms within the algorithm to improve its performance. Non-linear great deluge can be seen as a more prescriptive strategy for strategic oscillation, then it can also be interesting to compare it to ad-hoc implementations of strategic oscillation from the literature.

Tutorial on the Graphical Method for optimisation

The graphical method is one of the essential concepts for optimisation, it is based on solving a system of linear algebraic equations in order to find the values for the variables that optimise some objective function. A previous student project developed a very good basis for a tutorial on the graphical method for optimisation. The program was developed as a web application and the functionality was rated as very good. The goal of this project is then to further develop the application towards a product to be released. The graphical method is taught in the module 'Linear and Discrete optimisation' and the students in that module would be available as actual users in order to inform the project development.

Projects as Follow-up From Past Disserations

It also possible to define a project topic based on a past dissertation either from an undergraduate project or a postgradute taught project. From many projects (but not all of them) the outcomes have represented good contributions and have generated new opportunities for further research. One advantage of doing a project as a follow-up from a past project is that useful resources will be available like the dissertation, software and supplementary materials. Undertaking a project with the aim of continuing/extending someone else's work is a good opportunity to engage with academic research and generate significant findings because you can tackle the unanswered questions and/or develop the suggested further work from that previous project. If any past project awakens your interest, please contact me (email, teams or in-person) to have a conversation.