TORSCHE Scheduling
Toolbox for Matlab

TORSCHE Introduction

TORSCHE (Time Optimisation, Resources, SCHEduling) Scheduling Toolbox for Matlab is a freely (GNU GPL) available toolbox developed at the Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering. The toolbox is designed to undergraduate courses and to researches in operations research or industrial engineering.

The current version of the toolbox covers following areas of scheduling: scheduling on monoprocessor/dedicated processors/parallel processors, cyclic scheduling and real-time scheduling. Furthermore, particular attention is dedicated to graphs and graph algorithms due to their large interconnection with scheduling theory. The toolbox offers transparent representation of scheduling/graph problems, various scheduling/graph algorithms, a useful graphical editor of graphs, an interface for Integer Linear Programming and an interface to TrueTime (MATLAB/Simulink based simulator of the temporal behaviour).

The scheduling problems and algorithms are categorized by notation (α | β | γ) proposed by [Graham79] and [Baewicz83]. This notation, widely used in scheduling community, greatly facilitates the presentation and discussion of scheduling problems.

The toolbox is supplemented by several examples of real applications. The first one is scheduling of DSP algorithms on a HW architecture with pipelined arithmetic units. Further, there is an application of response-time analysis in real-time systems. The toolbox is equipped with sets of benchmarks from research community (e.g. DSP algorithms, Quadratic Assignment Problem).

We are pleased with growing number of users and we are very glad, that this toolbox will be cited in the third edition of the book 'Scheduling: Theory, Algorithms and Systems' by Michael Pinedo [Pinedo02].

This user's guide is organized as follows: Chapter3, Tasks, Chapter4, Sets of Tasks, Chapter5, Classification in Scheduling and Chapter6, Graphs presents the tool architecture and basic notation. The most interesting part is Chapter7, Scheduling Algorithms describing implemented off-line scheduling algorithms demonstrated on various examples. Section Chapter8, Real-Time Scheduling is dedicated to on-line scheduling and on-line scheduling algorithms. Graph algorithms are discussed in Chapter9, Graph Algorithms. Supplementary algorithms are described in Chapter10, Other Algorithms. The text is supplemented with case studies, presented in Chapter11, Case Studies, showing practical applications of the toolbox.

Webmaster - Jan Dvořák (2004 - 2019)