Let us first describe the purpose of this book, starting with the
explanation of its title. In general, scheduling problems can be
understood very broadly as the problems of allocating resources over
time to perform a set of tasks being parts of some processes, among
which computational and manufacturing ones are most important. Tasks
individually compete for resources which can be of a very different
nature, e.g. manpower, money, processors (machines), energy, tools. The
same is true for task characteristics, e.g. ready times, due dates,
relative ur- gency weights, functions describing task processing in
relation to allotted re- sources. Moreover, a structure of a set of
tasks, reflecting precedence constraints among them, can be defined in
different ways. In addition, different criteria which measure the
quality of the performance of a set of tasks can be taken into account.
It is easy to imagine that scheduling problems understood so generally
ap- pear almost everywhere in real-world situations. Of course, there
are many as- pects concerning approaches for modeling and solving these
problems which are of general methodological importance. On the other
hand, however, some classes of scheduling problems have their own
specificity which should be taken into ac- count. Since it is rather
impossible to treat all these classes with the same atten- tion in a
framework of one book, some constraints must be put on the subject area
considered. In the case of this book these constraints are as follows.