SlideShare a Scribd company logo
1 of 59
Download to read offline
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 1
The Evolution of Computationally
Practical Linear Programming
Robert Fourer
President, AMPL Optimization Inc.
Professor Emeritus, Northwestern University
4er@ampl.com — +1 773-336-2675
AFOR 2017: International Conference on
Advancing Frontiers in Operational Research:
Towards a Sustainable World
Kolkata, India — 21-23 December 2017
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 2
The Evolution of Computationally
Practical Linear Programming
Every student of Operations Research
learns that linear programs can be
solved efficiently. The fascinating story
of how they came to be solved efficiently
is little known, however.
We begin with an account of how a
practicable primal simplex method for
linear programming was first
successfully implemented on primitive
computers, by Dantzig, Orchard-Hays
and others at the RAND Corporation in
the early 1950s. Combining mathematics
and engineering, success emerged from
a series of innovative reorganizations of
the computational steps. One of the key
ideas arose unexpectedly as the by-
product of an ill-advised plan for
avoiding degenerate cycling.
At around the same time, early experts
in linear programming developed a
compact “tableau” scheme for carrying
out the computations as a series of
“pivots” on a matrix. We consider how
the tableau form, impractical for
computer implementations, was adopted
by almost all textbooks, while the
computationally practical form of the
simplex method remained obscure.
The remainder of the presentation
considers how computational practice in
linear programming has continued to
evolve to the present day. In fact the
primal simplex method has become
rarely used. We consider the new
interior-point methods, which can
outperform that simplex method
particularly on very large problems; they
also went through a period of
innovations and false steps before being
made practical. Also we consider how
the dual simplex method, long
considered only a curiosity, has become
the preferred method of linear
programming solvers today.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 3
1948
Programming of
Interdependent Activities
II: Mathematical Model
 George B. Dantzig
 Econometrica 17 (1949)
“Linear Programming”
 Formulations & applications
 No algorithm
“It is proposed to solve linear
programming problems . . . by means
of large scale digital computers . . . .
Several computational procedures
have been evolved so far and research
is continuing actively in this field.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 4
1949
Maximization of a Linear
Function of Variables Subject
to Linear Inequalities
 George B. Dantzig
 Activity Analysis of Produc-
tion and Allocation (1951)
“Simplex Method”
 Proof of convergence
 No computers
“As a practical computing matter the
iterative procedure of shifting from
one basis to the next is not as
laborious as would first appear . . .”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 5
1953
An Introduction to
Linear Programming
 W.W. Cooper, A. Henderson
 A. Charnes
“Simplex Tableau”
 Symbolic description
 Numerical example
“As far as computations are concerned
it is most convenient to arrange the
data at each stage in a ‘simplex
tableau’ as shown in Table I.12”
“12A. Orden suggested this efficient
arrangement developed by himself,
Dantzig, and Hoffman.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Linear program
Minimize ∙
Subject to 	
constraints on variables:
Data
, . . . ,
, . . . ,
, with rows and columns
Variables
, . . . ,
6
Terminology
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Basis
 , , sets of basic and nonbasic column indices
 ,
 , , corresponding subvectors of ,
Basis matrix
 , nonsingular | | submatrix of
 , with | | rows and | | columns
7
Terminology (cont’d)
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given a tableau of values
, ∈ , ∈ : the transformed columns
≡ , ∈ (the basic solution)
≡ , ∈ (the reduced costs)
Choose an entering variable
∈ : 	 0
Choose a leaving variable
∈ : 	 ⁄ min /
Update
 One “pivot” step on the tableau
8
Tableau Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Computational inefficiency
 additions & multiplications
 numbers to write and store
Numerical instability
 Rigid computational rules
9
Disadvantages
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 10
1953
The Generalized Simplex
Method for Minimizing a
Linear Form under Linear
Inequality Restraints
 George B. Dantzig,
Alex Orden, Philip Wolfe
 Project RAND Research
Memorandum RM-1264
“Lexicographic Simplex Method”
 Prevent degenerate cycling
 Reorganize computations
“The k+1st iterate is closely related
to the kth by simple transformations
that constitute the computational
algorithm [6], . . .”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 11
1953
Computational Algorithm of
the Revised Simplex Method
 George B. Dantzig
 Project RAND Research
Memorandum RM-1266
“Revised Simplex Method”
 Break ties for leaving variable
 Update basis inverse
“The transformation of just the
inverse (rather than the entire matrix
of coefficients with each cycle) has
been developed because it has several
important advantages over the old
method: . . .”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given a matrix of inverse values
, ∈ , ∈ : the basis inverse
≡ , ∈ (the basic solution)
≡ , ∈ (the dual prices)
Choose an entering variable
∈ :		 ∙ 	 0
Choose a leaving variable
∙
∈ : 		 ⁄ min /
Update
 One “pivot” step on the inverse
12
Revised Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Smaller tableau update
Sparse operations
13
Advantages
“. . . In the original method (roughly)
new elements have to be recorded each
time. In contrast, the revised method (by
making extensive use of cumulative sums of
products) requires the recording of about
elements . . . .”
“In most practical problems the original
matrix of coefficients is largely composed of
zero elements. . . .The revised method
works with the matrix in its original form
and takes direct advantage of these zeros.”
∙
∙
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Inefficiency
 additions & multiplications
 | | numbers to write and store
Instability
 Rigid computational rules
However . . .
14
Disadvantages
“. . . the revised method (by making
extensive use of cumulative sums of
products) requires the recording of about
elements (and an alternative method [5]
can reduce this to . . .).”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 15
1953
Alternate Algorithm for the
Revised Simplex Method
 George B. Dantzig,
Wm. Orchard-Hays
 Project RAND Research
Memorandum RM-1268
“Product Form for the Inverse”
 Fully sparse representation
 Practical computation
“Using the I.B.M. Card Programmed
Calculator, . . . where the inverse
matrix is needed at one stage and its
transpose at another, this is achieved
simply by turning over the deck of
cards representing the inverse.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given
(the basic solution)
⋯ (factorization of the basis inverse)
Choose an entering variable
⋯
∈ : 	 ∙ 	 0
Choose a leaving variable
⋯
∈ : 	 ⁄ min /
Update
 add a factor derived from
 update basic solution to / 	
16
Product-Form Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Form of the factors
 is an identity matrix
except for one column
 . . . and so is
Storage of the factors
 nonzeros only of the one column, in (row,value) pairs
 diagonal element first
Update of the factors
 is an identity matrix except for in column
17
Factorization of the Inverse
1 0 0
0 1 0
0 0 1
1.7 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0.5 0 0
3.4 1 0
0 0 1
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given
(the basic solution)
a factorization of suitable for computation
Choose an entering variable
solve
∈ : 	 ∙ 	 0
Choose a leaving variable
solve
∈ : 	 ⁄ min /
Update
 update factorization to reflect change of basis
 update basic solution to / 	
18
Practical Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 19
1963
Linear Programming
and Extensions
 George B. Dantzig
“Because some readers might find that
the matrix notation of §8.5 [The
SimplexAlgorithm in Matrix Form]
obscures the computational aspects,
we have tended to avoid its use here.”
“. . . the simplex algorithm . . . starts
with a canonical form, consists of a
sequence of pivot operations, and
forms the main subroutine of the
simplex method.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 20
1968
Advanced
Linear-Programming
Computing Techniques
 William Orchard-Hays
“I hope that the many users of
mathematical programming systems
implemented on today’s large
computers find the book valuable as
background for the largely
undocumented algorithms embedded
in these systems. If it should also be
found useful as a course text, all
objectives will have been achieved.”
“Except for [a few sections], the
contents of the book reflect actual and
extensive experience.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Simple
 No linear algebra
 No matrices & inverses
 All computations in one “pivot” step
 Easy to set up for hand calculation
Familiar
 Professors learned it
 Textbooks use it
 Proofs use it
But not inevitable . . .
21
Tableau Simplex Revisited
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given
(the basic solution)
(the basis)
Choose an entering variable
solve
∈ : 	 ∙ 	 0
Choose a leaving variable
solve
∈ : 	 ⁄ min /
Update
 update basic solution to / 	
22
Essential Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Course notes for use in teaching
 Optimization Methods I:
Solving Linear Programs by the Simplex Method
 http://www.4er.org/CourseNotes
23
Essential Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 24
1978
History of Mathematical
Programming Systems
 William Orchard-Hays
 Design and Implementation
of Optimization Software,
H.J. Greenberg, ed.
“Overview of an Era”
 Better implementations
 More powerful computers
“One cannot clearly comprehend the
development of mathematical
programming software without
reference to the development of the
computing field itself.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 25
1978
History of Mathematical
Programming Systems
 William Orchard-Hays
 Design and Implementation
of Optimization Software
First, mathematical programming and
computing have been contemporary in
an almost uniquely exact sense. Their
histories parallel each other year by
year in a remarkable way.
Furthermore, mathematical program-
ming simply could not have developed
without computers. Although the
converse is obviously not true, still
linear programming was one of the
important and demanding applications
for computers from the outset.
The quarter century from the late
1940s to the early 1970s constituted
an era, one of the most dynamic in the
history of mankind. Among the many
technological developments of that
period — and indeed of any period —
the computing field has been the most
virulent and astounding.
. . . the nature of the computing
industry, profession, and technology
has by now been determined — all
their essential features have existed for
perhaps five years. One hopes that
some of the more recent
developments will be applied more
widely and effectively but the
technology that now exists is pretty
much what will exist, leaving aside a
few finishing touches to areas already
well developed, such as
minicomputers and networks.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 26
Further Evolution of Computationally
Practical Linear Programming
Robert Fourer
President, AMPL Optimization Inc.
Professor Emeritus, Northwestern University
4er@ampl.com — +1 773-336-2675
AFOR 2017: International Conference on
Advancing Frontiers in Operational Research:
Towards a Sustainable World
Kolkata, India — 21-23 December 2017
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 27
1984
“The running-time of this algorithm is
.
, as compared to
for the ellipsoid algorithm.”
A New Polynomial-Time
Algorithm for Linear
Programming
 N. Karmarkar
 Proceedings 16th Annual ACM
Symposium on the Theory of
Computing (1984) 302-311.
“Projective Transformations”
 Emphasis on theory
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 28
1990
Interior Point Methods for
Linear Programming: Just Call
Newton, Lagrange, and Fiacco
and McCormick!
 Roy Marsten et al.
 Interfaces 20 (July-August
1990) 105-116.
“Interior Point Methods”
 Elementary description
 Practical success
“Interior point methods are the right
way to solve large linear programs.
They are also much easier to derive,
motivate, and understand than they at
first appeared.”
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Primal linear program Dual linear program
 Minimize  Maximize
 Subject to  Subject to
0
Optimality conditions
 Primal feasibility: ∗
, 0
 Dual feasibility: ∗ ∗
, ∗
0
 Complementarity: ∗ ∗
0 for every 1, . . . ,
Write diag , Σ diag , 1, 1, . . . , 1
Then . . .
29
Essential Interior-Point Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Equations to be solved

Σ 0
 0
0
Suppose we have some ̅ 0, 0
Consider a step to ̅ Δ , Δ , Δ
 ̅ Δ
 Δ Δ
 Δ Σ ΔΣ 0
Then . . .
30
Essential Interior-Point Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Multiply out, simplify, approximate
 Δ 0
 Δ Δ 0
 Δ ΣΔ Σ Δ ΔΣ
Solve linear equations for Δ , Δ , Δ
 Σ Δ ,
a symmetric, positive semi-definite linear system
 Δ ̅ Σ Δ
 Δ 	Σ	Δ
Then . . .
31
Essential Interior-Point Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Step to a new interior point
 ̅ 	Δ , 	Δ , 	Δ
 where 1 is chosen small enough that
̅ 	Δ 0, 	Δ 0
Repeat
 until the points converge
Course notes for use in teaching
 Optimization Methods III:
Solving Linear Programs by Interior-Point Methods
 http://www.4er.org/CourseNotes
32
Essential Interior-Point Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Refinements and improvements
 Long steps
 Fast, parallel solution of the equations
 Exploit sparsity of Σ
 Handle dense columns specially
 Infeasible starting points
 Barrier term
 Minimize ∑ log
 Replace	 ∗ ∗
0 by ∗ ∗
 Let → 0 as iterations proceed
 Predictor-corrector
 Predictor step with 0
 Corrector step with 0, Δ ΔΣ added to equation
33
Practical Interior-Point Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 34
1990
Interior Point Methods for
Linear Programming: Just Call
Newton, Lagrange, and Fiacco
and McCormick!
 Roy Marsten et al.
 Interfaces 20 (July-August
1990) 105-116.
“Barrier Methods”
We now have a robust, reliable, and
efficient implementation of the primal-
dual interior point method for linear
programs. The immediate future holds
the challenge of carrying this new
methodology into the areas of nonlinear
and integer programming, . . .
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
More general model class
 Linear with some (or all) integer-valued variables
 Some convex quadratic extensions
More powerful modeling paradigm
 Model indivisible quantities with integer variables
 Model logic with binary (zero-one) variables
Until 1990, mostly too hard to solve
 Computers too limited in
speed, number of processors, memory, storage
 Implementations too simple
But then it became practical . . .
35
Mixed-Integer Programming
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 36
1999
MIP: Theory and Practice —
Closing the Gap
 Robert E. Bixby et al.
 System Modelling and
Optimization: Methods and
Applications, 19-49
One important consequence of this
work is that for large models barrier
algorithms are no longer dominant; each
of primal and dual simplex, and barrier
is now the winning choice in a
significant number of cases.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
The most successful solver category
 Multi-strategy approach
 Presolve routines to reduce size, improve formulation
 Feasibility heuristics for better upper bounds
 Constraint (“cut”) generators for better lower bounds
 Multi-processor branching search
 Solve times reduced by many orders of magnitude
 Better algorithmic ideas and implementations
 Faster computers with more processors, memory, storage
 Continuing improvements for 25 years!
Dominated by commercial solvers
 CPLEX
 Gurobi
 Xpress
37
Mixed-Integer Programming
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
The main source of linear programs
 Solve continuous relaxation
 Re-solve with added constraints
 Variables fixed or bounded
 Cuts added
 Still have an optimal but not feasible basis
Need an algorithm for re-solving quickly
 Simplex must regain feasibility, then optimize
 Barrier needs “well centered” start —
cannot make good use of a previous solution
 Dual simplex is most effective
38
Mixed-Integer Programming
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Primal linear program
Minimize ∙
Subject to 	
Dual linear program
Maximize ∙
Subject to 	
Simplex methods
 Primal simplex method works on the primal LP
 Dual simplex method works on the dual LP
 Different forms of LP imply different computations
39
Dual Terminology
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Basic solution
 	 is inequalities on variables
 Pick any inequalities corresponding to
linearly independent rows of , and make them tight
 Solve the resulting equations 	
Vertex (basic feasible) solution
 Also ∙ for all of the other inequalities
Edge
 Relax one basic constraint to become instead of
 Then 	 , 0
 Or, where
40
Dual Geometry
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given
(a dual basic solution)
(the basis)
Choose a tight equation to relax
solve
∈ : 	 0
Choose a new equation to become tight
solve
∈ :		 / ∈ :
/ where
Update
 update dual slacks by
←		 / and ← / ∙ for all ∈
41
Essential Dual Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Refinements and improvements
 Store also by row to speed
computation of for typically sparse and
 Step along “steepest edge” to reduce number of iterations
 Only one extra linear system solve per iteration
to update edge steepness values
 Less than primal simplex which also
requires one extra set of 	inner products per iteration
 Get further benefits when variables are bounded
 All basic solutions are dual-feasible
 Simplex method can take longer steps
42
Practical Dual Simplex Method
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Dual simplex
 Especially when there are integer variables
 Excellent results for continuous LPs as well
Concurrent dual simplex, primal simplex, barrier
 Run all 3 on different cores
 Stop when the first one finishes
43
What’s Most Widely Used?
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 44
1980
The APEX Systems: Past and
Future
 C.B. Krabek, R.J. Sjoquist
and D.C. Sommer
 SIGMAP Bulletin 29 (April 1980)
3–23.
Over the past seven years we have
perceived that the size distribution of
general structure LP problems being run
on commercial LP codes has remained
about stable. . . . That this distribution
has not noticeably changed despite a
massive change in solution economics is
unexpected.
We do not feel that the linear
programming user’s most pressing
need over the next few years is for a
new optimizer that runs twice as fast
on a machine that costs half as much
(although this will probably happen).
Cost of optimization is just not the
dominant barrier to LP model
implementation.
Why aren’t more larger models being
run? It is not because they could not
be useful; it is because we are not
successful in using them. . . . They
become unmanageable. LP
technology has reached the point
where anything that can be formulated
and understood can be optimized at a
relatively modest cost.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 45
1982
On the Development of a
General Algebraic Modeling
System in a Strategic Planning
Environment
 J. Bisschop and A. Meeraus
 Mathematical Programming
Study 20 (1982) 1-29.
The heart of it all is the fact that solu-
tion algorithms need a data structure
which . . . is impossible to comprehend
by humans, while, at the same time,
meaningful problem representations for
humans are not acceptable to machines.
We feel that the two translation
processes required (to and from the
machine) can be identified as the main
source of difficulties and errors.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 46
1983
Modeling Languages versus
Matrix Generators for Linear
Programming
 Robert Fourer
 ACM Transactions on
Mathematical Software 9
(1983) 143-183.
People and computers see linear
optimization in different ways. . . .
These two forms of a linear program —
the modeler’s form and the algorithm’s
form — are not much alike, and yet
neither can be done without. Thus any
application of linear optimization
involves translating the one form to the
other.
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Given
Set of origins (factories)
Set of destinations (stores)
Set of products
and
Amount available, for each ∈ and ∈
Amount required, for each ∈ and ∈ 	
Limit on total shipments, for each ∈ and ∈
Shipping cost per unit, for each ∈ , ∈ , ∈
Fixed cost for shipping any amount from ∈ 	to ∈
Minimum total size of any shipment
Maximum number of destinations served by any origin
47
Modeler’s Form: Multicommodity
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Determine
Amount of each ∈ to be shipped from ∈ 	to ∈
1 if any product is shipped from ∈ 	to ∈
0 otherwise
to minimize
∑ ∑ ∑ ∈∈∈ 	∑ ∑ ∈∈
Total variable cost plus total fixed cost
48
Modeler’s Form
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Subject to
∑ ∈ for all ∈ , ∈
Total shipments of product out of origin
must not exceed availability
∑ ∈ for all ∈ , ∈
Total shipments of product	 into destination
must satisfy requirements
∑ ∈ for all ∈ , ∈
When there are shipments from origin to destination ,
the total may not exceed the limit, and must be 1
49
Modeler’s Form
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Subject to
∑ ∈ for all ∈ , ∈
When there are shipments from origin to destination ,
the total amount of shipments must be at least
∑ ∈ for all ∈
Number of destinations served by origin
must be as most
50
Modeler’s Form
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017
Symbolic
General
 Independent of data for particular cases
Concise
 Length of description depends on
complexity of the model, not size of the linear program
Understandable
51
Special Features of Modeler’s Form
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 52
Same in a Modeling Language (AMPL)
Symbolic data
set ORIG; # origins
set DEST; # destinations
set PROD; # products
param supply {ORIG,PROD} >= 0; # availabilities at origins
param demand {DEST,PROD} >= 0; # requirements at destinations
param limit {ORIG,DEST} >= 0; # capacities of links
param vcost {ORIG,DEST,PROD} >= 0; # variable shipment cost
param fcost {ORIG,DEST} > 0; # fixed usage cost
param minload >= 0; # minimum shipment size
param maxserve integer > 0; # maximum destinations served
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 53
AMPL Formulation
Symbolic model: variables and objective
var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped
var Use {ORIG, DEST} binary; # 1 if link used, 0 otherwise
minimize Total_Cost:
sum {i in ORIG, j in DEST, p in PROD} vcost[i,j,p] * Trans[i,j,p]
+ sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j];
Multicommodity Transportation
∑ ∑ ∑ ∈∈∈ 	∑ ∑ ∈∈
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 54
AMPL Formulation
Symbolic model: constraints
subject to Supply {i in ORIG, p in PROD}:
sum {j in DEST} Trans[i,j,p] <= supply[i,p];
subject to Demand {j in DEST, p in PROD}:
sum {i in ORIG} Trans[i,j,p] = demand[j,p];
subject to Multi {i in ORIG, j in DEST}:
sum {p in PROD} Trans[i,j,p] <= limit[i,j] * Use[i,j];
subject to Min_Ship {i in ORIG, j in DEST}:
sum {p in PROD} Trans[i,j,p] >= minload * Use[i,j];
subject to Max_Serve {i in ORIG}:
sum {j in DEST} Use[i,j] <= maxserve;
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 55
AMPL Formulation
Explicit data independent of symbolic model
set ORIG := GARY CLEV PITT ;
set DEST := FRA DET LAN WIN STL FRE LAF ;
set PROD := bands coils plate ;
param supply (tr): GARY CLEV PITT :=
bands 400 700 800
coils 800 1600 1800
plate 200 300 300 ;
param demand (tr):
FRA DET LAN WIN STL FRE LAF :=
bands 300 300 100 75 650 225 250
coils 500 750 400 250 950 850 500
plate 100 100 0 50 200 100 250 ;
param limit default 625 ;
param minload := 375 ;
param maxserve := 5 ;
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 56
AMPL Formulation
Explicit data (continued)
param vcost :=
[*,*,bands]: FRA DET LAN WIN STL FRE LAF :=
GARY 30 10 8 10 11 71 6
CLEV 22 7 10 7 21 82 13
PITT 19 11 12 10 25 83 15
[*,*,coils]: FRA DET LAN WIN STL FRE LAF :=
GARY 39 14 11 14 16 82 8
CLEV 27 9 12 9 26 95 17
PITT 24 14 17 13 28 99 20
[*,*,plate]: FRA DET LAN WIN STL FRE LAF :=
GARY 41 15 12 16 17 86 8
CLEV 29 9 13 9 28 99 18
PITT 26 14 17 13 31 104 20 ;
param fcost: FRA DET LAN WIN STL FRE LAF :=
GARY 3000 1200 1200 1200 2500 3500 2500
CLEV 2000 1000 1500 1200 2500 3000 2200
PITT 2000 1200 1500 1500 2500 3500 2200 ;
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 57
AMPL Solution
Model + data = problem instance to be solved
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver gurobi;
ampl: solve;
Gurobi 7.0.0: optimal solution; objective 235625
332 simplex iterations
23 branch-and-cut nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 58
AMPL Solution
Solver choice independent of model and data
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver cplex;
ampl: solve;
CPLEX 12.7.0.0: optimal integer solution; objective 235625
135 MIP simplex iterations
0 branch-and-bound nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation
Robert Fourer, The Evolution of Computationally Practical LP
AFOR 2017, Kolkata, India — 21-23 December 2017 59
AMPL Solution
Solver choice independent of model and data
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver xpress;
ampl: solve;
XPRESS 29.01: Global search complete
Best integer solution found 235625
4 integer solutions have been found, 7 branch and bound nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation

More Related Content

What's hot

Testing the Numerical Precisions Required to Execute Real World Programs
Testing the Numerical Precisions Required to Execute Real World Programs Testing the Numerical Precisions Required to Execute Real World Programs
Testing the Numerical Precisions Required to Execute Real World Programs ijseajournal
 
Learning to Rank for Recommender Systems - ACM RecSys 2013 tutorial
Learning to Rank for Recommender Systems -  ACM RecSys 2013 tutorialLearning to Rank for Recommender Systems -  ACM RecSys 2013 tutorial
Learning to Rank for Recommender Systems - ACM RecSys 2013 tutorialAlexandros Karatzoglou
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingPhilippe Laborie
 
Incorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemIncorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemJacek Wasilewski
 
Erp modeling using petri net
Erp modeling using petri netErp modeling using petri net
Erp modeling using petri netakash roy
 
Notion of an algorithm
Notion of an algorithmNotion of an algorithm
Notion of an algorithmNisha Soms
 
Ds03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhaniDs03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhanijyoti_lakhani
 
Algorithmic problem solving
Algorithmic problem solvingAlgorithmic problem solving
Algorithmic problem solvingPrabhakaran V M
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design PresentationKawsar Ahmed
 
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...Philippe Laborie
 
IRJET- Partition Method for DFA Minimization
IRJET-  	  Partition Method for DFA MinimizationIRJET-  	  Partition Method for DFA Minimization
IRJET- Partition Method for DFA MinimizationIRJET Journal
 
A single stage single constraints linear fractional programming problem an ap...
A single stage single constraints linear fractional programming problem an ap...A single stage single constraints linear fractional programming problem an ap...
A single stage single constraints linear fractional programming problem an ap...orajjournal
 
CLiMF: Collaborative Less-is-More Filtering
CLiMF: Collaborative Less-is-More FilteringCLiMF: Collaborative Less-is-More Filtering
CLiMF: Collaborative Less-is-More FilteringAlexandros Karatzoglou
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computingjayavignesh86
 

What's hot (20)

Testing the Numerical Precisions Required to Execute Real World Programs
Testing the Numerical Precisions Required to Execute Real World Programs Testing the Numerical Precisions Required to Execute Real World Programs
Testing the Numerical Precisions Required to Execute Real World Programs
 
Learning to Rank for Recommender Systems - ACM RecSys 2013 tutorial
Learning to Rank for Recommender Systems -  ACM RecSys 2013 tutorialLearning to Rank for Recommender Systems -  ACM RecSys 2013 tutorial
Learning to Rank for Recommender Systems - ACM RecSys 2013 tutorial
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
 
Day 1 Chapter 1 Unit 1
Day 1 Chapter 1 Unit 1Day 1 Chapter 1 Unit 1
Day 1 Chapter 1 Unit 1
 
Incorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemIncorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender System
 
Erp modeling using petri net
Erp modeling using petri netErp modeling using petri net
Erp modeling using petri net
 
Day 3 chapter 2 unit 1
Day 3 chapter 2 unit 1Day 3 chapter 2 unit 1
Day 3 chapter 2 unit 1
 
Relational algebra
Relational algebraRelational algebra
Relational algebra
 
Notion of an algorithm
Notion of an algorithmNotion of an algorithm
Notion of an algorithm
 
Ds03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhaniDs03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhani
 
Fundamental of Algorithms
Fundamental of Algorithms Fundamental of Algorithms
Fundamental of Algorithms
 
#1 designandanalysis of algo
#1 designandanalysis of algo#1 designandanalysis of algo
#1 designandanalysis of algo
 
Algorithmic problem solving
Algorithmic problem solvingAlgorithmic problem solving
Algorithmic problem solving
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design Presentation
 
Day 2 Chapter 1 Unit 1
Day 2 Chapter 1 Unit 1Day 2 Chapter 1 Unit 1
Day 2 Chapter 1 Unit 1
 
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
 
IRJET- Partition Method for DFA Minimization
IRJET-  	  Partition Method for DFA MinimizationIRJET-  	  Partition Method for DFA Minimization
IRJET- Partition Method for DFA Minimization
 
A single stage single constraints linear fractional programming problem an ap...
A single stage single constraints linear fractional programming problem an ap...A single stage single constraints linear fractional programming problem an ap...
A single stage single constraints linear fractional programming problem an ap...
 
CLiMF: Collaborative Less-is-More Filtering
CLiMF: Collaborative Less-is-More FilteringCLiMF: Collaborative Less-is-More Filtering
CLiMF: Collaborative Less-is-More Filtering
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
 

Similar to The Evolution of Computationally Practical Linear Programming

Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...IRJET Journal
 
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...Kumar Goud
 
Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix Adders Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix Adders IOSR Journals
 
Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix AddersDesign of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix AddersIOSR Journals
 
IRJET- Implementation of Radix-16 and Binary 64 Division VLSI Realization...
IRJET-  	  Implementation of Radix-16 and Binary 64 Division VLSI Realization...IRJET-  	  Implementation of Radix-16 and Binary 64 Division VLSI Realization...
IRJET- Implementation of Radix-16 and Binary 64 Division VLSI Realization...IRJET Journal
 
Combinatorial optimization CO-6
Combinatorial optimization CO-6Combinatorial optimization CO-6
Combinatorial optimization CO-6man003
 
A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...IAEME Publication
 
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...rahulmonikasharma
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...VLSICS Design
 
2 a review of different approaches to the facility layout problems
2   a review of different approaches to the facility layout problems2   a review of different approaches to the facility layout problems
2 a review of different approaches to the facility layout problemsQuốc Lê
 
DESIGN OF LOW POWER MULTIPLIER
DESIGN OF LOW POWER MULTIPLIERDESIGN OF LOW POWER MULTIPLIER
DESIGN OF LOW POWER MULTIPLIERIRJET Journal
 
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic Circuits
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic CircuitsDesign Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic Circuits
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic CircuitsIJRES Journal
 
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...iosrjce
 
Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Kannan Kathiravan
 
5 parallel implementation 06299286
5 parallel implementation 062992865 parallel implementation 06299286
5 parallel implementation 06299286Ninad Samel
 
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...IJMER
 

Similar to The Evolution of Computationally Practical Linear Programming (20)

Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
 
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...
A Time-Area-Power Efficient High Speed Vedic Mathematics Multiplier using Com...
 
Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix Adders Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix Adders
 
Design of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix AddersDesign of 32 bit Parallel Prefix Adders
Design of 32 bit Parallel Prefix Adders
 
IRJET- Implementation of Radix-16 and Binary 64 Division VLSI Realization...
IRJET-  	  Implementation of Radix-16 and Binary 64 Division VLSI Realization...IRJET-  	  Implementation of Radix-16 and Binary 64 Division VLSI Realization...
IRJET- Implementation of Radix-16 and Binary 64 Division VLSI Realization...
 
F011123134
F011123134F011123134
F011123134
 
Combinatorial optimization CO-6
Combinatorial optimization CO-6Combinatorial optimization CO-6
Combinatorial optimization CO-6
 
A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...
 
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...
Design and Implementation of Parallel FIR Filter Using High Speed Vedic Multi...
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...
 
2 a review of different approaches to the facility layout problems
2   a review of different approaches to the facility layout problems2   a review of different approaches to the facility layout problems
2 a review of different approaches to the facility layout problems
 
DESIGN OF LOW POWER MULTIPLIER
DESIGN OF LOW POWER MULTIPLIERDESIGN OF LOW POWER MULTIPLIER
DESIGN OF LOW POWER MULTIPLIER
 
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic Circuits
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic CircuitsDesign Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic Circuits
Design Of 64-Bit Parallel Prefix VLSI Adder For High Speed Arithmetic Circuits
 
BICOD-2017
BICOD-2017BICOD-2017
BICOD-2017
 
Bicod2017
Bicod2017Bicod2017
Bicod2017
 
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...
VLSI Implementation of Vedic Multiplier Using Urdhva– Tiryakbhyam Sutra in VH...
 
Al04605265270
Al04605265270Al04605265270
Al04605265270
 
Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Optimization for-power-sy-8631549
Optimization for-power-sy-8631549
 
5 parallel implementation 06299286
5 parallel implementation 062992865 parallel implementation 06299286
5 parallel implementation 06299286
 
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...
Design and Implementation of Multiplier Using Kcm and Vedic Mathematics by Us...
 

More from Bob Fourer

Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingBob Fourer
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Bob Fourer
 
Model-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS InternationalModel-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS InternationalBob Fourer
 
AMPL in the Cloud
AMPL in the CloudAMPL in the Cloud
AMPL in the CloudBob Fourer
 
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and SimpleAMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and SimpleBob Fourer
 
AMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to DeploymentAMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to DeploymentBob Fourer
 
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer ProgramsIdentifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer ProgramsBob Fourer
 
The Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric ViewThe Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric ViewBob Fourer
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Bob Fourer
 

More from Bob Fourer (9)

Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018
 
Model-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS InternationalModel-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS International
 
AMPL in the Cloud
AMPL in the CloudAMPL in the Cloud
AMPL in the Cloud
 
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and SimpleAMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
 
AMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to DeploymentAMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to Deployment
 
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer ProgramsIdentifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
 
The Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric ViewThe Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric View
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

The Evolution of Computationally Practical Linear Programming

  • 1. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 1 The Evolution of Computationally Practical Linear Programming Robert Fourer President, AMPL Optimization Inc. Professor Emeritus, Northwestern University 4er@ampl.com — +1 773-336-2675 AFOR 2017: International Conference on Advancing Frontiers in Operational Research: Towards a Sustainable World Kolkata, India — 21-23 December 2017
  • 2. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 2 The Evolution of Computationally Practical Linear Programming Every student of Operations Research learns that linear programs can be solved efficiently. The fascinating story of how they came to be solved efficiently is little known, however. We begin with an account of how a practicable primal simplex method for linear programming was first successfully implemented on primitive computers, by Dantzig, Orchard-Hays and others at the RAND Corporation in the early 1950s. Combining mathematics and engineering, success emerged from a series of innovative reorganizations of the computational steps. One of the key ideas arose unexpectedly as the by- product of an ill-advised plan for avoiding degenerate cycling. At around the same time, early experts in linear programming developed a compact “tableau” scheme for carrying out the computations as a series of “pivots” on a matrix. We consider how the tableau form, impractical for computer implementations, was adopted by almost all textbooks, while the computationally practical form of the simplex method remained obscure. The remainder of the presentation considers how computational practice in linear programming has continued to evolve to the present day. In fact the primal simplex method has become rarely used. We consider the new interior-point methods, which can outperform that simplex method particularly on very large problems; they also went through a period of innovations and false steps before being made practical. Also we consider how the dual simplex method, long considered only a curiosity, has become the preferred method of linear programming solvers today.
  • 3. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 3 1948 Programming of Interdependent Activities II: Mathematical Model  George B. Dantzig  Econometrica 17 (1949) “Linear Programming”  Formulations & applications  No algorithm “It is proposed to solve linear programming problems . . . by means of large scale digital computers . . . . Several computational procedures have been evolved so far and research is continuing actively in this field.”
  • 4. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 4 1949 Maximization of a Linear Function of Variables Subject to Linear Inequalities  George B. Dantzig  Activity Analysis of Produc- tion and Allocation (1951) “Simplex Method”  Proof of convergence  No computers “As a practical computing matter the iterative procedure of shifting from one basis to the next is not as laborious as would first appear . . .”
  • 5. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 5 1953 An Introduction to Linear Programming  W.W. Cooper, A. Henderson  A. Charnes “Simplex Tableau”  Symbolic description  Numerical example “As far as computations are concerned it is most convenient to arrange the data at each stage in a ‘simplex tableau’ as shown in Table I.12” “12A. Orden suggested this efficient arrangement developed by himself, Dantzig, and Hoffman.”
  • 6. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Linear program Minimize ∙ Subject to constraints on variables: Data , . . . , , . . . , , with rows and columns Variables , . . . , 6 Terminology
  • 7. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Basis  , , sets of basic and nonbasic column indices  ,  , , corresponding subvectors of , Basis matrix  , nonsingular | | submatrix of  , with | | rows and | | columns 7 Terminology (cont’d)
  • 8. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given a tableau of values , ∈ , ∈ : the transformed columns ≡ , ∈ (the basic solution) ≡ , ∈ (the reduced costs) Choose an entering variable ∈ : 0 Choose a leaving variable ∈ : ⁄ min / Update  One “pivot” step on the tableau 8 Tableau Simplex Method
  • 9. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Computational inefficiency  additions & multiplications  numbers to write and store Numerical instability  Rigid computational rules 9 Disadvantages
  • 10. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 10 1953 The Generalized Simplex Method for Minimizing a Linear Form under Linear Inequality Restraints  George B. Dantzig, Alex Orden, Philip Wolfe  Project RAND Research Memorandum RM-1264 “Lexicographic Simplex Method”  Prevent degenerate cycling  Reorganize computations “The k+1st iterate is closely related to the kth by simple transformations that constitute the computational algorithm [6], . . .”
  • 11. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 11 1953 Computational Algorithm of the Revised Simplex Method  George B. Dantzig  Project RAND Research Memorandum RM-1266 “Revised Simplex Method”  Break ties for leaving variable  Update basis inverse “The transformation of just the inverse (rather than the entire matrix of coefficients with each cycle) has been developed because it has several important advantages over the old method: . . .”
  • 12. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given a matrix of inverse values , ∈ , ∈ : the basis inverse ≡ , ∈ (the basic solution) ≡ , ∈ (the dual prices) Choose an entering variable ∈ : ∙ 0 Choose a leaving variable ∙ ∈ : ⁄ min / Update  One “pivot” step on the inverse 12 Revised Simplex Method
  • 13. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Smaller tableau update Sparse operations 13 Advantages “. . . In the original method (roughly) new elements have to be recorded each time. In contrast, the revised method (by making extensive use of cumulative sums of products) requires the recording of about elements . . . .” “In most practical problems the original matrix of coefficients is largely composed of zero elements. . . .The revised method works with the matrix in its original form and takes direct advantage of these zeros.” ∙ ∙
  • 14. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Inefficiency  additions & multiplications  | | numbers to write and store Instability  Rigid computational rules However . . . 14 Disadvantages “. . . the revised method (by making extensive use of cumulative sums of products) requires the recording of about elements (and an alternative method [5] can reduce this to . . .).”
  • 15. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 15 1953 Alternate Algorithm for the Revised Simplex Method  George B. Dantzig, Wm. Orchard-Hays  Project RAND Research Memorandum RM-1268 “Product Form for the Inverse”  Fully sparse representation  Practical computation “Using the I.B.M. Card Programmed Calculator, . . . where the inverse matrix is needed at one stage and its transpose at another, this is achieved simply by turning over the deck of cards representing the inverse.”
  • 16. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given (the basic solution) ⋯ (factorization of the basis inverse) Choose an entering variable ⋯ ∈ : ∙ 0 Choose a leaving variable ⋯ ∈ : ⁄ min / Update  add a factor derived from  update basic solution to / 16 Product-Form Simplex Method
  • 17. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Form of the factors  is an identity matrix except for one column  . . . and so is Storage of the factors  nonzeros only of the one column, in (row,value) pairs  diagonal element first Update of the factors  is an identity matrix except for in column 17 Factorization of the Inverse 1 0 0 0 1 0 0 0 1 1.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0 0 3.4 1 0 0 0 1
  • 18. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given (the basic solution) a factorization of suitable for computation Choose an entering variable solve ∈ : ∙ 0 Choose a leaving variable solve ∈ : ⁄ min / Update  update factorization to reflect change of basis  update basic solution to / 18 Practical Simplex Method
  • 19. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 19 1963 Linear Programming and Extensions  George B. Dantzig “Because some readers might find that the matrix notation of §8.5 [The SimplexAlgorithm in Matrix Form] obscures the computational aspects, we have tended to avoid its use here.” “. . . the simplex algorithm . . . starts with a canonical form, consists of a sequence of pivot operations, and forms the main subroutine of the simplex method.”
  • 20. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 20 1968 Advanced Linear-Programming Computing Techniques  William Orchard-Hays “I hope that the many users of mathematical programming systems implemented on today’s large computers find the book valuable as background for the largely undocumented algorithms embedded in these systems. If it should also be found useful as a course text, all objectives will have been achieved.” “Except for [a few sections], the contents of the book reflect actual and extensive experience.”
  • 21. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Simple  No linear algebra  No matrices & inverses  All computations in one “pivot” step  Easy to set up for hand calculation Familiar  Professors learned it  Textbooks use it  Proofs use it But not inevitable . . . 21 Tableau Simplex Revisited
  • 22. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given (the basic solution) (the basis) Choose an entering variable solve ∈ : ∙ 0 Choose a leaving variable solve ∈ : ⁄ min / Update  update basic solution to / 22 Essential Simplex Method
  • 23. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Course notes for use in teaching  Optimization Methods I: Solving Linear Programs by the Simplex Method  http://www.4er.org/CourseNotes 23 Essential Simplex Method
  • 24. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 24 1978 History of Mathematical Programming Systems  William Orchard-Hays  Design and Implementation of Optimization Software, H.J. Greenberg, ed. “Overview of an Era”  Better implementations  More powerful computers “One cannot clearly comprehend the development of mathematical programming software without reference to the development of the computing field itself.”
  • 25. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 25 1978 History of Mathematical Programming Systems  William Orchard-Hays  Design and Implementation of Optimization Software First, mathematical programming and computing have been contemporary in an almost uniquely exact sense. Their histories parallel each other year by year in a remarkable way. Furthermore, mathematical program- ming simply could not have developed without computers. Although the converse is obviously not true, still linear programming was one of the important and demanding applications for computers from the outset. The quarter century from the late 1940s to the early 1970s constituted an era, one of the most dynamic in the history of mankind. Among the many technological developments of that period — and indeed of any period — the computing field has been the most virulent and astounding. . . . the nature of the computing industry, profession, and technology has by now been determined — all their essential features have existed for perhaps five years. One hopes that some of the more recent developments will be applied more widely and effectively but the technology that now exists is pretty much what will exist, leaving aside a few finishing touches to areas already well developed, such as minicomputers and networks.
  • 26. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 26 Further Evolution of Computationally Practical Linear Programming Robert Fourer President, AMPL Optimization Inc. Professor Emeritus, Northwestern University 4er@ampl.com — +1 773-336-2675 AFOR 2017: International Conference on Advancing Frontiers in Operational Research: Towards a Sustainable World Kolkata, India — 21-23 December 2017
  • 27. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 27 1984 “The running-time of this algorithm is . , as compared to for the ellipsoid algorithm.” A New Polynomial-Time Algorithm for Linear Programming  N. Karmarkar  Proceedings 16th Annual ACM Symposium on the Theory of Computing (1984) 302-311. “Projective Transformations”  Emphasis on theory
  • 28. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 28 1990 Interior Point Methods for Linear Programming: Just Call Newton, Lagrange, and Fiacco and McCormick!  Roy Marsten et al.  Interfaces 20 (July-August 1990) 105-116. “Interior Point Methods”  Elementary description  Practical success “Interior point methods are the right way to solve large linear programs. They are also much easier to derive, motivate, and understand than they at first appeared.”
  • 29. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Primal linear program Dual linear program  Minimize  Maximize  Subject to  Subject to 0 Optimality conditions  Primal feasibility: ∗ , 0  Dual feasibility: ∗ ∗ , ∗ 0  Complementarity: ∗ ∗ 0 for every 1, . . . , Write diag , Σ diag , 1, 1, . . . , 1 Then . . . 29 Essential Interior-Point Method
  • 30. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Equations to be solved  Σ 0  0 0 Suppose we have some ̅ 0, 0 Consider a step to ̅ Δ , Δ , Δ  ̅ Δ  Δ Δ  Δ Σ ΔΣ 0 Then . . . 30 Essential Interior-Point Method
  • 31. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Multiply out, simplify, approximate  Δ 0  Δ Δ 0  Δ ΣΔ Σ Δ ΔΣ Solve linear equations for Δ , Δ , Δ  Σ Δ , a symmetric, positive semi-definite linear system  Δ ̅ Σ Δ  Δ Σ Δ Then . . . 31 Essential Interior-Point Method
  • 32. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Step to a new interior point  ̅ Δ , Δ , Δ  where 1 is chosen small enough that ̅ Δ 0, Δ 0 Repeat  until the points converge Course notes for use in teaching  Optimization Methods III: Solving Linear Programs by Interior-Point Methods  http://www.4er.org/CourseNotes 32 Essential Interior-Point Method
  • 33. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Refinements and improvements  Long steps  Fast, parallel solution of the equations  Exploit sparsity of Σ  Handle dense columns specially  Infeasible starting points  Barrier term  Minimize ∑ log  Replace ∗ ∗ 0 by ∗ ∗  Let → 0 as iterations proceed  Predictor-corrector  Predictor step with 0  Corrector step with 0, Δ ΔΣ added to equation 33 Practical Interior-Point Method
  • 34. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 34 1990 Interior Point Methods for Linear Programming: Just Call Newton, Lagrange, and Fiacco and McCormick!  Roy Marsten et al.  Interfaces 20 (July-August 1990) 105-116. “Barrier Methods” We now have a robust, reliable, and efficient implementation of the primal- dual interior point method for linear programs. The immediate future holds the challenge of carrying this new methodology into the areas of nonlinear and integer programming, . . .
  • 35. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 More general model class  Linear with some (or all) integer-valued variables  Some convex quadratic extensions More powerful modeling paradigm  Model indivisible quantities with integer variables  Model logic with binary (zero-one) variables Until 1990, mostly too hard to solve  Computers too limited in speed, number of processors, memory, storage  Implementations too simple But then it became practical . . . 35 Mixed-Integer Programming
  • 36. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 36 1999 MIP: Theory and Practice — Closing the Gap  Robert E. Bixby et al.  System Modelling and Optimization: Methods and Applications, 19-49 One important consequence of this work is that for large models barrier algorithms are no longer dominant; each of primal and dual simplex, and barrier is now the winning choice in a significant number of cases.
  • 37. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 The most successful solver category  Multi-strategy approach  Presolve routines to reduce size, improve formulation  Feasibility heuristics for better upper bounds  Constraint (“cut”) generators for better lower bounds  Multi-processor branching search  Solve times reduced by many orders of magnitude  Better algorithmic ideas and implementations  Faster computers with more processors, memory, storage  Continuing improvements for 25 years! Dominated by commercial solvers  CPLEX  Gurobi  Xpress 37 Mixed-Integer Programming
  • 38. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 The main source of linear programs  Solve continuous relaxation  Re-solve with added constraints  Variables fixed or bounded  Cuts added  Still have an optimal but not feasible basis Need an algorithm for re-solving quickly  Simplex must regain feasibility, then optimize  Barrier needs “well centered” start — cannot make good use of a previous solution  Dual simplex is most effective 38 Mixed-Integer Programming
  • 39. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Primal linear program Minimize ∙ Subject to Dual linear program Maximize ∙ Subject to Simplex methods  Primal simplex method works on the primal LP  Dual simplex method works on the dual LP  Different forms of LP imply different computations 39 Dual Terminology
  • 40. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Basic solution  is inequalities on variables  Pick any inequalities corresponding to linearly independent rows of , and make them tight  Solve the resulting equations Vertex (basic feasible) solution  Also ∙ for all of the other inequalities Edge  Relax one basic constraint to become instead of  Then , 0  Or, where 40 Dual Geometry
  • 41. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given (a dual basic solution) (the basis) Choose a tight equation to relax solve ∈ : 0 Choose a new equation to become tight solve ∈ : / ∈ : / where Update  update dual slacks by ← / and ← / ∙ for all ∈ 41 Essential Dual Simplex Method
  • 42. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Refinements and improvements  Store also by row to speed computation of for typically sparse and  Step along “steepest edge” to reduce number of iterations  Only one extra linear system solve per iteration to update edge steepness values  Less than primal simplex which also requires one extra set of inner products per iteration  Get further benefits when variables are bounded  All basic solutions are dual-feasible  Simplex method can take longer steps 42 Practical Dual Simplex Method
  • 43. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Dual simplex  Especially when there are integer variables  Excellent results for continuous LPs as well Concurrent dual simplex, primal simplex, barrier  Run all 3 on different cores  Stop when the first one finishes 43 What’s Most Widely Used?
  • 44. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 44 1980 The APEX Systems: Past and Future  C.B. Krabek, R.J. Sjoquist and D.C. Sommer  SIGMAP Bulletin 29 (April 1980) 3–23. Over the past seven years we have perceived that the size distribution of general structure LP problems being run on commercial LP codes has remained about stable. . . . That this distribution has not noticeably changed despite a massive change in solution economics is unexpected. We do not feel that the linear programming user’s most pressing need over the next few years is for a new optimizer that runs twice as fast on a machine that costs half as much (although this will probably happen). Cost of optimization is just not the dominant barrier to LP model implementation. Why aren’t more larger models being run? It is not because they could not be useful; it is because we are not successful in using them. . . . They become unmanageable. LP technology has reached the point where anything that can be formulated and understood can be optimized at a relatively modest cost.
  • 45. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 45 1982 On the Development of a General Algebraic Modeling System in a Strategic Planning Environment  J. Bisschop and A. Meeraus  Mathematical Programming Study 20 (1982) 1-29. The heart of it all is the fact that solu- tion algorithms need a data structure which . . . is impossible to comprehend by humans, while, at the same time, meaningful problem representations for humans are not acceptable to machines. We feel that the two translation processes required (to and from the machine) can be identified as the main source of difficulties and errors.
  • 46. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 46 1983 Modeling Languages versus Matrix Generators for Linear Programming  Robert Fourer  ACM Transactions on Mathematical Software 9 (1983) 143-183. People and computers see linear optimization in different ways. . . . These two forms of a linear program — the modeler’s form and the algorithm’s form — are not much alike, and yet neither can be done without. Thus any application of linear optimization involves translating the one form to the other.
  • 47. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Given Set of origins (factories) Set of destinations (stores) Set of products and Amount available, for each ∈ and ∈ Amount required, for each ∈ and ∈ Limit on total shipments, for each ∈ and ∈ Shipping cost per unit, for each ∈ , ∈ , ∈ Fixed cost for shipping any amount from ∈ to ∈ Minimum total size of any shipment Maximum number of destinations served by any origin 47 Modeler’s Form: Multicommodity
  • 48. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Determine Amount of each ∈ to be shipped from ∈ to ∈ 1 if any product is shipped from ∈ to ∈ 0 otherwise to minimize ∑ ∑ ∑ ∈∈∈ ∑ ∑ ∈∈ Total variable cost plus total fixed cost 48 Modeler’s Form Multicommodity Transportation
  • 49. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Subject to ∑ ∈ for all ∈ , ∈ Total shipments of product out of origin must not exceed availability ∑ ∈ for all ∈ , ∈ Total shipments of product into destination must satisfy requirements ∑ ∈ for all ∈ , ∈ When there are shipments from origin to destination , the total may not exceed the limit, and must be 1 49 Modeler’s Form Multicommodity Transportation
  • 50. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Subject to ∑ ∈ for all ∈ , ∈ When there are shipments from origin to destination , the total amount of shipments must be at least ∑ ∈ for all ∈ Number of destinations served by origin must be as most 50 Modeler’s Form Multicommodity Transportation
  • 51. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 Symbolic General  Independent of data for particular cases Concise  Length of description depends on complexity of the model, not size of the linear program Understandable 51 Special Features of Modeler’s Form
  • 52. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 52 Same in a Modeling Language (AMPL) Symbolic data set ORIG; # origins set DEST; # destinations set PROD; # products param supply {ORIG,PROD} >= 0; # availabilities at origins param demand {DEST,PROD} >= 0; # requirements at destinations param limit {ORIG,DEST} >= 0; # capacities of links param vcost {ORIG,DEST,PROD} >= 0; # variable shipment cost param fcost {ORIG,DEST} > 0; # fixed usage cost param minload >= 0; # minimum shipment size param maxserve integer > 0; # maximum destinations served Multicommodity Transportation
  • 53. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 53 AMPL Formulation Symbolic model: variables and objective var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped var Use {ORIG, DEST} binary; # 1 if link used, 0 otherwise minimize Total_Cost: sum {i in ORIG, j in DEST, p in PROD} vcost[i,j,p] * Trans[i,j,p] + sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j]; Multicommodity Transportation ∑ ∑ ∑ ∈∈∈ ∑ ∑ ∈∈
  • 54. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 54 AMPL Formulation Symbolic model: constraints subject to Supply {i in ORIG, p in PROD}: sum {j in DEST} Trans[i,j,p] <= supply[i,p]; subject to Demand {j in DEST, p in PROD}: sum {i in ORIG} Trans[i,j,p] = demand[j,p]; subject to Multi {i in ORIG, j in DEST}: sum {p in PROD} Trans[i,j,p] <= limit[i,j] * Use[i,j]; subject to Min_Ship {i in ORIG, j in DEST}: sum {p in PROD} Trans[i,j,p] >= minload * Use[i,j]; subject to Max_Serve {i in ORIG}: sum {j in DEST} Use[i,j] <= maxserve; Multicommodity Transportation
  • 55. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 55 AMPL Formulation Explicit data independent of symbolic model set ORIG := GARY CLEV PITT ; set DEST := FRA DET LAN WIN STL FRE LAF ; set PROD := bands coils plate ; param supply (tr): GARY CLEV PITT := bands 400 700 800 coils 800 1600 1800 plate 200 300 300 ; param demand (tr): FRA DET LAN WIN STL FRE LAF := bands 300 300 100 75 650 225 250 coils 500 750 400 250 950 850 500 plate 100 100 0 50 200 100 250 ; param limit default 625 ; param minload := 375 ; param maxserve := 5 ; Multicommodity Transportation
  • 56. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 56 AMPL Formulation Explicit data (continued) param vcost := [*,*,bands]: FRA DET LAN WIN STL FRE LAF := GARY 30 10 8 10 11 71 6 CLEV 22 7 10 7 21 82 13 PITT 19 11 12 10 25 83 15 [*,*,coils]: FRA DET LAN WIN STL FRE LAF := GARY 39 14 11 14 16 82 8 CLEV 27 9 12 9 26 95 17 PITT 24 14 17 13 28 99 20 [*,*,plate]: FRA DET LAN WIN STL FRE LAF := GARY 41 15 12 16 17 86 8 CLEV 29 9 13 9 28 99 18 PITT 26 14 17 13 31 104 20 ; param fcost: FRA DET LAN WIN STL FRE LAF := GARY 3000 1200 1200 1200 2500 3500 2500 CLEV 2000 1000 1500 1200 2500 3000 2200 PITT 2000 1200 1500 1500 2500 3500 2200 ; Multicommodity Transportation
  • 57. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 57 AMPL Solution Model + data = problem instance to be solved ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver gurobi; ampl: solve; Gurobi 7.0.0: optimal solution; objective 235625 332 simplex iterations 23 branch-and-cut nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation
  • 58. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 58 AMPL Solution Solver choice independent of model and data ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver cplex; ampl: solve; CPLEX 12.7.0.0: optimal integer solution; objective 235625 135 MIP simplex iterations 0 branch-and-bound nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation
  • 59. Robert Fourer, The Evolution of Computationally Practical LP AFOR 2017, Kolkata, India — 21-23 December 2017 59 AMPL Solution Solver choice independent of model and data ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver xpress; ampl: solve; XPRESS 29.01: Global search complete Best integer solution found 235625 4 integer solutions have been found, 7 branch and bound nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation