Three Lectures Games/Challenges Applications, Models, and Solution Methods

advertisement
Module on Large-Scale
Integer Programming & Combinatorial
Optimization
Three Lectures
† Traveling salesman problem
† Facility location
† Network design
Games/Challenges
Applications, Models, and
Solution Methods
Traveling
Salesman
Problem
Thomas L. Magnanti1
Agenda
†
† Origins
Origins
†
† Electronic
Electronic Component
Component Placement
Placement
†
† TSP
TSP Model
Model
†
† Turbine
Turbine Vane
Vane Placement
Placement
†
† Other
Other Applications
Applications of
of TSP
TSP
†
† Solution
Solution Methods
Methods
‹
‹Heuristic
Heuristic Methods
Methods
‹
‹Lagrangian
Lagrangian relaxation
relaxation (bounding
(bounding methods)
methods)
†
† Some
Some large
large scale
scale instances
instances
(computations)
(computations)
2
William Rowan Hamilton
Icosian
game
3
20
19
Icosian
game
1
18
2
15
14
17 16
3
4
5
6
13
7
9
10
11
8
12
Hamiltonian Path and the TSP
4
Interest in Traveling
Salesman Problem (TSP)
† Arises in Many Applications
† Alluring (Captures Imagination)
† Notoriously Difficult to Solve
† Has Attracted Best Minds in
Math/CS/OR for 40 Years
5
The Traveling
Salesman
Problem and
Electronics
Assembly
6
Placement Problem
Placement Locations
Feeders
7
Placement Sequence
8
Traveling Salesman Interpretation
Home
Position
9
Model Ingredients
cjkjk
cost of placing module
k after placing module j
xjkjk =
1 if placement k follows
=1
placement j
0 otherwise
10
Assignment Problem
Minimize Σjj Σkk cjkjkxjkjk
subject to
Σkkxjkjk
Σjj xjkjk
xjkjk
=
=
>
1 for each j
1 for each k
0 for all j & k
Proper TSP Model?
11
Subtour Solution
12
TSP Model
Assignment Model
+
Subtour Breaking Constraints
Σjj∈S
< |S| - 1 for all subsets
∈S Σkk∈S
∈S xjk
jk
S of nodes {2,3,…,n}
Proper TSP Model?
13
13
Implications for IC Insertions
† Manual Designs ⇒ Long Time
‹10
‹10 hours
hours for
for 70
70 to
to 100
100
components
components
† Better Solutions
‹10-25%
‹10-25% improvements
improvements by
by
optimization
optimization
Other Applications Similar
23
Feeder Placement
† Modeling?
† Solution Methods?
‹Heuristic
‹Heuristic
‹Optimization
‹Optimization
24
?
?
Other
Applications
of TSP?
14
Other Applications of TSP
Machine Scheduling
Machine “Visits” Jobs
Travel Time = Set up Time
15
15
Other Applications
†
† Analyzing
Analyzing the
the structure
structure of
of crystals
crystals
†
† Material
Material handling
handling in
in aa warehouse
warehouse
†
† Clustering
Clustering of
of data
data arrays
arrays
†
† Cutting
Cutting stock
stock problems
problems
†
† Genome
Genome sequencing
sequencing
†
† Starlight
Starlight interferometer
interferometer satellite
satellite
positioning
positioning
†
† DNA
DNA universal
universal strings
strings
†
† Collecting
Collecting coins
coins from
from payphones
payphones
Solving the TSP
26 City Traveling Salesman Problem
55 00
SS EE
44 55
MN
MN
PP OO
M
MLL
OOM
M
BBOO
CCLL
CCHH
44 00
PPII
DDEE
Latitude
Latitude
DDTT
KKSS
LL
aa
titi
tutu
dd
ee
SS FF
TTUU
33 55
SS LL
IN
IN
CCNN
NNYY
PPHH
W
WAA
M
MEE
LLAA
AATT
DDAA
33 00
HHUU
22 55
112200
111100
110000
Lo
Long
ngitud
itudee
NNOO
99 00
88 00
77 00
20
20
Finding a Good Solution
‰ How?
‰ How good is good?
‹
LP bounds
‹LP
‹
Combinatorial bounds
‹Combinatorial
21
Solution Methods
† Heuristics
‹Growing
‹Growing solutions:
solutions: nearest
nearest neighbor,
neighbor,
farthest
farthest neighbor,
neighbor, nearest
nearest insertion
insertion
‹Improvement
‹Improvement procedures:
procedures: 2-opt,
2-opt, 3-opt
3-opt
† Optimization Methods
‹Bounding:
‹Bounding: LP
LP relaxation,
relaxation, Lagrangian
Lagrangian
dual
dual
‹Polyhedral
‹Polyhedral methods
methods (cutting
(cutting planes)
planes)
Heuristics
† Build Tour
‹Nearest
‹Nearest Neighbor
Neighbor
‹Nearest/Farthest
‹Nearest/Farthest Insertion
Insertion
† Improve Tour
‹Swapping
‹Swapping Edges
Edges
22
Insertion Heuristics
5
1
x
4
5
1
2
3
6
2
x
4
Nearest
Insertion
3
6
Farthest
Insertion
Tour Improvements
5
2-opt
2
1
3
4
5
6
2
1
3
4
6
Eliminate
Eliminate 22 arcs
arcs
and
and reconnect
reconnect
Choose
Choose best
best
alternative
alternative at
at
each
each step
step
Exploiting Embedded Structure
∑ ∑ cx
subject to ∑ x = 1 for all i = 1, 2,K , n
∑ x = 1 for all j = 1, 2,K , n
∑ ∑ x = n−2
∑ ∑ x ≤ S − 1 for all S ⊆ {2,3,K , n}
minimize
n
n
i =1
j =1 ij ij
n
j =1 ij
n
i =1 ij
n
n
i=2
j =2
i∈S
Redundant
Redundant
Constraint
Constraint
j∈S
ij
ij
xij ≥ 0 and integer
Minimum
Minimum spanning
spanning tree
tree on
on nodes
nodes 22 to
to nn
Underlying Structure
Decomposed Tour
5
2
1
3
4
Arc
Arc in
in and
and out
out
of
of node
node 11
6
Path
Path (hence
(hence tree)
tree) on
on nodes
nodes 22 to
to nn
Lagrangian Relaxation
n

L(u , v) = minimize ∑ i =1 ∑ j =1 cij xij + ∑ i = 2 ui ∑ j =1 xij − 1 


n
n

+ ∑ j = 2 v j ∑ i =1 xij − 1 


n
∑
∑
∑ ∑
∑ ∑
subject to
n
n
n
x =1
j =1 1 j
n
x =1
i =1 i1
n
n
i =2
j =2
i∈S
j∈S
xij = n − 2
xij ≤ S − 1 for all S ⊆ {2,3,K , n}
xij ≥ 0 and integer
Improving Lagrangian Lower Bound
Solution x* to Lagrangian Relaxation
5
2
1
3
4
Too many arcs out
Increase u5
c5j+ u5 + vj more expensive
6
Too few arcs out
Decrease u6
c6j+ u6 + vj less expensive
Solution Approach (Dual Ascent)
†
† Solve
Solve L(u,v)
L(u,v)
‹
‹Use
Use costs
costs ccijij++ vvii ++ uujj
‹
‹Select
Select least
least cost
cost arc
arc out
out of
of and
and into
into node
node 11
‹
‹Find
Find minimal
minimal spanning
spanning tree
tree on
on nodes
nodes 22 to
to nn
(easy)
(easy)
†
† Let
Let x*
x* be
be optimal
optimal solution
solution to
to L(u,v)
L(u,v)
†
† Using
Using x*
x* alter
alter u
u and
and vv to
to increase
increase lower
lower
bound
bound L(u,v)
L(u,v)
†
† Iterate
Iterate to
to solve
solve Lagrangian
Lagrangian dual
dual
L(u,v)
d
d == max
max u,v
u,v L(u,v)
Dual Ascent in General
v * = minimize cx
subject to Ax = b
Complicating
Complicating
Constraints
Constraints
x∈ X
e.g., X = { x : Dx = d , x ≥ 0}
Lagrangian Dual
L(u ) = minimize cx + u [ Ax − b ]
subject to x ∈ X
Dual Ascent in General
If L(u ) = cx(u ) + u  Ax(u ) − b 
k
k
∇L(u ) ≈ Ax(u ) − b
k
k
k
k
= u − θ k  Ax(u ) − b 
k
λk cx(u ) − v *
θk =
2
k
Ax(u ) − b
u
k +1
k
k
Dual Ascent Convergence
Theorem
If 0 < ε1 ≤ λk ≤ 2 − ε 2
and
Ax(u ) − b are bounded,
k
then c(xk) converges to v*.
In practice, continue with fixed λk except half λk after
some number (50?) of iterations if c(xk) doesn’t decrease
Solving Minimum Spanning Tree
Greedy (Kruskal Algorithm)
† Order arcs from smallest to highest
costs
† Choose arcs in order
‹If
‹If arc
arc does
does not
not form
form an
an undirected
undirected
circuit
circuit with
with arcs
arcs already
already chosen,
chosen, then
then
choose
choose arc;
arc;
‹Otherwise
‹Otherwise eliminate
eliminate arc
arc from
from
consideration
consideration
Amazing Facts!
†
† Greedy
Greedy algorithm
algorithm (and
(and several
several variants)
variants)
solves
solves the
the minimum
minimum spanning
spanning problem
problem
†
† The
The linear
linear programming
programming relaxation
relaxation of
of the
the
formulation
formulation we
we have
have given
given for
for the
the
minimum
minimum spanning
spanning problem
problem always
always has
has an
an
integer
integer solution
solution (the
(the underlying
underlying
polyhedron
polyhedron has
has integer
integer extreme
extreme points)
points)
Solving Network Flow Problems
† Giden (Graphical Environment for
Network Optimization)
‹Demonstration of
• Minimum spanning trees
• Maximum flows
• Minimum cost flows
(Based on Ahuja, Magnanti, Orlin’s book Network
Network Flows)
Flows)
2103 hole
printed circuit
board example
11,849 hole
printed circuit
board example
11,849 hole
printed circuit
board solution
13,094,345 seconds
total on 55 CPUs
Traveling
Traveling salesman
salesman
problem
problem through
through
15,112
15,112 cities
cities in
in
Germany
Germany
22.6
22.6 years
years of
of
computation
computation on
on
network
network of
of 110
110
Processors
Processors
See
See http://www.math.princeton.edu/tsp/
http://www.math.princeton.edu/tsp/
Today’s Lessons
†
† Traveling
Traveling salesman
salesman problem
problem arises
arises in
in
numerous
numerous applications
applications
†
† Problem
Problem is
is aa large-scale
large-scale integer
integer program
program
†
† Many
Many heuristic
heuristic methods:
methods: often
often find
find good
good
solutions
solutions
†
† Lagrangian
Lagrangian dual
dual (bounding)
(bounding) exploits
exploits
special
special problem
problem structure
structure (embedded
(embedded
minimal
minimal spanning
spanning tree)
tree)
†
† MST
MST is
is easy
easy to
to solve
solve
We
We did
did NOT
NOT examine
examine polyhedral
polyhedral (cutting
(cutting plane)
plane) methods
methods
Download