EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems...

38
EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007

Transcript of EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems...

Page 1: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

EMIS 8373: Integer Programming

“Easy” Integer Programming Problems: Network Flow Problems

updated 11 February 2007

Page 2: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 2

The Minimum Cost Network Flow Problem (MCNFP)

• Extremely useful model in OR & EM• Important Special Cases of the MCNFP

– Transportation and Assignment Problems– Maximum Flow Problem– Minimum Cut Problem– Shortest Path Problem

• Network Structure– BFS’s for MCNFP LP’s have integer values !!!– Problems can be formulated graphically

Page 3: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 3

Elements of the MCNFP

• Defined on a network G = (N,A)

• N is a set of n nodes: {1, 2, …, n}– Each node i has an associated value b(i)

• b(i) < 0 => node i is a demand node with a demand for –b(i) units of some commodity

• b(i) = 0 => node i is a transshipment node

• b(i) > 0 => node i is a supply node with a supply of b(i) units

Page 4: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 4

Elements of the MNCFP

• A is a set of arcs that carry flow– Decision variable xij determines the units of

flow on arc (i,j)

– The arc (i,j) from node i to node j has• cost cij per unit of flow on arc (i,j)

• upper bound on flow of uij (capacity)

• lower bound on flow of ij (usually 0)

Page 5: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 5

Example MCNFP

• N = {1, 2, 3, 4}b(1) = 5, b(2) = -2, b(3) = 0, b(4) = -3

• A ={(1,2), (1,3), (2,3), (2,4), (3,4)}c12 = 3, c13 = 2, c23 =1, c24 = 4, c34 = 4

12 = 2, 13 = 0, 23 = 0, 24 = 1, 34 = 0

u12 = 5, u13 = 2, u23 = 2, u24 = 3, u34 = 3

Page 6: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 6

Graphical Network Flow Formulation

b(j)b(i)

i j(cij, ij, uij)

arc (i,j)

Page 7: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 7

Example MCNFP

5 1 4(1, 0,2)

3

2

0

-3

-2

(2, 0,2)

(4, 1,3)

(4, 0,3)

(3, 2,5)

Page 8: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 8

Requirements for a Feasible Flow

• Flow on all arcs is within the allowable bounds: ij xij uij for all arcs (i,j)

• Flow is balanced at all nodes:flow out of node i - flow into node i = b(i)

• MCNFP: find a minimum-cost feasible flow

Page 9: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 9

LP Formulation of MCNFP

Aji

Ni

uxbxx

xc

ijijij

iAijj

jiAjij

ij

Ajiijij

),(

st

min

),(:),(:

),(

Page 10: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 10

LP for Example MCNFP

Min 3X12 + 2 X13 + X23 + 4 X24 + 4 X34 s.t. X12 + X13 = 5 {Node 1} X23 + X24 – X12 = -2 {Node 2}

X34 – X13 - X23 = 0 {Node 3} – X24 - X34 = -3 {Node 4}

2 X12 5, 0 X13 2, 0 X23 2, 1 X24 3,

0 X34 3,

Page 11: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 11

Example Feasible Solution

5 1 4(1, 0,2)

3

2

0

-3

-2

(2, 0,2)

(4, 1,3)

(4, 0,3)

(3, 2,5)

5 3

000

Cost = 15 + 12 = 27

Page 12: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 12

Optimal Solution for Example

5 1 4(1, 0,2)

3

2

0

-3

-2

(2, 0,2)

(4, 1,3)

(4, 0,3)

(3, 2,5)

3 1

022

Cost = 25

Page 13: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

Transportation Problems

Page 14: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 14

Graphical Network Flow Formulation

b(j)b(i)

i j(cij, uij)

arc (i,j)

ij=0

Page 15: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 15

C

W

+4

+1

+2

Supply Nodes

I

S

G

Demand Nodes

-1

-1

-1

-1

A

F

(13, 1)

(35, 1)

(9, 1)

(42, 1)

Dummy Node-3

(0,4)

(0,2)

(0,1)

D

Page 16: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 16Dummy Node -3

C

W

+4

+1

+2

Supply Nodes

I

S

G

Demand Nodes

-1

-1

-1

-1

A

F

Page 17: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 17

Shortest Path Problems

• Defined on a Network with two special nodes: s and t

• A path from s to t is an alternating sequence of nodes and arcs starting at s and ending at t:

s,(s,n1),n1,(n1,n2),…,(ni,nj),nj,(nj,t),t

• Find a minimum-cost path from s to t

Page 18: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 18

Shortest Path Example

1 2 3

4

5 10

7 71

s t

1,(1,2),2,(2,3),3 Length = 151,(1,2),2,(2,4),4,(4,3) Length = 131,(1,4),4,(4,3),3 Length = 14

Page 19: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 19

MCNFP Formulation of Shortest Path Problems

• Source node s has a supply of 1

• Sink node t has a demand of 1

• All other nodes are transshipment nodes

• Each arc has capacity 1

• Tracing the unit of flow from s to t gives a path from s to t

Page 20: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 20

Shortest Path as MCNFP

1 -11 2 3

4

(5,1,0) (10,0,1)

11 2 3

4

1 0

10

0

0

(7,0,1)(7,0,1)

(1,0,1)

Page 21: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 21

Shortest Path Example• In a rural area of Texas, there are six farms connected by

small roads. The distances in miles between the farms are given in the following table.

• What is the minimum distance to get from Farm 1 to Farm 6?

From Farm To Farm Distance 1 2 81 3 102 3 42 4 92 5 53 4 63 5 24 5 34 6 65 6 5

Page 22: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 22

Graphical Network Flow Formulation

b(j)b(i)

i j

ij= 0, uij=1

arc (i,j)

(cij)

Page 23: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 23

Formulation as Shortest Path

s t

1

2 4

3

9

10

56

6

8 45

5

4

2

3

1 -1

0 0

00

Page 24: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 24

LP Formulation

10

1

0

0

0

0

1st

min

5646

45352556

34244546

23133534

12252423

1312

5646453534

2524231312

54326594108

xxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxx

ij

Page 25: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 25

Maximum Flow Problems

• Defined on a network– Source Node s– Sink node t– All other nodes are transshipment Nodes– Arcs have capacities, but no costs

• Maximize the total flow from s to t

Page 26: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 26

Example: Rerouting Airline Passengers

Due to a mechanical problem, Fly-By-Night Airlines had to cancel flight 162 - its only non-stop flight from San Francisco to New York.

Formulate a maximum flow problem to reroute as many passengers as possible from San Francisco to New York.

Page 27: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 27

Data for Fly-by-Night Example

Flight From To Number of seats 160 San Francisco Denver 5 115 San Francisco Houston 6 153 Denver Atlanta 4 102 Denver Chicago 2 170 Houston Atlanta 5 150 Atlanta New York 7 180 Chicago New York 4

Page 28: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 28

Network Representation

s t

SF

D C

H

2

6

A5

NY

5 4

4

7

Page 29: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 29

Graphical Network Flow Formulation

b(j)b(i)

i j(uij)

arc (i,j)

ij =0cij =0

Page 30: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 30

MCNF Formulation of Maximum Flow Problems

1. Let arc cost = 0 for all arcs

2. Add an arc from t to s– Give this arc a cost of –1 and infinite

capacity

3. All nodes are transshipment nodes

4. Circulation Problem

Page 31: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 31

Formulation as MCNFP

SF

D C

H

(0,0,2)

(0,0,6)

A(0,0,5)

NY

(0,0,5) (0,0,4)

(0,0,4)

(0,0,7)

(-1,0,)

Page 32: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 32

MCNFP Solution

SF

D C

H

(0,0,2)

(0,0,6)

A(0,0,5)

NY

(0,0,5) (0,0,4)

(0,0,4)

(0,0,7)

9

4

22

5 75

2

(-1,0,)

Page 33: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 33

LP Formulation

xxxxxxxx

xxxxxx

xxxxx

xxxxx

x

SFNYNYC

NYAAHAD

CDHSFDSF

NYASFNY NYC

ADAHNYA

CDNYC

DSFADCD

HSFAH

SFNYHSFDSF

SFNY

,.

.,,

,..

,, ,

,,,

,,

,,,

,,

,,,

,

040

70,50,40

20,60,50

0

0

0

0

0

0st

min

Page 34: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 34

NSC Example

Month Demand Production Cost1 2,400 $7,4002 2,200 $7,5003 2,700 $7,6004 2,500 $7,800

• Max production per month = 4,000 tons• Inventory holding cost = $120/ton/month• Initial inventory = 1,000 tons• Final inventory = 1,500 tons

Page 35: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 35

Network Flow Formulation

d1

d2

d3

d4

p1

p2

p3

p4

4000

4000

4000

4000

-2400

-2200

-2700

-2500

I4 -1500

I0 1000

d0 -5700

I1

I2

I3

Page 36: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 36

Arc Parameters

• All arcs have ij = 0 and uij =

• Arcs (pi, d0) have cost 0.

• Arcs (Ii, di+1) and (Ii,Ii+1) have cost 120.Arc Cost(p1,d1) 7400(p2,d2) 7500(p3,d3) 7600(p4,d4) 7800

Page 37: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 37

Backorder Cost of $200/unit/month

d1

d2

d3

d4

p1

p2

p3

p4

4000

4000

4000

4000

-2400

-2200

-2700

-2500

I4 -1500

I0 1000

d0 -5700

I1

I2

I3

Page 38: EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.

slide 38

Parameters for Backorder Arcs

• All arcs have ij = 0 and uij =

Arc Cost(p2,d1) 7700(p3,d2) 7800(p3,d1) 8000(p4,d3) 8000(p4,d2) 8200(p4,d1) 8400