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.