Project Title: Rogo - An optimisation problem's solution returned to a mobile device using cloud-computing and SOA Student: Mark Hopper Course: Bsc in Computer Science with Artificial Intelligence Abstract: As optimisation problems become more widespread in society (for example work-force scheduling) and for research, it is important to investigate modern computing devices, techniques and architectures into their suitability for the providing of solutions to optimisation problems. In particular this thesis focused on the notions of cloud-computing, service oriented architecture (SOA) and Windows Communication Foundation (WCF). With this in mind, the aim of this project was to provide a system on a mobile device, which can be utilised for the attempting in solving of a Rogo puzzle but which can also provide solutions via two different methods either natively on the device or a server in which is accessible by the internet and utilises technologies such as cloud-computing and SOA as previously mentioned. Within the software developed for the purposes of this thesis, there are several components which include the Android mobile application and the WCF Server accessible by the internet utilising SOA and cloud-computing. Within these components there are several main features contained within them, including the ability to generate and view solutions for Rogo introductory puzzles 1-7 (utilising LP Solve and associated LP models) and allowing the user to attempt to solve either pre-defined or generated Rogo puzzles. Furthermore it allows the user to track their high score information regarding how they've been doing in solving a given Rogo puzzle and allows them to continue progress from a previously saved attempt that hasn't been completed at solving the puzzle. In addition there are also other less essential features included such as the ability to modify settings which affect the behaviour of the application, viewing of a series of instructions on the rules and how to solve a Rogo puzzle as well as being able to view and update high score information related to all Rogo puzzles. As part of this thesis, an evaluation was done based on two different measures, how well the software met the requirements specification detailed within the design section and also the performance of the solution generations via the two different methods. During the evaluation, it was clear that solving a Rogo puzzle is particularly difficult natively on a mobile device due to its associated characteristics. Furthermore during the analysis of the usage of a cloud-based WCF server over natively generating solutions on the device, it was clear that overall the WCF server is more applicable and suitable than on the device, due to it generating solutions around 25-30 times quicker. Finally it was discovered during the implementation stage of the models for the generating of solutions, that introductory puzzle 8 was particularly difficult to solve due to it being a nine by nine grid and also having no forbidden squares, resulting in a rather large solution space and took the solver around 3 and a half hours to find the optimal solution. Additionally with this statistical analysis attempts were then made to answer four research questions outlined within the introduction, which were subsequently successfully answered and as a result, provided an overview as to the suitability of the technologies utilised within the project. In particular how the usage of cloud-computing and SOA amongst other technologies proved more feasible compared to generating solutions natively on the device, resulting in around a 25-30 time reduction in solution generation time.