“Combines the theoretical and practical aspects of linear and integer programming. Provides practical case studies and techniques, including roundingoff, columngeneration, game theory, multiobjective optimization, and goal programming, as well as realworld solutions to the transportation and transshipment problem, project scheduling, and decentralization.”
Available at amazon.com, amazon.co.uk, crcpress.com, Google Play and bol.com.
A preview is available on Google Books.
Features
 Reflects modern approaches and new applications.
 Extends prototype examples to more realistic settings.
 Introduces the elementary theory of linear and integer optimization.
 Uses realworld case studies to illustrate application of the theory.
Summary
Presenting a strong and clear relationship between theory and practice, Linear and Integer Optimization: Theory and Practice is divided into two main parts. The first covers the theory of linear and integer optimization, including both basic and advanced topics. Dantzig’s simplex algorithm, duality, sensitivity analysis, integer optimization models, and network models are introduced.
More advanced topics also are presented including interior point algorithms, the branchandbound algorithm, cutting planes, complexity, standard combinatorial optimization models, the assignment problem, minimum cost flow, and the maximum flow/minimum cut theorem.
The second part applies theory through realworld case studies. The authors discuss advanced techniques such as column generation, multiobjective optimization, dynamic optimization, machine learning (support vector machines), combinatorial optimization, approximation algorithms, and game theory.
Besides the fresh new layout and completely redesigned figures, this new edition incorporates modern examples and applications of linear optimization. The book now includes computer code in the form of models in the GNU Mathematical Programming Language (GMPL). The models and corresponding data files are available for download and can be readily solved using the provided online solver.
This new edition also contains appendices covering mathematical proofs, linear algebra, graph theory, convexity, and nonlinear optimization. All chapters contain extensive examples and exercises. This textbook is ideal for courses for advanced undergraduate and graduate students in various fields including mathematics, computer science, industrial engineering, operations research, and management science.
About the authors
Gerard Sierksma is an emeritus professor of Quantitative Logistics and Sports Statistics at the Faculty of Economics and Business of the University of Groningen, the Netherlands. He is an R&D advisor ORTEC/Sports and the Dutch Olympic Committee, and a fellow of the Canadian Institute of Combinatorics and its Applications. He was elected as Vice Chairperson of INFORMS on SpORts In 2008. He obtained a PhD degree in mathematics in 1976. After his PhD, his attention shifted towards practical applications of mathematical techniques, especially to logistics. In the past years he specialized in the design of decision support computer systems for industry and professional sports.
Yori Zwols is a senior research engineer at DeepMind, working on machine learning and artificial intelligence. He holds a PhD in Industrial Engineering and Operation Research from Columbia University, focusing on combinatorial optimization and graph theory. He also has an MA in Economics from Brown University.
Online resources
 Table of contents.
 A solution manual (with solutions to selected exercises) is available upon request via email.
 Errata (Last updated on February 17, 2019). If you find any new typos/mistakes/inaccuracies, we would be grateful to hear about them through email.
Online optimizer
To assist teaching students handson optimization and modeling skills, we provide an online linear optimization solver app. This web application:
 Solves linear and integer optimization models through an inbrowser version of the GNU GLPK optimizer.
 Has several builtin example models.
 Performs sensitivity analysis.
 Graphs the feasible region (for twodimensional models).
 Integrates with Google Drive.
Source code and data files
All source code in this book and on this website is licensed under the MIT License.Chapter 1: Basic concepts of linear optimization
 GMPL models: Model ‘Dovetail’, Model ‘Dovetail*’, Diet problem, Portfolio optimization, Data envelopment analysis.
 Data files: Exercise 1.8.20.
Chapter 6: Largescale linear optimization
 GMPL model: Auxiliary model for Model ‘Dovetail’ (for initialization).
 Python code for the interior path algorithm: Interior path algorithm, code to solve Model ‘Dovetail’. This Python code requires NumPy.
Chapter 7: Integer linear optimization
 GMPL models: Model ‘Knapsack problem’, Model ‘Machine scheduling problem’, Model ‘Decentralization problem’.
 Data files: Exercise 7.5.26, Exercise 7.5.27.
Chapter 8: Linear network models
 GMPL models: Project scheduling problem.
 Still to add: minimum cost flow problem, maximum flow/minimum cut problem.
Chapter 10: Designing a reservoir for irrigation
 GMPL model: reservoir.mod
Chapter 11: Classifying documents by language
 GMPL model: model
 Data: Microsoft Excel, commaseparated value (CSV) file.
Chapter 12: Production planning: a single product case
 GMPL models: model (PP1), model (PP2), model (PP3), model (PP4), model (PP5).
Chapter 13: Production of coffee machines
 GMPL models: coffee1.mod, coffee2.mod, coffee3.mod.
 Data: inventory.txt (initial inventory s_{i0}), demand.txt (demands d_{it}).
Chapter 14: Conflicting objectives: producing versus importing
 GMPL model: model (O1), model (O2), feasible region, model (O3), model (O4), model (O5).
Chapter 15: Coalition formation and profit distribution
 GMPL model: coalition model.
Chapter 16: Minimizing trimloss when cutting cardboard
 Knapsack GMPL model: knapsack.mod
 GilmoreGomory algorithm (python): trimloss.py (requires pyglpk).
Chapter 17: Offshore helicopter routing

C++ code on GitHub
This code runs on GNU C++ version 4.3 or higher.
 Platform data:
platform.txt
The first three lines contain N, R, and C, respectively. The N subsequent lines are of the form “i x_{i} y_{i}”, where i is the platform number, and x_{i} and y_{i} are the x and ycoordinates of platform P_{i}, respectively.
 Demand data:
demand1.txt
demand2.txt
demand3.txt
demand4.txt
demand5.txt
demand6.txt
demand7.txt
demand8.txt
demand9.txt
demand10.txt
demand11.txt
demand12.txt
demand13.txt
demand14.txt
demand15.txt
or download them all in a zip file.
Each line in each file is of the form “i D_{i}”, where i is the platform number and D_{i} is the number of crew exchanges demanded at platform P_{i}.
Chapter 18: The catering service problem
 GMPL model: napkin.mod
Appendix E: Writing LPmodels in GNU MathProg
 Listings: Listing E.1, Listing E.2.