Constrained Integer Network Flows April 25, 2002.
-
Upload
heidi-henkin -
Category
Documents
-
view
218 -
download
2
Transcript of Constrained Integer Network Flows April 25, 2002.
Constrained Integer Network Flows
April 25, 2002
Constrained Integer Network Flows
• Traditional Network Problems With Side-Constraints and Integrality Requirements
• Motivated By Applications in Diverse Fields, Including:– Military Mission-Planning– Logistics– Telecommunications
Minimum-Cost Network Flows
• Definition– Minimize Flow Cost– b Represents
Demands and Supplies
– Special Properties• Spanning Tree Basis• A Is Totally Unimodular• Integer Solutions if b, l,
and u Are Integer• Row Rank of A Is |V|-1
M i n i m i z e : cx
S u b j e c t T o : bAx
x
ux
• Special Structure Has Lead To Highly Efficient Algorithms
MCNF
Shortest-Path Problems
• One-to-One (SP)– Find Shortest-Path
From s To t– b = et - es
• One-to-All (ASP)– Find Shortest-path
From s To All Other Vertices
– b = 1 - |V|es
• Special Solution Algorithms– Label Setting– Label Correcting
M in im iz e : cx
s u b je c t to : bAx
0x
SP/ ASP
Resource-Constrained Shortest Path
• Find Shortest Path From s To t Limited By Constraint on a Resource
• Side-Constraint Destroys Special Structure of MCNF
• Solutions Non-Integer Unless Integrality Enforced
M i n i m i z e : cx
s u b j e c t t o : bAx
qsx
EjiBx ij ),( ,
RCSP
RCSP: Aircraft Routing
• Time-Critical-Target Available For Certain Time Period
• Aircraft Need To Be Diverted To Target
• Planners Wish To Minimize Threats Encountered by Aircraft
• Multiple Aircraft ( 100s or 1000s ) Considered for Diversion
RCSP: Aircraft Routing
• Grid Network Representation
• Arc Cost: Threat• Arc Side-Constraint
Value: Time• Total Time,
Including Decision Making, Is Constrained
(10,0)
(10,10)
(0,0)
(0 ,10)
Target
Point 1
Point 2
20
30
40
50
ThreatValues
*Diagonal Arcs Are Included, But Not Shown
Multicommodity Network Flow
• Minimize Cost of Flows For All Commodities
• Total Flow for All Commodities on Arcs Is Restricted
• Non-Integer Solutions• Solution Strategies
– Primal Partitioning
– Price & Resource Directive Decompositions
– Heuristics
M i n i m i z e : Kk
kcx
s u b j e c t t o : Kkkk ,bAx
Ejix ijKk
kij
),( ,
Ejiux ijKk
kij
),( ,
KkEjix kij ,),( ,0
MCF
Origin-Destination Integer MCF
• Specialization of MCF– One Origin & One Destination Per
Commodity– Commodity Flow Follows a Single Path
• Integer-Programming Problem
• Two Formulations– Node-Arc– Path-Based
Origin-Destination Integer MCF
• ODIMCF1: Node-Arc Formulation
• Rows: |V||K| + |E|• Variables: |K||E|
• ODIMCF2: Path-Based Formulation
• Rows: |K| + |E|• Variables: Dependent on
Network Structure
M i n i m i z e : Kk
kkq cx
s u b j e c t t o : Kkkk ,bAx
, E(i,j)uxq ijKk
kij
k
Kk
EjiBx kij
,),( ,
M i n i m i z e : Kk kPp
kp
kp
k ycq)(
s u b j e c t t o : Ejiuyq ijKk kPp
kp
pk
ij
),( ,)(
KkykPp
kp
,1)(
)(
, ,
kPp
KkBy kp
ODIMCF2ODIMCF1
ODIMCF: Rail-Car Movement
• Grain-Cars Are “Blocked” for Movement• Blocks Move From Origin To
Destination through Intermediate Stations
• Grain-Trains Limited on Total Length and Weight
• Blocks Need To Reach Destinations ASAP
ODIMCF: Rail-Car Movement
• Arcs - Catching a Train or Remaining at a Station
• Vertex - Station+Train Arrival/DepartureStations
B
C
ACatch a Train
Remain at A
Time
a2 a3 a4
b2
c2
a1
b5
c3 c4c1
b1 b3 b4
ODIMCF: MPLS Networks
• Traffic Is Grouped by Origin-Destination Pair
• Each Group Moves Across the Network on a Label-Switched Path (LSP)
• LSPs Need Not Be Shortest-Paths• MPLS’s Objective Is Improved Reliability,
Lower Congestion, & Meeting Quality-of-Service (QoS) Guarantees
ODIMCF: MPLS Networks
LSR LSR
LSR LSR
MPLS Network
MPLS Switches
LSR: Label-Switch Router
LSP
IP NetIP Net
M i n i m i z e : Kk
kcx
s u b j e c t t o : Kkkk ,bAx
Ejiux ijKk
kij
),( ,
KkEjiBx kij ,),( ,
Binary MCF
• MCF Specialization– xk Binary– l = 0– bk = et - es
• ODIMCF Variant– qk = 1 for all k
BMCF
Current & Proposed Algorithmic Approaches
M i n i m i z e : )( q sxcx
s u b j e c t t o : bAx
Ejix ij ),( 0,
RCSP: Current Algorithms
• Lagrangian Relax-ation, RRCSP()– Lagrangian 1
• Network Reduction Techniques
• Use Subgradient Optimization To Find Lower Bound
• Tree Search to Build a Path
– Lagrangian 2• Bracket Optimal
Solution Changing • Finish Off With k-
shortest Paths
RRCSP()
RCSP: Proposed Algorithm
• Objectives– Solve RCSP For
One Origin, s, and Many Destinations, T
– Reduce Cumulative Solution Time Compared To Current Strategies
• Overview– Solves Relaxation
(ASP()) – Relaxation Costs Are
Convex Combination of c and s
– ASP() Solved Predetermined Number of Times
RCSP: Proposed Algorithm
• Algorithm– Relax Side-
Constraint Forming ASP()
• ASP With s As Origin
– Select n Values for • 0 1
– Solve ASP() For Each Value of
– For Each t in T Find Smallest Meeting Side-Constraint For t
M i n i m i z e : xsc ))1((
s u b j e c t t o : bAx
Ejix ij ),( 0,
ASP()
RCSP: Proposed Algorithm
• Aircraft Routing Example– c - Threat on Arcs– s - Time To Traverse
Arcs– 10 Values for
Evaluated– Results Recorded
For 2 Points And Target
Point 1 Point 2Valueof
AccumTime
AccumThreat
AccumTime
AccumThreat
0.00 23.0 0 24.8 00.11 23.0 0 24.8 00.22 23.0 0 11.4 8800.33 15.8 880 9.8 12000.44 15.8 880 9.8 12000.56 15.8 880 9.8 12000.67 15.8 880 9.8 12000.78 15.0 1680 9.8 12000.89 13.2 4640 9.0 28001.00 12.6 11480 9.0 2800
Accumulated Time and Distance For Each Value of
(10,0)
(10,10)
(0,0)
(0,10)
Target
Point 1
Point 2
20
30
40
50
ThreatValues
RCSP: Proposed Algorithm
(10,0)
(10,10)
(0,0)
(0,10)
Target
Point 1
Point 2
20
30
40
50
ThreatValues
(10,0)
(10,10)
(0,0)
(0,10)
Target
Point 1
Point 2
20
30
40
50
ThreatValues
Intermediate Routing Option = 0.44
Minimum Threat Routing = 0.0
RCSP: Proposed Algorithm
(10,0)
(10,10)
(0,0)
(0,10)
Target
Point 1
Point 2
20
30
40
50
ThreatValues
0
2000
4000
6000
8000
10000
12000
80 130 180 230 280
Accum ulated Tim e
Acc
um
ula
ted
Th
reat
Point 1 Point 2
Minimum Time Routing = 1.0
Accumulated Threatvs
Time To Target
RCSP: Proposed Algorithm
• Further Considerations– Normalization of c and s– Reoptimization of ASP()– Number of Iterations (Values of )– Usage As Starting Solution For RCSP– Other Uses
ODIMCF: Current Algorithms
• Techniques For Generic Binary IP• Branch-and-Price-and-Cut
– Designed Specifically For ODIMCF– Incorporates
• Path-Based Formulation (ODIMCF2)• LP Relaxations With Price-Directive
Decomposition• Branch-and-Bound• Cutting Planes
ODIMCF: Current Algorithms
• Branch-and-Price-and-Cut (cont.)– Algorithmic Steps
• Solve LP Relaxation At Each Node Using:
– Column-Generation
» Pricing Done As SP
– Lifted-Cover Inequalities
• Branch By Forbidding a Set of Arcs For a Commodity
– Select Commodity k – Find Vertex d At
Which Flow Splits– Create 2 Nodes in
Tree Each Forbidding ~Half the Arcs at d
– Has Difficulty• Many Commodities• |A|/|V| ~2
ODIMCF: Proposed Algorithm
• Heuristic Based On Market Prices
• Circumstances– Large Sparse Networks – Many Commodities– Arcs Capable of Supporting Multiple
Commodities
ODIMCF: Proposed Algorithm
• Arc Costs, cij´ = f(rij, uij, cij, qk)R
– Uses Non-Linear Price Curve, p(z, uij) R
– Based On• Original Arc Cost, cij
• Upper Bound, uij
• Current Capacity Usage, rij
• Demand of Commodity, qk
ODIMCF: Proposed Algorithm
0%
200%
400%
600%
800%
1000%
1200%
70% 80% 90% 100% 110% 120% 130%
z : Arc Capacity Usage(Percentage of Upper Bound)
Mar
gin
al A
rc C
ost
(Per
cent
age
of O
rigi
nal)
Marginal Arc Cost
Demand, qkCurrent Usage, rij Area = Arc Cost, c´ij
p(z, uij)
Upper Bound, uij
c´ij = f(rij, uij, cij, qk) As an Area
ODIMCF: Proposed Algorithm
0%
200%
400%
600%
800%
1000%
1200%
70% 80% 90% 100% 110% 120%
z : Arc Capacity Usage(Percentage of Upper Bound)
Mar
gin
al A
rc C
ost
(Per
cent
age
of O
rigi
nal)
Arc Cost For Increasing rij
ODIMCF: Proposed Algorithm
0%
200%
400%
600%
800%
1000%
1200%
70% 80% 90% 100% 110% 120%
z : Arc Capacity Usage(Percentage of Upper Bound)
Mar
gin
al A
rc C
ost
(Per
cent
age
of O
rigi
nal)
Total System Cost
Current System Cost
Total Additional System CostAdditional Cost To
Other Commodities Arc Cost To Commodity
Current Usage, rij
ODIMCF: Proposed Algorithm
• Basic Algorithm– Initial SP Solutions– Update r– Until Stopping
Criteria Met• Randomly Choose k• Calculate New Arc
Costs• Solve SP• Update r
• Selection Strategy– Iterative– Randomized
• Infeasible Inter-mediate Solutions
• Stopping Criteria– Feasible– Quality– Iteration Limit
ODIMCF: Proposed Algorithm
• Considerations– Form of p(z, uij)
– Commodity Differentiation
• Under-Capacitated Net• Preferential Routing
– Selection Strategy– Advanced Start
– Cooling Off of p(z, uij)• Step 0 - SP• Steps 1… Increasing
Enforcement of u
0%
100%
200%
300%
400%
500%
600%
88% 93% 98% 103%
z : Arc Capacity Usage
(Percentage of Upper Bound)M
argi
nal
Arc
Cos
t(P
erce
nta
ge o
f O
rigi
nal
)
1
0
234
ODIMCF: Proposed Algorithm
Problem Vertices ArcsCommo-
ditiesTotal
CapacityGeometrice
Mean of Arc UBGeometric Mean
of Demands1 25 50 30 1,783 31.72 8.532 25 50 60 3,709 67.09 8.863 25 100 30 1,554 13.62 9.004 25 100 60 2,312 21.28 8.915 50 100 123 8,470 78.00 9.156 50 100 245 15,391 143.98 8.757 50 200 123 5,985 27.83 8.948 50 200 245 11,180 52.46 8.869 100 200 495 40,146 188.36 9.1410 100 200 990 79,226 373.07 8.8711 100 400 495 26,016 61.68 8.8412 100 400 990 52,107 123.84 8.9613 200 400 1,990 191,409 450.18 8.9514 200 400 3,980 379,380 893.11 8.7815 200 800 1,990 123,705 146.46 9.0616 200 800 3,980 238,767 282.35 8.99
ODIMCF: Proposed Algorithm
ProblemObjective
ValuePercent
UtilizationAvg
UtilizationMedian
Utilization Avg Hops Time1 73,770 69.2% 58.1% 70.7% 4.30 0.042 149,074 69.3% 59.9% 67.0% 4.28 0.013 0.084 0.185 341,129 71.6% 66.5% 77.2% 5.05 0.526 648,538 74.5% 69.7% 77.2% 4.73 0.107 1.508 365,695 67.0% 64.0% 70.0% 3.01 0.319 1,665,958 75.2% 71.6% 80.0% 5.94 0.58
10 3,218,316 73.5% 69.9% 73.4% 5.94 1.4811 914,655 69.0% 66.0% 74.0% 3.69 1.8312 1,846,896 70.1% 67.6% 75.9% 3.66 2.7413 7,721,548 73.1% 69.0% 73.0% 7.00 11.9714 15,131,327 72.7% 68.8% 74.1% 7.01 34.0015 4,377,348 68.6% 65.5% 72.7% 4.16 15.4316 8,310,650 68.2% 65.4% 68.8% 4.08 45.67
ODIMCF: Proposed Algorithm
Problem Algorithm SP Gap Count Percent Value Percent1 73,770 65,691 12.3% 7 14.0% 41 2.3%2 149,074 135,746 9.8% 4 8.0% 158 4.3%3 41,925 20 20.0% 198 12.7%4 68,154 18 18.0% 281 12.2%5 341,129 310,324 9.9% 20 20.0% 842 9.9%6 648,538 596,083 8.8% 22 22.0% 1,163 7.6%7 155,134 49 24.5% 1,144 19.1%8 365,695 297,042 23.1% 44 22.0% 1,679 15.0%9 1,665,958 1,574,431 5.8% 41 20.5% 2,921 7.3%10 3,218,316 3,134,172 2.7% 34 17.0% 4,193 5.3%11 914,655 744,239 22.9% 97 24.3% 5,026 19.3%12 1,846,896 1,540,285 19.9% 107 26.8% 11,029 21.2%13 7,721,548 7,390,720 4.5% 83 20.8% 15,525 8.1%14 15,131,327 14,564,093 3.9% 86 21.5% 31,901 8.4%15 4,377,348 3,685,457 18.8% 203 25.4% 27,365 22.1%16 8,310,650 7,273,759 14.3% 206 25.8% 52,329 21.9%
Solution Values
Infeasibility of SP
Infeasible Arcs Total Violation
ODIMCF: Proposed Algorithm
Problem Time Nodes Cuts Value Value Gap Value Gap1* 0.23 11 16 72,810 73,770 1.3% 65,691 10.8%2* 0.25 0 10 140,688 149,074 6.0% 135,746 3.6%3* 0.20 0 48 59,959 41,925 43.0%4* 40.10 22 162 81,739 68,154 19.9%5 1.53 328,529 341,129 3.8% 310,324 5.9%6 5.68 620,861 648,538 4.5% 596,083 4.2%7 23.20 172,233 155,134 11.0%8 38.27 326,168 365,695 12.1% 297,042 9.8%9 71.97 1,611,888 1,665,958 3.4% 1,574,431 2.4%10 Out of Memory 3,218,316 3,134,17211 1277.53 809,429 914,655 13.0% 744,239 8.8%12 Out of Memory 1,846,896 1,540,28513 Out of Memory 7,721,548 7,390,72014 Out of Memory 15,131,327 14,564,09315 Out of Memory 4,377,348 3,685,45716 Out of Memory 8,310,650 7,273,759
Algorithm SPCPLEX
*CPLEX65 Used MIP To Find Integer Solution. All Other Problems Solved As LP Relaxations With No Attempt At Integer Solution.
BMCF: Proposed Algorithm
• Modification of Proposed Algorithm For ODIMCF
• Commodities Are Aggregated By Origin– A is the Set of Aggregations
• Pure Network Sub-Problems Replace SPs of ODIMCF
BMCF: Proposed AlgorithmCommodity Origin Dest
1 1 32 1 23 1 34 3 45 3 16 4 2
Aggre-gation
Origin Dest Demandqa
1 1 3 22 1
2 3 1 14 1
3 4 2 1
• Original Commodities– Demands of 1– Single Origin &
Destination– SP
• Aggregations– Demands 1– Single Origin– Multiple Destinations– MCNF
BMCF: Proposed Algorithm
• Aggregation MCNFs Solved On Modified Network– Each Original Arc Is
Replaced With qa Parallel Arcs
– Parallel Arcs Have • Convex Costs
Derived From p(z, uij)
• Upper Bounds of 1
i j(0 , uij)
cij
i j
(0 , 1)cij3
(0 , 1)
cij2
(0 , 1)
cij1
BMCF: Proposed Algorithm
0%
200%
400%
600%
800%
1000%
1200%
70% 80% 90% 100% 110% 120% 130%
z : Arc Capacity Usage(Percentage of Upper Bound)
Mar
gin
al A
rc C
ost
(Per
cent
age
of O
rigi
nal)
Demand, qa = 3
Current Usage, rij
p(z, uij)
Upper Bound, uij
Parallel Arc Costs
One Unit of Flow
cij1
cij3
cij2
BMCF: Proposed Algorithm
• Basic Algorithm– Form Aggregates– Solve Initial MCNFs– Update r– Until Stopping Criteria
Met• Randomly Choose a• Create Parallel Arcs• Calculate Arc Costs• Solve MCNF• Update r
• Considerations – ODIMCF
Considerations– ODIMCF vs BMCF– Aggregation Strategy
• Multiple Aggregations per Vertex
• Which Commodities To Group
Expected Contributions
• Will Address Important Problems With Wide Range of Applications
• Efficient Algorithms Will Have a Significant Impact in Several Disparate Fields
Notation
• A - Matrix• x - Vector• 0 - Vector of All 0’s• 1 - Vector of All 1’s• ei - 0 With a 1 at ith
Position
• xi - ith element of x
• x - Scalar
• A - Set• |A| - Cardinality of A - Empty Set• R - Set of Reals• B - {0,1}, Binary Set• Rmxn - Set of mxn Real
Matrices• Bm - Set of Binary, m
Dimensional Vectors
Notation: Networks
• A - Node-Arc Incidence Matrix
• x - Arc Flow Variables• c - Arc Costs• s - Arc Resource
Constraint Values• u - Arc Upper Bounds• l - Arc Lower Bounds• b - Demand Vector
i j(l ij , uij)
cij , sij
• All Networks Are Directed
• xij Is the Flow Variable for ( i, j )
• E - Set of Arcs• V - Set of Vertices
Notation: Problem Abbreviations
• MCNF - Minimum-Cost Network Flow
• SP - Shortest Path• ASP - One-To-All
Shortest-Path• RCSP - Resource
Constrained Shortest-Path
• MCF - Multi-commodity Flow
• ODIMCF - Origin Destination Integer Multicommodity Network Flow
• BMCF - Binary Multicommodity Network Flow