If you are interested in doing a project or thesis within the lines of the following projects, please do not hesitate to contact me!

**Application and/or Improvement of Combinatorial Optimisation Algorithms**

The goal of optimisation is to find the best solution among a large set of alternatives. As such, it has applications in virtually every aspect of today’s global processes: timetabling, scheduling, supply-chain management, production planning, transportation, and economics, to name a few. In the past decades, tremendous improvements have been made in the advancement of constrained optimisation. In this project, depending on the candidate’s preference, the aim would to be to solve a particular problem (using either generic optimisation tools or develop a specialised algorithm) or further improve existing optimisation technology.

Optimisation paradigms considered: integer programming, constraint programming, maximum Boolean satisfiability, metaheuristics.

**Supervisors: Emir Demirović, James, Peter James Stuckey**

** **

**Machine Learning for Optimisation**

The challenge is as follows: given an optimisation problem, a particular instance for the problem, and a library of different algorithms to solve it, which algorithm should one select to solve the problem?

In the world of combinatorial optimisation, the “No free lunch theorem” tells us that there is no “universal” optimisation algorithm, which is able to solve all instances of a particular problem efficiently. Thus, for any given important problem, there exist at least several different optimisation algorithms, each with its own (dis)advantages. While each algorithm is valuable, once we are presented with a new problem instance, it is unclear which of the algorithms one should use to solve the instance at hand. One method of resolving this dilemma is to study particular problems features and attempt to estimate which types of features are convenient for which algorithm. By doing so, once a new problem is presented, based on its features one is able to provide an accurate estimate to which algorithm would be most efficient. This kind of algorithmic strategy, which combined several different algorithms, is called portfolio optimisation. In this project, a problem will be selected, and the candidate will develop a portfolio optimisation approach.

**Supervisors: Emir Demirović, Peter James Stuckey**