Constrained Integer Network Flows April 25, 2002.

46
Constrained Integer Network Flows April 25, 2002

Transcript of Constrained Integer Network Flows April 25, 2002.

Page 1: Constrained Integer Network Flows April 25, 2002.

Constrained Integer Network Flows

April 25, 2002

Page 2: 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

Page 3: Constrained Integer Network Flows April 25, 2002.

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

Page 4: Constrained Integer Network Flows April 25, 2002.

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

Page 5: Constrained Integer Network Flows April 25, 2002.

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

Page 6: Constrained Integer Network Flows April 25, 2002.

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

Page 7: Constrained Integer Network Flows April 25, 2002.

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

Page 8: Constrained Integer Network Flows April 25, 2002.

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

Page 9: Constrained Integer Network Flows April 25, 2002.

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

Page 10: Constrained Integer Network Flows April 25, 2002.

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

Page 11: Constrained Integer Network Flows April 25, 2002.

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

Page 12: Constrained Integer Network Flows April 25, 2002.

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

Page 13: Constrained Integer Network Flows April 25, 2002.

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

Page 14: Constrained Integer Network Flows April 25, 2002.

ODIMCF: MPLS Networks

LSR LSR

LSR LSR

MPLS Network

MPLS Switches

LSR: Label-Switch Router

LSP

IP NetIP Net

Page 15: Constrained Integer Network Flows April 25, 2002.

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

Page 16: Constrained Integer Network Flows April 25, 2002.
Page 17: Constrained Integer Network Flows April 25, 2002.

Current & Proposed Algorithmic Approaches

Page 18: Constrained Integer Network Flows April 25, 2002.

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()

Page 19: Constrained Integer Network Flows April 25, 2002.

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

Page 20: Constrained Integer Network Flows April 25, 2002.

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()

Page 21: Constrained Integer Network Flows April 25, 2002.

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

Page 22: Constrained Integer Network Flows April 25, 2002.

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

Page 23: Constrained Integer Network Flows April 25, 2002.

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

Page 24: Constrained Integer Network Flows April 25, 2002.

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

Page 25: Constrained Integer Network Flows April 25, 2002.

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

Page 26: Constrained Integer Network Flows April 25, 2002.

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

Page 27: Constrained Integer Network Flows April 25, 2002.

ODIMCF: Proposed Algorithm

• Heuristic Based On Market Prices

• Circumstances– Large Sparse Networks – Many Commodities– Arcs Capable of Supporting Multiple

Commodities

Page 28: Constrained Integer Network Flows April 25, 2002.

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

Page 29: Constrained Integer Network Flows April 25, 2002.

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

Page 30: Constrained Integer Network Flows April 25, 2002.

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

Page 31: Constrained Integer Network Flows April 25, 2002.

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

Page 32: Constrained Integer Network Flows April 25, 2002.

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

Page 33: Constrained Integer Network Flows April 25, 2002.

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

Page 34: Constrained Integer Network Flows April 25, 2002.

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

Page 35: Constrained Integer Network Flows April 25, 2002.

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

Page 36: Constrained Integer Network Flows April 25, 2002.

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

Page 37: Constrained Integer Network Flows April 25, 2002.

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.

Page 38: Constrained Integer Network Flows April 25, 2002.

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

Page 39: Constrained Integer Network Flows April 25, 2002.

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

Page 40: Constrained Integer Network Flows April 25, 2002.

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

Page 41: Constrained Integer Network Flows April 25, 2002.

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

Page 42: Constrained Integer Network Flows April 25, 2002.

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

Page 43: Constrained Integer Network Flows April 25, 2002.

Expected Contributions

• Will Address Important Problems With Wide Range of Applications

• Efficient Algorithms Will Have a Significant Impact in Several Disparate Fields

Page 44: Constrained Integer Network Flows April 25, 2002.

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

Page 45: Constrained Integer Network Flows April 25, 2002.

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

Page 46: Constrained Integer Network Flows April 25, 2002.

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