Skip to main content

Visualization for Process Scheduling

Supervisor

Suitable for

MSc in Computer Science
Mathematics and Computer Science, Part C
Computer Science and Philosophy, Part C
Computer Science, Part C

Abstract

"In domains such as manufacturing there may be a large number of individual steps required to complete an overall task, with various constraints between the steps and finite availability of resources. For example, an aircraft may require hundreds of thousands of steps to build, with constraints like ""we cannot mount the engines before the wings"", and resources like the number of workers and pieces of key machinery.  Scheduling software exists that takes the lists of steps, constraints, and resources and generates feasible schedules; that is, produces lists of which steps should be performed at what times.  Given the complexity of the problem it is impractical to generate optimal schedules, but in general close to optimal schedules ('good schedules') can be generated in a reasonable time. However the choice of which good schedule to use is often determined by factors that are not known early in the process or are difficult to quantify, such as the layout of a factory or the temporary loss of a worker due to illness. The goal of this project is to take an existing scheduling program and a class of real-life industrial problems and to develop a visualisation program that could help an end-user picture the running of a particular schedule as a three-dimensional animation. The scheduling program itself is written in C++, but this does not constrain the visualisation program to be written in a particular language. The skill-set required of a student taking this project would primarily be in three-dimensional animation, either using their own code or by bolting onto an existing animation tool such as Blender. It should also be possible for the end-user to easily vary the context of the visualisation (i.e., the placement of the equipment in the three-dimensional world and its relationship the the output of the scheduling program).

The scheduling scenario to be used as an example in this project will be provided by an Oxford-based company who are interested in potentially applying these techniques in the future.

On-line video: An on-line example of such a visualisation is at https://www.youtube.com/watch?v=YWuM43yP09A, although this level of detail is not expected in the student project; rather we are seeking a proof of concept that integrates the scheduling program output directly. "