You are on page 1of 450

Universitext

Springer-Verlag Berlin Heidelberg GmbH


Dimitris Alevras
Manfred W. Padberg

Linear Optimization
and Extensions
Problems and Solutions

With 67 Figures

Springer
Dimitris Alevras
IBM Corp.
1475 Phoenixville Pike
West Chester, PA 19380, USA
e-mail: alevras@us.ibm.com

Manfred W. Padberg
Department of Operations Research
Stern School of Business
New York University
Washington Square
New York, NY 10012, USA
e-mail: manfred@padberg.com

Mathematics Subject Classification (2000): 51M20, 51Nxx, 65Kxx, 90Bxx, 90C05

Library of Congress Cataloging-in Publication Data


Alevras, Dimitris.
Linear optimization and extensions: problems and solutions / Dimitris Alevras,
Manfred W. Padberg.
p. em. - (Universitext) Includes bibliographical references.
ISBN 978-3-540-41744-6 ISBN 978-3-642-56628-8 (eBook)
DOI 10.1007/978-3-642-56628-8
1. Linear programming - Problems, exercises, etc. 2. Matbematical optimization - Problems,
exercises, etc. 1. Padberg, M.W. II. Title. III. Series.
T57.74.A44 2001 519.i2-dc21 2001020974

ISBN 978-3-540-41744-6
This work is subject to copyright. Ali rights are reserved, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broad-casting, reproduction on microfilms or in any other way, and storage
in data banks. Duplication of this publication or parts tbereof is permitted only under tbe
provisions of the German Copyright Law of September 9, 1965, in its current version, and
permis sion for use must always be obtained from Springer-Verlag. Violations are liable for
prosecution under the German Copyright Law.

http://www.springer.de
© Springer-Verlag Berlin Heidelberg 2001

The use of general descriptive names, registered names, trademarks, etc. in tbis publication
does not imply, even in tbe absence of a specific statement, that such names are exempt from
tbe relevant protective laws and regulations and tberefore free for general use.
Typesetting: Camera-ready copy from the author using I!'TEX
Cover design: design & production GmbH, Heidelberg
Printed on acid-free paper SPIN: 10797138 46/3142/YL - 5 4 3 2 1 o
Preface

Books on a technical topic - like linear programming - without exercises ignore the principal
beneficiary of the endeavor of writing a book, namely the student - who learns best by doing
exercises, of course. Books with exercises - if they are challenging or at least to some extent so
- need a solutions manual so that students can have recourse to it when they need it. Here we
give solutions to all exercises and case studies of M. Padberg's Linear Optimization and Exten-
sions (second edition, Springer-Verlag, Berlin, 1999). In addition we have included several new
exercises and taken the opportunity to correct and change some of the exercises of the book.
Here and in the main text of the present volume the terms "book", "text" etc. designate the
second edition of Padberg's LP book and the page and formula references refer to that edition as
well. All new and changed exercises are marked by a star * in this volume. The changes that
we have made in the original exercises are inconsequential for the main part of the original text
where several of the exercises (especially in Chapter 9) are used on several occasions in the proof
arguments. None of the exercises that are used in the estimations, etc. have been changed.
Quite a few exercises instruct the students to write a program in a computer language of their
own choice. We have chosen to do that in most cases in MATLAB without any regard to efficiency,
etc. Our prime goal here is to use a macro-language that resembles as closely as possible the
mathematical statement of the respective algorithms. Once students master this first level, they
can then go ahead and discover the pleasures and challenges of writing efficient computer code
on their own.
To make the present volume as self-contained as possible, we have provided here summaries
of each chapter of Padberg's LP book. While there is some overlap with the text, we think that
this is tolerable. The summaries are -in almost all cases- without proofs, thus they provide a
"mini-version" of the material treated in the text. Indeed, we think that having such summaries
without the sometimes burdensome proofs is an advantage to the reader who wants to acquaint
herselfjhimselfwith the material treated at length in the text. To make the cross-referencing with
the text easy for the reader, we have numbered all chapters (and most sections and subsections)
as well as the formulas in these summaries exactly like in the text. Moreover, we have reproduced
here most of the illustrations of the text as we find these visual aids very helpful in communicating
the material. Finally, we have reproduced here the appendices of the text as the descriptions of
the cases contained therein would have taken too much space anyway.
We have worked on the production of this volume over several years and did so quite frequently
at the Konrad-Zuse-Zentrum fur Informationstechnik Berlin (ZIB) in Berlin, Germany, where
Alevras was a research fellow during some of this time. We are most grateful to ZIB's vice -
president, Prof. Dr. Martin Grotschel, for his hospitality and tangible support of our endeavor.
Padberg's work was also supported in part through an ONR grant and he would like to thank
Dr. Donald Wagner of the Office of Naval Research, Arlington, VA, for his continued support.

New York City, January, 2001 Dimitris Alevras


Manfred Padberg
Contents

1 Introduction 1
1.1 Minicases and Exercises 1

2 The Linear Programming Problem 39


2.1 Exercises . . . . . . . . . . . . . 40

3 Basic Concepts 47
3.1 Exercises . 49

4 Five Preliminaries 55
4.1 Exercises . . . 57

5 Simplex Algorithms 63
5.1 Exercises . . . 68

6 Primal-Dual Pairs 93
6.1 Exercises . . . 100

7 Analytical Geometry 125


7.1 Points. Lines. Subspaces . . . . . . . . . . . 125
7.2 Polyhedra, Ideal Descriptions. Cones . . . . 127
7.2.1 Faces, Valid Equations, Affine Hulls. 128
7.2 .2 Facets. Minimal Complete Descriptions, Quasi-Uniqueness . 129
7.2.3 Asymptotic Cones and Extreme Rays . . . . . . . . . . . . 130
7.2.4 Adjacency I, Extreme Rays of Polyhedra, Homogenization 130
7.3 Point Sets. Affine Transformations. Minimal Generators . . 131
7.3.1 Displaced Cones. Adjacency II. Images of Polyhedra 132
7.3.2 Caratheodory, Minkowski, Weyl . 133
7.3.3 Minimal Generators. Canonical Generators,
Quasi-Uniqueness . 133
7.4 Double Description Algorithms . 135
7.4.1 Correctness and Finiteness of the Algorithm. 136
7.4.2 Geometry, Euclidean Reduction. Analysis . . 137
7.4.3 The Basis Algorithm and All-Integer Inversion. 138
7.4.4 An All-Integer Algorithm for Double Description . 139
7.5 Digital Sizes of Rational Polyhedra and Linear Optimization . 140
7.5 .1 Facet Complexity. Vertex Complexity. Complexity
of Inversion . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.5.2 Polyhedra and Related Polytopes for Linear Optimization 142
7.5.3 Feasibility. Binary Search, Linear Optimization 142
7.5.4 Perturbation. Uniqueness, Separation . 144
7.6 Geometry and Complexity of Simplex Algorithms . 146
7.6.1 Pivot Column Choice, Simplex Paths, Big M Revisited 147
7.6.2 Gaussian Elimination. Fill-In, Scaling . 148
viii CONTENTS

7.6.3 Iterative Step I, Pivot Choice, Cholesky Factorization . .. . 149


7.6.4 Cross Multiplication, Iterative Step II, Integer Factorization 150
7.6.5 Division Free Gaussian Elimination and Cramer's Rule 151
7.7 Circles. Spheres, Ellipsoids . 153
7.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

8 Projective Algorithms 201


8 .1 A Basic Algorithm . . . . . . . . . . . . . . . . . . 203
8.1.1 The Solution of the Approximate Problem 203
8.1.2 Convergence of the Approximate Iterates 205
8.1.3 Correctness. Finiteness. Initialization . . . 206
8 .2 Analysis, Algebra, Geometry . . . . . . . . . . . . 207
8.2.1 Solution to the Problem in the Original Space 207
8.2.2 The Solution in the Transformed Space . . 209
8.2.3 Geometric Interpretations and Properties. 211
8 .2.4 Extending the Exact Solution and Proofs . 214
8 .2.5 Examples of Projective Images .. 215
8.3 The Cross Ratio . 215
8.4 Reflection on a Circle and Sandwiching 218
8.4.1 The Iterative Step . . . . . 220
8.5 A Projective Algorithm . . . . . . . 221
8.6 Centers, Barriers, Newton Steps. 223
8.6.1 A Method of Centers . . . . 224
8.6.2 The Logarithmic Barrier Function 226
8.6.3 A Newtonian Algorithm 228
8.7 Exercises . 230
9 Ellipsoid Algorithms 263
9.1 Matrix Norms, ApproximateInverses, Matrix Inequalities 265
9.2 Ellipsoid "Halving" in Approximate Arithmetic . 266
9.3 Polynomial-Time Algorithms for Linear Programming . 269
9.4 Deep Cuts, Sliding Objective, Large Steps, Line Search 272
9.4.1 Linear Programming the Ellipsoidal Way:
Two Examples . 274
9.4.2 Correctness and Finiteness of the DCS Ellipsoid
Algorithm . 277
9.5 Optimal Separators, Most Violated Separators, Separation 278
9.6 s-Solldlfication of Flats. Polytopal Norms, Rounding 280
9.6.1 Rational Rounding and Continued Fractions. 282
9.7 Optimization and Separation . 285
9.7.1 s-Optimal Sets and s-Optimal Solutions . 287
9.7.2 Finding Direction Vectors in the Asymptotic Cone. 287
9 .7.3 A CCS Ellipsoid Algorithm . 288
9.7.4 Linear Optimization and Polyhedral Separation 289
9.8 Exercises . 293
CONTENTS ix

10 Combinatorial Optimization: An Introduction 323


10.1 The Berlin Airlift Model Revisited . . . . . . . 323
10.2 Complete Formulations and Their Implications .. 327
10.3 Extremal Characterizations of Ideal Formulations 331
1O.4Polyhedra with the Integrality Property . 334
10.5Exercises . 336

Appendices

A Short-Term Financial Management 359


A.l Solution to the Cash Management Case 362

B Operations Management in a Refinery 371


B.l Steam Production in a Refinery . . . . . . . . 371
B.2 The Optimization Problem . 374
B.3 Technological Constraints. Profits and Costs 378
B.4 Formulation of the Problem . 380
B.5 Solution to the Refinery Case . 381

C Automatized Production: PCBs and Ulysses' Problem 399


C. 1 Solutions to Ulysses' Problem . . . . . . . . . . . . . 411

Bibliography 431

Index 445
1. Introduction

Most exercises of this introductory chapter are posed in the form of "minicases" that we have
used over many years in the classroom to familiarize newcomers to the field of linear optimization
with the basic approach to linear modeling and problem solving. In our experience, students like
to grapple and experiment with their own approaches to the simple problem solving situations
captured by the following exercises. The analysis of the minicases that we present is, however,
based on the material oflater chapters and can be used to accompany the theoretical development
of the subject throughout.

1.1 Minicases and Exercises

*Exercise 1.0 (Minicase I)


Lilliputian Liquids Inc. (LUJ is engaged in the production and sale ojtwo kinds ojhard liquor. LU
purchases intermediate-stage products in bulk, purifies them by repeated distillation, mixes them,
bottles the product under its own brand names and sells it to distributive channels. One product is
a bourbon, the other one a whiskey. Sales oj each product have always been independent oj the
other and market limits on sales have never been observed.
Labor is not a constraint on LLI. Production capacity, though, is inadequate to produce all that
LU might sell. The bourbon requires three machine hours per liter, but because oj additional
blending requirements the whiskey requires Jour hours oj machine time per liter. A total capacity
oj 20,000 machine hours is available in the coming production period. Higher quality makes the
direct operating costs of the bourbon $3 per liter in contrast with the whiskey 's costs of$2 dollars
per liter. Funds available to finance direct costs are planned at $4, 000 Jor the coming production
period. In addition, it is anticipated that 45% oJbourbon and 30% of whiskey sales made during the
production period are collected during the same period and that the cash proceeds will be available
to finance operations. All direct costs have to be paid during the production period. The bourbon
sells to the distributive channels Jor $5 per liter and the whiskey for $4.50 per liter.
PlanningJor company activities during the coming production period had led to disagreement among
the members ojLL/'s management. The production and marketing managers on one hand and the
treasurer-controller on the other could not agree on the most desirable product mix and production
volume to schedule, whereas the production manager and the treasurer-controller were unable to
agree on a proposal to expend $250 Jor repair oj decrepit machinery currently lying idle. It had been
estimated that 2, 000 machine hours could be added to capacityJor the coming production period by
this expenditure, although it was anticipated that the machines would again be inoperable by the
end oJ the current planning period. The treasurer-controller acknowledged the needJor additional
machine capacity, but argued that the scarcity oJLL/'s working capital made it inadvisable to divert
any cashjromfinancing current production.

(i) Formulate LLI's problem as a linear program in two variables Xl and X2.

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
2 1. INTRODUCTION

(ii) Plot the set oj "feasible" solutions, i.e., solutions that satisfy all inequalities oJtheJormulation
in the plane with coordinates Xl and X2.

(iii) Plot the "isoprofii " line 2Xl + 2.5x2 = 10,000 in the plane. Are there any Jeasible product
combinations that attain a profit oj $10, ODD? How do youfind a product combination that
maximizes profit? What is the optimal product mix?

(iv) Analyze the problem posed by the disagreement between the product manager and the treasu-
rer-controller oj LLI. What is your recommendation? How does the optimal product mix change
if the proposal is accepted?
(v) How does your answerfor part (iv) change if the proposal is to spend $500 at a gain oj 4,000
machine hours? What if III wants to produce at least 500 liters oj bourbon to keep its bourbon
brand "visible" in the market place?

(vi) Summarize yourfindings in an "executive summary " separatejrom your analysis.

Executive Summary:
A. The profit-optimal product mix for LLI's resource allocation problem is to produce

12, 857.14 liters of bourbon and 2, 857.14 liters of whiskey 1

in the upcoming production period. Given the current profit margins this should result in
an optimal profit ofl $12,857.141 for LLI.
B. Spending $250 on the repair of the currently unusable machinery with a concurrent gain of
an additional 2,000 hours of machine time can be expected to yield an incremental profit of
$976.19, thus giving LLI a total profit of

1$12,857.14 + $976.19 = $13,833.331

for the upcoming production period. It is therefore recommend that LLI take appropriate
actions. Due to the resulting changes in both working capital and machine hours, the
correspondingly changed profit-optimal product mix for LLI is to produce 666.67 liters of
bourbon and 5,000 liters of whiskey (if the repairs are carried out on time).
C. Spending $500 on the repair of currently unusable machinery is not advisable since any
amount over $326 spent on repairs -under the assumption that machine time will increase
by 8 machine hours for every dollar spent on repairs- will make working capital the bot-
tleneck for profit-optimal production. To maintain visibility in the market place for the
bourbon brand in the limits specified an expenditure of about $269 will be required if this
expenditure gains 2,152 additional machine hours. In this case the profit-optimal product
mix consists of 500.19 liters of bourbon and 5, 162.82 liters of whiskey with a total profit of
$13,907.52, of which $1,050.38 are to be attributed to repairs.
1.1. MINICASES AND EXERCISES 3

Solution to and Analysis of Minicase I:


(i) To formulate LLI's problem denote by Xl the liters of bourbon and by X2 the liters of whiskey
produced during the planning period. Since the market absorbs all that LLI can produce we have
that the quantities sold equal the quantities produced. Hence there is no need to distinguish
between "sales" and "production". To produce Xl liters of bourbon one needs 3Xl machine hours
and 4X2 machine hours to produce X 2 liters of whiskey, giving a total of 3Xl + 4X2 machine hours.
Consequently, we have a production capacity constraint

3Xl + 4 X2 :S 20,000 .
The direct cost of producing Xl liters of bourbon and X2 liters of whiskey is 3Xl + 2 X2 which must
be covered by the funds that are available for production. These consist of $4,000 in cash plus
the anticipated collections on bourbon sales of $O.4S(SxI) = $2.2SXl plus those on whiskey sales
of $0.30(4.S0X2) = $1.3Sx2, i.e.,
cash availablefor production = cash on hand + collections on accounts receivables
= $4,000 + 2.2SXl + 1.3SX2 .
Since all direct costs must be paid during the current period we get the inequality

Simplifytng we get a working capital constraint

0.7SXl + 0.6SX2 :S 4,000 ,

which makes sure that all direct costs are paid during the current period. Profit is revenue minus
costs and thus we have a profit of $S- $3 = $2 per liter of bourbon and of $4.S0- $2 = $2.S0 per liter
of whiskey. Including the nonnegativity constraints on the quantities of bourbon and whiskey
produced during the current period LLI's decision problem is the following linear program:
Maximize 2Xl + 2,SX2
subject to 3Xl + 4X2 < 20,000
0.7SXl + 0.6SX2 < 4,000
Xl X2 > O.

(ii) The "feasible region" is shown in the left part of Figure 1.1 as the shaded area.
(iii) The isoprofit line 2Xl+2,SX2 = 10,000 is shown as a dashed line in the left part of Figure 1.1. All
feasible points on the line, t.e., all points on the line segment between the points Xl = 0, X2 = 4000
and Xl = SOOO, X 2 = 0 are feasible product combinations that yield a profit of $10,000. To get
the optimal solution, we move the isoprofit line parallel to itself outwards (increasing profit) until
we reach a position such that, if we move the line further, it does not "touch" the feasible region
anymore. This is the case when the isoprofit line goes through the point A. Thus point A with
coordinates Xl = 20,~OO , X 2 = 20 ,~OO is the profit maximizing product combination with a profit of
90~OO ;:::: $12,857.14.
Input and solution including ranging analysis by LINDO are displayed next.
4 1. INTRODUCTION

5.500
5.000

4.000
" " -, "" <,
-,
-, " -, -,
" <, -,

" -, ""
"" " -,
"" "" ';:
"
5.000 5.333.333Cl 5.000

Fig. 1.1. Graphical solution to LLI's problem

! LLI' s Problem
MAX 2x1 + 2 .5x2
subject to
3x1 + 4x2 < 20000 Production capacity
0.75x1 + 0.65x2 < 4000 Working capital
All variables nonnegative
LP OPTIMUM FOUND AT STEP 2
OBJECTIVE FUNCTION VALUE
1) 12857.14
VARIABLE VALUE REDUCED COST
Xl 2857 .142822 0.000000
X2 2857.142822 0.000000

ROW
SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.547619
3) 0 .000000 0.476190
NO. ITERATIONS= 2
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
Xl 2.000000 0.884615 0.125000
X2 2 .500000 0 .166667 0.766667
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
2 20000.000000 4615.384277 3999 .999756
3 4000 .000000 999.999939 750 .000000
1.1. MINICASES AND EXERCISES 5

(iv) To analyze the disagreement between the production manager and the treasurer-controller
of LLI we have several possibilities of which we discuss two.
The first is simple and direct, but not the most efficient way when applied to problems of larger
scale. Spending $250 to repair the idle machinery changes the right-hand side of the constraints
as follows . The available capital becomes 4,000 - 250 = $3, 750, while the available machine hours
increase to 20,000 + 2,000 = 22,000. These changes change the feasible region since the two
lines corresponding to the constraints move parallel to themselves one outwards and the other
inwards. The new feasible region is shown on the right part of Figure 1.1 above. The optimal
product mix now is given by point B with coordinates X l = 20,~OO, X2 = 5000. The optimal profit
is 4 l~OO ~ $13 ,83 3 .3 3 . Since the expenditure of $250 of available cash generates an increase of
$976. 19 in profit, it is recommended to spend $250 on the repair of the idle machinery.
The second way to analyze the disagreement uses the dual variables of LLI's linear program.
Like before, reducing working capital by $250 results in an increase of 2,000 machine hours in
production capacity. Denote by b the right-hand side of LLI's problem and by g the vector of
change in the right-side per dollar spent on the repair work, t.e.,

b = ( 20,000 ) (1.1)
4,000 '

Thus we wish to analyze LLI's problem for the right-hand side b + D.g where D. = 250. We know
that the optimal objective function value Z (D.) = Z (b + D.g) is given by
m

Z (D.) = cBB-l (b + D.g) = ZB + D. (cBB-l )g = ZB + D. L y;gi, (1.2)


i= l

where Z B is the optimal profit for D. = 0, Y* = cBB - l are the optimal values of the dual variables
(displayed above) and gi is the i-th component of the vector g. Thus we find from LINDO's output

Z (D.) ~ $12,8 57.14 + D.(8 x 0.547619 + (- 1) x 0.476190) = $12, 857.14 + 3.904762D. . (1.3)

This quick calculation tells us that every dollar spent on repair produces "locally" a gain of
$3.904762 in (optimal) profit and thus for D. = 250 we conclude from LINDO's output -like we did
before- that the incremental profit we get from the repair is
$3.904762 x 250 ~ $976.19.

The real question is whether or not this "local" analysis is correct for D. = 250. The ranging
analysis (for changes of a single right-hand side value!) given by LINDO's output suggests that
this may be true, but to answer the question we have to check whether or not

?
XB(D. ) = B-l (b + D.g) = B - lb + D.B-lg ? 0 for D. = 250,
because two right-hand side values are changed simultaneously here. We know from the above
that the optimal basis (for D. = 0) contains the variables Xl and X2, i.e ., the optimal basis and its
inverse (which we calculate directly) are given by

B-1 = ~ ( -13 80 )
21 15 -60 .
6 1. INTRODUCTION

Now we are in the position to calculate XB (~) = B- 1(b + ~g) exactly as

XB(~) = B - (b + ~g) = 2 (-~~ _:~) 2~:~~~ ) + ~ ( _~ )]


1 11
[(

1 ( 20,000)
"7 20,000
1 ( -184 )
+ 21 180 ~=
1 ( 60,000 - 184~
21 60,000 + 180~
)?~ ( 0 )
0 .
Reading the inequalities componentwise we find that
326.! = 60,000 > ~ > _ 60,000 = -333 ~ . (1.4)
23 184 - - 180 3
XB(~) has thus positive components for ~ = 250. For any ~ the changed solution is

XB
( ~) = ( X1 (~) ) = ~ ( 60,000 - 184~ )
X2 (~ ) 21 60,000 + 180~
b. ~250 ( 2.~00
5,000
)
'
(1.5)

which by (2) and using c B B - 1 = (2 2.50) B- 1 =( ~~ ~~) gives an optimal profit of

Z(~) ZB + ~(cBB-1)g = Z B + ~ (~~ ~~) ( _~ ) = Z B + ~~ ~ (1.6)

b. = 250 $ 90,;00 + $976 2~ ~ $13, 833.33 (1.7)

with an incremental profit of $976 241 ~ $976.19 for ~ = 250. like we found above. We calculate
~i ~ 3.904762 and thus our finding agrees with our quick calculation from (1.3) using the dual
variable information provided by LINDO. which however was incomplete without the check on
whether or not the local analysis remains valid for the range of ~ considered here. Because
it does. we now conclude correctly that spending $250 on the repair of the idle machinery is
profitable for LLI.
(v) If we gain 4 .000 additional machine hours by spending $500. then the gain in machine time
per dollar spent equals 8 hours like in formula (1) above. So the analysis of part (iv) remains
correct. Using the dual variable information provided by LINDO we find from (1.3) that the
incremental profit from this decision equals $3.904762 x 500 ~ $1,952 .38. We would therefore
conclude -incorrectly as we shall see- that the decision is highly profitable.
By our analysis in part (iv) we know that ~ = 500 falls outside of the "permissible" range (1.4).
This means that one or more of the basic variables. in this case the variable X l modeling the
bourbon production. becomes negative. This happens when ~ > 326 223 and the optimal basis
has to be changed. Consequently. either the slack of the production capacity constraint or the
slack of the working capital constraint has to enter the basic set, because in our case these are
the only possibilities. Since working capital is reduced by spending more dollars on repairs. it
can only be the slack of the production capacity constraint. Thus spending $500 on repair. LLI
creates an over-capacity of production that cannot be utilized. From formula (1.6) we find

Z(~ = 326 22 ) = $ 90,;00 + $ 61:~~00 ~ $12,85 7.14 + $1,273.29 = $14,13 0.43


3
and from formula (1.5) we get the optimal product mix

" ) _ ( X1(~) ) b.= ~26 ~ (


XB (U - X2( ~) - 13~~~00 ~ ) ( 5, 6~2.17 ) .
1.1. MINICASES AND EXERCISES 7

Aviation
Gasoline

4.983
Heavy Light Naphthas
crude
, 3.500 Gasoline
15.000 Crude Blending
HeavyNaphthas

Distillation 6.250
Light Motorfuel
crude Cracked 9.967
Oils Gasolines
10.000 t
8.000 5.200
Cracking Cracked oils
I---
2.800 t Jet fuel
Heavyoils 1.550 4.000
Fuel-oil
Blending Various
Residuum 5.700 fuel-oils

6.050
Lubeoils 0.000

Fig. 1.2. Optimal solution for the simplified refinery problem

If we spend more than $326 223 on the repair of idle machinery, bourbon will not be produced at all.
Because of the continued reduction of working capital, profit will decrease from $14,130.43 at
the rate of ~~ >:::j 3.846 ... per additional dollar spent (as you verify yourself), until the linear program
becomes infeasible. Thus the "local" analysis based on the dual variable information is incorrect,
because ~ = 500 is too large a change in this case.
Formula (1.5) shows that the increased production capacity due to the repair of idle machinery
leads to a profit-optimal product mix where the production of bourbon is slowly reduced to zero.
If LLI wants to produce and sell at least 500 liters of bourbon. then from formula (5) we get the
inequality
11
2 (60, 000 - 184~) 2: 500 and thus ~:::; 12~:75 >:::j 269.02.

Thus spending about $269 on the repair of idle machinery with a gain of about 2,152 hours of
additional machine time -tf feasible- is the best LLI can do to increase its profit and maintain its
bourbon "visible" in the market place.

*Exercise 1.1
Solve the simplified refinery example by an interactive LP solver such as CPLEX or LINDO and
interpret the optimal LP solution on Figure 1.2 ojthe book.
8 1. INTRODUCTION

The LP data in CPLEX lp input format is as follows:

Maximize
obj: 6 .5 xlO + 4.6 xll + 3 .5 x12 + 2.5 x13 + 0 .8 x14 - 1 .5 xl - 1.7 x2
- 0 .4 x3 - 0 .4 x4 - 0 .9 x5 - 0 .3 x6 - 0 .3 x7 - 0.4 x8 - 0. 3 x9
Subject To
cl : x2 <= 1 0
c2: xl + x2 <= 25
c3 : x5 <= 8
c4: 0.12 xl + 0 .17 x2 - x3 = 0
c5: 0.23 xl + 0.28 x2 - x4 = 0
c6: 0.41 xl + 0.34 x2 - x5 - x6 0
c7: - x14 + 0.24 xl + 0.2 1 x2 - x7 0
c8: 0.65 x5 - x8 = 0
c9: 0.35 x5 - x9 = 0
clO : xlO + xl1 - x3 - x4 - x8 0
ell : x12 + x13 - x6 - x7 - x9 0
c12: xlO - 1.5 x3 <= 0
c13: x10 - 1 .2 x3 - 0.3 x4 <= 0
c14: xlO - 0 .5 xll <= 0
c15: x12 <= 4
Bounds
All variables are >= o.
End

Running interactively CPLEX we get the following solution


Variable Name Solution Value
xlO 4 .983333
xl1 9.966667
x12 4 .000000
x13 6 .050000
xl 15 .000000
x2 10.000000
x3 3.500000
x4 6 .250000
x5 8.000000
x6 1.550000
x7 5 .700000
x8 5 .200000
x9 2.800000
All other variables in the range 1-14 are zero.

In Figure 1.2 we show the solution on the simplified flow chart. The number on each arc
shows the flow in the respective arc.
1.1. MINICASES AND EXERCISES 9

*Exercise 1,2 (Minicase II) (Source: unknown)


The Washington Apple Canning Company (WACCO) has purchased 6,000,000 pounds oj apples
at a total cost oj$300,OOO oj which 200!o was rated "A" quality and the remaining 80% was rated
"B". WACCO's executives will soon meet to determine how to allocate the apples to three products,
applejuice, apple sauce, and apple jelly, in a profit-optimal manner.
The marketing department has estimated that WACCO could sell all the apple juice they could
make, but that the demand jor sauce and jelly was limited. Their demand jorecasts are shown
in Table 1.1. Table 1.2 shows the figures on price, cost, and profit per case oj the apple products
that were obtainedjrom WACCO's accounting department. Thesefigures include the cost ojapples
which was 5 cents per pound delivered to the cannery.
The production manager indicated that it was impossible to produce only apple juice since too
small a proportion oj the crop was "A" quality. WACCO uses a numerical scale from 0 to 10 to
rate the quality oj both raw produce and prepared products, with the higher number representing
higher quality. Grade A apples averaged 8 points per pound whereas grade B apples averaged 4
points per pound. The minimum acceptable average quality requirement jor apple juice had been
set at 7, jor apple sauce at 5, andjor applejelly at 4. You have been asked to come up not only
with a recommendationjor WACCO's executives, but also with an evaluation oj the purchase oj
additional grade A apples as detailed below.

Table 1.1. Selling price and demand forecast per case

Selling price Demand Pounds


Product per case in cases per case
Apple Juice $ 3.18 1,600,000 18
Apple Sauce $ 3 .45 100,000 20
Apple Jelly $ 3 .05 160,000 25

Table 1.2. Product profits per case

Product Apple juice Apple sauce Apple jelly


Selling Price $ 3 .18 $ 3.45 $ 3 .05
Variable Costs
Direct Labor $ 1.00 $ 1.13 $ 0.48
Variable Selling $ 0.25 $ 0.60 $ 0.22
Packaging Material $ 0.45 $0.40 $ 0.50
Apple Cost $ 0.90 $ 1.00 $ 1.25
Total variable cost $ 2.60 $ 3.13 $ 2.45
Profit $ 0.58 $ 0.32 $ 0.60
10 1. INTRODUCTION

(i) Let
Xl be the pounds oj "A " apples allocated to the production oj applejuice,
YI be the pounds oj "B" apples allocated to the production oj applejuice,
X 2 be the pounds oj "A" apples allocated to the production oj apple sauce,
Y2 be the pounds oj "B" apples allocated to the production oj apple sauce,
X3 be the pounds oj "A" apples allocated to the production oj applejelly,
Y3 be the pounds oj "B" apples allocated to the production oj apple jelly.
Formulate the problem ojfinding a profit-optimal allocation oj grade A and B apples to the
three apple products oj WACCO as a linear programming model in terms oj the above six
variables.

(ii) Compute the profit-optimal amount oj grade A and B apples to be allocated to apple juice,
sauce andjelly production using an interactive LP solver such as CPLEX or LINDO. What is the
optimal profit that WACCO can obtain?

(iii) WACCO has been offered an additional 160,000 pounds oj grade A apples at 9.5 cents
per pound and WACCO's purchasing manager has already acquired these additional grade
A apples. How can the Jormulation ojpart (i) be altered to take this into consideration? What
is the optimal product allocation and profit? Is the purchasing manager's decision profitable
JorWACCO?

(iv) WACCO has been offered an additional 2,000,000 pounds ojgrade A apples at an unspecified
price that will be 8 cents or more per pound. How do you have to change your Jormulation
ojpart (i) to incorporate the decision to buy or not additional grade A apples? ifWACCO can
buy these grade A apples at 8 cents per pound how many pounds should it buy? What are
the optimal prOfit and product allocations? Answer the same questions when WACCO must
pay 8 .6 cents per pound. At uihat price per pound does it become unprofiiabiefor WACCO to
buy any additional grade A apples?

(v) Summarize your answers in an "executive summary" separatefrom your analysis.

Executive Summary:
A, Given the current demand forecasts and data, WACCO can realize an optimal profit of

1 $ 150, 708 1

by allocating the available 6,000,000 pounds of grade A and grade B apples to its three products
as follows :
• 1,050,000 pounds of grade A and 350,000 pounds of grade B apples to juice production.
• 150,000 pounds of grade A and 450,000 pounds of grade B apples to sauce production.
• 4,000,000 pounds of grade B apples to jelly production.
1.1. MINICASES AND EXERCISES 11

B. Our computer analysis shows that given its current data configuration WACCO should pay

Iat most 9.033 cents per pound I


for the purchase of additional grade A apples. The scenario under point (iii) where WACCO's
purchasing manager has already acquired 160.000 grade A at apples at 9.5 cents per pound is
regrettable, since it reduces WACCO's attainable profit under point A by about $747. This is the
case only if WACCO reallocates its resource availabilities in a profit-optimal manner:
• 1.230.000 pounds of grade A and 410,000 pounds of grade B apples to juice production.
• 130.000 pounds of grade A and 390.000 pounds of grade B apples to sauce production.
• 4.000.000 pounds of grade B apples to jelly production,
because otherwise WACCO's loss must be expected to be greater than $747. An exact analysis
(avoiding the numerical round-off errors of the computer calculation. which in this case are
acceptably small) shows that WACCO can actually sustain profitably a slightly higher cost of
9.075 cents per pound of additional grade A apples. A formula to calculate the resulting optimal
profit and the profit-optimal product allocation for additional grade A apple amounts of up to
1,200.000 is given in part (iii) of our analysis below.
C. Our analysis of the purchase of up to 2.000.000
pounds of grade A apples is summarized in the fi-
gure. If the cost per pound for grade A apples is Pr ofi t(a)
I
less than or equal to 8.496 cents. then WACCO $ 167.072 - - - - - - - - - - - - - - -
should buy the entire lot of 2.000.000 pounds. The :
optimal product allocation is to allocate 3.200.000 I
I
pounds of grade A and 1.066.667 pounds of grade $ 157 . 152 _ _ _ _ _ _ _ _ _ _ _ I
B apples to juice production. 3.733.333 pounds I I
I I
of grade B apples to jelly production. The optt- I I
mal profit is calculated by the formula $157,152 + $ 150 .708 t;::::::::::::;~1 Buy I Buy I
20, 000 x (8.496 - a). where a is the cost per pound 1.2rnlo I 2rn l%,lcents
in cents. If 8.496 < a < 9.033. WACCO should 10.0 9 .033 8.496 8.0
buy 1.200.000 pounds and allocate as follows:
2,400.000 pounds of grade A apples and 800.000 pounds of grade B apples to juice pro-
duction. 4 .000.000 pounds of grade B apples to jelly production with an optimal profit of
$150,708 + 12, 000 x (9.033 - a). Otherwise a > 9.033 and WACCO should buy no additional grade
A apples at all and apply the product allocation of part A.
Solution to and Analysis of Minicase II:
(i) Since 20% of the 6,000.000 pounds are grade A apples, WACCO has 1,200.000 pounds of
grade A and 4.800.000 pounds of grade B apples on its premises. We thus get the constraints

Xl + X2 + X 3 :::; 1,200, 000 and YI + Y2 + Y 3 :::; 4,800, 000


for the product allocation. Since the demand is limited. see Table 1. 1. we cannot allocate more
than 18 x 1,600, 000 = 28,800, 000 pounds of apples to juice production. no more than 20 x 100, 000 =
12 1. INTRODUCTION

2, 000 , 000 pounds to sauce production and no more than 25 x 160 , 000 = 4, 000 , 000 pounds to jelly
production which gives the constraints

Xl + Yl :S 28, 800 , 000 , X2 + Y2 :S 2, 000 , 000 , X3 + Y3 :S 4, 000 , 000 .

In addition we need to formulate the minimum acceptable average quality requirement for the
three products. From WACCO's scoring method we get

8Xl + 4Yl > 7 8X2 + 4Y2 > 5 8X3 + 4Y3 > 4


Xl + Yl - , X2 + Y2 - , X3 + Y3 - ,
which gives the following linear constraints

the last one of which is implied by the fact that we want nonnegative quantities.
To formulate the objective function. we note that the six million pounds of apples have been
acquired already by WACCO. Thus their variable cost (of 5 cents/pound) does not enter into the
allocation decision. but their total acquisition cost of $300.000 must be taken in consideration
to determine the profit (or loss) of the product allocation. Thus from Table 1.2 we know that we
get $0 .58 + $0 .90 = $1.48 per case of juice. $0.32 + $1.00 = $1.32 per case of sauce and $0.60 +
$1.25 = $1.85 per case of jelly. From Table 1.1 we know how to convert cases into pounds and
vice versa. Approximating 1.48/18 >:;;j 0.08222 to five digits we thus get the objective function

1.48 (
Ma ximize ~ Xl + Yl) + 20
1.32 ( ) 1.85 ( )
X2 + Y2 + 25 X3 + Y3 - 300 , 000
>:;;j 0.08222 xl + 0.08222Y2 + 0.066x 2 + 0.066Y2 + 0.074x 3 + 0.074Y3 - 300 , 000.

(li) In CPLEX's lp format the above linear program reads as follows where we do not have included
the constant 300.000 in the objective function. because CPLEX does not accept it.
Problem name: WACCO.lp
Maximize
obj: 0.08222 xl + 0 .08222 y1 + 0.066 x2 + 0.066 y2 + 0.074 x3 + 0.074 y3
Subject To
c1: xl + x2 + x3 <= 1200000
c2: y1 + y2 + y3 <= 4800000
c3: xl + y1 <= 28800000
c4: x2 + y2 <= 2000000
c5: x3 + y3 <= 4000000
c6: xl - 3 y1 >= 0
c7: 3 x2 - y2 >= 0
End

Solving the problem we find the following solution:


Primal - Optimal: Objective = 4.5070800000e+05
Solution time 0.00 sec. Iterations = 5 (0)
variable Name Solution Value
xl 1050000.000000
1.1. MINICASES AND EXERCISES 13

y1 350000.000000
x2 150000.000000
y2 450000.000000
y3 4000000 .000000
All other variables in the range 1 - 6 are zero .

The objective function value is $4.50708 x 105 = $450, 708. Thus subtracting out $300 .000 for the
cost of the apples, WACCO realizes a net profit of I$150 .70S I. WACCO should allocate
• 1.050.000 pounds of grade A and 350.000 pounds of grade B apples to juice production.
• 150,000 pounds of grade A and 450,000 pounds of grade B apples to sauce production.
• 4.000.000 pounds of grade B apples to produce jelly.
Input for and solution including ranging analysis for the right-hand side from LINDO follow.
! WACCO's problem
max 0.08222x1 + 0.08222y1 + 0 .066x2 + 0.066y2 + 0.074x3 + 0.074y3
subject to
x l + x 2 + x3 < 1200000 Grade A-availability
y1 + y2 + y3 < 4800000 Grade B availability
xl + y1 < 28800000 Sales limitation: juice
x 2 + y2 < 2000000 Sales limitation : sauce
x 3 + y3 < 4000000 Sales limitation: jelly
x l - 3y1 >0 Minimum acceptable quality: juice
3x2 - y2 >0 Minimum acceptable quality: sauce
All variables are nonnegat ive
LP OPTIMUM FOUND AT STEP 5
OBJECTIVE FUNCTION VALUE
1) 450708.0
VARIABLE VALUE REDUCED COST
Xl 1050000.000000 0.000000
Y1 350000.000000 0.000000
X2 150000.000000 0.000000
Y2 450000.000000 0 .000000
X3 0.000000 0.032440
Y3 4000000 .000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.090330
3) 0.000000 0 .057890
4) 27400000.000000 0.000000
5) 1400000 .000000 0.000000
6) 0.000000 0 .016110
7) 0.000000 -0 .008110
8) 0.000000 -0 .008110
RANGES IN WHICH THE BASIS IS UNCHANGED:
RIGHTHAND SIDE RANGES
14 1. INTRODUCTION

ROW CURRENT ALLOWABLE ALLOWABLE


RHS INCREASE DECREASE
2 1200000.000000 1200000 .000000 933333.312500
3 4800000 .000000 933333.312500 400000.000000
4 28800000.000000 INFINITY 27400000.000000
5 2000000.000000 INFINITY 1400000.000000
6 4000000 .000000 400000.000000 933333.312500
7 0.000000 933333.312500 1200000.000000
8 0.000000 2800000 .000000 400000.000000

(iii) Since the purchasing manager has already acquired the additional 160,000 pounds of
grade A apples, the acquisition itself is not part of the decision process. Thus all we have to do
is to replace the availabllity of 1.200,000 pounds of grade A apples by 1,200,000 + 160,000 =
1.360.000 pounds of grade A apples. The cost of apples now is 300,000+0.095 x 160, 000 = $315,200.
In a simple analysis we can thus run the problem again with the changed data. We find an
optimal profit (rounded to dollars) of $465,161 - $ 315,200 = $149,961. This shows that the
acquisition makes WACCO loose $747 by comparison to the previous scenario of point (ii), even
if a profit-optimal product allocation
• 1,230,000 pounds of grade A and 410,000 pounds of grade B apples to juice production,
• 130,000 pounds of grade A and 390,000 pounds of grade B apples to sauce production,
• 4 .000,000 pounds of grade B apples to jelly production,
is followed by WACCO. Note that if WACCO decides to not use at all the 160.000 pounds of
apples in its production decisions, that it then looses all of the $15 ,20 0 in acquisition costs. By
readjusting its product allocation in a best possible manner this loss is reduced to merely $747.
We can avoid the rerunning of the problem if we want to analyze the profitability of the purchasing
manager's decision. From the solution report and the ranging analysis given by L1NDO's output we
see that the grade A apple availability can be increased by 1,200,000 pounds and/or decreased by
933,333.3125 pounds without the necessity of changing the optimal basis to WACCO's problem.
Denote by ~ the change in grade A apple availability. Thus ~ = 160, 000 falls into the range
where the profit-optimal basis does not change. Like in the analysis of Minicase I we have
that the optimal profit changes according to the value of the optimal dual variable of the grade
A availability constraint. i.e., from the computer solution report under part (ii) we know that

Z(~) cBB-1(b + ~Ul) - 300,000 - a~


150,708 + (0.09033 - a) ~ for all ~ with - 933,333.3125 ~ ~ ~ 1,200 ,000,

where a is the cost per pound of grade A apples in dollars and Ul E ]R7 is the first unit vector
according to the first of the seven constraints of WACCO's linear program. Remember that
we have left out the cost per pound of the apples in the calculation of the objective function
coefficients of the linear program. We get

(0.090333 - 0.095)~ = -0.00467~~ = ~o,ooo - $747,

which shows why WACCO is loosing money on the purchase manager's acquisition. On the other
hand, if grade A apples can be acquired at less than 9.033 cents per pou n d, then WACCO's
1.1. MINICASES AND EXERCISES 15

optimal profit goes up by the difference multiplied by the amount D. acquired. The optimal
product allocation must, of course, be adjusted according to the formula B - 1(b + D.U1) given
below.
From the computer calculations we know that the variables X l , Y 1, X2 . Y2, Y 3 and the slack
variables of the constraints c3 and c4 (in the listing of the CPLEX input) are in the optimal basis.
Consequently, the optimal basis and its inverse (which we calculate directly) are given by
1 1 9 -3 3 -1 -3
1 1 1 3 - 1 1 - 3 -1
1 1 1 -1 3 - 3 1 3
B= 1 1 1 B- 1 =~ - 3 9 -9 3 1
1 8
8
1 -3 - 12 4 8 -4 4 4
3 - 1 4 - 12 8 12 - 4 -4
Now we can verify the above analysis. Using the approximate calculation that 1.48/1 8 ::::: 0.08222
we get precisely the above expression for Z(D.). By an exact calculation with 1.48/18 we find
Z (D.) c B B - 1 (b + D.ud - 300, 000 - a D.
1 1
= 150,711 + (0.09075 - a) D. for all D. with - 933,333 < D. :s:; 1,200 , 000,
9 3
which shows that due to the round-off error in the calculation of 1.48/18 we commit a small, but
tolerable(?) numerical error. WACCO can indeed sustain the slightly higher cost of 9.075 cents
per pound of grade A apples profitably. Likewise we can compute now the profit-optimal product
allocation for any amount D. of grade A apples in the same range as above from the formula
B- 1(b + D.u1). which applies also for D. = 160, 000 :
• 1, 050, 000 + ~ D. pounds of grade A and 350, 000 + i D. pounds of grade B apples to juice
production.
• 150 , 000 - ~ .6. pounds of grade A and 450 , 000 - ~ .6. pounds of grade Bapples to sauce produ-
ction,
• 4 .000,000 pounds of grade B apples to jelly production.
(iv) To analyze the purchase of additional grade A apples we make the acquisition decision part of
the linear programming formulation. We regard the amount of grade A apples offered at a certain
cost per pound as the maximum possible amount to be purchased, i.e ., in our case we get at
most 2 ,000,000 pounds. We then determine the actual amount that WACCO buys at that price
from our analysis. This can be modeled in different ways: In the first approach, we introduce
new variables Zl , Z2 , Z3 to reflect the purchase and the allocation of additional grade A apples to
the three products. In the second approach, we model the decision by a single new variable.
In the first approach, the first two constraints of the formulation of part(i) remain the same
and we get a new (third) constraint
Zl + Z2 + Z3 :s:; 2, 000, 000
from the limited availability of the additional grade A apples. Constraints (c2), (c3) and (c4) of the
formulation of part(i) (see the CPLEX input) become the fourth , fifth and sixth constraint of the
enlarged model
16 1. INTRODUCTION

Xl + YI + Zl :'S 28,800, 000 , X2 + Y2 + Z2 :'S 2, 000, 000 , X3 + Y3 + Z3 :'S 4, 000, 000 .


The constraints for the minimum acceptable average quality requirement become

where the last one is again implied by the nonnegativity constraints. We thus have eight cons-
traints and nine variables in the enlarged model. Suppose now that we pay lOOa cents or a dollars
per pound of additional grade A apples. Then the objective function becomes

Ma ximiz e 0.08222xI + 0.08222Y2 + 0.066x 2 + 0.066Y2 + 0.074x 3 + 0.074Y3


+(0.08222 - a) zl + (0.066 - a) z2 + (0.074 - a)z3 - 300, 000 .

In general we would have to model some constraints that make sure that the existing grade
A apples get allocated first, Le., before purchasing new grade A apples we must make sure that
the existing stock is utilized in the product allocation decisions. However. we think of a as being
positive. Then such constraints are automatically satisfied because the Xi and the Zi variables
have the same coefficients in the constraint set, except for the objective function where the
coefficients of the Xi are bigger than those of the Zi. Consequently. the sense of optimization
-maximization- takes care of these considerations automatically.
The determination of the maximum cost per pound of grade A apples that can profitably be
sustained by WACCO can be carried out in different ways. We can e.g. use a binary search
procedure ("interval halving") on the possible values of a as follows. We start with a = 0.085
which is profitable with an incremental profit of $6,396.80 and a purchase of 1,200,000 pounds
of grade A apples. Le.• we do not buy the whole lot at that price. Running the problem with
a = 0.95 we find (like in part(iii)) that buying apples is unprofitable. Indeed. the optimal solution
to this problem consists of simply setting Zl = Z2 = Z3 = a and taking the solution from part(iiJ,
which is (trivially) feasible to the enlarged problem. So the incremental profit from the available
grade A apples is zero and WACCO decides to forgo the offer completely. Halving the in terval
given by 0 .085 and 0.095 (the so-called "in terval of uncertainty") we run the problem with the
new trial value of a = 0.09, which turns out to be profitable. Then we use a = 0.0925 and so
forth. This procedure converges rapidly to the value a = 0.09033 established in the first part of
our analysis, but it does not give the optimal product allocations when the purchasing cost a for
grade A apples vary.
The procedure based on binary search is a convenient way for a "lazy" analysis of part of the
proposition that WACCO faces : we replace analysis by a reasonable number of computer runs
and let the computer do the work. What the proposition really calls for is a parametric analysis
of the objective function of the three new variables Zl. Z2. and Z3 .
To carry out the parametric analysis we run the enlarged problem for e.g. a = 0.091.
! WACCO's changed problem alpha=0.091
max 0 .08222x1 + 0.08222y1 + 0.066x2 + 0 .066y2 + 0.074x3 + 0 .074y3
- 0 .00878z1 - 0.025z2 - 0.017z3
subject to
xl + x2 + x3 < 1200000 Grade A-availability
y1 + y2 + y3 < 4800000 Grade B availability
zl + z2 + z3 < 2000000 Additional Grade A-apples
xl + y1 + zl < 28800000 Sales limitation: juice
1.1. MINICASES AND EXERCISES 17

x2 + y2 + z2 < 2 000000Sales limi tation: sauce


x 3 + y3 + z3 < 4000000 Sales limitation : jelly
x l - 3y1+ zl >0 Minimu m acceptabl e quality : j u i c e
3x2 - y2 +3z2 >0 Minimum a c c e p t a b l e q u a l i ty : sauc e
All var iables a re nonnegative
LP OPTIMUM FOUND AT STEP 6
OBJECTIVE FUNCTION VALUE
1) 450708.0
VARI ABLE VALUE REDUCED COST
Xl 1050000.000000 0 .0000 00
Y1 350000.000000 0 .000000
X2 150000 .000000 0 .000000
Y2 450000.000000 0 .000000
X3 0.000000 0 .03 244 0
Y3 4000000.000000 0 .000000
Zl 0 .000000 0 .000670
Z2 0.000000 0 . 000 6 70
Z3 0 .000000 0.0 33110
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 0.0 9 03 30
3) 0.0000 00 0 .0578 90
4) 2000000 .000000 0 .000000
5 ) 27400000 .000000 0 .000000
6) 1400000.000000 0.000000
7) 0.000000 0.0 16110
8) 0 .000000 -0 .008110
9) 0 . 000000 -0 .00 8110

Since 9.1 > 9.033 we s ee that WACCO's optimal decision is to buy no additional grade A apples
at all. From the solution report we find that the optimal primal and dual solutions are both
nondegenerate. Moreover. all of the new variables Z l . Z2. and Z3 are nonbasic. In the followin g we
think of the variables Xl. Y b X2 . Y2, X3 . Y3 . Zl , Z 2 . Z3 and the logicals of the eight con straints as
being in dexed sequentially 1,2 , . . . , 17.
Denote bye E 1R 17 the profit vector (inclusive of logtcals) that re sults from setting a = 0.091. Let
d E 1R 17 be the vector of change. Le..

d= (0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0)

and thus the objective function of the parametric problem is e + Sd, where 0 is initially zero. The
objective function coefficients we want to change are (in the sequential indexing)

C7 = -0.0878 + 0, Cs = - 0.025 + 0, Cg = -0.017 + o.


From the computer output and using L1NDO's sign convention (nonnegative reduced cost for
optimality. Le.. LINDO minimizes -ex) we find that the reduced cost of Zb Z2 . and Z3 equal

C7 = 0.00067 - 15, Cs = 0.00067 - 15, Cg = 0.03311 - 15.


18 1. INTRODUCTION

Thus the basis remains optimal for all °:: ;


0.00067, but we loose optimality for > 0.00067, i.e. ,
when the cost of grade A apples drops below 9 .033 = 9.1 - 0.067 cents p er pound. At this point
°
we need to pivot. The basis changes and e.g. variable Z l enters and Y2 leaves (there are ties!) .
The basis that we will study has variables Xl, Yl , X2 , Y3 , Z l, and the slacks of constraints 3 ,4 and
5 of the enlarged problem basic. The basis and its inverse (computed directly) are as follows .
1 1 3 - 1
1 1 3 - 3
1 1 1
B=
1 1 1 B- 1 = ~ 3
1 1 3 -3 9 -9 3 1
1 3 - 9 3 9 -3 - 1
1 -3 1 - 3 -3 3 3 1
3 3 -1
We calculate the solution given by the new basis to be (in million pounds) Xl = 1.2, u, = 0.8, X2 = 0,
Y3 = 4.0, Zl = 1.2, and the slacks are set correspondingly. To find the range for which the new
basis is optimal we reset the obje ctive function coefficients of Z l. Z2 , and Z3 such that optimality
°
is again exhibited for = 0, Le., we write 0: = 0.09033 - and thus °
C7 = -0.00811 + 0, Cs = -0.02433 + 0, Cg = -0.01633 + 0.

Since the variable Zl is now basic, we denote by CB(O) the components of the objective function
correspon ding to the variables in the basis. We compu te
cB (o)B- l = (0.08222,0.08222,0.066,0.074 , -0.00811 + 0,0, 0, 0 ) B- 1
= (0.09033 - 0, 0.05789 + 30,0, 0, 0, 0.01611 - 30, - 0.00811 + 0, -0.00811 + ~ o ).
The computation of the reduced cost for the structu ral nonbasic variables Y2. X3, Z2 , and Z3 yields
(in the sequential in dexing and LINDO's sign convention for optimality)
8
C4 = 3 0' Cs = 0.03244 - 40, Cs = 0, Cg = 0.03244 - 40.

It follows that the new basis is optimal for all ° in the range
o:::; °< 0.00537 .
The new "br eakpoint" is consequently 0: = 0.09033 - 0.00537 = 0.08496 . At this point the basis
changes. Consider the new basis with basic variables X l, u.. Y3 , Zl. and the slacks corresponding
to constraints 4 , 5. 6. and 8 of the enlarged model. The basis and its inverse (computed directly)
are
1 3
1 1 1 1 - 1
1 -1 3 -1 1
B=
1 1 1 B-1= ~ 3
1 3 -4 -1 3 1
1 1 3
1 - 3 1 1 -3 1 3 - 1
- 1 - 3
1.1. MINICASES AND EXERCISES 19

We calculate the solution given by the new basis to be (in million pounds) : X l = 1.2, Yl = 1.066...,
Y 3 = 3.733..., Zl = 2.0 and the slacks are set correspondingly. To find the range for which the new
basis is optimal we reset the objective function coefficients of Z l , Z2 , and Z3 such that optimality
is exhibited for 0 = 0, i.e., we write now a = 0.08496 - 0 and thus

C7 = -0.00274 + 0, Cg = -0.01896 + 0, C9 = -0.01096 + O.


With the same notation as above we compute

( 0.08222,0.08222,0.074, -0.00274 + 0,0,0,0,0 ) B- 1


( 0.08496,0.074,0,0 ,0 ,0, -0.00274,0 ) .

The computation of the reduced cost for the structural nonbasic variables X2 , Y 2, X3, Z2 , and Z3
yields (in the sequential indexing and LINDO's sign convention for optimality)

(;3 = 0.01896, (;4 = 0.008, (;5 = 0.01096, (;g = 0.01896, (;9 = 0.01096.
It follows that the new basis is optimal for all 0 2: 0 and thus there is no other "breakpoint".
Summarizing, we have established that for a ::::; 0.08496 the profit-optimal decision is to buy the
entire lot of 2 million pounds of grade A apples with an optimal profit of

$157,152 + $2,000,000 x (0.08496 - a) .

For 0.08496 < a < 0.09033 the optimal decision is to buy 1.2 million pounds of grade A apples with
an optimal profit of
$150,708 + $1,200,000 x (0.09033 - a) .
For a 2: 0.09033 the optimal decision is to buy none of the available grade A apples at all giving an
optimal profit of $150,708 as in part(ii) of our analysis. Here, like before, a is the cost per pound
of grade A apples in dollars.
In the second approach to model the buying and allocation decision of additional grade
A apples, we note that -up to the Apple Cost- the financial data of Table 1.2 remain the same.
Hence it suffices to change the original model of part (ii) as follows: Let Z 2: 0 be the amount of
additional grade A apples bought at the cost of a dollars per pound. As before, we assume the
cost of apple a to be somewhere in the range Of 0 .08 and 0 .095. For a = 0.09 the linear program
thus becomes:
Problem name : WACCOnew .lp for alpha=0.09
Maximize
obj : 0.08222 xl + 0 .08222 y1 + 0 .066 x 2 + 0.066 y2 + 0.074 x3 + 0.074 y3
-0 .09z - 3 0 0 00 0x O
Subject To
cO : xO 1
c1 : xl + x2 + x3 - z <= 1200000
c2: y1 + y2 + y3 <= 4800000
c3: z <= 2000000
c4: x l + y1 <= 28800000
c5: x2 + y2 <= 2000000
c6 : x3 + y3 <= 4000000
20 1. INTRODUCTION

c7: xl - 3 y1 >= 0
c8 : 3 x2 - y2 >= 0
End
Note that now the objective function contains the "sunk" cost of the acquisition of the 6,000,000
pounds of apples explicitly and because all of the financial data of Table 1.2 except Apple Cost
remain the same, the objective function of WACCOnew .lp calculates the profit for the product mix
X l , YI, X2 , Y 2, X3, Y 3 and the acquisition of a:::; z :::; 2, 000, 000 pounds of grade A apples correctly.
Solving the problem e.g. with CPLEX we find the following solution:
Primal - Optimal : Objective 1.5110400000e+05
Solution time 0 .00 sec . Iterations = 6 (0)

Variable Name Solution Value Constraint Name Dual Price


xl 2400000.000000 cO -300000 .000
y1 800000.000000 c1 0 .09000
y3 4000000.000000 c2 0.05888
z 1200000.000000 c6 0.01512
c7 -0 .00778
c8 -0.00800
All other variables and dual prices are zero.
The analysis of the problem becomes. of course, much easier as we now need to change only
a single coefficient of the objective function parametrically. The results of the analysis are the
same as before and the details of it are left to the reader. It is clear that the first approach is
more general as it permits to change financial data from Table 1.2 other than the cost of apples
as well .

*Exercise 1.3 (Minicase III) (Source: unknown)

ABCO manufactures two products X and Y. ABCO's manager is interested in production and liquidity
planningfor the next two weeks ofoperation. The first week hasfour working days and the second
week has five working days. Each working day has one eight-hour shift.
The firm has 200 machines that can be used for the production of both X and Y. A unit ofproduct
X takes 10 hours of machine time, whereas a unit of Y takes 16 hours. Sales ofproduct Y cannot
exceed 800 units during the next two weeks, whereas there is no such restriction on the sales of
product X. Within those limits, ABCO does not produce on inventory and sells immediately what it
produces. Sales price, wages to labor, and cost of raw material per unit ofproduct X and product
Y do not vary over time and are given in Table 1.3.
Wages are proportional to production volume and paid in the week when production occurs; raw
materials are bought on credit ofone week and delivered immediately, i.e., ABCO uses just-in-time"
delivery on a weekly basis and maintains no inventory ofraw materialsfor its current products. All
sales are on credit, and payments are received one week from the date of sale. The salary of the
manager is $200 per week; it is not affected by the production volume. but it is paid weekly like the
wages are. The balance sheet at the beginning of the planning period (BoP) is given in Table 1.4.
1.1. MINICASES AND EXERCISES 21

Table 1.3. Cost and Revenue Data (in dollars per unit)

Product X Product Y
Sales price $55 $125
Labor $30 $48
Raw materials $10 $50
Profit $15 $27

From it we see that ABCO receives $32.000 from accounts receivable and pays out $9.500 at the
start of the first week.

Table 1.4. ABCO's Balance Sheet as of BoP

Assets Liabilities and Equity


Cash $2000 Accounts Payable $9,500
Marketable Securities $600 Bank Loans $7.500

Accounts Receivable $32,000 Current Liabilities $17,000


Inventories $2,000 Long-term Debt $22,500

Current Assets $36,600 Net Equity $47.100


Fixed Assets $50,000

Total Assets $86,600 Total Liabilities & Equity $86,600

As a matter ofpolicy. ABCO maintains inventories of$2.000 in parts ofsome obsolete models. The
current balance of marketable securities is earmarked for tax payments which are due later in the
year. ABCO maintains a minimum cash balance of$500 and has an open line of credit of$7.500
from a local bank. This line of credit is presently fully used. but repayment and interest payments
on its loans are scheduledfor later in the year. In order to preserve afavorable picture ofthejirm's
financial situation. the manager has agreed with the local bank that ABCO's "quick: ratio" should
not drop below 2.0.
(i) Verify that at the beginning of the period ABCO has a quick ratio greater-than-or-equal-to 2.0.
Show your calculations. The "quick ratio" is defined as

Quick Ratio = Current Assets:- !n.v~ntories .


Current Liabilit ies
(ii) Let
• Xl =the number oj units ojX produced and sold in week 1.
• YI =the number of units of Y produced and sold in week 1.
22 1. INTRODUCTION

• X2 = the number of units ofX produced and sold in week 2,


• Y2 = the nwnber of units of Y produced and sold in week 2.
Formulate the problem offinding a profit-optimal production-mixfor ABCO that is within the
various physical and policy restrictions as well as the limited scope of ABCO's financial
capabilities as a two-period linear program in the above four variables.
(iii) Compute a profit-optimal product-mixfor ABCO using an interactive LP solver such as CPLEX,
LINDO or OSlo What is the optimal proftt ABCO can obtain?
(iv) What is the cash balance ofABCO at the end of week 1 and week 2? What are the respective
two values of the quick: ratio? Summarize your findings in a "cash budget" listing the cash
position at the beginning of the period (BoP), total receipts, total cash available, total expendi-
tures, the cash position at the end of the period (EoP), the minimum cash balance and excess
cash in weeks 1 and 2 including the total cash available tofinance operations in week 3.
(v) To ensure a "smooth" production schedule ABCO's management wants that the two weekly
production volumina to schedulefor product X and product Y, respectively, do notfluctuate too
Widely. Moreprecisely, management wants the absolute difference ofthe production volumina
ofproduct X to not exceed 200h ofthe total production volume for product X over the two periods
and likewise for product Y. Reformulate the linear program to include these considerations.
What are the optimal production volumina to be scheduled and what is the optimal profit for
the changed linear program? How much does it cost ABCO to smooth its production this way?
How does this answer change if management insists on a maximumfluctuation of 10% rather
than20%?
(vi) Reformulate the problem of part (ii) using "auxiliary" free variables in order to facilitate the
report writing for cash budget and quick: ratio calculations.
(vii) Summarize your answers in an "executive summary" separatefrom your analysis.

Executive Summary:
A. A linear programming analysis shows that ABCO can attain a maximum two-week profit of

I$23, 600 I
while keeping full employment and "smoothing" the production over the two periods so that
the (adjusted) fluctuations in production volumina for product X and Y, respectively, do not
exceed 10%. To do so ABCO should produce
• 64 units of product X and 360 units of product Y in week I,
• 96 units of product X and 440 units of product Y in week 2.
B. The Itqutdity analysis for ABCO is very promising. The cash budget corresponding to the
above product allocations shows that
1.1 . MINICASES AND EXERCISES 23

QUick Ratio (EoPl) = ~~:: i~~ > 2.07. Quick Ratio (EoP2) = ~~~', ~~~ > 2.35.
at the end of week 1 and week 2. respectively. The excess cash for week 2 generated by
ABCO is $10.280 and -after paying for the raw materials used in the production of week 2-
ABCO has I$48,100 I to finance salary and wages in week 3 . This suggests that in week 2
ABCO should consider investing a portion of its excess cash in revenue-producing short-
term financial instruments such as marketable securities. Alternatively, ABCO may want
to discuss with its local bank an early retirement of a part of its outstanding bank loans.
The amount which should be applied in either case depends, of course, upon the market
forecasts for week 3 and beyond.
Solution to and Analysis of Minicase III:
(i) From the balance sheet of ABCO in Table 1.4 we find that
Cash + marketable securities + accounts receivable
Quick Ratio =
Accounts payable + bank loans
$2, 000 + $600 + $32, 000 > 2.035.
$9, 500 + $7,500

(ii) By assumption ABCO sells all of product X it can produce. The only sales restriction is the
total sales of product Y which is limited to 800 units in the two-week period, i.e.,

and of course, Xl ~ 0, X2 ~ 0, YI ~ 0, Y2 ~ O. Given four work days of eight hours in week 1 we


have 32 work hours and likewise, in week 2 we have 40 work hours of operation. ABCO has 200
machines and thus a total of 6,400 hours in week 1 and of 8 ,000 hours in week 2 of machine
time for operations. Product X takes 10 hours of machine time per unit, while product Y takes
16 hours. We get the production capacity constraints

10XI + 16YI ::; 6,400 and lOx2 + 16Y2 ::; 8, 000,


which limit the production in the two week period.
Since ABCO wants to maintain a minimum cash balance of $500 per week we need to formulate
two cash balance constraints of the form
I ending balance = beginning balance + inflows - ouiflows ~ minimum balance I

for the two weeks. In the first week ABCO has $2,000 in cash on hand and receives $32,000 from
its accounts receivable. ABCO has to pay $9,500 on accounts payable, $200 for the salary of the
manager plus the wages for labor of 30XI + 48YI during the first week. Since raw materials are
bought on one week's credit the cash balance at the end of week 1 must satisfy

$2, 000 + $32, 000 - $9, 500 - $200 - (30XI + 48YI) ~ $500

or stmplifytng and rearranging we get the cash balance constraint for week 1

30Xl + 48YI ::; 23,800.


24 1. INTRODUCTION

The s econ d week begins with a cash position of 23,800 + 500 - (30XI + 48yd . ABCO receives
55xI + 125YI dollars from accounts receivable. Cash outflows are wages and salary for week 2
plus the payment on accounts payable for the raw materials bought in week 1, Le.,

or simplifying and arranging we get the cash balance constraint for week 2

- 15x I - 27YI + 30X2 + 48Y2 S 23,60 0.

Since ABCO n eeds to maintain a quick ratio of at least 2.0 at the end of both weeks we get two
more constraints of the gen eral form
. kR ' Cash + marketable securities + accounts receivable 20
Q tiu: atio = > .
Acc ounts payable + ban k loan s -

From the above we know that ABCO finishes the first week with 24, 300- 30XI - 48YI dollars in cash,
marketable securities valu ed at $600 and 55xI + 125YI dollars on accounts receivable. Accounts
payable at the end of the first week are 10XI + 50YI dollars and bank loans amount to $7,500 .
Consequently ,
24,300 - 30XI - 48YI + 600 + 55xI + 125YI > 2.0
lOXI + 50YI + 7,5 00 -
and simplifying we get the quick ratio constraint for week 1

-5X I + 23YI S 9,900.


Likewise, we end week 2 with 24, 100+ 15xI +27YI- 30X2-48Y2 dollars in cash, marketable securities
valued at $600 and 55x2 + 125Y2 dollars on accounts receivable. Accounts payable at the end of
week 2 are 10x 2 + 50Y2 dollars and bank loans remain at $7, 500. Writing down the correspon ding
quick ratio constraint for week 2 and stmplifytng we get

-1 5x I - 27YI - 5X2 + 23Y2 S 9,700.

As we are concerned with the very short-term horizon of two weeks we can take the total attainable
profit over the two weeks as the objective function , Le., we can ign or e the "time value" of money
and avoid "discou n ting" the second week's profit to make it truly comparable to the first week's
profit. The resulting linear program is shown in part (iii) in the form of input for the LP solver
LINDO.
(iii) From the formulation of part (ii) the input to LINDO and its s olu ti on are as follows.

! ABCO's p rob lem


max 1 5xl + 2 7y l + 1 5x2 + 2 7y2
subject to
yl + y2 < 8 00 Sales limi t a ti on
10xl + 1 6yl < 640 0 Product ion we e k 1
10x2 + 16y2 < 8000 Product ion we e k 2
30xl + 4 8yl < 23 800 Cash balanc e week 1
-15xl - 27 yl + 3 0x2 + 48y2 < 236 0 0 Cash bala nce week 2
- 5xl + 23yl < 9900 Qui ck r at i o we ek 1
1.1. MINICASES AND EXERCISES 25

-15x1 - 27y1 - 5x2 + 23y2 < 9700 Quick ratio week 2


All vars nonnegative
LP OPTIMUM FOUND AT STEP 4
OBJECTIVE FUNCTION VALUE
1) 24000 .00
VARIABLE VALUE REDUCED COST
Xl 160 .000000 0.000000
Y1 300 .000000 0.000000
Y2 500 .000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 3 .000000
3) 0.000000 1.500000
4) 0 .000000 1.500000

I
After paying the manager $400, ABCO can thus attain a two-week profit of $23,600 with the I
product-mix:
• 160 units of product X and 300 units of product Y in week 1.
• 0 units of product X and 500 units of product Y in week 2.
The resulting production schedule looks rather unbalanced, but guarantees full employment for
ABCO's work force for the upcoming two weeks (why?).
Inspection of the (long) computer output (including the zero primal and dual variables) shows
that the reduced profit or cost of variable X 2 equals zero. Thus there may be alternative optima
for ABCO's problem. To find one we use a Iperturbation device I for the objective function.
We replace the term 15x 2 in the objective function by (15 + c)X2. where c > 0 because we are
maximizing. Setting e = 0.00001 and rerunning the problem we find after one iteration the
alternative optimal production schedule

Xl = 0, Yl = 400, X2 = 160, Y2 = 400,


which also gives an objective function value of $24, 000 . Like the first one it is rather unbalanced
as far as product X is concerned, but guarantees full employment as well. The optimal solution
reported by LINDO and most LP solvers depends on the Iorder of the variables and constraints I
in which they are read (and stored internally) by the computer during the input phase. So your
solution may be different, but not the objective function value.
(iv) ABCO's cash budget for the (first) product-mix of part (iii) for the two weeks is shown in
Table 1.5. The items that have to be calculated from the actual production schedule are explained
in the footnotes .
Likewise we compute the quick ratios at the end of week 1 (EoP1) and week 2 (EoP2):

. k R . (E P I) = $5, 100 + $600 + $46, 300 = $52,000 2 157


Qme aiio 0 $16, 600 + $7,500 $24, 100 > . ,
Quick Ratio (Eo P2) = $10,6 00 + $600 + $62,500 = $73, 700 2.267.
$25, 000 + $7,500 $32,500 >
26 1. INTRODUCTION

Table 1.5. ABCO's Cash budget

Week 1 Week 2 Week 3


Cash balance BoP $2,000 $5,100 $10,600
Total receipts $32,000 $46,300 2) $62,5004 )
Total cash available $34,000 $51,400 $73,100
Total disbursements $28,900 1) $40,800 3 )
Cash balance EoP $5,100 $10,600
Minimum cash balance $500 $500 $500
Excess cash $4,600 $10,100
1) Accounts payable + Salary + Wages = $9,500 + $200 + ($30 x 160 + $48 x 300)
2) Accounts receivable = $55 x 160 + $125 x 300
3) Accounts payable + Salary + Wages = $16,600 + $200 + ($30 x 0 + $48 x 500)
4) Accounts receivable = $55 x 0 + $125 x 500

These numbers show that ABCO -after the accounts payable accrued in week 2 are paid for-
has $48,000 in cash to cover salary and wages in week 3, which seems excessive.
(v) To smooth ABCO's production over the two-week period for product X and product Y we want

where a is the percentage fluctuation that management is willing to permit. Equivalently we can
write the linear constraints

-0.a(X1 + X2) ::::: Xl - X2 ::::: 0.a(X1 + X2) and - 0.a(Y1 + Y2) ::::: Y1 - Y2 ::::: 0.a(Y1 + Y2) .
Simplifylng and rearranging we get for a = 20% the following four constraints for ABCO's produ-
ction and liqutdlty planning model

The input and solution report from LINDO follow.


! ABCO's problem with production smoothing
max 15xl + 27yl + 15x2 + 27y2
subject to
yl + y2 < 800 Sales limitation
10xl + 16yl < 6400 Production week 1
10x2 + 16y2 < 8000 Production week 2
30xl + 48yl < 23800 Cash balance week 1
-15xl - 27yl + 30x2 + 48y2 < 23600 Cash balance week 2
-5xl + 23yl < 9900 Quick ratio week 1
-15xl - 27yl - 5x2 + 23y2 < 9700 Quick ratio week 2
-1.2xl +0.8x2 < 0 Smoothing product X
O.8xl - 1 . 2x 2 < 0 Smoothing product X
1.1. MINICASES AND EXERCISES 27

-1. 2yl +0.8y2 < a Smoothing product Y


0 .8yl -1. 2y2 < a Smoothing product y
All vars nonnegative
LP OPTIMUM FOUND AT STEP 5
OBJECTIVE FUNCTION VALUE
1) 24000 .00
VARIABLE VALUE REDUCED COST
Xl 64 .000000 0.000000
Yl 360 .000000 0.000000
X2 96 .000000 0 .000000
Y2 440.000000 0.000000

ROW SLACK OR SURPLUS DUAL PRICES


2) 0.000000 3.000000
3) 0.000000 1 .500000
4) 0.000000 1.500000
From the solution report of the smoothed production and liquidity planning problem we find
yet another alternative optimal solution, different from the one obtained in part (iii). Given its
current data configuration ABCO's profit is not reduced by the additional production smoothing
constraints and full employment of labor is assured as well.
After paying the manager's $400, ABCO can thus attain a two-week profit of $23 .600 with theI I
product-mix:
• 64 units of product X and 360 units of product Y in week I,
• 96 units of product X and 440 units of product Y in week 2.
If the fluctuation in the production schedule for the two -week period is reduced to 0: = 10%
then this policy decision reduces ABCO's operating profit by $277.67. More precisely, with this
I
stronger fluctuation restriction ABCO attains a two-week profit of $23,333.331 with a product-
mix of 64 units of product X and 360 units of product Y in week 1 and 78.22 units of product X
and 440 units of product Y in week 2. This is achieved by not working the full five days in week
2 which may cause problems with labor representatives.
Given the unequal lengths of the two work weeks it does not seem reasonable to insist on smoo-
thing the (uncomparable) production volumes of week 1 and week 2 . Rather to make the two
different work weeks comparable we should "scale up" the production in week 1 by a factor of
1.25 (to account for the four days of week 1 and a "normal" five day work week) . We then require
that
11.25xl - x21:::; 0.0:(1.25xl + X2) and 11.25Yl - Y21 :::; 0.0:(1.25Yl + Y2) .
Thus the two linear smoothing constraints for product X become
- 1.25(1 + O.O:)Xl + (1 - 0.0:)X2 :::; 0 and -1.25(1- O.O:)Xl + (1 + 0.0:) X2 :::; 0 ,
and likewise for product Y. With this adjustment the production-mix found initially for 0: = 20%
produces an adjusted fluctuation for product X and product Y of

\1.25x l - x21 = ~ ~ 9.1% , 11.25Yl - Y21 = ~ ~ 1% ,


1.25xl + X2 176 1.25Yl + Y2 990
28 1. INTRODUCTION

Table 1.6. ABCO's Cash budget for smoothed production

Week] Week 2 Week 3


Cash balance BoP $2,000 $5,100 $10, 780
Total receipts $32,000 $48,5202) $60 ,2804 )
Total cash available $34 ,000 $53,620 $71,060
Total disbursements $28 ,900 1) $42,8403 )
Cash balance EoP $5,100 $10,780
Minimum cash balance $500 $500 $500
Excess cash $4,600 $10,280
1) Accounts payable + Salary + Wages = $9 ,500 + $200 + ($30 x 64 + $48 x 360)
2) Accounts receivable = $55 x 64 + $125 x 360
3) Accounts payable + Salary + Wages = $18, 640 + $200 + ($30 x 96 + $48 x 440)
4) Accounts receivable = $55 x 96 + $125 x 440

which - with full employment in the two weeks- is below the lO% range desired,
Policy constraints of this nature are typically Isoft constraints I, t.e. constraints for which "small"
violations can usually be tolerated by management and labor. To measure the amount of "per-
missible" violation of a soft constraint an auxiliary variable X au x is introduced. Variable X au x gets
I
a Ipenalty term in the objective function like in any Big-M method. E.g. if we have a maximi-
zation problem and a soft less-than-or-equal-to constraint, then we replace the corresponding
right-hand side b, say, by b + X au x and add the term -Mx au x to the objective function. The nu-
merical value for M is typically obtained by some heuristic argument or by managerial decision.
In some cases a contractual agreement (specifying penalties for production delays or such) may
exist or a theoretical analysis may be possible to determine numerical values for the penalties on
the amount of violation more precisely.
The cash budget for the smoothed production allocation is shown in Table 1.6.
Like above we compute the quick ratios at the end of week 1 (EoPl) and week 2 (EoP2):

Qw.ek R at i 0 (EoP1) = $5,100 + $600 + $48,520 = $54,220 2.07


$18,640 + $7,500 $26,140 > ,
Q .kR . (E P2) = $10,780 + $600 + $60,280 = $71,660 2 35
we aiio 0 $22,960 + $7,500 $30,460 > . .
Like in the first analysis, these numbers show that ABCO -after the accounts payable accrued
in week 2 are paid for- has $48,100 in cash to cover salary and wages in week 3, which seems
excessive.
(vi) To facilitate the report writing after the problem solving phase, but also in order to increase
the "transparency" of the problem formulation during the formulation phase, linear programmers
frequently use Iauxiliary free variables I in their formulations. In the case of ABCO's problem
e.g. the following auxiliary free variables suggest themselves:
• Let APi for i = 0,1 ,2 be the position of the Accounts payable at the end of periods 0, land 2 ,
respectively, where the end of period 0, say, is the beginning of period 1. Since ABCO pays
1.1. MINICASES AND EXERCISES 29

salary and wages during the periods and accumulates only the cost of the raw materials on
its Accounts payable, we get the relations

Apo = 9,500, APl = 10Xl + 50Yl, AP2 = 10x2 + 50Y2 .

• Let Ari for i = 0, 1,2 be the position of the Accounts receivable at the end of periods 0, 1 and
2, respectively. Because ABCO sells its products on one week's credit we get the relations

Aro = 32,000 , Arl = 55xl + 125Yl , Ar2 = 55x2 + 125Y2 .

• Let SWi for i = 0,1,2 be the Salary and Wages paid by ABCO during week 1 and week 2,
respectively. We get the relations

• Let Co; for i = 0,1 ,2 be the Cash position of ABCO at the end of periods 0, 1 and 2,
respectively. Using the previously introduced auxiliary free variables we get the relations

Cao = 2,000 , Ca l = Cao + Aro - Apo - SW1 , Ca2 = Cal + Arl - APl - SW2 .

• The quick ratio constraints in the auxiliary free variables now become
Cal + Arl + 600 > 20
. ,
--,-----:-:-.,.--:-c--
Ca2 + Ar2 + 600 > 2.0 .
APl + 7,500 - AP2 + 7,500 -

• The minimum cash balance constraints for ABCO read: Cal ~ 500, Ca2 ~ 500 .
Rearranging and simplifying the above relations to fit the usual linear programming format we
get the following input for LINDO, which has now 15 variables and 18 constraints. We have
4 variables that must be nonnegative as before and 11 auxiliary free variables.
! ABCO's problem with auxiliary free variables
Max l5xl + 27yl + l5x2 + 27y2
Subject to
yl + y2 < 800 Sales
10xl + 16yl < 6400 Produc tion 1
10x2 + l6y2 < 8000 Production 2
ApO 9500 Payables EoPO
-lOxl - 50yl + ApI 0 Payables EoPl
-10x2 - 50y2 + Ap2 0 Payables EoP2
ArO =32000 Receivables EoPO
-55xI -125yl + Arl 0 Receivables EoPl
-55x2 -125y2 + Ar2 0 Receivables EoP2
-30xI - 48yI + SWI 200 Wages 1
-30x2 - 48y2 + SW2 200 Wages 2
CaO 2000 Cash EoPO
SWI + ApO - ArO - CaO + Cal 0 Cash EoPI
SW2 + ApI - Arl - Cal + Ca2 0 Cash EoP2
30 1. INTRODUCTION

-2Ap1 + Ar1 + Cal >14400 Q Ratio EoP1


-2Ap2 + Ar2 + Ca2 >14400 Q Ratio EoP2
Cal > 500 Min cash EoP1
Ca2 > 500 Min cash EoP2
END
FREE ApO Ap1 Ap2 ArO Ar1 Ar2 SW1 Sw2 CaO Cal Ca2

The actual LINDO input requires a separate line for each free variable; in the above formulation
it recognizes only Apo as a free variable and ignores the other variables, which by default become
nonnegative variables. In our particular case this does not hurt, but it may in general. The
solution to ABCO's problem is shown below. It permits to find most entries necessary to set up
the cash budget and to do the quick ratio calculations. Every (skilled) computer programmer
will recognize that with the "tri ck" of introducing auxiliary free variables it becomes possible
to fully integrate the linear programming calculations with an I automatic report generation I.
Most contemporary commercial LP solvers take care automatically of such free variables reducing
sometimes the overall computing times dramatically by so-called Ipreprocessing techniques I.
The amazing student version of LINDO that we used managed to take longer as the output shows.
LP OPTIMUM FOUND AT STEP 19
OBJECTIVE FUNCTION VALUE
1) 24000.00
VARIABLE VALUE REDUCED COST VARIABLE VALUE REDUCED COST
Xl 160.000000 0 .000000 SW1 19400.0 0 .00
Y1 300 .000000 0 .000000 SW2 24 200.0 0 .00
X2 0.000000 0 .000000 CAO 2 000.0 0 .00
Y2 500.000000 0 .000000 CAl 5100 .0 0 .00
APO 9500 .000000 0.000000 CA2 10600 .0 0.00
AP1 16600.000000 0.000000
AP2 25000.000000 0.000000 ROW SLACK/SURPLUS DUAL PRICES
ARO 32000 .000000 0.000000 2) 0.000 3.00
AR1 46300 .000000 0.000000 3) 0.000 1. 50
AR2 62500 .000000 0.000000 4) 0.000 1. 50

*Exercise 1.4 (Minicase IV)

History: Like the rest ojGermany after her unconditional surrender in May oj 1945, the city ojBerlin
was divided into an American, British, French and a Russian sector. Berlin was geographically
located in the "Soviet" (Russian) zone and access to the western (American, British and French)
sectors ojthe city was assured by agreement with the Soviets via air, rail and three highwaysfrom
Hamburg, Hannover and Hof tri Northern Bavaria, respectively, untilJairly recently (1990) when
history took a different turn again. When the three western sectors oj the city ojBerlin adopted in
early 1948 the "new " currency that hadjust been created in the "tit-zone" , i.e., the American, British
and French zones oj Germany, the Soviets -iri the person oj Joseph Vissarionovich Djugashvili,
a.k.a. Joseph Stalin (1879-1953)- reacted with a total blockade oj road and rail access to the city
1.1. MINICASES AND EXERCISES 31

Table 1.7. Relevant cost data in MU's per unit


Period 1 Period 2 Period 3 Period 4
New plane 200.0 195.0 190.0 185.0
Idle pilot 7.0 6.9 6.8 6.7
New pilot 10.0 9.9 9.8 9.7
Resting pilot 5.0 4.9 4.8 4.7

of Berlin for all westerns. including American, British and French forces. A massive and costly
"airlift" to Berlin (called "Operation Fiddle" by the military) was organized by the American, British
and Frenchforces that reportedly transported over 2.3 million tons offood. clothing. fuel. asphalt.
pet food. etc into West Berlin to save West Berliners (and their beloved ones) from starving and
freezing. Operation Fiddle lasted 463 days or about 15 months -ftom. June 1948 to September
1949- when the Soviets finally backed off. Clearly, like in modern warfare, such a massive effort
requires a great deal of logistics planning.
Problem: You have been assigned to come up with afeasibility study to apply linear and integer
programming techniques to aid the logistics planning staffin their analysis. To do so you have been
given a very simplified version ofthe problemfaced by the logistics managers. More specifically. you
have been asked to plan the logistics of the operation at a very aggregate levelforfour consecutive
quarters. e.g. four three-month periods. assuming the following scenario.
• For each quarter you have a forecast of the cargo that must be airlifted. One unit of cargo
corresponds to 100.000 tons , say, and in quarters 1. 2 .3 and 4 you need to airlift exactly 2.
3. 3 and 4 units of cargo. respectively. Each unit of airlifted cargo requires 50 airplanes and
three pilots are necessary to man and operate one plane.
• At the beginning of the first quarter you have 330 pilots -personnel that can operate planes or
train new pilots- and 110 airplanes. You have to plan the recruitment of new personnel and
the procurement of new aircraft ahead of time.
• In each quarter 200J0 of the flying personnel and aircraft are lost (for the rest of the planning
period) due to planes that go down in the Soviet zone before reaching the tri-zone. To simplify
matters, "los t" crew is equated to the corresponding lost aircraft and aircraft is never lost on
the way to Berlin. but only on the way back from Berlin. when the pilots are tired. Aircraft
procured in any period is ready for use in the follOWing period.
• Pilots that do not operate an aircraft are either idle or train new pilots. You have been told
to assume a ratio of 1 to 20. i.e.. in every quarter each pilot trainer ''produces'' 20 new pilots
(including himselj) that are ready to operate aircraft in the follOWing period.
• Crews that have operated an aircraft during one quarter are given leave the following quarter
and are available again after their rest period for a new round of duty. Despite the enormous
"attrition" rate of 200J0for lost crew and aircraft morale among the personnel is high and all
personnel that were given leave return to service after their rest period.
• The relevant cost datafor your analysis are given in monetary units (MU's) in Table 1.7. All
other cost are immaterial and assumed to be zero.
32 1. INTRODUCTION

(i) Let Ca, be the units ofcargo airlifted in periodjfor j = 1, . . . , 4,


UPj be the number of unused or "idle" planes in periodjfor j = 1, . .. , 4,
NPj be the number of new planes procured inperiodjfor j = 1, . .. ,4,
P i, be the number of idle pilots in periodjfor j = 1, .. . ,4,
Psi, be the number of trainees (including their trainers) inperiodjfor j = 1, ... ,4,
P r j be the number of resting pilots inperiodjfor j = 1, . . . , 4.
Formulate the problem offinding a cost-minimal logistics plan as a linear programming (LP)
model in terms of the above 24 variables.
(ii) Solve the problem as a linear program using an interactive LP solver such as CPLEX, LINDO or
OSLoIs the LP solution implementable?
(iii) Solve the problem as a linear program in integer variables using an ordinary branch-and-bound
solver, such as e.g. given by the default options of LINDO. Summarize your observations.
(iv) Suppose you know that there are integer solutions with an objective junction value of less
than 47,000. Rerun your integer program by supplying the solver an upper bound of 47,000
on the objectivefunction, e.g. by specifying in LINDO's options menu an "IP Objective Hurdle "
of 47,000. Summarize your observations.
(v) Joe Doe, an integer programming whiz kid, has analyzed your problem and tells you that
given your cargoforecasts every integer solution to your logistics planning model must satisfy
the additional constraints

Pi l :::; 7, 20Ph + Pi2 :::; 146, 400Pi l + 20Pi 2 + Pi3 :::; 2,924.
Add these constraints (called "cuts" or "cutting planes") to your formulation and rerun the
problem. Summarize your observations.
(vi) Joe Doe also suggested that you replace the variables Pti, for j = 1, . . . , 4 by

Pt, = number ofpilot trainers in periodjfor j = 1, . .. , 4.

Why did he do that? How does yourformulation change? Run the reformulated problem and
summarize your observations.
(vii) Suppose you eliminate the variables modeling the cargo shipmentsfrom the LP model through
substitution. How does the model change and what are its implications? State your ob-
servations succinctly. Do you think that your findings are typical for this kind of logistics
management?
(iix) Summarize your findings in an "executive" summary. Be sure to include an operational
schedule for crew management and aircraft utilization and procurement for the simplified
scenario of Operation Fiddle.

Executive Summary:
The problem posed to us has been formulated successfully as a linear programming problem
in integer variables. The integrality of the decision variables is essential for the usefulness
of computer generated logistics schedules. The analysis of the simplified model for Operation
1.1. MINICASES AND EXERCISES 33

Table 1.8. Aircraft utilization and procure- Table 1.9. Crew management
ment
I Period
Cargo = 2 3 3 4
I Period
Total crew
Flying crew
=330
300
707
450
826
450
964
600
Total Planes 110 150 150 200 Lost crew 60 90 90 120
Flying Planes 100 150 150 200 Resting crew 0 240 360 360
Idle Planes 10 0 0 0 Idle crew 7 6 4 4
Lost Planes 20 30 30 40 Trainers 23 11 12 0
I Procurement ~ I Tramees

Fiddle shows that this approach to the problems faced by the operations logistics managers
is an invaluable tool that has great promise to automatize and improve many of the tedious
aspects of the scheduling process. In Tables 1.8 and 1.9 we summarize the computer generated,
Icost-minimall results of our analysis in a convenient form for the logistics managers by stating
the new aircraft to be procured as well as the trainees to be recruited for each quarter.
Solution to and Analysis of Minicase IV:
(i) Using the variable definitions introduced above in part (i] we formulate the problem as follows.

1.) The cargo shipments give rise to four equations: Cal = 2, Ca 2 = 3, Ca3 = 3, Ca4 = 4.
2.) To account for the aircraft we need to make sure that in each period

Irequired flying aircraft ::::: available aircraft· I


The slack in the inequalities is the unused (idle) aircraft that stays on the ground for possible
use in the next period. Since 1 unit of cargo requires 50 planes, 50Caj airplanes take off to
carry Co., units of cargo in period j and thus for period 1

50Cal + UPI = 110.

Of the 50Caj planes that take off in the j-th period we loose 20% or 10Caj planes. Thus
e.g. 40Cal plus the UPI unused ones of the original 110 aircraft remain available for use
in period 2. We procure NPj new aircraft in period j that are ready for use in period j+1.
Hence
50Caj + UPj = 40Caj_1 + UPj- l + N Pj- l for j = 2,3 ,4 .

3 .) To man 50Caj aircraft we need 3 x 50Ca j = 150Caj pilots in every period. To have Pii, newly
trained pilots in period j + 1 requires 210Pnj = 0.05Pnj trainers in period j because to get 20
new pilots (including the trainer) we need 1 trainer. Thus for period 1

150Cal + 0.05Pnl + P i; = 110.

Likewise in periods 2, 3, 4 we need 150Ca j + 0.05Pnj pilots. The number of pilots available
in period j are the P i j-l pilots that were idle in the previous period, the P n j-l newly
34 1. INTRODUCTION

Table 1.10. Example of an airlift model

Cargo Planes Crews


Idle New Idle New Resting
Cal Ca 2 Ca 3 Ca4 UPrUP2UP3UP4NPrNP2NP3NP4 lPirPi2P i3 P4 IPnl Pn2Pn3P n4IPrl P r2Pr3P r4
0 0 0 0 0 0 0 0 200 195 190 185 7 6.96.86.7 10 9.9 9,8 9 .7 5 4 .94.84.7 min
1 =2
1 =3
1 =3
1 =4
50 1 = llC
-40 50 -1 1 -1 =0
-40 50 -1 1 -1 =0
-40 50 -1 1 -1 =0
150 1 .05 = 33C
150 -1 1 -1 .05 =0
150 -1 1 -1 .05 -1 =0
15C -1 1 -1 .05 -1 =0
1 =0
- 120 1 =0
-120 1 =0
- 120 1 =0

trained pilots (including their trainers) and the Prj-l "rested" pilots that were given leave
for a previous duty period and returned to base.i.e., with P i, pilots idle in period j we have

150Caj + 0.05Pnj + P i, = P i j-l + Pnj -l + Prj-l for j = 2,3 ,4 .

4.) Only flying personnel that returned safely to the base is given leave in the period following
their tour of duty. Since we have a 20% attrition rate 30Caj of the 150Caj pilots that took
off are dead or captives in Soviet hands and 120Caj return to base. Hence

Pr, = 0, Prj = 120Caj_ l for j = 2,3 ,4.

5.) Since the cost in Table 1.7 are on a per unit basis and our variables are in those units we get
the objective function by multiplying each cost term by its respective variable and adding
up.
6.) Requiring that all variables are nonnegative integers we have the formulation displayed in
Table 1.10 for Operation Fiddle. We should, but do not model explicitly, the requirement
that the Psi, must be multiples of 20, t.e., that Psi, = 20xj for some Xj :::: 0 and Xj = integer
for j = 1, ... , 4. In this first shot at a formulation we simply assume that this constraint will
be satisfied automatically (which happens to be true for our data). As we will see, we will
pay a price for this omission; see below.
1.1. MINICASES AND EXERCISES 35

(ii) Input of the linear program displayed in Table 1.10 in LINDO's format is shown below. In
Table 1.1 both the LP solution and the integer programming (IP) solution to the problem Operation
Fiddle are displayed (to an accuracy of three digits after the point). From both solutions we read
that 60 new aircraft must be procured in period 1, 30 in period 2 and 80 in period 3 . As for crew
management we read from the LP solution that Pi 1 = 7.311 pilots are idle and Pn.; = 453.789 new
pilots should be trained in period 1 for a tour of duty in period 2. This requires that 453.789/20 ~
22.69 pilots train 431.099 new recruits in period 1. Pilots like aircraft are, of course, "indivisible"
and thus these numbers are at best gutdelines for the decisions faced by the logistics managers.
We could use "rounding" and then trace the result through the system of equations. We would
then still have to be "lucky" to find a feasible solution in nonnegative integers to the scheduling
problem. Thus the use of integer programming techniques becomes necessary. The second half
of Table 1.1 shows the solution obtained by invoking the integer programming facilities of LINDO.
As we see the optimal number of pilot trainers is 460/20 = 23 in period 1, 11 in period 2 and 12
in period 3, Le., in this particular case the divisibility by 20 is satisfied automatically, but this
need, of course, not be the case for other data constellations.
! Operation FIDDLE
min OCal + OCa2 + OCa3 + OCa4 + OUpl + OUp2 + OUp3 + OUp4 +
200Npl + 195Np2 + 190Np3 + 185Np4 + 7Pil + 6.9Pi2 + 6.8Pi3 + 6.7Pi4 +
10Pnl + 9.9Pn2 + 9 .8Pn3 + 9 .7Pn4 + 5Prl + 4 .9Pr2 + 4 .8Pr3 + 4.7Pr4
subject to
Cal 2 Cargo period 1
Ca2 3 Cargo period 2
Ca3 3 Cargo period 3
Ca4 4 Cargo period 4
50Cal + Upl 110 Planes period 1
-40Cal + 50Ca2 - Upl + Up2 - Npl 0 Planes period 2
-40Ca2 + 50Ca3 - Up2 + Up3 - Np2 0 Planes period 3
-40Ca3 + 50Ca4 - Up3 + Up4 - Np3 0 Planes period 4
150Cal + Pil + .05Pnl 330 Pilots period 1
150Ca2 - pil + pi2 - Pnl +.05Pn2 0 pilots period 2
150Ca3 - pi2 + pi3 - Pn2 +.05Pn3 - Pr2 0 pilots period 3
150Ca4 - pi3 + pi4 - Pn3 + .05Pn4 - Pr3 0 Pilots period 4
Prl 0 Resting pilots period 1
-120Cal + Pr2 0 Resting pilots period 2
-120Ca2 + Pr3 0 Resting pilots period 3
-120Ca3 + Pr4 0 Resting pilots period 4
All vars nonnegative

(iii) Running LINDO with the additional requirement that all variables of the problem displayed
above are general integers (ofthe type GIN in LINDO's language) results in a disaster, even though
the problem is by contemporary standards a "lilliputian" integer program: LINDO's solution report
states that 5,216 "branches" of the branch-and-bound search tree have been explored and a su-
boptimal integer solution with objective function value 51,759.8 was found during the search,
which is rather bad in terms of the optimal objective function value of 46,920.4.
36 1. INTRODUCTION

(iv) Running LINDO like under part (iii) but with a value of Table 1.11: Airlift Solution
47,000 for the LINDO parameter IP Objective Hurdle -which
is found in the OPTIONS menu of L1NDO- produces a run
IVariable I Value I Value
Cal 2.000 2
involving only 52 branches of the branch-and-bound search
Ca 2 3 .000 3
tree. This run finds the optimal integer solution displayed in
Ca 3 3.000 3
Table 1.1. It shows that ordinary, vanilla-variety IP solvers
Ca4 4 .000 4
like LINDO can sometimes be sped up considerably by sup-
plying the IP solver with a "good" upper bound on the optimal UPl 10.000 10
integer programming objective function value. Of course, to NPl 60.000 60
find such bounds for general IP problems is just as difficult as NP2 30.000 30
finding an optimal integer solution to the problem. NP3 80.000 80
Pil 7.311 7
(v) Running LINDO like under part (iii) but with the addi- Pi2 0.000 6
tional three constraints found by Joe Doe reduces this in- Pi3 0.000 4
teger program into an ordinary linear program: Solving the P i4 0.000 4
associated linear programming relaxation (without any in te- Pnl 453.789 460
grality requirement) we find the optimal integer solution dis- Pn2 222.000 220
played in Table 1.1. Thus "branching" becomes unnecessary. Pn3 240.000 240
Such "cu tting planes" are at the heart of the approach called Pr2 240.000 240
"branch-and-cut" which is at the cutting-edge of research on P r3 360.000 360
the solution of integer and mixed-integer programming pro- P r4 360.000 360
blems. As happens often with recent research results, these IObJeciweI46,784.867146,920.41
new methods are finding their entry slowly (too slowly!) into
commercial codes for integer programming such as CPLEX,
LINDO and OSlo
(vi) Changing the variables Pti, to Pt., as defined in part (vil of the problem formulation changes
the accounting constraints for crew management and the objective function of the problem for-
mulated under part (il, point 3. For period 1 we get
150Cal + Ph + Pi, = 330.
Since every pilot trainer produces 20 new pilots (including himself) we obtain
150Caj + Pi, + P i, = P ij- l + 20Ptj-l + Prj -l for j = 2, 3, 4.
Since Table 1.7 gives the cost per unit we have to multiply the cost per new pilot by 20 since,
loosely speaking, 1 trainer unit = 20 new pilot units. This change of variables now reflects
correctly the integrality of the number of trainers to be assigned. The integrality of the number
of newly trained pilots follows because of the factor of 20. This change of variables corresponds
exactly to what we have discussed in part (il, point 6: The variables X j used there are precisely the
number Pt., of trainers assigned. Running the changed problem using LINDO shows the dramatic
effect that our initial omission of the divisibility requirement has on the solution of the problem.
If Joe Doe's constraints are not used, then only two branches of the branch-and-bound search
tree need to be explored to find and prove optimality of the integer solution displayed in the right
part of Table 1.1. If Joe Doe's cutting planes are added to the reformulated linear program, like
before, branching is not necessary at all. This shows that -besides cutting-planes- the judicious
choice of the decision variables of an integer program has a dramatic effect upon its solvability
with standard "off-the-shelf' IP solvers.
1.1 . MINICASES AND EXERCISES 37

Table 1.12. Example of the total decomposition of a model

Planes Crews
Idle New Idle New Resting
'fJPIUPzUP3UP4INPI N PzNP3NP4 Pi IP izPi3 P4 IFnI P n ZPn3Pn4Pr IP r ZPr3Pr4
0 0 0 0 200 195 190 185 min 7 6.96.86.7 10 9 .9 9 .8 9 .7 5 4.94.84.7 min
1 == 10 1 .05 f= 30
-1 1 -1 f= - 70 -1 1 -1 .05 f= - 450
-1 1 -1 = - 30 -1 1 -1 .05 -1 I=: -450
-1 1 -1 f= -80 -1 1 -1 .05 -1 I=: -60C
1 I=: 0
1 f= 240
1 1= 360
1 1= 360

(vii) If we eliminate all cargo shipment variables Cc; from the formulation of part (~ , then the
overall model "decomposes" completely into two smaller problems. one of which concerns only
aircraft management and procurement and the other one of which concerns only crew manage-
ment. As can be seen from Table 1.12 there are no "linking" constraints between the two parts of
the problem. We can thus solve the resulting two smaller problems separately to find an optimal
solution to the overall problem. Wh enever such decomposition is possible, it should be exploited
by the planner: Smaller problems are easier to solve than bigger ones, which helps the overall
solution effort.
It would be wrong to believe that logistics problems can always be simplified in this manner. It is
here entirely a consequence of the vast simplification of the real task that the simplified scenario
of Operation Fiddle permits us to do.
In live applications of (mixed-integer) linear programming it is , however, sometimes advisable to
decompose or "separate out" subproblems from a highly complex, enormous decision problem.
A total systems approach to many practical problems -while desirable- may lead to programming
problems of unmanageable size and complexity.
Breaking up a complex task into components and the optimization of the subproblems will. in
gen eral, lead to suboptimal solutions to the overall problem. But, evidently, one has to trade
off the desirable against what can realistically be done and the interactions between the various
components of a highly complex decision problem can frequ en tly be accounted for in a satisfactory
manner th ro u gh other means such as e.g. simulation using the outcomes of possibly many
interrelated subproblems.
2. The Linear Programming Problem

Linear programming is the problem of optimizing a linear function subject to finitely many linear
constraints in finitely many variables. The standard form of the linear programming problem is
minjce : Ax = b, x 2:: O}
for data c E IR n, A E IR mxn and b E IR m satisfying that the rank of A equals its row rank, Le.,
rCA) = m, whereas the canonical form of a linear program is
maxj ce : Ax ~ b, x 2:: O}

with (possibly different) data c E IR n', A E IRm'xn' and b E IR m ' . Replacing equations by two
inequalities and "free" variables, Le., variables Xj not restricted in sign, by the difference of two
nonnegative variables Xj = xl - xj where xl :::: 0 and xj :::: 0, by adding slack and/or surplus
variables, etc ., any linear program can be brought into either the standard or the canonical form.
E.g. by bringing the linear programming problem first into canonical form and then adding slack
variables, one obtains a linear program in standard form , t.e., one can indeed assume WROG
(=without restriction of generality) that the rank of the constraint matrix A of the linear program
in standard form equals its row rank. Apart from the first exercise, which is a pure drilling
problem and the answers to which should be obvious to anyone having read the material of
Chapter 2 of the book, the other exercises of this chapter are meant to elucidate the importance
of inequalities and the usefulness of linear programming in data analysis.
For any m x n matrix A we denote by N = {l , .. . ,n } and by M = {I, . . . , m} the index set of
the columns and the rows of A , respectively. We denote the elements of A by
i
where i E M is a;
the row index and j E N the column index. Row i of A is the (row) vector a = (al ... a~) and

column j of A is the [column) vector a j ~ :~


( ) • Thus the matrix A can be written as

For any subset C S;;; N and R S;;; M we denote by A~ the submatrix (a;)~~~ of A. When C = N or
R = M we drop the sub- or superscript, l.e., for instance A = AM = AN = ArJ. rCA) denotes the
rank of A and det A is the determinant of a (square) matrix A . In is the n x n identity matrix.
A formula that is useful to study structured linear programs, Le., linear programming problems
where the constraint matrix exhibits a certain "pattern", is the following inversion formula for
partitioned matrices.
Let A be square and partitioned as follows

A=(~ ~) ,
D. Alevras et al., Linear Optimization and Extensions
© Springer-Verlag Berlin Heidelberg 2001
40 2. THE LINEAR PROGRAMMING PROBLEM

where B is nonsingular. It can be shown that A is nonsingular if and only if F =E - CB- I Dis
nonsingular. Moreover, the inverse of A is given by
-1 _ ( B- 1 + B- 1 DP- l C B - l _B- 1 DP- l )
A - _P- l C B - l p- 1 '

The inversion of A is thus reduced to the inversion of two "smaller" matrices. To prove the
formula verify that A can be written in "product form" as
ID
B 0 ) ( IB B- )
A= ( C Ie 0 E-CB- ID '

where I B and IE are identity matrices of the size of B and E, respectively, and invert the two
factors separately which is trivial. Note that
detA = detB det(E - CB- 1 D) .

The matrix E - CB- I D is called the Schur complement of B in A. If we assume that E is


nonsingular in the above partitioning of A, then the product form of A becomes

from which one can determine the inverse of A if the Schur complement B - DE-IC of E in A
is nonsmgular, Moreover,
detA = detE det(B - DE- IC) .

For any two vectors x, y E JRn, say, we write x 2: y if Xj 2: Yj for all j = 1, . .. ,n, x 'i. y to signal
the existence of an index j E {l, . . . ,n} such that X j < Y j, x > y if Xj > Y j for all j = 1, .. . ,n,
and x = y , of course, if we have equality for all components. Scaling a vector x E JRn means
multiplying all components of x by a positive scalar. Other notation can be found in the book.

2.1 Exercises

*Exercise 2.0
(i) Consider thefollowing linear program (LF):

min 7XI + 3X2 - 4 X3 + X5


s.t. Xl +X2 - X4 10
(LP) 7XI + 3 X3 +X5 = 20
Xl - 4 X5 < 0
X2 +X4 < 15
Xl 2: 0, X2 2: 0, X3 2: 0, X4 free, X5 fre e

1. Bring (LP) into canonicalform and specify its data in matrix/vectorform


2 .1. EXERCISES 41

2. Bring (LP) into standardform and specify its data in matrix/vectorform.


(ii) Consider the following 3 x 5 matrix A and the 5 x 2 matrix B:
1 0

A=(~~::~)'B=
34567
~~
11
1 1

1. Find the ranks rCA) and r(B). Calculate the matrix products AB and B T AT.
2. Let R = {2,3} and C = {3,4}. Write down the submatrix A~ and calculate det A~.

*Exercise 2.1
(i) Suppose we want to solve the linear optimization problem without inequalities

min{ex : Ax = b},
where A is any m x n matrix. Show:
1. if there exist xl =I- x 2 with Ax 1 = Ax 2 = band ex 2 > ex 1 , say, then the minimum is not
boundedfrom below.
2. if there exist xE JRn with Ax = b and the minimum is boundedfrom below, then ex =const
for all solutions x to Ax = bfor some number const.
(ii) Given a linear programming problem in standardform with n variables and m equations, i.e.,

min{ex : Ax = b, x 2 0},
show that the linear programming problem in canonicalform max{ -ex: Ax ~ b, ax ~ ao, x 2
O} solves the original problem where ax ~ ao is a suitably chosen additional inequality. Find
one that works!

(i) Let y = Xl - x 2 • Then Ay = 0 and ey < O. Thus X(A) = Xl + Ay satisfies AX(A) = b for all A 2 0
and eX(A) --+ -00 for A --+ +00. Thus if there is a feasible x E JRn and the minimum is bounded,
then necessarily ex is some constant for all feasible solutions to Ax = b, I.e ., a linear optimization
problem without inequalities is mathematically trivial.
(ii) Let X = {x E JRn : Ax = b, x 2 O}. Introducing a "dummy" slack variable vector we write
equivalently
X = {x E JRn : 38 E JRm s .t. Ax + 8 = b, x 2 0, 8 = O}
= {x E JRn : 38 E JRm s.t. 8 = b - Ax, x 2 0, es ~ 0, 8 2 O}
= {x E JRn : Ax ~ b, x 2 0 , -eAx ~ -eb} .
42 2 . THE LINEAR PROGRAMMING PROBLEM

Since min{ ex : x E X} = - max{ - ex : x E X} we have shown that solving the linear programming
problem max{ -ex: Ax ~ b, a x ~ ao} where a = -eA and ao = -eb one solves also the original
linear programming problem. where e = (1, . .. , 1) E ~m is a row vector of m ones.

*Exercise 2.2
(i) Describe the set {x E ~n : IXjl ~ 1 for 1 ~ j ~ n} by way of linear inequalities.
(ii) Describe the set {x E ~n : 2:,J=1Ix jl ~ 1} by way of linear inequalities.

(i) The constraint IXj l ~ 1 is equivalent to - 1 ~ Xj ~ 1 for any j and hence

{x E ~n : -1 ~ Xj ~ 1 for 1 ~ j ~ n }

is a linear description of the set {x E ~n : IXjl ~ 1 for 1 ~ j ~ n }. Alternatively, we can write


Xj = xl - xj with Xl 2:: 0 and xj 2:: o. The set {x E ~n : IXj I ~ 1 for 1 ~ j ~ n} is the orthoprojection
of the set
{(x+ , x- ) E ~2n : xl + xj ~ 1, xl 2:: 0, xj 2:: 0 for j = 1, .. . ,n},
wh ich is als o a linearization of the original set in a higher-dimensional space.
(ii) Let A be the 2n x n matrix the rows of which correspond to all vectors with n components
equal to +1 or - 1. We claim that
n
{x E ~n : z:= IXj I ~ 1} = {x E ~n : A x ~ e}
j=1
where e is th e vector with 2n components equal to one. Let x E {x E ~n : 2:,J=1 IXj I ~ I } and
bj E {1, - 1} for 1 ~ j ~ n be arbitrary. Then
n n n
z:= bjx j ~ z:= Ibj llxjl = z:= IXjl ~ 1
j=1 j=1 j=1
and thus A x ~ e is satisfied. On the other hand, let x E ~n be such that Ax ~ e. If Xj 2:: 0 let
bj = 1. while if Xj < 0 let OJ = - 1. Thus
n n
1 2:: z:= Oj Xj = z:= IXj I
j=1 j=1
and the proof is complete. Alternatively. we write like in the previous exercise Xj = Xl - xj where
Xl 2: 0 and xj 2: O. The orthoprojection of
n
{(x+, x- ) E ~2n : Z:=(xl + xj) ~ 1, Xl 2:: 0, xj 2:: 0 for j = 1, . . . , n }
j=1
2.1. EXERCISES 43

is the set {a: E IR n : L.J=l! Xj/ :::; I}. The second linear description in the higher-dimensional space
requires only 2n + 1 inequalities, while in the original space exponentially many inequalities are
needed to obtain a linear description.

*Exercise 2.3
Prove that the constraint matrix of the transportation problem, i.e. , the matrix given by the
constraints m n
L X~ = ai for i = 1, .. . ,n, L X~ = bjfor j = 1, .. . ,m,
j= l i=l

has a density of200 j(n + m)% and a rank ofm + n - 1.

The matrix of the constraints of the transportation problem is

1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0

0 0 0 0 0 0 1 1 1
A= 1 0 0 1 0 0 1 0 0
0 1 0 0 1 0 0 1 0

0 0 1 0 0 1 0 0 1

where we have ordered the variables x~ sequentially as in

xi,x~, ... ,x;", xi,x ~ , ... ,x;", .. . ,x~ ,x2"" ,x~.

Thus every column of A has precisely two entries equal to one, the rest is zero. Consequently,
the density of A equals 2(nm) j(( n + m)(nm)) = 2j(n + m) or 200j( n + m)%.
Adding the top n rows of A we obtain a vector of nm ones and likewise if we add the bottom m
rows of A. Thus there exists a nonzero A E JR.n+m such that AA = 0 and thus r(A) :::; n + m - 1.
To prove that equality is attained it suffices to exhibit a nonstngular submatrix of A of size
(n + m - 1) x (n + m - 1). We drop the n-th row of A. Then the last m rows contain the identity
matrix 1 m in the m last columns. By choosing e.g. the columns corresponding to xt, xi, ... ,X~- l
we thus find a lower triangular submatrix of size (n + m - 1) x (n + m - 1) of A having all entries
on its main diagonal equal to one and the proof is complete.

*Exercise 2.4
In multiple linear regression one is given m observations x~ for n independent variables Xj as well
as m observations y i on some dependent variable y where 1 SiS m and 1 S j S n. On the basis of
44 2 . THE LINEAR PROGRAMMING PROBLEM

these observations one tries to establish a linear relation of the form


n
y = 130 + I > j13j + E
j=1
where 13j for 0 :::; j :::; n are some coefficients and E is an error term In classical statistics one
estimates the 13j from the given numerical data by minimizing the sum of squared errors, i.e., one
determines 130,131, ... ,13n such tha t 2:: 1(yi - 130- 2:}=1 13jX))2 is minimized (R2-regression) .
(i) Formulate the problem offinding 130,131,... ,13n which minimize the sum of absolute errors as
a linear program (This is called MSAE (or MAD) or R1 - regression}.
(i) Formulate the problem offinding 130, 131, ... ,13n which minimize the maximum absolute error
as a linear program (This is called Chebychejf or Roo - regression).

(i) To minimize the sum of absolute errors we must find 130,131, ... ,13n such that
m n
L Iyi - 130- L X~13jl
i=1 j=1
is minimized. So let Et, Ei :::: 0 be "n ew" variables. Then we get the linear program
m m

min L Et + L Ei
i=1 i=1
n
s .t . 130 + L x~13j + Et - Ei = yi for 1 :::; i :::; m,
j=1
4 ~ 0, e; :::: 0 for 1 < i :::; m.
A different way to formulate £1-regression as a linear program goes as follows. Let e, for i =
1, . . . , m be new "free" variables. Then the linear program
m
min

n
s.t. 130 + L x~13j + e, :::: yi for 1 :::; i:::; m,
j=1
n
-130 - L X~ 13j +Ei :::: _yi for 1 :::; i:::; m,
j=1
solves the R1-regression problem as well, because
n n n
e, :::: max{yi - 130 - L x~13j , _yi + 130 + L x~13j } = Iyi - 130 - L x~13j I·
j=1 j=1 j=1
2.1. EXERCISES 45

In ( I-regression the parameters (3j are free variables; however, additional linear restrictions on
the parameters, such as nonnegattvtty, can easily be incorporated in the linear programming
framework. This is not the case when the sum of squared errors is minimized.
(ii) To minimize the largest absolute error we must find (30, (31, . .. ,(3n such that
n
max{l yi - (30 - L xj (3jj : i = 1, . . . ,m}
j=1
is minimized. So let z be a new "free" variable. Then the linear program

min z
n
s .t. (30 + L xj(3j + z;::: yi for 1 :S i :S m,
j=1
n
- (30 - L xj(3j + z;::: _yi for 1 :S i :S m,
j=1
solves the Chebycheff regression problem. because
n n n
Z ;::: max{y i - (30 - L xj(3j , _ yi + (30 + L xj(3j} = Iyi - (30 - L xj(3jl for i = 1, . .. ,m.
j=1 j=1 j=1
The same remarks as under part (i) apply to Chebycheff regression.
3. Basic Concepts

Consider the linear programming problem in standard form


(LP) min{cx : Ax = b,« 2:: O}
where A is a m x n matrix of full rank, i.e., r( A) = m. We denote by
X = {x E IRn : Ax = b, x 2:: O}
the solution set of (LP). A vector x E X is calledjeasible solution, while x (j. X is called injeasible.
Let N = {I , . . . ,n}. Given a feasible solution x E X we denote by
Ix = {j EN : X j > O} and N - t; = {j E N: Xj = O} ,
the set of the positive and the zero components of x , respectively. Then x satisfies the system of
linear equations Ax = b, X j = 0 for all j E N - I x or

Alx A N-Ix) (XIx


( o ) =( b ) where kx = IIxl and n = INI. (3.1)
I n - kx XN-Ix 0
A lx is a m x k x submatrix and A N- Ix a m x (n - k x ) submatrix of A and we compute

Alx IA N-Ix) -- r (A)


Ix + n - k x '
r ( 0 n - kx

The system (3.1) is uniquely solvable if and only if r( AIJ + n - k x = n, l.e ., if and only if
r( A IJ = IIxl, since by assumption a solution to (3.1) exists.
For the system (3.1) to be solvable uniquely, we thus need in particular that the number of
rows of (3.1) satisfies m + n - kx 2:: n, t.e., IIxI:::; m. We shall use the following definitions.
x is called basicjeasible solution if r( AIJ = IIxl.
x is called degenerate basicjeasible solution if r (A lx) = IIxl < m.
An m x m submatrix B of A is called basis if r (B) = m.
A basis B is calledjeasible if B - 1b 2: O.
A feasible solution x E X is optimal if ex ::; ex for all x E X .
An optimal solution x is finite or bounded if there exists a K > 0 such that Xj ::; K for all j E N .
For any finite optimal solution x , ex > - 00.
Given a basis B we partition A and write Ax = BXB + Rx R, where R is the "rest" of A, t.e ., the
columns of A not in the basis B. Rather than denoting I B the columns of B and thus X I B the
subvector of x corresponding to the columns of B, etc. we write x B and x R for short.
Multiplying the equation system B XB + Rx R = b on both sides by B - 1 we get the equivalent
system of equations XB + B - 1 Rx R = B - 1b.
If a basis B is feasible then it defines a basic feasible solution to A x = b, x 2:: 0 by XB = B - 1b ,
XR = O.
The following remarks, lemma and theorem are proven in detail in the book. Several of the
exerc is es below illustrate the proof techniques employed there.

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
48 3. BASIC CONCEPTS

Remark 3.1 if b = 0, then either x = 0 is an optimal solution to (LP) or the minimum oj (LP) is not
bounded from below.

Lemma 1 if x is a basic feasible solution, then x has at most m positive components and the
submatrix AI", defined in (3.1) can be extended to afeasible basis B that defines x by adjoining to
AI", suitable columns oj AN-I", .

Remark 3.2 For every basic feasible solution x E X there exists at least one feasible basis B of A
that defines x and every feasible basis defines a basic feasible solution x EX.
Remark 3.3 x is a basic feasible solution if and only if there exists a vector e E lRn with integer
components such that min {ex: x E X} = ex and ex > eX for all x EX, x =I x , i.e., the minimizer is
unique.

Theorem 1 (Fundamental Theorem of Linear Programming) Given a linear programming pro-


blem in standardform thefollowing statements are correct:
(a) if there exists a vector x EX, then there exists a basic feasible solution x EX.
(b) if there exists afinite optimal solution x EX, then there exists an optimal basic feasible solution
x* EX.

Remark 3.4 From the viewpoint oj(very) classical mathematics, thejundamental theorem "solves "
the linear programming problem since there are at most

( : ) - m!(nn~ m)!
possible bases and hence at most that many feasible bases.
Since basic feasible solutions play an important role in linear programming we adopt the following
notation.
1. We denote by B any basis of A, i.e., any m x m nonsingular submatrix of A, and by R the
submatrix of A given by the columns of A not in B, i.e., the "rest" of A . Any column in
a basis B is characterized by its position in the basis and by its original column index in the
numbering 1, . . . ,n of the columns of A.
2 . Rather than writing I B , we denote by I = {kI, . . . , km } the index set of the basic variables.
k; is the original index of the variable which belongs the i t h column of the basis B if we
number the columns in B consecutively starting with 1. (Note that £ E I does not imply
Xe > 0, because the solution x E X defined by a feasible basis B may be degenerate.)

3. Likewise, rather than writing XIB = ( X j)JEIB' we write XB to denote the vector of basic
variables in the same order as in B .
4 . For j E I, we denote by Pj E {I, 2, .. . ,m } the position number of variable j in the basis. Here
j is the original column index in the list of columns of A . Thus if ki E I is the variable in
position i of the basis then Pki = i for i = 1, . . . , m .
3.1 . EXERCISES 49

5. The scalar ZB = cBB-lb is the objective function value given by the basis B, where CB is the
row vector of the objective function coefficients of the basic variables.
6. N - I is the index set of the nonbasic variables, where N = {I , 2, . . . ,n } is the index set of all
variables. Instead of writing XN-I, we write XR = (Xj)JEN-I to mean the vector of nonbasic
variables and CR for the subvector of C of the components corresponding to the nonbasic
variables. Nonbasic variables have, of course, no "position" numbers.
7 . We shall call
• b = B-lb = (b l , b2 , • •• ,bmf the "transformed right hand side",
• c= C - cBB- l A = (Cl' C2 ,' . . ,cn ) the "reduced cost vector", and
1
• Yj -- B- aj -- (i 2
Yj'Yj"" ,Yjm)T th e J·t h "trans f orme d co1umn"0f A •

3.1 Exercises

*Exercise 3.0
You are given the following linear program (LF) in standard form:
min -Xl -X2
s.i. 2Xl + 3 X2 +X3 12
(LP) Xl +X4 5
Xl + 4 X2 +X5 16
Xl;::: 0, X2 ;::: 0, X3;::: 0, X4;::: 0, X 5 ;::: O.

(0 How many bases does (LF) have at most? Find the exact number by enumerating all possibi-
lities. How many of them are feasible bases?
(iO Consider the point x E ~5 given by X2 = 4, X4 = 5 , Xl = X3 = X5 = O.
1. Is x feasible for (LF)? Is it a basic feasible solution (bfs)? Is it degenerate?

2. Starting from the basis B = (~ ~ ~) given by the columns 3, 4 and 5 use the
001
exchange procedure of the proof of Lemma 1 of the text to find a feasible basis that
defines this point x E ~5 •
3. How many different (feasible) bases define this point x E ~5 ?
4. Use the proof of Remark 3.3 to find C E ~5 which is uniquely minimized by this point.
(iiO Consider the point x E ~5 given by Xl = I , X 2 = 2, X 3 = 4, X4 = 4, X5 = 7.
1. Is x feasible for (LF) ? Is it a basic feasible solution (bfs) to (LF) ?
2. Use the construction of the first part of Theorem 1 of the text to identify a basic feasible
solution to (LF) starting from this point.
50 3. BASIC CONCEPTS

3. (Optional) Note that the objective junction ex oj (LP) equals - 3 at the given point. Modify
the construction oj Theorem 1 oj the text to identify a basic jeasible solution x* to (LF)
with ex* S -3 startingjrom the given point.

(iv) Using thejact that X3, X4 and X5 are slack variablesjor the above linear program (LP) plot the
feasible set in ffi.2 and interpret the various constructions oj this exercise graphically.

(i) Since m = 3 and n = 5 (LP) has at most m


= 10 possible bases corresponding to the subsets of
{l , . .. , 5} with 3 elements. Let t, = {1, 2, 3}, 12 = {1, 2,4}, h = {1, 2, 5}, 14 = {1,3, 4}, 15 = {1, 3, 5},
16 = {1,4 ,5}, h = {2,3,4}, Is = {2,3 ,5}, I g = {2,4,5} and ho = {3,4,5}. Checking the corresponding
submatrices, we find that all except the set Is define nonsingular submatrices of

2 3 1 00)
A= 1 0 0 1 0 .
( 1 4 0 0 1

Of these we find 6 feasible bases corresponding to h, h h, h , I g and ho.


(ii) Consider the pointe E ffi.5 given by X2 = 4, X 4 = 5, X l = X3 = X5 = O.
1. The point x satisfies all constraints of (LP) and thus is feasible with Ix = {2,4}. Since x 2: 0
and IIxl = r (A I,.,} = 2 the point x is a basic feasible solution. Since IIxl = 2 < m = 3 = r(A) it
is a degenerate basic feasible solution.
2. Since B contains already the column a4 we need to find out whether or column a2 can be
exchanged for a basic column. Since

we can replace either column a 3 or a5 by a2 to get a basis that defines x.

3. There are 3 different bases defining x, namely those corresponding to h, h and I g •


4 . Corresponding to the proof of Remark 3.3 we set Cj = 0 for all j E Ix and Cj = 1 for all
j E N - Ix. Thus C2 = C4 = 0 and CI = C3 = C5 = 1 works, i.e., after elimination of X3 and X5

The function - 2 XI - 7X 2 is uniquely minimized in the point x as can be verified on the graph
of the figure below (see part (iv)).
(iii) Consider the point x E ffi.5 given by Xl = 1, X2 = 2, X3 = 4, X 4 = 4, X5 = 7.
1. The point x satisfies all constraints of (LP) and thus is feasible with Ix = {1, 2, 3, 4, 5}. Since
IIxl = 5> r(A1.J = 3 the point x is not a basic feasible solution.
3.1. EXERCISES 51

X2

I h={1,2,4} B,~ ( :
3
0
n
n
I 4
--...J_
I

I - h = {1,3,5} B,~ ( :
3
0
I

0n
4
I

B,"~
I 0
I 110 = {3, 4, 5} 1
.... -, 0
Xl

There are (~) = 10 possible bases to the problem of Exercise 3.0. Applying
the construction of the proof of part (a) of Theorem 1, see part (iii) of the
exercise, to the nonbasic feasible solution a: = (1,2,4,4, 7f one followsthe
dashed path and finds the basicjeasible solution given by B lO • Using the
modification of the construction as done in part (iv) of the exercise, one
follows the solid path and finds the (optimal) solution given by B 3 •

Fig. 3.1. Constructions for Exercise 3.0

2 . Since IIxl = 5 and r(A1J = 3 there exists A E 1R5 , A i= 0, such that A1xA = 0, e.g. AT =
(-1 0 2 1 1). From a: + (JA 20 we get for (J = 1 a new point y E 1R5 with IIyl = 4 < IIxl ,
namely yT = (0 2 6 5 8), which by construction is feasible. Since, however, IIyI = 4 >
3 the point y is not basic and we have to iterate. Set a: = y. Since again IIxl > r(A 1x)'
there exist A E 1R5 , A i= 0, such thatx, = 0 and A1xA = O. e.g. AT = (0 -1 3 0 4).
From a: + OA 2 0 we get for 0 = 2 a new point y E 1R5 with Ilyl = 3 < Ilxl, namely yT =
(0 0 12 5 16). which by construction is feasible and basic.
3. To ensure that in the construction of part (iii) the new points improve the objective function
we need to evaluate CA in the construction, since the new point is of the form x + OA.
In the first step we find CA = (-1)(-1) = 1, thus the objective function gets worse. We
remedy the situation by "flipping" the sign of A and work with AT = ~ 1 0 - 2 -1 -1)
instead. Now from x + OA 2 0 we get for 0 = 2 a new point y E IR with IIyl = 4 < IIxl,
namely yT = (3 2 0 2 5), which by construction is feasible and cy = -5 < -3. Since,
however, IIyl = 4 > 3 the point y is not basic and we have to iterate. Set x = y. Since
again IIxl > r(A1J, there exist A E 1R5 , A i= 0, such thatx, = 0 and A1xA = 0, e.g. AT =
(-3 2 0 3 -5). Evaluating CA = 1 > 0 we see that we have to flip the sign of A
to move in the improving direction, i.e.• we have to work with AT = (3 -2 0 -3 5)
instead. From x + (JA 2 0 we get for (J = ~ a new point y E 1R5 with IIyl = 3 < IIxl. namely
yT = (5 ~ 0 0 8 ~) . which by construction is feasible and basic with cy = - 5 ~ < -5.

(iv) Various parts of the constructions of this exercise are displayed in Figure 3 .1.
52 3. BASIC CONCEPTS

Exercise 3.1
Show that X = {x E IR n : Ax = b, x 2 a}. where A is an m x n matrix and b e IRm is a column
vector, is a convex set oflRn • i.e.• thatfor xb X2 E X we have thatfor all 0 :::; JL :::; 1 JLx l + (1- JL)X2 EX.

Let x l . x 2 E X and x = JLx l + (1 - JL)x2 where 0 :::; JL :::; 1. To show that x E X we have to show that
(i) Ax = b and Iii] x 2 o. To show (i) we calculate

Ax = A(JLx l + (1 - JL)x
2)
= JLAx l + (1 - 2
JL)Ax ,

Since Xl E X and x 2 E X we have Ax l = band Ax 2 = b and thus Ax = JLb+ (1- JL)b = b. To prove
(ii) we have that since xl, x 2 EX. Xl 2 0 and x 2 2 0 and since 0 :::; JL :::; 1. 1 - JL 2 o. Thus. JLX l 2 0
and (1 - JL)x2 2 0 and hence x = JLX l + (1 - JL)x2 2 O.

Exercise 3.2
Show (possibly by example) that if x is a degenerate basic feasible solution. then the extension
procedure used in the proof of Lemma 1 need not be unique (i.e.. in the case of degeneracy there
exist in general several feasible bases which define the same solution vector).
On the other hand. let x E X be such that there exist two different bases that define x. Show that
x is a degenerate basic feasible solution.

Suppose that x is a degenerate basic feasible solution. Le.. r{AIJ = IIxl = kx <
m. Let us index the columns of AI", by al, .. . , a k", ' Following the procedure in
the proof of Lemma 1 we bring all columns of AI", into the basis and WROG
we write the basis as B = (al "" ,ak"" bk",+l, ' " , bm ) . Repeating the same pro-
cedure but starting with a basis B' different from B we end up after bringing
all the columns of AI", into the basis with
1

which in general is different from B. Obviously. this cannot happen in the case kx = m since in
that case. the basis consists of all columns of AI",. As an example consider the LP with

X = {x E 1R4 : Xl + X2 + X 3 = 1 , Xl + X 4 = 1, x 2 O} .

The point (1,0 ,0,0) is a degenerate basic feasible solution and the bases B = (~ ~) and

B' = (~ ~) correspond to this point as is easily verified; see also the figure.
On the other hand let x be a basic feasible solution and suppose that there exist two bases Bland
IIxl :::; m. Let
B 2 , B, i=- B 2 that define x. Since x is a basic feasible solution, we have that r(A I ", ) =
li and h be the column sets corresponding to the bases B, and B 2 , respectively. Since B; i=- B 2
3.1. EXERCISES 53

we have I, i= h Since Ix ~ h and Ix ~ I z it follows that IIxl < 111 1 = IIzl = m and thus x is
degenerate.

*Exercise 3.3
Write the problem min{max{ ex - co, da: - do} : Ax ~ b, x ~ O} as a linear program

Let x T = ( XI, . . . ,xn ) and introduce a new variable Xn+l ' Then

min{Xn+l : ex - Xn +l ~ Co, dx - Xn +l ~ do , Ax ~ b, x ~ O}

is a linear programming formulation of the problem. To prove it, we can assume that

x : S: = {x n
E lR : Ax ~ b,» ~ O} i= 0,
since otherwise the LP formulation has no feasible solutions either. Suppose that the original
problem has an unbounded optimum. Then there exist x(.\) E x : S: such that

max{ eX(A) - Co, dx(.\) - do} -t -00 for .\ -t +00.

Setting Xn +l ( .\) = max{ex(.\) - co, dX(A) - do} we have a family of feasible solutions for which the
objective function of the linear programming problem is not bounded from below. Vice versa,
when the linear program is not bounded from below, then neither is the original problem. The
case of a finite optimum solution goes likewise.

*Exercise 3.4
(i) Consider the linear progranuning problem

Find values for sand t such that this linear program has (a) afinite optimum solution, (b) no
feasible solution at all and (c) an unbounded optimum

(ii) Prove or disprove: if the linear program max {ex : Ax ~ b, x ~ O} has an unbounded optimal
solution, then the linear progranuning problem max{xk : Ax ~ b, x ~ O} has an unbounded
optimum solutionfor some subscript k. Does the reverse statement hold? Why or why not?

(i) To analyze the various possibilities we encourage you to graph the solution space. For s = t = 1
we have a finite optimum solution, for s = 1 and t = -1 the solution space is empty and for s = -1,
t = 0 we have an unbounded optimum.
54 3. BASIC CONCEPTS

(ii) If max{cx : Ax ::; b,» 2: O} has an unbounded optimum solution then there exist feasible
solutions X(A) such that CX(A) -7 +00 for A -7 +00. Since X(A) 2: 0 it follows that Xk (A) -7 +00 for
some k and thus the assertion is correct. The reverse statement is wrong. The linear program

has the unique solution X l = X2 = 0, but there are feasible solutions where Xl, X2 or both can be
arbitrarily large in value.

*Exercise 3.5
Let X = {x E ~n : Ax = b, x 2: O}. Prove: x E X is a basic jeasible solution if and only if
x = p,x l + (1-p,)x 2 jor Xl, x 2 E X and 0 ::; p, ::; 1 implies that x = xl = x 2,
i.e., that x is an "extreme point" ojX (see Definition EP oj Chapter 7.2).

Let x be a basic feasible solution and I = {j EN: Xj > O}. Then for any xl , x 2 E X such that
x = p,x l + (1 - p,)x2 for some 0 ::; p, ::; 1, x} = xJ = 0 for all j E N - I. It follows that

and thus AI(XI - x}) = AI(XI - x7) = 0 . Since x is basic feasible, r(A I) = III. Consequently,
XI = x} = x7 and thus x = Xl = x 2.
On the other hand, suppose that x is feasible, but not basic feasible. As before let I = {j EN :
Xj > O} . Then r(A I ) < III and there exists AI =J 01 such that AlAI = O. Since XI > 01 we can
scale AI such that XI + AI 2: 01 and XI - AI 2: 01. Let A E ~n be the trivial extension of AI where
Aj = 0 for all j E N - I. It follows that Xl = X + A 2: 0, x 2 = X - A 2: 0 and Ax l = Ax 2 = b , i.e.,
xl , x 2 EX. But then x = !x l + !x 2, which is a contradiction.
4. Five Preliminaries

For every basic feasible solution x E X we have by Lemma 1 a feasible basis B . For every feasible
basis B with index set I we have the reduced system
XB + B-IRxR = b (4.1)

where b = B-Ib. Hence a basic feasible solution x E X is defined by


Xi = bp e for all e E l , Xi = 0 for all e E N - I ,
where Pi is the position number of the variable e E l . If 1= {k l , . . . , km } . we can write equivalently
Xki = bi for aliI :::; i :::; m , Xi = 0 for all eE N - I .

For short. we write XB = B-Ib. XR = O.


Sufficient Optimality Criterion: Let B be a feasible basis. CB be the subvector of the row vector
C corresponding to the basic variables. CR be the rest and ZB = cBB-Ib. If

C R = CR - c B B - I R 2: 0 ,
then the basic feasible solution x defined by B is optimal.
Unboundedness Criterion: Let B be a feasible basis and I be the index set of basic variables. If
there exists a j E N - I such that
la
(i) Cj - c BB - j < 0 and (ti) B -Iaj :::; O.
then the linear programming problem (LP) has an objective function value which is not bounded
from below.
Rank-One Update: Let B be a nonsmgular m x m matrix and u , v E ~m be any two column
vectors with m components such that v T sr>« =I=- -1. Then

(B + uv T) - 1 = B - 1 _ 1 _ (B- lu)(VT B- 1).


1 +vTB lU

Since the rank of the matrix uv T for any u. v E ~m is at most one. the above formula for the
inverse of the matrix B when changed by uv T is called a "rank-one" update.
Basis Change: Let B be a feasible basis with index set I. If there exists a j E N - I such that
(i) Cj = Cj - c BB- laj < 0 and (ti) B -1aj 1::. 0
(i.e.. B- 1aj has at least one positive entryll, then we obtain a new feasible basis B' with objective
function value ZB' by replacing any column a i of B by the column a j if the variable eEl satisfies
Pi = r where r is determined by

byj
-
r
= mIn
. {byj
i
~ : YJi' > O'
, t = 1 , 2 , .. . , m } (4.2)

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
56 4. FIVE PRELIMINARIES

and Yi = B- 1a j = (yJ ,y] ,.. . ,yj f· The "entering" variable j gets the position Pj = r in the new
basis while the variable e that "leaves" the basis looses its position number. Moreover,
(4.3)

b~ is the minimum ratio (4.2) .


where () = Yj

We note that a basis change can be described schematically as follows where rvt means "changes
to":

Row I Col. £ Col. j RHS I Col. £ Col. j RHS


o * o Cj - cBB-laj * *k l -(Cj - cBB- laj) /yj 0
-b -*()Yj1
1 kl o yJ bl - Yj1/Yjr 0 l
"'-* :
yj kr = j l/yj 1 () = br/yj

m km 0 yj km - Yim/Yjr 0 bm - ()yj

B = (ak 1 ' •• • , a kr = a e, . . . , a km ) B ' = (ak l ' . . . , a kr = aj , ... , a km )


rvt

CB = (Ck 1' • • • ,Ckr = ce, . .. , Ckm ) C B' = (Ckrvt ,Ckr = Cj , . .. ,Ckm )


1' • • •

I = {k 1 , ... ,kr = e, ... ,km } I' = {kl, .. . .k; = i ,... , k m } .


rvt

Algebraically. a basis change is summarized by


B' = B + (aj - ae)u~ and CB' = CB + (Cj - ce)u~ (4.4)

where u,!, = ( 0 1 ... 0) E jRTn is the r - t h unit vector. From the rank-one update we
compute

(B ' ) - l = B- 1 - Ir (Yj - ur)(u~ B- 1 ) . (4.5)


Yj
Moreover, we compute the basic and nonbasic components of the new solution to be given by
XB' = B- 1b - ()(Yj - u r ) , Xk =0 for kEN - I' , (4.6)

where () as before is the value of the minimum ratio (4.2).


Remark 4.1 if() > 0, then by (4.3) we have ZB' < ZB where () = br/yj. if the basicjeasible solution
defined by B is nondegenerate, then necessarily () > O. if however () = 0, then the "old" as well
as the "new " basic jeasible solution are degenerate. Degeneracy oj basic solutions comes about if
the criterion (4.2) permits several choices . On the other hand, if ZB ' = ZB , then by (4.3) necessarily
() = 0 since by assumption Cj - c B B - 1 a j < O.

Remark 4 .2 Given the mathematical correctness of the minimal ratio criterion (4.2), why do we
want it, why do we need it? Since column j E N - I satisfies Cj < 0 (see (i)) and we are minimizing,
it "p ay s " to increase the variable Xj from its current value ojzero to some (hopejully) positive value.
Leaving the remaining nonbasic variables kE N - I , k 1= i . unchanged at their value ojzero, we sim-
ply want tofind the maximum value thai x , can assume while ensuring the (continued) nonnegativity
4.1 . EXERCISES 57

of the (currently) basic variables, i.e., we want to maximize Xj such that + XjYj = b, XB ~ O.
XB

ConsequentlyxjYj;:;' bsincexB ~ 0 orcomponentwisewegetxj;:;' min {bdy] : Y] > O,i = 1, ... ,m} .


The "simplex philosophy" is to "go all the way" and make Xj as large as possible if it pays to do so.
But we also need to do so if we want to obtain a new basic feasible solution.

4.1 Exercises

*Exercise 4.0
You are given the following linear program (LF) in standardform:

min -Xl - X2
s.t. 2Xl + 3X2 +X 3 12
(LP) Xl +X4 = 5
Xl +4X2 + X5 16
Xl ~ 0, X2 2': 0, X3 ~ 0, X4 2': 0, X5 2': 0.

(i) Write the problem in matrix/vectorform minjcz : Ax = b , x 2': O} by supplying c, A, x and b


explicitly. What are m and n ?

(ii) Consider the column index set I = {3,4, 2} (in that order I). Verify that the corresponding
submatrix AI is a basis B of A . Write down the associated vectors/matrices XB, XR, CB, CR
and Rfor the above (LP) explicitly. Find the position numbers Pe for all e t. Then do the e
following:

1.) Determine the transformed right-hand-side b = B-lb and the associated basic feasible
solution (bjs) XB = B -lb, XR = O.
2.) Verify that the reduced costs jor the basic variables are all equal to zero. Compute the
reduced cost vectorcR = CR - cBB- l RJor the nonbasic variables. Is the bJs defined by
B optimal?
3.) Compute the transJormed column u, = t r :«, for j = 1. Is the (LF) unbounded? Show
that the variable X3 must leave the basis B when variable X l enters. What is the value oj
() and the value of the row indexr oJJormula (4.2)?
4.) Useformula (4.4) to compute the new basis B' and the new vector CB' that result when Xl
enters the basis. Useformula (4.5) to compute (B')-l. Update I and the position numbers
of the basic variables.
5.) Useformula (4.6) to compute the new bfs XB' = (B') -lb and repeat steps 2.), . .. , 5.) until
you can stop because oj optimality or unboundedness.
6 .) Like in Exercise 3.0 interpret your "moves" graphically.
58 4. FIVE PRELIMINARIES

(i) In the case of problem (LP) m = 3, n = 5 and the problem in matrix form is

Xl

(~1 4~ 0~ 0~ ~)
X2
min (-1 -1 0 0 0) X3 s.t.
X4 1
X5

where Xl ~ 0, X2 ~ 0 • X3 ~ 0, X4 ~ 0 and X5 ~ 0.

(ii) For I = {3, 4, 2} we


B = AI. The other quantities are
have AI =
(~1 o~ 3~) and det AI = 4, so AI is a basis of A. So let

The position numbers of the basic variables are P2 = 3, P3 = 1 and P4 = 2.


1
1. We calculate B- and XB = B-lb:

_.2)
~: ) (~0 0~ -~) ( ~2 ) ~).
1 0
B-1=
(
0 1 0 and XB =( = B -lb = =(
o 0 .!
4 X2 4 16 4

Consequently, X2 == 4. X4 = 5 and Xl = X3 = X5 = 0 is a (degenerate) basic feasible solution.


l
2. To verity the reduced cost of the basic variables we comp(Uie Ct ~~B)- cBB- B = OB in full
generality. Next we compute first cBB- l = (0 0 - 1) 0 1 '0 = (0 0- ~ ) . Thus
o 0 ~
we get for the nonbasic variables

ell = en. - cBB-1R = (-1 0) - (0 0 -

i.e .. Cl = -~ and C5 - ~ • which shows that B does not satisfy the sufficient optimality
~ ) (: n = (-~ n
criterion.

3. For j = 1 we compute Y, ( ~I
yl )
= B -'a, = (1~ 0~ _.2)
~; ( 2) ( l·
Q )
Since
Yl 1:: 0, i.e., because Yl has at least one positive component, the unboundedness test fails.
From b and Yl the least ratio calculation
. {O 5 4} 0
mm "I'l'! =
4 4

gives () = 0, r = 1 , when the variables Xl enters and X3 leaves the basis. because P 3 = 1.
4.1. EXERCISES 59

4. From formula (4.4) the new basis B' and the vector CB' are

203) ,
00)=
( 110
1 0 4

CB' = CB + (Cl - C3)U; =(0 o -1) + (-1- 0) (1 0 0) = (-1 0 -1).


From formula (4.5) we calculate

(B')- l = B- 1 - l r (Yj - u r)(u; B - 1 )


Yj

= ( 10 ~ t( ( Q)
~ ~ -~) ~ -(1)
.~ .)( - 1 o 0)
(
1 0
0 1
o 0
- ~)
~
:4
=
(
-t
- 5
! 0
1
0
--_~)
~
5
.

The new I = {1, 4, 2} and the new position numbers are PI = 1, P2 = 3 and P4 = 2 .
5. From formula (4.6) we compute

t.e., because of the degeneracy of the solution, the solution did not change. We set next

0n
B = B' and note that now

XB ~ ( :: ) , XR ~ ( : : ) , CB ~ (-1 0 -1), CR ~ (0 0) , R ~
- ~)
We compute next the new c B B - = (-1 0 -1) (
1
=1
i 0
~ I = (- ~ 0 i)· Thus

0n~ ( ~
we get for the reduced cost of the nonbasic variables

"R ~ CR - cBB-
1
R ~ (0 0) - (-~ 0 k) - k),

i.e., C3 = ~ and C5 = - i ' which shows that B does not satisfy the sufficient optimality
criterion. Calculating Y5 = B -la5 and carrying out the least ratio calculation as before
shows that X 4 leaves when X 5 enters the basis. The new basis with basic index set I = {1, 5, 2}
satisfies the sufficient optimality criterion and the procedure stops with the optimal basic
feasible solution Xl = 5, X 2 = ~, X 5 = 8%, X3 = X 4 = O. The details of these calculations should
be clear by now and are left to the reader.
6. The interpretation on the graph of Figure 3.1 is clear: We start at basic feasible solution
Xl = 0 and X2 = 4. In the first iteration we just change the basis and stay at that solution.
In the second iteration we move to the basic feasible solution Xl = 5, X 2 = ~, at which point
we conclude optimality and stop.
60 4. FIVE PRELIMINARIES

Exercise 4.1
(i) Show that r(uv T) :::; 1 jor any u, v E ~m.

(ii) Foru,v E ~m such thatvTu i=- -1 show (1 m + uvTrl= t.; - l I T uv T .


+v U

(i) For u , v E ~m the product uv T is an m x m matrix whose rows are multiples of the vector v T,
e.g. the i-th row of the matrix is given by U ivT . Thus either u = 0 in which case the rank is zero,
or, there exists 1 :::; j :::; m with U j i=- 0 in which case each row of uv T is a multiple of the j -th row,
and hence the rank of the matrix is at most 1.
(il) Since v T u i=- -1 we have that 1 + v T U i=- 0 and thus the inverse is well defined. To prove that
the inverse is indeed as given we apply the rank-one formula with B = 1 m . Then B- 1 = 1 m and
thus

Exercise 4.2
Show that if 0 < A < e then the vectorx(A) given by XB(A) = b- AYj' Xj (A) = Ajor some j E N - I,
Xk(>') = ofor all kEN - I, k i=- i . satisfies x(>') E ..Y, but that x(>.) is not a basicfeasible solution to
(LP) where 0 = min{hdv} : V} > O} is the least ratio (4.2) .

For x(>') to be in X we have to show that Ax(>.) = b and x(>') 2: O. For the first we calculate

Ax(>.) = BXB(>') + RXR(A) = B(b - >'Yj) + >.aj = BB-lb - xntr>«, + Aaj = b .


The second follows, since A > 0 and from A < 0 , hi - AV} 2: hi - Ov} 2: 0 for all i with V} > O. Since
hi - AV} 2: 0 for all i with V} :::; 0 as well. we have X(A) E X for 0 :::; A :::; O.
To prove that X(A) is not basic for 0 < A < 0 we note that x(>.) = lIi/,x(O) + *x(O) . Thus by
Exercise 3.5 X(A) is not basic. To give a different proof, suppose that X(A) is basic for some
o < A < e. By Remark 3.2 there exists a vector e E ~n such that eX(A) > ex for all x E ..Y, x i=-
X(A) . Thus in particular we have the inequalities eX(A) > ex(O) and eX(A) > ex(O) . Substituting
CX(A) = IIO'x cx (O) + *ex(O) in these inequalities we get cx(O) > ex (O) and ex(O) > ex(O). which is
a contradiction.
In the special case that x(>.) is nondegenerate one proves that it is not basic also in a simpler
way: since, XB(A) > 0 and Xj (A) = A > 0 we have III = m + 1 > m and since r(A l ) :::; m it follows
that X(A) is not a basic solution.
4.1. EXERCISES 61

Exercise 4.3
The left boxfor a basis change shown above displays the index set I ofthe basis B. the column
vectors B-1ae. B- 1aj and B- 1b and the reduced cost ce and Cj' Verify that the box on the right
displays the same quantities in terms ofthe basis B'.

Yi, = (B')-l a i = B- 1a i - 1 (Yj - Ur )u TB-1 ai


yj r = B - 1ai 1 (Yj - Ur )u T Yi
- Yj r = Yi 1 (Yj - Ur )Yir .
- yj

1
For i = esince Ye = u ; we have that Ye = Ur - - (Y J' - u r). and thus componentwise
yj

I k
O- -y · = - -
yJ ifki=r
k yr J yr:
Ye = 'i J 1
{ 1 - - (yr: - 1) = - if k = r
yj J yj

F or t· = J· we ge ty'. = y . - -1(y . - Ur )y r. = Ur.


J J yj J J
For the reduced costs we first calculate cB,(B')-l as follows

, - 1 T -1 1 -1 T -1 -1 1 - T -1
CB,(B) = (CB + (CJ' - ce)Ur )(B - -(B a J· - Ur)Ur B ) = cBB + -CJ'U rB .
~ ~
Thus for c~ we calculate

-,
co= ce- (B-1
CB + -c
1 _ ,uTB- 1)ae=Ce-CB B-1 ae + -C
1 - 'UT u
r= 0 + -C
1 _ ·=-.
Cj
~ yj J r yj J r yj J yj

For cj we have
_, -1 1_ T -1 -1 1_ T _ 1- r
cJ,=cJ'-(cBB +-C
yj J'Ur B )aJ'=cJ,-cBB a J· - -yjcJ·ur y J·=cJ·_-c
yj J·yJ·=O .

Finally. for the RHS we calculate


1 1 --
(B)
, -1
b =B- l i T -1
r:
-
b - -(YJ' - u r)u r B b = b -
T- -
-(YJ' - ur)u r b = b - -(Y J' - u r)br = b - ()(YJ' - u r)
yr: yr:
YJ J J
-
. - -, bk-()y k· ifki=r
smce () = br/yj and thus bk = { br _ ()(~j _ 1) = br _ br + () = () if k = r .
5. Simplex Algorithms

We can state now an iterative procedure for the resolution of the linear programming problem
(LP) in standard form with descriptive "input data" m, n, A, band c.
Simplex Algorithm (m, n, A, b, C )

Step 0: Find a feasible basis B. its index set I and initialize Pk for all k E I.
if none exists then
stop "LP has no feasible solution".
else
compute B - 1 , b := B- 1b and initialize CB.
endif.
Step 1: Compute c := C - c B B - 1 A .
if c 2': 0 then
set XB := b; XR := 0,
stop "XB is an optimal basic feasible solution".
else
(5.1) choose j E {k EN : Ck < O}.
endif.
Step 2: Compute Yj := B- 1uj.
if u, ::; 0 then
stop" LP has an unbounded solution".
else
b . ::; m } ,
compute the least ratio () := min
{ y~ : yj > 0, 1 ::; i
b
(5.2) choose £ E I such that ~~ = () and set r := Pt.
Yj
endif.
Step 3: Set B:= B + (Uj - ue)u;, CB := CB + (Cj - ce)u;. 1:= I - {£} U {j} and Pj := r.
Step 4: Compute B - 1 , b := B- 1b and go to Step 1.

With the exception of Step 0 and the lines numbered (5.1) and (5.2), which involve "judgment",
the simplex algorithm is a deterministic computing mechanism and the question is whether or
not an answer is found in a finite number of steps. By Theorem 1 finiteness and correctness of
the algorithm are evidently assured
(i) if we can get started and (ii) if no basis is repeated.

We shall come back to the general question of finiteness below.


Terminology: A change of basis is called a pivot or a pivot operation. The nonbasic column
selected in (5.1) is called the pivot column. The row selected in (5.2) is called a pivot row . The
element yj of (5.2) is called the pivot element. The calculation of the reduced cost vector c is

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
64 5. SIMPLEXALGORITHMS

called pricing or pricing operation. A variable j or Xj does not price out correctly if its reduced cost
is negative.
Reading Instructions: In large-scale linear computation one does not calculate B- 1 explicitly,
because it is not necessary. The simplex algorithm really requires:
(A) Knowledge of b for the solution vector xB and for pivot row selection. To find b we have to
solve
Bb=b. (5.3)
(B) Knowledge of c to determine if x B is optimal or not and to select a pivot column. To find c we
do the calculation in two steps. We first find a row vector u, say, that solves
uB = CB. (5.4)
Then we calculate Ck = Ck - uai; for k = 1, ... ,n which is expensive if n is very large, but
unavoidable.
(C) Knowledge of Y j to determine unboundedness of (LP) or to select a pivot row. To find Y j we
solve
(5.5)

These systems of equations are solved using some form of Gaussian elimination; see also Chap-
ter 7.
Getting Started: Multiplying the equations Ax = b by -1 if necessary we can assume WROG
that b 2: O. In the Big-M method, we thus have a basic feasible start x = 0 and 8 = b for the
"enlarged" problem
min ~;=1 CjXj + M ~::1 s;
(Big M) subject to Ax + 8 = b
x ;::: 0,8;::: 0.
M is a "big" number e.g. M= 1030 , i.e. a number that is sufficiently big to guarantee that in any
optimal solution to the original problem all artificial variables 8 1 , .. . ,8m assume the value zero.
In the Two-Phase method we solve in Phase I the problem
. ",m
mm L.. i= 1 8 i
(Phase I) subject to Ax + 8 = b
x 2:0 , 8 ;:::0 ,

which we start as before. If at the end of (Phase I) ~::1 s; > 0 , then the original problem has
no feasible solution. Otherwise, we switch to the original objective function and solve the linear
program. In both approaches the artificial variables are simply "forgotten" as soon as they become
nonbasic. In computational practice one frequently uses a "mixtu re" of the Big M-Method and the
Two-Phase Method. Top quality commercial software also employs so-called "crash methods",
t.e., heuristic methods to find a "reasonably good" starting basis at low cost.
Pivot Column Selection: To make a deterministic (reproducible) choice in Step 1, line (5.1), of
the algorithm we need a rule that uniquely identifies a column. The most commonly used choice
rules for pivot column selection are:
5. SIMPLEXALGORITHMS 65

(cl) Choose j such that Cj = min{ck : kE N} and break any remaining ties by choosing the one
with the smallest index.

(c2) Choose the first j for which Cj < 0, i.e. the smallest column index that has a negative reduced
cost.

(c3) Create a stack of, say, the p most negatively priced columns, i.e. the column indices with the
most negative Cj's. Then select the "next" columnfrom the stack that (still) qualifies until the
stack is empty at which point a "full" pricing of all columns is used to recreate the stack. p is.
of course, a parameter set by the user.

(c4) Calculate the least ratio (h. say, in Step 2for all kEN such thatck < 0 and choose j such that
cjB j = min{ckBk : Ck < 0 , kEN}.

Define the norm of column j by nj = VI + '2:7:1(y})2 . The following choice rules employ "steepest
edge" criteria, since the normalization by nj is geometrically just that; see Chapter 7.

(c5) Use (cl), (c3) or (c4) with Cj replaced by -..1...
nj

Pivot Row Selection: In Step 2, line (5.2), of the simplex algorithm, the least ratio need not be
unique. To make the resulting selection unique, the most commonly used choice rules for pivot
row selection are:
(rl) Choose among the candidates the one with the biggest y} and if the choice remains ambiguous
choose the smallest row index r among these candidates.

i
(r2) Choose among the candidates the one with smallest t, Le. the one withe = min{k E I: ~~ = B}
Yj
where B is the value of the least ratio.

(r3) Choose among the candidates by randomized choice.

(r4) Choose a row by so-called lexicographical choice rules.

Define the norm of row i by di = V'2:7'=1 (b~ )2 + 2:jEN_I(y~)2 , where b~ are the elements of the
basis inverse B- 1 , and I is the basic index set.

(r5) Choose among the rows with b~ br


= B one for which d is maximal, where B is the value of the
Yj r
least ratio.

The exact computation of the norms nj and di is expensive. Thus approximate updating schemes
must be used; see Exercise 5.11 and 6.12. The most commonly used pivot column and row
selection criteria (el) and (rl) do not guarantee the finiteness of the resulting algorithm. However.
the choice rules (c2) and (r2) guarantee the finiteness of the algorithm.

Theorem 2 Suppose that afeasible basis B exists. if the choice rules (c2) and (r2) are used for
pivot column and pivot row selection, respectively, then the simplex algorithm repeats no basis and
stops after afinite number of iterations.
66 5. SIMPLEX ALGORITHMS

In computational practice the choice rules (c2) and (r2) are used, however, only when "stallin g"
of the objective function prohibits the use of more promising ch oice rules, t.e., as "anti-cycling"
devices.
Upper Bounds: Consider the linear program with finite upper bounds U j > 0 on all variables

min {ex : Ax = b , 0 ::; x ::; u } ,


where we assume that r( A ) = m. Introducing slack variables we have the standard form

min ex
su bj ect to Ax =b
x + 8 =U
x2 0 8 20

every basis B of which is (m + n) x (m + n) and can be written in the form

B_
-
B
i,
0
e;
I
0
00)
i,
0
0
0 .
q
(
o 0 0 Is

The p first columns of B are such that Xj and 8j are basic, the next q variables have Xj basic
and 8j nonbasic and the last set has Xj nonbasic and 8j basic. From a column count we get
2p + q + 8 = m + n and from a row count m + p + q + 8 = m + n . Consequently, p = m, the su bmatrix
B is of size m x m and detB = ±detB, I.e. B a basis of A. We distinguish thus between nonbasic
variables at their lower bound of zero (the u sual concept) and nonbasic variables at their upper
bound (the new concept), i.e .,

Jo = {k EN : Xk = 0 and nonbasic}, Ju = {k EN : Xk = Uk and nonbasic} .

The reduced system of Chapter 4 now reads

min ZB z=
+
k EJo
CkXk + z=»es;
Ck Xk

subject to XB + z= Y k Xk + z= Y kXk = b
kE J o »er;
o ::; x ::;u
and the basic feasible solution defined by B and the partition (Jo,Ju ) is

Xj = b pi for j E I , Xj =0 for j E J o , Xj = Uj for j E J« .

Note that b = 1
B- (b -
L. j E J a j u j) 2 0 by our choice of notation. While we could have "comple-
u
mented" the variables Xj with index j E J u into their upper bounds Uj - e.g. by a substitution
of the form 8j = Uj - Xj - we have not done that explicitly because we can do it "implicitly". The
optimality criterion becomes:
5. SIMPLEX ALGORITHMS 67

[l] if Ck :2: 0 for all k E Jo and Ck :s; 0 for all k E Ju , then the basis B together with the partition
(Jo, Ju ) defines an optimal solution.
Unboundedness cannot occur. To "change bases", note that by the optimality criterion a basis
does not "display" optimality if one of the following two situations occurs,
(a) there exists j E Jo with Cj < 0 or (b) there exists j E J« with Cj > O.
In case (a) we would like to increase X j from its current level of zero to a positive level that,
however, must also be less than or equal to its upper bound U j' In case (b) we would like to
decrease variable X j from its current level U j to a smaller value that, however, must be greater
than or equal to zero. We have thus two types of changes to consider. To analyze case (a) we
consider the problem
max ( -Cj) Xj

subject to XB +Yj X j + L Yk X k = b
k EJu
O :S;x :S;u.
We may leave the nonbasic variables k E J« at their respective upper bounds and thus using
o :s; XB :s; UB the problem reduces to
max ( -Cj) X j

subject to b- UB :s; Y j X j :s; b


o < X j :s; Uj ,
where U B is the upper bound vector corresponding to the variables in B. This problem has
a feasible solution with X j = 0 by assumption. Thus either variable Xj can be increased to its
upper bound Uj without violating the other inequalities in which case one recomputes XB, puts
variable j into the "new" set J« and one iterates. Or this is not the case. Then we have two
possibilities: either a basic variable goes to zero first or a basic variable reaches its upper bound
first. That is we need to consider both yj > 0 (for the first possibility) and yj < 0 (for the second
possibility) . The first of the two possibilities gives rise to a "n or mal" pivot, I.e. the basic variable
leaves the basis and is put into the "new" set Jo while variable j enters the basis. In the second
one, variable j enters the basis, a basic variable leaves it and enters the "new" set J u ' Then one
iterates. In case (b) we need to take into account the "complem en tation" into the upper bound
indicated above. Leaving all variables k E J u ' k =I j , at their respective upper bounds the problem
to be analyzed is given by
- I
m ax Cj X j

subiect
J
to b- UB <
-
-YJ·x Jl -< b
o :s; xj :s; U j
where xj = Uj - Xj' Note that we have changed the sign of Y j and Cj. Now either the variable xj
can be increased all the way to Uj - which means the original variable X j can be decreased to
zero - without violating any of the other inequalities. In this case x B is recomputed and variable
Xj leaves the set J« and enters the set J o. Or this is not the case and like above we have two
possibilities that are analyzed in an analogous manner. See Exercise 5.12 for the details.
Other Topics: The other topics of this chapter discussed in the text concern explicit "u pdating"
formulas for the basis inverse (see e.g . (4.5)} , data structures, tolerances, the so-called product
68 5. SIMPLEX ALGORITHMS

product form of the basis, worst-case behavior, cycling and finiteness of simplex algorithms,
direct algorithms for linear programs in canonical form , block pivots and the exploitation of
special structure. Several of these topics are touched upon in the exercises.

5.1 Exercises

Exercise 5.1
Using precise pivot rules oj your own choice jor breaking the ties in (5.1) and (5.2) (which you
write down explicitly!) solve thejollowing linear prograrruning problemjor which a starting basis is
evident after bringing the problem into the standard jorm:

max 2 Xl + 3X2 + 4X3 + 2 X4


subject to Xl + X2 + X3 + X4 ::; 10
3 Xl + X2 + 4 X3 + 2 X4 ::; 12
Xi 2: 0 for i = 1, . .. , 4.

The data of the problem in its standard (minimization) form are as follows

= 1 1 1 1 1 0) , b = (10) , c = (-2, -3, -4, -2, 0, 0)


A
(3 1 4 2 °1 12
We choose j to be the first k such that
() = bpe/yr for (5.2). Then we have
Ck < °for (5.1) and f to be the first index such that

B ~ (~ ~). I ~ {5,6} and 0B ~ (0, 0).


B- =
1
G~). b = B-lb = G~) and c = C - cBB- l A = (-2, - 3, -4, -2, 0, 0)

j =1. u, =B-1a , =G)' 8 =mingo , ';'} =4. £= 6.

I~{5,1}.B=B+(a,-",)(0, 1)~G ~)+G)(O' I)=G ~)+(~ ~)=G ~)


0B ~ 0B + (c, - ",)(0, I) =(0, 0) + (-2)(0, I) =(0. -2). B-
1
=~ (~ ~I) ~ Gk~) and
b=B-lb= Gii) G~) = (:).

c ~ (-2, - 3, -4, -2. 0, 0) - (0, -2) G-_~i) 1


(3 1 1 1 1 0) _ (0
1 4 2 ° 1 -
5 4 2
' -3 ' -3 ' - 3'
°
'3
2)
5.1. EXERCISES 69

J. -_ 2, Y 2 -_ (10 -~~) (1)


1 -_ (2/3)
1/ 3 ,B -_ min I' I -
. {6 4 } _ mm
. {9, 12} -_ 9, e-_ 5.

I ~ {2, I}. B ~ B + (", - a s)(l , 0) ~ G~) + (~) (I , 0) ~ (: ~).


CB = CB + (C2 - cs)(1, 0) = (0, - 2) + (-3)(1, 0) = (-3, - 2), B - 1 = ~ ( -13 -1) (~1
1 - --2
-~) 1
2
'

h (!! -!!)(:~) ~ (~).


C = (- 2, - 3, -4, - 2, 0, 0) - (-3, - 2)
(- ~2 -1.)
2
2
(1 1 1 1
1
12
3 1 4 2
~ n~ (0, 0, -~, !' ~, -!).
j = 3, Y 3 = (_\~ _1.)
~2
(1)4 = (_1.) 1 2
{ ' B = min{ I}= 3' e= 1.

I ~ {2,3 }, B ~ B + (a3 - a Jl(O, I) ~ (: ~) + (~) (0, I) ~ (: ~)


CB = CB + (C3 - C1)(0, 1) = (-3, - 2) + (-2)(0, 1) = (-3, - 4), B - 1 = ~ ( -41 -1)
1
= ( ~1 -~)
- 3 1
3
'

b= ( ~1 -1~)
. -3 3
(10)
12
= (28/3) .
2/3

CB -_ (- 2, - 3, - 4, -2, 0, 0) - (- 3, - 4 ) ( ~1 -1~) (1 1 1 1 1 0) -_ (3S ' 0, 0, 3'


4 38 ' 3)
1 '
- 3 3 3 1 4 2 0 1
Since C 2: 0, the optimal solution has been found and it is X l = 0, X2 = 238 , X3 = ~ and X4 = O.
The optimal objective function value is 8
3e
3 ) + 4( ~) = 9i = 30~ .

Exercise 5.2
Write a computer program oj the simplex algorithm in a computer language ojyour choice, using
any "canned" inversion routine or the updatingjormulas based on (4.5) (see the text),jor the linear
programming problem in canonical jorm with b 2: o.

The following program is an implementation of the simplex algorithm as a MATLAB function.

% Primal s implex algorithm fo r LPs in canonical fo rm


% max {c x: A-x <= b , X >= a}
% whe r e b >= O. The i den t ity ma tr ix corre s ponding to the
% slack vari ab l e s i s assumed t o be a- feasi b l e ini ti a l bas is .
%
% INPUT VARIABLES
70 5. SIMPLEX ALGORITHMS

s-
0 A,b,c -> LP data
!l-
0

% RETURN VARIABLES
% sol stat 0 -> unbounded solution
% -1 -> infeasible solution
s-
0 1 -> finite optimal solution
!l-
0 X -> primal solution vector
!l-
0 Z -> optimal objective function value

function [sol stat,x,z] = psimplex(A,b,c)


[m,n] =size (A) ;
A=[A'; eye(m)]';
c=[-c zeros(l,m)];
I=eye (m) ;
B=I;
Binv=I;
cb=zeros (1, m) ;
for i=l:m, p(i)=n+i; end
bbar=Binv*b' ;
i f bbar < 0
fprintf('Initial basis is infeasible.');
sol_stat = -1;
return
end
iter=O;
sol_stat=-2;
while (sol_stat < 0) ,
iter=iter+1;
cbar=c-cb*Binv*A;
i f (cbar>=O)
fprintf('Optimum found in %d iterations.\n' ,iter);
z=-cb*bbar;
x=zeros (l,n) ;
for i=l:m, x(p(i))=bbar(i); end
sol_stat=l;
return;
end
k=l;
while cbar(k) >=0, k=k+1; end
j=k;
yj =Binv*A( : , j ) ;
i f (yj <= 0)
fprintf('Problem is unbounded');
sol stat= 0;
return;
end
5.1. EXERCISES 71

A
theta=2 3 0 i
for i=l:m,
i f yj (i) > 0
if bbar(i)/yj (i) < theta
theta=bbar(i)/yj (i) i
r=i;
end
end
end
l=p (r) ;
ur=I (: ,r) ;
B=B+ (A( : , j ) -A ( : , 1) ) *ur' ;
cb=cb+(c(j)-c(l))*ur' ;
p (r) =j;
Bd nve i.nv (B) ;
bbar=Binv*b' ;
end
The input data for Exercise 5.1 are put as follows into a file called psdat . m:
c= [2 3 4 2];
b= [ 10 12];
A= [ 1 1 1 1 ; 3 1 4 2 l :
The following shows the function call from MATLAB and the output for the above data (assu-
ming that they are in the file psdat. m):
» psdat
» [stat,x,z]=psimplex(A,b,c)
Optimum found in 4 iterations.

stat
1
x
o 9.3333 0.6667 o
z
30.6667

Exercise 5.3
Consider the problem max{L:j=l CjXj : L:j=l ajxj ~ ao , x :2: O} where Cj > 0, aj > 0 for j =
1,2, . . . ,n and ao > O. What is the optimal solution to this problem?
Optional addendum: Drop the sign assumption on the data and discuss all possible cases.

We bring the problem into standard form by introducing a slack variable X n + l 2: 0 and setting
Cn+l = 0, an+! = 1. Since 0 ~ Xj ~ ao/aj for 1 ~ j ~ n+1 the solution set is nonempty and bounded.
72 5. SIMPLEX ALGORITHMS

Thus by the fundamental theorem of linear programming an optimal basis exists. Since m = 1
a basis is an 1 x 1 matrix, i.e. a scalar. Let ak be the optimal basis. Then the reduced cost for
the j-th variable is Cj = Cj - Ck a j / a k and since ak is an optimal basis and we have a maximization
problem, Cj :s; 0 for all 1 :s; j :s; n + 1. It follows that ~ 2': :~ for all 1 :s; j :s; n + 1 if ak is an optimal
basis. Thus if we select k E {I , . . . ,n + I} such that ~ = max{:~ : 1 :s; j :s; n + I}, then the optimal
solution is X k = ~ and Xj = 0 for all I :s; j :s; n + 1, j -=J. k and the optimal value is c k a o/a k '
Suppose now that no sign restrictions are imposed on the data and let N = {I , ... ,n}. We
distinguish the following cases:
(1) Assume ao 2': O. Then if aj :s; 0 for all j E N and there exists j E N with Cj > 0 the solution is
unbounded. If Cj :s; 0 for all j E N then x = 0 is the optimal solution. Now let N+ = {j EN: aj > O}
and N_ = {j EN : aj < O} and assume that both sets are nonempty. The optimal solution if
exists is X k = !!Q.
ak
for some k E N+, xJ' = 0 for all j -=J. k or x = O. In the first case the variables
j E N+, j -=J. k price out correctly if :~ :s; ~~, the variables j E N_ price out correctly if :~ 2': ~ and
the slack variable prices out correctly if -~ :s; 0, i.e. if Ck 2': 0 since by assumption ak > O. In
the second case the variables j E N price out correctly if Cj :s; O. We can eliminate from the LP
variables j E N + with Cj :s; 0, so we assume that Cj > 0 for all j E N -l-" With this information we
distinguish the following cases:
(i) if Cj :s; 0 for all j EN, x = 0 is an optimal solution.
(ii) if N + = 0 and there exists j E N with Cj > 0 the problem is unbounded.
(iii) if N + -=J. 0 let k be such that ~ :s; ~: for all j E N +

(a) if there exists j E N _ such that Cj > 0 then Xj does not price out correctly and since
a j < 0 the problem is unbounded.
ak

(b) if Cj :s 0 for all j E N_ let f. be such that ~ :s; ~ for all j E N_. If ~~ 2': ~, then Xk = ~~ ,
Xj = 0 for j -=J. k is an optimal solution. Otherwise the problem is unbounded.

(iv) if N _ = 0 the solution is found as in the first part of the exercise, unless Cj :s; 0 for all j E N
in which case x = 0 is an optimal solution.
(2) Assume a o < O. Then if a j 2': 0 for all j E N the problem is infeasible since ~3 < 0 for all j
with aj > O. Suppose now that N _ = {j EN : a j < O} -=J. 0. Then if there exists an optimal solution
it is X k = ~ for some k E N_ , Xj = 0 for j -=J. k. The variables j E N_ , j -=J. k price out correctly if
~ 2': ~~, the variables j E N + price out correctly if :~ :s; ~ , and the slack prices out correctly if
- ~: :s; 0, i.e. when Ck :s; 0 since by assumption ak < O. With this information we distinguish the
following cases:
(i) if N _ = 0 the problem is infeasible.
(ii) if N _ -=J. 0 and there exists kEN_with Ck > 0 the problem is unbounded.
(iii) if N _ -=J. 0 and Cj :s; 0 for all j E N_ , Cj :s; 0 for j E N+, then the optimal solution is Xk = ~~,
X j = 0 for j -=J. k, where k is such that ~ :s; ~~ for all j E N _.

(iv) if N _ -=J. 0, Cj :s; 0 for all j E N _ and C+ = {j E N+ : Cj > O} -=J. 0, let f. E C+ be such that ~~ :s; ~~
for all j E C+. If acee -< 9s.. ak
where k is defined as in (iii), then X k = !!Q.ak
, x ' = 0 for j -=J. k is an
J
optimal solution. Otherwise the problem is unbounded, since ~ < O.
5.1. EXERCISES 73

Exercise 5.4
Consider the linear programming problem

max{~ ~r-ix"1,_,
L.-J si x": L.-J
t - o}
<t x >
i=l i=l
where i means "to the power i ff and sand r are parameters satisfying 1 > r > 0, s > 1, rs < 1 and
(1 - r) r < s ~ 1 ( e.g. r
= ~ ,s = 2). Show that if one starts with the solution x = 0 the simplex
s- 5
algorithm with the choice rule (cl) requires exactly n steps until the optimum is found, while the
choice rule (c2) converges in one step.

Introducing a slack variable we bring the constraint into equality form, t.e, I:~=1 .;rXi + Xn+1 = t.
Starting with the solution x = 0, I.e. with initial basis 1 (the coefficient of xn+d we calculate
the reduced cost for variable Xj to be Cj = Cj - cn+!aj = si and since s > 0 we have that Cj > 0
for aliI ::; j ::; n. Using choice rule (cl) for the entering variable, since we are maximizing, we
have to pick up the variable with the maximum reduced cost among those with positive reduced
cost. Since s > 1 the entering variable is variable Xn. Now we claim that if variable Xk is in the
basis in some iteration, then in the next iteration variable Xk-1 will enter the basis. To prove the
claim we first prove that variables Xl, . .. , Xk- 1 are the only candidates to enter the basis. Indeed,
calculating the reduced cost for variable Xj we have Cj = sj - skr k/r j and thus since sr < 1 we get
Cj > 0 for 1 ::; j < k, Cj < 0 for k < j ::; n, Cn+1 = _ Skr k < 0 and, of course, Ck = O. So to prove our
claim we have to show that Ck-1 > Ci for aliI ::; i ::; k - 2. To this end we prove that z, < cH1 for
. k k "+ 1 k k k k 1 "
all L < i ::; k - 2, I.e. that s' - s r~ < s' - ~'~ l which is equivalent to s r~ Cr: -1) < s' {s -1). After
rearranging terms the inequality to show becomes (1 - r)r(rs)k - i-2 < s~l . Now, since rs < 1 we
have (1 - r)r(rs)k - ' -2 < (1 - r)r < 8~1 , where the last inequality is given to be satisfied by r and s
and the claim is proven. It follows that after n iterations, variable Xl will be in the basis and then
Cj = sj - :~ < 0 for all 1 < j ::; n , since sr < 1 and cn+! = -sr < 0, t.e . the basis is optimal.
Using rule (c2) for the entering variable and starting again with the solution x = 0 we have
already shown that Cj > 0 for 1 ::; j ::; n and thus the smallest indexed variable with positive
reduced cost is variable Xl . Bringing Xl into the basis, we have the optimal basis as shown
above. Thus after one iteration the optimal solution is found .

Exercise 5.5
Denote by B p the basis of the simplex algorithm at iterationp and assume B o = 1m- Show that
detB p = Ilf=l Y'/ where Y'/ is the pivot element Yj in iteration t,

We have from (4.4) that at any given iteration t the "next" basis is given by
B, = B t - 1(1 m + (Yj - ur)u;)
74 5. SIMPLEX ALGORITHMS

where u ; Yj = yj is the pivot element for iteration t , Taking the determinant of B , we have
detB t = detBt_ldet(Im + (Yj - u r)u;) .

We calculate the second determinant as


1 yJ a

det(I m + (Yj - u r)u'[) = det a yj a = yj

a yj 1

and thus det.B, = detBt_ly'l/ . By backwards substitution since B o = L; we calculate for p 2: 1


p p

detB p = IT yi ,tdetBo = IT yj't .


t =l t =l

Exercise 5.6
Suppose that the original equation system has slack variables in positions n - m + 1, .. . ,n. Prove
that at every iteration the current basis inverse is given by the transformed coefficients in the same
columns oj the equationjormat.

The transformed coefficient y} for some n - m + 1 :::; j :::; nand 1 :::; i :::; m is the i-th component of
the vector Yj = B -laj where B- 1 is the inverse of the current basis. Since by assumption the
slack variables are in positions n - m + 1, . . . , n we have that a j = Uj-n for n - m + 1 :::; j :::; n, Le.
the columns of the matrix A that correspond to the slack variables are unit vectors forming an
identity matrix. But then Yj = B-laj = e ;', i.e. the vector Yj is the j -th column of the inverse
of the current basis.

*Exercise 5.7
(i) c)
Show that the objective junction value oj(LP is unbounded if and only if the same is truejor
the objectivejunction value ojthe linear program(LPc) in canonical form. where
(LPc ) max{ ex : Ax :::; b , x 2: O} ,

(LPC)
5.1 . EXERCISES 75

(iiJ Let N = {l , . . . , n } , M = {l, .. . , m } and d = (c 0) . For any basis B with index set! let

p = I nN, L= {i E M : n +i(j. I} , S=M -L .


Rewriting (LPel in partitioned form with resp ect to P and L we get the equivalentjorm oj(LPel

m ax Cpx p + CN - p XN- P
subject to A~xp + A t _p XN- P
M L
A p - Xp + A NM-_pXN-P
L

Xp 20, XN -P 2 0.
Thus every basis B oj(LPCJ ca n be brought into thejorm

B- (A~
- A~-L
0
I -
m p
)
,

where P = IFI, ILl = IFI and detA~ = detB if p 2 1. Assume that B is an optimal basis for
(LPG) that is found by the simplex algorithm and prove:

(i) If p = 0, then x = 0 is an optimal solution to (LPd and b 2 0, C ~ o.


(ii) Ifl ~ p ~ m, then an optimal solution to (LPd is given by
Xp = (A~) - l bi. , XN -P = 0 (5.6)

and moreover, w e have the inequalities

Cp ( A L
p
)-l 2 0 and Cp ( A L
p
) - l AL_
N P 2 CN - P . (5.7)

(i) Let .1'= = {(x , s) E IR n +m : A x + s = b , x 2 0, s 2 O}. First, we observe that (x ,s) E .1'= if
and only if x E .1'::0: . Assume that (LPG) has an unbounded solution and suppose that (LPd has
a bounded optimal solution. Let x* E x : O: be the optimizer. Then cz" 2 cx for every x E x : o:
and thus for every (x , s) E .1'= which contradicts the unboundedness of (LPG)' On the other
hand if (LPd is unbounded, suppose that (LPG) is not. Then there exists an optimal solution
(x* ,s* ) E x = such that czi" 2 cx for all (x,s) E .1'= and thus for all x E .1'::0: which contradicts the
unboundedness of (LPd.
(ii) Since p = 0 we have P = 0 and thus the solution to (LPG) defined by B is x = 0, s = b. Conse-
quently b 2 o. From the optimality criterion of the simplex algorithm we have d R-dBB - 1 R = C ~ 0
and thus (i) follows. If 1 ~ p ~ m then we calculate

B-1 -
-
(A L
P
)- l
( _ A~-L ( A~ ) -l t..),
and thus the solution to (LPG) defined by B is given by

xp = (A~) - 1 bL , XN -P =0 , Sp =0 , SM- P = bM - L - A~-Lxp .


76 5. SIMPLEX ALGORITHMS

Hence the solution (5.6) is feasible for (LPe). To derive (5.7) we note that

d B = (c p 0) , dn = (CN-P 0) , R= (AX,
AM
_p
- L
N-P
Ip
0
)
'

where the first zero vector has m - p components, the second one p components and the zero
matrix is of size (m - p) x p since ILl = 1F1. Consequently, the optimality criterion of the simplex
algorithm becomes

= ( CN- P - Cp ( A L)
p -l A N_
L ( L)-1)
P ,-cp A p s: 0
and (5.7) follows. Now suppose that the solution given by (5.6) is not optimal to (LPcl. Then there
exists x E X ~ such that cx > ex. But then z = (x,s) where s = b- Ax ~ 0 is a feasible solution to
c)
(LP with dZ > dz = CX, which contradicts the optimality of the solution defined by the basis B .

Exercise 5.8
Show that some optimal solution to the linear program

(LP~)

is optimalfor (LPe) where L = {i EM: n+ i f/. I}, M = {I, . . . ,m } and! is the index set ofan optimal
basis to (LPG); see Exercise 5.7.

c)
Let B be an optimal basis for the problem (LP and Xp = (A~)-1bL, XN-P = 0 be the correspon-
ding optimal solution. From (5.7) we have that CN-P - cp(A~)-lAX,_p s: O. We claim that this
is an optimal solution to the problem (LP~). For suppose not. Then the basis A~ is not optimal,
i.e . CN- P - cp(A~)-lAX,_p 1:. 0 which contradicts the optimality of the solution for (LPe).
5.1. EXERCISES 77

Exercise 5.9
For any integers a, b and c satisfying b :2: a :2: 2 and c > ab consider the linear program in
canonicaljorm
n
max Lbn-ix i
i= l
i -I
subiect
J
to "
L...Ja bi-kx k + X·, < i l
- c- for i = 1, . . . , n
k =l

Denote by s, the slack variable oj constraint i and prove that either Xi or s; is in the basis in every
basicfeasibie solution where 1 ~ i ~ n. Let i o = 0 < h < ... < is < isH = n + 1 be any set oj indices
and S = {i l , ... , is}, where 0 ~ S ~ n.

(i) Prove that Xik = Cik- l - a ~;~{ (1 - a)k-l-£bik-iecie-l jor k = 1, .. . , S , Xj = 0 jor j tf S is


a nondegenerate basic feasible solution where x = 0 if S = O. Moreover; the linear program
has exactly 2n basic[eastbte solutions.
(ii) Prove that the objective junction in reduced form is given by
n s s
Lbn-jxj = L(1- a)S-kb n-ikcik-l - L(1- ay-kbn-iksik
j=l k =l k=l
s i k- 1 n
+ L(1- a)SH-k L bn- jxj + L bn-j x j,
k=l j=ik-l +1 j=is+l
Le. the first term on the right-hand side oj the equation is the objective junction value oj
the basic feasibie solution defined in (i) and the rest gives the reduced cost oj the nonbasic
variables.

(iii) Prove that with pivot rule (cl) jor column and (rl) jor row selection the simplex algorithm
iterates as jollows: (a) if S = 1 or S = 0, then if is = n stop; otherwise variable Xis H is pivoted
into the basis. (b) if S 2 2 and S even, then if i l > 1 variable X l is pivoted into, whereas if i l = 1
variable X l is pivoted out oj the basis. (c) if S 2 3 and S odd, then if i l + 1 < i2 variable X iI +1 is
pivoted into, whereas if i l + 1 = iz variable Xi2 is pivoted out oj the basis.

(iv) Let z be a vector oj length n and initially z = O. At any point ojthejollowing procedure denote
by S the number oj nonzero components and by ik the position oj the k t h nonzero component
oj z where 1 ~ k ~ s, p and q are counters which are initially zero. The iterative step goes as
jollows:

Increment p by one. if p 2 2n , stop. if 0 ~ S ~ 1, increment q by one , set Zq = 1 and


go to the iterative step. if S is even, then if Z l = 1 set Z l = 0, else set Z l = 1 and go to
the iterative step. if S is odd, then if i l + 1 < i 2 set ZiI H = 1, else set Zi2 = 0 and go
to the iterative step.
78 5. SIMPLEX ALGORITHMS

Prove by induction on n that the procedure produces all 2n distinct zero-one vectors oj length
n and that the last vector produced is given by Zj = 0for j = 1, . .. , n - 1, Zn = 1. (Hint: Denote
by zP+! the zero-one vector produced in step p starting with Zl = O. In the stepfrom n to n + 1
prove that z f+k = Zf + 1- k for j = 1, .. . , n . Z~:tk = sfor 1 :S k :S 2n using induction on k.)

(v) Use (iv) to conclude that the simplex algorithm with the choice rules (cl) and (rl) requires 2n - l
iterations to solve the above linear program if it is started at x = O.

(vi) Consider a "reverse" rule (c2) and (r2) where "first" and "smallest" is replaced by "last" and
"largest" in (c2) and likewise in (r2). Show that the simplex algorithm with the reverse choice
rules (c2) and (r2) stops after one step if started at x = O. How about choice rules (c4) and (cl)
as changed in (c5)?

We claim that X i + s , > 0 for all 1 :S i :S n . This is clear for i = 1 since X l + Sl = cO = 1 > O. So
suppose the claim is true for 1 :S i :S £ < n and that X H 1 + S £+! = O. Then Li=l a bH1-k xk = c£ and
thus
e e £- 1
L
b£-k X k = :b > C£- l ~ L
ab£-k x k + x£ .
k=l k=l

Hence 0 > Li-:~ (a - l)b£- k x k ~ O. which is a contradiction to x ~ O. So in every basic feasible


solution either Xi or s, or both variables belong to the basis. But every basic feasible solution
has exactly n basic variables. Thus either Xi and s, is basic and moreover. every basic feasible
solution is nondegenerate.
(1) To prove this part we claim first that

k -1
_
~k - C
ik-1
-a~
'"""(1 - a )k-1 -£bi k- i£ci £-l
£=1
k-1 k i£- l
(5.8)
+ a L(1- a) k-1-£b i k- i £S i£ - Si k - a L(I- a)k - £ L bi k-h Xh
£=1 £= 1 h=i£_l +1

for alll :S k:S S and for any set S = { ill' " ,is} ~ {l , .. . , n } with il < .. . < is. If S = 1, then from
constraint i 1 the claim follows. So suppose (5.8) is true for some S ~ 1. We show that formula
(5.8) is true for any S ~ {l , . .. ,n} with lSI = S + 1 :S n. From the induction hypothesis it follows
5.1 . EXERCISES 79

that (5.8) is correct for 1 ~ k ~ s. Thus from constraint i 8 +1 we get :


i s+l - 1
X 1.' 8 + 1 = c iS+ 1- 1_ S l.' s + 1 - ~ i 8 1- kXk
L-J a b +
k= 1
8 8+1 ik- 1
= CiS+1- 1 _ S· - ~ a bi s+l -ikx . _ ~ ~ a b i s+1- hXh
~ s+l L-J ~k L-J L-J
k=1 k=1 h=ik _l + 1
8 k- 1
= Ci8+l-1 - L abi 8+1- ik (c i k - 1 - a L ( l - a )k-1-£bik -itcit - 1)
k=1 £=1
8 k- 1 8

- L a 2 L (l - a )k-1-£bi s+l -it Si t +L abi8+1- ik Sik


k=1 £=1 k= 1
8 k it - 1
- Si S+l +a2 L L ( l - a)k-£ L bi s+l - i h X h
k= 1£=1 h=i t _l+1
8 ik -1 i s+l - 1
- L L a bi s+1 "», - L a biS+l-hXh .
k=l h= ik _l + 1 h=i 8+ 1

We calculate next
8 k- 1 8 k- 1
L bi s+l - ik(ci k-1 - a L(1 - a )k- 1-£ bik -itcit-1 ) = L(bi8+1-i k Ci k-1 - a L ( 1 - a )k- 1-£ bi 8+1-itcit-1 )
k= l £=1 k=1 £=1
8 8 k -1
= L bi8+1- i k Ci k -1_ L a L(1 _a) k- 1- £bi s+l- it c it -1
k =1 k= l £= 1
8 8- 1 8
= L bi s+l - ik Ci k-1+ L ((1_ a ) s - k _1)bi s+l - i k ci k- 1 = L(1 _ a y - kbi s+l - i k cik - 1 ,
k=1 k= l k= 1

where we have used that

(5.9)

for any real 131, ... ,138 and a i= 1. Likewise, we calculate


8 k -1 8- 1 8

L(- a L (1 - a) k-1 - £bi s+l - it Sit + bi s+1-ik Sik ) = L ( (1 - a)8-k - 1)bi8+1- ik Sik +L bi s+1-ik Si k
k=l £=1 k= 1 k=1
8

= L ( l - a ) 8-k bi s+l-ikSi k .
k= l
80 5. SIMPLEX ALGORITHMS

We calculate also
s k ie - 1 ik - 1 s ik- 1
2)a L(1- a) k- £ L bi s+l-i h Xh - L bi s+l- h Xh) = - L(1- a )s+I-k L bi s+l - h X h ,
k=1 £=1 h=ie_ 1+1 h=ik_ 1+1 k= 1 h=ik _1 + 1

where we have used that

(5.10)

for any real f31,'" ,f3s and 0: -11. Combining the three terms, formula (5.8) follows for k = s + 1.
To show the positivity of Xik as defined in (5.8) we proceed as follows:

k- 2
= c i k - 1 - a bi k-ik - I Ci k- I-1 + a (a - 1) L(1- a) k-2- £bi k- iec ie- l (5.11)
£=1
k -2
= Cik- I -l (cik-ik -I - a bi k - i k- I ) + a(a - 1) 2:(1- a) k- 2- £bi k - iec ie-l .
£=1
Now remember that i 1 < i 2 < ... < ik . For k < 3 the last summation is empty and thus equal to
zero. Since c > a b and a ~ 2 imply c£ - ab£ > 0 for all l ~ 1 it follows that XiI > 0 and Xi2 > O.
To prove that the last summation is nonnegative, we factor out bi k - i k- 2 > 0, simplify the notation
and claim that
k
2:(1 - a ) k -£ bik -ie cie- l >0 for all k 2: 1 . (5.12)
£=1
The claim is true for k = 1 and k = 2. Suppose it is true for some k 2: 2. Then
k+l k-l
L(1- a)k+l -£bik+l -iecie - l = (1 - a )2 b ik+l - i k -1 L(1- a )k-l-£bik- I -iecie- l
£=1 £=1
+ bi k+1- i k Cik- 1 + Cik- 1( Ci k+1- i k _ a bik+1 -ik ) >0
by the induction hypothesis and the previous reasoning. Consequently, Xik > 0 for all I :S k :S s.
To prove feasibility of Xik for 1 :S k :S s we check the constraints. They are satisfied when i :S i I ,
with equality if i = i 1. Suppose i > i 1 and let i 1 < i 2 < ... < ip - 1 < i :S i p for some p 2: 2. Define
p-l
C _ Ci - I -
<"i - a '"'(1
L....- - a )P- ie- 1.
l- £bi - ie c

£=1
Thus ~i = Xip if i = i p , whereas ~i > 0 if i < i p • (The last assertion follows from the previous
argument using the partition {i 1, . .. ,ip - 1 , i p = i} for the definition of the X i k ' ) Then we calculate
5.1 . EXERCISES 81

using (5.11)
i- I p-l
L a bi- k x k + ~i = L a bi -ikxik + ~i
k=1 k=1
p- l k -l
= L a bi-i k (Ci k- 1 - a L ( 1 - a) k-l - £bi k - i £c i £-I ) + ~i
k= 1 £= 1
p- l p- lk - l
= a ( L bi-i k Cik- l - a L L(1 - a )k-l -£bi - i£ci£ -I ) + ~i
k=1 k=I£=1
p-l p-2
= a ( L bi-i k Ci k-l + L ((1- ay- l -k _1)bi-i k ci k- l ) + ~i
k=1 k= 1
p- l
= a L(1 - a )p -l -kbi -ikcik - l + ~i = ci - 1 ,
k= 1

where we have used (5.9) with S = p-1. It follows that the solution is feasible, that all inequalities
with i E {i 1 , • • • ,is} hold as equations whereas all others are strict inequalities. The submatrix
of the constraint matrix corresponding to the columns and rows with indices iI, . . . . i; is lower
triangular and has ones on the main diagonal. All other rows are strict inequalities. We must
thus choose their corresponding slacks as the corresponding basic variables. Thus the solution
(x , 8) defined by the Xik for 1 :::; i :::; s is a nondegenerate basic feasible solution. Since we can
choose any subset S ~ {1, . . . ,n} there are at least 2n basic feasible solutions. Since either Xi or
Si for 1 :::; i :::; n is basic in any basic feasible solution there are exactly 2n such solutions.

(ii) Using (5.8) we calculate for the obje ctive function


n s 8+1 ik - 1
"L)n - j X j = L bn - i k Xi k +L L bn- h X h
j =1 k= 1 k= 1 h=ik -l + 1
8 k- l 8 k-l
= L bn - i k(c ik -l - a L ( 1 - a)k -l-£bik - i£ci £- I ) + L bn - ik (a L(1 - a )k-l-£bi k - i £Sie - Sik )
k= 1 £= 1 k= 1 £=1
8 k i£ -1 s -l-L ik - 1
- a L L ( 1 - a)k-£ L bn-h X h +L L bn - h Xh (5.13)
k=1 £=1 h=ie-l +1 k= 1 h=ik- l +1
S 8

=L (1- a) 8- kb n - i k ci k - l - L ( 1 - a) 8- kb n - i k Sik
k=1 k=1
s ik -l n
+ L(1 - ay+l -k L bn - j X j + L bn - j Xj ,
k=1 j =ik - l + 1 j=i s +l

where we have used (5.9) and (5.10) to simplify the summations. So the reduced form of the
objective function follows and we thus know all reduced costs for any b asic solution to the
problem.
82 5. SIMPLEX ALGORITHMS

(iii) To apply pivot rules we need to fix a sequential ordering of the rows and columns of the
problem in standard form. The ordering of the rows is the natural one stated in the formulation.
The variables X l, . .. ,Xn are as in the order of the formulation and Xn+l, . . . ,X2n with X n +i = s, for
1 :S i :S n is the indexing of the slack variables as implied by the row order. From part (ii) we
know the reduced cost Cj for 1 :S j :S 2n. Moreover. we know that in each basis that we encounter
either Xi or S i is basic. So if we pivot X n +i . t.e, the slack variable Si . into the basis then we pivot
X i out of the basis and vice versa. So we need only pivot rule (c l) which we repeat when stated
for a maximization problem with 2n variables.
(cl) Choose j such thai c, = max{ck : 1 :S k :S 2n} > 0 and break any remaining ties by choosing
the maximizer with smallest index.
To prove (a) assume first that S = O. Then all slacks are basic. Thus from (cl) we pivot X l into the
basis because bn - 1 > bn - j for all j ~ 2. If S = 1, then from (5.13) we have
n iI - 1 n
L bn- j x j = bn-il ci l -1 - bn - ilS iI + (1- a) L bn-j x j + L bn-j xj'
j= l j= l j=i l +1

Since (l-a)b n- j < 0 for j ~ 1 and _bn- iI < O. it follows that X iI +l is pivoted into the basis according
to (cl) if i 1 < n, because bn - i 1+l > bn - j for all j > i 1 + 1. Otherwise if i 1 = n the current solution is
optimal and (a) follows.
To prove (b) assume S ~ 2. S even and i 1 > 1. It follows that X l is nonbasic with reduced
cost C1 = (1 - a) Sb n - 1 > 0 which is the unique maximum reduced cost because (1 - a) S ~ 1.
Consequently. X l is pivoted into the basis. Suppose now i 1 = 1. Then Xl is in the basis and Sl
is nonbasic with reduced cost c n +l = -(1 - a) S-lbn - 1 > O. Again it follows that Cn + 1 is the unique
maximum reduced cost because -(1 - a )s-l ~ 1. Hence S l = X n+ 1 is pivoted into the basis which
means that X l leaves the basis and thus (b) is proven.
To prove (c) assume S ~ 3. S odd and i 1 + 1 < iz- It follows that Xil +1 is a nonbasic variable
with reduced cost c iI+1 = (1- a y- 1b n - iI - 1 > O. Since i 1 + 1 < i 2 and (1 - ay -1 ~ -(1- a) S- 2 ~ 1 it
follows that CiI+l is the unique maximum reduced cost. Consequently, variable XiI+1 is pivoted
into the basis. Suppose now i 1 + 1 = i 2 • Then Xi2 is in the basis and Xn+h = Si 2 is out of the basis
with reduced cost Cn +i 2 = -(1 - a)S- 2b n - i 2 > O. Since i 1 + 1 = i 2 it follows as before that Cn+i2 is
the unique maximum reduced cost and thus Xi2 is pivoted out of the basis which proves (c) and
thus part (iii) follows .
(iv) Starting with zl = 0 we have that the iterative scheme works for n = 1 as follows:
S = 0 -+ Zl = 1 -+ z2 = (1)
and thus the iterative scheme produces the two possible 0-1 vectors of length one. For n = 2 we
have
S = 0; Zl = 1 -+ z2 = (1,0) -+ S = 1; Z2 = 1 -+ z3 = (1,1) -+ S = 2; Zl = 0 -+ z4 = (0,1)

and thus again we get all 0-1 vectors of length two. Moreover. in both cases the last vector that
we get has its only nonzero element in the n-th position. Suppose that the algorithm produces
all 0-1 vectors of dimension £ for £ ::::: n and that the last vector produced has only one nonzero
component at the £-th position. To show that this is true for vectors of dimension n + 1 we show
by induction on k that zf+k = zf+l - k for j = 1, . .. , n. z;:1
k = 1 for 1 ::::: k ::::: 2n .
5.1. EXERCISES 83
n
For k = 1 we have that s = 1 since Z2 = (0, .. . , 0, 1) and thus z;;,:t
l
= 1 and the assertion
holds. Suppose that it h olds for any t :s k , Le. we have z f +t = zf+ l-t for j = 1, ... , n and
n
z;;,:tt = 1 for all t :s k. Suppose first that the number s of nonzeros in z 2 +k is even and assume
n
z f+ k = 1. Then s for Z2 H - k is odd and zf H- k = 1. Now according to the iterative scheme
z 2 +k+l will have s odd and zf+k+ l = 0, all other element remaining the same. The number s for
n

n n
Z2 - k must be even since it differs only in one element from z 2 - k+l and thus z f-k = O. Thus
n
zf +kH = zf - k for j = 1, .. . , n and z;;,:t kH = 1 since k :s 2n . Now suppose that s for z 2 +k is odd
n+ n n
and i l + 1 < i 2n+kH
• Then z2 kH differs from z2 +k only at the i l + 1-st element, I.e. s for z 2 +kH
n n-
is even and z 2~l + l
= 1. Also , z 2 - kH has even s and z?n- k+l = 0. Then Z2 k has odd s and
~ l+ l

Zf; lk = 1, because if Zf; lk = 1 then Zf; lk+l = 0 in the next iteration which is a contradiction.
Thus the inductive proof is complete.
(v) Let z = (Zl,' " ,zn ) be a zero one vector with Zi = 1 if variable X i is in the basis, z, = 0 otherwise.
As we start pivoting at the basic solution x = 0 we have initially z = O. From part (iii) it follows
that the iterative application of pivoting rules (cI) and (r I) produce the same sequence of zero-one
vectors as the iterative scheme of part (iv). Hence the simplex algorithm with choice rules (cI)
and (rI) iterates exactly 2n - 1 times before it comes to a stop.
(vi) The "revers e" rule (c2) for maximization, which is all that we need, goes as follows

(a) Choose the last j for which Cj > 0, Le. the largest column index that has a positive reduced
cost.
Since initially all of X l, . . . , X n are nonbasic and have reduced cost Cj = bn - j for 1 :s j :s n it follows
that we pivot variable X n into the basic set. But then by the proof of part (a) of (iii) we have the
optimal solution. We leave it to you to figure out what happens when normalized (or steepest
edge) pivot criteria are used.

Exercise 5.10
Apply the simplex algorithm with block pivots to the linear program ofExercise 5.9 where a block
pivot consists ofpivoting into the basis the largest possible subset of columns that do not price out
correctly at the current iteration. Show that after at most n iterations the algorithm comes to a halt
if it is started at x = O.
(Hint: Show that all columns that do not price out correctly are exchanged at every iteration, that
after the first iteration variable X n remains in the basis and that - in the notation ofExercise 5.9 -
i s - l = n - 2 in the second iteration. Moreover; show that in the remaining iterations the variables
Xi s_l +1, . . . ,Xn - l remain nonbasic and that i s - l decreases monotonically. )

We use the same notation as in the solution to Exercise 5.9, see in particular the solution to
part (iii) for the indexing conventions, and assume n ~ 3, the other cases being trivial. From
Exercise 5.9 we know that every basic index set to the problem in standard form is of the form
I = S u {n + i : i E N - S} where S ~ N = {I , . . . , n} is arbitrary. Consequently, we can block-pivot
all nonbasic columns that do not price out correctly into the basis. Thus in block pivot I we pivot
all variables X l , . . . , X n into the basis and all slacks leave the basis if we start at x = O. Thus i k = k
84 5. SIMPLEX ALGORITHMS

for 1 ~ k ~ n after the first block pivot and from Exercise 5.9(ii) we get the objective function in
reduced form to be
n n n
2: bn-jxj = 2:(1- at-kbn-k ck-1 - 2:(1- at-kbn-ksk .
j=l k=l k=l

Now the reduced cost cn+k = -(1 - a)n-kbn-k for 1 ~ k ~ n and thus variable s.; = X2n prices out
correctly since C2n = -1, while Sn-1 = X2n-1 has a reduced cost OfC2n-1 = -(l-a)b > 0 and does not
price out correctly. Moreover, variable Sn-2 = X2n-2 has a reduced cost ofc2n-2 = -(1 - a)2b2 < 0,
which means that it is not pivoted into the basis by the next block pivot. Consequently, the
second block pivot produces a basis with is = n, i s- 1 = n - 2 and variable X n-1 is nonbasic. We
claim that i s- 1 = n - p and is = n after p block pivots. As we have just shown this is true for p = 1
and p = 2. So suppose this to be true for some p 2: 2. Then the objective function in reduced form
is given by
n s- 2
2:bn-jxj = const - 2:(1- ay-kbn-iksik + (a - l)b Ps n_p - Sn
j=l k=l
n-p-1

2:
Consequently, in the next block pivot Xn remains in the basis, the variables Xn- p+1, . .. ,Xn- 1
remain nonbasic, X n - p-1 enters the basis and x n - p leaves the basis. Consequently, after p + 1
pivots we have i s- 1 = n - p - 1 and is = ti. The claim follows and thus at most n block pivots are
used in an iterative application.

*Exercise 5.11
Consider the normed pivot column selection criterion (c5) using the column norms nj given by
n; = 1 + IIYj 11 2 for j E J , where Yj = B- 1aj and J is the index set ofthe nonbasic columns. Let B new
be a new basis obtainedjrom B by pivoting in columnj and row r, see (4.4). Show that

(nk ew)2 = 1 + 8~ + !IYk - 8 k y j l12 k E J - j, (neew)2 = (yj)-2n; ,

where £ is the index of the variable that leaves the basis B, Y'k = u;
B-1ak for all k E J - j and
8k = Y'klY'j. Discuss various ways ofusing these relations to "update" the new normsjrom the "old"
norms. (See Chapter 7for a geometric interpretation ofthe normed pivot column selection criterion.)

From formula (4.5) of Chapter 4 we have

-1 -1 1T-1
B new = B - -(YJ' - Ur)U r B
Y'j
5.1. EXERCISES 85

and denoting (B -I)T simply by B- T we calculate for k E J - j

(nk ew)2 = 1 + (YkewfYk ew


1 1
= 1 + af(B- T - _B- Tv-t», - urf)(B- I - -(YJ' - ur)u;B-I)ak
Yj Yj
= 1 + (yf - 8 k(Yj - ur)T)(Yk - 8 k(Yj - u r))
= 1 + IIYk - 8 kYjll2 + 2Yk8k - 2yj8~ + 8~

as claimed. For the leaving variable f. we get likewise

(ne ew)2 = 1 + (Yeew)TYe ew = (yj)-2(1 + IIYjI12)


and thus the assertion follows. To get a recursion formula for nk ew when k #- f. we calculate the
norm on the right-hand side of the formula and get

(nk ew)2 = n~ + 8~n; - 28 kyf u, for k E J - j .

We can thus update the norms from the old ones at the expense of calculating the inner products
yfYj for all k E J - j. To see how this calculation can be sped up write yf u, = afB- T u, = afw
where w = B - T Yj' Le., w is a solution to the system of equations yJ
= w T B . Besides the inner
products yf Y j we need the coefficients Yk = u;
T
B- ak which necessitates taking the inner product
of the pivot row of the basis with the nonbasic column ak. All other quantities are needed for the
simplex algorithm as well. Thus with the additional work just described the norms can be updated
while carrying out the pricing step of the simplex algorithm. From a numerical point of view it
is desirable to ensure that the norms remain positive during the iterative calculations. From
the first formula for n kew it follows that (nkew)2 ;::: 1 + 8~ ;::: 1 and thus one can use the following
updating formulas for the norms (nnew)2 r)-2 -- max{l + 8 2k' n 2k + 8 2n·
e -- (yj n2j' (nnew)2
k k J - 28kaTk w}
for k E J - j.

*Exercise 5.12 Consider the linear program in ns ;::: 1 variables ~j


max{c~ : AI~::; bl , A2~;::: b2, A3~ = b3, i::; ~::; u}
where -00 ::; f.j ::; Uj ::; 00 for j E NS = {I, . . . ,ns} and AI, A 2, A 3 are ml x ns , m2 x ns and m3 x ns
matrices ofreals, respectively. Letm = ml +m2+m3, n = ns+m and denote by ns+l, . . . , ns + m the
indices of the slack, surplus and artificial variables corresponding to the inequalities/equations.
We define cns+j = f.ns+j = 0, uns+j = +00 if ns + j corresponds to a slack or surplus variable and
cns+j = f.ns+j = uns+j = 0 if ns + j indexes an artificial variable. We thus consider the bounded
variable linear program in standard form

(BVLP) max{cx: Ax = b, i::; x::; u} ,

where x E jRn is the vector ofn real variables, Xj = ~j for 1 ::; j ::; ns are the structural variables and
A = (al ,' " ,aj , . . . ,an) is a matrix of size m x n satisfying r(A) = m by construction. We denote by
86 5. SIMPLEX ALGORITHMS

1. F = {j ENS: £j = -00, Uj = +oo} the free variables,

2 . D = {j EN: - 00 < £j < +00, Uj = +oo} the lower bounded variables,

3. H = {j ENS : £j = -00, -00 < Uj < +oo} the upper bounded variables,
4. C = {j EN : -00 < £j :::; Uj < + oo} the bounded variables,
where N = {I, . .. ,n} .. Note that the index set oj the slack and the surplus variables is in this
notation precisely D - N S , that C - N S is the index set oj the artificial variables, and that F , D, H,
C is a partitioning oj N into jour sets some oj which may be empty.
Let B be any basis oj A with index set I ~ N, III = m and let J = N - I. We partition J into G,
L andU where

5. G = F n J is the set ojnonbasicjree variables,

6. L = (D U C) n J is the set oj nonbasic lower-bounded and bounded variables at their lower


bounds and

7. U = (H U C) nJ is the set oj nonbasic upper-bounded and bounded variables at their upper


bounds.

Correspondingly, we partition the vector x E lR.n into Xs, XG, XL and Xu . For any basis B cum
partitioning (G , L , U) we define a basic solution to (BVLP) , as jollows:

where RL = (aj)jEL ' R u = (a j) jEu, fL = (£j)jEL' Uu = (Uj)jEU and 0G is a vector with IGI zeros. We
define R G, f B, and UB, likewise. The objective junction value oj a basic solution to (BVLP) is given
by

ZB (G, L, U) = cBB- 1(b - RLf L - R uuu)+ cLlL + c rrur)


= cBB-1b+ (CL - cBB-1RL)lL + (cu - cBB- 1R u)uu .

A basic solution to (BVLP) is a basic feasible solution if lB :::; XB :::; UB . For short, we denote any
basic (feasible) solution to (BVLP) by (I, G, L , U) and call B (cum (G, L , U)) a (feasible) basis.

(i) Justify the use oj the term "basic jeasible solution" for the notion defined above.

(ii) Prove or disprove: if(I, G, L , U) satisfies

then the basic solution defined by (I, G, L, U) is an optimal solution to (BVLP) ifit is feasible.

(iii) Suppose that (I ,G,L,U) defines a nonoptimal basicjeasible solution to (BVLP). Discuss the
possible ways ojchanging the basis cum partitioning by pivoting in a single nonbasic column
and characterize the detection oj an unbounded optimum solution to (BVLP).

(iv) Derive updating jormulas jor b = B -1(b - RLlL - R uuu), cBB- 1, c = C - cBB - 1A and
zB (G, L, U ).
5.1. EXERCISES 87

(v) State the simplex algorithmjor (BVLP) and prove its correctness.

(vi) Give a procedure that lets you find an initialfeasible basis jor (BVLP) or conclude that none
exists.

(i) To justify the use of the term "basic feasible solution" one brings (BVLP) into the usual standard
form. To do so we substitute X j = xj - xj for j E F and require that xj 2 and 2 for j E F. ° < °
°
Moreover, we introduce new variables xj = Xj - £j 2 for all JED U C and xj = Uj - X j 2 for °
all j E H. Introducing slack variables the inequalities corresponding to the finite upper bounds
are then converted into equations. Assuming WROG that the matrix A of (BVLP) has full rank, it
follows by a counting argument that to every basis B of the augmented matrix there corresponds
a basis B of A with two types of nonbasic variables: those at their lower bounds and those at
their upper bounds with all free variables either basic or nonbasic at value zero. In other words,
arguments similar to those used in in the upper bounds section above establish the claim. We
leave the messy details of this exercise for the reader to carry out on a rainy Sunday afternoon.
(ii) Every feasible x E IRn satisfies XB = B -1(b - Rexe - RLxL - Ruxu) and XL 2 .eL, Xu ::; u u.
Using the assumptions we calculate and estimate

cx = CBXB + cexe + CLXL + CUxu


= cBB -1b + (ce - cBB- 1R e)xe + (CL - cBB- 1RdxL + (cu - cBB - 1Ru)xu
::; cBB -1b + 0exe + (CL - cBB- 1RL).eL + (c u - cBB- 1R u )uu ::; ZB (G, L, U) ,

for all feasible X E IR n . Consequently, if .e B ::; XB ::; UB then the basic feasible solution defined by
(1, G, L, U) is optimal for (BVLP).
(iii) Suppose that (I ,G,L,U) defines a basic feasible solution that satisfies the optimality criterion
proven in (ii) then we are done and a pivot is not required. So suppose the contrary. There are
thus three cases to be distinguished:
(a) r, =1= °for some j E G, (b) Cj > °for some j E L, or (c) Cj < °for some j E U,

where c = C - cBB- 1A are the reduced objective function coefficients. In all cases let Yj = tr : « ,
be the corresponding transformed column for j E J .
°
(a) If Cj > for some j E G we calculate
(al)
Tj. - £kC) . Tj. - UkC) .
O=min{uj-£j ,min{ ~ y} ~ : yj > O, k(i) EIn(DUC)} ,min{ ~ y} ~ :yj <O,k(i)EIn(HUC)}},

where k(i) is the index of the variable that is basic in column i of B , t.e. , the variable £ E I with
position number Pi = i. Note, that basic free variables are ignored and that the minimum ratio
is determined such that 0 is the largest nonnegative change for Xj that is possible so as to make
°
sure that zj, ::; b - OYj ::; UB . Ifcj < for some j E G we calculate likewise
(a2)
Tji - £k(i) . hi - Uk (i) .
O=max{£j- Uj ,m ax{ y} :yj <O,k(i)Eln(DUC)},max{ y} : yj > O, k(i) E l n (H UC )}} ,
88 5. SIMPLEX ALGORITHMS

i.e., () is the largest nonpositive change for Xj so as to make sure that zj, ::; b - ()Yj ::; UB; Both
possibilities (al) and (a2) must be considered because Xj is a free variable. Since Uj = +00 and
f j = -00 we have () = +00 if () = Uj - f j in the first case and likewise, () = -00 in the second case.
Suppose first that () is a finite number. If () = (fir - fk(r))/yj for some k(r) E In (D U C) then in
either case (al) or (a2), variable Xj enters the basis and leaves the set G, Le., the new set G' is
G - j, whereas the variable Xk(r) leaves the basis and enters into the set L, i.e., the new set £'
is L U {k(r)}. If () = (fir - Uk(r))/yj for some k(r) E In (H U C) then in either case (al) or (a2),
variable Xj leaves the set G and enters the basis, whereas the variable X k(r) leaves the basis and
enters the set U, i.e., we have G' = G - j and U' = U U {k(r)}. Suppose now that () = ±oo. Then
.eB ::; b-()Yj ::; UB for all () ~ a in case (al) and all () ::; a in case (a2). Consequently, defining Y E ~n
by Yk(i) = -Y} for i E I, Yj = +1, Y k = a otherwise, it follows that x* + ()Y is feasible for (BVLP) for
all () where x* is the current basic feasible solution. But

c(x* + ()y) = ZB(G, L, U) + Cj() -+ +00


for () -+ +00 in case (al) and for () -+ -00 in case (a2), Le ., (BVLP) has an unbounded optimum.
Note that the above minimum ratio calculations (al) and (a2) are restricted to all nonfree basic
variables and that () = ±oo can arise only if both of the two "inner" maxima or minima in the
calculation of () are undefined.
(b) If Cj > a for some j E L we calculate () ~ a by formula (al) where Uj = +00 if j (j. C. Thus
if () = Uj - f j then no variable leaves the basis, variable Xj leaves L and enters U, i.e ., £' = L - j
and U' = U U {j}, while I and G remain unchanged. If in this case j (j. C, then by the same
argument as in case (a) it follows that (BVLP) has an unbounded optimum. If () = (fir - fk(r)) /Yj
for some k(r) E In (D U C) then I' = 1- k(r) U {j}, £' = L - j U {k(r )} and G and U remain
unchanged. If () = (fir - Uk( r)) /yj for some k(r) E In (H UC) , then I' = 1- k(r) U {j}, £' = L - j,
G' = e and U' = U U {k( r)} are the resulting new basic set and partition of the nonbasic variables,
respectively.
(c) If Cj < a for some j E U we calculate () ::; a by formula (a2) where f j = -00 if j (j. C. If
() = f j - Uj then like in case (b) a variable switches bounds and the basis remains unchanged. If
this happens when j (j. C, then we argue like in case (a) that (BVLP) has an unbounded optimum.
If () = (fir - fk( r)) /yj for some k(r) E In (D U C), then I' = 1- k(r) U {j} , e' = O, L' = t. U {k( r)},
U' = U - j, whereas if () = (b r - Uk(r)) /yj for some k(r) E In (H U C) then I' = 1- k(r) U {j},
G' = G, £' = L , U' = U - j U {k( r)} are the resulting new basic set and partitioning of the nonbasic
variables, respectively.
We summarize the basis change as follows. Whenever a leaving variable k(r) E I is undefined,
the basis does not change. In case (a) where j E G this means that unboundedness of (BVLP) is
detected, in cases (b) and (c) this means that the nonbasic variable j switches its bound unless
j (j. C in which case we again have unboundedness of (BVLP) . In the case when the minimum
ratio test defines a leaving variable k(r) E I the index set of the basic variables changes in all
cases to I' = 1- k(r) U {j}. In Table 5.1 we have summarized the changes in the partitioning of
the nonbasic variables. Sets in the partitioning that do not change are not shown and f = k(r) E I
denotes the variable that leaves the basis. "f E In(DUC) I" means the leaving variable edecreases
to its lower bound, etc.
(iv) We assume first that the basis B is changed. We denote the entering variable by j and
the variable that leaves the basis by f . Variable f corresponds to column r of B. All changed
quantities get a subscript or superscript new. Thus B n ew = B + (aj - ae)u; is the new basis
5.1. EXERCISES 89

Table 5.1. Changing bases (I , G, L , U) in (BVLP)

f E In (D U C) -i f E In (HU C) t
j EG G - i . LU{ f} G - i. UU { f}
jEL L - j U {f} L- j , UU{ f}
j EU LU if} , U - j U - j U {f}

where u ; E jRn is the r-th unit vector and likewise CB n ew = CB + ( Cj - ce)u; . We use the formula
1
- 1
B new = B -1 - -(YJ' - Ur)UTr B -1
Yj

repeatedly where Yj = tr-«, and Yj = u;Yj ' We claim that f.j is updated as follows

0 if j E G,
-new - . ~ew

bi = b, - Oyj for 1 :S i =I- r :S m , br = 0 + f j if j E L,


{
0+ Uj if j E U.

To prove it we must calculate f.jn ew according to the six possible cases that we have discussed in
part (iii) of this exercise. We denote b" = b - RLf..L - R uuu and thus f.j = B- 1b*. Suppose j E G
and f E In (D U C). Using 0 defined in (a1) of part (iii) we calculate
b ew = - 1 (b - R newf..new
B new L L - R UUU ) = B-
1
new (b* - f eae )
- br ft -
= b- r(Yj -Ur) - ftUr + r(Y j -Ur) = b- O(Yj -Ur) - ftUr,
Yj Yj
and thus the formula is correct. If j E G and f E In (H U C) we have

b ew = B- 1 new new ) B - 1 (b*


-::-n new(b - R L.f..L
0
- R U Uu = new - Utae)
- br Ue-
= b - r(Y j - u r) - UtUr + r(Y j -
u r) = b - ()(Yj - Ur) - UeUr ,
Yj Yj
and thus the formula is correct. For the remaining four cases we indicate the necessary calcula-
tions and leave the details to the reader. If j ELand f E In (D U C) we have
ew
b = B ;;1w(b - R2ewf..2 ew - Ruuu) = B;;1w(b* - feat + fj aj ) ,
and if j ELand f E In (H U C) we calculate
b ew = B-new
1 (b -
L L _ RU
R newf..new newunew)
U
1 (b* - U a + f ·a ·)
= B-new e e J J .
If j E U and f E I n (D U C) we have
b ew
-::-n = B-1
new (b - erL -er-
s-t. -
new new ) B- 1 (b*
RU Uu = new - ~eae
0
+ Ujaj )
,
90 5. SIMPLEX ALGORITHMS

and if j ELand £ E I n (H u C) we find


~b ew 1 (b
= B-new - u.e
L L - R nUew U nuew ) = B n- ew
1 (b*
- U Ral + Ujaj ) .
Substituting the expression for B:;;';w and carrying out the necessary algebra you find that the
updating formula for r;new simplifies as claimed above.
It remains to derive the updating formula for b when in case (b) or (c) of part (iii) a nonbasic
variable switches its bound. So suppose j ELand () = U j - £j as in case (b). Then

-bn ew = B new
- 1 (b - e r-er
L L : - R nUew U nu ew) 1 (b*
= B-n ew + {;jaj 0
- U jaj )
= -b - ()Y j

and this formula remains correct if j E U and () = £j - U j as in case (c).


The updating formula for v = c B B - 1 is computed by

C£ ) U T)B n- ew = CB B - \ TB - 1 = \ TB - 1 ,
1 1
v n ew = CB n e w - 1
B new = ( CB + ( Cj - r + AU r V + AU r

where>. = Cj /Yj and Cj = Cj - cBB- 1aj is the reduced cost of the entering variable. Consequently,
denoting by y r = u;
B- 1 A the transformed pivot row we get the following updating formulas for
the reduced objective function coefficients
7new
C = C- CB n e w B new
-1 A = C - V n ew
A = -C - \
Ay
r ,

which give two different ways of updating c. Finally, the objective function value is updated by

zB n e w (Gn ew " L n ew un ew ) = zB (G" L U) + CJ·() '


where Cj is the reduced cost of the entering (or switched) variable and () is determined as in part
(iii) of this exercise. The details of the derivation of this formula follow the same format that we
have employed so far, Le., you have to distinguish the eight cases involved in changing a basis
or switching the bounds of a variable in (BVLP) .
(v) The simplex algorithm for (BVLP) can now be stated as follows
BVSimplex Algorithm (m , n, .e, u, A , b, C )

Step 0: Find a feasible basis B cum partitioning (G, L , U) of the nonbasic variables. Let I be the
index set of B and initialize Pk for all k E I .
if none exists then stop "BVLP has no feasible solution".
Compute B- 1 , b := B - 1(b - RL.e L - R uu u) and initialize CB .
Step 1: Compute c:= C - cBB- 1 A.
ifcc = 0c, CL :::; 0L and Cu 2': 0 u then
set XB := b; X c := 0, XL = .eL , X u = U u ,
stop "X B, Xc, XL. X u is an optimal basic feasible solution".
else
(1) choose j E {k E G : Ck =I- O} U {k E L : Ck > O} U {k E U : Ck < O},
endif.
Step 2: Compute Y j := B - 1 a j '
if s, > 0 then compute the least ratio
() = min{uj - £j, min{bi-y£ikCi) : Y} > 0, k(i) E In (D U cn,
J
5.1. EXERCISES 91

min { bi -~k(i) : Y} < 0 , k(i ) E I n (H U Cn }


Yj
else compute the least ratio
_ bi- i k(i ) . i .
0- max{ej - Uj, max {
_
yi
J
• Yj < 0 , k(~) E I n (D U cn ,
max{ bi -~k(i) : Y} > 0, k(i ) E I n (H U C)} }
Yj ,
endif.
if 0 = ± oo then stop "BVLP has an unbounded solution".
(2) Let eE l U {j} be any index for which the least ratio 0 is attained.
if e= j then go to Step 4 else set r := Pi endif.
Step 3: Set B := B + (a j - a i)U;, CB := ce + (Cj - ce)u; , I := 1- eU {j}, Pj := r, Pi := 0
and update (G, L, U) according to Table 5.1. .
Recompute B- 1 and b and go to Step 1.
Step 4: if j E L then
set L =: L - j, U = U U {j}
else
set L := L U {j}, U = U - j
endif.
Set b := b - OYj and go to Step 1.

The correctness of the BVSimplex Algorithm follows from the discussion preceding it. The
sequence of objective function values increases monotonically since Zn ew = Zo ld + cjO and cjO 2: o.
Thus if no basis B is repeated then the algorithm terminates in a finite number of steps no
matter what choice rules are used in the pivot column selection (1) and the selection (2) of the
leaving variable. In the case of degenerate pivots, i.e., when 0 = 0, cycling can occur and thus to
assure finite termination, anti-cycling strategies - such as a least-index rule - must be utilized.
The algorithm can be sped up (in general) substantially by use of the normed pivot column
selection criteria discussed in Exercise 5.11. The efficient organization of the calculations in the
BVSimplex Algorithm is left to the reader.
(vi) The easiest way to start the BVSimplex Algorithm is a two-phase procedure using (additional)
artificial variables sparingly. Consider the original problem in the variables and introduce e
slack and/or surplus variables as required. We start by setting all free variables equal to zero,
i.e., we put G = F. If lejl :::; IUjl we put the variable (including slack and surplus variables) at its
lower bound, i.e., it enters into the set L. If lejl > IUjl we put the variable at its upper bound,
i.e., it enters the set U. (Note that this selection criterion for membership in L and U is quite
arbitrary. We may as well set a variable with a finite upper (lower) bound to its upper bound if
Cj > 0 and to its lower bound if Cj :::; 0, etc.) We thus have now an initial partition (G, L, U) of all
variables that we need and by construction all slack and surplus variables have the value zero.
We compute b * = b - L j EL ej aj - L j EU u jaj and proceed as follows. If the right-hand side bi of
a less-than-or-equal-to constraint is nonnegative, then the corresponding slack variable leaves
the set L and is put into the initial basis; otherwise, bi < 0 and we append row i by - x~+i where
x~+i 2: 0 is a new artificial variable that we put into the basis. Likewise, if the right-hand side bi
of a greater-than-or-equal-to constraint is nonpositive then the corresponding surplus variable
°
leaves the set L and is put into the basis; otherwise bi > and we append row i by +X~+i where
x~+i 2: 0 is an artificial variable which is put into the basis. Iffor an equation i the right-hand-side
bi 2: 0 we append row i by +x~+i and put the artificial variable x~+i 2: 0 into the basis; otherwise
92 5. SIMPLEX ALGORITHMS

bi < 0 and we append row i by -X~+i and put the artificial variable x~+i 2: 0 into the basis.
Now we have a feasible basis cum partition (G, L,U) for the (possibly) enlarged problem and we
can start the BVSimplex Algorithm. In Phase I we maximize the objective function - I: X~+i'
where the summation is over all artificial variables that we have introduced. If at termination
we have an objective function value of zero for the Phase I problem we have a feasible basis B
cum partitioning (G, L, U) for (BVLP), we change to the original objective function and solve in
Phase II the original problem to optimality. If at termination of Phase I the objective function
value is negative, then we can stop; the problem (BVLP) does not have any feasible solution. There
are other ways to start the algorithm which rely on "gu essing" a good basis. It is clear that if
you guess "right", i.e., a basis B cum partitioning (G, L, U) that satisfies the optimality criterion,
then there is no need to iterate and the algorithm terminates right away. However, guessing
is a speculative business and may lead to unexpectedly bad results. For further methods to
initialize the BVSimplex Algorithm see e.g. R.E . Bixby "Implem en ting the Simplex Method: The
Initial Basis", ORSA Journal on Computing, 4, 267-284, 1992.
6. Primal-Dual Pairs

Every linear programming problem or primal linear program has an associated dual linear pro-
gram like follows. where any of the mi x nj submatrices A i j for 1 :S i, j :S 3 may be empty:
PRIMAL DUAL

min + C2Y + C3Z


CiX max Ubi + vb 2 + wb3
s.t. Anx + A 12y + A 13Z = bi s.t u free
A 2i X + A 22y + A 23Z 2 b2 v
A 3i X + A 32y + A 33Z :S b3 w
X 20 uA n + vA 21 + WA 3i :S Ci
Y :S O UA 12 + VA 22 + WA 32 2 C2
zfree UA 13 + VA 23 + WA 33 = C3

The primal-dual mechanism for a primal minimization problem is summarized as follows:


• The dual is a maximization problem.
• Equations of the primal give rise to "free" variables in the dual.
• Inequalities of the 2 type correspond to nonnegative dual variables.
• Inequalities of the :S type correspond to nonpositive dual variables.
• Nonnegative primal variables give rise to inequalities of the type :S in the dual problem, non-
positive primal variables to inequalities of the type 2 and free primal variables to equations
in the dual.
The dual linear program (dLP) to the primal linear program (pLP) in canonical form is
(pLP) max{cx : Ax :S b, x 2 0} (dLP) min{ub : uA 2 c , u 2 O} .
The dual linear program (dLP) to the primal linear program (PLP) in standard form is
(pLP) min{cx : Ax = b, x 2 O} (dLP) max{ub : uA :S c , u free} .

Weak Duality and Complementary Slackness:


Remark 6.1 (i) For every primal solution (x Y z) and every dual solution (u v w) we have
(6.1)

If (x Y z) is a primal solution and (u v w) a dual solution such that we have equality in (6.1),
(ii)
then (x Y z) and (u v w) is an optimal solution to PRIMAL and DUAL, respectively.
Remark 6.2 If the objective junction value ojthe linear program DUAL is not boundedfrom above,
then the linear program PRIMAL has nojeasible solution. On the other hand, ijthe objectivejunction
value ojthe linear program PRIMAL is not boundedjrom below; then DUAL has nojeasible solution.

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
94 6 . PRIMAL-DUAL PAIRS

Denote by a L the i t h row of the matrix A kj• where 1 ::; i ::; mk and 1 ::; k, j ::; 3. by a j the jth
column of

where 1 ::; j ::; nl + n2. by b} the components of bj and by c{ the components of Ci '

Remark 6.3 Let (x y z) and (u v w) be primal and dual solutions such that inequality (6.1) holds
with equality. Then we have thefolloWing imp lications:

(i) Vi> ° implies a ;lx + a ; 2Y + a ; 3z = b~ , for 1::; i ::; m2.

(ii) a ; l x + a ; 2Y + a ; 3z > b~ implies Vi = 0, for 1 ::; i ::; m2'

(iii) Wi < ° imp lies a~lx + a~2Y + a~3z = b~ , for 1 ::; i ::; m3 .

(iv) a~l x + a~2Y + a~2z < b~ implies Wi = 0, for 1::; i ::; m3 .

(v) Xj > °implies c{ = (u v w ) a j , for 1 ::; j ::; nl.

(vi) c{ > (u v w) aj implies x, =O,forl ::; j ::;nl '

(vii) Yj < ° implies ~ = (u v w ) a j, for n l + 1 ::; j ::; n2.

(viii) ~ < (u v w) a j implies Yj = 0, for nl + 1 ::; j ::; n2.

Strong Duality: WROG we will state the s trong duality theorem for linear programs in canonical
form .
Notational conventions. Denote the set of primal (dual) solutions by

X :'O = {x E IRn : A x ::; b, x ;:::: O} , U = {u E IRm : uA ;:::: c , u ;:::: O}.

Let ZPRIM = max {cx: x


E X :'O} . and ZDUAL = min {ub : u E U }. If X :'O = 0. define ZPRIM = - 00 and
ZPRIM if the primal objective function ex is unbounded over X:'O. Likewise. ZDUAL = + 00 if
= + 00
U = 0 and ZDU AL = - 00 if the dual objective fu nction ub is unbounded over th e set U.
By weak duality and using the above conven ti ons we thus h ave always ZP R I M ::; ZDUAL.

Theorem 3 The primal linear program (pLP) has a jinite optimal solution if and only if the dual
linear program (dLP) has ajinite optimal solution. Moreover; in either case ZPRIM = ZDUAL and the
simplex algorithm stops with an optimal solution x to (pLP) and an optimal solution u to (dLP).

Remark 6.4 (Complementary sla ckness) if x E X:'O and u E U are optimal solutions to (pLP) and
(dLP), resp ectively, then

u (Ax - b) = ° and (u A - c) x = °. (6.2)


6. PRIMAL-DUAL PAIRS 95

Remark 6.5 The linear programs (pLP) and (dLP) have bothjinite optimal solutions if and only if
there exist a column vector x E IR n and a row vector u E IRm such that

Ax ::; b, uA 2: e, ex - ub 2: 0, x 2: 0, u 2: o. (6.3)

Moreover, every pair oj vectors x E IR n and u E IRm satisfying (6.3) is a pair oj optimal solutions to
(pLP) and (dLP), respectively.

Solvability. Redundancy. Separability: Call m linear inequalities in n unknowns solvable if


Ax ::; b , x 2: 0 (6.4)

has a feasible solution, i.e., if X : : : 1= 0, and nonsolvable otherwise. An inequality da: ::; do where
d E IR n is redundant relative to (6.4) if X : : : n {x E IR n : da: ::; do} = X ::::: . Suppose that there exists
u E IRm such that

u 2: 0 , d ::; uA , ub ::; do . (6.5)

It follows that if there exists u E IRm satisfying (6.5), then da: ::; do is redundant relative to (6.4).
If the reverse statement is true as well, then applying it to X ::::: and (d = 0, do = -1) asserts the
existence of u E IRm with
u 2: 0 , 0 ::; uA and ub ::; -1 , (6.6)

i.e. (6.6) is solvable if X ::::: = 0. It thus seems plausible that the question of the solvability of (6.4)
can be reduced to the question of the nonsolvability of the associated (or alternative) inequality
system (6.6) and vice versa. This is indeed the case. Denote U O = {u E IRm : u 2: 0 , uA 2: 0 ,
ub < O} .
Lemma 2 (Farkas' Lemma) X ::::: 1= 0 ifand only ifUo = 0.
Let d E IR n be arbitrary, f3 be any scalar and define
Xl = {x E x : : : : da: > f3 }, U = {u E IRm : u 2: 0 , uA 2: d} , u; = {u E U : ub ::; f3 } .
Then Xl ~ x : : : and U; ~ U and the following is an inhomogeneous form of Farkas' lemma.

Theorem 4 Xl 1= 0 ifand only if U = u O


; = 0.
Corollary 1 An inequality da: ::; do is redundant relative to (6.4) if and only if (6.4) is nonsolvable
or there exists a row vector u E IRm satisfying (6.5).
Based on the corollary one can devise criteria for the removal of constraints from linear program-
ming problems without changing the solution set.
The following strict separation theoremJor convex polyhedral sets is another consequence of linear
programming duality and related to the "separation" problem in combinatorial optimization. Let
n
y ::: = {x E IR : D» ::; 9 , x 2: O} ,

where D is a p x n matrix and 9 E IRP • The question is : when does there exist a linear inequality
fx ::; f a that separates X ::::: and y : : : strictly, i.e. such that fx < fa for all x E X ::::: and fx >
fa for all x E y : : : .
96 6. PRIMAL-DUAL PAIRS

Theorem 5 Let X :::: and y :::: be defined as above and assume X :::: i:- 0 i:- y :::: . .Then either X :::: ny:::: i:- 0
or there exist a row vector f E lRn and a scalar fo such that

X :::: ~ {x E lR n : fx < fo} and y :::: ~ {x E lR n : fx > fo} .


Dual Simplex Algorithm: Consider the primal linear program in standard form and its dual

(pLP) min{cx: Ax = b, x ;:::: O} (dLP) max{ub: uA :S; c, u free} .

A basis B of A is called a dual basis for (PLP) if the reduced cost vector c = c - cBB- 1 A ;:::: O.
Remark 6.6 For any dual basis B for (PLP) the vector u = cBB- 1 is a (basic) feasible solution to
(dLP).lfadual basis B is also afeasible basisfor(pLP) thenxB = B- 1b, X R = 0 andu = cBB- 1 are
optimal solutions to (PLP) and (dLP), respectively. Theorem 3 applies to the primal-dual pair (PLP)
and (dLP).

The dual simplex algorithm works directly on the primal linear program (PLP) for input data m,
n, A, b and c. Remember that U r denotes the r t h unit vector.
Dual Simplex Algorithm (m, n, A. b. c )

Step 0: Find a dual basis B. its index set I and initialize Pk for all k E I .
if none exists then
stop "(PLP) is either infeasible or unbounded".
else
compute B- 1 and c := c - c B B - 1 A.
endif.
Step 1: Compute b := B- 1b.
ifb 2: 0 then
set X B := B - 1b ; X R := O. stop "XB is an optimal solution to (pLP)".
else
(6.7) choose t e ! such that bpi < 0 and set r := Pl .
endif.
Step 2: Compute u' := u; B- 1 R and set J := N - I.
if y r ;:::: 0 then
stop " (PLP) has no feasible solution".
else
compute the least ratio 'Y := min {I:~I :Yk < 0, k E J }.
c-
(6.8) choose j E J such that IY;I = 'Y and Yj < O.
endif.
Step 3: Set B := B + (aj - a l)u; . CB := CB + (Cj - Cl)U; . I := I - {e} U {j} and Pj := r.
Step 4: Compute B - 1 • C := C - c B B - 1 A and go to Step 1.
Reading Instructions: Like in the (primal) simplex algorithm of Chapter 5. one does not calculate
B- 1 in actual computation. The dual simplex algorithm requires:

(D) Knowledge of c. which is calculated like in Chapter 5.


6. PRIMAL-DUAL PAIRS 97

(E) Knowledge of Ii, which is calculated like in Chapter 5.

(F) Knowledge of y r of R , which is calculated in two steps: First, one solves vB = u ; and then
one computes Yk = vak for k E J.

Remark 6.7 (Correctness) (i) if no dual basis exists, then (PLP) either has no jeasible solution
or an unbounded solution. (ii) if u' ~ 0 in Step 2 , then (PLP) has no jeasible solution. (iii) The
new basis B' , say, defined in Step 3 is a dual basis jor (PLP) with an objective junction value
ZB' = ZB - "fbr ~ ZB umere -v is the least ratio ojStep 2.

The pivot column and pivot row selection rules of Chapter 5 are adapted to the dual simplex
algorithm with the necessary changes. Finiteness of the dual algorithm follows if "least index
rules" are used as the choice rules for (6.8) and (6.7):
(c2*) Choose the smallest j E J with I~;I = "f and Yj < O. (r2*) Choose the smallest £ E I s . t.
bpt < O.
Remark 6.8 (Finiteness) Suppose that a dual basis exists. if the choice rules (c2*) and (r2*)
are used jor pivot column (6.8) and pivot row (6.7) selection, respectively, then the dual simplex
algorithm repeats no basis and stops after afinite number oj iterations.
If the problem to be solved is originally in standard form with c ::; 0, then the matrix B = 1 m
corresponding to the slack variables is a dual basis and we can get started. Otherwise, we add
n
L Xj +xn +! = M (6.9)
j= l

where X n +! ~ 0 is a "new" variable with en+! = 0 in the objective function vector and M = 1030
a "big" number. If X n + l = 0 in an optimal solution to the enlarged problem, then the dual is
unbounded and a dual basis to (PLP) does not exist. The details are in the text.
Post-Optimality: Several ways of computing the effect of changing the data of the linear program
are explored. In the case of a parametric right-hand side, we are interested in the solutions x(B)
to

(LPn) z(B) = min{cx: Ax = b+ Bg , x ~ o} .

for all B or for B in some interval, where g E JRm is a vector of changes in b. If x(Ba ) and x(Bb ) are
the respective optimal basic solutions for two distinct values Oa < Ob, then for all 0 ::; J-t ::; 1

is feasible for (LPn) where OIL = J-t0a + (1 - J-t)Bb . Thus (LPnl,) has a feasible solution and the
dual linear program max{u(b + Og) : uA ::; c} has e feasibie solution no matter what 0, since by
assumption e.g. (LPnJ has a finite optimal solution. Thus (LPn) is bounded from below. Hence,
z(OIL) exists and is finite. From the feasibility of x IL
98 6. PRIMAL-DUAL PAIRS

since we are minimizing. i.e .. z(O) is a convex function of O. Thus if z(O) is defined at all then it
is defined over an interval of the real line (which might be a single point) . Assume that (LPe) has
a finite optimal solution for 0 = O. let B be an optimal basis found by a simplex method for () = a
and consider x (O) :
XB(()) = B-1b + ()B -1g , XR(O) = 0 .
The reduced cost vector given by B is not. but thejeasibility of the solution vector x (() ) is affected
if we vary O. Thus we have to ensure that XB(O ) 2: O. So let 9 = B-1g and b = B - 1b . From the
condition that b + ()g 2: 0 we find that XB(() ) 2: 0 for 0 in the interval

max { - ~: : gi > 0, i = 1, ... ,m}:S 0 :s min { I~:I : gi < 0, i = 1, . .. ,m}.


If either quantity on the left or the right is undefined. then it is replaced by - 00 for the maximum.
by + 00 for the minimum. respectively. We thus have locally. i.e. in the "vicinity" of () = 0,
z(O) = ZB + OcBB-1g , and hence z(O) is locally a linear function of (). If one increases or decreases
() beyond the bounds just stated . one looses pnmalfeasibility of the solution x (O ). but the reduced
cost vector still displays optimality of the basis B. Using an s-argu men t we can thus apply the
dual simplex algorithm to reoptimize the changed linear program as we have a dual basis for (LP e).
The reoptimization produces a new basis that displays optimality and one repeats the process.
As there are only finitely many bases, there are only a finite number of "b reak points", i.e. , z(() )
is a piecewise linear convex function of ().
The problem of parametrizing the obj ective function coefficients is treated in Exercise 6.10 below.
The analysis of changing elements of the matrix A is treated in the text.
The problem of adding one or more "new" variables or one or more "n ew" constraints to a linear
program that we have optimized leads to reoptimization problems using a primal and a dual
s im plex algorithm. respectively, and ca n be carried out efficiently -barring unlikely data configu-
rations. of course.
A Dynamic Simplex Algorithm: The combination of the primal and dual simplex algorithm
constitutes a powerful tool to solve large-scale linear programs of the form
min {cx : Ax = b, H x :::; h , x 2: O} ,
where A is an m x n matrix, H is an f x n matrix and the vectors are dimensioned accordingly.
Let N be the set of variables, n = INI a truly large number. F the set of inequality constraints and
f = IFI a truly large number as well. In the analysis of (LPH ) we make the assumption that all
variables are bounded from above so that if (LPH ) is feasible then it has a finite optimal solution.
For any nonempty subset P ~ N and L ~ F define (LP~) to be the subproblem of (LPH) given
by

(LP~ ) m in{c p xp : A px p = b, H~xp :S h i. , Xp 2: O} .


That is we assume that all original equations are in the problem. but that among the inequalities
we have "a ctiva ted" only a small subset L and that only a small subset P of all variables has been
activated as well. As usually we denote by a j the column j of A . by h~ the i t h row of H~ and by
h f the column j of the matrix H L which comprises all the columns with index in N.
We denote by x p an optimal solution to (LP~) and by x the vector with components x p and
X N - P = O. We denote by u the row vector of the optimal dual variables corresponding to the
6. PRIMAL-DUAL PAIRS 99

equations and by v L the row vector of the optimal dual variables corresponding to the "active"
linear inequalities.
The following dynamic simplex algorithm solves the problem (LPH) by solving a sequence of
problems (LP~). We assume in the algorithm that the original problem data A , H , b, hand care
stored separately from the working arrays A p , H~ , b, h -i. and C p used in the simplex algorithms.

Dynamic Simplex Algorithm (n, m , f , A, H, b, h, c)


Step 0: Select a subset P ~ N with 1 ~ IFI « n and L ~ F with a ~ ILl « f. Set ZW W := - 00 .
Solve (LP~) by the primal simplex algorithm and let x be the optimal solution with obje-
ctive function value z and u , v L be the optimal dual solution found by the algorithm.
go to Step 2.
Step 1: Reoptimize (LP~) by the primal simplex algorithm, update x, z, U, VL.
Step 2: Compute Cj := Cj - uaj - vLh1 for all j E N - P , set Q := {j EN - P : Cj < a}.
if Q = 0 then go to Step 3. Replace P by P U Q ; go to Step 1.
Step 3: if z > ZW W then
set zww := z: find S := {i E L : the slack of constraint i is basic};
replace L by L - S and reset V L, H~, h-i. etc. accordingly.
endif.
Step 4: Find a subset K ~ {i E F - L : h~x p > hi}'
if none exists then
stop " x is an optimal solution to (LPH )" .
else
replace L by L U K ; go to Step 5.
endif.
Step 5: Reoptimize (LP~) by the dual simplex algorithm, update x, z , u, V L ; go to Step 2.
Step 2 of the dynamic simplex algorithm is called the column generation step. Step 4 is the
row generation step of the algorithm. Step 3 is called purging. Here the inequality constraints
for which the associated slack variables are in the optimal basis of (LP~) are "deactivated" or
purged from the actual working arrays if the objective function value z increased strictly with
respect to the objective function value Z L O W when purging was performed last.
Z L O W is the objective function value of the linear program (LPXr) and thus a lower bound on
the "true" minimum, i.e. the objective function value of (LPH ) . If purging is done when z "equals"
Z LOW then the algorithm may cycle between Steps 2 and 5 and such cycling has been observed
by the author in computational practice. When this possibility is ruled out as it is in the dynamic
simplex algorithm, then the finiteness of the algorithm follows from the finiteness of the primal
and dual simplex algorithms and the finiteness of INI and IFI if an exceptional case does not
occur; the general case is discussed in the text.
100 6. PRIMAL-DUAL PAIRS

6.1 Exercises

Exercise 6.1
Show that the dual linear program of the linear program DUAL is the linear program PRIMAL.

First we bring DUALinto the same form as the problem PRIMAL, I.e, in the form

min -UbI -vb2 -wb3


s.t. -UA I3 -VA23 -WA33 -c3
-uA 11 -VA21 -WA 31 > -cl
-UA I2 -VA 22 -WA 32 < -C2
-u free
v > 0
w < 0

We transpose the (in)equalities and substitute the variables -uT = u', -vT = v' and -w T = w'
and get
min bTu'1 +brv' +b fw'
s.t. A f3U' + A T
23
v' +Af3W' -4
A Tu'
11 + 21 +Afl W' > -c[
A T v'
A Tu'
12 +AT 22 v' +Af2W' < -cr
u' free
v' <0
w' ~ 0
Now we write the dual of it where we denote the dual variables by z', x' and y' .

max -z'c§ -x'c[ -y'4


T
S •t • Z'A T
13 +x ' AT11 +y'Af2 b1
z'A T23 +x ' A T21 +y'Ar2 >
- b2
T

z'A T T
33 +x ' A 31 +y'Af2 <
T
- b3
Z' free
x' ~ 0
y' ~ 0

After transposing the (in)equalities, substituting zT = z' , x T = x' and yT = y' and rearranging we
get
6.1 . EXERCISES 101

max -C1X -C2Y -C3Z

s.t. A nx +A 12 y +A 13Z = b1
A 21X +A 22 y +A 23Z ~ bz
A 31X +A 32 y + A 33 Z S b3
X ~ 0
Y S 0
z free
which is exactly the problem PRIMAL, since max( -C1x - C2Y - C3Z) = - min( C1 x + C2Y + C3Z),

Exercise 6.2
Consider the linear programming problem

max {t t
j =1
CjXj :
j=1
ajxj Sao , 0 S Xj S 1, for j = 1, . . . , n }

where Cj > 0, aj > 0 for a ll j and a o > O. Find an optimal solution. (Hint: Note the upper bounds.)

We bring the problem into the form (LPu ) by introducing a slack variable X n +1 ~ 0 and Cn +! = 0,
an+! = I , Uj = 1 for 1 S j S n an d U n+1 = a o. If ~j=1 aj S a o then Xj = 1 for 1 S j S n is optimal
and there is nothing to prove. So suppose that ~j=1 aj > ao. The solution set is nonempty and
bounded. Thus an optimal solution exists. From Chapter 5 we have that the optimal solution is
of the following form. If ak is a basis and Jo , J 1 is a partition of the variable set except Xk such
that X j = 0 for all j E J o and Xj = Uj for all j E J 1 , with Cj S 0 for all j E J o and Cj ~ 0 for all
j E J 1 , then the basis is optimal. (Note that we have changed the direction of the inequalities
for the reduced costs since here we h ave a maximization problem.) Thus for all j E Jo we have
Cj = Cj - ~~ aj S O, i.e . ~ ~ ~ . Similarly, for all j E J 1 we get ~ S ~ . So suppose that we sort the
variables with respect to the ratio ~~ in descending order and find k such that ~7':i aj S a o but
~7=1 aj > ao · Since ~j=1 aj > ao by assumption, we have k S n. Then we claim that the optimal
solution is given by Xj = 1 for all j E J 1 = {I , . . . ,k - I} , Xk = ( ao - ~7':i aj)/ak and Xj = 0 for all
j E Jo = {k + 1, .. . , n + I} . The objective function of this solution is

k -1 k -1
Zp = l:::>j + Ck ( ao - I > j) .
j=1 ak j =1

We prove our claim by showing that the dual of the original linear program has a feasible solution
with an objective function value equal to the above value. The dual program is :
n
min {ao u + I > j: uaj + Vj ~ Cj for alII S j S n, U ~ O, v ~ O} .
j =1
102 6. PRIMAL-DUAL PAIRS

From the complementary slackness conditions we have

Vj = 0 for all j E Jo and uaj + Vj = Cj for all j E J1 .

Adding all the equations for j E J 1 we get L-j E Jt Vj = L-j E J 1 Cj - U L-j E J aj '
1
The dual objective
value is Z D = uao + L-?= 1 Vj or after substituting the values Vj for j E Jo and for j E J 1 we
L- j E J Vj
1
get
ZD = uao + L Cj - u L aj + Vk .
jEJ1 j EJ1

We distinguish the following two cases for the value of Xk (note that from the definition of k, Xk
cannot be one).
(i) If 0 < Xk < 1, then from the complementary slackness condition we have Vk = 0 and u a k+ vk=
ci ; i.e. u = ~:. Then we have ZD = ~: (ao - L-j E J 1 a j) + L-j EJ 1
Cj = z p.
(ii) If Xk = 0, then ao = L-j E J l aj , vk = 0 and thus z D = L-j EJ 1
Cj = Zp .
Thus in both cases ZD = Zp , which proves the claim.

Exercise 6.3
Consider the Jollowing capital budgeting model (which assumes a perfect capital market since
the rates for borrounnq and lending money are equal to a single "market rate" r and there is no
limitation on the borrowing/lending activities):
n
max L Cj X j + YT
j= 1
n
subject to -L aJxj + u. S; 8 1
j= 1
n
-L a;xj - (1 + r)Y i-l + Yi S; s; for i = 2, ... ,T
j=1
O S; Xj S; 1 for all j = 1, . . . , n ,

where n is the number oj possible projects, T is the number oj time periods considered, 8i are
a;
(exogenous) inuestmenifunds for period i , is the cashflow associated with project j at the end oj
period i , Cj is the net present value in year T for project j oj all cash flows subsequent to the year
T and discounted at the interest rate r, r is the market rate oj interest. Yi is the amount borrowed
(if negative) or lent (if positive) in period i and x j is the fraction ojproject j undertaken.
Show that this problem always has an optimal solution with no fractional projects. Find an
optimal solution and give an economic interpretation oj the resulting decision rule. (Hint: The net
present value NPVj evaluated at the interest rate r oj an (infinite) stream oj cash flows for a;
i = 1, 2, . . . equals L-:l (1 + r )- i a;,
where j E {I , . . . ,n } is any project. Moreover, > 0 means that a;
project j generates an inflow oj cash in period i, while < 0 is an outflow ojcash.) a;
6.1. EXERCISES 103

To solve the problem we start from its dual linear program:

nun 'L;=18iUi + 'L7=1Vj


T .
s .t. - 'Li=1 ajui + Vj ~ Cj for 1 :S j :S n
Ui - (1 + r)Ui+l = 0 for 1 :S i :S T - 1
UT = 1
u ~O , v ~O .

From the last T constraints of the dual problem we solve for the variables Ui, for i = 1, . . . , T by
backward substitution, i.e. UT = 1, UT-l = 1 + r , UT-2 = (1 + r)2, ... , Ul = (1 + r )T-I. Thus for
every feasible solution to the dual we have Ui = (1 + r)T- i , 1 :S i :S T. Now the first n constraints
of the dual become
T
VJ· >
-J
c · + '" ai(1
£...JJ + r )T-i l :S j :Sn .
i=1
Since we want to minimize 'L7=1Vj the optimal values for VI, . . . ,Vn are given by

V. = { 0 if Cj + 2:i'=1(1 + r)T- i a) :S 0 ,
J
Cj u i=1 (1 + r )T- i aij
+ ",T 0
th erwise,
.

and hence, we calculate the optimal dual objective value


T T
ZD = L 8i(1 +rf-i + L Cj + L L a~(1 +r)T-i ,
i=1 jE N + jEN+ i=1

where N+ = {j E {I , . . . , n } : Cj + 2:i'=1(1 +rf-ia) > O]. Using the complementary slackness


conditions we have the followin g conclusions for the primal constraints and variables. Since all
Ui > 0 for 1 ::::: i ::::: T the first T constraints of the primal hold as equalities which we write as
n
Yl = 81 +L a)x j (6.10)
j=1
n

Yi = 8i + (1 + r)Yi-l + L a~xj (6.11)


j=1

Multiplying the equation for Yi by (l+rf- i for 1 :S i :S T and adding all the equations we eliminate
variables u. for 1 :S i < T and get
T T n
YT = L 8 i( 1 + rf- i + L (1 + rf- i L a~xj . (6.12)
i=1 i= 1 j=1

Since the variables Yl , . . . , YT are not restricted in sign, every choice of Xj E {O, I } for 1 :S j :S n
gives a primal feasible solu tion . From the complementary slackness conditions we get that Xj = 1
for all j E N+ and Xj = 0 for all j such that Cj + 2:i'=1a)( 1 + rf-i < O. Setting Xj = 0 for all j rf- N+
104 6. PRIMAL-DUAL PAIRS

we have a primal feasible solution. To show that the solution to the primal obtained this way is
optimal we have to compute its objective function value Z p . Using (6.12) we calculate
T T
Zp = L Cj + L si (l + r)T-i + L L(1 + r)T- ia} = ZD ,
jEN+ i= l j EN+ i = l

which proves the optimality of the solution because Z p = Z D . Since in this solution all x/ s are
either zero or one we have proven that there exists an optimal solution with no fractional projects.

To summarize, the optimal solution to the primal problem is given by

x . = { 1 if j E N+ , (6.13)
J 0 otherwise,

and the values of the Y variables are given by (6.10) and (6.11) using (6.13). Thus the selection
rule is that we accept project j if j E N+. i.e. if C j + 2:;[=1 a}(l + r) T- i > O. By definition.
Cj = L:T+l a;(1
+ rf-i. Consequently. j E N+ if and only if NPVj > O. i.e, project j is accepted
if and only if the net present value NPVj of all cash flows associated with the project is positive.
By the way, this shows that the net present value rule of Financial Economics is consistent with
the assumption that the capital markets are perfect (which. alas, they are not). See also Exercise
10.9.

Exercise 6.4
A corn silo with given capacity K is operatedJor the next n years. Per unit buying and selling
prices Jor corn as well as the inventory cost per unit stored are known, but changefrom year to year.
Linearity oj cost and revenue from the quantity is assumed. You can buy corn at the beginning oj
each year but you can sell corn only at the end oj the year, i.e. in order to sell corn it has to be
stored at least one year. The company that operates the silo has unlimited funds for the purchase
ojcorn and can sell any amount ojit. i.e. the market absorbs any amount at the given selling price.
The silo is initially empty and has to be empty at the end oj the last year.
(a) Formulate the problem so as to maximize profit (= revenue - cost).
(b) What can you prove about the dependence oj the optimal solution and profit on the capacity
K oj the silo?

We shall give two seemingly different, but equivalent formulations of this problem as a linear
program. In thefirstJormulation we choose the decision variables as follows .
For each year j the quantity Zj to be stored equals the quantity Zj - l stored in year j - 1 plus
the quantity Yj bought at the beginning of the year minus the quantity Xj - l sold at the end of
year j - 1, i.e.,
Zj = Zj - 1 + Yj - Xj- l
6.1. EXERCISES 105

for 1 ::; j ::; n , where ZQ = XQ = 0 because initially the silo is empty. Since the silo must be empty
at the end of the last year, we get the additional constraint
- Zn +x n = o.
Since the corn needs to be stored one year it follows that Xj ::; Zj for 1 ::; j ::; n. Because the
silo has a finite capacity K > 0 we get the constraints Zj ::; K for 1 ::; j ::; n and all quantities
are nonnegative. Letting Tj be the unit selling price, Cj the unit buying price and h j the unit
inventory cost for corn in 1, . . . , n we thus have the following linear programming formulation of
the problem with n + 1 equations, 2n - 1 inequalities and 3n variables, of which 2n are required
to be nonnegative:
max '2:, ';= l(Tj X j - Cj Yj - h j zj )

s.t. Y1 - Zl = 0
Zj - Zj - 1 - Yj + X j- 1 = 0
- Zn + xn = 0
- Zj + X j ::; 0 l ::; j ::;n-l
Zj <K l ::; j ::;n
x 2: 0 , y 2: °.
Since x = 0, y = 0, Z = ° is a feasible solution the maximum profit from operating the silo
is nonnegative. no matter what the data are. Moreover, since K > 0 is finite. the solution set
is bounded and thus a maximum profit solution exists. Suppose that the data are such that
the optimum profit is positive. Since for any feasible solution (x , y , z) the vector (Ax, Ay, AZ ) for
o ::; A ::; 1 is feasible as well, it follows that in every optimal solution (x, y , z), Zj = K for some
j E {l , ... , n} . i.e., the silo is operated at capacity for at least one of the time periods. Moreover,
consider the dual linear program. The silo capacity K appears only in the right-hand side of the
n "capacity" constraints and all other right-hand side coefficients are zero. Denoting the dual
variables of the capacity constraints Zj ::; K by V j the objective function of the dual becomes
K'2:,';=l Vj ' Since K is a constant, the optimal dual solution is independent of K . i.e. , it suffices to
minimize '2:,';=1"i over the dual feasible region to get the optimal solution. Then the optimal value
of the problem is K times the optimal value of '2:,';=1 Vj ' Thus the optimal profit is either zero or
proportional to the size of K of the silo. Of course, in our scenario we make the assumption that
the storage costs h j are independent of the silo size which may be unrealistic.
In the secondjormulation we choose the quantities Xij of corn to be bought at the beginning
of year i , to be stored in the silo. and to be sold at the end of the year j as our decision variables
where 1 ::; i ::; j ::; n . The profit that accrues from buying, storing and selling Xi j units of corn
is given by Tj - c, - '2:,~=i h i. We thus have the following linear program with n constraints and
n(n + 1)/ 2 nonnegative variables:

max '2:,';=1'2:,{=1(Tj - c, - '2:,~=i h e) X ij


s.t. '2:,~= 1 '2:,';=i Xej ::; K for 1 < i ::; n
Xij 2: 0 for 1 ::; i ::; j < n.
Here the linear constraints express the fact that for ea ch year the silo capacity must not be
exceeded and we can derive the sa me conclusions as above for the optimal policy of buying,
106 6. PRIMAL-DUAL PAIRS

storing and selling corn. The two formulations are interrelated by the variable transformation
i n i n
Xi = L Xi i , Yi = L X ii , Zi = L L Xi j ,
i=l i =i i= l j =i

which is a linear transformation. In Chapter 7 we give a general, algebraic method to compute


e.g. the first LP formulation from the second one, which is an important tool in computing diffe-
rent formulations of the same problem especially in connection with combinatorial optimization
problem -see Chapter 10. Moreover, it can be shown using elementary row operations that the
constraint matrix of e.g. the second formulation is totally unimodular -see Chapter 10- and thus
the optimal policy of buying, storing and selling corn is of the "bang-bang" variety: whenever
corn is bought, the silo is filled to capacity and whenever corn is sold, the entire silo is emptied.
The corresponding decision rule, however, is data-dependent and (apparently) not easy to state
in explicit form.

Exercise 6.5
Let A , D be matrices oj size m x n and p x n , respectively, b E IR m , d E IRP column vectors, e E IR n
a row vector and Z E IR. Using Lemma 2 and Theorem 4 show the jollowing statements:
(i) {x E IR n : Ax :S b} = 0 if and only if {u E IRm : uA = 0, ub < 0, u ;::: O} =1= 0.

(ii) {x E IR n : Ax = b, Dte :S d} = 0 if and only if {(u ,v ) E IRm +p : uA + vD = 0, ub + vd < 0,


v ;:::O } =1= 0.
(iii) {x E IR n : Ax = b, Dx :S d , ex > z } =1= 0 ifand only if{(u ,v ) E IRm +p : uA +vD = 0 , ub -i-ud < 0 ,
v ;::: O} = 0 and {(u , v ) E IR m +p : uA +vD = e, ub +vd :S z, v ;::: O} = 0.
(iv) {x E IR n : Ax = 0 , x ;::: 0 , x =1= O} =1= 0 ifand only if{u E IRm : uA > O} = 0.

(i) Suppose that Xl = {z E IR n : Ax :S b} = 0 and U1 = {u E IRm : uA = 0, ub < 0, u ;::: O} = 0.


Since U1 = 0 and u = 0 satisfies uA = 0 and u ;::: 0 it follows that the linear program min{ub :
uA = 0, u ;::: O} has an optimal solution of value 0, and thus by strong duality (Theorem 3) its
dual max{Ox : Ax :S b} is feasible, which contradicts that Xl = 0.
On the other hand assume that Xl =1= 0 and U1 =1= 0, i.e that there exists u E IRm such that
uA = 0, ub < 0, u ;::: 0 and x E IR m such that Ax :S b. Consider the (LP) max{Ox : Ax :S b}. Its dual
is min{ ub : uA = 0 , u ;::: O} . Since both primal and dual are feasible, from weak duality we have
°
that ub ;::: which is a contradiction.
(ii) Replacing the set of equations A x = b by the set of inequalities A x :S b and -Ax :S -b we

have that {x E JRn , A x ~ b , D x ,; d} ~ {x E JRn , A 'x ,; b'} where A' ~ (~) and b' ~ ( ~b).
6.1. EXERCISES 107

By part (i) we have that {x E JR.n : A'x ::; b'} = 0 if and only if U = {u' E JR. 2m+p : u' A' = 0 , u' b <
0, u' 2': O} -=I 0. Breaking u' into three subvectors y E JR.m, w E JR.m and v E JR.P we have

u'A' = yA-wA+vD , u'b = yb - wb+vd, y,w,v 2': O.


Replacing y - w by a vector u E JR.m we have that U = {(u, v) E JR.m+p : uA + vD = 0, ub + vd <
0 , v 2': O} and the assertion follows.
(iii) Let x E JR.n be such that Ax = b, Dx ::; d and ex > z . First suppose that there exist u E JR.m and
v E JR.P such that uA+vD = 0, ub+vd < 0 and v 2': O. Then we have 0 = uAx+vDx ::; ub+vdwhich
contradicts ub+vd < O. Next, suppose that there exist u E JR.m and v E JR.P such that uA+vD = e,
ub+vd ::; z and v 2': O. Then we have ex = uAx+vDx ::; ub+vd ::; z which contradicts ex > z. Thus
the "only if' part is proven. To prove the "if ' part, suppose that Ul = {(u , v) E JR.m+p : uA + vD =
0 , ub+vd <O , v2':0}=0andU2 = { ( u ,v)EJR.m+P : uA+vD=e , ub+vd::; z , v2':0}=0. Since
Ul = 0 we get from part (Ii) that Xl = {x E JR.n : Ax = b , Dx ::; d} -=I 0. Suppose that ex ::; z for all
x E Xl. Then the LP max{cx : x E X!l has a bounded objective function from above. The dual of
this problem is min{ub + vd : uA + vD = e , v 2': O}. Since the primal is feasible and bounded,
the dual is feasible and by strong duality we have that ex = ub + vd at the optimum. But since
U2 = 0 we necessarily have that ub + vd > z and thus ex > z which contradicts ex ::; z.
This part can be also be proven like we proved part (il) using Theorem 4 .
(iv) Assume that both sets {u E JR.m : uA > O} and {x E JR.n : Ax = 0, x 2': 0, x -=I O} are nonempty,
t.e. there exist u E JR.m and x E JR.n such that uA > 0, Ax = 0, x 2': 0 and x -=I O. Without restriction
of generality we can assume that uA 2': e T = (1, ... , 1). To see this let uA 2': (al "" , an ) > 0 and
D = diag(al , ' " ,an)' Then uAD - l 2': e T and AD-l(Dx) = 0, Dx 2': 0, Dx -=I 0, i.e, the scaled
matrix AD- l has the assumed properties. Consider the (LP) maxi e T x : Ax = 0, x 2': O} and its
dual mini uO : uA 2': e T } , both of which by assumption have feasible solutions. But by Remark 3 .1
the primal (LP) has an unbounded optimum, which contradicts Remark 6.2. Consequently, both
sets cannot be nonempty.
On the other hand suppose {x E JR.n : Ax = 0, x 2': 0, x -=I O} = 0, i.e. x = 0 is the unique
solution to Ax = 0, x 2': O. It follows that the linear program (LP) has the unique solution x = 0
and thus from strong duality theorem (Theorem 4) we have that min{uO : uA 2': e T } = 0 and thus
there exists u E JR.m such that uA 2': e T > O.

Exercise 6.6
Let X ~ = {x E JR.n : Ax ::; b, x 2': O} andY ~ = {x E JR.n : Dx ::; g , x 2': O}.

(i) Suppose 0 -=I Y~ <;;; X ~ . Then either X ~ = Y ~ or there exist a row vector f E JR.n and a scalar
fa such that Y ~ <;;; {x E JR.n : fx ::; fa} and X ~ n {x E JR.n : fx > fa} -=I 0.
(ii) Given any linear program in n nonnegative variables suppose that there is an equation of the
form 'L7=l a~ xj = bi such that for some k E {I , ... ,n} we have a~ > 0 and a~ ::; 0 for all j -=I k.
Show that ifbi 2': 0 then variable X k can be eliminated and after substitution equation i can be
droppedfrom the problem.
(iii) With the same notation as before suppose a~ > 0 and a~ 2': 0 for all j -=I k. Show that X k = 0 in
everyfeasible solution tf b, = 0 and that the program has nofeasible solution ifb i < O.
108 6. PRIMAL-DUAL PAIRS

(i) We want to show that X ~ = y ~ if and only if X ~ n{ x E jRn : I x > fo} = 0. where I E jRn and f o E jR
are such that y ~ {x E jRn : Ix ~ f o}. (Note that such a pair (I , f o) exists because y ~ is contained
in the nonnegative orthant and thus. in particular. y ~ -=I jRn . ) If X ~ = y ~ ~ {x E jRn : Ix ~ f o}
then I x ~ fo for all x E X ~ and thus X ~ n {x E jRn : I x > fo} = 0. On the other hand let I E jRn .
fo E jR be such that y ~ ~ {x E jRn : Ix :s: fo} and suppose that X ~ n {x E jRn : Ix > fo} -=I 0. i.e .
there exists x E X ~ such that Ix > fo. Thus x ¢ y ~ and since y ~ ~ X ~ it follows that y ~ C X ~.
i.e. y ~ -=I X ~.
b n i
(ii) Solving for Xk we get Xk = ~ - ' " a XJ· ~ O. since bd a~ > 0 and aJi./ a~ < O. Thus after
j
a'k L...J
j = l
a'
k
j#
substituting the variable X k wherever it appears. we can drop the equation from the formulation
since it no longer affects the solution. Its numerical value is computed from the equation based
on the values of the other variables.
(iii) If b, = 0 we have ~;=1 a~xj = O. Suppose that there exists a solution with X k > O. Then we
have ~;=1 a~xj ~ a~ xk > 0 where the first inequality follows from the fact that a~ ~ 0 and Xj ~ 0 for
all j -=I k and the second from a~ > 0 and the assumption that Xk > O. Thus we get a contradiction.

If bi < O. then we have ~;= 1 a~xj ~ 0 since a~ ~ 0 and X j ~ 0 for all j . Thus the equality
~;= 1 a~xj = b, < 0 is violated by all feasible points and thus the linear program is infeasible.

Exercise 6.7
Write a computer program oj the dual simplex algorithm in a computer language oj your choice
for problems in canonicaljorm satisfying c :s: 0 and using the updatingjormulas like in Chapter 5
or a canned subroutine jor inverting a nonsingular matrix.

The following program is an implementation of the algorithm as a MATLAB function. We pick the
smallest index that satisfies (6.7) and (6.8) as eand j respectively.
2-
0 Dual simplex algorithm for LPs in canonical form
% max {ex: A-x <= b, x >= o}
% where c <= o.
%
2-
0 INPUT VARIABLES
% A,b,c -> LP data
%
% RETURN VARIABLES
2-
0 sol stat 0 -> unbounded solution
% -1 -> infeasible solution
% 1 -> f inite optimal solution
%x -> primal solution vector
2-
0 z -> optimal objective function value
6.1. EXERCISES 109

function [sol_stat,x,z] ds implex(A,b,c)


[m,n]=size(A) ;
A=[A'; eye(m)]';
c=[-c zeros(l,m)];
1=eye(m) ;
B=1;
cb=zeros (l,m);
status=[zeros(l,m+n)] ;
for i=l:m, p(i)=n+i; status (n+i)=i; end
iter = 0 ;
sol_stat =-2;
while ( sOl_stat < 0),
Binv=inv (B) ;
cbar=c -cb*Binv*A;
bbar=Binv*b' ;
i f (bbar >=0)
fprintf('Optimal solut ion found in %d iterat ions.\n' ,iter);
z=-cb*bbar;
x=zeros(l,n) ;
for i=l:m, x(p(i))=bbar(i) ; end
sol_stat=l;
return;
end
r=l;
while (bbar(r) >=0), r=r+l; end
l=p(r) ;
ur=1 (: , r) ;
yr=ur'*Binv*A;
if (yr >= a),
fprintf('Primal infeasibility .');
sol_stat=-l;
return
e nd
for i=l :n,
if (yr(i) < 0 & status(i)= =O)
rat(i)=-cbar(i)/yr(i) i
end
end
[gamma,j]=min(rat) ;
B=B+ (A( : , j ) -A ( : , I) ) *ur' ;
cb=cb+(c( j)-c(l))*ur' ;
p(r)=j ;
status(j) =r i
status(I)=Oi
iter=iter+l i
end
110 6. PRIMAL-DUAL PAIRS

The input data for the problem of Exercise 6.8 (see below) - after converting the problem from
canonical to standard form - are put as follows into a file called dsdat . m:
c= [-2 -3 -4 -2];
b= [ -10 -12];
A=[ -1 -1 -1 -1 ; -3 -1 -4 -2 ];
The following shows the function call from MATLAB and the output for the above data (assu-
ming that they are in the file dsdat . m]:
» dsdat
» [stat,x,z]=dsimplex(A,b,c)
Optimal solution found in 1 iterations.

stat
1
x
10 o o o o 18
z
-20

Exercise 6.8
Solve the jollowing linear program by the dual simplex algorithm using your own precise choice
rulesjor (6.7) and (6.8).

max - 2 Xl - 3 X2 - 4X3 - 2X4


subject to - Xl - X2 - X3 - X4 :":: - 10
- 3 Xl - X2 - 4 X 3 -2X4 :":: -12
Xi ~ O for i = 1, . . . , 4.

First we bring the problem in the form requ ired by the dual simplex algorithm, i.e. in the form
min{cx : Ax = b , x ~ O} where

A = 1 1 1 1 -1 0) , c = (2, 3, 4, 2, 0, 0) , b = (10) .
( 3 1 4 2 0 -1 12

We use rules (c2*) and (r2*) for (6.7) and (6.8).


Starting with the basis
(-10)
0 -1 with I = {5,6} which is dual feasible since c = c ~ 0 since

CB =
B
~~ =Th(U~lweoh)av: _
, c = (2,3,4,2,0,0), b = B
-1
b=
(-1 0) (10)
=
(-10)
, e= 5.
o -1 0 -1 12 -12
6.1. EXERCISES 111

Y r -_ u;T B -1 R -_ ( 1, 0) ( -1 0) (1 1 1 1) -_ (-1 , -1 , -1 , -1 ), 'Y -_ mm


. {21'13 '14 '12} -_ 2, J. -_ 1.
o -1 3 1 4 2

B = B + (al - a 5)u; = (-1 0) + (2) (1, 0) = (1 0) , I = {I , 6}.


o -1 3 3 -1

B -' = G~r). CB ~ (0, 0) + (2 - 0)(1, 0) ~ (2, 0).


e= c - cBB- l A = (2, 3, 4, 2, 0, 0) - (2, 0) (1 0) (1 1 1 1 -1 0) = (0, 1, 2, 0, 2, 0).
3 -1 3 1 4 2 0 -1

b = B - lb = (1 0) (10) = (10) .
3 -1 12 18
Since b : : : 0 the current solution is optimal. So the optimal solution is Xl = 10, X 2 = X3 = X 4 = 0
and the optimal value is -2(10) = -20.

Exercise 6.9
(i) Show that the linear program

(pLP) min{ cx : Ax = b , x ::::: O} ,

has an unbounded optimum if and only if there exists d E jRn such that Ad = 0, d ::::: 0 and
cd «; O.

(iQ Show that X = {x E jRn : Ax =b, x ::::: O} is bounded if and only if there exists a U E jRm such
thatuT A > O.

(i) Suppose that the problem (pLP) is unbounded. Then the dual problem is infeasible, i.e .
{u E jRm : A Tu T ::; cT} = 0. By Exercise 6.5 (i) this happens if and only if there exists a vector
d E jRn such that d ::::: 0, d T AT = 0 and d T cT < O.
On the other hand, suppose that there exists d E jRn such that Ad = 0, d ::::: 0 and cd < 0 and
that (pLP) has an optimal solution x * with optimal value z* . Then we have A(x* +d) = Ax* +Ad = b
and x * + d ::::: 0, I.e. x * + d is a feasible solution to (pLP). But c(x* + d) = cx* + cd < z* since cd < 0,
which contradicts the optimality of x * .
(ii) Suppose that X is bounded. Then the linear program max{ ex : Ax = b , x ::::: O} has an optimal
solution and so does its dual. In particular, the dual problem is feasible, Le. {u E jRm : uA ::::: e} i=
0. Thus there exists u E jRm such that uA ::::: e > O.
On the other hand if there exists u E jRm such that uA > 0 then by Exercise 6.5 (iv) we have
{x E jRn : Ax = 0, x::::: 0, x i= O} = 0. It follows that there exists no vector a >. 0 such that Ad = 0
and cd < 0 and thus by part (i) (pLP) has a bounded optimal solution for all vectors c. Selecting
112 6. PRIMAL-DUAL PAIRS

C = u i , the i-th unit vector, we conclude that all components of x are bounded and thus X is
bounded.

Exercise 6.10
Consider the problem with a parametric objective junction

Z(f.l) = min{(c + f.ld)x : Ax = b, x 2 O} ,


where d E IR n is a row vector of changes to the vector c and f.l is a parameter. What can you prove
about the junction z(f.l)? Give a procedure thatjinds z(f.l) for all 0::::: f.l < +00 when z(O) isjinite.

If X = {x E IR n : Ax = b, x 2 O} = 0, then z(f.l) = +00 for all f.l E R Suppose that Xi- 0 and that
there exist f.l1 < f.l2 such that Z(f.l I ) > -00 and Z(f.l2) > -00.
It follows that Z(f.li) = max{ ub : uA ::::: c + f.lid} for i = 1,2. Let u l , u 2 be the corresponding
optimal dual solutions. Then u(o:) = o:ul + (1- 0:)u2 is a feasible solution to uA ::::: c+ f.l(o:)d where
f.l(0:) = oqi; + (1-0:)f.l2 with objective function value O:Z(f.lI) + (1-0:)z(f.l2)' Hence (LPI'(a») has a finite
optimum since X i- 0 and O:Z(f.lI) + (1- 0:) Z(f.l2) ::::: z(f.l(O:)) = Z(O:f.l1 + (1- 0:)f.l2 ) for all 0 ::::: 0: ::::: 1 since
we are maximizing in the dual problem. This shows that z(f.l) is a concave function whenever z(f.l )
is finite. Moreover, it follows that the domain of finiteness of z(f.l) is some interval of the real line.
Suppose now z(O) > - 00 and X i- 0. Let B be an optimal basis for (LPo). Then we calculate

c + f.ld = c + ud - (CB + f.ldB)B-I A = C - cBB- I A + f.l(d - dBB-IA) = c + f.ld.


Since B is optimal for f.l = 0, we have C 2 o. Consequently, if d 2 0 then z(f.l) = z(O) for all f.l 2 0,
because B remains optimal for all f.l 2 O. So suppose that d 't. 0 and let
_ . Cj .-
f.lo - mm{ =- . d j < O} .
dj

Then B remains optimal for 0 ::::: f.l ::::: f.lo and thus z(f.l ) = z(O) for 0 ::::: f.l ::::: f.lo . Let j E {I , ... , n}
be such that f.lo = cj/d j. Since the variable Xj is necessarily nonbasic and its reduced cost in
the linear program (LPl'o) equals zero, we can pivot Xj into the basic set without changing the
objective function. If the transformed column Yj = tr-«, : : : 0, then for all f.l > f.lo we have
z(f.l ) = -00 and the procedure stops. Otherwise, pivoting variable Xj into the basis will (typically)
change the solution vector, Le., produce an alternative optimum solution to (LPl'o)'
To systematically find a new basis displaying the optimality of an alternative optimum we
increment f.lo by a "small enough" fO > O. A theoretical estimation of fO is possible using the
material of Chapter 7, but in practice one simply uses fO = 10- 2 or 10- 3 or smaller depending
upon the numerical accuracy of the LP solver that is utilized. Now the "cu rren t" solution is
no longer optimal and we can use the primal simplex algorithm to reoptimize the problem. If
unboundedness is detected the procedure stops; otherwise we find a new basis B € different from
B that displays optimality of a new solution x* for all 0 ::::: f ::::: fO. From the reduced cost of (LPl'o)
with respect to B € we compute like above f.l1 > f.lo and iterate. (Note that in the computation of
f.l1 the reduced cost Cj is thus replaced by the reduced cost Cj + f.lodj in the new basis.l Moreover,
6.1. EXERCISES 113

we calculate z(p,o + E) = z(p,o) + edx" for 0:::; E :::; P,1 - P,o. Hence z(p,) is a piecewise linear concave
function of p, wherever z(p,) is finite. Since there are only finitely many bases and no basis is
repeated the procedure is finite .

Exercise 6.11
Assume that the first constraint oj a linear program (LPR ) is the constraint (6.9) where M is
a suitably chosen "large" number; an input parameter if you wish. Write a program in a computer
language oj your choice for the dynamic simplex algorithm utilizing the programs oj Exercises 5.2
and 6.7 as subroutines.

The following program is an implementation of the algorithm as a MATLAB function. The program
is stored in the file dynsmplx. m.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Dynamic simplex algorithm for LPs in canonical form
% min {cx: A-x <= b, x >= O}
% INPUT VARIABLES
% A,b,c -> LP data
% RETURN VARIABLES
% sol stat 0 -> unbounded, -1 -> infeasible, 1 -> finite
%x -> primal solution vector
% z -> optimal objective function value
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [sol_stat,x,z] = dynsmplx(A,b,c)
[m,n]=size(A) i
zlow=-infj
1= [1 1 1 0 0 0] i
p= [1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] i
sol_stat=-2;
qcnt=l; kcnt=l;
while ( qcnt -= 0 I kcnt -= 0),
while (qcnt -= 0),
[ALP,AL,AP,bL,cP]=getmatrx(A,b,c,p,l) ;
[status,x,z,u,s]=psimplex(ALP,bL,cP) i
fprintf('Reduced problem solved. ')
qcnt=Oi
for j=l:n,
i f (p(j)==O c(j)-u*AL(:,j) > 0)
&
p(j)=li qcnt=qcnt+1;
end
end
fprintf(' Adding %2g columns .\n ' ,qcnt)
end
114 6. PRIMAL-DUAL PAIRS

if (z > zlow)
zlow=z
k =O;
fo r i=l:m,
i f (l(i) == 1)
k=k+1;
i f ( s(k) > 0), l(i)=O; end
end
end
end
kcnt=O;
for i=l:m,
i f (l(i)==O & AP(i, : ) *x ' - b(i) > 0)
l(i)=l; kcnt=kcnt+1;
end
end
i f (kcnt == 0)
fprintf('Optimal solution found.\n');
return;
end
fprintf('Adding %2g rows.\n' ,kcnt)
[ALP,AL,AP,bL,cP]=getmatrx(A,b,c,p,l) ;
[status, x,z,u,s]=dsimplex(ALP,bL,cP) ;
end

Note that in order to find a dual feasible starting basis for the dual simplex. we have to
implement the technique with the big M described in the text. and that's why in the statement
of the exercise the assumption regarding the first constraint is made. Here is an implementation
of the "trick".
function [A, b, c, B, Binv, cb, q, status] = dbinit(A,b,c)
[m, n] =size (A) ;
A=[A-zeros(m,l) eye(m)];
A=[ones(l,n+m+1); A];
[m, n] =size (A) ;
c=[-c zeros(l,m)];
A
b=[10 3 b]; B=l; Binv=l;
[aux,j]=min(c); p=zeros(l,n);
q(l)=j; p(j)=l ;
status=zeros(l,n) ;
r(l)=l; qcnt=l; rcnt=l; status(j)=l;
k =l;
for i=l:n,
i f p(i) == 0,
cbar(i)=c(i )-c (j )*A(l,i ) ;
end
end
6.1. EXERCISES 115

while k < m,
a=A(k+1,:);
for i=1:n,
i f p(i) == 0,
abar(i)=a(i)-a(q)*Binv*A(r,i) ;
end
end
i f (abar == 0),
if (b(k+1) == a(q)*Binv*b(r)),
k=k+1;
fprintf('Skipping row %2g.\n' ,k-1)
else
error('There is no feasible dual basis!\n')
return
end
else
minr=10 .... 30;
for i=1:n,
if (p(i) == 0 & abar(i) -= 0 & cbar(i)/abs(abar(i)) < minr),
l=i; minr=cbar(i)/abs(abar(i));
end
end
qcnt=qcnt+1; q(qcnt)=l; p(l)=1; status(l)=qcnt;
rcnt=rcnt+1; r(rcnt)=k+1;
B=A(r,q); Binv=inv(B); k=k+1;
for i=1:n,
i f p(i) == 0,
cbar(i)=c(i)-c(q)*Binv*A(r,i) ;
end
end
end
end
cbe c (q) ;

We test the routine in a linear program with the following input data
c=[3 47 43 73 86 36 96 47 36 61 46 98 63 71 62 33 26 16 80 45 60];
A=[97 74 24 67 62 42 81 14 57 20 42 53 32 37 32 27 7 36 7 51 24;
16 76 62 27 66 56 50 26 71 7 32 90 79 78 53 13 55 38 58 59 88;
12 56 85 99 26 96 96 68 27 31 5 3 72 93 15 57 12 10 14 21 88;
55 59 56 35 64 38 54 82 46 22 31 62 43 9 90 6 18 44 32 53 23;
16 22 77 94 39 49 54 43 54 82 17 37 93 23 78 87 35 20 96 43 84;
84 42 17 53 31 57 24 55 6 88 77 4 74 47 67 21 76 33 15 25 83] ;
b=[400 400 350 320 420 400] ;
116 6. PRIMAL-DUAL PAIRS

The output of the dynamic simplex routine follows:


»p21rwdat
»[stat,x,z]=dynsmplx(A,b,c) i
Optimum found in 7 iterations .
Reduced problem solved. Adding 15 columns .
Optimum found in 16 iterations.
Reduced problem solved . Adding 0 columns.
Adding 3 rows.
Optimal solution found in 12 iterations.
Optimal solution found .
» x
x
Columns 1 through 7
o o o o o o 1 .7715
Columns 8 through 14
o o 2.5410 1. 0426 2 .0553 o 0 .9654
Columns 15 through 21
o o o o o o o
»z
z =
642.9870
»

*Exercise 6.12
Like in the primal simplex algorithm normed pivot row selection rules are frequently used in
Step (6.7) of the dual simplex algorithm (see also Chapter 5). Consider the two different row norms
called. the "full" and "partial" row norms, respectively, given by
d; = 1 + IluTB- 1 112 + IluTB- 1 R11 2 , 8; = IluTB- 1 112 ,
where Ui E lRm is the i-th unit vector. Let B new be a new basis obtained from B by pivoting in
column j and row r. Show that
(di ew)2 = d; + 8 ;d; - 28 i (bi (br f +yi(yrf)for i =J r, (d~ew)2 = (yj)-2d;,
(Oi ew)2 = oT + 8 To; - 28 i bi (br f for i =J r , (0~ew)2 = (yj )-20; ,
where bi = u TB- 1 , yi = biR, y; = biaj and 8 i = y;!yj . Discuss various ways of using these
relations to carry out an update of the "new " norms form the "old" norms. (See Exercise 7.17 for
a geometric interpretation of the normed pivot row selection criteria.)

From formula (4.5) of Chapter 4 we have


- 1 1 T - 1
B new = B - 1 - -(YJ" - u r)u r B
Yj
6.1. EXERCISES 117

where Yj = t r '«,
and yj is the pivot element (see also Chapter 5). Denoting (B- 1)T simply by
B- T we calculate for i i= r

(8i ew) 2 = IlufB~:wI1 2 = lI(uf - 8 iu ;)B- 1 112 = 8; - 28iu fB - 1B- T


U r + 8;lIu;B-
1
11
2

and thus the formula follows . For i = r we get

(8~ew)2 = Ilu; B~:wI12 = I :>: u ; B- 111 2= (yj)- 28;


J

and thus the assertion is correct. To calculate (di ew )2 we note that d; = 1 + 8; + lIy il1 2and that
Rnew = R + (a t - a j )u~, where up E IR n - m is a unit vector with an entry +1 in the position p of
column aj in the matrix R. Moreover, we calculate for i i= r

lI(uf - 8 iu ;)B-
1Rn
ewI1 2 = II(uf - 8 iu;)B - RI 12 +
1
8;
because (uf - 8 i u ;')B - 1 a j = O. We calculate for i i= r using the formula for 8i ew
(di
ew)2
= 1 + Iluf»z: 1 2+ Iluf B~e~Rnew 11 2
= 1+ 8 ; - 28ib i(br f + 8 N ; + II(uf - 8 iu;)B- 1RI1 2+ 8 ;
= 1 + 8; + Iluf B - 1 RI1 2+ 8 ;(1 + 8
; + Ilu; B- 1 R1I 2) - 28i(bi(br)T + y i(yrf)
as claimed and the calculation of (d~ew) 2 goes likewise. The calculation of 8';!ew and d~ew from
8r and d., respectively, is trivial. So let us assume that i i= r. The calculation of 8i ew from the
updating formula requires the calculation of Yj = tr>«, and the inner products bi(br)T. To avoid
taking the inner products bi(brf we can proceed as follows. Since bi(br)T = uf B- 1(br)T we can
first determine the solution vector to Bw = (brf as we need to compute b" = u;B- 1 anyway
for an efficient calculation of yr. Then we get (8i ew)2 = + 8; 8;8; -
28iWi as the update for the
partial row norm 8i where Wi is the i-th component of w . The update of the full row norm di
is computationally more expensive as we need here the inner products yi(yr)T as well . Since
bi(brf + y i(yrf = uf B- 1((br f + R(yr)T) we can first calculate the vector z = (br)T + L jEJ yjaj,
which requires a pass through all nonbasic columns with yj i= O. Then we determine the vector
v E IR m by solving the system of equations Bv = z. The updating formula for (di ew)2 become
(dtnew )2 = d1.2 + 8 2d2
t r - 28 ·v · where v·'l is the i-th component of v and i .../-
1,1. / r~

*Exercise 6.13
Consider the linear program in ns ~ 1 variables ~j

where - 00 S £j S Uj S +00 jor 1 S j S ns like in Exercise 5.12 , and bring the problem into the
standardjorm (BVLP) jor a linear program in bounded variables like done there. Given a basis B
oj A with index set 1 and a partitioning oj J = N - 1 into G, L , U we call (1, G, L , U) a dual basis if
118 6. PRIMAL-DUAL PAIRS

(i) State a dual simplex algorithmjor (BVLP) and prove its correctness.
(ii) Give a procedure that lets you find a dual basis jor (BVLP) or conclude that none exists.

(i) The dual simplex algorithm for (BVLP) goes as follows.


Dual BVSimplex Algorithm (m, n, I!, u , A, b, C )

Step 0: Find a dual feasible basis B cum partitioning (G, L, U) of the nonbasic variables. Let I
be the index set of B, CB = (Cj )jEI and initialize Pk for all k E I .
if none exists then stop "(BVLP) is either infeasible or unbounded".
Step 1: Compute B- 1, c := C - cBB- 1A and b = B- 1(b - RLI!L - R uuu).
if I!B :S XB :S UB then
set XB := b; XG := 0, XL = I!L ' Xu = u u , and
stop "x is an optimal feasible solution to (BVLP)".
else
(1) choose i E I such that bPi < ie or bPi > Ue and set r := Pe.
endif.
Step 2: Compute y r := u ; B- 1 A .
if br < ie then compute the least ratio
A = min{ min{ck/Yk : Yk < 0, kEG U L}, min{ck/Yk : Yk > 0, kEG U Un.
else compute the least ratio
A = max{max{ck/Yk : Yk > 0, kEG U L} ,max{ck/Yk : Yk < 0, kEG u Un.
endif.
if A is undefined then stop "BVLP has no feasible solution".
(2) Let j E G U L U U be any index for which the least ratio A is attained.
Set () = (br - i e)/yj ifbr < h () = (b r - ue)/Yj otherwise.
Step 3 : Set B := B + (a j - ae)u;, CB := CB + (Cj - ce )u; , I := I - i U {j} , Pj := r , pe := °
and update (G , L , U) according to Table 5.1 of Exercise 5. 12 (iii) using i E In (D U C) -!-
if br < t e and i E In (H U C) t if lir > Ue; go to Step 1.

To prove the correctness of the Dual BVSimplexAlgorithm let B cum the partitioning (G, L, U)
be a dual basis. If I!B :::; XB :::; UB then by Exercise 5.12(ii) the algorithm terminates correctly.
Otherwise, if the least ratio A in Step 2 is defined, the updating formulas of Exercise 5. 12(iv)
apply and by construction, B new cum the new partition (Gnew, L"?" , u new) is a dual basis (see also
below) . Moreover, we find
z B n e w (Gnew" L'":" u new) = z B (G" L U) + C·()
J
with C·()
J
<
-
°
° °
since Cj() = A(br - i e) :S ifbr < i e and Cj () = A(br - ue) :S ifbr > Ue. Consequently, as long as the
algorithm repeats no basis, we have finite convergence.
To ensure that no basis is repeated e.g . a least-index rule in the pivot row selection (1)
and the pivot column selection (2) can be used to break ties. Note that if j E G is selected in
(2) then necessarily Cj = 0 , but since free variables are never pivoted out of the basis, a basis
repetition cannot occur. Thus the least-index rule needs to be applied only to the lower-bounded,
upper-bounded, and bounded variables of (BVLP).
6.1. EXERCISES 1I9

Suppose now that the least ratio .\ is not defined in Step 2 . Then necessarily Yk = 0 for all kE G
or G = 0. i.e.. Yo = 0c. Using the conventions - 00 . 0 = +00 . 0 = 0 let

min{v b+ w u- 'I7£ : v A+ w - 'I7 = c, w 2:0 , 'l7 2:0}

be the dual of (BVLP) and assume WROG that the basis B occurs in the m first columns of A .
l.e.. that I = {I , . . . , m} and thus i = r . Let Yu = (yj) jEU. etc. Ifbr < it we define for A 2: O.

V(A) = c B B - 1 + AU; B - 1 , WJ (A) = OJ, We (A)= Oc , WL(A) = OL, w u (.\) = Cu - cB B - 1 R u - AYu ,


1
'l7C(A) = Oc , 'l7L(A) = -CL + c B B - R L + AY£, 'l7u(.\) = 0u , 7Jr (A) = A, 1]i(A) = 0 for i E 1- r.

Since the minimum ratio test for A fails, (V(A),W(A),'I7 (A)) is feasible to the dual for all A 2: 0 and

v(A)b + W(A)U - 'I7(A)£ = ZB ( G, L , U ) + A(br - i t ) ~ -00 for A ~ +00 .

Consequently. the dual is unbounded and thus a feasible solution to (BVLP) does not exist. If
br > U t we define (V(A),w (.\),'I7 (A)) for A ::; 0 as before except that

'l7J(A ) = OJ, Wr(A) = -A, Wi( .\) = 0 for i E 1- r.

Since the minimum ratio test for A fails. (V(A),W(A),'I7 (A)) is feasible to the dual for all A ::; 0 and
the objective function satisfies

Thus the algorithm is correct. The efficient organization of the calculations of the Dual BVSimplex
Algorithm is left to the reader.
(ii) If all structural variables of (BVLP) are in C . i.e.. if they all have finite upper and lower
bounds. then it is straightforward how to start the Dual BVSimplex Algorithm: we choose I =
{n + 1, .. . , n + m }. B is the (signed) unit matrix and CB = OJ. Consequently. the reduced profit
Cj = Cj for all j E N S . we initialize the partitioning of the nonbasic variables by L = {j E N S: Cj ::;
a}. U = {j E NS : Cj > O} and we run the algorithm. In the general case - if a dual basis is not at
hand - we use a two-phase procedure. Let Z = {n + i : row i is an equation}. D v = D n (N - Z).
I = {n + 1, . . . , n + m}. and consider the Phase I problem

m ax{cpx p + CDvX Dv + CH X H : Apxp + A DvX Dv + AHxH + A zx z = 0 ,


ODv ::; X Dv ::; eDv , -eH ::; XH ::; OH , X z 2: Oz , X z ::; Oz} . (Phase I)

The structural variables C n N S are missing from the Phase I problem. the artificial variables are
required to be zero and all but the free structural variables are bounded variables. Thus if F = 0
we are in the case where all variables of (Phase I) are bounded and we know how to start the
Phase I calculation for the Dual BVSimplex Algorithm (just choose I = {n + 1, . . . ,n + m}. let B
be the corresponding basis and C B = OJ. etc.). If F i 0 we also let initially I = {n + 1, .. . , n + m},
B be the corresponding basi s and CB = OJ . We set P = 0 and carry out the following pivoting
procedure where k(i) E I is the index of the variable corresponding to row i of B- 1 (or colu m n i
of B).
120 6. PRIMAL-DUAL PAIRS

Procedure FREEVARIABLES for (BVLP)


while (F -I- P) do
choose j E F - P and compute Yj = B-laj'
if Y} = 0 for all k( i) E I - F then
compute Cj = Cj - CBYj '
ifcj = 0 then
P:= PU{j}
else
stop "BVLP is either infeasible or unbounded".
endif.
else
Let yj -I- 0 for some k(r) E 1- F and e = k(r) . Replace P := P U {j}, I = 1- e U {j},
B := B + (aj - ai)u;, CB := CB + (Cj - Ci )U; ,
endif.

The pivoting procedure iterates at most IFI times and thus it is finite. We claim that if the
procedure terminates with P = F then we have a basis B such that all nonbasic free variables
satisfy Cj = 0, where Cj = Cj - cBB- laj. Suppose to the contrary that Cj -I- 0 for some j E F. Then
variable Xj is nonbasic, let B denote the basis when j enters the set P and Yj = B-laj' By the
check in the third line of the procedure, y} = 0 for all k(i) E 1- F where I is the index set of B,
t.e ., aj is a linear combination of a k with k E In F , and the corresponding Cj = O. It follows that
a j = "2:kElnF Akak and Cj = "2:kEIn F AkCk for some Ak E R Since none of the variables in I n F
leaves the basis, Cj -I- 0 is impossible for the final basis produced by FREEVARIABLES and the
claim follows.
Suppose that the pivoting procedure stops with the message that (BVLP) is either infeasible or
unbounded. Like in the previous case, denote by B the basis when this happens, by I the index
set of B and let Yj = e :«; Again a j is a linear combination of ak with k E In F, but Cj -I- O.
Define Y E ~n by
Yk = -Y~k for k E I , Yj = 1, Yk = 0 otherwise.

Then Ay = 0 and cy = Cj - CBYj = Cj' Suppose there exists a feasible x E ~n for (BVLP) . Then
x + AY is a feasible solution to (BVLP) for all A E R Hence

C( x + AY) = cx + ACj -+ +00 for A -+ +00 if Cj > 0 and for A -+ -00 if Cj < 0

and the procedure is correct. Consequently, we can find a basis B for (Phase I) such that

Cj = Cj - cBB- laj = 0 for all j EF

if (BVLP) has a finite optimum solution, t.e., we can start the Dual BVSimplex Algorithm to solve
the linear program (Phase I) as we did in the case where F = 0.
Setting all variables in (Phase I) equal to zero we have a feasible solution and thus the optimal
objective value of (Phase I) is greater than or equal to zero. Suppose (Phase I) produces an
optimal objective function equal to zero. Then the optimal basis B cum partitioning (G* , L *, U*),
say, provides a dual basis B cum partitioning (G , L , U) for (BVLP) as follows. We compute Cj =
Cj - cBB -laj for j E en NS and set

L = L * U {j E C n N S : Cj ::; O}, U = U* U {j E C n N S : Cj > O}.


6.1. EXERCISES 121

Now suppose that (Phase I) has an optimal objective function value greater than zero. We claim
that (BVLP) either has no feasible solution at all or that it has an unbounded optimum solution.
So suppose there exists x E JR.n that is feasible for (BVLP). We construct y E JR.n satisfying Ay = 0
by setting Yc nNs = 0 and Y equal to the optimal solution of (Phase I) otherwise. It follows that
x + >..y is feasible for (BVLP) for all >.. ~ 0 and

e(x + >..y) = ex + >..ey -+ +00 for X -+ +00


since ey > O. Consequently, we know how to start the Dual BVSimplex Algorithm, if (BVLP) has
a finite optimum solution. The efficient implementation of find ing an initial dual basis for (BVLP)
along the lines outlined here is left to the reader.

*Exercise 6.14
The traffic equations for a (single class general open qeueing network model of a) job shop with
n ~ 2 work centers are given by
n
(P) L "Ii = 1, L Pj i ::; 1 for j = 1, . . . ,n, "Ii +L Vj Pji = Vi for i = 1, . . . ,n,
i=1 i#j j#i

"Ii ~ 0 for i = 1, .. . ,n, Pj i ~ 0 for 1 ::; j 1= i ::; n ,


where Vi denotes the expected number of visits a typicaljob makes to work center i . "Ii denotes
the fraction of jobs arriving to the network that first visit work center i, while the "switching
probabilities" P j i denote the probability that ajob upon completion of service at work center j visits
work center i . The "Ii and P j i are the "design parameters" of the job shop. The choice of their
numerical values affects the performance of the job shop as measured e.g. by the number ofjobs
waiting to be served in the shop. The objective is to find design parameters that minimize the
expected number ofjobs in the entire shop (ef. Buzacott and Shanthikumar, Stochastic Models of
Manufacturing Systems, Prentice Hall , 1993, pp.330). Also of interest is the conditional problem
(P,,() where for given values "11, . . . ,"In satisfying 0 ::; "Ii ::; Vi for i = 1, . . . ,n and 2:=~=1 "Ii = 1 we wish
to find SWitching probabilities P j i satisfying

(P,) L P j i ::; 1 for j = 1, .. . ,n, L Vj Pji = Vi - "Ii for i = 1, . . . ,n,


i# j j#i

Pji ~ 0 for 1 ::; j 1= i ::; n.


In this exercise we are solely interested in the solvability of (P) and (P,). We will assume Vi > 0
for i = 1, . . . , n and 2:=7=1 Vi ~ 1, because otherwise a work center can be removed or neither
system is solvable. Show:
(i) (P,,() is solvable if and only if Vi - "Ii ::; I:j#i Vj for i = 1, . .. ,n .
122 6. PRIMAL-DUAL PAIRS

(ii) (P) is solvable if and only if there exist €i :::: 0 with €i ~ Vi jar i = 1, . . . ,n and L~=1 €i = 1 such
that Vi - €i ~ L jfi "i jar i = 1, ... , n .
(iii) (P) is solvable if and only if Vjmax - L jfj m ax Vj ~ 1, where jmax is such that Vjma x :::: Vj jar all
1 ~ j ~ n.

(i) By Farkas' Lemma (P')') is solvable if and only if every solution u = (Ul"" ,Un) and w =
(W I , . .. ,Wn ) to
Uj + VjWi:::: 0 for 1 ~ j i- i ~ n, Uj:::: 0 for j = 1, . . . ,n (6.14)
s atis fies L 7= 1 Uj + L~= 1 (V i - "Ii )Wi :::: 0, t.e., if and only if (u , w) E JR2n satisfying (6.14) and
n n
I>j+
j=1
2:: (Vi - "Ii )Wi
i= 1
<0 (6.15)

do not exist.
Suppose that a condition is violated. Without loss of gen eral ity we can assume that
n
VI > "11 + 2:: Vj '
j =2

Then WI = - I, Wj = 0 for j = 2, .. . , n , U l = 0 and Uj = Vj for j = 2, ... ,n satisfy (6.14) and (6.15),


which is a contradiction. Hence the conditions are necessary.
Suppose the conditions are satisfied. Let (u, w ) E JR2n be any solu tion to (6.14). Without loss of
gen erality we can assume that
WI = min Wj and W2 = mi n Wj '
l ~j ~n 2~j~n

Let wi = m in{O, wd and wi = min{O, W2 } ' From (6.14) it follows that

(6.16)
From Vi - "Ii :::: 0 for i = 1, . . . ,n , WI :::: wi, Wj :::: W2 :::: wi for j = 2, .. . ,n and L~=I "Ii = 1 we
calculate using (6.16)
n n
2:: Uj + 2:: (Vi - "Ii )W i
j=1 i= 1
n n
:::: - V I W 2 - 2:: Vj W~ + (VI -"II)W~ + 2:: (Vj -"Ij)W2
j =2 j=2
n n

= (VI - "11 - 2:: Vj )W~ - (VI - 2::(Vj - "Ij))wi


j=2 j =2
n
= -W~ + (VI - 2::(Vj - "Ij ))(W~ - wi) :::: -wi:::: 0,
j =2
6.1. EXERCISES 123

because wi ::; w 2 ::; 0 and, by VI - 'Y1 ::; I:';=2Vj and I:i I'i = 1, VI - I:';= 2(V j - I'j ) ::; 1. Since
(u ,w ) E JR2n is any solution to (6.14), by Farkas' Lemma, ('P,) is solvable.
(ii) If (P) is solvable, let b ,p) be any solu tion to ('P), where I' is the n vector of the l'i' S and p is the
n(n - 1) vector corresponding to the Pj /s . Then p is a solution to the conditional system (P,) and
thus by (0 the conditions of (iO are met with Ei = I'i for i = 1, .. . ,n. Suppose the conditions are
satisfied. By (0 ('P,) with I'i = Ei for i = 1, . . . ,n is solvable and hence so is ('Pl .
(iii) It suffices to show that Ei satisfying (iO exist if and only if Vjmax - L. j#j max Vj ::; 1. If
Vjmax - L. j#j max Vj > 1, then from Vi - Ei ::; L.j#i Vj for i = j m ax it follows that Ejmax > 1, which
is a contradiction. Thus the condition of (iiO is necessary. To show that it is sufficient, note that
from the ch oice of jmax

-Vjmax + L Vj::; - Vi + L Vj for 1 ::; i < m and L Vj - Vi ~ 0 for all i =I- jmax.
j#jmax j#i j#i

Thus the constraints Vi - Ei ::; L. j#i Vj of (i0 are redundant for all i =I- jmax. For i = jmax we get
from Ei ::; Vi that Vjmax - L. j# j max Vj ::; Ejmax ::; Vjmax ' Since Vjmax - L.j#j m ax Vj ::; 1 the existence of Ei
follows from L.i Vi ~ 1. Hence (iiO is correct.
7. Analytical Geometry

MT)oe:lc; &YEcu[llhpT)1:oc; dohcr [lou 1:~V cr1:EYT)V. 1


Plato of Athens (c. 427-347 B.C.)

Here we summarize the essentials of Chapter 7 of the text. No proofs are given, but aside
from the proofs the summary is intended to be self-contained and to serve as a study gutde for
an in-depth study of the subject of the polyhedral underpinnings of linear and combinatorial
optimization using the text,

7.1 Points, Lines, Subspaces


A vector x E jRn is also called a point of jRn . The unit vectors Ul , .. . , Un of jRn form a basis of R".
The points xl , . .. , x t of jRn are affinely independent if the unique solution to AlX l + ...+ AtXt = O.
Al + ...+ At = 0 is Al = . .. = At = 0; otherwise they are affinely dependent. For any xl , ,xt and
scalars J.L i sattsfytng L:~=l J.L i = 1 the point x = L:~=l J.L iXi is an affine combination of Xl , ,x t.
The point uO = 0 is the origin of R" . The n+1 points uo , u l , ... , Un of R" are affinely independent
and moreover, they are a maximal set of such points in jRn. jRn is the n-dimensional affine vector
space (over the field of reals) and uo ,Ul , . . . , Un an (affine) coordinate system for jRn . Xl, ... , Xt E jRn
are affinely independent if and only if x 2 - Xl , . . . , x t - Xl are linearly independent.
Definition DI LetL ~ jRn be any set. The affine rankofL isar(L) = max{t : xl, . . . , x t E L , xl , . . . , x t
are affinely independent, 0 ::; t < oo}. The dimension of L, dimL, equals areL) - 1. if dimL = n
then L is of full dimension. L is a subspace ofjRn if and only if for all x , y ELand A, J.L E jR we have
AX+J.LY E L. lin(L) = [re E jRn : x = L:~=l J.L iXi where Xi E L , J.Li E jR, 1 ::; i ::; t , 0 ::; t < oo} is the linear
hull of L. af f(L) = {x E jRn : x = L:~=l J.L iXi where Xi E L , J.L i E jR, L:~=l J.L i = 1, 1 ::; i ::; t, 0 ::; t < oo}
is the affine hull of L. By convention, lin(0) = {O} and af f(0) = 0.
For any L ~ R", lin(L) is a subspace of R" , If x E jRn. x:f:. 0, and L = {x}, lin(L) is a line of
jRn that passes through O. For any x E jRn. x :f:. 0, let (x) = {y E jRn : y = AX for any >. 2: O}; (x)
is the haljline containing the origin and evidently, lin({x}) = (x) + (-x). There we have used the
convention that for any two sets S , T ~ jRn the sum of Sand T is defined by

S + T = {z E jRn : 3x E S, yET such that z = x + y} .


If L = {Xl, x 2} and xl :f:. x 2, then af f(L) is the line of jRn that passes through Xl and x 2. Since
x = J.LlX l + J.L2X 2 = Xl + J.L 2(X 2 - Xl) for all J.Ll ,J.L2 E jR with J.Ll + J.L 2 = 1 we get aff({xl,x 2}) =
Xl + line{x 2 - Xl}) and the vector y = x 2 - Xl :f:. 0 is the direction vector of the line af f( {xl, x 2}).
If L = {Xl , .. . ,x t} then af f(L) = xl + lin(L - xl) so that af f(L) is a displaced subspace. Xl is
the displacement (or translation) vector and L an affine subspace of jRn, for short. Every point of
jRn is an affine subspace of IR n and so is every line of R". af f (L) = line L) if and only if 0 E af f (L).
A function N : jRn -+ jR is a norm on jRn if it satisfies (i) N (x) 2: 0 for all x E jRn; [ii) N (x) = 0
if and only if x = 0; (iii) N(ax) = a N (x ) for all x E jRn and a 2: 0 and (iv) N(x + y) ::; N(x) + N(y)
for all x , y E jRn . Point (iv) is the triangle inequality. Every norm N on jRn induces a measure
of distance between any two points x ,y E jRn via the distance function dN(X ,y) = N(x - y) . The
I No non-geometrician shall enter under my roof.

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
126 7. ANALYTICAL GEOMETRY

distance of x from 0 is the norm of x or the length of x in the norm N . For L <;:;; IRn the distance oj
x E IRn jromL in the normN is dN(L,x) = min{dN(Y'X): y E L}. The Euclidean norm or t'2-norm
IIxll2' the t'l-norm IIxlh and the t'oo-norm Ilxli oo of x E IRn,
n n
IIxl12 = (LxT) l/2 ,
i=l
IIxlll = L
i=l
lXii, IIxll oo = max{lxil : i = 1, .. . ,n } ,

are the most frequently encountered norms on IRn. IIxl12 is generally abbreviated by Ilxli without
the subscript 2 and the associated distance function IIx -yll is denoted by d(x , y) for all x , y E IR n.
All three functions 1I·llp are norms on IR n where p E {I, 2, oo}. The function Ilxll defines a norm on
IRn because of the following C-S inequality which is also true if x = 0 or y = O.
7.1(a) (Cauchy-Schwarz inequality) For any x, y E IRn , x i= 0 i= y , we have IxTyl ::; Ilxllllyll
with equality if and only if x = ay jor some a E IR.
The angle ¢ = ¢:JJY between two vectors x, y E IRn is given by cos¢ = 1I<:lj~~1 .
Two vectors x, y E IRn are orthogonal if and only if yT x = O. By convention, the vector 0 is
orthogonal to all vectors x E IR n • Two nonzero vectors are parallel if and only if they are linearly
dependent.
For any L <;:;; IRn the set Ll.. = {y E IR n : yTx = 0 for all x E L} is the orthogonal complement of
L which is a subspace of IRn . Ll.. = IRn if L = 0 or L = {O}, Ll.. = {O} if L = IRn. It follows that
lin(L) + Ll.. ~ af f(L) + Ll.. = IRn and dimL + dimLl.. = n,
Let L i= 0 be any subspace of IRn and Xl, . . . , x t E L be a maximal set of linearly independent
points in L, i.e., a basis of L. Let {yl , .. . ,yS} be a basis of Ll.., where s = n - t. Let X = (Xl . .. x t)
and Y = (yl ... u":'). Then L = {x E IRn : x = XJL for JL E IR t } = {x E IRn : yTx = O} . The
points Xl, , x t generate all of the points of L, Le. , {xl, . .. , x t} is a finite generator of L. The
points yl , , yn - t define homogeneous linear equations (y i)T x = 0 that linearly describe L,
Le., (yT ,O) is a finite linear description of L. Every subspace of IRn possesses both a finite
generator and a finite linear description. If L is a (nonempty) affine subspace, then, likewise, L
has a finite generator and a finite linear description by way of inhomogeneous linear equations.
Every subspace and affine subspace of IRn thus possesses a double description.
Let a E IR n be any row vector and ao E IR be a scalar. The sets {x E IRn : ax < ao} , {x E IR n :
ax::; ao }, {x E IR n : ax = ao} are the open halfspace , the (closed) halfspace and the hyperplane
defined by (a, ao), respectively.
Let xl , . .. ,xt be a basis of some subspace L <;:;; IRn and like above, X = (Xl . . . x t). The linear
transformations from IR n to IR n given by y = X(X T X)-lX T x and z = (In - X(X T X)-l XT)x are
the orthogonal projections of R" onto L and Ll.., respectively. Every x E IRn can be written uniquely
as x = y + z where y ELand z E Ll.., i.e. y T z = O.
If a basis {yl , . . . , yn - t } of t» is given then the orthogonal projections of R" onto L and Ll.. are
given by y = (In - y(yTy) -lyT)x and z = y(yTy)-lyT x, respectively.
Let A be any n x n matrix with columns a , for 1 ::; i ::; n. We construct a new matrix B with
columns bk recursively from the matrix A as follows
k T b
bk +! = ak+l - f=t a k +! i i
""' lbJ2b ,

where k = 1, ... , n - 1 provided the calculations are well defined.


7.2. POLYHEDRA, IDEAL DESCRIPTIONS, CONES 127

Tetrahedron Hexahedron Octahedron

Dodecahedron Icosahedron

Fig. 7.1. The Platonic solids

7.1(b) (Gram-Schmidt orthogonalization) With the above notation, if A is nonsingular


then B is nonsingular, orthogonal (brlJ = ofor k -=I- j ) and IdetBI = IdetAI = IT7=11Ibill.
n
7.I(c) (Hadamard inequality) IdetAI :::; I1llaill for every n x n matrix A = (al ... an) with
i=l
equality if and only if aT aj = 0 for all I :::; i < j :::; n .

7.2 Polyhedra, Ideal Descriptions, Cones


Definition PI A set P ~ IR n is a polyhedron if and only if there exists an m x n matrix Hand
a vector h of m real numbers such that P = {x E IR n : H x :::; h} where 0 :::; m < 00. The system of
inequalities H x :::; h is a linear description of P .
In other words, a polyhedron is the intersection of finitely many (closed) halfspaces in some finite
dimensional vector space (over the field of reals). We write P = P(H, h) to denote the polyhedron
defined by H , h and make the blanket assumption that (H , h) has no row consisting entirely of
zeroes only. Let X(A) = xO + Ay for some xO , y E IR n , y -=I- 0 be some line in IR n where A E IR is
a parameter and y is the direction vector of the line x (A). Then x (A) E P for all A E IR if and only if
XO E P and Hy = O. A polyhedron P in IR n may contain lines. We let L » = {x E IR n : H« = O} be
the lineality space of P .
7.2(a) A polyhedron P(H, h) is line free if and only if the rank of H equals n .
Let L~ = {x E IR n : xTy = 0 for all y EL p} be the orthogonal complement of L p in IR n . Then
diml. » = n - r(H ), dimL~ = r(H) and L p = {O} if and only if L~ = IR n . Let the rows of the
matrix G correspond to the vectors of a basis of the subspace L p . Then G has n - r(H) rows and
128 7. ANALYTICAL GEOMETRY

n columns, r(G) = n - r(H) and L~ = {x E JRn : G» = a}. Thus


pO=pnL~={XEJRn:Hx:::;h, Gx:::;o , -Gx:::;O}

is a linefree polyhedron and every x E P has a unique representation x = y + l where y E pO and


l E Lp, i.e., we have the orthogonal decomposition P = pO + L p , and dimP(H , h) = do + n - r(H)
for any polyhedron P = P( H , h), where do = dimpo .
Definition EP Let P ~ JRn be any set. x E P is an extreme point of P if and only iffor any Xl,
x 2 E P and 0 < J.t < 1 such that x = J.tx l + (1 - J.t)x 2 itfollows that x = Xl = x 2 •
If P contains a line then we say that P is blunt. Blunt polyhedra have no extreme points. We say
that a polyhedron P is pointed if P has at least one extreme point.
7.2(b) xO E JRn is an extreme point of a polyhedron P( H , h) if and only if H xO :::; hand
H lxO = h-i for some n x (n + 1) submatrix (HI ,h l) of(H, h) with r(H I ) = n .
7.2(c) A line free polyhedron P( H , h) is pointed if and only if it is nonempty.
7.2(d) xO E JRn is an extreme point of a polyhedron P = P(H, h) ifand only iffor some row
vectore E JRn we have max{ex : x E P} = exo > ex for all x E P, x -;. xO .

7.2.1 Faces, Valid Equations, Affine Hulls


Definition FA Let P ~ JRn be a polyhedron and F ~ JRn be any set.

(i) F is a face of P if and only if there exists a row vector (I , fo) E JRn+1 with I -;. such that
F = {x E P : Ix = fo} and Ix < fofor all x E P, x rt. F. ifF is aface of P and (I, fo) E JRn+l
°
such that F = {x E P : Ix = fo} then Ix :S fo defines (or induces or determines) theface F .
(ii) F is a facet of P if and only if F is aface ofP and dimF = dimP - 1.
(iii) A face of dimension 0 is an extreme point of P. A face of dimension 1 is an edge of P. Two
extreme points of P are adjacent if they are contained in an edge of P. A nonemptyface F is
a proper face ofP ifdimF < dimP; it is an improper face ifdimF = dimP. A polyhedron is full
dimensional ifdimP = n.

In the case that P is of full dimension, we drop the requirement that I -;. 0 in the definition of an
improper face, so that P is always an improper face of itself.
7.2(e) A nonempty set F ~ JRn is a properface of dimension k of a polyhedron P = P( H , h)
ifand only if there exists a partitioning of(H, h) into two submatrices (HI , hI) and (H 2 , h 2 )
such that r(Ht} = n - k, F = {x E P : Hlx = ht} and H 2x < h 2 for some x E F , where
0 :::; k :::; dimP-1.
The faces of smallest dimension of a polyhedron are the minimal faces of the polyhedron, i.e.
they are precisely those faces of P that have no proper (sub-)faces.
7.2(f) The minimalfaces ofa nonempty polyhedron P = P(H, h) have the dimension n-r(H)
and the minimalfaces ofthe polyhedron pO = P n L~ are precisely the extreme points ofpO .
7.2. POLYHEDRA, IDEAL DESCRIPTIONS, CONES 129

If for any row (h i, hi) of (H ,h) hix = hi for all x E P, then we call h ix = hi a valid equation for
P . We denote by (H= ,h=) the (possibly empty) submatrix of (H ,h) of all valid equations for P
and by (H< , h <) the remaining rows of (H , h). Every polyhedron can thus be written as

(7.1)

If P =J. 0 we can assume WROG that = r(H=) = m=, where m" is the number of rows of (H= , h =).
The relative interior of the polyhedron P is

(7.2)

The relative interior of P is the set of points of P that are not contained in any proper face of P .
7.2(g) For a nonempty polyhedron P = P(H, h) let (H= ,h=) and (H <,h<) be the partition
oj(H,h) defined in (7.1). Then dimP = n - r (H = ), aff(P) = {x E jRn : H=x = h=} and
dimp o = r(H) - r(H=) where pO = P n L~.
Polyhedra P ~ jRn are called solids if dimP = n and flats otherwise.

7.2.2 Facets, Minimal Complete Descriptions, Quasi-Uniqueness


Denote by d = dimP the dimension of a polyhedron P and define d = -1 if P = 0. If F is a face of
dimension k of P(H , h) =J. 0 then k satisfies 0 ~ n - r(H) ~ k ~ n - r(H=) = d. We index the rows
of (H ,h) corresponding to (H< ,h<) by 1, . . . .m> , those of (H= , h=) by m /: + 1, . .. , m< + m " and
let M = {I , . .. , m< +m= } and M < = {I, . .. , m< }.
7.2(h) Let P = P(H, h) =J. 0 and (H ,h) be partitioned like in (7.1). An inequality hjx ~ hj
with j E M < is redundant relative to H M- jx ~ h M- j if and only ifUj =J. 0 where Uj =
{(u ,v) E jRm <+m= : «n: + o H" = 0 , uh/: + vh= ~ 0, Uj = -1, Uk 2': ofor all k E M < - j} .
7 .2(i) With the same notation as under 7.2(h), ifjor some j E M < the inequality h jx ~ hj is
not redundant, then the set F j = {x E
j
P :h x = h j } is a jacet oj P.
7.2ij) With the same notation as under 7.2(11) and 7.2(i), ifjorj E M < the inequality h jx ~ hj
is redundant and F j ajacet oj P , then there exist (u ,v) E Uj such that uh< + vh= = 0 and
k E M < - j such that Fk = F j where F k = {x E P : hkX = hd .
Starting from any list of inequalities H x :::; h defining a nonempty polyhedron P = P( H, h)
partition (H ,h) into (H= ,h=) and (H<,h<) as done in (7.1). From among the valid equations
H' t » = h " retain only any subset (Hi , hi) of r(H=) linearly independent rows of (H= , h=). From
among the inequalities u -« ~ h < one needs to retain only any subset (H~ , h ~) such that every
corresponding inequality defines a distinct facet of P. We call any such reduced system of linear
equations and/or inequalities that describe a nonempty polyhedron P a minimal complete
description of P or an ideal description of P, for short. Of course, different ideal descriptions
of a nonempty polyhedron P = P(H, h) may exist as is shown by point 7.2m. Nevertheless, every
ideal description of a nonempty polyhedron P = P(H, h) is quasi-unique.
7.2(k) Let (H , h) be an ideal description ojapolyhedronP = P(H , h), L p the lineality space
oj P and pO = P n L~. An ideal description oj the polyhedron pO is given by H <x :::; h < ,
H": » = h", Gx = 0, where (H , h) is partitioned like in (7.1) and the rows ojG are a basis
ojL p •
130 7. ANALITICAL GEOMETRY

7 .2.3 Asymptotic Cones and Extreme Rays


Let X(A) = x + Ay for A ~ 0 be any halfline in ~n where y i= 0 is a direction vector. Then
X(A) E P = P(H, h) for all A ~ 0 if and only if x E P and Hy ::; O. We define

Coo(H) = {y E ~n : Hy ::; O} (7.3)


or Coo = Coo(H), for short. Coo is the asymptotic cone (or recession cone or characteristic cone)
of P.
Definition CO
(i) A subset C ~ ~n is a cone if and only if yl , y 2 E C implies Al yl + A2y2 E C jor all Al ~ 0 and
A2 ~ O.

(ii) The lineality space La oj a cone C is the set L a = {y E ~n : y E C and - y E C}.

(iii) A cone C is pointed if and only if y E C and -y E C imply y = O.


(iv) A haifline (y) is an extreme ray oj a cone C if and only if (y) E C, (-y) (j. C and jor any y l ,
y 2 E C and 0 < f-L < 1 such that y = f-Lyl + (1 - f-L)y2 itjollows that (y) = (yl) = (y 2).

Since Coo is also a polyhedron it is called a polyhedral cone. Every polyh edron P = P(H, h) with
h = 0 is a polyhedral cone and vice versa. While Definition CO applies to arbitrary (convex) cones
none of the cones that are of interest to us are shaped like "ice-cream" cones. Coo is line free if
and only if P is line free. Like in the case of P, let the rows of G correspond to a basis of Lp .
Then the set C~ = Coo n L~ , Le.
C~ = {y E ~n : Hy::; 0, Gu = O} , (7.4)

is a pointed cone and we have the orthogonal decomposition Coo = L p + C~ . By point 7.2(f), the
minimal faces of Coo have the dimension n - r(H) and the cone C~ has exactly one extreme point
y=O.
7.2(£) A haifline (y) is an extreme ray ojC~ if and only ify E C~ and there are exactly
r(H) -1 linearly independent rows h i ojH such that hiy = O.
The extreme rays of C~ are precisely the faces of dimension one of C~. i.e. they are edges of the
polyhedron C~. If the cone Coo(H) contains lines then it does not have extreme rays in the sense
of Definition CO.

7.2.4 Adjacency I, Extreme Rays of Polyhedra,Homogenization


7.2(m) Let P = P(H, h) be a polyhedron, Lp its lineality space, p O = P n L~, Coo its
asymptotic cone and C~ = Coo n L~ . if F ~ ~n is a l-dimensionaljace oj pO then every
x E F is either an element ojsome haifline x O + (y) where x O is an extreme point oj pO and
y an extreme ray ojC~ or x = f-LXo + (1 - f-L)x l jor some 0 ::; f-L ::; 1 where x O i= x l are two
adjacent extreme points oj t» .
7.2(n) With the same notation as under 7.2(m), let x O i= Xl be two extreme points oj pO
and (y) be an extreme ray oj C~ . The haifline x O + (y) is a l-dimensionaljace oj pO if and
only ifjor all W E ~n , W i= 0 such that x O + y +W E p O and x O + y - W E pO it jollows that
7 .3. POINT SETS. AFFINE TRANSFORMATIONS. MINIMAL GENERATORS 131

(w ) = (y) . Two extreme pointsxOand Xl are adjacent if and only if Jor all w E JRn, w =1= 0
such that x + w E p O and x - w E p O itJollows that w = A(X I - x O) for some A E JR, where
x = (I/2)x O + (1/ 2)x l •
If p O has a I-dimenstonal face of the form X O + (y) where x O is an extreme point of p O and (y) an
extreme ray of C20 then p O and hence P is unbounded. i.e. there exist no finite K > 0 such that
P ~ {x E JRn : - K ~ Xj ~ K for j = 1, ... , n} .
7.2(0) With the notation as under 7.2(mJ, if p O is nonempty and (y) an extreme ray oJ C20
then there exists an extreme point x O E pO such that the halfline x O + (y) is a l-dimensional
face oJPo.
It follows that the extreme rays of C20 are in one-to-one correspondence with the direction vectors
y E JRn that define the unbounded I -dtmensional faces of p O. We call the extreme rays (y) of
C20 the extremal directions and the corresponding halflines x O + (y) given by point 7.2(0) the
extreme rays of pO. For a given list of inequalities H x ~ h denote

HP(H ,h) = {(x , xn+d E JRn+1 : Hx - h Xn+1 ~ 0, - Xn+l ~ O} , (7.5)

where we have written (X, Xn+ l) rather than (XT, Xn+l )T to denote (Xl , . " , Xn, Xn+I)T E JRn+l .
HP = HP(H , h ) is a polyhedral cone in JRn+l . Intersecting HP(H , h ) with the hyperplane Xn+l = 1
one gets the polyhedron P (H , h ) embedded into JRn+ l in the natural way. This technique of
embedding a polyhedron P in JRn into a polyhedral cone in JRn+ l is known as the homogenization
technique.

7.3 Point Sets, Mftne Transformations, Minimal Generators


t · .
Definition HU Let S ~ JRn be any set. conv(S) = {x E JRn : x = 2:i=1 JLiX ~ where J-L E At , x~ E S , 1 ~
i ~ t , 0 ~ t < oo} is the convex hull ojS , if At = {J-L E JRt : J-L 2: 0 , 2:~=1 JLi = I } and the conical hull
oJ S, or cone(S )Jorshort, if At = {J-L E JR t : J-L 2: O} . By convention, conv(0) = 0 and cone(0) = {O}.
7.3(a) For any set S ~ JRn we have dim conv(S ) = dim.S, conv(S) ~ cone(S), cone(conv (S )) =
cone(S) and dim cone(S ) = dimS . Moreover, both conv(S ) and cone(S ) are convex subsets oj
JRn.
By 7.2(b) every pointed polyhedron P has a finite number of extreme points. Let

S = {xi E JRn : x i is an extreme point of P (H , h ) for i = 1, .. . , q}.

By the convexity of P . conv (S ) ~ P . If P ~ {x E JRn : -K ~ Xj ~ K for j = 1, .. . , n } for some


o < K < +00 then P is called a polytope to distinguish it from an unbounded polyhedron.
7.3(b) Let S be the set oj extreme points oj a polyhedron P Then conv(S) = P if and only if
P is a polytope. A polytope P ojdimension d has exactly d + 1 affinely independent extreme
points.
7.3(c) (Caratheodory's Theorem) A polyhedron P oj dimension d is a polytope if and only
if every x E P is the convex combination ojat most d + 1 ajfinely independent extreme points
oJ P.
132 7. ANALYTICAL GEOMETRY

7.3(d) (Minkowski's Theorem) Let L p be the lineality space oja polyhedron P, pO = pnL~.
S = {Xl, ... ,xq } the extreme points and T = {yl , ... , yT} the extremal directions oj pO . Then
pO = conv(S) + cone (T ) and P = L p + conv(S) + cone(T).
7.3(e) Let do = dimpo. Every x E pO can be written as x = L:iEIJ1iXi + L:jEJ Ajyj where
J1i ~ 0 Jor all i E I ~ {I , . . . , q}. L:iEI J1i = 1, Aj ~ 0 for all j E J ~ {I, ... ,r}, the extreme
points Xi for i E I are affinely independent. III .:::; do + 1. the extremal directions yj for j E J
are linearly independent and IJI :::; do.

7.3.1 Displaced Cones, Adjacency II, Images of Polyhedra


For a given extreme point xO E pO denote by (Ho ,ho) the submatrix of (H <,h<) such that
HOxo = hO where we have partitioned Hx :::; h as done in (7.1). The set
C(xO,H) = {z E ~n : H=x = b'" , HOx :::; hO , Gx = O} (7.6)

is a polyhedron having precisely one extreme point, Le. xO. and satisfies dimC(xO , H) = do =
dimpo .
7.3(f) Every extreme point oj pO is contained in at least do distinct edges oj pO . Every
extreme point oj a polytope oj dimension d has at least d affinely independent adjacent
extreme points.
By the translation y = x-xo the polyhedron C(xO, H) goes over into a polyhedral cone CC(xO, H) =
{y E ~n : H =y = 0 , HOy :::; 0 , Gy = O} ;2 C~ . C(xO, H) is the displaced asymptotic cone oj pO at xO
and xO is its apex.
Let z = f + Lx be an affine transJormation that maps R" into ~P with 1 :::; p :::; n. If f = 0 then
z = La: is a linear transformation. e.g. an orthogonal projection from IR n onto some subspace of
it. We assume r (L) = p, Le.. that the transformation is of full rank. Let
P = {z E ~P : ::Ix E Qsuch that z = f + Lx} (7.7)
be the image of some polyhedron Q = Q(H,h) ~ R".
7.3(g) The image oj a polyhedron under an affine transJormation (ojJull rank) is a polyhe-
dron.
A linear description of P is obtained as follows: Since r(L) = p partition L into two parts L l
and L 2 such that L, is of size p x p and nonstngular, WROG we will assume that L = (L l L 2).
Partition x E ~n accordingly into Xl and X2 and thus z = f + LlXl + L 2X2' Let the matrix (H , h)
defining Q be partitioned into (H=, h =) and (H <, h <) like in (7.1). According to the partition of L
we partition H= into H't and H=; , H < likewise into H~ and H i. We index the rows of (H <, h <)
by 1, . .. ,m< and those of (H=, h=) by m /: +1, .. . .m/: +m= . In what follows u E ~m< and v E ~m= .
Let
C= {(U , v ) E IR m < + m = : u ( H 2< - H <L-lL)
1 1 2 + V (H=
2 - H =L-lL)
1 1 2 = 0, U ~ 0 } , (7.8)

and (0, v i) for i = 1, . . . , s denote the basis of the lineality space L c of C. Let (u i , vi) for i = s + 1, . .. ,t
denote the direction vectors of the extreme rays of the pointed cone CO = C n Lb. Then
P = {z E IRP : z satisfies (**) }, (7.9)
7.3. POINT SETS, AFFINE TRANSFORMATIONS, MINIMAL GENERATORS 133

where
v iH"{'L1lz =vih=+viH"{'L"llf for i=l, .. . ,8 ,
(u H '{ + v iH"{')L1lz ::; u ih< + ViH < + (u iH'{ + ViH "{')L 1 l f
i for i = 8 + 1, .. . , t .
The assumption that r(L) = p is made for notational convenience only. See the text for the general
case.

7.3.2 Caratheodory, Minkowski, Weyt


Definition P2 A set P <;;:; jRn is a polyhedron if and only if there exists afinite set S = {x\ . .. , x q }
and afinite set T = {yl , . .. , yT} such that P = conv (S ) + cone (T ) where Xi E jRn for i = 1, . . . , q and
yj E jRn for j = 1, ... , r. The pair of sets (S,T) is a finite generator (or a pointwise description) oj P.
According to Definition P2 a polyhedron is the set of points of jRn that can be written as
the convex combinations of some finite set S of points plus the nonnegative combinations of
some other finite set T of direction vectors. We write P = P(S,T) to denote the polyhedron with
generator (S,T).
Let P = P(H, h), g1, .. . .o' E jRn be a basis of its lineality space L p , x\ .. . , x q be the extreme
points and u',... , yT the extremal directions of pO = P n L~ . By point 7.3(d) P = conv(SO ) +
cone(T O), where

S o -_ {X 1 , . .. , x q}, To= { 9 I , . .. , g 8 , - g 1 , .. . , - g 8 , y 1 , . . . , y T} , (7.10)

and thus P is a polyhedron according to Definition P2 . On the other hand, let P = conv (S )+cone (T )
be a polyhedron according to P2 where S = {Xl, . . . , x q } and T = {yl , .. . , yT} are some finite sets
of points of jRn. Denote by X = (x l . . . x q) , Y = (yl . .. y T) the matrices of size n x q, of size n x r,
respectively, corresponding to Sand T , respectively. Every x E P can be written as x = X J.L + YOX
°
with J.L E jRq, J.L ::::: 0, eJ.L = 1 and oX E jRT, oX ::::: where e is the row vector of q ones. Thus P is the
projection of
Q = {(x,J.L, oX) E jRn + q+T: x - XJ.L - YoX = 0, eJ.L = 1, J.L ::::: 0, oX ::::: O}. (7.11)

from jRn +q+T onto jRn and hence by point 7.3(g) a polyhedron according to Definition PI.
7.3(h) (Weyt's Theorem) Definitions PI and P2 are equioaleni definitions oj a polyhedron
in R".
There are thus two distinctively different ways of describing a polyhedron in a finite-dimensional
vector space over the reals. If P <;;:; jRn is given by a linear description, t.e. P = P(H, h) , then
there exist finite sets S , T <;;:; jRn such that P = P(S,T) and vice versa, if P is given by a pointwise
description, Le, P = P(S,T) , then there exists an m x n matrix H and a vector h E jRm such that
P = P(H, h) and 0 ::; m < 00 .

7.3.3 Minimal Generators, Canonical Generators, Quasi-Uniqueness


A finite generator (S, T) of a polyhedron P = P(S, T) is minimal if deleting anyone of the points
in S or T alters the polyhedron. If P is line free then the set S of the extreme points and the set
T of extremal directions of P form a minimal generator of P and vice versa, if (S, T) is a minimal
generator of a line free polyhedron P then S is the set of extreme points and - in some scaling -
134 7. ANALYfICAL GEOMETRY

p = {x E ]R2 : Ht x S h}

Fig. 7.2. Weyl's Theorem in 1R 2

T is the set of extremal directions of P. Up to scaling the points in T, the minimal generator of
a line free polyhedron is unique.
7.3(i) Let S = {xl , .. . ,xq } . T = {yl , . .. , y r }, P = conv(S) + cone(T) , x E P and y E IR n • y =1= o.
P contains the halfline x + (y) ifand only if y E cone(T).
If H x S h is a linear description of the polyhedron P = P (S, T) then P = P (H , h ), cone(T) = Coo (H)
and the lineality space L p of P satisfies L p = cone(T) n cone(- T) , where - T = {y E IR n : -y E T }.
We can thus define the notions of the lineality space and of the asymptotic cone of any polyhedron
P = P (S ,T ) in terms of the set T only, i.e, independently of the linear description of P.
7.3m With the same notation as under 7.3(i) let Y = (y l . . . y r ). The polyhedron P = P (S,T )
is line free ifand only ifT = 0 or {A E IRr : YA = 0, A ~ o} = {a} . Equivalently, P is line free
if and only ifcone(T) is line Jree.
7.3(k) With the same notation as under 7.3(i), the set T can be partitioned into To and T l
such that every point oJTo defines a line oj P and such that t» = conv( S ) + cone(Td is line
Jree. Moreover, every maximal subset oj linearly independent points in To is a basis oj the
lineality space L p oj P.
7.3(£) Given any finite generator (S,T) oj a polyhedron P = P(S,T) a minimal generator
(S*,To U T l ) oj P can be Jound in a finite number oj steps. if T * ~ T is any subset oj
points oJT such that cone(T - T *) is line free and every point in T* defines a line ojP , then
To ~ T * is any maximal subset oj linearly independent vectors in T *. T l ~ T - T * is the
subset oJpoints in T - T * that define distinct extreme rays oj cone(T - T *). S* ~ S is the
subset oj the extreme points oj conv(S) that are distinct extreme points oj the polyhedron
t» = conv(S) + cone(T l ) .
Like any list of inequalities H x S h defining P (H , h ) can be reduced to a minimal set of valid
equations and a minimal set of facet-defining inequalities, any finite generator (S ,T) of P (S,T )
can be reduced to its essential elements: it consists of a basis of the lineality space L p of P, the
extreme points and the extremal directions of an associated polyhedron pl.
7.4. DOUBLE DESCRIPTION ALGORITHMS 135

Minimal generators of polyhedra are not unique: see Exercise 7.6 [ii) and (iii). Among all
generators of a polyhedron P <:;;; IRn we distinguish the canonical generator (SO,TO) of P given
by point 7.3(d), see (7.10), which is unique modulo the choice of a basis of the lineality space L p
and the scaling of the direction vectors y i E TO for i = 1, . .. ,r.
7.3(m) The canonical generator (SO , TO) oj a polyhedron P is minimal.
All minimal generators of a polyhedron P <:;;; IR n share some commonalities. e.g. the cardinalities
of the respective point sets S and T must be the same. Of course, if S = 0 and T i- 0 then replacing
S by {O} does not change the polyhedron P(S, T) which is a polyhedral cone in both cases. So
assume that T i- 0 implies S i- 0 for all generators that we consider. Let 1rP be the orthogonal
projection of IR n onto the orthogonal complement L~ of the lineality space L p of some polyhedron
P <:;;; IR n and G be a s x n matrix of a basis of L p . Then the linear transformation z = 1rpX from IR n
into IRn is
(7.12)
For S IR n let 1rpS = {z E IR n : :Jx E S such that z = 1rpx} be the image of Sunder « » . Let
<:;;;
Hx::; h be a linear description of P, Coo = Coo(H) be the asymptotic cone of P, pO = P n L~ and
C~ = Coo n L~. Hence 1rpP = t», 1rpCoo = C~ and 1rp L p = {O}. If the polyhedron P is pointed
then the matrix G is vacuous and the transformation 1rp is the identity that maps x E IR n onto
itself.
7.3(n) Let x E P and y E Coo be arbitrary. 1rpX is an extreme point oj pO if and only if
there exist exactly r(H) linearly independent rows (h i , hi) oj(H, h) such that h ix = hi. The
halfline (rr py) is an extreme ray oj C~ if and only if y rt. L p and there exist exactly r (H) - 1
linearly independent rows h i ojH such that h iy = O.
7.3(0) A generator (S,T) oj the polyhedron P = P(S,T) is minimal if and only if (1r pS,To U
- To U(1rP T - {O})) is the canonical generator oj p. where To is a basis oj the lineality space
L p ojP and n» the transjormation (7.12}.
It follows that - modulo a basis of the lineality space L p of P - a minimal generator of P is
quasi-unique.

7.4 Double Description Algorithms


Given a linear description of a polyhedron P = P(H , h) , homogenize the constraint set of P and
form the polyhedral cone HP = HP(H , h). see (7.5). By Exercise 7.3, every minimal generator for
H P furnishes a minimal generator for P and vice versa.
Given a pointwise description (S,T) of a polyhedron P = P(S, T), let X, Y be the n x q matrix
of the points Xl, . . . , x q of S and the n x r matrix of the points y1 , ... , y T of T , respectively. The
cone PC = PC(X , Y)
PC(X , Y) = {(v, va) E IRn+l : vX - voe ::; 0, vY ::; O} , (7.13)
where e is a row vector with q entries equal to one and v E IR n is a row vector, is (frequently) called
the va-polar of the polyhedron P = P(S,T) . Like in point 7.3(g) it follows that
P(S,T) = {x E lR n : v ix = Vi for i = 1, . .. ,s , vi x ::; Vi for i = s + 1, . . . , t } , (7.14)
136 7. ANALYTICAL GEOMETRY

where (Vi ,Vi) for i = 1, . .. , 8 form a basis of the lineality space L pc of PC and (Vi , Vi) for i =
o
8 + 1, . . . , t are the extreme rays of the associated pointed cone P C = PC n L~c satisfying v i =f- a.
Any minimal generator of PC(X , Y ) can be used in the linear description (7.1 4) of P (S ,T) . By
Exercise 7.8 we get an ideal description of P = P(S, T ).
The two problems of finding the other description of P from a given description are thus
reduced to the problem of finding a minimal gen erator of some cone. Let H be any m x n matrix
of reals and denote by

C( H) = {y E IRn : Hy :S a} (7.15)

the polyhedral cone defined by H . The double description algorithm takes m, n and the m rows
h 1 , . .. , h m of H as input. It returns the number nb of vectors in a basis of the lineality space l- c
of the cone C = C (H), a set of vectors B L that form a basis of Lc , the number nx of extreme rays
of the associated pointed cone CO = C n L~ and a set of vectors EX that together with the point
set B L u- BLand S = {a} form a minimal generator for C. We assume that h i =f- a for i = 1, . . . ,m
since rows h i = a can be deleted from H. For every value of the counter k ;::: 1 of the algorithm we
denote the elements of the point set BL k - 1 generically by b\ ... , bn b , those of EXk - 1 by y l , . .. , y nx
and NX = {I , .. . , nx }.
Double Description Algorithm [rn , n, H , nb, BL, nx, EX )
Step 0: Se t k := 0, nb := n, B L o := {b1 , . . . , bn b } where bi E IR n for
i = 1, .. . , n is the i t h unit vector, nx := a and EXo := 0.
Step 1: if k > m then
stop "ou tput nb, B L := B L m , nx and EX := EXm " .
else
set k := k + 1, h := h k and go to Step 2 .
endif.
Step 2: if nb = a or hb i = a for i = 1, . .. , nb then
go to Step 4.
else
let j E {1, . . . , nb} be the smallest index j such that hlJ =f- 0,
set b := 1J if hll < 0, b := - 1l if hll > a and go to Step 3.
endif.
Step 3: Replace BLk-l by B L k = { (hb )bi - (hbi)b : i E {I , . . . ,nb} - j} . set nb := nb - 1, replace
EXk-l by EXk = {b} U {( h yi) b - (h b)yi : i E NX}, set nx := nx + 1 and go to Step 1.
Step 4: Set No := {i E NX : hyi = a}, N+ := {i E NX : hyi > a}, N _ := {i E N X : hyi < a}.
For all e E NX calculate M l := {i E {l, ... , k - 1} : h iyl = a} and

N * := {(i,j) : i E N+, j E N _ such that M, n M, ~ M, for all eE NX - {i ,j} } . (7.16)

Replace EXk- 1 by EXk = { y i : i E No U N_} U {Ih yjl y i + Ih y ily j : (i,j) E N *},


set nx := INol + IN_I + IN*I, s et B L k := B L k- 1 and go to Step 1.

7.4.1 Correctness and Finiteness of the Algorithm


Denote by C k = {y IRn : h iy :S a for i = 1, . . . , k} the polyhedral cone formed by the k first rows
E
of H. For k = a we define h O = a and the cone Co = {y E IRn : ay :S a} is the entire IRn • In ter ms of
7.4. DOUBLE DESCRIPTION ALGORITHMS 137

the value of the counter k in Step 2 the algorithm proceeds from a current cone Ck- l to the new
cone Ck = Ck- l n {y E jRn : h ky :s a} .
7.4(a) if the double description algorithm executes Step 3, then the pair ({O} , ELk U - E Lk U
EXk) is a minimal generator OjCk'
7.4(b) if the double description algorithm executes Step 4, then the pair ({O}, ELk U -ELk U
E X k) is a minimal generator ojCk.
7.4(c) The double description algorithmjinds a minimal generatorjor a polyhedral cone in
ajinite number oj steps.
The test in line (7.16) of Step 4 requires a comparison of each pair (i, j) with i E N+ and j E N _
with all other elements of N X. To carry it out one constructs the "inner product table" consisting
of the inner products h" y i of all processed rows with all elements of the set EXk - l , one forms
M, n M, and scans the table for containment of M, n M, in some Mi. e E NX - {i ,j}. The test of
line (7.16) can be sharpened; see Exercise 7.9.

7.4.2 Geometry, Euclidean Reduction, Analysis


Geometrically it is clear how the double description algorithm works. It determines minimal
generators for a sequence of cones Co, . .. , Cm satisfying Co = jRn ;2 C I ;2 ... ;2 Cm = C(H) . where
C k is obtained from Ck-l by intersecting Ck with a single halfspace {y E jRn : h ky :s a}.
A rational number e divides a rational number a if there exists an integer number d such that
a = e · d. The greatest common divisor g.e.d.(al ,'" , an) of n ;::: 2 rational numbers that are not all
zero is the greatest rational number that divides each of aI , .. . , an' The numbers al, . . . , an are
called relatively prime if g.e.d. (al ,' " , an) = 1. To find the greatest common divisor of n rational
numbers one uses repeatedly the Euclidean algorithm which determines the g.e.d. ged of two
positive numbers a and b. By LaJ we denote the largest integer number less than or equal to a.
Euclidean Algorithm (a, b, ged)
Step 0: Set k := 1, ao := a, bo := b.
S tep 1 : S et ak := ak-l -
l Jak-l
bk-l bk - l and 1'f ak = a stop "output ged:=b "
k -l·

Set bk := bk-l -lb:: J


l
ak and if bk = a stop "output ged := ak'"
Set k := k + 1 and go to Step 1.
To control the size of the numbers that define the components of the elements in ELk and EXk
of the double description algorithm one runs the Euclidean algorithm on all elements of those
sets and divides each vector by the greatest common divisor of its components. We refer to this
process of simplifying vectors of length n via the Euclidean algorithm as Euclidean reduction;
see Exercise 7.10.
To prove that the Euclidean algorithm always achieves the desired reduction in the size of
the numbers for the double description algorithm, like e.g. in Exercise 7.10, we need several

:::e:~~~:i::n:::s~enote det (a b)
e d
= Ia b
e d
= ad _ be.
138 7. ANALYfICAL GEOMETRY

7.4(d) Let J = E = {1, . . . , k}, H~ = (h~ ) :~ ~ and k ? 2. Then

k- 1 k J' h~
hP
( - 1)p+q", ' " (_ 1)jH c det H E- {p,q}
L..J L..J hJ~ h~ J- { j ,£}
j = l £= j +1 ~

respectively, where 1 S i < t S k, 1 S P < q S k and by conv ention detH~ = 1.


7.4(e) With the above notation we have for all 1 S p < q S k and 1 S i < t S k that

det H JE-- iPd et H JE-- tq - d et H E- Pd H E- q - d H Ed H E- {p,q}


J-t et J- i - et J et J-{ i ,t} .

Let h i E jRk be column i of the k x k matrix H~ where 1 S i S k . Consider any column vector
h£ EjRk , say, where £ > k is arbitrary. Then

is the matrix obtained from H~ by dropping h i and adding h £ as the last colu mn where 1 S i S k.

7.4(f) Like above let £ > k and h £ E jRk be arbitrary. ThenJor all 1 S i < t S k and
1 Sp Sk
d et H E d H J-
J- t H et
E- ip - d et H E
J- iH
d et H E- p - d et H JEd et H JE--{ip ,t} H
J -t - ·

7.4.3 The Basis Algorithm and All-Integer Inversion


In the modified double description algorithm or MDDA, for sh ort, the computation is organized
somewhat differently from the original algorithm. The part of the algorithm that finds a basis of
the lineality space L of the cone C( H) is separated out. We u s e the same nota tional conventions
as in the original algorithm.
Basis Algorithm(m, n , H , nb, BL, nx, E X, E, J , D et)
Step 0: Set k := 0, nb := n , B L o = {b1 , ... , bn b } where bi E is the i t h unit vector, nx := 0,
jRn
EXo := 0, do := 1, p := 0, Eo := 0, J o := 0, R o := {1, . .. , n} , A o = {1, .. . , m }.
Step 1: Set k := k + 1, h := h" for some r E A k - 1 and A k := A k - 1 - r.
°
if hb i = for i = 1, . . . , nb then
if k ? m then go to Step 3 else go to Step 1.
else
let j E {1, .. . ,nb} be the smallest index such tha t h1J3 =1= 0,
s et b := 1J3 , a := 1 if hb < 0, a := -1 if hb > 0,
set p := p + 1, dp := hb , E p := E p- 1 + r , Jp := Jp - 1 + £ where £ E Rp- 1 is the smallest
index such that ~ =1= 0, Rp := Rp - 1 - £ and go to Step 2.
endif.
7.4. DOUBLE DESCRIPTION ALGORITHMS 139

Step 2: Replace BL p_ 1 by BL p = {(dpbi - (hbi)b) jdp_ 1 : i E {l , . . . ,nb} - j } . set nb := nb - I,


replace EXp_ 1 by EXp = {O"b} U {O"((hyi)b - dpyi) jldp_11 : i E {I, ... , nx n, set n x := n x + 1.
if nb = 0 then go to Step 3 else go to Step 1.
Step 3: stop "output n b, BL := BL p, nx , E X := EXp, E := E p, J := J p, D et := dp".
7 .4(g} The basis algorithm finds the rank r (H ) = n - nb = nx oj H and a row set E and
column set J with lEI = IJI = r (H ) and D et = detH~ -=I- o. The points b" E BL for 1 ::::: r ::::: n b
Jorm a basis oj the lineality space L oj C (H) and satisfy bj; = (-1 )p+i+ 1 detH ~_ i , Hr for
1 ::::: i ::::: nx , bt = detH~ , bj = 0 otherwise. The points y r E EX for 1 ::::: r ::::: n x together
with the points in BL Jorm a basis oJ JRn and a minimal generator for the cone H Ey ::::: O.
Moreover, they satisfy Yj; = 0"( -I t+idetH~~;: for 1 ::::: i ::::: nx , yj = 0 otherwise, where
0" = -sign det H!f.
The basis algorithm calculates the inverse of the matrix H ~ since y T H ~ = 0" det H ~ I p where
y = (YjJ ~:~:.' .' .' :: . It is an "al l-in teger" inversion routine for any square integer matrix offull rank
since all divisions that the algorithm performs have a remainder of zero and the determinant of
a matrix of integers is itself an integer number. If the input matrix is not of full rank then the
algorithm returns the rank of the matrix along with a submatrix of maximal rank and its inverse.

7.4.4 An All-Integer Algorithm for Double Description


Modified Double Description Algorithm(m, n, H, n b, B L, n x, EX)
Step 0: Run the basis algorithm with the matrix H as input, l.e.
call Basis Algorithm(m, n, H, nb, BL , nx , EX, E, J , D et) .
Set k := 0, m a := m - nx, p := n x, A p := {I , ... , m } - E , E p := E, BL p := BL, E X p := EX ,
NX := {I , . .. , n x } and go to Step l.
Step 1: if k ~ m a then
stop "output n b, BL := BL p, nx and E X := EXp."
else
set k := k + I , h := h " for some rE Ap and go to Step 2.
endif
Step 2: Set No := {i E N X : hyi = O} , N+ := {i E N X : hyi > O}, N_ := {i E N X : hyi < O}.
For all £ E N X calculate Me = {i E E p : h i v' = O} and then the set N* defined by (7. 16).
For every (i , j) E N* find e e M, - M , and t E M , - M i , calculate di = IdetH~U {s ,t}1 for
some S t;;:; M, n M j by running the basis algorithm with the matrix H~ as input where
Q = M, n M j U {s , t} and set y i j := dHlhyi ly j + Ihy jlyi )j(hSy j )(htyi) .
Set p := p + I , E p := E p- 1 + r , A p := A p- 1 - r , replace E X p_ 1 by
E X p = { yi : i E No U N_ } U { y i j : (i , j) E N* }, set n x := INol + IN_I + IN*I,
set BLp := BLp - 1 and go to Step l.
In the statement of MDDA it is assumed that the basis algorithm "r eturn s" to the calling program
so that the respective scalars and arrays such a s nb, BL, n x , E X, etc. are all properly s et in the
subroutine.
7.4(h) MDDA finds a minimal generator for the polyhedral cone C(H ) such that every
nonzero componen t oj the vectors in the respective point sets equals the determinant oj
some submatrix oj H in absolute value.
140 7. ANALYfICALGEOMETRY

If all elements of H are integer numbers then by carrying out first the multiplication by d~ and
subsequently the division by the product (h Syi)(ht y i) we get an integer number in the calculation
of each component of y ii in Step 2 so that only divisions with a remainder of zero are performed.
Applying Euclidean reduction generally brings about a stronger reduction in the size of num-
bers produced by the original double description algorithm than the remainderless divisions of
the MDDA.
Returning to the problems posed at the beginning of Chapter 7.4. suppose first that a linear
description H x ::; h of P ~ jRn is given. We form the polyhedral cone H P ~ jRn+ 1 • see (7.5), and
execute the MDDA to find a minimal generator

({O} , BL HP U - B L HP U E X HP)

of H P. where B L H P is a basis of the lineality space L H P of H P . Let

T = BL HP U -BLHP U (EXHP - B).

It follows that (B,T ) is a minimal gen era tor of P = P(H , h).


7.4(i) Given a linear description Hie ::; h oj a polyhedron P = P(H , h ) ~ jRn the MDDA
applied to H P determines a minimal generator (B,T ) ojP such that every nonzero component
oja point in B is the ratio ojthe determinant ojsome submatrix oJ(H , h ) and the determinant
ojsome submatrix ojH and every nonzero component oja point in T equals the determinant
oj some submatrix oj H.
Suppose next that a finite generator (B,T) of some polyhedron P ~ jRn is given. We form the
polyhedral cone PC = PC(X, Y). see (7.13), and execute the MDDA to find a minimal generator

({ O}, B L pc U -BL pc U EXpc )

of P C . where BLpc is a basis of the lineality space Lpc of P C. Let (v i, Vi) for i = 1, . . . , s be the
points in BL pc and (v i , Vi) for i = s + 1, ... ,t be the points in E Xpc satisfying Vi =I- O. Then like in
(7.14) we obtain an ideal description of P = P (B, T ).
7.40) Given afinite generator (B, T) oja polyhedron P = P (B,T ) ~ jRn the MDDA applied to
P C determines an ideal description oj P such that every nonzero component ojan equation
and/ or inequality oj the ideal description ojP equals the determinant ojsome submatrix oj

(~n
7.5 Digital Sizes of Rational Polyhedra and Linear Optimization
A polyhedron P ~ jRn is a rational polyhedron if there exists a linear description H x ::; h of P
such that all elements of the matrix (H , h) are rational numbers. By point 7.4(i), every rational
polyhedron has a minimal gen erator (B,T) . such that every point in BuT has rational components
only.
There are two different ways to measure the "size" of a polyhedron P where by "size" we mean
- roughly - the amount of data necessary to represent the polyhedron on a digital computer. The
first m easure is the number of bits that are necessary to store all data of an ideal description of
7.5. DIGITAL SIZES OF RATIONAL POLYHEDRA AND LINEAR OPTIMIZATION 141

P. the second one is the number of bits necessary to store all data of a minimal generator of P.
So as a first approximation to the "size" of a polyhedron P we can take the cardinality of an ideal
description which we denote by IPle and the cardinality of a minimal generator of P which we
denote by !PIp. Neither measure is appropriate as can be seen from the examples of Exercise 7.2
and Exercise 7.7; see also Exercise 7. 13.
To optimize a linear function over P we need. however. some elements of a linear description of
P or some elements of a finite generator of P and thus we are led to consider the digital size of the
individual elements in either set. By estimating the "largest" digital size of any such element and
multiplying by !PIeand IPlp. respectively. one gets an upper bound on the digital sizes required
to represent the entire polyhedron on a digital computer as well - which is . however. what we
hope to avoid anyway.

7.5.1 Facet Complexity, Vertex Complexity, Complexity of Inversion


(a) = 1 + flog2(1 + jal)l bits are required to store an integer number a and its sign on a digital
computer. (a) is the encoding length or the digital size of a. Any rational number r can be written
as the ratio of two integer numbers p/q. say. with q > 0 and the denominator and numerator are
stored separately so that (r) = (p) + (q) is the digital size of r.
Let x E IR n be any vector with rational components. The digital size of x is the sum of the
digital sizes of its components. i.e. (x) = 2:~=1 (Xi )' The Euclidean norm Ilxll of x satisfies

(7.17)

The digital size of an m x n matrix H of rational numbers is the sum of the digital sizes of its
elements. i.e. (H) = 2::1 2:7=1 ( h~) . The determinant and the inverse of H satisfy

(detH ) ::; 2(H ) - n 2 , (H - 1 ) ::; 4n2 (H) . (7.18)

The digital size of an inequality fx ::; f o with rational f and f o is defined as (f) + Uo).
Definition FC Let P be a rational polyhedron in IR n and </>. v be positive integers.
(i) P has a facet complexity oj</> if</> 2 n + 1 and there exists a linear description H x ::; h ojP such
that (hi) + (hi) ::; </> j or each row (h i , hi) oj(H, h).
(it) P has a vertex complexity oj v if t/ 2 n and there exists a finite generator (S, T) oj P such that
(x) ::; v jor each x ES U T.
SO if IPle is the cardinality of a linear description of a polyhedron P of facet complexity </> then
at most ¢IP le bits are required to represent P on a digital computer and likewise. if !PIp is the
cardinality of a finite generator of vertex complexity v of P then we need at most vi Pi p bits.
When discussing the "polynomiality" of algorithms for problems with rational data. we can rid
ourself of the rationality of the data. Whenever it is convenient we can assume that the data of
e.g. a linear description of a rational polyhedron are all integers. The vertex and facet complexity
of rational polyhedra are interrelated.
7.5(a) ifapolyhedron P ~ IR n has ajacet complexity oj</> . then its vertex complexity is 4n2</> .
if P has a vertex complexity of «, then its facet complexity is 4n2v.
142 7. ANALYTICAL GEOMETRY

Finding e.g. the rank of a rational matrix and calculating its inverse - if nonsingular- and its
determinant are tasks that can be executed in polynomial time on a digital computer having
a maximal wordsize of max{16n¢ , 2¢ + 4n 2 ¢ }. Finding a basis of the lineality space of a rational
polyhedral cone requires time that is polynomial in the digital size of the input.

7.5.2 Polyhedra and Related Polytopes for Linear Optimization


7.5{b) if P is a nonempty polyhedron offacet complexity ¢ then P has a minimal generator
(8, T) such that every x E BUT is a rational number satisfying (x) < 4n 2 ¢ . _2 4n4> < Xj < 24n4>
and ifxj -I- 0 then IXjl = Pj /q j with inieqet p], qj . 1 ::; Pj < 24n4>. 1 ::; qj < 24n4> and IXjl > 2- 4n4>
for 1 ::; j ::; n where x T = ( X l , • . . ,xn ) .
These facts permit to derive bounds that are polynomial in n and ¢ for the linear program or the
"linear optimization problem"
max{cx: x E P},
where P ~ IR n is a rational polyhedron and WROG c E IR n is integer. Since P has a finite linear
description H x ::; h. say. this problem either has no solution. t.e. P = 0. or it is unbounded or it
possesses a finite optimum solution since the number of rows of H is finite. We define

zp = max{ ex : x E P}

and like in Chapter 6 use the conventions that z p = - 00 if P = 0 and Zp = +00 if the objective
function value ex over P is not bounded from above.
7.5(c) With the above notation, let (8, T) be any finite generator ojsome polyhedron P ~ IR n •
Then z p = +00 ifand only ifthere exists yET such that cy -I- 0 if(y) E P and (-y) E P, cy > a
otherwise. Moreover, if P hasfacet complexity 1:> and -00 < Zp < +00, then Izpl < 2(c)+4nq,
and there exists a rational point x O E 8 such that Z p = cxo and (x~) .s 4n¢ for 1 .s j .s n.
Point 7.5(c) can be used in two ways: one consists in reducing the linear program over any
rational polyhedron to a linear program over a rational polytope in the nonnegative orthant, the
other one gives rise to algorithms for linear programming based on binary search.
7.5(d) Let P ~ IR n be a polyhedron oJJacet complexity ¢ and define Pip = Pn {x E IR n : -2ip ::;
Xj .s 2ip for 1 .s j .s n} where <1> = (c) + 8n¢ + 2n 2 ¢ + 2. Then dimP = dimPip. Pip has a facet
complexity oJ<1> + 3 and Zp = +00 if and only if ZPq, 2: 2(c)+4n4> where ZPq, = max{ ex: x E Pip}
and c E IR n has integer components.
Making the translation x j = Xj + 2ip for 1 ::; j ::; n one gets a polytope P~ in the nonnegative orthant
of IR n from the polytope Pip of point 7.5(d). Thus all polynomiality issues regarding rational
polyhedra can be dealt with within the restricted class of rational polytopes in the nonnegative
orthant.

7.5.3 Feasibility, Binary Search, Linear Optimization


Suppose that we have a subroutine FINDXZ (P, n, ¢, <1> , c, z, x,FEAS) that solves the following res-
tricted feasibility problem for the polyhedron P~ = P n {x E IR n : ex 2: z }.
7.5. DIGITALSIZES OF RATIONAL POLYHEDRAAND LINEAR OPTIMIZATION 143

7.5(e) Given a polyhedron P ~ JR.n offacet complexity ¢, a positive integer <I>, a rational
row vector e E JR.n and a rational number z E JR. find a rational vector x = (Xl, . .. ,Xn )T E
P; such that (X j) :::; <I> for 1 :::; j :::; n provided such x exists.

The subroutine (or procedure or oracle) FINDXZ returns a logical "flag" FEAS and a vector x of
length n. If P; = 0 then FEAS assumes the value" false." and x is undefined, while if P; -I 0 then
FEAS assumes the value". true." and x is a rational vector with the required properties. From
point 7.5(d) it follows that for every rational z satisfying

Izi :::; 2(c)+4nq, and <I> 2:: (e) + 8n¢ + 2n2 ¢ + 2

the polyhedron P; is nonempty if and only if a rational vector x E JR.n with the properties required
by the feasibility problem exists.
Binary Search Algorithm 1 (P, n, ¢, c)
Step 0: Set k := 0, z£ := _2 (c)+4nq,+l, z& = 2(c)+4n4>+l , Zu := z&, ZL := z£ , <I> := (c) + 8n¢ + 2n2 ¢ + 2.
Step 1: Set k:= k+ 1, zk := (zu + zd /2 and call FINDXZ(P,n, ¢,<I>,e,zk,x,FEAS).
if FEAS=.true. then
set ZL := zk, zo := zi) ; xO := x and if ZL 2:: 2(c)+4nq, go to Step 2.
else
set ZL := ZL, Zu := zk, xO := x and if so :::; _2 (c)+4nq, go to Step 2.
endif.
if k :::; (e) + n<I> + 4n¢ + 4n 2 ¢ + 2 go to Step 1.
Step 2: if ZL = z£ stop "P is empty and Zp := -00".
if Zu = z& stop "Problem is unbounded and Zp := +00" .
stop "xo is an optimal solution with value Zp := cz?".
By point 7.5(c) the interval [_2 (c)+4 n 4>+\2 (c)+4 4>+I] contains zp = max{cx : x E P} if it is finite .
The binary search algorithm locates Zp in this "interval of uncertainty" by successively halving
the interval, testing whether or not one half of the interval can be discarded and thus "narrowing"
the interval of uncertainty at a geometrical rate.
7.5(f) The binary search algorithm 1 finds the correct answer to the linear optimization
problem max{ ex : x E P} where P ~ JR.n is a polyhedron offacet complexity 1> and c E JR.n
is a row vector with integer components. if the running time of the subroutine FINDXZ is
bounded by a polynomial in n, 1>. <I>, (c) and (z), then the total running time of the algorithm
is bounded by a polynomial inn, 1> and (c) .
The restricted feasibility problem 7 .5(e) imposes a maximum digital size of <I> for each compo-
nent of the output vector x. Point 7.5(f) shows that this suffices to locate an optimal solution
vector exactly and thus Zp in the case where -00 < Zp < +00. Suppose now that subroutine
FINDZX(P ,n ,¢ ,c,z,x,FEAS) solves the following (unrestricted) feasibility problem for the polyhe-
dron P;:

7.5(g) Given a polyhedron P ~ JR.n offacet complexity ¢, a row vector c E JR.n with
integer components and a rational number z E JR. find a rational vector x E P; provided.
such x exists.
144 7. ANALYfICAL GEOMETRY

Binary Search Algorithm 2 (P . n. ¢. c)


Step 0: Set k ..-- 0• zO .- _2 (c)+4n4>+1 • zO
L'- U
= 2(c)+4n4>+l .ZU·- zO ZL'. -- zO
.- U> L'
Step 1: Set k := k + 1. zk := (zu + zL)/2 and call FINDZX(P.n.¢.e.z k.x .FEAS).
if FEAS=. true. then
set ZL := zk. zt) := zn, XO:= x and if ZL ~ 2(c)+4n4> go to Step 2.
else
set ZL := ZL . so := zk. xO := x and if Zu :S _ 2(c)+4n4> go to Step 2.
endif.
if k :S (e) + 4n¢ + 8n 2 ¢ + 2 go to Step 1.
Step 2: if ZL = z2 stop "P is empty and Zp := - exl".
if zt] = z& stop "Problem is unbounded and Zp := -l-oo".
stop "x o is an approximate optimal solution and Zp is the unique rational number
sattsfytng ZL :S Zp :S zij and Zp = r / s with r, s integer and 1 :S s :S 24n24> ."
The binary search algorithm 2 locates the optimal objective function value Zp = max{ex : x E P}
uniquely in some finite interval and an approximately optimal solution vector xO - if z p is finite.
Of course. the second binary search algorithm runs "faster" than the first one.
7.5(h) The binary search algorithm 2 is correct. If the running time ofthe subroutine FINDZX
is bounded by a polynomial in n, ¢. (e) and (z). then the total running time of the algorithm
is bounded by a polynomial inn. ¢ and (e).
Let H x :S h be a linear description of a polyhedron P ~ lRn . Binary search reduces the linear
optimization problem max{ex : H ie :S h } essentially to the problem of proving or disproving the
feasibility of polynomially many linear inequality systems H x :S h . ex ~ z where the value of z
varies. For the question of polynomial-time solvability of the linear optimization problem over
rational polyhedra this means that we are left with proving the existence of subroutines FINDXZ
or FINDZX that run in polynomial time. We come back to this question in Chapter 9.

7.5.4 Perturbation, Uniqueness, Separation


7.5(i) Let P ~ lRn be a nonempty polytope offacet complexity ¢. e = (Cl " " ,c n ) E lRn be
2¢+1
a row vector with integer components. Do ~ 1 + 24n¢+8n . d j = Doncj + Don- j for 1 :S j :S n
and d = (dl, ... , dn ). Then (d) :S (e) + 2n 2( 4n¢ + 8n 2¢ + 3) and there exists a unique x O E P
such that dxo = max{dx : x E Pl . Moreover; ex o = max{ex : x E P } and (xJ) :S 4n¢ for
1 :S j :S n.
By point 7.5(i) we can assume WROG that the linear optimization problem max{ex : x E P } has
a unique optimizer if P is a nonempty polytope sin ce the digital size of the row vector d is bounded
polynomially in n. ¢ and (e) and like e the vector d has integer components. The uniqueness of an
optimizer helps the theoretical analysis of the linear optimization problem considerably. Dividing
d by Don we get componentwise

C·J + Do - j = cJ· + cj for 1 -< J' -< n ,


where e = Do-I > 0 is a "small" number. So we have p erturbed the objective function ex of
the linear optimization problem in a certain way which permits us to conclude the uniqueness
7.5. DIGITALSIZES OF RATIONAL POLYHEDRAAND LINEAR OPTIMIZATION 145

of the optimizer. The particular perturbation technique that we have employed singles out
a lexicographically maximal point from all candidates for the optimum solution.
When the polyhedron P contains lines then an optimizer of max{ex : x E P} is never unique
if the maximum exists at all. Intuitively it is clear that by "som e sort of perturbation" one can
always achieve the uniqueness of the optimizer of the problem max{cx : x E P} when P is a pointed
polyhedron rather than a polytope. However. the particular perturbation technique that we have
employed in point 7.5(i) is not guaranteed to work; see the text. In the case of an unbounded
polyhedron P we need additional information about the asymptotic cone of P in order to find
a perturbation that permits us to conclude the uniqueness of an opttmtzmg point if such a point
exists.
Some very general remarks about the linear optimization problem over pointed polyhedra that
are important in connection with the dynamic simplex algorithm of Chapter 6 and more generally.
in connection with combinatorial optimization problems. follow.
Suppose that P ~ IR.n is a pointed polyhedron with a linear description H x ~ h of P . Then
r(H) = n. Let HI be any n x n nonsingular submatrix of H and denote by H 2 all rows of H that
are not in HI. We partition the vector h accordingly into h I and h 2 • Given a row vector c E IR.n it
follows that xo = H 11h 1 is an optimal solution to the linear optimization problem

max{cx : x E P}
if H 2 x O~ h 2 and cH I 1 2:: o. From an algorithmic point of view this has important consequences.
Leaving aside the question of how to find an appropriate matrix HI. given any nonsingular
submatrix HI of H such that cH I l 2:: O. we need only to "check" the remaining inequalities for
feasibility and we have solved the linear optimization problem over P - if the check comes out
positive.
If the feasibility check can be done "implicitly". Le. without "listing and checking" every
individual linear inequality of H 2 . the better for us - we have avoided to represent the entire
polyhedron on our digital computer. To answer the "feasibility" question we need some algorithm
- another subroutine - to solve the following separation problem (or constraint identffication
problem).

7.5UJ Given a polyhedron P ~ ~n offacet complexity ¢ and a rational point xO E IR.n


find an inequality ha: ::; ho with (h) + (ho) ::; ¢ such that P ~ {x E ~n : ha: ::; ho} and
hxo > ho or prove that no such (h , ho) exists.

The separation problem asks for a hyperplane ha: ::; ho of digital size ¢ that separates the point
xO from the polyhedron P. If such a separating hyperplane does not exist then xO E P , Le. xO is
a member of P , since P has facet complexity ¢. One of the fundamental results regarding linear
optimization over polyhedra is the equivalence of the polynomial-time solvability of the optimiza-
tion and the separation problem. respectively - we return to this equivalence in Chapter 9 .
Without going into any detail as to how to approach the separation problem. let us try to
understand geometrically what is going on. For any submatrix H 1 that "works" denote

the displaced outer cone with apex at xo. Remember the displaced cone C(xO , H ) defined in (7.6).
see Chapter 7.3. OC(XO , H) and C(xO , H ) are different because C(x O, H ) is defined by all rows
146 7. ANALYTICAL GEOMETRY

(hi, hi) of (H, h) for which hixO = hi and thus OC(xO, H) ;2 C(xO, H) . Because P ~ C(xO, H) we
have
max{ex: x E P} = max{cx : x E C(xO,H)} = max{ex: x E OC(xO,H)}
since xO E P and by assumption xO is an optimal solution to max{ex : x E OC(xO,H)} . So rather
than having to find the displaced cone C( xO , H) - which could be rather difficult - it suffices to
have the "outer inclusive" displaced cone OC(xO, H) to conclude optimality of xO. This simplifies
the linear optimization task considerably and we refer to the principle that is at work here as the
outer inclusion principle. We encourage you to draw appropriate pictures in ~2 and ~3 , e.g.
for the linear optimization problems over all of the Platonic solids, to intuitively understand the
differences between
• the linear optimization problem over P,
• the "local" optimization problem over C(xO, H) and
• the "very" local optimization problem over OC(xO, H), respectively,
where xO is an optimizer of ex over P. if necessary for your understanding the differences, redo
as well Exercise 7.13 using the outer inclusion principle; see also Chapter 9.5 .

7.6 Geometry and Complexity of Simplex Algorithms


To give a geometric interpretation of simplex algorithms consider the linear program in standard
form

(LP) minimize ex subject to x E X = {x E IR n : Ax = b, x ::::: O} ,

where X is the feasible set and A is an m x n matrix of data. By Definition PI the set X is
a polyhedron in ~n and Ax = b, x ::::: 0 is its linear description. The rank of the constraint set
equals n because x = Inx::::: 0 is part of it. By points 7.2(a) and 7.2(c) the polyhedron X is either
empty or pointed. Let us assume WROG that X =1= 0, r(A) = m and that A has no zero column.
Now there are two possibilities: either X j = 0 for some j E N = {I , . . . ,n } and all x E X or there
exist x E X such that x > O. In the first case we may as well assume that variable X j is dropped
from the problem. Thus we have WROG

aff(X) = {x E ~n : Ax = b}, relint (X ) = {x EX: x > O} =1= 0 ,


and consequently dimX = n - m. By Minkowski's theorem, see point 7.3(d), we can write

X = conv(S) + cone (T ) ,
where S is the set of extreme points of X and T - in some scaling - the set of extreme rays of the
asymptotic cone X oo of X. The pair (S,T) is a minimal generator of X and since X is line free , it
is also the canonical generator of X. The pair ({O} , T) is a minimal (and canonical) generator of
X oo '
7.6(a) Every basicjeasible solution to the linear program (LP) is an extreme point oj X and
vice versa, every extreme point oj X is a basic jeasible solution to (LP).
7.6. GEOMETRY AND COMPLEXITY OF SIMPLEX ALGORITHMS 147

251<+-- - - - .....

I
1
1/
/
/
/
/
/.
/.
/,

Fig. 7.3. Simplex paths with and without block pivots

7.6(b) .ifthe simplex algorithm changes from afeasibie basis B to a new basis B' in a single
pivot operation, then the respective basic Jeasible solutions x and x' for (LP) are adjacent
extreme points oj X if x =I x' ,
7 .6(c) .if the simplex algorithm detects unboundedness oj the objective Junction at some
basis B , then the halfline x (A) for A ~ 0 oj Chapter 4 defines an extreme ray oj X and x (0)
is an extreme point oj X .

7.6.1 Pivot Column Choice, Simplex Paths, Big M Revisited


In the geometric language of this chapter the primal simplex algorithm is an edge-jollowing
algorithm that moves on the "outside" of the polyhedron X since the successive pivot operations
describe a "path" on X consisting of l-dimensional faces or edges of X , see Figure 7.3.
The various pivot column selection criteria of Chapter 5 select a particular one among all
possible edges of X that improve the objective function. E.g. criterion (c4) selects an edge where
-in the absence of degeneracy- one makes -myopically- the largest possible gain. Criterion (cl)
proceeds by selecting a "minimu m gradient" edge in the space of all nonbasic variables.
Most commercial software packages for linear programming use some variation of the "steepest
edge" criterion (c5). Like in Exercise 4.2 we write X(A) for the edge of X along which we wish to
move to a new basic feasible solution, i.e.,

Let y IR n be the "direction" vector of the edge of X. Partitioning y into y B and y R we have
E
y B = - Y j and Y R has exactly one entry equal to +1 corresponding to j E N - I, all others
equal to zero. The (normalized) vector cillcll is perpendicular to the hyperplane cz = ZB and is
the direction of "steepest" increase for the objective function since c(x + AcTI lI clD = Z B + Allcll
increases for A ~ O. We want to move in the opposite direction since we are minimizing. The
148 7. ANALYTICAL GEOMETRY

cosine of the angle between c/]«] and y is


- 1
ey Cj - es B aj
cos¢ = lIellllyll

The norm [c] is a constant. Thus the criteria (c5) of Chapter 5 select a "direction of steepest
descent" in the space of all (basic and nonbasic) variables of (LP). In the presence of degeneracy
these geometrical notions must, however, be interpreted with care.
Blockpivots on the other hand "shoot through the (relative) interior" of X, see Figure 7.3. for the
geometry of the worst-case example of Exercises 5.9 and 5.10 with n = 3, a = b = 2, C = 5.
Let ¢ 2: n + 1 be any integer number such that (a i ) + (bi ) ~ ¢ for each row of (A ,b) where e
and (A, b) are all rational data. It follows that X is a polyhedron of facet complexity ¢ since the
encoding length of each nonnegativity constraint -Xj ~ 0 is clearly less than ¢. Using the facet
complexity ¢ of X the two Big M-devices used in Chapter 5 and Chapter 6, respectively, can be
made theoretically precise; see the text.

7.6.2 Gaussian Elimination. Fill-In. Scaling


The worst-case example of Exercise 5.9 has shown that the running time of the primal simplex
algorithm with choice rules (cl) and (rl) is not bounded by a polynomial in n, ¢ and (e) since
2n - 1 steps are required. This does not mean, however, that polynomial-time simplex algorithms
cannot exist, but to date no variant of the simplex algorithm is known to have "good" worst-case
behavior.
Just like in the analysis of the double description algorithm we are thus led to study a single
iteration of the simplex algorithm for a linear program in standard form . The work of a single
iteration calls for the solution of three systems of m equations in m unknowns - see Chapter 5.
Gaussian elimination is used to solve systems of equations and so let us analyze this algorithm.
Let Bx = a, Le.

bt X1 +b~ X2 + ... +b;, x m = a1


brX1 +b~ X2 + ... +b;,xm = a2
(7.19)

b"{'X1 +br X2 + ... +b~ xm = am ,

be the system of m linear equations in m unknowns. By re -Indexing the columns and rows if
necessary we can assume that bt =I 0 and we will call bt the (first) pivot element. Assuming that
detB =I 0 we bring (7.19) iteratively into the upper triangular form (7.20).

CtX 1+ C~X2 + + c;,xm = d1


C~ X2+ + c;, x m = d2
(7.20)

Multiplying the first row of (7.19) by -bi /bt and adding the result to row i of (7.19) for 2 ::; i ::; m
we create a new system such that all coefficients in rows 2, . .. ,m of the first column are zero.
7.6. GEOMETRYAND COMPLEXI1Y OF SIMPLEXALGORITHMS 149

The right-hand sides ai for 2:::; i :::; m are changed correspondingly. Variable X l is thus uniquely
determined by the values of X 2, ' . . , X m and the first row since bi = ci i= O. Hence we have reduced
the problem in m variables to one in m - 1 variables and we can repeat. If c~ = b~ - b~bVbi = 0 we
permute the rows so as to get c~ i= 0 which is the (second) pivot element. If no c~ i= 0 exists where
2 :::; i :::; m then detB = 0 contrary to our assumption, otherwise we repeat.
Once the format (7.20) is obtained we solve the system (7.20) by "backward substitution":
since Xm = dm/ cr;:, we get Xm- l = (dm- l - Cr;:,- I Xm )/ C:= ~ , etc until we have found the value for X l .
Gaussian elimination requires O(m 3 ) "flops".

X l + X2 =1 Xl + X 2 = 1
X2 + X3 =1 X2 + X3 = 1
X3 + X 4 = 1 '"'" X3 + X4 = 1 (7.21)
X4 +xs = 1 X4 +xs = 1
Xl +XS = 1 2xs = 1 .

To illustrate Gaussian elimination consider the n x n matrix C n that has exactly two ones per
row , two ones per column and that does not "decompose" into two or more submatrices with the
same characteristics. Suppose n 2 3 is odd and that we want to solve the system of equations
Cnx = e where e is vector of n ones. Carrying out Gaussian elimination you find that the total
number of nonzero elements of the intermediate matrices equals 2n during the iterations except
for the last system which has 2n - 1 nonzeros and is triangular. The first and the last system of
equations is shown in (7.21) for n = 5 and the last one is readily solved by backward substitution.
By contrast, the inverse c;' is 100% dense, i.e. it has n 2 nonzero entries. This shows that our
use of the basis inverse in the statement of the simplex algorithms in Chapter 5 and Chapter 6
was purely didactical because solving systems of equations can be done with less storage space
and greater accuracy directly, Le . without the calculation of an inverse.
Setting aside a full m x (m + 1) array of storage for the execution of Gaussian elimination is in
most cases unnecessary. If the number of nonzeros in the course of calculation does not increase
by "too much", t.e, if the "fill-in" of the matrix is relatively modest, data structures exploiting the
sparsity of B can be used. To keep the fill-in "down", we need a choice rule for the "next" pivot
element. On the other hand, because we are dividing a pivot element may become unacceptably
small or unacceptably large relative to the wordsize of the computer. So either we must avoid
divisions altogether or use a choice rule that takes into account the "size" of the pivot element as
well as the fill-in. When divisions are used then the initial matrix (B a) is frequently scaled in
order to improve the "quality" of the solution obtained; see the text.

7.6.3 Iterative Step I, Pivot Choice, Cholesky Factorization


We denote by B(k) the transformed matrix at iteration k where we have subtracted the pivot row
from itself as well so that it contains zeros only. Row i of B(k) is denoted by kbi , column j by
kbj and the element in row i and column j by kb~ . Denote by E k the index set of pivot rows, by
Jk the index set of pivot columns that the algorithm has processed in iterations 1, .. . ,k where
initially Eo = J o = 0. Denote by L (k) and U(k) matrices of size n x k and k x n, respectively, that
are initially empty and built up during the course of calculations. Denote by a k the transformed
right-hand side at iteration k and M = {1, . . . ,m}. Initially, we have k = 0, B(O) = B and a O = a.
Assuming that detB i= a the iterative step of Gaussian elimination goes as follows.
150 7. ANALYTICAL GEOMETRY

Find h E M - E i; j E M - Jk such that kbj satisfies the pivot choice rule. Set
£k+ l := (k bj) -l kbj ' Uk+l := kb\ B(k+l ) := B (k) - £k+lUk+l , L (k+l ) := (L(k) £k+l ),

U 1k+' ) ,~ (~~:). E kH ,~ E k + hand Jw ,~ Jk + j . Set a W ,~ a k - ailk+' and

a~+l := a~. Set k := k + 1 and repeat while k < m.


We need to give some pivot choice rule. For any a ::; k < m denote by rt. the number of nonzero
entries of row h and by Cj that of column j of B (k) where 1 ::; h, j ::; m. To control the "fill-in" one
chooses kbj =I a such that (rh -l)(cj - 1) is minimum among all candidates.
To control the size of the pivot element one chooses h and j such that Ikbjl is maximum
(complete pivoting) or one picks a column j E M - Ji; e.g. the "first" one, and then selects
h EM - Ek such that Ikbjl is maximum (partial pivoting) or one picks some colu mn j E M - J k
and then a row h EM - Ek such that I kbjl /maxi,R{l kb~l} is maximum.
The product £k+l Uk+l in the iterative step is the dyadic product that we have used already in
Chapter 4. By induction it follows that kb) = a for all (i, j) with i E Eko j E M and with i E M and
j E Ji; Thus B (m ) = 0 and developing backwards we find

B=l,u'+l2U'+ ···+lmum~(l, · .· lm) C~) ~LU .


where we have set L = L (m ) and U = u (m ) for notational simplicity. This is one form of the
Cholesky factorization of the "concatenated" Gaussian algorithm. Let Em = { hI, . " , h m } and
J m = {jl,'" , j m } be the ordered lists of indices constructed iteratively. Define the elements of
two p ermutation matrices P and Q of size m x m by
pt = q}; = 1 for 1 :::; i :::; m, p) = q} = a otherwise.
The matrix P L is lower-triangular and UQ is upper-triangular. The diagonal elements of P L
are all equal to 1, while the diagonal elements of UQ are the pivot elements. Consequently,
PBQ = (P L)(U Q) is a decomposition of PBQ into triangularfactors PL and UQ. The matrices L
and U are generalized triangular matrices, Le. matrices that up to row and column permutations
are triangular.
For the solution of B x = a this means that LUx = a . You find x in two steps: first determine
a vector b such that Lb = a and then determine x from U x = b. Both systems to be solved
are generalized triangu lar systems. Lb = a is solved by "forward substitution" and U x = b by
"backward substitution"; see the text.

7.6.4 Cross Multiplication. Iterative Step II. Integer Factorization


To get a "division free" form of Gaussian elimination let u s go back to the original system of
equations (7.19) and assume that the original data are all integers . Suppose that we multiply
equation i of (7.19) by b~ and add to it the first row multiplied by - bl where 2 ::; i ::; m. This
operation is called cross multiplication and it creates zeros in the first column as well. The
resulting system is equtvalent to the original one and all data remain integer.
7.6. GEOMETRY AND COMPLEXITI OF SIMPLEX ALGORITHMS 151

Repeating this operation "blindly" creates numbers that grow rapidly in size. To see this, solve
the system of equations H x = e this way where H is the matrix of part (iv) of Exercise 7. 10 and
e is a vector of n ones. Using Euclidean reduction, however, we can control the growth of the
numbers and in general the numbers simplify via appropriate divisions that are rematnderless,
Le. the calculations are, in fact, divisionjree.
We use the same notation, initialize all arrays like we did for the iterative step of the Gaussian
algorithm with division and set do := 1, b := 0 where b E ]R;m. For any nonzero scalars a, {3 and
matrix B we write (aB) j{3 to mean that we multiply every (nonzero) element of B by a before
dividing each product by the scalar (3. We do likewise for vectors. Assuming that detB i=- 0 the
iterative step of division free Gaussian elimination goes as follows.

We are dividing, but all divisions are remainderless. We can thus use just that part of the pivot
choice rule which controls the fill-in since the size of the pivot element kbj i=- 0 does not matter.
Like in Step I we conclude that B (m) = O . Developing backwards and dividing by I17:1 di one
gets
m

B = I: (di_ ld i)-l.eiUi = LD-1U ,


i=l

where L = L( m), U = u(m) and D = diag(dod 1, ... , dm- 1dm ), which is an integer Cholesky factori-
zation of B if the data are integer.
Like above L and U are generalized triangular matrices. From the index sets Em and Jm
construct permutation matrices P , Q and get PBQ = PLD-1UQ where PL is lower triangular,
UQ is upper triangular. By induction it follows that a~ = 0 for all h E E k and thus am = o.
Developing backwards and dividing by I17:1 d; it follows that b = (b 1,... , bmf constructed in the
iterative step satisfies a = LD-1b.
Consequently, solving Ute = b by backward substitution like above the solution x for the
system B« = a is found. Since all divisions are remainderless in the iterative step b has integer
components only and divisions (with a possible remainder) are performed only when the solution
x is determined.

7.6.5 Division Free Gaussian Elimination and Cramer's Rule


Let B be any m x m matrix, M = {1, . .. ,m} and a E ]R;m be any column vector. For j E M denote
by Bj the matrix obtained from B by replacing column j of B by the vector a. B M- j+a denotes
the matrix obtained from B by deleting column j from B and adding column a as the last column
to B M _j . Likewise, for any i, e E M denote by B M -Hi the matrix obtained by dropping row e and
adding row i as the last row of that matrix.
For any E <:: M, J <:: M such that lEI = IJ\ and for any j E J denote by B L j+a the matrix
obtained from Bf by deleting column j and adding the column vector o-e = (ah)h EE as the last
152 7. ANALYTICAL GEOMETRY

column to the matrix BL j. We should write BLj+aE' but for notational simplicity we drop the
index E of ae-
For further reference we also denote by B~:~ for c, e E M the matrix that results when we add
(b~)hEE as the last column to B~ and (bntEJ plus the element b~ as the last row to B~+c where b~
is putinto the new column of the matrix of size (lEI + 1) x (IJI + 1).
7.6(d) With the above notation, we havefor all E ~ M, J ~ M with lEI = IJI andfor
allp E J that
m

L detBLp+jdetBj = detBdetBLp+a .
j=l

We state the division free Gaussian algorithm in "programmable" form using sets of vectors
rather than matrices. This way it becomes clear how to use the sparse matrix storage techniques.
We assume that the original matrix B and the intermediate matrices B(k) are stored rowwise in
a sparse structure called RB k and columnwise in a structure CBk. Moreover, we assume that
B-IO.
Division free Gaussian algorithm (m, a, B, x, rk, Det, E, J, L, U, D)
Step 0: Set k := 0, RBo := {b 1 , . • . . b'" ]. CBo := {bI, . .. ,bm } , Eo := 0, Jo := 0, Do := 0, L o := 0,
Uo:= 0, a O := a, b:= 0, rk:= 0, Det := 0, do := 1 and M = {I, ... , m } .
Step 1: Find hEM - E k, j E M - Jk such that kbj satisfies the pivot choice rule.
if none found go to Step 3.
Set rk:= rk + 1, dk+l := kbj , Dk+l := Dk U {dk+l}, Det := dk+l, l := kbj and u =kbh.
Step 2: Set Lk+l := h U ill, Uk+l := Uk U {u}, Ek+l := Ek + h, Jk+l := Jk + i. RBk+l :=
{(dk+l(k~) - fpu) /dk : p E M - Ek+d, CBk+l := {(dk+l(kbq) - uql)/d k : q E M - Jk+l},
bk+1 := a~ and ak+l := (dk+lak - bk+ 1f)/dk • Set k := k + 1 and go to Step 1.
Step 3: if ark -I 0 stop "output: the system Be = a has no solution".
Set E:= E k- 1 , J := Jk-l, D := D k- 1 , L := L k- 1 , U:= Uk- 1 and x:= O.
Set Xjh := (bhDet - 2:1~h+l uj;Xj;}/ujh for h = PI, IJI- 1, .. . ,1.
stop "output x, rk, D et, E, J, L, U, D ".
The division free Gaussian algorithm, or DFGA for short, implements the iterative step II as
stated above except that we have dropped the assumption that detB -I o.
The choice of the pivot element in Step 1 has been left open to your choice of your favorite
heuristic for doing so. You must choose a pivot element kbj that is nonzero, so that "none found"
signifies that kbj = 0 for all hEM - Ek, j E M - Ji, Since we are not dividing the size of kbj does
not matter. The only concern is the fill-in and you may implement the above pivot choice rule for
controlling the fill-in and to break ties you may choose the smallest nonzero Ikbjl that qualifies.
In the next point remember that the set J is in reality an ordered list since the position of
a column in a matrix affects the sign of its determinant.
7.6(e) DFGAfinds the rankr(B) = rk ofB, arowsetE andcolumnsetJ with lEI = IJI = rk
and Det = detB ~ -I O. For 1 :::; k :::; rk the divisors satisfy dk = detB~: -I 0, the vectors £k E L
are linearly independent and satisfy f~ = detB~kk -l +hfor all hEM - E k- 1 , f~ = 0 otherwise.
The vectors uk E U for 1 :::; k :::; rk are linearly independent and satisfy uj = detB~:_ l +j
for all j EM - J k- 1 , uj = 0 otherwise. The vector b constructed by the algorithm satisfies
7.7. CIRCLES, SPHERES, ELLIPSOIDS 153

bk = detB~:_l+a for 1 :::; k :::; r k, bk = 0 otherwise. if ark i- 0 then rk < m and the system
B» = a has no solution. Otherwise, DFGA returns a vector x such thaty = Der1x satisfies
the system By = a ana », = (-l) IJI+h(j)detB~_j+afor aLL j E J, Xj = 0 otherwise, where h(j)
is the position number of j in the set J.
If rk = m then DFGA produces the solution vector in exactly the form as given by Cramer's
rule. If the system is solvable then this is true also, in an appropriately modified form, even when
rk < m.
The number of elementary operations of DFGA are a polynomial function of m. O(m 3 ) elemen-
tary operations are required for its execution. If properly implemented for truly sparse large-scale
problems then the estimation O(m 3 ) is a gross overestimation of the necessary work.
Like in the case of the double description algorithm, Euclidean reduction brings about a stron-
ger reduction in the size of the numbers to be processed by DFGA than the respective divisions
bydk'
7.6(f) DFGA's running timefor solVing the system of equations (7.19) with rational data is
bounded by ajunction that is polynomial in its digital input size.
Suppose that Ax = b is any system of m equations of complexity ¢ in n unknowns with rational
data. If m < n, then add n - m trivial rows 'E7=1 OXj = 0 and if n < m, then add m - n new variables
and zero columns to Ax = b to bring it into the form (7.19). Running DFGA on the square system
of equations we either find a rational solution of size at most 4p2 ¢ where p = min{m, n} or we get
the message that it does not have a solution in time that is polynomial in m, n and ¢. By "solving"
a system of equations we mean the process of proving it unsolvable or producing a solution to it.

7.6(g) Every m x n system of equations Ax = b with rational data offacet complexity ¢ can
be "solved" in time that is polynomial in m, nand ¢. Moreover, if Ax = b is solvable, then
a rational solution x E JR.n such that IXj I:::; 24p </> , Xj = Pj / qj with Pj, qj integer and 1 :::; qj :::; 24p </>
for 1 :::; j :::; n and thus (x) :::; 4p2 ¢ can befound in time that is polynomial in m, n and ¢
where P = min{m, n} .

7.7 Circles, Spheres, Ellipsoids


An n x n matrix Q with real elements qJ is symmetric if qJ = qf for all 1 :::; i, j :::; n. A symmetric
T
matrix Q is positive definite if x Qx > 0 for all x E JR.n, X i- 0, it is positive semi-definite if x T Qx 2:: 0
for all x E JR.n and indefinite if x T Qx > 0, yT Qy < 0 for some x, y E JR.n. The concepts of a negative
(semi-)definite matrix are defined likewise, with xTQx < 0 and x TQx :::; 0, respectively.
Let q(x) = 'E~=l 'E7=i rJxiXj + 'E7=1 CjXj + Co be any function of degree two or a quadraticform
where rJ, Cj E JR. are arbitrary. Setting qJ = (rJ + r{)/2 for 1 :::; i,j :::; n we can write q(x) =
x T Qx + ex + Co where Q = (qJ) is a symmetric matrix and e E JR.n a row vector. If Q is nonsingular
then we can set Xc = -(1 /2)Q - 1eT; we getq(x) = (x-x cfQ(x-xc}+cowhere Co = co- (1/4)eQ- 1eT
and the point Xc is the "center of the quadric" q(m).
The matrix Q = I n is positive definite. The set B(O,r) = {x E JR.n : x TInx :::; r 2 } is the n-
dimensional boll. or sphere with center 0 and radius r > 0 in JR.n. The sphere B (x c , r ) with center
Xc and radius r is
154 7. ANALYTICAL GEOMETRY

Let Ek = {1, . . . , k } and J k = {1, . .. , k } for 1 ::; k ::; n . The k x k submatrices Q~: of Q are the
principal minors of Q. In the next points Q is assumed to be real and symmetric.
7.7(a) Q is positive definite ifand only if detQ~: > 0 for 1 ::; k ::; n .
7.7(b) Q is positive definite if and only if there exists an n x n nonsingular matrix F such
that Q = pT P. if Q is positive definite, then so is Q-1 .
7.7(c) Q is orthogonal and positive definite ifand only ifQ = diag(q1 ,' " ,qn) where qi > 0
for 1 ::; i ::; n .
From point 7.7(c) it follows that Q = I n is the unique orthonormal positive definite matrix.
This explains our particular interest in the sphere B(O, 1) which is called the unit sphere .
7.7(d) Thejunction IlxIIQ = VxTQ IX defines a norm on IR n ifQ is positive definite.
The norm IIxllQ on IR n is the general Euclidean or ellipsoidal norm. For any positive definite
matrix Q of size n x n, Xc E IR n and r > 0 we denote by
EQ(xc ,r) = {x E IR n : (x - xc)TQ - 1(X - xc) ::; r 2 }

the ellipsoid defined by Q with center Xc and "radius" r. The radius r is a scaling factor or
buno-up factor, i.e , EQ(xc , r) c EQ(xc, r') for all 0 ::; r < r' < 00. EQ(xc , r ) is ajfinely equivalent to
the sphere B(O,r). Hence EQ(xc ,r) is a compact convex subset of R", i.e. it is closed. bounded
and convex and we can optimize over EQ(xc , r) using standard techniques from calculus.
Let H be any n x n matrix and consider the problem of finding a vector x =I- 0 with n real or
complex components such that H x = AX for some real or complex number A. Any vector x =I- 0
sattsfytng the equation is called an eigenvector and the corresponding value of A an eigenvalue of
the matrix H.
7.7(e) Let H be an n x n symmetric matrix oj reals. There exist n real eigenvalues Al ::;
. . . ::; An and n linearly independent real eigenvectors Xl , . . . , Xn oj H that are pairwise
orthogonal.
Let A = diag(Al, . . . , An) and X = (Xl' " x n). where Al ::; . .. ::; An are the eigenvalues and
X l, .. . ,X n the eigenvectors of H. It follows that H = XAX- 1 where X is an orthogonal ma-
T
trix, I.e. X -I = X and detX = ±1 , and thus detH = detA = n~=l Ai' Consequently, H is
singular if and only if Ai = 0 for some i. If r (H ) = r then there are exactly n - r eigenvalues
Ai = ... = AHn-r = 0 where 1 ::; i ::; r and the corresponding eigenvectors Xi , . .. , XH n- r form
an orthonormal basis of the subspace {x E IR n : H X = O} since x i Xj = 0 and IIxiII = 1 for all
1 ::; i =I- j < n.
The trace of H is the sum of its diagonal elements, i.e. trace(H) = I:~=1 h~ and thus trace(H) =
I:~1 Ai for any real, symmetric matrix H .
If H is a positive definite matrix, then H has n positive eigenvalues that need, however, not
be distinct. For positive semi-definite matrices there is a similar statement, i.e, their eigenvalues
are nonnegative.
Let 0 < Al ::; . .. ::; An be the eigenvectors of the positive definite matrix Q defining the ellipsoid
EQ(x c , r ) and let X l, .. . , X n be the corresponding eigenvectors. From Q = XAX T we have Q - 1 =
XA -1 X T and thus the eigenvalues of a' are given by l /Ai for 1 ::; i ::; n while the eigenvectors of
Q and a:' are the same. The affine transformation y = _X T x c+XT X for all X E IR n corresponds
to a change of the coordinate system in IR n which leaves the length of any vector unchanged as well
7.7. CIRCLES, SPHERES, ELLIPSOIDS 155

as the angle formed by any two vectors of R". Under this transformation (x - xc)TQ-1(X - xc) =
L~=lyfjAi , and the resulting ellipsoid is EA(O,r) = {y E JRn : y T A - 1y ::; r 2 } . Generalizing the
concept of a principal axis from JR2 and/or JR3 to JRn it follows that EA(O,r) has exactly n linearly
independent principal axes given by r A ui for 1 ::; i ::; n where Ui E JRn is the i t h unit vector.
Moreover, in the ellipsoidal norm IIxliA the principal axes of EA(O,r) have a length of r. Thus
EQ(x c ,r) has n linearly independent principal axes of Euclidean length rA for 1 ::; i ::; n as well
that together with Xc form a rectangular coordinate system for JRn.
We can thus apply the same geometric thinking to ellipsoids in JRn that we are used to apply
to ellipses in JR2 or ellipsoids in JR3. The last affine transformation is referred to as the principal
axis transformation.
Like in JR2 and JR3 where ellipsoids have a certain volume the general ellipsoids in JRn have
a volume. More precisely, the volume of the unit cube C; = {x E JRn : 0 ::; Xj ::; 1 for 1 ::; j ::; n } in
JRn is given by
vol(Cn) = I· I cndx1 .. . dXn = 1 .

If xo , Xl, . .. , x n E JRn are affinely independent and Sx = conv({xo , Xl, . . . , x n}) is the simplex (in
general position) defined by Xo , Xl , . .. , Xn then its volume is given by

vol(Sx) = J.. .Jrs;


dX1'" dXn = ~
n!
det (xo Xl
1 1
x n) .
1

The volume of the unit sphere B = B(O, 1) equals


7rn /2
vol(B)
JJ
= ...
B(O ,l)
dX1 . .. dXn =
I'(I + n/2)
, (7.22)

where I'(c) = Jo e- t t X - 1dt for x> 0 is the gamma function, which satisfies
oo

1
I'(z + 1) = x f (x ) for all x , r( 2" ) = 0i and I'(n) = (n -1)!
for all integer n 2: 1 . The volume of the ellipsoid E = EQ(xc , r ) is calculated using the affine
transformation implied by the factorization of point 7.7(b) to equal

where Al, .. . , An are the positive eigenvalues of Q. This shows that the volume of an ellipsoid E is
monotonically increasing in the blow-up factor r and the Euclidean lengths of the principal axes
of EQ(xc, 1).
For every X E JRn let m(x) be the arithmetic mean of x and for every x E JRn with x > 0 let g(x)
be the geometric mean of x, Le.
n n
m(x) = (lin) 'L Xi and g(x) = (II Xi)l /n .
i= l i= l
156 7 . Al\TALYfICAL GEOMETRY

7.7(f) (Geometric/Arithmetic Mean Inequality) (I1~=1 Xi)l/n :::; O=~=l Xi) jnjor all x E jRn ,
x > 0, with equality if and only if Xi = >. jor 1 :::; i :::; n where>. E jR is positive.

7.8 Exercises

Exercise 7.1
Let p be a polyhedron, Fi be a k-dimensionaljace oj P and F 2 ~ Fl. F 2 is an h-dimensionaljace
oj F l if and only if F 2 is an h-dimensionaljace oj P where h :::; k.

Let P = {x R" : Hie :::; h}. Since Fl is a k dimensional face of P we have by point 7.2(e)
E
Fl = {x E jRn Hi» = h l , Hx :::; h} where (H l , hd is a submatrix of (H, h) with r(H l ) = n - k.
:
Suppose that F 2 is an h dimensional face of P . Then F 2 = {x E jRn : H 2x = h 2 , Hie :::; h}
where (H 2,h2) is a submatrix of (H ,h) and r (H 2) = n - h. Since F2 ~ F l we have that F 2 =
{x E F l : H 2 x = h 2 } , i.e. there exists a partitioning of the constraint matrix of F l such that
F 2 = {re E F l : H 2x = h 2} and r (H 2) = n - h. Thus by point 7.2(e) F 2 is an h dimensional face
of Fl .
On the other hand, suppose that F 2 is an h dimensional face of F l, i.e. F 2 = {x E F l : H 2X = h 2}
and r(H 2 ) =n- h. Then F2 = {x E JRn : Hlx = h l , H 2 x = h 2 , H x ::; h} ~d r H l)
H =n- .
h since
( 2
F2 ~ Fl. Thus (H , h) is partitioned accordingly and by point 7.2(e) F 2 is an h dimensional face
of P.

Exercise 7.2
(i) Given the polyhedron P = {x E jR3 : X2 - X3 :::; 1, - X2 - X3 :::; -I} find its lineality space L p and
an ideal description oj t», Do the same jor P = {x E jR3 : X l + X2 - X3 :::; 1, - Xl - X2 - X3 :::; -I}
andjor P = {x E jR2 : X l - X2 :::; I}. In which cases does every ideal description oj pO yield
a linear description ojP?

(ii) The polyhedron O; = {x E jRn : 0 :::; Xj :::; 1 jor 1 :::; j :::; n} is the n-dimensional unit cube . Show
that dim Cn = n and that its linear description is ideal.

(iii) Prove thatthe linear description ojthe n-dimensional simplex S; ={x E jRn : x 2: 0 , I:.j=l Xj :::; I}
is ideal.
7.8. EXERCISES 157

¥-----'=------""r ¥-+-+-- - - - ---'r xt

Fig. 7.4. The polyhedra of Exercise 7.2.(i)

(i) Let p = {x E 1R3 : X2 - X3 :s: 1 , - X2 - X3 :s: -I} .


The lineality space is given by L » = {x E IR n :
X 2 - X3 = 0 , - X 2 - X3 = a}. A basis of L p is {(I , 0, o)} and thus L~ = {x E 1R : X l = a}. Hence
3

a linear description of pO is pO = P n L~ = {rc E 1R : X2 - X3 :s: 1 , - X 2 - X3 :s: - 1, X l = o} which is


3

also minimal since removing any constraint changes pO.


Let p = {x E 1R3 : X l + X 2 - X3 :s: 1 , -X l - X2 - X3 :s: -I}. The lineality space is given by
L p = {x E IR n : X l + X2 - X3 = 0 , -Xl - X2 - X3 = oj = {x E IR n : X l + X 2 = 0, X3 = a}. A basis
of L p is {(1,-1 ,0)} and thus L~ = {x E 1R3 : X l - X2 = O}. Hence a linear description of po is
p o = p n L~ = {x E 1R3 : Xl + X2 - X3 :s: 1 , - Xl - X2 - X3 :s: -1 , X l - X2 = O} which again is minimal
since all inequalities are nonredundant.
Let p = {x E 1R2 : X l - X2 :s: I}. The lineality space is given by L p = [z E 1R 2 : Xl - X2 = a}.
A basis of the lineality space is {(I , I)} and thus L ~ = {x E 1R2 : X l + X2 = O} . Hence a linear
description of p o is po = p n L ~ = {x E 1R 2 : Xl - X2 :s: 1 , Xl + X2 = O} which again is nonredundant
and thus minimal.
In none of the cases does every ideal description of pO yield a linear description of P. E.g .
p o = {x E ]R.2 : X l ::; 1/ 2, X l + x2 = O} = {x E ]R.2 : x l ::; 1/2} n L~ #- p n L~, but the description
Xl ::; 1/2. X l + X2 = °
is ideal for t».

(ii) We write On = {x E IR n : H x :s: h }. where H = (~;n)' h = (~:) . en and On are the vectors of
all ones and all zeros. respectively. in IR n . Since r (H) = n, it follows that Lp = {O} and L~ = IR n •
hence po = P. Since the point with Xj = 1/2 for all l :s: j :s: n is in On we have that H = is empty and
thus dim On = ti, To show that the linear description is ideal we show first that all inequalities
°
are facet defining. Consider the inequality Xk 2: for some 1 :s: k :s: n which defines the face
Fk = {x E On : Xk = O} . Since the unit vector U k rt F k and U k E On, F is a proper face and since
o E F it is a nonempty face . The n - 1 unit vectors U j for j = 1, . . . ,n. j #- k and the zero vector
are in F k and are affinely independent. Thus dim F), = n -1 = dim On -1 and F k is a facet of On'
To show that inequalities Xk :s: 1 define facets we show WROG that X l :s: 1 does so. Consider the
matrix X with rows xl = u[ . xi = u[ + uT for i = 2, . .. , n. It follows that X is a lower triangular
matrix and thus it has full rank. Thus the vectors x i for i = 1, ... , n are affinely independent
and moreover. they lie on the face F l = {x E On : Xl = I}. Hence dimFI = n - 1 = dim On - 1.
Moreover. Fi is a proper face since 0 E On and 0 rt F l ' Thus F I is a facet of On' Removing any of
°
the inequalities :s: Xj or Xj :s: 1 changes the polyhedron and thus the description of On is ideal.
158 7. ANALYTICAL GEOMETRY

(ill) We write s; ~ {x E nn .n« ~ h} where H ~ (~~n) , h ~ (0;), en and On are the vectors of
all ones and all zeros, respectively, in IR n and thus r (H ) = n . Since 0 E S n and Uk E S« for 1 ::; k ::; n
where Uk is the k-th unit vector in IR n we have dim S n = n . To prove that the description is ideal
we prove that all inequalities are facet defining. Consider the inequality Xk 2: a for some 1 ::; k ::; n
which defines a proper nonempty face F k = {x E S n : Xk = a} of Sn' since 0 E Fi; and Uk tf. Fk,
Uk E Sn' The n - 1 unit vectors Ui for i = 1, .. . , n , i =I k and the zero vector form a set of n affinely
independent vectors that lie on Fi , Thus dim Fk = n - 1 = dim S n - 1 and Fk is a facet of S n' Next
consider the inequality E7=1 X j ::; 1 and let F be the face it defines, i.e. F = {x E Sn : E7=1 Xj = I}.
Since 0 E S n and 0 tf. F, and Ul E F , F is a nonempty proper face of Sn . The n unit vectors Ui,
1 ::; i ::; n lie on F and are affinely independent. Thus dim F = n - 1 = dim S n - 1 and F is a facet of
Sn ' Removing any of the defining inequalities changes the polyhedron and thus the description
of S« is ideal.

Exercise 7.3
Given a polyhedron P = P(H,h) let HP = HP(H ,h) = {(X , Xn+l) E IR n +1 : H» - hXn+l ::;
0 , - Xn+l ::; a}. Let L», LHP be the lineality space oj P and HP, respectively, pO = P n L~.

~
H po = H P n L p and remember that we write (x x n+ 1) rather than ( x:+ J, Let C~ = C~(H) be
the asymptotic cone oj P and c20 = Coo n L~ . Show:
(i) x E Lp if and only if(x, 0) E LHP .

(ii) XO is an extreme point oj P'' if and only if ((x O, 1)) is an extreme ray oj H pO.
(iii) (x) is an extreme ray ojC20 if and only if((x , 0)) is an extreme ray oj H P".
(iv) h ix ::; hi is redundantjor P if and only if h ix - hix n+l ::; a is redundantjor H P .
(v) h ix = hi is a valid equationjor P if and only ifhix - hi xn+l = ajor all (x , 1) E H P.

(i) Suppose x E L p , i.e., H» = O. Then Hie - h Xn+l = 0 with Xn+l = 0, l.e. (x , 0) E L H P ' On the
other hand, if (x , 0) E L H P , we have Ha: - hX n+l = 0 and Xn+l = a. Eliminating Xn+l = a we get
H« = 0, I.e. x E l-r-
(ii) First we note that if the rows of G form a basis of L p then L~ = {x E IR n : Gx = O} and
by part (i) L-Jip = {(x , xn+d E IR n +l : Gx + OXn+l = O} = {(X, Xn+l) E IRn +l : Gx = O}. We

write Hp o = {(x, xn +d E IRn + 1 : H' (x Xn+l ) ::; 0 , Gx = O}, where H' = (~ =~). It follows

that r( H') = r (H) + 1. Suppose that ((x O, 1)) is an extreme ray of H t» . Then by point 7.2(£)
there exist r (H ' ) - 1 linearly independent rows (hi , -hi) of H', with 1 ::; i ::; r(H') - 1, such that
hix O - hi = a. Note that the last row of H' is not one of these rows. So, there exists a submatrix
(H =, h=) of (H , h) such that H =x o = n" and r(H=) = r(H') - 1 = r (H ). Thus the constraints
7.8 . EXERCISES 159

of pO = {x E IR n : H x :::; h , Gx = O} that are satisfied at equality by XO form a matrix with rank


r(H=) + r(G) = r(H) + n - r (H ) = n. Hence by point 7.2(b) xO is an extreme point of pO.
On the other hand, if xO is an extreme point of pO = {x E IR n : H x :::; h , Gx = O} then since
r (G ) = n - r (H ), there exists a submatrix of (H=,h=) of (H ,h) such that r(H=) = r(H) and
H=xo = h", Then (xO ,I) satisfies H =x - h Xn+l = 0, XnH 2:: 0 and Gx = 0, Le. (xO ,I) E Hpo =
{(x , XnH) E IRn +1 : H' (x XnH ) :::; 0 , Gx = O}. Since r(H=) = r (H ) = r(H') - I, there exist
r (H' ) -1 linearly independent rows (h i,-hi) of H' such that h ixO - hi = 0, Le. ((xO ,I)) is an
extreme ray of nt», by point 7.2(£).
(iii) As we showed in (it), the lineality spaces of P and H P share the same basis. Thus we write
C~ = {x E IRn : Hte :::; 0 , Gx = O} and Hpo = {(X , XnH) E IRn +1 : H' (x XnH ) :::; 0, Gx = O},

where H' =
(H-h)
o -1
. Suppose that (x) is an extreme ray of C~ . Then by point 7.2(£), there

exist r (H ) -1 linearly independent rows i of H such that hix = 0. The point (x , 0) E IRn +1 satisfies
Hie - h XnH :::; 0, - XnH :::; 0, Gx = 0, i.e. (x ,O) E ut». Moreover, it satisfies Ox - XnH = 0, and
since the last row of H' is linearly independent from the r(H) - 1 rows of matrix H such that
0,
h ix = it follows that there exist r(H) = r(H') - 1 rows of H' such that h' (x 0)
= 0, i.e. ((x,O))
is an extreme ray of H pO.
On the other hand suppose that ((x , 0)) is an extreme ray of nt». Then there exist r(H')-I
linearly independent rows (h')i of H' such that (h') i (x 0) = 0, i.e. ha: = O. Since r(H') = r(H) + I,
we have that r(H) - 1 of the linearly independent rows of H' are rows of H and thus (x) is an
extreme ray of C~ .
(iv) Assuming that (H , h) is partitioned like in (7.1), we have by point 7.2(h) that h ix :::; hi is
redundant for P if and only if

U1 = {(u,v) E IRm : «u: + »H" = 0, uh< + vh= :::; 0, u, = -1, Uk 2:: 0 for all k f. i} f. 0 .
By part (v) (see below) the sets of valid equalities for the two polyhedra are the same and thus the
partitioning of the constraint matrix of H P is (row-wise) the same with that of (H , h). Applying
°
point 7.2(h) we have that hix - hixnH :::; is redundant for HP if and only if

U2 = {(u ,v) E IRm : «u: +vH= = 0, -uh< -vh= 2:: 0, uO+vO :::; 0, Ui = 1, Uk = 0 for all k f. i} f. 0 .
Since the third constraint of U2 is trivially satisfied by all (u, v) E IRm and the second constraint
can be written as uh< + uh" :::; 0 we have U1 = U2 and thus the assertion follows .
(v) First we show that x E P if and only if (x , 1) E HP. Suppose that (x , 1) E HP . Then Hx-h :::; 0,
t.e. H x :::; h and thus x E P . On the other hand, suppose that x E P. Then H x :::; h and thus
Hie - h :::; 0 and since XnH = 1 > 0, we have (x,I) E HP, and the claim follows. Now assume
that h ix = hi is a valid equality for P , i.e. h ix = hi for all x E P, and suppose that there exists
(x*,I) E HP satisfying h ix - hixnH f. 0, I.e. h ix* f. hi , which contradicts the validity of the
equality, since by the previous claim (x* , 1) E HP implies x * E P. On the other hand, assume
that hix - hixnH = 0 for all (x , 1) E HP and suppose that there exists x * E P such that h ix* f. hi.
Then (te" , 1) E HP and thus h ix* - hi f. 0 which contradicts the assumption.
160 7 . ANALYfICAL GEOMETRY

Exercise 7.4
(i) Let S ~ lR.n be a convex set, Le. jor all Xl, x 2 E S and all 0 ::; J.L ::; 1 we have J.LX l + (1- J.L)x 2 E S.
Show that S is convex if and only if jor all 1 ::; t < 00, Xl , . .. , x t E S and all J.L E lR. t such that
J.L ~ 0and 2:~=1 J.Li = 1 we have 2:~=1 J.LiX i E
S . (Hint: Use induction on t and the jact that
(1 - J.Lt)- l 2:~:~ J.Li = 1 if J.Lt i- 1 and 2:~=1 J.Li = 1. )
(ii) Let S, T ~ R" be two convex sets. Show that S + T = { z E lR. n : z = x +y for some XE S , y ET}
is convex.

(i) Suppose that S is a convex set. For t = I, J.Ll = 1 we get xl E S. For t = 2, J.Ll + J.L2 = 1
we get J.LlX l + J.L2X2 = J.LlX l + (1 - J.L l)X 2 E S from the definition of a convex set. Assume that
the assertion is true for t = k, i.e, for all 1 ::; k < 00 , Xl , . . . , x k E S and all J.L E lR. k such that
J.L ~ 0 and 2:7=1J.Li = 1 we have 2:~=1 J.LiX i E S. We claim that the assertion is true for t = k + 1.
Let J.L E lR.k+ l be such that 2:7~11 J.Li = 1. If J.Lk+l = 0 then the assertion is true by the inductive
hypothesis. If J.LkH = 1 the assertion follows since x k+l E S. So assume 0 < J.Lk+l < 1. Then
1 - J.Lk+l i- 0 and from 2:~~11 J-Li = 1 we calculate (1 - J.LkH )-l 2:~=1 J-Li = 1 and by the inductive
hypothesis the point x' = (1 - J.Lk+ l )- l 2:7=1 J-LiX i E S. Since S is convex and x' , Xk+l E S we have
that (1 - J-Lk+ t}X' + J.Lk+ lX kH ES and after substituting x' we get 2:7~11 J.LiX i E S which proves the
assertion.
On the other hand, suppose that for all l j; t < 00 , x l , . .. , x t E S and all J.L E lR. t such that J.L ~ 0
and I:~= l J.Li = 1 we have I:~=l J.LiX i E S. For t = 2 we get the definition of a convex set and thus S
is convex.
(ii) We have to show that z = J.LZ I + (1 - J.L)z2 E S + T where Zl , z 2 E S + T and 0 ::; J.L ::; 1. Since
z l E S + T there exist Xl E S and u' E T such that zl = xl + y l and similarly for z2 there exist x 2 E S
and y2 E T su ch that Z2 = x 2+ y2 . Thus we have z = J.Lzl+ (I-J.L)z 2 = J.LX l+J.Ly l+ (I-J.L)x 2+ (I-J.L)y2 =
X + Y where we have set x = J.LX l + (1 - J.L)x 2 and y = J-Lyl + (1 - J.L)y2. From the convexity of Sand
T it follows that xES and Y ET, respectively, and thus z E S + T.

Exercise 7.5
(i) Let xy = {(x , y) E lR. p + q : H x + Gy ::; h} where H and G are matrices oj size m x p and m x q,
respectively. Show that under the projection z = (I p O) (x , y ) from lR. p + q onto the subspace lR.P
the image oj xy is given by X = {z E lR.P : vHz ::; vhfor all extreme rays v E C} and that
C = {v E lR.m : vG = 0, v ~ O] is a pointed polyhedral cone.
(ii) Let xy= = { (x , y ) E lR.p + q : H x + Gy = h , x ~ 0, y ~ O}. Show that under the same projection
z = (I p O )(x , y ) as in part (i) the image is x = = {z E lR.P : z ~ 0 , vHz ::; vhjor all v E C} where
C = {v E lR. m : vG ~ O}. Use this to show that the projection oj X = {( x , s ) E lR. n + m : Ax + s =
b, x ~ 0 , s ~ O} onto the subspace ojx-variables yields precisely X :'> = {x E lR. n : Ax ::; b, x ~
O} where A is oj size m x n.
7.8. EXERCISES 161

(iii) Let X = {x E jR3 : - Xl + 2 X 3 :::; 1, X 2 + 2 X 3 ~ 1,0 :::; X3 :::; 1, Xl ~ 0, X2 ~ O}. Show that the image oj
X under the projection Zl = X l , Z2 = X2 is the nonnegative orthant jR~ . Show that the image oj
X under the transformation Z l = Xl + X2 , Z2 = X3 is given by Z l + 2 z 2 ~ 1, - Z l + 2 z 2 :::; 1, Zl ~ 0,
0 :::; Z2 :::;1.

(iv) Let X = {x E jR3 : -Xl + X 3 :::; 0 , X 2 + X3 ~ 1,0 :::; X3 ::; I} . Show that the image of X under the
projection Z l = X l , Z2 = X2 is given by Z l + Z2 ~ 1, Z l ~ 0, Z2 ~ o. Show that the image of X
under the transformation Z l = X l + X2, Z2 = X3 is given by Zl ~ 1, 0 :::; Z2 :::; 1.
(v) Show that the image of a polytope under an affine transformation is a polytope.

(i) From (7.8) with £1 = I p , £ 2 = 0, f = 0 and void matrix H= , we get that the image X of Xy is
X = {z E jRn : uHz :::; uh for all u E C} ,

where C = {u E jRm : uG = 0 , u ~ O}. The lineality space of C is Lc = {O} and thus C is a pointed
cone. Thus every v E C can be written as a nonnegative linear combination of the extreme rays
of C. Hence X = {z E jRP : vHz :::; vh for all extreme rays v E C} since all other inequalities are
redundant.
(ii) We write Xy= = {s E jRp+q: Ks :::; k } where s = (x , y),

and the first m rows of (K , k ) correspond to (H= , h =) in the partitioning of (7.1). Now from (7.8)
with £ 1 = I p , £ 2 = 0 and f = 0 we get that the image X= of Xy= is given by
x = = {z E jRP : (v H - u )z :::; vh for all (v , u , w) E C' },
where C' = {(v ,u,w) E jRm+p+q : vG - w = 0 , u ~ O,w ~ O}. We can replace the cone C' by
C" = {(v ,u) E jRm+p : vG ~ O ,U ~ O} since for every (v ,u) E C" we have (v ,u,vG) E C' and vice
versa. The lineality space Lc of C" is given by {(v, 0) E jRm+p : vG = O}. Every vector (0, u i) is an
extreme ray of the cone CO = C" n L~ where u i is the ith unit vector of jRP and 1·:::; i :::; p. Moreover,
it follows from rank considerations that every extreme ray (v ,u) of CO with u =1= 0 is of this form.
Consequently,
x = = {z E jRP : z ~ 0 , vHz :::; vh for all v E C} .
where C = {v E jRm : vG ~ O} . We can describe X = also as follows: Let v 1 , . . . . v" be a basis of the
lineality space Lc = {v E jRm : vG = O} of C and v r +1 , •• • , VB the extreme rays of C n L~. Then
x = = {z E jRP : z ~ 0 , v iHz = v ih for 1 :::; i:::; r , v iHz :::; »'h. for r + 1 :::; i:::; s} .
For X = {(x ,s ) E jRn +m : Ax + s = b, x ~ 0 , s ~ O} we apply the above result with H = A,
G = 1m and h = b to get that
X ~ = {z E jRn : z ~ 0 , vAz :::; vb for all v E C} where C = {v E jRm : v ~ O} .
162 7 . ANALYTICAL GEOMETRY

Thus the cone C is pointed, the extreme rays of C are th e unit vectors u i of IRm for i = 1, ... ,m
and hence we have x:S: = {z E IR n : A z ::; b , z 2: O}.
(iii) We write X = {x E 1R3 : H x ::; h } where we have set

-1 2 0 1
o -1
-2 -1
0 0 1 1
H= h=
-1 0 0 0
o- 1 0 0
0 o -1 0

Applying the transfor mation with L =


(100)
010
,L I = 1 2 , L 2 = 0 the image P of X is given by

P = { ( Zl ' Z2 ) E 1R2 : ( -UI - U4)ZI + ( -U2 - U 5)Z2 ::; U I - U2 + U3 for all extreme rays u E C} ,

where C = {u E 1R6 : 2UI - 2 U 2 + U3 - U6 = 0, u 2: O}. To find the extreme rays of C, we first simplify
the cone by eliminating the variable U6 , Le. C = {u E 1R5 : 2U I - 2U2 + U3 2: 0, u 2: O}. The extreme
rays of C are u 4 , u 5, u l + u 2 , u 3 , u l , u 2 + 2u 3 and give rise to the in equ alities - Zl ::; 0, -Z2 ::; 0,
-Zl - Z2 ::; 0, °::;
1, - Zl ::; 0, - Z2 ::; 2, respectively . The interse ction of these inequalities is Zl 2: 0,
2
Z2 2: 0 and thus P = { z E 1R : z 2: O}.
For the transformation Zl = X l + X2, Z2 = X 3 , we have

where X2 corresponds to L 2 and thus the corresponding partition of the constraint matrix is

2 -1
°
-1 - 2
°
H <-
I -
°0 01 H <-
2 -
-1°
-1
°-1° °
°
With this information we calculate that the image P of X is given by

P = { ( Zl ' Z2 ) E 1R2 : ( -U2 - U5)ZI + ( 2 UI - 2U2 + U3 - U6)Z2 ::; UI - U2 + U 3 for all extreme rays u E C} ,

where C = {u E 1R6 : - UI + U2 - U 4 + U5 = 0 , u 2: O}. To calcu late the extreme rays of C , we first


eliminate variable U4 to get C = {u = ( UI , U2, U 3, U 5, U6 ) E 1R5 : -UI + U2 + U5 2: 0 , u 2: O}. The extreme
rays of Care (0,0,1 , 0,0) , (0, 0, 0, 0, 1), (1, 1,0, 0, 0), (1, 0, 0,1, 0), and (0, 1, 0, 0, 0), which give rise to
the inequalities Z2 ::; 1, - Z2 ::; 0, -Zl ::; 0, - Zl + 2 z 2 ::; 1, and - Zl - 2z2 ::; -1 , respectively. Thus we
get
7.8. EXERCISES 163

(iv) The matrix of the transformation Zl = Xl . Z2 = X 2 is L = (1010


0 0) and z, = 1 2• L2 = O.Thus
we have that the image P of X is given by
P = {( Zl , Z2 ) E lR 2 : -Ul Zl - U 2 Z2 ::; -U2 + U 3 for all extreme rays u E C}
where C = {u E lR : Ul - U2 + U3 - U4 = 0 , u ~ O}. To find the extreme rays of C we simplify the
4

cone by eliminating variable U4 to get C = {u E lR3 : Ul - U2 + U 3 ~ 0 , u ~ O}. The extreme rays


of Care: (1,0,0) , (0,0, I) , (1,1,0), and (0,1 ,1). which give rise to the inequalities -Zl ::; 0. I, °::;
- Zl - Z2 ::; -1. and -Z2 ::; 0. respectively. Thus we have

P = {( Zl, Z2 ) E lR2 : Zl + Z2 ~ 1, Zl ~ 0, Z2 ~ o} .
For the transformation Zl = Xl + X2 , Z2 = X3 we proceed as in (iii) to find
P= {(Zl , Z2) E lR 2
: -U2 Zl + (Ul - U 2 + U3 - U4) Z2 ::; -U2 + U 3 for all extreme rays u E C} ,
where C = {u E lR : Ul - U 24
= 0 , U ~ O} . The extreme rays of Care (0,0 ,1 ,0), (0,0 ,0,1). and
(1,1 ,0 ,0), which give rise to the inequalities Z2 ::; 1. -Z2 ::; 0. and -Zl ::; -I, respectively. Thus we
have

(v) By point 7.3(b), since P is a polytope, we have P = conv(S) where S = {xl , . .. , x q } is the
set of extreme points of P . Let Q = {z E lRP : ::Ix E P such that z = f + Lx} for some affine
transformation z = f + La: mapping lRn to lRP with 1 ::; p ::; n. By point 7.3(g) Q is a polyhedron.
We show that Q = conv(R). Let z E Q and R = {zl, . . . , zq} where z i = f + Lxi for 1::; i ::; q. Then
there exists x E P such that z = f + Lie. Since P is a polytope, x = L:i=l JLiX i with JLi ~ and °
L:i=l JLi = 1. thus z = L:i=l JLiZ i, i.e. z E conv(R), and hence Q ~ conv(R). On the other hand, let
z E conv(R). Then z = L:i=l JLiZ i = f + L(L:i=l JLiXi) = f + La: for some x E P, Le, conv(R) ~ Q.
and thus Q = conv(R). Consequently, Q is a bounded polyhedron and thus a polytope.

Exercise 7.6
(i) Find a minimal generator and a linear descriptionjor the polyhedron P ~ lR2 generated by
({(I, 0). (1,1) . (0.5,0.5). (0, In . {(0.5, 1). (1,1). (1,0.5)}).
(ii) Let P ~ lR 2 be the polyhedron generated by (0, {(-I, 0). (0, -I) , (-1,2) , (1, -2)}) . Show that
({O} , To UTI) is a minimal generator jor P where To = {(-I, 2n and Ti = {(-I, 0), (1, -2n and
°
that 2 Xl + X 2 ::; is an ideal description ojP . Find a basis ojits lineality space L p and calculate
the extreme points and extremal directions oj the polyhedron po = P n L~.

(iii) Do the same as under (iiljor the polyhedronP ~ lR3 that is generated by ({(I,O,On. {(I , -1 ,0),
(-1 ,1 ,0), (1,0 , 1),(-1 ,0 , I)}) and whose linear description is given by X l + X2 - X3 ::; I, - X l -
X2 - X 3 ::; -1. (Hint : Draw pictures in lR 2 and lR3 • respectively.)
164 7. ANALYfICAL GEOMETRY

4f-- - - - - -.,.r
pO

Fig. 7.5. The polyhedra of Exercise 7.6

(i) Let xl =(1,0), x 2 = (0,1), x 3 = (1,1), x 4 = (0.5,0 .5) and y1 = (0.5,1), y2 = (1,0.5), y3 = (1,1).
Since {A E ]R3 : Aly1 + A2y2 + A3y3 =
.IS llIne free were
h
°,A ~ O} = {a} it follows from point 7.30) that P = Pi S, T)
S -- {x 1 , ... , x 4} and T -- {y 1 , . . . , y 3} . S Ince
' x 4 -- 2"1 x 1 + 2"1 x 2 ,x3 -_ x 4 + 2"1 y 3
3, 4
and y 3 = ~y1 + ~y2, the points x x and y 3 are not needed in a minimal generator for P.
Consequently, P = peS, T) where S = {Xl , x 2} and T = {y1 , y2}. Now Xl = x 2 + A1y1 + A2y2 has no
solution with Al ~ 0, A2 ~ 0, nor does x 2 = Xl + Aly1 + A2y2. Consequently, xl and x 2 are extreme
points of P by point 7.3(£). Likewise neither y 1 = A1y2 nor y2 = A1y1 has a nonnegative solution
°
A1 ~ and thus u', y2 are extremal directions of P. Consequently, (S, T) is a minimal generator
for P . Now we can "graph" the polyhedron P ~ ]R2 and find that a linear description of P is given
by Xl + X2 ~ 1, -2X1 + X2 ::; 1 and Xl - 2X2 ::; 1. In Chapter 7.4 you find an algebraic method to
compute a linear description of a polyhedron from its pointwise description.
(ii) Let u' = (-1 ,2), y 2 = (1, -2), y 3 = (-1 ,0), y4 = (0, -1) and S = 0, T = {yl , y2, u' , y4}. Then P =
Pt S, T) is a cone since S is empty. Since (1, 1,0,0) {A E]R4 : Aly1+A2y2+A3y3+A4y4 = 0, A ~ a} , P
E
has a line. Thus To = {y1}, T 1 = {y2 ,y3,y4} and iterating the procedure stated before point 7.3(k)
we find that T 1 cannot be reduced anymore. Consequently, the lineality space Lp of P is given
by L p = cone({y1, -u' }), p1 = cone(Tl) is line free and the vector u' = (-1 ,2) forms a basis of L p .
Since S = 0 we only need to check all points in Ti for extremality like in paragraph preceding point
7.3(£) . Since y 4 = ~y2 + ~y3 we can drop u' from T, and thus Ti = {y2, y 3}. Neither y2 = Aly3 nor
°
y3 = Aly2 has a solution Al ~ and thus y 2, y 3 are extremal directions of PI, Le. ({O},To UT1) is
a minimal generator for P . Now we can "graph" pI and P and find that P = {x E ]R2 : 2Xl + X2 ::; O}
is a linear description of P. Moreover, L p = {x E ]R2 : 2Xl + X2 = o} is the lineality space of P
with basis u' = (-1 ,2). Forming pO = P n L~ we get pO = {x E ]R2 : 2Xl + X2 ::; 0, -Xl + 2X2 = O}.
Consequently, x = (0,0) is the only extreme point of pO and y = (-2, -1) the only extremal
direction of P'', It follows that P = cone( {yl , _yl , y}) is also a minimal generator of P, which we
call the "canonical" generator of P. Thus, in particular, minimal generators of polyhedra need
not be unique.

(iii) Let Xl = (1,0 ,0), yl = (1,-1,0), y2 = (-1 ,1 ,0), y 3 = (1,0 ,1) y4 = (- 1, 0, 1) and S = {x l},
T = {yl , y2, u', y 4} and P = peS,T). Since (1,1 ,0 ,0) E {A E]R4 : Alyl+A2y2+A3y3+A4y4 = 0, A ~ a},
P has a line. Thus To = {yl}, T l = {y2, y 3, y 4} and iterating the procedure stated before point
7.3(k) we find that T l cannot be reduced anymore. Consequently, the lineality space L p of Pis
given by L p = cone(y1, _y1) , pI = conv(S)+cone(Td is line free and the vector y 1 = (1, -1 ,0) forms
7.8. EXERCISES 165

a basis of L p • Since lSI = 1 it follows that xl is the only extreme point of pl. Checking the points
in T l for extremality like in the paragraph preceding point 7.3(£) we find that T l cannot be reduced
any further. Thus S* = {Xl} , TO = {yl}, T l = {y2,y3,y4} is a minimal generator of P by point
7.3(£). Now we can "graph" t» and P and find that p = {x E jR3 : X l + X2 - X3 ::; 1, X l +X2+ X3 ~ 1} is
a linear description of P, where we have determined the two planes passing through Xl, Xl + y2,
x l+y4 and Xl , x l+y2 , x l+y3 , respectively. Moreover, L p = {x E jR3: Xl +X2 -X3 = 0, Xl +X2+X3 = O}
is the lineality space of P with basis u' = (1, -1, 0). Forming pO = P n L~ we get pO = {z E jR3 :
X l + X2 - X3 ::; 1, X l + X2 + X3 ~ 1, X l - X2 = O} . Consequently, x = (0.5,0 .5,0) is the only extreme
point of pO and fl = (0.5,0.5,1), fi = (-0.5, -0.5, 1) the two extremal directions of pO. It follows
that P = x+ cone({yl, _yl, fi, fi}) , i.e . S = {e}, T = {yl, _yl, fi ,fi}), is also a minimal generator
of P, which we call the "canonical" generator of P. Like in part (ii) we see that minimal generators
of polyhedra need not be unique.

Exercise 7.7
(i) Let H n be the 2n x n matrix corresponding to all zero-one vectors in jRn (including the zero
vector). Show that a minimal generator (S, T) jor the polyhedron H n = {x E jRn : H nX ::; e} is
given by S = {u i E jRn : 1 ::; i ::; n} and T = -S, where u i is the i t h unit vector in jRn and e
is the vector with 2n components equal to 1. What is an ideal description oj Hn ? (Hint : Use
induction, the structure oj the matrix H n and point 7.3(n).)

(ii) Consider the polytope On = conv( {x E {O, l}" : L jEN Xj = odd}) where N = {1, . . . ,n}and
{o,l}n = {x E jRn : Xj E {O, 1}jor allj EN}. Show that On = {x E jRn : 0 ::; Xj ::; 1jor allj E N ,
L jENl Xj - L jEN- N l Xj ::; INll- 1 jor all N, ~ N with INll = even} and thatjor all n ~ 4 the
linear description is ideal. (Hint : For any Ni ~ N define a E jRn by aj = 1 jor j E N l • aj = 0
otherwise. What is an ideal description oj conv( {x E {O, l}n : x i= a})? )

(iii) Consider the polytope P:;' = conv( {x E {O, I}" : I : jEN Xj = kr jor some integer k}) where n ;:::
r ~ 3 are integers. Find an (ideal) linear description ojP:;' . [ This problem is optional! J

(iv) Let 1r P be a linear transjormation on jRn and S, T ~ jRn be any sets. Show that 1r p(conv(S)) =
conv(1r pS). 1rp(cone(T)) = cone(1rpT) and 1rp(S + T) = 1r pS + 1r pT .

(i) We write recursively H n = (H n-l


Hn- epl
0)
for all n ;::: 2 where HI =
1
(0)and e p is the column

vector with p = 2n - l entries equal to one. Clearly, r(H l ) = 1; so suppose r(H n ) = n and let H be
any submatrix of Hs, with r(H) = n . Let h be any row of H n . Then the matrix

H'~ (~~)
has rank r (H ' ) = n + 1 and thus r (Hn+l ) = n + 1 which proves that r(H n ) = n for all n ~ 1.
Consequently the lineality space of Hi; is the origin of jRn . So Hi; is line free , nonempty since
166 7. ANALYTICAL GEOMETRY

oE Hi; and thus pointed for all n ~ 1. Moreover, the linear transformation 1rp given by (7.12)
is the identity and point 7.3(n) simplifies accordingly. Let u i E lRn be the ith unit vector, where
1 ::; i ::; n . Then Hnu i ::; e and the n x n submatIix H of H'; with rows h j = (u i + u j)T for
1 ::; j i= i ::; n and hi = (u if, satisfies Hu i = en and r(H) = n, since - modulo row and column
permutations - H is lower triangular with ones on the main diagonal and thus nonsingular.
Consequently, by point 7.3(n) all unit vectors u i E lRn are extreme points of H n . On the other
hand, H n( _u i) ::; 0 and the (n - 1) x n submatIix H of H n with rows h j = (uj)T for 1 ::; j i= i ::; n
satisfies H(-u i) = 0 and r(H) = n -1. Moreover, every other row h of H n with h(-ui) = 0 is
a linear combination ofthe rows of H and thus by point 7.3(n) the vectors -ui E lRn are extremal
directions of H n for 1 ::; i ::; n , Let u E lRn be the direction vector of any halfline of H n . It
follows that u T = (Ull'" ,un) ::; 0, u i= 0, since H n contains all n unit row vectors, and thus
u = I:~=1 Ai( -u i ) with A i = IUil ~ 0 which shows that -u\ ... , _ u n are precisely the extremal
directions of H n . Suppose that x E H n and let x + = max{O,x}, x- = min{O, x}. It follows that
x+ E H n . For, suppose not. Then ha:" > 1 and ha:" + hx- ::; 1 for some row h of Hi, and thus
hj = 1 for some j with xj < O. But the row h* with hi = 0 for all j with xj < 0, hi = hj otherwise
is also in Hi; and thus hx+ = h*x+ ::; 1 which is a contradiction. Consequently, every extreme
point x E H n satisfies x ~ 0, x i= 0, and thus x = I:7=1XjU j. Let h be the row with h j = 1 for
all Xj > 0, hj = 0 otherwise. Since x is an extreme point of H n , h'x = 1 for some row h' of H n
and thus clearly ha: = 1. Hence x is a convex combination of the extreme points u 1 , ••• , u n and
consequently, (8 = {u\ . . . , u n}, T = {-u\ . .. ,_un}) is a minimal generator of Hs:
Let h i= 0 be any nonnull row of H n and N, = {j EN : hj = I} where N = {I, . .. ,n} . It follows
that hu j = 1 for all j E Ni and h(u jo - uk) = 1 for all kEN - Ni where jo E N 1 is arbitrary. The
matrix U with rows u j for j E N 1 , u jo - uk for kEN - N 1 is of size n x n and r(U) = n. Since
u j E Hi; for j E N 1 and u jo - uk E H n for kEN - N 1 it follows that F = {x E H n : ha: = I} is a face
of dimension n - 1 of H; (see Definition FA, p . 123) and thus a facet of H n , because 0 E H; and
hO < 1. Let h i= 0 and h' i= 0 be any two different nonnull rows of H n ' Then there exists j E N
such that e.g. h j = 0 and hj = 1 or vice versa. Thus hu j = 0, but h' u j = 1 shows that the facets
defined by any two distinct nonnull rows of H n are different. Consequently, letting H~ be the
submatrix of Hi, that is obtained by deleting the zero row of Hi; we have H n = {x E JRn : H~x ::; e'l
and this linear description of Hi; is ideal.
(li) We first derive some facts about the unit-hypercube Cn = {x E JRn : 0::; Xj ::; 1 for 1::; j ::; n}
which is a polytope in lR n . By Exercise 7.2(ii) we know that dim Cn = n and that its linear
description is ideal for all n ~ 1. Using point 7.2(b) it is straightforward to show that every 0-1
vector is an extreme point of C; and vice versa, i.e. Cn has precisely 2n extreme points and
Cn = conv({O,l}n). Using the second half of point 7.2(n) you prove that two extreme points xo,
xl E Cn are adjacent if and only if they differ in exactly one component, i.e, xo - xl = ±uj for
some j E N where u j is the jth unit vector in lR n . Consequently, every zero-one vector xo E C; has
precisely n adjacent extreme points (the "neighbors" of xo) which are of the form xo - u j for j E N 1 ,
xo + u j for j E N - N 1 where Ni = {j EN : x~ = I}. Moreover, the neighbors of xo are affinely
independent. It follows that all neighbors of xo E {O, l} " with I:7=1 x~ even have an odd number
of ones and likewise, all neighbors of xo E {O, l} " with I:7=1 x~ odd, have an even number of ones.
Since the n neighbors of xo E {O, I]" are affinely independent they determine a hyperplane

L Xj - L Xj = INII - 1, (1)
jENl jEN- Nl
7.8. EXERCISES 167

(O,O,l) _ •
lo.l) lSi_~
X2

""'--- .--- ~

(l,O}'1:1 (1,0,0) Xl

Fig. 7.6. The polyhedra O2 and 0 3 of Exercise 7. 7(ii)

where N, = {j EN: x~ = I}. Now let

Cn(XO) = c; n {x E IRn : L Xj - L Xj = INll-I} .


jEN1 jEN-N1

Then evidently xO tJ. Cn(xO), but x E Cn(xO) for all x E {o,I}n with x -=I- xO. Here xO tJ. Cn(xO)
because L.j EN1 x~ - L.jE N -N1 x~ = \NIl > INll- 1 and the rest of the assertion follows likewise.
Moreover, we claim

Cn(XO) = {x E °
IR n : ~ Xj ~ I ,for all j E N, L
jEN1
Xj - L
j EN -N1
»s ~ INll-I}

has precisely 2n - 1 extreme points which are all zero-one vectors, Since xO is the only zero-one
vector that is "cut-off' by the inequality corresponding to (1), Cn(xO) has at least 2n - 1 extreme
points because Cn (xO) ~ Cn and thus every extreme point of Cn that belongs to Cn (xO) is aforteriori
an extreme point of Cn(xO). Suppose that xl E Cn(xO) is an extreme point of Cn(XO) that is not
zero-one valued. It follows that xl satisfies (1) and that xl is contained in a face F of dimension
1 of Cn that also contains xO. But then there must exist a neighbor Xl of xO which satisfies (1)
as a strict less-than inequality which is a contradiction since all neighbors of xO satisfy equation
(1). Hence all extreme points of Cn(XO) are zero-one valued, i.e.

and thus the linear description of conv( {a, I}" - xO) given by Cn(xO) is complete. For n = 2 the
linear description is not minimal: e.g. Xl ~ 1 is implied by Xl + X2 ~ 1 and X 2 ~ if xO = (I ,I)T.
However, for all n ~ 3 the above linear description of Cn(xO) is minimal as well. You prove that by
°
showing that all inequalities of the linear description define distinct facets of Cn(xO) for all n ~ 3.
Now we are ready to discuss the polyhedra On = conv({x E {a, I}" : L.jE N Xj = odd}). Let

O~ = {x E IR n : °~ Xj ~ 1, Y j E N, L
j EN 1
Xj - L
j EN -N1
Xj ~ INll- 1, Y n, ~ N, INII even} . (2)

Let xO E {O ,1}n with L.7=1Xj odd. Then L.j EN 1 X j - L.j EN - N 1 Xj < INII for all N l ~ N with INII
even and thus xO E O~. Consequently, On ~ O~ . Since O~ ~ C; it follows as before that every
x E O~ n {a, I]" is an extreme point of O~. Moreover, every zero-one extreme point of O~ has
an odd number of ones. Thus it suffices to show that O~ has no jractional extreme points. i.e.
°
that there exist no extreme points xl E O~ with < x f < 1 for some j EN. We do so as follows.
168 7. ANALYTICAL GEOMETRY

Let E = { Xl , . . . , x P } be the set of all zero-one vectors having an even number of ones where the
indexing of x i for 1 ::; i ::; p = 2n - l is arbitrary. Note that by definition
On = conv( {O , l}n - E) .

Now let Cn(x l, . . . ,x k ) = conv( {O, l}" - Ek) where Ek = {x\ . . . , x k } for 1 ::; k ::; p. We claim that

Cn(x
l,
. .. , x
k
) = { x E ~n : 0 ::; Xj::; l ,for all j E N , 2: Xj - 2: Xj::; INi l - l for all L < i::; k} ,
j ENi jEN -Ni

where N i = {j E N: x~ = I} for all 1 ::; i ::; p. For k = 1 we know that the claim is true. So suppose
that it is true for some 1 ::; k < p. Then all extreme points of Cn (x l , . . . ,x k ) are zero-one valued and
in particular, x k+ l is a zero-one extreme point of this polytope. Since Xk+ l has an even number
of ones, X k+ l has exactly n affinely independent neighbors u', .u" having an odd number of
ones on the unit cube C n (= "odd" neighbors). But y i E C n ( x l , ,x k ) are extreme points and
l, k
thus afotteriori neighbors of X k+ l on the polytope Cn(x . .. ,x ) . Suppose there exists a zero-one
point y E Cn(x l, . .. ,x k ) that is adjacent to xk+ l on the polytope Cn(x l, ... ,xk ) , but not adjacent
to x k + l on the unit cube Cn' It follows that
k l
'
~ " Xk+
J l - '
~ " XJ + = INI- 1 for some 1 < i < k
t --,
(3)
jENi jEN-Ni

which is impossible since N k +l f- N, for all L < i ::; k, the only zero-one vectors satisfying the
equations (3) are the odd neighbors of X l , . .. ,x k and x k +! has an even number of ones. Conse-
quently, x k + l has exactly n affinely independent odd neighbors on the polytope Cn(x\ ... , x k ) .
We conclude thus like in the case of Cn(xO ) that Cn ( x l, ... ,Xk+l ) has only zero -one extreme points
and thus the claim follows. Since Cn ( Xl , ... , x P ) = O~ it follows from the induction that O~ has
only zero-one extreme points and thus O~ = On for all n ~ 1. For n = 2 and n = 3
O2 = {x E ~2 : X l ~ 0, X2 ~ 0, Xl + X2 = I} ,
03 = {x E ~3 : Xl + X2 - X3 ::; 1, Xl - X2 + X3 ::; 1, - Xl + X2 + X3 ::; 1, -Xl - X2 - X3 ::; - I}
are ideal, I.e. minimal and complete linear descriptions; see the figures. For n ~ 4 we have shown
completeness. Since u j E On for 1 ::; j ::; n and u l + u 2 + u 3 E On for all n 2': 3 it follows that
dim O n = n for all n 2': 3. You prove that for n 2': 4 all inequalities of the linear description (2) define
distinct facets of O n and thus the linear description of O n is ideal for all n 2': 4.
(iii) The polytope P:; can be written as P:; = COIlV{ {O, I}" : E j EN Xj == Omod r }. A class of polytopes
where the congruence constraint is replaced by L.j EN Xj! == tmod r where 0 ::; t ::; r - 1 has been
studied in Alevras, D. and M. P Rijal ''The convex hull ofa linear congruence relation in zero-one
variables", ZOR-Mathematical Methods of Operations Research (1995) 41 , 1-23. The polytope P:;
is derived as a special case when t = O. We give here a summary, of the results of this paper
without proofs.
The ideal description of P:; is given by the following system of inequalities
Xj 2': 0 for j if r ::; n - 2
E N,
Xj ::; 1 E N, if n 2': 2r
for j
L.j EN Xj ::; r l.;: J if n ¢ ' 0 mod r
a L.j ES - b L.j EN - S Xj < c for S E Nr (4)
7.8. EXERCISES 169

L
jE N- S
Xj

n -s

r-b

s r( L;J+ l)

Fig. 7.7. Illustration of divisibility conditions in Exercise 7. 7 (iii)

where a = r - b, b = s - rL~J . c = (s - b)(r - b). s = lSI and N; = {S: 0# S e N,s = lSI satisfies (5)}:
s= 1 or s =n-l , n:= Om odr or r <s < min{r L:: J,n- l }, L~ J < ::- 1, s:f=. mod r . (5)
r r r
These inequalities were found using the double description algorithm of Chapter 7.4 for po-
lytopes p~ with small n and varying r ~ n, and generalizing the derived descriptions for general
n and r. Inequality (4) can be interpreted intuitively as follows. In the case s = 1 it reads
(r - l )x j ~ L.kEN- j Xk and in the case that s = n - 1 and n := Omod r it can be brought into the
form (r - 1)(1 - Xj) ~ L.kEN- j (l- Xk). both of which speak for themselves. In the remaining case
we have that lSI = s:f=. Omod r and that s satisfies the two other conditions. IfL.j E8 xj ~ rL~J, then
inequality (4) imposes no restriction at all; if. however, L. jE8 Xj = r L~J + T with 0 ~ T ~ b. then the
inequality implies that L.j EN -8 Xj 2 (r - b)T/b and thus e.g. for T = b we get L.j EN-8 Xj 2 r - b
which is necessary (but not sufficient) to obtain divisibility of L j E N Xj by the number r . In Fi-
gure 7.7 we give a graphical illustration of the linearization of the divisibility conditions, for n = 9.
r = 4, s = 6.

(iv) From Definition HU we write

71" P ( conv( S))


t t
= 71" p{x E jRn : x =L PiXi where Pi 2 0, L Pi = 1, xi E S for all i ~ i ~ t ; 0 ~ t < oo}
i=l i= l
t t

= {7I"PX E R" : 7I" p X = LPi7l"PXi where P i 2 0, LPi = 1, Xi E S for all I ~ i ~ t , 0 ~ t < oo}
i= l i= l
t t
= {z E jRn : z =L PiZi where Pi 2 0, L Pi = 1, zi E 71" pS for all I ~ i ~ i ; 0 ~ t < oo}
i= l i= l
= conv(71" pS)
170 7 . ANALYTICAL GEOMETRY

since 7r p (x + y) = tt pX + 7r py
for any linear transformation in IRn . Likewise. one shows that
7rp(cone(T)) = conein i/T]. Furthermore. by part (ii) of Exercise 7.4

7rp(S + T) = 7rp{z E IR n : z = x +y for some XES. YET}


= {7rpZ E IR
n
: 7rpZ = 7rpX + 7rpy for some XES. YET}
= {e E IRn : e= 11 + <: for some 11 E 7rpS. <: E 7rpT} = 7rpS + 7rpT .

Exercise 7.8
Let P = P(S,T) ~ IR n be a polyhedron where S = {x!, .. . , x q } , T = {yl, . .. ,yr}, and let X =
(Xl . .. x q ) , Y = (y1 . . . y r) be the corresponding matrices.

(i) Show thatdimP(S,T) = r (X, Y).

(ii) Show that P(S, T) {x E IR n : v ix = Vi jor 1 ::; i ::; s, v ix ::; Vi jor s + 1 ::; i ::; t} is an ideal
=
description oj P(S,T) where (v i ,Vi ) jor 1 ::; i ::; s j or m a basis ojthe lineality space L pG ojthe
cone
PC = {(v, vo) E IRn +l : vX - voe ::; 0, vY ::; O}
and the vectors (v i ,Vi) jor s + 1 ::; i ::; t are the extreme rays oj the cone PC o = PC n L~G
satisfying Vi =I- O.

(i) We assume WROG that Xl , . . . , x a and u' ,... , yb form a submatrix of full rank of (X ,Y). Since
x i E P(S, T) for 1 ::; i ::; a and Xl + y j E P(S,T) for 1 ::; j ::; b (if a = O. then y j E P(S, T) for
1 ::; j ::; b) . it follows that dimP(S, T) ;::: r (X, Y). On the other hand. let z i E P(S,T ) for 1 ::; i ::; c
be affinely independent points such that c is as large as possible. i.e. dim P( S, T) = c - 1, see
Definition DI (p. 114) . Since zi = 2::1=1 J..l~xj + 2::;:=1 >..~yj for some J..l~ ;::: 0, 2::1=1J..l~ = 1 and >..~ ;::: 0
it follows that zi is a linear combination of Xl , . .. , x a and u' ,.. , , y b for 1 ::; i ::; c. Consequently.
z i - z l for 2 ::; i ::; c are linear combinations of xl , . . . , x a and y1, . . . , y b. Denote by Z the matrix
of z i - Zl for 2 ::; i ::; c. by X a = (Xl .. · x a ) and Y b = (y1 . . . yb) . It follows that there exists an
(a + b) x (c - 1) matrix A of reals such that Z = (X a , Y b)A . Consequently. from linear algebra,
c -1 = r (Z) ::; min{r(X a , Y b), r(A)} ::; r (X , Y). i.e.. dimP(S,T) = r (X , Y).
(ii) From the derivation of the linear description of P(S,T) we know that the description is com-
plete. It remains to show that it is minimal. By assumption (v i ,Vi ) for 1 ::; i ::; s form a basis of
L pG and thus the system of equations defining P(S,T) is of full rank. The rest follows because
(Vi ,Vi) for s + 1 ::; i ::; t a re extreme rays of P Co. i.e. they belong to a minimal generator of P C o.
If (0, vo) is among the extreme rays of PCo then Vo > 0 which gives the only redundant inequality
Ox ::; Va for P(S,T) which is why we exclu de it. Thus the linear description of P (S,T ) is idea l.
7.8. EXERCISES 171

Exercise 7.9
(i) Show that the test oj line (7.16) oj the double description algorithm is equivalent to verifying
that r(HMi nMj) = n - nb - 2 or not, where nb is the dimension oj the lineality space oj the
processed rows as calculated by the algorithm.
(ii) Show that the set N * in line (7.16) can be replaced by the set {( i ,j) : i E N+, j EN_such that
IMi n Mjl '? n - nb - 2 and M, n M, rz. M, for alU E NX - {i ,j}}.
(iii) Modify the algorithm so as to find a minimal generator for cones oj the Jorm 0 = {y E jRn :
Hly = 0, H 2y::; O}.

(i) We denote like in Chapter 7.4.1 by H the k x n matrix with rows h 0 = 0, hI , . . . ,h k-I processed
by the algorithm DDA and by h = h k the row to be processed where k '? 1. Likewise. we let with
the usual conventions
N+ = {i E NX : hyi > a} , N_ = {j E NX : hyj < a} , M, = {i E {I , . .. , k -I} : h iyl = a}

for all e E N X . Let i E N + and j E N _ . The assertion is equivalent to proving that


nMj)
r(HMi = n - nb - 2 if and only if M, n M j rz. M, for all z E NX - { i , j}.

where nb = dim L and L is the lineality space of the cone Ok-I . Since nb = n - r(H) the assertion
is equivalent to claim (3) of the proof of point 7.4(b), which is proven in the text.
(ii) By part (i) of this exercise the test in line (7. 16) of the algorithm DDA is equivalent to checking
that r (H Mi nMj ) = n - nb - 2. Consequently, the matrix HMinMj must have at least n - nb - 2 rows
and the correctness of the assertion follows. While seemingly trivial, this simple sharpening of
the test (7.16) speeds up the calculations considerably.
(iii) Denote by M= <;; M = {I , ... ,m} the subset of rows of the matrix H that correspond to
equations in the definition of the cone O. We communicate the set M= to the algorithm DDA and
modify Steps 3 and 4 as follows:

Step 3': Replace BL k- 1 by BL k = {(hb)b i - (hbi)b : i E {I , .. . ,nb} - j} and set nb := nb-1.


If k E M= replace EX k- 1 by EXk = {(hyi)b - (hb)yi : i E NX} and go to Step 1.
Otherwise. replace EXk-1 by EXk = {b} U {(hy i)b - (hb)yi : i E NX}.
set nx := nx + 1 and go to Step 1.
Step 4': Set No := {i E NX : hyi = a}. N+ := {i E NX : hyi > a}. N _ = {i E NX : hyi < a} .
For all e E NX calculate M , = {i E {I , . . . , k - I} : hiyl = a} and
N* := {( i ,j) : i E N+ ,j E N _ such that M, n M, rz. M, for all e E NX - {i ,j}}.
If k E M = replace EXk-1 by EXk := {y i : i E No} U {Ihy jlyi + Ihyil y j : (i,j) E N *}
and set nx := INo\ + IN*I.
If k ~ M= replace EXk-1 by EXk := {yi : i E No U N _} U {Ihy jlyi + Ihyil y j : (i ,j) E N *}
and set nx := INol + IN_I + IN*I·
Set BL k := BLk-1 and go to Step 1.
172 7. ANALYTICAL GEOMETRY

Otherwise the algorithm DDA described on page 153 remains unchanged. The changes are
justified as follows. If the current row of H to be processed is an inequality, then nothing
changes. Otherwise, let hky = 0 be the current equation that is to be processed by the algorithm.
We replace hky = 0 by the pair of inequalities hky ~ 0 and _hky ~ 0 that are processed in this
order. Steps 3' and 4' are the resulting simplifications that impose themselves when the original
algorithm is executed on the pair of inequalities. In computational practice we proceed slightly
differently by executing a modified algorithm that finds first a basis of the lineality space of the
cone C, before determining the conical part of the minimal generator of C - see Chapters 7.4.3
and 7.4.4 and make the appropriate modifications.

Exercise 7.10
(i) Write a computer program in a language of your choice for the double description algorithm
with integer data using the Euclidean algorithm to reduce the size of the numbers that the
algorithm produces and compact data structures similar to the ones discussed in Chapter 5.4
to save storage space.

(ii) Redo all ofExercise 7.6 using your computer program.

(iii) Determine all extreme points of the unit cube Cn = {x E JRn : 0 ~ Xj ~ lfor 1 ~ j ~ n } in JRn
using the double description algorithm.

(iv) Let H = (hj) ;:~':.'. '. ',: be given by hj = 0 for all i < i. h~ = 2 and hj = 1 for all i > j. Find all
extreme rays of the cone H x ~ 0 using the double description algorithm with and without the
Euclidean algorithm.

(i) The following code is an implementation of the Double Description Algorithm as a MATLAB
function. For simplicity, we have not use the compact data structures as suggested in the
exercise.

%% This is the implementation of the Double Description Algorithm(DDA)


%% as found on page . 153. We DO NOT use sparse structures.
%% The function vecgcd is used to calculate the gcd of the components
%% of a-vector .
%%
%% NAME dda
%% PURPOSE: Find the extreme rays of the cone H x <= 0
%% INPUT The matrix H
%% OUTPUT : nb : the dimension of the lineality space
%% B : a-basis of the lineality space
%% nx: the number of extreme rays
%% y : the extreme rays of the cone (columnwise)
7.8. EXERCISES 173

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Example matrices
% 7.6(i)
% H= [1 0 - 1; 1 1 -1; 1 1 - 2; 0 1 - 1; 1 2 0; 1 1 0; 2 1 0];
% 7.6(ii)
% H= [-1 0; 0 -1; -1 2; 1 - 2] ;
% H= [2 1 0; 0 0 -1];
% 7.6(iii)
% H= [1 0 0 -1; 1 - 1 0 0; -1 1 0 0; 1 0 1 0; - 1 0 1 0];
% 7.6 (iv)
% H=[2 0; 1 2]; %n=2
% H= [2 0 0; 1 2 0; 1 1 2]; %n=3
% H=[2 0 0 0; 1 2 0 0; 1 1 2 0; 1 1 1 2]; %n=4
% H= [2 0 0 0 0; 1 2 0 0 0; 1 1 2 0 0; 1 1 1 2 0; 1 1 1 1 2]; %n=5
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Initialization

function [nb,B,nx,Y]=dda(H)
[m,n]=size(H);
k=O;
nb=n;
B=eye (n) ;
nx=O;

while k < m,
k=k+1;
h=H(k,:) ;
if nb > 0 & any(h*B) -= 0, %% Execute Step 3 of the algorithm
aux=find(h*B -= 0);
j=aux(l) ;
b=B (:, j) ;
if h*B(:,j) > 0, b=-b; end
cnt=l;
for i=l:nb,
i f i -= j,
NB(:,cnt)=h*b*B(:,i)-h*B(:,i)*b;
g=vecgcd(NB( :,cnt)) ;
NB(:,cnt)=NB( :,cnt)/g; % Euclidean reduction
cnt=cnt+1;
end
end
Be z e r oa (n , nb) ;
B=NB;
NB=zeros(n,nb) ;
174 7. ANALYTICAL GEOMETRY

nb=nb-l;
for i=l:nx,
Y(:,i)=h*Y(:,i)*b-h*b*Y(:,i) ;
g=vecgcd(Y(:,i)) ;
Y(:,i)=Y(:,i)/g;
end
nx=nx+l;
Y(: ,nx) =b;
else %% Execute Step 4 of the algorithm
nO=find(h*Y == 0);
np=find(h*Y > 0);
nm=find(h*Y < 0);
M=H(I:k-l, :)*Y;
[au,snO]=size(nO) ;
[au,snp]=size(np) ;
[au,snm]=size(nm) ;

cnt=l;
for i=l:snO,
NY(: ,cnt) =Y(: ,nO (i));
cnt=cnt+l;
end
for i=l:snm,
NY ( : , cnt) =Y( : , nm(i) ) ;
cnt=cnt+l;
end

for i=l:snp,
for j=l:snm,
subset = -1;
aux=find(abs(M(:,np(i)))+abs(M(:,nm(j))) 0);
[sau,au]=size(aux) ;
if nx > 2,
for l=l:nx,
if 1 -= np(i) & 1-= nm(j),
subset=l;
for t=l:sau,
i f (M(aux(t) ,1) -= 0),
subset=O;
break;
end
end
if subset I, break; end
end
end
7.8. EXERCISES 175

elseif nx == 2 , % if nx=2 then N*=NX in (7 .16 )


subset 0;
else
subset 1;
end
if subset == 0, % (i , j ) satisfies condition (7. 16 )
yi =Y( : , np (i ) ) ;
y j =Y( : , nm(j ) ) ;
NY(:,cnt)=abs(h*yj)*yi+abs(h*yi)*yj;
g=vecgcd(NY( :,cnt» ;
NY(:,cnt)=NY(:,cnt)/g;
cnt=cnt+1;
end
end
end
if cnt >= 2,
clear Y;
Y=NY;
clear NY;
end
nx=cnt-1;
end
end

The implementation of the function vecgcd (x) which finds the greatest common divisor of
the components of a vector x is as follows.
funct ion [g] = vecgcd( x)

if round (x ) -= x,
error ('Requires integer vector components ')
end

[m,n]=size(x) ;
if m > 1, x=x'; end
y=find(x -=0 );
g=x(y(l» ;
for i=2:max(size(y),
g=gcd(g, x (y(i))) ;
end
g=abs (g) ;
The following program shows how to use the function and format the output.
H= [1 0 -1 ; 1 1 -1; 1 1 - 2 ; 0 1 -1; 1 2 0; 1 1 0; 2 1 0];

[nb,B,nx, Y]=dda (H) ;


176 7. ANALITICAL GEOMETRY

fprintf( 'The dimension of the lineality space is: %d \n' ,nb)


if nb > 0,
fprintf('A basis of the lineality space is: \n')
for i=1:nb,
fprintf ( , %3d) ',i)
fprintf('%4d' ,B(:,i))
fprintf ( , \n' )
end
end
if nx > 0,
fprintf('The extreme rays of the cone are: \n%d')
for i=1:nx,
fprintf('%3d) ',i)
fprintf (' %4d' , Y ( : , i) )
fprintf (' \n' )
end
end

(il) To find linear descriptions for the polyhedra of Exercise 7.6, we give the following matrices as
input to the function dda

7 . 6 (i) H= [1 0 -1 i 1 1 -1 i 1 1 - 2; 0 1 - 1; 1 2 0; 1 1 0; 2 1 0] ;
7 . 6 (i i) H= [-1 0; 0 -1; -1 2; 1 - 2] ;
7 . 6 (iii) H= [1 0 0 -1; 1 -1 0 0; -1 1 0 0; 1 0 1 0; -1 0 1 0];

For part (i) we get


The dimension of the lineality space is: 0
The extreme rays of the cone are:
1) 0 0 1
2) -1 -1 -1
3) -2 1 1
4) 1 -2 1

which translates to the following linear description

For part (ii) we get similarly one extreme ray (2, 1) that gives the inequality 2 Xl + X2 :S 0, and for
part (iii) we get three extreme rays (0, 0 , 0 , 1), (-1, -1 , -1 , -1) and (1, 1 , - 1 , 1) , which give the
description - Xl - X 2 - X3 :S -I, X l + X2 - X 3 :S 1.
To find a minimal generator for part (i) we apply dda once more on the cone H P that results
after homogenization (see (7.5)), Le., with input matrix H= [-1 - 1 1; -2 1 -1; 1 -2 -1; 0 0
-1] . We get

The dimension of the linea lity space is: 0


The extreme rays of the cone are:
1) 1 0 1
7.8. EXERCISES 177

2) o 1 1
3) 2 1 o
4) 1 2 o
which is interpreted as follows : a minimal generator is ( (1, 0) , (0, 1) , (2, 1) , ( 1, 2 ) ). Similarly,
for part (ii) we use as input the matrix H= [2 1] and find that (1, - 2) is a basis of the lineality
space L p = cone{(l , -2), (- 1, 2n, and (-1,0) is its extreme ray. Thus a minimal description is
({O}, {(I, -2), (- 1, 2), (- 1,On . Calculating the pointwise description of p O = P n L~, using input
matrix H= [2 1 0; -1 2 0; 1 - 2 0; 0 0 -1] we get that pO has one extreme point (0, 0 )
and one extreme ray (- 2, -1). Doing the same for part (iii) and input matrix H= [ -1 -1 -1
1; 1 1 -1 -1; 0 0 0 -1] we get that a basis of the lineality space L p is (1,-1,0). Thus
p O = P n L~ = {-Xl - X 2 - X3 ~ -1 , Xl + X2 - X3 ~ 1 X l - X2 = O} and using dda with input
matrix H= [ -1 - 1 -1 1; 1 1 -1 - 1; 1 -1 0 0; 0 0 0 -1] we get that pO has one extreme
point (0. 5 , 0 . 5) and three extreme rays (1, 1, 2), (-1, -1, 2) and (-1, 1, 0 ) .
(iii) After the homogenization, the input matrix is

H=[eye(n) -ones(n,l); -eye(n) zeros(n,l); zeros(l,n) -1]

and using dda e.g. for n = 3, we get the following output:


The dimension of the lineality space is: 0
The extreme rays of the cone are:
1) 0 1 1 1
2) 1 1 1 1
3) 0 0 1 1
4) 1 0 1 1
5) 0 1 0 1
6) 1 1 0 1
7) 0 0 0 1
8) 1 0 0 1

and thus the 0 3 is a polytope with extreme points all the zero-one vectors in n.:t 3 •
To prove the statement in full generality, we order the constraints of en after homogenization
as follows: h jx = - Xj ~ 0 for 1 ~ j ~ n + I, h n+1 +jx = Xj - Xn+ l ~ 0 for 1 ~ j ~ n. We claim that in
iteration k with 0 ~ k ~ n + 1 we get

by executing the algorithm DDA on p.153, where U j E n.:tn +l is the j-th unit vector. This is correct
for k = o. Suppose the assertion is true for some k 2: 0, k < n + 1. In Step 1 the algorithm then
picks h = - U[+l as the next row to be processed. In Step 2 we get b = U k +l and thus we calculate
BL k +1 = {( - I)k+l u j : k + 2 ~ j ~ n + I} and EXk + l = {Uj : 1 ~ j ~ k + I}. Consequently, the
assertion is correct and thus in iteration k = n + 1 we find BL n +1 = 0, i.e., the cone is pointed,
and E X n +1 = {U j : 1 ~ j ~ n + I}. There remain n rows of the constraint matrix to be processed.
For notational convenience, we reset the counter k of the algorithm to zero and claim that

E Xn+l+ k = {u £ : k + 1 ~ e< n} U {Un + l + L U£ : S ~ {I , ... , k} }


£ES
178 7. ANALYTICAL GEOMETRY

and IEXn+1+k1 = n - k + 2k for 0 S k S n . This is correct for k = 0, Le., for iteration n + 1 of the
algorithm. Suppose the assertion is correct for some k ~ 0, k < n. In Step 1 of the algorithm we
then pick h = Ur+l - U~+l as the next row to be processed. Since nb = 0 in Step 2 we go to Step 4.
We calculate No to be the set of indices corresponding to the elements u e for k + 2 S e s n of
EXn+1+k. N+ consists of the single index corresponding to UkH and N_ consists of all remaining
elements of EXnH+k . Consequently, forming the set N *, we find that every element in N_ has to
be combined with the single element of N +, because the rank of the submatrix of the processed
rows that are simultaneously annulled by UkH and by UnH + L eES Ue equals n - 1 for every
S ~ {l , . .. , k } and thus by Exercise 7.9(i) all possible combinations (k + l ,j) for j E N_ pass the
test in line (7.16) of the algorithm. It follows that

EXnH+ k+l = {ue : k + 2 S es n} U {UnH + L u e : S ~ {l , . . . , k + I}}


eES

and IEXn+2+k I = n- (k+l)+2k+l as claimed. By Exercise 7.3, we hence get exactly the 2n extreme
points of the unit cube Cn at the termination of the algorithm.
(iv) We first apply the algorithm DDA without Euclidean reduction to the cone C = {x E JRn : H x S
O} and claim - as done in the text on page 161 - that

where Ui E JRn is the i-th unit vector and z 7 is given by


k
z7 = -2 k - iUi + L 2 k-
ju
j
j = i+ l

for 1 S iS k and 0 S k S n. The assertion is true for k = O. So suppose th at it is true for k ~ 0,


k < n. In Step 1 of the algorithm we pick thus the row h kH of H with

h ekH = 1 for 1 -< e -< k ' kH


h k+l = 2' h~H
c
= 0 for k + 2 _< e <
_ n,
as the next row to be processed. In Step 2 of the algorithm we select b = -22k- 1Uk+l and go to
Step 3. We calculate with h = h kH
(hb)b i - (hbi)b = _2 2k (_1)k2 2k- 1Ui + 0 = (_1) k+122k +l-1Ui

for k + 2 Si S n and thus the formula for BL k follows by induction. Likewise we calculate the
elements of EXk+l by
(hyi)b - (hb)yi = 2 2k_2i- l _k+i -122k_l( -(hz f)U k+l + 2zf) = 2 2k+l_ 2i- l_(kH) + i- 1Z 7H
for 1 SiS k + 1, where we have used that L 7=i+12 k- j = 2k- i - 1 and thus h kHz7 = -1. Since
z~t~ = b the formula for EXk follows by induction as well. Thus after n iterations we find that
the cone C is pointed and that it has precisely the n extreme rays given by EXn .
We show next by induction that the iterative application of the Euclidean reduction in the
double description algorithm produces the sets
BL k = {( - l )k u i : k + 1 S iS n}, EXk = {z f : 1 SiS k}
7.8. EXERCISES 179

for all 0 ~ k ~ n as asserted in the text on page 161 for the example cone of this exercise. The
assertion is true for k = O. So suppose that it is true for k ~ O. k < n. In Step 1 of the algorithm
we pick as above the hk+ 1 of H as the next row to be processed. In Step 2 of the algorithm we
select b = -Uk+l and go to Step 3. We calculate with h = h k+ 1

for k + 2 :s: i :s: n. Clearing the common divisor of 2 in each one of the elements of BL k +! . the
changed formula for BL k follows by induction. Likewise we calculate the changed EXk+l by
k k+l
(h y i)b-(hb)yi=(-1)(-uk+d-(-2)(-2 k- iu i+ L 2k- jUj)=-2k+l- iui+ L 2k+l- j Uj
j=i+l j=i+l

for 1 :s: i :s: k + 1 and z~t~ = b. So the changed formula for EXk follows as well by induction.
Thus after n iterations we find that the cone C is pointed and that it has precisely n extreme
rays as stated in the changed set EXn which has numbers of a considerably smaller size than
those that are produced by "blindly" applying the double description algorithm without Euclidean
reduction. Reread the text on pages 160-162 to fully appreciate the reduction in the "digital size"
of the numbers that can be achieved when you use Euclidean reduction in the algorithm DDA.

Exercise 7.11
Let E = J = {I, . .. ,k} and £- > k . Denote by H~-rH the k x k matrix that is obtainedjrom
H~ by deleting row r and adding an arbitrary row vector he E ]Rk as the last row. Show that
detH E- sH detHE- r: -detHE- rHdetH E- ~ = detH E det H E- {r,s}Hjor all 1 < r < s < k and 1 < J' <
J J- ) J J- ) J J-) - - - -
k. (Hints: UsedetB T = detB and point 7.4{j).)

First we observe that since det B T = det B and E =J we have det H~~l = det H~~;' Thus we
calculate

J det H E-
d et H E J-j{r,s},e -- det HE
J d et HE- j
J- {r,s}H -- det HEJ-s H det HE-j
J- r - det H E
J-rH d et HE-
J- sj
= det H E-
J
sH det H E- r: - det H E- rH det HE- ~
J-) J J- ) ,

where we have used point 7.4(0 in the second equality.

Exercise 7.12
Write a computer program in a language of your choice for the basis algorithm as stated and
one for the modified basis algorithm with the Euclidean algorithm using compact data structures
like those of Chapter 5.4.
180 7. ANALYTICAL GEOMETRY

The following program is an implementation of the basis algorithm as stated in the book. as a
MATLAB function. As before. we do not use compact data structures.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Basis Algorithm
%% as found on pages 164-5 . We DO NOT use sparse structures .
%% The function vecgcd is used to calculate the gcd of the components
%% of a-vector.
%%
%% NAME basis
%% PURPOSE : Find the rank of a-matrix H and a -basis of the lineality
%% space of the cone H x <= 0
%% INPUT The matrix H
%% OUTPUT nb the dimension of the lineality space
%% B a -basis of the lineality space
%% r the rank of the matrix H
%% E row set such that lEI is the rank of H
%% J column set such that IJI is the rank of H
%% Det the determinant of the matrix H JA E
%% nx the number of extreme rays of the cone HAE x <=0
%% Y the extreme rays (columnwise) of the cone HAE x <=0
%% Hinv: the inverse of the matrix HE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [nb,B,nx ,Y,r,E,J,Det,Hinv]=basis(H)
[m,n]=size(H) ;
k=O;
nb=n;
B=eye (n) ;
nxe o,
A=ones(l,m) ;
R=ones (l,n) ;
jcnt=O;
ecnt=O;
d =l ;

while k < m,
k=k+l;
aux=find(A -= 0);
r=aux(l);
clear aux
A(r)=O;
h=H (r, e ) ;
if any (h*B) -= 0,
aux=find(h*B 0) ;
j=aux(l) ;
b=B ( : , j) ;
sigma=l ;
7.8. EXERCISES 181

if h*B( :,j) > 0, sigma=-l; end


dold = d;
d=h*b;
ecnt=ecnt+l;
E(ecnt)=r;
jcnt=jcnt+l ;
for l =l:n,
i f R (1) 1 & B (1, j) -= 0, break; end
end
J(jcnt)=l;
R(l)=O;
cnt=l;
for i=l:nb,
if i -= j,
NB(:,cnt)=(d*B(:,i) -h*B(:,i)*b)/dold;
cnt=cnt +l;
end
end
B=zeros (n, nb ) ;
B=NB ;
NB=zeros(n,nb) ;
nb=nb-l;
for i=l :nx,
Y(:,i)=sigma*(h*Y( :,i)*b-d*Y( :, i))/abs(dold) ;
end
nx=nx+l;
Y(:,nx)=sigma*b;
end
if nb == 0, break; end
end
r=ecnt;
Det=d;
Hinv=-Y/abs(d) ;
The following program demonstrates the use of the function:
H= [ 1 4 5; 1 2 0; 1 2 1];
[m, n] =size (H) ;
[nb,B,nx,Y,r,E,J,Det,Hinv]=basis(H) ;

fprintf('The rank of the matrix is: %d \n' , r )


fprintf('A rank %2d submatrix HE of determinant %4d is:\n' ,r,Det)
HE=H(E,J) ;
for i=l :r,
for j=l :r,
fprintf( '%4d' ,HE(i,j))
end
182 7. ANALYfICAL GEOMETRY

fprintf ( , \n' )
end
fprintf('and its inverse is:\n'}
for i=l:r,
for j=l :r,
fprintf('%7.3f' ,Hinv(i,j}}
end
fprintf (' \n")
end
fprintf('The dimension of the lineality space is: %d \n' ,nb}
if nb > 0,
fprintf('A basis of the lineality space is: \n'}
for i=l:nb,
fprintf('%3d} ',i}
fprintf('%4d' ,B(:,i}}
fprintf ( , \n' )
end
end
if nx > 0,
fprintf('The extreme rays of the cone HE <= 0 are: \n'}
for i=l :nx,
fprintf('%3d} ',i}
fprintf ( , %4d' , Y ( : , i) }
fprintf ( , \n' )
end
end
The output for the matrix H= [ 1 4 5 i 1 2 0 i 1 2 1] is the following one:
The rank of the matrix is: 3
A-rank 3 submatrix HE of determinant -2 is:
1 4 5
120
121
and its inverse is:
-1.000 -3.000 5.000
0.500 2 .000 -2.500
0.000 -1.000 1.000
The dimension of the lineality space of the cone H <= 0 is: 0
The extreme rays of the cone HE <= 0 are:
I} 2 -1 0
2} 6 -4 2
3} -10 5 -2

The implementation of the algorithm using Euclidean reduction is as follows:


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Basis Algorithm
7.8. EXERCISES 183

%% as found on pages 164-5, modified to use Euclidean reduction


%% as suggested on page 166. We DO NOT use sparse structures.
%% The function vecgcd is used to calculate the gcd of the components
%% of a-vector.
%%
%% NAME eubasis
%% PURPOSE: Find the rank of a-matrix H and a-basis of the lineality
%% space of the cone H x <= 0
%% INPUT The matrix H
%% OUTPUT nb the dimension of the lineality space
%% B a-basis of the lineality space
%% r the rank of the matrix H
%% E row set such that lEI is the rank of H
%% J column set such that jJI is the rank of H
%% Det the determinant of the matrix H JA E
%% nx the number of extreme rays of the cone HAE x <=0
%% Y the extreme rays (columnwise) of the cone HAE x <=0
%% Hinv: the inverse of the matrix HE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [nb,B,nx,Y,r,E,J,Det,Hinv]=eubasis(H)
[m, n] =size (H) i
k=Oi
nb=ni
B=eye (n) i
drem=ones (n) i
nx=Oi
A=ones (1, m) i
R=ones(l,n) i
jcnt=Oi
ecnt=Oi
d=li
while k < m,
k=k+1i
aux=find(A -= 0) i
r=aux(l)i
clear aux
A(r)=Oi
h=H(r,:) i
if any (h*B) -= 0,
aux=find(h*B 0) i
j=aux(l) i
b=B (:, j) i
sigma=li
if h*B(:,j) > 0, sigma=-li end
dold = di
d=h*bi
184 7. ANALYTICAL GEOMETRY

Det=d*drem(j) ;
ecnt=ecnt+1;
E(ecnt)=r;
jcnt=jcnt+1;
for 1=1 :n,
if R(l) 1 & B(l,j) -= 0, break ; end
end
J(jcnt) =l; R(I)=O;
cnt=1;
for i=1:nb,
if i - = j,
NB(: ,cnt)=d*B(:,i) -h*B( :,i)*b ;
div=vecgcd(NB(:,cnt));
NB(:,cnt)=NB(:,cnt)/div;
drem(cnt)=drem(i)*div;
cnt=cnt+1;
end
end
B=zeros (n, nb ) ;
B=NB ;
NB=zeros(n,nb) ;
nb=nb-1;
for i=1:nx,
Y( :,i)=sigma*(h*Y( :,i)*b-d*Y(:,i)) ;
Y( :,i)=Y(:,i)/vecgcd(Y(: ,i)) ;
end
nx=nx+1;
Y(:,nx)=sigma*b;
end
if nb == 0, break; end
end
r=ecnt;
clear aux
aux=diag(Y(J,:) * H(E,J));
Hinv=Y(J, :)*diag(1 . / aux);

The following MATLAB program, eubacall. m shows the use of the above function (as usual,
we assume that the function is stored in a file with the same name as the function,in our case
eubasis. rn] . As examples, we use the matrix H of Exercise 7.1O(iv) with n = 5 and the matrix
K 3n with n = 3 (see page 169 in the text).
H=[2 0 0 0 0; 1 2 0 0 0; 1 1 2 0 0; 1 1 1 2 0; 1 1 1 1 2] ;

%T=[1 1 0; 1 0 1; 0 1 1] ;
%Z=zeros(3,3) ;
%H=[T Z Z; Z T Z; Z Z T] ;
7.8. EXERCISES 185

[m,n] =size (H) i


[nb,B,nx,Y ,r,E,J,Det,Hinv]=eubasis(H) i

fprintf('The rank of the matrix is : %g \n' ,r)


fpr intf('A rank %2g submatrix HE of determinant %4g is :\n' ,r,Det)
HE=H(E,J) i
for i=l:r,
for j=l :r,
fprintf('%4g' ,HE(i,j))
end
fprintf (' \n' )
end
fprintf('and its inverse is:\n')
for i=l:r,
for j=l :r,
fprintf('%7.4f ' ,Hinv(i,j))
end
fprintf ( , \n' )
end
fp rintf( 'The dimension of the lineality space of the cone Hx<=O is : %g\n' ,nb)
if nb > 0,
fprintf('A basis of the lineality space of the cone H x <= 0 is : \n ')
for i=l:nb,
fprintf('%3g) ' ,i)
for k=l :n,
fprintf('%4g' , B (k , i ) )
end
fprintf ( ' \n' )
end
end
if nx > 0,
fprintf('The extreme rays of the cone HE x<= 0 are: \n')
for i=l :nx,
fprintf (' %3g) ',i)
for k=l:n ,
fprintf('%4g' ,Y(k,i))
end
fprintf ( , \n' )
end
end
We run the basis algorithm with and without Euclidean reduction on the two matrices men-
tioned above and get the following results:
»clear
»eubacall
186 7. ANALYTICAL GEOMETRY

The rank o f t he mat rix is : 9


A-rank 9 submatrix HE of determinant -8 is :
1 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0
0 0 0 1 0 1 0 0 0
0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 1 1
and its inve rs e is:
0 . 5000 0 .50 00 -0.5000 0 .0000 0.0000 0.0000 0 .0 000 0.00 00 0.0000
0 .5000 -0 .5000 0 .5000 0.0000 0.0000 0.0000 0.0000 0.0000 0 .0000
- 0 . 5 0 0 0 0 .5000 0.5000 0 .0 000 0 .0000 0.0000 0.0000 0.0000 0.0000
0.0000 0 .0000 0.0000 0.5000 0 .5000 - 0. 5 0 00 0.0000 0 .0000 0 .0000
0 .0000 0. 0 00 0 0.0000 0. 5000 - 0 . 5 0 0 0 0 .5000 0.00 00 0 . 0000 0 .0000
0.0000 0.0000 0.0000 -0 . 5000 0 . 5000 0.5000 0.0000 0. 0000 0 .0000
0. 0000 0 .0000 0 .0000 0 .0000 0 .0000 0 .0000 0.5000 0 . 5000 -0 . 5000
0.0000 0 .0000 0 .0000 0 .0000 0 .0000 0 .0000 0.5000 -0 . 5000 0.5000
0.0000 0.0000 0.0000 0.0000 0 .0000 0 .0000 -0.5000 · 0 . 5 0 0 0 0 .5000
The dimension of the lineali t y space of the c one H x < = 0 is : 0
The e xt reme r ay s of the cone HE x <= o a re :
1) -1 -1 1 0 0 0 0 0 0
2) -1 1 -1 0 0 0 0 0 0
3) 1 -1 -1 0 a 0 a 0 0
4) a 0 0 -1 -1 1 0 0 0
5) 0 0 0 -1 1 -1 0 0 a
6) 0 0 0 1 -1 -1 0 0 a
7) 0 0 0 0 0 0 -1 -1 1
8) 0 0 0 0 0 0 -1 1 -1
9) 0 a 0 0 0 0 1 -1 -1
» cl ear
»bascall
The rank o f the mat rix is : 9
A-rank 9 submatrix HE of dete rminant -8 is:
1 1 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0
0 1 1 a 0 0 0 0 0
a 0 0 1 1 0 0 0 0
0 0 0 1 0 1 0 0 0
0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 1 1
and its inverse is:
7.8. EXERCISES 187

0.500 0.500 - 0 . 5 0 0 0 .000 0.000 0.000 0.000 0 .000 0.000


0 .500 -0.500 0 .500 0 .000 0 .000 0 .000 0.000 0 .000 0 .000
-0 .500 0.500 0.500 0.000 0.000 0.000 0 .000 0 .000 0.000
0.000 0.000 0 .000 0 .500 0.500 -0.500 0.000 0 .000 0 .000
0.000 0.000 0.000 0 .500 -0.500 0.500 0 .000 0.000 0 .000
0 .000 0.000 0 .000 -0 .500 0.500 0 .500 0 .000 0 .000 0.000
0 .000 0.000 0 .000 0.000 0.000 0.000 0 .500 0.500 -0 .500
0 .000 0 .000 0.000 0 .000 0.000 0 .000 0.500 - 0. 5 0 0 0.500
0.000 0.000 0.000 0 .000 0.000 0 .000 - 0 . 5 0 0 0 .500 0.500
The dimension of the lineality space of the cone H x <= a is: a
The extreme rays of the cone HE <= a are:
1) -4 -4 4 a a a a a a
2) -4 4 -4 a a a a a a
3) 4 -4 -4 a a a a a a
4) a a a -4 -4 4 a a a
5) a a a -4 4 -4 a a a
6) a a a 4 -4 -4 a a a
7) a a a a a a -4 -4 4
8) a a a a a a -4 4 -4
9) a a a a a a 4 -4 -4
»clear
» eubacall
The rank of the matrix is: 5
A-rank 5 submatrix HE of determinant 32 is:
2 a a a a
1 2 a a a
112 a a
1 1 120
1 1 1 1 2
and its inverse is :
0.5000 0 .0000 0.0000 0.0000 0 .0000
- 0 . 2 5 0 0 0.5000 0.0000 0 .0000 0 .0000
-0 .1250 -0.2500 0.5000 0.0000 0.0000
-0.0625 -0.1250 -0 .2500 0 .5000 0.0000
-0.0313 -0 .0625 -0.1250 -0 .2500 0.5000
The dimension of the lineality space of the cone H x <= a is: a
The extreme rays of the cone HE < = a are:
1) -16 8 4 2 1
2) a -8 4 2 1
3) a a -4 2 1
4) a a a -2 1
5) a a a a -1
» cl ear
»bascall
The rank of the matrix is : 5
A-rank 5 submatrix HE of determinant 32 is :
188 7. ANALYTICAL GEOMETRY

2 a a a a
1 2 a a a
112 a a
1 1 1 2 a
1 1 1 1 2
and its inverse is :
0.500 0.000 0.000 0 .000 0.000
-0.250 0.500 0 .000 0.000 0 .000
-0.125 -0.250 0 .500 0.000 0.000
-0.063 -0.125 - 0 . 2 5 0 0.500 0.000
-0.031 - 0 . 06 3 - 0. 1 2 5 -0.250 0 .500
The dimension of the lineality space of the cone H x <= a is : a
The extreme rays of the cone HE x<= a are:
1) -16 8 4 2 1
2) a -16 8 4 2
3) a a -16 8 4
4) a a a -16 8
5) a a a a -16
»

Exercise 7.13
Let e E JRn be any row vector. Find optimal solutions to max{ ex : x E Sn} . max{ ex : x E Cn} .
max{ex : x E H n } and max{ex : X E On} where Cn. S« are defined in Exercise 7.2. H n • On in
Exercise 7.7. State your optimality criterion dearly in each case.

For the first optimization problem we have max{ex : x E Sn} = max{ex : x 2: 0, 'LJ= l Xj ::::; I}. We
introduce a slack variable X n+l with cost Cn +l = a to bring the LP in standard form. Since x = O.
X n+ l = 1 is a feasible solution to the problem and the feasible region of the LP is bounded. we
know that there exists a finite optimal solution. Let k be the index of the variable that is in the
optimal basis. From the optimality of the basis it follows that the reduced costs of all variables
are nonpositrve, Le. Cj - Ck ::::; a for all f '< j ::::; n+ 1. Therefore. the solution Xk = 1. Xj = a otherwise,
where k is such that Ck 2: Cj for all 1 ::::; j ::::; n + 1 is optimal. See also Exercise 5.3.
For the second problem we have max{ex : x E Cn } = max{ex : a : : ; X j ::::; 1 for 1 ::::; j::::; n }. The
problem has a finite optimal solution since x = 0 is a feasible solution and moreover, the feasible
region is bounded. Let N+ = {j E N: Cj > a} where N = {I , . . . ,n}. Then the solution Xj = 1 for
j E N+. X j = a for j E N - N+ is optimal since

ex = L CjXj::::; L CjXj::::; L Cj
jEN j E N+ jE N+

where the first inequality follows from the nonnegativity of Xj . j E N and the second from the
inequalities Xj ::::; 1 for j E N .
7.8. EXERCISES 189

For the third problem we know from Exercise 7. 7 (i) that the extreme points of H n are the n
unit vectors u i, 1 :S i :S n, in IR n and its extreme rays are -u i , 1 :S i :S n. It follows that the
polyhedron is not bounded from below and therefore, if there exists j E N such that Cj < 0 then
since -uj is an extreme direction of Hi; the problem is unbounded. So we assume that e ~ O.
In this case an optimal solution exists and the corresponding optimal value is achieved at one
of the extreme points of Hn , t.e. one of the unit vectors in IR n • Let k be such that Ck ~ Cj for all
1 :S j :S n . It follows that x = u k is the optimal solution to the problem.
For the last optimization problem, we have max{ex: x EOn} = max{ex: x E {O ,I}n, L j=l Xj =
odd} . Since the unit vectors in IRn are in On and On is bounded, the optimization problem has
a finite optimal solution. WROG we assume that the components of the cost vector are decreasing,
Le. C1 ~ C2 ~ . . . ~ en. Let N+ = {j E N : Cj > O} and k = IN+I. If k is odd then the optimal solution is
given by Xj = 1 for 1 :S j :S k , Xj = 0 for k :S j :S n because ex = L j EN CjXj :S L j E N+ CjXj :S L j E N + Cj
for all x E On' If k is even then if CHI = 0 or Ck + cHI> 0, then the optimal solution is given by
Xj = 1 for 1 :S j :S k + 1, Xj = 0 for k + 2 :S j :S n. Otherwise, the optimal solution is given by Xj = 1
for 1 :S j :S k - 1, Xj = 0 for k :S j :S n. This follows since, as before, ex :S L j EN+ Cj for all x E On
and since jN+1 is odd we must either drop or add one variable at value on e.

*Exerc ise 7.14


Let e E IRn , e =f 0 have rational components and P ~ IR n be a polytope offacet complexity </Y.
-
(i) Show that there exists an integer A > 0 such that d = Ae has integer components dj with
-
(~) :S (e) - 2n and thus (d) :S n (e) - 2n2 •

(ii) Let x , y EP be tw o extreme points of P with ex > ey. Show that ex > ey + 2- 8n2q, - (c}.
(iii) Le t ~ ~ 1 + 24nH 8n2q,+(c}+1. Define ~ = ~n Cj + ~n-j for 1 :S j :S n a nd d = (d1, . . . ,dn ). Show
that max{ dx : x E P} has a unique maximizer x m a x , say, and that ex m a x = max{ex : X E Pl.

(iv) Let d E IR n and x m a x E P be as defined in (iii) and set d = d/lldll oo where 11 ·11 00 is the Roo-norm.
Show that (d) :S 3.5n(n -1) flOg2 ~1+ 2(n -1) (e) and dx m a x ~ dy + 2- 8n2q,-(d}for every extreme
point Y EP, Y =f x m a x •

(v) Show that if e = 0 and P =f 0 then the linear optimization problem max{dx : x E P } finds the
lexicographically maximal extreme point of P , where d is defined in (ii).

(i) Since e is rational, each component of e can be written as Pj / qj where Pj and qj ~ 1 are
Cj

relatively prime integer numbers. Let A = Ilj=l qj and ~ = ACj = Pj Ilk#] qk. Then ~ is integer for
190 7. ANALYTICAL GEOMETRY

1 ::; j ::; n and we estimate:

1 + log2(1 + Ipj I II qk) ::; 1 + log2((1 + Ipj I) II qk) = 1+ L log2 qk + log2(1 + Ipj I)
kh kh kh

::; L ( l + log2(1 + qk)) - (n - 1) + 1 + log2(1 + Ipjl)


k-lj
n
::; L(1 + lIog2(1 + qk)l + 1 + lIog2(1 + Ipklm - 2n = (e) - 2n.
k= l

Consequently, (~) ::; (e) - 2n and (d) ::; n (e ) - 2n 2 •

(ii) Let Cj = Pj / qj with Pj, qj relatively prime integers and qj 2: 1 for 1 ::; j ::; n. Since x, y
are extreme points of a rational polytope P of facet complexity ¢ we can write componentwise
Xj = Tj / Sj and Yj = Uj /Vj where Tj, Sj and Uj , Vj , respectively, are relatively prime integers
satisfying 1 ::; Sj,Vj < 24n<t>; see point 7.5(b). Since by assumption ex > ey it follows that the
integer number (fli=l
qjsjvj)e(x - y) 2: 1. We calculate

n n n n
(II qj)(II Sj)(II Vj) < (II qj)2
8n2
<t> < 2(c)+ 8n2<t>
j =l j=l j=l j=l

and thus ex > ey + 2- 8n2<t>- (c).


(iii) Let xO E P be any extreme point of P such that exo = max{ex : x E Pl . Define S= = {x : ex =
exo , xis an extreme point of P} and S to be the set of all extreme points of P. Let xES - S = be
arbitrary. Then we estimate
n n
j( 8n2 j(xJ
d(xO - x) = 6 ne(xo - x) +L 6 n - xJ - Xj ) > 6 nT <t>- (c) -I L 6 n- - xj)1
j =l j=l
> 6 nT 8n2<t> - (c) _ 24n<t>+l(6 n -1) /(6 -1) > 6 nT 8n2<t>- (c) _ (6 n _ 1)T 8n2<t> - (c) = T 8n2<t> - (c) ,

where we have used part (ii) of this exerci~ and th! definition of 6 . Consequently, dxo > da: for
all xES - S=. Let x ffiax E S = be such that dx ffiax 2: dai for all x E S=. For x E S = with x # x ffi ax let
k be the smallest index such that Xk # x k ax • We claim that x k ax > Xk. For suppose not. Then we
calculate
n n
j( j(
L 6 n- xjax - Xj ) = L 6 n - xjax - Xj )
j=l j =k
::; 6 n - k( Xk ax - Xk ) +
24nHl(6n-k - 1)/(6 - 1)
::; 6 n- k( Xk ax - Xk) + T 8n2<t> - (c)(6 n - k -1) ::; _T 8n2<t> - (c) ,

since x k ax - Xk< 0 implies by point 7.5(b) that x k ax - Xk ::; _2- 8n<t> ::; _2- 8n2<t> - (c). This contradicts
dx ffiax 2: dx and consequently, x k ax > Xk . Thus x k ax - Xk 2: 2- 8n<t> and to finish the proof we
7.8. EXERCISES 191

calculate
n
d(x m ax - x) = ~n-k(Xkax - Xk) + I: ~n-j(xjax - Xj )
j=k+1
n
~ ~n-k(Xkax - Xk) -I I: ~n-j(xjax - Xj )1
j=k+ 1
~ ~ n -kT 8n1> _ T8n2 1>- (c)(~n -k -1) = 2- 8n21>- (c)

for all x E S= - x m ax which proves the assertion.


(iv) Let Cj = Pj /qj with Pj and qj relatively prime integers and qj ~ 1, and let £ be such that
I~n ce + ~n- el ~ I~n cj + ~ n -jl for 1 :S j :S n. We estimate

d· .
(dj ) = ( -:) = ( ( ~npj + ~n -Jqj)qe ) + ( ( ~npe + ~n - eqe)qj )
de
:S ( ~npj + ~n-jqj ) + (qe) + ( ~npe + ~n-eqe ) + (qj) .

Using log2(1 + la + bl) :S log2(1 + lal) + log2(1 + b) for all b ~ 1 and log2(1 + ab) :S log2 a + log2(1 + b) for
all a ~ 1, b ~ 0 we find

( ~npj + ~n -jqj ) :S (2n - jHlog2 ~1+ (pj ) + (qj) -1 for 1 :S j :S n .

Using (de) = 2 and rather rough estimates we get

(d) :S 3.5n(n - 1) f!Og2 ~1+ 2(n - l) (c) .

From the first two equations we get

(dj ) ~ (qj) + (~npe + ~n-eqe ) for 1 :S j # £ :S n


and thus we have
(d) ~ log2 ( I ~npe + ~n-eqe l) + I:log2% '
jf-e

To prove d(xmax_y) ~ 2- 8n21>- (d) we observe that by part (iii) d(x max_y) ~ 2- 8n21> (ITj=l %)-1 . Since
Ildlloo = I~n ce + ~n-el , the assertion follows from the lower bound on (d) that we just derived, and
thus the proof of (iv) is complete.
(v) If c = 0 then S = S = in part (iii) of this exercise and the assertion follows immediately from
what we have proved under (iii) and the definition of a lexicographically maximal element of a set.

Exercise 7015
Write a computer program in a language ojyour choicejor the divisionjree Gaussian algorithm
with and without Euclidean reduction.
192 7. ANALYTICAL GEOMETRY

The following program is an implementation of the division free Gaussian algorithm as a MATLAB
function. For simplicity, we use the formula given in the statement of the iterative step of the
algorithm on page 195 in the text, instead of using the rowwise and columnwise structures for
the matrix B. The program is in a file called dfgauss . m.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Division-Free Gaussian Algorithm;
%% as found on pages 200-1 . We DO NOT use sparse structures.
%%
%% NAME dfgauss
%% PURPOSE: Solve the system B x = a-where B is an m x m matrix
%%
%% INPUT The matrix B, the vector a .
%% OUTPUT stat: solution status, 1 if solved, 0 if infeasible
%% x the solution to the system
%% rk the rank of the matrix B
%% E the set of rows in the order of pivoting
%% J the set of columns in the order of pivoting
%% Det the determinant of the matrix B JAE
%% L,U the Land U factors of B
%% D the matrix D in B=LD A{-l}U
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [stat,x,xnum,xden,rk,Det,E,J,L,U,D]= dfgauss(B,a);


[m,n]=size(B) ;
k=O;
E=zeros(l,m) ;
J=zeros(l,m) ;
D=zeros(l,m) ;
Jind=zeros(l,m) ;
L=zeros (m,m) ;
U=zeros (m, m) ;
b=zeros(l,m) ;
rk=O;

h=l; j =1; d=l;


[h,j]=pivotel(E,J,B);
while ( h*j > 0)
rk=rk+l;
dold=d;
d=B (h, j) ;
D(k+l)=d;
Det=d;
l=B ( : , j ) ;
u=B (h, r ) ;
L ( : , k-s L) =1 ;
U(k+l, :)=u;
7.8. EXERCISES 193

E(h)=l;
J(j)=l;
Jind(k+l)=j;
B=(d*B-l*u)/dold;
b(k+1)=a(h) ;
a=(d*a-b(k+1)*1)/dold;
k=k+l;
[h/j]=pivotel(E/J/B) ;
end

i f (any(a 0)) /
stat=O;
else
x=zeros(m/l) ;
xnum=zeros(m/l) ;
xden=zeros(m/1) ;
jcar=sum(J==1) ;
for h=jcar:-1:1,
psum=O;
for i=h+1: j car /
psum=psum+U(h/Jind(i))*x(Jind(i)) ;
end
xnum(Jind(h))=(b(h)*Det-psum) ;
xden(Jind(h))=U(h,Jind(h)) ;
x(Jind(h))=xnum(Jind(h))/xden(Jind(h)) ;
end
x=x/Det;
stat=1;
end

The program dfgcall. mwhich follows, demonstrates the use of the function dfgauss .
%B= [2 0 0 0 0; 1 2 0 0 0 i 1 1 2 0 0 i 1 1 1 2 0; 1 1 1 1 2];
%a=[1i 1i 1i 1i1] i

T=[1 1 o i 1 0 i . 0 1 1] i
/

Z=zeros(3/3) i
B=[T Z Z· Z T Zi Z Z T] ;
/

a=ones(9/1) i

[stat/x/xnum/xden,rk,Det/E/J/L,U,D]=dfgauss(B/a) ;
i f (stat == 0),
fprintf('The system has no feasible solution.\n/)
else
fprintf(/The solution to the system is:\n/)
[m/n]=size(B) i
for i=l:m,
194 7. ANALYTICAL GEOMETRY

fprintf('x(%3g)=%10 .5f' ,i,x(i))


fp rintf(' (xnum=%10.5f, xden=%10.5f, Det=%4g\n' ,xnum(i),xden(i) ,Det) i
end
end
Note: The function dfgauss returns the numerator xnum and denominator xden used in the
calculation of x to the system. We do that to show better the difference between this version of
the algorithm and that with Euclidean reduction.
The algorithm with the Euclidean reduction is implemented in the function eudfgaus that
follows:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Division-Free Gaussian Algorithm
%% using Euclidean reduction. We DO NOT use sparse structures.
%%
%% NAME dfgauss
%% PURPOSE: Solve the system B x = a-where B is an m x m matrix
%%
%% INPUT The matrix B, the vector a.
%% OUTPUT stat : solution status, 1 if solved, 0 if infeasible
%% x the solution to the system
%% rk the rank of the matrix B
%% E the set of rows in the order of pivoting
%% J the set of columns in the order of pivoting
%% Det the determinant of the matrix B JAE
%% L,U the Land U factors of B
%% D the matrix D in B=LD A{-l}U
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [stat,x ,xnum,xden ,rk,Det,E,J,L,U,D]= eudfgaus(B,a) i


[rn , n] =size (B) i
k=Oi
E=zeros(l,m) i
J=zeros(l,m) i
D=zeros(l,m) i
Jind=zeros(l,m) i
L=zeros (m,m) i
U=zeros(m,m) i
b=zeros(l,m) i
rk=Oi

h=l i j =1 i d=l i
[h,j]=pivotel(E,J,B) i
while ( h*j > 0)
rk=rk+1i
dold=di
d=B (h, j) i
7.8. EXERCISES 195

D(k+1)=d;
Det=d;
l=B(:, j) ;
u=B(h,:) ;
L ( : , k-i-L) =1;
U(k+1, :)=u;
E(h)=l;
J (j) =1;
Jind(k+1)=j;
B=d*B-l*u;
b (k- L) =a (h) ;
a=d*a-b(k+1)*1;
G=[B a];
for i=l:m,
div=vecgcd(G(i, :));
B (i, : ) =B (i, : ) / div;
a(i)=a(i)/div;
end
k=k+1;
[h,j] =pivotel (E,J,B) ;
end

if (any(a 0)),
stat=O;
else
x=zeros(m,l) ;
xnum=zeros(m,l) ;
xden=zeros(m,l) ;
jcar=sum(J==l) i
for h=jcar:-1:1,
psum=Oi
for i=h+1: j car,
psum=psum+U(h,Jind(i))*x(Jind(i)) ;
end
xnum(Jind(h))=(b(h)*Det-psum) ;
xden(Jind(h))=U(h,Jind(h)) ;
x(Jind(h))=xnum(Jind(h))/xden(Jind(h)) ;
end
x=x/Det;
stat=l;
end
and the program to call this function is edfgcall . m that follows:
%B= [2 0 0 0 0; 1 2 0 0 0; 1 1 2 0 0; 1 1 1 2 0; 1 1 1 1 2];
%a=[l;l;l;l;l] ;
196 7. ANALYTICAL GEOMETRY

T= [1 1 0; 1 0 1; 0 1 1];
Z=z e r o s (3 , 3) ;
B=[T Z Zi Z T Zi Z Z T] i
a=ones(9 ,1) i
[stat,x, xnum,xden, rk,Det,E,J,L,U,D]=eudfgaus(B,a) i
i f (stat == 0),
fprintf('The system has no feasible solution.\n')
else
fprintf('The solution to the system is:\n')
[m, n] =size (B) ;
for i=l:m,
fprintf('x(%3g)=%10.5f' ,i,x(i))
fprintf(' (xnum=%10 .5f, xden=%10 .5f, Det=%4g\n' ,xnum(i),xden(i) ,Det);
end
end
We solve two systems of the form B x = e where in the first B is the matrix H of Exercise 7 . lO(iv)
for n = 5 and in the second B = K 3n with n = 3 (see page 169 in the text). Running the two
algorithms with these data we get:

»clear
»dfgacall
The solution to the system is:
x( 1)= 0.50000 (xnum= 32.00000, xden= 2 .00000, Det= 32)
x( 2)= 0.25000 (xnum= 32 .00000, xden= 4 .00000, Det= 32)
x ( 3)= 0.12500 (xnum= 32.00000, xden= 8 .00000, Det= 32 )
x ( 4)= 0.06250 (xnum= 32.00000, x de n = 16.00000, Det= 32 )
x ( 5)= 0 .03125 (xnum= 32.00000 , xden= 32 .00000, Det= 32)
»clear
»edfgcall
The solution to the system is:
x( 1)= 0.50000 (xnum= 32.00000, xden= 2.00000, Det= 32)
x( 2)= 0.25000 (xnum= 32.00000, xden= 4 .00000, Det= 32)
x( 3)= 0.12500 (xnum= 32.00000, xden= 8.00000, Det= 32)
x( 4)= 0.06250 (xnum= 32.00000, xden= 16.00000, Det= 32)
x( 5)= 0.03125 (xnum= 32.00000, xden= 32.00000, Det= 32)
»clear
»dfgacall
The solution to the system is:
x( 1)= 0.50000 (xnum= -4.00000, xden= 1 .00000, Det= -8)
x ( 2)= 0.50000 (xnum= 4 .00000, xden= -1 .00000, Det= -8)
x( 3)= 0.50000 (xnum= 8.00000, xden= -2 .00000, Det= -8)
x ( 4)= 0.50000 (xnum= 8 .00000, x de n = -2 .00000, Det= -8)
x ( 5)= 0.50000 (xnum= - 8 . 00000 , x de n = 2 .00000, Det= -8)
x( 6)= 0 .50000 (xn um= - 1 6 . 00000 , xden= 4.00000, Det= -8)
x( 7)= 0 .50000 (xnum= -16.00000, xden= 4.00000, Det= -8)
x( 8)= 0 .50000 (xnum= 1 6. 00000 , xden= -4.00000, Det= -8)
7.8. EXERCISES 197

x( 9)= 0 .50000 (xnum= 32.00000, xden= -8.00000, Det= -8)


»clear
»edfgcall
The solution to the system is:
x( 1)= 0.50000 (xnum= -1. 00000, xden= 1.00000, Det= -2)
x( 2)= 0.50000 (xnum= 1 .00000, xden= -1.00000, Det= -2)
x( 3)= 0 .50000 (xnum= 2.00000, xden= -2 .00000, Det= -2)
x( 4)= 0 .50000 (xnum= -1.00000, xden= 1. 00000, Det= -2)
x( 5)= 0.50000 (xnum= 1. 00000, xden= -1. 00000, Det= -2)
x( 6)= 0.50000 (xnum= 2.00000, xden= -2.00000, Det= -2)
x( 7)= 0.50000 (xnum= -1. 00000, xden= 1.00000, Det= -2)
x( 8)= 0.50000 (xnum= 1 .00000, xden= -1.00000, Det= -2)
x( 9)= 0.50000 (xnum= 2.00000, xden= -2 .00000, Det= -2)
»

Exercise 7.16

(Q Let H ~ (: ~). d ~ a - c + w, w ~ y'(a- c)' +41>' and r ~ Vd' +4b'. Stun» that >., ~
(a + C + w)/2, A2 = (a + C - w)/2 are the two eigenvalues of H . Show that the vectors Xl
with components x i = dfr, x~ = 2b/r and x 2 with components xi = 2b/r , x~ = -d/r are the
eigenvectors ofH for A1 and A2' respectively, and that the matrix X = (Xl x 2) is an orthogonal
matrix.
(ii) Let H be a positive definite matrix ofsize n x nand H = X AX T as above; see the remark after
the proofofpoint 7.7(e) in the text. Show that H 1/ 2 := X A 1/ 2 X T is the unique positive definite
"square root" of H , Le. H = H 1/ 2H 1/ 2, H 1/ 2 is positive definite (and thus symmetric) and
H = K K for some n x n matrix K implies K = X A 1/2 X T , where A 1/2 = diag( 0\1, ... ,~),
Ai are the eigenvalues and X the orthogonal matrix of the eigenvectors of H .
(iii) Letu E JRn,lluli = 1 and 0: E JR. Show thatdet(o:uu T - Aln) = (_A)n-1(o: - A).

(i) To find the eigenvalues A of H we solve the equation det(H - AI) (a - A)(C - A) - b2 = 0.
= 0, i.e.
Thus the two eigenvalues of H are the two roots of the quadratic equation A - (a+c)A+ac-b 2 = 0,
2
t.e,
A = a + C ± J(a + c)2 - 4ac + 4b2 = a + C ± J(a - c)2 + 4b2 = a + C ± w .
2 2 2
So let A1 = (a + C + w)/2 and A2 = (a + C - w) /2 . To find the eigenvectors corresponding to an
eigenvalue A we solve the system of equations H X = AX, Le. aX1 + bX2 = AX1 and bX1 + CX2 =
AX2. Since A is an eigenvalue, the determinant of the system is zero, and thus the system has
an infinite number of solutions. We normalize the eigenvector by requiring xi + x~ = 1 to get
a second equation. For A = A1 we have by solving bX1 + CX2 = A1 X1 for Xl that Xl = AI ; CX2 and
198 7. ANALYfICAL GEOMETRY

from the normalization equation we get ( Al';; C)2 + l)x~ = 1 which yields x~ = (Al-~;2+b2' Now.
Al - C = a+~+w - C = a+~-c = ~ . Thus x~ = d2~:b2 = ~22 and X2 = 2;, where we pick arbitrarily
the positive square root. Substituting in the equation for Xl we get Xl = \ -c 2rb = ~. Thus the
eigenvector corresponding to Al is Xl = ( ~ , ~)T .
For A = A2' we solve the first equation for X2 to get X2 = A2; a Xl , and substituting in xi + x~ = 1
b2
. g we get Xl2 -- b2+(A2 Now, /\2
\ -a _- -a+c-w _ c-w-a _ d Th 4b 2 _
an d rearrangIn -a)2' 2- - a - - 2- - - 2 ' us x 2l -_ 4b2+d2 -

~22. Le . Xl = 2; (we arbitrarily pick the positive square root) and X2 = A2; a Xl = -~ 2; = -~ . Thus
the eigenvector corresponding to A2 is x 2 = (~b, _ ~) T .
Finally to sh ow that X = (Xl x 2 ) is orthogonal we calculate ~ ~ - ~~ = O.
(ii) We have H l / 2Hl / 2 = XA l / 2XTXAl/ 2XT = XA l/ 2Al/ 2XT = XAX T = H, where we have
used XX T = I n. To show that H l / 2 is positive definite for any vector X E ~n we calcu late
x T H l / 2X = x T X A l / 2X T X = (X TX)T A l / 2( X T X) > 0 since A l / 2 = diag(A, . . . ,~) is positive
definite. To show that H l / 2 is unique. suppose that H = K K for some K i=- H l / 2. From
H = X AXT we have X T H X = A and substituting H = K K we get X T K 2X = A. Thus
A l / 2 = X TKX and H l / 2 = XA l / 2XT = XXTKXX T = K.
(iii) We claim more generally that det( o:uu T -Aln ) = (-A)n-l(o:lluIl2 -A) for all u E ~n. The formula
is clearly correct if A = 0 (see also Exercise 4.1) or u = O. So assume that A i=- 0 and u i=- O. WROG
let U l i=- O. Multiplying row 1 of the matrix by - u ;jul and adding the result to row i where 1 :::; i :::; n
we bring the matrix o:u u T - AIn by elementary row operations into the form

wh ere v = (U2, . . . , un). Taking the determinant the formula follows.

*Exercise 7.17
Give a geometric interpretation oj the normed pivot row selection criteria jor the dual simplex
algorithm us ing the partial and/orfull row norms oj Exercise 6.12. (Hint: Review Chapters 6.4
and 7.6.1 firs t.)

The dual simplex algorithm solves the linear program in standard form min {ex : A x = b, x :::: O}
by working on the dual linear program max{ub : uA :::; c] . We assume that a dual feasible basis
B is at hand and that we move along edges of the dual polyhedron

u~ = {u E ~Tn ; uA :::; c} ,

as we maintain dual feasibility from iteration to iteration. For a geometric interpretation we can
also embed u ~ in a higher dimensional space u sing slack variables and consider the polyhedron
u= = {(u , v) E ~m+n ; uA + v = c , v :::: O} .
7.8. EXERCISES 199

U °+ Aifblf
,b

Fig. 7.8. Steepest ascent for u s. in Exercise 7.17

The polyhedron u s. is obtained from U= by projecting out the slack variables (see Exercise 7.5(ii))
and we can interpret the way the dual simplex algorithm proceeds on either polyhedron.
Consider first the polyhedron Us.. At every iteration we have a dual basis B and its correspon-
ding matrix R of nonbasic columns of A. The current solution is u o = c BB - l and we move away
from it along an "edge" of u s. of the form U(A) = u O- AU; B- 1, where r is the pivot row and A ~ o.
The pivot row is selected such that br < 0 where b = B - lb is the current right-hand side. If the
normed pivot row selection criterion using the partial norms c5i = lI uTB- l il is used in line (6.7) of
the dual simplex algorithm then we determine r such that br /c5r is as small as possible. Consider
now the dual objective function u (A )b = ZB + A( - br ) where ZB = c BB- lb. Like in the discussion
of the normed pivot column selection on page 189 of the text the direction of "steepest" ascent
is given by b/llbll where we a ssu me WROG that b =f. 0 (see Remark 3 .1). This is so because b/llbll
is perpendicular to the hyperplane ub = ZB . Thus from among the "fea sible" directions for the
dual simplex algorithm we want the ones that are as close as possible to this direction of steepest
ascent because we are maximizing the dual LP. So we calculate the cosine of the angle ¢ between
b/llbll and a direction w = -u; B- 1 that we consider. We find

wb - br
cos¢ = Ilbllllwll - Ilbllllu;B- lll .
Since Ilbll is constant, the normed pivot row selection thus finds the direction that is "as close as
possible" to the direction vector b/llbll because we choose a row r such that cos ¢ is as large as
possible, i.e. , such that ¢ is as close as possible to zero, see Figure 7.8. Like in the case of the
normed pivot column selection discussed on page 189 of the book, degeneracy must be taken
into account in this interpretation.
Suppose we interpret the dual simplex algorithm on the polyhedron U=. Then the current
basis gives the feasible point (uO, v a) where u O = c BB - l and v O = C - u OA ~ o. The current
objective function val ue gives the hyperplane ub + Ov = ZB and we are interested in finding the
200 7. ANALYTICAL GEOMETRY

direction thatis as close as possible IIbll- 1 ( : ) . To keep the notation simple let us assume that
B occurs in the first m columns and R in the remaining n - m columns of A. Accordingly we
partition v into VB and v R and note that v~ = 0 in the current solution. The direction vectors W
for a move on u= that the dual simplex algorithm considers are then of the form

W = ( - U TB -1 , U T , U TB- 1 R ) ,
r r r

and we leave it to you to verify that (uO , va) + AW E u= for all 0 :::; A :::; T' where T is determined by
the minimum ratio test (6.8) of the dual simplex algorithm. Consequently, calculating the cosine

of the angie ¢ between IIbll-1 ( : ) and W we find

_ W (:) -b,
= -~===========
cos ¢ =
IIbllllwll J
Ilbll 1 + lIu; B- 1 112 + Ilu;B- 1 RII 2 .
Thus the normed pivot row selection criterion "find the most negative br / dr " selects a direction
for u= that is a feasible direction of steepest ascent.
The two normed pivot row selection criteria are evidently different form each other and - em-
pirically - behave differently as well. The partial norms 8r seem to perform about as good in
numerical calculation as the full norms d; and both "beat" the usual pivot row selection criterion
based on a most negative br on large-scale linear programs substantially; see J.J. Forrest and
D. Goldfarb, "Steepest-edge simplex algorithms for linear programming", Mathematical Program-
ming, 57(1992), 341-374. From a theoretical point of view there is no reason - other than the
geometry just outlined - to explain the differences in algorithmic behavior.
8. Projective Algorithms
, AEt 6 eEOC; 6 (-lEYCXC; YEW(-lE,pEL •.• 1
Disciples of Euclid (c. 300 B.C.)

In this chapter we give a summary of the essentials of Chapter 8 of the text without proofs.
Using an artificial variable Xn+l with the column a n+l = - E J=l a j + b and setting Cn+l = Min
the objective function like in the Btg-M method and redefining n + 1 to be n , we can ensure -if
necessary- that the linear program in standard form

(LP) min ex subject to x E X = {x E IR n : Ax = b,« 2: O} ,

has a feasible solution xO with xO > O. We assume WROG that (LP) has such a solution and that
ex is not a constant over X. We rewrite (LP) as follows

(LP*) min{ ex : Ax - bXn+l = 0 , Xn+l = 1, x 2: 0, Xn+l 2: O}

where x n+l is a "new" variable. Geometrically, we are embedding IR n into IRn+l by identifying
a point x E IR n with the point (x, 1) E IR n+1 (see Figure 8.1). Consider the projective transformation
To
~~ 1
Yj = 1 + E nj=l Xj I x °j for j = 1, .. . , n , Yn+1 = 1 + E nj=l Xj I x °j '
which maps the nonnegative "orthant" {(x , 1) E IR n +1 : x 2: O} into the n-dimen sion al simplex

s n+l = y E IRn+l :
~1 Yj = 1, Y 2: 0
I: }
.
{ 3=1

The point (xO, 1) E IRn+l is mapped into the "cen ter" y O = [l/(n + l )]f of the simplex sn+ 1 where
f T = (1, . . . , 1) is the vector with n + 1 components equal to one. We write y = To(a: ) to denote
the image y E IRn+ 1 of the point (a:, 1) E IR n+1 where x E IR n . Denote D = diag (x~, . . . , x~) the n x n
matrix with diagonal elements x? n
for i = 1, ... , and zeroes elsewhere. The transformation To
becomes

(To)

where e T (1, ... , 1) is the vector with n components equal to one and y J;;. = (Y1 , ... ,Yn) is
the subvector of the n first components of the vector y E IR n +1 . The inverse of the projective
transformation is

and Xn+l = 1. It follows that the image To(X ) of the set X under To is

To(X) = {y E IRn+l : (A D , - b)y = 0, f TY = 1, y 2: o}


IGod the Almighty always do es geo metry.....

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
202 8. PROJECTIVE ALGORITHMS

Fig. 8.1. Embedding of R" into jRnH or Pn for n = 2

Furthermore, To(X) ~ s n+1, yO E To(X) and (LP) becomes the nonlinear programming problem

(FLP) min {CDY N : Y E To(X)} .


YnH
Denote the intersection of the (n + I) -dimensional ball with radius p and center yO with f T Y = 1
by

B ;+l = Y E jRn H : L Yj = 1,?=


n+1 n+1 (
Yj - n
1)1
+
2
:s:; p2
}

{ )= 1 )=1

which gives an n-dimensional ball in the simplex s nH if the radius p is "small" enough. Let
r 2 = l /n(n + 1) . (8.1)
If O:S:; p :s:; r then B;+1 ~ s n+1; see Exercise 8.1. We can thus replace (FLP) by

min { (CD , O)Y : (AD , - b)y = 0, y E B; H } ,


Yn+1
where 0 :s:; p < r ensures that y > O. Thus for all 0 :s:; p < r we have

min{cx : x E X}:S:; min {(CD , O)y : y E To(X) n B ;+1} . (8.2)


Yn+1
The problem (FLPp) is a restriction of (FLP) and it is a classical nonlinear optimization problem
that can b e solved exactly. In the original approach the objective function of (FLP) is linearized
as follows:
(ALP) min{(cD , O)y : y E To(X)}
8.1. A BASIC ALGORITHM 203

X
O
E
T. D- . I · A
relint(X)~~~?~~~ x (p) E relint (X )
r.-'

s n+l B n+l
p

Fig. 8.2. The iterative step of projective algorithms

and in lieu of problem (FLPp) one solves the approximate problem

min{(cD , O)y : (AD , -b)y = 0, y E B;+l} .

In either case, once a solution to (FLPp) or to (ALP p) has been obtained, one can use the inverse
transformation TO- I of the projective transformation To to obtain a "new" interior point Xl E X
which gives rise to a new projective transformation T I , etc, see Figure 8.2.

8.1 A Basic Algorithm Aller Anfang ist schwer.2


German proverb

We approximate (FLP) by (ALP) and make the additional assumptions that X is bounded and
that the optimal objective function value of (LP) equals zero. We discuss later how to remove
these assumptions. It follows that the optimal objective function value of (ALP) equals zero as
well no matter what interior point xo E X is used in the projective transformation To.
By the additional assumption that we have made, it follows that an optimal solution to the the
restriction (ALP p) of (ALP) exists and its optimal objective function value is nonnegative for all
0 ::; p ::; r. The following remark summarizes the key facts about the solution of (ALP p ) .
Remark 8.1 Consider the linear program min{cz : Az = 0 , eT z = 1, z ::::: O} where A is an m x n
matrix oj rank m, zo = (l jn)e is a nonoptimaljeasible solution and the optimal objectivejunction
value equals zero, i.e. cz" > O. Thenjor ali p ::::: 0 an optimal solution to

min{cz: Az = 0, z E B;}

is given by z(p) = (l jn)e - ppjllpll where p = (In - A T(AAT) -l A - (l jn)ee T)cT is the orthogonal
projection oj c on the subspace {z E ffi.n : Az = 0, eT z = O} . Moreover, for all. p ::::: 0 the optimal
solution z(p) satisfies cz(p) jczO ::; 1 - pvn j(n -1) .

8.1.1 The Solution of the Approximate Problem


To solve the problem (ALP p ) we need the orthogonal projection of the vector (cD , 0) on the
subspace

{y E ffi.n+l : (AD , -b)y = 0, f T Y = O} . (8 .3)

2 All beginning is difficult...


204 8. PROJECTIVE ALGORITHMS

To this end we need the inverse of the matrix

a= (AD -b) (DAT


eT 1
T
_b
e)
= (AD +bb
I O n +1
0 ).
2A T T

Denote C = AD 2 AT and note that C is positive definite. Thus C- 1 exists and the inverse of a
is
1 1 TC- 1)
a- I = (C- - (1 + j3)-I(C- b)(b 0 )
o (n+1)-1 '
where 13 = bT C- 1 b 2: 0 since C- 1 is positive definite as well. Denote
P=In - D ATC- 1AD, p=PDcT , d=Pe , (8.4)

i.e. p is the orthogonal projection of DcT and d the orthogonal projection of e on the subspace
{x E JRn : ADx = O} . (8.5)
The projection operator Q on the subspace (8.3) is calculated to be

and consequently the orthogonal projection of (cD , 0) is given by

+ Zo- '"'( (e-d) _~ (e)


T
q
= Q ( DC
0
) = (p)
0 1+13 1 n+1 1 '
(8.6)

where we have set Zo = CX Oand '"'( = pTd. For further reference we note that necessarily p -I=- 0
if x O is a nonoptimal solution to (LP). Moreover. '"'( = pTe = cDd by the properties of orthogonal
projections. By the definition of d and 13. 13 = n -lldl1 2= lie - dl1 2and Iidl/ 2::; n because 13 2: o. Ilqll
is calculated using the fact that I/ql12= (cD , 0) q. It follows from Remark 8.1 that the solution to
(ALPp ) is
yK (p) = yO _ pq/llqll , (8.7)

that (cD, O)yK (p) = (zo/(n + 1)) - pl/qll and that for all p 2: 0
(cD , O)yK (p) < 1 _ pJ(n + l) /n . (8.8)
(cD , O)yO -
Reversing the projective transformation we find that the new iterate x K (p) E relint( X) is
K 0 ( z o - '"'( ) (1 + j3)(n + l)p (8.9)
x (p) = x - t(p)D p - 1 + 13 d ,where t(p) = (1 + j3)l/ qll + p('"'((n + 1) - (n - j3)zo)

and that the objective function value of x K (p) is given by


cx K (p) = Zo - t(p) [llpl12 - '"'((zo - '"'()/(1 + 13)] (8.10)
8.1. A BASIC ALGORITHM 205

8.1.2 Convergence of the Approximate Iterates


Like the solution (8.7) to (ALP p), the loci of x K (p) given by (8.9) form a line in jRn . To prove
convergence of the sequence of points generated by an iterative application of the basic idea
consider the function
n
h(x ) = cx (II Xj) -1 /(n+ 1) , (8.11)
j=l
which is the objective function divided by the geometric mean of the point (x , 1) E lRn +1 . It
follows that

h~(:~) ,; (I - p..j(n + I)/n)(g (n + I)yj' (pw1/ (n+l) (8.12)

using (8.8) and we are left with estimating the last term for y E B;+l. The next remark gives
a best possible estimation, where p = ar with 0 ::; a ::; 1.
Remark 8.2 Let p = ar where r 2 = l /n (n - 1). ThenJor all 0 < a < 1
n
max{(II nZj) -l/n : z E B;} = [1 + a /( n - 1)( 1[(1 + a/(n -1))/ (1 - aW/ n .
j=l
From Remark 8.2 and (8.12) it follows that for all 0 ::; a < 1
h(xK (ar )) l- a / n (l +a/ n) l/(n+l) _
< (8.13)
hi(0)
» -1+ a/n I- a =g(a ,n ).

We estimate g(a,n) more conveniently and find

_
g(a , n ) ::;
e
- n - n(n+1) + n(n+l ) _ (e-2
20

(1 - a )l / n
0

-
a)1n -_ g(a ,n) .
1_ a
0 /

(8.14)

It follows that g(a, n ) < 1 for all 0 < a < a o = 0.7968 . . .. Hence the iterative application produces
a geometric convergence rate in terms of h(x) for any fixed "step-size" a satisfying 0 < a <
0.7968 . ...

Basic Algorithm (a , p, m, n, A , c, XO)

Step 0: Set Do := diag(x~ , .. . , x~ ) , Z := cx o and k := o.


Step 1: Compute C := AD%AT , C - 1 and P:= I n - D kA TC - 1 AD k •
Step 2: Compute p := P D kc T , d := Pe, 1 := pT d, (3 := n - II dl12,
Ilqll := Jllp l12 + (z - 1)2/ (1 + (3) - z2/(n + 1) and
t ._ a( 1 + (3 )(n + 1)
.- -:- + -(3::::-)J
(1- ----;;::=n(;=n=+=I~)II:q::-
-II +
-'--'-a(:1-:-(
- n-'-+- I-:-)----;-
(n---(3
-:=:)---:-z)
Step 3: S e t x k+l._
.- x k - t D k ( p - 1Z +
- (3 ·- dizag(k+
I d) , D k+l .- Xl 1, . . . , x nk+1) .
ex k+1
Step 4: if -- 0- stop " x k+ 1 is a p-optimal solution to (LP)".
< TP
ex
Set z := exk+l; replace k + 1 by k; go to Step 1.
206 8. PROJECTIVE ALGORITHMS

8.1.3 Correctness, Finiteness, Initialization


Remark 8.3 For every 0 < Q < 0.7968. .. and p 2 log2 K the basic algorithm iterates at most O( np)

times where K 2 2 is such that X <:;;; {x E JRn : 0 ::::; x j ::::; K for j = 1, . . . , n } .

The practical experience with the basic algorithm and its derivatives has been good and indeed,
in terms of the number of steps, it is far better than suggested by the analysis. As we shall see
in Chapter 8.5 - after an analysis of (FLPp) - the step complexity of projective algorithms can be
improved substantially.
Two issues remain to be addressed. The first one concerns how to start the basic algorithm
and the second one how to get a basic feasible solution to the linear program. Practice and
theory diverge - as they do so often - on both of these points. We will be brief and discuss the
"theoretical" side of the coin only.
The second issue can be dealt with by a modification of the proof of part (b) of Theorem
1, where we showed constructively how to find an optimal basic solution from any finite (near)
optimal solution x EX.
To show how to get started suppose that the original linear program that we wish to solve
is in canonical form. Changing our notation, let the original linear program be max{ex : Ax ::::;
b , x 20}. From Remark 6.5 it follows that we can find an optimum solution or conclude that
none exists by solving

min{-ex+bTu : Ax ::::; b , -ATu ::::;-eT , u20 , x 20} ,

where we have written the vector u of dual variables as a column rather than as a row vector. By
Remark 6.5 the optimum objective function value of this linear program equals zero - if it exists.
Denote s E JRm and v E JRn the vectors of the respective slack variables for the linear inequalities.
Choose any x > 0, S > 0, ti > 0 and v > O. Then x = x, s = s, u = ti, v = v and >. = 1 is a solution
to
min -ex + bTu + M >.
subject to Ax + s + (b - Ax - s)>' = b
T
A Tu-v+(e -ATti+v)>. = eT
x ,s ,u ,>' 2 0
that is in the relative interior of the feasible set of this (bigger) linear program as required by
the basic algorithm. M must be a sufficiently large number to ensure that>. = 0 in any optimal
solution - provided that it exists. To ensure the boundedness of the feasible region we need to
intersect it e.g. with a constraint that bounds the sum of z, s, u, v and >. from above by a suitably
large constant K. Adding this constraint to the linear program with a slack variable we get a
problem that satisfies all of the assumptions that we have made to prove Remark 8.3. A different
way of using the basic algorithm consists of utilizing the objective function as a constraint, t.e,
by adding a constraint of the form ex ::::; z where z is a parameter, and minimizing its slack; for
more detail see the text.
8.2. ANALYSIS, ALGEBRA, GEOMETRY 207

50

Xl
o 20 o 20

Fig. 8.3. The line (8.9), the projective curve (8.17) and interior paths to optimality

8.2 Analysis, Algebra, Geometry


M~ !lou ,oue; XUXAOUe; , <Xp<Xn e:! 3
Archimedes of Syracuse (c. 287-212 B.C.)

Here the restriction (FLPp ) of the problem (FLP) is solved exactly. (So replace ALP p by FLPp in
Figure 8.2.) We do so in two steps.
• First, the solution to (FLPp) in the space of the variables of (LP) is derived for 0 ~ p ~ r, see
(8.1), which lends itself to direct interpretation in that space, see Figure 8.3.

• Then the problem is solved in the "transformed" space and the solution of (FLPp) for values
p ~ r is derived, which allows for a nice geometric interpretation of the solution.

This leads to an algorithm for (LP) with monotonically decreasing objective function values, wi-
thout the restrictive assumptions of the basic algorithm and with a step complexity of o (py'ri) ; see
Chapter 8.5. Here we are going to use the fact that every (n+ I)-tuple (Xl , . .. ,Xn, Xn+I) E JRn+1 can
also be interpreted as the honwgeneous coordinates of some point in the n-dimensional projective
space P"; see the text.

8.2.1 Solution to the Problem in the Original Space


Reversing the projective transformation the nonlinear optimization problem (FLPp) becomes the
problem

- I (B;+I). Define a new parameter R = R(p) by


and the first task is thus to find TO

R = pv(n + 1)/n(r 2 - p2) . (8.15)


3Don' t touch my circles!
208 8. PROJECTIVE ALGORITHMS

3/2
It follows that R E [0, (0) for all p E [0, r) and since dR/dp = (n + 1) (1 - p2/ r2r > 0 , the
parameter change preserves strict monotontctty, i.e. p < p' if and only if R(p) < R(p') . We denote
the pre-image TO-l(B~+l) of B~+l by E(xO,R) and by (LPR ) the optimization problem (LP p ) in the
parameter R. i.e.
(LPR ) min{cx: x E XnE(xO ,R)} .
Remark 8.4 ForO:::; p <r the setTo-l(B~+l) is the ellipsoid

E(xO ,R) = {x E jRn: (x - xc)TH(x - xc):::; R 2}

where Xc = (1 + R 2)xO is its center, R = R(p) is defined in (8.15) and


H = tr' (In - (1 + n + nR2 )- 1(1 + R 2)eeT ) tr:' .
Moreover, the inverse tt:' ojH is given by

n:' = D (In + (1 + R 2 ) ee T ) D . (8.16)


It follows that for 0:::; p < r the sets T01(B~+l) are ellipsoids E(xO, R) and satisfy
E(xO ,R)C{XEjRn :X >O} for all O:::;R <ooj

see Figures 8.1 and 8.3. For p 2:: r the sets T01(B~+l) may be paraboloids. hyperboloids or they
may simply not exist in real terms - which is why we work here with the parameter R rather than
with p.
Remark 8.5 if xO > 0 is a nonoptimaljeasible solution to (LP) then

x(R) = xO - (R /W)D [p - (1 + ,8)-l(zo - z(R) - 1')d] (8.17)


solves the optimization problem (LPR) jor all 0 :::; R < 00 where

z(R) = zo - R((l +,8)W - 1'R)/(l +,8 + ,8R2) (8.18)


is the objective junction value oj (LP R).
W = W(R) = (1 + ,8)-1/2J(1 + ,8)l!p112 + 1'2 + (,8llpI!2 + 1'2)R2 (8.19)
and ZOo ,8. 1'. p, d are defined in Chapter 8.1.1 . z(R) is a strictly decreasing junction oj R since

dz __ ((1 + ,8)W - 1'R )2 0


(8.20)
dR - W(1 + ,8 + ,8R2)2 <

Different from the solution x K (p) obtained by approximation. which is a line in jRn. the solution
x( R) obtained from (FLPp) is a curve in jRn . In the left part of Figure 8 .3 we display both x K (p)
and x(R) when parameterized by a for the data of Exercise 8.2 (ii) where p = or, r = 1/ In(n + 1)
and we first expressed x(R) in terms of p using (8.15) to get x(p). xO is the point in jR2 with
coordinates X l = 30. X2 = 40 like in Exercise 8.2 (ii) and x(ar) is the truncation of x(p) E jR6 to jR2 .
The point indicated by. has the coordinates X l = 40. X2 = 25. X3 ,' " , X6 are the slack variables
that correspond to the inequalities of our problem and define the respective line segments when
they are equal to zero. Remember that r is the radius of the biggest ball B~+l with center yO that
is inscribable into the simplex sn+l where n = 6 in our example; see the text for more detail.
8.2. ANALYSIS, ALGEBRA, GEOMETRY 209

8.2.2 The Solution in the Transformed Space


Using the transformation To and expressing the result in terms of the parameter p rather than
R, see (8.15), we calculate the solution y(p) to (FLPp ) for all 0 ::; p < r where r is defined in (8.1) .
We find after some algebra and simplifications that the solution to (FLPp) for 0 ::; p ::; r is
y(p) = yO _ pq(p)/lIq(p)11 , (8.21)

where yO is the center of s n+l and in the previous notation we have set

q(p)=Q(DC ) =
- z(p)
T
(p) + zo-1+z(p),6 - )' (e -d)
0 1
_ zo- z(p) (e) ,
n+l 1
(8.22)

z (p) = (cD, O)y(p) = Zo _ (n + l)p (1 + ,6)W (p) - (n + l ))'p (8.23)


YnH (p) 1 + ,6 - (n + 1)(n - ,6)p2 '

(8.24)

Changing the parameter from R to p the quantity (8.19) becomes the quantity (8.24) multiplied
by (1- n(n + l )p2)- 1/2 and likewise (8.18) transforms to (8.23). Thus they both exist for 0 ::; p < r.
The objective function (8.23) can also be written as

(1 + ,6)llp I12 + )'2


z(p) = Zo - (n + l)p (1 + ,6)W (p) + (n + l))'p , (8.25)

whereas the norm of q(p) satisfies the relation


(zo - z(p))2 (zo - z(p))2
(8.26)
(n + 1) (n + 1)2p2
and thus, z(p) = Zo - (n + l)pllq(p)ll.
[As an aside. we can obtain the approximate solution (8.7) from the exact solution (8.21) by setting z (p)
equal to zero in (8.22). More precisely, from (8.22) and the definition (8.6) of q

q(p) = q - z(p)r, where r = - 1 (3


1+
(e-d) 1
- -1-
n+l
(e)
1
(8.27)

and r is the orthoprojection of the (n + l) st unit vector of lRn + 1 on the subspace (8.3). The "direction vectors"
of (8.21) are the normalized orthogonal projections of (cD , - z(p)) on the subspace (8.3) that change as
p varies and q(p) = q if and only if (3 = n, t.e. d = O. Asking the more general question under what
conditions the curves (8.17) and (8.21) are straight lines you find that this is the case if and only if p and d
are linearly dependent.]
To interpret the solution y(p) to (FLPp ) geometrically, we proceed as follows. From formula
(8.21) we get using (8.22), (8.25), (8.26) and by collecting the terms with p and p2, respectively,

o (1 + ,6)pW (p) (n + l)p2


(8.28)
y(p) = Y + (1 + ,6)llp I12 + )'2U + (1 + ,6)llp I12 + )'2 V ,
210 8. PROJECTIVE ALGORITHMS

where u and v and their respective norms are given by

U=- 0
"( (e-d) v
. (p) +1+/3 1 '
= _llp11 211 d11 2- "(2
n+1
(e)1 _("(P - 0IIPI12d) '
lIuli = vllpll2 + "(2/(1+ (3) , Ilvll = Ilullv(l + (3)(llpII 2I1 dI12- "(2 )/ (n + 1) .
Since (3 2: 0 and Ilpll =I- 0 we have u =I- 0, while v = 0 if and only if p and d are linearly dependent.
Moreover, u T v = 0, i.e. , u and v are orthogonal to each other. Define two lines

u(S) = yO + su/llull , v(s) = yO + sv/ll vll , (8.29)

where s E lR and we make the tacit assumption that Ilvll =I- O. Both lines depend only on the
center of s n+l and the orthogonal projections p and d of DeT and e, respectively, but not on the
objective function value Zo of the starting point x O; see Figure 8.4.
From (8.28) and (8.29) it follows that the solution y(p) to (FLPp) is a combination of the vectors
u(s) and v(s) for some s = s(p) E R Let us first look at the line v(s). From Exercise 8.5

V
for all 0 ::::: s ::::: r = 1/ n(n + 1). From the fact that V n +1 (s) decreases monotonically it follows that
Vn+l (SO) = 0 for some So 2: r and solving the equation we get

So exists if and only if p and d are linearly independent which is a temporary assumption that
we make implicitly. Let z be any real number. Then we compute

Zo - z
(eD , - z)v(s) = - - + -II-II
s ( - IIpl1211dl1 2- "(2 (zo - )
z ) = (zo - z )(l - s/so)/(n + 1)
n+1 v n+1
and thus (eD , -z)v(so) = 0 for s = So no matter what value z assumes. It follows that, v(so) is
a "distinguished" point since all hyperplanes (eD , - z)y = 0 obtained by varying z meet in this
point. Reversing the projective transformation we find that (eD , -z)y = 0 goes over into the
hyperplane ex = z of lRn which yields a set of parallel hyperplanes in lRn if we vary the value of z.
Thus after the projective transformation, these parallel hyperplanes of lRn have the distinguished
point v(so) in common!
To resolve the mystery, remember that Vn+ l (SO) = 0 as well and so v(so) is an improper point
of the n-dimensional projective space P« which corresponds to a "point at infinity" of lRn if it
corresponds to anything at all; see the text. Let W OO = v( so) and thus W OO = yO + w where

w = -1
IIpI1 211dl1 2- "(2
{IIP11211d112 - "(2
n +1
(e) 1
+ (,,(P -IIPI12d)}
0 '
(8.30)

IIwl1 2 = 2
[(1 + (3) llpII + "(2 ]j(n + 1)(lIpI1 2I1dI12 - ,,(2) .
IlwOOl12= IIwl1 2+ l /(n+ 1) and taking a
sort ofa limit, the point W OO "slid es off to infinity" as the
vectors P and d "become linearly dependent" because w = (lIp1I 211d112- ,,(2)- lV. In this case, the
line v(s) degenerates into the point yO and y(p) degenerates into the line u(s), see (8.32) below.
8.2. ANALYSIS, ALGEBRA, GEOMETRY 211

We write Ilwll = 00 to indicate the linear dependence of p and d. By the definition of equality of
points in P« linear dependence of p i= 0 i= d means equality of the two improper points (p ,O) and
(d,O) ofPn . Note that
z (p) = zo + (n + l)qT(p)w , (8.31)
yields another expression for the optimal objective function value of (FLPp ) ' Rewriting formula
(8.28) using wand formulas (8.24) and (8.30) we get for the solution y(p) to (FLPp) the expression

P p2 p2
y(p) = yO + g(p) , where g(p) = Ilull 1 - IIwl1 2 U + IIwl1 2 W . (8.32)

Denoting by ¢(p) the angle between g(p) and w we get cos ¢(p) = p/llwll and from sin2 a+cos 2 a = 1
y(p) = yO + p(sin¢(p)u/llull + cos¢(p)w/llwll) .

8.2.3 Geometric Interpretations and Properties


In Figure 8.4 we give an illustration of the solution y(p) to the problem (FLPp) where p < 0'
and u(s(p)), u( s(0')) denote the points of intersection of the line u(s) with the hyperplanes
(cD , - z(p))y = 0 and (cD , - z(O'))y = 0, respectively. z(p) = (cD , O)Y(P) /Yn+l(P) is the Objec-
tive function value of y(p) and z(O' ) is defined likewise. The line u(s) is the tangent and. by the
orthogonality of u and w, the line v( s) is the normal to the curve y(p) in the point yO. Formula
(8.32) is well defined for 0 ::; p ::; Ilwll and
Ily(p) - (yO + w oo) /211 = Ilwll /2 .
The loci of y(p) form thus a semi-circle with center (yO + w oo )/ 2 and radius Ilwll /2 as p varies
from 0 to Ilwll. The other half of the circle corresponds to the problem of maximizing the objective
function of (FLP p ) ; see Exercise 8.6 (ii) .
By the preceding we know that y(p) is the optimal solution to (FLPp) for all 0 ::; p < r where
r = 1/ In(n + 1) is the radius of the largest ball B;+l that can be inscribed into the simplex sn+l.
More precisely. starting from (8.21), . . . , (8.26) we obtained formula (8.32) by algebraic mani-
pulations and thus comparing (8.21) and (8.32)
g(p) = -pq(p) /llq(p)11 . (8.33)
Thus (8.21) exists wherever g(p) is well defined. Since IIdl1 2 ::; IIel1 2 = n by the properties of
orthogonal projections. it follows that IIwl1 2 2 r 2 and equality holds if and only if d = e and -y = O.
which is the trivial case that we have encountered already when we defined w oo. So in general
we have Ilwll > r and in the case that Ilw ll = 00 formula (8.32) becomes the line u(s) defined in
(8.29).
The question is whether or not y(p). as given by (8.32), remains an optimal solution to (FLPp )
for values of p greater than r . To answer it we need to know more about y(p). Since u and w
determine y(p) denote by L uw the (two-dimensional) plane spanned by u and w and that contains
yOand y(p). Le .
Luw={y E lRn+1 :y=yo+ su+tw for s,tE lR}={YE lRn+l :y =yo+ sq+tr fors ,tE lR} ,
212 8. PROJECTIVE ALGORITHMS

u( s(p)).----'--'-_"--"-"-=....,.;:O--+- -=--W OO

v( s)
u(s(a))
u(s)

Fig. 8.4. The semi-circle determined by y(p)

where q is defined in (8.6) and r in (8.27). The second equality follows because u and W are
linearly independent if and only if q and r are linearly independent. where we write q and r as
follows:
"I u 1 w
r--- ·-- --- ·--
- 1 + f3 IIul1 2 n + 1 Ilw11 2 '

If Ilwll = 00. Le . if u and was well as q and r are linearly dependent. then L u w is simply the line
u(s) and we drop w from the definition of L u w • The last component of the line u(s) is
1 "I s
Un+I(s) = n + 1 + 1 + f3 llu ll'

Thus for s = -(1+ f3)llull h(n+ 1) we get an improper point ofPn that we call U OO • U OO exists if and
only if "I i- O. Le.• if p and d are nonorthoqonal; which we assume temporarily. Write U OO = yO + uO
where

UO = -[(1 + (3 )h(n + 1)]u , lIuoll = (1 + (3)llu ll/ I"II(n + 1) . (8.34)

IIu OOl1 2 = Iluol1 2 + 1/(n + 1) and taking again a sort of limit. the point U OO "slides off to infinity" as
the vectors p and d "become orthogonal". but the line u (s) still exists. Like in the case of W OO we
use lIuoo li = 00 to indicate the orthogonality of p and d.
It follows that II W OO II = 00 = Ilu oo II if and only if d = O. Unlike w oo . whose position is "fixed". U OO
lies on the halfline u(s) for s 2:: 0 if "I < 0 while U OO lies on the halfline u(s) for s ::::: 0 if "I > O.
Assuming Iluooll < 00 and Ilwooll < 00 the three points yO. W OO and U OO determine a triangle in
the plane L u w to which y(p) belongs if "I < 0 (see Figure 8.5). You are encouraged to supply the
illustrations for the cases when "I = 0 and "I > O. respectively. yourself.
Denote the perpendicular from yO on the line defined by U OO and w oo. Le . the hypotenuse of
the triangle. by y OO and thus

y OO = fJ,U oo + (1- fJ,)W OO for some 0 < fJ, < 1


8.2. ANALYSIS, ALGEBRA, GEOMETRY 213

Fig. 8 .5. The triangle determined by yO, u oo and WOO if 1 < 0

since u and w form a right angle in the plane L u w • From the condition of orthogonality we get
the equation (yO - y oo)T(u oo - WOO) = o. Solving for J.L and simplifying we find

yOO ~ II~II' ( ~), II Yo ~ yOOll' ~ (1 + fJ) /(n + 1)(n - fJ) . (8.35)

You verify that r 2 :::; Ilyo - yool12 = Ildll - 2- (n + 1)-1 :::; Ilw11 2. Equality holds in the first inequality
if and only if d = e. i.e. (3 = 0, and in the second one if and only if ,=0 and Ilwooll < 00. So in
general we have strict inequality on both sides. To see why we are interested in yoo consider the
problem
min{Yn+l : y E To(A') n B;+l} .
The solution exists for all p ~ o. Denote it by yO(p). Using Remark 8.1 we calculate yO(p) =
yO _ pr/llril where r is defined in (8.27) and we get yO(p) = yO + p(yoo - yO) /llyoo - y011 for all o > O.
Denote Poo = Ilyoo - yOII. Hence we have e.g. from (8.35)
pi Poo > 0
(n + 1)Yn+1 :2: 1 - (8.36)
for all y E To(A') n B;+l and 0 :::; (n + l)poor = yO(Poo) and if"( < 0
p < Poo. Moreover, yoo = yO -
then we have y(Poo) = u" as you verify using (8.32). In the case that "( = 0 we get WOO = u" and
the triangle degenerates into a semi-open infinite rectangle.
If I < 0 and P > Poo then there exist y E To(A') n B;+l such that Yn+1 < O. But "crossing
the line" defined by the hypotenuse of the triangle corresponds to "passing through infinity" in
lR. n and "coming back from infinity" which is what the sign change for Yn+1 entails. Keeping in
mind that we wish to apply the inverse TO- 1 of the projective transformation, it makes no sense to
permit "solutions" to (FLPp) having Yn+l < o. We are thus led to consider the following restriction

(FLPp+) . {(CD
m m , O)y: y E
Yn+l
rri (
.L ° A' n B n+1 , Yn+
)
p 1 > 0}
of (FLPp) which is exactly (FLPp) for all radii 0 :::; P < Poo and thus in particular, for all radii
0 :::; P < r.
214 8. PROJECTIVE ALGORITHMS

Zo

-00
u oo +00 Y n+1 =0

Fig. 8.6. Lines in the plane Luw if 'Y < 0

8.2.4 Extending the Exact Solution and Proofs


Remark 8.6 (i) If x O is a nonoptimal solution to (LP), then the vector y(p) given by (8.32) solves the
problems (FLPp ) and (FLP;)jorallO ::; p < Poo = J lldll -2 - (n+ 1)-1 :::: r , Moreover, if'Y = pTd :::: 0
then the statement remains correctjor all 0 :::; P < I w II. If 'Y < 0, then a finite optimal solution to
(FLPp ) and (FLPt) does not existjor Poo ::; P < IIwll .
(ii) If jor some P > 0 a finite optimal solution to (FLP p) with an objective junction value less than
Zo = cx o exists, then the vector y(p) given by (8.32) solves the problems (FLP p) and (FLPt) and its
corresponding objective junction value z(p) satisfies z(p) < ZOo Moreover, jor every a E (0, p) both
problems have the same finite optimal solution with objective junction value z(a ) > z(p), z(a ) < ZOo
From the analysis in this section of the text it follows that
z(p) = u
(c D, O)y(p) - Zo _
Yn +1 (p) - V (n+1)ll+ llp
1- e2
IIwll 2
(n +1he
(1+13) lIuli

_ _ ( + 1) (1 +,8)lluIIV1-p 2/ llwIlL(n+1))'p
(8.37)
- Zo n p (H ,8)-(n - ,8)(n+1 )p2 .

and moreover that the objective function can also be written as

z(p) = Zo - (n + l)pllq(p)11 . (8.38)

The plane L uw is divided into four parts by the two hyperplanes Yn +1 = 0 and (cD , -zo)y = o. The
point W OO is the "origin" and every hyperplane (cD , -z)y = 0 defines a line in L uw that contains
w oo.
Decreasing z we get a "bundle" of lines that turn counter-clockwise around the point w oo.
In Figure 8.6 we illustrate the situation for 'Y < o. It follows from the analysis of this section
that approaching the line given by Yn+ 1 = 0 "from above" corresponds to z tending to - 00 , while
8.3. THE CROSS RATIO 215

o - I \
Y7 =O -- l \
--- - - - - - - - - - y OO~-~W- - - - - - - - --
W Y
--------~

Fig. 8.7. Projective images of Figure 8 .3 in the plane L u w of p 6

"on the other side" of this line z is arbitrarily large. The values Zi shown in Figure 8.6 satisfy
oo
+00 > Z l > Z2 > Zo > Z3 > Z4 > - 00. Because (cD , - z)W = 0 for all z, the objective function value
z(p) of (8.37) for p = Ilwll does not exist if 'Y < 0: z(llwll) can be any real number.
The point u oo plays a role similar to that of W OO in our development except that u oo changes
its position depending on the sign of 'Y = pT d. Since (cD , - z )W oo = 0 for all z E IR one can ask
oneself: what is the family of hyperplanes of the form (aT , - z)y = 0 where a E IR n is "fixed" and
z E IR arbitrary that are tangent to the n-dimensional ball B;+l and that meet all in the point U oo ?
See Exercise 8.6.

8.2.5 Examples of Projective Images


In Figure 8.7 we show projective images of the polytope of the problem of Exercise 8.2 (il) for two
different points X O that are used in the transformation To: in the left part we use the point X O of
Figure 8 .3 with coordinates X l = 30, X2 = 40, in the right part the point with coordinates X l = 40,
X2 = 25 for the transformation, i.e, the one indicated by • in Figure 8.3.
We have carried out all calculations in 1R7 or p6, of course and the pictures are not an "ar-
tist's rendering" of some projective transformation. See the text for a detailed discussion of the
implications of the analysis of the previous section for these examples.

8.3 The Cross Ratio


Il dv fllhpov &ptcr-cov! 4
Kleoboulos of Lindos (c. 550 B.C.)

To measure the progress of the objective function value along the curve y(p) or x(R) as defined
by (8.32) and (8.17) we make initially the assumption that (LP) has a finite optimum. Denote by
z, the optimum objective function value.
The intersection of the hyperplane (cD , - z*)y = 0 with the plane L u w is a line that contains
W OO E Pn. In the n-dimensional projective space P« any two lines that belong to a plane either are

4 Every thing in good m easure!


216 8. PROJECTIVE ALGORITHMS

A A
o
t
/11 \
/ 1\ \
/ 1\ \
/ I I \
/ I I \
/ 'I D'
B G / I I \
/ I \
/ \
/ \
B / \
/ \
/ \
/ \
G / \

/ A'
/
/
I
/ A" I
D D •
A •
B
Fig. 8.8. The cross ratio of four points on a line

identical or have a nonempty intersection. For any p E [0, Poo) the line
y(p,T) = yO + (T/ p)(y(p) _ yO) (8.39)

for T E IR is different from the line L uw n {y E IR n+1 : (cD, - z*)y = O} because yO belongs to y(p,T),
but not to the second line since :vO is, by assumption, nonoptimal. Hence there exists T(p) E IR
where the two lines intersect. We now have three points yO , y(p), and y (p,T(p)), see Figure 8.9,
and to measure "distance relations" in P n in a meaningful way we need an additional point.
The intersection of the hyperplane {y E IRn+l : Yn+l = O} with L uw is the line that contains w oo ,
y oo and u oo . This line is also different from the line y(p,T) since Y~+l = l /( n + 1) > O. Denote by
y'; the point of intersection of y(p, T) and the hyperplane Yn+l = O. y'; is, of course, in general
different from the point y oo ; see Figure 8.9 for an illustration.
We can use now the cross ratio of the resulting four points to measure the progress and, as
we shall see, this yields the usual relative error measure. In elementary geometry the cross ratio
of four points A , B, G, D that lie on a line is the double ratio
AG AD
D v(A,B;G,D) = BG : BD '
where AG , BG, AD, BD are the "lengths" of the respective line segments with their respective
signs according to the relative positioning of the four points; see Figure 8.8. The abbreviation
Dv stands for the German Doppelverhiiltnis which translates to cross ratio and as our notation
suggests, the first two points A and B are set in relation to the third and the fourth as follows:
first we relate A and B to G by a ratio, we then relate A and B to D in the same fashion and
finally, we form the double ratio. "Relative positioning" of the points on the line means that we
choose an orientation for the line and give the length of, say, the line segment AG a negative
sign if G occurs "b efore" A on the line. Thus the order of the points matters in the definition of
D v(A, B ; G, D) whi ch can be positive or negative.
8.3. THE CROSS RATIO 217

(cD , - zo)y = 0

v( s)
u( s*)

y(p ,T)

Fig. 8.9. Cross ratios for the problem (FLPp) if'Y < 0

It is a fundamental property of the cross ratio that it is invariant under central projections. In
the right-hand side part of Figure 8.8 we show a projection with center 0 and by the invariance
of the cross ratio we have D v(A, B ; G, D) = Dv(A' , B'; G', D') = Dv(A" ,B" ; G" , D") . This invariance
has led to a concise concept of "distance" and thus to a metric in the projective space P« of n
dimensions.
Given any four points y1, y2 , y 3, y 4 of Pn with u' 01 y4 and y2 01 y 3 that lie on a line of Pn
and any two projective hyperplanes d 3y = 0 and d 4y = 0, say, such that d 3y 3 = d 4y4 = 0 and
d 3y 2 01 0 01 d 4y1, the cross ratio of the four points y 1, y 2, u', y4 is

1 2 3 4) (d3y1 )(d4y 2)
D v ( y ,y ; y , y = (d 2)(d .
3y 4y1)
"Projective hyperplanes" means that like y the d ; are nonzero (n + I)-tuples for i = 3, 4. Like
in the elementary case, the cross ratio depends on the order in which we write the points, I.e.
DV(y2,y\y3,y4) i= DV(yl, y 2;y3,y4), and the "relative positioning of the four points on the line"
translates into signs of the quantities d iyk used in the definition of D v .
One verifies that our four points y(p), yO, y(p, T(p)) , y';, see Figure 8.9, together with the
hyperplanes (cD , - z*)y = 0 and Yn+1 = 0, respectively, satisfy the assumptions of the definition
of Dv . Calculating the cross ratio in the stated order we find
D ( () 0. ( ()) 00 ) _ (cD , - z* + z(p) - z(p))y(p) . (n + 1)-1 _ z (p) - z*
v y p , y , y p, T P , y p - (cD , _ z; + Zo - Zo )yO Yn+! (p) - Zo - z* '

which is indeed the relative error. To use the cross ratio in our estimation, we need a second
way of calculating it . We do this first for the general case of points y1 , y2, y 3, y 4 of Pn used
in the definition. Since y 1, y 2, y 3, y 4 lie on a line we find f.-l1, f.-l2 E JR and A1, A2 E JR such that
y 3 = f.-l1y1 + f.-l 2y2 and y4 = A1y1 + A2y2. Consequently. from d 3y 3 = 0 we get f.-l1 d 3y1 + f.-l2d 3y2 = 0
and likewise, A1d 4y 1 + A2d4y2 = o. Now y1 01 y 4, y2 01 y 3 imply A2 01 0 and f.-l1 i= 0 and thus
d 3y1 /d3y 2 = - f.-l2/ f.-l1 and d 4y2 /d4y1 = - A1/A2' Hence

D v(y l, y 2; y 3, y4) = A1f.-ld A2f.-l1 .


218 8. PROJECTIVE ALGORITHMS

To apply this formula for the cross ratio to our situation denote by T;:' the value of T such that
y (p,T) = y';'. From the definitions of T(p) and of T;:' it now follows that

z(p) - z 1 - p/T (p)


Dv(y (p),yO;y (p,T(p)),yOO ) = * = . (8.40)
p Zo - z* 1 - p/T~

The question is whether or not one can estimate the last expression appropriately. In Figure 8.9
we illustrate the case where / = p T d < O. To get a different way of estimating the progress of the
objective function value of (LP) we can also use e.g. four points on the line u (s). In Figure 8.9 we
indicate four such points and we leave it as an exercise to verify that Dv(u (s(p)), yO;u (s*),UOO ) =
(z( p) - z*)/ (zo - z*).
Remember from Chapter 8.2 that (eD , - z )WOO = 0 for all z E R The line y(p , T) intersects the
hyperplane (eD, - z )y = 0 somewhere in the plane L u w and the point of intersection lies on the
line segment between yO and y';' for all Zo ~ z > -00 if / < O. Indeed, taking the limit z -+ - 00 the
hyperplane (eD , - z)y = 0 becomes the hyperplane Y n +! = 0 since (eD , - z)y = 0 = ((l / z)eD, -l)y
for all z =I=- 0 and one reasons likewise when / ~ 0; see also Figure 8.6. In case that (LP) has an
unbounded optimum the points y(p ,T(p)) and y';' thus coincide, but the cross ratio (8.40) is still
defined as we have not assumed that y 3 =I=- y 4 in the definition of it. So we can always work with
some finite lower bound - fictive or real - on the optimum objective function value of (LP) when
we use the cross ratio.

8.4 Reflection on a Circle and Sandwiching


f vw8Lo ' ct\h6v! 5
Thales of Milito s (643-548 B.C.)

The analysis of the problem (FLPp) settled the existence and uniqueness of its solution and tells
us how to move from a given solution x Oto a new solution x l, say, such that Z l = e x l < exO= Zo
if x Ois nonoptimal. The cross ratio tells us how to measure the progress that we make towards
the solution of (LP) by solving the problem (FLPp) for some p ~ O. In what follows, we construct,
starting from suitable initial upper and lower bounds, a sequence of lower bounds v i , v 2 , . . .
concurrently with the upper bounds Z l , Z2 , . .. that give a faster polynomial step complexity of
a very different realization of the basic algorithmic idea.
A technique - which dates to antiquity - to perform geometrical constructions is the inversion
oj a point in a circle, or the reflection on a circle for short, and it goes as follows .
Given a circle with center 0 and radius p, say, take any point P =I=- 0 in the circle and construct
a point P' on the line determined by 0 and P by requiring that OP · OP' = p2 where OP and OP'
are the Euclidean lengths of the corresponding line segments. To every point inside the circle
there corresponds exactly one point outside of it and the reverse holds as well. The mapping is
thus bi-unique and to complete it, let us think of the center as b eing mapped into some (unique)
"point at infinity". By the prescription

5Know thys elfl


8.4. REFLECTION ON A CIRCLE AND SANDWICHING 219

we define for every point y =1= yO inside (outside) of B~+l its "inverse" point yinv outside (inside)
of B~+l. It follows that for p = 1/ v n + 1 the set B~+l is mapped into the set

n+1 n+1 1 }
n
{
y E IR +l : LYj = 1, L(Yj - n+ 1) 22: n: 1
J=l J=l

and vice versa. Remember that r = 1/ J n(n + 1) is the largest radius of a ball that can be inscribed
into sn+1 , whereas In /(n + 1) is the smallest radius of a ball that can be circumscribed to s n+1;
see Exercise 8.1 and the left part of Figure 8 .10 below where p = (n + 1)-1 / 2, R = In /(n + 1) and
reflection on the circle with radius p is illustrated for n = 2.
This "inversion" or reflection interchanges the subset of IR n +l where positivity of the solution
y(p) to (FLPp ) can be guaranteed with an "outside" where the positivity ofy(p) is certain to be lost
on some component of y(p).
For every radius p with 0 < p < r we get by reflection on the boundary of the ball with radius
(n+l)-1 /2 a "twin" problem (FLPa ) to the problem (FLPp ) where a = 1/(n+l)p > In/(n + 1). (FLPa )
can be thought of as a relaxation of the problem (FLP) and thus of the original (LP) - provided
that the solution to (FLPa ) exists. But if p is not "too small", then a is not "too big" and - as
Remark 8.6 shows - a solution to (FLPa ) may very well exist in this case.
Remark 8. 7 Let x OE X satisfying x O> 0 and Zo = ex o be a nonoptimal solution to (LP) such thatfor
some a > In /(n + 1) the optimal solution y(a) to the problem (FLPa ) exists and denote its objective
function value by z(a ). Then z(a ) < Zo and there exists an "interio r point" solution to the dual of
the linear program (LP*), i.e., to the program ma:x{lto : f.£T A :S e , -f.£Tb + Ito :S O} , with an objective
function value equal to z(a ). Thus z(a) is a lower bound on the optimal objectivejunction value of
(LP) .
Assuming that (FLPa ) is solvable, it follows that by inverting y(a) on the ball with radius I /Vn + 1
we get a point in To(X) n B~+l, t.e. , we have for p = 1/(n + l)a
y(a, p) = yO + (pla)g(a) E To(X) n B~+ l and (8.41)
y -(a,p) = yO - (pla)g(a) E To(X) n B~+ l , (8.42)

which is used in the proof of Remark 8 .7 . The next remark shows that the inversion on the ball
with radius II vn + 1 gives a sharper estimation of the relative error than the one we got for the
basic algorithm. It spells out most of the assumptions on the radii p and a that are needed for
an iterative application.
Remark 8.8 Let x OEX, XO > 0 and Zo = ex o, be such thatfor some w 2: r the problem (FLPw) has
an optimal solution with objective function value z(w) = Vo < ZOo Thenfor any p and a satisfying
o < p < r < a < wand pa(n + 1) = 1 the following statements are correct: (i) The optimal objective
junction value V1 = z(a) of (FLPa) is a lower boundfor (LP) , V1 > Vo and thus Vo is a lower boundfor
(LP) as well. (ii) Xl = To-1(y(a, p)) satisfies xl > 0, x l E X and Zl = ex 1 < Zo where y(a, p) is given
by (8.41). (iii) if in addition to the above (n + l)p :S 1 and a 2 :S w, then setting a = (n + l)p itfollows
that

Zl - V1 ( a (l - a))-l
< 1 + y r::.-I1
Zo - Vo - n +1
. (8.46)
220 8. PROJECTIVE ALGORITHMS

1)0
(c D, - z I) y =0 /' I
I
/ I
I I
~(a,p I
I
I
(cD, - v I) y = 0\

Fig. 8.10. Reflection on a circle and cross ratios for sandwiching if 'Y < 0

The proof of Remark 8 .8 utilizes inter alia the fact that Zl can be evaluated as follows:

Zl = . .:. . (c_D--,,- _-_


z(.:.-a.. :. . )---,
+_z..:. . (a.. :--)),--"Y-,-(a--,'.-:. . :. .p) = z (a ) + 1 - pia (zo - z (a )). (8.47)
Yn+l (a, p) (n + l)Yn+l (a, p)

8.4.1 The Iterative Step


To apply Remark 8.8 iteratively we have to prove e.g. that the initially selected radii p and a
continue to satisfy the various assumptions of Remark 8 .8 for some suitable radius W after we
have moved to a new point. If radii p and a that do not depend upon the "cu rren t" solution to
(LP) exist. then we get new upper and lower bounds such that (8.46) remains correct.
Like in Remark 8.8 let x l be the point obtained from (8.41) under the projective transformation.
Zl = ex l its objective function value. VI = z (a ) < Zl be the current lower bound and D l =
diag (xt , . . . , x; ) the diagonal matrix of the "next" transformation Ti that maps xl into the center
of sn+ l . Denote by ql(v I) the orthogonal projection of (eD l , - vI)T on the subspace (8.3) with D
replaced by D l .
Claim 1 if Xl is a nonoptimal solution to (LP), then ql ( VI) -=I- O.
If xl is nonoptimal solution for (LP), then by Claim 1 the line yeT) = yO - Tql( vI) /llql(vl)1I is well
defined and intersects the hyperplane (eD l , -vI)y = 0 for T = W I . say, where

(8.48)

since Z l - VI > O. Thus we have a radius W I corresponding to the radius W of Remark 8 .8 . Denote
by (FLP~l) the program that we get under T l using D l rather than D. Like in Chapter 8.2 we get
a two-dimensional plane L 11w, where it corresponds to u and iii to W of Chapter 8.2. The line y eT)
satisfies y eT ) E L11w for all T ~ 0 and corresponds to the "broken" line of Figure 8.10.
Claim 2 if q l ( Vl ) -=I- O. then (FLP~ l) has afinite optimal solution.
It follows from Claim 2 that the problem (FLP~) has an optimal solution for p = W I with an
objective function value of Zl (wI), say, and unless x l is an optimal solution to (LP) then necessarily
that Zl (wI) < Z l as required for Remark 8.8. Note that Zl(wI) = VI if 9 :S 0, but it is possible
8.5. A PROJECTIVE ALGORITHM 221

that zl(W1) > V1 if '1 > O. This latter possibility does, however, not change the validity of the
argument used to prove Remark 8.8 since we conclude that Zl(W1) is a lower bound for (LP) if the
assumptions of Remark 8.8 are met. The relative error estimation remains correct in this case,
too.
So if q1(V1) =1= 0, then the nonlinear program (FLP~l) that we get at the new point Xl E X has
a finite optimal solution. To prove that, for a suitable initial choice, the "original" radii p and a of
Remark 8.8 can be applied again we need to estimate the length of the vector q1(V1)'
Claim 3 lfO < (n + l)p < 1/../2, crp(n + 1) = 1 and cr 2 ::; w, then Il q1(V1)11 < (Zl - v1)(n + l)p2 for all
0 < (n+ l)p < Cn , iotiere e; = J(n + 1)(1 - In /(n + 1)) . Moreover; Cn 2': ~Joralln 2': 1, }~~cn = ~
and ../2 < a < cr 2 ::; W1'
Since Cn < lfor all n 2': 1, this estimation ofllq1(V1)11 does not apply to allp satisfying 0 < p(n+l) < 1,
but it applies to all p satisfying 0 < p(n + 1) < 1/../2 = 0.707 0" Consequently, if we can find an
initial radius p such that 0 < (n+l)p < 1/../2 then Remark 8.8 applies mutatis mutandis to the new
point Xl, the radius W1, the same p and a as used before and all n 2': 1. The iterative application
of Remark 8.8 is thus correct for any p in the stated bounds.

8.5 A Projective Algorithm


In fine inttium.f
Latin proverb

Given a nonoptimal interior point x O E X with objective function value Zo and an initial lower
bound Vo on the optimal value of the objective function value of (LP) we are now ready to formulate
a projective algorithm with input parameters a for the step-size, p for the desired precision in
terms of the relative error and the descriptive data for (LP) .

Projective Algorithm (a, p, m, n, A, c, x O, Zo, Vo )


Step 0: Set Do := diag(x~ , . o. , x~ ), Z := Zo and k := O.
Step 1: Compute G:= AD~AT, G- 1 and P:= In - D kA TG- 1AD k .
Step 2: Compute p:= PDkCT, d := Pe, "(: = pT d, f3 := n -lIdI1 2, A := (1 + (3)llp I12 + "(2,
2
K := (n + 1)(llpI121IdI1 2 _ ,,(2), V := z _ J(1 + (3 )(Aa - K) - (n + 1)"( and
(n + 1)-1(1 + (3 )a 2 - n + f3
t := (n+ 1)(1 + (3 )b (n + 1) + (z - v )(1 + 2f3 - n)]-l.
S et Xk+1 .-
._ Xk - t D k ( p - Z -V
1 + -f3 "( d) andD k+1·-
'-d zag(Xlk+1 , . .. 'X nkH ).
O

Step 3 :
cx kH - v
Step 4: if < 2- P stop "Xk+ 1 is a p-optimal solution to (LP)".
Zo - Vo
Set Z := CX k +1 ; replace k + 1 by k; go to Step 1.

To prove convergence of the projective algorithm we need, of course, an initial interior point
XO EX and a lower bound Vo such that the various assumptions of Remark 8.8 are satisfied.
Denote by q(vo) the orthoprojection of (cD , - vo)T on the subspace (8.3) where
D = diag(x~ , . o o ,x~ )
6In the end there is a beginning.
222 8. PROJECTIVE ALGORITHMS

is given by x O• Then like in Chapter 8.4, see (8.48), we conclude that q(vo) i= 0, set

Wo = (zo - vo)/(n + I)llq(vo)11


and prove that (FLPwo ) has a finite optimal solution. For the iterative application of Remark 8.8
a step-size 0: = (n + I)p, such that (T2 < Wo where (T = 1/ p(n + 1) = 1/0:, is required and thus we
need

0: > 0:0 = J(n + I)llq(vo)II /( zo - vo) . (8.50)

From the analysis of Chapter 8.4 we have an upper bound of 1/ V2 on the step-size 0:. Thus for
any pair of zo and vo such that 0:0V2 < 1 we get a nonempty interval fOJ[" the step-size that gets
us started. Since the projection q(vo) depends upon x O E X , of course, not every interior point
works.

Remark 8.9 (Correctness and finiteness) For any step length 0: satisfying 0:0 < 0: < I /V2 the
projective algorithm iterates at most O(PVn + 1) times, where 0:0 is defined in (8.50) with respect to
a suitable interior point x O E X and initial upper and lower bounds zo and Vofor (LP), respectively.

Let us now briefly discuss how to start the projective algorithm for a general linear program
(LP) for which an interior point X O E X is known. We need to ensure that 0:0V2 < 1. Consider q(vo)
and write q(vo) = q - vor where q is defined in (8.6) and r in (8.27). If r = 0, then Ilq(vo)11 = Ilqll is
independent of the numerical value of Vo and thus by choosing any finite Vo > -00 that is "small
enough" we can make 0:0 2: 0 as small as we wish.
By (8.27) r = 0 if and only if d = 0 in which case the plane L u w of Chapter 8.2 degenerates
into a line and Ilwooll = 00 since p and d are linearly dependent. Thus any interior point X O E X
with the property that the orthoprojection (8.4) of e on the subspace (8.5) equals zero works.
To see how we can always "force" this to happen initially let K > 0 be any integer such that
every basicfeasible solution to (LP) satisfies 'L.7=1 Xj < K with strict inequality and denote by Xn+l
the corresponding slack variable. It is shown in the text that x O = lie , x~+l = X~+2 = Ii is a feasible
starting point where Ii = K /(n + 2). Clearing fractions we get the linear program

min ex + OXn+l + M Xn+2

(LP')
subject to KAx + OXn+l + bXn+2 = Kb
'L.7=1 Xj + Xn+ l + Xn+2 =K
x , Xn+l , Xn+2 2: 0 ,

in n + 2 variables where b = (n + 2)b - KAe. (LP') has integer data and its digital size remains
polynomial in the size L of the original linear program (LP).
8.6. CENTERS , BARRIERS, NEWTON STEPS 223

8.6 Centers, Barriers, Newton Steps


~6c; tlOt noD mw xed ,~v y~v XLv~aw! 7
Archimedes of Syracuse (c. 287-212 B.C.)
We assume throughout this s ection that the fea sible region X ~ 1R+. is a polytope with a nonempty
relative interior. Let xl , . . . , x P b e the vertices of X . The barycenter or the center ojgravity of X
is the point

(8.51)

which is obtained as the convex combination of all vertices with equal weights and thus x C E
relintX.
A subset S ~ IRn is centrally symmetric, if there exists xo E S such that for any y E IRn with
xo + y E S we also have xo - y E S. Ellipsoids and balls in IRn are examples of such sets.
For compact convex sets S ~ IRn of full dimension that are not centrally symmetric the notion
of a "centroid" is used to define a "center" of S. S has a positive volume vol(S) and the centroid
x C of S is defined componentwise by

xC = _1_ / . . .J X'dX1'" dx for 1 < J' < n. (8.52)


J vol (S) SJ n --

Using in tegral calculus one proves that x C = xo if S is centrally symmetric with respect to
x o. For if ax = 0,0 with a -l O is any hyperplane containing xo, i.e. ax o = ao, then the sets
Sl = S n {x E IR n : ax ~ ao}, S2 = {x E IRn : ax ;::: ao} satisfy dim.S, = n, VOl (Si ) = !vol (S) for i = 1, 2
and
XjC = vol1(S) / J
. . . SlUS2Xj dx1' " dXn = vol2x~
(S) / J
. . . sldx1' " dXn = Xj°
for 1 ~ j ~ n becaus e dimS = n and x E Sl if and only if 2xo - x E S2 by the cen tral symmetry
of S with respect to xO. If S is an arbitrary compact convex set of full dimension in IRn , then
a hyperplane passing through the centroid xC of S do es in general not divid e S into two parts of
equal volu m e. However, defining Sl and S2 as above, the volumina of Si and S satisfy Mityagin's
inequality

VOl(Si) ;::: (n: 1) n vol(S) for i = 1,2. (8.53)

This inequality implies th at every hyperplane that passe s through the centroid divides the full-
dimensional compact and convex set S ~ IRn into two parts such that the ratio of the volu m e of
either part to the volume of S is a t leas t e- 1 ~ 0.368 and a t most 1 - e- 1 ~ 0.632 where e is Euler's
number. The latter follows fr om (8.53) because vol (S) = VOl (Sl ) + VOl (S2) and thus for i = 1, 2 and
all n ;::: 1
VOl( Si) ~ (1 - (n: 1) n) vol (S) < (1 - 1
e- )vol (S) .

Returning to polytopes , let x:S = {x E IRn : A x ~ b, x ;::: O} be the fea sible set of a linear program
in canonical form. The assu mption of the existe nce of an interior point xO E X with xO > 0 is
7 Give me a place to stand and I will unhinge the earth!
224 8. PROJECTIVE ALGORITHMS

equivalent to requiring that dimX5, = n. In this case the calculation of the centroid x C is (tedious,
but) straightforward. To apply this notion to flat polytopes X = {x E IR n : Ax = b, x 2:: O} having
an interior point xO E X with x O> 0, remember that we assume that r (A) = m where A is an m x n
matrix. Let B be any basis of A, let (B, R ) be the corresponding partitioning of A and consider
X' = {y E IR n - m : B - 1 Ry ~ t r ». y 2:: O} .
The assumption that there exists xO E X , xO > 0 then implies that dimX ' = n - m. So we
can calculate the centroid of X' and the centroid of X in a (tedious, but) straightforward way.
Barycenters and centroids of polytopes do, of course, not always coincide.
In the case of the simplex s n+l the notions of a barycenter and of a centroid coincide and they
do as well - at least in certain cases - with the following concept of centrality which takes some
of the arbitrariness out of the definition by way of an "objective function."
Let bar (x) be any continuous function that maps the polytope X into IR and that satisfies:
• bar(J-lx l + (1 -
J-l)x 2 ) ~ J-l bar(x l ) + (1 - J-l) bar(x 2 ) for all 0 ~ J-l ~ 1 and Xl, x 2 E r eli nt X with
t=
strict inequality if xl x 2 and 0 < J-l < 1.
• bar(x ) = +00 for all x E X - r elintX.

Such functions are called barrier functions with respect to X. Since every barrier function is
continuous and strictly convex,
min{bar(x ) : x E X}
exists and the minimum is attained at a unique point x bar E X. Since bar (x ) = +00 for all
x E X - r eli ntX and x O E X, x O > 0 exists it follows that x bar E r eli ntX. x ba r is called the center
of X with respect to the barrier function bar (x ).
Different barrier functions exist for X and thus different "centers" for X re sult. Since X ~ IR~
the reciprocal of the geometric mean gives the geometric barrierfunction for X, Le.,
- lin

gbar(x) =
(
IT
)= 1
Xj
)
(8.54)

Taking the logarithm and ignoring constants we get the logarithmic barrierJunction for X , i.e.,
n
£bar (x ) = - L log Xj • (8.55)
j= l

Both barrier functions define, of course, the same "center" of X, which is sometimes called the
analytic center. We may as well call it the "geometric" or the "logarithmic" center of X.

8.6.1 A Method of Centers


Consider the following algorithmic idea from the early 1960's which utilizes this notion of a center
of a polytope X with a nonempty relative interior. We are minimizing ex over X and let z E IR be
any real number. We assume that x OE X with x O > 0 exists and define
n
Xz = X n {x E IR : ex ::::; z } . (8.56)
8.6. CENTERS, BARRIERS, NEWTON STEPS 225

50 50

(30,40)

,-.(15.15) .

o 20 o 20

Fig. 8.11. Three "centers", the log-central path and paths to optimality

The set X z is either empty or it has no Xl E X z with Xl > 0 and ex l < Z or such a point exists.
Choosing Z initially large enough we can always avoid the first possibility. In the second case, X z
is a face of X and all points of X z are optimal for ex. Otherwise Z is not the optimum objective
function value of ex over X and Xl E X z with Xl > 0 and ex l < Z exists. Thus we can "iterate" by
decreasing the value of z ,
Given any barrier fu nction bar (x) for X let us denote its restriction to X z by barz(x) as e.g.
given by
n
£barz(x) = - L log Xj -log(z - ex)
j=l

in the case of the logarithmic barrier function. Denote by x bar (z) the center of X z with respect
to barz(x). It follows that exbar( z) < z . Thus starting e.g. initially at x bar E X we can construct
a sequence of points Xbar( Zk) and a corresponding sequence of Zk with Zo = exbar > Zl > Z2 > . . . .
Since X and thus the X Z k are polytopes, the sequence {zd for k = 0,1 ,2 , . . . is bounded from below
and consequently, it has a point of accumulation Zoo , say. It follows that either Zoo is the optimum
objective function of ex over X or that there exists Zk in the infinite sequence with Zk < Zoo . Thus
an iterative application may "stall" temporarily, but it gets itself out of the "trap" eventually, I.e.
there exists a subsequence {ZkJ , say, of {Zk} that converges to the optimum objective function
value of ex over X.
In this (impractical) method we try to accomplish two objectives simultaneously: we want to
minimize ex over the polytope X and at the same time we want to stay in the relative interior of
X. Combining these two objectives into a single objective function, we are led to consider the
family of problems

min{ex + J-tbar(x) : Ax = b, x ~ O} ,

where J-t > 0 is a parameter or some relative "weight". Since ex is linear, the function ex + J-t bar(x)
is strictly convex on X for every J-t > O. Since X is bounded and xo E X , xo > 0 exists, the minimum
exists and the minimizer of (Ptar ) is unique and positive. We can thus ignore the nonnegattvity
constraints of (ptar ) . Assuming continuous differentiability of bar( x) we determine the minimizer
226 8. PROJECTIVE ALGORITHMS

from the first order conditions for an extremum of the corresponding Lagrangean function for
any fixed f.l > O. Varying the parameter f.l we obtain a family of solutions xbar(f.l). For f.l -+ +00
the solution x bar(f.l) converges towards the center x bar E X. while for f.l -+ a it converges towards
x * EX. an optimal solution to (LP).

8.6.2 The Logarithmic Barrier Function


Let us consider the logarithmic barrier function £bar (x ). which is more tractable than gbar(x).
and denote by (PIL) the corresponding family of problems

min { ex + f.l£bar(x) : Ax = b, x 2': O} ,

where f.l > a is an arbitrary parameter. Since there exists a unique positive minimizer for (PIL) we
can ignore the nonnegativity constraints. We form the Lagrangean function

where u E JRm are the Lagrangean multipliers. The minimizer must satisfy the first-order con-
ditions for an extremum of L(x ,u , f.l) . The first order conditions for L(x , u ,f.l) yield the nonlinear
system of equations
m n
Cj - f.lxj1 - L uia~ = a for 1 ~ j ~ n , L a~ xj - b, = a for 1 ~ i ~ m,
i= l j=l

for which we seek the unique solution (x(f.l), u(f.l)) such that x (f.l ) > O.
The parameter f.l > a is assumed to be fixed. but all that we want is the unique solution for
the "limitin g" case where f.l -+ O. Define r j = f.l xj 1 for 1 :::; j :::; n and r T = (r 1, ' " ,r n ). Then the
first order conditions for an extremum of L(x ,u ,f.l) become in matrix form

Ax-b = 0 (8.57)
ATu+r _eT = 0 (8.58)
x *r-f.le = 0 , (8.59)

where x * r = (X1Yb . .. ,xnYn)T is the Hadamard product and eT = (1, ... , 1) E JRn. If (x(f.l) ,u(f.l))
is a feasible solution to the first order conditions with x(f.l) > O. then r = r(f.l) > 0 and thus
(u(f.l), r(f.l)) is an interior feasible solution to the linear program

(dLP)

which is the dual to the linear program (LP) of the introduction to this chapter. From (8.59) we
find r T x = tiu , Thus from (8.57) and (8.58) we have

(8.60)

which is the duality gap for the primal-dual pair (x(f.l) , u(f.l), r(f.l)) . Consequently. any primal-dual
pair (x(O),u(O), r(O)) with x(O) 2: 0 and r(O) 2': O. i.e. any feasible solution to (8.57) . (8.58) . (8.59)
for f.l = O. is a pair of optimal solutions to (LP) and (dLP) .
8.6. CENTERS, BARRIERS, NEWfON STEPS 227

For 0 :S JL < 00 the loci of x (JL ) form a path connecting the log-center x l bar of X to some point
in the optimal face of X. Likewise, the loci x (v ) of the corresponding maximization problem
max{cx - v fbar (x ) : A x = b , x ~ O} for 0 :S v < + 00 form a path connecting x l bar to an optimal
face. The path connecting the optimal face of X with respect to maximization to the one for
minimization is the log-central path or simply, the central path of X, which - by construction
- passes through the log-center x l bar of X; see the left part of Figure 8.11 where the barycenter
x c , the centroid x C and the log-central path for the polytope of Exercise 8.2 (ii) are displayed.
To find an approximatively optimal solution to (LP) we must solve the system of nonlinear
equations (8.57), (8.58), (8.59) for JL ~ O. This is done e.g. by a multivariate version of Newton's
method for finding the root of a (nonlinear) equation. Let F (z) be any continuously differentiable
function mapping IRt into IRq. We wish to find z OE IR t such that F (zO) = 0 or componentwise, such
that Fi(zO ) = 0 for 1 :S i :S q. By the multivariate mean-value theorem of differential calculus

for some 0 :S Bi :S 1. where \1Fi = ( ~) . is the vector of the first derivatives of F; and
J=1 •... ,t
1 :S i :S q. ~z = (~ Zl ,'" , ~ Zt )T is a vector of "change" for the components of z , e.g. ~z = z' - z
for some z' i- z E IR t . Given a "trial" solution z E IR t for the root ZO of F the "new" trial solution
is z + ~z. We set F (z + ~z ) = 0 and ignore the dependence of \1Fi on ~ z by setting all Bi = O.
Denoting by \1 F = ( ~) i.= 1, .q the q x t matrix of the first derivatives we get the system of linear
J=1 , ,t
equations

V' F (z ) ~z = - F (z ) (8.61)

in the variables ~z , where V' F (z ) and F (z ) are evaluated at the current iterate z. Every solution
~z to this system gives a Newton direction or a Newton step. The "new" iterate is z + ~z or more
generally z + a ~z where a ~ 0 is the step length. If started "close" to a root z O of F, then the
resulting iterative scheme converges rather fast to the root z" , but in general it does not converge
to z oo
For the nonlinear system (8.57), (8.58), (8.59) the mapping F(z) is

AX- b )
F(z)= A Tu+r -cT ,
(
x *r-JLe

where z = (x ,u,r) is the vector of variables. Let x > 0, r > 0 and u arbitrary be any fixed trial
solution to our problem where JL > 0 is arbitrary, but fixed as well. Forming V'F and evaluating
V' F at the point (x , u , r ) we get from (8.61) the linear equations in the variables ~z = (~x , ~u , ~r )

(
A
OAT 00) (~x)
In ~u = ( cbT- -Ax
A TU - r ) , (8.62)
ROD ~r JLe - x *r
where D = diag(x 1, ' " ,xn) and R = diag(r1" " , rn)' Since x > 0 and r > 0 we have r( R) =
r( D)= n . Since r( A) = m by our blanket assumption, the (2n + m ) x (2n + m ) matrix of the linear
system (8.62) is nonsmgular and hence the solution is unique.
228 8. PROJECTIVE ALGORITHMS

Given x > 0 , r > 0 , a vector u E lR. m and fL > 0 denote

j =b- Ax , g = cT - A TU - r , h = tie - x *r and B = AR- 1D A T .


1
Since r (A)= m the inverse B- exists and we can solve (8.62). Since r > 0 and x > 0 the matrix
1
T = (R - D )1/ 2 is well defined. Let

(8.63)

be the orthogonal projection operator on the subspace {x E lR. n : ATx = O}; see Remark 8.1. After
some algebraic manipulations and simplifications we find the following solution box, bou and bor
to (8.62):

box = - T S T c T +fLTSTD-1e +T2ATB-1j (8.64)


bou = B - 1b - fL B- 1AR- 1e + B - 1AT2g (8.65)
bor = -ATB-1b+fLATB-1AR-1e +T-1STg (8.66)

The first term box s, say, of box is a steepest descent direction in the "transformed" space. The
second term box c , say, of box is the centering direction. The third term reduces the infeasibility
in the system of equations to zero if a = 1 and is called the feasibility direction. A similar
interpretation can be given to the three terms of (bou , bor) for the dual linear program (dLP); see
the text.
We can now state an iterative scheme that is designed to find a solution (x ,u , r ) with x ~ 0
and r ~ 0 to (8.57) , (8.58), (8.59) for fL ~ O. We start with any triplet (x , u , r ) satisfying x > 0 and
r > 0 and some fL > 0, e.g. fL = O. l (r T x l n ). We calculate the orthoprojection (8.63) to find the
direction vectors (8.64), (8.65), (8.66). Then we update
1 1
u new = u +- bou , r new = r +- bor ,
ad ad

where a p and ad are step lengths that are chosen to maintain the positivity of x new and r new.
We reduce fL by setting fLnew = O.l (r newf x new I n if cx new > bT u new and set fLnew = 2(r new )T x new I n
otherwise. This is motivated by relation (8.60) and in the second case, designed to permit the
correction of a possible error. We thus have a new triplet (x new , u new , r new) and fLnew > 0 and we
can iterate until primal and dual feasibility are attained and the duality gap is smaller than some
tolerance, e.g. smaller than 10- 6 . To ensure positivity of x new and r new one chooses a p and ad
e.g. as follows:

In the right part of Figure 8.11 we display the path to optimality when the algorithm is run with
the data of Exercise 8.2 (ii) where x~ = 30, xg= 40, r O = c T - A Tu O and uJ = -0.1 for 1 ~ j ~ 4.

8.6.3 A Newtonian Algorithm


Call a triplet (x , u , r ) E lR. 2n+m afeasible triplet if x E lR. n is a feasible solution to (LP) with x > 0 and
(u, r ) E lR. m +n a feasible solution to (dLP) with r > 0, respectively. From (8.58) and (8.59) we know
8.6. CENTERS. BARRIERS. NEWfON STEPS 229

that every feasible triplet satisfies r T x = ex - bTu. To satisfy (8.59) as well we need p, = r T xln
since eT(x * r) = rTx. Consequently. a feasible triplet (x,u ,r) belongs to the log-central path if
and only if Ilx * r - p,ell = 0 for this value of fL.
Call a feasible triplet (x , u , r) "close" to the log-central path iffor p, = r T x ln we have Ilx*r-p,ell ::;
8p, for some "small" 8 2: O. where x * r is the Hadamard-product of x and r . We note the following
inequality:

lis * til ::; ~ lis + tl1 2 for all s, t E jRn with sT t 2: O. (8.67)

Remark 8.10 Let (x, u, r) E jR2n+m be afeasible triplet satisfying


T
Ilx *r - p,ell ::; 8p" r x = tu: (8.68)

where 8 is a real number that satisfies

1
0 -<8 -<-2' (8.69)

for some 0 with 0 < 0 < yIri. Let ii = p,(l - 01yIri) and (x,u,r) E jR2n+m be defined by x = x + ~x ,
U = u + ~u, r= r + ~r, where (~x, ~u, ~r) is a solution to (8.62) with p, replaced by ii. Then

(t)') ex
~
-
bT ~
u = ~T~ ~
r x = np"

(ii) Ilx *r - iiell ::; 8ii, and


(iii) (x,u, r) is afeasible triplet.
This leads to the following Newtonian algorithm, which takes the data of linear program (LP),
a "reduction" parameter 0, a number p for the desired precision as well as a feasible triplet
(xo , uo , rO) as inputs.

Newtonian Algorithm (0, p, m, n, A , xO, uO, rO )


Step 0: Set k := O. Ro := diag(r? , . . . , r~ ) , Do := diag( x?, ... , x~) , and P,o = (rOf xO I n.
Step 1: if p,klp,° ::; 2- P stop " (x k, u k, r k ) is a p-optimal triplet."
Step 2: Set P,k+l = P,k(l- olylri) and solve Rk~X + D k~r = fLk+le - r k * x k, A~x = 0,
A T ~u+ ~r = 0 for (~x,~u ,~r).
Step 3: Set Xk+l = x k + ~x , Uk+l = U + ~u . rk+l = r + ~r, Dk+l = diag(x~+l , ... ,x~+l ) ,
R k+l = diag(r~+l , .. . , r~+l ) ; replace k + 1 by k; go to Step 1.

For the solution of the linear equations in Step 2 of the algorithm we use (8.64), (8.65), (8.66)
with fL replaced by ii. They simplify because f = 0 and g = 0 in the case of feasible triplets
(se, u , r) .
Remark 8.11 (Correctness and finiteness) For every 0 E jR with 0 < 0 < yIri and 8 E jR satisfying
(8.69) the Newtonian algorithm iterates at most O(pylri) times where p 2: 1 is any integer and where
(xO , uO, rO) is anyfeasible triplet satisfying Ilro * XO - fLoell ::; 8fLofor flo = (rO)TxOIn.
230 8. PROJECTIVE ALGORITHMS

Like in the case of the projective algorithm we get O( .jnL) convergence for a linear program of
digital size L. We start the Newtonian algorithm by essentially the same trick that we have used to
start the projective algorithm. Consider the linear program (LP') of Chapter 8.5 in n + 2 variables
and m + 1 equations. Then x~ = '" for 1 ::; j ~ n + 2 is a feasible interior point xo to (LP'). To obtain
a suitable dual solution (uO , rO) where u OE JRm+1 we set u~ = a for 1 ::; j ::; m and choose U~+l as
follows: let r~ = cj - U~+l for 1 ::; j ::; n + 2 where cj = Cj for 1 ::; j ::; n, c~+l = 0, C~+2 = M. By
making U~+l a small enough negative number we get rO > O. To satisfy the "closeness" criterion
(8.68) we calculate fLo = (rO)T XO / (n + 2) = ",(C - u~+l) where C = E;~-; cj/(n + 2). So

n+2
IlrO * XO - fLoell = '" I)cj - C)2 = ",C* .
j =l

Choosing e.g. is = e = 0.35 and u~+l such thatu~+l ::; min{ -1 , C-C* Ie}the various assumptions
that we have made are all satisfied for (LP'). Thus we can start the Newtonian algorithm.
In the right part of Figure 8.11 we display the sequence of iterates of the Newtonian algorithm
for the data of Exercise 8.2 (ii) when started with x~ = xg = 15, rO = cT - AT u O, u~ = -0.1,
ug = -0.4, ug = -0.2. u~ = -0.3 and is = 0.40.

8.7 Exercises

Exercise 8.1
(i) Prove that B;+l ~ sn+1 if and only if a ::; p::; r = 1/ In(n + 1).
(ii) Prove that B;+l 2 sn+l if and only if p 2': In/(n + 1). (Hint: Use the Lagrangean multiplier
technique to show that Yi = -npr + 1/(n + 1), Yj = pr + 1/(n + 1) for all j i= i solves the mini-
mization problem min{Yi : Y E B;+l} and that Yi = npr + 1/(n + 1), Yj = -pr + 1/(n + 1) for all
j i= i solves the corresponding maximization problem. )

(i) A point y E B;+l is in sn+1 if and only if y 2': o. So we calculate the minimum value a single
element of the vector y can take. Since the feasible set of the problem

min
n+1 n+1 (
Yi : ~ Yj = 1 ' ~ Yj - n
1)
+1
2
::; p2
}

{ J =l J=l

is compact. t.e., closed and bounded, there exists an optimal solution to it and we can use
the Lagrangean multiplier technique to calculate it. Since min{Yi : Yj = I} = -00. the E;::i
8.7. EXERCISES 231

inequality in this minimization problem is binding and the Lagrangean multiplier technique
applies. Forming the Lagrangean we have

From the first order conditions we have

(1)

JL + 2>' (yj- n: 1) = 0 for 1 :::; j :::; n+ 1, j #i . (2)

Adding up (1) and (2) for 1 :::; j :::; n + 1, j #i we get 1 + (n + 1)JL + 2>'(L,;~; Yj - ~t ~ ) = 0 and thus

1
JL=--- . (3)
n+1

Substituting JL in (1) and (2) we get

1 n
2>'(Yi - - ) = - - (4)
n+1 n+1

1 1
2>.(y · - - ) = - - . (5)
J n+1 n+1
Squaring these two equations and adding them up gives

and thus we get 2>' = nr for the minimization problem. Substituting in (4) and (5) we have that

1 1
Yi = -nrp + n + 1 ' Yj = rp + n + 1 for 1 :::; j :::; n + 1, j #i .

Now if the minimum component of y is nonnegative then y 2: 0 and thus B~+l ~ sn+l if and
only if -nrp + n~ l 2: 0, i.e ., if and only if p :::; r.
(ii) The point y E s n+l is in B~+l if and only if L,;~; (Yj - n~ 1) 2 :::; p2. Developing the square in the
left-hand side of the inequality we get

n+l 2 1
Ly
j=l
2
J
- -n +-1 + -n +-1 <
-
l
232 8. PROJECTIVE ALGORITHMS

because ",'.'+1 y ' = 1. Now since max{",n+l


u J =l J
y~ . y
uJ = l J '
E sn+! } = 1 we have s n+l C
-
B pn+! if and only if

2 1 n 2
1 - - - + - - = - - <p
n+ l n+ l n+ l -

i.e . if and only if p ~ Jn~l '


Exercise 8.2
{i} Write a computer programjor the basic algorithm using any subroutinejor inverting a matrix.
Use as test problem e.g. anyoneojthejollowing class: min{2:7=1 CjXj : 2:7=1 ajXj = ao , Xj ~ O}
where ao > 0, aj > 0, Cj ~ 0 jor all 1 :s; j :s; nand Ck = 0 jor some k, To initialize you may use
either x~ = aolnaj or Xj = aol 2:~=1 ak jor 1 :s; j :s; n.

{ii} Use your program to solve the problem min{x2 : X l + 5X2 :s; 250, X l + X2 :s; 80, 3Xl + X2 :s;
180, 2Xl - 3X2 :s; 40, Xl ~ 0, X2 ~ O}, after bringing it into standardjorm, with x?
= 30, xg= 40
as a starting point.

(i) The following is an implementation of the basic algorithm in MATLAB.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% %%%%%%%%%


%% This is the implementation of the Basic Projective Algorithm.
%%
%% NAME basprojal
%% PURPOSE: Solve the LP : min {cx: A x = b, x >=O}
%% INPUT The matrix A, the vectors c and b and a
%% starting interior point x .
%% OUTPUT tabular format as follows
%% iteration x(l) x(2)
%%
%% Optimal value
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

pt o l e i o" (-5);
maxit = 100;
[m n] = size (A) ;
for i=l:m,
sum=O;
for j=l:n-m,
sum=sum+A(i,j)* x(j) ;
end;
x (i+n-m)=b(i)-sum;
end;
8.7. EXERCISES 233

if (any (x) <= 0)


fprintf('Erro r. The starting point is NOT an interior point');
stop;
end;

k = 1;
alpha = 1.0;
z = c* x';
zO= z;
while zO/z > ptol) ;
xO X;
zO c*xO' ;
D diag(xO);
G A*D*D*A' ;
Ginv = inv (G) ;
P eye(n) - D*A'*Ginv*A*D;
p P*D*c' ;
d P*ones(n,l);
qamma» p' *d;
beta = n - norm(d,2)A 2;
normpsq= norm(p,2)A 2;
nmqu=sqrt(normpsq + ( (zO-gamma)A 2/(1+beta)) - (z OA 2/(n+1)));
nn = (zO-gamma )/(l+beta );
dir= (D* (p - nn*d)) ';
rho = alpha;
num=(l+beta) * (n +1)*rho;
den=(l+beta) *sqrt (n* (n+1))*nmqu+rho*(gamma*(n+1 )-(n-beta)*zO);
trho=num/den;
X = xO - trho*dir;
fprintf('%3d ' ,k);
fprintf('%10.5f ' ,x);
fprintf('\n') ;
i f (k == maxit)
fprintf('Maximum Iterations (%d) Exceeded - Possible Cycling\n' ,maxit)
return;
end;
k = k + 1;
end;
fprintf('Optimal value: %10.5f\n' ,c*x');

To test the program we use the following LP

min{lOx1 + 5X2 : 3X1 + 4X2 +X3 = 1O , x 1, x 2, x 3 2: O}


with (1~, 18° , 1~) as starting point. The data are provided in a file with the name bpadat . m:
A= [3 4 1];
b= [10] ;
234 8. PROJECTIVE ALGORITHMS

c= [10 5 0];
x=[10/9 10/12 10/3];
The output is shown in the left side of the following figure. On the right side we show the
output when the other suggested starting point, t.e .. (1~ , 18° , 18°) is used.

»clear
» bpadat
» basprojal
» clear 1 0.24749 1.67965 2 .53894
» bpadat 2 0.37424 0.63223 6.34836
» basprojal 3 0.09480 0.27662 8 .60912
1 0.13837 0 .94557 5.80260 4 0 .04217 0.04527 9 .69242
2 0.13482 0.09822 9.20265 5 0.00414 0.02358 9 .89325
3 0.00647 0 .06605 9.71639 6 0.00276 0.00102 9.98763
4 0.00529 0 .00091 9.98049 7 0.00003 0.00083 9.99656
5 0.00001 0.00083 9.99664 8 0.00003 0.00000 9.99990
6 0.00001 0.00000 9.99996 9 0.00000 0.00000 9.99999
7 0 .00000 0 .00000 10 .00000 10 0.00000 0 .00000 10 .00000
Optimal value : 0 .00000 Optimal value : 0 .00000
» »
(ii) The data file bpadat. m for the problem with the suggested starting point is :

A= [1 5 1 0 0 0; 1 1 0 1 0 0; 2 - 3 0 0 1 0; 3 1 0 0 0 1 ];
b= [250 80 40 180];
c= [0 1 0 0 0 0];
x= [30 40 0 0 0 0] ;

The output from running the program with this data file is shown next.
» clear
» bpadat
» basprojal
1 23 .76556 36 .00377 46 .21561 20 .23067 100 .48018 72 .69956
2 21.88479 2 5. 6 74 05 99.74493 32.44115 73 .25257 88.67156
3 19 .72851 12.31375 168.70274 47 .95774 37.48424 108.50073
4 13 .98604 3.33545 219 .33673 62 .67851 22.03426 134.70644
5 11. 34214 0.16120 237.85187 68.49666 17.79932 145 .81239
6 11 .20626 0.00003 238.79361 68 .79371 17.58755 146.38118
7 11.20624 0.00000 238.79376 68.79376 17.58751 146.38127
Optimal value: 0.00000
»

Exercise 8.3
(i) Show that E( xO, R) c E( xO, R') for all 0 :S R < R' .
8.7. EXERCISES 235

(ii) Show that x = (1 ± Rj../2 + R2) x c±(Rx? j ../2 + R2)Ui solves the problemmax{Xi : x E E(xO, R)}
if both plus signs are used and the corresponding minimization problem in the opposite case
where Ui E JR.n is the i t h unit vector. Moreover, for R ~ +00 the minimizing point exists and is
given by x = xO - X?Ui where 1 :::; i :::; n. (Hint : It suffices to show that B;+l C B;,+l for p < p'.)

(iii) Show that det(I n + (1 + R 2)eeT ) = 1 + n + nR 2 and that the volume ofE(xO, R) is given by

vol(E(xo , R)) = gn(xO)Rn1fn /2y'1 + n + nR2j f (l + n j2)


where g(xO) is the geometric mean ofxo.

(iv) Let Al be the smallest eigenvalue of n:' = D(I n + (1 + R 2)eeT)D. Show that the length ofthe
smallest principal axis R...,r>;; ofE(xO, R) satisfies R...,r>;; :::; R(l + n + nR 2)l /2n g(xO).
(v) Show thatfor the data ofExercise 8.2 (ii) the ellipsoids E(xO, R) in the space of the variables Xl
and X2 are given by (0.7614 + 0.6029R2)xi + (3.79575 + 3 .125925R2) x~ + (1.7955 + 1.3797 R2)Xl X2-
(117.504 + 87.822R2)Xl - (357.525 + 285 .795R2)X2 :::; -(8913.06 + 6803.73R2).

(i) Since B;+l C B;,+l implies TO-l(B; +l) C TO-l(B; ,+l), I.e. E(xO,R) C E(xO,R') , it suffices to show
that B;+l c B; ,+l for all 0 :::; R < R' . But this follows from the fact that (8.15), Le.,

R=p n+1
n(r2 _ p2)

preserves monotonicity, that is , R < R' implies p < p' because p = R((n + 1)(1 + n + nR 2))-l /2 and
dpjdR > 0 for all R ~ O.
(ii) Like in Exercise 8. 1(i) we argue that the inequality in the maximization problem is binding
and thus the Lagrangean multiplier technique applies. The Lagrangean of the problem is
A T
.c= Xi -"2((X -x c) H(x -xc) -R)
2

and thus the first order conditions give the equations


Ui = AH(x - x c) (1)

(x - Xc f H (x - x c) = R2 . (2)

Multiplying (1) by (x - x c) T from the left and using (2) we get A = (z - Xc f ud R2. Solving (1) for
(x - x c) and substituting A we get

(3)

where we have used equation (8.16), i.e. , tt:' = D(I n + (1 + R 2)eeT)D . Since De = xO, from (3)
we have
236 8. PROJECTIVE ALGORITHMS

The k-th element unx - xc) of (x - x c) is

u[(x - x c)(x - x C)T U i = R 2(u [ tr«, + (1 + R 2)x2x?) 0


(4)

(5)

where xf is the i-th component of xc. Similarly for k =j =1= i (4) gives (x - x C)TUj = ± V2~R2 Xf
and thus

(6)

From (5) and (6) we have

X=
R)
(1±J2+R2
2+R2
X C±~Ui o
Rx~
2+R2
(7)

Now since x o > 0 the plus signs in (7) give the maximum and the minus signs give the minimum
value of Xi.
Since Xc = (1 + R 2)x O. from (7) we have that the minimizing point is

x= R) (l+R2)x ° -
( 1- y2~ Rx?
J2+R2Ui
+ R2 2 + R2
0

We calculate
R 1 1 = 1
11m
J;;'2 +
0
0

=lm
R -Hoo J 2 + R 2 R-H oo 1

and
R R
R) 1- J2+R2 - J2 + R2+ J2+R2
( 1 - J 2 + R 2 (1 + R ) =
2 0

lim lim lim


R -Hoo R-; +oo J 1 2 R-;+ oo 2R
HR J (HR2) 2(2+R2)
2
= lim (1 + R )2 = lim Cb + 1)2 = 1.
R-; +oo R(2 + R 2)J2 + R2 R -; + oo J
(;;'2+ 1) ;;'2+ 1
and therefore x ~ x O- X? Ui as R ~ +00.
(iii) Let M k = I k + a ek e[ . We prove that det M k = 1 + ka by in du ction on k. For k = 1 and k = 2
the assertion is trivially verified to be true. So suppose that det M k = 1 + ka and note that

M k+I -
_ (MTk a e k )
aek 1 + a
0
8 .7. EXERCISES 237

Using the Schur complement of 1 + 0: in M k+ l - see Chapter 2, page 29 in the book - we write
M k +1 as follows

where the last equality holds because of the induction hypothesis. So


0:
detMk+l = (1 + 0:)(1 + k--) = 1 + (k + 1)0:
1+0:
and the induction proof is complete. For 0: = 1 + R 2 we get that

det(I n + (1 + R 2)ee T ) = 1 + n + nR2 . (8)

The volume of an ellipsoid is given by (7.23) as

l(E) = rnl det QI!1f!


vo I'(I + I)
where E = E(xc ,r) = {x E jRn : (x - x cfQ-l(x - x c) ::; r 2}. So for E(xO, R) we have

° R)) = RnjdetH-1\h!
vo l(E( zr , I'(I + I)

From (8.16) H- 1 = D(In + (1 + R2)eeT)D and thus using (8) we have


n
det H- 1 = (det D)2 det(I n + (1 + R 2)ee T ) = (II x?)2(1 + n + nR2) = g2n(xO)(1 + n + nR2)
i=l

where g(xO) = (TI~=l x? )~ is the geometric mean of xO. It follows that


2)Rn1f!
°
E ( R)) = gn(xO)(l + n + nR
vol( ar , I'(I + I )

See Exercise 9 .6(iii) for an explicit formula of the term I'(l + n/2).
(iv) Since H- 1 is a positive definite matrix we have that det H - 1 = TI~l Ai where Ai > 0 are the
eigenvalues of H - 1 ; see Chapter 7.7 of the book. If Al is the smallest eigenvalue then using the
formula for det H - 1 derived in part (iii) we get
n
A¥ < II x, = g2n(xO)(1 + n + nR 2)
i=l
238 8. PROJECTIVE ALGORITHMS

and thus

(v) To verify the formula. we use the following program written in Mathematica to eliminate
variables X3, • . • ,X6 from
(x - x c)TH(x - x c) :S R 2
using the equations X3 = 250 - Xl - 5 X2. X4 = 80 - Xl - X2 . X5 = 180 - 3XI - X 2 . X6 = 40 - 2XI + 3 X 2'

Amat= { {i , 5} , {i , r} , {3 , l} , {2 , - 3 } }
bvec={250,80, 180,40}
n=6
xz={30,40}
slack= bvec- Amat . xz
xzero=Join [xz, slack]
Dmat=DiagonalMatrix[xzero]
Dinv=Inverse[Dmat]
Imat=IdentityMatrix[n]
eetr=Table[l,{i ,n},{j ,n}]
A2
a=1+R
b=a/(l+a*n}
xc=a xzero
H= Dinv . (Imat -b eetr) . Dinv
xv=Array[x,2]
xn=bvec- Amat . xv
x [xl_,x2_ ,x3_,x4_,x5_,x6_] :=Table[{xl,x2,x3,x4,x5,x6}] -xc
f[xl_, x2_ ,x3_,x4_,x5_,x6_] :=x[xl,x2,x3,x4,x5,x6] . H. x [x l , x 2 , x 3 , x 4 , x 5, x 6 ] - R A 2
Simplify[f[xl,x2,250-xl-5 x2,80 - x l- x 2 , 1 8 0 - 3x l - x 2 , 4 0 - 2x l + 3x2]< = 0]

The program produces the following output


A2 A2*xl A2
(356522400 + 272149200*R - 4700160*xl - 3512880*R + 30456 *xI +
A 2 * x I A2 A2*x2
24116*R - 14301000*x2 - 11431800*R + 71820*xl* x2 +
A2*xl*x2 A2 A2*x2 A 2 } / ( 3 6 0 0 0 0 * ( 7 A2)}
55188*R + 1518 30*x2 + 125037*R + 6*R <= 0

which can be easily seen to be the same with the formula in the statement of the exercise; just
ignore the (positive) denominator and divide throughout by 40.000.
8.7. EXERCISES 239

Exercise 8.4
(i) Slww that the second derivative oj z(R ) is

(ii) Show that z(R ) is a convexjunction oj R E [0, (0) if1 ~ O. z(R ) is concavejor all R E [0, Ro ) and
convexjor all R E [R o, (0) if 1 < 0 and {3 =1= 0 where R o satisfies

R2 _41 2 - 3(1 + (3)((3 llp I12 + 1 2) + J (I + (3)({3 llp I12 + 1 2)(9(1 + (3)((3 l1 p I12 + 1 2) - 812)
o- 6{3({3llpI1 2 + 1 2) ,

and z(R ) is concavejor all R E [0, (0) if1 < 0 and (3 = O.


(iii) Let Zoo = lim z (R ). Show that Zoo = Zo - (J( I + (3)((3 llp Il 2 + 1 2) - 1)/{3 if {3 =1= O. that Zoo =
R -t oo
Zo - (lIp 112 + 1 2)/ 21 if1 > 0 and {3 = 0 and that Zoo = - 00 if 1 :S 0 and (3 = o.

(i) From formula (8.18) we have that zo -~(R) = ( \~J~~1R and thus from (8.20) we get :~ =
2+ 2+ 2 2
- (zo - z(R)) 2 Also squaring (8 19) we get W 2 = (1+ .8) lI vIl -y2+(.8l1 v Il -y2)R and thus dW = R (.8l1 v Il + -y2)
W R2 . , 1+.8 dR (1+ .8)w ·
Consequently.

d2z = 2(zo - z (R) ) ~ WR2 + (zo - z (R))2 ( ~ R2 + 2RW )


dR2 W 2R4
(zo - z(R ))2 [ dW ]
W 2R4 -2 (zo - z(R )) + R (R dR + 2W )

(zo - z(R ))2 [-2 « 1 + (3 )W - 1 R )W R 2({3 llpIl 2 + 1 2 ) 2W 2]


W 3R3 1 + {3 + {3R2 + 1 + {3 +
2 2
= «1 + (3 )W - 1 R) 2 {2 W + R [({3I\pI1 2 + 1 )(1 + {3 + (3R ) + 2{3W2]} .
W 3(I + {3 + {3R2)3 1 1 + {3

(ii) First remember that by definition (3 ~ O. If 1 ~ O. then from part (i) we have £ > 0 and thus
z(R ) is convex for all R E [0, (0). If 1 < 0, then :~~ IR= O = m< O. From part (i) it follows that the
sign of :~~ depends upon the sign of the expression

2
.6.( R ) ~ 3.8(.8llvIl + -y2) for R ~ +00 it follows that d z changes its sign in the interval [0 +(0) if
2
S in ce ---w- 1+.8 dR2 ,
{3 > O. If (3 = 0 then t:.(R ) = 21W + 1 2R = 1(2W + 1R ) < 0 for all 0 :::; R < +00 since 1 < 0 and for
{3 = 0 we have W = Jllp l12 + 1 2 + 1 2R2 > 111R and thus 2W + 1R ~ (2b l + 1 )R > O. Consequently.
240 8. PROJECTIVE ALGORITHMS

z(R) is concave for all R E [0,(0) if "( < a and 13 = O. If 13 > a and "( < O. then there exist R E [0,(0)
such that l:l.(R) = O. From l:l.(R) = a we have

R[(j3llpI1 2 + "(2)(1 + 13 + j3R2) + 213(1 + j3)W 2] = - 2"((1 + j3)W

and squaring both sides we get using (8.19) that

R2[(j3llpI1 2 + ,,(2)2(1 + 13 + j3R2)2 + 4j3(j3llp/l2+ "(2)(1 + 13 + j3R2)((1 + j3)/lp I12+ "(2 + (j3llpl1 2+ ,,(2)R2))
+ 4132((1 + j3)/Ip 112 + "(2 + (j3 llp /12 + ,,(2)R2)2]
= 4"(2(1 + 13)((1 + j3)/Ip /l2 + "(2 + (j3/1p11 2 + ,,(2 )R2) .

Rearranging the right-hand side of this equation we obtain

Subtracting 4"(4 R 2 from both sides of the equation and using


4132((1 + j3)llp /l 2+ "(2 + (j3llp/l2+ ,,(2 )R2)2 _ 4"(4
= 4(j3llpl12 + "(2)(1 + 13 + j3R2)[13((1 + j3)/Ip 112 + "(2 + (j3llpl1 2 + ,,(2 )R2) _ ,,(2] ,
we find by clearing 1 + 13 + j3R2 > a that l:l.(R) = a if and only if
R2(j3llpl12 + ,,(2 )[9(j3llp/l2+ "(2 )(1 + 13 + j3R2) _ 12"(2] = 4"(2((1 + j3)llp l12 + ,,(2) ,

where we have repeatedly used the identity

We thus obtain a quadratic equation in R 2 which has at most one positive root R~ . Solving this
equation we find the value of R~ given in the exercise. Rearranging the expression given there for
~wehave

R2 _ "(2 - 313((1 + j3)/Ip 112 + ,,(2) + y'(9j3((1 + j3)llp /l2 + ,,(2) + "(2 )(13((1 + j3)/Ip 112 + ,,(2) + ,,(2)
o- 6j3(j3llpl/2+ ,,(2)

Since the square root is greater than 313((1 + j3)/Ip 112 + ,,(2) we thus have ~ > a and hence there
exists exactly one positive Ro E [0, (0) where l:l.(R) changes its sign. Consequently. z(R) is concave
for all R E [0, Ro] and convex for all R E [Ro, (0) if "( < a and 13 > O.
(iii) If 13 > O. then we write
(l+ j3)W/R- "(
z(R) =zo- (1+ j3) /R2+ j3 .

Now lim W/ R = y'(j3 /1 p I12 + "(2 )/(1 + 13) and thus the assertion follows. If 13
R--++oo
= a then from (8.19)
we get W = y'/Ip 112 + "(2 + "(2 R2 and thus z(R) = Zo - R(W - "(R) = Zo - I~~~~~. It follows that
Zoo = Zo - (11p/l2+ "(2)/2"( if "( > asince R
= "( in this case. If "( ::; athen Zoo = - 00 since IIpI1 2 > aby
8.7. EXERCISES 241

the nonoptimality ofx o and W/R+y = v(llpl12 + ,2)/R2 +,2+, > ofor all R, but R--t+oo
lim W/R+, = O.

Exercise 8.5
Assume that p and d are linearly independent and s ::::: 0.

(i) Show that v (s) solves the problem min {Yn+1 : (cD , - zo)y = 0 , Y E To(X) n B~H }.
(ii) Show that u(s) solves the problem min{(cD, - zo)y : y E To(X) n B~+l} .

(i) We will apply Remark 8.1 to the following optimization problem

min{(O, 1)y : (AD , -b)y = 0 , (cD , -zo)y = 0, Y E B~+l} .

To this end, we have to calculate the orthogonal projection of (0, 1) on the subspace

{y E IR n +1 : (AD , -b)y = 0, (cD, -zo)y = 0, fT Y = O} (1)


where, as usual, f E IRn H is the vector with all components equal to one. Let, for notational
convenience,

E=
AD
eT 1
-b)
(
cD -zo
First we compute the inverse of the matrix

B=
2
(AD AT + bb
o
T
n+1
0) '

The matrix B is the same as G of Chapter 8.1.1 (page 220 in the book) and thus

Applying the inversion formula for partitioned matrices of Chapter 2.2 (page 29 in the book) we
find
242 8. PROJECTNE ALGORITHMS

.-. .-. - - 1-
where F = E - C B D. Developing F and substituting

eD 2A T G - 1b = Zo - '"'(, bT G - 1b = 13, DA T G - 1AD = 1- P , and eDp = IIpl12


we get F = ~ + Ilpll2, Le., F is a scalar, and thus F- 1 = ( HI3)11~2 +'Y2' We can factor out F - 1
- - 1 - - - -1
from the inversion formula and calculate B DCB . Multiplying the matrices and substituting
bT G - 1b = 13 and eD 2A T G - 1b = Zo - '"'( we get

jj-1iJCjj-l ~ (0+ itf, H itf, <l>T: ( ffilG-lbbTG-l) ~) ,

where e = G- 1AD 2eT eD2AT G- 1 and q> = G - 1AD2eT bT G - 1, and therefore


1 --1--- - 1
FB - +B DCB =

(11P11 2 + L1+13 G - + E> + -.Lq> + -.Lq>T


1 1bbTG- 1
'Y2+(1~13)In+I PI12 )
_ IIpll2 G -
1+13 HI3 HI3
.
o (HI3)( 1)

We calculate -OB -1 and after substituting eD 2 A T G - 1 b = Zo - '"'( we get

_OB- 1 = (-eD 2AT G - 1 - -.L bT G - 1 0)


H I3

.-. -T - - 1 ..-
Since D = C we calculate the inverse A of A to be equal to
2 + LH I3 G - 1 + e + -.Lp + -.L pT _ IIpl1 2 G- 1bbT G - 1 0 1 2
_G- AD eT - -.L
HI3 G -
1b)
(11P11 HI3
o
HI3 H I3
(1+ I3) lIpI1 2+'Y 2
(HI3)(n+ 1) o
_ eD 2AT G - 1 - -.LbT G - 1 0 1
HI3

Now we can calculate the projection operator Q on the subspace (1) as

Using bT G- 1AD = e T - d T, P DeT = P and DA T G- 1AD = I - P, we calc ulate

E
11
= (IIPII + -.:L)
1 + 13
(I -P)+ppT_ -'"'(-(p(e-d?+(e-d)pT)- IIpl12(e - d )(e-d? + '"'(2 + (1 + 13)llpI12 ee T
1+ 13 1 + 13 (1+ 13) (n+1) '

E = _ llp I12(e _ d ) __'"'_( p + '"'(2 + (1 + 13)llpI1 2e


12 1+ 13 1 + 13 (1+13)(n + 1) '
E = _llpl1 2(e _ d? _ _ '"'( _ pT + '"'(2 + (1 + 13)llp Il2 eT
21 1+ 13 1+ 13 (1+ 13) (n +1) ,
E _ 13llp ll2 + '"'(2 '"'(2 + (1 + 13)llp I12
22 - 1+ 13 + (1+ 13) (n+1)
8.7 . EXERCISES 243

It follows that the projection of the vector (0, 1) on the subspace (l) is

We calculate
- 1 1 ( 2 IIdl1 211pl1 2- "(2 )
-F E 12 = "(2 + (1 + ,8)llpIl2 "(P - Ilpll d+ n +1 e ,
-1 IIdl1 211pl1 2- "(2
1- F E = (n + 1)("(2 + (1 + ,8) llpI12) ,
22

where we have used n - ,8 = Ild11 2 • Therefore we have

2 - II d1l 21 1p112 _ 1' 2


and II q 11 - (n+ 1)b 2 +(1+13)llpI12 ) '
From Remark 8.1 and the definition of u. v and v( s). see pages 235-236 in the book, we have
that the optimal solution to our optimization problem is given by

(ii) The optimization problem is the same as (ALP p) except that the objective function vector is
(cD , - zo) rather than (cD , O). So the solution to the problem is given by (8.7) which with the
necessary changes is
o q
Y=Y - 8
M
T
where q = Q DC ) and Q is the projection operator given in Chapter 8.1 .1, Le.
( - Zo

Q = (p 0) + _1_
OT 0 1+ ,8
(e -1d) (e dT 1) __+ 1
T_
n
I_ f f T .

We calculate

q -_(P o DC
T)
+ --1 (e -1d) (
1+ ,8
e TD c T - dTD c T - zo) - _eT_D_c zo f
T_-_
n+ I
244 8. PROJECTIVE ALGORITHMS

q= ( 0
p) -1 +
1
.8 (e -d)
1
Thus with u = -q we have
o u
y =y +slIull .

Exercise 8.6
(i) Let I' = I (n + 1)/((1 + .8)lI pI12 + 1 2). Show that (r eD - eT , -z)U OO = ofor all z E R Show that
the optimal solution y(p) and the corresponding objective junction value z(p) of the problem
min {(reD - e T , O)yIYn+l : y E To(X) n B;+l} are given by

for all 0 ~ p < Poo. Give a geometric interpretation of y (p) similar to the one of y (p). see
Figures 8.4 and 8.5.

(iO Show thatymax(p) = y O+ p(- Jl - p2III wl12ulil ui l + pw l llw ll2) with an objectivejunction value
oJ zmax(p) = zo+ p(n+ l)lI uIl 2j(lI uIlJl - p2j llw ll2_ (n + lhpj( I+,8)) is themaximizerJor(FLP p ) '
Moreover; zmax(p) - z(p) = 2I1ull p(n + I ) J l - p2III wll 21(1- p21p~ ) where z(p) is given in (8.37).
(Hint: Apply Remark 8.6.)

(i) We assume throughout that 1 = pT d =I- 0 since otherwise the point does not exist; see
U
OO

(8.34) . Moreover. u~+l = 0 since U


OO
is an improper point of P", From the definition (8.34) of U OO
and (8.28) of u we calculate

(r eD - e T , - z)U OO = t+ .8 )
I n+ l
(r eD - eT)p + _1_(reD - eT)d
n+l
2
_ 1+ .8 (I'] 112- ) _1_ (r - n )_ (1 + ,8)lIpI12+ / _ n+l _ 0
- I(n + 1) P 1 + n+1 1 +.8 - (1+ .8) lipII 2 + 1 2 n+1-

for all z E lR as claimed. where we have used


eDp = IIp1l2, eT p = eDp = I , and eT d = I dll 2 = n - .8 .
To prove that y (p) solves the minimization problem we proceed as we do in the proof of Re-
mark 8.6. By a direct calculation we verify that y (p) is a feasible solution to the problem. i.e.,
that
8.7. EXERCISES 245

and note that y(p) is well-defined in real terms for all 0 ::; p ::; lIuoll. Moreover, by (8.34) and (8.35)
2
2 = (1 + ,6)2 (llpI12 + 'Y / (1+ ,6))
u ol1 2 = 1+ ,6
Il 'Y2 (n + 1)2 , Poo (n + l)(n - ,6)'

and thus Poo ::; Iluoll which follows from the Cauchy-Schwarz inequality - see point 7. 1(a) - when
applied to p and d. To derive the expression for the objective function z(p) we write the (n + l j-st
component fin+! (p) of y(p) as follows

_ 1- ~J1- 11';:112 - 11';:112 J1- 11';:112(lI w IIJ 1 - 11';:112 - p)


Yn+l(P) = n+1 = (n + l)llwll

and verify that fin+! (p) > 0 for all 0 ::; P < Poo. We calculate furthermore

Consequently, we get the following expression for z(p)

Calculating the first derivative of z(p) we find

dz(p) = _ (n + l)llwll <0


dp J1- 11';:112 (1I w IlJ 1 - ~ _ p) 2
and thus z(p) decreases monotonically for all 0 ::; p < Poo. Using the projection operator Q of
Chapter 8.1.1 we calculate the orthoprojection of (reD -
e T , - z(p)) on the nullspace (8.3) to be

q(p) = Q (rD~ - e)
- z(p)
= (r p -
0
- r'Y + IIdl1 (e-d) _zo - z(p) (e)
d) + zo - z(p)1+,6 1
2

n+1 1
246 8. PROJECTIVE ALGORITHMS

where zo = fzo - n. We calculate next from the definitions:

where we have set O(p) = Ilwll VI - 1I!:1I 2 - p and we have used repeatedly the following identities
that are readily verified:
2)2
f211pl12 _ 2fl' + IIdll2 + (fl' -lldI1 + n + 1 (fl' -lldI12) = 0 n + 1 (fl' -lldI1 2) = __1_2 .
1 + ,8 1 + ,8 , 1 +,8 IIwl1
It follows that z(p) = zo - (n+ l)pll(j(p) II and thus 11(j(p) II =J. 0 for 0:::; p < Poo, because of the monoto-
nicity of z(p). To prove that z(p) is an optimal solution to the problem min{(reD-e T , O)y jYn+l : y E
To(X) n B;+l} for 0:::; p < Poo, we proceed - with the necessary changes - exactly as done on page
242 in the proof of Remark 8.6 and thus the assertion follows. To give a geometric interpretation
to the solution, we calculate Ily(p) - !(yO + uoo)11 = IIuOllj2 and thus y(p) for 0 :::; p < Poo lies on (a
segment of) the semi-circle with center !(yO + U oo ) that passes through yO and uoo . By the first
part of this exercise (I'e.D - e T , -z)Uoo = 0 for all z E lR. and thus in particular, for all z = z(p).
Thus for a geometric interpretation of the solution to our problem all we have to do in Figures 8.4
and 8.5 is to interchange u oo and W OO and replace (cD , -z(p))y = 0 by (PcD - e T , -z(p))y = 0, etc.
Note that the problem and its solution depend on the sign of I' = pT d.
(ii) We show that the assertions are true for all 0 :::; p < Poo and leave a more detailed analysis to
the reader. By (8.36) we have Yn+l > 0 for all y E To(X) nB;+l and thus the maximization problem
has a finite optimum solution since the feasible set is a compact subset of lR.n+l . Consequently,
for all 0 :::; p < Poo

max{ (cD, O)y : y E To(X) n B~+l} = _ min{ (-eD , O)y : y E To(X) n B~+l}
Yn+l Yn+l
8.7. EXERCISES 247

and we can apply Remark 8.6 directly with the changes that result from the sign change in
the objective function. It follows that p must be replaced by -p, 'Y by - 'Y, and Zo by - Zo. By
consequence, the vector u is replaced by -u, whereas the sign change does not affect the vector
w. Consequently, we find that the optimal solution to the maximization problem is given by

and using the above identity we find from (8.37)

zmax (p) = _ (- zo _ (n + l)lIullp )


.h
V -
.-Ii:- (n+l )-yp
IIw\l 2 - (1+ ,6)1111,11

as we have asserted. Note that the denominator in zmax(p) is positive for all 0 :::; P < Poo no matter
whether 'Y > 0 or 'Y :::; o.
We calculate Ilymax(p) - ~(yO + wOO)11 = Ilwll/2 and thus the loci of the solution vector ymax(p)
form a (segment of the) semi-circle around ~(yO + WOO) with radius Ilwll/2 (for 0 :::; P < Pool as
claimed and thus we get the "other half' of the semi-circle formed by the solution to (FLPp ) .
The formula for the difference zmax (p) - z(p) follows by a straightforward calculation using the
definition of Poo and the simplifications that impose themselves.

Exercise 8.7
Letx O E X, X O > 0 be nonoptimal and e E ffi,n be such thai -» = pT d > 0 and Ilwll > p; = .jn/(n + 1)
where w is defined in (8.30). Show that ex 2 Zo - (1 + ,B)lI uIl2h for all x E X. (Hint: Apply the
construction of the proof ofRemark 8.7 e.g. with a = (11wll + p*)/2 and p = l /cr(n + 1). )

Since 'Y = d > 0 it follows from Remark 8 .6(i) that (FLPp ) has an optimal solution for all
pT
o :::; p :::; Ilwll.
Since a = (11wll + p*) /2 < Ilwll, it follows by our assumption that P* < Ilwll, that an
optimal solution y(cr) to (FLP(T) exists. Moreover, the corresponding optimal solution y(cr) and its
objective function value z(cr) are given by (8.32) and (8.37), respectively, with p replaced by cr.
From Remark 8.7 it follows that z(cr) is a lower bound on the objective function of (LP) and thus
ex 2 z (cr) for all x EX. To prove the assertion we calculate:

z(cr ) = z (-21 (11wll + p*)) = Zo _ -21 (n + l)llull(llwll + p*)


1 _ (\l w ll+ p.)2 + (n+l)-Y(\lw\l+P .)
4\1 w \l2 2(1+,6)1111,\1

> z _ ~ (n + l)llull(llwll + p*) = z _ (1 + ,B)lluI1 2

- ° 2 (n+l )-Y(\lwll +p.)


2(1+ ,6)1111,11
0 'Y '

because the term under the square root is nonnegative. Consequently, ex 2 Zo- (1 + ,B) IIul1 2 h for
all x E X as claimed.
248 8 . PROJECTIVE ALGORITHMS

Exercise 8.8
Show thatjorfixed P E (0, Poe) the pre-image x(p,T) oj the line y(p , T) oj (8.39) under the projective
transjormation To defines a direction oj descentjor (LP), i.e. that x(p,T) E rel intX jor ~ T ~ T(p)
°
where T(p) > and that the objective junction cx(p,T) decreases strictly jor T ;::: 0.
°
° °
By Remark 8.6 the vector y(p) solves (FLP p ) and satisfies Yn+1(P) > for ~ P < Poe . However. y(p)
may become negative in one or several of the components 1, .. . , n for values of P < Poe . The same
is, of course, true for y(p ,T) = yO + ~(y(p) - yO), but for each value of p E (0, Poe) there exists some
° °
T(p) > such that y(p,T) > since yO = n~l f > O. It follows that the pre-image x(p,T) under the
projective transformation To, t.e.,
1
X(p,T) = ()DY N(P,T) > 0 ,
Yn+! P,T
and moreover. Ax(p,T) = b for
° ° ~ T ~ T(p). where p E (0, Poe) is arbitrary. Consequently,
x(p, T) E relinttY for ~ T ~ T(p). It remains to calculate the objective function cxip,T) along the
line x(p, T). After some simplifications we find that

CX(p,T) = (cD ,O)y(p,T) = Zo _ Tll ully'l- p2/lIw11 2


Yn+1(p,T) _1_+ [ 1 Vl-~-
n+! T (Hl3lllull IIwl12
P ]
(n+!lllwIl 2

Calculating the first derivative of cx(p,T) with respect to T we get

dCX(p,T ) ~Vl- p2/llwl1 2 <0,


dT
(n~l + T[(Hffllluli VI - 1I1V~12 - (n+1YllwIl 2])2

l.e., for every p E (0, Poe) the objective function value cx(p, T) decreases monotonically for T ;::: 0. In
other words. every point y(p) of the projective curve for p E (0, Poe) defines a direction of descent
for (LP).

Exercise 8.9
Write a computer program that converts any linear program into the jorm required by the projective
algorithm. Write a computer programjor the algorithm using any "ca nned" subroutinejor inverting
a square matrix and solve the numerical examples ojExercises 5.1, 6.8 and 8.2.

The following program is written in MATLAB and can be used to convert an LP form standard
form to the form required by the Projective Algorithm; see the discussion on pages 259-262 of
the book. The parameters K and M are data dependent. Here they are set at values that will
work for the problems of Exercises 5.1, 6.8 , and 8.2.
8.7. EXERCISES 249

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This program converts an LP from standard form to the format
%% required by the Projective Algorithm.
%%
%% NAME convert
%% PURPOSE: Prepare LP for projective algorithm
%% INPUT The matrix A, and the vectors c and b.
%% The parameters M, K are data dependent .
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

M=10000;
K=600;
[m,n] =size (A) ;
c= [c 0 M] ;
bhat=(n+2)*b'-K*A*ones(n,1) ;
A=[K*A zeros(m,l) bhat; ones(l,n) 1 1] ;
b=[K*b K];
[m,n]=size(A) ;
x=[(Kjn)* ones(l,n)];

The following is the MATLAB implementation of the projective algorithm. It requires the pro-
gram convert . m.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Projective Algorithm.
%%
%% NAME projal
%% PURPOSE : Solve the LP: min {cx: A x = b, x >=O}
%% INPUT The matrix A, and the vectors c and b. The input
%% data are converted using the program convert.m
%% to be in the required format .
%% OUTPUT z the optimal value
%% x : the optimal solution
%% k : the number of iterations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

convert;
if (any(x) <= 0)
error('x is NOT an interior point');
end;

alpha
ptol
k = 1;
z = c*x';
zO= z ;
v= -K ;
250 8. PROJECTIVE ALGORITHMS

while ( abs«zO-v)/(z+M )) > ptol );


xO X;
D diag(xO);
G A*D*D*A ' ;
Ginv = inv (G) ;
P eye(n) - D*A'*Ginv*A*D;
p P*D*c' ;
d P*ones(n,I);
gamma= p '*d;
beta = n - norm(d,2)A 2;
normpsq= norm(p,2)A 2;
kappa =(n+l)*(normpsq*(norm(d,2)A 2) - (gamma A2));
zO = c*xO';
A2;
lambda=(I+beta)*normpsq+gamma
rho = alpha;
A2-kappa))-(n+l)*gamma;
num=sqrt«I+beta)*(lambda*rho
A2)/(n+l)
den=beta-n+(I+beta)*(rho ;
v=zO -num/den;
t=(n+l)*(beta+l)/(gamma*(n+l)+(zO-v)*(1+2*beta-n)) ;
X = x O - t*(D*(p - «zO -v-gamma)/(I+beta))*d)), ;
if (imag (any (x)) -= 0 )
error ( ' x has complex components');
end;
fpr intf('%3d ', k);
fprintf('%10.5f ', x );
fprintf (' \ n ' ) ;
k = k + 1;
end;
fprintf ('Optimal value: %1 0 . 5 f \ n ' ,c*x')

We test the program for the problem of Exercise 5.1. The input is given in the file bpadat . m
as follows
A= [1 1 1 1 1 0; 3 1 4 2 0 1];
c= [ - 2 - 3 - 4 - 2 0 0];
b= [10 12];
The first and last iterations from the screen output are shown next.
» clear
» bpadat
» p r oj al
1 64.69482 7 0 .56 81 8 61. 80460 6 7 .6 222 1 7 3 . 43 9 81 95.75 955 98 . 686 94 67. 4 2 3 89
2 5 3 .4 7868 64 . 8 4 4 8 9 48 .98 71 5 5 8 .7 4 2 3 3 71.71 62 8 114. 2 62 4 2 1 2 8 . 83 75 6 5 9.1 3 06 9
3 42.93 77 7 5 7 . 745 4 4 3 7 .9 5660 49 .343 18 68 .76391 1 2 4 .5 31 85 1 6 8 .01 9 82 5 0.7 01 42
4 34 .07462 49 . 5 403 5 2 9 .46349 40 .40608 6 3.34234 122 .2 5 529 218 .419 1 5 42 .4 9868
5 26 .833 7 5 40 .96 193 22 .89 722 32 .4282 1 55. 2 065 4 1 0 9. 024 0 5 278.06043 34 . 5878 7
6 20 .72 5 34 32 .68284 17. 5 3 3 3 9 25 .36278 45 .68306 90 .27042 340 .62 146 2 7 . 120 70
7 15 .6 1572 25 .24214 1 3.12 6 0 3 19.2 91 3 6 36 .30436 70 .62721 399 .33 163 20. 461 56
8.7. EXERCISES 251

8 11.50832 19 .01266 9.61992 14 .33496 28.06552 52.89125 449 .66161 14 .90576


9 8.34107 14.09220 6 .93351 10.47732 21.38683 38 .30755 489.93461 10.52690
10 5 .97983 10 .36857 4.93940 7.58385 16.27285 27.04741 520 .58662 7.22147
11 4 .26417 7.63527 3.49561 5.47167 12.52191 18.74221 543 .06329 4 .80588
12 3.04351 5.67322 2 .47235 3.96176 9.87342 12.84832 559.04024 3 .08718

79 0 .00000 9 .33333 0.66667 0 .00000 0 .00000 0.00000 590 .00000 0 .00000


80 0.00000 9 .33333 0.66667 0.00000 0.00000 0.00000 590 .00000 0 .00000
81 0.00000 9 .33331 0.66667 0.00000 0.00000 0.00000 590 .00000 0 .00000
Optimal value: -30.66660
»

For Exercise 6.8 the data and the output are as follows
A= [ - 1 - 1 - 1 - 1 1 0; - 2 - 1 - 4 - 2 0 1];
c= [2 3 4 2 0 0];
b = [-10 - 1 2 ] ;

» clear
» bpadat
» projal
1 69.42450 76 .69456 54 .84772 69.42450 89.32738 93.94356 86 .66433 59.67345
2 60 .42165 74.37959 43 .44866 60 .42165 98 .42957 121 .66414 95.80148 45.43325
3 52 .11869 67 .49443 35 .66125 52.11869 105 .48386 155 .25321 99 .80853 32 .06135
4 45.02822 59 .48423 30.26283 45.02822 111.64495 189.59155 98 .67214 20 .28787
5 39 .85124 52 .96356 26.61795 39.85124 116 .70207 217.73253 94.91561 11.36579
6 36.72009 48.89227 24.46881 36.72009 120 .04525 235 .82215 91. 48621 5.84512
7 35.07718 46 .72240 23.33928 35.07718 121.86067 245 .53726 89.47135 2.91467
8 34 .26434 45.59576 22.76877 34 .26434 122.74497 250.38327 88 .53150 1. 44706
9 33.87916 44.94881 22.47731 33 .87916 123.12184 252.73373 88 .24046 0 .71951
10 33.72389 44.44958 22.31676 33 .72389 123.18671 253.80234 88.43845 0.35839
11 33 .71759 43 .84748 22 .20481 3 3. 71 7 5 9 122.97497 254 .13546 89 .22333 0.17878
12 33.85140 42.85251 22 .08166 33.85140 122.38080 253 .88414 91.00873 0 .08936

76 5.00000 0 .00000 0.00000 5.00000 0.00000 8.00000 582.00000 0 .00000


77 5.00000 0 .00000 0.00000 5.00000 0.00000 8.00000 582.00000 0.00000
78 5 .00000 0.00000 0 .00000 5 .00000 0.00000 8 .00000 582 .00000 0 .00000
Optimal value: 20.00000
»

For Exercise 8.2 the data and the output are as follows
A= [1 5 1 0 0 0; 1 1 0 1 0 0; 2 - 3 0 0 1 0; 3 1 0 0 0 1 l.
b= [250 80 40 180];
c= [0 1 0 0 0 0];

» clear
» bpadat
» projal
1 58 .27568 63 .78933 84.79335 69 .72507 83 .97798 91 .72202 89.89413 57.82245
2 43 .53301 53.58143 93.07818 64 .35887 91 .20288 105.38709 106.71718 42.14137
252 8. PROJECTIVE ALGORITHMS

3 32 .2 1 0 91 44 . 959 82 99 .17441 58 .81741 95.01263 113 .70 185 127 .16 359 2 8 .959 39
4 24 .80 541 3 8 . 0 9 82 5 10 2 . 645 87 52. 92058 94. 8 01 3 8 115 .66295 152 . 535 79 18 .5 2978
5 20 .62466 3 3. 08 3 3 0 103.4 3521 47.10685 92 .2 5856 113 .03505 1 79 .6 9 0 08 10 .7 6 628
6 18.44056 29.91897 102.79707 42.62486 8 9. 84 56 0 109 .53145 2 01 . 1 5 9 9 1 5.68158
7 1 7 . 32 901 28.192 2 6 102.18098 3 9 . 9 9 9 95 8 8 . 39565 107 . 24579 2 13 . 8 0055 2 .855 80
8 16 .76731 27 .311 75 101. 87 929 3 8 .6 6 5 5 8 8 7 . 643 4 9 10 6 .0773 9 220 . 2355 5 1. 4 1 96 4
9 16.48 603 26.86598 101.771 92 38 .01250 87 .24947 105 .51 096 223 . 39737 0 . 70578
10 16 .347 31 2 6. 63 0 8 0 101.78723 3 7 . 7 013 1 87 .01035 105 .24096 2 2 4 . 93 061 0 .35142
11 16. 2 8214 2 6 . 48679 101.92627 37 .5697 6 86 .80265 105 .12227 2 25. 6 34 94 0.17518
12 1 6.257 84 26.3 61 08 102 .25721 3 7. 5 5 0 04 8 6 .52095 105 .09262 22 5 . 8 72 8 7 0.08739
.. . . . . .... . . . . . . . . . . . .. .. . . .. . . . . .... . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . .
59 10 . 68217 0.00000 23 9.3178 3 69. 3178 3 18 .635 66 147 .95349 114.09302 0.00000
60 10 .68217 0 .00 000 2 39 .31783 69. 31783 18 . 63566 147 .95349 114 .09302 0 .00000
61 10.682 17 0 .00000 239 .31783 69 .31783 18 .63566 147.9534 9 114.09302 0.00000
Optimal va l ue : 0.00000
»

Exercise 8.10
(i) Show that the barycenter oj the Jeasible set oj the linear program oj Exercise 8.2 (ii) is given
by xf
= 1,175/44 ;::::;j 26.705, xc:} = 3,175/132 ;::::;j 24.053 and that its centroid is given by = xf
331, 855/ 15, 774 ;::::;j 21.038 , xf
= 2,719,075/110,418 ;::::;j 24.625.

(ii) Show that xO = ~ e is the barycenter and centroid of the n-d imens iona l unit cube Cn •

(i) The figure shows the extreme points of the polytope with their coordinates as well as the
calculation of the barycenter.
X2

50

(50,30) G
Xl = -
1 ( 20 + -580 + 50 + -75) 1175
= - -
6 11 2 44
580 240)
( 11' 11 xG =~ (240 30 85 50) = 3175
I 6 11 + + 2 + 132
A

o 20 Xl

For the analytic center we calculate first the volume (which in two dimensional space is the
area) of the polytope, which is the sum of the areas A, B, C, and D, Le.

vol(S) = 96000 50850 4375 . 1125 = 41825


121 + 121 + 8 + 8 22 '
8 .7. EXERCISES 253

Now for j = 1,2 we have

For j = 1 we have

and thus
C = ~ (20496000 14368500 578125 28125) = 331855
Xl 41825 1331 + 1331 + 48 + 24 15774 .
For j = 2 we calculate

and thus
xC _ ~ (13248000 14472000 471875 151875) _ 2719075
2 - 41825 1331 + 1331 + 24 + 24 - 110418 .

(ii) From Chapter 7 .7 (p. 212) we have vol(C n ) = 1 and thus

111 11 1 1
xf = 1
o
Xj
0
...
0
dX1" ·dxn =
0 2
1
x jdxj = -
254 8. PROJECTIVE ALGORITHMS

and therefore x C = ~ e . To calculate the barycenter, we observe that en has 2n extreme points
and that each component i , 1 ::; i ::; n has value of 1 in exactly half of them. Thus
n
1 2 2n - 1 1
xf = 2n L xJ = ~ = 2
k= l

and therefore x G
= ~ e as well .

Exercise 8.11
(i) Show that the analytic center oj the simplex sn+1 is given by xg bar = n~ l f where f T =
(1, . . . , 1) E ffi.n+1. (Hint: Use the geometric/arithmetic mean inequality.)
(ii) Show that the analytic center ojthe polytope ojthe linear program ojExercise 8.2 (ii) is given by
the unique positive maximizer (x~ , x g) ojthejunction 106x1X2(144-11. 976x1 +5.32x2 +0.2856xI-
0.349x §) + 103x1X2(50.2x1X2 - 3.97x Ix 2 - 2.46x f + 6.14x 1X§ + 4 .45x~ ) - 1 5xf x~ + 29x f X§ - 53x Ixi +
6x f x 2 - 15x1 x~ and that x~ ~ 12.507, xg ~ 24.407.

(i) The analytic center for the simplex s n+1 = {x E ffi.n : 'L-j:t11 Xj = 1, x 2: O} is the point x

that minimizes
(
n+1
II Xj
)=1
) - n~l
which is the same point that maximizes n
( n+1 )

)=1
Xj
n~l
. From the

geometric/arithmetic mean inequality (see point 7.7(0 on page 212) we have that

n+1 ) n~l 1 n+1 1



( }] ) -< -n +1~
- x ·- - -
)-n + l

where the last equality follows since x E s n+1. Moreover. from point 7.7(f) we have that equality
is achieved if and only if Xj = A for all j = 1, . .. , n + 1. which in our case means that the equality
is achieved for x = n~l f . where f is the vector in ffi.n+1 with all components equal to one. Thus.
the analytic center of s n+1 is n~l f.
n+1
(ii) The minimizer of the function gbar( x) is the same as the maximizer of II Xj' So the analytic
j =l
center of the polytope is the point that solves the problem max X1X2X3X4X5X6. where Xj . j = 3, ... ,6
are the slack variables. Substituting X3 = 250 - Xl - 5X2. X4 = 80 - Xl - X2. X5 = 180 - 3X1 - X2 and
X6 = 40 - 2X1 - 3X2 we get the following problem in two variables
m ax x 1x 2(250 - Xl - 5X2)(80 - Xl - x2)(18 0 - 3X1 - x2)( 40 - 2X1 - 3X2)
which gives. after the multiplications and simplifications. the problem max 106x 1x 2(144-11. 976x 1+
5.32x2 + 0.2856xI -0.349x §) + 103X1X2(50.2X1X2-3.97x Ix 2-2.46x f +6.14x1X§ +4.45x~) -15 xf x~ + 29x i x §-
53x Ix i + 6xfx2 - 1 5x 1 X~ , Using the following MATLAB code
8.7. EXERCISES 255

F= ' -10 0 0 000*x (1)*x (2)*(144 -11. 9 7 6* x (1 ) +S.32*x (2 ) +0. 28 S6 *x(1 )*x (1) -0 .349*x( 2 )*x (2) )
-10 00 *x (1)* x(2)* (SO .2 *x(1 )* x (2) -3 .97*x(1 )* x(1) *x (2 )- 2.46*x(1)A3+6.14*x (1)*x(2)A 2
+4 .4S*x (2 ) A3 )+lS*x (1)A 3*x (2)A 3- 2 9* x (1)A4*x(2)A2+S3* x(1 )A 2*x(2)A 4- 6*x(1 )A S*x( 2)+
lS*x(l ) *x (2 ) AS' ;
y=fmins(F, [10;2 0] )

we obtain the optimizing vector (12.5073,24.4066) . Note that the definition of F must be given
in one line for MATLAB to work correctly.

Exercise 8.12
(i) Suppose that X = {x = b, x 2:: O} -# 0 is bounded and that c E IRn is arbitrary. Show
E IRn : A x
that Uc is not bounded and that relintUc -# 0 where Uc = {u E IRm : u TA :s; c} . (Hint: See
Exercise 6.9 (ii).)

(ii) Compute the log-cente r and the log-central pathfor the polytope ofExercise 8.2 (ii).

(i) By Exercise 6.9(ii) it follows that there exists u E IRm such that d = u TA > O. Consequently,
(-A)d :S; c for some A > 0 no matter what c E IRn and thus Uc -# 0. Now let v E Uc be arbitrary. Then
v - AU E Uc for all A 2:: 0, where u E IRm is such that u TA > 0 and consequently Uc is unbounded .
Moreover, (v T - AuT )A :s; c - AuT A < c for all A > 0 and thus reiint u; -# 0 as well.
(ii) The log-center is the analytic center we calculated in part (ii) of Exercise 8.11. To calculate the
log-central path we use the following program (to be used with Mathematica for various values
of the parameter m which was changed by increments of 0.001 in a do-loop .
A= { {I , 5 , 1 , 0 , 0 , 0 } , { I, 1 , 0 , 1 , 0 , 0 } , {3 , 1 , 0 , 0 , 1 , 0 } , {2 , - 3 , 0 , 0 , 0 ,I} }
c={O ,l,O,O,O,o}
b={250,80,1 80,40 }
u={u1 ,u2 ,u3,u4}
x= {x1, x2,x3, x4,x5,x6}
r={r1,r2,r3,r4,r5,r6}
m=O .OOl
N[Solve [{u . A + r == c , A . x == b, x l r1 == m , x2 r2 == m ,
x 3 r 3 == m, x4 r4 == m , x 5 r5 == m , x6 r6 == m} ,
{X1,x2 , x3,x4, x5, x 6 ,u1 ,u2,u3 ,u4 ,r1 ,r2,r3 ,r4 ,r5 ,r6}]]

Exercise 8.13
(i) Write a computer program for the iterative procedure discussed in this section using any
subroutine for inv erting a square matrix and solve the numerical examples of Exercises 5 .1 ,
6.8 and 8 .2.
256 8. PROJECTIVE ALGORITHMS

(ii) Derive a method tofind a basic feasible solution xl for the linear program (IP) given a near-
optimalfeasible interior point x O E X satisfying ex l :S ex o. Generalize this construction so
as to permit a practical way of "cross ing over" to a simplex algorithmjrom any near-optimal
interior point x O EX. (Hint: Use the proofofTheorem 1.)

(i)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the i mp l emen t a t i on of the Iterative Procedure.
%%
%% NAME itpro
%% PURPOSE : Solve the LP: min {cx : A x = b, x >=O}
%% INPUT The matrix A, the vectors c and b, a
%% starting interior point x and a vector u
%% such that c' -A'*u > O.
%% OUTPUT z the optimal value
%% x : the optimal solution
%% k : the number of iterations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ptol=10"(-8) ;
maxit = 100 ;
[m,n] =size (A) ;
for i=l : m,
sume c ,
for j=l:n-m,
sum=sum+A(i,j)*x(j) ;
end;
x(i+n-m)=b(i)-sum;
end;

if (any(x) <= 0)
error('x is NOT an interior point');
end;

k = 1;
r=c' - A' *u';
R=diag(r) ;
D=diag(x) ;
mU=(l/n)*x*r;
z=c*x ' ;
Z=b*u' ;
e=ones(n,l) ;
while (abs(Z-z) > ptol) ;
8.7. EXERCISES 257

f=b' -A*x' ;
g=c' - A'*u' - r ;
h=mu*e - D*R*e;
Ri.rrve i.nv (R) ;
B=A*inv(R)*D*A' ;
B'i.nve i. n v (B) ;
Dx= Rinv*D*A'*Binv*f + Rinv*(eye(n) -D*A'*Binv*A*Rinv)*(h-D*g);
Du= Binv*f+Binv*A*Rinv*(D*g-h);
Dr= -A'*Binv*f+(eye(n)-A'*Binv*A*Rinv*D) *g+A' *Binv*A*Rinv*h ;
Dd.nve i.nv (D) ;
p=(1/.95)*Dinv*Dx ;
d=(1/.95)*Rinv*Dr ;
ppernax (-p) ;
dd ernax ( -d) ;
alphap=max(l,pp) ;
alphad=max(l,dd) ;
x=x+ (l/alphap) *Dx' ;
u=u+ (l/alphad) *Du' ;
r=r+ (l/alphad) *Dr;
z=c*x' ;
Z=b*u' ;
dualinf=norm(c'-A'*u'-r)/(norm(c)+l) ;
priminf=norm(A*x'-b')/(norm(b)+l) ;
if (c*x' > b*u') mu=O.l*r'*x'/n;
else mu=2*r'*x' /n;
end;
D=diag (x) ;
R=diag (r) ;
fprintf('%3d ' ,k)i
fprintf('%10 .5f ' ,x);
fprintf (' \n' ) ;
k=k+l;
end;
fprintf('Optimal value : %10.5f \n' , c *x ' )

For Exercise 5.1 the data in a file called bpadat. mand the output are as follows
A= [1 1 1 1 1 0; 3 1 4 2 0 1] ;
c= [-2 -3 - 4 -2 0 0] ;
b= [10 12];
X= [1 1 1 1 0 0];
u= [-3 - 1 ] ;

» clear
» bpadat
» itpro
258 8. PROJECTIVE ALGORITHMS

1 0.51420 4.69563 0.24579 1 .12540 3 . 41899 2.52783


2 0.37613 6.81110 0.24430 0.83844 1.73004 1. 40646
3 0.19677 9.14892 0 .17435 0.39346 0.08650 0.77647
4 0.15200 9.36016 0.23011 0.25341 0.00433 0 .75660
5 0.02245 9.36526 0.58022 0.02601 0.00607 0.19452
6 0.00197 9.33267 0 .66168 0 .00247 0.00120 0 .00973
7 0 .00020 9.33328 0.66616 0.00024 0.00012 0.00100
8 0 .00002 9.33333 0.66662 0.00002 0.00001 0 .00010
9 0 .00000 9.33333 0.66666 0.00000 0.00000 0.00001
10 0.00000 9 .33333 0.66667 0.00000 0.00000 0.00000
11 0.00000 9.33333 0 .66667 0.00000 0.00000 0 .00000
12 0.00000 9.33333 0.66667 0.00000 0.00000 0.00000
13 0.00000 9.33333 0.66667 0.00000 0.00000 0.00000
Optimal value : -30.66667
»

For Exercise 6 .8 the data and the output are as follows


A= [ - 1 - 1 - 1 - 1 1 0; - 2 - 1 - 4 - 2 0 1] i
c= [2 3 4 2 0 0];
b= [ -10 -12];
x= [12 1 1 1 0 0];
u= [ - 0 . 1 - 0 . 1] ;

» clear
» bpadat
» itpro
1 10.88071 2.18482 1 .85885 3.67470 8.59908 26.73103
2 6.2366 2 0 .91935 0.71275 2 .56124 0.42995 9. 36606
3 6.43364 0.52467 0.25042 2 .81277 0.02150 8.01917
4 6.31115 0.08015 0 .01252 3.61056 0.01438 7.97365
5 6.15815 0.00415 0.00177 3 .83764 0.00172 8 .00282
6 6 .03924 0.00036 0.00018 3.96039 0.00018 8 .00035
7 5.93515 0.00004 0.00002 4.06481 0.00002 8 .00004
8 5.84163 0.00000 0.00000 4.15837 0.00000 8 .00000
9 5.75747 0.00000 0.00000 4 .24253 0.00000 8.00000
10 5.68172 0.00000 0 .00000 4.31828 0.00000 8.00000
11 5.61355 0.00000 0.00000 4.38645 0.00000 8.00000
12 5 .55219 0.00000 0.00000 4 .44781 0.00000 8.00000
Optimal value: 20 .00000
»

For Exercise 8.2 the data and the output are as follows
A= [1 5 1 0 0 0; 1 1 0 1 0 0; 2 - 3 0 0 1 0 i 3 1 0 0 0 1 ];
b= [250 80 40 180];
c= [0 1 0 0 0 0];
u= [ - 0 . 1 - 0 . 1 - 0 . 1 - 0 . 1] i
8.7 . EXERCISES 259

» cl ear
» bpadat
» itpro
1 1. 50000 19 .69 390 1 50 .03049 58 .80610 96 .08171 155.80610
2 2 . 72 0 7 5 9 .4 1 6 0 0 200 .199 25 67 .8 6325 62.80 650 162 . 42175
3 3 .13002 0 . 47080 244.51 598 76 .39 918 3 5. 1 523 6 170 .13914
4 3 .33234 0 .02354 2 4 6 . 549 96 76.64412 33 .40594 169 .97944
5 3. 676 29 0 .00520 246.29774 76 .3 1852 32 .66301 1 68 .96595
6 4 .11005 0 .00 05 3 245 .8 8729 75.88942 31.7 8150 167.6 693 2
7 4.51568 0.00005 245 .48406 75 .48427 3 0. 968 81 166 .45 292
8 4. 88 307 0 .00 001 245.11690 75 .11692 30.2 3388 165. 35079
9 5 .21401 0 .00000 244. 7 8 5 99 74 .7 8599 2 9 .5719 8 16 4.35797
10 5 .51189 0 .00000 244.48811 74.48811 28.9 7 62 3 163 . 464 34
11 5 .779 98 0 .00000 244 .22002 74 . 2200 2 28 .44004 1 6 2 .66007
12 6 .02126 0 .00000 2 4 3.9 7 8 74 73 . 97874 27.95748 1 61.9362 2
Optimal value : 0 .00000
»

(ii) Let us assume for convenience that r(A) = m. The proof of Theorem 1 (part b) suggests the
following procedure. Initially we let k = 0, x k = xo , h = {j EN : xj > O}. In the iterative step we
solve E j E h Ajaj = 0 by Gaussian elimination to find >..k = P.'j) jE1k =I- O. This is accomplished by
forcing e.g. the "first" Aj = 1 where j E h. If no such >..k exists, we stop; x k is a basic feasible
solution with cx k ::; cxo . Otherwise, we compute 'Y = E j Eh Cj Aj. If 'Y < 0, we change the sign of
all Aj with j E h so that we get WROG 'Y :::: O. Now suppose that 'Y > 0 and Aj ::; 0 for all j E h.
Then x(O) defined by Xj(O) = xj - OAj for j E Ii; Xj(O) = 0 for j E N - h is feasible for a ll 0 :::: 0
and z( 0) = cx k - O'Y -+ -00 for 0 -+ +00 and we stop with the message that (LP) is unbounded.
Otherwise, 'Y :::: 0 and there exists at least one j E h with Aj > O. We let as in the least ratio test
k
of the simplex algorithm 00 = minG~ : Aj > O} and define XJ+I = xj - OOAj for j E Ii; xJ+I = 0 for
j E N - h . It follows that x k+l E X an d CX k+ 1 = cx k - 00'Y ::; cx k • We set h+l = {j EN: xj+l > O},
replace k by k + 1 and repeat . Since Ih +ll ::; Ihl- 1 for each k , the procedure exe cutes at most
n steps before it comes to a halt in either of the two ca ses. In a practical application we need
to assure the accuracy of the resulting solution by using tolerances, etc., when the operations
are carried out in floating point arithmetic. The full rank assu m ption is fulfilled by considering
artificial variables when necessary. Once a basic feasible solution is obtained, one then carries
out a "pricing step" of th e simplex algorithm and iterates if necessary.

Exercise 8.14
Write a computer programjor the Newtonian algorithm using tbe formulas (8.64], (8.65], (8.66]
and any subroutine jor inverting a square matTix. Use your program to reproduce the path to
optimality starting at Xl = X2 = 15 jor Figure 8.11 and Exercise 8.2.
260 8. PROJECTIVE ALGORITHMS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Newtonian Algorithm.
%%
%% NAME newton
%% PURPOSE :Solve the LP : min {cx : A x = b , x >=O}
%% INPUT The matrix A, the vectors c and b and a
%% starting interior point x and a suitable vector u
%% (see pg . 275 for details)
%% OUTPUT z the optimal value
%% x : the optimal solution
%% k : the number of iterations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ptol=5;
lm n] = size (A) ;
for i=l:m,
sum=O;
for j=l:n-m,
sum=sum+A(i,j)*x(j) ;
end;
x(i+n-m)=b(i)-sum;
end;
i f (any(x) <= 0)
fprintf('Error. Not an interior point');
stop;
end;
k = 1;
r=c' -A' *u';
delta=0.4;
R=diag(r) ;
D=diag (x) ;
mU=(l/n)*x*r;
theta=norm(x' .* r - mu * ones(n,l))/mu;
while ( x*r > 10 A(-ptol) );
mu=mu*(l-delta/sqrt(n));
Ri nve i.nv (R) ;
Dinv=inv(D) ;
T=(Rinv*D)A(1/2) ;
B=A*T A2*A' ;
Bd.rrve Lrrv (B) ;
S=eye(n,n)-T*A '*Binv*A*T;
Dx= -T*S*T*c'+ mu *T*S*T*Dinv*ones(n,l);
Du= Binv*b'-mu*Binv*A*Rinv*ones(n,l);
Dr= -A' *Binv*b'+mu*A' *Binv*A*Rinv*ones (n , l ) ;
x=x+Dx' ;
ueu-i-Du ' ;
8 .7. EXERCISES 261

r= r+Dr;
D=diag(x ) ;
R=diag(r) ;
fprintf ( '%3d ',k) ;
fprintf( '%10 .5f ' , x );
fprintf (' \n' ) ;
k=k+1;
end ;
fprintf( 'Optimal value: %10 .5f \n' ,c*x')

For the data of Exercise 8 .2 with starting point x = (15, 15) and u = (-0.1 , - 0.4, -0.2, -0.3) we
get

» clear
» bpadat
» n e wt o n
1 1 2. 6 5 4 1 3 15.87074 157.99216 51.47513 62 .30396 126 .16687
2 12 . 26339 14.55247 164 .97425 53.18414 59.13065 128 . 65737
3 1 2 .06108 13 .18958 171.99100 54 . 74934 55 .44659 130.62718
4 11.84223 11 .78299 179.2 4281 56 .37 477 51 .66451 132.69031
5 11 .58310 10.36974 186.56818 58.04716 47 .94304 134 .88097
6 11 .28724 8 .99307 193 .74743 59.71969 44 .40472 137.14521
7 10.96622 7.69292 200.56918 6 1 .34086 41 .14632 139 .40842
8 10 .63523 6 .50150 206 .85726 62 .86327 38.23404 141.59280
9 10.30999 5.44002 212 .48990 64.24999 35.70008 1 43.63000
10 10.00388 4 .51764 217.40793 65 .47848 33 .54515 145.47072
11 9 .72611 3.73258 221 .61099 66 .54131 3 1 .74552 147 .08909
12 9.48129 3.0 7495 225.143 96 67 .44376 30.26225 148 .48117
13 9 .27018 2 .53015 228.07908 68.19967 29 .05010 149 .65932
14 9.09089 2.08194 2 3 0. 4 9 94 2 68.8271 7 28.06402 150. 64538
15 8 .94019 1. 71453 232.48717 69 .34528 2 7 .26319 151 .46489
. . . . .. . . . . .. . .. .. .. . . . .. . . . . . . . . .. .. .. .. ..... . . .. .. . . . ...... . ... . . .
,

91 8.19281 0 .00000 241 .80718 71.80719 23.6 1438 15 5.42156


92 8.19281 0.00000 241.80718 71 . 8 071 9 23 .6 1438 155.42156
93 8.19281 0.00000 241 .80718 71.80719 23.61 438 155.42156
Optimal value : 0.00000
»
9. Ellipsoid Algorithms
Divid e et Imperal!
Niccolo Machiavelli (1469-1527 A.D.)

Here we summarize the essentials of Chapter 9 of the text. We consider the linear optimization
problem over a rational polyhedron P ~ JRn of facet complexity ¢

max{cx :xEP} .

In Chapter 7.5.3 we reduced the problem of polynomial solvability of this problem to the question
of the existence of subroutines FINDXZ(P.n. ¢ .<T>,c. z k .x.FEAS) or FINDZX(P, n, ¢.c, zk.x.FEAS) that
solve a feasibility problem in polynomial time. The ellipsoid algorithm settles this existence
question in a theoretically satisfactory way for any rational polyhedron P ~ JRn.
By point 7.5(d), we can replace P by a rational polytope Pip of equal dimension without chan-
ging the optimization problem. We assume that we have a linear description Ax ::; b of Pip with
rational data A, b and initially. that either Pip = 0 or dimPip = n . The case of flat polyhedra is dis-
cussed separately. It follows from point 7.5(d) that the ball B(O, R) contains Pip. where R = .Jii2ip
and
<T> = (c) +8n¢+2n 2 ¢+2.
The center of B(O, R) is xo = 0. Checking xo E Pip we either find an inequality aOx ::; ao of the
linear description of Pip such that aOxo > ao or xO E Pip and we are done. If aOxo > ao then
Pip ~ B(O, R) n {x E JRn : aOx ::; ao} . Replacing ao by aOxo we have that

Pip ~ 8 1 = B(O,R) n {x E JRn : aOx ::; aOxO} ~ e, ,


where E, is an ellipsoid (of minimum volume) that contains 8 1 . Let Xl, the center of E l • be the
next "trial" solution: if Xl E Pip we are done. Otherwise. we find an inequality alx ::; al from the
linear description of Pip such that alx l > al and iterate. At the k th iteration of this algorithm we
have the center x k of an ellipsoid E k = EQ k(x k, 1). where Q k = F kFr is a positive definite matrix
defining E k. By construction Pip S;;; E k. Either x k E Pip - in which case we are done - or we find
an inequality aT x ::; ao belonging to the linear description of P or Pip such that aT x k > ao. In this
case we set

(9.1)

(9.2)

We get an ellipsoid Ek+l = EQk+l (x k+ l , 1) with center xk+ l and positive definite matrix Q k+l =
F k+lFf +l defining Ek +l. As shown in Chapter 9 .2 . Ek+ l ~ Pip and

(9.3)

I Divid e and con quer l

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
264 9. ELLIPSOID ALGORITHMS

Iterating k times. we get vol(Ek ) :::; Voe- k / 2n for k ~ 0. where Vo is the volume of B(O, R) . Unless
the algorithm stops with x k E Pcp for some k, it suffices to iterate at most

kE = f2n(logVO -logVp<I»l

times to conclude that Pcp = 0. where V P<I> is the volume of Ps : By assumption P is either empty
or full-dimensional. If P =I- 0. we can bound VP<I> from below because P is a rational polyhedron.
In the left part of Figure 9.1 we show the iterative application of the ellipsoid algorithm when
applied to the data of Exercise 8.2 (ii) without the objective function. We start at the point
xo = (60,60) as the center of the initial ball with radius Ilxoli which contains all of the feasible set.
We select as the "next" inequality a T x :::; ao the one for which the slack aT x O- ao is largest, to get
Xl; etc .
The above formulas yield polynomial step complexity. but not polynomial time complexity of
the calculation. For the latter it is necessary that the digital sizes of (x k ) and (F k ) of the iterates
stay bounded by a polynomial function of n, ¢ and (c). It must also be shown that all necessary
calculations can be carried out in approximate arithmetic. Le . on a computer with limited word
size. In the left part of Figure 9 .1 we pretended that we can compute (9.1) and (9.2) "perfectly" -
even though we divide. take square roots and calculate on a computer with a word size of merely
64 bits. To be correct, we have to replace the equality signs in (9.1) and (9.2) by the ~ sign and
specify the precision with which we need to calculate the corresponding numbers.
The geometric idea for the way to deal with the problem of approximate calculations is shown
in the right part of Figure 9.1 for the ellipsoid E l : since we cannot compute the center Xl of E l
by formula (9.1) exactly. we get an approximate center x A by committing round-off errors. To
approximate the matrix F l given by (9.2) we multiply the right-hand side by some factor f3 ~ 1. i.e.
we scale all elements of it up to make them bigger. An approximate computation with round-off
errors yields a matrix FA that is used in lieu of Fl' This corresponds to "blowing up" the perfect
arithmetic ellipsoid El concentrically to the ellipsoid E j3 of Figure 9 .1. I.e. Ej3 is a homothetic
image of E l with a factor f3 2: 1 of dilatation. The approximate calculation of F A is then carried
out with a sufficient precision to guarantee that the ellipsoid E A with center x A and defining
matrix Q A = F AF~ contains the ellipsoid E l completely. In Chapter 9.2 we show that a blow-up
factor of
f3 = 1 + 1/12n 2
works. where n is the number of variables of the optimization problem. Our graphical illustration
in Figure 9.1 is "artistic". We used f3 ~ vT5 to produce the figure and not f3 = 49/48. which is
a lot smaller and works in JR2.
In every iteration the ellipsoid algorithm needs only one inequality that is violated or the
message that a violated inequality does not exist, i.e .. at every iteration we have to solve a
separation problem (or constraint identification problem) for the polyhedron P like the one we
discussed in point 7.5(h). So far we have assumed that the number of constraints of the linear
description of P does not matter and that the problem of finding a violated inequality can e.g.
be done by listing and checking every single one of them. We call this method LIST-and-CHECK.
LIST-and-CHECK does not give a polynomial algorithm for the linear optimization over rational
polyhedra if the number of constraints of the linear description of P is exponential in n. But
assuming the existence of some polynomial-time algorithm for the separation problem we get the
existence of a polynomial-time algorithm for the optimization problem over rational polyhedra-
namely the ellipsoid algorithm. It is a nontrivial result that the reverse statement holds as well:
9.1. MATRIX NORMS, APPROXIMATE INVERSES. MATRIX INEQUALITIES 265

--- ----

Fig. 9.1. The ellipsoid algorithm: "perfect" and approximate arithmetic

if for some rational polyhedron P the optimization problem can be solved in polynomial time,
then the separation problem for P can be solved in polynomial time as well. This equivalence
of optimization and separation for rational polyhedra is of fundamental importance in itself and
particularly important for the field of combinatorial optimization: it constitutes the theoretical
backbone of the algorithmic approach to combinatorial optimization problems called branch-and-
cut.

9.1 Matrix Norms, Approximate Inverses, Matrix Inequalities


We have to "truncate" numbers in the ellipsoid algorithm and thus to replace e.g. a matrix F by
some matrix FA. say. satisfying FA:::::; F. To analyze such an approximation we need a norm.
The Frobenius norm of an m x n matrix F of real numbers f] is

m n
1IFIlp = LLU])2. (9.4)
i = 1 j=1

Other norms that are frequently encountered in numerical linear algebra are
m n
11F111= m~x L If]l , 11F112= max{llFxll : Ilxll = I} , max L If]1 .
1IFIloo = 1<,<m
1::;J ::;n - - j=1
i=1

11F112is the spectral norm and its value equals the square root of the largest eigenvalue of F T F. If
F is nonsingular, then 11F- 1112 = >,-1(F), i.e.. it is the reciprocal of the square root of the smallest
eigenvalue of F T F. There are a number of relationships between these various matrix norms,
e.g.
11F112 ::; 1IFIlp ::; vnll F I12.
The spectral norm yields probably the most elegant proofs for what is to follow, but it is also the
hardest one to compute. To avoid issues of computation we will not use it. We use the Frobenius
norm and simply drop the subscript F for notational convenience. In Exercise 9.2 most of the
266 9. ELLIPSOID ALGORITHMS

properties of the Frobenius norm that we need are stated. In particular, for any two m x n real
matrices we have
IIFRII ::; IIFIIIIRII , IIF(In- IIFI1 2 - 0:(2 - 0:1Ir11 2)II Fr11 2 .
o:rr
T
) 11
2
= (9.5)

Remark 9.1 Let R be any n x n matrix ofreals with IIRII < 1. Then (In - R) -l exists and

- 1 1
II(In- R) II ::; 1-IIRII . (9.6)

Let the elements of F A be obtained by truncating the elements of some nonsingular matrix F,
Le., F A ~ F , and F A = F + R . Thus R is the matrix of "errors" due to the rounding or the
truncation and the Frobenius norm is the sum of the squared errors for each element of FA. We
need to know when FA is nonsingular and how the errors "propagate" into the inverse of FA.
Remark 9.2 Let F be any nonsingular matrix of size n x n and R be any n x n matrix with
IIF-1RII < 1. Then (F + R)-l exists and satisfies the inequalities

II(F + R)- l ll < IIF-lil


- 1-IIF-1RII '
(9.7)

12
II(F + R) -l _ F-111 < IIRIIIIF-1RII
- 1-IIF-
1l . (9.8)

To carry out the analysis of the ellipsoid algorithm using approximate arithmetic, we need the
following two inequalities for the determinant and the norm of the inverse of a nonsingular matrix
repeatedly.
Remark 9.3 (i) Let F be any n x n matrix of reals. Then we have the inequality

(9.9)
(iO if F is nonsingular and n ;:: 2, then we have the inequality

IIF- lil < n (n _ 1)- n;-l IIFlln-l (9.10)


- IdetFI

9.2 Ellipsoid "Halving" in Approximate Arithmetic


To carry out the various constructions analytically, we drop the index k and denote by F the
nonsingular matrix defining the "cu rrent" ellipsoid Eo and by x O its center, Le.,
(9.11)

Let a T x ::; ao be the linear inequality that the algorithm identifies and denote by x P and F P
the updates (9.1) and (9.2) that result if calculated in perfect arithmetic, Le. with an infinite
precision:
1 F Ta
xP = xO- --Fd where d = ------=::__ (9.12)
n+1 I[FTall
9.2. ELLIPSOID "HALVING" IN APPROXIMATE ARITHMETIC 267

(9.13)

Assuming that F p is nonsingular, we get in perfect arithmetic an ellipsoid E p with center x P


which in the iterative scheme of the introduction is the "next" ellipsoid, I.e.

(9.14)

For any "blow-up" factor f3 ~ 1 denote by E{3 the enlarged ellipsoid with center x P , l.e. ,

(9.15)

Thus the enlarged ellipsoid E{3 is defined with respect to the matrix

(9.16)

Because of the finite wordlength of the computer we commit round-off errors and compute
approximately

(9.17)

Assume that the error in the approximate calculation satisfies

II X A - X PII :::; <5 and II FA - F {3 I :::; <5 where <5 :::; p(n ) IlFlln-l
IdetFI ' p( n) = 10-4 n -2 . (9.18)

From inequality (9.9) it follows that the error of the approximation is less than IIFII because by
(9.9) e.g. IIx A -xPII :::; p(n)n-n/211F1I . Condition (9.18) is translated in Chapter 9.3 into the number
of digits of each component of x A and F A that need to be calculated correctly - before and after
the "decimal" point in binary arithmetic. The calculations (9.17) yield an approximation EA

(9.19)

to E{3 which is an ellipsoid if FA is "close enough" to F {3 so as to guarantee the nonsingulartty of


FA '
The "b attle-plan" of the proof is as follows:
• Establish that F p is nonstngular if F is nonsingular and that (9.3) remains correct.
• Show that if Eo contains P or Pip then so does the ellipsoid E» ,
• Show that if (9.18) is satisfied neither x A nor FA "grow" too much in size.
• Assuming (9.18) show that FA is nonsingular and that EA :2 E»,

• Assuming (9.18) show that :~ll~~:? satisfies a relation like (9.3) to conclude a polynomial
running time of the approximate calculations.
• Establish a lower bound on the volume V P<l> if dimPip = n and prove in du ctively that (9.18)
is satisfied for all necessary iterations. This is done in the next section.
268 9 . ELLIPSOID ALGORITHMS

The first step is easy because

(1 +~)
n+l n -l

detF p = --2 (1-~) --2 detF. (9.20)

The factor appearing in (9.20) satisfies

for all n;::: 1. (9.21)

Computing the volumina of Eo and E p we get from (7.23) and (9.20)

vol(Ep) =
vol(Eo)
(1 + ~)--2 (1- ~)--2 < e-2~
n
n+ l

n-
n-l

by (9.21) and (9.3) follows. By (9.20) F p is nonsingular and its inverse in terms of F- I is

(9.22)

For notational convenience define Q = FF T and Qp = FpF~ ,Le. Q and Qp are the positive
definite matrices defining Eo and E»,

Q
p
= ~Q
n 2-1
(In __n+1a
2_aa
TQ)
TQa'
Q-I
p
=n
2
-1 (Q-I
n2
+_ 2_ aaT )
n-1aTQa'
(9.23)

Remark 9.4 (i) For all x E Eo and a E JRn. a =I- O. -JaTQa ::; aT(x - XO)::; JaTQa.
(ii) Let aTx ::; ao with a =I- 0 be any inequality such that aT X O ;::: ao and X ~ Eo be any subset oj Eo
such that aT x ::; aojor all x E X. Then X ~ E p .

By inductive reasoning it follows that Pip ~ E k if B(O, R) has a large enough radius to contain Pip
initially.
To justify the approximate calculations of x A and FA. we compute like in Exercise 9.2 (iii)
from (9. 16}, (9.13) and (9.22)

IIFiJlI::; (3yrT
~IIFII , (9.24)

where we have used Ildll = 1, see (9.12) . In the following we use the inequality

2x > 1 + ~x + ~X2 for all x ;::: 0 . (9.25)


- 3 9

Remark 9.5 if(9.18) is satisfied. thenjor (3 = 1 + 1/12n2 and all n ;::: 2

(9.26)
9.3. POLYNOMIAL-TIME ALGORITHMS FOR LINEAR PROGRAMMING 269

The following inequality is readily verified for all n 2 2


2 4 1
1 + 2(n + l)(n - 1)--2-n- 10- ::; 1 + 12n2
n- 1
. (9.27)

Remark 9.6 if (9.18)satisfied and detF i= 0, thenjor f3 = 1 + 1/12n2 and all n 2 2 the matrix FA
is
is nonsingular and EA(X A, 1) ;2 Ep(x P , 1).

The main point in the proof that Ep(x P , 1) ~ EA(XA, 1) is the estimation

(9.28)

By Remark 9.4 the feasible set is contained in the approximate ellipsoid if (9.18) is satisfied. The
verification of (9.18) will be done by induction.
To estimate next ~;:f:~)) we calculate using (9.4) , (9.13), (9.16) and (9.22)

(9.29)

Remark 9.7 if detF i= 0 and (9.18) is satisfied, thenjor f3 = 1 + 1/12n 2 andjor all n 2 2
T1 /nldetFI ::; IdetFAI ::; T 1/ 4nldetFI . (9.30)

If (9.18) is satisfied at every iteration we can calculate the number of iterations required by the
ellipsoid algorithm using approximate arithmetic, i.e. when (9.1) and (9.2) are replaced by (9.17) .
From (7.23) we compute
vol(EA) IdetFAI 2- 1 / 4n
-----:-':-=-7'- = < < e - 1/6n
vol(Eo) IdetFI-
using Remark 9 .7 and (9.25). Denoting the ellipsoid at the k t h iteration again by E ko we get
vol(Ek ) < Voe- k / 6n and consequently, after at most

kA = f6n(logVo -logVpq,)l

iterations the ellipsoid algorithm with approximate arithmetic stops with the message that Pip = 0
- unless for some k < kA the corresponding iterate x k belongs to Pip. Here we have assumed that
(9.18) is satisfied at every iteration and that Pip i= 0 implies dimPip = n and that vol(Pip) 2 VPq, -
assumptions that we will have to remove later.

9.3 Polynomial-Time Algorithms for Linear Programming


Having settled the analytical problem of calculating the "perfect" arithmetic ellipsoid approxima-
tely by permitting round-off errors let us consider the linear program

(LP) max{cx : Ax ::; b} ,

where c E JRn. A E JRm xn, b E JRm all have integer components only, m 2 I, n 2 2 and A i= 0
to rule out trivialities. The problem (LP) has only inequalities, i.e. any equations have been
eliminated or replaced by their corresponding pairs of inequalities.
270 9. ELLIPSOIDALGORITHMS

From Chapter 7.5.1 we know that the integrality assumption is polynomially equivalent to
assuming that the data are rational. So the integrality assumption is convenient. but not neces-
sary. Other than this one we make no assumption. The rank of A can be anywhere between
1 and min {m , n} and the feasible set
x = {x E jRn : Ax S; b} (9.31)

can be a solid. flat, pointed or blunt polyhedron of jRn. Nonnegativity requirements are part of
(A ,b) .
To demonstrate the polynomial solvability of (LP) - polynomial in terms of m , n , the digital size
(c) of the vector c and the facet complexity ¢ of X -: we proceed in three steps:
• We assume that X is either empty or bounded and full dimensional. By running the "basic"
ellipsoid algorithm we decide whether or not X = 0 by producing a rational vector x E X if
X#0.
• We remove the assumptions and show that by embedding any X into a somewhat larger
polyhedron Xh we can answer the question in polynomial time for any rational X.
• We use binary search like in Chapter 7.5.3 to prove the existence of a polynomial-time
algorithm for the linear program (LP) .
To carry out the first step we make the following assumption.
Assumption A: There exists R ;::: 1, i.e. some radius. such that X ~ B(O, R). Moreover, if X # 0
then there exist x E re lint X and a radius r > 0 such that B(x , r ) ~ X .
To state the basic ellipsoid algorithm. we denote by xf.
xj the components of x p • x k and by
/3 lj . klj the elements of F /3. F k for 1 S; i, j S; n ande > O. The input consists of rn, n , A and b. the
parameters R. T and p and if X # 0. x is the output of the algorithm.
Basic Ellipsoid Algorithm [rn, n , R . T. v- A . b. x )
Step 0: Set x O := O. F o := Rln • k := O.
Step 1: if k ;::: T. stop "X is empty".
if a ix k S; b, for all l S; i S; rn, stop "x := x k".
Let (a i , bi ) for some i E {I , .. . ,m} be such that a ix k > be and set aT := a i.
Step 2: Calculate approximately x k+l ~ x P and Fk+l ~ F /3 where

x P .- x k - -1- ----;;;C"-
FkFra
(9.32)
.- n+ 1 l!Frall '

F := n + I j12n F
/3 ~1
v n- - 1
k
(I _n
1- J(n - l) j(n + 1) (F T a)(a T F ))
a T F k FT
ka k k ,
(9.33)

such that the binary representation of each component of Xk+l and F k+l satisfies
I X~+l -xflS; 2- P and Ik+dj - /3 lj l S; 2- P for 1 S; i , j S; n. Replace k + 1 by k and go to Step 1.
Remark 9.8 (Correctness and finiteness) ifAssumptionA is true. then the basic ellipsoid algorithm
finds a rational vector x E X or concludes correctly that X = 0 when it is executed with the
parameters
R R
T = r6n 2 log -1 , p = 14 + n 2 + r15n log -1 . (9.34)
r r
9.3. POLYNOMIAL-TIME ALGORITHMS FOR LINEAR PROGRAMMING 271

The proof uses Remarks 9.5, 9.6 and 9 .7 to estimate inter alia

(9.35)

We are now ready to drop Assumption A. Denote by ¢ the facet complexity of X, t.e ,

(9.36)

It follows that n + 1 ::; ¢ A < ¢ since A =I- 0 and moreover, we can choose ¢ such that ¢ ::; ¢ A + (b),
where (b) is the digital size of b. For any integer h 2: 1 we denote by h - l E JR.m the vector having
m components equal to 1/ h and let

(9.37)

which corresponds to "perturbing" the feasible set X of (LP).


Remark 9 .9 (i) X =I- 0 if and only if X h =I- 0jor all h 2: p2P,p A where p = 1 + min{m , n} .
(ii) if X =I- 0, thenjor all u 2: 2n ,p and all integers h 2: 1 the set Xi: oj solutions to

Ax ::; b+ h- l , -u - 1/h::; Xj::; u+ l /h , jorl ::; j ::; n (9.38)

is bounded,jull dimensional and Bi» , rh) ~ Xi: jor all x E X where

(9.39)

To visualize the construction of Remark 9.9 take for instance

X = {x E JR.2 : 1 ::; Xl ::; 1, 1 ::; X2 ::; I}

and bring it into the form (9.37). Graphing the corresponding solution set, one sees that the
introduction of the perturbation l /h in each inequality corresponds to a "tearing apart" of the
solution set to obtain a full dimensional set of solutions; see also Figure 9.8 below. If X is empty
then there is nothing to tear apart and as the first part of Remark 9.9 shows, the emptiness of
Xh is preserved if the perturbation is "small enough". Running the basic ellipsoid algorithm with
R = 2n ,p , T = 20n 3 ¢ and p = 55n 2 ¢ we conclude like in point 7.6(g):
Remark 9.10 Every m x n system oj linear inequalities Ax ::; b with rational data can be "solved"
in time that is polynomial in the digital size oj its input.

There are several ways to deal with the optimization aspect of the linear program (LP) . The
simplest way is to use linear programming duality and to reduce the optimization problem to the
problem of finding a solution to a system of linear inequalities - like we did in Remark 6.5 . The
second way uses binary search and a "sliding objective" function; see the text.
Remark 9.11 Every linear program with rational data can be "optimized" in time that is polynomial
in the digital size oj its input.

Neither the radius R of the ball circumscribing X or Xi: nor the radius r of the ball that
is inscribed into X or Xi:, see (9.39), depend on the number m of linear inequalities of (LP).
Consequently, none of the other two parameters T and p of the basic ellipsoid algorithm depends
272 9. ELLIPSOID ALGORITHMS

on the number m, They are polynomial functions of ¢' n and (e) only. The dependence of the
basic ellipsoid algorithm on the number m of the inequalities of (LP) enters in Step 1 when we
have to find a violated inequality for the system (9.43) or prove that none exists. The same is true
for the auxiliary computations. For the time being we assume that we find violated inequalities
by the "algorithm" LIST-and-CHECK that we discussed in the introduction. If m is of the order
of n , l.e. m = O(n ), then the total effort to solve (LP) becomes a polynomial function of n , ¢ and
(e) only, whereas in the general case we need, of course, note the dependence on m explicitly.
Before coming back to the question of how to deal with the case of possibly exponentially many
constraints defining X we first discuss some "practical" variants of the basic ellipsoid algorithm.

9.4 Deep Cuts, Sliding Objective, Large Steps, Line Search


Going back to Figure 9.1 we see that instead of cutting E k with aT x :S ao - where the right-hand
side equals ao and which is valid for all x E X - we replaced ao by the larger quantity aT x k • This
replacement forces the cut to pass through the center of the current ellipsoid and the resulting
algorithm is therefore called central cut ellipsoid algorithm. It is not overly difficult to work out
the formulas corresponding to (9.1) and (9.2) when instead of aTx :S aTx k we use the deep cut
a T x :S ao. They are given below.
A less obvious modification of the basic algorithmic idea concerns the optimization aspect of
(LP) . Let
z = max{cx k : x k feasible} ,
where initially z = - 00. Then we can use the objective function as a "sliding constraint" of the
form ex 2 z where the value of z increases during the course of the calculations. This gives
rise to a sliding objective and thereby to a device that speeds the convergence of the procedure
considerably.
A third modification to the basic idea goes as follows. Suppose the current iterate x k is
feasible. Then the point x * = x k + F kF[ eT /lIeFk ll maximizes the linear function ex over the
current ellipsoid E k = {z E JRn : IlFk1(x - x k )1I :S I}; see Remark 9.4(i) . Consequently, we can
determine by a least ratio test the largest A 2 0 such that

X(A) = x k + A(X* - x k) is feasible

and thereby make a large step towards optimality by "shooting" through the interior of the
feasible set. We calculate the largest A, the corresponding feaslble X(A) and its objective function
value z>. , say. If z>. > z , then we update the current best solution to be X(A), replace z by z>. and
use in one of the subsequent iterations the objective function as a cut to reduce the volume of
the ellipsoid.
The fourth modification of the basic algorithmic idea is aimed at improving the chances of
the algorithm to findjeasible solutions to (LP). The algorithm gen erates a sequence of individual
points and their probability to fall into the feasible set is rather small. Consider two consecutive
centers x k and x k + 1 of the ellipsoids gen erated by the algorithm. They de termine a line

X(fL ) = (1 - fL )Xk + fLXk+l where - 00 < fL < + 00 .

We can decide the question of whether or not X(fL ) meets the feasible set by a line search that
involves again a simple least ratio test. If the test is negative, we continue as we would do without
9 .4. DEEP CUTS, SLIDING OBJECTIVE, LARGE STEPS, LINE SEARCH 273

it. If the test comes out positive, then we get an interval [J.tmin, J.tmax] such that x(J.t) is feasible
for all J.t in the interval. Computing the objective function we find ex(J.t) = ex k + J.t(exk+ l - ex k) .
Consequently, if exk+l > cx k then Ji = J.tmax yields the best possible solution vector while Ji = J.tmin
does so in the opposite ca se. The rest is clear: we proceed like we did in the case of large steps.
We are now ready to state an ellipsoid algorithm for linear programs in canonical form

(LPc) max{ex: Ax :s b, x ?:: O} ,


where (A,b) is an m x (n + 1) matrix of rationals. We assume that A contains no zero row and
i fior 1 :S i :S m + n th e rows 0 f th e matrix (A , b) --
d enot e b y (a t., b) (_AI n -ob ).
The DCS ellipsoid algorithm takes m, n , A, b, e as inpu ts. ZL is a lower bound, zu an upper
bound on the optimal objective function value. R is a common upper bound on the variables
of (LPcl and E a perturbation parameter to ensure full dimensionality of the feasible set when
intersected with the sliding objective function constraint ex ?:: z, Since we are perturbing the
constraint set of (LPcl by a parameter E > 0 we shall call solutions to the perturbed constraint
set nearly feasible or s-feasible solutions and correspondingly, we shall utilize the term s-opttmal
solution to denote a nearly feasible, nearly optimal solution to (LPcl. VF is a positive lower bound
on the volume of a full dimensional, s-opttmal set. In other words, if the current ellipsoid has
a volume less than VF we shall conclude that either s-optimaltty is attained - if a feasible solution
x with objective function value Z was obtained - or else that the feasible set of (LPcl is empty. As
we know from Chapters 7.5 and 9 .3 we can always find theoretical values for E and R and by
consequence for Z L , zo and VF as well that the algorithm needs to converge.
In practice, we set the perturbation parameter e.g. E = 10-4 and use a rough data dependent
estimate for the common upper bound R on the variables. Similarly, we use e.g. VF = 10- 2 to fix
the stopping criterion and from R we estimate Z L and so e.g. as follows

ZL = - 1+nc-R , Zu = 1 + nc+R ,

where c- = min{cj : 1 :S j :S n } and c+ = max j c, : 1 :S j :S n }.


"DCS" stands for deep cut, sliding objective, large steps and line search, i.e. all of the devices
that we discussed above to speed the empirical rate of convergence of the underlying basic
algorithmic idea. For this "practical" version of the ellipsoid algorithm we ignore the blow-up
factor (3 ?:: 1 that is necessary to obtain the theoretical result since (3 - 1 = 1/1 2n 2 is a horribly
small positive number for reasonably sized n .
In the DCS ellipsoid algorithm we assume c i=- O. If e = 0 then some modifications and
simplifications impose themselves the details of which we leave as an exercise for you to figure
out.
Des Ellipsoid Algorithm (rn , n , ZL, zij , E, R , VF , A , b, c, x, z )
Step 0: Set k := 0, x~ := R/2 for 1 :S j :S n, Z := ZL, Zo := ZL ,

R o := vn(1 + R /2 ), H« := Rol n , 10 := (1 + ~ r
k
2
.!!±...! n - l

,
(1- ~ r -2 Vo := R 7r n / 2/ r(1 + n/ 2).
Step 1: Set mxv := bj + E - a j x where bj - a jx :S bi - a ix k for all I :S i :S n + m.
k
o
if mxv < 0 go to Step 2 .
Set x * := x k + H kHk cT / lleHk ll, >. := max{>. : >.ai (x * - x k ) :::; bi + E - a i x k , 1 :::; i :::; n + m }.
if>. ?:: 1 stop "(LPcl is unbounded."
274 9. ELLIPSOID ALGORITHMS

if e(x k + A(X* - x k)) ::; Z go to Step 2.


Set x:= x k + A(X* - x k), z := ex.
Step 2: if (cx k > z or (mxv < Oand zo - z > mxv)) then
. a jx k - e .
Choose e so that bj + e ::; e ::; a J x k . Set CXk := Ilaj H k I ' r T := aJ •
else
Set CXk := (z - exk) /lIeHkll, r T := -e, zo:= z .
endif
Step 3: if CXk < 1 and Vk 2 VF go to Step 4.
if ZL < z < so stop "x is an e-opttmal solution to (LPa)."
stop "(LPa) is infeasible or unbounded."
Step 4: Set
k+l k 1 + ncxk H H T r, (9.44)
x := x - (n+1)IIHZrll k k

(9.45)

2 n-l
Vk+l := (1 - CXk)-2- (1 - CXk)!OVk . (9.46)

Let I := {p, E IR : p,ai(x k+l - x k) ::; b, + e - aix k for 1 ::; i ::; n + m}.
if 1=1= 0 and ex k =1= exk+1 then
if exk+l > ex k then set Ti := max{p, : p, E I} else Ti := min{p, : p, E f}.
if ITii = 00 stop "(LPa) is unbounded."
if ex k + Ti(ex k+l - ex k) > z then set x := x k + Ti(xk+ 1 - x k) , z := ex.
endif
Replace k + 1 by k and go to Step 1.

9.4.1 Linear Programming the Ellipsoidal Way: Two Examples


In Figures 9 .2 , 9.3, 9.4 we show the first nine iterations that result when we use the data of
Exercise 8.2 (ii) and minimize X2 without the use of the line search, Le. we assume in Step 4
that always I = 0. In Figures 9.5, 9 .6, 9.7 we show the corresponding 12 first iterations when
we maximize X2 with line search. To make the corresponding pictures more readable we have
depicted every third ellipse by a "dashed" curve, whereas all the others are drawn solidly. The
first ellipse shown in Figures 9.3, 9.4 and Figures 9 .6 , 9.7, respectively, are the "last" ellipse
of the respective preceding picture. "Da sh ed" lines correspond to using the original constraints
to cut the ellipse in half, while "dotted" lines correspond to cuts using the sliding objective. In
Figure 9 .3 the arrows show the "large" steps that the algorithm takes, while there are none in
Figures 9 .5 , 9.6, 9 .7. Note that in Step 2 we use -like in Step 1 - a "most violated" constraint:
a sliding objective cut is executed only if the objective cut is a most violated constraint. Note
the different convergence behavior of the algorithm that results from the existence of alternative
optima; see the text for a detailed discussion of the computer runs.
9.4. DEEP CUTS, SLIDING OBJECTIVE, LARGE STEPS, LINE SEARCH 275

" b
"
" ""

Fig. 9.2. Deep cuts, sliding objective, large steps (minimize X2 )

I
I
I I

/
/
I
t
\
"
" ""
" ""
""
Fig. 9.3. Deep cuts, sliding objective, large steps for iterations 3, . . . ,6
276 9. ELLIPSOID ALGORITHMS

Fig. 9.4. Proving optimality of a face of dimension 1 in ]R2 the ellipsoidal way

Fig. 9.5. Deep cuts, sliding objective, line search (maximize X2 )

I
If
X2

--- - -- ",
EO
- - or:. h

Fig. 9.6. Deep cuts, sliding objective, line search for iterations 4, . . . , 8
9 .4. DEEP CUTS, SLIDING OBJECTIVE, LARGE STEPS, LINE SEARCH 277

ell

~~
-

£0


- -

8
-
£12
- -

-

9
-

--
- - - e 10
...
J

h~ ~
----
Fig. 9.7. Proving optimality of a face of dimension 0 in ~2 the ellipsoidal way

9.4.2 Correctness and Finiteness of the DCS Ellipsoid Algorithm


By assumption the parameter R is a common upper bound on the variables of (LPc ) that is large
enough so that the hypercube
{x E ~n : 0 '5. Xj '5. R for 1 '5. j '5. n}
contains all of the feasible set of (LPc ) if (LPc ) is bounded and enough of the unbounded portion
of the feasible set to permit us to conclude unboundedness via the value of the objective function;
see point 7.5(d) and the discussion of binary search in Chapter 9 .3. We start the algorithm at
the center x O = ~ Re of this hypercube and by choice of Ro in Step 0 the initial ball B (x O, Ro) does
the job.
The validity of the DCS ellipsoid algorithm is established inductively like in Chapter 9 .2. Using
formula (9.45) for the update H kH we compute its determinant in terms of the determinant H k

( 1)- 1)-
1
nt ( n;-l 2 n-l
detH k+l = 1 + ;, 1 - ;, (1 - D:k )-2- (1 - D:k ) detH k . (9.47)

To establish the containment of the feasible set in the updated ellipsoid, we form the positive
definite matrix G k+l = H kH Hr+l and compute its inverse

G-
k+l
1 =
2
n - 1
n2(1- D:~)
(G-k + (n 1 2(1 + nD:k) rr
-1)(1- D:k ) rTGkr
T).
'
(9.48)

see Exercise 9 .6. Let E k = Ek(X k , 1) be the ellipsoid that the DCS algorithm constructs at iteration
k

Ek(Xk , 1) = {x E ~n : (x - x k fG k1(X - x k) '5. 1} . (9.49)


It follows using (7.23) from (9.47) that

vol(Ek+d = (
vol(E k)
D:k )
1+ lin
1- ~

2 (1 +linD:k )
1-
n-l
-2- '5. e -Uk- 21,.

for all k ~ O. Setting VkH = vol(Ek+d and fo = (1 - 1/ n) - nt (1 + 1/ n)- n;-l we get


1

k
VkH = Voio II (1 - D:~ ) n;-l (1 - D:£ ) , (9.50)
£= 0
278 9. ELLIPSOID ALGORITHMS

which shows that the DCS algorithm updates the volume of the current ellipsoid correctly in
formula (9.46). Moreover. it shows the "deflating" effect of the deep cuts on the volume of the
ellipsoid quite clearly.
It is shown in the text that the DCS ellipsoid algorithm is correct if the bound R is "large
enough" and the perturbation c is "small enough". From (9.50) and the formula for the ratio of
the volumina it follows that the stopping criterion Vk < VF is satisfied after at most
Vo
f2nlog V 1
F

iterations. The at's introduce a data-dependency into the stopping criterion that does, however,
not change the theoretical worst-case behavior of the algorithm.

9.5 Optimal Separators, Most Violated Separators, Separation


" H~£L<; &<p[~£ L<; 00 eV~~£L<; £V n:oAEflCP. 2
Pythia, High priestess of Delphi.

Throughout the rest of this chapter we will deal mostly with rational polytopes P <:;;; IR n rather
than with polyhedra. From Chapter 7.5 we know that we can always do so while preserving
polynomiality of the facet complexity and vertex complexity in terms of the original parameters.
We are interested in the linear optimization problem max{ ex : x E P} where the vector e is some
row vector with rational coefficients and P has a linear description with possibly exponentially
many linear inequalities. To approach this problem we start with a partial linear description of
the rational polytope P having O(n) constraints. which gives us a larger polytope Po that contains
P. Solving the linear program
max{ex : x E Po}
we either conclude that Po and thus P is empty or we get an optimal solution x O E Po, e.g.
an optimal extreme point of Po . Now we check the constraint set of P by some "separation
algorithm" - other than LIST-and-CHECK - to find a violated constraint, I.e. we solve something
like the separation problem of Chapter 7 .5.4 algorithmically. If the separation problem does not
produce a violated constraint, then x O is an optimal solution to the problem max{ ex : x E P} - see
the outer inclusion principle of Chapter 7.5.4 which works with a "local" description of P in the
neighborhood of a maximizer x m a x • say, of ex over P rather than the complete linear description
of P .
To stress the point that we wish to make once again, suppose that the feasible set of our
1010
linear program is given by a convex polygon in 1R 2 with, say. 10 or more "corners" and just as
many facets : all you need are at most three of its facet defining constraints to prove optimality
of some corner that maximizes your linear function in 1R 2 • see Figure 9.8. The problem is to find
the "right" ones and almost nothing else matters.
Suppose that the separation algorithm finds a constraint h1x ::; hb, say. such that h1x O > hb.
Then

2· you will depart. you will arrive. you will not die in the war" or is it "you will depart. you will not arrive. you will die
in the war" ?
9 .5. OPTIMAL SEPARATORS, MOST VIOLATED SEPARATORS, SEPARATION 279

OC (x ...a :r , H )

Fig. 9.8. The outer inclusion principle in ]R.2

and we can iterate. The question: does this iterative scheme converge "fast enough" to permit
linear optimization over any rational polytope in polynomial time?
This is where the (basic) ellipsoid algorithm enters: neither its running time T nor the required
precision p, see e.g. (9.34), depend on the number m of the constraints of the linear program. So
if we can find a constraint defining P that is violated by the current iterate x k or prove that no
such constraint exists in time that is polynomial in n, ej), (x k ) and (e), then the polynomiality of
the entire iterative scheme follows from the polynomiality of the ellipsoid algorithm.
Let us discuss first what kind of a violated constraint we wish to find ideally to obtain "fa st"
convergence of this iterative scheme. We shall forget what other authors have called "the sepa-
ration problem" and first determine what it is that we really want.
Denote by Pk the polytope that we have after k iterations and by x k the current optimizer.
Denote by
SP = {(h ,ho) E ]R.nH : P ~ {x E ]R.n : hx :::; ho}} (9.51)

the set of all candidates for a solution of the separation problem e.g . as defined in Chapter 7.5.4.
The set SP is the ho-polar of the polytope P . see (7.13) in Chapter 7.4 where Y is void because
P by assumption is a polytope. Ideally, we wish to find a constraint that "moves" the objective
function "down" as fast as possible because we know that P ~ Pi; So we want ideally a solution
to the problem

min max{cx : x E Pk n {x E ]R.n : hx :::; ho}} . (9.52)


(h ,ho)ESP :IlEJRn

Since P is a polytope this min-max problem has a solution if P :::f. 0 and if P = 0 we simply
declare an arbitrary "violated" inequality to be the solution, e.g. hs: = ex :::; ho = ex k - 100. If
the objective function value of (9.52) is greater than or equal to cx k • then by the outer inclusion
principle the current iterate x k solves the linear optimization problem max{ ex : x E P} and we are
done. Otherwise, the objective function value is less than ex k and let us call any (h, ho) E ]R.n H
that solves (9.52)
280 9. ELLIPSOID ALGORITHMS

an optimal separator for P with respect to the objective function ex


that we wish to maximize over P. It follows that hx k > ho and we can iterate. What we like to
have ideally is not necessarily what we can do in computational practice and indeed, we are not
aware of any linear optimization problem for which a solution to the min-max problem (9.52) is
known. We refer to this problem sometimes as the problem of "finding the right cut" because we
are evidently cutting off a portion of the polytope Pk by an optimal separator ha: :::; h o and the cut
is "righ t" because it moves the objective function value as much as possible. A general solution
to (9.52) does not seem possible, but for certain classes of optimization problems an answer to
this problem may be possible.
Since a solution to (9.52) seems elusive, we have to scale down our aspirations somewhat and
approximate the problem of finding the right cut. The next best objective that comes to one's
mind is to ask for (h , ho) ESP such that the amount of violation hx k - ho is maximal. So we want
to solve
max{hx k - ho : (h , ho) ESP , IIhll oo = I} , (9.53)
where Ilhil oo = max{lhjl : 1 :::; j :::; n} is the Roo -n orm. Because we normalized by IIhiloo = 1 the
maximum in (9.53) exists if P =j:. 0. If P = 0, then any inequality lux :::; h o with hx k - h o > a is
simply declared to be a "solu tion " to (9.53). If the objective function value in (9.53) is less than
or equal to zero, we stop: the current iterate x k maximizes ex over P . Otherwise, any solution to
(9.53) is
a most violated separator for P .
It follows thathx k > ho and we can iterate. Indeed, in all of the computational work that preceded
as well as that followed the advent of the ellipsoid algorithm the constraint identification (or
separation) problem was approached in this and no other way. Posing the separation problem that
we need to solve iteratively the way we have done it solves the separation problem of Chapter 7.5.4:
the objective function value of (9.53) provides a "proof' that all constraints of P are satisfied by
the current iterate x k of the overall iterative scheme. Of course, problem (9.53) has one nonlinear
constraint, but we can get around the nonlinearity easily.
We consider in the separation step of the basic ellipsoid algorithm, Le. in Step I , only
most violated separators. This agrees not only with computational practice, but it also alleviates
certain theoretical difficulties that arise when the separation step is not treated as an optimization
problem on its own.
If one merely asks for some separator as we do in the first part of point 7.5U), then - in case
that dimP = k < n - it can happen that the separation subroutine always returns a hyperplane
that is parallel to the affine hull of P, see e.g. Figure 9.4, and, of course, the volumina of the
ellipsoids tend to zero. Thus if the volume falls below a certain value VF , say, we can no longer
conclude that P = 0 because - even though P =j:. 0 - the n-dimensional volume of P is zero if
dimP < n.

9.6 E-Solidification of Flats, Polytopal Norms, Rounding


For any e > a define the c-solidification Pcoo of a polytope P ~ JR.n with respect to the goo -n orm by

Pcoo = {z E JR.n : 3x E P such that IIx - zlloo :::; €} , (9.54)


9.6. €-SOLIDIFICATION OF FLATS, POLYfOPAL NORMS, ROUNDING 281

/ /
/ /
/ /
I / /

..
I / /

"" /
/
/
/

" -, T /

.. - .
/
I
" /

"" -,
. _...
Fig. 9.9. s-Solidtfica tion (9.54) with e = 0.5 of three rational flats in ~2

where Ilx - zlloo = max{lxj - zjl : 1 ~ j ~ n} is the goo -n or m .


Remark 9.12 (i) For every e > 0 and nonempty polytope P ~ ~n the set P;:O ~ ~n is afuU dimen-
sional polytope.
(ii) If ha: ~ ho jor oll. x E P, then ha: ~ ho + E Ilhll l jor oll. x E P;:O. If ha: :::; ho jor ali x E P;:O, then
ha: ~ ho - E Ilhllljor oll. x E P, where Ilhll l = 'L]=llhjl is the £l-norm.
(iii) Let H x ~ h be any linear description oj P;:O. Then H x ~ h - ed is a linear description oj P
where d is the vector oj the £1-norms oj the rows oj H .
Suppose P is a rational flat. Then P ~ {rc E ~n : hs: = h o} for some (h , h o) E ~n+l . Consequently,
ha: ~ ho and -hx ~ -h o for all x E P. Thus

which corresponds to "tearing apart" the equations defining the affine hull of P. Since for every
x E P the hypercube x + {z E ~n : IZj 1 ~ e for 1 ~ j ~ n} is contained in P;:O and this hypercube
contains B (x ,r = s) the n-dim en sion al volume of P;:O satisfies

(9.55)

Since dimP;:O = n if P =f. 0 the polytope P;:O has a linear description that is unique modulo
multiplication by positive scalars. Thus if H x ~ h is some linear description of P then the set
{x E ~n : H x ~ h + e d} contains P;:O by Remark 9.12 (ii], where d is defined in part (iii). But the
containment can be proper.
Let x * E ~n be arbitrary and suppose that we have a separation subroutine for the polytope
P that finds a most violated separator ha: ~ ho. If hx* :::; be. then x* E Peoo where € > 0 is
arbitrary. From Remark 9 .12 it follows that for a point outside of P;:O there exists at least one of
the representations of some facet of P that is violated by it; see the text for more detail.

Remark 9.13 Let Hte ~ hand </J ~ n + 1 be such that (hi) + (hi ) ~ </J j or aU rows (h i , hi) oj(H h) .
Let x" E~n and (HI h I), (H 2 h 2 ) beapartitioningoj(H h) such that

(9.56)

umere d) , d 2 are the vectors ojthe£l-norms ojthe corresponding rows of H«, H 2• If 0 ~ e ~ 2- 5 (n +l )4>
then the system H I x = h \ H 2 X ~ h 2 is solvable.
282 9. ELLIPSOID ALGORITHMS

In Figure 9.9 we have illustrated the s-solldlflcatlon of three flats in 1R2 • Exercise 9.7 shows
that solidification works for polyhedra and states various facts about Pcoo. It shows also that we
can replace the eoo-norm in the definition of the e-solldlfication of a polyhedron P by the e1-norm
without changing the basic properties.
The e1-norm and the eoo-norm are special polytopal norms on IR n in the sense that their
respective "unit spheres" {x E IR n : Ilxll p ~ I} where P E {I , oo} are full dimensional polytopes in
IR n . Moreover, the polytopes {x E lRn : /lX/ll ~ I} and { x E IR n : Ilxll oo ~ I} are dual polytopes in
the sense that there is an one-to-one correspondence between the facets of either of them and
the extreme points of the other. More generally, let II· lip be any polytopal norm on IR n , l.e. the
unit sphere with respect to II · lip is a polytope. Given II · li p define for y E lRn the "length" of y in
the dual norm /I . /I p by

/lyll p = max{yT x :x E IR n , Ilxllp ~ I} . (9.57)

The maximum exists because {x E lRn : /lx/i P ~ I} is a polytope, i.e. a compact convex subset of
IR n , and y T x is continuous in z. You prove that /1 ·111 and 11 ·/1 00 is a pair of dual norms. Exercise 9.8
shows that II · li p is a polytopal norm on IR n and that it satisfies Holder's inequality

y T X ~ Ilyll pllxlip for all x , y E IR n . (9.58)

It also shows that an e-solldiflcatton of polyhedra can be defined with respect to any polytopal
norm on lRn . Moreover, if we have a separation subroutine for any polyhedron P that finds a most
violated separator then we can separate points from it using the corresponding s-soltdification of
P.

9.6.1 Rational Rounding and Continued Fractions


Rational rounding is the process of approximating a real number 8 E IR as a ratio of two integer
r
numbers P/ q with q :::: 1. If the denominator q = 1 then P = L8 J or P = 8 1are the only "reasonable"
choices with a maximum error of 1/ 2. We denote by

[8] = min{ 8 - L8J , r81 - 8} (9.59)


the smaller of the two fractional parts of 8 and pronounce [8] as "frac of 8 ."
Remark 9.14 Let 8 and Q > 1 be any real numbers. Then there exists an integer q such that
1 < q ~ Q and [q8] < Q-1 .

A ratio P/ D with integers P and D :::: 1 is a best approximation to 8 E lR if

[D8] = ID8 - pi and [q8] > [D8] for all 1 ~ q < D . (9.60)

Two sequences of integers q1 = 1 < q2 < q3 < ... and Pl,P2,P3, . . . such that Pn/q n is a best
approximation to 8 for all 1 ~ q ~ D = qn can be constructed inductively as follows. Initially,
we let q1 = 1 and find an integer PI such that Iq 18 - P11 = [8] ::::; 1/2. By definition PI!q1 is a best
approximation of 8 with D = 1. If PI = q18, Le. if 8 is an integer, the inductive process stops.
So suppose that we have constructed the n :::: 1 first, best approximations to 8 and that the
process does not stop. Then we have integers Pn and qn such that Pn #- qn8, Le, [qn8j > O. From
Remark 9.14 when applied with Q > [qn 8t 1 itfollows that there exist Integer numbers q :::: 1 such
9 .6. €-SOLIDIFI CATI ON OF FLATS. POLYTOPAL NORMS. ROUNDING 283

that [q8] < [qn8] . Let qn+l be the smallest integer and Pn+l be a corresponding integer number
such that

[qn+1 8 j Iqn+l 8 - Pn+ll (9.61)


[qn+18 j < [qn 8 ] (9.62)
[q8] > [qn8] for all L< q < qn+l ' (9.63)

Since by the inductive hypothesis Pn /qn is a best approximation to 8 with D = qn we have from
(9.62) that qn+l > qn and from (9.63) and (9.62) that the ratio Pn+l /qn+l is a best approximation
to 8 with D = qn+l ' Consequently. the induction works. the numbers Pn and qn have the stated
properties and either the process continues or it stops.
Several important properties of this sequence of best approximations to 8 can be established
that lead to a polynomially bounded algorithm for finding best approximations to rational num-
bers when the denominator is bounded by a prescribed number. Since qn < qn+l and applying
Remark 9.14 with Q = qn+l it follows from (9.63) that

(9.64)

Moreover. the signs of qn8 - Pn and qn+18 - Pn+l alternate. i.e.

(9.65)

All numbers in the sequence are integers and

Pnqn+l - Pn+lqn = qn(qn+18 - Pn+d - qn+l(qn 8 - Pn) , (9.66)


Pnqn+l - Pn+lqn = ±l , (9.67)
sign(Pnqn+l - Pn+lqn) = -sign(qn 8 - Pn) (9.68)
Pnqn+l - Pn+lq n = -(Pn-lqn - Pnqn-l) (9.69)

for all Pn. qn that the inductive process gen erates . From (9.69) Pn(qn+l - qn- l) = qn(Pn+l - Pn-d .
From (9.67) g.c.d'(Pn , qn ) = I and since the coprime representation of a rational is unique. there
exists some positive integer an such that qn+l - qn- l = an qn and Pn+l - Pn- l = anPn. So for all
n ::::: 2 of the inductive process there exist integers an ::::: I such that

qn+l = anqn + qn-l , Pn+l = anPn + Pn- l . (9.70)

Multiply the first part of (9.70) by 8 . subtract the second and use the alternating signs (9.65) .
We get

(9.71)

(9.72)

which together with (9.70) gives a procedure to calculate Pn+l. qn+l once the values of Pn and qn
are known for k :::; n where n ::::: 2.
284 9. ELLIPSOID ALGORITHMS

To start the procedure to calculate Pn and qn iteratively from (9.70) and (9.72) we have to know
what the first two iterations of the inductive process produce in terms of Pn and qn or prescribe
a start that is consistent with the inductive hypothesis that we have made to derive the above
properties.
If /8/ ~ 1 and 8 is not an integer, then we can always write 8 = l 8 J + 8' with 0 < 8' < 1 and
a best approximation to 8' yields instantaneously a best approximation to 8 . So we can assume
WROG that 0 < 8 < 1. If 0 < 8 ::; 1/2 then P1 = 0, q1 = 1 yields a best approximation to 8 for D = 1
and by Exercise 9.9 (ii) P2 = 1, q2 = l8- 1 J does the same for D = l8- 1 J. SO if we initialize

Po = 1 , qo = 0 , P1 = 0 , q1 = 1 , (9.73)

then formulas (9.70) and (9.72) produce precisely the respective best approximations to 8 for
n ::; 2, the inductive hypothesis applies and so we can continue to use the formulas until the
process stops, i.e . 8 = Pn+l /qn+1, if it stops at all. If 1/2 < 8 < 1 then the initialization (9.73)
produces P1 = 0, q1 = 1 which is, of course, not a best approximation to 8 > 1/2. Calculating
we get from (9.70) and (9.72) P2 = 1, q2 = 1 because a1 = 1, which gives a best approximation of
8 > 1/2 for D = 1. Carrying out one more step in the iterative application of (9.70) and (9.72)
with the initialization (9.73) we get a2 = ll~eJ, P3 = a2 and q3 = a2 + 1. By Exercise 9 .9 (iii) P3/q 3 is
a best approximation to 8 for all L < q < D = ll~eJ + 1. Now the inductive hypothesis applies to
P2, q2 and P3, q3, we ignore the first iteration and thus we can continue to use the formulas like
in the first case.
If the number 8 equals r]« with integers r,» >: 1 and g.c.d(r, s) = 1, then rls is itself a best
approximation to 8 for aliI ::; q < s, the qn are strictly increasing and thus qn = S, Pn = r at
some point and the process stops. If 8 is irrational then lim Pn = 8 because by (9.64) we have
n-t oo qn
18 - Pnlqnl < q;;2 and 1 = q1 ::; q2 < q3 < ... for any 0 < 8 < 1. With the initialization (9.73) it
follows from (9.65) and (9.67) that for all n ::::: a

(9.74)

Consider now the best approximation problem for 8 E lR relative to a prescribed integer
number D ~ 2: we wish tofind integer numbers P and 1 ::; q ::; D such that 18 - plql is as small as
possible.

Best Approximation Algorithm (8, D)


Step 0: Set ao := l 8 J, 8 := 8 - ao, Po := 1, qo := 0, P1 := 0, q1 := 1, n := 1.
Step 1: if qn 8 = Pn stop "Pnl qn is a best approximation".
18
'f qn
1 > D go to S tep 3 . S et an := llqn-
Iqn -_ Pn-1IJ
8
Pnl .
Step 2: Set Pn+1 := anPn + Pn-1, qn+1 := anqn + qn-1. Replace n + 1 by n, go to Step l.
Step 3: Set k := l D-qn-l
qn
J, P~ := Pn-1 + kPn, q~ := qn- 1 + kq.;
if /8 - Pnlqnl ::; 18 - p~ /q~1 stop "Pnlqn is a best approximation".
stop "p~1q~ is a best approximation".

Remark 9.15 (Correctness and finiteness) For rational 8 and integer D ::::: 2 the best approximation
algorithm's run time is polynomial in the digital size oj its input.
9.7. OPTIMIZATION AND SEPARATION 285

1 1
1
a1 + - - - - - -1= - -
a2+----

Fig. 9 .10. Continued f~actions for a rational number

To relate the preceding to the continued fraction process define

8n = \qn 8 - Pn \ for n 2: 1 ,
\qn-1 8 - Pn-1\

where we assume again like in the algorithm that the integer part of the original data has been
cleared away, i.e. 0 < 8 < 1. It follows from the initialization (9.73) that 8 1 = e and 0 S 8 n < 1
for n 2: 1 from (9.62) . From (9.71) we get

8;:;-1 = an + 8 nH for all n 2: 1 with 8 n > 0 . (9.75)

Now suppose that 8 is a rational number. Then by the above 8 = PN+!/QN+1, say, so that
8 N H = 0 and thus by (9.75) 8 N1 = aN. Consequently we can write 8 like in Figure 9 .10, which
explains the term "continued fraction." If 8 is irrational then 8 n > 0 for all n 2: 1 and the continued
fraction goes on "forever", which permits one to find high-precision rational approximations of
irrational numbers.
Rational rounding can e.g. be used in the context of establishing the polynomiality of li-
near programming via the combination of the binary search algorithm 2 and the basic ellipsoid
algorithm, see Chapter 9.3.1, to find the optimal objective function value z p exactly; see the text.

9.7 Optimization and Separation


Here the fundamental polynomial-time equivalence of optimization and separation for rational po-
lyhedra is established. It is shown that for any rational polyhedron P S;;; jRn the linear optimization
problem
max{ex : x E P}
can be solved in time th at is polynomial in n, the facet complexity ¢ of P and (e) if and only if
the separation problem (9.53) is solvable in time that is polynomial in n, ¢ and (x k ) .
The geometric idea of our construction is simple and illustrated in Figures 9.11 and 9.12
for a full dimensional polyhedron in jR2. In Figure 9 .11 we depict the situation when ex with
e = (-1 , -1) is maximized, while Figure 9 .12 illustrates the basic idea for finding direction vectors
in the asymptotic cone of a polyhedron. For any integer u 2: 1 denote

P; = P n {x E jRn : -u S Xj S u for 1 S j S n} . (9.76)


286 9. ELLIPSOID ALGORITHMS

p u<

p
2'"

u = 2'" Xl

Fig. 9.11. Locating the optimum and proving optimality

Its s-s olidlficatlon P~ with respect to the £1-norm is either empty or a full dimensional polytope
in IR n . To find direction vectors in the asymptotic cone we define
(9.77)
Setting u = 2A > 24n ¢ it follows from point 7.5(b) that all extreme points of P are properly
contained in Pu . Moreover, we get a sufficiently large portion of the "unbounded" region of P by
doubling this value of u which permits us to find direction vectors in the asymptotic cone of P by
solving two linear optimization problems rather than one.
At the outset the polyhedron P ~ IR n may be empty, it may have none or several optimal
extreme points or the objective function may be unbounded. To encompass all possibilities,
we perturb the .original objective function so as to achieve uniqueness of the maximizer over the
larger polytope Pu where u = 2A +1 • To locate the unique maximizer x m ax of the perturbed objective
function over Pu where u E {2A , 2A +1 } we let the algorithm run until x m ax is the only rational point
in the remaining s-opttmal set with components that have denominators qj 2:: 1 and qj :::; 26n ¢ . We
have illustrated the basic idea in the second part of Figure 9.11 which "zooms" into the area of the
first part depicted by a square and that contains x m ax . Running the algorithm "long enough" we
find an s-optimal rational vector x E P~ "close" to x m ax . Using the best approximation algorithm
of Chapter 9.6 we can round x componentwise to obtain x m ax , see Remark 9.16. If the maximizer
x m ax obtained this way satisfies Ix j axi < 2A for alII :::; j :::; n , then we are done and an optimal
extreme point of P for the original objective function has been located. If the maximizer x m ax
satisfies Ix jax I = 2A for some 1 :::; j :::; n, then either the linear optimization problem over P has
an unbounded objective function value or an optimal extreme point of P may still exist. In either
case, we execute the algorithm a second time to optimize the same perturbed objective function
over Pu where u = 2A +1 . We get a second, unique maximizer y m ax, say, over the larger polytope
and - since we have used identical objective functions - the difference vector y = y m ax - x m ax
belongs to the asymptotic cone of the polyhedron P. This will let us decide whether the objective
function is unbounded or bounded and in the latter case we find an optimizing point as well.
Exercise 9 .10 reviews the perturbation technique of Chapter 7.5.4 and summarizes part of what
we need to establish the validity of our construction. The last part of Exercise 9.10 shows in
particular that we can assume WROG that every nontrivial linear inequality hx :::; ho belonging to
a linear description of a rational polyhedron P of facet complexity ¢ satisfies Ilhll oo = 1.
9.7. OPTIMIZATION AND SEPARATION 287

y
2" +1 f-----''-.----~I

2" t-----=-~----'"

:!: 1

u = 2"

Fig. 9.12. Finding a direction vector in the asymptotic cone of P

9.7.1 s-Op rim al Sets and s-Op t im al Solutions


The following remark makes the first part of the construction precise and gives an analytical
meaning to the terms "s-optim al set" and "s-optlmal solution": the set Fe defined in (9.78) is an
s-optlm al set and any rational x E Fe is an e-opttm al solution to the linear optimization problem
over Pu .
Remark 9.16 LetP <;;:; IR n bearationalpolytopeoffacetcomplexity ¢ .Pu be as defined in (9.76) with
integer u 2': 24nq, and let P~ be the e-soiidificaiiot: of P; with respect to the e1-norm. Let x m ax E P;
be the unique maximizer of dx over Pu and zp = dai'"?", where d has rational components and
Ildll oo = 1. Define
Fe = P~ n {x E IR n : dx 2': zp - 1O} , (9.78)

where 0 < 10 ::::: 2- w and W = 9n¢ + 12n2 ¢ + (d). Then Fe is afull dimensional polytope. vol(Fe) 2':
2n 1On In! and every extreme point y E Fe satisfies IYj - xjax i < 2- 6n q,-1 for 1 ::::: j ::::: n. Moreover,
rounding any rational x E Fe componentwise by the best approximation algorithm with e = Xj and
D = 26n q, we obtain xjax and thus the maximizer x m ax in time polynomial in n , ¢ and (x) .

9.7.2 Finding Direction Vectors in the Asymptotic Cone


The following remark makes the second part of the construction precise; see also Exercise 9 .11 (0
below.

Remark 9.17 Let P <;;:; IR n be a rational polyhedron offacet complexity ¢. let v > u 2': 2A be any
integers where A is defined in (9.77). let Pv and Pu be defined as in (9.76) with respect to v and
u, respectively. and let Coo be the asymptotic cone of P . Then every extreme point X V E P; can
be written as X V = x + vt where x . t E IR n are rational vectors. t E Coo. (t) ::::: 4n 2¢ and moreover,
288 9. ELLIPSOID ALGORITHMS

XU = X + ut E Pu is an extreme point of Pu • Likewise, if XU E Pu is an extreme point of Pu and


XU = X + ui , say, then X V = XU + (v - u)t E Pv is an extreme point ofPv •

9.7.3 A CCS Ellipsoid Algorithm


The CCS ellipsoid algorithm is a central cut, sliding objective version of the basic ellipsoid algo-
rithm. It takes the number of variables n, a rational vector d with IIdll= = I, the facet complexity ¢
and P as input. "P" is an identifier of the polyhedron over which we optimize the linear function
da: and used to communicate with the separation subroutine SEPAR(x, h, h o, ¢, P). u specifies
the hypercube with which we intersect P; see (9.76). e, p and T are the parameters for the
s-s clidtflcation of P in the il-norm, the required precision for the approximate calculation in
terms of binary positions and the number of steps of the algorithm, respectively.
The subroutine SEPAR(x k , h , ho, ¢, P) of Step 1 returns a most violated separator, l.e., a so-
lution (h , ho) to (9.53). The normalization requirement IIhll= = 1 is no serious restriction at all;
see Exercise 9.10 (v) . It shows why we use the s-solidiflcatlon of P; or P in the il -norm: by
Exercise 9.7(vi) we get h T x::; ho + e Ilhll= = ho + e as the corresponding inequality for P~ or P ' if
h T x ::; h o for all x E P and (h, h o) was returned by the separation subroutine. So , we "perturb"
the feasible set like in Chapter 9.3 by adding a "small enough" e > 0 to the right-hand side h o
of every most violated separator (h , ho) that the separation subroutine returns. h is a column
vector and u j E IR n is the j-th unit vector.

CCS Ellipsoid Algorithm (n, d , ¢, P , u, e, p, T)


Step 0: Set k := 0, x O := 0, F o := nu1 n , ZL := -nulldll- I, Z := ZL .
Step 1: if Ixjl > u + e for some j E {I , .. . ,n } then
set h := u j if xj > 0, h := -u j otherwise.
else
call SEPAR(x k , h, h o, ¢, P) .
if h T x k ::; h o + c then
Set h := _dT • if dx k > z then set ill":= x k , z:= dx k •
endif
endif
Step 2: if k = T go to Step 3. Set

k+l k 1 F kFIh
x ~ x - -----==-
n+ 1 IIFIhll '
F ~ n + 1/12n F (I _ 1 - J(n - l) /(n + 1) (FTh)(h T F ))
Hl vn 2 - 1 k n hTPkPIh k k,

where ~ means that componentwise the round-off error is at most 2- p •


Replace k + 1 by k and go to Step 1.
Step 3: if z = ZL stop "zp = - 00 . P is empty."
Round ill" componentwise to the nearest rational x * such that each component of x *
has a positive denominator less than or equal to 26n </> . stop " x * is an optimal extreme
point of Pu . "
9.7. OPTIMIZATION AND SEPARATION 289

Remark 9.18 (Correctness and finiteness) Let P ~ lRn be a rational polyhedron ojjacet complexity
<jJ. Let d E lRn be a rational vector with Ildli oo = 1 such that max{ dx : x E Pu } has a unique maximizer
x m ax E P; with objective junction value Zp = dx m a x if P =I- 0, where Pu is defined in (9.76) and
u ~ 24n q, is any integer. if the subroutine SEPAR(xk , h , ho, <jJ, P) returns a most violated separator
ha: ::; hojor x k and P satisfying Ilhll oo = 1, then the CCS ellipsoid algorithm concludes correctly that
Pu = P = 0 or itfinds x m a x if it is executed with the parameters
n 2u n 2u
E =r W
, T = f6n21og-1 , p = 14+ n 2 + f15nlo g - l ,
c c
where W = 9n<jJ + 12n 2 <jJ + (d) .

9.7.4 Linear Optimization and Polyhedral Separation


For any polyhedron P ~ lRn with a linear description H x ::; h , say, we denote by
P oo = {y E lRn : Hy <0 , Ilyll oo < 1}
the intersection of the asymptotic cone Coo of P with the unit sphere in the £oo-n orm .
Linear optimization problem: Given a rational polyhedron P ~ lRn ojjacet complexity <jJ and
a rational vector e E lRn (i) conclude that P is empty or (ii) find x m ax E P with ex m ax ~ ex jor all
x E P or (iii) find t E P00 with et > 0 and et ~ ey jor all yEP00'
Polyhedral separation problem: Given a rational polyhedron P ~ jRn ojjacet complexity <jJ and
a rational vector z E lRn (i) conclude that z E P or (ii)find a most violated separatorjor z and P , Le.
find a rational vector (h , ho) E lRn +1 that solves the problem

max{hz - ho : (h , ho) ESP , Ilhll oo = 1} ,


where SP = {(h , ho) E lRn +1 : P ~ {x E lRn : ha: ::; ho}}.
Neither problem specifies the way in which the polyhedron P ~ R" is given : all we need is the
information that the polyhedron is a subset of R", that its facet complexity is at most <jJ and some
"iden tifier" for P that permits us to communicate to some subroutine for instance.
Remark 9.19 Let P ~lRn be any rational polyhedron ojjacet complexity <jJ . if there exists an
algorithm A, say, that solves the polyhedral separation problem in time that is bounded by a poly-
nomial in n, <jJ and (z), then the linear optimization problem can be solved in time that is bounded
by a polynomial inn, <jJ and (e).
To outline the proof that the statement of Remark 9 .19 can be reversed as well let
S = {xl, . . . , x P } and T = {yl , .. . , yT}
be any minimal generator of P and denote by X the n x p matrix with columns x i, by Y the n x r
matrix with columns y i. Either X or Y or both may be void . The set SP = {(h, ho) E lRn +1 : P ~
{x E lRn : ha: ::; ho}} of separators for P satisfies
SP = {(h , ho) E lRn +1 : hX - hog ::; 0 , hY ::; O} , (9.80)
where g E lRP is a row vector with p components equal to 1. It follows that S P is a polyhedral
cone in lRn+l of facet complexity at most <jJ * = 4n 2 <jJ + 3. Denote by
S Poo = {(h ,ho) E lRn +l : hX - hog ::; 0 , hY ::; 0 , -e ::; h ::; e} (9.81)
290 9. ELLIPSOID ALGORITHMS

the polyhedron in ~n+l over which we need to maximize hz - h o in order to find a most violated
separator for z and P, where e E ~n is a row vector with n components equal to 1. The polyhedron
SPoo contains the halfline defined by (0,1) E ~n if X is nonvoid, it contains the line defined by
(0, ±1) E ~n+l if and only if X is void and every nonzero extreme point (h, h o) of SPoo satisfies
Ilhll oo = 1. By Remark 9 .19 we can optimize the linear function hz - ho over SPoo in polynomial
time provided that the polyhedral separation problem for SPoo and any rational (I, fo) E ~n+l,
say, can be solved in time that is bounded by a polynomial in n, 1> and (f) + (fo ). So we need to
identify the set of separators for SP00 ' We will do so in two steps: first we identify the set SP * ,
say, of separators for SP .
Since SP is a polyhedral cone in ~n+l , its set Sl?: of separators is a subset of all halfspaces of
~n+l that contain the origin, I.e.

SP * = {(x , Xn+l) E ~n+l : SP ~ {(h ,ho) E ~n+l : hx - hO Xn+l ::::; on,


because SP contains the origin of ~n+l and with every nonzero point the cone SP contains the
entire halfline defined by it. It follows that

SP * {(x , x n+d E ~n+l : hx - hOxn+l ::::; a for all (h , ho) ESP}


{(x , Xn+l) E ~n+l : Hx - h Xn+l ::::; 0 , - Xn+l ::::; a} ,

where H x ::::; h is any linear description of the polyhedron P ~ R". The inequality x n +1 2: a follows
because SP contains the halfline noted above. If P -I 0 and X is void, I.e. if P contains lines,
then we must replace Xn+l 2: a by the equation xn+l = 0, because SP contains the line defined by
(0, ±1) E ~n+l in this case. So if P -10 and X is nonvoid, then the set sp* of separators for SP is
the homogenization of the polyhedron P - see (7.5). If P -10 and X is void, then the set Sl?: of
separators in question is simply the asymptotic cone of P - see (7.3) . Define
SP:XO = {(x , xn+d E ~n+ l : Hie - h Xn+l ::::; 0 , -e ::::; x ::::; e, 0 ::::; Xn+l::::; I} , (9.82)

where e E ~n has n components equal to 1. So the set SP:XO of all separators is a nonempty
polytope in ~n +l , every nonzero extreme point of which has an £00 -norm of 1.
Consider now (x O, X~+ l ) -I (x l, X~+l) E SP:XO with X~+ l > a and x~+l > O. Then (X~+ l x O, x~+l X~+ l )
E SP~ and (X~+lX\ X~+ l X~+l) E SP~ . If for some (I ,fo) E ~n+ l we have

f(x~+lxO) - fox~+l x~+l > f(X~+lX l) - fox~+l x~+l > 0 ,


then the point (x O, X~+ l ) is a "more violated" separator for (I , fo) and SP than (xl, X~+ l ) ' because
for all A 2: a (AX; +l x O, AX~+l X~+ l ) E SP *, (AX~+l xl, AX~+l x;+l ) E sp* and the previous inequalities
remain true for the entire open halfline, i.e. for all A > O.
Thus even if fx l - fox~+l > fx o - fo x~+l > 0, rather than fx o - fox~+l > fx l - fo x~+l'
for the "original" points (XO , X~+l)' (X l , X~+l) E SP:XO it can happen that (XO , X~+l) defines a more
violated separator. It follows that we have to scale the "homogenizing" components of two violated
separators (XO , x~+l) and (X\ X~+ l) with x~+l > a and X~+l > a to have equal values if we want to
decide which one of the two is more violated than the other; see also Exercise 9 .12 (iii) below.
Suppose that (I, fo) E ~n+ l is given, that P -I 0 and that algorithm B, say, solves the linear
optimization problem over P ~ ~n . We run the algorithm with the objective function vector c = f.
Assume that algorithm B finds x m a x E P with fx m a x 2: fx for all x E P . If fx m a x ::::; fo then
we conclude that (I, fo) E SP . Otherwise, fx m a x - fo > a and fx m a x - fo 2: fx - f o for all x E P.
9.7. OPfIMIZATION AND SEPARATION 291

Then
m ax
where a -I = x 1 ) 00 (9.83)
(

solves the polyhedral separation problem for (I, fo) and SP; see the text.
°
Suppose that algorithm B finds t E Poo with ft > and ft ::::: fy for all y E Poo . Then

x O-t
- , 0 -0
Xn+l- (9.84)

solves the polyhedral separation problem for (1,10) E R.n+1 and SP; see the text.
It follows that if P #- 0 we can solve the polyhedral separation problem for any rational (I, fo) E
R.n+l and the cone SP in time that is polynomially bounded in n, ¢ and (I) + (fo) by solving
max{fx : x E Pl. If we conclude that (I ,fo) E SP define (xO , x~+l) = (0,0); otherwise the most
violated separator (xO , x~+l) for (I ,fo) E R.n+1 and SP is given by (9.83) or (9.84), respectively.
It remains to show that we can solve the separation problem for (I, fo) E R.n+1 and SPoo'
The polyhedron S P00 differs from the cone S P by exactly 2n constraints of the form -1 ::; h j ::; 1
for all L < j ::; n, which we can check by LIST-and-CHECK in polynomial time. Given (xO ,x~+d
define
o
a = fx - fox~+I ' {3 = max {O, 1- Ii}, "{ = max {O, 1 + Ii} ,
I~J~ n I ~J ~ n

°
where Ii is the j -t h component of f E R.n . If max{a, {3,"{} = we conclude that (I, fo) E SPoo '
Otherwise, ifmax{a, {3, "{} = a then (XO , X~+I) is a most violated separator for (I,fo) and SPoo ' If
max{a, {3, "{} = {3 then (XO, X~+I) = (u k,l) E R.n+ 1 is a most violated separator for (I ,fo) and SPoo
where k E {I , .. . , n} is such that {3 = 1- ik. Likewise, ifmax{a, {3, "{} = "{ then (x O, X~+ I ) = (_uk, 1) E
R.n+1 is a most violated separator for (I, fo) and SPoo where k E {I , . . . ,n} is such that "( = 1 + ik.
The preceding combination of some algorithm B for the linear optimization problem and of
LIST-and-CHECK yields a separation routine SEPAR*(I,fo,xo, x~+I ' ¢ 'SPoo) that solves the po-
lyhedral separation problem for rational (I, fo) E R. n+1 and SPoo if the underlying polyhedron
P <;; IR n is nonempty. Moreover, if the running time for algorithm B is bounded by a polynomial
in n, ¢ and (c) . then the running time of SEPAR* is evidently bounded by a polynomial in n, ¢
and (I) + (fo).
To complete the outline of the proof that we can solve the problem

max{hz - ho : (h , ho) E SPool


for any rational z E IR n in polynomial time if a polynomial-time algorithm B for the linear
optimization problem is known, we proceed as follows.
We run the algorithm B a first time with the objective function c = O. If algorithm B concludes
that P = 0 then we declare hz = ZI > ho = Z I - 1 to be a solution to the polyhedral separation
problem. Since P is empty, any inequality that is violated by z is evidently a most violated
inequality for z and P.
So suppose that we conclude that P #- 0. Now the separation subroutine SEPAR* applies and
thus by Remark 9.19 we can solve the linear optimization problem

max{hz - ho : (h , ho) E SPool


in time that is polynomially bounded in n, ¢ and (z).
292 9. ELLIPSOID ALGORITHMS

If (h max, hoax) with h maxX - hoax 2:: hz - h o for all (h, h o) ESP00 is obtained, then we conclude
that z E P if h maxZ ::; ho ax and otherwise, a most violated separator for z and P has been obtained.
If a finite maximizer (h max, hoax) ESP00 does not exist, then the solution to the above linear
optimization problem provides a direction vector in the asymptotic cone of S P00 ' The polyhedron
SPoo contains the halfline defined by (0, 1) E ~n+l along which the objective function tends to - 00 .
Consequently, if the unbounded case arises, then SPoo contains the line defined by (0, ±1) E ~n+l
and the finite generator of P consists only of halflines, Le. the matrix X in the definition of SP00
is void.
So we solve the linear optimization problem

max{hz - h o : (h , h o) E SPoo, ho = O}

using the separation subroutine SEPAR*, Le. we iterate the whole procedure a second time.
Now the unbounded case cannot arise and we find a new (h max , 0) E ~n+l with /Ih m a x lloo = 1 such
that h maxz 2:: hz for all (h ,O) E SPoo' If h maxz ::; 0 then we conclude that z E P , whereas otherwise
(hm ax,O) is a most violated separator for z and P since every separator (h , h o) for P satisfies h o = 0
in this case.
The concatenation of polynomials in some variables yields a polynomial in the same variables.
Thus the entire procedure can be executed in time that is bounded by some polynomial in n , ¢
and (z).

Remark 9.20 For any rational polyhedron P ~ ~n and n 2:: 2 the linear optimization problem and
the polyhedral separation problem are polynomial-time equivalent problems.
So if either one of the two problems above is solvable in polynomial time, then so is the other.
From a theoretical point of view we may thus concentrate on anyone of the two problems to study
the algorithmic "tractability" of linear optimization problems over rational polyhedra P in ~n .
Remark 9.19 has several important implications which we do not prove in detail. Among these
are that if either problem is polynomially solvable for some rational polyhedron P ~ ~n , then we
can find
• the dimension dimP oj P,
• a linear description oj the affine hull af f(P) oj P,
• a linear description oj the lineality space L p ojP,
• extreme points and extreme rays ojP if there are any,
• jacet-defining linear inequalitiesjor P , etc
in polynomial time. The latter is of particular importance for the branch-and-cut approach to
combinatorial optimization problems which rely on finding (parts of) ideal descriptions of the
corresponding polyhedra.
9.8. EXERCISES 293

9.8 Exercises

Exercise 9.1
Sho w thatjor n = 1 the ellipsoids E k are intervals and that the updatingjormulas (9.1) and (9.2)
become x k+1 = x k - ~Fk sign(a), Fk+l = ~ Fk jor k ~ 0 where ax ~ b is any inequality that is violated
by x k and sign(a) = 1 if a ~ 0, -1 otherwise. (Hint: Note that ddT = 1, I n = 1 and thus the terms
n - 1 concel.l

The inequality 11F- 1(x - xO )11 ~ 1 in one dimension becomes Ix - xOI ~ IFI, since x, XO and F are
scalars. WROG we assume that F is positive. Then the inequality corresponds to the interval
[XO- F , XO+ Fl. Let ax S; b be a violated inequality by xO. We can assume that a = ±1 (the case a = 0
is meaningless), since every inequality can be brought in that form. Then the vector d becomes
a scalar F a/IF al, i.e. d = sign(a) = ± 1. Thus the updating formula for the center is given by
1 .
x k+l = x k - -2 Fkslgn(a) .

Note that ddT becomes d2 = 1 and I n becomes h = 1. Then we calculate from the updating
formula -for F

Fk+1 = {;l;
- 2--
2
n - 1
Fk ( 1 - 1+ /8-
- -1) =
n+ 1

Exercise 9.2
Let F , R be two m x n matrices oj reals.

(i) Show IIFII = 0 if and only if F = 0, IlaF11 = lalllFll jor all a E JR, IIF + RII ~ IIFII + IIRII·
T
(ii) Show II/nil = ..fii and IIFI1 2 = t r ace(FF ) .

(iii) 1F112. (Hint: Use trace(F T F ) = 2: Ai')


Show 11F112S; IIFII ~ ..fii1

(iv) For F as bejore, R oj size n x p, r E JRn and a E JR show

(i) We have IIFII = J2:~l 2:7=1U})2 = 0, which is equivalent to I} = 0 for all 1 S; i ~ m and
1 S; j ~ n. Thus F = 0.
294 9. ELLIPSOID ALGORITHMS

To prove that IlaF11 = lalllFll we calculate


m n m n

lI aFII= L2)afj)2= a2L L U])2= lalllFll


i =l j =l i= l j = l

To prove that IIF + RII :::; IIFI! + IIRII we prove the equivalent inequality (since both parts are
nonnegative) IIF + RII 2:::; (IIFII + IIR11)2. We calcu late
m n m n m n
II F + R I12 = LLUj)2+ LL(rj)2+ 2L L fjrj
i= l j=l i= l j=l i = l j=l

m n m n m n m n
(IIFII + IIRI1)2 = L LUj)2+ L L (rj)2+ 2 (L L Uj)2) (2: L (rj)2)
i=l j=l i= l j =l i= l j=l i= l j= l

and thus the inequality to prove becomes

m n m n m n

LLfjrj :::; L L U])2 L L (rj)2


i= l j =l i= l j = l i = l j= l

which follows from the Cauchy-Schwarz inequality.


(ii) The first part follows directly from the definition of the Frobenius norm:

where 61 = 1, 6j = O. To prove the second part, let G = F F T. Then gt = 'L,'j=1U;)2. Now we have
m m n
trace(F F T ) = L, gt = L,L,Uj)2= 11F11 2 .
k= l k = l j=l

(iii) The matrix F TF is symmetric. Thus trace(F TF) = 'L,~=1 Ai where Ai are the eigenvalu es of
F T P. Since p T F is also positive semi-definite we have Ai :2: 0 for all L < i :::; n. Let A = max{>.i :
1 :::; i :::; n}. Then we cal cu late

~
IIFII, VA 0: ~ t, Ai ~ IIFII
where we have used the second part of (ii) for the last equality. Moreover,

IIFII ~ ~ t, Ai OS; ,InA ~ JiiIIFIl .


9 .8. EXERCISES 295

(iv) From the Cauchy-Schwarz inequality we have (f ir j )2 ~ IIt11 211r j1l2. where t is the i-th row
of F and rj the j-th column of R. Summing over j first and over i next. we get
m p m p

LL(fjrj )2 ~ L Ilfil1 2L IIrjl12


i =lj =1 i=1 j=1

W hiIC h . g
usm s'r j = "L. nk=1 f krj
i gives k •

Using the definition of th e Frobenius norm we get IIFRII 2 ~ 1IFI1 211RI12 which proves IIFRII ~
IIFIIIIRII. since 11·11 2': O. To prove the second relation. we calculate
IIP(I n - Qr r T )112 = trace(F (I n Qr rT )(I n - Qr rT )F T ) = trace((F - QP r rT )(F T - Qr r T p T))
-

= trace(FF T - QF r r T F - QF r r T F T + Q2 Frr T r r T F T)
= trace(Fp T ) - 2QIIFrl12+ Q2 1 1r l1211Fr l12 = 11F11 2- Q(2- Qllr ll2)IIPr l12 .

Exercise 9.3
Let Q = ppT and Q p = PpF~ where

Show that

For Q p we calculate using (9.13)

n_ 1 ~ ~
2
Q p =FpFTp= n F ( In - ( 1-Y;-+lddT ) ) ( I n - ( 1-Y;-+lddT) ) F T

= ~ 2
n - 1
[FFT _ 2 (1_)n-1) PddTpT + (1_)n_1
n+1 n+ 1
)2 FddTddTPT]
296 9 . ELLIPSOID ALGORITHMS

or factoring out the scalar d T d = IIdll 2 = 1 from the last term


2
=-2
n- [Q- ( 2 -2 ~-1 n --1 + 2 ~-1)
- - -1- - - - FddTF T]
n - 1 n+ 1 n+ 1 n+1

and since FddTF = ~~~~ because d = F Ta /IIF T all and IIdli =1


2 TQ)
n Q ( I --
- -2- 2 - aa -
- n - 1 n n + 1 aTQa .

For Qpl we calculate using the formula (9.22) for F p1

Qpl ~ (F pYF pl ~ n,;; l(r f l


(In- (1- J:::ddT)) (In- (1- J::: ddT)) r :'
~ n2n~ 1[(ryr l
- 2(1- J:::) (F-YddTr ' + (1- J::: r T
(F - Ydd ddTr
l]

or factoring out the scalar d T d = IIdl1 2 = 1 from the last term

where we have used IIdli = 1 and dT F- 1 = aT/liFTall which follows from the definition of d ; see
(9.12).

Exercise 9.4
Let Q k = F kF[ be the positive definite matrix that defines the ellipsoid E k. Denote by >'~in
the smallest and by >'~ax the largest eigenva lue OjQk' Prove that >'~in :S R22- k/ 2n2 and >'~ax :2
R22- 2k/n2jor all k ojthe basic ellipsoid algorithm (Hint: Use (9.35).)

Since Q k is positive definite and nonsingular we have >'~in > O. From Q k = F kF[ we have that
the eigenvalues of F k are IM il = A and thus IdetFI = TI~= l A. It follows that
(>'~int/2 :S IdetFI :S (>'~ax)n /2 .

From (9.35) we have


9.8. EXERCISES 297

and similarly

Exercise 9.5
(i) Write a computer program ofthe DeS ellipsoid algorithm in a computer language ofyour choice
for the linear programming problem (LP).

(ii) Solve the problems ofExercises 5.1, 5.9 and 8.2(ii) using your computer program

(i) The following listing is an implementation of the algorithm in MATLAB. The required input is
as in the simplex algorithm; see Exercise 5.2.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This is the implementation of the Des Ellipsoid algorithm
%% as found on pages 309-310 .
%%
%% NAME dcsel
%% PURPOSE: Solve the LP : max {cx : a-x <= b, x >=O}
%% INPUT The matrix a-and the vectors c and b .
%% OUTPUT : z the optimal value
%% x : the optimal solution
%% k : the number of iterations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%

[m, n] =size (A) i


A = [Ai-eye(n)] i
b = [b zeros(l,n)] i
[m,n]=size(A) i
zl=-10000i
zu=10000i
eps=10" (-9) i
R=500i
Vf=10" (-6) i

RO=sqrt(n)*(1+R/2) i
veps=eps*ones(m,l) i
z=zl+li
ZO=Zi
x = (R/2)*ones(n,1) i
H=RO*eye(n) i
298 9 . ELLIPSOID ALGORITHMS

k=O;
fO=(1+1/n)A(-(n+l)/2) * (1 -1/n)A(-(n -l)/2);
V=ROAn * pi A(n/2) / gamma(1+n/2)j

while (1<2)
slack=b'+veps- A*x j
[mxv,j]=min(slack) ;
i f (mxv >= 0)
xstar=x+H*H'*c'/norm(c*H) ;
help=A*(xstar-x) ;
if (all(help <= 0)), error('Unbounded'), end;
lambda=10000;
for i=l :m,
if (help(i) > 0)
if (slack(i) /help(i) <= lambda)
lambda=slack(i)/help(i) ;
end;
end;
end;
if (lambda >= 1), error('Unbounded'), end;
if (c*(x+lambda*(xstar -x)) > z)
xbar=x+lambda*(xstar-x) ;
z=c*xbar;
end;
end;
if ((c*x > Z & zO > z Ls L) I (rnxv <0 & zO-z > mxv))
theta=b(j)+eps;
alpha=(A(j , :)*x-theta)/norm(A(j, :)*H);
r=A(j, . ) , ;
else
alpha=(z-c*x)/norm(c*H);
r=-c ' ;
zO=z;
end;
if ((alpha >=1 I V < Vf) & (z < zu & z > zl))
fprintf('Optimal solution found in %d iterations, Vol= %8.4f\n' ,k -l,V);
fprintf('%8.4f' ,xbar);
fprintf('\nz=%8 .4f\n' ,z)j
returnj
elseif (z <= zl)
fprintf('Infeasible') ;
returnj
elseif (z >= zu)
fprintf('Unbounded') ;
returnj
endj
9.8. EXERCISES 299

xold=x;
x=x-(l+n*alpha)*H*H'*r/((n+l)*norm(H'*r)) ;
quanl=sqrt(((n-l)*(l-alpha))/((n+l)*(l+alpha))) ;
quan2=n*sqrt((1-alpha A2)/(nA2-1)) ;
H=quan2*H*(eye(n)-(1-quanl)*H'*r*r'*H/norm(H'*r)A 2) ;
V=(1-alpha)*fO*V*(1-alpha A2)A((n-l)/2) ;
fprintf('%10.5f ' ,x);
fprintf(' cX=%10.5f, z=%10.5f\n' ,c*x,z);
zl=c*(x-xold) ;
helpl=A*(x-xold);
if (all(helpl < 0) & zl > 0), error('Unbounded'), end;
slackl=b'+veps-A*xold;
mumax=-lOOOO;
mumin=lOOOO;
substep=l;
for i=l:m,
i f (helpl (i) > 0 )
if (slackl(i)/helpl(i) <=mumin)
mumin=s lackl(i)/helpl(i) ;
end;
elseif (helpl(i) < 0)
if (slackl(i)/helpl(i) >= mumax)
mumax=slackl(i)/helpl(i) ;
end;
else
i f (slack (i) < 0)
substep=O;
end;
end;
end;
if (mumin < mumax & substep > 0)
substep=O;
end;
if (substep > 0 )
i f (zl < 0)
mubar=mumax;
else
mubar=mumin;
end;
if (c*xold+mubar*zl > z)
xbar=xold+mubar*(x-xold) ;
z=c*xbar;
end;
end;
k=k+l;
end;
300 9. ELLIPSOID ALGORITHMS

(ii) For the data of Exercise 5.1 we get

» elear
» psdat
» desel
- 4 . 03 13 4 165 .32 289 -88 .70846 80 .64577 ex= 294.36367, z=-9999.00000
-10.02109 30.06256 -30 .06291 10 .02074 ex= -30.06467, z=-9999 .00000
-52 .62810 42 .08574 12.86073 -5.27118 ex= 61. 90156, z= -9999.00000
9 .55652 35 .42522 -3.34090 -46 .70324 ex= 18 .61864, z=-9999.00000
3 .54364 - 1 . 94 82 3 -14 .64155 9.78702 ex= -37.74956, z=-9999.00000
- 3. 8 3 2 3 5 -9.72340 3 .63685 4.58637 ex= - 13 . 114 76 , z=-9999 .00000
-8.02842 7.99811 2.99137 -2 .24117 ex= 15 .42061, z= -9999.00000
3 .97518 4 .26213 1. 43981 -7 .85914 ex= 10 .77769 , z=-9999.00000
2 .39358 -1.88535 -0 .05693 4 .51311 ex= 7.92960, z=-9999 .00000
2 .06213 2 .37324 0 .89350 4.29667 ex= 23 .41133, Z= 8.96852
-0.41061 5.66114 -1.79996 2.86110 ex= 14 .68454, z= 8.96852
-2.33922 3 .31667 2.20371 1. 33717 ex= 16 .76076, z= 8.96852
2.51569 1.14168 1. 38714 -0.54868 ex= 12 .90763, Z= 8.96852
2.19221 5.93326 1.48589 -1 .14267 ex= 25 .84241, z= 14.90422
.. .. . . .... ..... ..... .. .... ... .... . . . . . ........ . . . .. .. .. . .. .. .. . . . ... ...
0.00350 9 .34385 0.65380 0.00101 ex= 30 .65576, z= 30 .64666
0.00065 9.33560 0 .66299 - 0 . 0 03 1 9 ex= 30.65366, Z= 30 .64666
-0 .00233 9.32698 0.66508 0 .00744 ex= 30 .65146, Z= 30.64666
0.00564 9 .32288 0.66461 0.00532 ex= 30 .64897 , Z= 30.64666
0.00410 9 .33853 0.65410 0.00306 ex= 30.64632, z= 30.65073
0.00258 9.34019 0 .65755 0.00082 ex= 30.65757 , z= 30.65073
0 .00066 9 .33448 0.66385 -0 .00201 ex= 30 .65616, Z= 30 .65073
Optimal solution found in 119 iterations, Vol= 0 .0000
0.0021 9 .3386 0.6593 0.0000
z= 30 .6572
»

For Exercise 5.9 with n = 3, a = b = 2 and c = 5, we get


» elear
» psdat
» desel
-85.49883 82.25058 208 .06265 ex= 30 .56848, z=-9999.00000
11.12853 -64.29617 171 .42596 ex= 87 .34772, z=-9999 .00000
1. 20391 12.52250 126.74039 ex= 156 .60104, z=-9999.00000
- 1 0 . 3974 0 2 .76268 74 .50551 ex= 38.44128, z=-9999.00000
1. 90067 -6.57926 24 .50713 ex= 18 .95129, z=-9999 .00000
1 .38161 3.95126 -6 .60592 ex= 6 .82304, z=-9999.00000
0.58555 2 .21549 17.22113 ex= 23.99432, z=-9999.00000
-0 .03957 0 .85243 9.95152 ex= 11.49810, z=-9999.00000
-0.53385 -0.22534 29.23529 ex= 26.64921, z= 19 .92770
1. 33403 -1.70743 24.00886 ex= 25 .93012, z= 19 .92770
9.8 . EXERCISES 301

0.98365 - 3 . 93 03 9 26.10890 ex= 22.18273, z= 19.92770


0.15010 1. 90863 13.56085 ex= 17.97850, z= 19.92770
-0.29774 1.49264 22.51259 ex= 24.30692, z= 20.09956
-0 .92891 0.90634 24.64934 ex= 22.74638, z= 20 .09956
0.71750 -0.20129 18 .03809 ex= 20.50551, z= 20.09956
0.55850 -0.93332 23 .94083 ex= 24.30821, z= 21.48207
0.29328 1. 24644 19.78129 ex= 23.44728, z= 21 .48207

-0 .00120 -0 .00039 25 .00568 ex= 25 .00008, z= 24.99545


0.00141 -0.00352 25.00029 ex= 24 .99888, z= 24.99545
0.00057 0.00211 24 .99013 ex= 24.99661, z= 24 .99545
-0.00020 0.00127 24 .99280 ex= 24 .99452, z= 24 .99545
Optimal solution found in 68 iterations, Vol= 0.0000
0.0002 0 .0017 24 .9913
z= 24.9957
»

For the data of Exercise 8.2(ii) we get


» elear
» psdat
» desel
194.74376 - 2 6 . 2812 0 ex= 26.28120, z= -9999 .00000
-0 .42637 25.28755 ex= -25 .28755, z=-9999 .00000
-20 .12962 -1.44852 ex= 1. 44852, z= - 14 . 24 4 7 0
34.80955 1 .12224 ex= -1.12224, z= -14.24470
11 .15640 9 .73883 ex= -9.73883, Z= 0 .00000
-8.55908 -8 .48696 ex= 8 .48696, z= 0.00000
14.71900 -5.87632 ex= 5.87632, Z= 0.00000
6.88480 - 1 . 3 97 0 0 ex= 1.39700, z= 0.00000
14 .14111 5 .56176 ex= -5.56176, z= 0 .00000
6.40835 -1 .85392 ex= 1. 85392, z= 0.00000
8.98593 0 .61797 ex= -0 .61797, z = 0.00000
8 .12674 -0.20599 ex= 0.20599, Z= 0.00000
8 .41314 0 .06866 ex= -0.06866, Z= 0.00000
8 .31767 -0 .02289 ex= 0.02289, Z= 0.00000
8 .34949 0 .00763 ex= -0.00763, z= 0.00000
8.33889 -0.00254 ex= 0 .00254 , z= 0.00000
8.34242 0.00085 ex= -0 .00085, z= 0 .00000
8.34124 -0.00028 ex= 0.00028, z= 0 .00000
8 .34164 0.00009 ex= -0.00009, z= 0 .00000
8 .34151 -0.00003 ex= 0 .00003, z= 0.00000
8 .34155 0.00001 ex= -0 .00001, Z= 0 .00000
8.34153 -0.00000 ex= 0 .00000, z= 0.00000
8.34154 0.00000 ex= -0.00000, z= 0.00000
8 .34154 -0.00000 ex= 0 .00000, z= 0 .00000
8 .34154 0.00000 ex= -0.00000, z= 0 .00000
302 9 . ELLIPSOID ALGORITHMS

8.34154 -0.00000 ex= 0.00000, Z= 0.00000


8 .34154 0.00000 ex= -0.00000, Z= 0.00000
8.34154 -0.00000 ex= 0.00000, Z= 0.00000
Optimal solution found in 27 iterations, vol= 0 .0000
10.8264 -0.0000
z= 0 .0000
»

Exercise 9.6
(i) Let H k+1 be as defined in (9.45), i.e.,

Like we proved (9.20) show that

1)- 1)- 2
(1 + ;,
nil ( n ;- l n- l
detH H I = 1 - ;, (1 - Uk) 2 (1 - Uk) detHk .

(ii) Define G » = H kHk and show using (9.45) that

G-k+1 -
2
n (1- u%)
n2 _ 1 k
G(I _ 2(1+ +
n (n
nUk) rrTGk)
1) (1 + Uk) - rc« '
2 T)
G- 1 = n - 1 (G - 1 + 2(1 + nUk) rr
k+1 2
n (1 - uV k (n - 1)(1 -
Uk) r TGkr .

(iii) Show I'(I + n /2) = (n /2)!for all even n ;::: 1, I'(I + n /2) = l~(;n for all odd n ;::: 1.

(n - 1)(1 - Uk)
(i) Letting U = 1- ( )( ) the proof of (9.20) applies unchanged since a :S Uk < 1. Thus
n + 1 1 + Uk
replacing F p by H k+ 1 , F by Hi; and d by Hk r / IIHk rll, since IIdll = 1 we get

To bring this to the required form we have

(n -1)(1 - Uk)
(n + 1) (1 + Uk)
(n - l )n (1 - Uk)2 =
(n + l )n(1 - u~ )
(1 _~) (1 + ~)
n .
1/ 2
n
-1 / 2 (1 _ Uk)( l _ (2)- 1/2
k
9.8. EXERCISES 303

and
-
n 2
- (1 -
n2 - 1
2
O:k) = -n- -n- (1 -
n +1n - 1
2
O:k)
( n )-1(1 - -n1 )-1(1-
= 1 + -1 2
O:k) .

Thus after grouping of terms we get

det H k+1 = ( 1 + :;
1) - ~ (1 - :;1) _n;1(1 - 2 n-l(1 - O:k)det H k .
O:k) - 2 -

and factoring out the term r T H kH[ r = IIH[r l1 2 from the numerator of the last fraction

For the inverse Gk~ l we have

G- 1 _
2
n - 1
k+1 - n 2(1 - o:~)
(I _ n
T
2(1 + n O:k ) rr G k) - 1 G - 1
(n + 1)(1 + O:k) r TG kr u >

Using Exercise 4 .1 (ii) with u = - ( )2((1 + nO:)(k)T G ) r and v = G kr we calcu late v T u -I - 1


n +1 1 + O:k r kr
because O:k -1 1 and thus
2(1 + nO:k) r r T G k) - 1 _ I 1 2(1 + nO:k) r r T G k
( I n - (n + 1)(1 + O:k) r TGkr - n+ 2(1 + nO:k) r TG kr (n + 1)(1 + O:k) r TG kr
1- -;----'-----:-~-'---:-. --;:;:;:--=--
+ 1)(1 + O:k) r TG kr
(n
2(1 + nO:k) rrTG k
= In + T
n + nO:k + 1 + O:k - 2 - 2n O:k r G kr
= In+ 2(1 + nO:k) rrTG k .
(n - 1)(1- O:k) r TG kr
304 9 . ELLIPSOID ALGORITHMS

It follows that

(iii) For n > 1 and even, i.e. n = 2k with k 2:: 1 is integer we have

rn + n /2) = I'(I + k) = kr(k) = k! = (~)!


where we have used elementary properties of the gamma function; see Chapter 7.7. For n 2:: 1
and odd, t.e, n = 2k + 1 where k 2:: a is integer we have

r (2k ; 1) =r (2k ; 1 + 1) = 2k; 1 r (2k ; 1) ,

where the last equality follows from the fact that 2k - 1 is even. Thus we get

r (1+ 2n) =r (2k


-2 +-3) = 2k+l
1r (1
2)g(2£+1) . k

Using the identity g (2£ + 1) =


(2k + 1)!
k!2k and that
( n)
r(1) = ..fir we get r 1 + 2 = LiJ!2n Vir .
n!

Exercise 9.7
Let P ~ jRn be a polyhedron and define Pcoo = {z E jRn : 3x E P such that IIx - zll oo :S c}.
(i) Show that Pcoo is a polyhedron in jRn and that P i 0 implies dimP;" = n for e > O.

(ii) Show that if z E P;" is an extreme point then there exists an extreme point x E P such that
Z i - Xi = ± cJor all 1 :S i :S n.

(iii) Let y E jRn. Show that x + (y) E PcOQ for some x E PcOQ if and only if the re exists E P such that x
x + (y) E P . Show that the asymptotic cone C oo oj P is the asymptotic cone oj P;" .
(iv) Show that Pcoo has at most p2n extreme points where p is the number oj extreme points ojP .

(v) Suppose that the facet complexity oj P is ¢ and its vertex complexity is u, Show that for
rational E 2:: a the polyhedron PcOQ has a vertex complexity oJ2v + 2n{c) and a.facet complexity
oJ 3¢ + 2{c).

(vi) Define pi by
pI = {z E jRn : 3x E P such that Ilx - zlll :S s} .
Show that P el is a polyhedron, hx :S ho + e IIhll oo for all x E pi if hx :S ho for all x E P and
hx :S ho - c Ilhll oo for all x E P if hx :S ho for all x E P el . (Hint: Use that 2:/;=1
IXj I :S e if and
n
only ifL,7=1 Oj Xj :S efor the 2 vectors (01, . . . ,On) with OJ E {+ 1, -1} for all 1 :S j :S n.)
9.8. EXERCISES 305

(vii) Show that if z E pI is an extreme point then z = x ± cui where x E P is an extreme point of P
and u i E JRn is the i -th unit vectorfor some 1 :::; i :::; n . Show that pI has at most 2np extreme
points if P has p extreme points.

(iix) Suppose P has afacet complexity of ¢ and a vertex complexity of v, Show that pI has vertex
complexity of2v + 2(c) and a jacet complexity of 3¢ + 2(c).

(ix) Prove that


2n cn cn1r n / 2
if P =J 0 then vol(P; ) 2: -,- > r( / ) for all e > 0 .
n. n" 1 +n 2
(Hint: Use that PI ;:;? x + {z E IR n
: Ilzlh :::; 1} and pI ;:;? B(x, r = c/n) for every x E P.)

(x) Show that Remark 9.13 remains correct ifwe replace the f l -nor m by the f oo -nor m.

(i) Let S = {x l, ... , x P } , T = {r l, . . . , r t } be any finite generator of P. Then every x E P can be


written as x = XJL + Ru where X = (Xl . . . x P ) is an n x p matrix, R = (r l ... r t ) an n x t matrix,
JL 2: 0 , IJL = 1, v 2: 0 and I = (1, . .. , 1) E IRP. If P is pointed, then Xl , . . . , x P are the extreme points
and r l, ... , r t are the direction vectors of the extreme rays of P. Let e T = (1, ... , 1) E IRn . Then
Pc;oo is the image of the polyhedron

P P, = {( z, JL , v ) E IRn+P+t : - c e :::; X JL + Rv - z :::; e e , I JL =1, JL 2: 0 , u 2: O}

under the linear transformation with the matrix L = (I n O; a t ), i.e. P~ is the image of PPc; when
we project out the variables JL and u, By point 7.3(g) it follows that P~ is a polyhedron. To prove
the dimension of Pc;oo, suppose that P =J 0 and let x E P. Then the points x, X + C u l , . .. , x + cu n are
n + 1 affinely independent points in P~ where u i is the i-th unit vector in IR n . Thus dimP~ = n .
(ii) Let z E Pc;oo and x E P be such that zi - X i = ± c for all L < i :S n and suppose that z is an extreme
point of P~ but x is not an extreme point of P. It follows that x = f.LX l + (1 - f.L )x 2 where 0 < f.L < 1,
x l , x 2 E P and Xl =J x 2, Xl =J x =J x 2. We then get z = x ± e e = f.Lx l + (1 - f.L )x 2 ± (f.L + 1 - f.L )c e =
f.L(x l ± s e) + (1 - f.L) (x 2 ± s e}. From the definition of P, it follows that zl = x l ± s e E Pc;oo and
z 2 = x 2 ± e e E Pc;oo. Moreover, Zl =J Z2 and thus z = f.LZl + (1 - f.L)z2 with 0 < f.L < 1 contradicts the
assumption that z is an extr em e point of Pc;oo .
(iii) From Remark 9.12 (ii) we have that the asymptotic con es of P and P~ are the same, since
every valid inequality ha: :S h o for one of the polyhedra gives rise to a valid inequality of the form
ha: :S h~ for the other and vice versa. An inequality is valid for P, if it is satisfied by every x E P.
To prove the first part suppose that (y) E Pc;oo is a haltline of Pc;oo, I.e. hy :S 0 for all h such that
h a: :S ho is valid for Pc;oo. By part (ii) of Remark 9 .12 we have that ha: :S h o - e Ilhlh is valid for P for
all such h . Suppose that (y) is not a haltline of P , t.e ., there exists a valid inequality h a: :S h o for
Pc;oo such that for some x E P there exists a > 0 such that h (x + a y) > h o - e IIhll l . Then a h y > 0
for some a > 0, i.e., hy > 0 which contradicts the assumption that (y) is a haltline of Pc;oo. On
the other hand, suppose that (y) is a halfline of P. Then hy :S 0 for all h such that ha: :::; h o is
valid for P. By point (ii) of Remark 9.12 we have that h a: :::; ho + e IIhlll for all x E pI for all such
(h, ho). Suppose that (y) is not a haltline of P~ ' Then there exists a valid inequality ha: :S ho for
P such that for some x E Pc;oo there exists a > 0 such that h (x + a y) > ho + c IIhlh. Consequently
306 9. ELLIPSOID ALGORITHMS

we have ho ::; h o + e Il hll l < h (x + a:y) ::; h o + a:h y , i.e. a:h y > 0 for some a: > 0 which contradicts
the assumption that (y ) is a halfline of P.
(iv) From part (ii) we have that for each extreme point x of P there exists an extreme point z of
Pcoo such that Zi = Xi ± e, for 1 ::; i ::; n. That is each component of x can be either increased or
decreased by c. So for each extreme point of P there are at most 2n different points Z that can be
constructed as above. Thus if P has p extreme points, then P~ has at most p2n extreme points.
(v) From Remark 9.12 [li] we have that hz ::; h o + e is a valid inequality for P~ if hx ::; h o is valid
for P. Thus for the facet complexity of Pcoo we calculate

(h) + (ho+c II hll l ) = (h)+2(ho)+2c+2(llhll l) ::; 3(h )+2 (h o)+2( c)+ 2(1- n ) ::; 3((h )+ (ho))+ 2(c) ::; 3if>+2(c)

where we have used (ll h ll l ) ::; (h ) - n + 1; see Chapter 7.5. For the vertex complexity, from part
(ii) of this exercise we have that if z is an extreme point of P~ then z; = Xi ± e for 1 ::; i ::; n where
x is an extreme point of P. We calculate
n n n n
(z ) = L (Zi ) = L (Xi ± c) ::; 2L ((Xi ) + (c)) ::; 2L (Xi ) + 2n(c) = 2(x ) + 2n(c) ::; 2v + 2n(c) .
i=l i=l i=l i=l

(vi) Let A = (<<5 k)%


: 1be the matrix with rows the 2n vectors with components ±l. The constraint
Ilx - zlh ::; e is written as Ilx - zlll = L:~=l IXi - zi l ::; c and it is equivalent to the constraints
A (x - z) ::; s e; see also Exercise 2.2(ii). So we have that

P; = {z E JRn : 3x E P with A (x - z) ::; c e} .

Since P is a polyhedron, let like in part (i) X, R be the matrices corresponding to a finite generator
of P. Then
x = X /L + Rv where /L ~ 0 , ! /L = 1 , v ~ 0
and! = (1, .. . , 1)T E JRP. PI is the image of the polyhedron

PPI= {(z ,/L,v)E JR n +p+t:A(X/L +Rv -z ) ::; ce , !/L=1 , /L ~O , v ~O}

under the linear transformation L = (In O, a t) where O, is n x p and O, is n x t, Le. when we


project out /L and t/, It follows by point 7.3(g) that pI is a polyhedron.
Suppose now that z E pI. Then there exists x E P such that L:~=llxi - zi l ::; c. We calculate
hz - ha: = h (x - z ) ::; L:~= l Ihillzi - Xii ::; L:~=l II hlloo lZi - xii ::; e Ilhll oo . Since for every x E P we have
hx ::; h o it follows that hz ::; ho + e II hlloo for all z E pI. On the other hand, suppose that hz ::; h o
for all z E pI but there exists x E P such that hx > h o - e II hll oo . Let z be such that Zi = Xi for all
i # k and Zk = Xk + e if hk ~ 0, Zk = Xk - e if h k < 0, where 1 ::; k ::; n is such that Ihkl = Il h ll oo and
1 ::; i ::; n . Thus if hk ~ 0 we have

hz = hx + hkc = hx + e IIh ll oo > ho - e II hll oo + e II hll oo = ho


and if b « < 0 that
9.8. EXERCISES 307

Le., hz > ho for some z E P which is a contradiction.


(vii) Suppose that z = x ± cUi is an extreme point of pI but x E P is not an extreme point of P.
Then there exist 0 < f-l < 1 and xl =1= x =1= x 2 =1= x l such that x = f-lX 1 + (1 - f-l)x 2. But then we have
z = x ± cUi = f-lX 1 + (1 - f-l)x 2 ± cui = f-lX 1 + (1 - f-l)x 2 ± f-le u i ± (1 - f-l) e u i
= f-l(x 1 ± cui) + (1- f-l)(x 2 ± c ui ) = f-lZ1 + (1- f-l)z 2
where zk = x k ± cui for k = 1,2. From the definition of pI it follows that Zl , z2 E pI and since
Zl =1= z 2, because x l =1= x 2, we have that z is the convex combination of two points in PI which
contradicts the assumption that z is an extreme point.
For each extreme point x E P there are 2n distinct points of the form z = x ± e u', Thus if P
has p extreme points, pI has at most 2np extreme points.
(iix) From the previous part we have that the extreme points of PI are of the form z = x ± c ui
where x is an extreme point of P . Since the vertex complexity of P is (x) ::; u, we compute
n n
(z) = (x ± cui) = ( LXj) + (Xi ± c) ::; 2 L (Xj ) + 2(e) = 2(x ) + 2(e) ::; 2v + 2(e) .
j =l j=l
j#i

For the facet complexity we have that for any valid inequality hz ::; h o + e Ilhll oo we have
(h) + (ho) ::; ¢ and thus we compute
(h) + (ho + e Ilhll oo ) ::; (h) + 2(ho) + 2(e) + 2(llhll oo ) ::; 2( (h) + (ho)) + 2(e) + (1Ihlloo )
::; 2( (h) + (ho)) + 2(e) + (h) ::; 3( (h) + (ho)) + 2(e) ::; 3¢ + 2(e) .

(ix) Since pI;;2 x + {z E IRn : IIzl11 ::; I} and PI ;;2 B(x ,eln) we have like in (9.55)
7fn /2en
vol(Pl ) ::::: vol(B 1) > vol(B (x, eln)) = ( I )
r 1 + n 2 nn

Thus, we have to show that the volume of the sphere in £l-norm, B e is given by 2nen In!. To this
end, it suffices to show that Vn = vol(B 1) = 2n In !. We have

v, = J 1
Vn- 1(1 - lx n l)dx n = J 1 n- 1 ( _
fn-1(1 -l x nl)n- 1dx n = f n-1 L(-l)j " .
1) J Ixnljdx n
1
- 1 - 1 j=o J -1
n-1 ,(n-1) 2 n- 1 , (n- 1)! 1
= f n- 1 2) -1 )J . . + 1 = 2 f n-1 jL(
-- -1 )J "( - 1 - ')1-' +-
1
j =O J J =O J. n J .J

_ n- 1 j n.1 1 _ n- 1 j ( n ) 1 _ f n- 1 n £- 1 ( n )
-2fn- 12)-I) U+ 1)!(n _ l _ j )!; - 2f n- 1 L (- I ) j+l ;-2~2)-1) e
J= O J=O £= 1

~ 2 / : ' (-1) t,(-1)'(;) ~ _2 / : , (to(-1)'(;)- (-1)O(~) )


= _2 f n- 1 ((1 -It - 1) = 2 f n- 1 .
n n
308 9. ELLIPSOID ALGORITHMS

So we have In = ~ /n- I and thus In = 2nIn!.


(x) The proof of Remark 9.13 goes through unchanged when the vectors d I , d 2 are the vectors
of the foo -n orms (rather than the fI -n orms) of the corresponding rows of Hs , H 2 • This follows
because the estimation (7.17) applies as well to Il hili oo and thus the assertion follows.

*Exercise 9.8
Letll·ll p be apolytopal norm on R" , i.e. , II· lip is a norm in lRn and its "unit sphere" B p = { x E
lRn : Ilxllp :::; 1} is a polytope.

(i) Show thatthe "dual norm" Ilyll? = max{yTx: Ilxllp :::; 1} is a norm on R" .

(ii) Let a ix :::; b, jor 1 :::; i :::; m be any linear description oj B» = {x E lRn : Ilxll p :::; 1} and
a i = ai /llaill?jor1 :::; i:::; m. Show thai B » = {x E lRn : a ix :::; 1,1 :::; i:::; m} , that 0 E relintB p
anddimBp = n.

(iii) Show that II · II? is a polytopal norm on lRn •

(iv) Prove Holder's inequality y Tx :::; Ily ll?llxll p.

(v) Let PI' be defined by PI' = {z E lRn : :Jx E P such that liz - x llp :::; c}. Show that PI' is
a polyhedron. Show that hx :::; ho + e II h II? jor all x E PI' if hx :::; ho jor all x E P. Show that
ha: :::; ho - c II h ll? j or all x E P ifhx :::; hojor all x E PI'.

(i) For any y E lRn , let y ' = y i lly ilp. Then y E R" , by the homogeneity of 1I ·llp lI y / llp :::; 1 and
Ily /llp :::; 1 and thus from the definition of 1I·llp we have that Ilyll ? 2: yTy' = y Ty /llyli p = IIy ll2/11 y lip
where Ilyll is the Euclidean norm of y, i.e, Ilyll ? is the ratio of two nonnegative numbers and thus it
is nonnegative which is zero if and only if Ily ll = 0, t.e. if and only if y = O. The homogeneity follows
trivially since Ilay ll? = max{ayTx : x E lRn , Ilxllp :::; 1} = a max{ yT x : x E lRn , IIxll p :::; 1} = ally ll ?
forally E lRn and a 2: O. Finally we have Ily + z ll? = max{ (y +z)Tx: x E lRn , Ilx llp:::; 1} :::; max{yTx:
x E lRn , IIxll p :::; 1} + max{zTx : x E lRn , Ilxllp :::; 1} = Ilyll ? + Ilzll ?, Le. the triangle inequality holds
and thus II . II? is a norm.
(ii) We are given that B p = {x E lRn : aix :::; b, for i = 1, ... ,m} . From the definition (9.57) of the
dual norm we have Ila i ll? = max{aix : x E B p} :::; b, and thus a ix :::; Il ai ll ? for all x E B p and all
i i
1 :::; i :::; m. Since II . II? 2: 0 and a -=I 0 we h ave that lIa ll? > 0 and thus dividing by lI aill? we
get aix :::; 1 for all x E B p and 1 :::; i :::; m , t.e, B» = {x E lRn : aix :::; 1 for 1 :::; i :::; m }. Since
aiO < 1 for 1 :::; i :::; m, 0 E relini.B », Let lI a ll = max{ll a i ll : 1 :::; i :::; m} and e = l /l lall. By the
Cauchy-Schwarz inequality, aix :::; Il a i ll llx li :::; lI a ill/lla ll :::; 1 for 1 :::; i :::; m and for all x E lRn with
IIxli :::; c. Consequently, B p 2 B (O , r = c) , i.e ., B » contains a ball with center 0 E lRn and radius
r = e > 0, and thus dim B p = n .
(iii) Since II · lip is a polytopal norm the set B p = {x E lRn : II xlip :::; 1} is a polytope with di m B » = n
and 0 E relini.B», Let Sp = {xI, . .. , x P } be the set of the extreme points of B» and A x :::; b be
a linear description of B» , Then we have that lI y ll ? = max{yTx : Ax :::; b} = y Tx' where x' ESp .
9.8. EXERCISES 309

Thus B p = {y E ~n : lI yllp :::; I} = {y E ~n : y Tx i :::; 1 for all L < i:::; pl. Since dimBp = n and
o E relini.B i. it follows that there exists J-L E ~P, J-L 2 0 such that 2:f=l J.liX i = ±ui where u i is the
i-th unit vector in ~n and 1 :::; i :::; n. Consequently. by the duality theorem of linear programming
0 :::; max{yT( ±ui) : y Tx i :::; 1 for i = 1, .. . ,p} = min{eTJ-L : 2:f=l J.liX i = ±Ui ,J-L 2 O} < 00 for 1 :::; i :::; n
and thus B p is a bounded set of R" , I.e., the "unit sphere" in the II · li p -norm is a polytope.
(iv) The inequality holds trivially as equality if x = O. From the homogeneity of II· li p we have that
for every x E ~n, X :f. 0 , x' = x / llx llp satisfies x' E ~n and Ilx' llp :::; 1. Thus from the definition
(9.57) of the dual norm it follows that y T x' :::; Ily llp, I.e , y Tx / llx llp :::; lI yllp and since Il xllp > 0 we
get y T x :::; Il yllp llxlip for all x E ~n and y E ~n .
(v) Let P: = {z E ~n : 3x E P such that liz - x llp :::; c}. Since II· li p is a polytopal norm there exists
a linear description of the set {x E ~n : Ilxll p :::; c} and thus, like in the proof of Remark 9.12, P:
is the image of a polyhedron and thus a polyhedron itself. Suppose that ha: :::; ho for all x E P
and let z E P:. Then there exists x E P such that liz - xllp :::; c. From Holder's inequality we get
h (z-x) :::; Ilhll pllz-xll p :::; cllh llp and thus hz :::; hx+cllhllp :::; ho+ cllhllp for all z E pt. Suppose now
that hz :::; ho for all z E P: and let x * E ~n be such that Ilhll p = max{hx: Ilxllp :::; I} = hie", Assume
that there exists y EP such that hy > ho - cllh ll p. Let z = y + cx* and thus liz -yll p = cllx* lIp:::; c,
i.e., z E pt. But then hz = hy + eh a:" > h o - cll h ll p + cll h ll p = h o is a contradiction.

*Exercise 9.9
LetO <8 <1.
(i) Show that 8 :::; l8- 1J- 1 < 28 and8l8- 1 J > 1- 8.
(ii) Show that l8- 1 J- 1 is a best approximation to 8 for all 1 :::; q < l8 - 1 J.
(iii) Suppose 1/2 < 8 < 1. Showthat r / s where r = l l ~e J and s = l l~eJ+ l is a best approximation
to 8 for all 1 :::; q < s.
(iv) Show that qn 2 2(n- 1)/ 2 for n 2 2 for the integers qn generated by the inductive process.
(v) Suppose 0 < 8 :f. 8' < 1 and that the integers v«. qn and P~ . q~ generated by the respective
inductive processes are such that Pn = p~ and qn = q~ for 1 :::; n :::; N. say. Show that
18 - 8'1 :::; 2- N +1 •

(i) From the definition of the lower integer part of a number we have l 8 - 1J :::;
8 - 1 and since
0 < 8 < 1. we get 8 :::; l8 - J- 1 and the left part of the first inequality follows. For the right part we
1

have: 8 - 1 < l8 - 1J+ 1 :::; l8 - 1 J + l8 - 1 J = 2l8 - 1J and thus l8- 1J-1 < 28. where we have used the
definition of the lower integer part of a number in the first inequality and the inequality l 8 - 1 J 2 1
in the second. To prove that 8 l8 - 1J > 1 - 8 we have from the definition of the lower integer part
of a number that 8 - 1 < l8 - 1J + 1. Multiplying both sides by 8 > 0 we get 1 < 8l8 - 1 J + 8 and
thus 8l8- 1J > 1- 8.
(ii) Applying the definition (9.60) of the best approximation with P = 1 and D = l 8 - 1 J we have
to show that (a) [8l8- 1J] = 18l8- 1J -1 1 and (b) [q8] > [8 l8- 1Jl for all L < q < l8- 1J. From the
310 9. ELLIPSOID ALGORITHMS

first inequality of part (i) we have that! < 8l8- 1j ::; 1 and thus [8l8- 1j] = f8l8 - 1j1- 8l8- 1j <
8l8- 1j -l8l8- 1jj, l.e. [8l8- 1j] = 1- 8l8- 1j and (a) follows. To prove (b) we have to show that
[q8] > 1- 8l8- 1j for alII::; q < l8- 1j. First we note that q8 < l8- 1j8 for alII::; q < l8- 1j since
8 > O. Thus, in particular, 0 < q8 < 1 and lq8j = 0, fq81 = 1. If [q8] = 1 - q8 then we have
[q8] = 1- q8 > l-l8- 1j8. If [q8] = q8, we have [q8] = q8;::: 8 > 1- 8l8- 1j where we have used
the second inequality of part (i) and thus (b) follows, and the proof of (ii) is complete.
(iii) To show that ~ with r = ll~ej, s = ll~ej + 1 is a best approximation to 8 for all L '< q < s if
1/2 < 8 < 1 we have to prove
(a) [s8] = Is8 - rl and (b) [q8] > [s8] for all integer q with 1 ::; q < s.

We observe first, from l ~e ;::: ll~ej and 1- 8 > 0, that s8 ;::: l l~ej and thus ls8j ;::: ll~ej. On
the other hand, s8 < s = r + 1 since 8 < 1 and thus ls8j = r . To prove (a) we have to show
that min{s8 -ls8j, fs81- s8} = s8 -ls8j. This is equivalent to s8 - ls8j ::; fs81- s8, which
is true if s8 is integer, and so we can assume that s8 is not integer. Thus we need to show
s8 ::; ls8j + 1/2, Le., (1 + ll~ej) 8::; ll~ej + 1/2 . Let x = 1~e- Then 8 = l~x and the assertion
reads (1 + lxj) l~X ::; lx j + 1/2 or equivalently, x ::; z] x j + 1 which is trivially true for all x ;::: O.
Consequently, part (a) follows.
To prove part (b), we first prove
(bI) q8 - lq8j > s8 - r for all integer q with 1 ::; q ::; r .

We claim q8 - lq8j ;::: (q + 1)8 - l(q + 1)8j or equivalently, l(q + 1)8j ;::: lq8j + 8 for all integer
q E [1 ,r]. Since q ::; ll~ej we have q ::; l~e and thus q ::; (q + 1)8. Since q is integer we get
q ::; l(q + 1)8j and thus l(q + 1)8j ;::: q88- 1 ;::: lq8j8- 1 > lq8j since 0 < 8 < 1 if lq8j > O. If
Lq8 J = a then q = 1 and the assertion is true as well because e > 1/2. Consequently, the claim
follows and thus, it suffices to prove [b I] for q = r, Le., r8 - lr8j > (r + 1)8 - r because s = r + 1.
But r > 8 + lr8j is trivially true since r > 1 is integer and 0 < 8 < 1. Hence Ibl) follows. We are
left with proving
(b2) fq81 - q8 > s8 - r for all integer q with 1 ::; q ::; r ,
Suppose first that ll~ej = l~e' Then s8 - r = 0 and assume(b2) is wrong. Let q E [1 ,r] be the
smallest integer with fq81 - q8 = O. It follows that 8 = vt« where 1 ::; p = fq81 < q. But 8 = T~l
and thus p(r + 1) = rq. Hence we get r = q!:-p and r + 1 = q~p' l.e., both p and q are divisible by
the integer q - p ;::: 1. If q - p = 1, then p = r and q = r + 1. Otherwise, q - p ;::: 2 contradicts our
assumption that q is the smallest integer with the required property. Consequently, such q does
not exist in the range 1, ... , rand (b2) follows . Now suppose l~e is not integer. Like in the proof of
part (bI) we conclude q ::; l(q+ 1)8J. If (q + 1)8 is integer, then from 0 < 8 < 1, we get q = (q + 1)8,
i.e., q = l~e' which contradicts the assumption that l~e is not integer. Consequently, (q + 1)8
is not integer. Thus fq81 ::; f8l(q + 1)8J1 ::; l(q + 1)8J < f(q + 1)81 and hence from 0 < 8 < 1,
f(q + 1)81 - (q + 1)8 ;::: fq81 - q8 for all integer q E [1, r]. Consequently, it suffices to prove (b2) for
q = 1, Le., 1- 8 > (1 + ll~eJ) 8 -ll~ej. Using x = l~e the assertion is equivalent to 1 + lxJ > x
which is trivially true because x is a positive noninteger. Thus (b2) follows in this case as well,
and hence the proof of part (iii) is complete.
(iv) We prove the assertion by induction. From the construction of the sequence of integers qi
we have q1 = 1 < qz < .. .. Thus since qz > 1 and integer, qz ;::: 2 > 21/ 2 and the assertion is
9 .8 . EXERCISES 311

true for n = 2 . Suppose that for n = k 2: 2 we have qk 2: 2( k-l )/ 2. By (9.70) qk+l = akqk + qk-l 2:
qk + qk-l 2: 2( k-l) /2 + 2(k-2) / 2 = 2( k- 2)/ 2(2 l / 2 + 1) > 2(k-2)/22 = 2k/ 2 and thus the assertion follows
for n = k + 1 and the inductive proof is complete. (Note that here we use the inductive process
without the particular initialization (9.73), which "shifts" the index n of the inductive process by
1 if 1 > 8 > 1/2 .)
(v)Assume WROG that 0 < 8 < 8' < 1 and that the inductive process carries out at least
N 2: 1 iterations. By (9.65), i.e ., because the signs of qn8 - Pn and q~8' - P~ alternate, we
have either 8' ::; PN / qN or PN / qN ::; 8 . Since 8' :::f- 8 , the process continues for at least one
more iteration for either 8 or 8' or both. Suppose that 8' ::; PN/q N. Then PN+!/qN+l ::; 8
and 0 < 8' - 8 < l!l:L - PN +l = _ 1 _ < 2- N+~ by part (iv) . Suppose that PN /q N < 8. Then
- qN qN +l qNq N +l - , -

P~+l /q~+l 2: 8' and 0 < 8' - 8 ::; P~+l


qN +l
- P~
qN
= _,_1_,
qN +l qN
::; 2-N+ ~ by part (iv) as well because p~ = PN
and q~ = qN by assumption. Thus 18 - 8'1 ::; 2-N +~ ::; 2- N + l as we have asserted.

*Exercise 9.10
Let P ~ ~n be a rational polyhedron oj facet complexity ¢, let Pu = P n {x E ~n :
-u ::; x j ::; u for 1 ::; j ::; n} for some integer u 2: 1 and let e E ~n be any rational vector.

(i) Every extreme point x E Pu is a rational vector with components Xj = Pj /Qj with integers
0 ::; Ipjl < u26n</>+1 and 1 ::; qj < 26n</J for 1 ::; j < n.

(ii) Any two extreme points x , y E Pu with ex > ey satisfy ex > ey + 2- l 2n2</J - (c}.
2
(iii) For f:l 2: 1 + u26n</>+12n </>+(c)+1 let ~ = f:lnCj + f:ln- j for 1 ::; j
::; nand d = (dl , . . . ,dn ). Then
the linear optimization problem max{dx : x E Pu } has a unique maximizer x m a x E Pu and
ex m a x = max{ex : x E Pu } .

(iv) Define d = d/lldll oo where d is defined in part (iii) . Then (d) ::; 3.5n(n - 1)flog2.6.1 + 2(n - 1)(c}
and thus Jor u = 2AH and the smallest f:l satisfying the condition ojpart (iii) we have (d} ::;
3.5n(n - 1)¢(16n 2 + lln¢ + 1) + (3.5n + 2)(n - 1)(e} + 14n(n - 1), where A = ¢ + 5n¢ + 4n2¢ + 1.

(v) Let (h , ho) belong to a linear description oj P, Ilhll oo > 0 and (h} + (ho} ::; ¢ . Show that
(h} + (hal ::; n¢ + 2 where h = h/llhll oo and ko = ho/llhll oo.

(i) If x E Pu is an extreme point of P, then the assertion follows from point 7.5(b) . So suppose
that x E Pu is an extreme point of Pu that is not an extreme point of P . Then by point 7 .2(b) x is
determined uniquely by a system of equations

where Ik is the k x k identity matrix with 1 ::; k ::; n, F l , F 2 are (n - k) x k and (n - k) x (n - k)


matrices, g* is a vector with entries +1 if Xj = u, -1 if Xj = - u and f* has n - k components.
312 9. ELLIPSOID ALGORITHMS

Moreover, every row (1\ Ii) of (F 1 F 2 !*)


satisfies (l) + (Ii) ~ ¢ and if k < n then det F2 "# O. If
k = n then F 2 is empty and we define det F 2 = 1. Denote by G the n x n matrix of this equation
system and suppose the components of x are indexed to agree with the above partitioning into
x l and x
2•
By s, we denote the j -th column of (h 0) ,
by I j the j -th column of 1 2 ) and by(F F
U j the j -th unit vector in JRn . If we let

then by Cramer's rule Xj = det G j / det G and we need to estimate the digital sizes of the determi-
nants. From formula (7.18) we get (det G) ~ 2(G ) - n 2 ~ 2n¢ - n 2. Moreover, detG is a rational
number of digital size less than 2n¢ and thus there exist integers p, q with a ~ Ipi < 22nc/> ,
1 ~ qj < 22nc/> such that detG = p/q. Suppose that 1 ~ j ~ k. We calculate detGj = ±udetF2.
Moreover, by the same reasoning as before (det F 2) < 2n¢ is correct and thus there exist integers
Pj, qj with a ~ Ipjl < 2nc/> , 1 ~ qj < 22nc/> such that detF 2 = Pj /q j. It follows that Xj = ±UPjq /q jP
satisfies UPjq integer, a ~ Iupjql < u24nc/> < u2 6n¢+1 and 1 ~ Iqjpl < 24nc/> < 26nc/> since U is integer and
thus the assertion follows in this case. Suppose now that k + 1 ~ j ~ n. From the formula for the
determinant of a partitioned matrix of Chapter 2.2 we calculate

detGj = det (F 2 + v f(f * - Ij) - u F 1 vfg*)


= (det F 2)( det( Ik + F ?: l v f(f * - I j ) - UF?:l F 1v f g*))
= (det F 2 )(f* - U9*) ,

where Vj E JRn- k is the j -th unit vector, I , = v J F ?: l!* and 9* = v J F ?:lF 1g*. We calculate

[; detF 2 = det (F 2 + v f(f * - I j ))


by factoring out F 2 and thus by (7.18) (f* detF 2 ) < 2n¢ is correct, I.e., there exist integer Pj , qj
with a ~ Ipj I < 22nc/> , 1 ~ qj < 22nc/> such that f * det F 2 = Pj/ qj ' We calculate also

by applying the determinant formula for partitioned matrices first and then factoring out F 2 •
Since ¢ ~ n + 1 it follows that the matrix on the right is a rational number of digital size less than
2n¢ and thus there exist integers r , S with a ~ Irl < 22nc/> and 1 ~ S < 22nc/> such that - 9*det F 2 = r / s.
Consequently, since U ~ 1 is integer Xj = q(sPj + U + qj )/ psqj satisfies the assertion and the proof
of (i) is complete.
(ii) By part (i) of this exercise we have Xj = Pj /q j and Yj = rj/sj with integer numbers Pj, qj, rj , Sj
satisfying a ~ Ipjl, lrj l < u26nc/>+1 and 1 ~ qj , Sj < 26nc/> for 1 ~ j ~ n . Let Cj = aj / bj with integer aj
and bj ~ 1 for 1 ~ j ~ n since e is rational. Since ex > ey it follows that e(x -y ) ~ U1.i =l qj Sj bj )- l >
2- 12n2c/> - (c ) because IT7=1bj < 2 (c).
(iii) The proof of this part of the exercise goes like the proof of Exercise 7.14(iii).
9.8. EXERCISES 313

(iv) The proof follows from Exercise 7.14(iv) and by a simple substitution of the values for 6., A,
u and the rough estimation 1 + 23+0 < 24+0 for 0: ~ O.
(v) Let h j = :~ with integer Pj, qj satisfying 0 ::; Ipj I < 2<P , 1 ::; qj < 2<P and I::I ~ I:~ I for 1 ::; j ::; n.
Then h j = : : ; ;, h£ = 1, (h j) ::; (Pj) + (qj) + (p£) + (q£) and (h£) = 2 where 0 ::; j -I- £ ::; n. Consequently,
(h) + (h o) ::; (h) + (ho) + (n - 1)((p£) + (q£) ) + 2 ::; n¢ + 2.

*Exercise 9.11
(i) Let P = {x E 1R2 : -4Xl + 2X2 ::; 1 , Xl + X 2 ~ 2 , - Xl + 2 X 2 ::; 4 , 2X2 ~ I} and Pu be as defined
in (9.76). Find the maximizer x m ax oj max{ X l + X2 : x E Pu } jor u = 3 and the corresponding
y m ax jor v = 2u. Does ymax - x m ax belong to the asymptotic cone oj P? if not, what is the
smallest possible value oju that works? What is the theoretical value that you getjor u using
A= ¢+ 5n¢+4n 2 ¢+1?

(ii) Suppose that the direction vector t E P00 oj the prooj oj Remark 9.19 satisfies ct = 0 and let
T= = {y E T : cy = 0, Ilylloo = I} where (8, T) is a minimal generator oj the polyhedron P ~ IRn
such that (X j) ::; 4n¢ jor all j and xES U T. Prove that t t y jor all y E T=, i.e. that t is
lexicographically greater than or equal to every yET=.

(iii) Determine the jacet and vertex complexity oj the polytopes Sn and C; oj Exercise 7.2 and oj
tt; and On oj Exercise 7.7.
(iv) Find polynomial-time algorithms that solve the polyhedral separation problem over Sn , C«. H n
and On'

(ii) By assumption the unique maximizer x m ax of da: over the polytope Pu for u = 2A satisfies
xjWX = ±u for at least one j E {I , . . . ,n } and thus x m ax is the unique solution to a system of
314 9. ELLIPSOID ALGORITHMS

equations of the form

(1)

where ±Ik is some k x k matrix with 1 ::; k ::; n having +1 or -Ion its main diagonal (according
to Xj = U or Xj = -u) , zeros elsewhere, F 1 , F 2 are (n - k) x k and (n - k) x (n - k) matrices, ei;
is a vector of k ones andj* has n - k components. Every row (Ii, Ii) of (F F 2 j*)
satisfies
(Ii) + (Ii) ::; ¢ and det F 2 i- 0, where by convention det F 2 = 1 if F 2 is empty. Moreover, y max
satisfies (1) with U replaced by v = 2A+l and t = 2- A(y max - x max ) E Coo satisfies (tj) ::; 4n ¢ for
1 ::; j ::; n. (For more detail than given in the proof of Remark 9.17 on the estimation of (tj) see
the proof of Exercise 9.1O(i).) From the uniqueness of the respective maximizers x max , ym ax and
the assumptions that Xj = ±U for at least one index j and A > 4n¢, it follows that every basis
defining x max is of the form (1) and thus by the duality theory of linear programming

d= x (±I
F
k
1
0)
F2
with x >- 0 (2)

for some such basis defining x max and y max, respectively. Consequently, a basis satisfying (1)
and (2) exists. Since by construction t E Coo and t i- 0, it follows that t = t/lltll oo E Poo is an
extreme point of Poo • More precisely, by dropping some of the constraints of Poo we have

Poo ~ OC(t,
- -H) = { y E lRn : (±I
Fk F
1
0)
2
y ::; (e0
k
) } '

i.e., OC(t, H) is the displaced outer cone with apex at t containing all of Poo (see the end of
Chapter 7.5.4), and t is an extreme point of OC(t, H). From (2) it follows that t maximizes dy
over OC(t, H) and thus by the outer inclusion principle, t maximizes dy over Poo • The matrix H
defining P00 is given by H, I n and I« and thus P00 has a facet complexity of </J - just like the
r

polyhedron P. Hence (0) ::; 4n </J for 1 ::; j ::; n. Since dt ;:: dy for all y E Poo ' it follows like in
Exercise 7. 14(iii) that t is the unique maximizer of dover Poo because the number A that we use
2
to prove Remark 9.19 is greater than the number 1 + 2 4n ¢+8n ¢+{c )+1 that suffices to guarantee
uniqueness. But then by Exercise 7.14(v) t t y for all yET= and the proof of part (ii) is complete.

(iii) The digital size of the inequality -Xj ::; 0 equals n + 2 since we also store zero coefficients.
Likewise the digital size of Xj ::; 1 is n + 3 and of 2:,7=1 Xj ::; 1 is 2(n + 1). Consequently, the facet
complexity of the polytope S n is ¢ = 2(n + 1) and that of C n is </J = n + 3, where n ;:: 1 is arbitrary.
The polyhedron H s, of Exercise 7.7(i) has the same facet complexity as Sn, Le. , </J = 2(n+ 1), while
the polytope On of Exercise 7. 7(ii) has ¢ = 2n + 1 + POg2 n 1.
(iv) Since S n has n + 1 constraints and C n has 2n constraints, the (trivial) algorithm LIST-and-
CHECK is a polynomial-time separation algorithm for S n and C n, respectively, no matter what
rational y E lRn is given as input. (LIST-and-CHECK is just that; you list all inequalities and check
them one by one for violation.) Since both Hi; and On have exponentially many inequalities, LIST-
and-CHECK does not work in either case since it may, in the worst case, require exponential time
9.8. EXERCISES 315

in n to execute it. In the case of H n every constraint is of the form hx = ~;=1 Oj X j ::; 1 where
OJ E {a, I} for 1 ::; j ::; n and Ijhll oo = I, except for the trivial constraint Ox ::; 1 which is never
violated. The polyhedral separation problem for Hi; is
n
max{I:0j zj -1 : OJ E {a,l} for l::; j::; n}
j =l

where z E lRn is a rational vector. To solve the problem we scan the vector z and set OJ = 1 if Zj > a,
OJ = a otherwise. This separation algorithm is linear in n and (z) and thus a polynomial-time
algorithm for the polyhedral separation problem for H n .
In the case of the polytope On we can check the 2n constraints a ::; Xj ::; 1 for 1 ::; j ::; n by
the algorithm LIST-and-CHECK in polynomial time. So we can assume WROG that the rational
vector z E lRn for which we want to solve the polyhedral separation problem satisfies a ::; Zj ::; 1.
The separation problem for the remaining exponentially many constraints of On is

max{ I: Zj - I: Zj -IN1 1 + 1 : N 1 ~ N , IN1 1 even}


JENl jEN-N- 1
=l-min{L(l- zj)+ L Zj : N1 ~ N, IN1Ieven} ,
JENl j E N-Nl

and a violated constraint is obtained if the objective function of the minimization problem is less
than one. To solve the problem we order the components of z in decreasing order which requires
time that is polynomial in n and (z) . E.g. the sorting algorithm HEAPSORT requires O( nlogn)
operations in the worst case. So we can assume WROG that 1 2 Zl 2 Z2 2 ' " 2 Zk 2 1/2 > Zk+1 2
... 2 Zn 2 a, where a ::; k ::; n. Finding the index k or verifying that k = a can be done by scanning
the ordered vector z once, i.e., in time that is linear in n and (z). If the index k is even we set
Ni == {I , . . . , k}. If k is odd we set Ni = {I, . .. ,k - I} if Zk + Zk H < 1, Ni = {I, .. . , k + I} otherwise.
By construction INi I is even, Zil + Zi2 < 1 for all i 1 =1= i 2 1- Ni and Zi l + Zi 2 2 1 for all i 1, i 2 E Ni in
all cases. We claim that N; solves the minimization problem. Suppose not and let S ~ N be an
optimal solution. Then lSI is even, S =1= Ni and

Z(S) = L(1- Zj) + L Zj < L (1- Zj ) + L Zj = z (N i ) .


jE S jEN-S JEN; jEN-N;

If lSI= INil then by construction ~jES Zj ::; ~jE N; Zj and ~jEN-N; Zj < ~j EN-S Zj . But then
z(Ni) :s:: z(S ) and thus if z (S ) < z(Ni) then lSI - INil is an even number different from zero.
Suppose first that lSI 2 2 + INil. Then there exists i 1 =1= i 2 E S such that i 1 , i 2 1- Ni- Let
S' = S - {i 1, i 2} . We compute z (S' ) = z(S) - 2(1- zh - Zi2) 2 z(S ) by the optimality of S and thus
Zil + Zi2 2 1 which is a contradiction because i 1 =1= i2 1- Ni. Suppose now that lSI + 2 ::; INil .
Then there exists i 1 =1= i 2 E Ni such that i 1 1- S , i 2 1- S. Let S' = S U {i 1, i2}' We compute
z(S') = z (S ) + 2(1- Zi l - Zi2) 2 z (S ) by the optimality of S and thus Zh + Zi2 ::; 1. Since i 1, iz E Ni
we get zh + Zi2 = 1 and thus z(S ' ) = z (S ). Consequently, S' is optimal as well as lSI < IS'I ::; INil,
we can reappply the reasoning and after finitely many steps we arrive at a contradiction because
the cardinality of an optimal S is bounded by INil in this case. Consequently, the claim follows.
The polyhedral separation problem for On can thus be solved in O( (z)n logn) time for any rational
z E lR n .
316 9. ELLIPSOID ALGORITHMS

Fig. 9.13. s-solidlfications of P for E = 0, 1/ 2 and 1

*Exercise 9.12
(i) Cons ider the polytope P = {x E jRz : 2XI + X2 :::; 2, Xl ?: 0 , Xz ?: O}. Find minimal generatorsfor
the corresponding SP, SPoo and SP:'x, as defined in (9.80), (9.81) and (9.82). Show that every
nonzero extreme point (h , ho) oj SP00 defines a facet: ha: :::; ho + E oj the e-s oiid ificaiion pI oj
P in the i I-nor m and vice versa, that everyJacet ha: :::; ho + E with Ilhll oo = 1 oj pI defines an
extreme point (h, ho) ojSPoo where E > O.

(ii) Do the same as in part (i) ojthis exercisejorthe polyhedronP = {x E JRz : 2X1- Xz = 0 , Xl ?: I}.
(iii) Do the same as in part (i) oj this exercise jor the polyhedron P = {x E jRz : 2X1 + Xz ;:::
5 , X1 -XZ;::: -2 , xz;::: 1}. In addition, let (1,Jo) = (-1 ,-1,-6) and solve the linear program
max{ - Xl - Xz + 6X3 : (Xl, Xz , X3 ) E SP:'x,} . Does its optimal solution yield a most violated
separatorjor (1 , f o) and SP? ifnot, what is the most violated separator in this case?

(iv) Let P ~ jRn be any nonempty, line free polyhedron and PI its e-s olidifica iioti with respect
to the i 1-nor m where E > O. Show that the extreme points oj SPoo as defined in (9.81) are
in one-to-one correspondence with the jacets of Pl. What happens if P is permitted to have
lines?

Z
(i) The polytope P, see Figure 9 .13, has three extreme points x l = (1,0) , X = (0,2) and x 3 = (0,0) .
Consequently, the ho-polar SP of P is given by SP = {(hl, hz, ho) E jR3 : h1 - ho :::; 0, 2hz - ho :::;
9.8. EXERCISES 317

0, -ho ::; O} . Running the double description algorithm (or by hand calculation) we find that SP is
pointed and has three extreme rays (-1 ,0,0), (0, -1,0) and (2,1,2) . SP is the set of all separators
for P and the set of normed separators S P00 for P is obtained from S P by intersecting S P with the
constraints -1 ::; h j ::; 1 for j = 1,2 as we are working with the fl- n or m. Using the homogenization
(7.5) and running the double description algorithm (or by hand calculation) we find that SPoo is
pointed and has a minimal generator consisting of the eight extreme points

(0,0 ,0) , (-1 ,0 ,0) , (0,-1,0) , (-1,-1,0), (1,1,2), (1,-1,1) , (1 ,~ ,1) , (-1,1 ,2)

and the extreme ray given by (0,0 ,1). The set ofnormed separators SP:;' for SP given by (9.82) is
the polytope

Using the double description algorithm (or by hand calculation) we find that a minimal generator
has the following six extreme points

(0,0,0) , (0,0 ,1) , (0 ,1 ,~) , (0,1,1) , (1,0 ,1) , (~ ,1,1) .

To answer the second part of this problem we first calculate the e-solldtfication PI in the f l -n or m .
To do so we proceed like in the proof of Exercise 9.7(vi). To calculate pI we thus have to project
out the p,-variables from the polyhedron

PP; ={(z , J-L) E 1R4 : -Zl - Z2 + MI + 2M2 ::; e, - zl + z2 + MI - 2M2 ::; e, z l - z2 - MI + 2M2 ::; e,
Zl + Z2 - MI - 2M2 ::; e, MI + M2 ::; 1, MI 2:: 0, M2 2:: O}

where we have used that x = 0 is an extreme point of P. To do so we need a minimal generator


of the cone (for the general definition see(7.8))

C = {u E IR 7 : UI - U2 + U3 - U4 + U5 - U6 = 0, 2UI + 2U2 - 2U3 - 2U4 + U5 - U7 = 0, u 2:: O} .


Running the double description algorithm we find that C is pointed and has the following ten
extreme rays

(1,0 ,0 ,1 ,0 ,0 ,0) , (0,1 ,1 ,0 ,0,0,0) , (1,0 ,1 ,0 ,0 ,2,0), (0,0 ,1 ,0 ,2 ,3 ,0) , (0,0 ,0 ,0 ,1 ,1 ,1) ,
(0,0,0,1 ,2,1,0), (0,1 ,0 ,3 ,4 ,0 ,0) , (0,1 ,0 ,0 ,1,0,3) , (1,1 ,0 ,0 ,0 ,0,4), (1,0 ,0,0 ,0 ,1 ,2) .

Consequently, we find (besides some trivial redundant inequalities) that pI is given by


pi ={ x E 1R2 : 2XI + X2 ::; 2 + 2e, Xl + X2 ::; 2 + s, - Xl + X2 ::; 2 + e,
Xl - X2 ::; 1 + e, -X l - X2 ::; e, -Xl::; s, - X2 ::; e] .

From Figure 9.13, we see that every inequality of the linear description of P el corresponds to
a nonzero extreme point of SPoo and vice versa. Note, however, that you have to normalize the
first inequality of pI to get the correspondence. The extreme points of PI for e 2:: are °
(- e,O), (0, - e) , (1, - e) , (1 + e, 0), (e,2) , (0, 2 + e) , (- e, 2) .
318 9. ELLIPSOID ALGORITHMS

Xl

Fig. 9.14. s- s olldtflcatton s of P for e = 0. 1/2 and 1

(ii) The polyhedron P . see Figure 9 .14. is a flat consisting of the extreme point x = (1,2) and the
direction vector y = (1,2) . Consequently. the ho-polar S P of P is the cone S P = {(hi' ba, ho) E JR3 :
hi + 2h2 - ho :::; 0, hi + 2h2 :::; O}. Running the double description algorithm (or by hand calculation)
we find that S P is a blunt cone. the basis of the lineality space of S P is given by (-2, 1, 0) and
the conical part of S P is generated by (0, 0, 1). (- 1, 0, -1). So a minimal generator of S P is given
by {(-2, 1, 0), (2, -1 ,0 ), (0, 0, 1), (- 1, 0, - I)}. The set S Poo of normed separators for P is obtained by
intersecting S P with the constraints - 1 :::; h j :::; 1 for j = 1,2 as we are working with the f l -n orm .
Using the homogenization (7.5) and running the double description algorithm. we find that SPoo
is a pointed polyhedron. Its minimal generator consists of the four extreme points (-1, ~ , O).
( 1 , -~, 0) . (- 1, - 1, - 3). and (1, - 1,-1). and the extreme ray given by (0, 0, 1). The set ofnormed
separators S P:XO for S P is the polytope
SP::O = {x E JR3 : 2Xl - X2 = 0, - Xl + X3 :::; 0, °:: ; Xl :::; 1, °:: ; x2 :::; 1, °:: ; X 3 :::; I} .
Using the double description algorithm we find that a minimal generator of S P:XO has the following
three extreme points (0,0 ,0 ). ( ~, 1,0). and (~ , 1, ~). To answer the second part of this problem we
calculate the e-solidificatton PI of P in the J\ -norm. To do so we proceed like in part (i). To
calculate pI we thus have to project out variable VI from the polyhedron
P P; ={(z , vt) E JR3 : - Zl - Z2 + 3Vl :::; -3 + e, Zl - Z2 + VI :::; -1 + e, - Zl + Z2 - VI :::; 1 + e,
ZI + Z2 - 3vl :::;3 + e, vl 2: 0}
where we have simply eliminated the f.L variable since it must equal one. We thus need a minimal
generator of the cone
c = {u E JR5 : 3 Ul + U2 - U3 - 3U4 - Us = 0, u 2: O} .
Running the double description algorithm we get the following six extreme rays
(1, 0, 0, 1, 0), (1, 0,3 , 0, 0), (0, 1,0, 0, 1), (0,3, 0, 1,0), (0, 1, 1,0, 0), (1, 0, 0, 0,3) .
9.8. EXERCISES 319

Consequently, we find that (up to some redundant inequalities) pI is given by

From Figure 9.14 we see that after normalization every inequality of the linear description of PI
corresponds to a nonzero extreme point of SPoo and vice versa. Note that as in part (i) you have
to normalize the first and second inequalities of PI to get the correspondence. The three extreme
°
points of pI for e 2:: are (1 - c, 2), (1, 2 - c), (1 + e, 2). In addition we need the direction vector
y = (1,2) of the extreme ray of P for a minimal pointwise description of PI.
(iii) The polyhedron P , see Figure 9.15, is an unbounded set having two extreme points (1,3) and
(2,1), and two direction vectors (1,0), and (1,1) for its extreme rays. Consequently, the ho-polar SP
of P is the cone SP = {(hl ' h 2 , h o) E JR.3 : h l - 3h 2-ho :::; 0, 2h l-h2-ho :::; 0, h l :::; 0, h l +h2 :::; O}. Running
the double description algorithm we find that SP is a pointed cone having four extreme rays
(0,0,1), (0, -1, 3), (-2,1, -5) and (-1,1, -3) . The set SPoo of the normed separators for P is obtained
by intersecting SP with the constraints - 1 :::; hj :::; 1 for j = 1,2. Using the homogenization (7.5)
and running the double description algorithm we find that S P00 is a pointed polyhedron. Its
minimal generator consists of the five extreme points

(0,0,0) , (0,-1,3), (-1,-1,2) , (-1 ,~ ,- ~) , (- 1,1, -3)

and the extreme ray given by the direction vector (0,0 , l.j.The set of normed separators SP::O for
SP is the polytope SP::O = {z E JR.3 : 2Xl + X2 - 5 X 3 2:: 0, Xl - X2 + 2 X 3 2:: 0, X2 - X3 2:: 0,
°:: ;
X2 :::; 1, X3 :::; I}. Running the double description algorithm we find that the (quasi-unique)
Xl :::; 1, °:: ; °:: ;
minimal generator of SP::O has the six extreme points

(0,0,0), (1,0,0) , (1,1,0), (1 ,~ ,~) , (1,1 , ~) , (~ ,1 ,~) .

To answer the second part of this problem, we calculate the s-solidtfication pI of P in the i l-norm.
To do so we proceed like in parts (i) and [ii]. To calculate pI we thus have to project out the
J-L and v variables from the polyhedron

PP; ={(z, u ,v) E JR.6 : Zl + Z2 - 4J-Ll - 3 J-L2 - Vl - Zl + Z2 - 2J-Ll + J-L 2 + Vl :::; c,


2V2 :::; c, -

Zl - Z2 + 2J-Ll - J-L 2 - Vl :::; c, - Zl - Z2 + 4J-Ll + 3J-L2 + Vl + 2V2C, J-Ll + J-L2 = 1, fL 2:: 0, v 2:: O} .
To carry out the projection we calculate the cone (7.8):

C ={ (u ,v) E JR.9 : -4Ul - 2U2 + 2U3 + 4 U4 - U5 + Vl = 0, -3Ul + U2 - U3 + 3U4 - U6 + Vl = 0,


- Ul + U2 - U3 + U4 - U7 = 0, -2Ul + 2U4 - Us = 0, u 2:: O} .
Running the double description algorithm we get the seven extreme rays

(1,0,0,1,0,0,0,0 ,0) , (0,1,1 ,0,0,0,0,0,0) , (0,0,0,0,1,1,0 ,0,1) , (0,1,0,0 ,0,3,1,0,2) ,


(0,0,0,1,1,0,1,2, -3) , (0,1,0,3,0,0 ,4,6, -10) , (0,0,1,1,4,0 ,0,2, -2) ,

and thus we calculate


320 9. ELLIPSOID ALGORITHMS

Fig. 9.15. s-soltdiflcattons of P for c = O. 1/2 and 1

From Figure 9.15 we see that after normalization every inequality of the linear description of Pi
corresponds to a nonzero extreme point of S P00 and vice versa. The extreme points of pi are
(1 - c, 3). (2 - e, 1). (2,1 - c). In addition we need the two direction vectors of the extreme rays of
P for a minimal pointwise description of Pi.
From the above pointwise description of SP~ we find that iii = (1, 1 , ~) is the unique optimal
solution to max{fx - foxn+l : (x , Xn+l ) E SP~} and since !I XI + hX2 - fox 3 = 1.6 > 0 the point iii
separates (t, fo) from the cone SP. To find the most violated separator for (t, fo) and SP. we apply
the procedure described on pages 344-346; see (9.83) and (9.84). Solving max{Jx : X E P} we find
the (unique) optimizer x m a x = (2,1) and thus (9.83) applies. We get a = 1/2 and thus X O = (1 ,~ ,~)
is a most violated separator for (t, fo) and SP , t.e., a most violated separator for (f , fo) and the
cone SP cannot be found by solving the linear program max{fx - foxn+l : (x , Xn+l) E SP~}.
(iv) Let (h ,ho) be an extreme point of SPoo' Then ha: :::; ho for all x E P and by Exercise 9 .7(iv)
ha: :::; h o = ho + e for all x E Pi since Ilhll oo = 1. Since c > 0 and by Exercise 9.7(ix) dim Pel = n,
there exists (t,1o) E JR.n+l such that IIflloo = 1. fx :::; 10 defines a facet of Pi and A = {x E Pi :
hs: = ho} ~ B = {x E pi : fx = 10}. By Exercise 9.7(vi) fx :::; fo = 10 -
c for all x E P and thus
(t, fo) E SPoo' From A ~ B it follows that hx i = ho implies fx i = fo for 1 :::; i :::; p and likewise
hyi = 0 implies fy i = 0 for 1 :::; i :::; r . Suppose h j = ±1 for some j E {I , . . . , n}. Since P is
pointed. hx i = b« for some i E {I , . . . ,pl. But Xi ± cUj E Pel. h(x i ± cUj) = ho ± chj = ho and thus
10
f(x i ± cUj) = fo ± eli = = fo + c implies f j = hj. Since (h , ho) is an extreme point it follows that
(h , ho) = (t, fo). I.e.. lux :::; ho + e defines a facet of pi. To show the reverse statement. suppose
(h ,h o) E JR.n+l defines a facet of pi. We can assume WROG that Ilhll oo = 1 and thus (h, ho) E SPoo
where ho = h o - c. Denote by (h i, hb) for 1 :::; i :::; s the extreme points of S Poo' Since SPoo has
exactly one halfllne, it follows that (h ,ho) = 'L:=lf..Li(hi ,hb) + A(O, 1) with f. L i :2: O, 'L:=lf..Li = 1 and
A :2: O. Suppose A > O. Then ha: :::; h o - A for all x E P. because (h , b« - A) is a nonnegative
combination of h ix :::; hb - which by the first part define facets of P. But then hai :::; ho - A + c < h o
for all x E PI shows the contradiction. Consequently. A = 0 and thus (h ,h o) = 'L:=l f. L i(hi ,hb) with
9.8. EXERCISES 321

J-ti 2 o. 2::=1 J-ti = 1. where hb= hb+ e for 1 :s; i :s; s. Since dim PI = n it follows that (h , ho) = (h i , hb)
for some i E {I, .. . , s} since the linear description of a full dimensional polyhedron by its facets
is unique modulo the multiplication by positive scalars; see page 129 of the book. Consequently.
(h , h o) defines an extreme point of SP 00 and the proof is complete.
As we did not utilize the extremality of Xl , • . . , x P in the above argument it follows that the
statement about the correspondence remains correct if P contains lines. If p = O. then the feasible
x i needed to prove that Ii = hj can be chosen to equal 0 since 0 E P in this case.
10. Combinatorial Optimization: An Introduction
Sempre avanti...I
Italian saying.

Combinatorial optimization problem arise typically in the form of a mixed-integer linear


program
(MIP) max{cx + dy: Ax + Dy ::; b , x ~ 0 and integer , y ~ O} ,

where A is any m x n matrix of reals, D is an m x p matrix of reals, b is a column vector with


m real components and c and d are real row vectors of length n and p, respectively. If n = 0 then
we have a linear program. If p = 0 then we have a pure integer program . The variables x that
must be integer-valued are the integer variables of the problem, the variables y the real or flow
variables. There are frequently explicit upper bounds on either the integer or real variables or
both. In many applications the integer variables model yes/no decisions, i.e. , they assume only
the values of zero or one. In this case the problem (MIP) is a mixed zero-one or a zero -one linear
program depending on p > 0 or p = O.
Another way in which combinatorial problems arise goes as follows: given some finite ground
set E = {I , .. . ,g} of 9 distinct elements let F be a finite family of not necessarily distinct subsets
F ~ E that satisfy certain well-defined conditions. Let Ce for all e E E be the "cost" of element e
and define CF = L eEF Ce to be the cost of F E F. We want to find F * E F such that the cost of F *
is minimal, i.e.,
min{l: c, : F E F} . (10 .1)
eE F

Let ]RE (rather than ]RIEl) denote the lEI-dimensional real space of vectors of length lEI. With
every element F E F we associate a 0-1 point x F = (X~) eE E E ]RE as follows

xF ={ 1 if e E F , (10.2)
e 0 if not.

x is the incidence vector or characteristic vector of F ~ E. Then (10 .1) becomes min{Cx F : F E
F

F} , where c = (Ce) eEE is a row vector. To solve (10 .1) we need to find the minimum of a linear
objective function over a finite set of IFI zero-one points in ]RE. In most cases of interest it is not
difficult to find a "formulation" in terms of linear relations of this problem that, together with the
requirement that the variables X e be zero or one, express the conditions defining F, i.e. we can
bring (10.1) into the form of (MIP) . The "size" of such a formulation in terms of the parameter
lEI of the number of variables may be exponential in lEI. An example to this effect is the set of
zero -one points that correspond to extreme points of the polytope On of Exercise 7.7 in which
case E = {I , . . . ,n} and F = {F ~ E : IFI is odd }. See also Appendix C.

10.1 The Berlin Airlift Model Revisited


To be concrete, let us consider one way by which we can approach the solution of the Berlin
airlift model when all of its variables are required to be integers; see Exercise 1.4 (Minicase IV).
I Forwards. forwards.....

D. Alevras et al., Linear Optimization and Extensions


© Springer-Verlag Berlin Heidelberg 2001
324 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

We start by solving the linear program displayed in Table 1.10 and obtain the solution dis-
played in the left part of Table 1.11. All but the two variables Pi, = 7.311 and Pn.; = 453.789 are
integer-valued. If all of the variables had assumed integer values only. we could have stopped.
This is not the case and it is trivially correct that either Pi l :::; 7 or P i, :2: 8 in every integer solution
to the problem. To get an integer solution. we create two corresponding new problems from the
original one. both of which we put on a "problem stack". We call variable Ph the "branching"
variable. because we used it to split the original problem into two problems. We select one of the
two problems from the stack and solve a new linear program.
Let us take the problem with the added constraint Pi, :::; 7 from the stack. The new linear
program solution yields an objective function value of 46,826 .168 > 46,784 .867 which is the old
value. In the new linear programming solution we get Pi, = 7. but e.g. P i 2 = 6.211. Now we
are ready to iterate: we select P i 2 as the "next" branching variable. we create two new problems
where we require Pi 2 :::; 6 in one of the two and Pi 2 :2: 7 in the other. and put both of them on the
problem stack which now has three problems on it . Then we select a problem from the stack and
continue.
In Figure 10.1 we display the binary search tree that results from the iterative application of
the basic idea. The nodes of the tree are numbered in the order of their creation. If a linear
program in the search is infeasible. we can evidently drop the problem from consideration. We
can do likewise. when the linear programming solution is integer or when the objective function
value exceeds a best value for an integer solution obtained so far. This way we can "prune" (or
fathom nodes of) the search tree.
The method that we have just described is called branch-and-bound. It dates from the 1950's
and is the only method that commercial packages have implemented until fairly recently (about
mid 1990·s). The essential ingredients into a branch-and-bound algorithm for the solution of
(MIP) are
• a computer program for the solution of linear programs or an LP solver. for short.
• a set of choice rules for branching variable and problem selection. and
• an accounting mechanism that keeps track of the search tree.
We let you figure out which choice rules we have used to produce the search tree of Figure 10.1.
Another way to obtain integrality of the solution goes as follows: since the solution obtained
from the first linear program is basic and nonlnteger, it follows that there must be cutting planes
or separating hyperplanes. i.e.• some linear inequalities that are satisfied by all integer solutions
to the problem and which cut off the linear programming optimum. The problem is to find such
cuts for the Berlin airlift example.
To simplify notation let us set Xi = Pi, and Yi = Pn, for 1 :::; i :::; 4. After eliminating the cargo
variables. the constraints for crew management are of the general form

- X i -l + Xi - Yi - l + a- l Yi = di for 1 :::; i :::; T .


(10 .3)
Xo = Yo = 0 , X i :2: 0 , tu :2: 0 , Xi and Yi integer for 1 :::; i :::; T .

where a > 1 and di for 1 :::; i :::; T are integers. which shows a definite "structural" pattern. In our
case a = 20. dl = 30. d2 = -450. d3 = -210. d 4 = -240 and T = 4. Multiplying each equation by a
10.1. THE BERLIN AIRLIIT MODEL REVISITED 325

and transforming the constraint set by multiplying it with the matrix


-1
1 0 0 1 0 0
-a 1 0 a 1 0

0
0 0 1 aT - 1 aT - 2 1

we get the following equivalent system of equations


i- I
(a -1) L ai-jxj + aXi + Yi = L ai+ l -jdj for 1 ::; i ::; T,
(10.4)
j= 1 j=1
Xi 2: 0 , u. 2: 0 , Xi and Yi integer for 1 ::; i < T.
Since all variables must be nonnegative in (10.4) it follows that every feasible solution satisfies
i-I i
(a - 1) ""'
~
ai-jxJ- < ""' ai+l-jdJ- for 2 <
- ~ -
i <
-
T .
j=1 j=1

Dividing both sides of the inequality by a( a - I) it follows from the integrality of a that

~ ai-I-jXj ::; l t a i- j dj / (a -1)] for 2::; i-: T (10.5)


j=1 j=1

are inequalities that every nonnegative integer solution to (10.4) must satisfy.
In the case of the Berlin airlift model we get from (10.5) three inequalities in the original
variables
P i 1 :S 7 , 20P i i + P i 2 :S 146 , 400PiI + 20Pi 2 + P i 3 :S 2924 , (l0.6)
that every feasible integer solution to the problem must satisfy. As you know from part (v) of
Minicase N, adding these cuts to the linear program and solving the augmented linear program,
we find the integer solution without branching at all .
This proceeding can be gen eralized and is known as the cutting plane approach to mixed-
integer programming. Classical cutting planes developed in 1950's and early 1960's had, at best,
mixed computational success, but are ultimately responsible for the most successful approach
to mixed-integer programming, branch-and-cut, which combines cutting planes with branching
in the solution process.
Figure 10.2 shows a flow-chart of a typical branch-and-cut problem solver for the maximi-
zation of a mixed-integer program (MIP) . It has four major building blocks besides a branching
mechanism that works ju st like traditional branch-and-bound.
• In the preprocessor the problem is automatically inspected and the current formulation is
improved.
• The LP solver solves the linear programs that are encountered during the course of calcula-
tion.
326 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION
46 .78 4 .86 7

P i3 :s; 4 P i3 2:: 5
46 .858.943

4 5 11 12
46 .920.400 Ph <5 P i2 2:: 6 46 .959.1 68 infeas ible
integer fathomed
optimum
6 7 46 .859 .206

46 .984.868 P i! :s; 6 P i! 2:: 7


fathomed.

8 9
52.207.400 Infea sibl e
integer

Fig. 10.1. Search tree for the Berlin airlift model

• The heuristic attempts to find good feasible solutions to the problem at hand. It can be a
stand-alone procedure or better, it can be based on the current linear program. By fixing
certain variables e.g. via rounding, solving the linear program that results and repeating it
is often possible to find good feasible solutions reasonably quickly.
• The constraint generator is the motor of the system. It generates cuts like (10.6) and adds
them to the current linear program which is subsequently reoptimized - like in the dynamic
simplex algorithm. Also like in the dynamic simplex algorithm con s train ts that are not
needed are purged from the active set so as to keep the linear programs small.
Sophisticated branch-and-cut solvers also add/drop columns, i.e. they have a column generator
subroutine as well - which is not shown in Figure 10.2 to keep things simple. The constraint
generator incorporates the results of a theoretical analysis that must precede the numerical
solution of difficult combinatorial problems. If the constrained generator finds no violated cons-
traints - due to incomplete knowledge of the problem to be solved - the problem solver resorts to
branching, just like in branch-and-bound.
In the flow-chart of Figure 10.2 the symbol z* refers to the objective function value of the
"best" integer or mixed-integer solution to the maximization problem (MIP) obtained so far, Z L P is
the objective function value of the current linear program. By design the branch-and-cut solver
works with a lower bound to the problem (as soon as a feasible solution to (MIP) is known) and
an upper bound provided for by the solution of the linear programs. Using e.g. the reduced cost
of the linear program at the "r oot" node of the search tree it may become possible to "fix" certain
variables at their upper or lower bounds without loosing an optimal solution. If a "sufficiently"
large number of variables has been fixed, then the problem is preprocessed again, etc. For more
detail we refer you to the references to this section of the text that deal with branch-and-cut.
10.2 . COMPLETE FORMULATIONS AND THEIR IMPLICATIONS 327

YES

YES
Fathoming

YES

NO

YES

NO Branching variable
se lection

Fig. 10.2. Flow-chart of a branch-and-cut problem solver

10.2 Complete Formulations and Their Implications


Given a mixed integer linear program (MIP) denote by
p
P(A, D , b) = {(x , y) E ]Rn+ : Ax + Dy ::; b, x ~ 0, y ~ O} (l0.7)

the polyhedron of the linear programming relaxation of the constraint set of (MIP) and by

(MIP L P ) max{ ex + dy : (x , y) E P(A, D , b)}

the linear programming relaxation of (MIP). The set feasible solutions to (MIP) is a discrete mixed
set in ]Rn+p (or if p = 0 a discrete set in ]Rn) that we denote by

DM = P(A, D , b) n ( zn x ]RP) , (l0.8)

where zn is the lattice of all n-tuples (Xl,. . . ,Xn ) with Xi integer for i = 1, . . . ,n and zn x]RP is the
usual cross product; see Figure 10.3 and the figures in Exercise 10.2 for examples of discrete
mixed sets in ]R2.
328 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

For all "real world" problems we are assuming that we know a linear description Ax + Dy :::; b,
x 2: 0, y 2: 0 such that DM satisfies (10.8). A', D', b' different from A, D, b may exist that
describe the same underlying discrete mixed set D M. We call any finite set of linear inequalities
that "model" the discrete mixed set DM aformulation of the underlying problem. Thus by relation
(10.7) a formulation is a polyhedron in ~n+p and vice versa, any polyhedron in ~n+p whose
intersection with zn x ~p equals the discrete mixed set D M is a formulation of the underlying
problem; see the text for more on "formulations".
Call a formulation P(A, D , b) a complete formulation for (MIP) if the corresponding linear
programming relaxation (MIPLP) solves (MIP) no matter what (c,d) E ~n+p is used for the objective
function of (MIP). Before addressing the existence of a complete formulation for (MIP) consider an
example.
Example. Suppose we have n+ 1 zero-one variables and that we wish to formulate the implication
"if Xj > 0 for some j E {I , . . . ,n } then X n +1 = 1" like we do when we model a fixed cost or a set-up
cost in some larger setting. We can formulate this "compactly" using a single linear constraint
n
L Xj:::; KX n +1
j=l
o:::; Xj :::; 1 , Xj integer for j = 1, . . . , n + 1 ,

where K 2: n is arbitrary, but we can also formulate the problem in "dtsaggregated" form

X j :::; X n +1 for j = 1, ,n
o:::; X j :::; 1 , X j integer for j = 1, ,n +1.
In Exercise 10.3 you are asked to prove that (F 2 ) is (locally) a complete formulation and that it is
better than (F1 ) .
Since we optimize linear objective functions over the discrete mixed set DM we can convexify.
Define

PI (A, D , b) = conv(DM) (10.9)

to be the convex hull of DM. From the linearity of the objective function

max{cx + dy: (x,y) E DM} = max{cx + dy : (x ,y) E PI(A,D, b)} ,

- provided that a maximizer of (MIP) exists. It is not difficult to give examples where this is not
the case. If a E ~ is a positive irrational number, then a maximizer to the problem

does not exist even though the objective function value is bounded from above by zero.
10.2(a) Let A, D and b be any rational data and P = P(A, D , b), DM, PI = PI(A, D , b) be
defined as in (l O.7), (lO.8), (l0.9). Then PI (A , D, b) is a polyhedron in ~n+p.
Proof We can assume WROG that D M ¥- 0 and n 2: 1. We verify Definition P2 of a polyhedron by
constructing a finite generator for PI' By Chapter 7.3.3 P has a finite generator that consists of
all extreme points (xi , y i) for i = 1, . . . , s and all extreme rays (r i , t i ) for i = 1, ... ,q of P. Since the
10.2. COMPLETE FORMULATIONS ANDTHEIR IMPLICATIONS 329

data are rational all of (Xi , y i) and (r i , t i) are rational vectors and by scaling (r i , t i) appropriately
we can assume WROG that r i E zn and componentwise g.c.d.(ri, .. . , r~) = 1 for i = 1, . . . ,q. Since
DM ~ P we can write every (x ,y) E DM as
s q s
(x ,y) = I>.ti(xi ,yi) + 2:::>'i(r i ,ti) where tu >0 , Lf./,i = 1 and .\ ;::: o. (i)
i=1 i= 1 i=1

Consider the polytope in ~n+p given by

XY = {(x , y) E lRn +p : (x , y) satisfies (f) and 0 ::; Ai ::; 1 for i = 1, . .. ,q} . (10 .10)

The projection X of XY on lRn corresponding to the variables x when restricted to zn ,

X = {x E Zn : 3y E ~P such that (x ,y) E XY} , (10.11)

is a finite subset of zn since XY is bounded. For each x E X let

Yre = {y E ~P: (x ,y) E XY}

be the corresponding "continu ou s" part. Every y E Yre can be written as


s q

y = Lf./,iyi + LAit i , (ii )


i= 1 i= 1

where the scalars f./,i and Ai belong to the set


s q s
Are = {(M, oX) E ~s+q : x =L f./,i Xi + L Ai r i , f./,i ;::: 0 , L f./,i = 1 , 0 < x, ::; 1} ,
i= 1 i= 1 i =1

which is a polytope in JR.s+q . By Chapter 7.3.3, every (M,.\) E Are can be written in turn as

Lro Lro
(M, oX) = L Oij ( M
j,
oXj ) where Oij ;::: 0, L Oij = 1, (iii )
j=1 j=1

where the vectors (Mj , .\j) E ~s +q for j = 1, . . . ,Lre are the extreme points of Are. Consequently,
every y E Yre is the convex combination of finitely many points of Yre , namely of those that
correspond to the extreme points (Mj , oXj ) of Are . This follows because by (ii) and (iii) we have for
every y E Yre

But yj E Yre for j = 1, ... ,Lre and thus Ere = {y j E ~p : j = 1, .. . , L re} is the finite set of points of
Yre for each x E X as claimed. The union of these finite sets is finite and thus E = {(x ,yj) : j =
1, .. . , L re and x E X} is a finite set since IXI < 00. In some arbitrary indexing denote by (x k , fl)
330 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

\
I \
I \
\
- -----\------
\
\

2 3
Fig. 10.3. Three formulations for a discrete set in JR2

the k t h element of E. By construction (xk, "1l) E XY and thus every (x , y) E XY can be written in
the form
K K
(x ,y) = I>:5k(x k, y k) for some 15k ~ 0 , LJk = 1 , (iv)
k=l k=l
where K = 2:"'EX L", < 00 . By (i) we can write every (x , y) E DM as (x, y) = (x, y) + 2:i=llAd (r i , t i )
where (x , y) = 2::=1 J-li(Xi, y i) + 2:i=l (Ai - lAd)( r i , t i ) . But (x , y) E P satisfies x E zn since x E zn.
r i E zn and lAd E Z for i = 1, . . . , q. Thus (x ,1/) E XY . Hence
K q
(x ,y) = LJk(Xk,yk) + L J1i(r i ,t i) (v)
k=l i=l

for every (x, y ) E DM. where (Xk,yk) E XY <:;: DM. 15k ~ O. 2:f=lJk = 1 and J1i ~ 0 for i = 1, ... .q.
DM possesses thus a finite generator. so does PI = conv (DM ) and point 1O.2(a) follows. •
From Weyl's theorem. see point 7.3(h). we have the following consequence for (MIP) .
10.2(b) (Existence of complete formulations) if the data A, D . b oj the problem (MIP) are
rational. then there exists an integer number 0 ::; t < 00 and rational matrices H. G . h oj
size (t x n ). (t x p) and (t x 1). respectively. such that

PI(A,D,b) = {(x ,y) E JRn+p: Hie +Gy ::; h , x ~ 0 , y ~ O} . (10.12)


The linear inequality system (10.13) is a complete formulation of the problem (MIP) and thus
the mixed integer linear programming problem has been reduced to a linear programming problem.
The simplex algorithm provides a finite solution procedure for any linear program.
10.2(c) (Existence of finite algorithms) if the data A. D. b oj the problem (MIP) are rational,
then

max{cx+dy : (x ,y) E DM} = {cx+dy : Hx+Gy ::; h , x ~ 0 , y ~ O}


10.3. EXTREMAL CHARACTERIZATIONS OF IDEAL FORMULATIONS 331

jor every (c, d) E jRn+ p , where H, G, h are defined in point 10.2(b). Thus there exists afinite
algorithmjor the resolution ojany mixed integer linear program (MIP) with rational data and every
such problem either has no jeasible solution, or it has an unbounded optimum, or it has a finite
optimum solution.
Another implication of point 1O.2(a) is the following one. Denote by

Coo (A , D ) = {(x ,y) E jRn+p : Ax + Dy S 0 , x 2': 0 , y 2': oj

the asymptotic cone of the polyhedron P(A , D , b) and likewise, by cfxo the asymptotic cone of
the polyhedron PI (A , D , b). From relation (v) of the proof of point 1O.2(a) we have the following
observation.
lO.2(d) For rational A, D, b the asymptotic cone cfxo oj PI(A , D , b) satisfies

(10.13)

Suppose that P = P(A, D , b) has a facet complexity of ¢ 2': n + p + 1. By point 7.5(b) P has
a finite generator (S = {(xl , yl ), ... , (XS, y S)} , T = {(r l, t l ), . .. , (r q , t q )}) with r i E zn for 1 S iS q,
such that
(Zj) S 4(n+ l )(n +p)¢ for 1 S j S n+ p and every z E S UT .
lO.2(e) (Facet/vertex complexity) if P (A , D , b) has ajacet complexity oj ¢, then the polyhe-
dron PI = PI (A , D , b) has afinite generator (SI ,TI ) such that (Zj) S 5(n + l )(n + p)¢ jor all
1 S j S n+ p andz E SI UTI , Le. a vertex complexity oj5(n + 1)(n +p)2¢ , and PI has ajacet
complexity oj20(n + l )(n + p)4¢ .
Let us say that a formulation (MIP) has a facet complexity of ¢ if the polyhedron P = P (A , D , b)
of (l0.7) has a facet complexity of ¢. By point 1O.2(e) (MIP) can be replaced by

(MIP",) max{cx + dy : (x , y) E P , 0 :::; Xj :::; 25 (n H )( n + p )¢ , Xj E Z for 1 :::; j :::; n} .

Since there are only a finite number of possible solutions for the integer variables x and since
the branch-and-bound algorithm selects only integer variables for branching, it follows that
branch-and-bound gives a finite algorithm when applied to (MIP¢).
We get a substantially deeper insight into the tractability of (MIP) by applying Remark 9.20.
lO.2(f) (Polynomial-time solvability) Let P = P(A, D , b) ~ jRn+ p be ajormulation oja mixed-
integer linear program (MIP) ojfacet complexity ¢ and PI = PI (A , D , b) be the convexification
(10.9) ojthe discrete mixed set (10.8). The mixed integer linear program (MIP) can be solved
in time that is bounded by a polynomial in n, p, ¢ and (c) + (d) if and only if the polyhedral
separation problemjor PI can be solved in time that is bounded by a polynomial in n, p, ¢
and (z) where z E jRnH is any rational vector.

10.3 Extremal Characterizations of Ideal Formulations


Given a rational formulation P (A , D , b) of a mixed integer linear program (MIP) let

(FI) Hx + Gy < h , x 2': 0 , y 2 0


332 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

be any complete formulation of Pj(A, D , b) like in point 1O.2(b). Like in Chapter 6.3 call an
inequality redundant with respect to (FI) if dropping it does not change the corresponding set
of feasible solutions. Given a complete formulation of (MIPJ, we can always find a minimal and
complete formulation of it in a finite number of steps. Call a complete and minimal formulation
of (MIP) an ideal formulation of (MIP) . From Chapter 7.2.2 we know that an ideal formulation of
(MIP) is quasi-unique.
The task to be done is to characterize ideal formulations of mixed-integer linear programs in
a constructive manner. To this end define for any row vector (I, g, fa) E lR. n +p +1 the following two
concepts.
Definition VEAnequationfx+gy = fa is a valid equationjor Pj(A,D,b) ifandonly iffx+gy = fa
for all (x , y) E P1(A , D , b).
Definition VI An inequality fx + gy :::; fa is a valid# inequality for Pj(A, D , b) if and only if (i)
fx+gy:::; fojorall (x, y) E Pj(A, D , b) and (ii) there exists (x, y) E Pj(A , D , b) such that fx+gy < fa.

Given an ideal formulation (FI) we test whether or not an inequality is a valid equation for
Pj(A,D,b) by solving two linear programs and thus - like in (7.1) - we can write every ideal
formulation of (MIP) as

(FIM)

where H I, G I , hI are rational matrices of size (t l x n) , (t l x p), (t l X 1) with 0 :::; t l < 00 and H 2 ,
G 2, h-z are rational matrices of size (t2 x n), (t2 x p), (t2 X 1) with 0 :::; t2 < 00 , respectively.
For notational convenience we have included all nonnegativity constraints x 2: 0, y 2: 0
even though in principle some of the valid equations may imply that Xj = 0 or Yk = 0 for every
(x ,y) E Pj(A ,D,b) - since we can detect such valid equations by testing the inequalities X j 2: 0,
Y k 2: 0 we can assume for the analysis that such variables have been deleted from the problem.
To state a constructive characterization of ideal formulations for (MIP) denote like in the proof
of point 1O.2(a) by (x i,yi) for i = 1, ... , 8 all the extreme points and by (ri,ti) for i = 1, . . . , q all
the extreme rays of the polyhedron P(A, D , b) defined in (10.7) where r i E zn are such that

g.c.d.(ri, . . . , r~ ) = 1 for 1 :::; i :::; q .

for the components r; of r", Define XY like in (10.10) and let ("xi ,11) for i = 1, ... , K be the
finitely many points of XY that we have constructed in the proof of point 1O.2(a). Thus for every
(x , y) E Pj(A, D , b)
K q

(x, y) = I>5 k
k(X ,y k) + 'L, 13i(r , t )
i i
, (10.14)
k=l i=l

where Ok 2: 0, 2.:f=1 Ok = 1 and 13i 2: O. The sets

S = {(Xk,yk) E lRn +p : 1 :::; k :::; K} , T = {(ri,ti ) E lR. n +p : 1 :::; i:::; q}


form hence a finite generator of Pj(A, D , b). All extreme points of Pj(A , D , b) are necessarily
among the points (x k,y k) for k = 1, . . . , K and if they were known a priori then it would evidently
10.3. EXTREMAL CHARACTERIZATIONS OF IDEAL FORMULATIONS 333

suffice to define S to be the set of the extreme points of PI (A , D , b). Define three matrices

W= (XlY -1
. .X K

. .. -K
Y
)
'
U= (~lt ... ... rr
l
q
)
t : W = (W
-e
u)
0 '

where e = (1, .. . , 1) is a row vector with K components equal to 1, and so W, U are rational
matrices of size (n + p) x K and (n + p) x q, respectively. The cone

CI = {(rr ,fo) E JRn+p+l : 1I"W - efo :S 0 , 1I"U :S O} (10.15)

is the fo-polar of PI (A ,D , b) - see (7.13) . To simplify the notation we have set 11" = (f ,g) for short
and denote Z = (x , y) so that 1I"Z = fx + gy where 11" is a row vector and Z is a column vector of
length n + p . Denote the lineality space of the cone CI by

LI = {(1I",fo) E JRn+P+l : 1I"W - efo = 0, 1I"U = O} .


lO.3(a) Let PI = PI(A, D , b). (i) 1I"Z :S fo is a valid inequalityjor PI if and only if (11", fo) E CI .
(ii) 11" Z = fo is a valid equation jor PI if and only if (11", f 0) ELI.

Define dI = rank(W) -1 where d I = -1 if the matrix is empty and let (B, b) = (H I , G l , -ht} where
the rows of (B , b) correspond to a basis of L I . Let Lf be the orthogonal complement of L I,

Lf = {(1I" ,fo) E JRn+p+l : B1I"T + bfo = O} ,

and cy = CI n Lf be the pointed cone


cy = {(n , fo) E JRn+p+l : 1I"W - efo :S 0 , 1I"U ::; 0 , B1I"T + bfo = O} .
lO.3(b) Let PI = PI(A, D , b).
(i) dim PI = dI , dim L, = n + p - dI and aff (PI) = {(x , y) E JRn+ p : Hlx + Gly = hI} .
(ii) If(1I", fo) is an extreme ray ofC~ then 1I"Z ::; fo defines ajacet oj PI.
(iii) if1l"z :S f o defines ajacet oj PI then (11", fo) = (11"*, fo) + (11"+ , ft) where (11"*, f o) E LI and
(11"+ , ft) is an extreme ray oj Cy.
Like in Chapter 7.2.2 we can summarize the preceding as follows,
lO.3(c) (Ideal formulations) Let P(A , D , b) be any rationaljormulation oj a mixed integer
linear program (MIP) . Ajormulation (FIM)jor (MIP) is ideal if and only if H ,« + Gly = hI is
a complete system oj valid equations ojjull row rank oj the affine hull and x 2: 0 , y 2: 0,
H 2x + G 2 y :S h 2 is a minimal and complete system ojjacet defining inequalities oj the
polyhedron PI (A, D , b).
To obtain an ideal formulation of a mixed integer linear program (MIP) we can proceed as follows:
• Starting from a finite generator of P( A , D , b) we determine XY and from it the finite set X.
• For each x EX we determine the extreme points of Are to construct W and U that define CI.
• We determine a basis for the lineality space L I of CI and a full system of extreme rays of cy.
334 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

The cone 01 furnishes an extremal characterization of an ideal linear description of the polyhe-
dron PI = PI (A, D , b) for the mixed-integer program (MIP) . We give next two different necessary
and sufficient conditions for a valid# inequality for PI(A, D, b) to define a facet.
lO.3(d)(Characterization of facets) Let F be a nonemptyjace ojPI = PI (A , D, b), (HI G I h I)
be a matrix ojjull rank and oj size h x (n + p + 1) with 0 :S tl < 00 such that aff (PI) =
{(x ,y) E JR.n+p : H Ix + Gly = hI} and let dt = dimPI = n + p - tl. Then thejollowing
statements are equivalent:
(i) F is ajacet ojPI , i.e. dimF = dI - 1.
(ii)Thereexistavalid# inequality fx+gy :S fojor PI suchthatF = {(x ,y) E PI: fx+gy = fo}
and a, ajfinely independent points (Xi ,yi) E PI satisfying fx i + gyi = fojor i = 1, . .. , dI .
(iii) There exists a valid# inequality fx + gy :S f o jor PI such that F = {(x , y ) E PI :
fx + gy = fo} satisfying the property: if!'x + g'y :S f~ is any valid inequalityjor PI such
that F ~ {(x , y) E PI : !,x + g'y = f~} then there exist a scalar a 2: 0 and a vector A E JR. t !
such that

(f' ,g') = a (f, g ) + A(H1 , G I ) , f~ 2: afo + Xh., . (10.16)

Point 1O.3(b)(ii) gives a direct method for vertfytng or falsifying that a valid# inequality fx+gy :S fo
for PI = PI(A , D , b) defines a facet if the dimension dI of PI is known: all one has to do is to
produce a list of dI affinely independent points in PI or, if fo :f. 0 equivalently, a list of dI linearly
independent points of PI that satisfy the inequality as an equation. To decide whether or not an
inequality defines a facet of PI one determines the rank of the matrix given by this list of points.
Point 1O.3(b)(iii) gives an indirect method for verifying or falsifying that a valid# inequality
fx + gy :S fo for PI defines a facet: here we need to know first of all the matrix that defines the
affine hull of PI , which may, however, be empty. The indirect proof method then proceeds by
assuming that the inequality does not define a facet of PI . Consequently, we have the existence
of some valid inequality !'x+g'y :S f~ satlsfytng the stated property of point 1O.3(d) (iii). Utilizing
the knowledge about the discrete mixed set DM, I.e. the structure of the underlying problem,
one then verifies that (10.16) holds. The way this is done consists of constructing points (x , y) of
PI that satisfy [u: + gy = fo and thus by implication !,x + g'y = f~ as well. Since we know all of
the coefficients (f , g , f o) explicitly we can choose suitable points (x , y) E PI and then determine
successively all components of (f' ,g', f~) by taking differences in order to verify (10.16) .
Point 10.3(b)(iii) also shows that ideal formulations are essentially unique: if t l = 0, i.e . the
dimension of PI is julL then we have uniqueness of the system of linear inequalities that define
the facets of PI up to multiplication by a positive scalars, i.e , up to the scaling of the coefficients.
If h > 0, then we have in essence the same modulo linear combinations of the equations that
define the affine hull of PI .

10.4 Polyhedra with the Integrality Property


Recall that one of the motivations for the approach we have taken to solving (MIP) is the following
observation: if the relaxed linear program (MIP LP) produces an optimal solution (x ,y) E P( A, D , b)
such that x E 7ln , then we have ajorteriori an optimal solution for the problem (MIP). The question
that comes to one's mind is: when does a rational formulation guarantee su ch an outcome?
As usual such questions can be made precise in more than one way. One way is to "fix" the
data A , D, b and to ask for a guarantee that the optimum solution (x , y) of (MIP LP) - if it exists-
lOA. POLYHEDRA WITH THE INTEGRALITI PROPERTI 335

has the property that x E zn no matter what objective junction ex + dy is maximized. We shall say
that problem (MIP) has the integrality property whenever this is the case. The answer to the
question is clear: (MIP) has the integrality property if and only if P(A , D , b) is an ideal formulation
for (MIP).
lO.4(a) Let P = peA, D , b) be aformulation offacet complexity ¢ of a mixed integer linear
program (MIP), let CrX) be the asymptotic cone of P and denote by zf;fJ P the objectivejunction
value of (MIP LP)' The formulation P is ideal if and only if for every e E zn and every d E Z P
such that -00 < zf;fJ P < +00 we have ex E Z f or every optimal solution (x , y) of(MIPLP).
If Dis nonvoid, t.e. if there are flow variables in the problem (MIP), then point lOA(a) does not
tell us much. But if D is void, then we have a pure integer problem and we can analyze e.g. the
dual linear program to decide whether or not the (primal) formulation is ideal. So the criterion of
point 1O.4(a) is worth knowing and in certain cases it makes the analysis considerably easier.
A second way to make the question concerning the integrality property of (MIP) precise is to
restrict it further: we now ask for a characterization of matrices A and D such that the optimum
solution (x,y) of (MIPL P ) - provided it exists - satisfies x E zn no matter what right-hand side
vector b and objective function ex + dy are used in (MIP).
In this context it does not make sense to permit nonmtegral rational data in the matrix A. To
see this let I ~ {1, . . . , n } be any subset such that the columns a j of A are linearly independent
for j E I . Then setting e.g. b = ~ ~j EI a j we get a rational right-hand side vector for which
P( A , D , b) has an extreme point (x *, y*) with x* 'I- zn. Consequently, for some objective function
ex + dy the solution to (MIPL P ) will not solve the problem (MIP) .
So assume that the data of A are integer. If D is void then a complete answer is known.
Definition TU A matrix A is called totally unimodular if and only if every square submatrix of A
has a determinant equal to 0 or ±l.
In particular, all elements of A must equal 0 or ±l. We drop the matrix D from the definitions of
the polyhedra if D is void.
lO.4(b) Let A be any m x n matrix of integers. Then peA , b) = PI(A, b) for all b E zm if and
only if A is totally unimodular.
To give point lOA(b) a more general form let Q(A , bl, b2 , d 1 , d 2 ) = {x E JRn : b1 ::; Ax ::; b2 , d 1 ::; X ::;
d 2 } and QI(A,bl,b 2 ,dl,d2 ) = conv(Q(A, bl, b2 ,dl,d2 ) nzn), where bi E zm , d i E zn for i = 1,2.
lO.4(c) An m x n matrix A of integers is totally unimodular if and only if
Q(A, bl, b2 , d l, d 2 ) = QI(A , bl, b2 , dl, d 2 )

for all bi E zm and d i E zn where i = 1,2.


Totally unimodular matrices give rise to "easy" formulations of pure integer programs and there
are other classes of matrices with this property.
Definition PI Let A be an m x n matrix ofzeros and ones, eT = (1, . .. , 1) E JRm have m components
equal to 1 and peA, b), PI(A , b) de defined as in (10.18).
(i) A is called perfect if and only if p eA, e) = PI (A , e).
(ii) A is called ideal if and only if P( - A , -e) = PIC-A, -e).
336 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

(iii) A is called balanced if and only if P(A' , e') = PI(A' , e') for all submatrices A' oj A and
compatibly dimensioned subvectors e' oj e .

By point 10.4(b) every totally unimodular zero-one matrix A is perfect, ideal and balanced,
but the converse is not true. Moreover, every balanced matrix is both perfect and ideal. The
class of zero-one matrices that are both perfect and ideal contains the class of balanced matrices
properly, see Exercise 10.5. It is an open problem to characterize matrices that are both perfect
and ideal.
Like in the case of totally unimodular matrices one knows a lot about these matrices; in
particular, their characterizations by way of jorbidden submatrices are known, I.e. by those
matrices which are in a sense the "smallest" matrices for which the defining integrality property
is lost.

10.5 Exercises

Exercise 10.1
Show that the rank r(H I , G I ) = h in an idealjormulation (FIM) . Show that every inequality
H 2x+ G 2 y :S h-z oj(FIM) is a valid# inequalityjor PI (A , D , b).

First we notice that h :S n+p since otherwise the equation system has either redundant equalities,
which contradicts the assumption that (FIM) is ideal, or, it is infeasible, which means that (MIP)
is infeasible. But if tl ~ n + p and r (H I , Gd < h again this means that some of the rows of the
equation system either are linearly dependent or they yield infeasibility.
Consider now an inequality h~x+g~y :S h~ which is clearly satisfied by all points in PI (A , D , b),
Le , condition (i) for the in equ ality to be valid'" is satisfied. Suppose that condition (ii) is not
satisfied, i .e, that there exists no (x, y) E PI(A, D , b) such that h~x + g~y < h~. It follows that
h~x + g~y = h~ for all (x , y) E PI(A, D , b) and thus by definition the inequality is implied by the
system H lx + Gly = h I , which contradicts the minimality of the ideal formulation.

Exercise 10.2
(i) Use the constructions oj the last two sections to show algebraically that an idealjormulation
jor DM = {x E ~2 : X l 2: 0 , X 2 2: 0 , X l and X2 integer, -2X I + 2 X 2 :S 1 , 2 XI - 2X2 :S 1 and -
2 X I - 2 X 2 :S - 3} is given by Xl - X 2 = 0, - X l :S -1. (Hint: Use the double description algorithm.)

(ii) Apply the same technique to find an ideal jormulation jor D M = {( x I,Yd E ~2 : X l 2:
o and integer, YI 2: 0 , - 2XI - YI :S - 4 , 5XI - 2YI :S 15 , -2YI :S - 3}.
(iii) Describe a method tofind a linear d escription oj the polytope XY given by (10 .10).

(iv) Using the double description algorithm calculate the linear description oj the polytop es XY
given by (10.10)jor the examp les of(MIP) ojparts (i) and ii i).
10.5. EXERCISES 337

7 I 7
I
G I 6
I I
5 - -1-- 1-- 5
I I
4 - - 1--1- 4
3
_ _L
3
2 2

o o
o 1 234 5 G 7 o 1 234 5 G 7
Fig. 10.4. Geometry for 10.2(i) Fig. 10.5. Geometry for 10.2(ii)

(i) First we calculate the set XY . Using the DDA we calculate the extreme points and extreme
rays of the polyhedron

We find that P has two extreme points xl = (~ , 1) and x 2 = (1, ~), and one extreme ray r l = (1,1).
Therefore we have that
2 1 1
XY = {x E lR : x = (2 JLl + JL2 + A,JLl + 2JL2 + A), JLl 20, JL2 2 0, JLl + JL2 = 1, 0::; A::; I}

which we can equivalently write as follows

XY = {x E lR 2 : x = (1 + A - ~ ,~ + A + ~), 0 ::; JL , A::; I} .

Next we calculate the set X = {x E tl n : x E XY}. From XY we know that if x E XY then


~e ::; x ::; 2e, where e is the vector in lR 2 with two ones. So there are only four candidates for
the set X, namely, (1,1), (2,1), (1,2), (2,2). For each of them we solve the system of equations
Xl = 1 + A - 3 and X2 = ~ + A + 3 to find the following values for (A, JL) respectively: (~, ~), ( ~ , -~),
(~ , ~), (~ , ~) . Thus only the point (1,1) is feasible and thus X = {(I , I)} in this case.
Since we have a pure integer set we do not have to find values fj and thus there is no need to
calculate the extreme points of Aoo • Now we can write down the cone C r as follows

for which we calculate (using DDA) the extreme rays (1, - I , 0), (-1, I, 0), (0, 0, 1), (0, -I, -1) ,
corresponding to the inequalities Xl - X2 ::; 0, - Xl + X2 ::; 0, 0 ::; 1, and -X2 ::; - 1 respectively.
These inequalities give the following ideal formulation for P, P = {x E lR 2 : Xl - X2 = 0, - X2 ::; -I}.
Notice that because of symmetry one can replace the ray (0, -I, -1) by (-1, 0, -1) to get in turn
the inequality -Xl ::; - 1 instead of the -X2 ::; - 1.
338 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

(ii) We apply the same procedure as in part (i) with the difference that here we have a mixed
integer set. Let
p = {(x, y) E ]R2 ; X ~ 0, y ~ 0, -2x - y ::; -4, 5x - 2y ::; 15, -2y::; -3} .

Using DDA we calculate the extreme rays and extreme points of P and find that P has 3 extreme
e
points, (~ , ~ ) , 58 , ~), (0,4), and two extreme rays (0,1) and (1, ~). (N.B.: Notice that the extreme
rays must be scaled such that the greatest common divisor among the components of the integer
vector is 1. In our case the integer vector has only one component and thus if it is nonzero as in
the second ray it has to be 1.) Now we can write the set
2 5 18 3 3 5
XY = {(x , y) E]R : (x , y) =(-4JL1 + 5JL2 + A2' 2JL1 + 2JL2 + 4JL3 + Al + 2A 2),
JL1 + JL2 + JL3 = 1, JL1, JL2 , JL3 ~ 0, 0 ::; Al, A2 ::; I}

and calculate the set X = {x E Z : ::Jy such that (x, y) E XY}. From the description of XY we know
that x::; 158 + 1 = 253 and thus X ~ {O, 1, 2, 3, 4}. One verifies by e.g. drawing a picture that in fact
X = {O, 1,2, 3, 4}. A precise way to find the set X will be discussed in part (iii). Now we have to
calculate the extreme points of the sets

3+2 5 18 }
Ax = {/L,A) E]R : x = 4JL1 + 5JL2 + A2' JL1 + JL2 +JL3 = 1, JL1 ,JL2 ,JL3 ~ 0, 0::; A1 ,A2 ::; 1 .

Using DDA we calculate:

extreme points of Ax
0 (0,0,1,0, O), (0,0,1,1, O)
1 (0,5/18,13/18,0 ,0) , (4/5,0 ,1 /5,0,0), (0 ,5 /18,13 /18,1,0)
(4 /5,0,1 /5,1,0), (O,O,l,O,l), (0,0,1,1,1)
2 (0,5/9,4 /9,0,0), (32 /47,15 /47,0 ,0 ,0), (0,5/18 ,13 /18 ,0 ,1)
(0,5 /9,4/9,1,0), (32 /47,15 /47,0,1 ,0) . (4 /5,0,1/5 ,0,1)
(1,0,0,0, 3/4), (0,5/18,13 /18,1, 1), (4 /5,0,1 /5,1, 1)
(1,0,0,1,3 /4)
3 (0,5 /6,1/6,0,0), (12 /47,35 /47,0,0,0) , (0,5 /9,4 /9,0,1)
(0,5/6,1 /6,1,0), (12/47, 35/47,0,1,0) , (32/47,15/47,0,0,1)
(0,5 /9,4 /9 ,1 , 1), (32/47 ,15 /47,0,1,1)
4 (0,5/6,1 /6 ,0,1), (0,1,0 ,0 ,2/5), (12/47 ,35 /47,0,0,1)
(0,5 /6,1 /6,1,1) , (0,1,0,1,2 /5), (12 /47,35 /47,0,1,1)

Now we calculate the values of


~ 3 3 ,5,
y = 2JL1 + 2JL2 + 4JL3 + /\1 + 2/\2
for each (JL1 , JL2, JL3, AI, A2) given in the table above . Having done so, we can write down the
matrix W
10.5. EXERCISES 339

°
0 1 1 1 11 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 33 3 3 4 44 4 4 4 )
W = ( 4 5 67 2 85 3 5 15 3 1 ;! 67 31 Q g 27 130 !1. 35 23 ;! 10 7 35 Q 4 125 5 53 Q 4 65 1 5
18 18 2 9 2 18 9 2 2 8 18 2 8 12 2 18 12 2 18 12 2 12 2

u= (~ n.
and compute the extreme rays of the cone C1 = {err, f o) E 1R3
Using DDA we find that the extreme rays ofGr ar e (0,0,11,
: 1rW - efo ::; 0, 1rU ::; O} where

( -1, -2 , -5), ( 5 , -2 , 1 5 ) , (0 , - 2, -3), (-2 , -1 ,-4), corresponding to the inequalities


(2,-2,31,

1,
(-1, 0,0 1,

°::;
2x - 2y ::; 3, - x ::; 0, - x - 2y ::; - 5, 5x - 2y ::; 15, -2y ::; - 3, -2x - y ::; - 4, respectively. Thus an
ideal description of P is
P = {(x, y) : 2x - 2y ::; 3, - x ::;0 , - x - 2y ::; - 5, 5x - 2y ::; 15, -2y ::; - 3, -2x - y ::; -4} .

(iii) The difference between the set XY and the polyhedron P is that XY is bounded, by restricting
the values Ai to be between 0 and 1. Therefore, to get a description of XY it suffices to find the
convex hull of the points (x i, yi) + 2:3=1Aj(r j , t j) for alII ::; i ::; 8 , where we con sider all possible
combinations of 0-1 values for Aj . Here (xi , yi) for i = 1, . .. ,8 are the extreme points of P and
(r j ,tj ) for j = 1, . .. , q are its extreme rays. One can use DDA to get a linear de scription of the
convex hull of the points . Having the linear description of XY, we can calcu late the set X by
projecting out the Yk variables.
(iv) For the polyhedron of part (i) we have two extreme points X l = (~ , 1) and x 2 = (1, ~) , and one
extreme ray r 1 = (1,1) . Therefore applying the method described in part (iii) we have to find the
convex hull of the following points: ( 1/ 2 , 1) , (3/ 2 , 2 ) , (1,1/2), (2,3 /2 ) . UsingDDAwe
find that the linear description of the set XY is
XY = {( X1, X2) : -2X1 - 2X2 ::; - 3, -2Xl + 2X2 ::; 1, 2X1 - 2X2 ::; 1, 2X1 + 2X2 ::; 7}

Similarly for the polyhedron of part (ii) we have 3 extreme points , ( ~ , ~), ( 158 , ~ ), (0,4), and two
extreme rays (0,1 ) and (1, ~). Thus we have to find the convex hull of the following points:
( 5/ 4,3/2), ( 5 / 4,5 /2), (9 / 4 ,4) , (9/ 4 , 5) , (18/ 5 ,3/ 2 ) , (18/ 5 ,5/ 2) , ( 23/ 5 , 4), (2 3 / 5,5),
( 0 , 4) , ( 0, 5) , (1 ,13/2) , (1, 15/ 2) .

Using DDA we find that the linear description of the convex hull of these points and thus of XY
is
XY = { (x ,y) : -2x- y ::; -4, -2y ::; - 3, - x ::; 0, - 5x+ 2y ::; 10, 5x- 2y::; 15, 5x ::; 23, 25x+ 36y ::; 295} .

*Exercise 10.3
(i) Using the direct method prove that every inequality of the formulation (F2) of the example of
Chapter 10.2 defines afacet of its convex hulL
340 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

(iO Do the same using the indirect method ofproof

(iii) Prove that the integrality requirement can be dropped, i.e. that (F2) is an idealJormulation oj
this simple problem.

(iv) Prove thatformulation (FIl is worse than (F2 ) .

Let P be the polytope

P = {x E jRn+ l : Xj S Xn+ l for j = 1, . . . ,n, Xn+ l S 1, x ~ O} .

(i) Let u i E jRn+l be the i-th unit vector. Since the n + 2 affinely independent vectors u i + Un+l,
for i = 1, . .. ,n , u n + 1 and 0 are in P, the polytope is full dimensional, I.e. dimP = n + 1. First we
show that the nonnegativity inequalities are facet defining. Consider the inequality X k ~ 0 where
1 S k S n. The points un+! , u i + un+! , i = 1, ... ,n + 1, i i= k, and the zero vector lie on the face
F k = {x E P: X k = O} and thus dimF = n = dimP -1. To prove that the inequality Xk S X n + l for
some 1 S k S n defines a facet we note that the vectors u i + uk + u n + 1, for i = 1, . . . ,n, i i= k,
u k + u n + 1 lie on the face Fk = {x E P : X k = X n + l } ' The matrix formed with rows u i + uk + u n +! ,
for i = 1, . .. , k - I , uk + un+! , u j + Uk + U n+! for j = k + 1, .. . , n has a rank of n and thus the
n vectors together with the zero vector which is also in F are n + 1 affinely independent points in
F. It follows that dim F), = n = dimP -1 and thus the inequality Xk S x n +! is facet defining. For
the inequality X n + l S 1 define F = {x E P : X n + l = I}. The vectors u i + u n + 1 , i = 1,... ,n and u n + 1
lie on F and are affinely independent and thus X n +! S 1 is facet defining. Note that X j S 1 for
j = 1, . . . , n is not facet defining since it is the sum of Xj S X n+ l and X n + l S 1.
(ii) For the nonnegativity inequality X k ~ 0 the indirect proof proceeds as follows . Suppose that
F k = {x E P : X k = O} is not a facet, and let be S bo be a facet defining inequality such that
Fb = {x E P : ba: = bo} :) F k. Since 0 E Fk C Fi; we have bo = O. Since the vectors u i + u n+! ,
1 SiS n + I, i i= k are in Fk and thus in Fi; it follows that b, + bn + 1 = 0 for all I SiS n + 1, i i= k,
and since u n+ 1 E F k C F b we have bn + 1 = O. Hence, b = auk and a < 0 since uk + u n + 1 E P which
contradicts the assumption that F k is not facet.
To prove that Xj S X n +l is facet defining we proceed as follows . Suppose that F j = {x E P :
X j - X n + l = O} is not facet and let b» S bo be such that Fb = {x E P : bx = bo} :) F j • Since
o E F j C F b we have that bo = O. Since u i + u j + un+! , j i= i i= n + 1 is in F j C Fb we have
b, + bj + bn +! = 0 for all I Si S n, i i= j. Since u j + u n+l E F j C F b we have bj + bn + 1 = 0 and thus
b, = 0 for all 1 si= j S n . Thus Xj S X n+ l is a scalar multiple of be S bo which contradicts the
assumption that F j is not a facet of P.
Finally to show that X n+ l S 1 defines a facet, suppose that F = {x E P : x n + l = I} is not
a facet and let ba: S bo be such that F b = {x E P : bx = bo} :) F. Since u n+ 1 E F C Fb we have
that bn +! = boo Since u i + u n+ 1 E F c H we have bi + bn + 1 = bo but since bn +! = bo, b, = 0 for all
1 S iS n. So again bx S bo is a multiple of X n + l S 1 which contradicts the assumption that F is
not a facet.
(iii) It suffices to show that the polytope has only integral extreme points. From point 7.2(b) x O is
an extreme point of a polyhedron in jRn if and only if it is feasible and the matrix of the constraints
it satisfies at equality has rank n , The constraint matrix in our case has 2n + 1 rows and the
10.5. EXERCISES 341

dimension of Pis n + 1. Let X O be an extreme point of P. If X~+ I = 0 then xO = O. Clearly xO is


an extreme point and is integral. We next prove that in all other cases X~+ I = 1. First observe
that for each 1 ::; j ::; n at most one of the inequalities Xj 2: 0 and Xj ::; Xn+I can be satisfied at
equality, since Xn + 1 > 0, and thus at most n of the 2n inequalities Xj 2: 0, Xj ::; xn+I ' 1 ::; j ::; n
can be s a tisfied at equality by some feasible point x . Suppose that 0 < X~+ I < 1. Then from the
feasibility of x O and the inequalities Xj ::; xn+I we have Xj < 1 for all 1 ::; j ::; n . So there are at
most n inequalities satisfied at equality which means that the rank of the corresponding matrix is
at most n contradicting the assumption that xO is an extreme point of P. Thus x~+I = 1 in every
extreme point of P other than o. Now suppose that there exists 1 ::; k ::; n such that 0 < Xk < 1.
Then none of the inequalities Xk ::; Xn+I and Xk 2: 0 is satisfied at equality, and thus there are at
most n inequalities (n - 1 corresponding to variables Xj , 1 ::; j ::; n, j i= k , and one corresponding to
the constraint Xn + 1 ::; 1) satisfied at equality which like before gives a contradiction. Thus every
extreme point of P is integral, and the description is ideal.
(iv) The point Xl = 1, Xj = 0 for j = 2, . .. ,n and Xn+I = *
is feasible for the linear relaxation of
(FI), but not for the linear relaxation of (F2), which proves the point.

Exercise 10.4
Consider again the Berlin airlift model ofChapter 10.1 and the relations (10.3),. . . ,(1 0.6).
= aj+ l-i( loi+ I!(a - l )J - Oi) if aOi 2: (a - l )loi+ I! ( a - I)J > (a
(i) Let 1'j - l )oi ' 1'j = 0 otheruiise.
Show that every integer solution to (10.3) satisfies the inequalities
i- I
(a - 1) I: a i -I -kxk + (a -1 + ¢ j ) ai - I-jxj + Xi::; s. + a i- I- j bjJ ¢j
k=l
k =f.j

for 1 < j ::; i - 2. 3 ::; i ::; T - 1 where ¢} = hjl - ,j and Oi = L~=l a i- j dj for 1 ::; i ::; T.

(ii) Show that 386x~ + 19x~ + x~ ::; 2826 is an inequality that is satisfied by all integer solutions to
the Berlin airlift model. Show that inequalities (10.6), the original equations and the additional
inequality given he re furnish an ideal description of the Berlin airlift problem.

(i) Suppose first that 0 ::; Xj ::; l,jJ. Then we write the inequality as follows
i- I
(a - 1) I: a i-I-kxk + Xi ::; s, + a i - I - j (hjl - , j)( bjJ- Xj)
k=l

and thus the validity follows from inequality (10.4) , since ai-I-j( hjl - , j)(bjJ - Xj ) 2: O. Suppose
342 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

now that Xj 2: r'/'Jl . We have


i-I
max{(a -1) L ai-1-k x k + Xi : x satisfies (10.4) and (l0.5), Xj = A}
k= l
kf-j

:s; max{ (a - 1) L
i- I

k=l
a
i- 1 kx
- k + Xi: L
k=l
i
ai -kxk :s; l :i=\ J- a
i- j
A} .
k#j k#j

But then we have from the nonnegativity of the term in the summation
i---1 i- 1
(a - 1) '"'
L...J a
i- 1--- kx
k
+ x ,· -< a '"'
L...J a
i- 1-kx
+ x. < l a8i-+1I J-
k. _
ai-j A'
k =l k=l
k#j k#j

Thus it suffices to show that

l:i=1 J - 1
a
i- j
A :s; s, + a i- 1- j bjJ ¢; - a i - 1-j ( a - 1 + ¢})A ,

for all integer A 2: f'/'J 1. In the case when ¢j = °the inequality reduces to
l 8i+1
a - I
J- a i - j A -< 8·• - a i- j A + a i- 1-j A

which gives '/'J :s; A = Xj and the validity follows. If ¢j -# 0, then '/'J is fractional, f'/'Jl = bJJ + I ,
°
and < ¢j < 1. Then the inequality reduces to '/'J :s; bJJ¢j + A(1 - ¢j ) wh ich after substituting
bJJ = hJl - 1, gives hJl :s; A = Xj and thus the proof of validity is complete.
(ii) For the Berlin airlift model, we write the inequality of part (i) for i = 3, j = 1. We have a = 20,
81 = 30, 82 = 150, 83 = 2890 and 84 = 55560. Thus '/'§ = 210 (l f~J - ( 3 ) = \~, since 2083 2: 19l-nJ > 1983 •
Then ¢§ = 130 and the right-hand side of the inequality is 83 + 203 - 1 - l ~~J 130 = 2826. Now we have
(19 + 130 ) 20X1 + 19X2 + X3 :s; 2826 which gives 3 86x1 + 19x 2 + X3 :s; 2826.
We use the DDA program to calculate the extreme points of the polyhedron defined by the
following system of equalities and inequalities
1 1 1 1
Xl + 20 X 5 = 30, -Xl + X 2- X 5+ 2 0X6 = -450, -X2 + X3- X6 + 20 X7 = -210 - X 3+ X 4- X7+ 20xs = -240,
Xl :s; 7, 20X1 + X2 :s; 146, 400X 1 + 20X 2 + X3 < 2924, 3 8 6x1 + 19x 2 + X3 :s; 2826,
2: 0, X2 2: 0, X3 2: 0, X 4 2: 0, X5 2: 0, X6 2: 0, X 7 2: 0, Xs 2: 0 .
Xl

We find that the polyhedron is in fact a polytope with the following twenty two extreme points
(0,0,0,0,600 , 3000 ,55800 ,11 11200 ), ( 0, 0 , 0 , 5 5 5 6 0 , 6 0 0 , 3 0 0 0 , 5 5 8 0 0, 0 ) ,
(0,0,2790,0,600 , 3000 ,0,5 1000), (0,0,2790 ,2550 , 600 ,3000,0,0 ), (0 ,134,244 ,0 ,600 , 3 20,0 ,80 ) ,
( 0 , 1 4 6, 0 , 0 600 ,80 ,320,1600), (0,146, 0,80,600 ,8 0 , 3 20,0 ), (6, 0, 5 1 0 , 0 , 4 8 0 ,7 2 0 , 0 ,5 4 0 0 ) ,
( 6, 0 , 5 1 0 , 2 7 0 , 4 8 0 , 72 0 , 0 , 0 ) , (6,14,244,0 ,480,440,0,80), ( 7, 0 , 0 , 0 , 4 6 0 ,3 4 0 , 26 0 0, 472 0 0) ,
(7 ,0,0 ,2360,460 ,340,2600 ,0 ), (7,0,124,0,460 , 340,1 20,80 ), ( 7 ,6 , 0 , 0 , 46 0 , 22 0 ,32 0 , 1 6 0 0) ,
(7, 6, 0, 8 0, 4 6 0, 22 0 , 3 2 0 , 0 ) , (0,1 34, 244, 4 , 600, 320,0,0 ), ( 0 , 1 4 6 , 4 , 0, 600 , 8 0 , 2 40 ,8 0) ,
(6, 1 4 ,2 4 4 , 4 , 4 8 0 , 4 4 0 , 0 , 0 ) , (7,0 ,124 ,4,460 , 340,120 ,0) , ( 7, 6,4 ,0,460,2 20, 240 , 8 0 ),
(0,146,4,4, 600 ,80 ,240 ,0) , (7 ,6,4 ,4,460 ,220,240 ,0)
10.5. EXERCISES 343

which are all integer, and thus the description is complete. We leave it to the reader to verify that
the description is also minimal, Le., that an ideal description of the convex hull of the example
problem has been obtained.

Exercise 10.5
(i) Let A be the (m + n) x (nm) constraint matrix of the transportation problem corresponding to
the constraints (1.1) and (1.2) of Chapter 1. Show that A is totally unimodular.

(ii) Let A = (aj)~:i':.·. ·. ',':: satisfy (1) that aj E {a, ±1}, (2) that every column of A has at most two
nonzero entries, and (3) that every column of A containing two nonzeros contains a +1 and
a -1 entry. Prove that A is totally unimodular.

(iii) Let A be defined like in (iO and assume that it satisfies (1) and (2), but not (3). Give examples
of such matrices that are not totally unimodular.

(i) The constraint matrix A of the transportation problem is a 0-1 matrix with exactly two nonzero
elements in each column both of which are 1. Moreover, we observe that the rows of the matrix
can be partitioned into two sets, R 1 and R 2 say, one corresponding to constraints (1.1) and the
other to constraints (1.2); see also Exercise 2 .3.
We prove by induction that this matrix is totally unimodular. Trivially, the 1 x 1 submatrices
have determinants either zero or one. For the 2 x 2 submatrices we have that either (a) all four
elements are 1 in which case the determinant is zero , or, (b) at least one element is zero in
which case the determinant is plus or minus the product of two elements and thus its value is
in {0 , ± 1}. Assume now that all k x k submatrices of A have determinants {0 , ±1}, and consider
a (k + 1) x (k + 1) submatrix A k+l of A. There are three possibilities: (a) A k+l has a zero column,
(b) A k H has a column. say t ; with exactly one nonzero element, say a~ = 1, and (c) all colu mn s of
A k +1 have precisely two nonzero elements, both equal to 1. Since in case (a) the matrix has a zero
column its determinant is zero. In case (b) we develop the determinant with respect to colu mn t
to get det A k+l = ± ai A k where A k is the k x k submatrix resulting from the deletion of column t
and row i from A k H . From the induction hypothes is det A, E {0 ,±1} , and thus since ai = 1 we
have detAk+l E {0 , ±1}. In case (c) we claim that the rows of the matrix are linearly dependent
and thus the determinant is zero. To prove that the rows of the matrix are linearly dependent
we notice that since each column of the matrix A k+l has exactly two ones, then one of these is
in a row in R 1 and the other in a row in R 2 • But then adding up the rows of A k+l that are in R 1
we obtain a vector which is also the sum of the rows of A k+l that are in R2 , Le. the rows of A k+l
are linearly dependent and the proof is complete.
(ii) We prove by induction that every k x k submatrix A k of A has a determinant of ± 1 or 0.
For k = 1 the assertion is true since all elements of A are in {a, ± 1} . For k = 2, we have that
either (a) all four elements are nonzero in which case the determinant is zero since one column
is a multiple of the other, or, (b) at least one element is zero in whi ch case the determinant is
plus or minus the product of two elemen ts and thus its value is in {a, ± 1}. Suppose now that
every k x k submatrix of A has a determinant of ± 1 or 0, and consider a (k + 1) x (k + 1) matrix
344 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

A k+ l. There are three possibilities: (a) A k+l has a zero column, (b) A k+l has a column, say t,
with exactly one nonzero element, say c], and (c) all columns of Ak+l have precisely two nonzero
elements, one +1 and one -1. Since in case (a) the matrix has a zero column and in case (c)
its rows add up to the zero vector, the determinant in both these cases is zero . In case (c) we
develop the determinant with respect to column t to get det A k+l = ±a~ det A k where A k is the
k x k submatrix resulting from the deletion of column t and row i from A k +l . From the induction
hypothesis detA k E {O,±I}, and thus since a~ = ±1 we have detAk+1 E {O,±I} and the proof is
complete.
(iii) Since condition (1) is satisfied, all I x 1 matrices are totally unimodular. However, for 2 x 2

matrices one gets already a counterexample. Consider e.g. the matrix A = (1 1)


-1 1
which
satisfies conditions (1) and (2) and it has a determinant of 2.

Exercise 10.6 (i) Show that the following 6 x 5 zero-one matrix A is not balanced. (ii) Using e.g.
the double description algorithm verify that A is both perfect and ideal:

1 1 0 0 0
o1 1 1 0
1 0 1 0 1
A=
00011
1 1 100
00111

(i) To show that A is not balanced it suffices to find a submatrix A' such that the polyhedron
P(A' , e /) has a fractional extreme point. Such a submatrix is the following matrix

1°°1) .
A' =
(1 1
011

One verifies that indeed the fractional point (~ ' ~ ' ~) is an extreme point of the polytope P = {x E
IR 3 : X l + X3 :S 1, Xl + X2 :S 1, X 2 + X3 :S 1, x ~ O} and thus the matrix A is not balanced.
(ii) Using the double description algorithm to find the extreme points of the polytope P = {x E
IR5 : Ax :S e, x ~ O} we get that P has the following extreme points: 0, u i for i = 1, .. . , 5, u 2 + u 5 ,
and u l +u4 , where u i is the i-th unit vector in IR5 . Since all extreme points of P(A, e) are integral
the matrix A is perfect.
Similarly, we find that the polyhedron P( - A , -e) = {x E IR5 : -Ax :S -e , x ~ O} has the
following extreme points: u 2 + u 5 , u l + u 4 , u 2 + u 3 + u 4 , u l + u 3 + u 5 and the unit vectors u i , for
i = 1, . .. , 5 as extreme directions. Since all extreme points of P( -A, -e) are integral, A is ideal.
10.5. EXERCISES 345

*Exercise 10.7
°
Given integers M o = < M 1 < ... < M n where n 2': 1 model the requirement that x be a discrete-
valued variable that assumes the values M«, M1 , etc. or Mn in two different ways using n auxiliary
zero-one variables. Compare the formulations that you obtained, like we did in the example of
Chapter 10.2. Are your formulations (locally) ideal? Which one of the formulations do you prefer in
a branch-and-bound or branch-and-cut context?

Let 5e E {a, I} for £ = 1, .. . , n. Then


n n
x= LMe5e, L 5e ~ 1, 5e 2': 0 and integer for £ = 1, . . . ,n
e=l e=l
expresses the discrete-value requirement on x . Let me = Me - Me-1 and ~e E {O, I} for £ = 1, . . . ,n .
Then
n
(F2) X = L me~e , 0 ~ ~n ~ ~n-1 ~ . . . ~ 6 ~ 6 ~ 1 and integer for £ = 1, . . . ,n
e=l
also formulates the problem correctly. To compare the two formulations we consider the polytopes
n n
P1 = {(8 , x) E JR.n+ 1 : x = LMe5e , L s, ~ 1 , 5e 2': O} and
e=l e=l
n
P2 = {(e,x ) E JR.n+l : x = L me~e , 0 < ~n < ~n- 1 < .. . ~ 6 ~ 6 ~ I}
e=l
corresponding to the linear programming relaxations of the two mixed-integer formulations. From
n n n
X = L M e5e = Lme L5j
e= l e=l j=e

we find that the transformation ~e = '£7=e 5j for 1 ~ £ ~ n maps any (8, x) E P1 into a point
(e, x ) E P2 • On the other hand, inverting the transformation, we find 5e = ~e - ~H 1 for 1 ~ £ ~ n - 1
and 5n = ~n' It follows that for every (e,x) E P2 we find that under this mapping (8,x) E P1 ,
l.e. , there exists a nonsingular linear transformation T such that P1 = TP2 • Consequently Fi
and F:;' are locally, i.e. , in the absence of any other constraints. equally "good" formulations of
the discrete-value requirement. Consider now the extreme points of Pl . Since there are besides
the nonnegativity conditions on 5e only two constraints and x is a free variable, every nonzero
extreme point of P1 is of the form (Ui , M i ) where u , E JR.n is the i- th. unit vector for i = 1, ... , n.
Consequently, in the absence of other constraints, both formulations are ideal formulations of
the problem. If used in a branch-and-bound or branch-and-cut context, we would prefer to use
Fi because branching on any 5e forces all other 5k to zero, while this is not necessarily the case
346 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

for the variables ~e. For more on analytical comparisons of different formulations see Padberg
and T-Y Sung, "An analytical comparison of different formulations of the traveling salesman
problem", Mathematical Programming, 52 (1991), 315-357, and "An analytic symmetrization of
max flow-min cut", Discrete Mathematics, 165/166 (1997), 531-545, also by Padberg and Sung.

*Exercise 10,8
Let ¢( x) be any nonlinear Junction over some finite interval lao , au]. Given a partitioning ao <
a1 < az < ... < ak = au oj lao , au] we approximate ¢ (x ) by a piecewise linear Junction ¢ (x ), see
Figure 10 .6, using the junction values be = ¢(ae) atthe points aefor 0 :::; £- :::; k.
(i) Write x = ao + Y1 + ...+ Yk and require that each Ye is a continuous variable satisfying
(a) O:::; Ye :::;ae-ae-1Jorl:::; £- :::;k and
(b) either Yi = ai - ai -1 for 1 :::; i :::; £- or YH1 = 0 for 1:::; £- :::; k - 1.
Formulate the approximation problem as a mixed zero-one program (Model I).

(ii) Write x = ao~o + a16 + ...+ ak~k and require that the continuous variables ~e satisJy
k
(c) L~e=l , ~e ?OJorO :::; £- :::; k, and
e=o
(d) at most two consecutive ~e and ~H 1 , say, are positive.
Formulate the approximation problem as a mixed zero-one program (Model II).
(iii) Show that Model I is locally ideal, i.e., that in the absence oj other constraints the linear
programming relaxation oJtheJormulation has mixed zero-one extreme points only.
(iv) Show that Model II is "worse" than Model I, i.e. , that its linear programming relaxation is
a polytope containing that one ojModel I properly.
(v) Modify Model II so that it becomes an idealJormulation oj the approximation problem
(vi) Discuss how to use the above in the more general context ojpiecewise linear approximation
oj separable nonlinear Junctions oj n variables, i.e., junctions oj the Jorm ¢ (X1,'" ,x n )
2:,}=1 ¢j (Xj ) where each ¢j (Xj) is a nonlinearjunction oj a single variable Xj .

(i) From (a) it follows that (b) can be replaced by the requirement
(b') either yi ? a, - ai-1 for 1 :::; i :::; £- or YH 1 :::; 0 for 1 :::; £- :::; k - 1.
We introduce zero-one variables ze and consider the mixed zero-one model
k k

x = ao + 'L...,
" Ye , :i.(X) = b0
'f' + 'L...,
" be - be-1 Ye , (1)
e=1 e=1 ae - ae- 1
Y1 :::; a1 - ao , Yk ? 0 , (2)
ui > (ae - ae-d ze , YH1 :::; (aH1 - ae) ze for 1 :::; £- :::; k - 1 , (3)
10.5. EXERCISES 347

x
ao al aZ a3 a4 a5 = au
Fig. 10.6. Piecewise linear approximation

where ze E {O, 1} for 1 :::; £ :::; k - 1 are the "n ew" 0-1 variables. For k = 1 there is no need for a zero-
one variable and (1), (2) describe the linear approximation correctly. For k = 2 the correctness
follows by examining the two cases where Zl = 0 and Zl = 1, respectively. The correctness of the
mixed zero-one model (1), . . . , (3) for the piecewise linear approximation of a nonlinear function
follows by induction on k : Model I has k real variables and k -1 zero-one variables.
From (3) every solution to (2) and (3) satisfies automatically 1 ::::: Zl ::::: Zz ::::: ... ::::: Zk-l ::::: 0,
thus the upper and lower bounds on the 0-1 variables are not required in the formulation. In
a computer model, however, we would declare the variables ze to be "b in a ry" variables rather than
general "integer" variables.
(ii) To formulate (c) and (d) as the set of solutions to a mixed zero-one program we introduce 0-1
variables ne for 0 :::; £ :::; k - 1 and consider the model
k k
X= L ae~e, ¢(x ) = L be~e , (4)
e=o e=o
o::; ~o ::; rJo , 0 ::; ~e ::; rJe-l + su for 1 ::; £ ::; k - 1 , 0 ::; ~k :::; rJk -l , (5)
k k-l

L ~e = 1 , L rJe = 1 , (6)
e=o e=o
rJe ::::: 0 for 1 :::; £ :::; k - 2 , (7)

where rJe E {O, 1} for 0 :::; £ ::; k - 1 are the "n ew" 0-1 variables. The nonnegativity of rJo and rJk-l is
implied by (5). For k = 1 the formulation (4), .. . , (7) of the problem at hand is evidently correct.
The correctness of Model II for k ::::: 1 follows inductively. Model II has k + 1 real variables and
k zero-one variables.
(iii) Denote the linear programming (LP) relaxation of Model I by

Fip = {(y , z) E RZk - 1


: (y , z) satisfies (2) and (3)}. (8)
348 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

We s cale the continuous variables of Model I by introducing new variables

y~ = yej(a£ - a£-d for 1 S es k. (9)

The constraint set defining Fip can thus be written a s

y~ S 1, y~ ~ 0, y~ ~ z£, y~+l S Z£ for 1 S es k - 1. (10)

The constraint matrix given by (10) is totally unimodular and hence by Cramer's rule every
extreme point of the polytope given by (10) has all components equal to zero or one, l.e., Model I
is locally ideal.
(iv) In the following we assume that k 2: 3, because for k S 2 either model is locally ideal. To
compare the two models we use the equations (6) to eliminate ~o and 1]0 from the formulation of
Model II. Using the variable transformation
k
y£ = (a£ - a£-I) L ~j for 1 S es k
j=£

and its inverse mapping that we calcu late to be

c. - Yj 1
<") - for 1 S j S k - 1 , ~k = Yk ,
aj - aj- l ak - ak-l

we obtain the following equivalent formulation of Model II :


k
X = ao + 2: Y£ , (11)
£=1

k-l
u, S al - ao , u. 2: (al - ao) 2 : 1]£ , (12)
£= 1
(a£ - a£-dYHl S (a£+l - a£)y£ for 1 S es k - 1, (13)

YHI
---'-- S 1]£-1 + 1]£ for 2 S e s k -1 , (14)
aHl - a£
Yk ~ 0 , Yk S (ak - ak- l) 1]k- l , (15)
1]£ 2: 0 for 1 S eS k - 2 , (16)

where 1]£ E {O, I} for 1 S e S k -1 . Note that (12) implies that L~':-; 1]£ S 1 and thus L~:::; 1]£ S 1 for
all L< j S k - 1 and feasible 0-1 values 1J£, 1 S eS k - 1. Using th e variable substitution
k- l
Zj = 2 : 1]£ for 1 S j S k - 1 ,
£=j
which is in tegrality preserving because its inverse is given by
1]j = Zj - Zj+l for 1 S j S k - 2 , 17k-I = Zk-l ,
10.5. EXERCISES 349

the above constraints (12), .. . , (16) can be written equivalently as follows:

YI ::::: (al - aO) ZI , (17)


for 1 ~ e~ k - 1, (18)
Y2
for 2 ~ e ~ k - 1, (19)

Yk ::::: 0 , Yk ~ (ak - ak-I)zk-I , (20)


e
Ze - ZHI ::::: 0 for 1 ~ ~ k - 2 , (21)

where for e = k - 1 we simply let Zk = 0 in (19) and the integer variables ze are 0-1 valued for
1 ~ e ~ k - 1. It follows that the (equivalently) changed Model II has now the same variable set
as Model I and we are in the position to compare the two formulations in the context of a linear
programming based approach to the solution of the corresponding mixed-integer programming
problem. Note that like in Model I the constraints (17), (20) and (21) imply that every feasible
solution to (17), .. . , (21) automatically satisfies 1 ::::: ZI ::::: Z2 ::::: ... ::::: Zk- I ::::: O. We denote the LP
relaxation of the (equivalently) changed Model II by

Fi~ = {(y ,z) EJR 2k- l: (y ,z) satisfies (17), .. . , (21)) , (22)

which like Fip is a polytope in JR2k-l . Let (y, z) E FIp, i.e. , (y , z) satisfies (2) and (3). Then (y , z)
satisfies (17) and (20) trivially. From (3) and ae - ae-I > 0 for all l ~ e ~ k we calculate

for 1 ~ e~ k-l and thus (18) is satisfied. From (2) and (3) we have YI ~ al -ao and Y2 ::::: (a2 -al)z2
and thus the first relation of (19) follows. Again from (3) we have Ye ~ (ae - ae-I) Ze-1 and
YHI ;::: (ae+l - ae)ZH I for all 2 ~ £ ~ k -1, where Zk = 0, and thus combining the two inequalities
we see that (19) is satisfied. Every (y ,z) E FIp satisfies 1 ;::: ZI ;::: Z2 ;::: . . . ;::: Zk- I ;::: 0 and thus (21)
is satisfied as well. Consequently, (y ,z) E FI~ and thus FIp ~ FI~. Let (y ,z) E FI~ be such that
z E {O,I}k- l . From (17), . . . , (21) it follows that Yi = ai - ai-I for i = 1, ... , h, 0 ~ Yh+l ~ ah+1 - ah,
Yi = 0 for i = h+2, . . . ,k, Zi = 1 for i = 1, .. . , h , Zi = 0 for i = h+l , .. . , k - l where 0 ~ h ~ k-1. From
(2) and (3) thus (y , z) E FIp, Now consider (y, z) given by YI = (al - ao)/2 , Yj = a for 2 ~ j ~ k,
ZI = Z2 = 1/2, and Zj = 0 for 3 ~ j ~ k - 1. It follows that (y ,z) satisfies (17), ... , (21), Le .,
(y , z) E FI~. But (y , z) violates the constraint Y2 ;::: (a2 - ad z2 of Model I and thus (y , z) tt FIp,
Since Fl~ is a polytope, it follows that Fl~ has extreme points (y , z) with z tt {O, 1} k-I. Thus Fl~
has extreme points with fractional components for z and indeed it has many such extreme points.
It is not overly difficult to characterize all of them, which we leave as another good exercise.
(v) By reversing the various transfor mation s that we have used to analyze Model II one obtains
from Model I the following Model III for the piecewise linear approximation problem:
k
¢;(x) = L be~e, (23)
e=o
350 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

k k- l
L~£ = 1, L1]£ = 1, (24)
£= 0 £= 0
k-l k k- l
L1]j2 L ~. >
J - L 1]j for 1 :S £ :S k - 2 , (25)
j=£ j =H l j =H l

°:S ~o :S 1]0' °:S ~k :S 1]k-l , (26)

°
where 1]£ E {a, I} for :s £ :s k - 1. Model III has at first sight little resemblance to the original
Model II except that the same set of variables is used. More precisely, let
PLP = He,7]) E 1R2k+l : (e,7]) satisfies (5), (6), (7)} ,
ptp= He, 7]) 2k
E 1R +l : (e,7]) satisfies (24) , (25), (26 )} ,
be the linear programming relaxations of Model II and III. It follows by construction and from
part (iv) that
ptpC PLP and ptp = conv(PLP n (1Rk+1 x ;z})) .
Model III shares locally the property of Model I of having all its extreme points (e,7]) satisfy
7] E {a, l}k. Model III can be used in lieu of Model I, but Model II should definitely be abandoned
despite its popularity in the textbooks. Model II just happens to be a poor formulation for the
piecewise linear approximation problem when linear programming methods are used.
(vi) If there are n variables of a separable nonlinear function, we can use the piecewise linear
approximation for each one of the functions to write down a mixed zero-one formulation for
the entire problem. Using e.g . Model lone gets an ideal formulation for the overall problem
-provided there are no other constraints constraining the variables X l, .. . ,Xn • In case there are
such constraints then the resulting linear programming relaxation can, of course, not be expected
to be an ideal formulation, t.e., it will typically have extreme points where the zero-one variables
assume fractional values.

*Exercise 10.9
(i) Consider the capital budgeting problem ofExercise 6.3. Suppose that the lending rate rl and
the borrowing rate rz for money are different (rl :s
rz l- Formulate the problem as a mixed
zero-one programming problem with variables Yi for money lent and Zi for money borrowed in
period i E {I, . . . ,T } .

(iO Give a number example to show that the linear programming relaxation of the model obtained
in part (i) has extreme points withfractional valuesfor the zero-one variables.
(iii) Using the notation ofExercise 6.3 define recursivelyfor i = 1, . . . ,T and S <::;; N = {I , . . . , n }
i i -I
f3i (S ) = max{O, - L(1 + rd-k(Sk + Lakj) + (r2 - rl) L(l + rd- l - k f3k(Sn ·
k=l j ES k=l
10.5. EXERCISES 351

Show that f3i (8) is the minimum borrowing need in period i if the projects with j E 8 are
accepted and those in N - 8 are rejected.

(iv) In the case oj a single project, i.e, if n = 1, show that it is optimal to approve the project if and
only if

where f3i is the "unavoidable" borrowing need (8 = 0) and f3i ( l ) the firm 's borrowing need
resultingfrom the approval of the project, i.e., that it is optimal to accept a project if and only if
its net present value exceeds the discounted lost interest due to the changed borrowing needs.

(i) Using the same notation as in Exercise 6 .3 we get the following mixed zero-one linear program:
n
max L Cj X j + YT - ZT
j=l
n
s.t. - L a l j Xj +Yl - Zl::; 81
j=l
n
- L a ij Xj - (1 + r l )Yi-l + (1 + r 2 )Zi-l + Yi - Zi ::; s , for i = 2, .. . ,T
j=l
Xj E {O, I} for j = 1, ,n
Yi , Zi ~ 0 for i = 1, ,T.
The objective function models the financial position of the firm as of the (beginning of) year T,
the "horizon" year, as it resu lts from project selection/rejection and the activities of borrowing or
lending funds. The constraints assure that these activities can be realized by the financial means
generated by the existing operations of the firm. Taking rl = r 2, i.e., assuming perfect capital
market conditions, we retrieve the model of Exercise 6.3.
(ii) Consider the problem of accepting/rejecting a single project with the data

an = - 4, a 2l = -2, a 3l = 6, Cl = 2, 81 = 1, 8 2 = 0, 83 = 0,
the lending rate of rl = 0.10 and the borrowing rate r2 = 0.20 . We get the capital budgeting
problem:
max 2Xl + Y3 - Z3
S.t. 4Xl + Yl - Zl ::; 1
2Xl - 1.1Yl + 1.2z l + Y 2 - Z2 ::; 0
-6Xl - 1.1Y2 + 1.2 z 2 + Y3 - Z3 ::; 0
Xl E {O, l }
Yi , Zi ~ 0 for i = 1,2, 3
Solving the relaxed linear program where Xl E {O, I} is replaced by 0 ::; Xl ::; 1 we obtain the
optimal solution
352 10. COMBINATORIAL OfYfIMIZATION: AN INTRODUCTION

Xl = 0.25. Yl = Y2 = Zl = Z3 = O. Y3 = 0.9. Z2 = 0.5


with an objective function value of 1.4 . The solution indicates that the firm should seek a 25%
"partnership" in the project - assuming. of course. that a "partner" taking the remaining 75%
can be found. In most investment situations this will not be possible because of the indivisibility
of the projects. Thus the imperfection of the capital markets leads to a "true" mixed-integer
problem that - contrary to the case of a perfect capital market, see Exercise 6.3 - typically can
not be solved by the associated linear programming relaxation.
In the example it is easy to find the optimal answer. Setting Xl = 0 we find Yl = 1. Y2 = 1.1.
Y3 = 1.21, Zl = Z2 = Z3 = 0 to be an optimal solution with an objective function value of 1.21 MUs
(monetary units) . On the other hand, setting X l = 1 we find the optimal solution Yl = Y2 = Y3 = 0,
Zl = 3, Z2 = 5.6. Z3 = 0.72 with an objective function value of 1.28 MUs. Thus to maximize its
financial position at the beginning of year 3 the firm should accept rather than reject the project.
It is instructive to see what the traditional project selection rules! yield in the case of this
number example: Applying the NPVrule with k = r2 and k = rl. respectively, we find NPV(r2) =
-4 - 2/1.2 + (6 + 2)/1.44 = -0.1111 which means that the project is rejected, whereas NPV(rl) =
0.7933 indicates that the project is accepted. The internal rate of return is calculated to be
r ~ 0.186. Since rl < r < r2. the project is accepted if we use the lending rate as the cut-off rate
whereas it is rejected if the borrowing rate is used as the cut-off rate. Finally. calculating the
profitability index using r2 as the discount rate PI = ((6 + 2)/1.44) /(4 + 2/1.2) = 0.9804 whereas
the same calculation for rl yields PI = 1.1364. The outcome depends thu s upon which rate of
interest is used as the "cost of capital". The question which one of the two rates to use is a subject
that has been treated in the financial literature. It is ill-posed because the optimal decision rule
depends not only on both rates rl and r2 and the cash flows associated with the project. but also
on the investment funds available in periods 1, . . . , T; see part (iv) below.
(iii) We have to show that Z£ = (3£ (S ) are optimal solutions to the linear programs

nnin ze
s.t . -Yl + Zl 2: - Sl - L alj
jES
(1 + rdYi-l - (1 + r2)zi-l - Yi + Zi 2: -Si - L a ij for i = 2, . . . ,T
jES
Yi , Zi 2: 0 for i = 1, . .. ,T.
IThe traditional project selection methods are the NPV. the IRR and the PI rules:
(I) Net Presen t Value (NPV) Rule : The formula is N PV = I:i:l ( l ~~)t - C where Ft is the net cash flow in period t, k is
the "cost of capital". C is the initial cost of the project and N is the project's expe cted life. The project is accepted
if its NPV is positive. If two projects are mutually exclusive the one with the higher NPV is chosen.
(2) Internal Rate of Return (IRR) Rule : IRR is the interest rate r which equates the net present value of the future
inflows/outflows associated with the proje ct to the initial cost, i.e., I:i:l ( l ~~)t - C = O. The project is accepted if
its r > k. If two projects are mutually exclusive the one with higher r is chosen.
(3) ProfitabUity Index (PI) Rule: PI is the relative profitability of the project. or the present value of the benefits per
dollar of cost, I.e., PI = PV(~~~~fits) . The project is a ccepted if its PI > 1. If two projects are mutually exclusive
the one with higher PI is chosen .
10.5 . EXERCISES 353

where e= 1, . . . ,T. Using l3i (8 ) we define


i i-1
>'i(8) = max{O, '2:::(1 + rt} i- k(sk + '2::: akj) - (r2 - r1 ) '2:::(1 + r1)i-1- kl3k(8)} .
k=l jES k=l

and claim that Zi = l3i (8) and Yi = >'i(8) for i = 1, . . . , T are feasible for the linear program. Note
that
i i -1
-Yi + Zi = ->' i(8) + l3i (8 ) = - L(1 + rd- k(sk + L akj) + (r2 - r1) L(1 + rd- 1- kl3k(S)
k=l jES k=l
for all 1 :::; i :::; T . By definition z; ~ 0, Yi ~ 0 and the first constraint is satisfied. Suppose
inductively that constraints 1,. . . , i are satisfied. We calculate for constraint i + 1

(1 + r1)Yi - (1 + r2)zi - Yi H + zi H = (1 + rt} (Yi - Zi ) - (r2 - r1)zi - Yi+1 + ziH =

(1 + r r) (t(l + rd-k(sk + '2::: akj ) - (r2 - ri) I:(1 + r1)i-1-k13k(8 )) - (r2 - r1)l3i(S)
k=l jES k=l
i+ 1 i
- L(l + r1)i+1-k(Sk + L akj ) + (r2 - r i) L(l + rd - kl3k (S) = - Si+1 - L ai+1j
k=l jES k= l jES
and thus feasibility of the solution follows. Note that Zl ~ max{O, - Sl - E jES a1j} and thus from
the feasibility of the solution it follows that Zl = 131(S ) is an optimal solution if e = 1. Suppose
inductively that zi = l3i (S ) is an optimal solution for i = 1, . . . ,e. The dual of the corresponding
linear program for i = e+ 1, augmented by the redundant constraints z; ~ l3i (S ) for i = 1, . . . ,e, is
T i
max '2:::(- Si - '2::: aij )Ui + L l3k(S) Vk
i= l jES k=l
s .t. - Ui + (1 + r1)Ui+1 :::; 0 for i = 1, ,T
Ui - (1 + r2)Ui+1 + Vi = 0 for i = 1, ,e
UH 1 - (1 + r2)uH 2 :::; 1
Ui - (1 + r2)Ui+1 :::; 0 for i = e+ 2, . .. ,T

where Ui ~ = 1, . . . , T, Ui = 0 for i > T and Vi ~ 0 for i = 1, . . . ,e. The solution u ; = 0 for


0 for i
i = = 0 for i = 1, ... ,e is feasible to this linear program and so is the solution
1, . .. ,T and Vi
Uk = (1 + rd+ 1- k for k = 1, . .. ,e + 1, Uk = 0 for k = e+ 2, . . . , T and Vi = (r2 - r1)(1 + rt}i-i
for i = 1, .. . ,e. Evaluating the objective function, it follows that the dual linear program has
a feasible solution with objective function value greater than or equaI I3H1(S) and hence by weak
duality, the assertion follows.
(iv) For notational simplicity we drop the subscript 1 and write x , c and ai for i = 1, . . . ,T. By
construction it follows that the inequalities Zi ~ l3i + ~i X are valid inequalities for the mixed-integer
program, where ~i = l3i (l) - l3i and i = 1, . . . ,T . Consider the linear program
354 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

max + YT - ZT
ex
s.t, -a1X + Y1 - Zl :S Sl
- aix - (1 + rdYi-1 + (1 + r2)Zi-1 + Yi - Zi :S Si for i = 2, ,T
D.iX - Zi :S - f3i for i = 1, ,T
o :S x :S 1, Yi 2 0 for i = 1, ,T.
We define a solution (x , y , z) as follows: For i = 1, .. . ,T let Zi = f3i + D.iX and
i i- 1
Yi = f3i + L(1 + rd i-ksk - (r2 - r i) L(1 + rd i- 1- kf3k
k=l k=l

+ {D. i + I=(1 +
k=l
rd -kak - (r2 - r 1) ~(1 + r di-1-k D.k } x
k=l

X = {1 if c + t,(1 + rd T- iai - (r2 - rd ~ (1 + r1? -1 - iD.i > 0

o otherwise
It follows that Zi 2 0 and by the definitions of f3i and f3i (1) that Yi(X = 0) 2 0 and Yi (X = 1) 2 0
for all i . Consequently Yi 2 0 for all i and 0 :S x :S 1. By calculation it follows that the 2T first
constraints are all satisfied at equality. The solution (x, y , z )is thus feasible and has an objective
function value of
T T-1
ex + YT - ZT = max{O, c + L(1 + r1?- i ai - (r2 - rd L (1 + rdT-1-iD.d
i=l i=l
T T-1
+ L (1 + r 1?-k sk - (r2 - r1) L (1 + r1?-1-k f3k '
k=l k=l
To prove the optimality of the solution we consider the dual linear program which is
T T
mm L SiUi - L f3i v i + W
i=l i=l
T T
s.t. - Laiui + LD.iVi +W 2 C
i=l i=l
Ui - (1 + r1)Ui+1 2 0 for i = 1, . . . ,T - 1
UT 2 1
-Ui + (1 + r2)ui+l - Vi = 0 for i = 1, . .. ,T - 1
UT -VT = - 1
for i = 1, . .. ,T .
We define Ui = (1 + r1)T - i for i = 1, .. . , T . Vi = (r2 - rd(1 + rd T - i- 1 for i = 1, . . . ,T - 1 and VT = o.
It follows that the first constraint reduces to
T T -1
W 2 c + L(1 + r 1? - iai - (r2 - rd L (1 + rd T- 1- i D. i
i=l i=l
10.5. EXERCISES 355

and the other constraints are all satisfied. Consequently, setting w equal to the maximum of zero
and the right-hand of the last inequality we have a feasible solution to the dual linear program
with objective function value
T T T T -l
I >iUi- L ,8iVi+W = L(1+rl f - isi-(r2-rdL(1+rdT-l- i,8i
i=l i=l i=l i=l
T T- l
+max{O, c + 2:(1 + rlf-iai - (r2 - rd 2:(1 + rlf- l - i~J
i=l i=l
which is the same as the one of the primal solution obtained above. Thus by weak duality the
decision rule is optimal. Write the "horizon value" c of the project as
00

c = 2: (1 + rdT- kak
k=T+l
where aT+l,aT+2, .. . are all future cash flows associated with the project. Then the optimal
decision for project approval can be restated as follows:
00 T -l
NPV(rl) = 2:(1 + rd- H1ai > (r2 - r l ) 2:(1 + r l )-i (,8i(l ) - ,8i )'
i=l i=l
The left-hand side of the inequality is the net present value of all net cash flows associated
with the project evaluated at the lending rate, while the right-hand side of the inequality can
interpreted as a "hurdle" that has to be applied to the traditional net present value rule; for more
see Padberg and Wilczak, "Optimal project selection when borrowing and .len dtng rates differ",
Mathematical and Computer Modelling, 29 (1999), 63-78.

*Exercise 10.10
You are given a "big" rectangular box B o with sides of length Dx , Dy and Dz units, respectively.
As shown in Figure 10.7 some corner of B o is selected to fix a (three-dimensional) coordinate
system with X, Y and Z axes as the frame of reference. In addition to Bo you have n "small"
boxes B ll . . . , B n having sides of length L 1i , L2i and L 3i units, respectively, where i = 1, . . . ,n. The
problem is to pack e.g. as many ofthe small boxes into B o as possible under the restriction that the
faces ofevery small box packed into B o are parallel to the faces ofBo (orthogonal placement). Other
than that there are no restrictions on the placement ofthe small boxes, but the model should permit
the user to eventually prescribe the packing and positioning in B o of certain small boxes. Also
desirable is to have the model allow for static balancing, i.e., the center of gravity of the packed
box B o shouldfaH near to the geometric center ofgravity of Be: Formulate the orthogonal packing
problem as a mixed-integer linear program.

Like in the case of the big box B o, for each small box B, select a corner of B, to fix a coordinate
system with axes 1,2 and 3 oflengths L 1i , L2i and L3i , respectively. In the following "b ox" refers
usually to a "small" box.
356 10. COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

Let
o~ = 1 ifaxis a oJboxi is parallel to the H axis. o~ = 0 otherwise.

where a E {1,2,3}. HE {X, Y, Z} and i = 1, . . . ,n. The orthogonal packing requirement is modeled
by the orthogonal placement constraints:

2:o~ = 2: oIT, 2:o~ = 2: 0IT, (1)


H H c< H

where H E {X, Y, Z} . a E {I, 2, 3} and i = 1, . . . ,n. Note that 'L-H off = 0 means that box B, is not
put into B«. To position the small box B i in the big one denote by
xf. xi . xf = the coordinates oj the center ojgravity oj B, in the XY Z coordinate system,
where i = 1, ... ,n. The xf . xi. xf variables are continuous ("flow") variables that must satisfy
domain constraints and non-intersection constraints.
Let ec<i = ~Lc<i for a E {I, 2, 3} and i = 1, . .. , n. The domain constraints are

(2)
c< o

where HE {X, Y , Z} and i = 1, ... ,n. These constraints ensure that the center of gravity of B , (if
put into the big box) is chosen so that the entire box fits into B«.
The space occupied by two boxes B, and B j that are put into B o is disjoint if -depending upon
the rotations of B, and B j , respectively- the coordinate xfI is "far enough" (to the left or to the
right) from the coordinate xf for one direction H E {X, Y, Z}. Say that box B, "precedes" or is
positioned "to the left" of s, along the H axis if xfI + 2.:c< fOliO;:;' + 2.:c< fC<j8~ : ;: xf . To express the
condition that the space occupied by any two boxes put into B o is disjoint. introduce the zero-one
variables
>.{j = 1 if box B, precedes B j along the H axis. >'{j = 0 otherwise,

where 1 ::;:: i ::j:. j ::;:: n and H E {X, Y, Z}. For 1 ::;:: i < j ::;:: nand H E {X ,Y, Z} the non-intersection
constraints are :

DH>'~ + 'L-c< ec<i8~ - 'L-c«DH - ec<j)o~ : ;: xfI - xf ::;:: 'L-c«DH - ec<do~ - 'L.c< ec<jO~ - DH>'{j , (3)
'L-H(>.{j + >.~) ::;:: 'L-H oIT , 'L-H(>.{j + >.~) ::;:: 'L-H of; , (4)
'L-H off + 'L-H of; : ;: 1 + 'L-H(>.{j + >.~) . (5)

The logical conditions (4) model the fact that if a box is placed to the left or to the right of another
box in B o• then both boxes must be in the B«. The conditions (5) express the fact that if two
boxes are put into B o• then along at least one of the coordinate axes the center of gravity of one
box must be to the left or to the right of the other box.
To justify the non-intersection constraints (3) note that the domain constraints (2) imply

c< c< c< c<


10.5. EXERCISES 357

+I
I
I
I

¥;f!
/ '" II

Fig. 10.7. Packing small boxes into B o

where H E {X , Y, Z}. Consequently. if >.{] = 0 or >.~ = O. then the corresponding non-intersection


constraint is redundant. If >.{] = 1 or >.~ = 1, then by (4) La o~ = La o~ = 1 in either case.
Hence. the non-intersection constraints express exactly what we want.
Let Wi 2 0 be a measure of the value that accrues if box B , is put into the big box B o. To
maximize the total value of the boxes put into B o the objective function is
n
maximize L Wi(L oiD. (6)
i= l H

The decision to include or not a small box into B o is part of the mixed-integer programming
model. Typically. the weight reflects some economic value of packing a small box into the big
one. as might be the case e.g. with the cargo of a spacecraft or of a ship container. If Wi = 1 for
all i = 1, . .. ,n then the model seeks to include the largest number of small boxes that fit into the
big one.
The model has 3n flow variables. 9n zero-one variables ~ for orthogonal placement and a total
of 3n( n - 1) zero-one variables X for the "left-right" positioning of the small boxes in the big box.
It has 4n equations and n inequalities for the orthogonality requirement, 6n domain constraints.
3n (n - 1) non-intersection constraints and 3n(n - 1)/2 logical constraints.
The model permits the user to prescribe the packing and the positioning of certain small boxes
in the big one. This is done by fixing variables. E .g. if axis a of box B, is to be aligned with an
"up" direction. then 8~i = 1 expresses this requirement (provided that the Z axis corresponds to
the "up" direction of B o). Given a solution with O~i = 1. a condition like "This side up" can then
be taken into consideration in a post-processor step.
The model permits the user also to incorporate static balancing constraints. Let mi be the
mass of box B, which we may assume to be uniformly distributed over Bi, More precisely. we
assume that the geometric center of gravity of box B , equals (or is sufficiently close to) the center
of gravity of the mass of Bi. Otherwise. the center of gravity of the mass of box B, is a linear
translation of the geometric center of gravity that has to be accounted for. To balance the cargo
in B o• the coordinates of the cen t er of gravity of the total mass loaded into B o must fall between
lower and upper limits l oH, upH . which are typically in the vicinity of the geometric center of
358 10 . COMBINATORIAL OPTIMIZATION: AN INTRODUCTION

gravity of Be : This gives six constraints of the form


n n n
H
eo L mi(L 8m < L mi(x{l + 6.{l) :::; upH L mi(L 8~)
~1 H ~1 ~1 H

where 6.{l is the difference of the coordinates of the two centers of gravity for each box and
coordinate direction H E {X, Y, Z} (6.{l = 0 in most cases). For more on this problem see Fasano.
"Cargo analytical integration in space engineering: a three-dimensional model". in Ciriani et al
(eds), Operational Research in Industry. Maclvllllan, 1999. and Padberg, "Packing small boxes into
a big box". to appear in Mathematical Methods oj Operations Research, 52 (2000).
A. Short-Term Financial Management

One of the tasks of a financial officer of a large corporation involves the management of cash and
related financial instruments on a short-term basis so as to produce revenues for the corporation
that otherwise would go to the banks. By investing excess cash into marketable securities (MS)
of various kinds revenue can be generated. selling such short-term investments prior to their
maturities can alleviate financial stress. Payments on accounts payables typically carry terms of
credit such as a discount of x% if paid within a certain (limited) number of days. the full amount
otherwise within a longer time period. Conventional wisdom has it that discountshould be taken
at any cost. but the short-term cost of capital to the firm due to other reasons may well exceed
the benefits to be derived from the discount. Thus the financial officer must decide on what
portion of the outstanding payables discounts should be taken. Other possibilities to alleviate
financial stress consists of borrowing against e.g. an open line of credit that most companies
have with their respective banks. In times of excess cash the question of debt retirement must be
weighed in. All of of this is to be done with a reasonably short- to medium-term time perspective
and thus we have to consider several time periods. While the immediate present, e.g. the next
two weeks. require a detailed planning, the decisions to be taken two to three months from now
impact the present, but in a less direct way. To capture their impact it suffices to aggregate
the future periods into time periods consisting of several days or weeks, with the corresponding
financial data being approximated by their totals for the respective time periods. Your job is
to determine the optimal cash management decisions for your firm using a linear programming
model similar to that of Y.Orgler, "An Unequal Period Model for Cash Management Decisions",
Management Science . 16(1969) B77-B92. The essentials of the problem have not changed since
that time and we recommend that you get a copy of that article to do this case.
Suppose that you have chosen a four month time horizon. divided unequally into four periods
of 10,20,30 and 60 days, respectively; t.e. period 1 has 10 days. period 2 has 20 days, etc .
The portfolio of marketable securities held by your firm by the beginning of the first period
includes 5 different sets of securities with face values $100 . $75. $750, $600 and $900 . The first
four securities mature in periods one to four, respectively, while the last one matures beyond
the horizon. All marketable securities can be sold prior to maturity at a discount, Le. at a loss
for your firm. Furthermore, in period 2 an additional amount of $100 in marketable securities
matures (not included in $75) which, however, has been "earmarked" for other purposes. The
only short term financing source (other than the sale of marketable securities from the initial
portfolio) is represented by a $850 open line of credit. Under the agreement with the bank. loans
can be obtained at the beginning of any period and are due after one year at a monthly interest
rate of 0.7 percent. Early repayments are not permitted. The costs of taking a loan that are
relevant for measuring the performance of the cash management decisions are the Fj , j= 1,2,3,4,
in Table A.l .
The payment decisions to be considered by you correspond to accounts payable with 2 percent
10 days, net 30 days terms of credit or for short, 2-10jN-30. All obligations prior to period 1 have
been met so that liability applies only within the time horizon of the four months and the firm
does not want to postpone any payments beyond the horizon. Predicted purchases of periods
1,2,3,4, total $400, $650, $1,400 and $2,300, respectively. It is assumed that all bills are received
in the first half of the respective periods and that payments are made at the beginning of the
360 A SHORT-TERM FINANCIAL MANAGEMENT

Table A. 1. Cost and revenue coefficients


Payments Securities Line of credit
Purchases Sales
C 12 = 0.0204 D 21 = 0.0010 E2 1 = 0.0020 F 1 = 0.0280
C 13 = 0.0000 D 31 = 0.0040 E 31 = 0.0050 F2 = 0.0257
C22 = 0.0204 D 4 1 = 0.0080 E4 1 = 0.0100 F 3 = 0.0210
C23 = 0.0000 D 5 1 = 0.0160 E5 1 = 0.0200 F4 = 0.0140
C33 = 0.0204 D 3 2 = 0.0025 E 32 = 0.0037

C34 = 0.0000 D 4 2 = 0.0070 E 4 2 = 0.0087


C44 = 0.0204 D52 = 0.0150 E 52 = 0.0190
D 4 3 = 0.0040 E 43 = 0.0050
D 53 = 0.0120 E 53 = 0.0150
D 54 = 0.0080 E 54 = 0.0100

Table A.2. Input data-requirement vector (in thousand $)


Accounts Payable Marketable Securities Net Fixed Cash Flows
in Initial Portfolio
£1 = $400 8 1 = $100 N 1 = $ - 1,000
£ 2 = $650 82 = $75 N 2 = $ - 1,500
£ 3 = $1,400 8 3 = $750 N 3 = $2, 000
£ 4 = $2, 300 8 4 = $600 N4 = $4,500
85 = $900
Line of Credit: R=$850 Minimal Cash Balance: Mj =$O for j=1.2,3,4
Beginning Cash Balance: Bo=$100Average Daily Cash Balance: A=$100

periods. (See the coefficients O i j in Table Al for more detail: Any portion of the "bu n dle" of bills
in period 1 can be paid either at the beginning of period 2 with a discount of 2%, I.e. 0 12 = 0.0204,
or it can be paid at face value with no discount in period 3, Le. 0 13 = 0.0. It remains to be decided
upon what part of this bundle of bills to pay in period 2 or in period 3 etc.)
The costs and revenues associated with the transactions in marketable securities are displayed
in the D i j and E i j columns of Table AI. For instance, investing $100 in the first period into
marketable securities that mature in period 4 yields a revenue of $D 41 • 100 or 80 cents, whereas
obtaining $ 10 0 by selling marketable securities that mature beyond the horizon already in period
2 costs $E52 . 100 or $1. 9 0 in terms oflost yield and transaction costs.
Finally, suppose that the initial cash balance is $100 and that the n et fixed (or exogenous)
cash flows are expected to equal - $1,000, - $1, 500, $2 ,0 0 0, and $4 ,5 0 0 in periods 1,2,3 and 4,
respectively. The minimum cash balance requirement is $0 for all four periods. Also you wish to
incorporate a requirement that the average daily cash balance be at least $ 10 0.
A. SHORT-TERM FINANCIAL MANAGEMENT 361

Table A.3. Rule-based balanced cash budget

Period 1 Period 2 Period 3 Period 4


Cash Balance BoP 100.00 0 .00 0.00 0.00
Total Receipts 100 .00 2.299.90 1) 2,000.00 4 .500.00
Total Cash Available 200.00 2 .299.90 2,000.00 4.500.00
Total Disbursements 1,000.00 2,349.90 2) 1,554.763 ) 2,254.004 )
Cash Balance EoP (800.00) (50.00) 445.24 2 ,246.00
Minimum Cash Balance 0.00 0.00 0.00 0.00
Excess (Shortage) (800.00) (50.00) 445.24 2,246.00
Invest 0.00 0.00 445.24 2,046.005)
Borrow 800.00 50.00 0.00 0.00
1) From selling marketable securities: 75 .00+747.23+594.78+882.90.
2) Net fixed cash flow of $1.500 plus 849.90 against Accounts Payable.
3) Liability L3 with discount plus ou tstanding amounts on liabilities L1 and L 2.
4) Liability L4 with discount.
5) To maintain an average daily cash balance of $100.

Follow meticulously the following suggestions to organize your work and answer all the question
with supporting numerical analysis.

1. Please use the notation (symbols. etc.) oj Orgler's paper cited above. Write down explicitly the
definitions oj all variables, the objectivefunction and the constraints oj a linear programming
jormulation oj the above problem

2. Discuss several possibilities to "balance" the cash budget in periods 1,2.3 and 4 in terms oj
their respective cost, i.e. find at least one feasible solution to the linear program "by hand";
see the addendumjor advice.

3. How does a minimum cash balance requirement oj $100 in all jour periods change your
jormulation obtained under question 1?

4. Solve the linear programming problem using any standard linear programming package with
and without an average daily cash balance requirement. Solve the linear program with a mini-
mum cash balance requirement oj$100 in alljour periods. How much does the "earmarking"
oj$100 oj marketable securities in period 2 cost yourfirm? Summarize yourfindings in words
and discuss briefly the dual solution to your linear programfrom a managerial point ojview.

5. Making suitable assumptions about liabilities (all liabilities incurred on thefirst day oj a period.
discount goes from the 2nd day to the number oj days specified) how does your jormulation
change if your terms ojcredit are 1-10/N-60 in lieu ojthe ones mentioned in the text? How do
the objective junction coe1ficients change? What else must change in the linear programming
jormulation? What happens if you assume that 50% oj your bills in each period have the
terms ojcredit 1-10/N-60 and the remaining 50% the terms oj credit 2-10/N-30?
362 A. SHORT-TERM FINANCIAL MANAGEMENT

Addendum: The following serves as an example for "balancing the cash budget" in the cash
management task. Suppose your company has adopted the following cash budgeting rules:
1. Take all discounts (if at all possible).
2. Use your line of credit fully .
3. Delay selling marketable securities as long as possible, but sell if necessary to get the
discount.
With terms of credit of 2-10jN-30 this results in the cash budget shown in Table A.3. The
objective function value of this cash budget is $64.62 where the reve nue = 91.308 + 21.711
= 113.019 and the cost = 23.685 + 24.714 = 48.399, which is not optimal. BoP stands for
"beginning of the period" and EoP likewise.

A.I Solution to the Cash Management Case


1. Following Orgler's notation we define the following variables
Xgj amount paid in period j for liabilities incurred in period 9
Yij amount invested in period j in securities maturing in period i
Zi j amount sold in period j from securities maturing in period i
wg amount borrowed in period 9
bj cash balance in time period j
For completeness, we repeat the needed notation from that paper:
A average cash balance required over all periods
Cgj net return per dollar allocated to payment X gj
Dij net return from investment in marketable securities Y i j
Eij lost return from sold securities Zij
Fg cost per dollar borrowed in period 9
Lg total amount of liability incurred in period 9
Nj fixed net cash flows (other receipts less other payments in period j
R total amount of short-term financing available
Si total maturity value of initial securities maturing in period i
a gj = 1 + Cgj
di j = 1 + Di j
eij = 1 +Ei j
For our problem the various constraints areas follows .
Payments: The general form of the constraints for the payments is
4
2: agjxgj = t., for 9 = 1, . . . , 4.
j=g
AI. SOLUTION TO THE CASH MANAGEMENT CASE 363

E.g. for 9 = 1 we know that the liabilities incurred in period 1 can be paid in period 2 with
a discount of 2% or in period 3 at face value (see the first column of Table AI). Therefore we
have the constraint 1.0204x 12 + X1 3 = 400.
Line of credit: The total amount of short term financing over the four periods should not exceed
the available line of credit , i.e. ,

Securities sales: The general form of these constraints is


i- I

L e ij Zij ::; s. for i = 2, .. . ,5 .


j= 1

E.g. for i = 2 we know from Table Al that the securities maturing in period 2 can be sold
in period I at a discount, yielding e~ l of the face value. Thus the corresponding constraint is
1.002 z 21 ::; 75.
Cash balance: The average balance requirement is imposed by the following constraint

Cash flows: The cash-flows constraint is in general form:


5 9 5 g-1 g-1
bg - bg- 1 = L Zi g +Wg - L X gj - L Y ig + s, - L e gj z gj - L dgj Y gj +N g
i= g+ 1 j =1 i=g+1 j=1 j=1

which e.g. for 9 = 1 gives the following constraint

b1 - 100 = Z21 + Z31 + Z4 1 + Z51 + WI - Y 21 - Y 31 - Y 41 - Y 51 + 100 - 1000 .

Objective function: The objective is to maximize the net revenue over all periods, t.e. ,
4 4 5 4

max L CgjXgj +L L (Di jYi j - E i j Zi j) - L Fgwg .


j=1 j= 1 i =j+l g= 1

All the variables in our model are nonnegative. The linear programming problem (in CPLEX lp
format) is
maximize
0.0204 x 12 + 0.0 204 x22 + 0.0204 x33 + 0.0204 x44
+ 0.0 01 y 21 + 0.004 y31 + 0.0025 y 3 2 + 0.008 y41 + 0.007 y42
+ 0.004 y4 3 + 0.016 y51 + 0.015 y52 + 0 .01 2 y53 + 0 .008 y54
- 0 . 0 02 z21 - 0.005 z 3 1 - 0.0037 z32 - 0.01 z41 - 0.0087 z42
- 0 .005 z43 - 0.0 2 z51 - 0.019 z52 - 0.015 z53 - 0.01 z54
- 0 .0 28 w1 - 0 .0257 w2 - 0.021 w3 - 0.014 w4
subject to
(1) 1.0204 x 1 2 + x 1 3 = 400
364 A. SHORT-TERM FINANCIAL MANAGEMENT

(2 ) 1 .0204 x22 + x23 = 650


(3) 1.0204 x33 + x34 = 1400
(4) 1.0204 x44 = 2300
(5) w1 + w2 + w3 + w4 <= 850
(6) 1. 002 z21 <= 75
(7) 1.005 z31 + 1.0037 z32 <= 750
(8) 1.01 z41 + 1.0087 z42 + 1.005 z43 <=600
(9) 1.02 z51 + 1.019 z52 + 1.015 z53 + 1 .01 z54 <= 900
(10) 10 b1 + 20 b2 + 30 b3 + 60 b4 >= 12000
(11) b1 - z21 - z31 - z41 - z51 + y21 + y31 + y 4 1 + y51 - w1 -800
(12) b2 - b1 + x 1 2 + x22 - z32 - z42 - z52 + y32 + y42 + y52 - w2
- 1.001 y21 + 1.002 z 21 = -14 25
(13) b3 - b2 + x13 + x23 + x33 - z43 - z53 + y43 + y53 - w3
+ 1.005 z31 + 1.0037 z32 - 1 .004 y31 - 1.0025 y32 = 2750
(14) b4 - b3 + x34 + x44 + y54 - z54 - w4 + 1.01 z41 + 1 .0087 z42
+ 1.005 z43 - 1.008 y41 - 1.007 y42 - 1.004 y43 = 5100
end

2. Any feasible solution to the linear program given above "balances" the budget. The solution
suggested in the Addendum (page 383) corresponds to the following solution in our variables:
XI2 = 392, X 22 = 457.9,
X 23 = 182.76, Y53 = 445.24, Y54 = 2046, Z32 = 747.23, Z42 = 594.78, Z5 2 = 882.9,
WI = 800, W2 =
50 while all other variables are zero. One verifies easily that for this solution
the objective value is indeed 64.62. It should be noted that there are more than one solution
corresponding to the one provided in the addendum. In particular, the variables X I2 , X22 , XI 3 , X 23 ,
should satisfy the following constraints X I2 + X 22 = 849.9, 1.0204 xI 2 + X1 3 = 400 and 1.0204x 22 + X2 3 =
650. Since variables XI2 and X22 have the same coefficient in the objective function, it suffices to
set X I3 = 0 to get a feasible solution. Also the variables Y 43 and Y53 should satisfy Y 43 + Y 53 = 445.24.
Since Y53 has a bigger coefficient in the objective function and we are maximizing, we set Y 43 = O.
It is interesting to see what the minimum net return over all periods turns out to be. Suppose
you borrow the full amount of credit in period 1 (since it it more expensive), sell all securities
in the initial portfolio at cost in period I, and make all payments in periods where there is no
discount. All these are irrational decisions, but, remember, we want to minimize the net return!
These decisions correspond to the following variable settings: W I = 850, X I3 = 400, X 23 = 650,
X3 4 = 1400, X4 4 = 2254.02, Z2 I = 74.85, Z3 I = 746.27, Z4I = 594.06, Z5 I = 882.35, and, of course, all y
variables are set to zero. This yields bI = 2347.53, b2 = 847.53, b3 = 1797.53, and b4 = 2643.51 and the
net return is - 5.29. Thus the worst case scenario is that the company will lose 5.29 thousand
dollars. :Of course, we can calculate the corresponding balanced cash budget under this scenario
by simply minimizing the objective function of the above linear program and then interpret the
numerical output - which is precisely what we did .
3. To model the requirement for a minimum cash balance of $100 for each period, we add the
following constraints to our problem:

for j = 1, . . . , 4.

Notice that in this case the cash balance constraint of part 1 is implied by these new constraints
and thus may be deleted from the linear program.
AI. SOLUTION TO THE CASH MANAGEMENT CASE 365

Table A4. Optimal solutions for LPI , LP2, and LP3

Objective 65.70 67.27 63.89


X 12 211.64 392.00 392.00
X22 637.01 457.49 357.39
X13 184.04
X23 183.17 285.32
X33 1372.01 1372.01 1372.01
X44 2254.02 2254.02 2254.02
Y21 82.35
Y43 443.95 444.81 342.67
Y54 2604.44 2692.58 2590.02
Z32 747.24 747.24 747.24
Z41 594.06 17.65
Z42 594.83 577.16
ZSI 882.35 882.35 882.35
W2 850.00 850.00 850.00
b1 676.41 100.00
b2 100.00
b3 100 .00
b4 87.26 100 .00

4. We use CPLEX to solve the linear programming problems described in the previous parts. We
refer to the problem of part 1 as LP1. LP2 is the LPI after dropping the cash balance constraint
(10). LP3 is the model of part 3. In Table A4 we summarize our findings.
The optimal solution for LPl, i.e.. the model of part I, generates a net revenue of 65.70
thousand dollars. One can break down the objective function to its components as follows.
The net revenue is broken down to a total revenue of 113.90 thousand dollars (payments and
investments) and a total cost of 48.19 thousand dollars (sale of securities prior to maturity and
use of credit line). 91.29 thousand dollars of the total revenue are generated by payments (xgj
variables) and 22 .61 thousand dollars from investments in marketable securities (Y ij variables) .
26.34 thousand dollars of the total cost are incurred from selling marketable securities prior
to their maturity (Zij variables), and 21.85 thousand dollars are incurred from the use of the
credit line (w g variables). Table A5 shows the balanced cash budget for LPI annotated like in
the Addendum.
From the run LP2 we find that the requirement for an average daily cash balance of $100 costs
the company 67.27 - 65.70 = 1.57 thousand dollars for the 6-month period, while from the run of
LP3 we see that the requirement for an end of period cash balance of $100 for each period costs
the company 67.27 - 63.89 = 3.38 thousand dollars for the same period.
366 A. SHORT-TERM FINANCIAL MANAGEMENT

Table A.5. Optimal balanced cash-budget

Period 1 Period 2 Period 3 Period 4


Cash Balance BoP 100.00 676.41 0.00 0.00
Total Receipts 1,576.41 1 ) 822.243 ) 2.000.00 4.945.72 6 )
Total Cash Available 1.676.41 1,498.65 2.000.00 4.945.72
Total Disbursements 1,000.00 2.348.65 4 ) 1.556.055 ) 2.254.02 4 )
Cash Balance EoP 676.41 (850 .00) 443.95 2.691.70
Minimum Cash Balance 0.00 0.00 0.00 0.00
Excess (Shortage) 676.41 2) (850 .00) 443.95 2.691.702 )
Invest 0.00 0.00 443.95 2.604.44
Borrow 0.00 850.00 0.00 0.00
1) From selling marketable securities (MS): Z4 1 = 594.06 and Z5 1 = 882.35 early.
2) To maintain an average daily balance of $100.
3) $75 from maturing MS and Z32 = 747.24 from selling MS early.
4) Net fixed cash flow plus $848.65 against Accounts Payable.
5) Payments X 13 = 184.04 plus X 33 = 1, 372.01 against Accounts Payable.
6) Net fixed cash flow $4,500 plus maturing MS from investment in Period 3 of $445. 72.

The optimal dual variables for the run LP1 in the order of the above constraints (1), .. . , (14)
are as follows (we round to four digits after the point): -0.0120. -0.0120. 0.0082. 0.0122. 0.0070.
0.0000. 0.0168. 0.0158. 0.0137. -0.0001. 0.0340. 0.0327. 0.0120. 0.0080. The values of these variables of
the linear programming problem can be used for gutding several managerial decisions. For the
payment constraints (constraints (1)-(4) in the model of part 1) the dual variables are unrestricted
in Sign. A positive value indicates an increase in the net revenue for an increase of payments in
the corresponding period. Therefore. the net return would increase with payments on purchases
scheduled in the last two periods. The dual variables of these constraints can be used for
scheduling purchases and to evaluate managerial decisions such as the "stretching" of payments.
l.e.. the postponement of payments beyond their due date as given by the terms of credit. Such
behavior on the part of the company can of course. lead to a loss of goodwill on the part of the
suppliers. but it is a managerial choice anyway. More precisely. in the current scenario stretching
or postponing $100 worth of payments on liabilities due in period 2 to period 3 can be expected
to save the company about -100 x (-0.0120) + 100 x 0.0082 = 2.02 thousands of dollars.
For the borrowing constraint (constraint (5) in the model of part 1) the dual variable is positive
only when all available credit line has been exhausted. Then this dual variable suggests the
interest that we are willing to pay to get extra credit given equal conditions otherwise. In the case
of the model of part 1 this dual variable is 8 = 0.007. This indicates that the current arrangement
with the bank is favorable for the company. Le.. the company may be willing to pay up to 0.7% per
120 days (or roughly 0.175% per month) more in interest to the bank. since any additional dollar
obtained from the bank given the current conditions increases the profit from cash management
by 0.7 thousand dollars in a certain range.
A.I. SOLUTION TO THE CASH MANAGEMENT CASE 367

The dual variables of the securities sales constraints (constraints (6)-(9) in the model of part
1) equal ')'1 = 0.0000, ')'2 = 0.0168, ')'3 = 0.0158, ')'4 = 0.0137 in the run LPI and give the increase
in the net return if the corresponding amount of maturing securities increases. However. the
amount Si of maturing marketable securities affect the corresponding cash flow constraints as
well. "Earmarking" of $100 worth of marketable securities in a particular period means that both
the right-hand side of the corresponding security-sales constraints and the right-hand side of
the corresponding cash flow constraints will increase by $100. Thus, the earmarking of $100 of
marketable securities maturing in period 2 costs the company roughly 100(0.0000 + 0.0327) = 3.27
thousand dollars in the current scenario.
The dual variable of the average cash balance constraint (constraint (10) in the model of part
1) is nonpositive indicating that increasing the average cash balance will decrease the net return
since it will reduce the investment opportunities or increase financing costs.
Finally, the dual variables of the cash flow constraints (constraints (11)-(14) in the model of
part 1) give the increase in the net return resulting from an increase in the net cash flows. The
values can be used to evaluate the effects of changes in the terms of trade credit on accounts
receivable or a change in the method of collecting receivables.
5. Changing the terms of credit from 2-10/N-30 to 1-10/N-60 has the following implications to
the model of part 1:
• Since payments for liabilities incurred up to 60 days before are allowed. we need to introduce
variables X 14 and X 24 •
• The objective function coefficients of the variables X 12 , X2 2, X 33 . and X4 4 have to change to
1/(1 - 0.01) - 1 = 0.0101. and their coefficients a gj have to change to 1/(1 - 0.01) = 1.0101.
The LP of part 1 will therefore become:
maximize
0.0101 x12 + 0 .0101 x22 + 0.0101 x33 + 0 .0101 x44
+ 0 .001 y21 + 0 .004 y31 + 0.0025 y32 + 0.008 y41 + 0.007 y42
+ 0.004 y43 + 0.016 y51 + 0.015 y52 + 0 .012 y53 + 0.008 y54
- 0.002 z21 - 0.005 z31 - 0.0037 z32 - 0.01 z41 - 0.0087 z42
- 0 .005 z43 - 0.02 z51 - 0.019 z52 - 0 .015 z53 - 0 .01 z54
- 0.028 w1 - 0 .0257 w2 - 0.021 w3 - 0.014 w4
subject to
(1) 1.0101 x12 + x13 + x14 = 400
(2) 1.0101 x22 + x23 + x24 = 650
(3) 1 .0101 x33 + x34 1400
(4) 1 .0101 x44 = 2300
(5) w1 + w2 + w3 + w4 <= 850
(6) 1 .002 z21 <= 75
(7) 1. 005 z31 + 1. 0037 z32 <= 750
(8) 1.01 z41 + 1 .0087 z42 + 1.005 z43 <=6 0 0
(9) 1.02 z51 + 1.019 z52 + 1 .015 z53 + 1.01 z54 <= 900
(10) 10 b1 + 20 b2 + 30 b3 + 60 b4 >= 12000
(11) b1 - z21 - z31 - z41 - z51 + y21 + y31 + y41 + y51 - w1 -800
(12) b2 - b1 + x12 + x22 - z32 - z42 - z52 + y32 + y4 2 + y52 - w2
- 1 .001 y21 + 1.002 z21 = - 14 2 5
358 A. SHORT -TERM FINANCIAL MANAGEMENT

(13) b3 - b2 + x13 + x23 + x33 - z43 - z53 + y43 + y53 - w3


+ 1.005 z31 + 1.0037 z32 - 1.004 y31 - 1.0025 y32 = 2750
(14) b4 - b3 + x14 + x24 + x34 + x44 + y54 - z54 - w4 + 1.01 z41
+ 1.0087 z42 + 1.005 z43 - 1 .008 y41 - 1.007 y42
- 1.004 y43 = 5100
end
Using CPLEX to solve this LP we find that the maximum net return with the new credit terms is
25.59 thousand dollars. Thus, changing the credit terms from 2-1O/N-30 to I -1O/N-50 results
to a loss of 65.70 - 26.69 = 39.01 thousand dollars. This is so, mainly because the discount for
early payments is halved for 2% to 1%. The optimal solution is the following: X 33 = 1386.00,
X4 4 = 2277.00, Y4 3 = 614.00, Y S4 = 1789.45, Z3 1 = 523.59, Z32 = 222.97, Z4 1 = 594.06 , ZSI = 882.35,
W2 = 2.03, X 14 = 400.00, X24 = 650.00, b: = 1200.00.
If we have two types of payments, 2-1O/N-30 and 1-1O/N-50, we have to introduce a third
index h to our payment variables. Let X hg j be the amount paid in period j for liabilities incurred
in period g with the h-th type of payment. In our case, h takes the values I and 2, indicating
terms of credit 2-IO/N-30 and 1-1O/N-50, respectively. The other changes that have to be made
to the model of part I are clear. First, we have two groups of constraints (1)-(4), one for each type
of payments. Since 50% of the liability L g is paid with the first type of payment, and the rest with
the second, we have L 1g = L 2g = L g /2 . Second, we replace X gj by Xl gj + X 2gj wherever both X l gj
and X2gj are properly defined. The linear program is as follows:
maximize
0.0204 xl12 + 0 .0204 x122 + 0.0204 x133 + 0 .0204 x144
+ 0.0101 x212 + 0 .0101 x222 + 0.0101 x233 + 0 .0101 x244
+ 0.001 y21 + 0.004 y31 + 0.0025 y32 + 0.008 y41 + 0 .007 y42
+ 0 .004 y43 + 0.016 y51 + 0.015 y52 + 0.012 y53 + 0.008 y54
- 0 .002 z21 - 0.005 z31 - 0.0037 z32 - 0.01 z41 - 0.0087 z42
- 0 .005 z43 - 0.02 z51 - 0.019 z52 - 0.015 z53 - 0.01 z54
- 0.028 w1 - 0.0257 w2 - 0 .021 w3 - 0.014 w4
subject to
(1) 1 .0204 xl12 + xl13 200
(2) 1 .0204 x122 + x123 325
(3) 1.0204 x133 + x134 700
(4) 1 .0204 x144 = 1150
(la) 1.0101 x212 + x213 + x214 200
(2a) 1.0101 x222 + x223 + x224 325
(3a) 1.0101 x233 + x234 = 700
(4a) 1.0101 x244 = 1150
(5) w1 + w2 + w3 + w4 <= 850
(6) 1. 002 z21 <= 75
(7) 1 .005 z31 + 1 .0037 z32 <= 750
(8) 1.01 z41 + 1.0087 z42 + 1.005 z43 <=600
(9) 1.02 z51 + 1.019 z52 + 1.015 z53 + 1.01 z54 <= 900
(10) 10 b1 + 20 b2 + 30 b3 + 60 b4 >= 12000
(11) b1 - z21 - z31 - z41 - z51 + y21 + y31 + y 4 1 + y51 - w1 = -800
(12) b2 - b1 + xl12 + x212 + x122 + x222 - z32 - z42 - z52 + y32
A.I. SOLUTION TO THE CASH MANAGEMENT CASE 369

+ y42 + y52 - w2 - 1 .001 y21 + 1 .002 z21 = -1425


(13) b3 - b2 + xl13 + x213 + x123 + x223 + x133 + x233 - z43 - z53
+ y43 + y53 - w3 + 1.005 z31 + 1.0037 z32 - 1 .004 y31
- 1 .0025 y32 = 2750
(14) b4 - b3 + x214 + x224 + x134 + x234 + x144 + x244 + y54 - z54
- w4 + 1.01 z41 + 1.0087 z42 + 1.005 z43 - 1.008 y41
- 1.007 y42 - 1.004 y43 = 5100
end
Using CPLEX we find that the maximum net return in this case is 46.82 thousand dollars. Thus.
changing the credit terms from 2-10 IN-30 to 1-10 IN-60 for 50% of the bills and 2-10 IN-30 for
the other 50%. costs 65.70 - 46.82 = 18.82 thousand dollars. The optimal solution is: X 1l2 = 196.00.
X l22 = 318.50. X I33 = 686.01. X I 44 = 1127.01. X233 = 693.00. X 244 = 1138.50. Y4 3 = 620.99, Y 54 = 2332.97.
Z3I = 523.59, Z3 2 = 222.97. Z4 I = 594.06, Z5I = 882.35. W2 = 516.53, X21 4 = 200.00. X 224 = 325.00.
bI = 1200.00.
B. Operations Management in a Refinery

A refinery produces and sells primarily oils. fuels of various grades and quality and side products
such as e.g. asphalt. To produce these items from the raw inpu ts - crude oils of different varieties
- energy in the form of hot steam and electricity is required to set the production process and the
necessary chemical reactions into motion. Rather than buying the required steam and electricity
entirely from an outside supplier - an electricity company. for instance - refineries produce
the necessary steam themselves by burning some of the fuel they produce. Burning fuel to
produce heat for steam generation reduces the amount of sellable output, but it leaves enough
hot steam to be used e.g. for the production of electricity. Indeed. "hot steam" in a refinery is not
a homogeneous commodity: when it is produced hot steam is generally "high pressure" steam
that has to be "slowed down" to be of use in some parts of the production process. Slowing down
steam is done by passing the steam e.g. through turbines. a process from which electricity can
be produced as a side product. The production of electricity on its own premises reduces in turn
the amount that the refinery has to buy from a supplier. Moreover. in case surplus electricity is
generated by the refinery. it becomes a sellable product that can generate revenues just like the
refinery's primary output products oils. fuels. etc.
Thus an integrated refinery complex - i.e. one that has its own burners. boilers and the like
for steam generation. turbogenerators, turbines and the like to produce the different kinds of hot
steam required, motors for electricity generation. etc - is faced with the problem of trading off
consumption of some of its own products against the cost of purchasing the electricity it needs
from an outside supplier. Through the generation of electricity an integrated refinery achieves at
the same time a higher degree of overall usage of raw energy. and thus of energy conservation in
the large sense of the word. because of the productive use of residual energy in the form of hot
steam that would be lost otherwise.
In what follows we describe the steam production. distribution and usage system in a typical
refinery and the job at hand is to formulate and solve the problem of optimizing the refinery's
daily operations related to steam by linear programming.
The term "production unit" refers in the following to the various devices of the production
process of the refinery such as the distillation column, the cracking production unit, the reformer.
etc. See also Figure 1.1 of Chapter 1.2.2 on this point and Tables B.l and B.2 below where the
production units are labeled UOl ....,U27. Their respective proper functions are immaterial for
the problem that we are addressing.

B.1 Steam Production in a Refinery


The steam production. distribution and usage system in a refinery can be described like in
Figure B.l where you find a flow-chart of the main steam production system.
High pressure steam is produced in the boilers (BOILERS) and the gas turbogenerators (GTG) .
In the boilers high pressure steam is produced by heating water. The necessary heat is produced
by burning fuel oil stored in tanks (FUELTANKS) which is dispersed by steam in a device called
fuel atomizer (BFA) after it has been preheated in the fuel preheater (BFP). The water is de-ionized
water that has gone through a device. called the deaerator (DEAERATOR), and then has been
372 B. OPERATIONS MANAGEMENT IN A REFINERY
M M H M H L L H L V HM M L LV LM V L
X29
X28 X30 X31

CMO
OVO
OMO
X44

1 X45
CH
X46 CMN
X47
OVN
XIO X48
DEAERATOR OMN
X49
XI 5 LX~I~3_ - [ _ - 1 - , CL
XSO
OL
BOILERS
X51
CV

X21
BW

X 14 :

1.....~ FUEL TANKS I X52


DW

Fig. B.l. The main steam production area

preheated in the device (BWP) to reach the appropriate temperature for usage in the boilers. The
de-ionized water (FW) is stored in tanks (DE-IONIZED WATER) and it is available in unlimited
quantity at zero cost to the refinery that we consider. Besides steam the boilers yield also some
water called "blowdown" which is sent to the blowdown flash drum (BBD). The blowdown is
separated into water that returns to the deaerator and some condensate that is drained off. In
Figure B.l and elsewhere in this appendix small solid boxes indicate the drain-off which absorbs
the "sla ck".
The gas turbogenerators (GTG) get their water from the deaerator. They produce both high and
low pressure steam in boilers that burn fuel gas instead of fuel oil, while low pressure steam
is produced from the blowdown of the boilers of the gas turbogenerators in the device labeled
(GTGBD).
Fuel gas is produced in several production units during normal operations.
Electricity is produced by reducing high pressure steam to medium pressure steam. In the steam
turbogenerators (STG) high pressure steam is used to produce low pressure steam and electrical
power while some water goes to the de aerator.
The rest of the steam is produced in four different ways: by condensate flashing, by "enthalpy"
reduction, in the production units and in the turbines. In the medium (MFD), low (LFD) and very
low (VFD) condensate flash drums, high and medium pressure condensates from the production
units undergo pressure reduction for the production of medium, low and very low pressure steam,
respectively. The high (HD), medium (MD) and low (LD) desuperheaters reduce the enthalpy of
B.1 . STEAM PRODUCTION IN A REFINERY 373
L
t-----\ T 06 1 - - - - - - ,

H
H

M M

Fig. B.2. Arrangement of the turbines

incoming high. medium and low pressure steam to produce medium. low and very low steam
respectively.
Steam at all levels of pressure is produced and/or consumed in the production units. Several of
the production units are equipped with boilers of their own. Low pressure steam is produced in
a flash drum labeled UBBD in Figure B.1 from the blowdown of boilers (UW) that are in those
production units. Oily condensates that are returned from some of the production units are
processed through a condensate flash drum labeled OFD in Figure B.1. Any excess of very low
pressure steam is released into the environment.
Finally, the turbines get steam from one level of pressure and produce steam of a lower level
while they transform the steam energy into electric power. The refinery has a total of 28 turbines
that are labeled T01 ....,T28 and that reside in various production units. Their arrangement in
the steam circuits is shown in Figure B.2 .
The physical layout of the refinery includes four circuits in the form of "pipes" that transport
the four different types of steam necessary for the operation of the plant. While transporting
steam in the pipes entails some loss of energy, these losses are negligible for the refinery that we
consider. The four different circuits feed the required steam into the production units U01, ...,U27
and the turbines TO1•...•T28. Like in Figure B.2 the production units are connected to the various
circuits in parallel so that if a turbine or a production unit is "down" the respective circuits are
not blocked. In Figures B.1 and B.2 the arcs labeled H, M, L, V indicate the outflow and inflow
of high (HJ, medium (M) . low (L) and very low (V) pressure steam from the parts of the refinery
that produce the steam. The physical layout of the plant also includes circuits for water and
various "condensates" that are generated by the production units. Some boiler water (BW) and
some de-ionized water (DW) flows to the production units. Some water (UW) returns from boilers
374 B. OPERATIONS MANAGEMENT IN A REFINERY

located in the production units to the blowdown flash drum UBBD and is used to produce more
low pressure steam. Sour water (SW) is discharged from some of the production units into
the environment at no cost to the refinery. Steam. water and condensates that are generated
by the production units are fed into the respective circuits. Due to technological differences
the production units UOl .....U09 are referred to as "old" units. while UlO ,...,U27 are the "new"
units. Old production units give some condensates that are different from the ones output by
the new ones. In Figure B.l this difference is indicated by the third letter "0 " or "N" respectively.
e.g. for the medium pressure and low pressure oily condensates. Wherever the third letter is
missing new and old production units can feed the respective inputs. Dotted lines in Figure B.l
indicate fuel transport. In Figure B.3 we show the inflow and outflow of the relevant quantities
of steam. water and condensates for production unit 11. the vacuum distillation column. as an
example. Not shown in Figure B.3 is the input of electricity and fuel oil for unit 11 as well as all
functions of U11 that are irrelevant for the steam balance. The steam, water and condensates
production/consumption in all production units is summarized in Table B.l . A positive entry
in the table means the total inflow or consumption per hour of the respective quantities given
in the 15 columns of the table, a negative entry means total outflow or production per hour if
the respective production unit is operating. Consumption and production of the quantities are
"pro-rated" linearly if the production unit operates at reduced capacity so that they are zero if it
does not operate at all. The labels of the respective columns are explained at the bottom of the
table. The units of the amounts of flow given in the table are metric tons per hour or Mt/h.
There are three types of fuels that matter in the context of steam production: fuel gas, fuel oil
1 and fuel oil 2. Fuel gas is produced in several production units of the refinery and is consumed
in furnaces of some of the production units and in the gas turbogenerators. Since fuel gas does
not have a constant composition. it cannot be sold and thus it must be consumed in the refinery
or be burned in the flare. There are four types of furnaces in the production units. those that
burn only fuel gas (G), those that can burn fuel gas or fuel oil 1 (GO1). those that can burn fuel
gas or fuel oil 2 (G02) and finally those that burn only fuel oil 1 (01) . The fuel oil used for the
main boilers (BOILERS) is fuel oil 1 and needs preheating. while fuel oil 1 used in the production
units does not require preheating. The fuel tanks are sufficiently large to handle all operating
situations and are replenished automatically. The electricity is produced in the refinery by the
gas turbogenerators, the steam turbogenerators and the turbines. Additional electricity is bought
from an outside electricity company if necessary. The required steam and the produced electrical
power as well as the production unit where the turbine resides are given for the turbines in
Table B.3 . Whenever a production unit operates at less than 100% of its capacity its turbines are
shut off. Table B.2 gives the produced/consumed fuels in the production units as well as their
electricity requirements. The same convention for the signs as in Table B.l applies to Tables B.2
and B.3. Figure BA is intended to give you an approximate idea of how energy - in the form of
steam. water. fuel , condensates and electricity - "flows" in a refinery. EL stands for electricity
generated by the refinery and LO for the electricity bought from an outside supplier. The flow of
only some of the condensates is shown in the figure.

B.2 The Optimization Problem


To "solve the steam balance" in a refinery means to satisfy all the requirements steam in the
refinery at minimum cost. Since the costs are additive and linear and all the constraints implied
by the requirements are linear. l.e. from an engineering perspective we may realistically assume
B.2. THE OPTIMIZATION PROBLEM 375

Table B.l. Steam, water and condensates production/consumption per hour in the production
units
Unit H M L V BW UW SW DW CH CM CL CV OM OL OV
UOI 3.50 4 .6 -7.60
U03 5.80 1.5 -5.60
U04 16 .80 -9 .3
U06 1.80 - 1.60
U07 6 .10 -6.1
U08 5.10 0.2 - 12 .6 -0 .2
U09 1.8 -1.80
UIO 4.4 1.2 7.5 -10.2
Ull 3.1 -12.40 -5 .50 39.0 -1.40 -20.60 -0.5 -0.50
U12 11.5 2.60 -11.5
U13 4.4 -26.90 2 .52 26.0 -1.00 -1.3 -2.40
U14 0.30 0 .10 -0 .10
U15 2.80 52.00 4 .3 0 .5 -3. 1-55.70 -0 .30
U16 3.8
U17 1.2 -18.60 -2.90 24.0 -1.4 -1.40
U18 20.10 -20.10
U19 0.2 -19.80 0.20 24.5 -1.00 -3.47 0.4 -0.3 -0.20
U20 -1.30 -19.70 1.20 28.5 - 1.28 -5 .90 - 1. 10
U21 -30.0 10.10 2.82 33.5 -1.30 -29 .10 - 1.82
U22 -3.80
U23 5.40 0 .5 -5.90
U24 4.0 2 .80 0 .7 1.1 -4 .7 -2 .80
U25 5.00 -4 .8
U26 -8.0 -0 .13 -0 .65 15.6
U27 7.1 10.90 16.33 2 .5 -3 .3 -2. 1 -7 .70 -3.4 -0 .6 -8.63 -3.1
H: High pressure steam M: Medium pressure steam
L: Low pressure steam V: Very low pressure steam
BW: Boiler water from deaerator SW: Sour water
UW: Unit boiler blowdown DW: De-ionized water
CH: High pressure condensate CM: Medium pressure condensate
CL: Low pressure con den sate CV: Very low pressure condensate
OM: Medium pressure oily condensate OL: Low pressure oily condensate
OV: Very low pressure oily condensate
376 B. OPERATIONS MANAGEMENTIN A REFINERY

Table B.2. Fuel/electricity requi- Table B.3. Turbines specifi-


rements per hour cations per hour

Unit FG F01 F02 OFG 001 W Turbine Unit Steam Load


U01 3.60 0 .80 (Mt/h) (MW)
U02 0.115 HtoM
U03 6.40 1.245 T01 U19 9.500.372
U04 1.08 0 .82 T02 Ull 3.300.116
U05 3.77 T03 U21 9.000.280
U06 1.36 0 .96 0.395 T04 U26 4 .200.111
U07 -5 .000 0.05 T05 U16 37.000.045
U08 -3 .925 0.01 0.22 Hto L
U10 0.25 0 .105 T06 U19 4 .600.278
Ull 5.65 1.62 T07 Ull 6.600.306
U12 1.73 1.27 T08 Ull 4.600.204
U13 9.22 0.35 4 .35 T09 U20 0.500.013
U14 0 .89 1.13 HtoV
U15 -17.103 0.925 TlO U22 8 .000.460
U16 0 .093 TIl U22 6.100.145
U17 0.73 0 .685 MtoL
U18 0.205 T12 U15 7 .300.164
T13 U13 7.300.144
U19 2.59 1.14
T14 U13 4.800.092
U20 2 .03 2.975
T15 U13 3.300.052
U21 2.34 6.33
T16 U20 2 .700.036
U22 0 .002
T17 U21 3.300.044
U23 0.14
T18 U20 2.400.030
U24 -0 .856 0 .72
T19 U21 1.300.015
U25 1.59 0.565
T20 U13 2 .100.024
U26 -1.578 1.14 0.545
MtoV
U27 1.02 9 .555
T21 U12 2.000.184
FG: Fuel gas T22 U16 4.700.250
FO 1: Fuel gas or fuel oil 1 T23 U16 2.200.100
F02: Fuel gas or fuel oil 2 T24 U16 3 .800.150
OFG: Exclusively fuel gas T25 U16 0.900.015
001: Exclusively fuel oil 1 T26 U12 0.900.013
W : Required electric power T27 U22 1.000.011
T28 U16 2.000.015
B.2. THE OPTIMIZATION PROBLEM 377
M

L
H
CM

UII CL
BW
UW

SW

Fig. B.3. Inflow/outflow for production unit VII

CH
CM
o,
OM
0'

Fig. B.4. Major flows of steam, water, fuel, condensates and electricity

that they are, linear programming is an adequate way to formulate the problem and thus, to
solve the daily steam balance. The objective function is the minimization of the operating
cost that consists of the cost of purchasing electric energy and the cost of consuming fuels that
could be sold. The variables of the problem are of three types: the amounts of steam,water and
condensates, the amounts of fuel and electricity and 55 zero-one variables that indicate which
production units or turbines are operating and which are not. The variables corresponding to the
production units can assume fractional values as well to reflect the situation when a production
unit is operating at reduced capacity. However from a modeling perspective we assume at first
that they are zero-one valued as well. The zero-one variables for the production units are not
needed when the refinery operates normally, but their presence in the linear programming model
is convenient since it makes it easy to change the program e.g. when a production unit is down
or has to be taken down for maintenance. This is of particular importance since this way the
linear program can be used on an hourly basis to determine the valve settings for the various
circuits automatically. All the quantities are on an hourly basis. The units for the amounts of
flow are metric tons per hour (Mt/h), the ones for enthalpy are thousands of calories per kilogram
(kcaljkg), while the ones for the amounts of power are in millions of Watts (MW).
The constraints of the problem are of three general types: mass balance constraints, energy
balance constraints and technological constraints. The flow conservation constraints for the
mass balance state that total inflow equals total outflow for each one of the "boxes" of Figure B.I .
The energy conservation constraints for the energy balance use the enthalpy numbers ofTable B.4
to convert the various flows to make them comparable and additive. They are "generalized" flow
conservation constraints and the necessary enthalpy numbers are computed from engineering
handbooks and formulas. From a theoretical thermodynamics point of view we are making an
378 B. OPERATIONS MANAGEMENTIN A REFINERY

important assumption. namely that the quality of the steam and condensates is the same at
any point of the respective pipes that carry them. This assumption permits us to work with
constant enthalpy data. while in theory due to the "flow" in the pipes the flow parameters change
and thereby the respective enthalpies. According to the engineers of the refinery where this
model was developed the assumption we are making is defendable. In a theoretically more
satisfying approach. enthalpy is modeled as being variable as well which leads to nonlinear
side constraints; see the references for an approach that deals with the resulting optimization
problem. The technological constraints are imposed by technological specifications that are given
in the operating manuals of the machinery regarding either the operation or the capacity of the
particular machinery. Rather than reproducing the corresponding manuals we summarize this
information below.
As a concrete example. let us consider how the three types of constraints for the boxes of
Figure B.l look like in the case of the box BOILERS. For the mass balance we have to state that
the amount of high pressure steam that is produced plus the amount of water that flows to the
blowdown equals the amount of the incoming water from the deaerator, Le. (high pressure steam
produced) + (water to blowdown) - (incoming water) = O. Each of the streams has some enthalpy
which measures the "energy carried" by the stream and which is given as energy units per flow
unit in Table B.4. For the specific streams it equals 772. 263 and 130. respectively; see the next
section. Moreover. the fuel that is burned in the boilers releases some energy (heat) that is equal
8540 energy units per flow unit of burned fuel. The energy balance equation then is : 772 (high
pressure steam produced) + 263 (water to blowdown) - 130 (incoming water) - 8540 (fuel burned)
= O. An example of a technological constraint here is the constraint (water to blowdown) - 0.025
(high pressure steam produced) = 0 which states that the blowdown is 2 .5 % of the produced
steam.

D.3 Technological Constraints, Profits and Costs


For the steam turbogenerator (STG) the following technological restrictions apply. The steam
turbogenerators cannot accept more than 100 Mt./h of high pressure steam. The condensed
water(cond. w.) that goes back to the deaerator is at least 3 Mt/h and not more than 60 Mt/h.
In order to include the electricity produced in the energy exchange. in lieu of an energy balance
we have the following technological constraint:

0.122(low press. steam) + 0.249(cond . w.) - (electricity) = 1.143 . (B.l)

For the same reason in lieu of energy balances for the gas turbogenerator (GTG), we have the
following three technological constraints:

(fuel gas burned)-0.206 (electricity)= 4.199 , (B.2)

(low press. steam)-0.355 (electricity)= 12.7 , (B .3)

(high press. steam) -0.617 (electricity)= 35.2 . (B.4)

Both the steam and the gas turbogenerators generate electricity measured in million Watts as
indicated by the equations (B. 1).. ... (8.4) . The quantity of the fuel gas that can be burned in the gas
B.3. TECHNOLOGICAL CONSTRAINTS, PROFITS AND COSTS 379

Table B.4. The enthalpies of the various streams

Pressure hot steam sat. steam sat. liquid


Steam
High 772 - 263
Medium 732 665 194
Low 677 656 150
Very low 686 651 134
Condensates
High 255
Medium 181
Low 144
Very low 126
De-ionizedwater 10
Steam drained off from OFD 640
Water from OFD to DEAERATOR 100
Water from BBD to DEAERATOR 640
Water from STG to DEAERATOR 40
Water from BWP to BOILERS 130

turbogenerators cannot exceed 10.7 Mtjh. The blowdown of the boilers of the gas turbogenerators
is 2.5% of the high pressure steam produced. The boilers (BOILERS) produce a minimum of
20 Mt/h and a maximum of 60 Mtjh of high pressure steam. The blowdown has been specified
at 2.5% of the produced high pressure steam. The amount of steam used in the boilers fuel
atomizer is 30% of the dispersed fuel, but other than that there are no mass and energy balances
for the atomizer. The high pressure desuperheater (HD) cannot accept more than 60 Mt/h of
high pressure steam, the medium pressure desuperheater (MD) and low pressure desuperheater
(LD) no more than 50 Mtjh of medium and low pressure steam, respectively. Moreover, there is
no energy balance equation for the lower pressure desuperheater (LD).
The maximum amount of water that can be produced from the deaerator (DEAERATOR) is
423.3 Mtjh. The refinery must buy 1.48 MW of electricity from an outside supplier in order to
satisfy the electrical load required by the gas turbogenerators. The de-ionized water is stored
in tanks and is consumed in the deaerator and the production units. Very low pressure oily
condensate to the deaerator is produced only in the new production units.
The heating power of the fuel burned in the boilers is 8540 kcaljkg. During its preheating the
fuel can absorb 22.5 kcal/kg of heat. The boiler water that is preheated in the device BWP flows
through a pipe and absorbs 28 kcal/kg of heat in the preheater BWP. It thus does not enter into
the mass balance of the box BWP and figures with 28 kcal/kg in the respective energy balance.
Table B.4 gives the enthalpies of the various streams of steam, water and condensates (in kcaljkg)
for the respective energy balance equations. In general, everything that gets into or comes out
from the steam pipes (H, M, L, V) is hot steam at the respective pressure levels and labeled as
such in Table B.4. However, the flash drums (MFD, LFD, VFD, GTGBD, DBBD) output sat(urated)
steam at pressure levels as indicated in Figure B.l and sat(urated) liquid at the corresponding
380 B. OPERATIONS MANAGEMENT IN A REFINERY

pressure levels. From the production units comes water (UW) having an enthalpy of 190 kcal/kg:
the rest is condensates at the pressure levels as indicated in Figure B.1 and Table B.1. The
blowdown of BOILERS into BBD and of GTG into GTGBD is a high pressure saturated liquid.
The preheater BWP outputs medium pressure condensate into the DEAERATOR. The drain-off
from GTGBD and DBBD has an enthalpy of 150 kcal/kg and the ones from BBD and BFP an
enthalpy of 100 kcal/kg and of 181 kcal/kg, respectively. The DEAERATOR outputs water having
an enthalpy of 102 kcal/kg. The remaining special enthalpy numbers are listed in Table B.4.
The refinery buys electricity for $44.4 per million Watthours (MWh) and sells electricity for $35.5
per million Watthours. To account for the consumption of fuel oil 1 the refinery uses $120 per
metric ton and for fuel oil 2 the cost is $100 per metric ton.

B.4 Formulation of the Problem


With the information given above and in Tables B.1 through B.4 you can now write down a (mixed-
integer) linear program to solve the problem. To achieve a common notation let us first Identify
and label appropriately all of the decision variables that you need in the problem. Part of the
decision variables are indicated in Figure B. 1 next to their respective arcs. As is customary we
interpret every arc with an arrow head and e.g. an H at the top as an input to the high pressure
stearn pipe while the other arcs with an H at the top are outputs from that pipe. Likewise, arcs
with an arrow head at a box are inputs into the respective box and impact both the energy and
the mass balance of that box. Arcs that "pass" through a box participate in the energy balance,
but not in the mass balance. The excess stearn of very low pressure that is released into the air
is denoted by X54 . The zero-one variables tj E {O, I} for 1 :::; j :::; 28 and Uj E {O, I} for 1 :::; j :::; 27
indicate which turbines and which production units are "off ' and "on", respectively. Whenever
a production unit works at less than 100% the turbines that reside in it must be shut off. The
rest of the variables are defined as follows.
WQ1: electricity purchased from an outside supplier in excess of the 1.48 MW.
W 02 : electricity produced by the gas turbogenerators.
W0 3: electricity produced by the steam turbogenerators.
W 04 : electricity produced by the turbines.
W 05 : electricity consumed by the production units.
W 06: electricity produced for sale outside the refinery.
101 : fuel oil 1 consumed in the main boilers.
102: fuel oil 1 consumed in the GO1 furnaces.
103: fuel oil 2 consumed in the G02 furnaces .
104: fuel gas consumed in the gas turbogenerators.
105: fuel gas consumed in the G furnaces .
106: fuel gas consumed in the G01 furnaces.
107: fuel gas consumed in the G02 furnaces .

Now to formulate the problem as a linear program follow the next seven steps.
1. Formulate the objective function of the problem.
2. Write the applicable enthalpy number next to each arc of Figure B.I.
3. Write down equations for the mass balance, the energy balance and the technological cons-
traints for each box of Figure B.I in the order of their numbering in Figure B.I .
B.5 . SOLUTION TO THE REFINERY CASE 381

4. Write down mass balance equations for the four different types of steam.
5. Write down mass balance equations for water (BW, DW, OW) and the condensates.
6. Write down the constraints for fuel management and electricity management.
7. Write down the inequalities that relate turbines and production units to express the fact
that turbines can be operated only if the respective production unit where a turbine resides
is itself operating.
The linear program you get should have 95 variables plus 27 variables U j for the parameter
settings and 100 constraints. Next add 27 equations to reflect the "state" of the refinery and for
a start assume that all 27 units operate at 100% capacity.

(A) Solve two linear programs assuming first that the refinery can sell electricity at $35.5 and
secondly, under the assumption that no electricity can be sold, I.e. with the additional
constraint that W 06 = o.
(B) Suppose that the sales price for electricity that the refinery can get is dropping while the
price for electricity from the outside supplier remains unchanged at $44.4. At what price
does the refinery stop selling electricity? Assuming that the refinery does not buy additional
electricity, I.e. with the additional constraint W01 = 0, what is the maximum amount of
electricity the refinery can sell?
(e) If your linear programming solver has a branch-and-bound facility, use it to find out which
ones of the turbines are "on " and which are "off' in the respective runs. If it does not, use
the following rounding procedure: If a value t j ~ 0.5 in the linear programming optimum
then set the corresponding t j = 0 and tj = 1 otherwise. Rerun the problem to find a (sub-
optimal) answer to the problem. Discuss how the solutions to the linear programs and the
mixed-integer linear programs, respectively, differ.
(D) Invent your own "disaster" situation where some of the production units fail to operate fully
and solve for the respective steam balance.

To check your formulation we give in Table B.5 the solution to the mixed-integer program with
the additional constraint W0 6 = 0 and rounded to three decimals after the point.

D.5 Solution to the Refinery Case


To formulate the problem as a linear programming problem, we use the flow variables shown
in Figure B.l (with their respective numerical values for the optimal solution for Model 4; see
below), twenty-eight variables t j that model the operation of the turbines, the thirteen variables
for fuel and electricity management introduced above and twenty-seven variables Uj that describe
the "state" of the production units of the refinery. These "variables" are really parameters, i.e.,
inputs for the model, and assume values between zero and one according to whether or not
production unit j works at 100%, Le ., U j = I, or, e.g., at 50%, Le ., U j = 0.5, when the model is
run. The objective function for the linear program reads
minimize 65.712 + 44.4w01 - 35.5w06 + 120101 + 120102 + 100103 .
382 B. OPERATIONS MANAGEMENT IN A REFINERY

x02 x01 x23 x24 x25 x26 x27 x28 x29


x31 x32 = 0.524
23.903 54.671 0 0 0.78 0.855 0.0440.044 2.029
0.845
x40 = 6.63

x07 GTG x05


I UBBD!=f41. 6.106
0.305
78.071 x04 HD MD LD I VFD x42 = 9.3
x08 1.367
x43 = 0.2
GTGBD
I OFD
50.898
x44 = 12.6
~ x06 x22
1.062 .1 i Qn ig
X 3 x34
0.075 t
x35 = 8.455
x36 = 10.9 ~ x39=1.9
STG x03 x30 = 2.707
79.941 WI LFD I v'IR
MFD
x45
I x09 = 27.174 118.1931 20.9

x10 = 1.042 IX11 = 1.042


~ 23.464
x46 = 7.3

x47 = 3.1
DEAERATOR
L-.;.. x48 = 5.4
x15
BWP x12

0.453
x13 I 20.5
x49 = 91.02

x16 20 ~ x50 = 17.63


0.062 - x51 = 19.7
->
I BOILERS
x18 = 0.151
A
~
x17 = 0.5
BBD I x20 = 85.191
x21 = 196.9

~
I
Pi I x19 = 0.349
I
I
DE-IONIZED WATER x52 = 17.6
I
x14 = 0.062 •. FUEL TANKS
i x53 = 102.791

Fig. B.5. Flows (in metric tons per hour) in the main steam production area for Model 1
B.5 . SOLUTION TO THE REFINERY CASE 383

Table B.5. Nonzeroes of the solution to the problem with W 06 = 0


Variable Val ue Variable Value iVariable Value iVariable Value Variable Value
X OI 50 .305 X 21 196.900 X 44 12.600 UOI 1.000 U 2 1 1.000
X02 21.391 X22 3.510 X4 5 20.900 U 02 1.000 U 22 1.000
X 03 72.954 X 25 0 .180 X 46 7.300 U 03 1.000 U 23 1.000
X 04 1.258 X26 0.197 X47 3 .100 U 04 1.000 U24 1.000
X 05 0.281 X2 7 0.064 X 48 5.400 U0 5 1.000 U 25 1.000
X 06 0.977 X28 0.064 X 49 91.020 U0 6 1.000 U 26 1.000
X 07 73.705 X29 2.029 X50 17.630 U 07 1.000 U 27 1.000
X08 52.812 X3 0 2 .707 X51 19.700 U 08 1.000 tl2 1.000
X 09 20.893 X3 1 0 .845 X52 17 .600 U0 9 1.000 tl 3 1.000
XlO 1.042 X32 0.524 X53 102.706 U lO 1.000 tl4 1.000
Xu 1.042 X 34 0.017 fO! 1.511 Uu 1.000 tl 5 1.000
Xl2 20.500 X35 8 .455 f 02 5.660 U l2 1.000 tl9 1.000
X l3 20.000 X36 10 .900 f 03 21.830 U l3 1.000 t2 1 1.000
X l4 0 .062 X37 23.464 f 04 9 .242 Ul4 1.000 t 22 1.000
X l5 0 .453 X38 18.193 f0 5 9 .310 U l5 1.000 t 23 1.000
X 16 0.062 X3 9 1.900 f 06 9 .910 U16 1.000 l25 1.000
X l7 0.500 X40 6 .630 W0 2 24.482 U l7 1.000
X l8 0 .151 X4l 6.106 W0 3 10.502 Ul 8 1.000
X l9 0 .349 X 42 9 .300 W 04 1.016 Ul 9 1.000
X20 85.106 X43 0 .200 W 05 36.000 U2 0 1.000
Objective function value: 3109.291

The constant $65.712 comes from the load requirement for the gas turbogenerator that for tech-
nological reasons must be bought from the electricity company. We now give a complete listing
of all equations and inequalities except nonnegativity constraints. We start by writing for each
box of Figure B.1 (in the order of their respective numbering) a mass balance (MB) , an energy ba-
lance (EB) and/or the relevant technological constraints (TC) except for the capacity constraints.
(1) Gas turbogenerators (GTG):
------------------------
Variable Variable Description
x02 x01
XOl High pressure steam 722
X02 Low pressure steam 677
GTG X03 Water from DEAERATOR 102
X 04 Blowdown from GTG 263
~ x04 104 Fuel gas burned in GTG
x03
W Ol Electricity purchased from outside
- W 02 Electricity produced by GTG
MB: - X Ol - X 02 + X 03 - X 04 = 0,
TC: XOl - O.617w02 = 35.2, TC: X 02 - O.355w02 = 12.7, TC: 104 - O.206w 02 = 4.199
384 B. OPERATIONS MANAGEMENT IN A REFINERY

(2) Gas turbogenerators blowdown flash drum (GTGBD):


-------------------
Variable Variable Description Enthalpy
X04 Blowdown from GTG 263
X 05 Low pressure steam 656
X0 6 Drain-off from GTGBD 150

TC: -0.025x0 1 + X04 = O.


MB: X04 - X 05 - X0 6 = O. EB: 263x04 - 656x05 - 150x06 =0

Variable Descrtption Enthalpy


x07 x08
X07 High pressure steam 772
X 08 Low pressure steam 677
STG X09 Water to DEAERATOR 40
W 03 Electricity produced by STG
x09

MB: X 07 - X 09 - X 08 = O. EB: 0.122x08 + 0.249x09 - W03 = 1.143


(4) Boiler water preheater (BWP):
---------------------
Variable Variable Description Enthalpy
xU
xlO
I X lO Medium pressure steam 732
~
Xu Medium pressure condensate 181
BWP x12
X 12 Water preheated for BOILERS 28
I
t

MB: X10 - Xu = O. EB: 732xlO - 181 xu - 28x12 = 0

(5) Boilers (BOILERS):


x12 Variable Variable Description Enthalpy
x13
X 12 Preheated water from BWP 130
X1 3 High pressure steam 772
, ,,,"" BOILERS X1 7 Blowdown to BBD 263
fO) :
I
10l Fuel oil 1 consumed in the main boilers 8540

xl7

MB: x 12 - X1 3 - X17 = O. EB: -130X1 2 + 772x1 3 + 263x17 - 8540/01 =0


B.5. SOLUTION TO THE REFINERY CASE 385

(6) Boiler fuel atomizer (BFA):


------------------------
Variable Variable Description Enthalpy
x15
1->-
X15 Medium pressure steam
101 Fuel atomized and sent to BOILERS
BFA
I /I
1
fOl 1
1

TC: X15 - 0.3101 = 0

(7) Boiler fuel preheater (BFP):


Variable Variable Description Enthalpy
X14 Medium pressure steam 732
X 16 Drain-off from BFP 181
101 Fuel oil 1 (preheating) 22 .5

MB: - X1 4 + X 16 = 0, EB: 22.5101 + 181 x14 - 732x16 = 0

(8) BBD flash drum :


Variable Variable Description Enthalpy
Boiler blowdown 263
Water from BBD to DEAERATOR 640
Drain-off from BBD 100

TC: -0 .025xI 3 + X 17 = 0,
MB: X17 - X 18 - X1 9 = 0, EB: 263 x17 - 640X1 8 - 100X19 = 0
386 B. OPERATIONS MANAGEMENT IN A REFINERY

(9) Deaerator (DEAERATOR)

x03
x221 I x33 x34t it x35
Variabl e
X03
Variable Descrip tion
Water to GTG
Enthalpy
102
x36 X09 Water from STG 40
I x09
W x37
xn
X12
Medium pressure condenstae from BWP
Water to BOILERS
181
102
I xl I
DEAERATOR
x47
X18 Water from BBD 640
x48
X20 De-ionized water 10
t xl2
x49

x50 X2i Boiler water to production units 10


x51 X22 Very low pressure steam 686
t xl8 x20 tI x21
X 33

X34
Water to HD
Water to MD
102
102
X35 Very low pressure satu rated liquid 134
X 36 Water from OFD 100
X37 Low pres sure satu rated liquid 150
X47 Very low pressure oily con densate 126
X48 Medium pressure oily condensate 18 1
X49 Low pressure condensate 144
X5 0 Low pressure oily condensate 144
X5i Very low pres sure con densate 126

MB: - x03 + x09 + XlI - X12 + X18 + X20 - X2I + X22 - x33 - X34 + X35 + X36 + x37 + X47 + X48 + X49 + x50 + x5I = 0
EB: -102x o3 + 40X09 + 181xlI - 102x 12 + 640X18 + lOx 2o - 102x 2I + 686x22 - 102x33- l02x 34 + 134x 35 +
100x 36 + 150x 37 + 126x 47 + 181x48 + 144x 49 + 144x 5o + 126x 5I = 0

(10) HD desuperheater:
Variable Variable Descriptio n Enthalpy
X23 High pressure steam 772
X24 Medium pressure ste am 732
X33 Water from DEAERATOR 102
HD

x33

MB: X23 - X24 + X33 = 0, EB: 772x 23 - 732x 24 + l02x 33 = 0


B.5. SOLUTION TO THE REFINERY CASE 387

(11) MD desuperheater :
Variable Variable Description Enthalpy
x25 x26
X 25 Medium pressure steam 732
X26 Low pressure steam 677
MD X34 Water from DEAERATOR 102

x34

MB: X25 - X26 + X34 = 0, EB: 732 x 25 - 677x 26 + l02 x 34 = 0

(12) LD desuperheater :
Variable Variable Description Enthalpy
X 27 Low pressure steam 677
X 28 Very low pressure steam 686

LD

MB: X 27 - X28 =0

(13) LFD flash drum :


Variable Variable Description Enthalpy
X29 Low pressure saturated steam 656
X3 7 Low pressure saturated liquid 150
X38 Medium pressure saturated liquid 194
X4 6 Medium pressure condensate 181

MB: - X 29 - X37 + X38 + X46 = 0, EB: -656x 29 - 150x 37 + 194x 38 + 181 x46 = 0

(14) MFD flash drum:

t x30
I
Variable
X3 0
Variable Description
Medium pressure saturated steam
Enthalpy
665
--E-----j, I x 45 X3 8 Medium pressure saturated liquid 194
x38 I MFD I X45 High pressure condensate 255

MB: - X 30 - X38 + X45 = 0, ED: -665x 30 - 194x 38 + 255x 45 = 0


388 B. OPERATIONS MANAGEMENT IN A REFINERY

(15) VFD flash drum:


Variable Variable Description Enthalpy
x31 X3 1 Very low pressure saturated steam 651
X35 Very low pressure saturated liquid 134
X42 Medium pressure condensate 181

MB: - X 31 - X 35 + X42 = 0, EB: -65 1 x 3 1 - 134x35 + 181 x 42 = 0

(16) UBBD flash drum:


Variable Variable Description Enthalpy
X32 Low pressure saturated steam 656
x32
x40 X40 Water from production units 190
X41 Drain off 150
x41

MB: - X 32 + X40 - X 41 = 0, EB: - 6 5 6 x 32 + 190x40 - 1 50X 41 = 0

(17) OFD flash drum:


x43 Variable Variable Description Enthalpy
~ X36 Water to DEAERATOR 100

:3P-:- X 39
X 43
X44
Drain off
Very low pressure oily condensate
Medium pressure oily condensate
150
126
181
MB: - X 36 - X3 9 + X43 + X44 = 0, EB: -100x 36 - 640X39 + 1 2 6 x 43 + 1 81 x 44 = 0

(18) De-ionized water tanks (DE-IONIZED WATER):


-----,,--c-----:-:-------- - - - -
i x20
x52
Variable
X20
X52
Variable Description
Water to DEAERATOR
De-ionized water
Enthalpy

~
DE-IONIZED WATER X53 Fresh water

i x53

Next we write down all the capacity constraints for the various devices.
X07 :::; 100, 3 :::; X09 :::; 60, 20 :::; X1 3 < 60, X23 :::; 60, X2 5 :::; 50, X27 :::; 50
X03 + X 12 + X2 1 + X3 3 + X34 :::; 423.3, 104 :::; 10.7
B.5. SOLUTION TO THE REFINERY CASE 389

We write a mass balance equation for the high pressure steam pipe,
XOI - X07 + X13 - X23 - 9.5tOl - 3.3t02 - 9t03 - 4. 2t04 - 37t05 - 4.6t06 - 6.6t07 - 4.6tos - 0.5t09 - 8tlO-
6.lt ll - 4.4ulO - 3.1ull -11.5u12 - 4.4U13 - 1.2u17 - 0.2U19 + 1.3u20 + 30U21 - 4U24 + 8U26 - 7.1u27 = 0,
for the medium pressure steam pipe,
-XlO - X15 - X16 + X24 - X25 + X30 + 9.5t01 + 3.3t02 + 9t03 + 4.2t04 + 37.t05 - 7.3t 12 - 7.3t 13 - 4.8t14-
3.3h5 - 2.7h6 - 3.3t17 - 2.4t 1s -1.3h9 - 2.lt20 - 2t21 - 4.7t22 - 2.2t23 - 3.8t24 - 0.9t25 - 0.9t26 -lt27-
2t2S - 3.5uOl - 5.8u03 - 16.8u04 - 1.8U06 - 5.1uos + 12.4ull - 2.6u12 + 26.9u13 - 0.3U14 - 2.8u15+
18.6u17 + 19.8u19 + 19.7u20 - 10.lu21 - 5U25 + 0.13u26 - 10.9u27 = 0,
for the low pressure steam pipe,
X02 + X05 + XOS + X26 - X27 + X29 + X32 + 4.6t06 + 6.6t07 + 4.6tos + 0.5t09 + 7.3h2 + 7.3t 13 + 4.8t14 + 3.3h5+
2.7t 16 + 3.3t17 + 2.4hs + 1.3h9 + 2.lt 20 - 6.1u07 + 5.5ull - 2.52u13 - 0.lU14 - 52.U15 + 2.9u17-
20.1ulS - 0.2U19 - 1.2u20 - 2.82u21 - 5.4u23 - 2.8u24 - 16.33u27 = 0,
and for the very low pressure steam pipe
-X22 + X2S + X31 - X54 + 8tlO + 6. ltll + 2t21 + 4.7t22 + 2.2t23 + 3.8t24 + 0.9t25 + 0.9t26 + lt27 + 2t2S-
1.5U03 - 0.2uos - 1.8u09 - 1.2ulO - 2.5u27 = o.
The water (BW, DW, UW) and the condensates from the various production units give rise to
13 constraints.
X21 - 4.6uOl - 7.5ulO - 39ull - 26u13 - 4.3u15 - 3.80u16 - 24u17 - 24.5u19 - 28.5u20-
33.5u21 - 0.5U23 - 0.7U24 = 0
X40 - 1.40Ull - 1.00U13 - 1.00U19 - 1.28u20 - 1.30U21 - 0.65u26 = 0
X42 - 9.3u04 = 0, X43 - 0.20uos = 0, X44 - 12.6uos = 0, X45 - 1l .5u12 - 1.4u17 - 4.7u24 - 3.3u27 = 0
X46 - 0.5Ull - 1.3U13 - 3.1u15 - 0.3U19 - 2.1u27 = 0, X47 - 3.1u27 = 0, X4S - 4.8u25 - 0.6U27 = 0
X49 - 0.50Ull - 2.4U13 - 0.lU14 - 55.7u15 -1.4u17 - 20.1ulS - 0.2U19 -1.1u20 - 1.82u21 - 7.7u27 = 0
X50 - 0.3U15 - 5.9u23 - 2.80U24 - 8.63u27 = 0, X51 - 6.1u07 - 1O.2ulO - 3.4u27 = 0
X52 - 0.5U15 - 0.4U19 - 1.1u24 - 15.6u26 = 0
The fuel management - other than the fuel that is burned in the main boiler - is captured by the
following five equations/inequalities.
105 - 1.08U04 - 3.77u05 - 0.96u06 - O.Oluos - 0.25ulO - 0.35u13 - 0.73u17 - 1.14u26 - 1.02U27 = 0
104 + 105 + 106 + 107 - 5U07 - 3.925uos - 17. 103u15 - 0.856u24 - 1.578u26 = 0
102 + 106 - 3.6uOl - 6.4u03 - 1.36u06 - 1.73u12 - 0.89u14 - 1.59u25 = 0
103 + 107 - 5.65ull - 9.22u13 - 2.59u19 - 2.03u20 - 2.34u21 = 0, -102 + 0.89u14 :S 0
Electricity production, consumption and management yield the following three equations.
W04 - 0.372t Ol - 0.1l6t02 - 0.280t03- 0.11lt04 - 0.045t05- 0.278t06- 0.306t07- 0.204tos - 0.013t09- 0.460tlO-
0.145tll - 0.164h2 - 0.144t 13 - 0.092h4 - 0.052t 15 - 0.036h6 - 0.044t17 - 0.030hs - 0.015t19-
0.024t20 - 0.184t21 - 0.250t 22 - 0.100t 23 - 0.150t24 - 0.015t25 - 0.013t26 - 0.01lt27 - 0.015t2s = 0
W05 - 0.800UOl - 0.1l5u02 - 1.245u03 - 0.820u04 - 0.395u06 - 0.050U07 - 0.220uos - 0.105ulO - 1.620Ull-
1.270U12 - 4.350U13 - 1.130U14 - 0.925u15 - 0.093u16 - 0.685u17 - 0.205ulS - 1.140U19 - 2.975u20-
6.330U21 - 0.002U22 - 0.140u23 - 0.720U24 - 0.565u25 - 0.545u26 - 9.555u27 = 0
WOl + W02 + W03 + W04 - W05 - W06 = 0
The next 28 inequalities state that turbines can be operated only if the production unit to which
they belong is itself operating at full capacity.
tOl - U19 :S 0, t02 - «u :S 0, t03 - U21 :S 0, t04 - U26 :S 0, t05 - U16 :S 0, t06 - U19 :S 0, t07 - Ull :S 0
tos - Un :S 0, t09 - U20 :S 0, tlO - U22 :S 0, t n - U22 :S 0, t12 - U15 :S 0, h3 - U1 3 :S 0, h4 - U13 :S 0
390 B. OPERATIONS MANAGEMENT IN A REFINERY

t I5 - UI3 ::; a. t I 6 - Uzo ::; a. t I 8 - uzo ::; a. tI7 - UZ I ::; a. tt9 - U ZI ::; a. tzo - UI3 ::; a. tZI - UIZ ::; a
tzz - UI 6 ::; a. t Z3 - U I6 ::; a. t Z4 - UI6 ::; O. t Z5 - UI6 ::; 0, tZ 6 - UIZ ::; a, tZ7 - UZZ ::; 0, t Z8 - UI 6 ::; 0
Not shown are an additional 27 equations that are supplied on as needed basis to reflect which
ones of the production units are operating and which ones are not. Thus in the normal case
when all production units are functioning at full capacity these additional equations read U j = 1
for 1 ::; j ::; 27.
Thus, the linear program has 95 variables of which 28 must be zero-one valued plus 27
parameters corresponding to the variables U j that describe the state of the refinery when some of
its production units are down for maintenance and/or operating at e.g. 50% of their respective
capacity. Depending on the state of the refinery the values of the 27 parameters are set to their
respective values prior to solving the linear program that results. In the above formulation we
have assumed that a production unit operating at less than 100% of capacity has its turbines
shut off which is a realistic assumption to make.
We introduce a dummy variable Xo to include the constant $65.712 in the objective function.
The reason for this is that most LP solver like CPLEX do not permit the inclusion of a constant in
the objective function. The basic linear programming model in CPLEX Lp format is as follows
Minimize
obj: 65 .712 xO + 44.4 wOl - 35 .5 w06 + 120 fOl + 120 f02 + 100 f03
Subject To
cl: xO 1 ,
c2 : - xOl - x02 + x03 - x04 0
c3: xOl - 0 .617 w02 35 .2
c4: x02 - 0.355 w02 12.7
c5 : - 0.206 w02 + f04 4.199
c6 : - 0.025 xOl + x04 = 0
c7 : x04 - x05 - x06 0
c8: 263 x04 - 656 x05 - 150 x06 0
c9: x07 - x09 - x08 = 0
cl0: 0 .249 x09 + 0.122 x08 - w03 1.143
ell: xl0 - xlI = 0
c12: 732 xl0 - 181 xlI - 28 x12 = 0
c13: x12 - x13 - x17 = 0
c14 : - 8540 fOl - 130 x12 + 772 x13 + 263 x17 0
c15: - 0 .025 x13 + x17 0
c16: - 0.3 fOl + x15 0
c17 : - x14 + x16 = 0
c18: 22.5 fOl + 181 x14 - 732 x16 = 0
c19: x17 - x18 - x19 0
c20: 263 x17 - 640 x18 - 100 x19 = 0
c21: - x03 + x09 + xlI - x12 + x18 + x20 - x21 + x22 - x33 - x34 + x35 + x36
+ x37 + x47 + x48 + x49 + x50 + x51 =0
c22: - 102 x03 + 40 x09 + 181 xlI - 102 x12 + 640 x18 + 10 x20 - 102 x21
+ 686 x22 - 102 x33 - 102 x34 + 134 x35 + 100 x36 + 150 x37 + 126 x47
+ 181 x48 + 144 x49 + 144 x50 + 126 x51 =0
c23 : x 33 + x23 - x24 = 0
B.5. SOLUTION TO THE REFINERY CASE 391

e24: 102 x33 + 772 x23 - 732 x24 0


e25: x34 + x25 - x26 = 0
e26: 102 x34 + 732 x25 - 677 x26 0
e27: x27 - x28 = 0
e28: - x37 - x29 + x38 + x46 = 0
e29: - 150 x37 - 656 x29 + 194 x38 + 181 x46 0
e30: - x38 - x30 + x45 = 0
e31: - 194 x38 - 665 x30 + 255 x45 0
e32: - x35 - x31 + x42 = 0
e33: - 134 x35 - 651 x31 + 181 x42 0
e34: - x32 + x40 - x41 = 0
e35: - 656 x32 + 190 x40 - 150 x41 0
e36: - x36 - x39 + x43 + x44 = 0
e37: - 100 x36 - 640 x39 + 126 x43 + 181 x44 0
e38: - x20 - x52 + x53 = 0
e39: x07 <= 100
e40: x09 >= 3
e41: x09 <= 60
e42: x13 >= 20
e43: x13 <= 60
e44: x23 <= 60
e45: x25 <= 50
e46: x27 <= 50
e47: x03 + x12 + x21 + x33 + x34 <= 423.3
e48: f04 <= 10.7
e49: x01 - x07 + x13 - x23 - 9.5 t01 - 3.3 t02 - 9 t03 - 4.2 t04 - 37 t05
- 4.6 t06 - 6.6 t07 - 4.6 t08 - 0.5 t09 - 8 t10 - 6.1 t11 - 4.4 u10
- 3.1 u11 - 11.5 u12 - 4.4 u13 - 1.2 u17 - 0.2 u19 + 1.3 u20 + 30 u21
- 4 u24 + 8 u26 - 7 .1 u27 = 0
e50: - x10 - xIS - x16 + x24 - x25 + x30 + 9.5 t01 + 3.3 t02 + 9 t03
+ 4.2 t04 + 37 t05 + 12.4 u11 - 2.6 u12 + 26.9 u13 + 18 .6 u17
+ 19.8 u19 + 19.7 u20 - 10.1 u21 + 0.13 u26 - 10.9 u27 - 7.3 t12
- 7.3 t13 - 4.8 t14 - 3.3 tIS - 2.7 t16 - 3.3 t17 - 2.4 t18 - 1.3 t19
- 2.1 t20 - 2 t21 - 4.7 t22 - 2.2 t23 - 3.8 t24 - 0.9 t25 - 0.9 t26
- t27 - 2 t28 - 3 .5 u01 - 5.8 u03 - 16.8 u04 - 1.8 u06 - 5.1 u08
- 0.3 u14 - 2.8 u15 - 5 u25 = 0
e51: x02 + x05 + x08 + x26 - x27 + x29 + x32 + 4.6 t06 + 6.6 t07 + 4.6 t08
+ 0.5 t09 + 5.5 u11 - 2 .52 u13 + 2.9 u17 - 0.2 u19 - 1.2 u20 - 2.82 u21
- 2.8 u24 - 16.33 u27 + 7.3 t12 + 7.3 t13 + 4.8 t14 + 3.3 t15 + 2.7 t16
+ 3.3 t17 + 2.4 t18 + 1.3 t19 + 2.1 t20 - 0.1 u14 - 52 u15 - 6.1 u07
- 20.1 u18 - 5.4 u23 = 0
e52: - x22 + x28 + x31 + 8 t10 + 6.1 t11 - 1.2 u10 - 2 .5 u27 + 2 t21
+ 4.7 t22 + 2.2 t23 + 3.8 t24 + 0.9 t25 + 0 .9 t26 + t27 + 2 t28
- 1.5 u03 - 0.2 u08 - x54 - 1.8 u09 = 0
e53: x21 - 7.5 u10 - 39 u11 - 26 u13 - 24 u17 - 24.5 u19 - 28.5 u20
- 33.5 u21 - 0.7 u24 - 4.6 u01 - 4.3 u15 - 0.5 u23 - 3.8 u16 0
392 B. OPERATIONS MANAGEMENT IN A REFINERY

c54: x40 - 1.4 u11 - u13 - u19 - 1.28 u20 - 1 .3 u21 - 0.65 u26 = 0
c55: x42 - 9.3 u04 = 0
c56: x43 - 0.2 u08 = 0
c57: x44 - 12.6 u08 = 0
c58: x45 - 11.5 u12 - 1 .4 u17 - 4 .7 u24 - 3.3 u27 = 0
c59 : x46 - 0.5 u11 - 1.3 u13 - 0.3 u19 - 2 .1 u27 - 3.1 u15 0
c60 : x47 - 3 .1 u27 = 0
c61: x48 - 0 .6 u27 - 4.8 u25 = 0
c62 : x49 - 0 .5 u11 - 2.4 u13 - 1.4 u17 - 0 .2 u19 - 1.1 u20 - 1 .82 u21
- 7.7 u27 - 0 .1 u14 - 55.7 u15 - 20.1 u18 0
c63: x50 - 2.8 u24 - 8 .63 u27 - 0.3 u15 - 5 .9 u23 0
c64: x51 - 10 .2 u10 - 3.4 u27 - 6.1 u07 = 0
c65: x52 - 0.4 u19 - 1 .1 u24 - 15.6 u26 - 0 .5 u15 0
c66: - 0.25 u10 - 0.35 u13 - 0.73 u17 - 1.14 u26 - 1.02 u27 - 1.08 u04
- 0.96 u06 - 0.01 u08 + f05 - 3 .77 u05 0
c67: f04 - 0.856 u24 - 1.578 u26 - 3 .925 u08 - 17.103 u15 - 5 u07 + f05
+ f06 + f07 = 0
c68: f02 - 1.73 u12 - 3 .6 u01 - 6.4 u03 - 1.36 u06 - 0.89 u14 - 1.59 u25
+ f06 = 0
c69: f03 - 5.65 u11 - 9.22 u13 - 2.59 u19 - 2 .03 u20 - 2 .34 u21 + f07 0
c70: - f02 + 0.89 u14 <= 0
c71: - 0.372 t01 - 0.116 t02 - 0 .28 t03 - 0.111 t04 - 0.045 t05 - 0 .278 t06
- 0.306 t07 - 0.204 t08 - 0.013 t09 - 0.46 t10 - 0 .145 t11 - 0.164 t12
- 0 .144 t13 - 0.092 t14 - 0.052 t15 - 0.036 t16 - 0.044 t17 - 0.03 t18
- 0.015 t19 - 0.024 t20 - 0.184 t21 - 0.25 t22 - 0 .1 t23 - 0 .15 t24
- 0 .015 t25 - 0.013 t26 - 0.011 t27 - 0.015 t28 + w04 = 0
c72: - 0.105 u10 - 1.62 u11 - 1.27 u12 - 4.35 u13 - 0.685 u17 - 1.14 u19
- 2 .975 u20 - 6.33 u21 - 0.72 u24 - 0 .545 u26 - 9.555 u27 - 0 .8 u01
- 1 .245 u03 - 0.82 u04 - 0.395 u06 - 0.22 u08 - 1.13 u14 - 0 .925 u15
- 0 .565 u25 - 0.05 u07 - 0.205 u18 - 0.14 u23 - 0 .093 u16 + w05
- 0 .115 u02 - 0.002 u22 = 0
c73: w01 - w06 + w02 + w03 + w04 - w05 0
c74: t01 - u19 <= 0
c75: t02 - u11 <= 0
c76: t03 - u21 <= 0
c77: t04 - u26 <= 0
c78: t05 - u16 <= 0
c79: t06 - u19 <= 0
c80: t07 - u11 <= 0
c81: t08 - u11 <= 0
c82: t09 - u20 <= 0
c83: t10 - u22 <= 0
c84: t11 - u22 <= 0
c85: t12 - u15 <= 0
c86: - u13 + t13 <= 0
c87: - u13 + t14 <= 0
B.5. SOLUTION TO THE REFINERY CASE 393

e88 : - u13 + tl5 < = 0


e89 : - u20 + tl6 <= 0
e90 : - u20 + tl8 <= 0
e91: - u 21 + tl7 <= 0
e92: - u 21 + tl9 <= 0
e9 3 : - u13 + t20 <= 0
e94 : - u 12 + t 21 < = 0
e95: t2 2 - u16 <= 0
e96 : t23 - u1 6 < = 0
e 97 : t24 - u16 <= 0
e98 : t25 - u 16 < = 0
e99 : - u12 + t26 <= 0
e l OO : t27 - u22 <= 0
elOl: t28 - u 16 <= 0
elO2 : uOl 1
elO3 : u02 1
elO 4: u03 1
e lO5: u04 1
elO6 : u05 1
elO7 : u06 1
elO8 : u07 1
elO9 : u08 1
clIO : u09 1
elll : ulO 1
el12 : ul l 1
e l13: u 12 1
el14 : u13 1
el15 : u14 1
el16 : u15 1
el17 : u16 1
el18: u1 7 1
el19 : u18 1
e120 : u19 1
e12 1 : u20 1
e 12 2: u21 1
e123 : u22 1
e 124 : u23 1
e12 5 : u24 1
e126: u25 1
e127 : u26 1
e128 : u27 1
End
We refer to the above model as Modell.
(A) Solve two linear programs assuming first that the refinery can sell electricity at $35.5 and
secondly, under the assumption that no electricity can be sold, Le. with the additional constraint
that wo6 = o.
394 B. OPERATIONS MANAGEMENT IN A REFINERY

The values of the variables for the optimal solution are shown in the first column of Tables B.6
and B.7. To implement the restriction that no electricity can be sold, we add the constraint
W06 = 0, to the basic model; we refer to this new model as Model 2. The solution is shown
in the second column of Tables B.6 and B.7. The restriction not to sell electricity costs to
the refinery 3108.774 - 2984.502 = 124.772 dollars per hour. The electricity produced by the gas
turbogenerators (W02) and the steam turbogenerators (wo3)is reduced when sale is not permitted,
while the electricity production of the turbines remains at the same level. When sale of electricity
is permitted the refinery produces 8.443MW for sale.

(B) Suppose that the sales pricefor electricity that the refinery can get is dropping while the pricefor
electricity from the outside supplier remains unchanged at $44.4. At what price does the refinery
stop selling electricity? Assuming that the refinery does not buy additional electricity, i.e. with the
additional constraint WOl = 0, what is the maximum amount of electricity the refinery can sell?

The price at which the refinery will stop selling electricity can be seen from the sensitivity ana-
lysis information of the objective function coefficient of the corresponding variable, l.e., variable
W0 6. To obtain this information in CPLEX we issue the command

display objective w06

and get the answer that variable W0 6 will remain basic until the price goes down to $20.7811. At
this price the variable W0 6 will become zero and the optimal value will be the same with that of
Model 2.

To find the maximum amount of electricity the refinery can produce for sale we change the
objective function of Model 1 to
maxw06
and set WOl = O. We refer to this LP as Model 3 and present the solution in the third column
of Tables B.6 and B.7. The maximum amount of electricity that can be sold is 16.296MW. This
however is not the amount that is sold under the optimal production schedule when the total
cost is minimized. The electricity produced by the turbines is two times as much as in Modell.
The electricity produced by the steam turbogenerators is increased while the electricity produced
by the gas turbogenerators is at the same level. In terms of the original objective function we get
$3237.484. This means that selling electricity is not as profitable as selling the fuel oils.

(e) If your linear programming solver has a branch-and-bound facility, use it to find out which
ones of the turbines are "on" and which are "0Jf" in the respective runs. If it does not, use the
following rounding procedure: If a value t j ::; 0.5 in the linear programming optimum then set the
corresponding t j = 0 and t j = 1 otherwise. Rerun the problem tofind a (sub-optimal) answer to the
problem. Discuss how the solutions to the linear programs and the mixed-integer linear programs,
respectively, differ.

In the LP solutions several turbines are "run" at less than full capacity which is infeasible from
an engineering point of view. Thus the t ij variables must be integer. To solve the mixed-integer
problems we append to the LP the integrality restriction for the turbine variables. In CPLEX this
is done by appending
B.5. SOLUTION TO THE REFINERY CASE 395

Integers
tOl t02 t03 t0 4 t05 t06 t07 t 08 t09 tlO tll tl2 tl 3 tl4 tl5
t16 t 17 t 18 t19 t20 t 2l t22 t23 t 24 t 25 t26 t27 t 28

before the End statement. We refer to the mixed-integer programs for Models 1,2,3 as Mo-
dels 4,5,6, respectively. The solutions are shown in Tables B.6 and B.7 and the optimal flows are
indicated in Figure B.l. The difference between the solutions of the linear and the mixed-integer
programs is not significant. The solution of Model 4 has t16 = 0 (it was 0.275 in Modell), t23 = 0 (it
was 1), and t24 = 1 (it was 0.431), while the other integer variables are the same as in Model l , The
optimal value is $2985.069 , Le., $0. 567 more than the optimal value of Model L In the solution
of Model 5 we have t17 = 1 (it was 0.43 in Model 2), t20 = 1 (it was 0), t 24 = 0 (it was 0.253), and the
other integer variables are the same as in Model 2. The optimal value is $3 109 .560 , i.e., $0.786
more than the optimal value of Model 2. Finally, in the solution of Model 6 we have t02 = 1 (it was
0.694 in Model 3), t09 = 1 (it was 0), tlO = 0 (it was 0.229), tI S = 1 (it was 0.462) , and the other
integer variables are the same as in Model 3. The optimal value is 16.26 MW, i.e ., 0.036 MW less
than the optimal value of Model 3.

(D) Invent your own "disaster" situation where some oj the production units jail to operatejully and
solve jor the respective steam balance.
As a disaster situation we consider the situation under which unit 15 operates at 50% of its
capacity. We refer to the model that results from changing constraint c1l6 to UI 5 = 0.5 in Model 4 ,
as Model 7. The solution is shown in Table B.6 and B.7. The operating cost is $3899 .8 72, t.e. ,
$9 14 .803 more than in Model 4. This increase can be explained by the fact that unit 15 is the
major producer offuel gas. When it operates at 50%,8.5512(17.103/2) MT/h offuel gas are lost.
This fuel gas can be replaced by fuel oils, but at an extra cost since fuel oils are marketable while
fuel gas is not. E.g. we see that the furnaces that can burn either fuel gas or fuel oil 1, do not
burn any fuel gas (f06 = 0) and burn 8.452 MT/h more fuel oil 1 (J02 = 15.57) than in Model 4.
396 B. OPERATIONS MANAGEMENT IN A REFINERY

Table B.6. Optimal solutions for the flow and electricity variables
Modell Model 2 Model 3 Model 4 Model 5 Model 6 Model 7
Cost 2984.502 3108.774 16.296 2985.069 3109.560 16.260 3899.872
X OI 04.0/1 OU.:tl:J:t 04.0/1 04.0/1 OU.01:t 04.0/1 04.0/0
X 02 23.903 21.384 23.903 23 .903 21.395 23 .903 23.732
X03 79 .941 72.933 79.941 79.941 72 .964 79.941 79.464
X04 1.367 1.257 1.367 1.367 1.258 1.367 1.359
X05 0 .305 0 .281 0.305 0.305 0.281 0.305 0.304
X 06 1.062 0.977 1.062 1.062 0.977 1.062 1.056
X07 78.071 73 .692 100.000 78 .071 73.712 100.000 77.773
X 08 50.965 52.833 40.000 50.898 52 .800 40.000 28.278
X 09 27.106 20.859 60.000 27.174 20.912 60.000 49.496
XlO 1.042 1.042 3 .125 1.042 1.042 3.123 1.042
Xu 1.042 1.042 3.125 1.042 1.042 3.123 1.042
X 12 20.500 20.500 61.500 20.500 20.500 61. 449 20.500
X 13 20.000 20.000 60.000 20.000 20.000 59 .951 20.000
X 14 0.062 0.062 0.185 0.062 0.062 0.185 0.062
X1 5 0.453 0.453 1.360 0.453 0.453 1.359 0.453
X 16 0 .062 0.062 0.185 0.062 0.062 0 .185 0.062
X17 0.500 0.500 1.500 0.500 0.500 1.499 0 .500
X1 8 0.151 0.151 0 .453 0.151 0.151 0.452 0 .151
X 19 0.349 0.349 1.047 0.349 0.349 1.046 0.349
X2 0 85.191 85.106 87.600 85.191 85.107 87.565 85.185
X2 1 196.900 196.900 196.900 196.900 196.900 196.900 194.750
X22 4.182 3.506 7.494 4 .190 3 .511 7.489 8.692
X 23 0.000 0.000 0.000 0.000 0.000 0.122 0.000
X2 4 0.000 0.000 0.000 0.000 0.000 0.130 0.000
X 25 0 .000 0.000 0.000 0.780 0.280 0.000 0.680
X26 0 .000 0.000 0.000 0.855 0.307 0.000 0.745
X 27 0 .000 0.000 0.000 0.044 0.966 1.792 1.446
X28 0.000 0.000 0.000 0.044 0.966 1.792 1.446
X 29 2.029 2 .029 2.029 2.029 2 .029 2.029 1.934
X30 2 .707 2 .707 2 .707 2.707 2.707 2 .707 2 .707
X31 0.845 0.845 0 .845 0.845 0.845 0.845 0.845
X32 0.524 0.524 0.524 0.524 0.524 0.524 0.524
X3 3 0.000 0.000 0.000 0.000 0.000 0.008 0 .000
X 34 0.000 0.000 0.000 0.075 0.027 0.000 0.065
X 35 8.455 8.455 8.455 8.455 8.455 8.455 8.455
X36 10.900 10.900 10.900 10.900 10.900 10.900 10.900
X3 7 23.464 23.464 23.464 23.464 23.464 23.464 22.009
X38 18.193 18.193 18.193 18.193 18.193 18.193 18.193
X39 1.900 1.900 1.900 1.900 1.900 1.900 1.900
X40 6.630 6.630 6.630 6.630 6.630 6.630 6.630
X4 1 6.106 6.106 6.106 6.106 6.106 6.106 6.106
X 42 9.300 9.300 9.300 9.300 9.300 9.300 9 .300
X43 0 .200 0.200 0.200 0.200 0.200 0 .200 0.200
X4 4 12.600 12.600 12.600 12.600 12.600 12.600 12.600
X45 20.900 20.900 20 .900 20.900 20.900 20.900 20.900
X 46 7.300 7.300 7.300 7.300 7.300 7.300 5.750
X 47 3.100 3.100 3.100 3.100 3.100 3.100 3.100
X48 5.400 5.400 5.400 5.400 5.400 5 .400 5.400
X 49 91.020 91.020 91.020 91.020 91.020 91.020 63 .170
X5 0 17.630 17.630 17.630 17.630 17.630 17.630 17.480
X51 19.700 19.700 19.700 19.700 19.700 19.700 19.700
X52 17.600 17.600 17.600 17.600 17.600 17.600 17.350
X53 102.791 102.706 105.200 102.791 102.707 105.165 102.535
X 54 0.000 0.000 0.681 0.000 0.000 0.648 0.000
W Ol 0.000 0.000 0.000 0.000 0.000 0.000 0.000
W0 2 31.558 24.461 31.558 31.558 24.492 31.558 31.075
W 03 11.824 10.497 18.677 11.833 10.506 18.677 14.631
W0 4 1.061 1.043 2.060 1.036 1.002 2.025 1.059
W05 36.000 36.000 36.000 36.000 36.000 36.000 35.538
W0 6 8.443 0.000 16.296 8.427 0.000 16.260 11.228
B.5. SOLUTION TO THE REFINERY CASE 397

Table B.7. Optimal solutions for the fuel, turbine, and unit variables
Modell Model 2 Model 3 Model 4 Model 5 Model 6 Model 7
10 1 1.5 11 1.511 4 .534 1.511 1.511 4 .530 1.511
102 7.11 8 5.656 15.570 7.118 5.662 7.118 15.570
103 2 1.830 21.830 13. 378 21.830 2 1.830 21.830 21.830
104 10.700 9. 238 10.700 10.700 9 .244 10.700 10.601
105 9 .3 10 9 .310 9.310 9.310 9.3 10 9.310 9.3 10
106 8.452 9. 91 4 0.000 8 .452 9.908 8 .452 0.000
107 0 .000 0.000 8 .4 52 0.000 0 .000 0.000 0.000
tOl 0.000 0 .000 1.000 0.000 0 .000 1.000 0.000
t 02 0 .000 0.000 0 .649 0 .000 0 .000 1.000 0 .000
t03 0 .000 0 .000 0 .000 0 .0 00 0.000 0.000 0.000
t 04 0.000 0.000 0.000 0.000 0.000 0 .000 0.000
t05 0 .000 0 .000 0.000 0.000 0 .000 0 .000 0.000
t06 0 .000 0 .000 1.000 0.000 0.000 1.000 0.000
t07 0 .000 0 .000 0 .000 0 .000 0.000 0 .000 0 .000
t08 0 .000 0 .000 0.000 0 .000 0 .000 0.000 0.000
t09 0 .000 0.000 0 .000 0.000 0.000 1.000 0 .000
tlO 0. 000 0 .000 0.229 0 .000 0 .000 0.000 0.000
tu 0.000 0 .000 0.000 0.000 0 .000 0 .000 0.000
t12 1.000 1.000 1.000 1.000 1.000 1.000 0.000
t1 3 1.000 1.000 1.000 1.000 1.000 1.000 1.000
t14 1.000 1.000 1.000 1.000 1.000 1.0 00 1.000
t 15 1.000 1.000 1.000 1.000 0.000 1.000 1.000
t 16 0 .275 0.000 1.000 0.000 0.000 1.000 0 .000
t17 0.000 0 .430 1.000 0 .000 1.000 1.000 1.000
tI8 0 .000 0.000 0.462 0 .000 0.000 1.000 1.000
t1 9 0.000 0 .000 0.000 0.000 0.000 0.000 0.000
t20 0 .000 0.000 0.000 0.000 1.000 0.000 0.000
t2 1 1.000 1.000 1.000 1.000 1.000 1.000 1.000
t22 1.000 1.000 1.000 1.000 1.000 1.000 1.000
t2 3 1.000 1.000 1.000 0.000 1.000 1.000 1.000
t 24 0 .431 0 .253 1.000 1.000 0 .000 1.000 1.000
t25 0.000 0 .000 0.000 0.000 0 .000 0.000 0.000
t26 0 .000 0.000 0 .000 0.000 0 .000 0.000 1.000
t 27 0 .0 00 0 .000 0.000 0.000 0.000 0.000 0 .000
t2 8 0 .000 0 .000 0 .000 0.000 0.000 0.000 0.000
U0 1 1.000 1.000 1.000 1.0 00 1.000 1.000 1.000
U 02 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U03 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U 04 1.000 1.000 1.000 1.00 0 1.000 1.000 1.000
U05 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U0 6 1.000 1.000 1.0 00 1.0 00 1.000 1.000 1.000
U07 1.000 1.000 1.000 1.00 0 1.000 1.000 1.000
U0 8 1.000 1.000 1.000 1.000 1.000 1.000 · 1.000
U09 1.000 1.000 1.000 1.000 1.000 1.000 1.000
UlO 1.000 1.000 1.000 1.000 1.000 1.000 1.000
Uu 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U12 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U13 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U14 1.000 1.00 0 1.000 1.000 1.000 1.000 1.000
U15 1.000 1.000 1.0 00 1.0 00 1.000 1.000 0 .500
U1 6 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U 17 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U1 8 1.000 1.00 0 1.000 1.000 1.000 1.000 1.000
U 19 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U 20 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U 21 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U2 2 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U23 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U24 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U25 1.000 1.000 1.000 1.000 1.000 1.000 1.000
U26 1.0 00 1.000 1.000 1.0 00 1.000 1.000 1.000
U27 1.000 1.000 1.000 1.000 1.000 1.000 1.000
C. Automatized Production: PCBs and Ulysses' Problem

Printed circu it boards (PCBs) are omnipresent in today's high-technology world: you find them in
washing machines, transistor radios, TVs, computers, etc . They are a typical example of a mass
produced item the production process of which comprises several stages. One of the stages of
this process is a drilling problem. In Figure C.l we show the image of a flat , rectangular piece
of material into which 2,3 92 holes must be drilled (by means of a mechanical drill or a laser
gun). This is a necessary step in the production process of the PCB where the holes serve to
place resistors, capacitators, etc on the board. Output per hour of this mass produced item is
proportional to the time that it takes to complete the drilling of one board. The drill has to "visit"
every hole exactly once, drilling time per hole is constant, and savings in the total processing time
result from minimizing the travel time of the drill. For each hole the cartesian coordinates (xu,Yu )
for 1 :S u :S 2, 392 are known. Depending upon the machinery used, the travel time of the drill can
e.g. be proportional to the Euclidean distance of two consecutive holes to be drilled or it could e.g.
be the distance of the two points in the £l-n orm . We assume for simplicity that the travel time is
proportional to the Euclidean distance in our example, though the metric used does not matter
much since it affects only the objective function of the problem. Figure C.2 shows the routing
of the drill as produced by a professional scheduler in industry. Figure C.3 shows an optimal
solution, Le. one in which the total travel time in terms of the sum of the Euclidean distances
is minimal. Given the enormous complexity of the scheduling task it is not surprising that
the optimal solution is about half as long as the one constructed by the scheduler. The optimal
solution was calculated using a branch-and-cut solver like the one shown in Figure 10.2, but with
the additional feature of column generation as discussed in the context of the dynamic simplex
algorithm of Chapter 6 to accommodate the 2,859,636 variables of the optimization problem. It
took about 2 hours of CPU time on a time-sharing Sun-Spare 10/41 workstation to optimize this
particular problem; see also Figures 6.1 and 6.2 in Chapter 6.6 of the text.
The drilling problem for PCBs is one example of the so-called traveling salesman problem
(TSP) which is a celebrated one-line problem that arises in so many different contexts of schedu-
ling and routing that they are too numerous to be listed here in any detail.
Given n cities with arbitrary inter-city distances Cu v between cities u
and v .find a shortest roundtrip that visits every city exactly once.
Interpreting the holes as "cities" this is exactly the problem that the scheduler faces when he
routes the drill through the 2, 392 holes to be drilled into the board. To solve his problem,
the scheduler "inven ts" a roundtrip, see Figure C.2, programs the numerical drill to follow the
particular sequence of his roundtrip and the machine produces a lot of 1, 000, say, identical
boards all having 2,392 holes in the same places following the programmed roundtrip; using the
shortest roundtrip of Figure C.3 the output per hour could practically be doubled. To "optimize"
the automatic production of PCBs - as one example of many for the application of TSPs - we
must therefore, amongst other things, master the optimization of traveling salesman problems.
We formulate the combinatorial optimization problem of finding a shortest roundtrip for the
drill or the traveling salesman as follows. Let V = {I , ... ,n} be the set of cities to be visited and
denote by E = {(u , v ) : 1 :S u < v :S n} the set of unordered pairs of cities. We call the pair G = (V, E)
a graph, V the set of nodes of G and E the set of edges of G. There are exactly n(n - 1)/ 2 edges in
400 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

..... . : . .. a." ::::•••• : "." ::::....


."::':;:~:::: :.::: . . ::{~~:~r:· .. . ::{~~";.t ':.
:::
.....:
.... · . : ....... :::.: ..:;: · . : .. .:.:,.: .: ..:;:
'

..... (;'.:~ :~:::.: ':


•••• " a." .. . . . . " a.. .
.:: :: : .:: :: :
..... .. ....... .....: ..:. ... .. .. .
.'.:: ':;:~~::: :.::: ;.. '. :'" \C~::;.~·;:····:··i .:: ~;:~~::.; ':.::: :.. '.:...:.; f~~::;.;/··:···
.. . ::: :
..:..:
· . : .. '.: :;:.: ..::. '
... ..:..:: · . : .. .:. :::.: ..::.
:::
'

..... ~:-:;.:~'}:::.: ': .:: :: :.


. . . . " e..
..... ~: ':;.:/::::::: ....
.:: ::
..
:
"

... .. .. . : ..:. .. .... a." : :::•• "• : .. " a." : :::.....

.'.:: :;:~:::: :.::: ......::{~~,.;.t·:·i ....::·C~";.t ':. i


... ::: :
.":..: · . : ....... :;:.: ..:;: ..
· . : ' -; :;:.: ..:;:
..... ('.:~'.~::=:::: .... . ::
" e..
::
.
:
... . " a.-
.:: .s::: .
: "" e." ::::•••• ..... .. ..... .....:..:. : .. " a." ::::•• ".

.. ....:: .(~,.;.:::..:.~ .'.:: ':;::~::: :.::: .. ...... : {~~~:~:::' ':.


::: :
· . : .. .:. :::.: ..::.
'
.... ..:..:
· . : .. .:. :,.:': ..:::
'
.. .. " e.- . :: .::..~:.. ~ :.: ...... •• •• " a." •

.:: :: : ................ .:: :: :

Fig. C.l. PCB drilling problem with 2,392 points

Fig. C.2. A scheduler's solution for the 2,392 points of length 718,876
C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM 401

Fig. C.3. An optimal solution for the 2 ,392 points of length 378,032

our case and such graphs are called complete graphs. Since for a drill the distance Cu v from hole u
to hole v is the same as the distance from v to u we do not distinguish the "direction" in which
we traverse any edge e = (u,v). This gives rise to a symmetric traveling salesman problem; the
directed or asymmetric case of the TSP exists as well and is modeled in a similar fashion using
directed edges or arcs. Here we will discuss only the symmetric version of the problem. Any
roundtrip is a simple cycle in the graph G, i.e. a sequence (VI , V2, ... ,vn ) of the n distinct nodes
that does not repeat any node. The corresponding edge set (V I, V2 ) , (V2 , V3 ), ... , (Vn-I , Vn), (vn , vi)
is a graphical representation of a roundtrip or tour, for short. In graph theory tours are also
called Hamiltonian cycles, so named after the Irish mathematician Sir William Rowan Hamilton
(1805-1865) . The length of a tour is the sum of the lengths of the edges that form the tour. The
traveling salesman problem is thus the problem of finding a shortest tour or a Hamiltonian cycle
in a graph G. You show (by induction on n ~ 3) that there are precisely (n - 1)!/2 tours in the
graph G as we have defined it. In terms of our formulation (10.1) of combinatorial optimization
problems we can thus proceed as follows: the ground set E is the set of all edges that are possible
on n nodes and the family :F is given by

:F = {T ~ E : T is the edge-set of a tour in G} .

To arrive at a formulation by way of a linear description we introduce a vector x E JRn(n -I )/ 2 of


402 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

decision variables Xe for every edge e E E as follows

X = { 1 if edge e is selected,
e (C.I)
o ifnot.
So e E E runs through all n(n -1) / 2 edges that are present in the complete graph G. In the case of
the drilling problem of Figure C.I this means that there are exactly 2,859,636 zero -one variables
to be considered. Rather than writing JRn (n- l) / 2 we write JRE. for short.
If e = (u , v ) then the edge e connects node u to node v and the integerized length of the edge in
the Euclidean norm for the drilling problem is

where (xu,Yu ), (xv,Yv) are the cartesian coordinates of the nodes u and v. respectively. We do
not have to mtegertze , but it is more convenient to do so. The error committed this way is small
enough. if the coordinates are integers having several digits or have been scaled to be such
integers. which is often the case. The objective function of our problem is

min L CeX e ,
eE E

where we minimize subject to the condition that x = (Xe ) eEE ' x E JRE. is the incidence vector
of a tour in G. So in effect, we are looking for the minimum of a linear objective function over
a discrete set of (n - 1)!/ 2 zero-one points in JRn(n- l) /2.
We have to find now linear relations that express the requirement that we want incidence
vectors of tours in the minimization. Since every node is met by exactly two edges of a tour, Le.
the drill comes from some hole and goes to some other hole before drilling the hole v . say. we
have the equations

L Xe = 2 for all v E V . (C.2)


e meets V

The equations (C.2) together with the 0-1 requirement (C. 1) do not model our problem correctly.
For let e.g. n = 6. Then the edge set

}C = {(1,2), (2,3), (3,1), (4,5), (5, 6), (6, 4)}


gives a zero-one vector in JR15 that satisfies (C. 1) and (C.2) . but it evidently does not correspond
to a tour in the graph on 6 nodes. However.

(1,2) ,(2, 3), (3,1)

is a tour on the graph with 3 nodes which is called a subtour for the graph with 6 nodes.
So more generally, for a graph with n nodes we have to forbid the occurrence of subtours on
node sets S with 3 :::; lSI :::; n - 1. For S ~ V let us define
E( S) = {( u,V) EE : U E S , VES},
(S : V - S) = { (U,v) E E : either U or v E S} .
C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM 403

E(S) is the set of all edges in G having both endpoints in the set S.
(S : V - S) = (V - S : S) is the set of edges of G that have exactly one endpoint in S and is called
a cut set in G, since removing all edges in (S : V - S) for 0 #- S c V disconnects the graph by
breaking it into two disjoint parts. We can now formulate the subtour elimination constraints to
rule out subtour solutions to (C.I) and (C.2) as follows

L x e ::; ISI - 1 for all S c V, 2 ::; lSI ::; IVI- 1 . (C.3)


e E E (S )

The constraints reduce to X e ::; 1 where e is the unique edge in E(S) if lSI = 2, while for lSI ~ 3
they rule out subtours as defined above. We claim that every zero-one vector x E ~E satisfying
(C.2) and (C.3) is the incidence vector of a tour. Let

F={ eEE : x e=l}

for any such vector. Since every node of G is met by exactly two edges the set F must contain
at least one cycle. Since IFI = n this cycle has exactly n edges, because otherwise a subtour
elimination constraint (C.3) would be violated.
So the zero-one linear programming problem given by

min{L CeX e : x E ~E satisfies (C.1), (C.2), (C.3)}


eEE

models the symmetric traveling salesman problem in the form of a mixed-integer linear program-
ming problem (MIP) of Chapter 10 and the polytope

Q'S = {x E ~E : x ~ 0 , x satisfies (C.2) and (C.3)}

is a formulation of the problem (TSP) which, however, is known to be far from being an ideal
formulation of the (symmetric) traveling salesman polytope

Q?T = conv({x E Q'S : X e E {O, I} for all e E E} ) ,

i.e., Q?T is in the terminology of Chapter 10 the convexification of the discrete set

DM = {x E ~E : x E Q'S, Xe integer for all e E E} .

The extreme points of Q?T are precisely the incidence vectors of the (n - I)! /2 tours in G. It is not
straightforward, but it is not too difficult either, to prove that

dimQ?T = n(n - 3)/2 , aff(Q?T) = {x E ~E : x satisfies (C.2)} .

So the traveling salesman polytope is a flat in ~n(n-l) /2 and consequently its ideal descrip-
tion is quasi-unique. To illustrate the quasi-uniqueness let us consider the subtour elimination
constraints (C.3). Since every x E ~E that satisfies (C.2) satisfies also

2) L xe) =2 L Xe + L Xe = 21 S1 ,
vES e meets V eEE(S) eE(S: V-S )
404 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Table C.l. The facial structure of small traveling salesman polytopes


n 3 4 5 6 7 8 9 10
No. of variables 3 6 10 15 21 28 36 45
Dimension 0 2 5 9 14 20 27 35
No. of tours 1 3 12 60 360 2,520 20.160 181,440
Equations 3 4 5 6 7 8 9 10
Facets 0 3 20 100 3,437 194.187 42,104,442 ::::: 51.043.900,866

for every 8 ~ V. it follows that the constraints (C.3) can be written equivalently as follows

L X e ::::: 2 for all 8c V. 2 :S 18/ :S IVI - 1 , (CA)


e E(S :V- S )

where (8 : V - 8) is the cut set of edges in G defined by the nodes in 8 and V - 8. The logical
interpretation of (CA) is clear and we leave it to you to figure it out. Since (C.3) and (CA) are
equivalent constraints for all x E JRE sattsfytng (C.2) we can write the above formulation Q~ for
(TSP) as follows

s
Q = {x E JRE : x ::::: 0 , x satisfies (C.2) and (CAl) ,
which is "visually" different from, but mathematically equivalent to (Fd.
Counting the constraints (C.3) or (CA) we find that there are 2n - n - 2 constraints, Le . our
formulation of (TSP) has O(2n ) or exponentially many constraints. So if we want to solve TSPs
using linear programming, then the straightforward way of listing all constraints of the problem
is out of the question. By Remark 9 .20 we know. however. that the linear optimization problem
(TSP L P ) min{cx : x E Q s}
can be solved in polynomial time if we can solve the polyhedral separation problem for Q likewise. s
So let x * E JRE be arbitrary. Using the algorithm LIST-and-CHECK we can check the cons-
traints (C.2) and the constraints 0 :S X e :S 1 for all e E E in polynomial time. So suppose x* E JRE
satisfies those constraints. For 8 ~ V we write for short
x(8: V - 8) = L Xe , x(8) = L Xe ·
eE(S: V -S ) eE E (S )

To check the exponentially many constraints (CA) for x* E JRE we must solve the problem

min{x*(8: V - 8) : 8 c V , 2:S 18\ :S lVI-I} , (C.5)


which is a minimum cut problem in the weighted graph (G, x *) where each edge e E E gets the
weight x~ . If 8 c V solves the minimum cut problem and
x*(8 : V - 8) ::::: 2 ,

then x* E Qs' whereas otherwise the inequality ha: = x(8) :S 18/-1 is a most violated separator for
z." and Qs; see Chapter 9 .5 . Several polynomial-time algorithms for the minimum cut problem
C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM 405

are known and thus - in spite of the exponential size of the formulation Q'S ofTSP - we can solve
(TSPLP ) in polynomial time using the ellipsoid algorithm.
In computational practice we will, of course, use the fastest LP solver in the branch-and-
cut framework of Figure 10.2. This can be a simplex algorithm, a barrier method or whatever
algorithm is fastest when you need to solve the problem. The important observation to make
is that the constraint generator now comprises at least one algorithm different from the one
that solves linear programs. Here again you have a choice: you will choose the fastest available
algorithm to solve your minimum cut problem.
The linear program (TSP L P ) frequently provides a zero-one solution, i.e. a solution to the
traveling salesman problem, but of course not always. Indeed, the facial structure of Q'T is
extremely complicated and has been the object of many investigations for many years. Ideal
descriptions are known for "small" n and in Table C.I we show the number of distinct facets, etc
of Q'T for values of n satisfying 3 :::; n :::; 10, which demonstrate the incredible complexity of the
TSP polytope.
The subtour elimination constraints (C.3) define facets of Q'T and half of them define distinct
facets of the polytope. Consequently, they or equivalent representations like (CA) of them are
required in every minimal and complete, i.e. ideal. linear description of the polytope Q'T. Let
H ~ V and T; ~ V for 1 :::; i :::; k, where k 2: 3 is an odd integer. be any subsets of nodes of G
satisfying
IH n Til 2: 1, ITi - HI 2: 1 for 1 :::; i < k , t: n Tj = 0 for 1 :::; i < j :::; k . (C.6)
The configuration C = (H,T 1 , • • . ,Tk ) in the graph G is called a comb in G with H being the
"handle". T; being the "teeth" of the comb; see Figure C.4 for two illustrations. The inequality
k k k
x(H) + 2: X (Ti ) :::; IHI + 2:(ITi l - 2) + L2J (C.7)
i= 1 i= 1

is called a comb inequality and it is facet-defining for Q'T as well for all n 2: 6. Let C = (H, T 1 , . • . ,Tk)
be a comb in G and partition T; into r i 2: 1 nonempty sets Tj such that
IH n Tjl 2: 1 , ITj - HI 2: 1 for 1 :::; j :::; ri , Tj n Tl = 0 for 1 :::; j < £- :::; r .
holds for all 1 :::; i :::; k. Then the refined comb (r -comb) inequality
k Ti
h G x := x(H) + 2:(2: x(Tj) + 2: (x(Tl n H : Tj - H) + x(Tl- H : Tj n H)))
i= 1 j = 1 I :5,R< j :5,Ti

k k
:::; IHI + 2:(jTi !- r , -1) + L2J
i=1

generalizes the comb inequality and it is facet defining as well for Q'T and n 2: 6. To prove the
validity of the r -comb inequality is easy and it goes as follows. We write
k Ti
G
2h x :::; 2: ( 2: xe ) + 2:(x(Ti) + 2:(x(Tl n H) + x(TI - H)))
vE H e meets V i= 1 j=1
k Ti k
< 21HI + '2)ITi l - 1 + 2:(ITI n HI-1 + ITj - HI - 1)) = 21HI + 2'2)ITi l - r, -1) + k ,
i= 1 j=1 i= 1
406 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Fig. C.4. Graphical representations of comb inequalities

10,000 # of cities


1,000
.:»:
....•

_-e
.! - -

100
• ••

time
10
1955 1960 1965 1970 1975 1980 1985 1990
Fig. C.5. Progress in the exact optimization of symmetric TSPs

where we have used (C.2), (C.3) and the nonnegativity of x . Dividing both sides of the inequality
by 2 and rounding the right-hand side down to the nearest integer the validity of the r -comb
inequality for Q'T follows because h ex is an integer number for every zero-one vector x. Note that
the coefficients of the r-comb inequalities are 0, 1 or 2 . R-comb inequalities are facet defining for
the traveling salesman polytope Q'T for all n 2 6 and half of them define distinct facets of Q'T . To
prove these assertions goes beyond the aims of our exposition and we refer you to the references.
Many more, facet-defining inequalities for Q'T are known. Nevertheless, an ideal description of
Q'T might possibly prove to be elusive. But then the outer inclusion principle of Chapters 7.5.4
and 9.5 applies here as well; see our discussion of this point in Chapter 10.3.
The total number of r -comb inequalities is enormous; it grows far worse with n than the
number of subtour elimination constraints. To use the inequalities in the numerical solution
of TSPs we must therefore find algorithms that solve the corresponding polyhedral separation
problem for the polytope Qc ' say, that results by intersecting the polytope Q'S by the totality of
all r-cornb inequalities that are possible in the complete graph on n nodes. For the special case
of comb inequalities satisfying
C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM 407

IH n Til = 1, ITi - HI = 1 for 1 ~ i ~ k , (C.8)

a polynomial-time separation algorithm is known. For a given x* E IRE the problem that needs
to be solved is a minimum odd cut problem in a suitably constructed weighted graph (G,x*) that
has, roughly, twice the size of the weighted graph (G,x*) and whose nodes are labelled "odd"
or "even". The problem that must be solved in (G,x*) is essentially the problem (C.5) with the
added requirement that the subsets S c V contain an odd number of odd labelled nodes where
V is the node set of the graph G. Like we reasoned above we can thus - theoretically - optimize
s
in polynomial time the linear program that results when the formulation Q is intersected with
the totality of all combs satisfying (C.8). For general comb constraints no exact algorithms are
known to date that solve the separation problem. It remains a challenge to find such algorithms.
Several heuristics for the separation (or constraint identification) problem for combs are known
and we refer you to the references for more detail.
The preceding partial characterization of ideal formulations of symmetric traveling salesman
problems yields the theoretical basis for a powerful branch-and-cut solver for this notorious
problem. The number of cities n is arbitrary and typically, the larger n the more difficult it
becomes to find an optimal tour for a particular instance of the problem. In Figure C.5 we show
the progress of exact optimization of symmetric TSPs from the 1950's to the early 1990's in
a city-time diagram according to the publication dates which you will find in the references. Note
the logarithmic scale (base 10) on the cities-axis. The problem with n = 2,392 is not the largest
real-world problem solved to date. Research along these lines continues around the globe and
succeeds in pushing the frontiers of the exact solvability of combinatorial problems further and
further. Most - if not all- of the exact algorithms that are used in this endeavor are of the branch-
and-cut variety and utilize partial linear descriptions of ideal formulations of the combinatorial
problems -like we have discussed it in full generality in Chapter 10.
To give you an operational understanding of the material of this appendix we have included
two small numerical problems. The first problem is a 16-city problem, the second one a 48-
city problem. We want you to solve both problems and recommend that you start by reading
G.B. Dantzig, D.R. Fulkerson and S.M. Johnson's article "Solution of a large-scale traveling
salesman problem", Operations Research 2 (1954) 393-410. Rather than writing a branch-and-
cut algorithm - which you should be able to do - it might be a good idea to solve the problem
first visually like Dantztg, Fulkerson and Johnson did in 1954. Their work is a milestone in the
exact optimization of large-scale combinatorial problems and remained a world record in terms
of problem size for over 15 years.
In Table C.2 we list 16 Mediterranean tourist spots that according to Homer were visited by
Ulysses, a former king of the island ofIthaca (Greece), a long time ago . Table C.2 also gives their
polar coordinates from which we have computed the table of the inter-city distances in kilometers
for your convenience, see Table C.3. The distances are the great-circle distances on the globe
which are proportional to the time it takes to fly from city u to city v, where 1 ~ u < v ~ 16. Our
modern-day Ulysses will not criss-cross the Mediterranean like Homer's Ulysses did who visited
the sixteen spots in the following order
1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, 13, 14, 15, 16, 1.
This is evidently not a tour, but then according to Homer's Odyssey the ancient Ulysses' voyage
was quite an odyssey - an ordeal if you wish. Having participated in the Trojan war, all that
the king truly wanted was to get home safely to his beloved Penelope. Our Ulysses wants to visit
408 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Table C.2. Polar coordinates of 16 locations in the Mediterranean


1 Ithaca, Greece 38.24N 20.42E
2 Troy, Turkey 39 .57N 26 .15E
3 Maronia, Turkey 40 .56N 25 .32E
4 Malea, Greece 36 .26N 23 .12E
5 Djerba, Tunisia 33.48N 1O.54E
6 Favignana, Italy 37 .56N 12.19E
7 Ustica, Italy 38.42N 13.lIE
8 Zaklnthos, Greece 37.52N 20 .44E
9 Bon lfacclo, Fra n ce 4L 23 N 9 .10E
10 Circeo, Italy 41.17N 13.05E
11 Gibraltar,Spain 36.08N 5.21W
12 Stromboli, Italy 38.47N 15.13E
13 Messina, Italy 38.15N 15.35E
14 Taormina, Italy 37.51N 15.17E
15 Btrzebbuga, Malta 35 .49N 14.32E
16 Corfu, Greece 39 .36N 19.56E

the sixteen places without wasting his time - time is money for him, but maybe he, too, has an
amorous motivation. For his journey he has, of course, a helicopter at his disposal. You are
ch arged to find n ot only the shortest roundtrip for hi m , see Figure C.6, but more.
(Al Calculate a lower bound on the total length of the ancient Ulysses' voyage.
(B] Formulate Ulysses' problem and solve the associated linear program consisting only of
the equations (C.2) and the constraints a S; X e S; 1 for all e E E. Make a map of the
Mediterranean like Figure C.6. Plot the solution graphically and identify violated subtour
elimination and/or comb constraints. Add all violated ones that you found to your linear
program, reoptimize the linear program and iterate.
(C) Devise a method to prove or disprove the uniqueness of the optimal tour you found in part
(B) . What is the second best tour for Ulysses?
The second problem that we want you to solve is a traveling salesman problem with 48 cities.
It is different from the 1954 problem of the article by Dantzig et al who considered the largest
cities in each one of the 48 continental states of U.S.A. plus Washington, D.C., and not the state
capitals. The "virtual" coordinates of the 48 cities are given in Table C.4 and the corresponding
inter-city distances for cities u and v are calculated by the following computer instructions in
pseudo-code.

XDIST =((x u - xv ) * (xu - xv ) + (Yu - Yv) * (Yu - Yv))/ l0


XDIST =SQRT(XDISTj
MDIST =XDIST
if MDIST < XDIST then MDIST=MDIST+ 1
C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM 409

Table C.3. The distance table for Ulysses' problem


2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 509501312 1019 736 656 60 1039 7262314 479 448 479 619 150
2 126474 1526 1226 1133532 1449 11222789 958 941 978 1127 542
3 54 1 1516118410845361371 10452728 913 904 9461115 499
4 1157 980 919271 1333 10292553 751 704 720 783 455
5 478 583996 858 855 1504 677 651 600 401 1033
6 115740 470 379 1581 271 289 261 308 687
7 667 455 288 1661 177 216 207 343 592
8 1066 759 2320 493 454 479 598 206
9 328 1387 591 650 656 776 933
10 1697 333 400 427 622 610
11 1838 1868 1841 17892248
12 68 105 336 417
13 52 287 406
14 237 449
15 636

The virtual coordinates (xu,Yu) given in Table C.4 are read into the computer for 1 ::; u ::; 48
and stored in double precision (64 bit) words. XDIST is a double precision word, MDIST a 32
bit integer. The preceding instructions serve to calculate the integerized length c, =MDIST of the
edge e = (u,v). The coordinates are called "virtual" because they approximate the "true" distance
on the curved North American continent via a planar, Euclidean distance calculation. You can
solve this problem like you did in the case of Ulysses' problem. But we recommend that you
automatize at least parts of the procedure.

(D) Write a problem generator in a computer language of your choice that automatically sets up
the linear program for TSPs that you want to solve in the format required by your LP solver.
(E) Given a node set S ~ V or a comb C = (H, TI , .. . ,Tk ) in a graph G write a routine that
automatically sets up the linear inequality (C.3) or (C.7) in the format required by your LP
solver.
(F) Now solve the 48-city problem like you did above starting the calculations like in part (A) .
Plot each linear programming solution on a map of the United States of America, like the
one of Figure C.7 and iterate. Put all violated subtour elimination and comb constraints
that you find in the course of your calculations into a memory "pool", i.e. store them in
some separate computer file.
(G) Having solved the problem the "hard" way - you should be able to do so, without branching,
on the first try by solving about 15-25 linear programs - do it again, but in the following way:
at every iteration take from the memory pool that you created in the first run all constraints
that are violated by the current LP optimum (but not the ones that are not violated!) and
iterate. How many iterations do you need now to solve the problem? Why?
410 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

"5
Africa

Fig. C.6. An optimal solution for Ulysses' problem of length 6,859 krn

(H) (Optional) Now suppose that comb constraints are unknown to you and that you know only
the subtour elimination constraints (C.3). Solve the problem again using only constraints
(C.3), I.e. solve the corresponding problem (TSP L P ). What is its optimal value? Using
branch-and-bound in a SUitably modified form (zero-one solutions that correspond to sub-
tours must be cut off by constraints of the form (C.3)!) find an optimal solution to the
TSP. State your rules for the selection of branching variables and the selection of the "n ext"
problem from the problem stack clearly. How many nodes does your search tree have? Plot
the search tree like we did in Figure 10 .1.

The literature on the traveling salesman problem has grown exponentially in the last decade.
In the references to Appendix C of the text you will find several survey papers that should permit
you to locate many additional articles and works that we have omitted.
C.l. SOLUTIONS TO ULYSSES' PROBLEM 411

Table C.4. Virtual coordinates of the 48 state capitals of the continental U.S .A.
u City Xu Yu u City Xu Yu
1 Montgomery, AL 7692 2247 25 Lincoln, NE 6823 4674
2 Phoenix, AZ 9135 6748 26 Carson City, NV 8139 8306
3 Little Rock, AR 7721 3451 27 Concord, NH 4326 1426
4 Sacramento, CA 8304 8580 28 Trenton, NJ 5164 1440
5 Denver, CO 7501 5899 29 Santa Fe , NM 8389 5804
6 Hartford, CT 4687 1373 30 Albany, NY 4639 1629
7 Dover, DE 5429 1408 31 Raleigh, NC 6344 1436
8 Tallahassee. FL 7877 1716 32 Bismark. ND 5840 5736
9 Atlanta, GA 7260 2083 33 Columbus. OH 5972 2555
10 Boise, ID 7096 7869 34 Oklahoma City , OK 7947 4373
11 Springfield, IL 6539 3513 35 Salem, OR 6929 8958
12 Indianapolis. IN 6272 2992 36 Harrisburg, PA 5366 1733
13 Des Moines, 1A 6471 4275 37 Providence, RI 4550 1219
14 Topeka, KS 7110 4369 38 Columbia, SC 6901 1589
15 Frankfort. KY 6462 2634 39 Pierre. SD 6316 5497
16 Baton Rouge, LA 8476 2874 40 Nashville, TN 7010 2710
17 Augusta, ME 3961 1370 41 Austin,TX 9005 3996
18 Annapolis, MD 5555 1519 42 Salt Lake City, UT 7576 7065
19 Boston. MA 4422 1249 43 Montpelier. vr 4246 1701
20 Lansing, MI 5584 3081 44 Richmond. VA 5906 1472
21 St. Paul. MN 5776 4498 45 Olympia. WA 6469 8971
22 Jackson. MS 8035 2880 46 Charleston. WV 6152 2174
23 Jefferson City. MO 6963 3782 47 Madison. WI 5887 3796
24 Helena. MT 6336 7348 48 Cheyenne, WY 7203 5958

C.I Solutions to Ulysses' Problem.


(A) Calculate a lower bound on the total length oj the ancient l.flysses' voyage.
We give two ways to find a lower bound to the length of the shortest tour. The first one is
based on the simple observation that if we remove an edge from a tour then we get a spanning
tree, which in this case will be a simple path that goes through every city. Therefore the length of
the optimal tour is strictly less than the length of a spanning tree. It follows that if we calculate
the minimum length of a spanning tree then we immediately have a lower bound to the length of
the optimal tour. The algorithm to calculate the minimum spanning tree is very simple and can
be described as follows:
Step 1: Order the edges of the graph in ascending order. The number of selected edges is zero .
Step 2: while the number of selected edges is less than n
select the shortest edge that does not form a cycle with the previous selected edges
end
412 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

2' 32
e-,
. ···1
.
·.....lq./

~~~
;~
~./
.......~ 39
13
~ · · · · - · · ·· · ••• 11
· ·· ···· ··· ·. • 5
-,~ ~ .•..~ · • · · ·· •· •··-,~ 5

~ 40."'-
.. . . -... .
2.
_ :
~~
~

•••·.•.•9 38 .-
.... 22 , ... .../ '
.~ .' .....~.....

Fig. C.7. Optimal solution of the 48 city problem oflength 10,628 miles

II

Fig. C.s. Minimum length spanning tree for Ulysses' problem

Applying this algorithm to the data of the Ulysses' problem we get the solution shown in
Figure C.8. The length of the tree is 4.540 km, As will become clear later. this lower bound is
very weak.
Every solution to the traveling salesman problem. that is . every tour. contains one cycle. it
has as many edges as the number of nodes of the graph. is connected. and an arbitrarily chosen
node is connected to exactly two distinct nodes and is contained in the cycle. Dropping any of
these properties. we obtain a set of solutions that properly contains the set of all solutions to the
TSP. and thus minimizing over these solutions we obtain a lower bound to the optimal length
of a tour. For example. dropping the last property we get the so-called I -trees (in fact a more
restricted class of graphs). The algorithm to calculate the minimum length of such an I -tree is
very simple. We delete the special node and calculate the minimum spanning tree on the reduced
graph. Then we connect the special node to the two nodes that are closer to it. The solution is
shown in Figure C.g and has a length of 6.044 km, The lower bound obtained is much tighter
C.l. SOLUTIONS TO ULYSSES' PROBLEM 413

11

Fig. C.9. Minimum-length I-tree with special node 11

than the one obtained by the minimum spanning tree calculation in this case.
The above values are lower bounds on the shortest roundtrip that Ulysses could have followed
to visit the sixteen spots, which he did not. Indeed, we know from Homer's Odyssey the Zig-
zagging trip that Ulysses took. According to the story, Ulysses visited and revisited the sixteen
tourist spots in the following order

1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, 13, 14, 15, 16, 1.

Adding the corresponding distances from Table C.3 we thus find that the ancient Ulysses must
have traveled at least 9,913 km as his ship followed the whims and the currents of the sea.
(B) Formulate Ulysses' problem and solve the associated linear program consisting only of the
equations (C.2) and the constraints °::;
X e ::; 1 for all e E E. Make a map of the Mediterranean
like Figure C.6. Plot the solution graphically and identify violated subtour elimination and/ or comb
constraints. Add all violated ones that you found to your linear program. reoptimize the linear
program and iterate.
The formulation of the initial LP, Le., the one consisting of the degree constraints and the
bound constraints is as follows (in CPLEX lp format). where Xij are the decision variables and
both i and j are two digit numbers, e.g.. x0102 models the edge from node 1 to node 2 and so
forth.

Minimize
obj : 509 x0102 + 501 x010 3 + 312 x0104 + 1019 x0105 + 736 x0106 + 656 x0107
+ 60 x0108 + 1039 x0109 + 726 x0110 + 2314 x0111 + 479 xOl12 + 448 xOl13
+ 479 xOl14 + 619 xOl15 + 150 xOl16 + 126 x0203 + 474 x0204 + 1526 x0205
+ 1226 x0206 + 1133 x0207 + 532 x0208 + 1449 x0209 + 1122 x 02 1 0 + 2789 x0211
+ 958 x0212 + 941 x 02 1 3 + 978 x0214 + 1127 x0215 + 542 x0216 + 541 x0304
+ 1516 x0305 + 1184 x0306 + 1084 x0307 + 53 6 x0308 + 1371 x0309 + 1045 x0 310
+ 2728 x0311 + 913 x0 312 + 904 x0313 + 946 x0314 + 1115 x0315 + 499 x0316
+ 1157 x0405 + 980 x0406 + 919 x0407 + 271 x0408 + 1333 x0409 + 1029 x0410
+ 2553 x0411 + 751 x0412 + 704 x0413 + 720 x0414 + 783 x0415 + 455 x0416
414 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

+ 478 x0506 + 583 x0507 + 996 x0508 + 858 x0509 + 855 x0510 + 1504 x0511
+ 677 x0512 + 651 x 05 1 3 + 600 x0514 + 401 x0515 + 1033 x0516 + 115 x0607
+ 740 x0608 + 470 x 06 0 9 + 379 x0610 + 1581 x0611 + 271 x0612 + 2 8 9 x0613
+ 261 x0614 + 308 x0615 + 687 x0616 + 667 x0708 + 455 x0709 + 288 x0710
+ 1661 x0711 + 177 x0712 + 216 x0713 + 207 x0714 + 343 x0715 + 592 x0716
+ 1066 x0809 + 759 x0810 + 2 3 2 0 x0811 + 493 x0812 + 454 x0813 + 479 x0814
+ 598 x0815 + 206 x 0 81 6 + 328 x 0 91 0 + 1387 x 0 91 1 + 591 x0912 + 6 50 x0913
+ 656 x0914 + 776 x0915 + 933 x0916 + 1697 x1011 + 333 x1012 + 400 x1013
+ 427 x1014 + 622 x1015 + 610 x1016 + 1838 xll12 + 1868 xll13 + 1841 xll14
+ 1789 xll15 + 2248 xll1 6 + 68 x121 3 + 105 x1214 + 336 x1215 + 417 x1216
+ 52 x1314 + 2 8 7 x1315 + 406 x1316 + 237 x1415 + 449 x1416 + 636 x1516
Subject To
c1: x0102 + x0103 + x0104 + x0105 + x0106 + x0107 + x0108 + x0109 + x0110
+ x0111 + x0112 + x0113 + x0114 + x0115 + x0116 =2
c2 : x0102 + x0203 + x0204 + x0205 + x0206 + x0207 + x0208 + x0 209 + x0210
+ x0211 + x0212 + x0213 + x0 214 + x0215 + x0216 =2
c3: x0103 + x0203 + x0304 + x0 305 + x0306 + x0307 + x0308 + x0 309 + x0 310
+ x0311 + x0312 + x0313 + x0314 + x0315 + x0316 =2
c4 : x0104 + x0204 + x0304 + x0405 + x0406 + x0407 + x0408 + x0409 + x0410
+ x0411 + x0412 + x0413 + x0414 + x0415 + x0416 =2
c5 : x0105 + x0205 + x0305 + x0405 + x0506 + x0507 + x0508 + x0509 + x0510
+ x0511 + x0512 + x05I3 + x0514 + x0515 + x0516 = 2
c6 : x0106 + x0206 + x0306 + x0406 + x0506 + x0607 + x0608 + x0609 + x0610
+ x0611 + x0612 + x0613 + x0 614 + x0615 + x0616 =2
c7 : x0107 + x0207 + x0307 + x0407 + x0507 + x0607 + x0708 + x0709 + x0710
+ x0711 + x0712 + x07I3 + x 0 71 4 + x0715 + x0716 =2
c8: x0108 + x0208 + x0308 + x0408 + x0508 + x0608 + x 0 708 + x0809 + x0810
+ x0811 + x0812 + x0813 + x0814 + x0815 + x0816 =2
c9 : xOI09 + x0209 + x0309 + x0409 + x0509 + x0609 + x0709 + x0809 + x0910
+ x0911 + x0912 + x0913 + x0914 + x0915 + x0916 = 2
cI0 : x01I0 + x0210 + x0310 + x0410 + x0510 + x0610 + x0710 + x 0 81 0 + x0910
+ x1011 + xI012 + x1013 + x1014 + x1015 + x1016 =2
c11: x0111 + x0 211 + x03II + x0411 + x0511 + x0611 + x071I + x0811 + x0911
+ x1011 + xll12 + xlI13 + xll14 + xll15 + xll16 =2
c12 : xOl12 + x02I2 + x 03 1 2 + x0412 + x0512 + x0612 + x0712 + x08I2 + x09I2
+ x1012 + xll12 + x1213 + x1214 + x1215 + x1216 =2
c13 : xOl13 + x0213 + x0313 + x041 3 + x0513 + x0613 + x0713 + x0813 + x0913
+ x1013 + xll13 + x1213 + x1314 + x1315 + x1316 =2
c14: xOl14 + x0214 + x0314 + x0414 + x0514 + x 06 1 4 + x0714 + x0814 + x0914
+ x1014 + xll14 + x1214 + x1314 + x1415 + x1416 =2
c15 : xOl15 + x0215 + x0315 + x0415 + x0515 + x0615 + x0715 + x0815 + x0915
+ x1015 + xll15 + x1215 + x1315 + x1415 + x1516 =2
c16 : xOl16 + x0216 + x0316 + x0416 + x0516 + x0616 + x0716 + x0816 + x0916
+ x1016 + xll16 + x1216 + x1316 + x1416 + x1516 =2
Bounds
o < = xOI02 < = 1 o < = x 03 05 < = 1 o < = x05I2 < = 1 o < = x0815 < = 1
o < = x0103 < = 1 o < = x0306 < = 1 o < = x0513 < = 1 o < = x0816 < = 1
o < = x0104 < = 1 o < = x0307 < = 1 o < = x0514 < = 1 o < = x0910 < = 1
o < = x0105 < = 1 o < = x0308 < = 1 o < = x0515 < = 1 o < = x0911 < = 1
o < = xOI06 < = 1 o < = x0309 < = 1 o < = x0516 < = 1 o < = x0912 < = 1
C.l. SOLUTIONS TO ULYSSES' PROBLEM 415

0 <= xOl07 < = 1 0 < = x0310 < = 1 0 < = x06 07 < = 1 0 < = x 0913 < = 1
0 < = xO l08 < = 1 0 < = x03 11 < = 1 0 < = x 06 08 < = 1 0 < = x 09 1 4 < = 1
0 < = x Ol 09 < = 1 0 < = x 0312 < = 1 0 < = x06 09 < = 1 0 < = x09 1S < = 1
0 < = xOllO < = 1 0 < = x0 313 < = 1 0 < = x 06 1 0 < = 1 0 < = x0 916 < = 1
0 < = x Oll l <= 1 0 < = x 03 1 4 < = 1 0 < = x 06 11 < = 1 0 <= x l 0 11 < = 1
0 < = x 0 1l2 < = 1 0 < = x 03 1 S < = 1 0 < = x 06 1 2 < = 1 0 < = x l 0 12 < = 1
0 < = x 01l 3 < = 1 0 <= x 031 6 <= 1 0 < = x 0613 <= 1 0 < = x l 013 < = 1
0 < = x 0 1l4 < = 1 0 < = x 04 0 S < = 1 0 < = x 06 1 4 < = 1 0 < = xl014 < = 1
0 < = xO ll S < = 1 0 <= x 04 06 <= 1 0 < = x 06 1 S < = 1 0 < = x l01S < = 1
0 < = x01l 6 < = 1 0 < = x 04 0 7 < = 1 0 < = x 0 6 16 < = 1 0 < = x l 01 6 < = 1
0 < = x0 20 3 < = 1 0 < = x 04 08 < = 1 0 < = x 07 0 8 < = 1 0 < = x ll 1 2 < = 1
0 < = x0 204 < = 1 0 <= x 04 09 <= 1 0 < = x0709 < = 1 0 < = x ll 13 < = 1
0 < = x020S < = 1 0 < = x 0 4 10 < = 1 0 < = x0710 < = 1 0 < = xll14 < = 1
0 <= x 02 06 <= 1 0 < = x0411 < = 1 0 < = x0711 < = 1 0 < = x ll l S < = 1
0 < = x 0207 < = 1 0 < = x0412 < = 1 0 < = x 071 2 < = 1 0 < = xll1 6 < = 1
0 < = x0208 < = 1 0 < = x0413 < = 1 0 < = x0713 < = 1 0 < = x 1 213 < = 1
0 < = x0 20 9 < = 1 0 < = x0 4 14 < = 1 0 < = x 0 71 4 < = 1 0 < = x1 214 < = 1
0 <= x 021 0 <= 1 0 <= x 04 1 S <= 1 0 < = x 0 71 S < = 1 0 < = x121S < = 1
0 < = x02 11 < = 1 0 <= x 041 6 <= 1 0 < = x 0 716 < = 1 0 <= x 12 16 <= 1
0 < = x0212 < = 1 0 < = xOS0 6 < = 1 0 < = x0809 < = 1 0 < = x 13 1 4 < = 1
0 < = x0213 < = 1 0 < = xOS07 < = 1 0 < = x0 810 < = 1 0 < = x1 31S < = 1
0 < = x 021 4 <= 1 0 < = x OS 0 8 < = 1 0 < = x 08 11 < = 1 0 < = x 13 1 6 < = 1
0 < = x 02 1S < = 1 0 < = xOS09 < = 1 0 < = x 0 8 12 < = 1 0 <= x 141 S <= 1
0 < = x0 21 6 < = 1 0 < = xOS10 < = 1 0 < = x 0 8 13 < = 1 0 <= x 141 6 <= 1
0 < = x0 304 < = 1 0 < = x OS ll < = 1 0 <= x 0814 <= 1 0 < = x l S1 6 < = 1
End

In Figure C.10 we show the solution of this initial LP. The solution is integer but doe s not
correspond to a tour. There are four subtours, namely, 8 1 = {2, 3, 4}, 8 2 = {I , 8, 16}, 8 3 = {12, 13, 14}
and 8 4 = {5, 15, 6, 7, 10, 9, 11}. The subtour elimination constraints (SEC) are shown in the right
part of the figure. Adding these constraints to the LP and reoptimizing we get the solution shown
in Figure C.1l. Here again we h ave an integer s olu tion that contains two su btou rs, namely,
8 1 = {I , 8, 4, 2, 3, 16} and 8 2 = {5, 15, 14, 13, 12,6,7,10, 9,11} . Only one of these is needed - since
the other is implied - and the one we add is shown in the right part of the figure . Adding this
constraint and reoptimizing we get the solution of Figure C.l . The dotted lines correspond to
values of 0.5 while the s olid ones to values of 1. Here we have one subtour, i.e., 8 1 = {I, 8, 4, 2, 3}
and two combs. The first comb is defined by the handle H1 = {6, 15, 14} and the teeth T[ = {6, 7},
Ti = {15, 5} and Tj = {14, 13}. The second comb is defined by the handle H2 = {7, 12, 13, 16, 10} and
the teeth T'f = {7, 6}, T:j = {13, 14} and Tl = {lO,9} . The corresponding in equ alities are shown in
the right part of the figure. Adding these inequalities to the LP and reoptimizing
416 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Optimal value: 6113.00


10

12

~1413

15
16

"N I

I'
4
Violated ine qu alities:
SEC :
x0203 +x0204+x0304<=2

xOlO8+xO1 16+x OB16 <=2

x 12 13+x 12 14+x 13 14<=2

x0515+x0506+x0507+x0 509+ x0 5 1O+x05 I l

+x060 7+x06 1O+x0609 +x06 11+x06 1S+x07 1O

+x0709 +x07 11+x07 1S+x lO l l+x l 01 5+x09 1O

+x09 11+x09 15+xl 115<=6

Fig. C.IO. Optimal solution of the initial LP for Ulysses' problem

Optimal value: 62 28 .00


10
Violated in equalities:

12
SEC :
xOI08+xOl04+xO I02+xOl03+xOl16+x0816

+x0408+x0416+x0203+x0216 +x0208 +x0204


4
+x0 3 16+x0308+x0304 <=5

II

Fig. C.II. Optimal solution of the second LP for Ulysses' problem

'"~'"(J32
Optimal value: 6813.50
9 Violated in equ alities:
SEC :
xOl 08 +xO10 4+xO102 +xO103 +x0408+x0203
7/ '" , 00
i3
rf::.::.·······! 14 4
+xOZ0 8+x0204+x0308+x030 4<=4

..... . Comb:
' . : 15
x0614+xOB15+x1415+x0607+x1314+x051S <=4
II
x0710+x0712+x0713+x0716+xI012+xl0 13

+xI01 6+x121 3+x1 2 16+x1 316+x0910+x0607


5
+x1 314 <=6

Fig. C.12. Optimal solution of the third LP for Ulysses' problem


C.l. SOLUTIONS TO ULYSSES' PROBLEM 417

11

Fig. C.13. Optimal tour for Ulysses' problem of length 6,859 km

we get the solution of Figure C.13 which is a tour and thus the optimal solution. The length
of the optimal tour is 6,850 km. It happens in this problem that one can solve it to optimality
without using the comb inequalities. To verify this, just add only the SEC constraint in the last
iteration. Of course, this is not always the case, as we will see in the problem with the 48 USA
cities.
(Cl Devise a method to prove or disprove the uniqueness oj the optimal tour youjound in part (B).
What is the second best tour jor Ulysses?
To decide whether the optimal tour found in part (B) is unique we proceed as follows. We
set the length of each edge in the optimal tour to a big number, say 10, 000, one at a time, and
solve the resulting TSP. In Table C.5 we give the selected edge, the optimal tour and its length
for each of the 16 problems. It follows that the tour found in part (B) is the unique optimum and
that the second best tour is obtained by excluding edge (12,1 3) or edge (1,14) and has a length
of 6, 865km. Of course, at this point we cannot claim that the second best tour is unique as well.
Rather we would have to iterate the whole procedure for this tour with the additional constraint
that the objective function is greater than or equal 6,865. We did, of course, not carry out these
calculations by the "visual inspection" method described under (B), rather we used a computer
program developed by M. Padberg and G. Rinaldi (Rome) to solve the sixteen problems.
(D) Write a problem generator in a computer language oj your choice that automatically sets up the
linear programjor ISPs that you want to solve in theformat required by your LP solver.
The following program is written in c++ and prepares the lp-format input for CPLEX.
#include <s t d i o. h >

void
main()
{
FILE *fp , *fq ;
fp=fopen("dist.dat" , "r");
fq=fopen ("tsp .lp", "w") ;
418 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Table C.5. Finding the second best tour for Ulysses' problem
Edge Optimal tour Length
(13,14) 14 15 5 11 9 10 6 7 12 13 16 3 2 4 8 1 6911
(12,13) 13 14 12 7 6 15 5 11 9 10 16 3 2 4 8 1 6865
(7,12) 842 3 16 12 13 146 7 10 9 11 5 15 1 6870
(6,7) 842 3 16 12 7 10 9 11 5 15 6 14 13 1 7001
(6,15) 842 3 16 12 13 14 6 7 10 9 11 5 15 1 6870
(5,15) 8 4 2 3 16 10 9 11 5 6 7 12 13 14 15 1 7005
(5,11) 8 4 2 3 16 12 7 10 9 11 6 5 15 14 13 1 7224
(9,11) 12 13 14 155 11 679 10 163248 1 7260
(9,10) 842 3 16 10 7 6 9 11 5 15 14 13 12 1 7041
(10,16) 8 4 2 3 16 12 13 146 7 10 9 11 5 15 1 6870
(3,16) 16 13 14 12 7 6 15 5 11 9 10 3 2 4 8 1 6909
(2,3) 8 15 5 11 9 10 7 6 14 13 12 16 3 4 2 1 7502
(2,4) 843 2 16 10 9 11 5 15 6 7 12 13 14 1 6969
(4,8) 42 3 16 12 13 146 7 10 9 11 5 15 8 1 6890
(1,8) 16 12 13 1467 10 9 11 5 158423 1 6941
(1,14) 13 14 12 7 6 15 5 11 9 10 16 3 2 4 8 1 6865

int nof_nodes = a, dist = 0 ;


fscanf(fp,"%d",&nof_nodes) ;

fprintf (fq , "minimize\n") ;


int cnt = 0;
for (int i=l ; i < nof_nodes ; i++) {
for (int j=i+l; j <= nof_nodes; j++) {
cnt++;
fscanf(fp,"%d",&dist) ;
fprintf(fq,"%d x%02d%02d",dist,i,j);
if (cnt % 7 == 0) fprintf(fq,"\n");
if (i != nof_nodes-l I I j != nof_nodes)
fprintf(fq, " + ");
}
}
fclose (fp) ;
fprintf(fq, " \nsubject to \n");
for (i=l ; i <= nof_nodes; i++)
cnt = 0;
for (int j=l; j <= nof_nodes; j++)
if (i == j) continue;
C.l . SOLUTIONS TO ULYSSES' PROBLEM 419

ent+ +;
i f (i < j)
fprintf(fq, "x%02d %0 2d",i ,j) ;
else
fprintf(fq, "x%02d%02d" ,j,i) ;
if (ent % 7 == 0) fprintf(fq ," \n");
if (i 1= nof_nodes I I j 1= nof_nodes)
fprintf (fq ," + " );
}
fprintf (fq," 2\n" ) ;
}

fp rintf(fq, "Bounds \n" ) ;


for (i =l; i < nof_nodes ; i++)
for (int j =i+l; j <= nof_nodes ; j++)
fprintf(fq, "O <= x %0 2d %02d <= l \n ",i,j);

fprintf(fq, "End\n" ) ;

The program reads the distance matrix from the file dist. dat and produces the file tsp .lp
that can be read in CPLEXwith the command read. It is assumed that the file dist . dat contains
integer numbers d(i, j) given in the following order

d(l , 2), d(l , 3), . .. , d(l ,n),d(2, 3), . . . ,d(2,n), . . . , d(n - 1, n) .

(E) Given a node set S ~ V or a comb C = (H, TI , . .. ,T k ) in a graph G write a routine that
automatically sets up the linear inequality (C.3) or (C. 7) in the format required by your LP solver.
The following program is written in C++ and produces SEC and / or comb inequalities in CPLEX
lp format.
#inelude <s t d i o . h>
#inelude <s t r i ng . h >

vo i d
wr i t e_x_ o f _ S (FI LE *fq, int nof_nodes, int *node )
{
int ent = 0 , j, k ;
f or ( j =O; j < nof_nodes-l; j++ )
for (k=j+l ; k < nof_nodes ; k++ ) {
ent++;
if (node[k] < node[j] )
fprintf(fq, "x%02d%02d" ,node [k] ,node [j ]);
e lse
fprintf (fq, "x %02d%0 2d",node[ j] ,node[k]);
if (j != nof_nodes- 2 I I k 1= nof_nodes-l)
420 C. AUTOMATIZED PRODUCTION : PCBS AND ULYSSES ' PROBLEM

fprintf(fq ," + ");


i f (cnt%7 0) fprintf(fq,"\n");
}

void
main()
{
FILE *fp , *fq ;
char filein[lO];
int nof_secs = 0;
int nof_nodes = 0;
printf("Give the input file name : ") ;
scanf("%s",&f ilein) ;
fp=fopen(filein ,"r" ) ;
strcat(filein ,".lp") ;
fq=fopen(filein,"w" ) ;

fscanf(fp , "%d",&nof_secs) ;
for (int i=l ; i <=nof_secs; i++) {
fscanf(fp,"%d",&nof_nodes) ;
int *node= new int[nof_nodes] ;

for (int j=O; j < nof_nodes; j++)


fscanf(fp,"%d",&node[j]) ;

write_x_of_S(fq,nof_nodes,node) ;
fprintf(fq ," <= %d \ n ", no f _ node s - l ) ;

delete [] node ;

int nof_combs = 0 ;
fscanf(fp, "%d",&nof_combs) ;
for (i=l; i<=nof_combs; i++)
fscanf(fp,"%d",&nof_nodes) ;
int *node= new int[nof_nodes] ;

for (int j=O ; j < nof_nodes; j++)


fscanf(fp,"%d",&node[j]) ;

wr ite_x_of_S(fq,nof_nodes,node) ;
delete [] node ;
int rhs = nof_nodes ;
int nOf_teeth = 0;
fscanf(fp,"%d",&nof_teeth) ;
for (j=l ; j <= nOf_teeth; j++)
fprintf(fq ," + \ n ", no f _ node s - l );
C.l. SOLUTIONSTO ULYSSES' PROBLEM 421

fscanf(fp, "%d",&nof_nodes) ;
int *node= new int[nof_nodes];

for (int j=O; j < nof_nodes; j++)


fscanf(fp,"%d",&node[j]) ;

write_x_of_S(fq,nof_nodes,node) ;
rhs = rhs + nof_nodes - 2;
delete [] node;
}
rhs = rhs + nof_teeth/2;

fprintf(fq," <= %d \ n" , (int) rhs) ;


}
fclose(fp) ;
fclose (fq) ;

The program asks the user to give the input file name and it writes the inequalities in a file
with the same name and extension .lp. The input file is assumed to have a particular format
which we show in the following example. Suppose we want to create the inequalities for the third
LP of Ulysses' problem; see Figure C.l. The input file looks as follows
1 <- - - number of subtours
512 3 4 8 <- - - number of nodes and the nodes of the subtour
2 <- - - number of combs
3 6 14 15 < - -- number of nodes and the nodes of the handle (1st comb)
3 < --- number of teeth
267 < - -- number of nodes of the 1st tooth and the nodes of the 1st tooth
2 14 13 <- - - number of nodes of the 2nd tooth and the nodes of the 2nd tooth
2 5 15 <- - - number of nodes of the 3rd tooth and the nodes of the 3rd tooth
5 10 7 12 13 16 <- - - number of nodes and the nodes of the handle (2nd comb)
3 <- - - number of teeth in the 2nd comb
2 10 9 < -- - number of nodes of the 1st tooth and the nodes of the 1st tooth
276 <- - - number of nodes of the 2nd tooth and the nodes of the 2nd tooth
2 13 14 <- - - number of nodes of the 3rd tooth and the nodes of the 3rd tooth

(F) Now solve the 48-city problem like you did above starting the calculations like in part (A). Plot
each linear programming solution on a map ojtru: United States ojAmerica, like the one oJFigure C.7
and iterate. Put all violated subtour elimination and comb constraints that youfind in the course oj
your calculations into a memory "p ool", i.e. store them in some separate computerfile.
Table C.4 contains the problem data for the 48 city problem, t.e. , the "virtual" coordinates of
the 48 state capitals of the continental U.S.A. From these coordinates the intercity distances for
cities u and v are calculated by the following computer instructions in pseudo-code using double
precision (64 bit) words.
XDIST =((xu - xv) * (xu - xv) + (Yu - Yv ) * (Yu - yv))/lO
XDIST =SQRT(XDIST)
MOIST =XDIST
if MOIST < XDIST then MOIST=MOIST+ 1
422 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

In the following pages we present the solutions of the LP for each iteration of the cutting plane
algorithm. The constraints generated during the execution of the algorithm are the following.
Iteration 0
We identify the following six subtours: Sl = {6. 37. 19. 27. 17. 43. 30}. S2 = {3. 34. 41, 16.
22}. S3 = {7. 28. 36}. S4 = {13, 25. 14}. S5 = {42. 24. 45. 35. 4, 26, 1O} and S6 = {13, 25, 14,
23}, and one comb with handle H l = {20. 12, 33} and three teeth TI = {20, 47}, Ti = {12. 11}
and Tl = {33, 46}.
Iteration 1
We identify four subtours S7 = {28. 6. 37, 19,27, 17.43. 30}. Ss = {7, 36, 18}, Sg = {I, 8 ,
38,31.44,46,33,20,47,21, 13.25, 14.34,41, 16.22,3,23, 11. 12 . 15,40, 9} and SlO = {2,
29,5,48,39,32,24,10,45,35,4,26,42}.
Iteration 2
We identify seven subtours: Su = {28, 6. 37, 19,27. 17,43,30, 36}, Sl2 = {28 , 6, 37, 19,27,
17,43,30.36, 7}, Sl 3 = {I , 8 , 9, 38} , Sl4 = {46, 33, 20, 47,13,25,14,34,41,16,22,3,23,11,
12, 15, 40}, Sl 5 = {21, 32, 39}, S 16 = {2, 29, 5, 48, 42} and S17 = {24, 10, 45, 35, 4, 26}, and
one comb with handle H 2 = {7. 28, 36} and three teeth Tf = {28, 6}. T:j = {36, 30} and Tl = {7,
18}.
Iteration 3
We identify the following three subtours: SlS = {7, 28, 6 , 37, 19, 27, 17. 43, 30, 36. 18},
Sl9 = {I, 8, 38, 31. 44, 46, 33, 20, 47, 21 , 32, 39. 25, 13. 14.34,41. 16,22,3,23, 11, 12, 15,
40, 9} and S20 = {2, 29, 5, 48, 42 , 24, 10, 45. 35, 4, 26}.
Iteration 4
We identify one subtour S2l = {3, 22, 16} and two combs, one with handle H 3 = {13, 47.
21} and three teeth T{ = {21 , 32} , Tt = {47, 20} and Tl = {13. 25} , and the other with handle
H 4 = {29, 34, 41. 16. 22, 3. 23, 14} and three teeth T{ = {29, 2}, Ti = {14, 25} and Tt = {23 ,
Il} .
Iteration 5
We identify two combs, one with handle H 5 = {39 , 48, 25} and three teeth Tf = {48, 5},
T~ = {25. 13. 14} and Tl = {39 , 32} , and the other with handle H 6 = {21. 47, 13} and three
teeth Tf = {47 , 20}, T~ = {21 , 32} and Tr = {I3, 14, 25}
Iteration 6
We Identify one subtour S22 = {12, 15, 40. 9, 1, 8, 38. 31, 44, 18, 7. 28, 6. 37, 19, 27, 17.
43, 30, 36, 46. 33, 20} and one comb with handle H 7 = {13, 21 , 47, 20, 12, 11} and five teeth
Tl = {20, 33}, TI = {12, 15}, TI = {11. 23} , TI = {13, 14, 25} and Tl = {21, 32}.
Iteration 7
We Identify one subtour S23 = { 1, 8, 38, 31, 44, 18, 7. 28. 6, 37. 19. 27, 17, 43, 30, 36, 46,
33,20,47,11,12,15,40,9}.
Iteration 8
We identify one comb with handle H S = {13. 21, 47} and three teeth Tf = {47. 20}. T~ = {13 ,
14, 25} and Tl = {21 , 32, 39}.
C.1 . SOLUTIONS TO ULYSSES' PROBLEM 423

Iteration 9
We identify one comb with handle H 9 = {39. 48. 25} and three teeth T{ = {25. 14}, Ti = {48.
5} and Tl = {32 . 39} .
(G) Having solved the problem the "hard" way - you should be able to do so, without branching,
on the first try by solving about 15-25 linear programs - do it again. but in thejollowing way: at
every iteration take jrom the memory pool that you created in the first run all constraints that are
violated by the current LP optimum (but not the ones that are not violated!) and iterate. How many
iterations do you need now to solve the problem? Why?

Iteration O.V. Violated Inequalities


0 10041.500 SI ,' " , S6, H I, SlO , S IZ, S17 , SIS, Szo, H 5 , H 6, tt;
1 10542.000 S7, S13,H7
2 10603.500 Sll , SZI , H4 , Szz, SZ3
3 10627.000 H9
4 10628.000

Had we known all the inequalities we added beforehand we would have spent less time to find
the optimal solution as we show now. Given the above "pool" of inequalities what we need to
do is to be able to check which ones are violated by the given solution to the current LP and
add them. This can be done by hand. or by a small routine. We followed a different way. using
CPLEX. We introduce slack variables s49 to s80 which are free in sign (this is done in CPLEX by
stating e.g. s80 Free in the Bounds section of the LP) for constraints e49 to e80 (these are the
gen erated constraints; constraints el to e48 are the degree constraints). Then we append the
equations that define the current solution. To avoid adding all the zero values we include the
degree constraints. Now we solve this auxiliary LP with a zero objective function. Clearly. the
constraints with negative slack variables are violated by the current solution. and therefore. they
are added to the main LP. The following table shows how this procedure progresses (we represent
a comb by its handle) .
So in four iterations we reach the optimal solution. The reduction in the number of iterations
achieved this way is substantial and indicative of the acceleration of branch-and-cut algorithms
that is possible when the polyhedral separation problem is solved by the "per fect" identification
of a large number of (most) violated constraints; see also our discussion of the problem of finding
the "righ t cut" on pages 319-320 of the text.
(H) Now suppose that comb constraints are unknown to you and that you know only the subtour
elimination constraints (C.3). Solve the problem again using only constraints (C.3). t,e. solve the
corresponding problem (TSPL P ) . What is its optimal value? Using branch-and-bound in a suitably
modified form (zero-one solutions that correspond to subtours must be cut off by constraints oj
the jorm (C.3)!) find an optimal solution to the ISP. State your rules jor the selection oj branching
variables and the selection oj the "next" problemjrom the problem stack clearly. How many nodes
does your search tree have? Plot the search tree like we did in Figure 10.1.
Assuming that the SEC are the only constraints known to us we follow the same procedure
as in part (F) . In Table C.6 we show for Node 1 which is the root node of the branch-and-cut
tree. see Figure C.15 the iterations taken to solve the problem and the subtours identified in
each iteration. From this table we see that the optimization over the subtour polytope gives an
424 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

'7

47 20

(j 27

25~~\
30 19

6 37
11 12 / / \\
,1(.. \ ~ 33

14 ·· ·· •· .. .. .
23
V 15

40

·.. ····· 0 .5
- - 1. 0
34
D 22

It e r a t i o n : 0
O .V .: 100 41.5 00 41 16

32

21

47 20

44

34
22

It e rat i on: 1
o. v .. 1 0 2 6 9.00 0 4 1 ~----~
16

45r-- -
3~
-'~

21

39~ 17

20

48

36 '::'::.'~.
18 7
46 44

34 31

······· · 0.5
- - 1. 0 22
1 ; ./

It erat i on : 2 ~ :/
O .V . : 10 3 9 0 .5 0 0 4 1 ~----~
16 8
C.I. SOLUTIONS TO U LYSSES' PROBLEM 425

32

17

47 20

44

34

It.er e t i o n : 3
o.v .. 10 4 17 .0 0 0 41 ~----~

32
45

21

1 47
17

: .......~--'1

25? ·····
1~·· · · · ..1~.
/ i
·.... ··· 0 . 5
- - 1. 0

I t erati on : 4
a .v .: 10592.500
-: ' ~ '"
4'i' ························16

,i"""""""" " 1" " "''1:,


45

17

~" -,
,
I

:
,,/
",
......
....•
:
I '....

13' .•.•••...•.
,;:..:---.,
~".
47

4.• L_ 48J:.· ~}\ ·1


26.••.••.. .··•••.. ·••••··••· ~ -- - .......-- - - ",

-,, I
:
f
:
';
:
23

-, ~ ! .f
""'" vi 29 : ~4 !
···· ··· ·0. 3 3 3
,2 :
- - - 0 .667
- - 1. 0

Iteration : 5
O .V .: 10604 .000 41 ~----~
426 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

45

17

•· •· •.. · 0 . 3 3 3
- - - 0.667
- - 1. 0

Iteration : 6
o .v.. 10614 .6 67 4 1 i-----~

32

It eration : 7
o .v .. 1 0 6 1 7 .0 0 0

45

17

········ 0.5
- - 1.0

Iterat ion : 8
o .v .. 1062 3 .000 41 i-----~
C.I. SOLUTIONS TO ULYSSES' PROBLEM 427

45

17

········ 0.5
- - 1 .0 22

Iteration: 9
O.V.: 10627.000 41l-----~
16 8

17

25

29 34

Iteration: 15
Optimal value: 106 28 .000 41 l -- - - - --;O:
428 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

Table C.G. SEC added in the branch-and-cut algorithm


Node Iter. o.v. Subtours added
1 0 10041.50 6 37 19 27 17 43 30
33441 1622
72836
1325 14
42 24 45 35 4 26 10
1325 1423
1 10269.00 28637 1927 174330
73618
18383144463320472113251434411622323111215409
2 29 5 48 39 32 24 10 45 35 4 26 42
2 10390.00 323921
24 10 26 4 35 45
24248529
2047 1325 143441 1622323 11 12
2047 1325 143441 1622323 11 1233
36304317271937628
363043172719376287
3 10417.00 72863719271743303618
183831444633204721323925 13 143441 1622323 11 12 15409
2 29 5 48 42 24 10 45 35 4 26
4 10571.50 189
18938
21 32394854224 10 45 35 4 26 2 29 34 41 1622340 15 12 11 23 1425 13
21 32394854224 1045354262293441 1622340 15 12 11 23 1425 1347
5 10592.00 32216
6 10604.00 no more sub tours
2 0 10612.00 4262293441 1622323 1425 132132394854224 10 45 35
1 10623.67 no more subtours
3 0 10617.00 12 154091838314418728637192717433036463320
1 10634.00 no more subtours

optimal value of 10604.00. The solution is shown in Figure C.14. From that point we have to
resort to branching in order to proceed. We select to branch on the variable with highest value
not equal to one, breaking ties arbitrarily. Figure C.15 shows the tree. Our branching strategy is
to solve both child-LPs and proceed with the one of highest value. Thus in the case of the 48-city
problem this branching scheme works reasonably well . But don't be mislead by this particular
instance. We include here the data set tka076 for which this proceeding produces a search-tree
that is very, very long. In the case of tka076 we have 76 cities, the optimal tour length equals
108, 159 and the relaxation over the subtour elimination constraints gives an LP value of 105, 120;
see Figures C.17 and C.18, where solid lines correspond to variables at value one, dashed ones
C.l. SOLUTIONS TO ULYSSES' PROBLEM 429

45
2 !···················· ·········· ··········3l" " " " " ,'-r:~
32

17
: ' " I ........
I ,;; \. : "-.,..:.;.
47_ _",,\
1 ,' '' I •.....
11.······
~·-,· · · · · · · · · · ~~--------J~ · · · · · · -V
I ' ....

.
I
.>----------j
sf I; 23

1-------"...,"'"""
· ······· 0 .333 ,2'.
~, a

- - - 0 .667
- 1.0 22

Iteration: 6
O.V.: 10604.000 41 1-----~
16 8

Fig. C.14. The optimal solution for TSP L P

to variables at value 1/ 2. The data shown in Figure C.16 are the (Xi, Yi)-coordinates of the 76
points where 1 :::; i :::; 76 and we start reading in the upper left corner. Distances are Euclidean.
they are computed in double precision and then rounded to the nearest integer by adding 0.5
and truncating to an integer number.

10. .00

X 2 147 = 1 X2147 =0
10.62 3 .67 10.617.00

3 2

X1 321 =1 X13 2 1 =0 X20 33 = 1 X20 33 =0

6 5
10.646.00 10.628 .00 10.64 8. 00 10.885.00
fathomed integer integer fatho med

Fig. C.15. Search tree for question (H)


430 C. AUTOMATIZED PRODUCTION: PCBS AND ULYSSES' PROBLEM

76
02300 03600 03300 03100 05750 04700 0 5750 05400 07103 05608
07102 04493 06950 03600 07250 03100 08450 04700 08450 05400
10053 05610 10052 04492 10800 03600 10950 03100 11650 04700
11650 05400 10800 06650 10950 07300 07250 07300 06950 06650
03300 07300 02300 06650 01600 05400 02300 08350 03 300 07850
05750 09450 05750 10150 07103 10358 07102 09243 06950 08350
07250 07850 08450 09450 08450 10150 10053 10360 10052 09242
10800 08350 10950 07850 11650 09450 11650 10150 10800 11400
10950 12050 07250 1 2050 06950 11400 03300 12050 02 3 0 0 11400
01600 10150 02300 13100 03300 12600 05750 14200 05 750 14900
07103 15108 07102 13993 06950 13100 07250 12600 08450 14200
08450 14900 10053 15110 10052 13992 10800 13100 10950 12600
11650 14200 11650 14900 10800 16150 10950 16800 07250 16800
06950 16150 03300 16800 02300 16150 01600 14900 00800 1-9800
10000 19800 11900 19800 1 2200 19800 12 200 00200 01100 00200
00800 00200

Fig. C.16. The data for the tka076 problem

Fig. C.18. Optimal solution of length


Fig. C.I 7. Optimal tour of length 105120 over the subtour polytope for
108159 for problem tka076 problem tka076
Bibliography

Adler, 1., N. Karmarkar, M. Resende and C. Veiga (1989) "Da ta structures and programming techniques for
the implementation of Karmarkar's algorithm", ORSA Journal on Computing 1 84-106.
AA€:Up&<;; , tl. " ApLa"t01totY)aY) rou aua"t~llci"to<;; 1tIXP <XYwy~<;; , OL<XVOll~<;; X<XLxp~aY)<;; <X"tllOU cr« EA.tl.A. ". tlmAwll<X"tLX~
Epy<Xat<X E.M.II., 1988, in Greek. English translation: D. Alevras "Optimization of the steam produc-
tion, distribution and usage system in H.A.R", Master's Thesis, National Technical University of Athens,
Greece, 1988.
Alevras, D. and M. Padberg (1992) "Operations management in a refinery: A case study of daily steam
operations", Working paper SOR-92-22, New York University, New York.
Alevras, D. and M.P Rijal [1995) "The convex hull of a linear congruence relation in zero-one variables",
ZOR-Mathematical Methods oj Operations Research 41, 1-23.
Anonymous [1972) "A new algorithm for optimization", Mathematical Programming 3 124-128.
Anstreicher, K. (1986) "A monotonic projective algorithm for fractional linear programming", Algorithmica 1
483-498.
Antosiewicz, H.A. (ed) (1955) Linear Programming, Proceedings of the Second Symposium in Linear Program-
ming, Volumes I and II, National Bureau of Standards, Washington.
Arabeyre, J.P. , J. Fearnley, F. Steiger and W. Theather [1969] "The air crew scheduling problem: A survey",
Trans. Sci . 3 140- 163.
Aronofsky, J.S. (ed) (1969) Progress in Operations Research: Relationship between Operations Research and
the Computer, Wiley, New York.
Balas, E. (1970) Handwritten lecture notes, unpublished.
Balas, E. and W. Pulleyblank [1983] "The perfectly matchable polytope of a bipartite graph", Networks 13
495-516.
Balinski, M.L. (ed) [1974) Pivoting and Extensions: In Honor oj A.lv. Tucker, Mathematical Programming
Study 1, North-Holland, Amsterdam.
Balinski, M.L. [1991) "Ga spard Monge: Pour la patrie, les sciences et la gloire", in Carasso et al (eds),
"Applied Mathematics for Engineering Science", Cepadues-Edttlons, Toulouse 21-37.
Balinski, M.L. and E. Hellerman (eds) [1976) Computational Practice in Mathematical Programming, Mathe-
matical Programming Study 4 , North-Holland, Amsterdam.
Balinski, M.L. and K. Spielberg (1969) "Methods for integer programming: Algebraic, combinatorial and
enumerative", in Aronofsky (ed) Progres s in Operations Research, Wiley, New York, 195-192.
Bareiss, E.H. [1968) "Sylvester's identity and multistep integer-preserving Gaussian elimination", Mathe-
matics oj Computation 22 565-578.
Barnes , E.R [1986) "A variation on Karmarkar's algorithm for solving linear programming problems", Ma-
thematical Programming 36 174-182.
Bartels, RH. (1971) "A stabilization of the simplex method", Numerische Mathematik 16 414-434.
Bartels, RH. and G.H. Golub [1969) "The simplex method of linear programming using LU decomposition",
Communications oj the Associationjor Computing Machinery 12266-268.
Bayer, D.A. and J.C. Lagartas (1991) "Karmarkar's linear programming algorithm an d Newton's method",
Mathematical Programming 50 291-330.
Bazaraa, M.S ., Jarvis, J.J. and Sherali, H.D. [1990) Linear Programming and Network Flows, Wiley, New
York.
Beale, E.M.L. [1965] "Survey of integer programming", Operational Research Quarterly 16 219-228.
Beale, E.M.L. (1954) "An alternative method for linear programming", Proceedings ojthe Cambridge Philoso-
phical Society 50 513-523.
Beale, E.M.L. [1955) "Cycling in the dual simplex algorithm", Naval Research Logistics Quarterly 2 269-275.
Beale, E.M.L. [1968] Mathematical Programming in Practice, Pitman & Sons Ltd, London.
432 Bibliography

Beckmann, P. [1971) A History oj 1r (Pi), The Golem Press, New York.


Berge, C. [1972] "Balanced matrices", Mathematical. Programming 2 19-31.
Benichou, M., J.M. Gauthier, P. Girodet, G. Heutges, G. Rtbiere and O. Vincent [1971] "Experiments -in
mixed-integer linear programming", Mathematical Programming 1 76-94.
Benichou, M., Gauthier, J .M., Hentges, G. and G. Ribiere [1977] "The efficient solution of large-scale-It-
near programming problems - Some algorithmic techniques and computational results" Mathematical
Programming 13280-322.
Benoit [1924] "Su r une methode de resolution des equations normales etc. (precede du commandant
Choleskyl", BulL qeodesique 2.
Bixby, RE. [1989] Personal communication.
Bixby, RE. [1990] "Implementing the simplex methods, Part I: Introduction, Part II: The initial basis",
Working paper TR90-32 Mathematical Sciences, Rice U., Houston. Part II published in ORSA Journal on
Computing, 4, 1992, 267-284.
Bixby, R and M. Saltzman [1994] "Recovering an optimal LP basis from an interior point solution", Opera-
tions Research Letters 15 69-178.
Bland, R [1977] "New finite pivot rules for the simplex method", Mathematics oj Operations Research 2
103-107.
Bland, RG ., D. Goldfarb and M.J. Todd [1981] "The ellipsoid method: a survey", Operations Research 29
1039-1091.
Borgwardt, K.H. [1982] "Some distribution independent results about the assymptotic order of the average
number of pivot steps in the simplex algorithm", Mathematics ojOperations Research 7441-462.
Bouilloud, P.H. [1969] "Compu te steam balance by LP", Hydrocarbon Process. 127-128.
Boyd, S.C. and W.H. Cunningham [1991] "Small traveling salesman polytopes", Mathematics ojOperations
Research 16 259-271.
Brooke, A , D. Kendrick and A Meeraus [1988] GAMS: A User's Guide, The Scientific Press , Redwood City.
Brown, G.W. [1949] "Some computation methods for linear systems involving inequalities", Abstract, eco-
nometrica 17 162-163.
Burger, E. [1956] "Uber homogene lineare Ungleichungssysteme", Zeiischrift fiir Angewandte Mathematik
und Me-chanik 36 135-139.
Cahn, AS. [1948] ''The warehouse problem", BulLAmer.Math.Soc. 54 1073.
Camerini, P.M., L. Fratta and F. Maffioli [1975] "On improving relaxation methods by modified gradient
techniques", Mathematical Programming Study 3 26-34.
Caratheodory, C. [1911] "Uber den Variabilltatsbereich der Fourierschen Konstanten von positiven harmo-
nischen Funktionen", Rendiconti del Circolo Mathematico di Palermo 32 193-217.
Caratheodory, C. [1935] Variationsrechnung und partielle Differentialgleichungen erster Ordnung, Teubner,
Leipzig .
Cassels, J.W.S. [1965] An Introduction to Diophantine Approximation, Cambridge University Press, Cam-
bridge.
Charnes , A [1952] "Optimality and degeneracy in linear programming", Econometrica 20 160-170.
Charnes, A and W.W. Cooper [1960] Management Models and Industrial Applications ojLinear Programming,
Volumes I & II, Wiley, New York.
Charnes, A , W.W. Cooper and A Henderson [1957] An Introduction to Linear Programming, Wiley, New York.
Charnes A , W.W. Cooper and R Mellon [1952] "Blen ding aviation gasolines: A study in programming
in ter depen den t activities in an in tegra ted oil company", Econometrica 20 135-159.
Charnes A , W.W. Cooper and R. Mellon [1954] "A model for programming and sensitivity analysis in an
integrated oil company", Econometrica 22 193-217.
Charnes A , W.W. Cooper and R Mellon [1955] "A model for optimizing production by reference to cost
su rrogates", Econometrica 23307-323.
Bibliography 433

Charnes, A.. W.W. Cooper and M.H. Miller [1959) "Application of linear programming to financial budgeting
and costing of funds", Journal oj Business 32 20-46.
Chrtstof, T.. M. Jiinger and G. Reinelt [1991) "A complete description of the traveling salesman polytope on
8 nodes". Operations Research Letters 10 497-500.
Chvatal, V. [1983) Linear Programming. Freeman Press. New York.
Clark Jr.. J.K. and N.E. Helmick [1980] "How to optimize the design of steam systems". Chemical Engineering
116-128.
Cohen. K.J. and F.S. Hammer (eds) [1966) "Analytical Methods in Banking". Irwin. Homewood.
Cornuejols, G.. J. Fonlupt and D. Naddef [1985) "The traveling salesman problem on a graph and some
related polyhedra". Mathematical Programming 33 1-27.
Cornuejols, G. and B. Novick [1994) "Ideal 0.1 matrices". Journal oj Combinatorial Theory. Series B. 60
145-157.
Courant. R and H. Robbins [1978] What is Mathematics. Oxford University Press. New York.
Crowder.H. and J .M. Hattingh [1975) "Partially normalized pivot selection in linear programming". Mathe-
matical Programming Study Number 4 12-25.
Crowder, H. and M. Padberg [1980) "Solving large-scale symmetric traveling salesman problems to optima-
lity", Management Science 26393-410.
Crowder, H., E.L. Johnson and M. Padberg [1983J "Solving large-scale zero-one linear programming pro-
blems". Operations Research 31 803-834.
Curtis, A. and J. Reid (1972) "On the automatic scaling of matrices for Gaussian elimination", J.lnst. Maths
Applications 10 118-124.
Dakin, RJ. [1965) "A tree-search algorithm for mixed-integer programming", ComputerJ. 8 250-255.
Dantzlg, G.B. [1949] "Programming of interdependent activities II: Mathematical model", Econometrica 17
200-211.
Dantztg, G.B. [1949] "Programming in a linear structure", Econometrica 17 73-74.
Dantzlg, G.B. (1951) "Maxi miza tion of a linear function of variables subject to linear inequalities", in Koop-
mans (ed) Activity Analysis ojProduction and Allocation, Wiley, New York.
Dantzig, G.B. [1960) "Inductive proof of the simplex method" , IBM Journal oj Research and Development 4
505-506.
Dantztg, G.B. (1963) Linear Programming and Extensions, Princeton U. Press, Princeton.
Dantztg, G.B. [1982] "Reminiscences about the origins of lin ear programming". Operations Research Letters
1 43-48.
Dantzig, G.B. [1988] "Impact of linear programming on computer development". OR/MS Today August 1988
12-17.
Dantztg, G.B., D.R Fulkerson and S.M. Johnson [1954) "Solution of a large-scale travelling salesman
problem", Operations Research 2393-410.
Dantzlg, G.B. and W. Orchard-Hays [1954] "The product form for the inverse in the simplex method".
Mathematical Tables and Other Aids to Computation 864-67.
Dantzig, G.B., Orden, A. and Ph . Wolfe [1955] "The generalized simplex method for minimizing a linear form
under linear inequality restraints" , Pacific Journal ojMathematics 5 183-195.
Dantztg, G.B. and J.H. Ramser (1959) "The truck dispatching problem", Management Science 680-91.
Dantzlg, G.B. and RM . Van Slyke [1967] "Generalized upper bounding techniques", Journal oJ Computer
and System Sciences 1 213-226.
Dantzig, G.B. and Ph. Wolfe (1960) "Decomposition principle for linear programs", Operations Research 8
101-111.
Descartes, R [1637) La Geometrie. republished as Th e geometry oj Rene Descartes, D.S. Smith and M.L.
Latham (transltrs.), Dover Publications, New York, 1954.
Dietrich, B.L. and L.F. Escudero [1990] "Coefficien t reduction for knapsack constraints in 0-1 programs
with VUBs". Operations Research Letters 9 9-14.
434 Bibliography

Dietrich, B.L. and L.F. Escudero (1993) "Efficient reformulation for 0-1 programs: Methods and results"
Discrete Applied Mathematics 42 147-175.
Dikin, 1.1. (1967) "Iterative solution of problems of linear and quadratic programming", Soviet Mathematics
Doklady 8 674-675.
Dorfmann, R , P.A Samuelson and R Solow (1958) Linear Programming and Economic Analysis, McGraw-
Hill, New York.
Driebeek, N.J. [1966) "An algorithm for the solution of mixed integer programming problems", Management
Science 12 576-587.
Edmonds, J . [1965) "Paths, trees and flowers" , Canadian Journal ojMathematics 17 449-467.
Erwe, F. [1964) Differential- und Integralrechnung I, II, Bibliographisches Institut, Mannheim.
Fabian, T. [1958) "A linear programming model of integrated iron and steel production", Management
Science 4415-449.
Farkas, J . [1902] "Th eorie der einfachen Ungleichungen", Journalfiir die reine und angewandte Mathematik
124 1-27.
Fasano, G. [1999] "Cargo analytical integration in space engineering: a three-dimensional model", in Ciriani
et al (eds), Operational Research in Industry, MacMillan, 1999.
Fiacco, AV. and G.P. McCormick (1968) Nonlinear Programming: Sequential Unconstrained Minimization
Techniques Wiley & Sons, New York; republished 1990, SlAM, Philadelphia.
Forrest, J .H. (1989) Personal communication.
Forrest, J.H. and D. Goldfarb [1992) "Steepest-edge simplex algorithms for linear programming", Mathema-
tical Programming, 57, 341-374.
Forrest, J .H. and J .A Tomlin [1972) "Updating triangular factors of the basis to maintain sparsity in the
product form simplex method", Mathematical Programming 2263-278.
Fourier, J. (1822) Theotte analytique de la chaleur, republished in Grattan-Guiness. I. (1972) Joseph Fourier
1768-1830, MIT Press, Cambridge.
Freund, RM. [1985) "Postoptlmal analysis of a linear program under simultaneous changes in the matrix
coefficients", Mathematical Programming Study 24 1-13.
Fulkerson, D.R (1971) "Blocking and antiblocking pairs and polyhedra", Mathematical Programming 1 168-
194.
Gacs, P. and L. Lovasz (1981) "Khachtan's algorithm for linear programming", Mathematical Programming
Study 1461-68.
Gale, D. (1951) "Convex polyhedral cones and linear inequalities", in Koopmans T. (ed) Activity Analysis oj
Production and Allocation, Wiley, New York, 287-297.
Gale , D. [1960] The Theory ojLinear Economic Models, McGraw-Hill, New York.
Gale, D. , Kuhn, H.W. and AW. Tucker [1951] "Linear programming and the theory of games", in Koopmans
(ed) Activity Analysis ojProduction and Allocation, Wiley, New York.
Gantmacher, F.R (1958) Matrizenrechnung, Teil lund Teil II VEB Deutscher Verlag der Wissenschaften,
Berlin. [German translation of the Russian original dated 1954.)
Garey, M.R and D.S. Johnson [1979) Computers and Intractability, Freeman, San Francisco.
Gass, S .1. [1955) "A first feasible solution to the linear programming problem", in Antosiewicz (ed) Linear
Programming Volume II, National Bureau of Standards, Washington, 495-508.
Gass, S.1. [1958] Linear Programming: Methods and Applications, McGraw-Hill, New York.
Gass, S.1. and T.L. Saaty [1955) "The computational algorithm for the parametric objective function", Naval
Logistics Research Quarterly 2 39-45.
Gass, S.1. and T.L. Saaty [1955) "Parametric objective function. Part II: Generalization", Operations Re-
search 3395-401.
Bibliography 435

Gay, D.M. [1974] "On Skolnik's proposed polynomial-time linear programming algorithm", SIGMAP News-
letter 16 15-21.
Gay, D.M. [1978] "On combining the schemes of Reid and Saunders for sparse LP bases", in Duff and
Stewart (eds) Sparse Matrix Proceedings, SIAM, Philadelphia, 313-334.
Gay , D.M. [1987] "A variant of Karmarkar's linear programming algorithm for problems in standard form",
Mathematical Programming 37 81-90.
Gerstenhaber, M. [1951] "Theory of convex polyhedral cones", in Koopmans T. (ed) ActiVity Analysis of
Production and Allocation, Wiley, New York, 298-316.
de Ghellinck, G. and J-P Vial [1986] "A polynomial Newton method for linear programming", Algorithmica 1
425-453.
Gilbert, J . and T. Peierls [1988] "Sparse partial pivoting in time proportional to arithmetic operations", SIAM
J . Sci. Stat. Computing, 9862-874.
Gill, D.E., W. Murray, M.A. Saunders, J.A. Tomlin and M.H. Wright [19861 "On projected Newton barrier
methods for linear programming and an equivalent to Karmarkar's projective method" , Mathematical
Programming 36 183-209.
Giloni , A (2000), "Essays on Optimization in Data Analysis and Operations Management", Ph .D. thesis,
Stern School of Business, New York University, May 2000.
Goldfarb, D. [1977) "On the Bartels-Golub decomposition for linear programming bases", Mathematical
Programming 13 272-279.
Goldfarb, D. and J.K. Reid (1977) "A practicable steepest-edge simplex algorithm", Mathematical Program-
ming 12361-371.
Goldfarb, D. and S. Mehrotra (1989) "A self-correcting version of Karmarkar's algorithm", SIAM Journal on
Numerical Analysis 26 1006-1015.
Goldfarb, D. and D. Xiao (1991) "On the complexity of a class of projective interior point methods", Manu-
script, Columbia University, submitted to Mathematics of Operations Research.
Goldfarb, D. and D. Xiao (1991) "A primal projective interior point method for linear programming", Mathe-
matical Programming 51 17-43.
Goldman, AJ. (1956) "Resolu tion and separation theorems for polyhedral convex sets", in Kuhn and Tucker
(eds) Linear Inequalities and Related Systems, Princeton U. Press, Princeton, 41-51 .
Goldman, AJ. and A.W. Tucker (1956) ''Theory of linear programming", in Kuhn and Tucker (eds), Linear
Inequalities and Related Systems, Princeton U. Press, Princeton, 53-97.
Golub, G.H. and C.F.Van Loan (198 3) Matrix Computations, The Johns Hopkins University Press, Baltimore.
Gonzaga, C. (1989) "An algorithm for solving linear programming in O(n 3L) operations", in N. Megiddo (ed)
Progress in Mathematical Programming-Interior Point and Related Methods, Springer-Verlag , Berlin 1-28.
Gordan, P. [1873] "Uber die Aufl6sung linearer Gleichungen mit reellen Coefflcienten", Mathematische An-
nalen VI 23-28.
Graves, R.L. and Ph. Wolfe (eds) (1963) Recent Advances in Mathematical Programming, McGraw-Hill, New
York.
Greenberg, H.J. [1983] "A functional description of ANALYZE: A computer assisted analysis system for linear
programming models" ACM Transactions on Mathematical Software 9 18-56.
Grigoriadls, M.D. (1971) "A dual generalized upper bounding technique", Management Science 17269-284.
Grotschel, M. (1977) Polyhedrische Charakterisierungen kombinatorischer Optimierungsprobleme, Verlag An-
ton Hain, Meisenheim-am-Glan, FRG.
Grotschel, M. and O. Holland (1987) "A cutting-plane algorithm for minimum perfect 2-matching", Compu-
ting 39 327-344.
Grotschel, M. and O. Holland (1991) "Solution of large-scale symmetric travelling salesman problems",
Mathematical Programming 51 141-202.
Gr6tschel, M., M. Jiinger and G. Reinelt [19841 "A cutting plane algorithm for the linear ordering problem",
Operations Research 32 1195-1220.
436 Bibliography

Grotschel, M., M. Jiinger and G. Reinelt (1991) "Optimal control of plotting and drilling machines: A case
study", Zeitschrijtjilr Operations Research - Methods and Models oj Operations Research 35 61-84.
Grotschel, M., L. Lovasz and A Schrtjver (1981) "The ellipsoid method and its consequences in combinatorial
optimization", Combinatorica 1 169-197.
Grotschel, M., L. Lovasz and A Schrijver (1988) Geometric Algorithms and Combinatorial Optimization,
Springer-Verlag, Berlin.
Grotschel, M., C.L. Monma and M. Stoer (1992) "Computational results with a cutting plane algorithm for
designing communication networks with low-connectivity constraints", Operations Research 40 309-330.
Grotschel, M. and M. Padberg (1978) "On the symmetric traveling salesman problem: theory and compu-
tation", in R Henn et al (eds), Optimization and Operations Research, Lecture Notes in Economics and
Mathematical Systems 157, Springer, Berlin, 105-115.
Grotschel, M. and M. Padberg (1985) "Polyh edral theory", in Lawler, E. et al (eds) The Traveling Salesman
Problem, Wiley, New York, Chapter 8.
Grotschel, M. and M. Padberg (1999) "Die optimierte Odyssee", Spektrum der Wissenschajt, 76-85, April
1999; translated into French as "L'odyssee abregee", Pour la Science, August 1999; reprinted in Spektrum
der Wissenschajt, Digest 2: Wissenschaftliches Rechnen, 32-41, October 1999.
Grotschel, M. and W.R Pulleyblank (1986) "Cliqu e tree inequalities and the symmetric traveling salesman
problem", Mathematics ojOperations Research 11 537-569.
Grunbaum, B. (1967) Convex Polytopes, Wiley, London.
Guignard, M. and K Spielberg [19811 "Logical reduction methods in zero-one programming: Minimal pre-
ferred inequalities", Operations Research 2949-74.
Hadley, G. (1962) Linear Programming, Addison-Wesley, Reading.
Haimovich, M. (1983) "The simplex method is very good! - On the expected number of pivot steps and
related properties of random linear programs", Technical Report, Graduate School of Business, Columbia
University, N.Y.
Harris, P.M.J (1973) "Pivot selection methods of the devex LP code" , Mathematical Programming 5 1-28.
Helbig Hansen, K. and J. Kramp (1974) "Improvements of the Held-Karp algorithm for the symmetric
traveling-salesman problem", Mathematical Programming 7 87-96.
Held, M. and Karp, RM. [19711 "The traveling-salesman problem and minimum spanning trees: part II",
Mathematical Programming 1 6-25.
Hellerman E. and D. Rarick (1971) "Reinversion with the preassigned pivot procedure", Mathematical Pro-
gramming 1 195-216.
Hillier, F.S . and G.J. Lieberman (1967) Introduction to Operations Research, Holden-Day, San Francisco.
Hitchcock, F.L. (1941) "The distribution of a product from several sources to numerous localities", J . Math.
Phys. 20224-230.
Ho, J.K. and E. Loute (1981) "An advanced implementation of the Dantzig-Wolfe decomposition algorithm
for linear programming", Mathematical Programming 20 303-326.
Hoffman, AJ. (1952) "On approximate solutions of systems of linear inequalities", Journal oj Research oj
National Bureau oj Standards 49 263-265.
Hoffman, AJ. (1953) "Cycling in the simplex method", National Bureau of Standards, Report No. 2974,
Washington.
Hoffman, AJ [19551 "How to solve a linear programming problem ", in Antosiewicz led) Linear Programming
Volume II, National Bureau of Standards, Washington, 397-424.
Hoffman, A, Mannos, N., Sokolowsky, D. and N. Wiegman (1953) "Computational experience in solving
linear programs", Journal oj the Societyjor Industrial and Applied Mathematics 1 17-33.
Hoffman, A and J. Kruskal (1958) "Integral boundary points of convex polyhedra", in Kuhn, H. and A Tucker
(eds), Linear inequalities and related systems, Princeton University Press, Princeton 223-246.
Hoffman, KL. and M. Padberg (1985) "LP-based combinatorial problem solving", Annals oj Operations Re-
search 4 145-194.
Bibliography 437

Hoffman, K.L. and M. Padberg [1991) "Improving LP-representations of zero-one linear programs for branch-
and-cut", ORSAJoumal on Computing 3 121-134.
Hoffman, K.L. and M. Padberg [1993) "Solving airline crew scheduling problems by branch-and-cut", Mana-
gement Science 39 657-682.
Hooker, J .N. [1986) "Karmarkar's linear programming algorithm", Interfaces 1675-90.
Huard, P. [1967) "Resolution of mathematical programming with nonlinear constraints by the method of
centres" in: J. Abadie (ed) Nonlinear Programming, North-Holland, Amsterdam, 209-219.
Irt, M. and H. Imal (1986) "A multiplicative barrier function method for linear programming", A/gorithmica 1
455-482.
John, F. [1948) "Extrem u m problems with in equ a lities as subsidiary conditions" in Studies and Essays,
Courant anniversary volume, New York, Interscience.
.Junger, M., G. Reinelt and G. Rinaldi [1994) "The traveling salesman problem", Report No.92.113, Inst.
fur Informatik, Untversitat Koln (Germany), to appear in Ball, M.O. et al (eds) Networks, Handbooks in
Operations Research and Management Science, North-Holland, Amsterdam (forthcoming).
Kantorovich, L.V. [1939] "Mathematical methods in the organization and planning of production" English
translation in Management Science (1960) 6 366-422.
Kantorovich, L.V. [1942) "On the translocation of masses", C.R.Acad.SCL URSS 37 199-201.
Kantorovich, L.V. [1965) The Best Use oJEconomic Resources, Harvard U. Press, Cambridge.
Karmarkar, N. [1984) "A new polynomial-time algorithm for linear programming", Combinatorica 4 373-395.
Karp, RM. and C.H. Papadimitriou [1982) "On linear characterization of combinatorial optimization pro-
blems" SIAM Journal on Computing 11 620-632.
Khachian, L.G. [1979) "A polynomial algorithm in linear programming", Soviet Mathematics Doklady 20
191-194.
Khachian, L.G. [1980) "Polynomial algorithms in linear programming", USSR CompoMath. and Math. Phys.
2053-72.
Khachian, L.G. [1982) "On the exact solution of systems of linear inequalities and linear programming
problems", USSR Compo Math. and Math. Phys. 22 239-242.
Khachian, L.G. [1982) "Convexity and computational complexity in polynomial programming", Engineering
Cybernetics 22 46-56.
Khinchin, A. Y. [1935) Continued Fractions (in Russian). English translation [1964), The University of Chicago
Press, Chicago, Illinois.
Kirchberger, P. [1903] "Uber Tschebyschefsche Annaherungsmethoden", Mathematische Annalen 57509-
540.
Kiefer, J . [1952) "Sequential minimax search for a maximum", Proc. Amer. Math. Soc. 4502-506.
Klee, V. and G.J. Minty [1972) "How good is the simplex algorithm?" in Sisha (ed) Inequalities - III, Academic
Press, New York 159-175.
Klein, F. [1928] Vorlesungen uber nicht-euklidische Geometrie, reproduction by Chelsea Publishing Company,
New York.
Koopmans, Tj. (1949) "Opti m u m utilization of the transport system", Suppl. Econometrica 7136-146.
Koopmans, T.C. (ed) [1951) Activity Analysis ojProduction and Allocation, Wiley, New York.
Korte, B. and R Schrader [1980) "A note on convergence proofs for Shor-Khachian methods", in Auslender,
Oettli, Stoer (eds) Optimization and Optimal Control, Lecture Notes in Control and Information Sciences
Vol.30, Springer, Berlin, New York, 51-57.
Kotiah, T.C.T. and D.1. Steinberg [1978) "On the possibility of cycling with the simplex method", Operations
Research 26 374-376.
Kraemer, RD . and M.R Hillard [1991) "Mission (not) impossible", ORjMS Today April 199144-45.
Kranich, E. [1993] "Interior point methods for mathematical programming: A bibliography", Universitat
Wuppertal, Germany.
438 Bibliography

Kuhn, H.W. [1956] "Solvability and consistency for systems of linear equations and tnequaltttes", The Ame-
rican Mathematical Monthly 63217-232.
Kuhn, H.W. and RE. Quandt [1963] "An experimental study of the simplex method", Proceed ings ojSympo-
sia in Applied Mathematics, American Mathematical Society, Providence Vol 15 107-124.
Kuhn, H.W. and AW.Tucker (eds) [1956] Linear Inequalities and Related Systems, Annals of Mathematics
Studies 38, Princeton U. Press, Princeton.
Kulisch, U.W. and W.L. Miranker [1986] ''The arithmetic of the digital computer: A new approach", SIAM
Review 28 1-40.
Land, AH. and AG. Dotg [1960] "An automatic method for solving discrete programming problems", Econo-
metrica 28497-520.
Lawler, E.L. and D.E. Woods [1966] "Branch-and-bound methods: A survey", Operations Research 14 699-
719.
Lawler, E.L. , J.K. Lenstra, AH.G. Rinnooy Kan and D.B. Shmoys (eds) [1985] The Traveling Salesman
Problem: A Guided Tour ojCombinatorial Optimization, Wiley, Chichester.
Lehman, A [1990] "The width-length inequality and degenerate projective planes", in Cook, W. and P.D. Sey-
mour (eds), Polyhedral Combinatorics, DIMACS Series in Discrete Mathematics and Theoretical Computer
Science.
Lemke, C.E . [1954] "The dual method of solving the linear programming problem", Naval Research Logistics
Quarterly 1 36-47.
Leontief, W.W. [1928] "Die Wirtschaft als Kreislauf', Archiv fisr Soziaiwissenschaft und Sozialpoliiik; 60
577-623.
Leontief, W.W [1951] Th e Structure oj the American Economy 1919-1929, Oxford, New York.
Levin, AY. [1965] "On an algorithm for convex function mintmizatton". Soviet Mathematics Doklady 6 286-
290.
Little , J .D.C., KG. Murty, D.W. Sweeney and C. Karel [1963] "An algorithm for the traveling salesman
problem", Operations Research 11 979-9$9.
Lustig, I.J., RE. Marsten and D.F. Shanno [1994] "Interior point methods for linear programming: compu-
tational state of the art", ORSA Journal on Computing 6 1-14.
Luther, H.A and L.F. Guseman, Jr. [1962] "A finite sequentially compact process for the adjoints of matrices
over arbitrary integral domains", Comm. ACM 5447-448.
Mangasarian, O.L. [1969] Nonlinear Programming, McGraw-Hill, New York.
Manne, AS. [1956] "Scheduling of Petroleum Refinery Operations". Harvard U. Press, Cambridge.
Markowitz, H.M. [1957] "The elimination form of the inverse and its application to linear programming"
Management Science 3 255-269.
Marshall, KT. and J .W. Suurballe [1969] "A note on cycling in the simplex method", Naval Research Logistics
Quarterly 16 121-137.
Marsten, R, R Subramanian, I. Lustig and D. Shanno [1990] "In terior point methods for linear program-
ming: Just call Newton, Lagrange, and Fiacco and McCormick!", Interfaces 20 105-116.
Maurras, J.F. [1975] "Some results on the convex hull of hamiltonian cycles of symmetric complete graphs",
in Roy, B. (ed), Combinatorial programming: Methods and applications, Reidel, Dordrecht 179-190.
Maurras, J.F. [1976] Polytopes a sommets dans {O, I}", These de doctorat d' lhat, Unrverstte Paris VII, Paris.
McClellan, M.T. [1973] "The exact solution of systems of linear equations with polynomial coefficients",
J . ACM 20 563-588.
McMullen, P. and G.C. Shephard [1971] Convex polytopes and the upper bound conjecture, London Math.Soc.
Lecture Notes Series 3, Cambridge University Press, London.
McShane, KA , C.L. Monma and D. Shanno [1989] "An implementation of a primal-dual interior point
method for linear programming", ORSA Journal on Computing, 1 70-83.
Meglddo, N. [1989] (ed) Progress in Mathematical Programming, Springer Verlag, Berlin.
Bibliography 439

Megiddo, N. [1989) "Pathways to the optimal set in linear programming", in N. Meglddo (ed) Progress in
Mathematical Programming: Interior Point Algorithms and Related Methods, Springer Verlag, New York,
131-158.
Mehta, D.R [1974) Working capital management, Prentice Hall, Englewood Cliffs.
Meyer, RR [1974) "On the existence of optimal solutions to integer and mixed integer programming pro-
blems", Mathematical Programming 7 223-235.
Minkowski, H. [1896) Geometrie der zahlen (Erste Lieferung) Teubner, Leipzig.
Minkowski, H. [1897] "Allgemeine Lehrsatze uber die konvexen Polyheder", Nachrichten der koniglichen
Gesellschajt der Wissenschajten zu Gottingen, math. -physik. Klasse 198-219
Mityagin, B.S. [1969) "Two inequalities for volumes of convex bodies", Math. Notes Acad. Science USSR 5
61-65.
Monge, G. [1781) "Memoire sur la theorte des remblais et des deblais", Mem Acad. Royale 666-704.
Monteiro, RD.C . and I. Adler [1989] "Interior path following primal-dual algorithms. Part I: Linear program-
ming", Mathematical Programming 44 27-41.
Moore, RE. [1966) IntervalAnalysis, Prentice Hall, Englewood Cliffs.
Motzkin, Th.S. [1933] Beitriige zur Theorie der linearen Ungleichungen, Doctoral Thesis, University of Basel.
English translation in Cantor et al (eds) Theodore S. Motzkin: Selected Papers, Birkhauser, Boston, 1983
1-81.
Motzkin, T.S., H. Raiffa, G.L. Thompson and RM. Thrall [1953] "The double description method" in Kuhn,
H.W. and A.W. Tucker (eds) Contributions to the Theory of Games VoL II, Princeton University Press,
Princeton, 51 - 73.
Muller-Merbach, H. [1970) On Round-olfErrors in Linear Programming, Springer-Verlag, Berlin.
Murty, K.G. [1983] Linear Programming, Wiley, New York.
Neisser, H. [1932] "Lohnhohe und Beschafttgungsgrad im Marktgletchgewtcht", Weltwirtschajtliches Archiv
36413-455.
Nemhauser, G.L. and L.A. Wolsey [1988) Integer and Combinatorial Optimization, Wiley, New York.
Newman, D.J. [1965] "Location of the maximum on unimodal surfaces", Journal of the Association for
Computing Machinery 12395-398.
von Neumann, J. [1936) "Uber ein 6konomisches Gleichungssystem und eine Verallgemeinerung des Brou-
werschen Fixpunktsatzes", Ergebnisse eines mathematischen Kolloquiums 8.
von Neumann, J . and O. Morgenstern [1953) Theory of Games and Economic Behavior, Princeton U. Press,
Princeton.
Orchard-Hays, W. [1954) "A composite simplex algorithm - II", Technical Report P-525, The Rand Corpora-
tion, Santa Monica.
Orchard-Hays, W. [1968] Advanced Linear Programming Computing Techniques, McGraw-Hill, New York.
Orgler, Y.E. [1969) "An unequal period model for cash management decisions", Management Science 16
B77-B92.
Orgler, Y.E. [1970] Cash management: Methods and models, Wadsworth Publ. Co., Belmont.
Ostrowski, A.M. [1973) Solution ofequations in Euclidean and Banach spaces, 3rd Ed ., Academic Press, New
York.
Padberg, M. [1973] "On the facial structure of set packing polyhedra", Mathematical Programming 5 199-251 .
Padberg, M. (1974) "Perfect zero-one matrices", Mathematical Programming 6 180-196.
Padberg, M. [1975) "Characterization of totally unimodular, balanced and perfect matrices" in Roy, B. (ed),
Combinatorial programming: Methods and applications, Reidel , Dordrecht 275-284.
Padberg, M. [1976) "Almost integral polyhedra related to certain combinatorial optimization problems",
Linear Algebra and Its Applications 15 69-88.
Padberg, M. [1985] "Solution of a nonlinear programming problem arising in the projective method for linear
programming", Manuscript, New York University, New York.
440 Bibliography

Padberg, M. [1986] "A different convergence proof for the projective method", Operations Research Letters 4
253-257.
Padberg, M. [1988] "Total unimodularity and the Euler-subgraph problem", Operations Research Letters 7
173-179.
Padberg, M. [1993] "Lehman's forbidden minor characterization of ideal 0-1 matrices", Discrete Mathematics
III 409-420.
Padberg, M. [2000a] "Packing small boxes into a big box", to appear in Mathematical Methods oj Operations
Research, 52 (2000) .
Padberg, M. [2000b] "Approximating separable nonlinear functions via mixed zero -one programs", to appear
in Operations Research Letters, 2000.
Padberg, M. and M. Gr6tschel [1985] "Polyh edral computations", Chapter 9 in Lawler, E.L. et al (eds). The
Traveling Salesman Problem: A Guided Tour oj Combinatorial Optimization, Wiley, Chichester.
Padberg, M. and S. Hong [1980] "On the symmetric travelling salesman problem: a computational study",
Mathematical Programming Study 12 78-107.
Padberg, M. and M.R.Rao [1979] "The Russian method for linear inequalities and linear optimization",
November 1979, Revised June 1980, Graduate School of Business Administration, New York University,
New York.
Padberg, M. and M.R.Rao [1979] "The Russian method for linear inequalities II: Approximate arithmetic",
January 1980, Graduate School of Business Administration, New York University, New York.
Padberg, M. and M.R. Rao [1981] "The Russian method for linear inequalities III: Bounded integer program-
ming", Preprint, New York University, New York.
Padberg , M. and M.R. Rao [1982] "Odd Minimum Cut-Sets and b-Matchings", Mathematics oj Operations
Research 7 67-80.
Padberg , M. and G. Rinaldi [1987] "Optimiza tion of a 532-city symmetric traveling salesman problem by
branch-and-cut". Operations Research Letters 6 1-7.
Padberg, M. and G. Rinaldi [1990] "An efficient algorithm for the minimum capacity cut problem", Mathe-
matical Programming 47 19-36.
Padberg, M. and G. Rinaldi [1990) "Facet identification for the symmetric traveling salesman polytope",
Mathematical Programming 47 219-257.
Padberg, M. and G. Rinaldi [1991] "A branch-and-cut algorithm for the resolution of large-scale symmetric
traveling salesman problems", SIAM Review 33 60-100.
Padberg, M. and Ting-Yi Sung [1991] "An analytical comparison of different formulations of the travelling
salesman problem", Mathematical Programming 52 315-357.
Padberg, M. and Ting-Yi Sung [1997) "An analytic symmetrization of max flow-min cut", Discrete Mathema-
tics, 165/166531-545.
Padberg, M., T. Van Roy and L. Wolsey [1985] "Valid linear inequalities for fixed charge problems", Operations
Research, 33 (1985). 842-861.
Padberg, M. and M. Wilczak [1999] "Optimal project selection when borrowing and lending rates differ" ,
Mathematical and Computer Modelling, 29, 63-78.
Perold, A.F. and G.B. Dantzig [1978] "A basis factorization method for block triangular linear programs", in
Duff and Stewart (eds) Proceedings oj the Symposium on Sparse Matrix Computations, Knoxville 283-312.
Reid, J .K. [1982] "A sparsity exploiting variant of the Bartels-Golub decomposition for lin ear programming
basis", Mathematical Programming 24 55-69.
Remelt, G. [1991] lSPLIB - A traveling salesman problem library", ORSA Journal on Computing 3 376-384.
Remelt, G. [1994] Contributions to practical traveling salesman problem solVing, Lectu re Notes in Scientific
Computing, Springer Verlag, Berlin..
Renegar, J . [1988] "A polynomial-time algorithm, based on Newton's method, for lin ear programming",
Mathematical Programming 40 59-93.
Bibliography 441

Robinson, S.M. [1963) "Bounds for error in the solution set of a perturbed linear program", Linear Algebra
and its Applications 6 69-81.
Rockafellar, T. [1970) Convex Analysis, Princeton University Press, Princeton.
Roehrkasse, RC. and G.C . Hughes [1990) "Crisis analysis", OR/MS Today Dec. 199022-27.
Saaty, T.L. and S.1. Gass [1954) "The parametric objective function. Part I", Operations Research 2 316-319.
Savelsbergh, M. [1994) "Preprocessing and probing techniques for mixed integer programming problems",
ORSA Journal on Computing 6 445-454.
Sakarovitch, M. [1971] Notes on Linear Programming, Van Nostrand Reinhold, New York.
Saunders, M.A. [1976) "A fast, stable implementation of the simplex method using Bartels-Golub updating",
in Bunch and Rose (eds) Sparse Matrix Computations, Academic Press, New York 213-226.
Schlesinger, K. [1934] "Uber die Produktionsgleichungen der 6konomischen Wert-lehre", Erg ebnisse eines
mathematischen Kolloquiums 6 10-11 .
Schrader, R [1982] "Ellipsoid methods", in D. Korte (ed) Modern Applied Mathematics - Optimization and
Operations Research. North-Holland, Amsterdam, 265-311.
Schrijver, A. [1986) Theory ojLinear and Integer Programming, Wiley, Chichester.
Schuppe, Th. [1991) "OR goes to war" , OR/MS Today April 1991 36-44.
Shaw (Xiao), D. and D. Goldfarb [1991] "A path following projective interior point method for linear pro-
gramming", Manuscript, Columbia University, New York, to appear in SIAM Journal on Optimization.
Shor, N.Z. [1970] "Utilization of the operation of space dilatation in the minimization of convex functions",
Cybernetics 67-15.
Shor, N.Z. [1970] "Convergence rate of the gradient method with dilatation of the space", Cybernetics 6
102-108.
Shor, N.Z. [1977) "Cut-off method with space extension in convex programming problems, Cybernetics 13
94-96.
Simmonard, M. [1966] Linear Programming, Prentice-Hall, Englewood Cliffs.
Skolnik, H. [1973) "Outline of a new algorithm for linear programming", Paper presented at the Stanford
Mathematical Programming Symposium, August 1973.
Smale, S . [1983) "The problem of the average speed of the simplex method", in Bachem etal (eds) Mathema-
tical Programming: The State oj the Art, Springer-Verlag, Berlin 530-539.
Sperner, E. [1951) Einftihrung in die Analytische Geometrie und Algebra, Zweiter Teil, Vandenhoeck & Rup-
precht, G6ttingen.
von Stackelberg, H. [1933] "Zwei kritische Bemerkungen zur Preistheorie Gustav Cassels", Zeitschriftftir
NationalOkonomie 4 456-472.
Stiemke, E. [1915) "Uber positive Losungen homogener linearer Gleichungen", Mathematische Annalen 76
340-342.
Stigler, G.J. [1945] ''The cost of subsistence", Journal ojFarm Economics 27303-314.
Stoer, J. and C. Witzgall [1970) Convexity and Optimization in Finite Dimensions I, Springer, Berlin.
Stuckey, P. [19911 "Incremental linear constraint solving and detection of implicit equalities", ORSAJournal
on Computing 3269-274 .
Suhl, U. and L. Suhl [1990] "Compu tin g sparse LU factorizations for large-scale linear programming bases",
ORSA Journal on Computing 4 325-335.
Symmonds, G.H. [1955] Linear Programming: The Solution ojRefinery Problems, Esso Standard Oil Co., New
York.
Tewarson, RR [1973) Sparse Matrices, Academic Press, New York.
Tietz, H. [1962] Vorlesung tiber Analytische Geometrie, Aschendorffsche Verlagsbuchhandlung, Munster/West-
falia.
Todd, M.J. and Burell, B.P. [1986) "An extension of Karmarkar's algorithm for linear programming using
dual variables", Algorithmica 1 409-424.
442 Bibliography

Tomlin, J.A [1971] "An improved branch-and-bound method for integer programming", Operations Research
19 1070-1074.
Tomlin, J .A. [1972] "Modifying triangular factors of the basis in the simplex method", in Rose and Willoughby
(eds) Sparse Matrices and Their Applications, Plenum, New York 77-85.
Tucker, AW. [1956] "Dual systems of homogeneous linear equations", in Kuhn and Tucker (eds) Linear
Inequalities and Related Systems, Princeton U. Press, Princeton, 3-18.
Vajda, S. [1956] The Theory of Games and Linear Programming, Wiley, New York.
Vanderbei, RJ. [1993] "ALPO: Another linear programming optimizer", ORSA Journal on Computing 5 134-
146.
Vanderbei, RJ ., M.S. Meketon and B.A Freedman [1986) "A modification of Karmarkar's linear program-
ming algorithm", Algorithmica 4 395-407.
Van Roy, T. and L.A Wolsey (1987) "Solving mixed integer programming problems using automatic refor-
mulation" Operations Research 3545-57.
Veinott, R and G.B. Dantzlg (1968) "Integral extreme points", SIAM Review 10 371-372.
Wagner, H.M. (1958) "The dual simplex algorithm for bounded Variables", Naval Research Logistics Quar-
terly 5 257-26l.
Wagner, H.M. (1969) Principles of Operations Research, Prentice-Hall, Englewood Cliffs.
Wald , A (1934) "Ub er die eindeutige positive Losbarkelt der Produktionsgleichungen", Ergebnisse eines
mathematischen Kolloquiums 6 12-18.
Wald, A (1935) "Uber die Produktionsgleichungen der okonormschen Wertlehre" , Ergebnisse eines mathe-
matischen Kolloquiums 7 1-6.
Weingartner, H.M. [1967] Mathematical Programming and the Analysis of Capital Budgeting Problems, Mark-
ham Publ. Co., Chicago.
Weyl, H. [1935) "Elemen tare Theorie der konvexen Polyeder", Commentarii Mathematici Helvetici 7 290-306.
[Translation in: Kuhn, H. and A Tucker (eds) Contributions to the Theory ofGames I , Princeton University
Press, Princeton, 3-18.)
Wilkinson, J .H. (1971) "Modern error analysis", SIAM Review 13 548-568.
Williams, H.P. (1985) Model Building in Mathematical Programming, 2nd edition, Wiley , New York.
Witzgall, C. , Boggs, P.T. and P.D. Domich [1990] "On the convergence behavior of trajectories for linear
programming", Contemporary Mathematics 114 161 -187.
Wolfe, Ph . (1955) "Reduction of systems of linear relations", in Antosiewicz (ed) Linear Programming Vo-
lume II, National Bureau of Standards, Washington, 449-45l.
Wolfe, Ph. (1965) "Errors in the solution of linear programming problems" in Rau (ed) Error in Digital
Computation Volume II, Wiley, New York 271-284.
Wolfe, Ph. (1963) "A te chnique for resolving degeneracy in linear programming", Journal of the Society for
Industrial and Applied Mathematics 11 205-211 .
Wolfe, Ph. (1978) Personal communication.
Wolfe, P. [1980) "A bibliography for the ellipsoid algorithm", IBM Research Center, Yorktown Heights, NY.
Wolsey, L. (1989) "Strong formulations for mixed integer programming: A Survey", Mathematical Program-
ming 45 173-19l.
Wood, M.K. and G.B. Dantztg (1949) "Programming of interdependent activities I: General discussion",
Econometrica 17 193-199.
Yemelichev, VA, M.M. Kovalev and M.K. Kravtsov (1984) Polytopes, Graphs and Optimisation translated by
G.H. Lawden, Cambridge University Press, Cambridge.
Yudin, D.B. and Nemirovskii, AS. (1976) "Informational complexity and efficien t methods for the solution
of convex extremal problems" Matekon 13 3-25.
Zeuthen, F. [1933] "Das Prinzip der Knappheit, technische Kombination und okonomtsche QualWit", Zeit-
schriftfilr NationaLOkonomie 7 1-24.
Bibliography 443

Zhang, S. [1991] "On anti-cycling pivoting rules for the simplex method", Operations Research Letters 10
189-192.
Zionts, S . [1974] Linear and Integer Programming, Prentice-Hall, Englewood Cliffs.
Zurrnuhl, R. [1958] Matrizen, Springer Verlag, Berlin, 2 n d edition.
Index
iI -nor m , 126 simplex
i 2- n orm , 126 BV,90
ioo-n orm , 126, 280 dual, 96, 108
s-opttmal set, 287 Dual BV, 118
e-optim al solution, 287 dynamic, 98, 113
s-soltdlflcatton , 280 primal, 63, 69
vo-pola r, 135 all-integer
Gaussian elimination, 152
adjacent extreme points, 131, 132 inversion routine, 139
affine: apex, 132
combination, 125 applications to/examples in
hull, 125 automatized production, 399
rank, 125 cash budgeting, 362
subspace, 125 cash management, 359
transformation, 132 discrete-valued variables, 345
affinely: job shop scheduling, 121
dependent, 125 nonlinear function approximation, 346
independent, 125 operations management, 371
algorithm packing boxes, 355
best approximation, 284, 309 production, 371
binary numbers, 78 project selection, 350
binary search 1, 143 arithmetic mean, 155
binary search 2 , 144 asymptotic cone, 130,331
branch-and-bound,324
branch-and-cut, 325 backward substitution, 150
cutting plane, 325 ball, 153
double description, 136, 172 barrier function, 224
all-integer, 139, 179 geometric, 224
basis, 179, 182 logarithmic, 224, 226
MDDA, 139, 179 basic ellipsoid algorithm, 270, 273
modified, 139, 179 basic projective algorithm, 205
ellipsoid approximate problem, 203
basic, 270 convergence of the iterates, 205
CCS , 288 solution, 204
DCS, 273, 297 initialization of the, 206
Euclidean, 137 step complexity of, 206
Gaussian elimination, 149 basis, 47
division free , 151, 191 dual, 96
with Euclidean reduction, 194 feasible , 47
iterative scheme, 228, 255 notation, 48
LIST-and-CHECK, 264 of a subspace, 126
Newtonian, 229, 259 position in, 48
pr~ective,221,248 basis
basic, 205, 232 change of, 55
446 INDEX

optimal,55 of double description algorithm, 136


basis algorithm, 138 of dual simplex algorithm, 97
best approximation, 282 of ellipsoid algorithm, 270
algorithm, 284 of simplex algorithm, 65
problem, 284 of the Newtonian algorithm, 229
binary search, 143 of the projective algorithm, 222
algorithm I, 143 Cramer's rule, 153
algorithm 2, 144 cross multiplication, 150
block pivots, 148 cross ratio, 215
blow-up factor, 154
in the ellipsoid algorithm, 264 deep cut, 272
branch-and-bound,324 definition
finiteness for MIP, 331 e-solidiflca tion , 280
branch-and-cut, 265, 325 CO: cone, 130
cross ratio, 216
Caratheodory's theorem, 131 01: dimension, etc. , 125
Cauchy-Schwarz inequality, 126 EP: extreme point, 128
center of gravity, 223 FA: face, 128
center of the quadric, 153 FC: facet complexity, 141
centering direction, 228 Hadamard product, 226
central cut ellipsoid algorithm, 288 HU: hulls, 131
central path, 227 linear optimization problem, 289
centroid, 223 linear program, 39
changing elements of the coefficient matrix, canonical form , 39
98 standard form, 39
characteristic cone, see asymptotic cone PI: polyhedron, 127
choice rules: P2: polyhedron, 133
for pivot column, 64, 147, 150 PI: perfect etc., 335
for pivot row, 65, 150 polyhedral separation problem, 289
Cholesky factorization, 150 Schur complement, 40
integer, 151 TV: totally unimodular, 335
combinatorial optimization, 323, 399 VE: valid equation, 332
complementary slackness, 94 VI: valid inequality, 332
complete formulation, 328 degeneracy, 148
cone, 130 description
extreme ray of, 130 finite linear, 126
lineality space of, 130 ideal, 129
pointed, 130 minimal complete, 129
polyhedral, 130 quasi-unique, 129
conical hull, 131 digital size, 141
constraint identification problem, 145 dimension, 125
continued fraction, 285 displaced asymptotic cone, 132
convex hull, 131 displaced subspace, 125
correctness: displacement, see translation
of CCS ellipsoid algorithm, 289 distance, 125
of DCS ellipsoid algorithm, 277 distance function, 125
INDEX 447

division free, 151 iterative step of, 149


division free Gaussian algorithm, 152 generation
double description algorithm. 136 column, 99
dual simplex algorithm, 96, 108 row, 99
duality geometric center. 224
strong geometric mean, 155,224
theorem of, 94 geometric/arithmetic mean inequality, 156
dynamic simplex algorithm, 98, 99, 113 Gram-Schmidt orthogonalization, 127
greatest common divisor (g.c.d.), 137
ellipsoid, 154
"halving". 266 Hadamard inequality, 127
volume of an, 155 Hadamard product, 226
ellipsoidal norm, 154 halfline, 125
Euclidean: halfspace, 126
algorithm, 137 open, 126
norm, 126 homogenization, 131
reduction, 137 hyperplane, 126
extremal directions. 131 Holder's inequality, 282, 308
extreme point. 128
improper face. 128
facet complexity, see rational polyhedron improper point, 210
feasibility direction, 228 inhomogeneous linear equation, 126
feasibility problem, 143 integrality property. 335
feasible triplet, 229 interior point algorithm, 201
fill-in , 149
finite generator. 126 large step, 272
finiteness: length, 126
of basic projective algorithm, 206 lexicographically maximal point, 145
of branch-and-bound, 331 line search. 272
of CCS ellipsoid algorithm, 289 lineality space, 127
of DCS ellipsoid algorithm, 277 linear hull, 125
of dual simplex algorithm. 97 linear optimization problem, 142,289
of ellipsoid algorithm. 270 linear program
of simplex algorithm, 65 dual,93
of the Newtonian algorithm, 229 large-scale, 64, 98
of the projective algorithm, 222 primal. 93
flat, 129 structured, 39
forward substitution, 150 linear transformation, 132
Frobenius norm, 265 log-central path, 227
full dimensional. 125 logarithmic center. 224
fundamental theorem oflinear programming,
206 matrix
balanced, 336
gamma function, 155 Cholesky factorization, 150
Gaussian elimination integer. 151
division free eigenvalue of a , 154
iterative step of. 151 eigenvector of, 154
448 INDEX

ideal,335 properties of, 204


indefinite, 153 vectors, 126
inversion of, 40 outer inclusion principle, 146, 278
partitioned, 39
perfect, 335 parallel vectors, 126
permutation, 150 parametric:
positive definite, 153 objective function, 112
orthonormal, 154 right-hand-side, 97
positive semi-definite, 153 perturbation, 145
Schur complement of, 40 pivot:
totally unimodular, 335 column, 63
triangular factors of, 150 operation, 63
method of centers, 224 row , 63
Minkowski's theorem, 132 rules, 64, 65
MIP, see mixed-integer programming polyhedral separation problem, 289
MIP formulation, 323 polyhedron, 127, 133
complete, 328 blunt, 128
existence, 330 canonical generator of, 135
facet complexity, 331 equivalence of definitions, 133
vertex complexity, 331 extreme point of, 128
discrete mixed set, 327 extreme rays of, 13 1
extremal characterization, 334 face of, 128
facets , 333 facet of, 128
characterization, 334 full dimensional, 128
ideal, 332, 333 image of, 132
preprocessing, 325 integral, 334
valid equation, 332 line free, 127
valid# inequality, 332 linear description of, 127
mixed-integer linear program, 323 minimal face of, 128
modified double description Algorithm, 139 minimal generator of, 133
Newton's method, 227 pointed, 128
Newton: rational, see rational polyhedron
direction, 227 solid, 129
step, 227 polytope, 131
Newtonian algorithm, 228 dual,282
norm: , 125 position of variable in basis, 48
dual,282 post-optimality, 97
Frobenius, 265 pricing, 64
of column, 65 principal axis transformation, 155
of matrix, 265 principal minors, 154
polytopal, 282 projective
curve, 211
orthogonal: projective algorithm, 221
complement, 126 geometry of, 211
decomposition, 128 initialization of the, 222
pr~ection, 126, 135 optimization problem, 202
INDEX 449

convergence of the iterates. 220 solution


solution in z -spa ce, 207 s-fea sible, 273
solution in y-space. 209.214 s-opttmal, 273
the iterative step of the. 203. 207. 220 basic feasible. 47
projective images. 215 degenerate. 47
projective space r: 213, 214 bounded. 47
projective transformation. 201 feasible, 47
proper face. 128 finite. 47
pure integer program, 323 infeasible, 47
purging, 99 optimal, 47
sphere. 153
quadratic form, 153 unit, 154
quasi-uniqueness steepest descent direction, 228
of pointwise description, 135 steepest edge criteria, 147
subspace. 125
rank-one update. 55 system of equations
rational polyhedron. 140 equivalent, 47
facet complexity of, 141 solving a. 153
vertex complexity of, 141 system of linear inequalities
rational rounding. 282 solvable. 95
recession cone, see asymptotic cone
reduced cost. 49 translation. 125
redundant inequality. 95 traveling salesman problem. 399
reflection on a circle, 218 (refined) comb inequalities. 405
regular polyhedra. 127 examples. 407. 409
relative interior. 129 formulation, 401
restricted feasibility problem, 142 progress in exact solution. 407
triangle inequality. 125
scaling
a vector. 40 unique:
separation problem, 145 minimal generator, 134
polyhedral, 289 optimizer. 48
separator
most violated. 280 valid equation, 129.332
optimal, 280 valid# inequality, 332
simplex algorithm. 63. 90, 118 variable:
two-phase method of. 64 entering the basis. 56
simplex paths. 147 leaving the basis. 56
sliding objective, 272
solid, 129 Weyl's theorem. 133
Universitext
Aksoy, A.; Khamsi, M. A.: Methods in Fixed Point Theory
Ande rson, M.: Topics in Compl ex Analysis
Aoki, M.: State Space Modelin g of Time Serie s
Aupetit, B.: A Primer on Spectral Theory
Bachem, A.; Kern, w.: Linear Programmin g Duality
Benedetti, R.; Petronio, C.: Lectures on Hyperbolic Geometry
Berger, M.: Geometry I, and II
B1iedtner, J.; Hansen, W.: Potential Theory
Boltyanski, V.; Marti ni, H.; Soltan, P.S.: Excursio n into Combinatorial Geometry
Booss, B.; Bleecker, D. D.: Topology and Analysis
Borka r, V.S.: Probability Theory
Carleson, 1. ; Gamelin, T.: Complex Dynamics
Cecil, T. E.: Lie Sphere Geometry: With Appli cations of Submanifolds
Chae , S. B.: Lebesgue Integra tion
Chandrasekharan, K.: Classical Fourier Transform
Charlap, 1. S.: Bieberb ach Group s and Flat Manifolds
Chern, S.: Complex Manifolds without Potential Theory
Chorin , A. J.; Marsden, J.E.: Mathematical Introduction to Fluid Mechanics
Cohn , H.: A Classical Invitation to Alge braic Num bers and Class Fields
Curtis, M. 1. : Abstrac t Linear Algebra
Curtis, M. 1. : Matrix Group s
Dalen, D. van: Logic and Structure
Das, A.: The Special Theory of Relativity: A Mathematical Exposition
Devlin, K. J.: Fund amental s of Contemporary Set Theory
DiBenedetto, E.: Degenrate Parabolic Equations
Diener, E ; Diener, M. : Non standard Analy sis in Practice
Dimca, A.: Singul arities and Topology of Hypersurfaces
DoCarmo, M. P.: Differential Forms and Applic ations
Edwards, R. E.: A Formal Background to Higher Mathematics la, and Ib
Edwards, R. E.: A Formal Background to Higher Mathematics IIa, and lIb
Emery, M.: Stoch astic Calculus in Manifolds
Endler, 0 .: Valuation Theory
Erez, B.: Galois Modules in Arithmetic
Foulds, 1. R.: Graph Theory Applications
Frauenthal, J. C.: Mathematical Modeling in Epidemiology
Fuks, D. B.; Rokhlin , V. A.: Beginner' s Course in Topology
Fuhrmann, P. A.: A Polynomial Approach to Linear Algebra
Gabisch, G.; Lore nz, H.-W.: Business Cycle Theory
Gallot, S.; Hulin , D.; Lafontaine, J.: Riemann ian Geometry
Gardin er, C. E : A First Course in Group Theory
Garding , 1.; Tambour, T.: Algebra for Computer Science
Godbill on, C.: Dynamical Systems on Surfaces
Goldbl att, R.: Orthogonality and Spacetim e Geometry
Gouvea, E Q.: p -Adic Numb ers
Gustafson, K. E.; Rao, D. K. M.: Numerical Range. The Field of Values of Linear Operators
and Matrices
Hahn, A. J.: Quadratic Algeb ras, Clifford Algebras, and Arithme tic Witt Groups
Hajek, P.; Havranek, T.: Mechan izing Hypothe sis Formation
Hlawka, E.; SchoiBengeier, J.; Taschner, R.: Geometri c and Anal ytic Number Theory
Holmgren, R. A.: A First Course in Discrete Dynamical System
Howe, R., Tan, E. Ch.: Non-Abelian Harmoni c Analysis
Howes, N. R.: Modem Analysis and Topology
Humi , M. , Miller, w.: Second Course in Ordinary Differenti al Equations for Scienti sts and Engineers
Hurwitz, A.; Kritikos, N.: Lecture s on Number Theory
Iversen, B.: Cohomology of Sheaves
Jennings , G. A.: Modem Geometry with Applications
Jones, A.; Morris, S. A.; Pearson , K. R : Abstract Algebra and Famous Inpossibilities
Jost , J.: Riemannian Geometry and Geometric Analysis
Jost, J.: Compact Riemann Surfaces
Karman, R.; Krueger, C. K.: Advanced Analysis on the Real Line
Kelly, P.; Matthews , G.: The Non-Euclidean Hyperbolic Plane
Kempf, G.: Complex Abelian Varieties and Theta Functions
Kloeden, P. E.; Platen ; E.; Schurz , H.: Numerical Solution of SDE Through Computer Experiment s
Kostrikin, A. I.: Introduction to Algebra
Krasnosel skii, M. A.; Pokrovskii , A. V.: Systems with Hysteresis
Luecking, D. H., Rubel, L. A.: Complex Analysis . A Functional Analysis Approach
Ma, Zhi-Ming; Roeckner, M.: Introduction to the Theory of (non-symmetric) Dirichlet Forms
Mac Lane, S.; Moerdijk , I.: Sheaves in Geometry and Logic
Marcus , D. A.: Number Fields
Mc Carthy, P. J.: Introduction to Arithmetical Functions
Meyer, R. M.: Essential Mathematics for Applied Field
Meyer-Nieberg, P.: Banach Lattices
Mines, R ; Richman, E ; Ruitenberg, w.: A Course in Constructive Algebra
Moise , E. E.: Introductory Problem Course s in Analys is and Topology
Montesinos-Amilibia, J. M.: Classical Tesselations and Three Manifold s
Nikulin , V. V.; Shafarevich , I. R : Geometries and Groups
Morris, P.: Introduction to Game Theory
Oden, 1. J.; Reddy, 1. N.: Variational Methods in Theoretical Mechanics
0ksendal, B.: Stochastic Differential Equations
Porter, J. R; Woods, R G.: Extensions and Absolutes of Hausdorff Spaces
Ramsay, A.; Richtmeyer, R. D.: Introduction to Hyperbolic Geometry
Rees, E. G.: Notes on Geometry
Reisel , R B.: Elementary Theory of Metric Spaces
Rey, W. J. J.: Introduction to Robust and Quasi-Robust Statistical Methods
Rickart, C. E.: Natural Function Algebras
Rotman , J. J.: Galois Theory
Rubel, L. A.: Entire and Meropmorphic Functions
Rybakowski, K. P.: The Homotopy Index and Partial Differential Equations
Sagan , H.: Space-Filling Curves
Samelson , H.: Notes on Lie Algebras
Schiff, J. L.: Normal Families
Sengupta, 1. K.: Optimal Decisions under Uncertainty
Seroul , R : Programming for Mathematicians
Shapiro , J. H.: Composition Operators and Classical Function Theory
Simonnet, M.: Measures and Probabilities
Smith, K. T.: Power Series from a Computational Point of View
Smoryriski, C.: Logical Number Theory I. An Introdu ction
Smoryriski, C.: Self-Reference and Modal Logic
Stanisic , M. M.: The Mathematical Theory of Turbulence
Stichtenoth, H.: Algebraic Function
Stillwell, J.: Geometry of Surfaces
Stroock , D. w.: An Introduction to the Theory of Large Deviations
Sunada , T.: The Fundamental Group and Laplacian (to appear)
Sunder, V. S.: An Invitation to von Neumann Algebras
Tamme, G.: Introduction to Etale Cohomology
Tondeur, P.: Foliations on Riemannian Manifolds
Verhulst, F.: Nonlinear Differential Equations and Dynamical Systems
Zaanen, A.C.: Continuity, Integration and Fourier Theory
Zong , C.: Strange Phenomena in Convex and Discrete Geometry

You might also like