Incorporating recent developments that have made it possible to solve difficult optimization problems with greater accuracy, author Laurence A. Wolsey presents a number of state-of-the-art topics not covered in any other textbook. These include improved modeling, cutting plane theory and algorithms, heuristic methods, and branch-and-cut and integer programming decomposition algorithms. This self-contained text:
Integer Programming is an ideal text for courses in integer/mathematical programming-whether in operations research, mathematics, engineering, or computer science departments. It is also a valuable reference for industrial users of integer programming and researchers who would like to keep up with advances in the field.
Written for students of integer/mathematical programming in operations research, mathematics, engineering, or computer science, Integer Programming offers an updated edition of the basic text that reflects the most recent developments in the field.
LAURENCE A. WOLSEY is a mathematician working in the field of integer programming. He is a former president and research director of the Center for Operations Research and Econometrics (CORE) at UCLouvain in Belgium where he is Emeritus Professor of applied mathematics in the Engineering school. Table of contents Preface to the Second Edition xii
Recently a duality theory for integer programming has been developed. Here we examine some of the economic implications of this theory, in particular the necessity of using price functions in place of prices, and the possibility of carrying out sensitivity analysis of optimal solutions. In addition we consider the form of price functions that are generated by known algorithms for integer programming.
Laurence Alexander Wolsey is an English mathematician working in the field of integer programming. He is a former president and research director of the Center for Operations Research and Econometrics (CORE) at Université catholique de Louvain in Belgium.[1] He is professor emeritus of applied mathematics at the engineering school of the same university.
Wolsey has made seminal contributions in duality theory for integer programming, submodular optimization, the group-theoretic approach and polyhedral analysis of fixed-charge network flow and production planning models.[3]
Review by Jakub Marecek (Computer Journal) The emphasis put on mixed integer rounding and mixing sets, heuristics in-built in general purpose integer programming solvers, as well as on decompositions and heuristics using integer programming should be praised... There is no doubt that this volume offers the present best introduction to integer programming formulations of lotsizing problems, encountered in production planning. (2007)
The revised second edition of Integer Programming explains in clear and simple terms how to construct custom-made algorithms or use existing commercial software to obtain optimal or near-optimal solutions for a variety of real-world problems. The second edition also includes information on the remarkable progress in the development of mixed integer programming solvers in the 22 years since the first edition of the book appeared. The updated text includes information on the most recent developments in the field such as the much improved preprocessing/presolving and the many new ideas for primal heuristics included in the solvers. The result has been a speed-up of several orders of magnitude. The other major change reflected in the text is the widespread use of decomposition algorithms, in particular column generation (branch-(cut)-and-price) and Benders' decomposition. The revised second edition:
There was this course in many undergraduate mathematics programs called integer programming. It included Modelling, Linear Programming Primal, Linear Programming Duality, Dual Simplex Algorithm and Alternative IP Formulations, Total unimodularity, sub-modularity, Matroids, Branch and Bound, Delayed Column Generation, Branch and Price, Lagrangian Relaxation, Lagrangian Dual, Cutting Planes, Gomory Cuts, Branch and Cut.I am a high school student and know introductory university mathematics, such as single and multivariable calculus, ordinary differential equations and elementary linear algebra(I read linear algebra by Gilbert Strang).
Branch-and-bound for integer optimization typically uses single-variable disjunctions. Enumerative methods for integer optimization with theoretical guarantees use a non-binary search tree with general disjunctions based on lattice structure. These disjunctions are expensive to compute and challenging to implement. Here we compare two lattice reformulations that can be used to heuristically obtain general disjunctions in the original space, we develop a new lattice-based variant, and compare the derived disjunctions computationally with those produced by the algorithm of Lovász and Scarf.
N2 - Branch-and-bound for integer optimization typically uses single-variable disjunctions. Enumerative methods for integer optimization with theoretical guarantees use a non-binary search tree with general disjunctions based on lattice structure. These disjunctions are expensive to compute and challenging to implement. Here we compare two lattice reformulations that can be used to heuristically obtain general disjunctions in the original space, we develop a new lattice-based variant, and compare the derived disjunctions computationally with those produced by the algorithm of Lovász and Scarf.
AB - Branch-and-bound for integer optimization typically uses single-variable disjunctions. Enumerative methods for integer optimization with theoretical guarantees use a non-binary search tree with general disjunctions based on lattice structure. These disjunctions are expensive to compute and challenging to implement. Here we compare two lattice reformulations that can be used to heuristically obtain general disjunctions in the original space, we develop a new lattice-based variant, and compare the derived disjunctions computationally with those produced by the algorithm of Lovász and Scarf.
There are at least three somewhat distinct aspects to integer programming: theory (e.g., why LP solutions occur at vertices of polytopes); algorithms (branch-and-bound, decomposition, cutting plane generation ...); and modeling (turning a problem into a solvable model, pros and cons of "big M", ...). Recommended books are likely to be stronger in some aspects than others, so it might help to know which aspect(s) concern you the most.
This textbook provides a comprehensive modeling, reformulation and optimization approach for solving production planning and supply chain planning problems, covering topics from a basic introduction to planning systems, mixed integer programming (MIP) models and algorithms through the advanced description of mathematical results in polyhedral combinatorics required to solve these problems.
Research efforts of the past fifty years have led to a development of linear integer programming as a mature discipline of mathematical optimization. Such a level of maturity has not been reached when one considers nonlinear systems subject to integrality requirements for the variables. This chapter is dedicated to this topic. The primary goal is a study of a simple version of general nonlinear integer problems, where all constraints are still linear. Our focus is on the computational complexity of the problem, which varies significantly with the type of nonlinear objective function in combination with the underlying combinatorial structure. Numerous boundary cases of complexity emerge, which sometimes surprisingly lead even to polynomial time algorithms. We also cover recent successful approaches for more general classes of problems. Though no positive theoretical efficiency results are available, nor are they likely to ever be available, these seem to be the currently most successful and interesting approaches for solving practical problems. It is our belief that the study of algorithms motivated by theoretical considerations and those motivated by our desire to solve practical instances should and do inform one another. So it is with this viewpoint that we present the subject, and it is in this direction that we hope to spark further research.
intlinprog uses this basic strategy to solve mixed-integer linear programs. intlinprog can solve the problem in any of the stages. If it solves the problem in a stage, intlinprog does not execute the later stages.
Use a Branch and Bound algorithm to search systematically for the optimal solution. This algorithm solves LP relaxations with restricted ranges of possible values of the integer variables. It attempts to generate a sequence of updated bounds on the optimal objective function value.
The initial relaxed problem is the linear programming problem with the same objective and constraints as Mixed-Integer Linear Programming Definition, but no integer constraints. Call xLP the solution to the relaxed problem, and x the solution to the original problem with integer constraints. Clearly,
The main goal of mixed-integer program preprocessing is to simplify ensuing branch-and-bound calculations. Preprocessing involves quickly preexamining and eliminating some of the futile subproblem candidates that branch-and-bound would otherwise analyze.
Cuts are additional linear inequality constraints that intlinprog adds to the problem. These inequalities attempt to restrict the feasible region of the LP relaxations so that their solutions are closer to integers. You control the type of cuts that intlinprog uses with the CutGeneration option.
To get an upper bound on the objective function, the branch-and-bound procedure must find feasible points. A solution to an LP relaxation during branch-and-bound can be integer feasible, which can provide an improved upper bound to the original MILP. Certain techniques find feasible points faster before or during branch-and-bound. intlinprog uses these techniques at the root node and during some branch-and-bound iterations. These techniques are heuristic, meaning they are algorithms that can succeed but can also fail.
e2b47a7662