Professional Documents
Culture Documents
Boland Dumitrescu
Boland Dumitrescu
Boland Dumitrescu
Applications, Variations
and Optimization
Natashia Boland
Irina Dumitrescu
Minimize risk
100 Random Mines
A Risk Model
The risk (probability of damage) from the
ith threat (mine) ri(x) at any point x in
space is proportional to the inverse square
of the distance from it:
ri(x)=i(di(x))-2
threat-dependent constant distance from x to mine i
Length: 1.41
Total risk: 6195.67
Alternative
Length: 1.41
Total risk: 6195.67
Length: 2.62
Total risk: 115.35
Local vs Global
Continuous approaches can only yield
locally optimal solutions
f(x)
(x5,y5) (x6,y6)
(x2,y2)
(x4,y4)
(x7,y7) (x8,y8)
(x3,y3)
(x1,y1)
x
Function Approximation
n is very large: approximate f(x) by g(x)
Restrict attention to g(x) also piecewise linear defined
by (x1,y1), (xn,yn) and a subset of (x2,y2),,(xn-1,yn-1)
f(x)
(x5,y5) (x6,y6)
(x2,y2)
(x4,y4)
(x7,y7) (x8,y8)
(x3,y3)
g(x)
(x1,y1)
x
How Good Is It?
Quality of approximation: measure by [f(xi)-g(xi)]2
n
(x7,y7) (x8,y8)
(x3,y3)
x
Network Model
Node i for each point i=1,,n
[f(x )-g(x )] +
k=i+1 k k
2
f(x)
(x5,y5) (x6,y6)
(x2,y2)
(x4,y4)
(x7,y7) (x8,y8)
(x3,y3)
g(x)
(x1,y1)
x
1 2 3 4 5 6 7 8
f(x)
(x5,y5) (x6,y6)
(x2,y2)
(x4,y4)
(x7,y7) (x8,y8)
(x3,y3) g(x)
(x1,y1)
x
72
1 2 3 4 5 6 7 8
(22+ 32) + 52 +
(x5,y5) (x6,y6)
(x2,y2) 5
(x4,y4)
7
2 3 (x7,y7) (x8,y8)
(x3,y3) g(x)
(x1,y1)
x
Systems of Difference
Constraints
Variables x1, x2,, xn
Constraints xjk xik bk, k=1,,m
Nodes N={1,,n}
Arcs A={(ik,jk) : k=1,,m}
Length of arc (ik,jk) is bk
x4 x1 -10 8 4
-10
x1 x3 8
x2 x1 -11 4 3
5
x3 x2 4
Feasibility Condition
System of difference constraints is feasible
x1 x3 5 x1 x3 5
4 3
x2 x1 -11 0 -2 5
x3 x4 5 1 -11 2 -11
x1 = 0 0
x4 x1 -10 x2 = -11 -10 8 4
x1 x3 8 x3 = -7
x2 x1 -11 x4 = -10 4
5
3
-7
0 -10
x3 x2 4 0
DNA Sequences
Two sequences B and D
- e.g. B = TCCG, D = CTAGC
a b g(C,A) a
D C T A G C
Cost = 2a + b + g(C,A)
B T C C G C
D C T A G C
s.t.
x -
j : (j,i) A ji
x =
j : (i,j) A ij
-1, i=s
0, is,t i V
1, i=t
x0
Duality Results
LP dual has variables ui for each node i V
ui can be interpreted as the length of path
from node s to node i
LP dual constraints are difference constraints!
LP is bounded below if and only if there is no
negative length cycle
LP optimality conditions correspond to the
usual path optimality conditions
Can deduce that the LP formulation has the
integrality property, i.e. 0-1 solutions naturally
Time Windows
A path in a network G=(V,A) may represent a
route for a delivery vehicle
In this case, the time that the vehicle makes
each delivery may be constrained
Tij = time needed for vehicle to drive from node
i to node j (may includes unloading at i)
[ai,bi] = time interval must arrive at node i in
ti = time arrive at node i
If (i,j) in path, then tj = max{ti + Tij, ai}
Require ti bi for all i V
Integer LP Formulation
min
x{0,1}|A|, t
cij xij
(i,j) A
s.t.
x -
j : (j,i) A ji
x =
j : (i,j) A ij
-1, i=s
0, is,t i V
1, i=t
s.t.
x -
j : (j,i) A ji
x =
j : (i,j) A ij
-1, i=s
0, is,t i V
1, i=t
Dx
(i,j) A Q
ij ij
Additive Node Resources
A path in a network G=(V,A) may represent a
route for a delivery vehicle
The quantity that can be carried on the vehicle
may be constrained by its capacity, Q
Di = demand quantity for node i
di = total demand for all customers preceding
on the route, including i
If (i,j) in path, then dj = di + Dj
Require di Q for all i V (or just dt Q)
Special case of additive arc resource
ILP Formulation
min
x{0,1}|A|
cij xij
(i,j) A
s.t.
x -
j : (j,i) A ji
x =
j : (i,j) A ij
-1, i=s
0, is,t i V
1, i=t
Dx
(i,j) A Q - Dt
i ij
Vector Resources
Arc (i,j) may use rkij units of resource k
Resource limits Rk for each resource k
qki = cumulative units of resource k used
on path nodes from s to i
If (i,j) in path, then qkj = qki + rkij
Require qkt Rk for all k
(Alternatively, some resources may be
time window type, not just additive)
ILP Formulation
min
x{0,1}|A|
cij xij
(i,j) A
s.t.
x -
j : (j,i) A ji
x =
j : (i,j) A ij
-1, i=s
0, is,t i V
1, i=t
rk x
(i,j) A R k
, resources k
ij ij
Renewable Resources
A path may represent a sequence of work
for a crew in a job network, perhaps
including several duty periods with rests
in between
The resource can be replenished at some
special nodes, R V
If (i,j) in path and j R, then dj = di + Dj
So if j R then free to re-set dj = 0
Require di Q for all i V
Elementary Paths
Shortest path problems often arise as
sub-problems in column generation
In these cases there may be negative
length cycles a shortest elementary
path (no repeated nodes) is sought
This can be modelled by using a vector of
additive resources, one for each node i
Resource rki=1 if k=i, 0 otherwise i,k V
Resource limit Rk=1 for each k V
Other Variations
Multi-criteria optimization
Dynamic shortest paths e.g. with time-
dependent travel times, such as due to
peak-hour congestion
Subset disjoint paths
Many others