Computer networks by their very nature give rise to many combinatorial problems. Generally speaking, operations researchers and other optimisation experts are familiar with combinatorial optimisation but not with computer networks, whereas the opposite is true for computer scientists. The book is devoted to this interdisciplinary area. An introductory chapter describes relevant features of communications and computer networks for readers not already sufficiently familiar with the material. It is not assumed that readers will be acquainted with techniques of combinatorial optimisation and these, together with relevant theory, are developed as the book proceeds. The book provides a useful introduction to combinatorial optimisation within an important practical setting.