Exact algorithms for dealing with geometric objects are complicated, hard to implement in practice, and slow. Over the last 20 years a theory of geometric approximation algorithms has emerged. These algorithms tend to be simple, fast, and more robust than their exact counterparts. This book is the first to cover geometric approximation algorithms in detail. In addition, more traditional computational geometry techniques that are widely used in developing such algorithms, like sampling, linear programming, etc., are also surveyed. Other topics covered include approximate nearest-neighbor search, shape approximation, coresets, dimension reduction, and embeddings. The topics covered are relatively independent and are supplemented by exercises. Close to 200 color figures are included in the text to illustrate proofs and ideas.
Exact algorithms for dealing with geometric objects are slow, complicated and hard to implement in practice. Over the last 20 years a theory of geometric approximation algorithms has emerged. These algorithms are simple, fast, and more robust than their exact counterparts. This book looks at geometric approximation algorithms.
This book is the first to cover geometric approximation algorithms in detail. In addition, more traditional computational geometry techniques that are widely used in developing such algorithms, like sampling, linear programming, etc., are surveyed.
Historically, there is a close connection between geometry and optImization. This is illustrated by methods like the gradient method and the simplex method, which are associated with clear geometric pictures. In combinatorial optimization, however, many of the strongest and most frequently used algorithms are based on the discrete structure of the problems: the greedy algorithm, shortest path and alternating path methods, branch-and-bound, etc. In the last several years geometric methods, in particular polyhedral combinatorics, have played a more and more profound role in combinatorial optimization as well. Our book discusses two recent geometric algorithms that have turned out to have particularly interesting consequences in combinatorial optimization, at least from a theoretical point of view. These algorithms are able to utilize the rich body of results in polyhedral combinatorics. The first of these algorithms is the ellipsoid method, developed for nonlinear programming by N. Z. Shor, D. B. Yudin, and A. S. NemirovskiI. It was a great surprise when L. G. Khachiyan showed that this method can be adapted to solve linear programs in polynomial time, thus solving an important open theoretical problem. While the ellipsoid method has not proved to be competitive with the simplex method in practice, it does have some features which make it particularly suited for the purposes of combinatorial optimization. The second algorithm we discuss finds its roots in the classical "geometry of numbers", developed by Minkowski. This method has had traditionally deep applications in number theory, in particular in diophantine approximation.
This introduction to computational geometry focuses on algorithms. Motivation is provided from the application areas as all techniques are related to particular applications in robotics, graphics, CAD/CAM, and geographic information systems. Modern insights in computational geometry are used to provide solutions that are both efficient and easy to understand and implement.
This book is intended to be used as a textbook for graduate students studying theoretical computer science. It can also be used as a reference book for researchers in the area of design and analysis of approximation algorithms. Design and Analysis of Approximation Algorithms is a graduate course in theoretical computer science taught widely in the universities, both in the United States and abroad. There are, however, very few textbooks available for this course. Among those available in the market, most books follow a problem-oriented format; that is, they collected many important combinatorial optimization problems and their approximation algorithms, and organized them based on the types, or applications, of problems, such as geometric-type problems, algebraic-type problems, etc. Such arrangement of materials is perhaps convenient for a researcher to look for the problems and algorithms related to his/her work, but is difficult for a student to capture the ideas underlying the various algorithms. In the new book proposed here, we follow a more structured, technique-oriented presentation. We organize approximation algorithms into different chapters, based on the design techniques for the algorithms, so that the reader can study approximation algorithms of the same nature together. It helps the reader to better understand the design and analysis techniques for approximation algorithms, and also helps the teacher to present the ideas and techniques of approximation algorithms in a more unified way.
Discrete optimization problems are everywhere, from traditional operations research planning problems, such as scheduling, facility location, and network design; to computer science problems in databases; to advertising issues in viral marketing. Yet most such problems are NP-hard. Thus unless P = NP, there are no efficient algorithms to find optimal solutions to such problems. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approximation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first part of the book is devoted to a single algorithmic technique, which is then applied to several different problems. The second part revisits the techniques but offers more sophisticated treatments of them. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithms courses, the book will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems.
Covering the basic techniques used in the latest research work, the author consolidates progress made so far, including some very recent and promising results, and conveys the beauty and excitement of work in the field. He gives clear, lucid explanations of key results and ideas, with intuitive proofs, and provides critical examples and numerous illustrations to help elucidate the algorithms. Many of the results presented have been simplified and new insights provided. Of interest to theoretical computer scientists, operations researchers, and discrete mathematicians.
Handbook of Approximation Algorithms and Metaheuristics, Second Edition reflects the tremendous growth in the field, over the past two decades. Through contributions from leading experts, this handbook provides a comprehensive introduction to the underlying theory and methodologies, as well as the various applications of approximation algorithms and metaheuristics. Volume 1 of this two-volume set deals primarily with methodologies and traditional applications. It includes restriction, relaxation, local ratio, approximation schemes, randomization, tabu search, evolutionary computation, local search, neural networks, and other metaheuristics. It also explores multi-objective optimization, reoptimization, sensitivity analysis, and stability. Traditional applications covered include: bin packing, multi-dimensional packing, Steiner trees, traveling salesperson, scheduling, and related problems. Volume 2 focuses on the contemporary and emerging applications of methodologies to problems in combinatorial optimization, computational geometry and graphs problems, as well as in large-scale and emerging application areas. It includes approximation algorithms and heuristics for clustering, networks (sensor and wireless), communication, bioinformatics search, streams, virtual communities, and more. About the Editor Teofilo F. Gonzalez is a professor emeritus of computer science at the University of California, Santa Barbara. He completed his Ph.D. in 1975 from the University of Minnesota. He taught at the University of Oklahoma, the Pennsylvania State University, and the University of Texas at Dallas, before joining the UCSB computer science faculty in 1984. He spent sabbatical leaves at the Monterrey Institute of Technology and Higher Education and Utrecht University. He is known for his highly cited pioneering research in the hardness of approximation; for his sublinear and best possible approximation algorithm for k-tMM clustering; for introducing the open-shop scheduling problem as well as algorithms for its solution that have found applications in numerous research areas; as well as for his research on problems in the areas of job scheduling, graph algorithms, computational geometry, message communication, wire routing, etc.