This project is concerned with the development and application of optimisation methods for machine learning algorithms. Many modern machine learning algorithms can be viewed as optimising bounds on the generalisation error derived in learning theory. Modern tools from mathematical programming such as second-order cone and semi-definite programs will be adapted to the optimisation problems arising in machine learning. The resulting methods will be tested on benchmark data and - whenever possible - on suitable real-world data sets.