**Table of Contents**

The object `problem`

is a structure describing the
classification of deterministic scheduling problems in the notation
proposed by [Graham79] and
[Błażewicz83]. An example of its
usage is shown in the following code.

>> prob = problem('P|prec|Cmax') P|prec|Cmax

This notation consists of three parts (α | β | γ). The first part
(`alpha`

) describes the processor environment, the second
part (`beta`

) describes the task characteristics of the
scheduling problem as precedence constraints, or release times. The last
part (`gamma`

) denotes an optimality criterion.

Special problems, not specified by the notation, can be identified
by one-word name, e.g. `CSCH`

. For more information see
Reference Guide @problem/problem.m.

Command `is`

is used to test whether a notation
includes specific description. A simple problem test should be included in
each scheduling algorithm of the toolbox. An example is shown
below.

if ~is(prob,'alpha','P') | ~is(prob,'betha','rj') | ~is(prob,'gamma','Lmax') error('Can not solve this scheduling problem.'); end