In recent years researchers have spent much effort in developing efficient heuristic algorithms for solving the class of NP-complete problems which are widely believed to be inherently intractable from the computational point of view. Although algorithms have been designed and are notorious among researchers, computer programs are either not implemented on computers or very difficult to obtain. The purpose of this book is to provide a source of FORTRAN coded algorithms for a selected number of well-known combinatorial optimization problems. The book is intended to be used as a supplementary text in combinatorial algorithms, network optimization, operations research and management science. In addition, a short description on each algorithm will allow the book to be used as a convenient reference. This work would not have been possible without the excellent facilities of Bell-Northern Research, Canada. H. T. Lau lIe des Soeurs Quebec, Canada August 1986 CONTENTS Page Introduction Part I. INTEGER PROGRAMMING Chapter 1. Integer Linear Programming Chapter 2. Zero-one Linear Programming 30 Chapter 3. Zero-one Knapsack Problem 38 Part II. NETWORK DESIGN Chapter 4. Traveling Salesman Problem 52 Chapter 5. Steiner Tree Problem 81 Chapter 6. Graph Partitioning 98 Chapter 7. K-Median Location 106 Chapter 8. K-Center Location 114 List of Subroutines 123 Bibliographic Notes 124 INTRODUCTION Following the elegant theory of NP-comp1eteness, the idea of developing efficient heuristic algorithms has been gaining its popularity and significance.