0% found this document useful (0 votes)
619 views

Wolsey IntegerProgramming

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
619 views

Wolsey IntegerProgramming

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

' Intéger Programming

' LAURENQEA Wow“

ALWiley-IntersclencePubhca .
JQHNmm& sons,
1N“
Hewélork 'Wchefitbr -W°~¥“h¢m ?meane
<
##W._

WR WT-E
EYRI SCNH
ERg1 NGTE
IESM ._ . ¥Ew M£. T€@SMDDBTWTION
E ?WTI
“fiif
"*Rb‘x’rfiéi’wifiifii‘fbks .
x‘a
‘:>.,
‘x
Y\
.

'7‘ ’5 85/7594
5179’
w (/7
{Q C? 3
C. 2»
To Marguerite
1

-free paper.®
This text is printed on acid .
Inc. All rights reserved
John Wiley & Sons,
Copyright © 1998 by
ously in Canada.
Published simultane l
d, stored in a retrieva
ation may be reproduce
No part of this public mea ns. elec tronic,
in any form or by any
system or transmitted or otherwise, except
pho toc opy ing , recording, scanning
mechanica l,
108 of the 197 6 United States
tions 107 or
as permitted under Sec tte n per mission of the
t either the prior wri
Copyright Act, withou h pay men t of the appropriate
tio n thr oug
Publisher, or authoriza ter, 222 Rosewood
yright Clearance Cen
per-copy fee to the Cbp 840 0, fax (978) 750-4744.
23, (978) 750
Drive, Danvers, MA 019 sho uld be addressed to
her for permission
Requests to the Publis 11 Wil ey & Sons, Inc., 605 Third
men t, J011
the Permissions Depart —6011, fax (212)
10158—0012, (212) 850
Avenue, New York, NY LE Y. CO M.
RMREQ®WI
850-6008, E—Mail: PE

cation Data:
Catalogingfin-Publi
Library of Congress

Wolsey. Laurence A
/ Laurence A. Wolsey
Integer programming rete mathematics
1). cm. —— (Wiley oln terscience-senes in disc
and optimization)
publication."
“Wiley-‘Inberscience xes.
Includes bibliographi cal references and inde
r)
ISBN 0471-28366-5Kalk. pape e. 11. series.:
I. Titl
1; Integer programming,’
‘1 T57.74W67 1998 98-7296
I .519.7'7-'-dc21

tes of America General "Library System


‘ ”Printéd in the United Sta
0niv$rsity of Wisconsin - Madison
,10_ 9 8 7 6 “728 State Street
Madiéon, WI 53706-1494
USA. ' -‘
’4”;
Contents

xiii
Preface .
xvii
Abbreviations and Notation

Formulations
1.1 Introduction
1.2 What Is an Integer Program?
1.3 Formulating IPs and BIPs
1.4 The Combinatorial Explosion
1.5 Mixed Integer Formulations
1.6 Alternative Formulations
1.7 Good and Ideal Formulations
1.8 Notes
1.9 V Exercises

Optimality, Relaxation, and Bounds


2.1 Optimality and Relaxation
2.2. Linear Programming Relaxations
2.3 Combinatorial Relaxations
2.4 Lagrangian Relaxation
. 2.5 Duality
viii CONTENTS

30
2.6 Primal Bounds: Greedy and Local Search
33 3
2.7 Notes
33
2.8 Exercises
37
' Well—Solved Problems
37
3.1 Properties of Easy Problems
38
3.2 IPs with Totally Unimodulax Matrices
40
3.3 Minimum Cost Network Flows
42
3.4 Special Minimum Cost Flows
42
3.4.1 Shortest Path
43
3.4.2 Maximum .9 —t Flow
43
3.5 Optimal Trees
46
3.6 Submodularity and Matroids‘
49
3.7 Notes
50
3.8 Exercises

Matchings and Assignments


,53
53
4.1 Augmenting Paths and Optimality
hing 55
4.2 Bipartite Maximum Cardinality Matc
57
4.3 The Assignment Problem
62
4.4 Notes
63
4.5 Exercises
67
Dynamic Programming
67
5.1 Some Motivatiofi: Shortest Paths ,68
5.2 Uncapacitated Lot—Sizing
71
5.3 An Optimal Subtree of a Tree
72
5.4 Knapsack Problems
73
5.4.1 0—1 Knapsack
74
5.4.2 Integer Knapsack ' Problems
‘77
5.5 Notes
78
5.6 Exercises
1'

I
81
Complexity and Problem Reductions
i.

' 81
6.1 Complexity
7? 82
. 6.2 Decision Problems, and Classes NP and
84
6.3 Polynomial Reduction and the Class N’PC
87
6.4 Consequences of P = N? or ’P 9e NP
CONTENTS ix

6.5 Optimization and Separation 88


6.6 Notes 89
6.7 Exercises ’ . 89

Branch and Bound ' . 91


7.1 Divide and Conquer » 91
7.2 Implicit Enumeration 92
7.3 Branch and Bound: An Example 95
7:4 LP-based Branch and Bound 98
7.5 Using a Branch—and-Bound System 101
7.5.1 ' If All Else Fails 103
7.6 Preprocessing“ 103
7.7 Notes 107
7.8 Exercises 108

Cutting Plane Algorithms ' 113


8.1 Introduction 113
8.2 Some Simple Valid Inequalities 114
8.3 Valid Inequalities 117
8.3.1 Valid Inequalities for Linear Programs 117
8.3.2 Valid Inequalities for Integer Programs 118
8.4 A Priori Addition of Constraints 121
‘,
8.5 Automatic Reformulation or Cutting Plane
‘ Algorithms 123
8.6 Gomory’s Fractional Cutting Plane Algorithm 124
8.7 Mixed Integer Cuts 127
8.7.1 The Basic Mixed Integer Inequality 127
8.7.2 The Mixed Integer Rounding (MIR) ’
Inequality 129
8.7.3 The Gomory Mixed Integer Cut‘ 129
8.8 Disjunctive Inequalities" 130
8.9 Notes » 133
. 134 ,
8.10 Exercises

Strong'Valid Inequalities 139


9.1 Introduction 139
. 9.2 Strong Inequalities 140
' 9.2.1 Dominance 140
9.2.2 Polyhedra, Faces, 31nd Facets 142
X CONTENTS
.144
9.2.3 Facet and Convex Hull Proofs" 147
9.3 0—1 Knapsack Inequalities 147
9.3.1 Cover Inequalities 148
9.3.2 Strengthening Cover Inequalities 150
ualities
9.3.3 Separation for Cover Ineq 151
9.4 Mixed 0‘1 Inequalities 151
9.4.1 Flow Cover Inequalities 153
ties
9.4.2 Separation for Elow Cover Inequali 154
9.5 The Optimal Subtour Problem
ed Subtour
9.5.1 Separation for Generaliz 155
Constraints
157
9.6 Branch—and—Cut 160
9.7 Notes 161
9.8 Exercises
167
10 Lagrangian Duality 167
10.1 Lagrangian Relaxation 172
n Dual
10.2 The Strength of the Lagrangia 173
l
10.3 Solving the Lagrangian Dua 177
iable Fixing
10.4 Lagrangian Heuristics and Var 179
l
10.5 Choosing a Lagrangian Dua 180
10.6 Notes 181
10.7 Exercises

s .
185
11 Column Generation Algorithm 185
11.1 Introduction 187
of an IP
11.2 Dantzig—Wolfe Reformulation 188
gram
11.3 Solving the Master Linear Pro . 190
n
11.3.1 STSP by Gelumn Generatio
Programming
11.3.2 Strength of the Linear ‘ 192
Master
1P 193
11.4 1P Column Generation for 0—1 194
ing /Pa cki ng Pro blems
11.5 Implicit Partition 196

11.6 Partitioning with Identical Subsets’ 200
11.7 Notes 201..
11.8 Exercises
203
12 Heuristic Algorithms 203 *
12. 1 Introduction
.
CONTENTS XI

204
12.2 Greedy and LoCal Search Revisited
207
12.3 Improved Local Search Heuristics
12.3.1 Tabu Search 207
208
12.3.2 Simulated Annealing
210
12.3.3 Genetic Algorithms
211
12.4 Worst—Case Analysis of Heuristics
214
12.5 MIP-based Heuristics
217
12.6 Notes
12.7 Exercises 218

221
13 From Theory to Solutions
13.1 Introduction 221
221
13.2 Software for Solving Integer Programs
223
13.3 How Do We Find an Improved Formulation?
223
13.3.1 Uncapacitated Lot-Sizing
227
13.3.2 Capacitated Lot-Sizing
229
13.4 Fixed Charge Networks: Reformulations
13.4.1 The Single Source Fixed Charge Network
Flow Problem 229
13.4.2 The Directed Subtree Problem
231
13.5 Multi-Item Single Machine 'Lot—Sizing
232
13.6 A Multiplexer Assignment Prbblem 236
13.7 Notes 240
13.8 Exercises 241
245
References

261
Index
' Preface

intended Audience

ns re
The book is addressed to undergraduates and graduates in operatio
ing, and compute r science. It should be suitable
search, mathematics, engineer
aimed at
for advanced undergraduate and Masters level programs. It is also
and why some problem s are
users of integer programming who wish to underst
difficult to‘solve, how they can be reformul ated so as to give better results,
ly.
and how mixed integer programming systems can be used more effective
familiar ity with linear
The book is essentially self-centained, though some
are
. programming is assumed, and a few basic concepts from graph theOry
used. , ‘
per
,The book provides material for a one—semester course of 2—3 hours
week.

What and How

s with dis-
Integer Programming is about ways to solve optimization problem
integer variables. Such variables are used to model indivisibi lities,
crete .or
to buy, invest, hire,
and 0/1 variables are used to represent on/off decisions
train
and so 011. Such problems arise in all walks of life, whether in developing
s, planning the work schedule of a producti on line or a
or aircraft timetable
maintenance team, or planning nationally or regionally the daily or weekly
_ production of electricity.
xiii
xiv PREFACE
ability to solve
a remarkable advance in our
The last ten years have seen ms. Thi s is due to a. com—
to near optimality difficul t practical integer progra
bination of

i) Improved modeling
software
ii) Superior linear programming

iii) Faster computers


algorithm
iv) New cutting plane theory and

v) New heuristic methods


rithms
programming decomposition algo
vi) Branch-and—cut and integer
ng model and
still build an integer programmi
Today many industrial users ed by thei r soft ware. Unless
ible solution provid
stop at the first integer feas 10%, or 100% away from
such solutions can be 5%,
the problem is very easy, . In many cases it is
es running into mega—dollars
optimal, resulting in loss proved to be optimal, or proven
s that are
now possible to obtain solution of computer
1%, or 5% of opti mal, in a reasonable amount
within 0.1%, t be built, and either
a cost: better models mus
time. There is, however, or better use mus t be made
must be constructed,
specially tailored algorithms
.
of existing commercial software e problems are
suc h gain s, it is nece ssary to understand why som
To make bett er tha n others, how
why some formulations are
more difficult than others, ger pro gra mmi ng software
can be, and how inte
effective different algorithms h understanding.
this book is to provide some suc
can be best used. The aim of pro gra mming problems
er to variotxs integer
Chapter 1 introduces the read between good
intr oduc es the important distinction
and their formulation, and it is possible to prove that
r 2 explains how
and bad formulations. Chapte
l or close to optinial.
feasible solutions are optima problems and
Chapters 3—5 study inte ger programs that are easy. The
because the algorithmic
in their own right, but also
algorithms are interesting tions for more
as to provide good feasible solu
ideas can often be adapted so ble ms mus t ofte n be solved
, these easy pro
difficult problems. In addition t problems. We
algorithms for the more'diflicui
repeatedly as subproblems in integei: solu tions, which is
grams automatically have
examine when linear pro . The gre edy algorithm for
work flow problems
in particular the case for net ment problem,
al-dual algorithm for the assign
finding an optimal tree, the prim sen ted , and their
gramming algorithms arepre
and a variety of dynamic pro
running times examined.
PREFACE xv

the apparent difference


I In Chapter 6 we informally address the question of
ms presen ted in Chapte rs 3—5 that can be
in difficulty between the proble
d in the rest of the book.
solved rapidly, and the “difficult” problems treate
ted in Chapter 7.
The fundamental branch—and—bound approach is presen
progr ammin g system s based on branch-
Certain features of commercial integer
sed. In Chapte rs 8 and 9 we discus s valid inequalities
and—bound are discus
formul ations and obtain
and cutting’pianes. The use of inequalities to improve
ly the most progre ss has been made
tighter bounds is the area in which probab es to
give exampl es of the cuts, and also the routin
in the last ten years. We
find cuts that are being added to the latest systems.
posing integer pro-
In Chapters 10 and 11 two important ways of decom
is by Lagran gian relaxa tion and the second
grams are presented. The first
generation. It is often very easy to imple ment a special—purpose
by cblumn
many applic ations are repor-
algorithm based on Lagrangian relaxation, and
ammin g colum n genera tion, which is linear
ted in the literature. Integer progr
recent applications suggest
programming based, is more recent, but Several
that its importance will grow. ‘
ing “dual” bounds
Whereas the emphasis in Chapters 7—11 is on obtain
optima l value of a maximi zation proble m), the need to
(upper bounds on the
bound s is addressed
find good feasible solutions that provide “primal” (lower)
ideas of variOu s moder n local search
in Chapter 12. ‘ We present the basic
analysis of heuristics, and
metaheuristies, introduce briefly the worst-case
can be used heuristically to
also discuss how an integer programming system
integer programs.
find solutions of reasonable quality for highly intractible
emphas is. By looking at a couple of
_ 'Finahy, in Chapter 13 we change
ons, we try to give a better
applications and asking a series of typical questi
nted with the choice of
idea of how theory and practice converge when confro
an appropriate algorithm, and the questi on of how to improve a formulation,
mixed intege r progr ammin g system effectively.
or how to use a commercial
chapters can be taken in
In using the book for a’one—semester course, the
of Chapters 1, 2, 3,
order. In any case we suggest that the basics consisting
6, 7 should' be studied in sequen ce. Chapte r 4 is interes ting for those who
zation. Chapter 5 can be
have had little exposure to combinatorial optimi
studie d at any time after Chapter
postponed, and parts of Chapter 12 can be
Chapters 8 and 9.
2. There is also no difficulty in studying Chapter 10 before
d sections that are optional.
The longer Chapters 7, 8, 9 and 11 contain starre
these chapters, or
The instructor may wish to leave out some material from
to them. Chapte r 13 draws on material from
alternatively devote more time
but can be used as motiva tionvm uch earlier .
most'of the book,

Acknowiedgments

buted in some way


I am sincerely grateful to the many people who have contri
Lopari c has voluntarily played the _
to the preparation of this book. Marko
xvi PREFACE

which this material was developed.


role of teaching assistant in the course for
Gour din and Abilio Lucena haveali
Michele Conforti, Cid de Souza, Eric John Beasley, Marc
provided feedback.
used parts of it in the classroom and
t, Jame s Tebb oth and Frangois Vanderbeck have criticized
Pirlot, Yves Poche encouraged
arel Lenstra has both
one or more chapters in detail, and Jan-K
when requested. Finishing always takes longer
and provided rapid feedback
colleagues and doctoral students at
than expected, and I am grateful to my
tried to interest me in othernmore
Core for their patience when they have
Scien ce Department of the University of
pressing matters, to the Computer
book in congenial and interesting
Utrecht for allowing me to finish off the
, MEMIPS, for support during
surroundings, and to Esprit program 20118 enne Henry for
Sincere thanks go to Fabi
part of the 1997—98 academic year. final
her secretarial help over manyyears, and for her work in producing the
manuscript.
many researchers with» whom I
Scientifically I am deeply indebted to the
to collaborate. Working with George
have had the good fortune and pleasure
taught me a.» little about writing.
Nemhauser for many years has, I hope,
with R. Garfinkel provided an out?
His earlier book on integer programming
duat e textb ook. Yves Pochet is a. considerate
standing model for an undergra
with Bob Daniel, who has always
and stimulating colleague, and together
lem per day,” they provide a constant
been ready to provide a “practical prob
is chall enging both theoretically and prac—
reminder that ,integer programming '
remain are entirely my own.
tically. However, the bias and faults that
Abbreviations
and Notatz'on

BIP: Binary or Zero—One Integer Problem


B": {0, 1}" the set of .n-dimensional 0,1 vectors
C-G: Chvatal-Gomory
CLS: Capacitated Lot-Sizing Problem
conv(S): The convex hull of S
COP: Combinatorial Optimization Problem
D: Dual Problem
DP: DynamicProgramming
~ ej: The 3'“ unit vector
es: The characteristic vector of S
E(3): A11 edges with both endpoints in the node set S '
FCNF: Fixed Charge Network Flow Problem
GAP: Generalized Assignment Problem
GSEC: Generalized Subtour Elimination Constraint
GUB: Generalized Upper Bound
IKP: Integer Knapsack Problem
IP: Integer» Programming Problem
IPM: Integer Programming Master Problem
LD: Lagrangian Dual Problem
1115: Ieft-hand side .
- LP: abbreviation for “linear programming”
xvii
NOTATION
xviii ABBREVIATIONS AND
blem
l Linear Programming Pro
LP: A specific or genera ble m
ng Master Pro
LPM: Linear Programmi
gth of the inp ut of a problem instance X
L(X): Len
M : A large positive number
gramming Problem
M IP: Mixed Integer Pro
ng
MIR: Mixed Integer Roundi
N: Generi c set {1,2,~~ ' ,n}
N7’: Class of NP problems
te problems
N’PC: Class of NP-comple yhedron
c Problem Class, or Pol
P : Generi
solvable problems
’1’: Class of polynomially
s of N
’P(N): Set of subset
rhs: right-hand side Problem
ear Programming Master
RLPM: Restricted Lin
l numbers
R": The n—dimensional rea
ime nsi ona l non negative real numbers
R1: The nod
, or_ subset of N
S: Feasible region of IP
SOS: Special Ordere d Set
ing Salesman Problem
STSP: Symmetric Travel m
veling Salesman Proble
TSP: (Asymmetric) Tra
TU: Totally Unimodular
ility Location Problem
UFL: Uncapacitated Fac
-Sizing Problem
ULS: Uncapacitated Lot
i) 6 A}
V’ ('1): Node set {It 6 V : (k,
{k 6 V 2 (i, k) E A}
V+(i): Node set
le region of IP, or a problem instance
X : Feasib
:1: and 0
(z)+: The maximum of
nonnegative integers
Z1: The n—dimensional e in S
m a node not in S to a nod
5" (S): A11 arcs going fro e not in 5'
m a node in S to a nod
5+(S): All arcs going fro end poi nt in S and the other in V \ S
edges with one
5(5) or 6(S,V \ S): All
edges incident to node i
6(1) or 6({i}). The set of
,1). '
1: The vector (1, 1, . . .
0: The vector (0,0, . . . , 0)
Integer Programming
Formulations

1.1 INTRODUCTION

A wide variety of practical problems can be formulated and solved using in-
teger programming. We start by describing briefly a few such problems.

1. Tim Scheduling
times
Certain train schedules repeat every hour. For each line, the travel
between stations are known, and the time spent in a'station must lie within
a given time interval. Two trains traveling on the same line must for obvious
con—
reasons be separated by at least a given number of minutes. To make a
between
nection between trains A and B at a particular station, the difference
the arrival time of A and the departure time of B must be sufficiently long to
allow passengers to change, but sufficiently short so that the waiting time is
not excessive. The problem is to find a feasible schedule.

2. Airline Crew Scheduling


Given the schedule of flights for a particular aircraft type, one problem is
to design weekly schedules for the crews. Each day a crew must be assigned
a duty period consisting of a set of one or more linking flights satisfying nu-
merous constraints such as limited total flying time, minimum rests between
flights, and so on. Then putting together the duty periods, weekly schedules
or pairings are constructed which must satisfy further constraints on overnight
rests, flying time, returning the crew to its starting point, and so on. The
objective is to minimize the amount paid to the crews, which is a function of
flying time, length of the duty periods and pairings, a guaranteed minimum

You might also like